瀏覽代碼

Merge branch 'dev' of http://192.168.1.220:10080/Amoy2/wlyy2.0 into dev

LAPTOP-KB9HII50\70708 3 年之前
父節點
當前提交
bf6d9932c0
共有 34 個文件被更改,包括 924 次插入85 次删除
  1. 3 3
      business/base-service/src/main/java/com/yihu/jw/healthCare/service/HealthCareService.java
  2. 357 0
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/HcyyPrescriptionService.java
  3. 8 7
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/PrescriptionService.java
  4. 33 1
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/TasyNatService.java
  5. 148 0
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/HcyyEntranceService.java
  6. 3 2
      business/base-service/src/main/java/com/yihu/jw/internet/service/InternetCommonService.java
  7. 1 0
      business/base-service/src/main/java/com/yihu/jw/utils/ImgUtils.java
  8. 1 1
      server/svr-authentication/src/main/java/com/yihu/jw/security/oauth2/provider/endpoint/WlyyIotLoginEndpoint.java
  9. 1 1
      server/svr-authentication/src/main/resources/application.yml
  10. 1 1
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/doctor/DoctorBirthdayWishesEndpoint.java
  11. 18 0
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/family/FamilyMemberEndpoint.java
  12. 11 0
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/patient/PatientContactsEndpoint.java
  13. 2 0
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/safeArea/DoctorSafeAreaController.java
  14. 8 4
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/security/SecurityMonitoringOrderEndpoint.java
  15. 15 1
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/sign/SignEndpoint.java
  16. 1 1
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/assistance/EmergencyAssistanceService.java
  17. 9 5
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/consult/ConsultTeamService.java
  18. 1 1
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/device/PatientDeviceService.java
  19. 4 3
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/device/PatientHealthIndexService.java
  20. 1 1
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/lifeCare/LifeCareOrderService.java
  21. 36 4
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/message/BaseServiceNewsService.java
  22. 1 1
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/message/DoctorMessageService.java
  23. 1 1
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/patient/OnlineContactService.java
  24. 98 19
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/security/SecurityMonitoringOrderService.java
  25. 1 1
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/sign/ServicePackageService.java
  26. 34 5
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/statistics/DetectionPlatformService.java
  27. 25 8
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/statistics/StatisticsService.java
  28. 48 7
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/third/PatientInfoPlatFormService.java
  29. 4 4
      svr/svr-cloud-device/src/main/java/com/yihu/jw/care/service/DeviceService.java
  30. 2 0
      svr/svr-cloud-device/src/main/java/com/yihu/jw/care/util/DeviceDataPushLogUtil.java
  31. 1 1
      svr/svr-cloud-device/src/main/java/com/yihu/jw/care/util/SecurityOrderUtil.java
  32. 45 0
      svr/svr-internet-hospital-entrance/src/main/resources/application.yml
  33. 1 1
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/healthCare/HealthCareEndPoint.java
  34. 1 1
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/prescription/HcyyPrescriptionCotroller.java

+ 3 - 3
business/base-service/src/main/java/com/yihu/jw/healthCare/service/HealthCareService.java

