Ver código fonte

Merge branch 'dev' of wangjun/wlyy2.0 into dev

wangzhinan 4 anos atrás
pai
commit
cc8ed7693d
15 arquivos alterados com 432 adições e 27 exclusões
  1. 12 0
      business/base-service/src/main/java/com/yihu/jw/dict/dao/BaseJpushTemplateDao.java
  2. 3 0
      business/base-service/src/main/java/com/yihu/jw/dict/dao/DictHospitalDeptDao.java
  3. 2 0
      business/base-service/src/main/java/com/yihu/jw/hospital/dict/WlyyHospitalSysDictDao.java
  4. 224 11
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/PrescriptionService.java
  5. 40 6
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/YkyyEntranceService.java
  6. 24 5
      business/base-service/src/main/java/com/yihu/jw/order/BusinessOrderService.java
  7. 13 3
      business/base-service/src/main/java/com/yihu/jw/utils/YkyySMSService.java
  8. 10 0
      business/base-service/src/main/java/com/yihu/jw/wechat/service/WxTemplateService.java
  9. 12 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/DictHospitalDeptDO.java
  10. 58 0
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/dict/BaseJpushTemplateDO.java
  11. 1 0
      common/common-request-mapping/src/main/java/com/yihu/jw/rm/hospital/BaseHospitalRequestMapping.java
  12. 5 0
      svr/svr-internet-hospital-job/src/main/java/com/yihu/jw/service/channel/UnSettledHISPrescriptionService.java
  13. 4 2
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/consult/DoctorConsultEndpoint.java
  14. 23 0
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/patient/PatientNoLoginEndPoint.java
  15. 1 0
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/service/analysis/AnalysisService.java

+ 12 - 0
business/base-service/src/main/java/com/yihu/jw/dict/dao/BaseJpushTemplateDao.java

@ -0,0 +1,12 @@
package com.yihu.jw.dict.dao;
import com.yihu.jw.entity.hospital.dict.BaseDeptDict;
import com.yihu.jw.entity.hospital.dict.BaseJpushTemplateDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
public interface BaseJpushTemplateDao extends PagingAndSortingRepository<BaseJpushTemplateDO, String>, JpaSpecificationExecutor<BaseJpushTemplateDO> {
    @Query("from BaseJpushTemplateDO  where code = ?1 and isDel ='1'")
    BaseJpushTemplateDO findByCode(String code);
}

+ 3 - 0
business/base-service/src/main/java/com/yihu/jw/dict/dao/DictHospitalDeptDao.java

@ -50,4 +50,7 @@ public interface DictHospitalDeptDao extends PagingAndSortingRepository<DictHosp
    @Query("delete from DictHospitalDeptDO  where orgCode=?1")
    void deleteByOrgCode(String orgCode);
    @Query("from DictHospitalDeptDO  where usualName = ?1")
    List<DictHospitalDeptDO> findByUsuallyName(String usualName);
}

+ 2 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/dict/WlyyHospitalSysDictDao.java

@ -26,4 +26,6 @@ public interface WlyyHospitalSysDictDao extends PagingAndSortingRepository<WlyyH
    List<WlyyHospitalSysDictDO> findByDictCode(String dictCode);
    List<WlyyHospitalSysDictDO> findByDictNameAndDictCode(String dictName,String dictCode);
    @Query("from WlyyHospitalSysDictDO where dictName = ?1 order by sort asc")
    List<WlyyHospitalSysDictDO> findByDictNameOrderBySort(String dictName);
}

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

@ -2,10 +2,7 @@ package com.yihu.jw.hospital.prescription.service;
import com.alibaba.fastjson.JSON;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.dict.dao.BaseDictJobTitleDao;
import com.yihu.jw.dict.dao.BaseJobCategoryDao;
import com.yihu.jw.dict.dao.DictDeptDescDao;
import com.yihu.jw.dict.dao.DictHospitalDeptDao;
import com.yihu.jw.dict.dao.*;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.doctor.dao.BaseDoctorHospitalDao;
import com.yihu.jw.doctor.service.BaseDoctorInfoService;
@ -27,6 +24,7 @@ import com.yihu.jw.entity.base.yx.YxTokenMappingDO;
import com.yihu.jw.entity.hospital.consult.WlyyDoctorClinicRoomDO;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalWaitingRoomDO;
import com.yihu.jw.entity.hospital.dict.BaseJpushTemplateDO;
import com.yihu.jw.entity.hospital.dict.WlyyChargeDictDO;
import com.yihu.jw.entity.hospital.doctor.WlyyDoctorOnlineTimeDO;
import com.yihu.jw.entity.hospital.doctor.WlyyDoctorWorkTimeDO;
@ -133,6 +131,7 @@ import java.text.DecimalFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
import static javafx.scene.input.KeyCode.L;
@ -291,7 +290,8 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
    private YkyySMSService ykyySMSService;
    @Autowired
    private TnyyEntranceService tnyyEntranceService;
    @Autowired
    private BaseJpushTemplateDao baseJpushTemplateDao;
    @Value("${demo.flag}")
