ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
@@ -314,7 +314,14 @@ iServiceOutPathService.updateServiceOutPath(serviceOutPath); sendMagParam.setPhone(serviceSubtask.getPhone()); sendMagParam.setUrl(ip + ":" + req_path + "/sf?p=" + format); SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique("wj.sms.template"); SysConfig sysConfig = new SysConfig(); if (StringUtils.isNotEmpty(serviceSubtask.getServiceType()) && serviceSubtask.getServiceType().equals("6")) { sysConfig = sysConfigMapper.checkConfigKeyUnique("zymyd.sms.template"); }else if (StringUtils.isNotEmpty(serviceSubtask.getServiceType()) && serviceSubtask.getServiceType().equals("14")) { sysConfig = sysConfigMapper.checkConfigKeyUnique("mzmyd.sms.template"); }else { sysConfig = sysConfigMapper.checkConfigKeyUnique("wj.sms.template"); } if (!Objects.isNull(sysConfig)) { String smsContemt = sysConfig.getConfigValue(); // sendMagParam.setContent("您好,邀请您填写出院随访调查表,请点击" + sendMagParam.getUrl() + "查看。感谢您配合!"); @@ -343,7 +350,14 @@ if (serviceSubtask.getType().equals("1")) sendMagParam.setUrl(StringUtils.isNotEmpty(req_path) ? ip + ":" + req_path + "/sf?p=" + format : ip + "/sf?p=" + format); SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique("wj.sms.template"); SysConfig sysConfig = new SysConfig(); if (StringUtils.isNotEmpty(serviceSubtask.getServiceType()) && serviceSubtask.getServiceType().equals("6")) { sysConfig = sysConfigMapper.checkConfigKeyUnique("zymyd.sms.template"); }else if (StringUtils.isNotEmpty(serviceSubtask.getServiceType()) && serviceSubtask.getServiceType().equals("14")) { sysConfig = sysConfigMapper.checkConfigKeyUnique("mzmyd.sms.template"); }else { sysConfig = sysConfigMapper.checkConfigKeyUnique("wj.sms.template"); } if (!Objects.isNull(sysConfig)) { String smsContemt = sysConfig.getConfigValue(); // sendMagParam.setContent("您好,邀请您填写出院随访调查表,请点击" + sendMagParam.getUrl() + "查看。感谢您配合!"); ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceOutPathController.java
@@ -4,10 +4,13 @@ import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.poi.ExcelUtil; import com.smartor.domain.BaseOrganization; import com.smartor.domain.ServiceOutPath; import com.smartor.service.IBaseOrganizationService; import com.smartor.service.IServiceOutPathService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -31,6 +34,9 @@ @Autowired private IServiceOutPathService serviceOutPathService; @Autowired private IBaseOrganizationService baseOrganizationService; /** * 查询主键列表 */ @@ -51,6 +57,15 @@ */ @PostMapping("/getInfoByParam") public AjaxResult param(@Param("param") String param) { SysUser user = getLoginUser().getUser(); String orgname = ""; String orgid = user.getOrgid(); if(orgid != null && !"".equals(orgid)){ BaseOrganization baseOrganization = new BaseOrganization(); List<BaseOrganization> orgids = baseOrganizationService.selectBaseOrganizationList(baseOrganization); orgname = orgids.get(0).getOrganizationName(); } ServiceOutPath serviceOutPath = new ServiceOutPath(); serviceOutPath.setRadix(param); List<ServiceOutPath> list = serviceOutPathService.selectServiceOutPathList(serviceOutPath); @@ -58,6 +73,8 @@ ServiceOutPath serviceOutPath1 = list.get(0); serviceOutPath1.setId(null); serviceOutPath1.setRadix(null); serviceOutPath1.setOrgid(orgid); serviceOutPath1.setOrgname(orgname); return success(serviceOutPath1); } return success(null); ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java
@@ -56,6 +56,8 @@ private String orgid; private String orgname; private String campusid; private Integer pageNum; ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -842,7 +842,15 @@ if (serviceSubtask.getType().equals("1")) sendMagParam.setUrl(StringUtils.isNotEmpty(req_path) ? localIP + ":" + req_path + "/sf?p=" + format : localIP + "/sf?p=" + format); SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique("wj.sms.template"); // SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique("wj.sms.template"); SysConfig sysConfig = new SysConfig(); if (StringUtils.isNotEmpty(serviceSubtask.getServiceType()) && serviceSubtask.getServiceType().equals("6")) { sysConfig = sysConfigMapper.checkConfigKeyUnique("zymyd.sms.template"); }else if (StringUtils.isNotEmpty(serviceSubtask.getServiceType()) && serviceSubtask.getServiceType().equals("14")) { sysConfig = sysConfigMapper.checkConfigKeyUnique("mzmyd.sms.template"); }else { sysConfig = sysConfigMapper.checkConfigKeyUnique("wj.sms.template"); } if (!Objects.isNull(sysConfig)) { String smsContemt = sysConfig.getConfigValue(); // sendMagParam.setContent("您好,邀请您填写出院调查表,请点击" + sendMagParam.getUrl() + "填写。感谢您配合!"); smartor/src/main/java/com/smartor/domain/PatMedOperationItem.java
@@ -161,5 +161,60 @@ @ApiModelProperty("长期任务 ,失败原因") @Excel(name = "长期任务 ,失败原因") private String longTaskReason; /** * 科室代码 */ @ApiModelProperty("科室代码") private String deptcode; /** * 科室名称 */ @ApiModelProperty("科室名称") private String deptname; /** * 病区编号 */ @ApiModelProperty("病区编号") private String hospitaldistrictcode; /** * 病区名称 */ @ApiModelProperty("病区名称") private String hospitaldistrictname; @ApiModelProperty("患者ID") private Long patid; /** * 主治医生工号 */ @ApiModelProperty("主治医生工号") @Excel(name = "主治医生工号") private String drcode; /** * 主治医生名称 */ @ApiModelProperty("主治医生名称") @Excel(name = "主治医生名称") private String drname; /** * 护士ID */ @ApiModelProperty("护士ID") @Excel(name = "护士ID") private String nurseId; /** * 护士姓名 */ @ApiModelProperty("护士姓名") @Excel(name = "护士姓名") private String nurseName; } smartor/src/main/java/com/smartor/mapper/PatMedOperationItemMapper.java
@@ -75,4 +75,13 @@ * @return 结果 */ public int deleteHardPatMedOperationItemByOpId(String opid); /** * 查询患者检查检验记录子列表 * * @param patMedOperationItem 患者检查检验记录子 * @return 患者检查检验记录子集合 */ public List<PatMedOperationItem> selectOperationItemList(PatMedOperationItem patMedOperationItem); } smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -313,7 +313,6 @@ addSubTaskByRule(config); //根据患者所在病区,获取该病区的长期任务,新华医院可以先不用根据病区和疾病来做 if (!active.equals("xh")) { //todo 手术主表-手术详情表-出院记录表-科室关系? 需要限制科室? addOperationSubTask(config); } @@ -783,27 +782,18 @@ } else { serviceTask = serviceTasks.get(0); } if (Objects.isNull(patMedOperationItem.getOpid())) { return; } if (Objects.isNull(patMedOperationItem.getOplevelcode())) { return; } PatMedOperation patMedOperationVo = new PatMedOperation(); PatMedOperation patMedOperation = new PatMedOperation(); patMedOperationVo.setOpid(patMedOperationItem.getOpid()); List<PatMedOperation> patMedOperationList = patMedOperationMapper.selectPatMedOperationList(patMedOperationVo); if (CollectionUtils.isEmpty(patMedOperationList)) { if (Objects.isNull(patMedOperationItem.getPatid())) { return; }else { patMedOperation = patMedOperationList.get(0); } PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedOperation.getPatid()); PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedOperationItem.getPatid()); if (Objects.isNull(patArchive)) { return; } PatMedInhosp patMedInhosp = new PatMedInhosp(); patMedInhosp.setPatid(patMedOperation.getPatid()); patMedInhosp.setPatid((patMedOperationItem.getPatid())); patMedInhosp.setInhospstate("1"); patMedInhosp.setFuflag("1"); List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp); @@ -813,12 +803,17 @@ } //封装serviceSubtask ServiceSubtask serviceSubtask = boxedServiceSubtaskForOp(serviceTask, patMedInhospList.get(0), patMedOperation, patMedOperationItem, patArchive, config); ServiceSubtask serviceSubtask = boxedServiceSubtaskForOp(serviceTask, patMedInhospList.get(0), patMedOperationItem, patArchive, config); if (ObjectUtils.isEmpty(serviceSubtask)) { return; } serviceSubtask.setVisitDeptCode(patMedOperation.getReqdeptcode()); serviceSubtask.setVisitDeptName(patMedOperation.getReqdeptname()); if(StringUtils.isNotEmpty(patMedOperationItem.getDeptcode())){ serviceSubtask.setVisitDeptCode(patMedOperationItem.getDeptcode()); serviceSubtask.setVisitDeptName(patMedOperationItem.getDeptname()); }else { serviceSubtask.setVisitDeptCode(patMedOperationItem.getHospitaldistrictcode()); serviceSubtask.setVisitDeptName(patMedOperationItem.getHospitaldistrictname()); } //记录insertServiceSubtask语句返回状态 Integer i = 0; try { @@ -1050,18 +1045,18 @@ } //封装serviceSubtask private ServiceSubtask boxedServiceSubtaskForOp(ServiceTask serviceTask, PatMedInhosp patMedInhosp1, PatMedOperation patMedOperation, PatMedOperationItem patMedOperationItem, PatArchive patArchive, String config) { private ServiceSubtask boxedServiceSubtaskForOp(ServiceTask serviceTask, PatMedInhosp patMedInhosp1, PatMedOperationItem patMedOperationItem, PatArchive patArchive, String config) { ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTask, ServiceSubtask.class); serviceSubtask.setTaskid(serviceTask.getTaskid()); if (StringUtils.isNotEmpty(serviceTask.getLibtemplateid())) serviceSubtask.setLibtemplateid(Long.valueOf(serviceTask.getLibtemplateid())); serviceSubtask.setNurseId(patMedOperation.getNurseId()); serviceSubtask.setNurseName(patMedOperation.getNurseName()); serviceSubtask.setNurseId(patMedOperationItem.getNurseId()); serviceSubtask.setNurseName(patMedOperationItem.getNurseName()); // serviceSubtask.setInhospid(patMedInhosp.getInhospid()); serviceSubtask.setDrcode(patMedOperation.getDrcode()); serviceSubtask.setDrname(patMedOperation.getDrname()); serviceSubtask.setDeptcode(patMedOperation.getDeptcode()); serviceSubtask.setDeptname(patMedOperation.getDeptname()); serviceSubtask.setDrcode(patMedOperationItem.getDrcode()); serviceSubtask.setDrname(patMedOperationItem.getDrname()); serviceSubtask.setDeptcode(patMedOperationItem.getDeptcode()); serviceSubtask.setDeptname(patMedOperationItem.getDeptname()); serviceSubtask.setTemplateid(serviceTask.getTemplateid()); serviceSubtask.setTemplatename(serviceTask.getTemplatename()); @@ -1073,8 +1068,8 @@ serviceSubtask.setSex(patArchive.getSex()); serviceSubtask.setAge(patArchive.getAge()); serviceSubtask.setSendstate(2L); serviceSubtask.setManagementDoctor(patMedOperation.getDrname()); serviceSubtask.setManagementDoctorCode(patMedOperation.getDrcode()); serviceSubtask.setManagementDoctor(patMedOperationItem.getDrname()); serviceSubtask.setManagementDoctorCode(patMedOperationItem.getDrcode()); // serviceSubtask.setStarttime(patMedInhosp.getStarttime()); // serviceSubtask.setEndtime(patMedInhosp.getEndtime()); @@ -1083,14 +1078,13 @@ serviceSubtask.setHospType("2"); serviceSubtask.setCreateTime(new Date()); serviceSubtask.setUpdateTime(new Date()); serviceSubtask.setCreateBy(patMedOperation.getNurseName()); serviceSubtask.setCreateBy(patMedOperationItem.getNurseName()); // serviceSubtask.setLeavehospitaldistrictcode(patArchive.getLeavehospitaldistrictcode()); // serviceSubtask.setLeavehospitaldistrictname(patArchive.getLeavehospitaldistrictname()); serviceSubtask.setOperationItemId(patMedOperationItem.getId()); serviceSubtask.setUpdateBy(serviceTask.getUpdateBy()); serviceSubtask.setUpdateTime(new Date()); //todo //设置发送时间 if (serviceTask.getSendDay() == null) serviceTask.setSendDay(1L); Date newDate = null; @@ -1189,7 +1183,7 @@ pmoi.setOpercheckFlag("0"); pmoi.setMainFlag("1"); List<PatMedOperationItem> patMedOperationItems = patMedOperationItemMapper.selectPatMedOperationItemList(pmoi); List<PatMedOperationItem> patMedOperationItems = patMedOperationItemMapper.selectOperationItemList(pmoi); log.info("dealOutHospInfo需要处理的出院手术患者信息:{}", CollectionUtils.isNotEmpty(patMedOperationItems) ? patMedOperationItems.size() : null); for (PatMedOperationItem opItem : patMedOperationItems) { @@ -1204,6 +1198,10 @@ serviceTaskoper.setOrgid(opItem.getOrgid()); serviceTaskoper.setOplevelcode(opItem.getOplevelcode()); //根据科室、病区过滤 serviceTaskoper.setDeptCode(opItem.getDeptcode()); serviceTaskoper.setWardCode(opItem.getHospitaldistrictcode()); List<ServiceTaskoper> serviceTaskopers = serviceTaskoperMapper.selectServiceTaskoperList(serviceTaskoper); //如果部门模板为空(将deptIsNull设置为true) if (CollectionUtils.isEmpty(serviceTaskopers) || serviceTaskopers.size() == 0) { smartor/src/main/resources/mapper/smartor/PatMedOperationItemMapper.xml
@@ -29,6 +29,16 @@ <result property="pid" column="pid"/> <result property="opercheckFlag" column="opercheck_flag"/> <result property="longTaskReason" column="long_task_reason"/> <result property="deptcode" column="deptcode"/> <result property="deptname" column="deptname"/> <result property="hospitaldistrictcode" column="hospitaldistrictcode"/> <result property="hospitaldistrictname" column="hospitaldistrictname"/> <result property="patid" column="patid"/> <result property="drcode" column="drcode"/> <result property="drname" column="drname"/> <result property="nurseId" column="nurse_id"/> <result property="nurseName" column="nurse_name"/> </resultMap> <sql id="selectPatMedOperationItemVo"> @@ -399,5 +409,83 @@ where opid = #{opid} </delete> <select id="selectOperationItemList" parameterType="com.smartor.domain.PatMedOperationItem" resultMap="PatMedOperationItemResult"> select pmoi.id, pmoi.operationid, pmoi.opid, pmoi.opcode, pmoi.opdesc, pmoi.main_flag, pmoi.incitypecode, pmoi.incitypedesc, pmoi.oplevelcode, pmoi.opleveldesc, pmoi.opposition, pmoi.del_flag, pmoi.update_by, pmoi.update_time, pmoi.create_by, pmoi.create_time, pmoi.isupload, pmoi.upload_time, pmoi.orgid, pmoi.pguid, pmoi.guid, pmoi.pid, pmoi.opercheck_flag, pmoi.long_task_reason, pmo.deptcode, pmo.deptname, pmo.hospitaldistrictcode, pmo.hospitaldistrictname, pmo.patid, pmo.drcode, pmo.drname, pmo.nurse_id, pmo.nurse_name from pat_med_operation pmo join pat_med_operation_item pmoi on pmoi.opcode = pmo.opcode where pmo.del_flag = '0' and pmoi.del_flag = '0' <if test="operationid != null "> and pmoi.operationid = #{operationid} </if> <if test="opid != null "> and pmoi.opid = #{opid} </if> <if test="opcode != null and opcode != ''"> and pmoi.opcode = #{opcode} </if> <if test="opdesc != null and opdesc != ''"> and pmoi.opdesc = #{opdesc} </if> <if test="mainFlag != null and mainFlag != ''"> and pmoi.main_flag = #{mainFlag} </if> <if test="incitypecode != null and incitypecode != ''"> and pmoi.incitypecode = #{incitypecode} </if> <if test="incitypedesc != null and incitypedesc != ''"> and pmoi.incitypedesc = #{incitypedesc} </if> <if test="oplevelcode != null and oplevelcode != ''"> and pmoi.oplevelcode = #{oplevelcode} </if> <if test="opleveldesc != null and opleveldesc != ''"> and pmoi.opleveldesc = #{opleveldesc} </if> <if test="opposition != null and opposition != ''"> and pmoi.opposition = #{opposition} </if> <if test="isupload != null "> and pmoi.isupload = #{isupload} </if> <if test="uploadTime != null "> and pmoi.upload_time = #{uploadTime} </if> <if test="orgid != null and orgid != ''"> and pmoi.orgid = #{orgid} </if> <if test="pguid != null and pguid != ''"> and pmoi.pguid = #{pguid} </if> <if test="guid != null and guid != ''"> and pmoi.guid = #{guid} </if> <if test="pid != null "> and pmoi.pid = #{pid} </if> <if test="deptcode != null and deptcode != ''"> and pmo.deptcode = #{deptcode} </if> <if test="deptname != null and deptname != ''"> and pmo.deptname = #{deptname} </if> <if test="hospitaldistrictcode != null and hospitaldistrictcode != ''"> and pmo.hospitaldistrictcode = #{hospitaldistrictcode} </if> <if test="hospitaldistrictname != null and hospitaldistrictname != ''"> and pmo.hospitaldistrictname = #{hospitaldistrictname} </if> <if test="patid != null"> and pmo.patid = #{patid} </if> </select> </mapper> smartor/src/main/resources/mapper/smartor/ServiceOutPathMapper.xml
@@ -87,6 +87,8 @@ </if> <if test="radix != null">radix, </if> <if test="orgid != null">orgid, </if> <if test="createTime != null">create_time, </if> @@ -104,6 +106,8 @@ </if> <if test="radix != null">#{radix}, </if> <if test="orgid != null">#{orgid}, </if> <if test="createTime != null">#{createTime}, </if> </trim>