@ -98,7 +98,7 @@ public class HealthCareService {
    private String ylzConfigSignKey;
    private String ylzConfigOrgCode;
    public static String entranceHealthCareUrl = "http://172.16.100.240:10023/healthCare/";
    public static String entranceHealthCareUrl = "http://127.0.0.1:10023/healthCare/";
    public void initConfig() throws Exception{
@ -811,7 +811,7 @@ public class HealthCareService {
            throw new Exception("患者his信息不存在");
        }
        JSONObject data = new JSONObject();
        data.put("service_id","10000");
        data.put("service_id","100000");
        data.put("name",patientDO.getName());
        data.put("idcard",patientDO.getIdcard());
        data.put("cert_type","01");//TODO
@ -864,7 +864,7 @@ public class HealthCareService {
            throw new Exception("患者his信息不存在");
        }
        JSONObject data = new JSONObject();
        data.put("service_id","10000");
        data.put("service_id","100000");
        data.put("name",patientDO.getName());
        data.put("idcard",patientDO.getIdcard());
        data.put("cert_type","01");//TODO

+ 357 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/HcyyPrescriptionService.java

@ -1199,4 +1199,361 @@ public class HcyyPrescriptionService extends BaseJpaService<WlyyPrescriptionDO,
            return str;
        }
    }
    //======================合理用药===========================
    public String getUseDrugUrl(){
        List<WlyyHospitalSysDictDO> list =  wlyyHospitalSysDictDao.findByDictName("useDrugUrl");
        String url = list.get(0).getDictCode();
        return url;
    }
    /**
     * 3.1	基础标记
     *
     * @param hospitalCode 医院/院区编码
     * @param eventNo 就诊流水号
     * @param patientId 患者id
     * @param source 请求数据的来源,传入固定值:门诊
     * @return
     */
    public String initBaseParam(String hospitalCode,String eventNo,String patientId,String source){
        String base = "<base> ";
        source = "门诊";
        if (StringUtils.isNoneBlank(hospitalCode)){
            base +=" <hospital_code>"+hospitalCode+"</hospital_code> ";
        }
        if (StringUtils.isNoneBlank(eventNo)){
            base +=" <event_no>"+eventNo+"</event_no> ";
        }
        if (StringUtils.isNoneBlank(patientId)){
            base +=" <patient_id>"+patientId+"</patient_id> ";
        }
        if (StringUtils.isNoneBlank(source)){
            base +=" <source>"+source+"</source> ";
        }
        base+="</base>";
        return base;
    }
    /**
     *3.2	患者就诊
     * @param sex 传入4种值:男/女/M/F
     * @param name
     * @param idType 患者在医院登记的证件类型,如:身份证、户口本等
     * @param idNo 患者在医院登记证件对应的号码
     * @param birthWeight 患者出生时的体重, 必须包含数字和单位,计量单位:g,如3500g
     * @param birthday 患者的出生日期,格式:yyyy-mm-dd
     * @param medCardNo 患者就诊时所使用的医疗卡号
     * @param eventTime 患者到医院的就诊时间,一般为挂号时间,格式:yyyy-mm-dd hh24:mi:ss
     * @param deptId 系统运行核心关联字段,患者挂号的科室id
     * @param deptName 患者挂号的科室名称
     * @param payType 患者付费方式,如:自费、市医保、省医保等
     * @param pregnancy 是否怀孕 1: 是0: 否
     * @param timeOfPreg 孕期 孕妇的妊娠时长,只传数字,默认计量单位:周
     * @param breastFeeding 是否哺乳1: 是0: 否
     * @param height 身高
     * @param weight 体重
     * @param address 联系地址
     * @param phoneNo 联系电话
     * @param dialysis 是否透析 1: 是0: 否
     * @param patientCondition 一些笼统的描述信息,如:普通病人、危重病人
     * @return
     */
    public String initOptPatientParam(String sex,String name,String idType,String idNo,String birthWeight,String birthday,String medCardNo,
                                      String eventTime,String deptId,String deptName,String payType,String pregnancy,String timeOfPreg,String breastFeeding,
                                      String height,String weight,String address,String phoneNo,String dialysis,String patientCondition){
        String optPatient = "<opt_patient> ";
        if (StringUtils.isNoneBlank(sex)){
            optPatient +=" <sex>"+sex+"</sex> ";
        }
        if (StringUtils.isNoneBlank(name)){
            optPatient +=" <name>"+name+"</name> ";
        }
        if (StringUtils.isNoneBlank(idType)){
            optPatient +=" <id_type>"+idType+"</id_type> ";
        }
        if (StringUtils.isNoneBlank(idNo)){
            optPatient +=" <id_no>"+idNo+"</id_no> ";
        }
        if (StringUtils.isNoneBlank(birthWeight)){
            optPatient +=" <birth_weight>"+birthWeight+"</birth_weight> ";
        }
        if (StringUtils.isNoneBlank(birthday)){
            optPatient +=" <birthday>"+birthday+"</birthday> ";
        }
        if (StringUtils.isNoneBlank(medCardNo)){
            optPatient +=" <med_card_no>"+medCardNo+"</med_card_no> ";
        }
        if (StringUtils.isNoneBlank(eventTime)){
            optPatient +=" <event_time>"+eventTime+"</event_time> ";
        }
        if (StringUtils.isNoneBlank(deptId)){
            optPatient +=" <dept_id>"+deptId+"</dept_id> ";
        }
        if (StringUtils.isNoneBlank(deptName)){
            optPatient +=" <dept_name>"+deptName+"</dept_name> ";
        }
        if (StringUtils.isNoneBlank(payType)){
            optPatient +=" <pay_type>"+payType+"</pay_type> ";
        }
        if (StringUtils.isNoneBlank(pregnancy)){
            optPatient +=" <pregnancy>"+pregnancy+"</pregnancy> ";
        }
        if (StringUtils.isNoneBlank(timeOfPreg)){
            optPatient +=" <time_of_preg>"+timeOfPreg+"</time_of_preg> ";
        }
        if (StringUtils.isNoneBlank(breastFeeding)){
            optPatient +=" <breast_feeding>"+breastFeeding+"</breast_feeding> ";
        }
        if (StringUtils.isNoneBlank(height)){
            optPatient +=" <height>"+height+"</height> ";
        }
        if (StringUtils.isNoneBlank(weight)){
            optPatient +=" <weight>"+weight+"</weight> ";
        }
        if (StringUtils.isNoneBlank(address)){
            optPatient +=" <address>"+address+"</address> ";
        }
        if (StringUtils.isNoneBlank(phoneNo)){
            optPatient +=" <phone_no>"+phoneNo+"</phone_no> ";
        }
        if (StringUtils.isNoneBlank(dialysis)){
            optPatient +=" <dialysis>"+dialysis+"</dialysis> ";
        }
        if (StringUtils.isNoneBlank(patientCondition)){
            optPatient +=" <patient_condition>"+patientCondition+"</patient_condition> ";
        }
        optPatient+="</opt_patient>";
        return optPatient;
    }
    /**3.3.1	处方单
     *
     * @param recipeId  系统运行核心关联字段,一张处方实体的唯一标记,院内唯一,主键
     * @param recipeNo 如不存在,和处方id传值一样即可
     * @param recipeSource 三种值:门诊,急诊
     * @param recipeType 三种值:西药方,中成药方,草药方
     * @param recipeDocId 系统运行核心关联字段,开方医生工号
     * @param recipeDocName 开方医生姓名
     * @param recipeDocTitle 开方医生的职称,如:主治医师、副主任医师、主任医师等。
     * @param deptId 系统运行核心关联字段,开方医师所属科室id
     * @param deptName 开方医师所属科室名称
     * @param recipeTime 系统运行核心字段,格式:yyyy-mm-dd hh24:mi:ss
     * @param herbUnitPrice 如果是中药饮片处方,此处必填
     * @param herbPacketCount 如果是中药饮片处方,此处必填
     * @param recipeFeeTotal 处方总金额
     * @param recipeStatus 0: 新开或修改处方。数据要求:传入的所有药品明细发药数量值均必须大于0
     * @param originalRecipeId 当Recipe_status为1时表示退药处方时,则必须传入当前退药处方所对应原始处方的处方id
     * @param urgentFlag 用于处方的优先审核 1: 是0: 否
     * @return
     */
    public String initPrescriptionInfoParam(String recipeId,String recipeNo,String recipeSource,String recipeType,String recipeDocId,String recipeDocName,String recipeDocTitle,
                                      String deptId,String deptName,String recipeTime,String herbUnitPrice,String herbPacketCount,String recipeFeeTotal,
                                      String recipeStatus,String originalRecipeId,String urgentFlag){
        String optPatient = "<opt_prescription_info>";
        if (StringUtils.isNoneBlank(recipeId)){
            optPatient +=" <recipe_id>"+recipeId+"</recipe_id> ";
        }
        if (StringUtils.isNoneBlank(recipeNo)){
            optPatient +=" <recipe_no>"+recipeNo+"</recipe_no> ";
        }
        if (StringUtils.isNoneBlank(recipeSource)){
            optPatient +=" <recipe_source>"+recipeSource+"</recipe_source> ";
        }
        if (StringUtils.isNoneBlank(recipeType)){
            optPatient +=" <recipe_type>"+recipeType+"</recipe_type> ";
        }
        if (StringUtils.isNoneBlank(recipeDocId)){
            optPatient +=" <recipe_doc_id>"+recipeDocId+"</recipe_doc_id> ";
        }
        if (StringUtils.isNoneBlank(recipeDocName)){
            optPatient +=" <recipe_doc_name>"+recipeDocName+"</recipe_doc_name> ";
        }
        if (StringUtils.isNoneBlank(recipeDocTitle)){
            optPatient +=" <recipe_doc_title>"+recipeDocTitle+"</recipe_doc_title> ";
        }
        if (StringUtils.isNoneBlank(deptId)){
            optPatient +=" <dept_id>"+deptId+"</dept_id> ";
        }
        if (StringUtils.isNoneBlank(deptName)){
            optPatient +=" <dept_name>"+deptName+"</dept_name> ";
        }
        if (StringUtils.isNoneBlank(recipeTime)){
            optPatient +=" <recipe_time>"+recipeTime+"</recipe_time> ";
        }
        if (StringUtils.isNoneBlank(herbUnitPrice)){
            optPatient +=" <herb_unit_price>"+herbUnitPrice+"</herb_unit_price> ";
        }
        if (StringUtils.isNoneBlank(herbPacketCount)){
            optPatient +=" <herb_packet_count>"+herbPacketCount+"</herb_packet_count> ";
        }
        if (StringUtils.isNoneBlank(recipeFeeTotal)){
            optPatient +=" <recipe_fee_total>"+recipeFeeTotal+"</recipe_fee_total> ";
        }
        if (StringUtils.isNoneBlank(recipeStatus)){
            optPatient +=" <recipe_status>"+recipeStatus+"</recipe_status> ";
        }
        if (StringUtils.isNoneBlank(originalRecipeId)){
            optPatient +=" <original_recipe_id>"+originalRecipeId+"</original_recipe_id> ";
        }
        if (StringUtils.isNoneBlank(urgentFlag)){
            optPatient +=" <urgent_flag>"+urgentFlag+"</urgent_flag> ";
        }
        optPatient+="</opt_prescription_info>";
        return optPatient;
    }
    /**
     * 3.3.2	处方明细
     *
     * @param recipeId 系统运行核心关联字段,一张处方实体的唯一标记,院内唯一,主键
     * @param recipeItemId 系统运行核心关联字段,唯一标记处方中的每一项药物医嘱
     * @param drugId 系统运行核心关联字段,医院药品id,传入约定的药品编码
     * @param drugName 药品的通用名称
     * @param specification 药品规格的描述,如0.5gx24
     * @param preparation 药品剂型名称
     * @param manufacturerName 药品产地名称
     * @param countUnit 如果一盒药品12片,发药单位为片时,包装规格数量为1
     * @param drugDose 医生开立的单次给药剂量,值必须是数字+单位,如:0.5g 、200ml等
     * @param despensingNum 当处方状态为-1(部分药品退费退药)时,这里填写负值,表示具体退多少。
    正常处方状态情况,请填写最终生效值,表示最终的发药数量。
     * @param packUnit  发药单位,和发药数量对应,例如:瓶、盒、片等
     * @param unitPrice 药品的费用单价
     * @param feeTotal 药品的单价*发药数量,计量单位为元 
     * @param groupNo 药物的分组号,同组药物组号一致。
     * @param drugAdminRouteName 传入约定的药品使用途径,如:静脉推注等
     * @param drugUsingFreq 传入约定的药品给药频次,如:qd、bid等,
     * @param drugUsingTimePoint 药品给药时机,如:饭前、饭后、空腹等
     * @param drugUsingAim 药品的用药目的,预防|治疗|其他
     * @param drugUsingArea 药品使用部位
     * @param infusionSpeed 静脉输液药品滴注时长或速度的描述,需同时包含数字和单位,如:1小时、20滴/分钟
     * @param duration 由医生指定的药品使用天数或次数,如:5天,10次等
     * @param specialPrompt 备注信息,如饮片的先煎、后下等
     * @param skinTestFlag 1: 皮试0: 非皮试
     * @param skinTestResult 皮试结果
     * @param ouvasFlag 门诊静配标志
     * @param medicareType 结算方式
     * @param startTime 开始使用时间
     * @param endTime 结束使用时间
     * @return
     */
    public String initPrescriptionItemParam(String recipeId,String recipeItemId,String drugId,String drugName,String specification,String preparation,String manufacturerName,
                                            String countUnit,String drugDose,String despensingNum,String packUnit,String unitPrice,String feeTotal,
                                            String groupNo,String drugAdminRouteName,String drugUsingFreq,String drugUsingTimePoint,String drugUsingAim,String drugUsingArea,
                                            String infusionSpeed,String duration,String specialPrompt,String skinTestFlag,String skinTestResult,String ouvasFlag,
                                            String medicareType,String startTime,String endTime){
        String optPatient = "<opt_prescription_item>";
        if (StringUtils.isNoneBlank(recipeId)){
            optPatient +=" <recipe_id>"+recipeId+"</recipe_id> ";
        }
        if (StringUtils.isNoneBlank(recipeItemId)){
            optPatient +=" <recipe_item_id>"+recipeItemId+"</recipe_item_id> ";
        }
        if (StringUtils.isNoneBlank(drugId)){
            optPatient +=" <drug_id>"+drugId+"</drug_id> ";
        }
        if (StringUtils.isNoneBlank(drugName)){
            optPatient +=" <drug_name>"+drugName+"</drug_name> ";
        }
        if (StringUtils.isNoneBlank(specification)){
            optPatient +=" <specification>"+specification+"</specification> ";
        }
        if (StringUtils.isNoneBlank(preparation)){
            optPatient +=" <preparation>"+preparation+"</preparation> ";
        }
        if (StringUtils.isNoneBlank(manufacturerName)){
            optPatient +=" <manufacturer_name>"+manufacturerName+"</manufacturer_name> ";
        }
        if (StringUtils.isNoneBlank(countUnit)){
            optPatient +=" <count_unit>"+countUnit+"</count_unit> ";
        }
        if (StringUtils.isNoneBlank(drugDose)){
            optPatient +=" <drug_dose>"+drugDose+"</drug_dose> ";
        }
        if (StringUtils.isNoneBlank(despensingNum)){
            optPatient +=" <despensing_num>"+despensingNum+"</despensing_num> ";
        }
        if (StringUtils.isNoneBlank(packUnit)){
            optPatient +=" <pack_unit>"+packUnit+"</pack_unit> ";
        }
        if (StringUtils.isNoneBlank(unitPrice)){
            optPatient +=" <unit_price>"+unitPrice+"</unit_price> ";
        }
        if (StringUtils.isNoneBlank(feeTotal)){
            optPatient +=" <fee_total>"+feeTotal+"</fee_total> ";
        }
        if (StringUtils.isNoneBlank(groupNo)){
            optPatient +=" <group_no>"+groupNo+"</group_no> ";
        }
        if (StringUtils.isNoneBlank(drugAdminRouteName)){
            optPatient +=" <drug_admin_route_name>"+drugAdminRouteName+"</drug_admin_route_name> ";
        }
        if (StringUtils.isNoneBlank(drugUsingFreq)){
            optPatient +=" <drug_using_freq>"+drugUsingFreq+"</drug_using_freq> ";
        }
        if (StringUtils.isNoneBlank(drugUsingTimePoint)){
            optPatient +=" <drug_using_time_point>"+drugUsingTimePoint+"</drug_using_time_point> ";
        }
        if (StringUtils.isNoneBlank(drugUsingAim)){
            optPatient +=" <drug_using_aim>"+drugUsingAim+"</drug_using_aim> ";
        }
        if (StringUtils.isNoneBlank(drugUsingArea)){
            optPatient +=" <drug_using_area>"+drugUsingArea+"</drug_using_area> ";
        }
        if (StringUtils.isNoneBlank(infusionSpeed)){
            optPatient +=" <infusion_speed>"+infusionSpeed+"</infusion_speed> ";
        }
        if (StringUtils.isNoneBlank(duration)){
            optPatient +=" <duration>"+duration+"</duration> ";
        }
        if (StringUtils.isNoneBlank(specialPrompt)){
            optPatient +=" <special_prompt>"+specialPrompt+"</special_prompt> ";
        }
        if (StringUtils.isNoneBlank(skinTestFlag)){
            optPatient +=" <skin_test_flag>"+skinTestFlag+"</skin_test_flag> ";
        }
        if (StringUtils.isNoneBlank(skinTestResult)){
            optPatient +=" <skin_test_result>"+skinTestResult+"</skin_test_result> ";
        }
        if (StringUtils.isNoneBlank(ouvasFlag)){
            optPatient +=" <ouvas_flag>"+ouvasFlag+"</ouvas_flag> ";
        }
        if (StringUtils.isNoneBlank(ouvasFlag)){
            optPatient +=" <ouvas_flag>"+ouvasFlag+"</ouvas_flag> ";
        }
        if (StringUtils.isNoneBlank(medicareType)){
            optPatient +=" <medicare_type>"+medicareType+"</medicare_type> ";
        }
        if (StringUtils.isNoneBlank(startTime)){
            optPatient +=" <start_time>"+startTime+"</start_time> ";
        }
        if (StringUtils.isNoneBlank(endTime)){
            optPatient +=" <end_time>"+endTime+"</end_time> ";
        }
        optPatient+="</opt_prescription_item>";
        return optPatient;
    }
}

+ 8 - 7
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/PrescriptionService.java

@ -336,7 +336,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
    public static String entranceUrl = "http://172.16.100.240:10023/xzzx/";
    public static String entranceHealthCareUrl = "http://172.16.100.240:10023/healthCare/";
    public static String entranceHealthCareUrl = "http://127.0.0.1:10023/healthCare/";
    @Value("${demo.flag}")
    private boolean demoFlag;
