瀏覽代碼

代码修改

LAPTOP-KB9HII50\70708 10 月之前
父節點
當前提交
faa912ada6

+ 126 - 4
business/base-service/src/main/java/com/yihu/jw/hospital/disease/service/BaseDiseaseHospitalService.java

@ -2,27 +2,32 @@ package com.yihu.jw.hospital.disease.service;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.sms.SmsTemplateDO;
import com.yihu.jw.entity.hospital.survey.BaseDiseaseSurveyDO;
import com.yihu.jw.entity.specialist.BaseDiseaseHospitalDO;
import com.yihu.jw.entity.specialist.rehabilitation.RehabilitationPlanTemplateDO;
import com.yihu.jw.entity.specialist.rehabilitation.RehabilitationTemplateDetailDO;
import com.yihu.jw.hospital.disease.dao.BaseDiseaseHospitalDao;
import com.yihu.jw.hospital.disease.dao.RehabilitationPlanTemplateDao;
import com.yihu.jw.hospital.disease.dao.RehabilitationTemplateDetailDao;
import com.yihu.jw.hospital.prescription.service.DsyyPrescriptionService;
import com.yihu.jw.hospital.survey.dao.BaseDiseaseSurveyDao;
import com.yihu.jw.mysql.query.BaseJpaService;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.sms.dao.BaseSmsTemplateDao;
import com.yihu.jw.utils.AES;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import com.yihu.jw.wlyy.service.WlyyBusinessService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.stereotype.Service;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
@Service
@ -38,6 +43,123 @@ public class BaseDiseaseHospitalService extends BaseJpaService<BaseDiseaseHospit
    private RehabilitationTemplateDetailDao templateDetailDao;
    @Autowired
    private WlyyBusinessService wlyyBusinessService;
    @Autowired
    private BaseDiseaseSurveyDao baseDiseaseSurveyDao;
    @Autowired
    private BaseSmsTemplateDao baseSmsTemplateDao;
    @Autowired
    private BaseDoctorDao doctorDao;
    @Autowired
    private DsyyPrescriptionService dsyyPrescriptionService;
    //疾病筛查管理发送短信
    public void sendSms(String mobiles,String surveyCodes,String smsTemplateId,String content,String header,String doctor){
        BaseDoctorDO doctorDO = doctorDao.findByIdAndDel(doctor);
        Map<String,Integer> map = new HashMap<>();
        String mobile[] = mobiles.split(",");
        for (String key:mobile){
            if(!map.containsKey(key)){
                map.put(key,1);
                try {
                    dsyyPrescriptionService.SendSms(key, content);
                }catch (Exception e){
                    e.printStackTrace();
                }
            }
        }
        SmsTemplateDO smsTemplateDO = findSmsTemplate(smsTemplateId);
        if(smsTemplateDO==null){
            smsTemplateDO = new SmsTemplateDO();
            smsTemplateDO.setClientId("dsyy");
            smsTemplateDO.setType(SmsTemplateDO.Type.login);
            smsTemplateDO.setCreateTime(new Date());
            smsTemplateDO.setUpdateTime(new Date());
        }
        smsTemplateDO.setContent(content);
        smsTemplateDO.setHeader(header);
        baseSmsTemplateDao.save(smsTemplateDO);
        //添加i健康发送记录
        wlyyBusinessService.addSurveyThird(surveyCodes,doctorDO.getIdcard());
    }
    public SmsTemplateDO findSmsTemplate(String id){
        if(StringUtils.isBlank(id)){
            return null;
        }
        return baseSmsTemplateDao.findById(id).orElse(null);
    }
    //新增和修改短信模板
    public SmsTemplateDO addOrUpdSmsTemplate(SmsTemplateDO smsTemplateDO){
        if (StringUtils.isBlank(smsTemplateDO.getId())) {
            smsTemplateDO.setCreateTime(new Date());
            smsTemplateDO.setUpdateTime(new Date());
        }else {
            smsTemplateDO.setUpdateTime(new Date());
        }
        smsTemplateDO = baseSmsTemplateDao.save(smsTemplateDO);
        return smsTemplateDO;
    }
    //短信模板分页
    public MixEnvelop smsTemplatePage(String header,String clientId, Integer page, Integer size){
        String orderBy = "  order by create_time desc limit "+(page-1)*size+","+size;
        String condition = " ";
        String sql = "SELECT * FROM base_sms_template where 1=1 ";
        if (StringUtils.isNoneBlank(header)){
            condition +=" and header like '%"+header+"%' ";
        }
        if (StringUtils.isNoneBlank(clientId)){
            condition +=" and client_d ='"+clientId+"' ";
        }
        List<SmsTemplateDO> list = jdbcTemplate.query(sql+condition+orderBy, new BeanPropertyRowMapper<>(SmsTemplateDO.class));
        String sqlCount ="select COUNT(1) as total from base_sms_template where 1=1 ";
        Long count = jdbcTemplate.queryForObject(sqlCount+condition,Long.class);
        return MixEnvelop.getSuccessListWithPage("success", list, page, size, count);
    }
    //新增和修改疾病筛查配置
    public BaseDiseaseSurveyDO addOrUpd(BaseDiseaseSurveyDO diseaseSurveyDO){
        if (StringUtils.isBlank(diseaseSurveyDO.getId())) {
            diseaseSurveyDO.setCreateTime(new Date());
        }
        diseaseSurveyDO = baseDiseaseSurveyDao.save(diseaseSurveyDO);
        return diseaseSurveyDO;
    }
    //查询疾病筛查配置列表
    public MixEnvelop diseaseSurveyPage(String name,String dept,String doctor,String surveyCode, String status, Integer page, Integer size){
        String orderBy = "  order by create_time desc limit "+(page-1)*size+","+size;
        String condition = " ";
        String sql = "SELECT * FROM base_disease_survey where 1=1 ";
        if (StringUtils.isNoneBlank(name)){
            condition +=" and name like '%"+name+"%' ";
        }
        if (StringUtils.isNoneBlank(status)){
            condition +=" and status ='"+status+"' ";
        }
        if (StringUtils.isNoneBlank(surveyCode)){
            condition +=" and survey_code ='"+surveyCode+"' ";
        }
        if (StringUtils.isNoneBlank(dept)){
            condition +=" and dept like '%"+dept+"%' ";
        }
        if (StringUtils.isNoneBlank(doctor)){
            condition +=" and doctor like '%"+doctor+"%' ";
        }
        List<BaseDiseaseSurveyDO> list = jdbcTemplate.query(sql+condition+orderBy, new BeanPropertyRowMapper<>(BaseDiseaseSurveyDO.class));
        for (BaseDiseaseSurveyDO surveyDO : list){
            if("1".equals(surveyDO.getStatus())){
                surveyDO.setStatusName("启用");
            }else if("0".equals(surveyDO.getStatus())){
                surveyDO.setStatusName("禁用");
            }
        }
        String sqlCount ="select COUNT(1) as total from base_disease_survey where 1=1 ";
        Long count = jdbcTemplate.queryForObject(sqlCount+condition,Long.class);
        return MixEnvelop.getSuccessListWithPage("success", list, page, size, count);
    }
    /**
     * 新增和修改专病配置

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

@ -7301,7 +7301,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
     */
    @Transactional(readOnly = true)
    public MixEnvelop findDoctorByHospitalAndDiseaseAndDept2(String iswork, String patientid, String orgCode, String dept,
                                                            String diseaseKey, String doctorNameKey,
                                                             String diseaseId,String diseaseKey, String doctorNameKey,
                                                            String jobTitleNameKey, String outpatientType,
                                                            String keyName, String workingTime, String consultStatus, String chargType, String consutlSort,
                                                             String isAttention,String isNurse, Integer page, Integer pagesize) {
@ -7368,7 +7368,6 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
            sql += " JOIN wlyy_doctor_work_time wk on wk.doctor = d.id ";
        }
        sql += " WHERE  1=1 and h.del = '1' ";
