ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java
@@ -171,6 +171,14 @@ return toAjax(serviceSubtaskService.insertServiceSubtask(serviceSubtask)); } @ApiOperation("患者再次随访") @PostMapping("/addSubTaskAgain") public AjaxResult addSubTaskAgain(@RequestBody ServiceSubtask serviceSubtask) { SysUser user = getLoginUser().getUser(); if (ObjectUtils.isNotEmpty(user)) serviceSubtask.setOrgid(user.getOrgid()); return success(serviceSubtaskService.addSubTaskAgain(serviceSubtask)); } /** * 根据条件查询任务信息 */ smartor/src/main/java/com/smartor/domain/ServiceSubtask.java
@@ -566,5 +566,17 @@ @ApiModelProperty(value = "患者来源:0本地患者表 1外部患者表") private String patfrom; /** * 随访次数 */ @ApiModelProperty(value = "随访次数") private Integer visitCount; /** * 是否在次随访:1否 2是 */ @ApiModelProperty(value = "是否在次随访:1是 2否") private Integer isVisitAgain; } smartor/src/main/java/com/smartor/domain/ServiceSubtaskCountReq.java
@@ -22,6 +22,9 @@ @ApiModelProperty(value = "用户ID") private Long userId; private Integer visitCount; private Integer isVisitAgain; @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "开始时间") private Date startTime; smartor/src/main/java/com/smartor/domain/ServiceSubtaskVO.java
@@ -36,6 +36,18 @@ private String taskGuid; /** * 随访次数 */ @ApiModelProperty(value = "随访次数") private Integer visitCount; /** * 是否在次随访:1否 2是 */ @ApiModelProperty(value = "是否在次随访:1是 2否") private Integer isVisitAgain; /** * 患者ID */ @Excel(name = " 患者ID") smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java
@@ -56,6 +56,14 @@ public int insertServiceSubtask(ServiceSubtask ServiceSubtask); /** * 再次新增单一任务(随访) * * @param ServiceSubtask 再次新增单一任务(随访) * @return 结果 */ public String addSubTaskAgain(ServiceSubtask ServiceSubtask); /** * 修改单一任务(随访) * * @param ServiceSubtask 单一任务(随访) smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -92,6 +92,12 @@ @Autowired private FtpService ftpService; @Autowired private PatMedInhospMapper patMedInhospMapper; @Autowired private PatArchiveMapper patArchiveMapper; @Value("${pri_key}") private String pri_key; @@ -314,6 +320,49 @@ } /** * 再次新增单一任务(随访) * * @param serviceSubtask 再次新增单一任务(随访) * @return 结果 */ @Override public String addSubTaskAgain(ServiceSubtask serviceSubtask) { ServiceSubtask serviceSubtask1 = selectServiceSubtaskById(serviceSubtask.getId()); PatMedInhosp patMedInhosp = new PatMedInhosp(); patMedInhosp.setPatid(serviceSubtask1.getPatid()); patMedInhosp.setInhospstate("0"); List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp); PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(serviceSubtask1.getPatid()); if (patMedInhospList.size() > 0) { serviceSubtask1.setIsVisitAgain(2); serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1); return "无需再次随访,患者再入院了"; } else if (serviceSubtask1.getSendstate() == 4L) { serviceSubtask1.setIsVisitAgain(2); serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1); return "无需再次随访,任务被标记不在执行"; } else if (patArchive.getNotrequiredFlag().equals("1")) { serviceSubtask1.setIsVisitAgain(2); serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1); return "无需再次随访,患者被标记不需要被服务"; } //新增再次随访任务 ServiceSubtask serviceSubtask2 = DtoConversionUtils.sourceToTarget(serviceSubtask1, ServiceSubtask.class); serviceSubtask2.setId(null); serviceSubtask2.setVisitCount(serviceSubtask1.getVisitCount() + 1); serviceSubtask2.setSendstate(2L); int i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask2); if (i == 1) { //新增成功后,需要将之前的任务设置为不要再随访(防止重复点,然后重复生成) serviceSubtask1.setIsVisitAgain(2); serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1); return "再次随访任务创建成功"; } return "再次随访任务创建失败,再请次重试"; } /** * 修改单一任务(随访) * * @param serviceSubtask 单一任务(随访) smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -76,6 +76,8 @@ <result property="inhospid" column="inhospid"/> <result property="patfrom" column="patfrom"/> <result property="patguid" column="patguid"/> <result property="visitCount" column="visit_count"/> <result property="isVisitAgain" column="is_visit_again"/> </resultMap> <resultMap type="com.smartor.domain.ServiceSubtaskCount" id="ServiceSubtaskResult2"> @@ -91,6 +93,8 @@ task_guid, patfrom, inhospid, visit_count, is_visit_again, patguid, suggest, sendstate, @@ -280,10 +284,12 @@ <if test="excep != null ">and excep = #{excep}</if> <if test="nurseName != null ">and nurse_name = #{nurseName}</if> <if test="score != null">and score = #{score}</if> <if test="visitCount != null">and visit_count = #{visitCount}</if> <if test="remark != null">and remark = #{remark}</if> <if test="suggest != null">and suggest = #{suggest}</if> <if test="createBy != null">and create_by = #{createBy}</if> <if test="taskGuid != null">and task_guid = #{taskGuid}</if> <if test="isVisitAgain != null">and is_visit_again = #{isVisitAgain}</if> </where> <if test="sort != null and sort==0">order by endtime asc</if> <if test="sort != null and sort==1">order by endtime desc</if> @@ -307,6 +313,8 @@ <if test="sendname != null ">and sendname = #{sendname}</if> <if test="sfzh != null ">and sfzh = #{sfzh}</if> <if test="patguid != null ">and patguid = #{patguid}</if> <if test="visitCount != null ">and visit_count = #{visitCount}</if> <if test="isVisitAgain != null ">and is_visit_again = #{isVisitAgain}</if> </where> </select> @@ -401,6 +409,8 @@ <if test="patfrom != null ">patfrom,</if> <if test="taskGuid != null ">task_guid,</if> <if test="patguid != null ">patguid,</if> <if test="visitCount != null ">visit_count,</if> <if test="isVisitAgain != null ">is_visit_again,</if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="sendname != null">#{sendname},</if> @@ -476,6 +486,8 @@ <if test="patfrom != null ">#{patfrom},</if> <if test="taskGuid != null ">#{taskGuid},</if> <if test="patguid != null ">#{patguid},</if> <if test="visitCount != null ">#{visitCount},</if> <if test="isVisitAgain != null ">#{isVisitAgain},</if> </trim> </insert> @@ -556,6 +568,8 @@ <if test="patfrom != null ">patfrom=#{patfrom},</if> <if test="taskGuid != null ">task_guid=#{taskGuid},</if> <if test="patguid != null ">patguid=#{patguid},</if> <if test="visitCount != null ">visit_count=#{visitCount},</if> <if test="isVisitAgain != null ">is_visit_again=#{isVisitAgain},</if> </trim> where id = #{id} </update> @@ -617,6 +631,7 @@ <if test="sendstate != null ">sendstate = #{sendstate},</if> <if test="serviceType != null ">service_type = #{serviceType},</if> <if test="score != null ">score = #{score},</if> <if test="visitCount != null ">visit_count = #{visitCount},</if> <if test="submit != null ">submit = #{submit},</if> <if test="leavehospitaldistrictcode != null and leavehospitaldistrictcode != ''">leavehospitaldistrictcode = #{leavehospitaldistrictcode}, @@ -637,6 +652,7 @@ <if test="patfrom != null ">patfrom=#{patfrom},</if> <if test="taskGuid != null ">taskGuid=#{taskGuid},</if> <if test="patguid != null ">patguid=#{patguid},</if> <if test="isVisitAgain != null ">is_visit_again=#{isVisitAgain},</if> </trim> <where> <if test="patid != null ">and patid = #{patid}</if> @@ -677,6 +693,8 @@ <if test="orgid != null">orgid = #{orgid},</if> <if test="pid != null">pid = #{pid},</if> <if test="guid != null">guid = #{guid},</if> <if test="visitCount != null">visit_count = #{visitCount},</if> <if test="isVisitAgain != null">is_visit_again = #{isVisitAgain},</if> <if test="textParam != null">text_param = #{textParam},</if> <if test="preachform != null">preachform = #{preachform},</if> <if test="bedNo != null">bed_no = #{bedNo},</if> @@ -770,6 +788,8 @@ <if test="wechat != null and wechat != ''">wechat = #{wechat},</if> <if test="roomno != null and roomno != ''">roomno = #{roomno},</if> <if test="admindate != null ">admindate = #{admindate},</if> <if test="visitCount != null ">visit_count = #{visitCount},</if> <if test="isVisitAgain != null ">is_visit_again = #{isVisitAgain},</if> <if test="deptname != null and deptname != ''">deptname = #{deptname},</if> <if test="leaveicd10code != null and leaveicd10code != ''">leaveicd10code = #{leaveicd10code},</if> <if test="leavediagname != null and leavediagname != ''">leavediagname = #{leavediagname},</if> @@ -882,6 +902,8 @@ upload_time, orgid, pid, visit_count, is_visit_again, guid, text_param, preachform, smartor/src/main/resources/mapper/smartor/ServiceTaskdeptMapper.xml
@@ -173,8 +173,8 @@ </if> </trim> <where> <if test="id != null">and id = #{id},</if> <if test="taskId != null">and task_id = #{taskId},</if> <if test="id != null">and id = #{id}</if> <if test="taskId != null">and task_id = #{taskId}</if> </where> </update> @@ -193,8 +193,8 @@ update_time = sysdate() </trim> <where> <if test="id != null">and id = #{id},</if> <if test="taskId != null">and task_id = #{taskId},</if> <if test="id != null">and id = #{id}</if> <if test="taskId != null">and task_id = #{taskId}</if> </where> </update>