|  | @ -3219,7 +3219,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 订单查询
 | 
	
		
			
				|  |  |      * 导出订单查询
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @param status
 | 
	
		
			
				|  |  |      * @param oneselfPickupFlg
 | 
	
	
		
			
				|  | @ -3230,7 +3230,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
 | 
	
		
			
				|  |  |      * @param size
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public MixEnvelop findExpressageList(String status, String oneselfPickupFlg, String nameKey, String startTime, String endTime, Integer page, Integer size, String wxId,String patientName) {
 | 
	
		
			
				|  |  |     public MixEnvelop findExpressageList2(String status, String oneselfPickupFlg, String nameKey, String startTime, String endTime, Integer page, Integer size, String wxId,String patientName) {
 | 
	
		
			
				|  |  |         String totalSql = "SELECT " +
 | 
	
		
			
				|  |  |                 " COUNT(1) AS \"total\" " +
 | 
	
		
			
				|  |  |                 " FROM " +
 | 
	
	
		
			
				|  | @ -3429,6 +3429,218 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
 | 
	
		
			
				|  |  |         return MixEnvelop.getSuccessListWithPage2(BaseHospitalRequestMapping.Prescription.api_success, mapList);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 订单查询
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @param status
 | 
	
		
			
				|  |  |      * @param oneselfPickupFlg
 | 
	
		
			
				|  |  |      * @param nameKey
 | 
	
		
			
				|  |  |      * @param startTime
 | 
	
		
			
				|  |  |      * @param endTime
 | 
	
		
			
				|  |  |      * @param page
 | 
	
		
			
				|  |  |      * @param size
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public MixEnvelop findExpressageList(String status, String oneselfPickupFlg, String nameKey, String startTime, String endTime, Integer page, Integer size, String wxId,String patientName) {
 | 
	
		
			
				|  |  |         String totalSql = "SELECT " +
 | 
	
		
			
				|  |  |                 " COUNT(1) AS \"total\" " +
 | 
	
		
			
				|  |  |                 " FROM " +
 | 
	
		
			
				|  |  |                 " wlyy_outpatient o " +
 | 
	
		
			
				|  |  |                 " JOIN wlyy_prescription p ON p.outpatient_id = o.id " +
 | 
	
		
			
				|  |  |                 " JOIN wlyy_prescription_expressage e ON e.outpatient_id = o.id" +
 | 
	
		
			
				|  |  |                 " WHERE" +
 | 
	
		
			
				|  |  |                 " 1=1 ";
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(status)) {
 | 
	
		
			
				|  |  |             totalSql += " AND p.status in(" + status + ") ";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(oneselfPickupFlg)) {
 | 
	
		
			
				|  |  |             totalSql += " AND e.oneself_pickup_flg = " + oneselfPickupFlg+" ";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(nameKey)) {
 | 
	
		
			
				|  |  |             totalSql += " AND e.name like '%" + nameKey + "%' ";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(patientName)) {
 | 
	
		
			
				|  |  |             totalSql += " AND o.patient_name like '%" + patientName + "%' ";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(startTime)) {
 | 
	
		
			
				|  |  |             if ("xm_ykyy_wx".equals(wxId)) {
 | 
	
		
			
				|  |  |                 if (flag){
 | 
	
		
			
				|  |  |                     totalSql += " and p.create_time >= str_to_date('" + startTime + " 00:00:00','YYYY-MM-DD HH24:MI:SS')";
 | 
	
		
			
				|  |  |                 }else {
 | 
	
		
			
				|  |  |                     totalSql += " and p.create_time >= to_date('" + startTime + " 00:00:00','YYYY-MM-DD HH24:MI:SS')";
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  |                 totalSql += " AND p.create_time >='" + startTime + " 00:00:00'";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(endTime)) {
 | 
	
		
			
				|  |  |             if ("xm_ykyy_wx".equals(wxId)) {
 | 
	
		
			
				|  |  |                 if (flag){
 | 
	
		
			
				|  |  |                     totalSql += " and p.create_time <= str_to_date('" + endTime + " 23:59:59','YYYY-MM-DD HH24:MI:SS')";
 | 
	
		
			
				|  |  |                 }else {
 | 
	
		
			
				|  |  |                     totalSql += " and p.create_time <= to_date('" + endTime + " 23:59:59','YYYY-MM-DD HH24:MI:SS')";
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  |                 totalSql += " AND p.create_time <='" + endTime + " 23:59:59'";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         List<Map<String, Object>> rstotal = hibenateUtils.createSQLQuery(totalSql);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         Long count = 0L;
 | 
	
		
			
				|  |  |         if (rstotal != null && rstotal.size() > 0) {
 | 
	
		
			
				|  |  |             count = Long.parseLong(rstotal.get(0).get("total").toString());
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         String sql = "SELECT  ";
 | 
	
		
			
				|  |  |         if ("xm_ykyy_wx".equals(wxId)) {
 | 
	
		
			
				|  |  |             if (flag){
 | 
	
		
			
				|  |  |                 sql = sql + "date_format(e.create_time,'YYYY-MM-DD hh24:mi:ss')  AS \"expressCreateTime\",";
 | 
	
		
			
				|  |  |             }else {
 | 
	
		
			
				|  |  |                 sql = sql + "to_char(e.create_time,'YYYY-MM-DD hh24:mi:ss')  AS \"expressCreateTime\",";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             sql = sql + "date_format(e.create_time,'%Y-%m-%d %H:%i:%S' )  AS \"expressCreateTime\",";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if ("xm_ykyy_wx".equals(wxId)) {
 | 
	
		
			
				|  |  |             if (flag){
 | 
	
		
			
				|  |  |                 sql = sql + "date_format(p.create_time,'YYYY-MM-DD hh24:mi:ss')  AS \"createTime\",";
 | 
	
		
			
				|  |  |             }else {
 | 
	
		
			
				|  |  |                 sql = sql + "to_char(p.create_time,'YYYY-MM-DD hh24:mi:ss')  AS \"createTime\",";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             sql = sql + "date_format(p.create_time,'%Y-%m-%d %H:%i:%S' )  AS \"createTime\",";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if ("xm_ykyy_wx".equals(wxId)) {
 | 
	
		
			
				|  |  |             if (flag){
 | 
	
		
			
				|  |  |                 sql = sql + "date_format(p.pay_time,'YYYY-MM-DD hh24:mi:ss')  AS \"payTime\",";
 | 
	
		
			
				|  |  |             }else {
 | 
	
		
			
				|  |  |                 sql = sql + "to_char(p.pay_time,'YYYY-MM-DD hh24:mi:ss')  AS \"payTime\",";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             sql = sql + "date_format(p.pay_time,'%Y-%m-%d %H:%i:%S' )  AS \"payTime\",";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         sql = sql + "p.create_time\n" +
 | 
	
		
			
				|  |  |                 "as time,\n" +
 | 
	
		
			
				|  |  |                 "e. NAME\n" +
 | 
	
		
			
				|  |  |                 "as NAME,\n" +
 | 
	
		
			
				|  |  |                 "p.pay_time\n" +
 | 
	
		
			
				|  |  |                 "as pay_time,\n" +
 | 
	
		
			
				|  |  |                 "p.real_order\n" +
 | 
	
		
			
				|  |  |                 "as realOrder,\n" +
 | 
	
		
			
				|  |  |                 "o.patient_name\n" +
 | 
	
		
			
				|  |  |                 "as patientName,\n" +
 | 
	
		
			
				|  |  |                 "i.drug_name\n" +
 | 
	
		
			
				|  |  |                 "as infoName,\n" +
 | 
	
		
			
				|  |  |                 " CASE p.create_time\n" +
 | 
	
		
			
				|  |  |                 "WHEN NULL THEN\n" +
 | 
	
		
			
				|  |  |                 "\t'否'\n" +
 | 
	
		
			
				|  |  |                 "ELSE\n" +
 | 
	
		
			
				|  |  |                 "\t'是'\n" +
 | 
	
		
			
				|  |  |                 "END \"create_time\",\n" +
 | 
	
		
			
				|  |  |                 " CASE e.oneself_pickup_flg\n" +
 | 
	
		
			
				|  |  |                 "WHEN 1 THEN\n" +
 | 
	
		
			
				|  |  |                 "\t'自取'\n" +
 | 
	
		
			
				|  |  |                 "WHEN 2 THEN\n" +
 | 
	
		
			
				|  |  |                 "\t'快递配送'\n" +
 | 
	
		
			
				|  |  |                 "ELSE\n" +
 | 
	
		
			
				|  |  |                 "\t' '\n" +
 | 
	
		
			
				|  |  |                 "END \"oneself_pickup_flg\",\n" +
 | 
	
		
			
				|  |  |                 " CASE p. STATUS\n" +
 | 
	
		
			
				|  |  |                 "WHEN - 4 THEN\n" +
 | 
	
		
			
				|  |  |                 "\t'已作废'\n" +
 | 
	
		
			
				|  |  |                 "WHEN - 3 THEN\n" +
 | 
	
		
			
				|  |  |                 "\t'支付过期取消'\n" +
 | 
	
		
			
				|  |  |                 "WHEN - 2 THEN\n" +
 | 
	
		
			
				|  |  |                 "\t'患者自己取消'\n" +
 | 
	
		
			
				|  |  |                 "WHEN - 1 THEN\n" +
 | 
	
		
			
				|  |  |                 "\t'医生取消'\n" +
 | 
	
		
			
				|  |  |                 "WHEN 0 THEN\n" +
 | 
	
		
			
				|  |  |                 "\t'候诊中'\n" +
 | 
	
		
			
				|  |  |                 "WHEN 10 THEN\n" +
 | 
	
		
			
				|  |  |                 "\t'诊断中'\n" +
 | 
	
		
			
				|  |  |                 "WHEN 11 THEN\n" +
 | 
	
		
			
				|  |  |                 "\t'药师审核失败 / 调整中'\n" +
 | 
	
		
			
				|  |  |                 "WHEN 12 THEN\n" +
 | 
	
		
			
				|  |  |                 "\t'药师审核完成'\n" +
 | 
	
		
			
				|  |  |                 "WHEN 13 THEN\n" +
 | 
	
		
			
				|  |  |                 "\t'开方失败/调整中'\n" +
 | 
	
		
			
				|  |  |                 "WHEN 20 THEN\n" +
 | 
	
		
			
				|  |  |                 "\t'诊断完成/开方成功/待支付'\n" +
 | 
	
		
			
				|  |  |                 "WHEN 30 THEN\n" +
 | 
	
		
			
				|  |  |                 "\t'支付成功/等待配药'\n" +
 | 
	
		
			
				|  |  |                 "WHEN 31 THEN\n" +
 | 
	
		
			
				|  |  |                 "\t'配药成功/等待取药'\n" +
 | 
	
		
			
				|  |  |                 "WHEN 32 THEN\n" +
 | 
	
		
			
				|  |  |                 "\t'配送中'\n" +
 | 
	
		
			
				|  |  |                 "WHEN 100 THEN\n" +
 | 
	
		
			
				|  |  |                 "\t'已完成/未评价'\n" +
 | 
	
		
			
				|  |  |                 "WHEN 101 THEN\n" +
 | 
	
		
			
				|  |  |                 "\t'已完成/已经评价'\n" +
 | 
	
		
			
				|  |  |                 "ELSE\n" +
 | 
	
		
			
				|  |  |                 "\t' '\n" +
 | 
	
		
			
				|  |  |                 "END STATUS\n" +
 | 
	
		
			
				|  |  |                 "FROM\n" +
 | 
	
		
			
				|  |  |                 "\twlyy_outpatient o\n" +
 | 
	
		
			
				|  |  |                 "LEFT JOIN wlyy_prescription p ON p.outpatient_id = o.id\n" +
 | 
	
		
			
				|  |  |                 "LEFT JOIN wlyy_prescription_expressage e ON e.outpatient_id = o.id\n" +
 | 
	
		
			
				|  |  |                 "LEFT JOIN wlyy_prescription_info i ON i.prescription_id = p.id\n" +
 | 
	
		
			
				|  |  |                 "WHERE\n" +
 | 
	
		
			
				|  |  |                 "\t1 = 1";
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(status)) {
 | 
	
		
			
				|  |  |             sql += " AND p.status in(" + status + ") ";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(oneselfPickupFlg)) {
 | 
	
		
			
				|  |  |             sql += " AND e.oneself_pickup_flg =" + oneselfPickupFlg+" ";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(nameKey)) {
 | 
	
		
			
				|  |  |             sql += " AND e.name like '%" + nameKey + "%' ";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(patientName)) {
 | 
	
		
			
				|  |  |             sql += " AND o.patient_name like '%" + patientName + "%' ";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(startTime)) {
 | 
	
		
			
				|  |  |             if ("xm_ykyy_wx".equals(wxId)) {
 | 
	
		
			
				|  |  |                 if (flag){
 | 
	
		
			
				|  |  |                     sql += " and p.create_time >= str_to_date('" + startTime + " 00:00:00','YYYY-MM-DD HH24:MI:SS')";
 | 
	
		
			
				|  |  |                 }else {
 | 
	
		
			
				|  |  |                     sql += " and p.create_time >= to_date('" + startTime + " 00:00:00','YYYY-MM-DD HH24:MI:SS')";
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  |                 sql += " AND p.create_time >='" + startTime + " 00:00:00'";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(endTime)) {
 | 
	
		
			
				|  |  |             if ("xm_ykyy_wx".equals(wxId)) {
 | 
	
		
			
				|  |  |                 if (flag){
 | 
	
		
			
				|  |  |                     sql += " and p.create_time <= str_to_date('" + endTime + " 23:59:59','YYYY-MM-DD HH24:MI:SS')";
 | 
	
		
			
				|  |  |                 }else {
 | 
	
		
			
				|  |  |                     sql += " and p.create_time <= to_date('" + endTime + " 23:59:59','YYYY-MM-DD HH24:MI:SS')";
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  |                 sql += " AND p.create_time <='" + endTime + " 23:59:59'";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         sql +=" order by p.create_time desc ";
 | 
	
		
			
				|  |  |         /*       sql += " LIMIT " + (page - 1) * size + "," + size + "";*/
 | 
	
		
			
				|  |  |         List<Map<String, Object>> mapList = hibenateUtils.createSQLQuery(sql,page,size);
 | 
	
		
			
				|  |  |         for (Map<String, Object> map : mapList) {
 | 
	
		
			
				|  |  |             if (map.get("prescriptionId") != null) {
 | 
	
		
			
				|  |  |                 List<WlyyPrescriptionInfoDO> wlyyPrescriptionInfoDOS = prescriptionInfoDao.findByPrescriptionId(map.get("prescriptionId").toString(), 1);
 | 
	
		
			
				|  |  |                 map.put("info", wlyyPrescriptionInfoDOS);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return MixEnvelop.getSuccessListWithPage(BaseHospitalRequestMapping.Prescription.api_success, mapList,page,size,count);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public Boolean setMailno(String mailno, String expressageId) {
 | 
	
		
			
				|  |  |         WlyyPrescriptionExpressageDO expressageDO = prescriptionExpressageDao.findOne(expressageId);
 | 
	
		
			
				|  |  |         expressageDO.setMailno(mailno);
 |