@ -7428,6 +7427,17 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                params.put("dept", dept);
            }
        }
        if (StringUtils.isNotBlank(diseaseId)) {
            List<Map<String,Object>> listTmp = jdbcTemplate.queryForList("select dept from base_disease_hospital where id='"+diseaseId+"' ");
            if(listTmp.size()>0){
                String depts = listTmp.get(0).get("dept")+"";
                if(depts.contains(",")){
                    sql += " AND h.dept_code in ('"+depts.replace(",","','")+"')  ";
                }else {
                    sql += " AND h.dept_code = '"+depts+"' ";
                }
            }
        }
        if ("1".equals(isNurse)) {
            sql += " AND jt.saas_id = 'hlys' ";
@ -7492,16 +7502,6 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        String sqlCount = "select count(1) as \"total\" from ( "+sql+" ) t";
        List<Map<String, Object>> list = hibenateUtils.createSQLQuery(sql, params, page, pagesize);
        /*list.stream().forEach(e->{
            if (null==e.get("consultStatus")){
                e.put("consultStatus",0);
            }
            if (null==e.get("workTotal")){
                e.put("workTotal",0);
            }
        });
        list.stream().sorted(Comparator.comparing((Map<String, Object> h) -> ((String) h.get("workTotal"))).reversed().thenComparing(Comparator.comparing((Map<String, Object> h) -> ((String) h.get("consultStatus")))).reversed());*/
        String hospital="";
        for (Map<String,Object> map:list){
            String doctor = map.get("id").toString();
@ -7513,22 +7513,6 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
            }
            /*List<Map<String,Object>> chargeDictDOLists = new ArrayList<>();
            if(null!=map.get("chargeType")){
                String chargeType = map.get("chargeType").toString();
                if (chargeType.contains(",")){
                    chargeType = chargeType.replace(",","','");
                }
                String sqlCharge = "select charge_type as \"chargeType\",charge_name as \"chargeName\"," +
                        "req_fee  as \"reqFee\",zj_fee  as \"zjFee\",xt_fee  as \"xtFee\",dept_type_code as \"deptTypeCode\" " +
                        " from wlyy_charge_dict where 1=1";
                sqlCharge+=" and charge_type in ( '"+chargeType+"')";
                if (StringUtils.isNoneBlank(deptTyepCode)){
                    sqlCharge+=" and dept_type_code in ( '"+deptTyepCode+"')";
                }
                chargeDictDOLists =  hibenateUtils.createSQLQuery(sqlCharge);
            }
            map.put("chargeTypeList",chargeDictDOLists);*/
            List<Map<String,Object>> chargeDictDOLists = new ArrayList<>();
            String sqlCharge = "SELECT\n" +
                    "\tm.req_fee as \"twfzFee\",\n" +

+ 12 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/survey/dao/BaseDiseaseSurveyDao.java

@ -0,0 +1,12 @@
package com.yihu.jw.hospital.survey.dao;
import com.yihu.jw.entity.hospital.survey.BaseDiseaseSurveyDO;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
/**
 * Created by yeshijie on 2024/8/19.
 */
public interface BaseDiseaseSurveyDao extends JpaRepository<BaseDiseaseSurveyDO, String>, JpaSpecificationExecutor<BaseDiseaseSurveyDO> {
}

+ 20 - 1
business/base-service/src/main/java/com/yihu/jw/wlyy/service/WlyyBusinessService.java

@ -886,6 +886,24 @@ public class WlyyBusinessService {
        return re;
    }
    public JSONObject addSurveyThird(String surveyCodes,String idcard) {
        try {
            String param = "?surveyCodes=" + nullToTransfor(surveyCodes) + "&idcard=" + nullToTransfor(idcard);
            JSONObject re = wlyyHttpService.sendWlyyMesGet("addSurveyThird", param);
            return re;
        }catch (Exception e){
            e.printStackTrace();
            return null;
        }
    }
    public JSONObject findThirdScreenList(String hospital,String patientName,String startDate,String endDate,String templateCode,
                                          String isDanger,String manageStatus,Integer page,Integer size) {
        String param = "?hospital=" + nullToTransfor(hospital) + "&patientName=" + nullToTransfor(patientName) + "&startDate=" + nullToTransfor(startDate)
                + "&endDate=" + nullToTransfor(endDate)+ "&templateCode=" + nullToTransfor(templateCode)+ "&isDanger=" + nullToTransfor(isDanger)
                + "&manageStatus=" + nullToTransfor(manageStatus)+ "&page=" + page+ "&size=" + size;
        JSONObject re = wlyyHttpService.sendWlyyMesGet("findThirdScreenList", param);
        return re;
    }
    public JSONObject getReservationByDoctorAndSource_IJK(String doctorCode, String patientName, String source) {
        String param = "?doctorCode=" + nullToTransfor(doctorCode) + "&patientName=" + nullToTransfor(patientName) + "&source=" + source;
@ -901,7 +919,8 @@ public class WlyyBusinessService {
            param += "&type=" + nullToTransfor(type);
        }
        param += "&pageNo=" + nullToTransfor(String.valueOf(pageNo)) + "&pageSize=" + nullToTransfor(String.valueOf(pageSize)) + "&patientName=" + nullToTransfor(patientName) +
                "&isDanger=" + nullToTransfor(isDanger) + "&diseaseType=" + nullToTransfor(diseaseType) + "&filterType=" + nullToTransfor(String.valueOf(filterType)) + "&patientCode=" + nullToTransfor(patientCode);
                "&isDanger=" + nullToTransfor(isDanger) + "&diseaseType=" + nullToTransfor(diseaseType) + "&filterType=" +
                nullToTransfor(String.valueOf(filterType)) + "&patientCode=" + nullToTransfor(patientCode);
        System.out.println("param=>" + param);
        JSONObject re = wlyyHttpService.sendWlyyMesGet("getScreeList_IJK", param);
        return re;

+ 2 - 2
business/im-service/src/main/java/com/yihu/jw/im/service/ImService.java

@ -193,7 +193,7 @@ public class ImService {
        if (dictDO == null) {
            dictDO = new WlyyHospitalSysDictDO();
            dictDO.setDictCode("customer");
            dictDO.setDictValue("客服");
            dictDO.setDictValue("系统");
        }
        return dictDO.getDictCode();
    }
@ -3218,7 +3218,7 @@ public class ImService {
            json.put("msg", msg);
            WlyyHospitalSysDictDO dictDO = hospitalSysDictDao.findById("customer").orElse(null);
            String sender_id = "customer";
            String sender_name = "客服";
            String sender_name = "系统";
            if (dictDO != null) {
                sender_id = dictDO.getDictCode();
                sender_name = dictDO.getDictValue();

+ 1 - 1
business/im-service/src/main/java/com/yihu/jw/im/service/RobotService.java

@ -88,7 +88,7 @@ public class RobotService {
        if (dictDO == null) {
            dictDO = new WlyyHospitalSysDictDO();
            dictDO.setDictCode("customer");
            dictDO.setDictValue("客服");
            dictDO.setDictValue("系统");
        }
        return dictDO;
    }