|  | @ -32,6 +32,7 @@ import com.yihu.jw.entity.base.patient.BasePatientBusinessDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.patient.BasePatientDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.patient.PatientMedicareCardDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.sms.SmsTemplateDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.words.BaseSensitiveDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.wx.*;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.yx.YxTokenMappingDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.hospital.consult.WlyyDoctorClinicRoomDO;
 | 
	
	
		
			
				|  | @ -148,6 +149,8 @@ import java.text.DecimalFormat;
 | 
	
		
			
				|  |  | import java.text.ParseException;
 | 
	
		
			
				|  |  | import java.text.SimpleDateFormat;
 | 
	
		
			
				|  |  | import java.util.*;
 | 
	
		
			
				|  |  | import java.util.concurrent.TimeUnit;
 | 
	
		
			
				|  |  | import java.util.stream.Collectors;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | /**
 | 
	
		
			
				|  |  |  * Created by Trick on 2019/5/17.
 | 
	
	
		
			
				|  | @ -308,7 +311,8 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
 | 
	
		
			
				|  |  |     private BaseJpushTemplateDao baseJpushTemplateDao;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     HikariDataSource dataSource;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private BaseSensitiveDao baseSensitiveDao;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @Value("${demo.flag}")
 | 
	
		
			
				|  |  |     private boolean demoFlag;
 | 
	
	
		
			
				|  | @ -3703,7 +3707,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return rs.size();
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @Transactional(readOnly = true)
 | 
	
		
			
				|  |  |     public Map<String, Object> findDoctorInfo(String doctor, String withWork,String patient) {
 | 
	
		
			
				|  |  |         BaseDoctorDO doctorDO = baseDoctorDao.findById(doctor);
 | 
	
		
			
				|  |  |         Map<String, Object> rs = new HashedMap();
 | 
	
	
		
			
				|  | @ -3934,6 +3938,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }*/
 | 
	
		
			
				|  |  |                 List<com.alibaba.fastjson.JSONArray> waitinglist = new ArrayList<>();
 | 
	
		
			
				|  |  |                 List<BaseSensitiveDO> listSensitive = (List<BaseSensitiveDO>) baseSensitiveDao.findAll();
 | 
	
		
			
				|  |  |                 if (scoreList != null && scoreList.size() > 0) {
 | 
	
		
			
				|  |  |                     List<String> stringList = new ArrayList<>();
 | 
	
		
			
				|  |  |                     for (Map<String, Object> scorepatient : scoreList) {
 | 
	
	
		
			
				|  | @ -3947,7 +3952,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
 | 
	
		
			
				|  |  |                         }
 | 
	
		
			
				|  |  |                         String content = (String)scorepatient.get("content");
 | 
	
		
			
				|  |  |                         if (StringUtils.isNotEmpty(content)){
 | 
	
		
			
				|  |  |                             String replace = baseSensitiveFilterWordsService.filterSensitiveWords(content);
 | 
	
		
			
				|  |  |                             String replace = baseSensitiveFilterWordsService.filterSensitiveWords(content,listSensitive);
 | 
	
		
			
				|  |  |                             scorepatient.put("content",replace);
 | 
	
		
			
				|  |  |                         }
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -5677,6 +5682,331 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
 | 
	
		
			
				|  |  |             pagesize = 10;
 | 
	
		
			
				|  |  |         }*/
 | 
	
		
			
				|  |  |         testHikar();
 | 
	
		
			
				|  |  |         long statr = new Date().getTime();
 | 
	
		
			
				|  |  |         String sql = "SELECT " +
 | 
	
		
			
				|  |  |                 " d.id AS \"id\", " +
 | 
	
		
			
				|  |  |                 " d.photo AS \"photo\", " +
 | 
	
		
			
				|  |  |                 " d.name AS \"name\", " +
 | 
	
		
			
				|  |  |                 " d.expertise AS \"expertise\"," +
 | 
	
		
			
				|  |  |                 " d.introduce AS \"introduce\"," +
 | 
	
		
			
				|  |  |                 " d.job_title_code AS \"jobTitleCode\", " +
 | 
	
		
			
				|  |  |                 " d.job_title_name AS \"jobTitleName\"," +
 | 
	
		
			
				|  |  |                 " d.charge_type AS \"chargeType\"," +
 | 
	
		
			
				|  |  |                 " h.dept_name AS \"deptName\"," +
 | 
	
		
			
				|  |  |                 " dw.workTotal AS \"workTotal\","+
 | 
	
		
			
				|  |  |                 " d.consult_status AS \"consultStatus\"," +
 | 
	
		
			
				|  |  |                 " d.outpatient_type AS \"outpatientType\"," +
 | 
	
		
			
				|  |  |                 " a.total AS \"consultTotal\"," +
 | 
	
		
			
				|  |  |                 " d.twfz_charge_type AS \"TWFZ_CHARGE_TYPE\"," +
 | 
	
		
			
				|  |  |                 " d.spfz_charge_type AS \"SPFZ_CHARGE_TYPE\"," +
 | 
	
		
			
				|  |  |                 " d.spzx_charge_type AS \"SPZX_CHARGE_TYPE\"," +
 | 
	
		
			
				|  |  |                 " d.xtfz_charge_type AS \"XTFZ_CHARGE_TYPE\"," +
 | 
	
		
			
				|  |  |                 " d.twzx_charge_type AS \"TWZX_CHARGE_TYPE\"," +
 | 
	
		
			
				|  |  |                 " d.jyzx_charge_type AS \"JYZX_CHARGE_TYPE\"," +
 | 
	
		
			
				|  |  |                 " h.org_name AS \"orgName\"," +
 | 
	
		
			
				|  |  |                 " h.org_code AS \"orgCode\" " ;
 | 
	
		
			
				|  |  |         if(StringUtils.isNoneBlank(patientid)){
 | 
	
		
			
				|  |  |             sql+=" , follow.id AS \"followid\" " ;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         sql+=" FROM " +
 | 
	
		
			
				|  |  |                 " base_doctor d " +
 | 
	
		
			
				|  |  |                 " JOIN base_doctor_hospital h ON h.doctor_code = d.id " +
 | 
	
		
			
				|  |  |                 " Left join ( select count(id) as total,doctor from wlyy_outpatient where status = 3 GROUP BY doctor ) a on a.doctor = d.id ";
 | 
	
		
			
				|  |  |         Map<String, Object> params = new HashedMap();
 | 
	
		
			
				|  |  |         Date date = new Date();
 | 
	
		
			
				|  |  |         sql+="LEFT JOIN (SELECT  COUNT(t1.doctor) as workTotal, t1.doctor FROM  wlyy_doctor_work_time t1   WHERE   " +
 | 
	
		
			
				|  |  |                 "t1.start_time <=:startTime  AND t1.end_time >=:endTime GROUP BY t1.doctor) dw ON dw.doctor=d.id ";
 | 
	
		
			
				|  |  |         sql+="LEFT JOIN (\n" +
 | 
	
		
			
				|  |  |                 "\tSELECT\n" +
 | 
	
		
			
				|  |  |                 "\t\tAVG(a.score) AS score,\n" +
 | 
	
		
			
				|  |  |                 "\t\tb.doctor AS doctor\n" +
 | 
	
		
			
				|  |  |                 "\tFROM\n" +
 | 
	
		
			
				|  |  |                 "\t\tbase_evaluate a,\n" +
 | 
	
		
			
				|  |  |                 "\t\tbase_evaluate_score b\n" +
 | 
	
		
			
				|  |  |                 "\tWHERE\n" +
 | 
	
		
			
				|  |  |                 "\t\ta.relation_code = b.id\n" +
 | 
	
		
			
				|  |  |                 "\tGROUP BY\n" +
 | 
	
		
			
				|  |  |                 "\t\tb.doctor\n" +
 | 
	
		
			
				|  |  |                 ") evaluate ON evaluate.doctor = d.id";
 | 
	
		
			
				|  |  |         params.put("startTime", date);
 | 
	
		
			
				|  |  |         params.put("endTime", date);
 | 
	
		
			
				|  |  |         if(StringUtils.isNoneBlank(patientid)){
 | 
	
		
			
				|  |  |             if ("1".equalsIgnoreCase(isAttention)) {
 | 
	
		
			
				|  |  |                 sql += " join base_doctor_patient_follow follow on follow.doctor = d.id and follow.patient ='" + patientid + "' ";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if ("0".equalsIgnoreCase(isAttention)) {
 | 
	
		
			
				|  |  |                 sql += " join base_doctor_patient_follow follow on follow.doctor = d.id and follow.patient !='" + patientid + "' ";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if (StringUtils.isEmpty(isAttention)) {
 | 
	
		
			
				|  |  |                 sql += " LEFT  JOIN base_doctor_patient_follow follow ON follow.patient='" + patientid + "' AND follow.doctor = d.id ";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(diseaseKey)) {
 | 
	
		
			
				|  |  |             sql += " left join wlyy_doctor_special_disease sp on d.id = sp.doctor_code ";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(workingTime)) {
 | 
	
		
			
				|  |  |             sql += " JOIN wlyy_doctor_work_time wk on wk.doctor = d.id ";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         sql += " WHERE  1=1 and h.del = '1' ";
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(chargType)) {
 | 
	
		
			
				|  |  |             if ("all".equals(chargType)) {
 | 
	
		
			
				|  |  |                 //不过滤
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  |                 sql += " AND d.charge_type = :chargType";
 | 
	
		
			
				|  |  |                 params.put("chargType", chargType);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         List<WlyyHospitalSysDictDO> wlyyHospitalSysDictDOS  = wlyyHospitalSysDictDao.findByDictCode("isDoctorWork");
 | 
	
		
			
				|  |  |         boolean isNeedDoctorWord = true;
 | 
	
		
			
				|  |  |         if(wlyyHospitalSysDictDOS!=null&&wlyyHospitalSysDictDOS.size()>0){
 | 
	
		
			
				|  |  |             for(WlyyHospitalSysDictDO wlyyHospitalSysDictDO:wlyyHospitalSysDictDOS){
 | 
	
		
			
				|  |  |                 if (!"1".equalsIgnoreCase(wlyyHospitalSysDictDO.getDictValue())){
 | 
	
		
			
				|  |  |                     isNeedDoctorWord = false;
 | 
	
		
			
				|  |  |                     break;
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(iswork) && "1".equals(iswork)&&isNeedDoctorWord) {
 | 
	
		
			
				|  |  |             logger.info("iswork:" + iswork);
 | 
	
		
			
				|  |  |             sql += " AND (" +
 | 
	
		
			
				|  |  |                     " EXISTS ( " +
 | 
	
		
			
				|  |  |                     " SELECT " +
 | 
	
		
			
				|  |  |                     "  1 " +
 | 
	
		
			
				|  |  |                     " FROM " +
 | 
	
		
			
				|  |  |                     "  wlyy_doctor_work_time t " +
 | 
	
		
			
				|  |  |                     " WHERE " +
 | 
	
		
			
				|  |  |                     "  t.doctor = d.id " +
 | 
	
		
			
				|  |  |                     " AND t.start_time <=:startTime" +
 | 
	
		
			
				|  |  |                     " AND t.end_time >=:endTime" +
 | 
	
		
			
				|  |  |                     " ) OR " +
 | 
	
		
			
				|  |  |                     " d.consult_status = '1') ";
 | 
	
		
			
				|  |  |             params.put("startTime", date);
 | 
	
		
			
				|  |  |             params.put("endTime", date);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(orgCode)) {
 | 
	
		
			
				|  |  |             sql += " AND  h.org_code =:orgCode";
 | 
	
		
			
				|  |  |             params.put("orgCode", orgCode);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(diseaseKey)) {
 | 
	
		
			
				|  |  |             sql += " AND sp.disease_name like :diseaseKey";
 | 
	
		
			
				|  |  |             params.put("diseaseKey", "%" + diseaseKey + "%");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(doctorNameKey)) {
 | 
	
		
			
				|  |  |             sql += " AND d.name like :doctorNameKey";
 | 
	
		
			
				|  |  |             params.put("doctorNameKey", "%" + doctorNameKey + "%");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(dept)) {
 | 
	
		
			
				|  |  |             sql += " AND h.dept_code =:dept ";
 | 
	
		
			
				|  |  |             params.put("dept", dept);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(jobTitleNameKey)) {
 | 
	
		
			
				|  |  |             sql += " AND d.job_title_name  = :jobTitleNameKey ";
 | 
	
		
			
				|  |  |             params.put("jobTitleNameKey", jobTitleNameKey);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(outpatientType)) {
 | 
	
		
			
				|  |  |             if (outpatientType.contains("or")) {
 | 
	
		
			
				|  |  |                 String[] outpatientTypeArray = outpatientType.split("or");
 | 
	
		
			
				|  |  |                 sql += " AND ( ";
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                 for (int i = 0; i < outpatientTypeArray.length; i++) {
 | 
	
		
			
				|  |  |                     sql += " d.outpatient_type like'%" + outpatientTypeArray[i] + "%'";
 | 
	
		
			
				|  |  |                     if (i != outpatientTypeArray.length - 1) {
 | 
	
		
			
				|  |  |                         sql += " or ";
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 sql += " ) ";
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  |                 sql += " AND d.outpatient_type like'%" + outpatientType + "%'";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             sql += " AND d.outpatient_type is not null ";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(keyName)) {
 | 
	
		
			
				|  |  |             sql += " AND (h.dept_name like '%" + keyName + "%' or d.name like '%" + keyName + "%' or d.expertise like '%" + keyName + "%' )";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(workingTime)) {
 | 
	
		
			
				|  |  |             sql += " AND wk.work_date = :workingTime ";
 | 
	
		
			
				|  |  |             params.put("workingTime", workingTime);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(consultStatus)) {
 | 
	
		
			
				|  |  |             sql += " AND d.consult_status = :consultStatus ";
 | 
	
		
			
				|  |  |             params.put("consultStatus", consultStatus);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if("xm_ykyy_wx".equalsIgnoreCase(wechatId)){
 | 
	
		
			
				|  |  |             if (flag){
 | 
	
		
			
				|  |  |                 sql += " and d.del='1' order by d.consult_status DESC ,evaluate.score desc,a.total " + consutlSort;
 | 
	
		
			
				|  |  |             }else{
 | 
	
		
			
				|  |  |                 sql += " and d.del='1' order by d.consult_status desc nulls last ,evaluate.score desc nulls last ,a.total " + consutlSort;
 | 
	
		
			
				|  |  |                 sql+=" NULLS LAST,\n" +
 | 
	
		
			
				|  |  |                         "\tD.id DESC";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }else {
 | 
	
		
			
				|  |  |             sql += " and d.del='1' order by d.consult_status DESC ,evaluate.score desc,a.total " + consutlSort;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         String sqlCount = "select count(1) as \"total\" from ( "+sql+" ) t";
 | 
	
		
			
				|  |  |         List<Map<String, Object>> list = hibenateUtils.createSQLQuery(sql, params, page, pagesize);
 | 
	
		
			
				|  |  |         List<WlyyHospitalSysDictDO> doctorFrontList = wlyyHospitalSysDictDao.findByDictNameOrderBySort("doctorFrontList",orgCode);
 | 
	
		
			
				|  |  |         List<Map<String,Object>> frontDoctor = new ArrayList<>();
 | 
	
		
			
				|  |  |         if ("xm_ykyy_wx".equalsIgnoreCase(wechatId)){
 | 
	
		
			
				|  |  |             sql= sql.replace("AS \"id\"","AS \"ID\"");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         String sqlCharge = "SELECT t.id as \"id\",\n" +
 | 
	
		
			
				|  |  |                 "\tm.req_fee as \"twfzFee\",\n" +
 | 
	
		
			
				|  |  |                 "\ta.req_fee as \"spfzFee\",\n" +
 | 
	
		
			
				|  |  |                 "\tb.req_fee as \"spzxFee\",\n" +
 | 
	
		
			
				|  |  |                 "\tv.req_fee as \"twzxFee\",\n" +
 | 
	
		
			
				|  |  |                 "\tg.req_fee as \"jyzxFee\",\n" +
 | 
	
		
			
				|  |  |                 "\td.req_fee as \"xtzxFee\"\n" +
 | 
	
		
			
				|  |  |                 "FROM\n" +
 | 
	
		
			
				|  |  |                 "\t  ("+sql+")  t \n" +
 | 
	
		
			
				|  |  |                 "LEFT JOIN wlyy_charge_dict m ON t.twfz_charge_type = m.charge_type\n" +
 | 
	
		
			
				|  |  |                 "LEFT JOIN wlyy_charge_dict a ON t.spfz_charge_type = a.charge_type\n" +
 | 
	
		
			
				|  |  |                 "LEFT JOIN wlyy_charge_dict b ON t.spzx_charge_type = b.charge_type\n" +
 | 
	
		
			
				|  |  |                 "LEFT JOIN wlyy_charge_dict v ON t.twzx_charge_type = v.charge_type\n" +
 | 
	
		
			
				|  |  |                 "LEFT JOIN wlyy_charge_dict d ON t.xtfz_charge_type = d.charge_type\n" +
 | 
	
		
			
				|  |  |                 " LEFT JOIN wlyy_charge_dict g ON t.jyzx_charge_type = g.charge_type\n"+
 | 
	
		
			
				|  |  |                 " where t.id is not null ";
 | 
	
		
			
				|  |  |         List<Map<String,Object>> chargeDictDOLists =  hibenateUtils.createSQLQuery(sqlCharge, params);
 | 
	
		
			
				|  |  |         //查询医生各项评价平均分
 | 
	
		
			
				|  |  |         String sqlscore = "select t.doctor as \"id\" ,sum(t.score)/3 as\"score\" from ("+
 | 
	
		
			
				|  |  |                 "SELECT " +
 | 
	
		
			
				|  |  |                 "AVG(a.score) AS \"score\"," +
 | 
	
		
			
				|  |  |                 "a.score_type AS \"score_type\"," +
 | 
	
		
			
				|  |  |                 "b.doctor as \"doctor\" " +
 | 
	
		
			
				|  |  |                 "FROM ("+sql+") m , base_evaluate a,base_evaluate_score b " +
 | 
	
		
			
				|  |  |                 "WHERE " +
 | 
	
		
			
				|  |  |                 " m.id = b.doctor and " +
 | 
	
		
			
				|  |  |                 "a.relation_code=b.id " +
 | 
	
		
			
				|  |  |                 "GROUP BY a.score_type,b.doctor ORDER BY  a.score_type ASC ) t GROUP BY  t.doctor";
 | 
	
		
			
				|  |  |         List<Map<String, Object>> listscore = hibenateUtils.createSQLQuery(sqlscore, params);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         /*list.stream().forEach(e->{
 | 
	
		
			
				|  |  |             if (null==e.get("consultStatus")){
 | 
	
		
			
				|  |  |                 e.put("consultStatus",0);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if (null==e.get("workTotal")){
 | 
	
		
			
				|  |  |                 e.put("workTotal",0);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         });
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         list.stream().sorted(Comparator.comparing((Map<String, Object> h) -> ((String) h.get("workTotal"))).reversed().thenComparing(Comparator.comparing((Map<String, Object> h) -> ((String) h.get("consultStatus")))).reversed());*/
 | 
	
		
			
				|  |  |         List<Map<String,Object>>  resultList = new ArrayList<>();
 | 
	
		
			
				|  |  |         resultList.addAll(list) ;
 | 
	
		
			
				|  |  |         for (Map<String,Object> map:list){
 | 
	
		
			
				|  |  |             String doctor = map.get("id").toString();
 | 
	
		
			
				|  |  |             /*List<Map<String,Object>> chargeDictDOLists = new ArrayList<>();
 | 
	
		
			
				|  |  |             if(null!=map.get("chargeType")){
 | 
	
		
			
				|  |  |                 String chargeType = map.get("chargeType").toString();
 | 
	
		
			
				|  |  |                 if (chargeType.contains(",")){
 | 
	
		
			
				|  |  |                     chargeType = chargeType.replace(",","','");
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 String sqlCharge = "select charge_type as \"chargeType\",charge_name as \"chargeName\"," +
 | 
	
		
			
				|  |  |                         "req_fee  as \"reqFee\",zj_fee  as \"zjFee\",xt_fee  as \"xtFee\",dept_type_code as \"deptTypeCode\" " +
 | 
	
		
			
				|  |  |                         " from wlyy_charge_dict where 1=1";
 | 
	
		
			
				|  |  |                 sqlCharge+=" and charge_type in ( '"+chargeType+"')";
 | 
	
		
			
				|  |  |                 if (StringUtils.isNoneBlank(deptTyepCode)){
 | 
	
		
			
				|  |  |                     sqlCharge+=" and dept_type_code in ( '"+deptTyepCode+"')";
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 chargeDictDOLists =  hibenateUtils.createSQLQuery(sqlCharge);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             map.put("chargeTypeList",chargeDictDOLists);*/
 | 
	
		
			
				|  |  |             List<Map<String,Object>> doctorChargeDictDOLists = new ArrayList<>();
 | 
	
		
			
				|  |  |             for (Map<String ,Object> chargMap:chargeDictDOLists){
 | 
	
		
			
				|  |  |                 if(doctor.equalsIgnoreCase(chargMap.get("id").toString())){
 | 
	
		
			
				|  |  |                     doctorChargeDictDOLists.add(chargMap);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             map.put("chargeTypeList",doctorChargeDictDOLists);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             Double doctorScore = new Double("0");
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             if (listscore != null && listscore.size() > 0) {
 | 
	
		
			
				|  |  |                 for (Map<String, Object> _listscore : listscore) {
 | 
	
		
			
				|  |  |                     if (_listscore.get("id").toString().equalsIgnoreCase(doctor)){
 | 
	
		
			
				|  |  |                         doctorScore = Double.parseDouble(_listscore.get("score").toString());
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             map.put("doctorScore", doctorScore);
 | 
	
		
			
				|  |  |             if (doctorFrontList!=null&&doctorFrontList.size()>0){
 | 
	
		
			
				|  |  |                 for (WlyyHospitalSysDictDO wlyyHospitalSysDictDO:doctorFrontList){
 | 
	
		
			
				|  |  |                     if(doctor.equalsIgnoreCase(wlyyHospitalSysDictDO.getDictCode())){
 | 
	
		
			
				|  |  |                         map.put("doctorFrontSort",wlyyHospitalSysDictDO.getSort());
 | 
	
		
			
				|  |  |                         logger.info("doctorFrontSort"+wlyyHospitalSysDictDO.getSort());
 | 
	
		
			
				|  |  |                         logger.info("doctorId"+wlyyHospitalSysDictDO.getDictCode());
 | 
	
		
			
				|  |  |                         frontDoctor.add(map);
 | 
	
		
			
				|  |  |                         resultList.remove(map);
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         List<Map<String, Object>> listCount = hibenateUtils.createSQLQuery(sqlCount, params);
 | 
	
		
			
				|  |  |         Long count = 0L;
 | 
	
		
			
				|  |  |         if(listCount!=null){
 | 
	
		
			
				|  |  |             //mysql 与 Oracle 聚合函数返回类型不一致,需要判断装换
 | 
	
		
			
				|  |  |             count = hibenateUtils.objTransformLong(listCount.get(0).get("total"));
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (frontDoctor!=null&&frontDoctor.size()>0){
 | 
	
		
			
				|  |  |             frontDoctor.sort(Comparator.comparing((Map<String, Object> h) -> ((Integer) h.get("doctorFrontSort"))));
 | 
	
		
			
				|  |  |             logger.info("size"+frontDoctor.size());
 | 
	
		
			
				|  |  |             for (Map<String, Object> map:resultList){
 | 
	
		
			
				|  |  |                 logger.info("id  =="+map.get("id").toString());
 | 
	
		
			
				|  |  |                 frontDoctor.add(map);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         logger.info("findDoctorByHospitalAndDiseaseAndDept end:" + DateUtil.dateToStr(new Date(), "yyyy-MM-dd HH:mm:ss:SSS"));
 | 
	
		
			
				|  |  |         logger.info("sql:" + sql);
 | 
	
		
			
				|  |  |         MixEnvelop envelop =new MixEnvelop();
 | 
	
		
			
				|  |  |         envelop.setDetailModelList(frontDoctor);
 | 
	
		
			
				|  |  |         envelop.setTotalCount(count.intValue());
 | 
	
		
			
				|  |  |         envelop.setPageSize(pagesize);
 | 
	
		
			
				|  |  |         envelop.setCurrPage(page);
 | 
	
		
			
				|  |  |         System.out.println("new"+(new Date().getTime()-statr));
 | 
	
		
			
				|  |  |         return envelop;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 根据疾病名称,热门部门查询医生
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @param orgCode         机构码
 | 
	
		
			
				|  |  |      * @param dept            部门CODE
 | 
	
		
			
				|  |  |      * @param diseaseKey      疾病名称
 | 
	
		
			
				|  |  |      * @param jobTitleNameKey
 | 
	
		
			
				|  |  |      * @param outpatientType
 | 
	
		
			
				|  |  |      * @param keyName
 | 
	
		
			
				|  |  |      * @param workingTime
 | 
	
		
			
				|  |  |      * @param consutlSort
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     @Transactional(readOnly = true)
 | 
	
		
			
				|  |  |     public MixEnvelop findDoctorByHospitalAndDiseaseAndDept2(String iswork, String patientid, String orgCode, String dept,
 | 
	
		
			
				|  |  |                                                             String diseaseKey, String doctorNameKey,
 | 
	
		
			
				|  |  |                                                             String jobTitleNameKey, String outpatientType,
 | 
	
		
			
				|  |  |                                                             String keyName, String workingTime, String consultStatus, String chargType, String consutlSort, String isAttention, Integer page, Integer pagesize) {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |       /*  if(page >=1){
 | 
	
		
			
				|  |  |             page --;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (pagesize <= 0) {
 | 
	
		
			
				|  |  |             pagesize = 10;
 | 
	
		
			
				|  |  |         }*/
 | 
	
		
			
				|  |  |         long statr = new Date().getTime();
 | 
	
		
			
				|  |  |         String sql = "SELECT " +
 | 
	
		
			
				|  |  |                 " d.id AS \"id\", " +
 | 
	
		
			
				|  |  |                 " d.photo AS \"photo\", " +
 | 
	
	
		
			
				|  | @ -5968,6 +6298,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
 | 
	
		
			
				|  |  |         envelop.setTotalCount(count.intValue());
 | 
	
		
			
				|  |  |         envelop.setPageSize(pagesize);
 | 
	
		
			
				|  |  |         envelop.setCurrPage(page);
 | 
	
		
			
				|  |  |         System.out.println("old"+(new Date().getTime()-statr));
 | 
	
		
			
				|  |  |         return envelop;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     /**
 | 
	
	
		
			
				|  | @ -6836,6 +7167,10 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
 | 
	
		
			
				|  |  |             wlyyHttpLogDO.setCreateTime(new Date());
 | 
	
		
			
				|  |  |             wlyyHttpLogDao.save(wlyyHttpLogDO);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if ("xm_zsyy_wx".equalsIgnoreCase(wechatId)&&StringUtils.isNoneBlank(wlyyOutpatientDO.getDoctor())){
 | 
	
		
			
				|  |  |             String msgUrl="https://hlwyy.xmzsh.com/ims-wx/index.html#/returnVisit/record?outpatientId="+wlyyOutpatientDO.getId();
 | 
	
		
			
				|  |  |             sendZsMsgFlow("OL_PAY_SUCCESS",wlyyOutpatientDO.getId(),"",msgUrl,"已支付问诊费");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -7119,31 +7454,33 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
 | 
	
		
			
				|  |  |                 "AND outpatient.doctor='" + doctor + "' " +
 | 
	
		
			
				|  |  |                 "AND outpatient.pay_status = 1 " +
 | 
	
		
			
				|  |  |                 "AND outpatient.outpatient_type= '" + outpatient_type + "'  ";
 | 
	
		
			
				|  |  |         if ("1".equals(outpatient_type)||"3".equals(outpatient_type)) {//复诊
 | 
	
		
			
				|  |  |             sql = sql + " AND outpatient.type= '" + type + "' ";
 | 
	
		
			
				|  |  |             if ("2".equals(type)) {//视频复诊才需要判断时间,
 | 
	
		
			
				|  |  |         if (!"xm_ihealth_wx".contains(wxId)){
 | 
	
		
			
				|  |  |             if ("1".equals(outpatient_type)||"3".equals(outpatient_type)) {//复诊
 | 
	
		
			
				|  |  |                 sql = sql + " AND outpatient.type= '" + type + "' ";
 | 
	
		
			
				|  |  |                 if ("2".equals(type)) {//视频复诊才需要判断时间,
 | 
	
		
			
				|  |  |                     if ("xm_ykyy_wx".equals(wxId)) {
 | 
	
		
			
				|  |  |                         if (flag){
 | 
	
		
			
				|  |  |                             sql += " AND outpatient.register_date is not null and outpatient.register_date >= str_to_date('" + DateUtil.dateToStrShort(new Date()) + " 00:00:00','YYYY-MM-DD HH24:MI:SS')";
 | 
	
		
			
				|  |  |                         }else {
 | 
	
		
			
				|  |  |                             sql += " AND outpatient.register_date is not null and outpatient.register_date >= to_date('" + DateUtil.dateToStrShort(new Date()) + " 00:00:00','YYYY-MM-DD HH24:MI:SS')";
 | 
	
		
			
				|  |  |                         }
 | 
	
		
			
				|  |  |                     } else {
 | 
	
		
			
				|  |  |                         sql = sql + " AND outpatient.register_date is not null AND  outpatient.register_date >= '" + DateUtil.dateToStrShort(new Date()) + " 00:00:00' ";
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             } else if ("2".equals(outpatient_type)) {
 | 
	
		
			
				|  |  |                 //协同门诊也需要判断时间
 | 
	
		
			
				|  |  |                 if ("xm_ykyy_wx".equals(wxId)) {
 | 
	
		
			
				|  |  |                     if (flag){
 | 
	
		
			
				|  |  |                         sql += " AND outpatient.register_date is not null and outpatient.register_date >= str_to_date('" + DateUtil.dateToStrShort(new Date()) + " 00:00:00','YYYY-MM-DD HH24:MI:SS')";
 | 
	
		
			
				|  |  |                     }else {
 | 
	
		
			
				|  |  |                         sql += " AND outpatient.register_date is not null and outpatient.register_date >= to_date('" + DateUtil.dateToStrShort(new Date()) + " 00:00:00','YYYY-MM-DD HH24:MI:SS')";
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                 } else {
 | 
	
		
			
				|  |  |                     sql = sql + " AND outpatient.register_date is not null AND  outpatient.register_date >= '" + DateUtil.dateToStrShort(new Date()) + " 00:00:00' ";
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         } else if ("2".equals(outpatient_type)) {
 | 
	
		
			
				|  |  |             //协同门诊也需要判断时间
 | 
	
		
			
				|  |  |             if ("xm_ykyy_wx".equals(wxId)) {
 | 
	
		
			
				|  |  |                 if (flag){
 | 
	
		
			
				|  |  |                     sql += " AND outpatient.register_date is not null and outpatient.register_date >= str_to_date('" + DateUtil.dateToStrShort(new Date()) + " 00:00:00','YYYY-MM-DD HH24:MI:SS')";
 | 
	
		
			
				|  |  |                 }else {
 | 
	
		
			
				|  |  |                     sql += " AND outpatient.register_date is not null and outpatient.register_date >= to_date('" + DateUtil.dateToStrShort(new Date()) + " 00:00:00','YYYY-MM-DD HH24:MI:SS')";
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  |                 sql = sql + " AND outpatient.register_date is not null AND  outpatient.register_date >= '" + DateUtil.dateToStrShort(new Date()) + " 00:00:00' ";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         logger.info("接口名称:doctorReviewConsultCount-->sql="+sql);
 | 
	
		
			
				|  |  |         List<Map<String, Object>> rstotal = jdbcTemplate.queryForList(sql);
 | 
	
	
		
			
				|  | @ -10078,6 +10415,46 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if("xm_zsyy_wx".equalsIgnoreCase(wechatId)){
 | 
	
		
			
				|  |  |                 /*prescriptionDao.updateCheckStatus(prescriptionId,2,reason,20);*/
 | 
	
		
			
				|  |  |                 logger.info("作废处方开始" + prescriptionDO.getCheckStatus());
 | 
	
		
			
				|  |  |                 WlyyOutpatientDO outpatientDO = outpatientDao.findById(prescriptionDO.getOutpatientId());
 | 
	
		
			
				|  |  |                 DoctorMappingDO doctorMappingDO = doctorMappingService.findMappingCode(outpatientDO.getDoctor(), outpatientDO.getHospital());
 | 
	
		
			
				|  |  |                 List<WlyyPrescriptionInfoDO> infoDOS = prescriptionInfoDao.findByPrescriptionId(prescriptionId, 1);
 | 
	
		
			
				|  |  |                 List<WlyyInspectionDO> inspectionDOS = wlyyInspectionDao.findByPrescriptionId(prescriptionId, 1);
 | 
	
		
			
				|  |  |                 List<WlyyPrescriptionDiagnosisDO> prescriptionDiagnosisDOS = prescriptionDiagnosisDao.findByPrescriptionId(prescriptionId,1);
 | 
	
		
			
				|  |  |                 List<WlyyPrescriptionExpressageDO> expressageDOS = prescriptionExpressageDao.findByOutpatientId(outpatientDO.getId());
 | 
	
		
			
				|  |  |                 com.alibaba.fastjson.JSONArray jsonData = new com.alibaba.fastjson.JSONArray();
 | 
	
		
			
				|  |  |                 for (WlyyPrescriptionInfoDO info : infoDOS) {
 | 
	
		
			
				|  |  |                     //设置his药品查询条件
 | 
	
		
			
				|  |  |                     setInfoJsonParam(jsonData, doctorMappingDO, outpatientDO, prescriptionDO, info, outpatientDO.getIcd10());
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 for (WlyyInspectionDO ins : inspectionDOS) {
 | 
	
		
			
				|  |  |                     //设置his药品查询条件
 | 
	
		
			
				|  |  |                     setInspectionParam(jsonData, doctorMappingDO, outpatientDO, prescriptionDO, ins, outpatientDO.getIcd10());
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 if (expressageDOS!=null&&expressageDOS.size()!=0){
 | 
	
		
			
				|  |  |                     WlyyPrescriptionExpressageDO prescriptionExpressageDO = expressageDOS.get(0);
 | 
	
		
			
				|  |  |                     if (prescriptionExpressageDO!=null&&prescriptionExpressageDO.getOneselfPickupFlg()==0){
 | 
	
		
			
				|  |  |                         for (int i=0;i<jsonData.size();i++){
 | 
	
		
			
				|  |  |                             com.alibaba.fastjson.JSONObject object = jsonData.getJSONObject(i);
 | 
	
		
			
				|  |  |                             object.put("selfDelivered",0);
 | 
	
		
			
				|  |  |                         }
 | 
	
		
			
				|  |  |                     }else if (prescriptionExpressageDO!=null&&prescriptionExpressageDO.getOneselfPickupFlg()==1){
 | 
	
		
			
				|  |  |                         for (int i=0;i<jsonData.size();i++){
 | 
	
		
			
				|  |  |                             com.alibaba.fastjson.JSONObject object = jsonData.getJSONObject(i);
 | 
	
		
			
				|  |  |                             object.put("selfDelivered",1);
 | 
	
		
			
				|  |  |                         }
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 try {
 | 
	
		
			
				|  |  |                     net.sf.json.JSONObject jsonObject = entranceService.BS10112(jsonData.toJSONString(), demoFlag);
 | 
	
		
			
				|  |  |                 }catch (Exception e){
 | 
	
		
			
				|  |  |                     e.printStackTrace();
 | 
	
		
			
				|  |  |                     return "删除失败";
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             prescriptionDO.setStatus(-1);
 | 
	
		
			
				|  |  |             prescriptionDO.setCheckStatus(4);
 | 
	
		
			
				|  |  |             prescriptionDO.setCheckReason("已删除");
 | 
	
	
		
			
				|  | @ -11789,17 +12166,14 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
 | 
	
		
			
				|  |  |                                 .build())
 | 
	
		
			
				|  |  |                         .build())
 | 
	
		
			
				|  |  |                 .build();
 | 
	
		
			
				|  |  |         if (extras.get("outpatientId")!=null){
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             PushResult result = jPushClient.sendPush(payload);
 | 
	
		
			
				|  |  |             logger.info("极光推送返回日志==="+result);
 | 
	
		
			
				|  |  |             WlyyHttpLogDO httpLogDO = new WlyyHttpLogDO();
 | 
	
		
			
				|  |  |             httpLogDO.setCode("JPUSH");
 | 
	
		
			
				|  |  |             httpLogDO.setCreateTime(new Date());
 | 
	
		
			
				|  |  |             /*httpLogDO.setRequest(jsonObject.toJSONString());
 | 
	
		
			
				|  |  |             httpLogDO.setResponse(result);*/
 | 
	
		
			
				|  |  |             httpLogDO.setRequest(extras==null?"":extras.toString());
 | 
	
		
			
				|  |  |             httpLogDO.setResponse(result==null?"":result.toString());
 | 
	
		
			
				|  |  |             wlyyHttpLogDao.save(httpLogDO);
 | 
	
		
			
				|  |  |             logger.info("Got result - " + result);
 | 
	
		
			
				|  |  |         } catch (APIConnectionException e) {
 | 
	
	
		
			
				|  | @ -12010,6 +12384,52 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
 | 
	
		
			
				|  |  |             jsonObject.put("type",32);
 | 
	
		
			
				|  |  |             jsonObject.put("id",prescriptionId);
 | 
	
		
			
				|  |  |             jsonObject.put("outpatientId",wlyyOutpatientDO.getId());
 | 
	
		
			
				|  |  |         }else if("remind_doctor_pickup".equalsIgnoreCase(templateCode)){//接诊下消息提醒
 | 
	
		
			
				|  |  |             BaseJpushTemplateDO baseJpushTemplateDO = baseJpushTemplateDao.findByCode(templateCode);
 | 
	
		
			
				|  |  |             if(baseJpushTemplateDO!=null){
 | 
	
		
			
				|  |  |                 if ("1".equalsIgnoreCase(wlyyOutpatientDO.getOutpatientType())&&"1".equalsIgnoreCase(wlyyOutpatientDO.getType())){
 | 
	
		
			
				|  |  |                     content = baseJpushTemplateDO.getPushContent().replace("{{咨询类型}}","图文复诊").replace("{{患者姓名}}",wlyyOutpatientDO.getPatientName());
 | 
	
		
			
				|  |  |                     title=baseJpushTemplateDO.getPushHeader().replace("{{咨询类型}}","图文复诊接诊提醒");
 | 
	
		
			
				|  |  |                     jsonObject.put("type",51);
 | 
	
		
			
				|  |  |                     jsonObject.put("patientName",wlyyOutpatientDO.getPatientName());
 | 
	
		
			
				|  |  |                 }else if ("1".equalsIgnoreCase(wlyyOutpatientDO.getOutpatientType())&&"2".equalsIgnoreCase(wlyyOutpatientDO.getType())){
 | 
	
		
			
				|  |  |                     content = baseJpushTemplateDO.getPushContent().replace("{{咨询类型}}","视频复诊").replace("{{患者姓名}}",wlyyOutpatientDO.getPatientName());
 | 
	
		
			
				|  |  |                     content+= "视频复诊预约时间为:"+wlyyOutpatientDO.getRegisterDate();
 | 
	
		
			
				|  |  |                     title=baseJpushTemplateDO.getPushHeader().replace("{{咨询类型}}","视频复诊接诊提醒");
 | 
	
		
			
				|  |  |                     jsonObject.put("type",52);
 | 
	
		
			
				|  |  |                     jsonObject.put("patientName",wlyyOutpatientDO.getPatientName());
 | 
	
		
			
				|  |  |                 }else if ("3".equalsIgnoreCase(wlyyOutpatientDO.getOutpatientType())&&"1".equalsIgnoreCase(wlyyOutpatientDO.getType())){
 | 
	
		
			
				|  |  |                     content = baseJpushTemplateDO.getPushContent().replace("{{咨询类型}}","图文咨询").replace("{{患者姓名}}",wlyyOutpatientDO.getPatientName());
 | 
	
		
			
				|  |  |                     title=baseJpushTemplateDO.getPushHeader().replace("{{咨询类型}}","图文咨询接诊提醒");
 | 
	
		
			
				|  |  |                     jsonObject.put("type",58);
 | 
	
		
			
				|  |  |                     jsonObject.put("patientName",wlyyOutpatientDO.getPatientName());
 | 
	
		
			
				|  |  |                 }else if ("3".equalsIgnoreCase(wlyyOutpatientDO.getOutpatientType())&&"2".equalsIgnoreCase(wlyyOutpatientDO.getType())){
 | 
	
		
			
				|  |  |                     content = baseJpushTemplateDO.getPushContent().replace("{{咨询类型}}","视频咨询").replace("{{患者姓名}}",wlyyOutpatientDO.getPatientName());
 | 
	
		
			
				|  |  |                     title=baseJpushTemplateDO.getPushHeader().replace("{{咨询类型}}","视频咨询接诊提醒");
 | 
	
		
			
				|  |  |                     content+= "视频咨询预约时间为:"+wlyyOutpatientDO.getRegisterDate();
 | 
	
		
			
				|  |  |                     jsonObject.put("type",57);
 | 
	
		
			
				|  |  |                     jsonObject.put("patientName",wlyyOutpatientDO.getPatientName());
 | 
	
		
			
				|  |  |                 }else if ("2".equalsIgnoreCase(wlyyOutpatientDO.getOutpatientType())){
 | 
	
		
			
				|  |  |                     content = baseJpushTemplateDO.getPushContent().replace("{{咨询类型}}","协同复诊").replace("{{患者姓名}}",wlyyOutpatientDO.getPatientName());
 | 
	
		
			
				|  |  |                     title=baseJpushTemplateDO.getPushHeader().replace("{{咨询类型}}","协同复诊接诊提醒");
 | 
	
		
			
				|  |  |                     jsonObject.put("type",53);
 | 
	
		
			
				|  |  |                     jsonObject.put("patientName",wlyyOutpatientDO.getPatientName());
 | 
	
		
			
				|  |  |                 }else if ("3".equalsIgnoreCase(wlyyOutpatientDO.getOutpatientType())&&"3".equalsIgnoreCase(wlyyOutpatientDO.getType())){
 | 
	
		
			
				|  |  |                     content = baseJpushTemplateDO.getPushContent().replace("{{咨询类型}}","家医咨询").replace("{{患者姓名}}",wlyyOutpatientDO.getPatientName());
 | 
	
		
			
				|  |  |                     title=baseJpushTemplateDO.getPushHeader().replace("{{咨询类型}}","家医咨询接诊提醒");
 | 
	
		
			
				|  |  |                     jsonObject.put("type",55);
 | 
	
		
			
				|  |  |                     jsonObject.put("patientName",wlyyOutpatientDO.getPatientName());
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 String sex = IdCardUtil.getSexNameForIdcard_new(wlyyOutpatientDO.getIdcard());
 | 
	
		
			
				|  |  |                 Integer age = IdCardUtil.getAgeForIdcard(wlyyOutpatientDO.getIdcard());
 | 
	
		
			
				|  |  |                 Long createTime = wlyyOutpatientDO.getCreateTime().getTime();
 | 
	
		
			
				|  |  |                 Long nowTime = new Date().getTime();
 | 
	
		
			
				|  |  |                 Long minusts = TimeUnit.MILLISECONDS.toMinutes(nowTime - createTime);
 | 
	
		
			
				|  |  |                 content = content.replace("{{性别年龄}}",sex+age+"岁").replace("{{等待时间}}",minusts.toString());
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             userId = wlyyOutpatientDO.getDoctor();
 | 
	
		
			
				|  |  |             jsonObject.put("id",wlyyOutpatientDO.getId());
 | 
	
		
			
				|  |  |             isDoctor="1";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return jPushMessage(isDoctor,userId,content,title,jsonObject);
 | 
	
	
		
			
				|  | @ -12172,5 +12592,17 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public String findDomainUrlInDict(){
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             WlyyHospitalSysDictDO wlyyHospitalSysDictDO = wlyyHospitalSysDictDao.findById("domainUrl");
 | 
	
		
			
				|  |  |             if (wlyyHospitalSysDictDO!=null){
 | 
	
		
			
				|  |  |                 return wlyyHospitalSysDictDO.getDictValue();
 | 
	
		
			
				|  |  |             }else {
 | 
	
		
			
				|  |  |                 return "";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }catch (Exception e){
 | 
	
		
			
				|  |  |             e.printStackTrace();
 | 
	
		
			
				|  |  |             return "";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | }
 |