Browse Source

Merge remote-tracking branch 'origin/dev' into dev

D 2 years ago
parent
commit
4caf5b7d7f

+ 12 - 1
business/base-service/src/main/java/com/yihu/jw/hospital/message/service/BaseUserMsgService.java

@ -34,6 +34,7 @@ import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import com.yihu.jw.util.common.IdCardUtil;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import com.yihu.jw.wechat.enterprise.EnterpriseService;
import com.yihu.mysql.query.BaseJpaService;
import com.yihu.mysql.query.URLQueryParser;
import org.apache.commons.collections.map.HashedMap;
@ -90,6 +91,9 @@ public class BaseUserMsgService extends BaseJpaService<BaseUserMessageDO, BaseUs
    @Autowired
    private BaseOperateLogDao baseOperateLogDao;
    @Autowired
    private EnterpriseService enterpriseService;
    @Value("${wechat.id}")
    private String wxId;
@ -98,7 +102,7 @@ public class BaseUserMsgService extends BaseJpaService<BaseUserMessageDO, BaseUs
    private boolean flag;
    public ObjEnvelop leaveMessage(String content, String reciverId, String reciverName, String senderId, Integer type, String key, String value)
            throws IOException {
            throws Exception {
        BaseUserMessageDO baseUserMessageDO = new BaseUserMessageDO();
        ObjEnvelop objEnvelop = new ObjEnvelop();
        boolean checkTimeOut = checkGiveTimeOut(senderId, reciverId);
@ -139,6 +143,13 @@ public class BaseUserMsgService extends BaseJpaService<BaseUserMessageDO, BaseUs
                baseUserMessageDO.setIsShow(1);
                baseUserMessageDO.setIsRead(Integer.valueOf(0));
                this.baseUserMessageDao.save(baseUserMessageDO);
                String title = "评论留言";
                String msg = "您收到一条来自"+senderName+"的留言,请及时回复。";
                if (wxId.equalsIgnoreCase("xm_hcyy_wx")){
                    String url="https://hlwyy.xmhcyy.com/hcyy/ims-app-web/#/personal/score";
                    enterpriseService.sendTWMesByDoctor("xm_hcyy_wx",reciverId,title,msg,url);
                }
                System.out.println("评论留言========="+reciverId);
                objEnvelop.setStatus(Integer.valueOf(200));
                objEnvelop.setMessage("留言成功");
            }

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

@ -467,7 +467,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
    /**
     *
     */
    public List<WlyyPrescriptionVO> findOriginPrescriptionList(String registerSn, String patient, String realOrder, String admNo, boolean demoFlag) throws Exception {
    public List<WlyyPrescriptionVO> findOriginPrescriptionList(String registerSn, String patient, String realOrder, String admNo, boolean demoFlag,String startDate,String endDate) throws Exception {
        /*String patNo = patientMappingService.findHisPatNoByPatient(patient);*/
        BasePatientDO patientDO = basePatientDao.findById(patient);
        if (patientDO==null){
@ -483,7 +483,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        }
        //BS16017(String REGISTER_SN,String realOrder,String PAT_NO,String ADM_NO,boolean demoFlag) throws Exception {
        logger.info("findOriginPrescriptionList: registerSn:" + registerSn + " patient" + patient + " patNo:" + patNo + " realOrder:" + realOrder + " admNo:" + admNo);
        List<WlyyPrescriptionVO> prescriptionVOS = entranceService.BS16017(registerSn, realOrder, patNo, admNo, demoFlag);
        List<WlyyPrescriptionVO> prescriptionVOS = entranceService.BS16017(registerSn, realOrder, patNo, admNo, demoFlag,startDate,endDate);
        for (WlyyPrescriptionVO prescriptionVO:prescriptionVOS){
            WlyyPrescriptionEmrDO wlyyPrescriptionEmrDO = readOutPatientXml(registerSn);//电子病历
            prescriptionVO.setWlyyPrescriptionEmrDO(wlyyPrescriptionEmrDO);
@ -516,7 +516,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        if (StringUtils.isBlank(patNo)) {
            return null;
        }
        List<WlyyPrescriptionVO> rs = entranceService.BS16017(registerSn, realOrder, patNo, admNo, demoFlag);
        List<WlyyPrescriptionVO> rs = entranceService.BS16017(registerSn, realOrder, patNo, admNo, demoFlag,null,null);
        if (rs != null && rs.size() > 0) {
            return rs.get(0);
        }
@ -7714,7 +7714,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
            List<WlyyDoctorWorkTimeVO> timeVOs = new ArrayList<>();
            return convertToModels(times, timeVOs, WlyyDoctorWorkTimeVO.class);
        } else {
            List<WlyyDoctorWorkTimeDO> times = doctorWorkTimeDao.findDoctorWorkTimeByTime(doctor, DateUtil.stringToDate(startDate + " 00:00:00", "yyyy-MM-dd HH:mm:ss"), DateUtil.stringToDate(endDate + " 23:59:59", "yyyy-MM-dd HH:mm:ss"));
            List<WlyyDoctorWorkTimeDO> times = doctorWorkTimeDao.findDoctorWorkTimeByTime(doctor, DateUtil.stringToDate(startDate, "yyyy-MM-dd HH:mm:ss"), DateUtil.stringToDate(endDate, "yyyy-MM-dd HH:mm:ss"));
            List<WlyyDoctorWorkTimeVO> timeVOs = new ArrayList<>();
            return convertToModels(times, timeVOs, WlyyDoctorWorkTimeVO.class);
        }

+ 17 - 8
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/EntranceService.java

@ -477,7 +477,7 @@ public class EntranceService {
     * @return
     * @throws Exception
     */
    public List<WlyyPrescriptionVO> BS16017(String REGISTER_SN, String realOrder, String PAT_NO, String ADM_NO, boolean demoFlag) throws Exception {
    public List<WlyyPrescriptionVO> BS16017(String REGISTER_SN, String realOrder, String PAT_NO, String ADM_NO, boolean demoFlag,String startDate,String endDate) throws Exception {
        String fid = BS16017;
        String resp = "";
        logger.info("BS16017: REGISTER_SN:" + REGISTER_SN + " realOrder" + realOrder + " PAT_NO:" + PAT_NO + " ADM_NO:" + ADM_NO);
@ -491,19 +491,28 @@ public class EntranceService {
            //MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
            sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>" + sourceSysCode + "</SourceSysCode><TargetSysCode>" + targetSysCode + "</TargetSysCode></MessageHeader>");
            //查询信息拼接
            sbs.append("<MsgInfo><endNum>20000</endNum><Msg/>");
            sbs.append("<MsgInfo><endNum>20000</endNum><Msg>");
            if (StringUtils.isNotBlank(REGISTER_SN)) {
                sbs.append("<query compy=\"=\" item=\"REGISTER_SN\" splice=\"and\" value=\"'" + REGISTER_SN + "'\"/>");
                sbs.append(" and REGISTER_SN = '"+REGISTER_SN+"' ");
                /*sbs.append("<query compy=\"=\" item=\"REGISTER_SN\" splice=\"and\" value=\"'" + REGISTER_SN + "'\"/>");*/
            }
            if (StringUtils.isNotBlank(realOrder)) {
                sbs.append("<query compy=\"=\" item=\"DISP_NO\" splice=\"and\" value=\"'" + realOrder + "'\"/>");
                sbs.append(" and DISP_NO = '"+realOrder+"' ");
                /*sbs.append("<query compy=\"=\" item=\"DISP_NO\" splice=\"and\" value=\"'" + realOrder + "'\"/>");*/
            }
            if (StringUtils.isNotBlank(PAT_NO)) {
                sbs.append("<query compy=\"=\" item=\"PAT_NO\" splice=\"and\" value=\"'" + PAT_NO + "'\"/>");
                sbs.append(" and PAT_NO = '"+PAT_NO+"' ");
                /*sbs.append("<query compy=\"=\" item=\"PAT_NO\" splice=\"and\" value=\"'" + PAT_NO + "'\"/>");*/
            }
            if (StringUtils.isNotBlank(ADM_NO)) {
                sbs.append("<query compy=\"=\" item=\"ADM_NO\" splice=\"and\" value=\"'" + ADM_NO + "'\"/>");
            if (StringUtils.isNotBlank(startDate)) {
                sbs.append(" and CHARGES_DATE &gt;= '"+startDate+"' ");
                /*sbs.append("<query compy=\"=\" item=\"CHARGE_DATE\" splice=\"and\" value=\"'" + startDate + "'\"/>");*/
            }
            if (StringUtils.isNotBlank(endDate)) {
                sbs.append(" and CHARGES_DATE &lt;= '"+endDate+"' ");
                /*sbs.append("<query compy=\"=\" item=\"CHARGE_DATE\" splice=\"and\" value=\"'" + ADM_NO + "'\"/>");*/
            }
            sbs.append("</Msg> ");
            //查询信息结束
            sbs.append("<startNum>1</startNum></MsgInfo></ESBEntry>");
            resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid);
@ -786,7 +795,7 @@ public class EntranceService {
     * 患者门诊就诊记录
     * 使用时间查询的话,很可能会超时。时间没有索引,所以超时时间需要加长
     *
     * @param PAT_NO    居民唯一号 一个居民在该医院只有一个号,该接口必须输入的参数
     * @param idcard    居民唯一号 一个居民在该医院只有一个号,该接口必须输入的参数
     * @param conNo     就诊次数,使用居民唯一号+就诊次数获取唯一一条就诊记录
     *                  // *  @param admNo 就诊唯一号 每一次就诊都有一个唯一号:居民号+就诊次数,查询确定的一条就诊记录时需要传,否则传null
     *                  // *  @param registerSn 挂号流水号,查询确定的一条就诊记录时需要传,否则传null

+ 10 - 8
business/base-service/src/main/java/com/yihu/jw/wlyy/service/WlyyBusinessService.java

@ -351,14 +351,16 @@ public class WlyyBusinessService {
                        Integer status = rs.getInteger("status");
                        if (200 == status) {
                            JSONObject data = rs.getJSONObject("data");
                            if (data.get("ssc")!=null){
                                patientCardNo = data.getString("ssc");
                                patientMedicareCardDO = new PatientMedicareCardDO();
                                patientMedicareCardDO.setPatientCode(patientId);
                                patientMedicareCardDO.setCode(patientCardNo);
                                patientMedicareCardDO.setType("A_01");
                                patientMedicareCardDO.setDel("1");
                                patientMedicareCardDao.save(patientMedicareCardDO);
                            if (data!=null){
                                if (data.get("ssc")!=null){
                                    patientCardNo = data.getString("ssc");
                                    patientMedicareCardDO = new PatientMedicareCardDO();
                                    patientMedicareCardDO.setPatientCode(patientId);
                                    patientMedicareCardDO.setCode(patientCardNo);
                                    patientMedicareCardDO.setType("A_01");
                                    patientMedicareCardDO.setDel("1");
                                    patientMedicareCardDao.save(patientMedicareCardDO);
                                }
                            }
                        }
                    }

+ 1 - 1
gateway/ag-basic/pom.xml

@ -12,7 +12,7 @@
    <artifactId>ag-basic</artifactId>
    <version>${parent.version}</version>
    <packaging>jar</packaging>
    <packaging>war</packaging>
    <dependencies>
        <!-- 支持Tomcat启动 -->

+ 1 - 1
gateway/ag-basic/src/main/java/com/yihu/jw/gateway/filter/BasicZuulFilter.java

@ -147,7 +147,7 @@ public class BasicZuulFilter extends ZuulFilter {
                || url.contains("/basePatient/sendCaptcha")//发送短信
                || url.contains("/sms_gateway/send")//发送短信
                || url.contains("/accountAppeal/create")
                || url.contains("/open/")//开放接口
                || (url.contains("/open/")&&!url.contains("/open/fileUpload/upload_stream_img"))//开放接口
                || url.contains("/cloudCare/noLogin/")//医疗云开放接口
                || url.contains("/image/")//获取默认图片
                ||url.contains("/weixin")||

+ 9 - 1
gateway/ag-basic/src/main/java/com/yihu/jw/gateway/filter/PostFilter.java

@ -19,6 +19,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import org.springframework.util.StreamUtils;
import org.springframework.util.StringUtils;
import javax.servlet.http.HttpServletRequest;
import java.io.InputStream;
@ -130,7 +131,14 @@ public class PostFilter extends ZuulFilter {
        }*/
        logger.info("body",body+"=====status====="+ctx.getResponseStatusCode());
        JSONObject object = new JSONObject();
        object.put("status","200");
        if (body!=null&&body!=""){
            if (body.contains("{")||body.contains("[")){
                JSONObject jsonObject =JSONObject.parseObject(body);
                object.put("status",jsonObject.getString("status"));
            }else {
                object.put("status",200);
            }
        }
        object.put("data", AesEncryptUtils.encrypt(body));
        if (!(url.contains("/open/noLogin/notify")||
            url.contains("/open/noLogin/ylzReceiveNotify")||

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

@ -29,6 +29,7 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
import java.util.concurrent.TimeUnit;
/**
 * @Auther hmf
@ -104,6 +105,8 @@ public class WlyyIotLoginEndpoint {
        if (org.apache.commons.lang3.StringUtils.isNotBlank(captcha)&& captcha.equals(text.toLowerCase())){
            pass = true;
            redisTemplate.delete(key);
            //设置过期时间2分钟
            redisTemplate.opsForValue().set(key,text.toLowerCase(),2, TimeUnit.MINUTES);
        }
        return pass;
    }

+ 1 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/wechat/WechatMenuController.java

@ -50,6 +50,7 @@ public class WechatMenuController extends EnvelopRestEndpoint {
            // 请求微信接口创建菜单
            String jsonStr = HttpUtil.sendPost(url, params);
            logger.info("日志"+jsonStr);
            JSONObject result = new JSONObject(jsonStr);
            if (result != null && result.get("errcode").toString().equals("0") && result.getString("errmsg").equals("ok")) {
                return "创建成功!";

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

@ -366,6 +366,7 @@ public class YsDeviceService {
            JSONObject payloadJson = new JSONObject();
            if (StringUtils.isNoneBlank(baseMqttCallbackRecordDO.getPayload())){
                payloadJson = JSONObject.parseObject(baseMqttCallbackRecordDO.getPayload());
                payloadJson.put("m3u8Url",payloadJson.getString("sourceURL").replace(".live.flv","/hls.m3u8"));
                payloadJson.put("deviceSerial",deviceSerial);
            }
            result.put(ResponseContant.resultFlag,ResponseContant.success);

+ 1 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/doctor/CareDoctorService.java

@ -139,7 +139,7 @@ public class CareDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
     */
    public Map<String,Object> doctorInfo(String doctorId,String isRole){
        String sql = "SELECT d.id,d.name,d.doctor_level level,d.photo,d.introduce,d.expertise,CONCAT(left(d.mobile,3),'*****',right(d.mobile,3)) mobile,CONCAT(LEFT ( d.idcard, 5 ),'**********',RIGHT ( d.idcard, 3 )) idcard,d.sex,h.dept_code deptCode,h.dept_name deptName,d.job_title_code jobTitleCode,d.job_title_name jobTitleName ";
        sql += " ,h.org_code orgCode,org.address orgAddress,org.name orgName from base_doctor d left join base_doctor_hospital h on d.id = h.doctor_code  and h.del = 1" +
        sql += " ,h.org_code orgCode,org.address orgAddress,org.name orgName,d.ykt_doctor_id zzdId from base_doctor d left join base_doctor_hospital h on d.id = h.doctor_code  and h.del = 1" +
                " LEFT JOIN base_org org on h.org_code = org.`code`  WHERE d.id = '"+doctorId+"' limit 1 ";
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
        Map<String,Object> map = list.get(0);

+ 14 - 14
svr/svr-cloud-care/src/main/resources/wechat/weixin_menu.txt

@ -1,16 +1,16 @@
{
"button":[
   {
	  "name":"进入云照护",
	  "type":"view",
      "url":"https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx2c55f5b7b2f3cb56&redirect_uri=https%3A%2F%2Fzhyzh.gongshu.gov.cn%2Fmedical-care-patient%2Fhome%2Findex&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect"
   },
   {
   	  "name":"线上商城",
   	  "type":"miniprogram",
      "url":"http://mp.weixin.qq.com",
      "appid": "wxd845553a12f84efc",
      "pagepath": "pages/index/index"
   }
]
    "button": [
        {
            "name": "老人/幼儿照护",
            "type": "view",
            "url": "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx2c55f5b7b2f3cb56&redirect_uri=https%3A%2F%2Fzhyzh.gongshu.gov.cn%2Fmedical-care-patient%2Fhome%2Findex&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect"
        },
        {
            "name": "线上商城",
            "type": "miniprogram",
            "url": "http://mp.weixin.qq.com",
            "appid": "wxd845553a12f84efc",
            "pagepath": "pages/index/index"
        }
    ]
}

+ 6 - 2
svr/svr-internet-hospital-entrance/src/main/java/com/yihu/jw/entrance/controller/MqSdkController.java

@ -82,8 +82,12 @@ public class MqSdkController extends EnvelopRestEndpoint {
            @ApiParam(name = "admNo", value = "住院唯一号", required = false)
            @RequestParam(value = "admNo",required = false) String admNo,
            @ApiParam(name = "realOrder", value = "处方号", required = false)
            @RequestParam(value = "realOrder",required = false) String realOrder) throws Exception {
        List<WlyyPrescriptionVO> obj = entranceService.BS16017(registerSn,realOrder, patNo, admNo, demoFlag);
            @RequestParam(value = "realOrder",required = false) String realOrder,
            @ApiParam(name = "startDate", value = "开始时间", required = false)
            @RequestParam(value = "startDate",required = false) String startDate,
            @ApiParam(name = "endDate", value = "结束时间", required = false)
            @RequestParam(value = "endDate",required = false) String endDate) throws Exception {
        List<WlyyPrescriptionVO> obj = entranceService.BS16017(registerSn,realOrder, patNo, admNo, demoFlag,startDate,endDate);
        return success(obj);
    }

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

@ -278,12 +278,16 @@ public class PrescriptionEndpoint extends EnvelopRestEndpoint {
            @ApiParam(name = "admNo", value = "住院唯一号")
            @RequestParam(value = "admNo", required = false) String admNo,
            @ApiParam(name = "realOrder", value = "处方号")
            @RequestParam(value = "realOrder", required = false) String realOrder) throws Exception {
            @RequestParam(value = "realOrder", required = false) String realOrder,
            @ApiParam(name = "startDate", value = "开始时间")
            @RequestParam(value = "startDate", required = false) String startDate,
            @ApiParam(name = "endDate", value = "结束时间")
            @RequestParam(value = "endDate", required = false) String endDate) throws Exception {
        try {
            List<WlyyPrescriptionVO> obj = new ArrayList<>();
            if (wxId.equalsIgnoreCase("xm_zsyy_wx")) {
                obj = prescriptionService.findOriginPrescriptionList(registerSn, patNo, realOrder, admNo, demoFlag);
                obj = prescriptionService.findOriginPrescriptionList(registerSn, patNo, realOrder, admNo, demoFlag,startDate,endDate);
            } else if (wxId.equalsIgnoreCase("sd_tnzyy_wx")) {
                obj = tnPrescriptionService.findOriginPrescriptionList(registerSn, patNo, realOrder, admNo, demoFlag);
            } else if (wxId.equalsIgnoreCase("xm_hcyy_wx")) {