@ -7350,6 +7350,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        rs.put("cardType",basePatientDO.getCardType());
        rs.put("healthStatus","");
        rs.put("diseaseType","");
        rs.put("medicalState",basePatientDO.getMedicalState());
        if (patientMedicareCardDO != null) {
            rs.put("ssc", patientMedicareCardDO.getCode());
        } else {
@ -9830,7 +9831,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                    }
                    //同步处方
                    String applyDoctor = doctorMappingDO.getDoctorName()+"/"+doctorMappingDO.getMappingCode();
                    com.alibaba.fastjson.JSONObject object = hcyyPrescriptionService.savePrescriptionToEntrance("0",outpatientDO.getCardNo(),outpatientDO.getRegisterNo(),outpatientDO.getDept(),applyDoctor,"50100",infoDOS);
                    com.alibaba.fastjson.JSONObject object = hcyyPrescriptionService.savePrescriptionToEntrance("0",outpatientDO.getCardNo(),outpatientDO.getRegisterNo(),outpatientDO.getDept(),applyDoctor,"50400",infoDOS);
                    logger.info("成功上传处方"+object);
                    //{"msg":"交易成功","code":"0","data":{"PresDetail":{"PresNo":"16151365"}},"success":"True"}
                    if (object!=null){
@ -9845,20 +9846,20 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                    }
                    logger.info("进入处方签名");
                  /*  //处方签名
                    String baseSign=xzyyPrescriptionService.SOF_SignDataWithExtraInfo(wlyyPrescriptionDO);
                    String baseSign=xzyyPrescriptionService.SOF_SignDataWithExtraInfo(wlyyPrescriptionDO);*/
                    //同步电子病历
                    WlyyPrescriptionEmrDO prescriptionEmrDO = prescriptionEmrDao.findEmrByPrescriptionId(prescriptionId);
                    try {
                        if (prescriptionEmrDO != null) {
                            logger.info("电子病历同步");
                            xzzxEntranceService.saveEmrToEntrance(prescriptionId,baseSign);
                            hcyyPrescriptionService.saveEmrToEntrance(prescriptionId,null);
                            logger.info("电子病历同步");
                            logger.info("电子病历签名");
                            xzyyPrescriptionService.SOF_SignDataWithExtraInfoEmr(wlyyPrescriptionDO);
                           /* xzyyPrescriptionService.SOF_SignDataWithExtraInfoEmr(wlyyPrescriptionDO);*/
                        }
                    }catch (Exception e){
                        e.printStackTrace();
                    }*/
                    }
                    try {
                        if (object!=null){
                            if (object.getString("code").equalsIgnoreCase("0")){
@ -12524,7 +12525,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
            //先进行核算检测预约
            String realOrder="";
            String addressNow=provinceName+cityName+townName+streetName+address;
            String result = tasyNatService.initNatParams(HisSeqNo,name.trim(),mediaCard.trim(),addressNow,firstJobCode,secondJobCode);
            String result = tasyNatService.initNatParams(HisSeqNo,name.trim(),mediaCard.trim(),addressNow,firstJobCode,secondJobCode,mobile);
            Boolean flag = false;
            if (StringUtils.isNoneBlank(result)){
                com.alibaba.fastjson.JSONObject object = com.alibaba.fastjson.JSONObject.parseObject(result);

+ 33 - 1
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/TasyNatService.java

@ -231,6 +231,9 @@ public class TasyNatService {
        if (StringUtils.isNoneBlank(jsonObject.getString("ncp_profession_sub"))){
            condition += "<ncp_profession_sub>"+jsonObject.getString("ncp_profession_sub")+"</ncp_profession_sub>";
        }
        if (StringUtils.isNoneBlank(jsonObject.getString("telephone"))){
            condition += "<telephone>"+jsonObject.getString("telephone")+"</telephone>";
        }
        String itemCoditon="";
        if (StringUtils.isNoneBlank(jsonObject.getString("item"))){
            JSONObject itemObject=jsonObject.getJSONObject("item");
@ -345,7 +348,7 @@ public class TasyNatService {
    }
    //组装核算下单参数
    public String initNatParams(String preNo,String patientName,String icCardNo,String address,String job,String jobChild){
    public String initNatParams(String preNo,String patientName,String icCardNo,String address,String job,String jobChild,String telephone){
        List<WlyyHospitalSysDictDO> natConfigList = wlyyHospitalSysDictDao.findByDictName("natConfigList");
        String deptCode = "0001";
        String staffNo = "0001";
@ -393,6 +396,7 @@ public class TasyNatService {
        jsonObject.put("address_now",address);
        jsonObject.put("ncp_profession",job);
        jsonObject.put("ncp_standing_type",ncpStandingType);
        jsonObject.put("telephone",telephone);
        JSONObject item = new JSONObject();
        item.put("itemCode",itemCode);
        item.put("itemName",itemName);
@ -885,6 +889,20 @@ public class TasyNatService {
                                                }
                                                //取消号源
                                                //cancleOrder(baseNatAppointmentDO.getCardNo(),baseNatAppointmentDO.getRegisterNo(),baseNatAppointmentDO.getOderNum());
                                            }else if ("作废".equalsIgnoreCase(child.getString("Status"))) {
                                                logger.info("进入作废订单同步");
                                                baseNatAppointmentDO.setPayStatus("-1");
                                                baseNatAppointmentDO.setIsSuccess("-1");
                                                baseNatAppointmentDO.setCancelReson("患者本人线下作废");
                                                baseNatAppointmentDO.setCancelTime(new Date());
                                                baseNatAppointmentDO.setCancelBy(patientId);
                                                BusinessOrderDO businessOrderDO = businessOrderDao.selectByRelationCode(baseNatAppointmentDO.getId().toString());
                                                if (businessOrderDO != null) {
                                                    businessOrderDO.setStatus(-1);
                                                    businessOrderDao.save(businessOrderDO);
                                                }
                                                //取消号源
                                                //cancleOrder(baseNatAppointmentDO.getCardNo(),baseNatAppointmentDO.getRegisterNo(),baseNatAppointmentDO.getOderNum());
                                            }
                                            baseNatAppointmentDO.setVoucherNo(child.getString("ApplyNo"));
                                            baseNatAppointmentDao.save(baseNatAppointmentDO);
@ -915,6 +933,20 @@ public class TasyNatService {
                                    }
                                    //取消号源
                                    //cancleOrder(baseNatAppointmentDO.getCardNo(),baseNatAppointmentDO.getRegisterNo(),baseNatAppointmentDO.getOderNum());
                                }else if ("作废".equalsIgnoreCase(jsonObject1.getString("Status"))){
                                    logger.info("进入作废订单同步");
                                    baseNatAppointmentDO.setPayStatus("-1");
                                    baseNatAppointmentDO.setIsSuccess("-1");
                                    baseNatAppointmentDO.setCancelReson("患者本人线下作废");
                                    baseNatAppointmentDO.setCancelTime(new Date());
                                    baseNatAppointmentDO.setCancelBy(patientId);
                                    BusinessOrderDO businessOrderDO = businessOrderDao.selectByRelationCode(baseNatAppointmentDO.getId().toString());
                                    if (businessOrderDO!=null){
                                        businessOrderDO.setStatus(-1);
                                        businessOrderDao.save(businessOrderDO);
                                    }
                                    //取消号源
                                    //cancleOrder(baseNatAppointmentDO.getCardNo(),baseNatAppointmentDO.getRegisterNo(),baseNatAppointmentDO.getOderNum());
                                }
                                baseNatAppointmentDO.setVoucherNo(jsonObject1.getString("ApplyNo"));
                                baseNatAppointmentDao.save(baseNatAppointmentDO);

+ 148 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/HcyyEntranceService.java

@ -167,6 +167,14 @@ public class HcyyEntranceService {
        return url;
    }
    public String getCaServiceUrl(){
        List<WlyyHospitalSysDictDO> list =  wlyyHospitalSysDictDao.findByDictName("hcyyCaService");
        String url = list.get(0).getDictCode();
        return url;
    }
    public String getWXTokenUrl(){
        WlyyHospitalSysDictDO sysDictDO = wlyyHospitalSysDictDao.findById("getXzToken");
        return sysDictDO.getDictCode();
@ -185,6 +193,19 @@ public class HcyyEntranceService {
        return WebserviceUtil.post(url,xzzxNamespace,api,params);
    }
    public String getHcyyCAWebServiceInfo(String api, Map<String,String> params,String url)throws Exception{
        logger.info("url"+url);
        List<WlyyHospitalSysDictDO> xzzxNamespaces =  wlyyHospitalSysDictDao.findByDictName("hcyyCaNamespace");
        String xzzxNamespace = xzzxNamespaces.get(0).getDictCode();
        logger.info("hcyyCaNamespace",xzzxNamespace);
        return WebserviceUtil.post(url,xzzxNamespace,api,params);
    }
    /**
     * 获取部门信息
     * @return
@ -3071,6 +3092,133 @@ public class HcyyEntranceService {
    }
//===========================entrance访问hospital============end=======================
    //===========================CA签名================================
    /**
     * 判断个人实名软证书是否已申请(通过身份证号)
     * @return
     */
    public String XMCAF_SOFT_judgeRealNameSoftCertIsApplied(String idcard)throws Exception{
        String api = "XMCAF_SOFT_judgeRealNameSoftCertIsApplied";
        String msgHeader ="<?xml version=\"1.0\" encoding=\"utf-8\"?> " +
                "<root> " +
                "   <serverName>"+api+"</serverName>  " +
                "   <format>xml</format>" +
                "   <callOperator></callOperator> " +
                "   <certificate>"+key+"</certificate> " +
                "</root>";
        String condition ="";
        if (StringUtils.isNoneBlank(idcard)){
            condition += "<strUserIdcardNum>"+idcard+"</strUserIdcardNum>";
        }
        String msgBody ="<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
                "<root>"+condition+"</root>";
        Map<String,String> params = new HashedMap();
        params.put("msgHeader",msgHeader);
        params.put("msgBody",msgBody);
        logger.info("XMCAF_SOFT_judgeRealNameSoftCertIsApplied params:"+params.toString());
        String xml = getHcyyCAWebServiceInfo("XMCA6_UnifiedCallInterface",params,getCaServiceUrl());
        XMLSerializer xmlSerializer = new XMLSerializer();
        String json = xmlSerializer.read(xml).toString();
        logger.info("XMCAF_SOFT_judgeRealNameSoftCertIsApplied json:"+json);
        return json;
    }
    /**
     * 3.2.2 判断个人实名软证调用保护口令是否在暂存期间内(可通过多种方式)
     * @param type 0-通过微信号 openid、1-通过手机号、2-身份证号
     * @param openId 微信号
     * @param mobile 手机号
     * @param idcard 身份证
     * @return
     * @throws Exception
     */
    public String XMCA14_PRNSC_judgeCalledPasswdIsInTempSaveTime(String type,String openId,String mobile,String idcard)throws Exception{
        String api = "XMCA14_PRNSC_judgeCalledPasswdIsInTempSaveTime";
        String msgHeader ="<?xml version=\"1.0\" encoding=\"utf-8\"?> " +
                "<root> " +
                "   <serverName>"+api+"</serverName>  " +
                "   <format>xml</format>" +
                "   <callOperator></callOperator> " +
                "   <certificate>"+key+"</certificate> " +
                "</root>";
        String condition ="";
        if (StringUtils.isNoneBlank(type)){
            condition += "<strJudgeMode>"+type+"</strJudgeMode>";
        }
        if (StringUtils.isNoneBlank(openId)){
            condition += "<strWxid>"+openId+"</strWxid>";
        }
        if (StringUtils.isNoneBlank(mobile)){
            condition += "<strMobilePhoneNum>"+mobile+"</strMobilePhoneNum>";
        }
        if (StringUtils.isNoneBlank(idcard)){
            condition += "<strUserIdcardNum>"+idcard+"</strUserIdcardNum>";
        }
        String msgBody ="<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
                "<root>"+condition+"</root>";
        Map<String,String> params = new HashedMap();
        params.put("msgHeader",msgHeader);
        params.put("msgBody",msgBody);
        logger.info("XMCA14_PRNSC_judgeCalledPasswdIsInTempSaveTime params:"+params.toString());
        String xml = getHcyyCAWebServiceInfo("XMCA6_UnifiedCallInterface",params,getCaServiceUrl());
        XMLSerializer xmlSerializer = new XMLSerializer();
        String json = xmlSerializer.read(xml).toString();
        logger.info("XMCA14_PRNSC_judgeCalledPasswdIsInTempSaveTime json:"+json);
        return json;
    }
    /**
     * 3.2.3 通过身份证号,请求个人实名软证书并进行 P1 数字签名(单笔)
     * @param strOriginalData 原文的 MD5 哈希摘要值
     * @param strRealNameSoftCertCalledPasswd 证书被调用保护口令(的大写 32 位 MD5 摘要值)
     * @param idcard 用户身份证号
     * @return
     * @throws Exception
     */
    public String XMCAF_SOFT_requestRealNameSoftCertAndSign(String strOriginalData,String strRealNameSoftCertCalledPasswd,String idcard)throws Exception{
        String api = "XMCAF_SOFT_requestRealNameSoftCertAndSign";
        String msgHeader ="<?xml version=\"1.0\" encoding=\"utf-8\"?> " +
                "<root> " +
                "   <serverName>"+api+"</serverName>  " +
                "   <format>xml</format>" +
                "   <callOperator></callOperator> " +
                "   <certificate>"+key+"</certificate> " +
                "</root>";
        String condition ="";
        if (StringUtils.isNoneBlank(strOriginalData)){
            condition += "<strOriginalData>"+strOriginalData+"</strOriginalData>";
        }
        condition += "<strRealNameSoftCertCalledPasswd>"+strRealNameSoftCertCalledPasswd+"</strRealNameSoftCertCalledPasswd>";
        if (StringUtils.isNoneBlank(idcard)){
            condition += "<strUserIdcardNum>"+idcard+"</strUserIdcardNum>";
        }
        String msgBody ="<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
                "<root>"+condition+"</root>";
        Map<String,String> params = new HashedMap();
        params.put("msgHeader",msgHeader);
        params.put("msgBody",msgBody);
        logger.info("XMCAF_SOFT_requestRealNameSoftCertAndSign params:"+params.toString());
        String xml = getHcyyCAWebServiceInfo("XMCA6_UnifiedCallInterface",params,getCaServiceUrl());
        XMLSerializer xmlSerializer = new XMLSerializer();
        String json = xmlSerializer.read(xml).toString();
        logger.info("XMCAF_SOFT_requestRealNameSoftCertAndSign json:"+json);
        return json;
    }
}

+ 3 - 2
business/base-service/src/main/java/com/yihu/jw/internet/service/InternetCommonService.java

@ -362,7 +362,7 @@ public class InternetCommonService extends BaseJpaService<InternetUpErrorLogDO,
                jb.put("organ_code", orgCode);
                jb.put("organ_name", orgName);
                jb.put("doc_name", info.get("name")== null ? "0":info.get("name"));
                jb.put("docimg",info.get("photo")==null ?null:getImg("https://hlwyy.xmzsh.com/fastdfs/"+info.get("photo").toString()));
                jb.put("docimg",info.get("photo")==null ?null:getImg("https://hlwyy.xmhcyy.com/hcyy/fastdfs/"+info.get("photo").toString()));
                jb.put("id_card", info.get("idcard")== null ? "0":info.get("idcard"));
                jb.put("sex", info.get("sex")== null ? "0":info.get("sex"));
                jb.put("birthday", info.get("birthday")  == null?"2020-01-01": DateUtil.dateToStrShort((Date)info.get("birthday")));
@ -782,7 +782,7 @@ public class InternetCommonService extends BaseJpaService<InternetUpErrorLogDO,
               "WHERE\n" +
               "\ta.id = b.consult\n" +
               " AND a.symptoms IS NOT NULL AND b.status=1 " +
               "  and c.doctor not in ('402803816babc778016babd0dee21112')";
               "  and c.id not in ('402803816babc778016babd0dee21112')";
        Map<String,Object> params = new HashedMap();
@ -1818,6 +1818,7 @@ public class InternetCommonService extends BaseJpaService<InternetUpErrorLogDO,
        String[] res = new String[2];
        DictDoctorDutyDO doctorDutyDO = dictDoctorDutyDao.findByCode(duty);
        if (doctorDutyDO!=null){
            logger.info("getTitleCode"+doctorDutyDO.getTitleCode()+","+doctorDutyDO.getName());
            res[0]=doctorDutyDO.getTitleCode();
            res[1]=doctorDutyDO.getName();
        }else {

+ 1 - 0
business/base-service/src/main/java/com/yihu/jw/utils/ImgUtils.java

@ -61,6 +61,7 @@ public class ImgUtils {
    }
    public static String getImageStr(String imgFile) {
        System.out.print("imgFile==="+imgFile);
        //将图片文件转化为字节数组字符串,并对其进行Base64编码处理
        InputStream in = null;
        byte[] data = null;

+ 1 - 1
server/svr-authentication/src/main/java/com/yihu/jw/security/oauth2/provider/endpoint/WlyyIotLoginEndpoint.java

@ -69,7 +69,7 @@ public class WlyyIotLoginEndpoint {
        if (result.equals("success")) {
            Captcha _captcha = new Captcha();
            _captcha.setCode(captcha);
//            _captcha.setCode(captcha);
            _captcha.setExpiresIn(300);
            wlyyRedisVerifyCodeService.store(client_id, mobile, captcha, 300);

+ 1 - 1
server/svr-authentication/src/main/resources/application.yml

@ -338,7 +338,7 @@ spring:
  redis:
    host: 59.61.92.90 # Redis server host.
    port: 9054  # Redis server port.
    password: jkzlehr
    password: o!a1#B74&m
  ##发现服务
## i健康用户信息接口,开放出来给互联网医院登录同步用户信息用

+ 1 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/doctor/DoctorBirthdayWishesEndpoint.java

@ -241,7 +241,7 @@ public class DoctorBirthdayWishesEndpoint extends BaseController {
                if (patients.size()>0){//发送生日祝福
                    Map<String,Object> tmp = patients.get(0);
                    com.alibaba.fastjson.JSONObject json = new com.alibaba.fastjson.JSONObject();
                    String first = "助老员key1为您发送生日祝福,请点击查看。";
                    String first = "社工key1为您发送生日祝福,请点击查看。";
                    first = first.replace("key1",one.getDoctorName());
                    json.put("id", one.getId());
//                    json.put("toUser", patient);

+ 18 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/family/FamilyMemberEndpoint.java

@ -249,6 +249,24 @@ public class FamilyMemberEndpoint extends EnvelopRestEndpoint {
        }
    }
    @RequestMapping(value = "open/members", method = RequestMethod.GET)
    @ApiOperation(value = "家庭成员查询")
    public ObjEnvelop getOpenPatientFamilyMembers(@RequestParam(required = false) String patient,
                                              @RequestParam(required = false) String isContain,
                                              @RequestParam(required = false) Integer isContacts,
                                              @RequestParam(required = false) String archiveType) {
        try {
            JSONObject data = new JSONObject();
            JSONArray result = new JSONArray();
            result = familyMemberService.getPatientMembers(patient, "", isContain,isContacts,archiveType);
            data.put("normalmembers",result);//家人关系
            return ObjEnvelop.getSuccess( "查询成功", data);
        } catch (Exception e) {
            return failedObjEnvelopException2(e);
        }
    }
    /**
     * 家庭成员查询
     * @param patient

+ 11 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/patient/PatientContactsEndpoint.java

@ -144,4 +144,15 @@ public class PatientContactsEndpoint extends EnvelopRestEndpoint {
            return failedListEnvelopException2(e);
        }
    }
    @RequestMapping(value ="open/getPatientSosContacts",method = RequestMethod.GET)
    @ApiOperation(value = "获取居民紧急联系人")
    public ListEnvelop openGetPatientSosContacts(@ApiParam(name = "patient", value = "patient", defaultValue = "patient")
                                             @RequestParam(value = "patient", required = true) String patient){
        try {
            return ListEnvelop.getSuccess("获取成功",contactsService.getPatientSosContacts(patient));
        }catch (Exception e){
            return failedListEnvelopException2(e);
        }
    }
}

+ 2 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/safeArea/DoctorSafeAreaController.java

@ -1,5 +1,6 @@
package com.yihu.jw.care.endpoint.safeArea;
import com.yihu.jw.care.aop.ObserverRequired;
import com.yihu.jw.care.service.device.PatientDeviceService;
import com.yihu.jw.care.service.safeArea.SafeAreaService;
import com.yihu.jw.restmodel.ResponseContant;
@ -30,6 +31,7 @@ public class DoctorSafeAreaController extends EnvelopRestEndpoint {
    private SafeAreaService safeAreaService;
    @ApiOperation("助老员新增电子围栏记录")
    @ObserverRequired
    @RequestMapping(value = "doctorNewSafeArea",method = RequestMethod.GET)
    public ObjEnvelop doctorNewSafeArea(@ApiParam(name = "doctor",value = "doctor")
                                    @RequestParam(value = "doctor",required = false)String doctor,

+ 8 - 4
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/security/SecurityMonitoringOrderEndpoint.java

@ -68,11 +68,13 @@ public class SecurityMonitoringOrderEndpoint extends EnvelopRestEndpoint {
                                            @ApiParam(name="page",value = "page",required = true)
                                            @RequestParam(value = "page")Integer page,
                                            @ApiParam(name="pageSize",value = "pageSize",required = true)
                                            @RequestParam(value = "pageSize")Integer pageSize){
                                            @RequestParam(value = "pageSize")Integer pageSize,
                                            @ApiParam(name = "dailyMonitor", value = "日常监护 1查询日常监护关联工单0否", required = false)
                                            @RequestParam(value = "dailyMonitor",required = false,defaultValue = "0") Integer dailyMonitor){
        try {
            page = page>1?page-1:0;
            return securityMonitoringOrderService.getSecurityOrderList(doctor,serverDoctor,patientName, patient, status, svrDesc,topicItem,page, pageSize);
            return securityMonitoringOrderService.getSecurityOrderList(doctor,serverDoctor,patientName, patient, status, svrDesc,topicItem,page, pageSize,dailyMonitor);
        }catch (Exception e){
            return failedPageEnvelopException2(e);
        }
@ -89,7 +91,9 @@ public class SecurityMonitoringOrderEndpoint extends EnvelopRestEndpoint {
                                     @ApiParam(name="svrDesc",value = "服务类型 关联security_server_dict字典")
                                     @RequestParam(value = "svrDesc",required = false)String svrDesc,
                                     @ApiParam(name = "topicItem", value = "专题code,关联security_topic_dict字典", required = false)
                                     @RequestParam(value = "topicItem",required = false) String topicItem){
                                     @RequestParam(value = "topicItem",required = false) String topicItem,
                                     @ApiParam(name = "dailyMonitor", value = "日常监护 1查询日常监护关联工单0否", required = false)
                                     @RequestParam(value = "dailyMonitor",required = false,defaultValue = "0") Integer dailyMonitor){
        try {
            if (org.apache.commons.lang3.StringUtils.isBlank(patient)&& org.apache.commons.lang3.StringUtils.isBlank(doctor)){
                return ObjEnvelop.getError("请求参数错误");
@ -97,7 +101,7 @@ public class SecurityMonitoringOrderEndpoint extends EnvelopRestEndpoint {
            if (org.apache.commons.lang3.StringUtils.isNotBlank(patient)&& org.apache.commons.lang3.StringUtils.isNotBlank(doctor)){
                return ObjEnvelop.getError("请求参数错误");
            }
            return ObjEnvelop.getSuccess("查询成功",securityMonitoringOrderService.getSecurityTab(patient,doctor,status,svrDesc,topicItem));
            return ObjEnvelop.getSuccess("查询成功",securityMonitoringOrderService.getSecurityTab(patient,doctor,status,svrDesc,topicItem,dailyMonitor));
        }catch (Exception e){
            return failedObjEnvelopException2(e);
        }

+ 15 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/sign/SignEndpoint.java

@ -93,7 +93,7 @@ public class SignEndpoint extends EnvelopRestEndpoint {
    }
    @GetMapping(value = "findSignDoctor")
    @ApiOperation(value = "查找签约医生")
    @ApiOperation(value = "查找签约社工")
    public ListEnvelop findSignDoctor (
            @ApiParam(name = "patient", value = "居民code", required = true)
            @RequestParam(value = "patient",required = true) String patient,
@ -106,6 +106,20 @@ public class SignEndpoint extends EnvelopRestEndpoint {
        }
    }
    @GetMapping(value = "open/findSignDoctor")
    @ApiOperation(value = "查找签约社工")
    public ListEnvelop openFindSignDoctor (
            @ApiParam(name = "patient", value = "居民code", required = true)
            @RequestParam(value = "patient",required = true) String patient,
            @ApiParam(name = "orgCode", value = "医院code", required = false)
            @RequestParam(value = "orgCode",required = false) String orgCode) throws Exception {
        try{
            return ListEnvelop.getSuccess("查询成功",servicePackageService.findSignDoctor(patient,orgCode));
        }catch (Exception e){
            return failedListEnvelopException2(e);
        }
    }
    @GetMapping(value = "signRecordPage")
    @ApiOperation(value = "获取签约记录分页")
    public PageEnvelop<List<Map<String,Object>>> signRecordPage (

+ 1 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/assistance/EmergencyAssistanceService.java

@ -493,7 +493,7 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
        for (BaseDoctorDO doctorDO:doctorDOS) {
            Map<String,Object> noticeObj = new HashMap<>();
            noticeObj.put("type","1");
            noticeObj.put("typeName","助老员");
            noticeObj.put("typeName","社工");
            noticeObj.put("id",doctorDO.getId());
            noticeObj.put("name",doctorDO.getName());
            noticeObj.put("photo",doctorDO.getPhoto());

+ 9 - 5
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/consult/ConsultTeamService.java

@ -218,22 +218,24 @@ public class ConsultTeamService {
                String name = tmp.getString("name");
                //创建家属系统消息
                SystemMessageDO messageDO = new SystemMessageDO();
                messageDO.setTitle("安防监护");
                messageDO.setTitle("紧急救助");
                messageDO.setType("50");
                messageDO.setCode("22");
                messageDO.setCode("20");
                messageDO.setSender(patientDO.getId());
                messageDO.setSenderName(patientDO.getName());
                messageDO.setRelationCode(orderId);
                messageDO.setReceiver(patientId);
                messageDO.setReceiverName(name);
                messageDO.setOver("0");
                messageDO.setData(patientDO.getName()+"发起安防警报工单!");
                messageDO.setData(patientDO.getName()+"发起紧急救助!");
                messageDO.setDel("1");
                messageDO.setIsRead("0");
                messageDO.setCreateTime(new Date());
                systemMessageDao.save(messageDO);
                messageUtil.putTemplateWxMessage(wxId,"template_error_notice","jjhjyctz",patientDO.getOpenid(),patientDO.getName()+"发起紧急呼叫",null,null,36,templateJson, DateUtil.getStringDate(),"紧急呼叫",title+",请及时核实处理");
                BasePatientDO family3 = patientDao.findById(patientId);
                messageUtil.putTemplateWxMessage(wxId,"template_error_notice","jjhjyctz",family3.getOpenid(),patientDO.getName()+"发起紧急呼叫",null,null,36,templateJson, DateUtil.getStringDate(),"紧急呼叫",title+",请及时核实处理");
            }
        }
@ -448,7 +450,9 @@ public class ConsultTeamService {
                messageDO.setCreateTime(new Date());
                systemMessageDao.save(messageDO);
                messageUtil.putTemplateWxMessage(wxId,"template_error_notice","afjhyctz",patientDO.getOpenid(),title,null,null,36,templateJson, DateUtil.getStringDate(),"安防监护",title+",请及时核实处理");
                BasePatientDO family3 = patientDao.findById(patientId);
                messageUtil.putTemplateWxMessage(wxId,"template_error_notice","afjhyctz",family3.getOpenid(),title,null,null,36,templateJson, DateUtil.getStringDate(),"安防监护",title+",请及时核实处理");
            }
        }

+ 1 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/device/PatientDeviceService.java

@ -996,7 +996,7 @@ public class PatientDeviceService extends BaseJpaService<DevicePatientDevice, Pa
                devInfo.put("errorCount",dataCount);//异常量
            }
            //v1.4获取其绑定设备的居民列表 //todo 各平台全部对接后外层无用字段删除(患者相关,如patientName,orgCode等)
            //v1.4获取其绑定设备的居民列表 //
            sql =" select  p.id patient,p.photo,p.name,case p.sex when 1 then '男' when 2 then '女' else sex end as sex,TIMESTAMPDIFF(year,p.birthday,now()) as age, \n" +
                    "p.residential_area residentialArea,p.mobile,p.idcard,p.address from base_patient p INNER JOIN wlyy_patient_device pd on p.id = pd.user and pd.del=0  " +
                    "where 1=1 and pd.device_sn='"+deviceSn+"' ";

+ 4 - 3
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/device/PatientHealthIndexService.java

@ -1690,7 +1690,7 @@ public class PatientHealthIndexService extends BaseJpaService<DevicePatientHealt
    public List<Map<String,Object>> getErrorHealthIndexPatients(String doctor){
        String sql = " select count(id),patient,name,photo,mobile,record_date from (\n" +
                "select idx.id,p.id patient,p.name,p.photo,DATE_FORMAT(idx.record_date,'%Y-%m-%d %H:%i:%S')record_date ,p.mobile from wlyy_patient_health_index idx,base_patient p " +
                "where  idx.user = p.id and  status=1 and (manage_result=0 or manage_result is null)  and EXISTS ( " +
                "where  idx.user = p.id and idx.type in (1,2) and  status=1 and (manage_result=0 or manage_result is null)  and EXISTS ( " +
                " SELECT 1 from base_service_package_sign_record sr,base_service_package_record r ,base_team_member m where " +
                "idx.user = CONVERT(sr.patient USING utf8) and  sr.id = r.sign_id and sr.status=1 and   m.team_code = r.team_code  " +
                " and sr.`status`=1  and m.doctor_code = '"+doctor+"' and m.del = '1') order by idx.record_date " +
@ -1700,8 +1700,9 @@ public class PatientHealthIndexService extends BaseJpaService<DevicePatientHealt
    }
    public List<Map<String,Object>> getErrorHealthIndexByPatients(String patient){
        String sql = " select *,cast(DATE_FORMAT(max(idx.record_date),'%Y-%m-%d %H:%i:%S') as char)record_date  from  wlyy_patient_health_index idx where user='"+patient+"' and  " +
                "status=1 and (manage_result=0 or manage_result is null) ";
        String sql = " select *,DATE_FORMAT((idx.record_date),'%Y-%m-%d %H:%i:%S')record_date  from  wlyy_patient_health_index idx " +
                " where user='"+patient+"' and idx.type in (1,2) " +
                "and status=1 and (manage_result=0 or manage_result is null) ORDER BY idx.record_date desc";
        List<Map<String,Object>> result = jdbcTemplate.queryForList(sql);
        return result;
    }

+ 1 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/lifeCare/LifeCareOrderService.java

@ -579,7 +579,7 @@ public class LifeCareOrderService extends BaseJpaService<LifeCareOrderDO, LifeCa
                        JSONObject json = new JSONObject();
                        String openId = basePatientWechatDos.get(0).getOpenid();
                        messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","shzldzf",openId,null,null,"请在30分钟内完成支付",3,json,
                                DateUtil.dateToChineseDate(new Date()),"助老员已为您代预约生活照料","待支付");
                                DateUtil.dateToChineseDate(new Date()),"社工已为您代预约生活照料","待支付");
                    }
                }
            }

+ 36 - 4
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/message/BaseServiceNewsService.java

@ -114,11 +114,23 @@ public class BaseServiceNewsService {
     * @return
     */
    public List<Map<String,Object>> findPatinetLocations(){
        String filter =" ";
        String sqltmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_child' or dict_name = 'jkzl_older' ";
        List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqltmp);
        if(listtmp.size()>0){
            String orgCodes = String.valueOf(listtmp.get(0).get("orgCodes"));
            if (StringUtils.isNotBlank(orgCodes)){
                orgCodes = orgCodes.replaceAll(",","','");
                filter = " and p.id not in ('"+orgCodes+"') ";
            }
        }
        String sql = "SELECT p.id,p.`name`,p.address,p.photo,p.mobile,p.lat_lon latLon,sex,idcard,archive_type type,p.pad_imei,p.openid from base_doctor_patient_tmp t,base_patient p " +
                "WHERE t.patient = p.id and t.del=1 and t.`status`=1 and p.del =1 " +
                "WHERE t.patient = p.id and t.del=1 and t.`status`=1 and p.del =1  " +filter+
                "UNION  " +
                "SELECT p.id,p.`name`,p.address,p.photo,p.mobile,p.lat_lon latLon,sex,idcard,archive_type type,p.pad_imei,p.openid from base_service_package_sign_record t,base_patient p " +
                "WHERE t.patient = p.id and t.`status`=1 and p.del =1";
                "WHERE t.patient = p.id and t.`status`=1 and p.del =1"+filter;
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
        for (Map<String,Object> map:list){
            String patient = map.get("id").toString();
@ -168,7 +180,18 @@ public class BaseServiceNewsService {
    }
    public List<Map<String , Object>> getLatLon(){
        String sql = "SELECT * FROM base_doctor WHERE del = 1 AND doctor_level = 2";
        String filter =" ";
        String sqltmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_helper' or dict_name = 'jkzl_teacher' ";
        List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqltmp);
        if(listtmp.size()>0){
            String orgCodes = String.valueOf(listtmp.get(0).get("orgCodes"));
            if (StringUtils.isNotBlank(orgCodes)){
                orgCodes = orgCodes.replaceAll(",","','");
                filter = " and id not in ('"+orgCodes+"') ";
            }
        }
        String sql = "SELECT * FROM base_doctor WHERE del = 1 AND doctor_level = 2 "+filter;
        List<Map<String , Object>> list = jdbcTemplate.queryForList(sql);
        return list;
    }
@ -188,8 +211,16 @@ public class BaseServiceNewsService {
        }
        Sort sort = new Sort(Direction.DESC, "createTime");
        PageRequest pageRequest = new PageRequest(page, size, sort);
        List<String> jkzlPatients = jdbcTemplate.queryForList(" SELECT dict_code from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_child' or dict_name = 'jkzl_older'  ",String.class);
        List<BaseServiceNews> result = new ArrayList<>();
        List<BaseServiceNews> list = baseServiceNewsDao.findNews(pageRequest);
        for (BaseServiceNews tmp:list){
            if (jkzlPatients.contains(tmp.getCode())){
                continue;
            }
            BasePatientDO patientDO = patientDao.findById(tmp.getCode());
            if (null!=patientDO){
                tmp.setArchiveType(patientDO.getArchiveType());
@ -212,8 +243,9 @@ public class BaseServiceNewsService {
                    }
                }
            }
            result.add(tmp);
        }
        return list;
        return result;
    }
    /**

+ 1 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/message/DoctorMessageService.java

@ -146,7 +146,7 @@ public class DoctorMessageService {
            Map<String,Object> tmpObj = new HashMap<>();
            String sql = " select count(idx.id) count,DATE_FORMAT( max(idx.record_date),'%Y-%m-%d %H:%i:%S') record_date from wlyy_patient_health_index idx where status=1 and (manage_result=0 or manage_result is null) " +
                    "and  EXISTS ( SELECT 1 from base_service_package_sign_record sr,base_service_package_record r ,base_team_member m " +
                    " where idx.user = CONVERT(sr.patient USING utf8) and  sr.id = r.sign_id and sr.status=1 and m.team_code = r.team_code " +
                    " where idx.user = CONVERT(sr.patient USING utf8) and idx.type in (1,2) and  sr.id = r.sign_id and sr.status=1 and m.team_code = r.team_code " +
                    "  and sr.`status`=1  and m.doctor_code = '"+doctor+"' and m.del = '1')  order by idx.record_date desc   ";
            tmpObj = jdbcTemplate.queryForMap(sql);
            result.put("errorHealthIndex",tmpObj);

+ 1 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/patient/OnlineContactService.java

@ -147,7 +147,7 @@ public class OnlineContactService extends BaseJpaService<BasePatientDO, BasePati
            tmpObj.put("userType","1");
            tmpObj.put("doctorId",tmp.get("doctor"));
            tmpObj.put("doctorLevel",tmp.get("doctorLevel"));
            tmpObj.put("relationName",null==tmp.get("doctorLevel")?"":"1".equals(tmp.get("doctorLevel").toString())?"社区医生":"助老员");
            tmpObj.put("relationName",null==tmp.get("doctorLevel")?"":"1".equals(tmp.get("doctorLevel").toString())?"社区医生":"社工");
            doctorResult.add(tmpObj);
        }

+ 98 - 19
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/security/SecurityMonitoringOrderService.java

@ -524,7 +524,7 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
            for(BaseDoctorDO doc:doctorDOS){
                Map<String,Object> noticeObj = new HashMap<>();
                noticeObj.put("type","1");
                noticeObj.put("typeName","助老员");
                noticeObj.put("typeName","社工");
                noticeObj.put("id",doc.getId());
                noticeObj.put("name",doc.getName());
                noticeObj.put("photo",doc.getPhoto());
@ -662,7 +662,7 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
    }
    public PageEnvelop getSecurityOrderList(String doctor, String serverDoctor, String patientName, String patient, String status,
                                            String svrDesc,String topicItem, Integer page, Integer pageSize){
                                            String svrDesc,String topicItem, Integer page, Integer pageSize,Integer dailyMonitor){
        JSONArray result = new JSONArray();
        //服务权限
        if(doctorServicePermissionsService.isPermission(doctor,10)==0){
@ -675,12 +675,53 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
        String sql = " select p.id patientCode,p.name,p.sex,p.photo,p.idcard,ord.id orderId,ord.number,ord.serve_desc,ord.create_time,ord.`status`,ord.doctor," +
                "ord.doctor_name,ord.update_user,ord.update_user_name,ord.patient_phone,ord.conclusion_status from base_security_monitoring_order ord INNER JOIN base_patient p on p.id = ord.patient " +
                "where 1=1 ";
        if (StringUtils.isNotBlank(doctor)){
            fliter+=" and  EXISTS ( SELECT 1 from base_service_package_sign_record sr,base_service_package_record r, base_service_package_item i ," +
                    "base_team_member m " +
                    "where ord.patient = CONVERT(sr.patient USING utf8) and  sr.id = r.sign_id and sr.status=1 and " +
                    " r.service_package_id = i.service_package_id and  m.team_code = r.team_code  and i.del = 1 and sr.`status`=1  and i.code='preventLost' and m.doctor_code = '"+doctor+"' and m.del = '1') ";
        if (1==dailyMonitor){//医生日常监护居民安防工单列表查询
            if (StringUtils.isBlank(topicItem)||StringUtils.isBlank(doctor)){
                return new PageEnvelop();
            }
            String categoryCode ="";
            switch (topicItem){
                case "preventLost":
                    categoryCode="'4'";
                    break;
                case "preventFall":
                    categoryCode="'12'";
                    break;
                case "preventFire":
                    categoryCode="'15'";
                    break;
                case "preventGasLeakage":
                    categoryCode="'14'";
                    break;
                case "preventOutOfBed":
                    categoryCode="'13'";
                    break;
            }
            if (StringUtils.isNotBlank(doctor)){//日常监护医生必传
                fliter += " and EXISTS( SELECT DISTINCT p.id,p.name,p.residential_area residentialArea,p.photo,p.idcard,p.mobile, " +
                        " p.openid,p.sex,p.pad_imei padImei " +
                        " from base_patient p , base_service_package_sign_record sr,base_service_package_record r,base_team_member m  " +
                        " WHERE p.id = sr.patient and sr.status=1 and m.team_code = r.team_code and sr.id=r.sign_id  " +
                        " and m.doctor_code = '"+doctor+"' and m.del = '1' ) ";
                fliter +=" and EXISTS (select 1 from wlyy_patient_device pd INNER JOIN dm_device dd on pd.device_id = dd.id  " +
                        " where  pd.user = p.id and pd.del=0 and pd.category_code in ("+categoryCode+") and FIND_IN_SET('"+topicItem+"',dd.service_topic)) ";
                if ("preventLost".equals(topicItem)){//有绑定围栏的居民
                    fliter += " and EXISTS (select 1 from wlyy_patient_safe_area sf where sf.patient = p.id and sf.del=1 and sf.manage_status=1) ";
                }
            }
        }else {
            if (StringUtils.isNotBlank(doctor)){
                fliter+=" and  EXISTS ( SELECT 1 from base_service_package_sign_record sr,base_service_package_record r, base_service_package_item i ," +
                        "base_team_member m " +
                        "where ord.patient = CONVERT(sr.patient USING utf8) and  sr.id = r.sign_id and sr.status=1 and " +
                        " r.service_package_id = i.service_package_id and  m.team_code = r.team_code  and i.del = 1 and sr.`status`=1  and m.doctor_code = '"+doctor+"' and m.del = '1') ";
            }
        }
        if (StringUtils.isNotBlank(serverDoctor)){
            fliter +=" and ord.doctor = '"+serverDoctor+"' ";
        }
@ -755,7 +796,7 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
        return PageEnvelop.getSuccessListWithPage("success",result,page,pageSize,count);
    }
    public JSONObject getSecurityTab(String patient,String doctor,String status,String svrDesc,String topicItem){
    public JSONObject getSecurityTab(String patient,String doctor,String status,String svrDesc,String topicItem,Integer dailyMonitor){
        JSONObject result = new JSONObject();
        result.put("status_-2",0);//误报警
@ -776,11 +817,49 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
        sql = "select ord.status,ord.serve_desc,count(ord.id) count from base_security_monitoring_order ord INNER JOIN base_patient p on p.id = ord.patient " +
                "where 1=1 ";
        String fliter = "  ";
        if (StringUtils.isNotBlank(doctor)){
            fliter+=" and  EXISTS ( SELECT 1 from base_service_package_sign_record sr,base_service_package_record r, base_service_package_item i ," +
                    "base_team_member m " +
                    "where ord.patient = CONVERT(sr.patient USING utf8) and  sr.id = r.sign_id and sr.status=1 and " +
                    " r.service_package_id = i.service_package_id and  m.team_code = r.team_code  and i.del = 1 and sr.`status`=1  and i.code='preventLost' and m.doctor_code = '"+doctor+"' and m.del = '1') ";
        if (1==dailyMonitor){//医生日常监护居民安防工单列表查询
            if (StringUtils.isBlank(topicItem)||StringUtils.isBlank(doctor)){
                return result;
            }
            String categoryCode ="";
            switch (topicItem){
                case "preventLost":
                    categoryCode="'4'";
                    break;
                case "preventFall":
                    categoryCode="'12'";
                    break;
                case "preventFire":
                    categoryCode="'15'";
                    break;
                case "preventGasLeakage":
                    categoryCode="'14'";
                    break;
                case "preventOutOfBed":
                    categoryCode="'13'";
                    break;
            }
            if (StringUtils.isNotBlank(doctor)) {//日常监护医生必传
                fliter += " and EXISTS( SELECT DISTINCT p.id,p.name,p.residential_area residentialArea,p.photo,p.idcard,p.mobile, " +
                        " p.openid,p.sex,p.pad_imei padImei " +
                        " from base_patient p , base_service_package_sign_record sr,base_service_package_record r,base_team_member m  " +
                        " WHERE p.id = sr.patient and sr.status=1 and m.team_code = r.team_code and sr.id=r.sign_id  " +
                        " and m.doctor_code = '" + doctor + "' and m.del = '1' ) ";
                fliter += " and EXISTS (select 1 from wlyy_patient_device pd INNER JOIN dm_device dd on pd.device_id = dd.id  " +
                        " where  pd.user = p.id and pd.del=0 and pd.category_code in (" + categoryCode + ") and FIND_IN_SET('" + topicItem + "',dd.service_topic)) ";
                if ("preventLost".equals(topicItem)) {//有绑定围栏的居民
                    fliter += " and EXISTS (select 1 from wlyy_patient_safe_area sf where sf.patient = p.id and sf.del=1 and sf.manage_status=1) ";
                }
            }
        }else {
            if (StringUtils.isNotBlank(doctor)){
                fliter+=" and  EXISTS ( SELECT 1 from base_service_package_sign_record sr,base_service_package_record r, base_service_package_item i ," +
                        "base_team_member m " +
                        "where ord.patient = CONVERT(sr.patient USING utf8) and  sr.id = r.sign_id and sr.status=1 and " +
                        " r.service_package_id = i.service_package_id and  m.team_code = r.team_code  and i.del = 1 and sr.`status`=1  and m.doctor_code = '"+doctor+"' and m.del = '1') ";
            }
        }
        if (StringUtils.isNotBlank(patient)){
            fliter+=" and ord.patient='"+patient+"' ";
@ -1388,7 +1467,7 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
        }else {
            for (String team:teams){
                sql = "select DISTINCT doc.id doctor,doc.name as doctorName,CONCAT(doc.`name`,\n" +
                        "CASE WHEN doc.doctor_level=1 THEN '(社区医生)' ELSE '(助老员)' END) as name,doc.photo,doc.mobile from base_team_member mem " +
                        "CASE WHEN doc.doctor_level=1 THEN '(社区医生)' ELSE '(社工)' END) as name,doc.photo,doc.mobile from base_team_member mem " +
                        "INNER JOIN base_doctor doc on mem.doctor_code = doc.id and mem.del=1 and mem.team_code='"+team+"'";
                List<Map<String,Object>>tmp = jdbcTemplate.queryForList(sql);
                result.addAll(tmp);
@ -1963,7 +2042,7 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
                logDO.setOrderId(orderId);
                logDO.setUserType(2);
                logDO.setCreateTime(new Date());
                logDO.setContent("助老员"+doctorDO.getName()+"前往定位");
                logDO.setContent("社工"+doctorDO.getName()+"前往定位");
                logDao.save(logDO);
            }
        }
@ -2071,7 +2150,7 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
                " from base_patient p , base_service_package_sign_record sr,base_service_package_record r,base_team_member m  " +
                " WHERE p.id = sr.patient and sr.status=1 and m.team_code = r.team_code and sr.id=r.sign_id  " +
                " and m.doctor_code = '"+doctor+"' and m.del = '1' ";
        String filter = "";
        String fliter = "";
        String categoryCode ="";
        String topicItemTmp = topicItem;
        switch (topicItem){
@ -2096,13 +2175,13 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
                break;
        }
        filter =" and EXISTS (select 1 from wlyy_patient_device pd INNER JOIN dm_device dd on pd.device_id = dd.id  " +
        fliter =" and EXISTS (select 1 from wlyy_patient_device pd INNER JOIN dm_device dd on pd.device_id = dd.id  " +
                    " where  pd.user = sr.patient and pd.del=0 and pd.category_code in ("+categoryCode+") and FIND_IN_SET('"+topicItemTmp+"',dd.service_topic)) ";
        if ("preventLost".equals(topicItem)){//有绑定围栏的居民
            filter += " and EXISTS (select 1 from wlyy_patient_safe_area sf where sf.patient = p.id and sf.del=1 and sf.manage_status=1) ";
            fliter += " and EXISTS (select 1 from wlyy_patient_safe_area sf where sf.patient = p.id and sf.del=1 and sf.manage_status=1) ";
        }
        List<Map<String,Object>> list =  jdbcTemplate.queryForList(sql+filter);
        List<Map<String,Object>> list =  jdbcTemplate.queryForList(sql+fliter);
        result.put("total",list.size());
        if (1 == detail){//获取详情
            JSONArray monitorInfos = new JSONArray();

+ 1 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/sign/ServicePackageService.java

@ -662,7 +662,7 @@ public class ServicePackageService extends BaseJpaService<ServicePackageDO, Serv
    public List<Map<String,Object>> getServerDoctorAll(String patient,String onlineFlag,String doctorLevel){
        String sql="SELECT DISTINCT doc.id doctor,doc.name as doctorName,CONCAT(doc.`name`,CASE WHEN doc.doctor_level=1 " +
                " THEN '(社区医生)' ELSE '(助老员)' END) as name,doc.photo,doc.mobile,doc.job_title_name as jobName,doc.job_title_code as job, " +
                " THEN '(社区医生)' ELSE '(社工)' END) as name,doc.photo,doc.mobile,doc.job_title_name as jobName,doc.job_title_code as job, " +
                " 0 as onLineFlag,org.code,org.name as orgName ,doc.doctor_level doctorLevel " +
                "from base_service_package_sign_record sr,base_service_package_record r,base_team_member m,base_doctor doc, " +
                "base_service_package pack,base_org org " +

+ 34 - 5
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/statistics/DetectionPlatformService.java

@ -70,9 +70,19 @@ public class DetectionPlatformService  {
     */
    public PageEnvelop getHealthMonitoringListNew(Integer page, Integer pageSize, Integer type){
        page = page>0?page-1:0;
        String filter =" ";
        String sqltmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_child' or dict_name = 'jkzl_older' ";
        List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqltmp);
        if(listtmp.size()>0){
            String orgCodes = String.valueOf(listtmp.get(0).get("orgCodes"));
            orgCodes = orgCodes.replaceAll(",","','");
            filter = "  not in ('"+orgCodes+"') ";
        }
        if (type == 1) {
            String sql = " SELECT id,user,`name`,'健康监测' as serve_desc,czrq,value1,value2,value3,value4,value5,value6,value7,type \n" +
                    "FROM wlyy_patient_health_index WHERE del = 1 AND type < 3 ORDER BY czrq desc ";
                    "FROM wlyy_patient_health_index WHERE del = 1 AND type < 3 and user "+filter+" ORDER BY czrq desc ";
            String countSql = "select count(id) from ("+sql+")A ";
            long count = jdbcTemplate.queryForObject(countSql,long.class);
            sql +=" limit "+page*pageSize+","+pageSize;
@ -80,7 +90,7 @@ public class DetectionPlatformService  {
            return PageEnvelop.getSuccessListWithPage("查询成功",list,page,pageSize,count);
        }else if (type == 2){
            String sql = " select  '22' as 'OrderType',ord.id,ord.patient,p.name,ord.serve_desc,DATE_FORMAT(ord.create_time,'%Y-%m-%d %H:%i:%S') create_time,ord.`status`,ord.doctor,ord.doctor_name \n" +
                    "from base_security_monitoring_order ord INNER JOIN base_patient p on ord.patient = p.id order by create_time desc ";
                    "from base_security_monitoring_order ord INNER JOIN base_patient p on ord.patient = p.id and p.id "+filter+"  order by create_time desc ";
            String countSql = "select count(id) from ("+sql+")A ";
            long count = jdbcTemplate.queryForObject(countSql,long.class);
            sql +=" limit "+page*pageSize+","+pageSize;
@ -90,7 +100,7 @@ public class DetectionPlatformService  {
            String sql = " SELECT pd.id,pd.device_sn deviceSn,pd.`user`,p.`name`,d.contact_status_time contactStatusTime,CASE pd.category_code WHEN '1' THEN '血糖仪离线' WHEN '2' THEN '血压计离线' WHEN '13' THEN '睡眠带离线'\n" +
                    "WHEN '17' THEN '随身WiFi离线' WHEN '7' THEN '居家安全报警器离线' WHEN '12' THEN '监控器离线' WHEN '14' THEN '气感报警器离线' WHEN '15' THEN '烟感报警器离线' WHEN '16' THEN '智能拐杖离线' WHEN '4' THEN '智能手表离线' \n" +
                    "ELSE '未知' END categoryCode,pd.category_code categoryNum,pd.device_name devName FROM wlyy_devices d,wlyy_patient_device pd,base_patient p\n" +
                    "WHERE d.contact_status = 0 AND pd.del = 0 AND pd.device_sn = d.device_code AND pd.`user` = p.id ORDER BY d.contact_status_time DESC ";
                    "WHERE d.contact_status = 0 AND pd.del = 0 AND pd.device_sn = d.device_code AND pd.`user` = p.id and p.id "+filter+" ORDER BY d.contact_status_time DESC ";
            String countSql = "select count(id) from ("+sql+")A ";
            long count = jdbcTemplate.queryForObject(countSql,long.class);
            sql +=" limit "+page*pageSize+","+pageSize;
@ -208,6 +218,9 @@ public class DetectionPlatformService  {
        JSONArray jsonArray = new JSONArray();
        JSONArray arrayAll = new JSONArray();
        List<DevicePatientDevice> patientDevices = patientDeviceDao.findAllGroupUser();
        List<String> jkzlPatients = jdbcTemplate.queryForList(" SELECT dict_code from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_child' or dict_name = 'jkzl_older'  ",String.class);
        if (StringUtils.isNotBlank(categoryCode)) {  //categoryCode != null   根据设备类型查询
            patientDevices = patientDeviceDao.findAllByCategoryCode(categoryCode);
        }
@ -234,6 +247,10 @@ public class DetectionPlatformService  {
//        List<Map<String , Object>> userList = jdbcTemplate.queryForList(userSql);
        if (patientDevices.size() > 0) {
            for (int i=0;i<patientDevices.size();i++) {
                if (jkzlPatients.contains(patientDevices.get(i).getUser())){
                    continue;
                }
                JSONArray array = new JSONArray();
                JSONObject userObj = new JSONObject();
                userObj.put("patient",patientDevices.get(i).getUser());
@ -289,11 +306,23 @@ public class DetectionPlatformService  {
    }
    public List<Map<String,Object>> getOrderListWarning(){
        String filter =" ";
        String sqltmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_child' or dict_name = 'jkzl_older' ";
        List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqltmp);
        if(listtmp.size()>0){
            String orgCodes = String.valueOf(listtmp.get(0).get("orgCodes"));
            if (StringUtils.isNotBlank(orgCodes)){
                orgCodes = orgCodes.replaceAll(",","','");
                filter = " and p.id not in ('"+orgCodes+"') ";
            }
        }
       String sql = " select o.id as order_id,o.patient,o.patient_name patientName,CONCAT(o.serve_lat,',',o.serve_lon) latLon,'20' as orderType,'紧急呼叫' as serverDesc,o.org_code orgCode,o.device_sn,p.residential_area residentialArea from base_emergency_assistance_order o " +
               " INNER JOIN base_patient p on o.patient = p.id where  `status`=1 " +
               " INNER JOIN base_patient p on o.patient = p.id where  `status`=1 " +filter+
                " UNION All  " +
                " select o.id as order_id,o.patient,o.patient_name patientName,CONCAT(o.serve_lat,',',o.serve_lon) latLon,'22' as orderType,o.serve_desc serverDesc,o.hospital orgCode,o.device_sn,p.residential_area residentialArea from base_security_monitoring_order o " +
               " INNER JOIN base_patient p on o.patient = p.id where  `status`=1 ";
               " INNER JOIN base_patient p on o.patient = p.id where  `status`=1 " +filter;
        List<Map<String,Object>> orderPoints2 = jdbcTemplate.queryForList(sql);
        for (Map<String,Object> tmp:orderPoints2){
            if (null!=tmp.get("device_sn")){

+ 25 - 8
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/statistics/StatisticsService.java

@ -159,7 +159,7 @@ public class StatisticsService {
        }
        JSONObject res = new JSONObject();
        String medicalInstitutionSql = "SELECT COUNT(1) FROM base_org WHERE (type = 1 OR type = 2) AND del = 1 ";
        String medicalInstitutionSql = "SELECT COUNT(1) FROM base_org WHERE (type = 1 OR type = 2) AND del = 1 "+orgFilter;
        String elderlyCarServiceSql = "SELECT COUNT(1) FROM base_org WHERE type = 3 AND del = 1"+orgFilter;
        String childcareInstitutionsssSql = "SELECT COUNT(1) FROM base_org WHERE type = 4 AND del = 1"+orgFilter;
@ -263,8 +263,21 @@ public class StatisticsService {
        List result = new ArrayList<>();
        Date date = DateUtil.getPreDays(new Date(),-7);
        String dateStr = DateUtil.dateToStrLong(date);
        String sql = "select * from base_login_log where create_time>='"+dateStr+"' order by create_time desc limit "+ (page-1)*size+","+size;
        String sqlCount = "select count(id) from base_login_log where create_time>='"+dateStr+"' ";
        String filter =" ";
        String sqltmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_child' or dict_name = 'jkzl_older' " +
                "  or dict_name = 'jkzl_user' or dict_name = 'jkzl_helper'  or dict_name = 'jkzl_teacher' ";
        List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqltmp);
        if(listtmp.size()>0){
            String orgCodes = String.valueOf(listtmp.get(0).get("orgCodes"));
            if (StringUtils.isNotBlank(orgCodes)){
                orgCodes = orgCodes.replaceAll(",","','");
                filter = " and user_id not in ('"+orgCodes+"')";
            }
        }
        String sql = "select * from base_login_log where create_time>='"+dateStr+"' "+filter+" order by create_time desc limit "+ (page-1)*size+","+size;
        String sqlCount = "select count(id) from base_login_log where create_time>='"+dateStr+"' "+filter;
        Long count = jdbcTemplate.queryForObject(sqlCount,Long.class);
        List<BaseLoginLogDO> loginLogDOs = jdbcTemplate.query(sql,new BeanPropertyRowMapper(BaseLoginLogDO.class));
        for (BaseLoginLogDO log:loginLogDOs) {
@ -864,17 +877,21 @@ public class StatisticsService {
        List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqltmp);
        if(listtmp.size()>0){
            String orgCodes = String.valueOf(listtmp.get(0).get("orgCodes"));
            orgCodes = orgCodes.replaceAll(",","','");
            filter = " not in ('"+orgCodes+"')";
            if (StringUtils.isNotBlank(orgCodes)){
                orgCodes = orgCodes.replaceAll(",","','");
                filter = " and lab.patient not in ('"+orgCodes+"')";
            }
        }
        JSONArray jsonArray = new JSONArray();
        String sql = " select dict.dict_code,dict_value,count(DISTINCT lab.patient) total from wlyy_hospital_sys_dict dict \n" +
                "LEFT JOIN wlyy_patient_label lab  on  dict.dict_code = lab.label_code AND  lab.label_type='1' and lab.patient "+filter+" " +
        String sql = " select dict.dict_code,dict_value,count(DISTINCT A.patient) total from wlyy_hospital_sys_dict dict \n" +
                " LEFT JOIN (select distinct lab.patient,lab.label_code from  wlyy_patient_label lab  INNER JOIN base_patient p on p.id = lab.patient AND  lab.label_type='1' " +
                  filter+"   \n" +
                ")A on dict.dict_code = A.label_code " +
                "where  dict.dict_name='service_type'  and  dict.dict_code is not null and dict_code<>5  \n" +
                " GROUP BY dict.dict_code; ";
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
        String older = "  select count(DISTINCT patient) from wlyy_patient_label where label_type='1' and patient "+filter;
        String older = " select count(distinct lab.patient) from  wlyy_patient_label lab  INNER JOIN base_patient p on p.id = lab.patient AND  lab.label_type='1' "+filter;
        Integer count = jdbcTemplate.queryForObject(older,Integer.class);
        for(Map<String,Object> map:list){

+ 48 - 7
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/third/PatientInfoPlatFormService.java

@ -303,22 +303,34 @@ public class PatientInfoPlatFormService {
     */
    public PageEnvelop getEmergencyWarnOrderList(String patient,Integer orderType,Integer page,Integer pageSize){
        page = page>0?page-1:0;
        String filter =" ";
        String sqltmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_child' or dict_name = 'jkzl_older' ";
        List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqltmp);
        if(listtmp.size()>0){
            String orgCodes = String.valueOf(listtmp.get(0).get("orgCodes"));
            if (StringUtils.isNotBlank(orgCodes)){
                orgCodes = orgCodes.replaceAll(",","','");
                filter = " and lab.patient not in ('"+orgCodes+"')";
            }
        }
        String sql = " ";
        if (null==orderType){
            sql = " select '20' as OrderType,ord.id,ord.patient,p.name,'紧急呼叫' as serve_desc," +
                    " DATE_FORMAT(ord.create_time,'%Y-%m-%d %H:%i:%S') create_time from base_emergency_assistance_order ord " +
                    " INNER JOIN base_patient p on ord.patient = p.id {{patient}} \n" +
                    " INNER JOIN base_patient p on ord.patient = p.id {{patient}} "+filter+" \n" +
                    "UNION \n" +
                    "select  '22' as 'OrderType',ord.id,ord.patient,p.name,ord.serve_desc,DATE_FORMAT(ord.create_time,'%Y-%m-%d %H:%i:%S') create_time " +
                    " from base_security_monitoring_order ord INNER JOIN base_patient p on ord.patient = p.id {{patient}} \n" +
                    " from base_security_monitoring_order ord INNER JOIN base_patient p on ord.patient = p.id {{patient}} "+filter+" \n" +
                    "order by create_time desc  ";
        }else if (20==orderType){
            sql = " select '20' as OrderType,ord.id,ord.patient,p.name,'紧急呼叫' as serve_desc," +
                    " DATE_FORMAT(ord.create_time,'%Y-%m-%d %H:%i:%S') create_time from base_emergency_assistance_order ord " +
                    " INNER JOIN base_patient p on ord.patient = p.id {{patient}} order by create_time desc ";
                    " INNER JOIN base_patient p on ord.patient = p.id {{patient}} "+filter+"  order by create_time desc ";
        }else if (22==orderType){
            sql=  "select  '22' as 'OrderType',ord.id,ord.patient,p.name,ord.serve_desc,DATE_FORMAT(ord.create_time,'%Y-%m-%d %H:%i:%S') create_time " +
                    " from base_security_monitoring_order ord INNER JOIN base_patient p on ord.patient = p.id {{patient}} \n" +
                    " from base_security_monitoring_order ord INNER JOIN base_patient p on ord.patient = p.id {{patient}} "+filter+" \n" +
                    "order by create_time desc  ";
        }
        if (StringUtils.isNotBlank(patient)){
@ -327,6 +339,7 @@ public class PatientInfoPlatFormService {
        else {
            sql = sql.replace("{{patient}}"," ");
        }
        String countSql = "select count(id) from ("+sql+")A ";
        long count = jdbcTemplate.queryForObject(countSql,long.class);
        sql +=" limit "+page*pageSize+","+pageSize;
@ -336,13 +349,22 @@ public class PatientInfoPlatFormService {
    public PageEnvelop getEmergencyWarnOrderListNew(Integer page,Integer pageSize,String patient){
        page = page>0?page-1:0;
        String filter =" ";
        String sqltmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_child' or dict_name = 'jkzl_older' ";
        List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqltmp);
        if(listtmp.size()>0){
            String orgCodes = String.valueOf(listtmp.get(0).get("orgCodes"));
            orgCodes = orgCodes.replaceAll(",","','");
            filter = " and ord.patient not in ('"+orgCodes+"') ";
        }
        String sql = " select  '22' as 'OrderType',p.archive_type archiveType,p.residential_area residentialArea,ord.id,ord.patient,p.name,ord.serve_desc,DATE_FORMAT(ord.create_time,'%Y-%m-%d %H:%i:%S') create_time," +
                "ord.`status`,case p.sex when 1 then '男' when 2 then '女' else p.sex end as sex,TIMESTAMPDIFF(YEAR,p.birthday,now()) as age \n" +
                "from base_security_monitoring_order ord INNER JOIN base_patient p on ord.patient = p.id " ;
        if (StringUtils.isNotBlank(patient)){
            sql +=" and ord.patient='"+patient+"' ";
        }
        sql+= " order by create_time desc ";
        sql+= filter +" order by create_time desc ";
        String countSql = "select count(id) from ("+sql+")A ";
        long count = jdbcTemplate.queryForObject(countSql,long.class);
        sql +=" limit "+page*pageSize+","+pageSize;
@ -489,6 +511,15 @@ public class PatientInfoPlatFormService {
    public PageEnvelop getEmergencyWarningListNew(Integer page,Integer pageSize,String patient){
        page = page>0?page-1:0;
        String filter=" ";
        String sqltmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_child' or dict_name = 'jkzl_older' ";
        List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqltmp);
        if(listtmp.size()>0){
            String orgCodes = String.valueOf(listtmp.get(0).get("orgCodes"));
            orgCodes = orgCodes.replaceAll(",","','");
            filter = " and ord.patient not in ('"+orgCodes+"') ";
        }
        String sql = " select '20' as OrderType,p.archive_type archiveType,p.residential_area residentialArea,ord.id,ord.patient, " +
                "p.name,'紧急呼叫' as serve_desc,DATE_FORMAT(ord.create_time,'%Y-%m-%d %H:%i:%S') create_time,ord.`status`," +
                " case p.sex when 1 then '男' when 2 then '女' else p.sex end as sex,TIMESTAMPDIFF(YEAR,p.birthday,now()) as age \n" +
@ -496,7 +527,7 @@ public class PatientInfoPlatFormService {
        if (StringUtils.isNotBlank(patient)){
            sql +=" and ord.patient='"+patient+"' ";
        }
        sql+=  " order by create_time desc ";
        sql +=  filter + "  order by create_time desc ";
        String countSql = "select count(id) from ("+sql+")A ";
        long count = jdbcTemplate.queryForObject(countSql,long.class);
        sql +=" limit "+page*pageSize+","+pageSize;
@ -506,10 +537,20 @@ public class PatientInfoPlatFormService {
    public PageEnvelop getHealthMonitoringListNew(Integer page,Integer pageSize){
        page = page>0?page-1:0;
        String filter=" ";
        String sqltmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_child' or dict_name = 'jkzl_older' ";
        List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqltmp);
        if(listtmp.size()>0){
            String orgCodes = String.valueOf(listtmp.get(0).get("orgCodes"));
            orgCodes = orgCodes.replaceAll(",","','");
            filter = " and idx.user not in ('"+orgCodes+"') ";
        }
        String sql = " SELECT idx.id,idx.user,idx.`name`,p.archive_type archiveType,p.residential_area residentialArea,'健康监测' as serve_desc, " +
                "idx.czrq,value1,value2,value3,value4,value5,value6,value7,type FROM wlyy_patient_health_index idx " +
                " INNER JOIN base_patient p on idx.user = p.id and p.del=1\n" +
                " WHERE idx.del = 1 AND idx.type < 3 ORDER BY idx.czrq ";
                " WHERE idx.del = 1 AND idx.type < 3 "+filter+" ORDER BY idx.czrq ";
        String countSql = "select count(id) from ("+sql+")A ";
        long count = jdbcTemplate.queryForObject(countSql,long.class);
        sql +=" limit "+page*pageSize+","+pageSize;

+ 4 - 4
svr/svr-cloud-device/src/main/java/com/yihu/jw/care/service/DeviceService.java

@ -312,7 +312,7 @@ public class DeviceService {
                            if (sqlResult.size()>0){
                                //疑似离开安全区域 v1.5电子围栏为确认管理时触发
                                List<PatientSafeAreaDO> safeAreaDOS = safeAreaDao.findByPatient(patientDO.getId());
                                if (safeAreaDOS.size()>0){
                                if (safeAreaDOS.size()==0){
                                    return;
                                }
                                url = cloudCareUrl+"/cloudCare/noLogin/security/createOrder";
@ -441,7 +441,7 @@ public class DeviceService {
                    for (int i=0;i<errorIndex.size();i++){
                        com.alibaba.fastjson.JSONObject tmp = errorIndex.getJSONObject(i);
                        if (0!=tmp.getInteger("error")){
                            patientHealthIndex.setStatus(1);
//                            patientHealthIndex.setStatus(1);
                        }
                        if (1 == tmp.getInteger("error")){
                            content_notice += tmp.getString("indexName")+"、";
@ -968,7 +968,7 @@ public class DeviceService {
                    patientHealthIndex.setStatus(0);
                    Integer heartrate1 = Integer.parseInt(heartrate);
                    if (heartrate1>theshold_heartrate_h||theshold_heartrate_h<theshold_heartrate_l){
                        patientHealthIndex.setStatus(1);
//                        patientHealthIndex.setStatus(1);
                    }
                    else {
                        patientHealthIndex.setStatus(0);
@ -994,7 +994,7 @@ public class DeviceService {
                    patientHealthIndex.setCzrq(new Date());
                    Integer breath1 = Integer.parseInt(breath);
                    if (breath1>theshold_breath_h||breath1<theshold_breath_l){
                        patientHealthIndex.setStatus(1);
//                        patientHealthIndex.setStatus(1);
                    }else {
                        patientHealthIndex.setStatus(0);
                    }

+ 2 - 0
svr/svr-cloud-device/src/main/java/com/yihu/jw/care/util/DeviceDataPushLogUtil.java

@ -11,6 +11,7 @@ import com.yihu.jw.hospital.message.dao.SystemMessageDao;
import com.yihu.jw.patient.dao.BasePatientDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Date;
@ -67,6 +68,7 @@ public class DeviceDataPushLogUtil {
     * @param status
     * @param flag 状态 true 异常 false 正常 null其他
     */
    @Transactional
    public void updContactStatus(String sn,Integer status,Boolean flag){
        DeviceDetail deviceDetail = deviceDetailDao.findBySn(sn);
        if(deviceDetail!=null){

+ 1 - 1
svr/svr-cloud-device/src/main/java/com/yihu/jw/care/util/SecurityOrderUtil.java

@ -103,7 +103,7 @@ public class SecurityOrderUtil {
                }
                if ("1".equals(dictCode)){//疑似离开安全区域 v1.5电子围栏为确认管理时触发
                    List<PatientSafeAreaDO> safeAreaDOS = safeAreaDao.findByPatient(patientDO.getId());
                    if (safeAreaDOS.size()>0){
                    if (safeAreaDOS.size()==0){
                        return new JSONObject();
                    }
                }

+ 45 - 0
svr/svr-internet-hospital-entrance/src/main/resources/application.yml

@ -381,6 +381,51 @@ express:
  sf_check_word: BEWFSCXSyjt4314rz
---
#心脏中心前置机配置
spring:
  profiles: xzprod
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://172.16.100.240:7306/base?useUnicode:true&characterEncoding=utf-8&autoReconnect=true&useSSL=false
    username: jkzl
    password: jkzl@2020
# mq 是否获取his数据,flag代表获取演示数据,false代表获取his真实数据
demo:
  flag: false
#支付支付
pay:
  flag: true
hospital:
  url: https://wx.xmzsh.com
  mqUser: JKZL
  mqPwd: 123456
  SourceSysCode: S60
  TargetSysCode: S01
im:
  im_list_get: http://172.16.100.65:3000/
  data_base_name: im
fastDFS:
  fastdfs_file_url: http://172.16.100.240:8888/
fast-dfs:
  tracker-server: 172.16.100.240:22122 #服务器地址
#是否开启i健康接口 0关闭,1开启
testPattern:
  sign: 0
wlyy:
  url: http://www.xmtyw.cn/wlyytest/
wechat:
  id: xm_xzzx_wx  # base库中,wx_wechat 的id字段
  flag: false #演示环境  true走Mysql数据库  false走Oracle
  url: http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage
express:
  sf_url: http://bsp-oisp.sf-express.com/bsp-oisp/sfexpressService
  sf_code: WH000061
  sf_check_word: BEWFSCXSyjt4314rz
---
spring:
  profiles: jwystest

+ 1 - 1
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/healthCare/HealthCareEndPoint.java

@ -33,7 +33,7 @@ public class HealthCareEndPoint extends EnvelopRestEndpoint {
    private HttpClientUtil httpClientUtil;
    @Value("${wechat.id}")
    private String wechatId;
    public static String entranceHealthCareUrl = "http://172.16.100.240:10023/healthCare/";
    public static String entranceHealthCareUrl = "http://127.0.0.1:10023/healthCare/";
    @GetMapping(value = "doctorAuthentication")
    @ApiOperation(value = "医师身份验证", notes = "医师身份验证")

+ 1 - 1
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/prescription/HcyyPrescriptionCotroller.java

@ -383,7 +383,7 @@ public class HcyyPrescriptionCotroller extends EnvelopRestEndpoint {
    /**
     * 获取检查单据信息
     * 获取检查项目信息
     * @return
     * @throws Exception
     */