Selaa lähdekoodia

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

Shi Kejing 3 vuotta sitten
vanhempi
commit
0c2740dd87
28 muutettua tiedostoa jossa 480 lisäystä ja 133 poistoa
  1. 5 1
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/dao/BaseNatAppointmentDao.java
  2. 15 13
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/PrescriptionService.java
  3. 43 12
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/TasyNatService.java
  4. 11 1
      common/common-entity/sql记录
  5. 85 0
      common/common-entity/src/main/java/com/yihu/jw/entity/care/securitymonitoring/BaseEmergencyWarnLogDO.java
  6. 1 1
      common/common-entity/src/main/java/com/yihu/jw/entity/care/securitymonitoring/SecurityMonitoringOrderDO.java
  7. 20 3
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/emergency/EmergencyOrderVO.java
  8. 1 1
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/config/NetworkCardConfig.java
  9. 1 0
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/assistance/EmergencyAssistanceDao.java
  10. 16 0
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/security/BaseEmergencyWarnLogDao.java
  11. 1 0
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/security/SecurityMonitoringOrderDao.java
  12. 17 15
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/assistance/EmergencyAssistanceEndpoint.java
  13. 1 1
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/device/PatientDeviceController.java
  14. 4 3
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/family/FamilyMemberEndpoint.java
  15. 35 8
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/security/SecurityMonitoringOrderEndpoint.java
  16. 3 3
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/statistics/OpenStatisticsEndpoint.java
  17. 1 1
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/third/securrity/SecuMonOrderEndpoint.java
  18. 62 46
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/assistance/EmergencyAssistanceService.java
  19. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/consult/ConsultTeamService.java
  20. 1 1
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/device/PatientDeviceService.java
  21. 6 3
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/family/PatientFamilyMemberService.java
  22. 1 1
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/lifeCare/LifeCareOrderService.java
  23. 24 0
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/message/PatientMessageService.java
  24. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/patient/CarePatientService.java
  25. 91 6
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/security/SecurityMonitoringOrderService.java
  26. 5 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/statistics/StatisticsService.java
  27. 5 0
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/patient/PatientNoLoginEndPoint.java
  28. 21 7
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/prescription/PrescriptionEndpoint.java

+ 5 - 1
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/dao/BaseNatAppointmentDao.java

@ -13,10 +13,14 @@ public interface BaseNatAppointmentDao extends PagingAndSortingRepository<BaseNa
    @Query("from BaseNatAppointmentDO t where t.payStatus = 0 ")
    List<BaseNatAppointmentDO> findByPayStatus();
    @Query("from BaseNatAppointmentDO t where t.payStatus = 0 and t.isSuccess=1 and t.patientId=?1")
    @Query("from BaseNatAppointmentDO t where  t.payStatus = 0 and t.isSuccess=1 and t.patientId=?1")
    List<BaseNatAppointmentDO> findPayStatusByPatientId(String patientId);
    @Query("from BaseNatAppointmentDO t where t.payStatus = 1 or t.payStatus = 0 and t.isSuccess=1 and t.patientId=?1")
    List<BaseNatAppointmentDO> findPayStatusByPatientIdTASY(String patientId);
    @Query("select a from BaseNatAppointmentDO a where  a.realOrder =?1 ")
    List<BaseNatAppointmentDO> findByRealOrderList(String realOrder);
}

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