@ -2607,7 +2607,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
            prescription.setRegFee(outpatientDO.getFee());
            prescription.setPrescribeTime(new Date());
            //保存费用
            prescriptionDao.save(prescription);
            prescription = prescriptionDao.save(prescription);
            if (wechatId.equalsIgnoreCase("xm_ykyy_wx")) {
                outpatientDO.setStatus("2");
                outpatientDao.save(outpatientDO);
@ -3727,7 +3727,6 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                rs.put("winNo", org.getWinNo());
                rs.put("deptName", hospitalDOs.get(0).getDeptName());
                rs.put("dept", hospitalDOs.get(0).getDeptCode());
                if (StringUtils.isNotBlank(withWork) && "1".equals(withWork)) {
                    List<WlyyDoctorWorkTimeVO> times = findDoctorWorkTime(doctor, hospitalDOs.get(0).getOrgCode(),"");
                    rs.put("workTime", times);
@ -4398,6 +4397,10 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                //发起微信消息模板推送
                newConfig.setUrl(newConfig.getUrl() + "" + outpatientDO.getId());
                logger.info("眼科微信消息模板推送 医生拒诊开始");
                logger.info("极光消息推送 医生拒诊开始");
                wxTempalteJPush("cancel_remind",outpatientDO,null,"","","","");
                /*String res = wxTempalteJPush(outpatientDO.getConsumer(),newConfig.getFirst(),"医生拒绝了你的问诊",type,outpatientDO.getId());
                logger.info("JPUSH res==="+res);*/
            }else if("outPatientTimeOutRemind".equals(titelType)){
                //就诊等待过长提示
                scene="jzddgcts";
@ -4431,6 +4434,8 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                //发起微信消息模板推送
                newConfig.setUrl(newConfig.getUrl() + "" + outpatientDO.getId());
                logger.info("眼科微信消息模板推送 就诊支付提醒开始");
                logger.info("极光消息推送 就诊支付提醒开始");
                wxTempalteJPush("outpatient_pay",outpatientDO,null,"","","","");
            } else if ("prescriptionPayRemind".equalsIgnoreCase(titelType)) {
                //处方开具支付提醒
                scene = "cfzfts";
@ -4443,6 +4448,8 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                //发起微信消息模板推送
                newConfig.setUrl(newConfig.getUrl() + "" + outpatientDO.getId());
                logger.info("眼科微信消息模板推送 处方支付提醒开始");
                logger.info("极光消息推送 医生拒诊开始");
                wxTempalteJPush("prescription_pay",outpatientDO,null,"","","","");
            }else if ("videoOrderRemind".equalsIgnoreCase(titelType)) {
                //视频问诊预约提醒
                scene = "spwzyytx";
@ -4472,6 +4479,8 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                newConfig.setKeyword3(consDoctorDO.getName());
                //发起微信消息模板推送
                newConfig.setUrl(newConfig.getUrl() + "" + consultTeam.getConsult());
                logger.info("极光消息推送 医生拒诊开始");
                wxTempalteJPush("give_score",outpatientDO,consultTeam,"","","","");
                logger.info("眼科微信消息模板推送 服务评价提醒开始");
            } else if ("systemCancelRemind".equalsIgnoreCase(titelType)) {
                //系统24小时取消复诊提醒
@ -4667,6 +4676,8 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                wxPushLogDO.setScene(scene);
                wxPushLogDao.save(wxPushLogDO);
            }
            //发送极光消息推送
            wxTempalteJPush("logistics_remind",wlyyOutpatientDO,null,drugName,mailNo,remindMsg,prescriptionId);
        }else {
            first = "您好,您的处方订单物流"+remindMsg;
            contentMsg = "患者"+patienName+"的处方药品订单,"+drugName+"等,当前"+remindMsg+"。物流方:「顺丰快递」,物流单号:"+mailNo+"。";
@ -4861,7 +4872,8 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                "room.consult_type AS \"consult_type\"," +
                "outpatient.consumer as \"consumer\", " +
                "outpatient.consumer_name as \"consumerName\"," +
                "outpatient.consumer_mobile as \"consumerMobile\", ";
                "outpatient.consumer_mobile as \"consumerMobile\", "+
                "outpatient.create_time as \"create_date\", ";
        if ("xm_ykyy_wx".equals(wechatId)) {
            if(flag){
                sql += "date_format(room.reservation_time ,'yyyy-MM-dd hh24:mi:ss' ) AS \"timedate_format\",";
@ -5688,6 +5700,36 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
            //mysql 与 Oracle 聚合函数返回类型不一致,需要判断装换
            count = hibenateUtils.objTransformLong(listCount.get(0).get("total"));
        }
        List<WlyyHospitalSysDictDO> doctorFrontList = wlyyHospitalSysDictDao.findByDictNameOrderBySort("doctorFrontList");
        if (doctorFrontList!=null&&doctorFrontList.size()>0){
            List<Map<String,Object>> frontDoctor = new ArrayList<>();
            if (list!=null&&list.size()>0){
                for (WlyyHospitalSysDictDO wlyyHospitalSysDictDO:doctorFrontList){
                    for(Map<String,Object> map: list){
                        if(map.get("id").toString().equalsIgnoreCase(wlyyHospitalSysDictDO.getDictCode())){
                            map.put("doctorFrontSort",wlyyHospitalSysDictDO.getSort());
                            logger.info("doctorFrontSort",wlyyHospitalSysDictDO.getSort());
                            logger.info("doctorId",wlyyHospitalSysDictDO.getDictCode());
                            frontDoctor.add(map);
                        }
                    }
                }
                for (WlyyHospitalSysDictDO wlyyHospitalSysDictDO:doctorFrontList){
                    for(Map<String,Object> map1: list){
                        if (wlyyHospitalSysDictDO.getDictCode().equalsIgnoreCase(map1.get("id").toString())){
                            list.remove(map1);
                            break;
                        }
                    }
                }
                for(Map<String,Object> map1: list){
                    frontDoctor.add(map1);
                }
                list = frontDoctor;
            }
        }
        logger.info("findDoctorByHospitalAndDiseaseAndDept end:" + DateUtil.dateToStr(new Date(), "yyyy-MM-dd HH:mm:ss:SSS"));
        logger.info("sql:" + sql);
        MixEnvelop envelop =new MixEnvelop();
@ -5697,7 +5739,6 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        envelop.setCurrPage(page);
        return envelop;
    }
    /**
     * 获取常见疾病、热门部门、医生拒绝接诊原因 字典
     *
@ -8780,6 +8821,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                       content.deleteCharAt(content.length()-1);
                       icd10Code.deleteCharAt(icd10Code.length()-1);
                   }
                   wlyyOutpatientDO.setStatus("2");
                   wlyyOutpatientDO.setIcd10Name(content.toString());
                   wlyyOutpatientDO.setIcd10(icd10Code.toString());
                   outpatientDao.save(wlyyOutpatientDO);
@ -11426,14 +11468,16 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        com.alibaba.fastjson.JSONObject jsonObject = new com.alibaba.fastjson.JSONObject();
        jsonObject.put("platform","all");
        com.alibaba.fastjson.JSONObject audience = new com.alibaba.fastjson.JSONObject();
        audience.put("alias",userId);
        com.alibaba.fastjson.JSONArray jsonArray = new com.alibaba.fastjson.JSONArray();
        jsonArray.add(userId);
        audience.put("alias",jsonArray);
        jsonObject.put("audience",audience);
        com.alibaba.fastjson.JSONObject notification = new com.alibaba.fastjson.JSONObject();
        com.alibaba.fastjson.JSONObject android = new com.alibaba.fastjson.JSONObject();
        android.put("alert",alert);
        android.put("title",title);
        android.put("extras",extras);
        android.put("builder_id","1");
        android.put("builder_id",1);
        com.alibaba.fastjson.JSONObject ios = new com.alibaba.fastjson.JSONObject();
        ios.put("alert",alert);
        ios.put("sound","default");
@ -11442,10 +11486,14 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        notification.put("android",android);
        notification.put("ios",ios);
        jsonObject.put("notification",notification);
        System.out.println(notification.toString());
        String url = "https://api.jpush.cn/v3/push";
        Map<String, Object> headerMap = new HashedMap();
        headerMap.put("Authorization",auth);
        headerMap.put("Content-Type","application/json");
        /*headerMap.put("Content-Length",1024);
        headerMap.put("Host","127.0.0.1");*/
        logger.info("极光推送参数"+jsonObject);
        String response = httpClientUtil.postBodyHead(url,jsonObject,headerMap);
        logger.info("极光推送返回日志==="+response);
        WlyyHttpLogDO httpLogDO = new WlyyHttpLogDO();
@ -11457,4 +11505,169 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        return response;
    }
    public String wxTempalteJPush(String templateCode,WlyyOutpatientDO wlyyOutpatientDO ,ConsultTeamDo consultTeamDo,String drugName ,String mailNo,String mailStatus,String prescriptionId){
        String userId = "";
        String content = "";
        String title="";
        com.alibaba.fastjson.JSONObject jsonObject = new com.alibaba.fastjson.JSONObject();
        if("give_score".equalsIgnoreCase(templateCode)){
            BaseJpushTemplateDO baseJpushTemplateDO = baseJpushTemplateDao.findByCode(templateCode);
            if(baseJpushTemplateDO!=null){
                content = baseJpushTemplateDO.getPushContent();
                if(1==consultTeamDo.getType()){
                    content.replace("{{咨询类型}}","图文咨询");
                }else if(9==consultTeamDo.getType()){
                    content.replace("{{咨询类型}}","图文复诊");
                }
                else if(16==consultTeamDo.getType()){
                    content.replace("{{咨询类型}}","视频复诊");
                }
                else if(17==consultTeamDo.getType()){
                    content.replace("{{咨询类型}}","视频咨询");
                }
                title=baseJpushTemplateDO.getPushHeader();
            }
            userId = wlyyOutpatientDO.getConsumer();
            jsonObject.put("type",10);
            jsonObject.put("id",consultTeamDo.getConsult());
        }else if("video_invite".equalsIgnoreCase(templateCode)){
            BaseJpushTemplateDO baseJpushTemplateDO = baseJpushTemplateDao.findByCode(templateCode);
            if(baseJpushTemplateDO!=null){
                content = baseJpushTemplateDO.getPushContent();
                content.replace("{{医生姓名}}",wlyyOutpatientDO.getDoctorName());
                title=baseJpushTemplateDO.getPushHeader();
            }
            userId = wlyyOutpatientDO.getConsumer();
            jsonObject.put("type",30);
            jsonObject.put("id",wlyyOutpatientDO.getId());
        }else if("consult_remind".equalsIgnoreCase(templateCode)){
            BaseJpushTemplateDO baseJpushTemplateDO = baseJpushTemplateDao.findByCode(templateCode);
            if(baseJpushTemplateDO!=null){
                content = baseJpushTemplateDO.getPushContent();
                content.replace("{{医生姓名}}",wlyyOutpatientDO.getDoctorName());
                title=baseJpushTemplateDO.getPushHeader().replace("{{医生姓名}}",wlyyOutpatientDO.getDoctorName());
            }
            userId = wlyyOutpatientDO.getConsumer();
            jsonObject.put("type",31);
            jsonObject.put("id",wlyyOutpatientDO.getId());
        } else if("prescription_pay".equalsIgnoreCase(templateCode)){
            BaseJpushTemplateDO baseJpushTemplateDO = baseJpushTemplateDao.findByCode(templateCode);
            if(baseJpushTemplateDO!=null){
                content = baseJpushTemplateDO.getPushContent();
                content.replace("{{患者姓名}}",wlyyOutpatientDO.getPatientName());
                title=baseJpushTemplateDO.getPushHeader();
            }
            userId = wlyyOutpatientDO.getConsumer();
            jsonObject.put("type",6);
            jsonObject.put("id",wlyyOutpatientDO.getId());
        } else if("outpatient_pay".equalsIgnoreCase(templateCode)){
            BaseJpushTemplateDO baseJpushTemplateDO = baseJpushTemplateDao.findByCode(templateCode);
            if(baseJpushTemplateDO!=null){
                if ("1".equalsIgnoreCase(wlyyOutpatientDO.getOutpatientType())&&"1".equalsIgnoreCase(wlyyOutpatientDO.getType())){
                    content = baseJpushTemplateDO.getPushContent().replace("{{咨询类型}}","图文复诊");
                    title=baseJpushTemplateDO.getPushHeader().replace("{{咨询类型}}","图文复诊");
                }else if ("1".equalsIgnoreCase(wlyyOutpatientDO.getOutpatientType())&&"2".equalsIgnoreCase(wlyyOutpatientDO.getType())){
                    content = baseJpushTemplateDO.getPushContent().replace("{{咨询类型}}","视频复诊");
                    title=baseJpushTemplateDO.getPushHeader().replace("{{咨询类型}}","视频复诊");
                }else if ("3".equalsIgnoreCase(wlyyOutpatientDO.getOutpatientType())&&"1".equalsIgnoreCase(wlyyOutpatientDO.getType())){
                    content = baseJpushTemplateDO.getPushContent().replace("{{咨询类型}}","图文咨询");
                    title=baseJpushTemplateDO.getPushHeader().replace("{{咨询类型}}","图文咨询");
                }else if ("3".equalsIgnoreCase(wlyyOutpatientDO.getOutpatientType())&&"2".equalsIgnoreCase(wlyyOutpatientDO.getType())){
                    content = baseJpushTemplateDO.getPushContent().replace("{{咨询类型}}","视频咨询");
                    title=baseJpushTemplateDO.getPushHeader().replace("{{咨询类型}}","视频咨询");
                }else if ("2".equalsIgnoreCase(wlyyOutpatientDO.getOutpatientType())){
                    content = baseJpushTemplateDO.getPushContent().replace("{{咨询类型}}","协同复诊");
                    title=baseJpushTemplateDO.getPushHeader().replace("{{咨询类型}}","协同复诊");
                }else if ("3".equalsIgnoreCase(wlyyOutpatientDO.getOutpatientType())&&"3".equalsIgnoreCase(wlyyOutpatientDO.getType())){
                    content = baseJpushTemplateDO.getPushContent().replace("{{咨询类型}}","家医咨询");
                    title=baseJpushTemplateDO.getPushHeader().replace("{{咨询类型}}","家医咨询");
                }
            }
            userId = wlyyOutpatientDO.getConsumer();
            jsonObject.put("type",11);
            jsonObject.put("id",wlyyOutpatientDO.getId());
        } else if("cancel_remind".equalsIgnoreCase(templateCode)){
            BaseJpushTemplateDO baseJpushTemplateDO = baseJpushTemplateDao.findByCode(templateCode);
            if(baseJpushTemplateDO!=null){
                if ("1".equalsIgnoreCase(wlyyOutpatientDO.getOutpatientType())&&"1".equalsIgnoreCase(wlyyOutpatientDO.getType())){
                    content = baseJpushTemplateDO.getPushContent().replace("{{咨询类型}}","图文复诊");
                    title=baseJpushTemplateDO.getPushHeader().replace("{{咨询类型}}","图文复诊");
                }else if ("1".equalsIgnoreCase(wlyyOutpatientDO.getOutpatientType())&&"2".equalsIgnoreCase(wlyyOutpatientDO.getType())){
                    content = baseJpushTemplateDO.getPushContent().replace("{{咨询类型}}","视频复诊");
                    title=baseJpushTemplateDO.getPushHeader().replace("{{咨询类型}}","视频复诊");
                }else if ("3".equalsIgnoreCase(wlyyOutpatientDO.getOutpatientType())&&"1".equalsIgnoreCase(wlyyOutpatientDO.getType())){
                    content = baseJpushTemplateDO.getPushContent().replace("{{咨询类型}}","图文咨询");
                    title=baseJpushTemplateDO.getPushHeader().replace("{{咨询类型}}","图文咨询");
                }else if ("3".equalsIgnoreCase(wlyyOutpatientDO.getOutpatientType())&&"2".equalsIgnoreCase(wlyyOutpatientDO.getType())){
                    content = baseJpushTemplateDO.getPushContent().replace("{{咨询类型}}","视频咨询");
                    title=baseJpushTemplateDO.getPushHeader().replace("{{咨询类型}}","视频咨询");
                }else if ("2".equalsIgnoreCase(wlyyOutpatientDO.getOutpatientType())){
                    content = baseJpushTemplateDO.getPushContent().replace("{{咨询类型}}","协同复诊");
                    title=baseJpushTemplateDO.getPushHeader().replace("{{咨询类型}}","协同复诊");
                }else if ("3".equalsIgnoreCase(wlyyOutpatientDO.getOutpatientType())&&"3".equalsIgnoreCase(wlyyOutpatientDO.getType())){
                    content = baseJpushTemplateDO.getPushContent().replace("{{咨询类型}}","家医咨询");
                    title=baseJpushTemplateDO.getPushHeader().replace("{{咨询类型}}","家医咨询");
                }
            }
            userId = wlyyOutpatientDO.getConsumer();
            jsonObject.put("type",12);
            jsonObject.put("id",wlyyOutpatientDO.getId());
        }else if("outpatient_remind".equalsIgnoreCase(templateCode)){
            BaseJpushTemplateDO baseJpushTemplateDO = baseJpushTemplateDao.findByCode(templateCode);
            if(baseJpushTemplateDO!=null){
                if ("1".equalsIgnoreCase(wlyyOutpatientDO.getOutpatientType())&&"1".equalsIgnoreCase(wlyyOutpatientDO.getType())){
                    content = baseJpushTemplateDO.getPushContent().replace("{{咨询类型}}","图文复诊").replace("{{医生姓名}}",wlyyOutpatientDO.getDoctorName());
                    title=baseJpushTemplateDO.getPushHeader().replace("{{咨询类型}}","图文复诊");
                    jsonObject.put("type",1);
                }else if ("1".equalsIgnoreCase(wlyyOutpatientDO.getOutpatientType())&&"2".equalsIgnoreCase(wlyyOutpatientDO.getType())){
                    content = baseJpushTemplateDO.getPushContent().replace("{{咨询类型}}","视频复诊").replace("{{医生姓名}}",wlyyOutpatientDO.getDoctorName());
                    content+= "视频复诊预约时间为:"+wlyyOutpatientDO.getRegisterDate();
                    title=baseJpushTemplateDO.getPushHeader().replace("{{咨询类型}}","视频复诊");
                    jsonObject.put("type",2);
                }else if ("3".equalsIgnoreCase(wlyyOutpatientDO.getOutpatientType())&&"1".equalsIgnoreCase(wlyyOutpatientDO.getType())){
                    content = baseJpushTemplateDO.getPushContent().replace("{{咨询类型}}","图文咨询").replace("{{医生姓名}}",wlyyOutpatientDO.getDoctorName());
                    title=baseJpushTemplateDO.getPushHeader().replace("{{咨询类型}}","图文咨询");
                    jsonObject.put("type",18);
                }else if ("3".equalsIgnoreCase(wlyyOutpatientDO.getOutpatientType())&&"2".equalsIgnoreCase(wlyyOutpatientDO.getType())){
                    content = baseJpushTemplateDO.getPushContent().replace("{{咨询类型}}","视频咨询").replace("{{医生姓名}}",wlyyOutpatientDO.getDoctorName());
                    title=baseJpushTemplateDO.getPushHeader().replace("{{咨询类型}}","视频咨询");
                    content+= "视频咨询预约时间为:"+wlyyOutpatientDO.getRegisterDate();
                    jsonObject.put("type",17);
                }else if ("2".equalsIgnoreCase(wlyyOutpatientDO.getOutpatientType())){
                    content = baseJpushTemplateDO.getPushContent().replace("{{咨询类型}}","协同复诊").replace("{{医生姓名}}",wlyyOutpatientDO.getDoctorName());
                    title=baseJpushTemplateDO.getPushHeader().replace("{{咨询类型}}","协同复诊");
                    jsonObject.put("type",3);
                }else if ("3".equalsIgnoreCase(wlyyOutpatientDO.getOutpatientType())&&"3".equalsIgnoreCase(wlyyOutpatientDO.getType())){
                    content = baseJpushTemplateDO.getPushContent().replace("{{咨询类型}}","家医咨询").replace("{{医生姓名}}",wlyyOutpatientDO.getDoctorName());
                    title=baseJpushTemplateDO.getPushHeader().replace("{{咨询类型}}","家医咨询");
                    jsonObject.put("type",15);
                }
            }
            userId = wlyyOutpatientDO.getDoctor();
            jsonObject.put("id",wlyyOutpatientDO.getId());
        } else if("prescription_refuse".equalsIgnoreCase(templateCode)){
            BaseJpushTemplateDO baseJpushTemplateDO = baseJpushTemplateDao.findByCode(templateCode);
            if(baseJpushTemplateDO!=null){
                content = baseJpushTemplateDO.getPushContent();
                content.replace("{{医生姓名}}",wlyyOutpatientDO.getDoctorName()).replace("{患者姓名}}",wlyyOutpatientDO.getPatientName());
                title=baseJpushTemplateDO.getPushHeader().replace("{{患者姓名}}",wlyyOutpatientDO.getDoctorName());
            }
            userId = wlyyOutpatientDO.getConsumer();
            jsonObject.put("type",8);
            jsonObject.put("id",prescriptionId);
        } else if("logistics_remind".equalsIgnoreCase(templateCode)){
            BaseJpushTemplateDO baseJpushTemplateDO = baseJpushTemplateDao.findByCode(templateCode);
            if(baseJpushTemplateDO!=null){
                content = baseJpushTemplateDO.getPushContent();
                content.replace("{{患者姓名}}",wlyyOutpatientDO.getPatientName()).replace("{{药品名称}}",drugName)
                .replace("{{物流状态}}",mailStatus).replace("{{运单号}}",mailNo);
                title=baseJpushTemplateDO.getPushHeader();
            }
            userId = wlyyOutpatientDO.getConsumer();
            jsonObject.put("type",32);
            jsonObject.put("id",prescriptionId);
        }
        return jPushMessage(userId,content,title,jsonObject);
    }
}

