From fce30cf9f7692d49c3d408475dfb72d289b1cd4f Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 25 四月 2025 17:41:50 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/domain/ServiceSubtask.java                             |   12 ++++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java |    8 ++
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java            |   49 ++++++++++++++++
 smartor/src/main/java/com/smartor/domain/ServiceSubtaskCountReq.java                     |    3 +
 smartor/src/main/resources/mapper/smartor/ServiceTaskdeptMapper.xml                      |    8 +-
 smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java                    |    8 ++
 smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml                       |   22 +++++++
 smartor/src/main/java/com/smartor/domain/ServiceSubtaskVO.java                           |   12 ++++
 8 files changed, 118 insertions(+), 4 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java
index d7e048f..583fc84 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java
@@ -171,6 +171,14 @@
         return toAjax(serviceSubtaskService.insertServiceSubtask(serviceSubtask));
     }
 
+    @ApiOperation("鎮h�呭啀娆¢殢璁�")
+    @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));
+    }
+
     /**
      * 鏍规嵁鏉′欢鏌ヨ浠诲姟淇℃伅
      */
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceSubtask.java b/smartor/src/main/java/com/smartor/domain/ServiceSubtask.java
index d8731e0..bea3924 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceSubtask.java
+++ b/smartor/src/main/java/com/smartor/domain/ServiceSubtask.java
@@ -566,5 +566,17 @@
     @ApiModelProperty(value = "鎮h�呮潵婧愶細0鏈湴鎮h�呰〃    1澶栭儴鎮h�呰〃")
     private String patfrom;
 
+    /**
+     * 闅忚娆℃暟
+     */
+    @ApiModelProperty(value = "闅忚娆℃暟")
+    private Integer visitCount;
+
+    /**
+     * 鏄惁鍦ㄦ闅忚锛�1鍚�    2鏄�
+     */
+    @ApiModelProperty(value = "鏄惁鍦ㄦ闅忚锛�1鏄�    2鍚�")
+    private Integer isVisitAgain;
+
 
 }
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskCountReq.java b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskCountReq.java
index 91336a7..a95e1e7 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskCountReq.java
+++ b/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;
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskVO.java b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskVO.java
index 38a85ce..0c990d4 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskVO.java
+++ b/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;
+
+    /**
      * 鎮h�匢D
      */
     @Excel(name = "  鎮h�匢D")
diff --git a/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java b/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java
index 2631097..1b4a0b7 100644
--- a/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java
+++ b/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 鍗曚竴浠诲姟锛堥殢璁匡級
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
index 888f5b5..6a2afc8 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/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 鍗曚竴浠诲姟锛堥殢璁匡級
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
index e518734..e11d89f 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
+++ b/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,
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceTaskdeptMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceTaskdeptMapper.xml
index 4eaf56e..a858e13 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceTaskdeptMapper.xml
+++ b/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>
 

--
Gitblit v1.9.3