@ -11727,7 +11727,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
            format2 = new SimpleDateFormat("yyyy-MM-dd").parse(natTime);
            String shortDate = new SimpleDateFormat("yyyyMMdd").format(format2);
            System.out.println("yyyy-MM-dd转yyyyMMdd:"+shortDate);
            String regRes=tasyNatService.saveRegOrder(regDept,shortDate,pm,preNo,cardNo,mobile,name,"3");
           /* String regRes=tasyNatService.saveRegOrder(regDept,shortDate,pm,preNo,cardNo,mobile,name,"3");
            com.alibaba.fastjson.JSONObject regObj = com.alibaba.fastjson.JSONObject.parseObject(regRes);
            String HisSeqNo="";
            String orderNum="";
@ -11741,11 +11741,11 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                    returnMap.put("status","-1");
                    return  returnMap;
                }
            }
            }*/
            //先进行核算检测预约
            String realOrder="";
            String addressNow=provinceName+cityName+townName+streetName+address;
            String result = tasyNatService.initNatParams(HisSeqNo,name,mediaCard,addressNow,firstJobCode,secondJobCode);
            String result = tasyNatService.initNatParams("",name,mediaCard,addressNow,firstJobCode,secondJobCode);
            Boolean flag = false;
            if (StringUtils.isNoneBlank(result)){
                com.alibaba.fastjson.JSONObject object = com.alibaba.fastjson.JSONObject.parseObject(result);
@ -11756,7 +11756,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                    if ("0".equalsIgnoreCase(returnCode)){
                        returnMap.put("msg",object.getString("data"));
                        returnMap.put("status","-1");
                        tasyNatService.cancleOrder(cardNo,HisSeqNo,orderNum);
                        //tasyNatService.cancleOrder(cardNo,HisSeqNo,orderNum);
                        return  returnMap;
                    }else {
                        flag = true;
@ -11772,13 +11772,13 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                BaseNatAppointmentDO baseNatAppointmentDO= new BaseNatAppointmentDO();
                baseNatAppointmentDO.setChargeAmount(itemPrice);
                baseNatAppointmentDO.setMedicare(mediaCard);
                baseNatAppointmentDO.setRegisterNo(HisSeqNo);
                //baseNatAppointmentDO.setRegisterNo(HisSeqNo);
                baseNatAppointmentDO.setName(name);
                baseNatAppointmentDO.setCardNo(cardNo);
                baseNatAppointmentDO.setCardType(cardType);
                baseNatAppointmentDO.setAddress(address);
                baseNatAppointmentDO.setAppointmentTime(DateUtil.strToDateLong(natTime));
                baseNatAppointmentDO.setOderNum(orderNum);
                //baseNatAppointmentDO.setOderNum(orderNum);
                baseNatAppointmentDO.setCityName(cityName);
                baseNatAppointmentDO.setFirstJobCode(firstJobCode);
                baseNatAppointmentDO.setFirstJobName(firstJobName);
@ -11836,9 +11836,11 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                orderObj.put("openId",openId);
                orderObj.put("name",name);
                orderObj.put("idNo",cardNo);
                String hisPatientId=tasyNatService.getPatientHisId(cardNo,mediaCard);
                orderObj.put("hisPatientId",hisPatientId);
                orderObj.put("mediaCard",mediaCard);
                Map mapHis=tasyNatService.getPatientHisId(cardNo,mediaCard);
                orderObj.put("patientId",mapHis.get("Patientid").toString());
                orderObj.put("mobile",mapHis.get("MobilePhone").toString());
                //orderObj.put("socialCard","");
                orderObj.put("icCard",mediaCard);
                BigDecimal b = new BigDecimal(itemPrice);
                b=b.setScale(2, BigDecimal.ROUND_DOWN);
                System.out.println("amount"+b);
@ -12267,13 +12269,13 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                        if (StringUtils.isNoneBlank(baseNatAppointmentDO.getRealOrder())){
                            logger.info("同步his订单状态"+baseNatAppointmentDO.getRealOrder());
                            //取消号源
                            String registerCancel =tasyNatService.cancleOrder(baseNatAppointmentDO.getCardNo(),baseNatAppointmentDO.getRegisterNo(),baseNatAppointmentDO.getOderNum());
                            com.alibaba.fastjson.JSONObject jsonObject = JSON.parseObject(registerCancel);
                            String isSuccess=jsonObject.getString("success");
                            //String registerCancel =tasyNatService.cancleOrder(baseNatAppointmentDO.getCardNo(),baseNatAppointmentDO.getRegisterNo(),baseNatAppointmentDO.getOderNum());
                            /*com.alibaba.fastjson.JSONObject jsonObject = JSON.parseObject(registerCancel);
                            String isSuccess=jsonObject.getString("success");*/
                            String natCancel=tasyNatService.cancelNat(baseNatAppointmentDO.getRealOrder(),baseNatAppointmentDO.getMedicare(),baseNatAppointmentDO.getName());
                            com.alibaba.fastjson.JSONObject jsonObject1 = JSON.parseObject(natCancel);
                            String returnCode=jsonObject1.getString("ReturnCode");
                            if ("1".equalsIgnoreCase(returnCode)&&"true".equalsIgnoreCase(isSuccess)){
                            if ("1".equalsIgnoreCase(returnCode)){
                                System.out.println("11111");
                                baseNatAppointmentDO.setIsSuccess("-1");
                                baseNatAppointmentDO.setCancelReson("患者本人取消");

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

@ -33,6 +33,8 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.net.URL;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.*;
@ -380,7 +382,7 @@ public class TasyNatService {
            }
        }
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("preNo",preNo);
        //jsonObject.put("preNo",preNo);
        jsonObject.put("icCardNo",icCardNo);
        jsonObject.put("patientName",patientName);
        jsonObject.put("deptCode",deptCode);
@ -538,11 +540,11 @@ public class TasyNatService {
            first.put("color",wxTemplateConfigDO1.getKeyword6());
            key1.put("value",baseNatAppointmentD0.getDoctorName());
            key1.put("color",wxTemplateConfigDO1.getKeyword6());
            key2.put("value",baseNatAppointmentD0.getChargeAmount());
            key2.put("value",baseNatAppointmentD0.getChargeAmount()+".00元");
            key2.put("color",wxTemplateConfigDO1.getKeyword6());
            key3.put("value",wxTemplateConfigDO1.getKeyword3());
            key3.put("color",wxTemplateConfigDO1.getKeyword6());
            key4.put("value",baseNatAppointmentD0.getChargeAmount());
            key4.put("value",baseNatAppointmentD0.getChargeAmount()+".00元");
            key4.put("color",wxTemplateConfigDO1.getKeyword6());
            key5.put("value",baseNatAppointmentD0.getVoucherNo());
            key5.put("color",wxTemplateConfigDO1.getKeyword6());
@ -582,7 +584,7 @@ public class TasyNatService {
            key3.put("color",wxTemplateConfigDO1.getKeyword6());
            key4.put("value",baseNatAppointmentD0.getDoctorName());
            key4.put("color",wxTemplateConfigDO1.getKeyword6());
            key5.put("value", DateUtil.formatDate(baseNatAppointmentD0.getCreateTime(),"yyyy-MM-dd hh:mm:ss"));
            key5.put("value", DateUtil.formatDate(baseNatAppointmentD0.getCreateTime(),"yyyy-MM-dd HH:mm:ss"));
            key5.put("color",wxTemplateConfigDO1.getKeyword6());
            remark.put("value",wxTemplateConfigDO1.getRemark());
            remark.put("color",wxTemplateConfigDO1.getKeyword6());
@ -616,7 +618,7 @@ public class TasyNatService {
            key1.put("color",wxTemplateConfigDO1.getKeyword6());
            key2.put("value",baseNatAppointmentD0.getInspectionName());
            key2.put("color",wxTemplateConfigDO1.getKeyword6());
            key3.put("value",DateUtil.formatDate(baseNatAppointmentD0.getAppointmentTime(),"yyyy-MM-dd hh:mm:ss"));
            key3.put("value",DateUtil.formatDate(baseNatAppointmentD0.getAppointmentTime(),"yyyy-MM-dd HH:mm:ss"));
            key3.put("color",wxTemplateConfigDO1.getKeyword6());
            key4.put("value",wxTemplateConfigDO1.getKeyword4());
            key4.put("color",wxTemplateConfigDO1.getKeyword6());
@ -802,7 +804,7 @@ public class TasyNatService {
    }
    public void savePayStatusByHis(String patientId) throws Exception {
        List<BaseNatAppointmentDO> baseNatAppointmentDOList = baseNatAppointmentDao.findPayStatusByPatientId(patientId);
        List<BaseNatAppointmentDO> baseNatAppointmentDOList = baseNatAppointmentDao.findPayStatusByPatientIdTASY(patientId);
        for (BaseNatAppointmentDO baseNatAppointmentDO:baseNatAppointmentDOList){
                String res = QueryApplyInfo(baseNatAppointmentDO.getRealOrder());
                JSONObject jsonObject = JSON.parseObject(res);
@ -817,6 +819,20 @@ public class TasyNatService {
                                businessOrderDO.setStatus(1);
                                businessOrderDao.save(businessOrderDO);
                            }
                        }else if ("已退费".equalsIgnoreCase(jsonObject.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());
                        }
                        baseNatAppointmentDao.save(baseNatAppointmentDO);
                    }
@ -850,6 +866,11 @@ public class TasyNatService {
            orderObj.put("openId",openId);
            orderObj.put("name",baseNatAppointmentDO.getName());
            orderObj.put("idNo",baseNatAppointmentDO.getCardNo());
            Map mapHis=getPatientHisId(baseNatAppointmentDO.getCardNo(),baseNatAppointmentDO.getMedicare());
            orderObj.put("patientId",mapHis.get("Patientid").toString());
            orderObj.put("mobile",mapHis.get("MobilePhone").toString());
            //orderObj.put("socialCard","");
            orderObj.put("icCard",baseNatAppointmentDO.getMedicare());
            BigDecimal b = new BigDecimal(baseNatAppointmentDO.getChargeAmount());
            b=b.setScale(2, BigDecimal.ROUND_DOWN);
            System.out.println("amount"+b);
@ -926,13 +947,16 @@ public class TasyNatService {
        params.put("msg",msgBody);
        logger.info("hdrQueryDataWS params:"+params.toString());
        String xml = getTaszWebServiceInfo("hdrQueryDataWS",params,gethsQueryDataWS());
        xml=xml.substring(xml.indexOf("<ArrayList>"),xml.lastIndexOf("]]"));
        if (xml.contains("<ArrayList>")){
            xml=xml.substring(xml.indexOf("<ArrayList>"),xml.lastIndexOf("]]"));
        }else {
            xml=xml.substring(xml.indexOf("<?xml"),xml.lastIndexOf("]]"));
        }
        XMLSerializer xmlSerializer = new XMLSerializer();
        String json = xmlSerializer.read(xml).toString();
        logger.info("hdrQueryDataWS json:"+json);
        return json;
    }
    public  Map checkBalance(String relationCode) throws  Exception{
        BaseNatAppointmentDO baseNatAppointmentDO = baseNatAppointmentDao.findOne(Integer.parseInt(relationCode));
        WlyyHospitalSysDictDO wlyyHospitalSysDictDO = wlyyHospitalSysDictDao.findById("MzBalance");
@ -1002,7 +1026,8 @@ public class TasyNatService {
        result.put("msg","验证通过");
        return  result;
    }
    public String getPatientHisId(String idcard,String mediacard) throws Exception{
    public Map getPatientHisId(String idcard,String mediacard) throws Exception{
        Map map = new HashMap();
        String res = findHisPatientCard(idcard);
        JSONObject jsonObject = JSON.parseObject(res);
        if ("1".equalsIgnoreCase(jsonObject.getString("ReturnCode"))) {
@ -1014,7 +1039,10 @@ public class TasyNatService {
                        JSONObject child = jsonArray.getJSONObject(i);
                        if (mediacard.equalsIgnoreCase(child.getString("CardNo"))) {
                            String Patientid = child.getString("Patientid");
                            return Patientid;
                            String MobilePhone = child.getString("MobilePhone");
                            map.put("Patientid",Patientid);
                            map.put("MobilePhone",MobilePhone);
                            return map;
                        }
                    }
@ -1024,7 +1052,10 @@ public class TasyNatService {
                    JSONObject jsonObject1 = JSONObject.parseObject(patients);
                    if (mediacard.equalsIgnoreCase(jsonObject1.getString("CardNo"))) {
                        String Patientid = jsonObject1.getString("Patientid");
                        return Patientid;
                        String MobilePhone = jsonObject1.getString("MobilePhone");
                        map.put("Patientid",Patientid);
                        map.put("MobilePhone",MobilePhone);
                        return map;
                    }
                } catch (Exception e) {
                   e.printStackTrace();
@ -1032,6 +1063,6 @@ public class TasyNatService {
            }
        }
        return "";
        return map;
    }
}

+ 11 - 1
common/common-entity/sql记录

@ -1213,4 +1213,14 @@ alter table base_job_category  add code varchar(50);
alter table base_nat_appointment  add oder_num varchar(50);
alter table base_business_order_pay  add history_order varchar(1000);
-- 2021-08-09
create TABLE base.base_emergency_warn_log(
	id int(11) NOT NULL AUTO_INCREMENT ,
	order_id varchar(50) default null COMMENT '工单id',
	user_code varchar(50) default null comment '操作用户',
	user_name varchar(50) default null comment '操作用户',
	user_type int(4) default null COMMENT '用户类型 1居民 2助老员',
	content VARCHAR(255) default null comment '操作详情',
	create_time timestamp NULL DEFAULT NULL COMMENT '创建时间',
	PRIMARY KEY(id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='紧急预警工单动态消息';

+ 85 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/care/securitymonitoring/BaseEmergencyWarnLogDO.java

@ -0,0 +1,85 @@
package com.yihu.jw.entity.care.securitymonitoring;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.IdEntity;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import javax.xml.crypto.Data;
import java.util.Date;
/**
 * Created by Bing on 2021/8/9.
 */
@Entity
@Table(name="base_emergency_warn_log")
public class BaseEmergencyWarnLogDO extends IdEntity {
    public String orderId;
    public String userCode;
    public String userName;
    public Integer userType; //用户类型 1居民 2助老员
    public String content;
    public Date createTime;
    public String timeInfo;
    public String getOrderId() {
        return orderId;
    }
    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }
    public String getUserCode() {
        return userCode;
    }
    public void setUserCode(String userCode) {
        this.userCode = userCode;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public Integer getUserType() {
        return userType;
    }
    public void setUserType(Integer userType) {
        this.userType = userType;
    }
    public String getContent() {
        return content;
    }
    public void setContent(String content) {
        this.content = content;
    }
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    @Transient
    public String getTimeInfo() {
        return timeInfo;
    }
    public void setTimeInfo(String timeInfo) {
        this.timeInfo = timeInfo;
    }
}

+ 1 - 1
common/common-entity/src/main/java/com/yihu/jw/entity/care/securitymonitoring/SecurityMonitoringOrderDO.java

@ -146,7 +146,7 @@ public class SecurityMonitoringOrderDO extends UuidIdentityEntityWithOperator {
    private String patientPhone;
    /**
     * 居民自己服务描述
     * 服务描述 关联security_server_dict
     */
    private String serveDesc;

+ 20 - 3
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/emergency/EmergencyOrderVO.java

@ -1,6 +1,7 @@
package com.yihu.jw.restmodel.emergency;
import com.yihu.jw.entity.care.securitymonitoring.BaseEmergencyWarnLogDO;
import com.yihu.jw.entity.care.securitymonitoring.EmergencyWarnConclusionDO;
import java.util.Date;
@ -36,10 +37,8 @@ public class EmergencyOrderVO {
    private String sceneImg;//工单发起是现场照片
    //附加信息
    private Map<String,Object> information;//附加信息
    private Map<String,Object> information;//附加信息(安防工单不同专题返回值不一样)
    private String phone;
    //围栏状态 fences
@ -49,6 +48,8 @@ public class EmergencyOrderVO {
    private List<Map<String,Object>> noticePersons;//通知对象
    private String otherDoctorDistance;//其他医生定位信息
    private String topicItem;//安防工单专题code关联security_topic_dict字典
    private List<BaseEmergencyWarnLogDO> orderLogInfo;
    public String getId() {
        return id;
@ -249,4 +250,20 @@ public class EmergencyOrderVO {
    public void setSceneImg(String sceneImg) {
        this.sceneImg = sceneImg;
    }
    public String getTopicItem() {
        return topicItem;
    }
    public void setTopicItem(String topicItem) {
        this.topicItem = topicItem;
    }
    public List<BaseEmergencyWarnLogDO> getOrderLogInfo() {
        return orderLogInfo;
    }
    public void setOrderLogInfo(List<BaseEmergencyWarnLogDO> orderLogInfo) {
        this.orderLogInfo = orderLogInfo;
    }
}

+ 1 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/config/NetworkCardConfig.java

@ -24,7 +24,7 @@ public class NetworkCardConfig {
    public static final String getToken="https://api.iot.10086.cn/v5/ec/get/token";
    //获取语音白名单
    public static final String getPatientContacts="https://api.iot.10086.cn/v5/ec/query/member-voice-whitelist";
    //设置语音白名单
    //设置语音白名单 //同一卡号一分钟只能调用该接口一次 一个月仅能删除一次(一次最多删除2个号码)
    public static final String setPatientContacts="https://api.iot.10086.cn/v5/ec/config/member-voice-whitelist";
}

+ 1 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/assistance/EmergencyAssistanceDao.java

@ -18,4 +18,5 @@ public interface EmergencyAssistanceDao extends PagingAndSortingRepository<Emerg
    List<EmergencyAssistanceDO> findByPatientAndStatus(String patient,Integer status);
    List<EmergencyAssistanceDO> findByProxyPatientAndStatus(String proxyPatient,Integer status);
    List<EmergencyAssistanceDO> findBySessionId(String sessionId);
}

+ 16 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/security/BaseEmergencyWarnLogDao.java

@ -0,0 +1,16 @@
package com.yihu.jw.care.dao.security;
import com.yihu.jw.entity.care.securitymonitoring.BaseEmergencyWarnLogDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * Created by Bing on 2021/8/9.
 */
public interface BaseEmergencyWarnLogDao extends PagingAndSortingRepository<BaseEmergencyWarnLogDO, Long>,
        JpaSpecificationExecutor<BaseEmergencyWarnLogDO> {
    List<BaseEmergencyWarnLogDO> findByOrderIdOrderByCreateTimeDesc(String oderId);
}

+ 1 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/security/SecurityMonitoringOrderDao.java

@ -28,4 +28,5 @@ public interface SecurityMonitoringOrderDao extends PagingAndSortingRepository<S
    void updateConclusionStatus2(String orderId);
    List<SecurityMonitoringOrderDO> findByPatientAndStatus(String patient,Integer status);
}

+ 17 - 15
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/assistance/EmergencyAssistanceEndpoint.java

@ -4,7 +4,9 @@ import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.care.aop.ObserverRequired;
import com.yihu.jw.care.aop.ServicesAuth;
import com.yihu.jw.care.service.assistance.EmergencyAssistanceService;
import com.yihu.jw.entity.care.securitymonitoring.BaseEmergencyWarnLogDO;
import com.yihu.jw.restmodel.ResponseContant;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
@ -279,21 +281,6 @@ public class EmergencyAssistanceEndpoint extends EnvelopRestEndpoint {
        }
    }
    @PostMapping(value = "test")
    @ApiOperation(value = "患者发送快捷消息")
    @ObserverRequired
    public ObjEnvelop test(@ApiParam(name="doctor",value = "doctor",required =true )
                           @RequestParam(value = "doctor") String doctor,
                           @ApiParam(name="orderID",value = "orderID",required =true )
                           @RequestParam(value = "orderID") String orderID){
        try {
            return ObjEnvelop.getSuccess("发送成功",assistanceService.test(doctor, orderID));
        }catch (Exception e){
            return failedObjEnvelopException2(e);
        }
    }
    @PostMapping("responseOrder")
    @ApiOperation(value = "医生响应紧急预警(点击立即前往)")
    @ObserverRequired
@ -340,4 +327,19 @@ public class EmergencyAssistanceEndpoint extends EnvelopRestEndpoint {
            return failedObjEnvelopException2(e);
        }
    }
    @PostMapping("doctorSendMessageLog")
    @ApiOperation(value = "助老员紧急预警发送消息日志")
    public ObjEnvelop doctorSendMessageLog(
            @ApiParam(name="doctor")@RequestParam(value = "doctor")String doctor,
            @ApiParam(name="type",value = "im会话对应type")@RequestParam(value = "type")String type,
            @ApiParam(name="message",value = "发送内容")@RequestParam(value = "message")String message,
            @ApiParam(name="session_id",value = "im会话对应id")@RequestParam(value = "session_id")String session_id){
        try {
            return ObjEnvelop.getSuccess("success",assistanceService.doctorSendMessageLog(doctor,type,session_id,message));
        }catch (Exception e){
            return failedObjEnvelopException2(e);
        }
    }
}

+ 1 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/device/PatientDeviceController.java

@ -170,7 +170,7 @@ public class PatientDeviceController extends BaseController {
    @RequestMapping(value = "patientDeviceListByTopic", method = RequestMethod.GET)
    public String patientDeviceListByTopic(@ApiParam(name = "patient", value = "patient", defaultValue = "patient")
                                                @RequestParam(value = "patient", required = true) String patient,
                                                @ApiParam(name = "topic", value = "专题CODE;preventLost防走失,preventFall防跌倒", defaultValue = "preventLost")
                                                @ApiParam(name = "topic", value = "专题code,关联security_topic_dict字典", defaultValue = "preventLost")
                                                @RequestParam(value = "topic", required = false) String topic) {
        try {
            return write(200,"查询成功","detailModelList",  patientDeviceService.patientDeviceListByTopic(patient,topic));

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

@ -179,14 +179,15 @@ public class FamilyMemberEndpoint extends EnvelopRestEndpoint {
    @ApiOperation(value = "家庭成员查询")
    public ObjEnvelop getPatientFamilyMembers(@RequestParam(required = false) String patient,
                                              @RequestParam(required = false) String isContain,
                                              @RequestParam(required = false) Integer isContacts) {
                                              @RequestParam(required = false) Integer isContacts,
                                              @RequestParam(required = false) String archiveType) {
        try {
            JSONObject data = new JSONObject();
            JSONArray result = new JSONArray();
            if (StringUtils.isNotEmpty(patient)) {
                result = familyMemberService.getPatientMembers(patient, "", isContain,isContacts);
                result = familyMemberService.getPatientMembers(patient, "", isContain,isContacts,archiveType);
            } else  {
                result = familyMemberService.getPatientFamilyMembers(getUID(), "",isContacts);
                result = familyMemberService.getPatientFamilyMembers(getUID(), "",isContacts,archiveType);
            }
            data.put("normalmembers",result);//家人关系

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

@ -38,7 +38,7 @@ public class SecurityMonitoringOrderEndpoint extends EnvelopRestEndpoint {
                               @RequestParam(value = "orderSource",defaultValue = "1") Integer orderSource,
                               @ApiParam(name="warnStr",value = "紧急预警弹框字段")
                               @RequestParam(value = "warnStr",defaultValue = "疑似离开安全区域",required = false) String warnStr){
        try {
        try {//服务描述关联security_server_dict字典
            JSONObject result = securityMonitoringOrderService.createOrder(jsonData,orderSource,warnStr);
            if (result.getIntValue("resultFlag") == 0) {
                return ObjEnvelop.getError(result.getString("resultMsg"));
@ -59,9 +59,11 @@ public class SecurityMonitoringOrderEndpoint extends EnvelopRestEndpoint {
                                            @RequestParam(value = "patientName",required = false)String patientName,
                                            @ApiParam(name="patient",value = "patient")
                                            @RequestParam(value = "patient",required = false)String patient,
                                            @ApiParam(name="status",value = "工单状态-1已取消1待处置2前往居民定位3已签到4已登记小结5待补录6待评价7已完成")
                                            @ApiParam(name="status",value = "工单状态-2误报警-1已取消0已完成1申请中")
                                            @RequestParam(value = "status",required = false)String status,
                                            @ApiParam(name = "topicItem", value = "专题code,security安防相关专题", required = false)
                                            @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,
                                            @ApiParam(name="page",value = "page",required = true)
                                            @RequestParam(value = "page")Integer page,
@ -70,12 +72,37 @@ public class SecurityMonitoringOrderEndpoint extends EnvelopRestEndpoint {
        try {
            page = page>1?page-1:0;
            return securityMonitoringOrderService.getSecurityOrderList(doctor,serverDoctor,patientName, patient, status, topicItem,page, pageSize);
            return securityMonitoringOrderService.getSecurityOrderList(doctor,serverDoctor,patientName, patient, status, svrDesc,topicItem,page, pageSize);
        }catch (Exception e){
            return failedPageEnvelopException2(e);
        }
    }
    @GetMapping(value = "getSecurityTab")
    @ApiOperation(value = "获取安防tab数量")
    public ObjEnvelop getSecurityTab(@ApiParam(name="patient",value = "患者")
                                     @RequestParam(value = "patient",required = false) String patient,
                                     @ApiParam(name="doctor",value = "医生")
                                     @RequestParam(value = "doctor",required = false) String doctor,
                                     @ApiParam(name="status",value = "工单状态-2误报警-1已取消0已完成1申请中")
                                     @RequestParam(value = "status",required = false)String status,
                                     @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){
        try {
            if (org.apache.commons.lang3.StringUtils.isBlank(patient)&& org.apache.commons.lang3.StringUtils.isBlank(doctor)){
                return ObjEnvelop.getError("请求参数错误");
            }
            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));
        }catch (Exception e){
            return failedObjEnvelopException2(e);
        }
    }
    @GetMapping(value = "getSecurityOrderUnCompleteList")
    @ApiOperation(value = "获取服务医生下未结束的安防工单")
    public ListEnvelop getSecurityOrderUnCompleteList(@ApiParam(name="doctor",value = "医生ID,当前查看列表医生",required = true)
@ -90,7 +117,7 @@ public class SecurityMonitoringOrderEndpoint extends EnvelopRestEndpoint {
    @GetMapping(value = "getSecurityOrderDetail")
    @ApiOperation(value = "获取安防工单详情")//
    @ApiOperation(value = "获取安防工单详情")
    public ObjEnvelop getSecurityOrderDetail(@ApiParam(name="orderId",value = "orderId",required = true)
                                            @RequestParam(value = "orderId")String orderId,
                                             @ApiParam(name="doctor",value = "doctor",required = false)
@ -278,10 +305,10 @@ public class SecurityMonitoringOrderEndpoint extends EnvelopRestEndpoint {
    }
    @GetMapping(value = "getSecurityServerDoctor")
    @ApiOperation(value = "获取安防监护服务人员")//
    @ApiOperation(value = "获取安防监护服务人员")
    public ListEnvelop getSecurityServerDoctor(@ApiParam(name="patient",value = "patient",required = true)
                                             @RequestParam(value = "patient")String patient,
                                             @ApiParam(name = "topicItem", value = "专题code,security安防相关专题", required = false)
                                             @ApiParam(name = "topicItem", value = "专题code,关联security_topic_dict字典", required = false)
                                             @RequestParam(value = "topicItem",required = false,defaultValue = "preventLost") String topicItem){
        try {
@ -296,7 +323,7 @@ public class SecurityMonitoringOrderEndpoint extends EnvelopRestEndpoint {
    @ResponseBody
    public ObjEnvelop patientMonitoringInfo(@ApiParam(name = "patient", value = "patient")
                                @RequestParam(value = "patient") String patient,
                                @ApiParam(name = "topicItem", value = "专题code,security安防相关专题", required = false)
                                @ApiParam(name = "topicItem", value = "专题code,关联security_topic_dict字典", required = false)
                                @RequestParam(value = "topicItem",required = false,defaultValue = "preventLost") String topicItem) {
        try {
            return ObjEnvelop.getSuccess( "查询成功", securityMonitoringOrderService.patientMonitoringInfo(patient,topicItem));

+ 3 - 3
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/statistics/OpenStatisticsEndpoint.java

@ -93,12 +93,12 @@ public class OpenStatisticsEndpoint extends EnvelopRestEndpoint {
    @GetMapping(value = "fingLoginLog")
    @ApiOperation(value = "获取登录记录")
    public ListEnvelop fingLoginLog(
    public PageEnvelop fingLoginLog(
            @RequestParam(required = true) Integer page,@RequestParam(required = true) Integer size) {
        try {
            return success(statisticsService.fingLoginLog(page,size));
            return statisticsService.fingLoginLog(page,size);
        } catch (Exception e) {
            return failedListEnvelopException2(e);
            return failedPageEnvelopException2(e);
        }
    }

+ 1 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/third/securrity/SecuMonOrderEndpoint.java

@ -34,7 +34,7 @@ public class SecuMonOrderEndpoint extends EnvelopRestEndpoint {
                                  @RequestParam(value = "orderSource",defaultValue = "1") Integer orderSource,
                                  @ApiParam(name="warnStr",value = "紧急预警弹框字段")
                                  @RequestParam(value = "warnStr",defaultValue = "疑似离开安全区域",required = false) String warnStr){
        try {
        try {//服务描述关联security_server_dict字典
            JSONObject result = securityMonitoringOrderService.createOrder(jsonData,orderSource,warnStr);
            if (result.getIntValue("resultFlag") == 0) {
                return ObjEnvelop.getError(result.getString("resultMsg"));

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

@ -6,8 +6,10 @@ import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.yihu.jw.care.dao.assistance.EmergencyAssistanceDao;
import com.yihu.jw.care.dao.device.PatientDeviceDao;
import com.yihu.jw.care.dao.security.BaseEmergencyWarnLogDao;
import com.yihu.jw.care.dao.security.EmergencyWarnConclusionDao;
import com.yihu.jw.care.dao.security.EmergencyWarnDoctorResponseDao;
import com.yihu.jw.care.dao.security.SecurityMonitoringOrderDao;
import com.yihu.jw.care.dao.sign.ServicePackageSignRecordDao;
import com.yihu.jw.care.dao.team.BaseTeamMemberDao;
import com.yihu.jw.care.service.common.DictService;
@ -23,8 +25,10 @@ import com.yihu.jw.entity.base.im.ConsultTeamDo;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.care.assistance.EmergencyAssistanceDO;
import com.yihu.jw.entity.care.device.DevicePatientDevice;
import com.yihu.jw.entity.care.securitymonitoring.BaseEmergencyWarnLogDO;
import com.yihu.jw.entity.care.securitymonitoring.EmergencyWarnConclusionDO;
import com.yihu.jw.entity.care.securitymonitoring.EmergencyWarnDoctorResponseDO;
import com.yihu.jw.entity.care.securitymonitoring.SecurityMonitoringOrderDO;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import com.yihu.jw.hospital.message.dao.SystemMessageDao;
import com.yihu.jw.im.dao.ConsultDao;
@ -96,7 +100,10 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
    private ConsultDao consultDao;
    @Autowired
    private DictService dictService;
    @Autowired
    private BaseEmergencyWarnLogDao logDao;
    @Autowired
    private SecurityMonitoringOrderDao securityMonitoringOrderDao;
    /**
     * 新建居民紧急救助
@ -114,6 +121,12 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
            result.put(ResponseContant.resultMsg,failMsg);
            return result;
        }
        if (emergencyAssistanceDao.findByPatientAndStatus(patient,EmergencyAssistanceDO.Status.apply.getType())!=null){
            String failMsg = "当前居民存在发起中工单,请完成后再申请";
            result.put(ResponseContant.resultFlag, ResponseContant.fail);
            result.put(ResponseContant.resultMsg,failMsg);
            return result;
        }
        assistanceDO.setOrderSource(orderSource);
        assistanceDO.setStatus(1);
        assistanceDO.setPatient(patient);
@ -173,22 +186,6 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
            result.put(ResponseContant.resultMsg,failMsg);
            return result;
        }
        //获取距离患者最近的一个医生(默认直线距离最近的医生)
//        double distance = 0.0;
//        for (BaseDoctorDO doctorDO:doctorDOS){
//            if (StringUtils.isBlank(doctorDO.getDoctorLat())||StringUtils.isBlank(doctorDO.getDoctorLon())){
//                continue;
//            }
//            double distanceTmp = countDistance.getDistance(Double.parseDouble(assistanceDO.getServeLat()),Double.parseDouble(assistanceDO.getServeLon()),Double.parseDouble(doctorDO.getDoctorLat()),Double.parseDouble(doctorDO.getDoctorLon()));
//            if (distanceTmp>distance){
//                distance = distanceTmp;
//                assistanceDO.setDoctor(doctorDO.getId());
//                assistanceDO.setDoctorName(doctorDO.getName());
//                assistanceDO.setDoctorAddress(doctorDO.getDoctorLocateAddress());
//                assistanceDO.setDoctorLon(doctorDO.getDoctorLon());
//                assistanceDO.setDoctorLat(doctorDO.getDoctorLat());
//            }
//        }
        assistanceDO = emergencyAssistanceDao.save(assistanceDO);
        //创建im会话  紧急救助咨询的sessionid  为居民code+(wlyy_consult_team表consult)+20
        JSONObject IMObj = consultTeamService.addServiceConsult(assistanceDO.getId(),patient,proxyPatient,null);
@ -273,7 +270,7 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
            case -2:statusName="误警报";break;
            case -1:statusName="已取消";break;
            case 0:statusName="已完成";break;
            case 1:statusName="申请中";break;
            case 1:statusName="预警中";break;
        }
        emergencyOrderVO.setStatusName(statusName);
        emergencyOrderVO.setOrderId(orderID);
@ -287,6 +284,9 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
        emergencyOrderVO.setSex(patientDO.getSex());
        emergencyOrderVO.setPhone(assistanceDO.getPatientPhone());
        List<BaseEmergencyWarnLogDO> logDOS = logDao.findByOrderIdOrderByCreateTimeDesc(assistanceDO.getId());
        emergencyOrderVO.setOrderLogInfo(logDOS);
        if(StringUtils.isNotBlank(patientDO.getIdcard())){
            emergencyOrderVO.setAge((IdCardUtil.getAgeForIdcard(patientDO.getIdcard()))+"");
        }
@ -314,7 +314,7 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
        //附加信息 紧急救助无
        //通知对象
        List<Map<String,Object>> noticePersons = new ArrayList<>();
        JSONArray familyArr =  familyMemberService.getPatientMembers(assistanceDO.getPatient(),null,null,null);
        JSONArray familyArr =  familyMemberService.getPatientMembers(assistanceDO.getPatient(),null,null,null,null);
        String emeCallPhone = "";
        if (assistanceDO.getOrderSource()!=1){//设备发起工单
            String category = assistanceDO.getOrderSource()==2?"4":"7";
@ -535,7 +535,7 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
        tmpObj.put("status_-2",0);//误报警
        tmpObj.put("status_-1",0);//已取消
        tmpObj.put("status_0",0);//已完成
        tmpObj.put("status_1",0);//申请中
        tmpObj.put("status_1",0);//预警中
        StringBuilder sql = new StringBuilder(" select ord.status,count(ord.id) count from base_emergency_assistance_order ord where 1=1") ;
        if (StringUtils.isNotBlank(patient)){
            sql.append( " and (ord.patient='"+patient+"' or ord.proxy_patient='"+patient+"' ) group by ord.status  ");
@ -840,6 +840,18 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
            responseDO.setDoctor(doctor);
            responseDO.setResponseTime(new Date());
            emergencyWarnDoctorResponseDao.save(responseDO);
            BaseDoctorDO doctorDO = doctorDao.findById(doctor);
            if (null!=doctorDO){
                BaseEmergencyWarnLogDO logDO = new BaseEmergencyWarnLogDO();
                logDO.setUserCode(doctor);
                logDO.setUserName(doctorDO.getName());
                logDO.setOrderId(orderId);
                logDO.setUserType(2);
                logDO.setCreateTime(new Date());
                logDO.setContent("助老员"+doctorDO.getName()+"前往定位");
                logDao.save(logDO);
            }
        }
        result.put("resultFlag", 1);
@ -916,30 +928,6 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
        return null;
    }
    public String test(String doctor,String orderID){
//        JSONObject message = new JSONObject();
//        message.put("session_id","808080eb78b5d8e90178b5fcfa330001_4028030c78f1df510178f217a6c50001_20");
//        message.put("sender_name","一一");
//        message.put("sender_code","808080eb78b5d8e90178b5fcfa330001");
//        message.put("order_id","4028030c78f1df510178f217a6a70000");
//        message.put("content_type",40);
//        imUtill.sendMDTSocketMessageToDoctor(doctor,message.toString());
        //结束救助咨询
        String sql = "select id from base_emergency_assistance_order where status!=1";
        List<String> ids = jdbcTemplate.queryForList(sql,String.class);
        for (String id:ids){
            EmergencyAssistanceDO assistanceDO = emergencyAssistanceDao.findOne(orderID);
            if (!consultTeamService.finishConsult(assistanceDO.getId(),assistanceDO.getPatient(),doctor,2)){
                String failMsg = "咨询结束失败 无法完成工单";
                return failMsg;
            }
        }
        return null;
    }
    public JSONObject getDoctorOrderList(String doctor, int page, int size) {
        page = page>0?page-1:0;
        String sqlCount = "select count(ord.id) from  base_life_care_order ord where ord.doctor = '"+doctor+"' ";
@ -968,10 +956,10 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
     */
    public PageEnvelop getEmergencyAssistanceList(Integer page, Integer size,String doctor){
        page = page>0?page-1:0;
        String sql = " select '20' as OrderType,ord.id,ord.doctor,p.name,'紧急呼叫' as serve_desc,DATE_FORMAT(ord.create_time,'%Y-%m-%d %H:%i:%S') create_time" +
        String sql = " select '20' as OrderType,ord.id,ord.doctor,ord.status,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_doctor p on ord.doctor = p.id where ord.doctor='"+doctor+"'" ;
        sql +="UNION " +
                "select  '22' as 'OrderType',ord.id,ord.doctor,p.name,ord.serve_desc,DATE_FORMAT(ord.create_time,'%Y-%m-%d %H:%i:%S') create_time " +
                "select  '22' as 'OrderType',ord.id,ord.doctor,p.name,ord.status,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_doctor p on ord.doctor = p.id  where ord.doctor='"+doctor+"'" ;
        String countSql = "select count(id) from ("+sql+")A ";
        long count = jdbcTemplate.queryForObject(countSql,long.class);
@ -980,4 +968,32 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
        return PageEnvelop.getSuccessListWithPage("查询成功",list,page,size,count);
    }
    public BaseEmergencyWarnLogDO doctorSendMessageLog(String doctor,String type,String session_id,String message){
        BaseEmergencyWarnLogDO logDO = new BaseEmergencyWarnLogDO();
        BaseDoctorDO doctorDO = doctorDao.findById(doctor);
        if (null!=doctorDO){
            if ("20".equals(type)){//紧急
                List<EmergencyAssistanceDO> orderDOS = emergencyAssistanceDao.findBySessionId(session_id);
                if (orderDOS.size()>0){
                    logDO.setOrderId(orderDOS.get(0).getId());
                }
            }else if ("22".equals(type)){//安防
                String[]str  = session_id.split("_");
                ConsultTeamDo consultTeam = consultTeamDao.findByConsult(str[1]);
                if (null!=consultTeam){
                    logDO.setOrderId(consultTeam.getRelationCode());
                }
            }
            if (StringUtils.isNotBlank(logDO.getOrderId())){
                logDO.setUserCode(doctor);
                logDO.setUserName(doctorDO.getName());
                logDO.setUserType(2);
                logDO.setContent("助老员"+doctorDO.getName()+"发送消\""+message+"\"");
                logDO.setCreateTime(new Date());
                logDao.save(logDO);
            }
        }
        return logDO;
    }
}

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

@ -205,7 +205,7 @@ public class ConsultTeamService {
        //4、 紧急救助咨询-参与者
        JSONObject participants = new JSONObject();
        participants.put(patient, 0);
        JSONArray familyArr =  familyMemberService.getPatientMembers(patient,null,null,null);
        JSONArray familyArr =  familyMemberService.getPatientMembers(patient,null,null,null,null);
        for (int i=0;i<familyArr.size();i++){
            JSONObject tmp = familyArr.getJSONObject(i);
            String patientId = tmp.getString("id");
@ -411,7 +411,7 @@ public class ConsultTeamService {
        JSONObject participants = new JSONObject();
        participants.put(patient, 0);
        //家属
        JSONArray familyArr =  familyMemberService.getPatientMembers(patient,null,null,null);
        JSONArray familyArr =  familyMemberService.getPatientMembers(patient,null,null,null,null);
        for (int i=0;i<familyArr.size();i++){
            JSONObject tmp = familyArr.getJSONObject(i);
            String patientId = tmp.getString("id");

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

@ -455,7 +455,7 @@ public class PatientDeviceService extends BaseJpaService<DevicePatientDevice, Pa
        sql += " and  pd.`user`='" + patient + "' ";
        }
        if (StringUtils.isNotBlank(serviceTopic)) {
            sql+= " and dd.service_topic='"+serviceTopic+"' ";
            sql+= " and dd.service_topic like '%"+serviceTopic+"%' ";
        }
        sql+=" order by pd.czrq asc ";
        return jdbcTemplate.queryForList(sql);

+ 6 - 3
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/family/PatientFamilyMemberService.java

@ -326,8 +326,8 @@ public class PatientFamilyMemberService extends BaseJpaService<BasePatientFamily
     * @param patient 居民
     * @return
     */
    public JSONArray getPatientMembers(String patient, String doctorCode, String isContain, Integer isAgree) {
        JSONArray resultArray = getPatientFamilyMembers(patient, doctorCode, isAgree);
    public JSONArray getPatientMembers(String patient, String doctorCode, String isContain, Integer isAgree,String archive_type) {
        JSONArray resultArray = getPatientFamilyMembers(patient, doctorCode, isAgree,archive_type);
        if (resultArray == null) {
            resultArray = new JSONArray();
@ -374,7 +374,7 @@ public class PatientFamilyMemberService extends BaseJpaService<BasePatientFamily
     * @param patient 居民
     * @return
     */
    public JSONArray getPatientFamilyMembers(String patient, String doctorCode, Integer isContacts) {
    public JSONArray getPatientFamilyMembers(String patient, String doctorCode, Integer isContacts,String archive_type) {
        JSONArray resultArray = new JSONArray();
        String sql = "select * " +
                " from " +
@ -384,6 +384,9 @@ public class PatientFamilyMemberService extends BaseJpaService<BasePatientFamily
                "    t2.id in (select family_member from base_patient_family_member where patient = ? ) " +
                "    and t1.patient = ? " +
                "    and t1.family_member = t2.id ";
        if (StringUtils.isNotBlank(archive_type)){
            sql += " and t2.archive_type='"+archive_type+"' ";
        }
/*        if(isContacts != null){
            sql += " and t1.is_contacts = "+ isContacts;
        }*/

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

@ -742,7 +742,7 @@ public class LifeCareOrderService extends BaseJpaService<LifeCareOrderDO, LifeCa
    public JSONObject getDoctorOrderList(String doctor, int page, int size) {
        page = page>0?page-1:0;
        String sqlCount = "select count(ord.id) from  base_life_care_order ord where ord.doctor = '"+doctor+"' ";
        String sql = "select ord.id,DATE_FORMAT(ord.create_time,'%Y-%m-%d %H:%i:%S') createTime,DATE_FORMAT(ord.patient_expected_serve_time,'%Y-%m-%d %H:%i:%S') serveTime,ord.status,ord.hospital,ord.hospital_name hospitalName" +
        String sql = "select ord.patient,ord.patient_name,ord.id,DATE_FORMAT(ord.create_time,'%Y-%m-%d %H:%i:%S') createTime,DATE_FORMAT(ord.patient_expected_serve_time,'%Y-%m-%d %H:%i:%S') serveTime,ord.status,ord.hospital,ord.hospital_name hospitalName" +
                ",ord.doctor,ord.doctor_name doctorName,ord.expected_doctor_name expectedDoctorName,group_concat(Distinct fee.name SEPARATOR '、') serveItems" +
                " from base_life_care_order ord LEFT JOIN base_life_care_fee_detail fee on ord.id = fee.order_id " +
                "and fee.`status`<>3 where ord.doctor = '"+doctor+"' and ord.status<>0  ";

+ 24 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/message/PatientMessageService.java

@ -2,10 +2,15 @@ package com.yihu.jw.care.service.message;
import com.yihu.jw.care.dao.message.OrgNoticeDao;
import com.yihu.jw.care.dao.message.UserNoticeDao;
import com.yihu.jw.care.dao.security.BaseEmergencyWarnLogDao;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.notice.UserNoticeDO;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.care.message.OrgNoticeDO;
import com.yihu.jw.entity.care.securitymonitoring.BaseEmergencyWarnLogDO;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import com.yihu.jw.hospital.message.dao.SystemMessageDao;
import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.util.date.DateUtil;
import org.apache.commons.lang3.StringUtils;
@ -13,6 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -29,6 +35,10 @@ public class PatientMessageService {
    private UserNoticeDao userNoticeDao;
    @Autowired
    private SystemMessageDao systemMessageDao;
    @Autowired
    private BasePatientDao patientDao;
    @Autowired
    private BaseEmergencyWarnLogDao logDao;
    public PageEnvelop getNoticeList(String patient,String beginTime, String endTime, int page, int size){
        page = page>0?page-1:0;
@ -114,5 +124,19 @@ public class PatientMessageService {
        messageDO.setIsRead("1");
        messageDO.setOver("1");
        systemMessageDao.save(messageDO);
        if ("50" .equals(messageDO.getType())){
            BasePatientDO patientDO = patientDao.findById(messageDO.getReceiver());
            if (null!=patientDO){
                BaseEmergencyWarnLogDO logDO = new BaseEmergencyWarnLogDO();
                logDO.setUserCode(patientDO.getId());
                logDO.setUserName(patientDO.getName());
                logDO.setOrderId(messageDO.getRelationCode());
                logDO.setUserType(1);
                logDO.setCreateTime(new Date());
                logDO.setContent("家属"+patientDO.getName()+"已知悉预警消息");
                logDao.save(logDO);
            }
        }
    }
}

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/patient/CarePatientService.java

@ -311,7 +311,7 @@ public class CarePatientService extends BaseJpaService<BasePatientDO, BasePatien
    public List<Integer> getFamilyAllArchiveType(String patient){
        List<Integer> result = new ArrayList<>();
        JSONArray familyArr =  familyMemberService.getPatientMembers(patient,null,null,null);
        JSONArray familyArr =  familyMemberService.getPatientMembers(patient,null,null,null,null);
        for (int i=0;i<familyArr.size();i++){
            String patientId = familyArr.getJSONObject(i).getString("id");
            BasePatientDO patientDO= patientDao.findById(patientId);
@ -523,7 +523,7 @@ public class CarePatientService extends BaseJpaService<BasePatientDO, BasePatien
    }
    public Integer findOldTotal(String name,String residentialArea){
        String sql = "SELECT count(DISTINCT a.id,a.name,a.photo,a.idcard,a.birthday,a.residential_area,a.sex) from base_patient a  WHERE a.archive_type = 1 and a.del = '1' ";
        String sql = "SELECT count(a.id) from base_patient a  WHERE a.archive_type = 1 and a.del = '1' ";
        if(!StringUtil.isBlank(name)){
            sql+= " and name like '%"+name+"%' ";
        }

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

@ -39,6 +39,7 @@ import com.yihu.jw.util.common.IdCardUtil;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.util.entity.EntityUtils;
import com.yihu.mysql.query.BaseJpaService;
import jdk.management.resource.internal.inst.FileOutputStreamRMHooks;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -104,6 +105,8 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
    private ConsultTeamDao consultTeamDao;
    @Autowired
    private YsDeviceService ysDeviceServicel;
    @Autowired
    private BaseEmergencyWarnLogDao logDao;
    private Logger logger = LoggerFactory.getLogger(SecurityMonitoringOrderService.class);
@ -250,7 +253,7 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
            case -2:statusName="误警报";break;
            case -1:statusName="已取消";break;
            case 0:statusName="已完成";break;
            case 1:statusName="申请中";break;
            case 1:statusName="预警中";break;
        }
        emergencyOrderVO.setStatusName(statusName);
        emergencyOrderVO.setOrderId(orderID);
@ -262,10 +265,14 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
        emergencyOrderVO.setPatient(orderDO.getPatient());
        emergencyOrderVO.setPatientName(orderDO.getPatientName());
        emergencyOrderVO.setSex(patientDO.getSex());
        emergencyOrderVO.setTopicItem(orderDO.getTopicItem());
        if (StringUtils.isNotBlank(orderDO.getSceneImg())){
            emergencyOrderVO.setSceneImg(orderDO.getSceneImg());
        }
        List<BaseEmergencyWarnLogDO> logDOS = logDao.findByOrderIdOrderByCreateTimeDesc(orderDO.getId());
        emergencyOrderVO.setOrderLogInfo(logDOS);
        if(StringUtils.isNotBlank(patientDO.getIdcard())){
            emergencyOrderVO.setAge((IdCardUtil.getAgeForIdcard(patientDO.getIdcard()))+"");
        }
@ -323,9 +330,12 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
                e.printStackTrace();
            }
        }
        //TODO 火灾、燃气、离床专题返回值
        // http://192.168.1.103:85/%E5%8C%BB%E5%85%BB%E7%BB%93%E5%90%88/V0.7.0/#g=1&p=%E6%96%B0%E5%AE%89%E9%98%B2%E5%8C%85
        //通知对象
        List<Map<String,Object>> noticePersons = new ArrayList<>();
        JSONArray familyArr =  familyMemberService.getPatientMembers(orderDO.getPatient(),null,null,null);
        JSONArray familyArr =  familyMemberService.getPatientMembers(orderDO.getPatient(),null,null,null,null);
        for (int i=0;i<familyArr.size();i++){
            String patientId = familyArr.getJSONObject(i).getString("id");
            BasePatientDO patientDO1 = basePatientDao.findById(patientId);
@ -471,7 +481,8 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
        return result;
    }
    public PageEnvelop getSecurityOrderList(String doctor, String serverDoctor, String patientName, String patient, String status,String topicItem, Integer page, Integer pageSize){
    public PageEnvelop getSecurityOrderList(String doctor, String serverDoctor, String patientName, String patient, String status,
                                            String svrDesc,String topicItem, Integer page, Integer pageSize){
        String sqlCount = "select count(ord.id) from base_security_monitoring_order ord INNER JOIN base_patient p on p.id = ord.patient " +
                "where 1=1 ";
        String fliter = "  ";
@ -496,6 +507,9 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
        if (StringUtils.isNotBlank(status)){
            fliter+=" and ord.status='"+Integer.parseInt(status)+"' ";
        }
        if (StringUtils.isNotBlank(svrDesc)){
            fliter+=" and ord.serve_desc='"+svrDesc+"' ";
        }
        if (StringUtils.isNotBlank(topicItem)){
            fliter+=" and ord.topic_item='"+topicItem+"' ";
        }
@ -538,7 +552,7 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
                case -2:statusName="误警报";break;
                case -1:statusName="已取消";break;
                case 0:statusName="已完成";break;
                case 1:statusName="申请中";break;
                case 1:statusName="预警中";break;
            }
            tmp.put("statusName",statusName);
            Integer age  = IdCardUtil.getAgeForIdcard(tmp.getString("idcard"));
@ -555,6 +569,59 @@ 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){
        JSONObject result = new JSONObject();
        result.put("status_-2",0);//误报警
        result.put("status_-1",0);//已取消
        result.put("status_0",0);//已完成
        result.put("status_1",0);//预警中
        result.put("status_all",0);//
        result.put("svr_all",0);//
        Map<String,String> serverTmp = new HashMap<>();
        String sql = " select py_code,dict_value from wlyy_hospital_sys_dict where dict_name='security_server_dict' ";
        List<Map<String,Object>> servers = jdbcTemplate.queryForList(sql);
        for (Map<String,Object> server:servers){
            result.put("svr_"+server.get("py_code").toString(),0);
            serverTmp.put(server.get("dict_value").toString(),server.get("py_code").toString());
        }
        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 = i.team_code  and i.del = 1 and sr.`status`=1  and i.code='preventLost' and m.doctor_code = '"+doctor+"' and m.del = '1') ";
        }
        if (StringUtils.isNotBlank(patient)){
            fliter+=" and ord.patient='"+patient+"' ";
        }
        if (StringUtils.isNotBlank(status)){
            fliter+=" and ord.status='"+Integer.parseInt(status)+"' ";
        }
        if (StringUtils.isNotBlank(svrDesc)){
            fliter+=" and ord.serve_desc='"+svrDesc+"' ";
        }
        if (StringUtils.isNotBlank(topicItem)){
            fliter+=" and ord.topic_item='"+topicItem+"' ";
        }
        fliter+=" group by ord.status,ord.serve_desc ";
        List<Map<String,Object>> sqlResult = jdbcTemplate.queryForList(sql+fliter);
        String pyCode = "";
        for (Map<String,Object> map:sqlResult){
            result.put("status_"+map.get("status"),result.getInteger("status_"+map.get("status"))+Integer.parseInt(map.get("count").toString()));
            pyCode =  serverTmp.get(map.get("serve_desc")).toString();
            result.put("svr_"+pyCode,result.getInteger("svr_"+pyCode)+Integer.parseInt(map.get("count").toString()));
            result.put("status_all",result.getInteger("status_all")+Integer.parseInt(map.get("count").toString()));
            result.put("svr_all",result.getInteger("svr_all")+Integer.parseInt(map.get("count").toString()));
        }
        return result;
    }
    public List<Map<String,Object>> getSecurityOrderUnCompleteList(String doctor){
        List<Map<String,Object>> result = new ArrayList<>();
        String sql = " select p.id patientCode,p.name,p.sex,p.idcard,p.photo,ord.id orderId,ord.number,ord.serve_desc,DATE_FORMAT(ord.create_time,'%Y-%m-%d %H:%i:%S') create_time,ord.`status`,ord.doctor," +
@ -1101,9 +1168,10 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
        result.put("fences",null);
        result.put("smoke",null);
        result.put("fire",null);
        result.put("fall",null);
        result.put("deviceSn",null);
        result.put("monitorInfo",null);
        if ((StringUtils.isNotBlank(topicItem)&&"preventLost".equals(topicItem))||null==topicItem){
        if ((StringUtils.isNotBlank(topicItem)&&"preventLost".equals(topicItem))||StringUtils.isBlank(topicItem)){
            List<DevicePatientDevice> devicePatientDeviceDos = patientDeviceDao.findByUserAndCategoryCode(patient,"4");
            if (devicePatientDeviceDos.size()==0){
            }
@ -1158,7 +1226,12 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
                }
            }
        }
        if ((StringUtils.isNotBlank(topicItem)&&"preventFall".equals(topicItem))||null==topicItem){
        if ((StringUtils.isNotBlank(topicItem)&&"preventFall".equals(topicItem))||StringUtils.isBlank(topicItem)){
            String sql = " select count(id) from base_security_monitoring_order where patient='"+patient+"' and topic_item='preventFall' and status="+SecurityMonitoringOrderDO.Status.apply.getType();
            Integer count = jdbcTemplate.queryForObject(sql,Integer.class);
            if (count>0){
                result.put("fall",true);
            }
            List<DevicePatientDevice> devicePatientDeviceDos = patientDeviceDao.findByUserAndCategoryCode(patient,"12");
            if (devicePatientDeviceDos.size()==0){
            }
@ -1243,6 +1316,18 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
            responseDO.setDoctor(doctor);
            responseDO.setResponseTime(new Date());
            emergencyWarnDoctorResponseDao.save(responseDO);
            BaseDoctorDO doctorDO = baseDoctorDao.findById(doctor);
            if (null!=doctorDO){
                BaseEmergencyWarnLogDO logDO = new BaseEmergencyWarnLogDO();
                logDO.setUserCode(doctor);
                logDO.setUserName(doctorDO.getName());
                logDO.setOrderId(orderId);
                logDO.setUserType(2);
                logDO.setCreateTime(new Date());
                logDO.setContent("助老员"+doctorDO.getName()+"前往定位");
                logDao.save(logDO);
            }
        }
        result.put("resultFlag", 1);
        result.put("resultMsg", "success");

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

@ -13,6 +13,7 @@ import com.yihu.jw.es.util.ElasticsearchUtil;
import com.yihu.jw.es.util.SaveModel;
import com.yihu.jw.im.util.ImUtil;
import com.yihu.jw.org.dao.BaseOrgDao;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.util.date.DateUtil;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.lang.StringUtils;
@ -228,16 +229,18 @@ public class StatisticsService {
     * @param size
     * @return
     */
    public List<String> fingLoginLog(Integer page,Integer size){
    public PageEnvelop fingLoginLog(Integer page,Integer size){
        List<String> result = new ArrayList<>();
        String sql = "select * from base_login_log order by create_time desc limit "+ (page-1)*size+","+size;
        String sqlCount = "select count(id) from base_login_log";
        Long count = jdbcTemplate.queryForObject(sqlCount,Long.class);
        List<BaseLoginLogDO> loginLogDOs = jdbcTemplate.query(sql,new BeanPropertyRowMapper(BaseLoginLogDO.class));
        for (BaseLoginLogDO log:loginLogDOs) {
            String content = log.getName() + "登录云照护平台 登录终端:" + getClientName(log.getClientType())
                    + " " + DateUtil.dateToStrLong(log.getCreateTime());
            result.add(content);
        }
        return result;
        return PageEnvelop.getSuccessListWithPage("查询成功",result,page,size,count);
    }
    /**

+ 5 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/patient/PatientNoLoginEndPoint.java

@ -2298,6 +2298,11 @@ public class PatientNoLoginEndPoint extends EnvelopRestEndpoint {
                System.out.println("111");
                return success("操作成功",tasyNatService.hdrQueryDataWS(jsonObject.getString("idcard"),jsonObject.getString("wsCode"),jsonObject.getString("oid"),jsonObject.getString("time")));
            }
            if ("GetDoctorWorkDate".equalsIgnoreCase(api)){
                System.out.println("111");
                return success("操作成功",tasyNatService.GetDoctorWorkDate("3",jsonObject.getString("dept")));
            }
            return success("");
        } catch (Exception e){
            return  failedException(e);

+ 21 - 7
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/prescription/PrescriptionEndpoint.java

@ -17,9 +17,11 @@ import com.yihu.jw.entity.base.area.BaseProvinceDO;
import com.yihu.jw.entity.base.area.BaseTownDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.im.ConsultDo;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import com.yihu.jw.entity.hospital.prescription.*;
import com.yihu.jw.entity.order.BusinessOrderDO;
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.hospital.httplog.service.BaseOperateLogService;
import com.yihu.jw.hospital.mapping.service.PatientMappingService;
import com.yihu.jw.hospital.prescription.dao.OutpatientDao;
@ -136,6 +138,8 @@ public class PrescriptionEndpoint extends EnvelopRestEndpoint {
    private BaseOperateLogService baseOperateLogService;
    @Autowired
    private TasyNatService tasyNatService;
    @Autowired
    private WlyyHospitalSysDictDao wlyyHospitalSysDictDao;
    @Value("${qywx.id}")
    private String qywxId;
@ -2888,17 +2892,27 @@ public class PrescriptionEndpoint extends EnvelopRestEndpoint {
        }else if ("xm_tasy_wx".equalsIgnoreCase(wxId)){
            String res=tasyNatService.departMent(deptCode);
            String dept="";
            WlyyHospitalSysDictDO wlyyHospitalSysDictDO = wlyyHospitalSysDictDao.findById("tasyNatDept");
            if (wlyyHospitalSysDictDO!=null){
                dept=wlyyHospitalSysDictDO.getDictValue();
            }
            JSONObject deptres = JSON.parseObject(res);
            if (deptres!=null){
                if (deptres.getString("success").equalsIgnoreCase("true")){
                    JSONObject data = JSON.parseObject(deptres.getString("data"));
                    dept=data.getString("Dept");
                    JSONArray jsonArray1 = JSON.parseArray(dept);
                    /*JSONObject data = JSON.parseObject(deptres.getString("data"));
                    String depts=data.getString("Dept");
                    JSONArray jsonArray1 = JSON.parseArray(depts);
                    if (jsonArray1!=null&&jsonArray1.size()>0){
                        JSONObject jsonObject = jsonArray1.getJSONObject(0);
                        dept=jsonObject.getString("Id");
                        System.out.println(dept);
                    }
                        for (int i=0;i<jsonArray1.size();i++){
                            JSONObject jsonObject = jsonArray1.getJSONObject(i);
                            if (dept.equalsIgnoreCase(jsonObject.getString("Id"))){
                                dept=jsonObject.getString("Id");
                                System.out.println(dept);
                                break;
                            }
                        }
                    }*/
                    String json=tasyNatService.GetDoctorWorkDate("3",dept);
                    JSONObject jsonObject = JSON.parseObject(json);
                    jsonObject.put("dept",dept);