+ 40 - 6
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/YkyyEntranceService.java

@ -157,6 +157,8 @@ public class YkyyEntranceService {
    private YkyySMSService ykyySMSService;
    @Autowired
    private WlyyHospitalSysDictDao wlyyHospitalSysDictDao;
    @Autowired
    private DictHospitalDeptDao dictHospitalDeptDao;
    public List<Map<String, Object>> createSQLQuery(String sql, Map<String, Object> params, Integer page, Integer size){
@ -406,6 +408,7 @@ public class YkyyEntranceService {
     * @throws Exception
     */
    public List<WlyyOutpatientVO> BS30025(String PAT_NO, String conNo, String startTime, String endTime, boolean demoFlag,String ksdm) throws Exception {
        String fid = "BS30025";
        logger.info("EntranceService " + fid + " PAT_NO :" + PAT_NO + " conNo:" + conNo + " startTime:" + startTime + " endTime:" + endTime);
@ -574,8 +577,30 @@ public class YkyyEntranceService {
     * @throws Exception
     */
    public JSONArray findV_ZKSG_HZCX_HIS(String brid,String conNo,String startTime,String endTime,String ksdm) throws Exception{
        String sql = "SELECT to_char(h.KSSJ ,'yyyy/MM/dd hh24:mi:ss' ) as KSSJ,h.BRID,h.BRXM,h.SJHM,h.JZKH,h.SFZH,h.BRXZ,h.YSDM,h.KDYS" +
                ",h.KSDM,h.KSMC,h.ZDMC,h.JZXH from V_ZKSG_HZCX_HIS h WHERE h.BRID = "+brid+" ";
        String depts ="";
        String deptUsuaName ="";
        if (StringUtils.isNoneBlank(ksdm)){
            DictHospitalDeptDO dictHospitalDeptDO = dictHospitalDeptDao.findByCode(ksdm);
            if (dictHospitalDeptDO!=null){
                deptUsuaName = dictHospitalDeptDO.getUsualName();
            List<DictHospitalDeptDO> deptList =dictHospitalDeptDao.findByUsuallyName(deptUsuaName);
            if (deptList!=null&&deptList.size()>0){
                for (int i =0 ;i<deptList.size();i++){
                    if (i==deptList.size()-1){
                        depts +=deptList.get(i).getCode();
                    }else {
                        depts+=deptList.get(i).getCode()+",";
                    }
                }
            }else {
                depts = dictHospitalDeptDO.getCode();
            }
        }
        }
        if(!StringUtil.isBlank(conNo)){
            sql += " and h.JZXH = " + conNo;
        }
@ -584,14 +609,15 @@ public class YkyyEntranceService {
        }
        if(!StringUtil.isBlank(endTime)){
            sql += " and h.KSSJ <= to_date('"+endTime+"', 'YYYY-MM-DD HH24:MI:SS')";
        }if(!StringUtil.isBlank(ksdm)){
            sql += " and h.KSDM = " + ksdm;
        }if(!StringUtil.isBlank(depts)){
            sql += " and h.KSDM in ("+ depts+")";
        }
        sql += " order by h.KSSJ desc";
        Map<String,Object> params = new HashedMap();
        params.put("sql",sql);
        logger.info("sqlOutpatientList"+sql);
        HttpResponse response = HttpUtils.doGet(url,params);
        String content = response.getContent();
        logger.info("response:"+content);
@ -845,7 +871,7 @@ public class YkyyEntranceService {
                        prescriptionInfoVO.setPackRetprice(object1.getDouble("ypdj"));
                        prescriptionInfoVO.setPackUnitName(object1.getString("yfdw"));
                        prescriptionInfoVO.setUnitName(object1.getString("yfdw"));
                        prescriptionInfoVO.setDosage(object1.getString("mrcs"));
                        prescriptionInfoVO.setDosage(object1.getString("ycjl"));
                        prescriptionInfoVO.setSupplyCode(object1.getString("gytj"));
                        JSONArray ypyfList = findYpyf("",object1.getString("gytj"));
                        if (ypyfList!=null&&ypyfList.size()>0){
@ -1922,7 +1948,7 @@ public class YkyyEntranceService {
                ykEmrJcsqDO.setJzxh(Integer.parseInt(admNo));
            }
            ykEmrJcsqDO.setXmid(Integer.valueOf(wlyyInspectionDO.getCode()));
            JSONArray jsonArray = this.findZlxm(null,wlyyInspectionDO.getCode());
            JSONArray jsonArray = this.findZlxm(null,wlyyInspectionDO.getCode(),"");
            if (jsonArray!=null&&jsonArray.size()>0){
                JSONObject deptobject = jsonArray.getJSONObject(0);
                deptNo = deptobject.getString("dept");
@ -2913,10 +2939,12 @@ public class YkyyEntranceService {
    }
    //查询诊疗项目视图
    public JSONArray findZlxm(String itemName,String itemCode) throws Exception{
    public JSONArray findZlxm(String itemName,String itemCode,String deptCode) throws Exception{
        String sql = "select t.item_code as \"code\",t.item_name as \"name\"," +
                "t.price as \"chargeAmount\",t.total_unit as \"totalUnit\"," +
                "t.zxks as \"dept\" from VEMR_ORDER_ITEM t where 1=1";
                "t.zxks as \"dept\" ,m.name as \"exec_unit_name\" from VEMR_ORDER_ITEM t " +
                " left join V_HLW_KSXX m on m.code = t.zxks " +
                " where 1=1";
        if (StringUtils.isNotEmpty(itemName)){
            sql+=" and t.ITEM_NAME like '%"+itemName+"%'";
        }
@ -2925,6 +2953,9 @@ public class YkyyEntranceService {
            String ids = org.apache.commons.lang.StringUtils.join(split, ",");
            sql+=" and t.item_code in ("+ids+")";
        }
        if (StringUtils.isNotEmpty(deptCode)){
            sql+=" and t.zxks ="+deptCode+"";
        }
        System.out.println(sql);
        Map<String,Object> params = new HashedMap();
        params.put("sql",sql);
@ -2937,6 +2968,9 @@ public class YkyyEntranceService {
        JSONArray array= new JSONArray();
        if (status==200){
            array = rs.getJSONArray("detailModelList");
            for (int i=0;i<array.size();i++){
            }
        }
        return array;
    }

+ 24 - 5
business/base-service/src/main/java/com/yihu/jw/order/BusinessOrderService.java

@ -138,7 +138,6 @@ public class BusinessOrderService extends BaseJpaService<BusinessOrderDO,Busines
    private WlyyInspectionDao inspectionDao;
    /**
     *
     * 处方下单
@ -162,7 +161,6 @@ public class BusinessOrderService extends BaseJpaService<BusinessOrderDO,Busines
            WlyyPrescriptionDO wlyyPrescriptionDO = wlyyPrescriptionDOS.get(0);
            WlyyOutpatientDO outpatientDO = outpatientDao.findById(wlyyPrescriptionDO.getOutpatientId());
            BusinessOrderDO businessOrderDO = businessOrderDao.selectByRelationCode(wlyyPrescriptionDO.getId());
            if (businessOrderDO==null) {
                businessOrderDO = new BusinessOrderDO();
                businessOrderDO.setCreateTime(new Date());
@ -178,10 +176,16 @@ public class BusinessOrderService extends BaseJpaService<BusinessOrderDO,Busines
                businessOrderDO.setDoctor(wlyyPrescriptionDO.getDoctor());
                businessOrderDO.setPatient(outpatientDO.getConsumer());
                businessOrderDO.setPatientName(outpatientDO.getConsumerName());
                BigDecimal b = new BigDecimal(String.valueOf(wlyyPrescriptionDO.getDrugFee()));
                BigDecimal b = new BigDecimal(String.valueOf(wlyyPrescriptionDO.getDrugFee()==null?0:wlyyPrescriptionDO.getDrugFee()));
                BigDecimal c = new BigDecimal(String.valueOf(100));
                BigDecimal bc = b.multiply(c);
                businessOrderDO.setPayPrice(bc.doubleValue());
                BigDecimal dc = new BigDecimal(0);
                //判断检查检验项目是否有金额
                if (wlyyPrescriptionDO.getInspectFee()!=null){
                    BigDecimal d = new BigDecimal(String.valueOf(wlyyPrescriptionDO.getInspectFee()));
                    dc= d.multiply(c);
                }
                businessOrderDO.setPayPrice(bc.doubleValue()+dc.doubleValue());
                businessOrderDO.setDescription("处方结算");
                businessOrderDO = businessOrderDao.save(businessOrderDO);
                businessOrderDOS.add(businessOrderDO);
@ -480,6 +484,19 @@ public class BusinessOrderService extends BaseJpaService<BusinessOrderDO,Busines
                throw new Exception("订单已支付");
            }
        }
        WlyyOutpatientDO wlyyOutpatientDO = outpatientDao.findById(relationCode);
        if (wlyyOutpatientDO!=null){
            if ("-1".equalsIgnoreCase(wlyyOutpatientDO.getStatus())){
                throw new Exception("订单已取消");
            }
            if (1==wlyyOutpatientDO.getPayStatus()){
                throw new Exception("订单已支付");
            }
            if (businessOrderDO!=null&&businessOrderDO.getStatus()==1){
                throw new Exception("订单已支付");
            }
        }
        String body = businessOrderDO.getDescription();
        String totalFee = businessOrderDO.getPayPrice().intValue()+"";
        String patient = businessOrderDO.getPatient();
@ -862,12 +879,14 @@ public class BusinessOrderService extends BaseJpaService<BusinessOrderDO,Busines
                        WlyyOutpatientDO wlyyOutpatientDO = outpatientDao.findById(businessOrderDO.getRelationCode());
                        wlyyOutpatientDO.setPayStatus(1);
                        outpatientDao.save(wlyyOutpatientDO);
                        prescriptionService.wxTempalteJPush("outpatient_remind",wlyyOutpatientDO,null,"","","","");
                    }
                }else if (businessOrderDO.getOrderCategory().equalsIgnoreCase("2")||businessOrderDO.getOrderCategory().equalsIgnoreCase("3")){
                    WlyyOutpatientDO wlyyOutpatientDO = outpatientDao.findById(businessOrderDO.getRelationCode());
                    wlyyOutpatientDO.setPayStatus(1);
                    outpatientDao.save(wlyyOutpatientDO);
                    prescriptionService.wxTempalteJPush("outpatient_remind",wlyyOutpatientDO,null,"","","","");
                    if (StringUtils.isNoneBlank(wlyyOutpatientDO.getDoctor())){
                        BaseDoctorDO baseDoctorDO= doctorDao.findById(wlyyOutpatientDO.getDoctor());
                        if (baseDoctorDO!=null){

+ 13 - 3
business/base-service/src/main/java/com/yihu/jw/utils/YkyySMSService.java

@ -163,7 +163,7 @@ public class YkyySMSService {
            }else if ("oneself_pick".equalsIgnoreCase(temlateCode)){//病人自取
                smsTemplateDO = smsTemplateDao.findByClientId("oneself_pick");
                if (smsTemplateDO!=null){
                    content = smsTemplateDO.getContent().replace("{{病人姓名}}",wlyyOutpatientDO.getPatientName()).replace("{{时间}}",DateUtil.dateToStrLong(wlyyPrescriptionDO.getCreateTime())).replace("{{门诊号码}}",wlyyOutpatientDO.getRealOrder())
                    content = smsTemplateDO.getContent().replace("{{病人姓名}}",wlyyOutpatientDO.getPatientName()).replace("{{门诊号码}}",wlyyOutpatientDO.getRealOrder())
                    .replace("{{性别}}",sex);
                    if (wxPushLogDO==null&&"1".equalsIgnoreCase(sendMesControl)){
                        ykyySendSMS(mobile,smsTemplateDO.getHeader()+content);
@ -246,15 +246,25 @@ public class YkyySMSService {
                    }
                    List<WlyyInspectionDO> list = inspectionDao.findByOutpatientId(wlyyOutpatientDO.getId());
                    String createTime = "";
                    String isName = "";
                    for (int i=0;i<list.size();i++){
                        if (i==list.size()-1){
                            isName+=list.get(i).getName()+"。";
                        }else {
                            isName+=list.get(i).getName()+",";
                        }
                    }
                    if (list!=null&&list.size()>0){
                        createTime = DateUtil.dateToStrLong(list.get(0).getCreateTime());
                    }
                    if (StringUtils.isNoneBlank(medicard)){
                        content = smsTemplateDO.getContent().replace("{{病人姓名}}",wlyyOutpatientDO.getPatientName()).replace("{{处方编号}}",createTime).replace("{{门诊号码}}",mzhm)
                        .replace("{{社保卡号}}","【凭社保卡/就诊卡"+medicard+"到院充值预缴金做检查】").replace("{{性别}}",sex).replace("{{时间}}",createTime);
                        .replace("{{社保卡号}}","【凭社保卡/就诊卡"+medicard+"到院充值预缴金做检查】").replace("{{性别}}",sex).replace("{{时间}}",createTime)
                        .replace("{{检查项目}}",isName);
                    }else {
                        content = smsTemplateDO.getContent().replace("{{病人姓名}}",wlyyOutpatientDO.getPatientName()).replace("{{时间}}",createTime).replace("{{门诊号码}}",mzhm)
                                .replace("{{社保卡号}}","【到收费处,凭此条短信中的门诊号码换卡充值预缴金做检查】").replace("{{性别}}",sex);;
                                .replace("{{社保卡号}}","【到收费处,凭此条短信中的门诊号码换卡充值预缴金做检查】").replace("{{性别}}",sex)
                                .replace("{{检查项目}}",isName);;;
                    }
                    if (wxPushLogDO==null&&"1".equalsIgnoreCase(sendMesControl)){
                        wxPushLogDO = new WxPushLogDO();

+ 10 - 0
business/base-service/src/main/java/com/yihu/jw/wechat/service/WxTemplateService.java

@ -15,6 +15,7 @@ import com.yihu.jw.entity.order.BusinessOrderDO;
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.hospital.prescription.dao.OutpatientDao;
import com.yihu.jw.hospital.prescription.service.PrescriptionLogService;
import com.yihu.jw.hospital.prescription.service.PrescriptionService;
import com.yihu.jw.hospital.prescription.service.entrance.XzzxEntranceService;
import com.yihu.jw.hospital.prescription.service.entrance.YkyyEntranceService;
import com.yihu.jw.oauth.OauthSsoService;
@ -108,6 +109,8 @@ public class WxTemplateService {
    private OutpatientDao outpatientDao;
    @Autowired
    private YxTokenMappingDao yxTokenMappingDao;
    @Autowired
    private PrescriptionService prescriptionService;
    
@ -148,6 +151,7 @@ public class WxTemplateService {
                                "点击消息进入视频诊室接听视频通话,开始视频咨询",
                                "",miniprogramUrl,"wx53f6bb4ac081d840");
                    }else{
                        WxTemplateConfigDO config = wxTemplateConfigDao.findByWechatIdAndTemplateNameAndSceneAndStatus(wechatId,"template_consult_notice","spthtx",1);
                        BaseDoctorDO doctorDO = doctorDao.findById(sender_id);
                        String titleName = "";
@ -170,6 +174,8 @@ public class WxTemplateService {
                            config.setKeyword2(DateUtil.dateToStrLong(wlyyOutpatientDO.getCreateTime()));
                            config.setKeyword3(wlyyOutpatientDO.getDeptName());
                            config.setKeyword4(wlyyOutpatientDO.getDescription());
                            miniprogramUrl+="&outpatientId="+wlyyOutpatientDO.getId();
                            config.setPagepath(miniprogramUrl);
                        }
                        WxWechatDO wechatDO = wechatDao.findById(wechatId);
                        if (wechatDO!=null){
@ -611,6 +617,10 @@ public class WxTemplateService {
                        weixinMessagePushUtils.putWxMsg(wxAccessTokenService.getWxAccessTokenById(wechatId).getAccessToken(),basePatientWechatDo.getOpenid(),config);
                }
            }
            WlyyOutpatientDO wlyyOutpatientDO = new WlyyOutpatientDO();
            wlyyOutpatientDO.setConsumer(basePatientDO.getId());
            wlyyOutpatientDO.setDoctorName(senderName);
            prescriptionService.wxTempalteJPush("consult_remind",wlyyOutpatientDO,null,"","","","");
        }else{
            throw new Exception("接收者ID错误,无法找到该账号");
        }

+ 12 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/DictHospitalDeptDO.java

@ -84,6 +84,18 @@ public class DictHospitalDeptDO extends IntegerIdentityEntity {
     * 科室描述
     */
    private String deptDescription;
    /**
     * 科室通用名
     */
    private String usualName;
    @Column(name = "usual_name")
    public String getUsualName() {
        return usualName;
    }
    public void setUsualName(String usualName) {
        this.usualName = usualName;
    }
    @Column(name = "org_name")
    public String getOrgName() {
        return orgName;

+ 58 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/dict/BaseJpushTemplateDO.java

@ -0,0 +1,58 @@
package com.yihu.jw.entity.hospital.dict;
import com.yihu.jw.entity.UuidIdentityEntity;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
@Entity
@Table(name = "base_jpush_template")
public class BaseJpushTemplateDO extends UuidIdentityEntityWithOperator {
    private String code;
    private String name;
    private String pushHeader;
    private String pushContent;
    private String isDel;
    @Column(name = "code")
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    @Column(name = "name")
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @Column(name = "push_header")
    public String getPushHeader() {
        return pushHeader;
    }
    public void setPushHeader(String pushHeader) {
        this.pushHeader = pushHeader;
    }
    @Column(name = "push_content")
    public String getPushContent() {
        return pushContent;
    }
    public void setPushContent(String pushContent) {
        this.pushContent = pushContent;
    }
    @Column(name = "is_del")
    public String getIsDel() {
        return isDel;
    }
    public void setIsDel(String isDel) {
        this.isDel = isDel;
    }
}

+ 1 - 0
common/common-request-mapping/src/main/java/com/yihu/jw/rm/hospital/BaseHospitalRequestMapping.java

@ -38,6 +38,7 @@ public class BaseHospitalRequestMapping {
        public static final String PREFIX  = "/prescription";
        public static final String findDoctorByIdCard = "/findDoctorByIdCard";
        public static final String testJpush = "/testJpush";
        public static final String updateChannelId = "/updateChannelId";
        //=====================start=======================================

+ 5 - 0
svr/svr-internet-hospital-job/src/main/java/com/yihu/jw/service/channel/UnSettledHISPrescriptionService.java

@ -21,6 +21,7 @@ import com.yihu.jw.hospital.prescription.dao.PrescriptionDao;
import com.yihu.jw.hospital.prescription.dao.PrescriptionDiagnosisDao;
import com.yihu.jw.hospital.prescription.dao.PrescriptionInfoDao;
import com.yihu.jw.hospital.prescription.service.PrescriptionLogService;
import com.yihu.jw.hospital.prescription.service.PrescriptionService;
import com.yihu.jw.hospital.prescription.service.entrance.XzzxEntranceService;
import com.yihu.jw.hospital.prescription.service.entrance.YkyyEntranceService;
import com.yihu.jw.im.service.ImService;
@ -123,6 +124,8 @@ public class UnSettledHISPrescriptionService {
    private BaseSmsTemplateDao smsTemplateDao;
    @Autowired
    private YkyySMSService ykyySMSService;
    @Autowired
    private PrescriptionService prescriptionService;
    
    
    /**
@ -212,6 +215,8 @@ public class UnSettledHISPrescriptionService {
                        WlyyPrescriptionDO prescriptionDO = prescriptionDao.findByRealOrder(cfsb);
                        BaseDoctorDO baseDoctorDO = doctorDao.findById(doctor);
                        ykyySMSService.sendSmsByTempcode("check_failed",wlyyOutpatientDO,prescriptionDO,baseDoctorDO.getMobile());
                        logger.info("极光推送处方驳回消息");
                       prescriptionService.wxTempalteJPush("prescription_refuse",wlyyOutpatientDO,null,"","","",prescriptionDO.getId());
                    }
                }

+ 4 - 2
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/consult/DoctorConsultEndpoint.java

@ -1220,9 +1220,11 @@ public class DoctorConsultEndpoint extends EnvelopRestEndpoint {
	public ObjEnvelop findZlxm(@ApiParam(name = "itemName", value = "itemName")
								   @RequestParam(value = "itemName", required = false)String itemName,
							   @ApiParam(name = "itemCode", value = "itemCode")
							   @RequestParam(value = "itemCode", required = false)String itemCode)throws Exception {
							   @RequestParam(value = "itemCode", required = false)String itemCode,
                               @ApiParam(name = "deptCode", value = "deptCode")
                                   @RequestParam(value = "deptCode", required = false)String deptCode)throws Exception {
		JSONArray array= ykyyEntranceService.findZlxm(itemName,itemCode);
		JSONArray array= ykyyEntranceService.findZlxm(itemName,itemCode,deptCode);
		ObjEnvelop objEnvelop = new ObjEnvelop();
		objEnvelop.setObj(array);
		return objEnvelop;

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

@ -11,6 +11,7 @@ import com.yihu.jw.entity.base.dict.DictJobTitleDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorHospitalDO;
import com.yihu.jw.entity.base.im.ConsultDo;
import com.yihu.jw.entity.base.im.ConsultTeamDo;
import com.yihu.jw.entity.base.wx.BasePatientWechatDo;
import com.yihu.jw.entity.base.wx.WxWechatDO;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleDO;
@ -39,6 +40,7 @@ import com.yihu.jw.hospital.service.consult.KnowledgeCategoryService;
import com.yihu.jw.hospital.service.consult.QrcodeService;
import com.yihu.jw.hospital.service.consult.SysDictService;
import com.yihu.jw.im.dao.ConsultDao;
import com.yihu.jw.im.dao.ConsultTeamDao;
import com.yihu.jw.im.service.ImService;
import com.yihu.jw.order.BusinessOrderService;
import com.yihu.jw.order.dao.BusinessOrderDao;
@ -203,6 +205,8 @@ public class PatientNoLoginEndPoint extends EnvelopRestEndpoint {
    private FileUtil fileUtil;
    @Value("${fastDFS.fastdfs_file_url}")
    private String fastdfs_file_url;
    @Autowired
    private ConsultTeamDao consultTeamDao;
    @GetMapping(value = BaseHospitalRequestMapping.PatientNoLogin.findDoctorByHospitalAndDiseaseAndDept)
    @ApiOperation(value = "根据疾病名称,热门部门查询医生", notes = "根据疾病名称,热门部门查询医生")
@ -1674,4 +1678,23 @@ public class PatientNoLoginEndPoint extends EnvelopRestEndpoint {
        }
        return success(object);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.testJpush)
    @ApiOperation(value = "根据身份证号查询医生", notes = "")
    public Envelop testJPush(@ApiParam(name = "outpatientId", value = "")
                                      @RequestParam(value = "outpatientId", required = false)String outpatientId,
                             @ApiParam(name = "templateCode", value = "")
                             @RequestParam(value = "templateCode", required = false)String templateCode,
                             @ApiParam(name = "drugName", value = "")
                                 @RequestParam(value = "drugName", required = false)String drugName,
                             @ApiParam(name = "mailNo", value = "")
                                 @RequestParam(value = "mailNo", required = false)String mailNo,
                             @ApiParam(name = "mailStatus", value = "")
                                 @RequestParam(value = "mailStatus", required = false)String mailStatus,
                             @ApiParam(name = "prescriptionId", value = "")
                                 @RequestParam(value = "prescriptionId", required = false)String prescriptionId) {
       WlyyOutpatientDO wlyyOutpatientDO =  outpatientDao.findById(outpatientId);
        ConsultTeamDo consultTeamDo = consultTeamDao.queryByRelationCode(outpatientId);
        return success(prescriptionService.wxTempalteJPush(templateCode,wlyyOutpatientDO,consultTeamDo,drugName,mailNo,mailStatus,prescriptionId));
    }
}

+ 1 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/service/analysis/AnalysisService.java

@ -8,6 +8,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.text.DecimalFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;