| 
					
				 | 
			
			
				@ -3325,7 +3325,12 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return  rs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 发送微信模板消息  本地无法测试消息是否发送成功 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param wxId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param outpatientDO 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void sendWxTemplateMsg(String wxId,WlyyOutpatientDO outpatientDO,String type){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<BasePatientWechatDo> ps = basePatientWechatDao.findByWechatIdAndPatientId(wxId, outpatientDO.getPatient()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(ps.isEmpty()){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -6598,43 +6603,44 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public PageEnvelop findPatientAllPrescription(String keyName,String status,Integer page, Integer size) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String uid = userAgent.getUID(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        StringBuffer sql = new StringBuffer("select a.* from wlyy_prescription a,wlyy_prescription_info b where a.patient_code ='"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        StringBuffer countSql = new StringBuffer("select COUNT(a.id) count from wlyy_prescription a,wlyy_prescription_info b  where a.patient_code ='"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql.append(uid).append("' AND a.id = b.prescription_id"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        countSql.append(uid).append("' AND a.id = b.prescription_id "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        StringBuffer sql = new StringBuffer("SELECT b.*, c.oneself_pickup_flg FROM (SELECT a.* FROM wlyy_prescription a WHERE a.patient_code = '"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        StringBuffer countSql = new StringBuffer("select COUNT(b.id) count FROM (SELECT a.* FROM wlyy_prescription a WHERE a.patient_code = '"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql.append(uid).append("') b LEFT JOIN wlyy_prescription_info d ON b.id = d.prescription_id JOIN wlyy_prescription_expressage c ON c.outpatient_id = b.outpatient_id"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        countSql.append(uid).append("') b LEFT JOIN wlyy_prescription_info d ON b.id = d.prescription_id JOIN wlyy_prescription_expressage c ON c.outpatient_id = b.outpatient_id "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNotEmpty(keyName)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql.append(" AND (" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " a.doctor_name LIKE '%"+keyName+"%' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " OR a.dept_name LIKE'%"+keyName+"%' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " OR a.hospital_name LIKE '%"+keyName+"%' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " OR b.drug_name LIKE '%"+keyName+"%' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " OR a.real_order LIKE '%"+keyName+"%' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " b.doctor_name LIKE '%"+keyName+"%' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " OR b.dept_name LIKE'%"+keyName+"%' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " OR b.hospital_name LIKE '%"+keyName+"%' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " OR d.drug_name LIKE '%"+keyName+"%' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " OR b.real_order LIKE '%"+keyName+"%' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    ")"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            countSql.append(" AND (" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " a.doctor_name LIKE '%"+keyName+"%' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " OR a.dept_name LIKE'%"+keyName+"%' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " OR a.hospital_name LIKE '%"+keyName+"%' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " OR b.drug_name LIKE '%"+keyName+"%' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " OR a.real_order LIKE '%"+keyName+"%' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " b.doctor_name LIKE '%"+keyName+"%' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " OR b.dept_name LIKE'%"+keyName+"%' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " OR b.hospital_name LIKE '%"+keyName+"%' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " OR d.drug_name LIKE '%"+keyName+"%' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " OR b.real_order LIKE '%"+keyName+"%' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    ")"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNotEmpty(status)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            status= status.substring(1, status.length() - 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql.append(" AND a.status IN(").append(status).append(")"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            countSql.append(" AND a.status IN(").append(status).append(")"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql.append(" AND b.status IN(").append(status).append(")"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            countSql.append(" AND b.status IN(").append(status).append(")"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql.append("  and a.status IN(20,21,30,31,32,100,101)"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            countSql.append(" and a.status IN(20,21,30,31,32,100,101) "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql.append("  and b.status IN(20,21,30,31,32,100,101)"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            countSql.append(" and b.status IN(20,21,30,31,32,100,101) "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql.append(" order by a.prescribe_time limit ").append((page-1)*size).append(",").append(size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql.append(" order by b.prescribe_time limit ").append((page-1)*size).append(",").append(size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<WlyyPrescriptionDO> list = jdbcTemplate.query(sql.toString(), new BeanPropertyRowMapper<>(WlyyPrescriptionDO.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> mapList = jdbcTemplate.queryForList(countSql.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        long count = Long.parseLong(mapList.get(0).get("count").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        logger.info("sql="+sql.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        logger.info("countSql="+countSql.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return PageEnvelop.getSuccessListWithPage(IotRequestMapping.Common.message_success_find,list,page,size,count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return PageEnvelop.getSuccessListWithPage(IotRequestMapping.Common.message_success_find, maps,page,size,count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 |