From 1468abbfadd8ba623c85e0c871aade69607ce085 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 25 二月 2025 14:24:54 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/IServiceTaskdiagService.java                    |   61 +
 smartor/src/main/java/com/smartor/service/IServiceCheckService.java                       |   61 +
 smartor/src/main/java/com/smartor/service/impl/ServiceCheckServiceImpl.java               |   93 ++
 smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java            |   26 
 smartor/src/main/java/com/smartor/domain/ServiceTaskVO.java                               |   21 
 smartor/src/main/java/com/smartor/service/IServiceTaskoperService.java                    |   61 +
 smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java                 |   16 
 smartor/src/main/java/com/smartor/domain/ServiceTaskoper.java                             |   86 ++
 smartor/src/main/java/com/smartor/mapper/ServiceCheckMapper.java                          |   63 +
 smartor/src/main/java/com/smartor/service/impl/ServiceTaskdiagServiceImpl.java            |   96 ++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTaskoperController.java |  113 +++
 smartor/src/main/resources/mapper/smartor/ServiceCheckMapper.xml                          |  144 +++
 smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java               |  170 ++-
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java             |   81 +
 smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java                        |    3 
 smartor/src/main/java/com/smartor/service/impl/ServiceTaskoperServiceImpl.java            |   96 ++
 smartor/src/main/java/com/smartor/mapper/ServiceTaskoperMapper.java                       |   63 +
 smartor/src/main/resources/mapper/smartor/ServiceTaskMapper.xml                           |    8 
 smartor/src/main/java/com/smartor/domain/ExternalUserInfo.java                            |    3 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceCheckController.java    |  113 +++
 ruoyi-admin/src/main/resources/application.yml                                            |    4 
 smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml                        |    3 
 smartor/src/main/resources/mapper/smartor/ServiceTaskoperMapper.xml                       |  211 +++++
 smartor/src/main/java/com/smartor/domain/ServiceTask.java                                 |    7 
 smartor/src/main/java/com/smartor/domain/PatMedInhosp.java                                |    2 
 smartor/src/main/java/com/smartor/mapper/ServiceTaskdiagMapper.java                       |   63 +
 ruoyi-admin/src/main/resources/application-druid.yml                                      |   50 
 smartor/src/main/java/com/smartor/domain/ServiceCheck.java                                |   62 +
 ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java                    |    8 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTaskdiagController.java |  113 +++
 smartor/src/main/resources/mapper/smartor/ServiceTaskdiagMapper.xml                       |  211 +++++
 smartor/src/main/java/com/smartor/domain/ServiceTaskdiag.java                             |   86 ++
 32 files changed, 2,058 insertions(+), 140 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java b/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
index 018e6fc..5f4e3c5 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
@@ -15,7 +15,10 @@
 import com.smartor.domain.*;
 import com.smartor.mapper.ServiceSubtaskMapper;
 import com.smartor.mapper.ServiceTaskMapper;
-import com.smartor.service.*;
+import com.smartor.service.IBaseSmsaccountService;
+import com.smartor.service.IServiceOutPathService;
+import com.smartor.service.IServiceSubtaskRecordService;
+import com.smartor.service.ISvyTaskTemplateService;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -25,9 +28,6 @@
 import org.springframework.data.redis.listener.RedisMessageListenerContainer;
 import org.springframework.stereotype.Component;
 
-import java.math.BigInteger;
-import java.net.URLEncoder;
-import java.nio.charset.StandardCharsets;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceCheckController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceCheckController.java
new file mode 100644
index 0000000..2fc10d5
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceCheckController.java
@@ -0,0 +1,113 @@
+package com.ruoyi.web.controller.smartor;
+
+import java.util.List;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.smartor.domain.ServiceCheck;
+import com.smartor.service.IServiceCheckService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 闅忚鏈嶅姟鍙戦�佸垽鏂瑿ontroller
+ *
+ * @author lihu
+ * @date 2025-02-25
+ */
+@Api("闅忚鏈嶅姟鍙戦�佸垽鏂�")
+@RestController
+@RequestMapping("/smartor/check")
+public class ServiceCheckController extends BaseController
+{
+    @Autowired
+    private IServiceCheckService serviceCheckService;
+
+    /**
+     * 鏌ヨ闅忚鏈嶅姟鍙戦�佸垽鏂垪琛�
+     */
+    @ApiOperation("鏌ヨ闅忚鏈嶅姟鍙戦�佸垽鏂垪琛�")
+    //@PreAuthorize("@ss.hasPermi('smartor:check:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(ServiceCheck serviceCheck)
+    {
+        startPage();
+        List<ServiceCheck> list = serviceCheckService.selectServiceCheckList(serviceCheck);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭闅忚鏈嶅姟鍙戦�佸垽鏂垪琛�
+     */
+    @ApiOperation("瀵煎嚭闅忚鏈嶅姟鍙戦�佸垽鏂垪琛�")
+    //@PreAuthorize("@ss.hasPermi('smartor:check:export')")
+    @Log(title = "闅忚鏈嶅姟鍙戦�佸垽鏂�", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ServiceCheck serviceCheck)
+    {
+        List<ServiceCheck> list = serviceCheckService.selectServiceCheckList(serviceCheck);
+        ExcelUtil<ServiceCheck> util = new ExcelUtil<ServiceCheck>(ServiceCheck.class);
+        util.exportExcel(response, list, "闅忚鏈嶅姟鍙戦�佸垽鏂暟鎹�");
+    }
+
+    /**
+     * 鑾峰彇闅忚鏈嶅姟鍙戦�佸垽鏂缁嗕俊鎭�
+     */
+    @ApiOperation("鑾峰彇闅忚鏈嶅姟鍙戦�佸垽鏂缁嗕俊鎭�")
+    //@PreAuthorize("@ss.hasPermi('smartor:check:query')")
+    @GetMapping(value = "/getInfo/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(serviceCheckService.selectServiceCheckById(id));
+    }
+
+    /**
+     * 鏂板闅忚鏈嶅姟鍙戦�佸垽鏂�
+     */
+    @ApiOperation("鏂板闅忚鏈嶅姟鍙戦�佸垽鏂�")
+    //@PreAuthorize("@ss.hasPermi('smartor:check:add')")
+    @Log(title = "闅忚鏈嶅姟鍙戦�佸垽鏂�", businessType = BusinessType.INSERT)
+    @PostMapping("/add")
+    public AjaxResult add(@RequestBody ServiceCheck serviceCheck)
+    {
+        return toAjax(serviceCheckService.insertServiceCheck(serviceCheck));
+    }
+
+    /**
+     * 淇敼闅忚鏈嶅姟鍙戦�佸垽鏂�
+     */
+    @ApiOperation("淇敼闅忚鏈嶅姟鍙戦�佸垽鏂�")
+    //@PreAuthorize("@ss.hasPermi('smartor:check:edit')")
+    @Log(title = "闅忚鏈嶅姟鍙戦�佸垽鏂�", businessType = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    public AjaxResult edit(@RequestBody ServiceCheck serviceCheck)
+    {
+        return toAjax(serviceCheckService.updateServiceCheck(serviceCheck));
+    }
+
+    /**
+     * 鍒犻櫎闅忚鏈嶅姟鍙戦�佸垽鏂�
+     */
+    @ApiOperation("鍒犻櫎闅忚鏈嶅姟鍙戦�佸垽鏂�")
+    //@PreAuthorize("@ss.hasPermi('smartor:check:remove')")
+    @Log(title = "闅忚鏈嶅姟鍙戦�佸垽鏂�", businessType = BusinessType.DELETE)
+	@GetMapping("/remove/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(serviceCheckService.deleteServiceCheckByIds(ids));
+    }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTaskdiagController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTaskdiagController.java
new file mode 100644
index 0000000..03dae7c
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTaskdiagController.java
@@ -0,0 +1,113 @@
+package com.ruoyi.web.controller.smartor;
+
+import java.util.List;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.smartor.domain.ServiceTaskdiag;
+import com.smartor.service.IServiceTaskdiagService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 妯℃澘绉戝鍏宠仈Controller
+ *
+ * @author lihu
+ * @date 2025-02-24
+ */
+@Api("妯℃澘绉戝鍏宠仈")
+@RestController
+@RequestMapping("/smartor/taskdiag")
+public class ServiceTaskdiagController extends BaseController
+{
+    @Autowired
+    private IServiceTaskdiagService serviceTaskdiagService;
+
+    /**
+     * 鏌ヨ妯℃澘绉戝鍏宠仈鍒楄〃
+     */
+    @ApiOperation("鏌ヨ妯℃澘绉戝鍏宠仈鍒楄〃")
+    //@PreAuthorize("@ss.hasPermi('smartor:taskdiag:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(ServiceTaskdiag serviceTaskdiag)
+    {
+        startPage();
+        List<ServiceTaskdiag> list = serviceTaskdiagService.selectServiceTaskdiagList(serviceTaskdiag);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭妯℃澘绉戝鍏宠仈鍒楄〃
+     */
+    @ApiOperation("瀵煎嚭妯℃澘绉戝鍏宠仈鍒楄〃")
+    //@PreAuthorize("@ss.hasPermi('smartor:taskdiag:export')")
+    @Log(title = "妯℃澘绉戝鍏宠仈", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ServiceTaskdiag serviceTaskdiag)
+    {
+        List<ServiceTaskdiag> list = serviceTaskdiagService.selectServiceTaskdiagList(serviceTaskdiag);
+        ExcelUtil<ServiceTaskdiag> util = new ExcelUtil<ServiceTaskdiag>(ServiceTaskdiag.class);
+        util.exportExcel(response, list, "妯℃澘绉戝鍏宠仈鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇妯℃澘绉戝鍏宠仈璇︾粏淇℃伅
+     */
+    @ApiOperation("鑾峰彇妯℃澘绉戝鍏宠仈璇︾粏淇℃伅")
+    //@PreAuthorize("@ss.hasPermi('smartor:taskdiag:query')")
+    @GetMapping(value = "/getInfo/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(serviceTaskdiagService.selectServiceTaskdiagById(id));
+    }
+
+    /**
+     * 鏂板妯℃澘绉戝鍏宠仈
+     */
+    @ApiOperation("鏂板妯℃澘绉戝鍏宠仈")
+    //@PreAuthorize("@ss.hasPermi('smartor:taskdiag:add')")
+    @Log(title = "妯℃澘绉戝鍏宠仈", businessType = BusinessType.INSERT)
+    @PostMapping("/add")
+    public AjaxResult add(@RequestBody ServiceTaskdiag serviceTaskdiag)
+    {
+        return toAjax(serviceTaskdiagService.insertServiceTaskdiag(serviceTaskdiag));
+    }
+
+    /**
+     * 淇敼妯℃澘绉戝鍏宠仈
+     */
+    @ApiOperation("淇敼妯℃澘绉戝鍏宠仈")
+    //@PreAuthorize("@ss.hasPermi('smartor:taskdiag:edit')")
+    @Log(title = "妯℃澘绉戝鍏宠仈", businessType = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    public AjaxResult edit(@RequestBody ServiceTaskdiag serviceTaskdiag)
+    {
+        return toAjax(serviceTaskdiagService.updateServiceTaskdiag(serviceTaskdiag));
+    }
+
+    /**
+     * 鍒犻櫎妯℃澘绉戝鍏宠仈
+     */
+    @ApiOperation("鍒犻櫎妯℃澘绉戝鍏宠仈")
+    //@PreAuthorize("@ss.hasPermi('smartor:taskdiag:remove')")
+    @Log(title = "妯℃澘绉戝鍏宠仈", businessType = BusinessType.DELETE)
+	@GetMapping("/remove/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(serviceTaskdiagService.deleteServiceTaskdiagByIds(ids));
+    }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTaskoperController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTaskoperController.java
new file mode 100644
index 0000000..f9ea895
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTaskoperController.java
@@ -0,0 +1,113 @@
+package com.ruoyi.web.controller.smartor;
+
+import java.util.List;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.smartor.domain.ServiceTaskoper;
+import com.smartor.service.IServiceTaskoperService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 妯℃澘绉戝鍏宠仈Controller
+ *
+ * @author lihu
+ * @date 2025-02-24
+ */
+@Api("妯℃澘绉戝鍏宠仈")
+@RestController
+@RequestMapping("/smartor/taskoper")
+public class ServiceTaskoperController extends BaseController
+{
+    @Autowired
+    private IServiceTaskoperService serviceTaskoperService;
+
+    /**
+     * 鏌ヨ妯℃澘绉戝鍏宠仈鍒楄〃
+     */
+    @ApiOperation("鏌ヨ妯℃澘绉戝鍏宠仈鍒楄〃")
+    //@PreAuthorize("@ss.hasPermi('smartor:taskoper:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(ServiceTaskoper serviceTaskoper)
+    {
+        startPage();
+        List<ServiceTaskoper> list = serviceTaskoperService.selectServiceTaskoperList(serviceTaskoper);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭妯℃澘绉戝鍏宠仈鍒楄〃
+     */
+    @ApiOperation("瀵煎嚭妯℃澘绉戝鍏宠仈鍒楄〃")
+    //@PreAuthorize("@ss.hasPermi('smartor:taskoper:export')")
+    @Log(title = "妯℃澘绉戝鍏宠仈", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ServiceTaskoper serviceTaskoper)
+    {
+        List<ServiceTaskoper> list = serviceTaskoperService.selectServiceTaskoperList(serviceTaskoper);
+        ExcelUtil<ServiceTaskoper> util = new ExcelUtil<ServiceTaskoper>(ServiceTaskoper.class);
+        util.exportExcel(response, list, "妯℃澘绉戝鍏宠仈鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇妯℃澘绉戝鍏宠仈璇︾粏淇℃伅
+     */
+    @ApiOperation("鑾峰彇妯℃澘绉戝鍏宠仈璇︾粏淇℃伅")
+    //@PreAuthorize("@ss.hasPermi('smartor:taskoper:query')")
+    @GetMapping(value = "/getInfo/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(serviceTaskoperService.selectServiceTaskoperById(id));
+    }
+
+    /**
+     * 鏂板妯℃澘绉戝鍏宠仈
+     */
+    @ApiOperation("鏂板妯℃澘绉戝鍏宠仈")
+    //@PreAuthorize("@ss.hasPermi('smartor:taskoper:add')")
+    @Log(title = "妯℃澘绉戝鍏宠仈", businessType = BusinessType.INSERT)
+    @PostMapping("/add")
+    public AjaxResult add(@RequestBody ServiceTaskoper serviceTaskoper)
+    {
+        return toAjax(serviceTaskoperService.insertServiceTaskoper(serviceTaskoper));
+    }
+
+    /**
+     * 淇敼妯℃澘绉戝鍏宠仈
+     */
+    @ApiOperation("淇敼妯℃澘绉戝鍏宠仈")
+    //@PreAuthorize("@ss.hasPermi('smartor:taskoper:edit')")
+    @Log(title = "妯℃澘绉戝鍏宠仈", businessType = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    public AjaxResult edit(@RequestBody ServiceTaskoper serviceTaskoper)
+    {
+        return toAjax(serviceTaskoperService.updateServiceTaskoper(serviceTaskoper));
+    }
+
+    /**
+     * 鍒犻櫎妯℃澘绉戝鍏宠仈
+     */
+    @ApiOperation("鍒犻櫎妯℃澘绉戝鍏宠仈")
+    //@PreAuthorize("@ss.hasPermi('smartor:taskoper:remove')")
+    @Log(title = "妯℃澘绉戝鍏宠仈", businessType = BusinessType.DELETE)
+	@GetMapping("/remove/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(serviceTaskoperService.deleteServiceTaskoperByIds(ids));
+    }
+}
diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml
index 999115d..1ff5cb5 100644
--- a/ruoyi-admin/src/main/resources/application-druid.yml
+++ b/ruoyi-admin/src/main/resources/application-druid.yml
@@ -6,30 +6,28 @@
     druid:
       # 涓诲簱鏁版嵁婧�
       master:
-        # 涔変箤浜岄櫌
-        # url: jdbc:mysql://127.0.0.1:3306/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
-        # username: root
-        # password: 123456
-
-        # 鍏徃
-        # url: jdbc:mysql://192.168.2.9:3308/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
-        # 涓芥按
-        # url: jdbc:mysql://127.0.0.1:3308/smartor-lisui?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
-        # username: smartor
-        # password: Smartor.2023
-        # driverClassName: com.mysql.cj.jdbc.Driver
-
-        # 鏂板崕
-        # url: jdbc:mysql://192.168.191.181:3308/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
-        # username: smartor
-        # password: Smartor.2023
-        # driverClassName: com.mysql.cj.jdbc.Driver
-
-        # 鍏徃浜�
-        url: jdbc:mysql://116.62.18.175:6002/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
-        username: hxsoft
-        password: Hxerp2000
+        #        涔変箤浜岄櫌
+        #        url: jdbc:mysql://127.0.0.1:3306/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+        #        username: root
+        #        password: 123456
+        #        鍏徃
+        #        url: jdbc:mysql://192.168.2.9:3308/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+        #        涓芥按
+        url: jdbc:mysql://127.0.0.1:3308/smartor-lisui?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+        username: smartor
+        password: Smartor.2023
         driverClassName: com.mysql.cj.jdbc.Driver
+        # 鏂板崕
+#        url: jdbc:mysql://192.168.191.181:3308/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+        #        username: smartor
+        #        password: Smartor.2023
+        #        driverClassName: com.mysql.cj.jdbc.Driver
+
+        #        鍏徃浜�
+#        url: jdbc:mysql://116.62.18.175:6002/smartor_lisui?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+#        username: hxsoft
+#        password: Hxerp2000
+#        driverClassName: com.mysql.cj.jdbc.Driver
 
       # 浠庡簱鏁版嵁婧�
       slave:
@@ -213,3 +211,9 @@
 phoneUpEveryHour: 12
 #鐢佃瘽姣忓ぉ缁撴潫鏃堕棿
 phoneEndHour: 20
+
+#鏂板憳宸ラ粯璁ゅ瘑鐮�
+defaultPwd: 123456
+
+#鏄惁闇�瑕佹牴鎹柧鐥呭缓绔嬪嚭闄㈡偅鑰呴殢璁�
+createIcd10Visit: false
diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml
index 79a3570..1d111a2 100644
--- a/ruoyi-admin/src/main/resources/application.yml
+++ b/ruoyi-admin/src/main/resources/application.yml
@@ -72,9 +72,9 @@
   # redis 閰嶇疆
   redis:
     #    # 鍦板潃锛堜附姘达級
-    #    host: 127.0.0.1
+    host: 127.0.0.1
     # 鍦板潃锛堝叕鍙革級
-    host: 116.62.18.175
+    #    host: 116.62.18.175
     port: 6020
 
     # 鏁版嵁搴撶储寮�
diff --git a/smartor/src/main/java/com/smartor/domain/ExternalUserInfo.java b/smartor/src/main/java/com/smartor/domain/ExternalUserInfo.java
index 84c5774..187c5ba 100644
--- a/smartor/src/main/java/com/smartor/domain/ExternalUserInfo.java
+++ b/smartor/src/main/java/com/smartor/domain/ExternalUserInfo.java
@@ -26,6 +26,9 @@
     @ApiModelProperty(value = "鐢ㄦ埛 ID")
     private String YongHuID;
 
+    @ApiModelProperty(value = "鐢ㄦ埛鐧诲綍鐮�")
+    private String YongHuDLM;
+
     @ApiModelProperty(value = "鐢ㄦ埛濮撳悕")
     private String YongHuXM;
 
diff --git a/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java b/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java
index 8430a6e..8e147e5 100644
--- a/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java
+++ b/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java
@@ -284,7 +284,7 @@
     /**
      * 闀挎湡浠诲姟锛屾槸鍚﹀鐞嗭細0鏈鐞�   1澶勭悊
      */
-    @ApiModelProperty(value = "闀挎湡浠诲姟锛屾槸鍚﹀鐞嗭細0鏈鐞�   1澶勭悊鎴愬姛    2澶勭悊澶辫触")
+    @ApiModelProperty(value = "闀挎湡浠诲姟锛屾槸鍚﹀鐞嗭細0鏈鐞�   1澶勭悊鎴愬姛    2澶勭悊绉戝澶辫触  3澶勭悊鐤剧梾澶辫触")
     private String checkFlag;
 
     /**
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceCheck.java b/smartor/src/main/java/com/smartor/domain/ServiceCheck.java
new file mode 100644
index 0000000..c59bfd0
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/ServiceCheck.java
@@ -0,0 +1,62 @@
+package com.smartor.domain;
+
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 闅忚鏈嶅姟鍙戦�佸垽鏂璞� service_check
+ *
+ * @author lihu
+ * @date 2025-02-25
+ */
+@Data
+@ApiModel("闅忚鏈嶅姟鍙戦�佸垽鏂�")
+public class ServiceCheck extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * $column.columnComment
+     */
+    @ApiModelProperty("$column.columnComment")
+    //鏁版嵁搴撹嚜澧炴敼鎴怈TableId(type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 绉戝缂栫爜
+     */
+    @ApiModelProperty("绉戝缂栫爜")
+    @Excel(name = "绉戝缂栫爜")
+    private String deptCode;
+
+    /**
+     * 鐥呭尯缂栫爜
+     */
+    @ApiModelProperty("鐥呭尯缂栫爜")
+    @Excel(name = "鐥呭尯缂栫爜")
+    private String districtCode;
+
+    /**
+     * 1,鏍规嵁绉戝闅忚    2锛屾牴鎹涓�璇婃柇闅忚   3锛屼袱涓兘闅忚
+     */
+    @ApiModelProperty("1,鏍规嵁绉戝闅忚    2锛屾牴鎹涓�璇婃柇闅忚   3锛屼袱涓兘闅忚")
+    @Excel(name = "1,鏍规嵁绉戝闅忚    2锛屾牴鎹涓�璇婃柇闅忚   3锛屼袱涓兘闅忚")
+    private Long checkVisitFlag;
+
+    /**
+     * 鏈烘瀯ID
+     */
+    @ApiModelProperty("鏈烘瀯ID")
+    @Excel(name = "鏈烘瀯ID")
+    private String orgid;
+
+    /**
+     * $column.columnComment
+     */
+    @ApiModelProperty("$column.columnComment")
+    private String delFlag;
+
+}
+
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceTask.java b/smartor/src/main/java/com/smartor/domain/ServiceTask.java
index eeee244..4b08307 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceTask.java
+++ b/smartor/src/main/java/com/smartor/domain/ServiceTask.java
@@ -427,4 +427,11 @@
     @ApiModelProperty(value = "涓嬩竴涓换鍔″悕绉�")
     @Excel(name = " 涓嬩竴涓换鍔″悕绉�")
     private String nexttaskname;
+
+    /**
+     * 閫傜敤鏉′欢绫诲瀷锛�1銆佹寜绉戝銆�2銆佹寜鐥呭尯銆�3銆佹寜鐤剧梾璇婃柇銆�4銆佹寜鎵嬫湳绫诲瀷
+     */
+    @ApiModelProperty(value = "閫傜敤鏉′欢绫诲瀷锛�1銆佹寜绉戝銆�2銆佹寜鐥呭尯銆�3銆佹寜鐤剧梾璇婃柇銆�4銆佹寜鎵嬫湳绫诲瀷")
+    @Excel(name = "閫傜敤鏉′欢绫诲瀷锛�1銆佹寜绉戝銆�2銆佹寜鐥呭尯銆�3銆佹寜鐤剧梾璇婃柇銆�4銆佹寜鎵嬫湳绫诲瀷")
+    private String appltype;
 }
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceTaskVO.java b/smartor/src/main/java/com/smartor/domain/ServiceTaskVO.java
index af0b033..bcaf9de 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceTaskVO.java
+++ b/smartor/src/main/java/com/smartor/domain/ServiceTaskVO.java
@@ -367,4 +367,25 @@
     @ApiModelProperty(value = "涓嬩竴涓换鍔″悕绉�")
     @Excel(name = " 涓嬩竴涓换鍔″悕绉�")
     private String nexttaskname;
+
+    /**
+     * 绉戝id
+     */
+    @ApiModelProperty("绉戝id")
+    @Excel(name = "绉戝id")
+    private Long icd10id;
+
+    /**
+     * 閮ㄩ棬缂栫爜
+     */
+    @ApiModelProperty("閮ㄩ棬缂栫爜")
+    @Excel(name = "閮ㄩ棬缂栫爜")
+    private String icd10code;
+
+    /**
+     * 閮ㄩ棬鍚嶇О
+     */
+    @ApiModelProperty("閮ㄩ棬鍚嶇О")
+    @Excel(name = "閮ㄩ棬鍚嶇О")
+    private String icd10name;
 }
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceTaskdiag.java b/smartor/src/main/java/com/smartor/domain/ServiceTaskdiag.java
new file mode 100644
index 0000000..ffc8dcc
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/ServiceTaskdiag.java
@@ -0,0 +1,86 @@
+package com.smartor.domain;
+
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 妯℃澘绉戝鍏宠仈瀵硅薄 service_taskdiag
+ *
+ * @author lihu
+ * @date 2025-02-24
+ */
+@Data
+@ApiModel("妯℃澘绉戝鍏宠仈")
+public class ServiceTaskdiag extends BaseEntity
+        {
+private static final long serialVersionUID = 1L;
+
+    /** 妯℃澘搴撳拰绉戝鍏宠仈id */
+    @ApiModelProperty("妯℃澘搴撳拰绉戝鍏宠仈id")
+        //鏁版嵁搴撹嚜澧炴敼鎴怈TableId(type = IdType.AUTO)
+    private Long id;
+
+    /** 浠诲姟id */
+    @ApiModelProperty("浠诲姟id")
+            @Excel(name = "浠诲姟id")
+    private Long taskId;
+
+    /** 鏄惁鏄暱鏈熸ā鏉匡細  0锛氫笉鏄�    1锛氭槸 */
+    @ApiModelProperty("鏄惁鏄暱鏈熸ā鏉匡細  0锛氫笉鏄�    1锛氭槸")
+            @Excel(name = "鏄惁鏄暱鏈熸ā鏉匡細  0锛氫笉鏄�    1锛氭槸")
+    private Long longtask;
+
+    /** 浠诲姟鍚嶇О */
+    @ApiModelProperty("浠诲姟鍚嶇О")
+            @Excel(name = "浠诲姟鍚嶇О")
+    private String taskName;
+
+    /** 鏈嶅姟绫诲瀷(1銆佺洃娴嬭瘎浼帮紱2銆佸嚭闄㈤殢璁匡紱3銆侀棬璇婇殢璁匡紱4銆佸鏁欏叧鎬�锛�5銆佸璇婇�氱煡锛�6銆佹弧鎰忓害璋冩煡锛�7銆佹偅鑰呮姤鍛婏紱 8銆佸叾浠栭�氱煡) */
+    @ApiModelProperty("鏈嶅姟绫诲瀷(1銆佺洃娴嬭瘎浼帮紱2銆佸嚭闄㈤殢璁匡紱3銆侀棬璇婇殢璁匡紱4銆佸鏁欏叧鎬�锛�5銆佸璇婇�氱煡锛�6銆佹弧鎰忓害璋冩煡锛�7銆佹偅鑰呮姤鍛婏紱 8銆佸叾浠栭�氱煡)")
+            @Excel(name = "鏈嶅姟绫诲瀷(1銆佺洃娴嬭瘎浼帮紱2銆佸嚭闄㈤殢璁匡紱3銆侀棬璇婇殢璁匡紱4銆佸鏁欏叧鎬�锛�5銆佸璇婇�氱煡锛�6銆佹弧鎰忓害璋冩煡锛�7銆佹偅鑰呮姤鍛婏紱 8銆佸叾浠栭�氱煡)")
+    private String serviceType;
+
+    /** 绉戝id */
+    @ApiModelProperty("绉戝id")
+            @Excel(name = "绉戝id")
+    private Long icd10id;
+
+    /** 閮ㄩ棬缂栫爜 */
+    @ApiModelProperty("閮ㄩ棬缂栫爜")
+            @Excel(name = "閮ㄩ棬缂栫爜")
+    private String icd10code;
+
+    /** 閮ㄩ棬鍚嶇О */
+    @ApiModelProperty("閮ㄩ棬鍚嶇О")
+            @Excel(name = "閮ㄩ棬鍚嶇О")
+    private String icd10name;
+
+    /** 鍒犻櫎鏍囧織锛�0锛氭湭鍒犻櫎 1锛氬凡鍒犻櫎锛� */
+    @ApiModelProperty("鍒犻櫎鏍囧織锛�0锛氭湭鍒犻櫎 1锛氬凡鍒犻櫎锛�")
+    private Integer delFlag;
+
+    /** 鍖婚櫌鏈烘瀯ID */
+    @ApiModelProperty("鍖婚櫌鏈烘瀯ID")
+            @Excel(name = "鍖婚櫌鏈烘瀯ID")
+    private String orgid;
+
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+            @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String guid;
+
+    /** 鐖禛UID */
+    @ApiModelProperty("鐖禛UID")
+            @Excel(name = "鐖禛UID")
+    private String pguid;
+
+    /** 鐖禝D */
+    @ApiModelProperty("鐖禝D")
+            @Excel(name = "鐖禝D")
+    private Long pid;
+
+        }
+
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceTaskoper.java b/smartor/src/main/java/com/smartor/domain/ServiceTaskoper.java
new file mode 100644
index 0000000..97c9f58
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/ServiceTaskoper.java
@@ -0,0 +1,86 @@
+package com.smartor.domain;
+
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 妯℃澘绉戝鍏宠仈瀵硅薄 service_taskoper
+ *
+ * @author lihu
+ * @date 2025-02-24
+ */
+@Data
+@ApiModel("妯℃澘绉戝鍏宠仈")
+public class ServiceTaskoper extends BaseEntity
+        {
+private static final long serialVersionUID = 1L;
+
+    /** 妯℃澘搴撳拰绉戝鍏宠仈id */
+    @ApiModelProperty("妯℃澘搴撳拰绉戝鍏宠仈id")
+        //鏁版嵁搴撹嚜澧炴敼鎴怈TableId(type = IdType.AUTO)
+    private Long id;
+
+    /** 浠诲姟id */
+    @ApiModelProperty("浠诲姟id")
+            @Excel(name = "浠诲姟id")
+    private Long taskId;
+
+    /** 鏄惁鏄暱鏈熸ā鏉匡細  0锛氫笉鏄�    1锛氭槸 */
+    @ApiModelProperty("鏄惁鏄暱鏈熸ā鏉匡細  0锛氫笉鏄�    1锛氭槸")
+            @Excel(name = "鏄惁鏄暱鏈熸ā鏉匡細  0锛氫笉鏄�    1锛氭槸")
+    private Long longtask;
+
+    /** 浠诲姟鍚嶇О */
+    @ApiModelProperty("浠诲姟鍚嶇О")
+            @Excel(name = "浠诲姟鍚嶇О")
+    private String taskName;
+
+    /** 鏈嶅姟绫诲瀷(1銆佺洃娴嬭瘎浼帮紱2銆佸嚭闄㈤殢璁匡紱3銆侀棬璇婇殢璁匡紱4銆佸鏁欏叧鎬�锛�5銆佸璇婇�氱煡锛�6銆佹弧鎰忓害璋冩煡锛�7銆佹偅鑰呮姤鍛婏紱 8銆佸叾浠栭�氱煡) */
+    @ApiModelProperty("鏈嶅姟绫诲瀷(1銆佺洃娴嬭瘎浼帮紱2銆佸嚭闄㈤殢璁匡紱3銆侀棬璇婇殢璁匡紱4銆佸鏁欏叧鎬�锛�5銆佸璇婇�氱煡锛�6銆佹弧鎰忓害璋冩煡锛�7銆佹偅鑰呮姤鍛婏紱 8銆佸叾浠栭�氱煡)")
+            @Excel(name = "鏈嶅姟绫诲瀷(1銆佺洃娴嬭瘎浼帮紱2銆佸嚭闄㈤殢璁匡紱3銆侀棬璇婇殢璁匡紱4銆佸鏁欏叧鎬�锛�5銆佸璇婇�氱煡锛�6銆佹弧鎰忓害璋冩煡锛�7銆佹偅鑰呮姤鍛婏紱 8銆佸叾浠栭�氱煡)")
+    private String serviceType;
+
+    /** 绉戝id */
+    @ApiModelProperty("绉戝id")
+            @Excel(name = "绉戝id")
+    private Long deptId;
+
+    /** 閮ㄩ棬缂栫爜 */
+    @ApiModelProperty("閮ㄩ棬缂栫爜")
+            @Excel(name = "閮ㄩ棬缂栫爜")
+    private String deptCode;
+
+    /** 閮ㄩ棬鍚嶇О */
+    @ApiModelProperty("閮ㄩ棬鍚嶇О")
+            @Excel(name = "閮ㄩ棬鍚嶇О")
+    private String deptName;
+
+    /** 鍒犻櫎鏍囧織锛�0锛氭湭鍒犻櫎 1锛氬凡鍒犻櫎锛� */
+    @ApiModelProperty("鍒犻櫎鏍囧織锛�0锛氭湭鍒犻櫎 1锛氬凡鍒犻櫎锛�")
+    private Integer delFlag;
+
+    /** 鍖婚櫌鏈烘瀯ID */
+    @ApiModelProperty("鍖婚櫌鏈烘瀯ID")
+            @Excel(name = "鍖婚櫌鏈烘瀯ID")
+    private String orgid;
+
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+            @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String guid;
+
+    /** 鐖禛UID */
+    @ApiModelProperty("鐖禛UID")
+            @Excel(name = "鐖禛UID")
+    private String pguid;
+
+    /** 鐖禝D */
+    @ApiModelProperty("鐖禝D")
+            @Excel(name = "鐖禝D")
+    private Long pid;
+
+        }
+
diff --git a/smartor/src/main/java/com/smartor/mapper/ServiceCheckMapper.java b/smartor/src/main/java/com/smartor/mapper/ServiceCheckMapper.java
new file mode 100644
index 0000000..4cb9c01
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/ServiceCheckMapper.java
@@ -0,0 +1,63 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import org.apache.ibatis.annotations.Mapper;
+import com.smartor.domain.ServiceCheck;
+
+/**
+ * 闅忚鏈嶅姟鍙戦�佸垽鏂璏apper鎺ュ彛
+ *
+ * @author lihu
+ * @date 2025-02-25
+ */
+@Mapper
+public interface ServiceCheckMapper
+{
+    /**
+     * 鏌ヨ闅忚鏈嶅姟鍙戦�佸垽鏂�
+     *
+     * @param id 闅忚鏈嶅姟鍙戦�佸垽鏂富閿�
+     * @return 闅忚鏈嶅姟鍙戦�佸垽鏂�
+     */
+    public ServiceCheck selectServiceCheckById(Long id);
+
+    /**
+     * 鏌ヨ闅忚鏈嶅姟鍙戦�佸垽鏂垪琛�
+     *
+     * @param serviceCheck 闅忚鏈嶅姟鍙戦�佸垽鏂�
+     * @return 闅忚鏈嶅姟鍙戦�佸垽鏂泦鍚�
+     */
+    public List<ServiceCheck> selectServiceCheckList(ServiceCheck serviceCheck);
+
+    /**
+     * 鏂板闅忚鏈嶅姟鍙戦�佸垽鏂�
+     *
+     * @param serviceCheck 闅忚鏈嶅姟鍙戦�佸垽鏂�
+     * @return 缁撴灉
+     */
+    public int insertServiceCheck(ServiceCheck serviceCheck);
+
+    /**
+     * 淇敼闅忚鏈嶅姟鍙戦�佸垽鏂�
+     *
+     * @param serviceCheck 闅忚鏈嶅姟鍙戦�佸垽鏂�
+     * @return 缁撴灉
+     */
+    public int updateServiceCheck(ServiceCheck serviceCheck);
+
+    /**
+     * 鍒犻櫎闅忚鏈嶅姟鍙戦�佸垽鏂�
+     *
+     * @param id 闅忚鏈嶅姟鍙戦�佸垽鏂富閿�
+     * @return 缁撴灉
+     */
+    public int deleteServiceCheckById(Long id);
+
+    /**
+     * 鎵归噺鍒犻櫎闅忚鏈嶅姟鍙戦�佸垽鏂�
+     *
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteServiceCheckByIds(Long[] ids);
+}
diff --git a/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java b/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
index 19d77f1..1209f1f 100644
--- a/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
+++ b/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
@@ -47,11 +47,10 @@
      * @return 缁撴灉
      */
     public Boolean updateServiceSubtask(ServiceSubtask ServiceSubtask);
-
     public Boolean updateServiceSubtaskByPatId(ServiceSubtask ServiceSubtask);
 
     public Boolean updateServiceSubtaskByCondition(ServiceSubtask ServiceSubtask);
-    
+
     public Boolean updateServiceSubtaskByTaskGuid(ServiceSubtask ServiceSubtask);
 
     /**
diff --git a/smartor/src/main/java/com/smartor/mapper/ServiceTaskdiagMapper.java b/smartor/src/main/java/com/smartor/mapper/ServiceTaskdiagMapper.java
new file mode 100644
index 0000000..5b21326
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/ServiceTaskdiagMapper.java
@@ -0,0 +1,63 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import org.apache.ibatis.annotations.Mapper;
+import com.smartor.domain.ServiceTaskdiag;
+
+/**
+ * 妯℃澘绉戝鍏宠仈Mapper鎺ュ彛
+ *
+ * @author lihu
+ * @date 2025-02-24
+ */
+@Mapper
+public interface ServiceTaskdiagMapper
+{
+    /**
+     * 鏌ヨ妯℃澘绉戝鍏宠仈
+     *
+     * @param id 妯℃澘绉戝鍏宠仈涓婚敭
+     * @return 妯℃澘绉戝鍏宠仈
+     */
+    public ServiceTaskdiag selectServiceTaskdiagById(Long id);
+
+    /**
+     * 鏌ヨ妯℃澘绉戝鍏宠仈鍒楄〃
+     *
+     * @param serviceTaskdiag 妯℃澘绉戝鍏宠仈
+     * @return 妯℃澘绉戝鍏宠仈闆嗗悎
+     */
+    public List<ServiceTaskdiag> selectServiceTaskdiagList(ServiceTaskdiag serviceTaskdiag);
+
+    /**
+     * 鏂板妯℃澘绉戝鍏宠仈
+     *
+     * @param serviceTaskdiag 妯℃澘绉戝鍏宠仈
+     * @return 缁撴灉
+     */
+    public int insertServiceTaskdiag(ServiceTaskdiag serviceTaskdiag);
+
+    /**
+     * 淇敼妯℃澘绉戝鍏宠仈
+     *
+     * @param serviceTaskdiag 妯℃澘绉戝鍏宠仈
+     * @return 缁撴灉
+     */
+    public int updateServiceTaskdiag(ServiceTaskdiag serviceTaskdiag);
+
+    /**
+     * 鍒犻櫎妯℃澘绉戝鍏宠仈
+     *
+     * @param id 妯℃澘绉戝鍏宠仈涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteServiceTaskdiagById(Long id);
+
+    /**
+     * 鎵归噺鍒犻櫎妯℃澘绉戝鍏宠仈
+     *
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteServiceTaskdiagByIds(Long[] ids);
+}
diff --git a/smartor/src/main/java/com/smartor/mapper/ServiceTaskoperMapper.java b/smartor/src/main/java/com/smartor/mapper/ServiceTaskoperMapper.java
new file mode 100644
index 0000000..4b642e8
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/ServiceTaskoperMapper.java
@@ -0,0 +1,63 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import org.apache.ibatis.annotations.Mapper;
+import com.smartor.domain.ServiceTaskoper;
+
+/**
+ * 妯℃澘绉戝鍏宠仈Mapper鎺ュ彛
+ *
+ * @author lihu
+ * @date 2025-02-24
+ */
+@Mapper
+public interface ServiceTaskoperMapper
+{
+    /**
+     * 鏌ヨ妯℃澘绉戝鍏宠仈
+     *
+     * @param id 妯℃澘绉戝鍏宠仈涓婚敭
+     * @return 妯℃澘绉戝鍏宠仈
+     */
+    public ServiceTaskoper selectServiceTaskoperById(Long id);
+
+    /**
+     * 鏌ヨ妯℃澘绉戝鍏宠仈鍒楄〃
+     *
+     * @param serviceTaskoper 妯℃澘绉戝鍏宠仈
+     * @return 妯℃澘绉戝鍏宠仈闆嗗悎
+     */
+    public List<ServiceTaskoper> selectServiceTaskoperList(ServiceTaskoper serviceTaskoper);
+
+    /**
+     * 鏂板妯℃澘绉戝鍏宠仈
+     *
+     * @param serviceTaskoper 妯℃澘绉戝鍏宠仈
+     * @return 缁撴灉
+     */
+    public int insertServiceTaskoper(ServiceTaskoper serviceTaskoper);
+
+    /**
+     * 淇敼妯℃澘绉戝鍏宠仈
+     *
+     * @param serviceTaskoper 妯℃澘绉戝鍏宠仈
+     * @return 缁撴灉
+     */
+    public int updateServiceTaskoper(ServiceTaskoper serviceTaskoper);
+
+    /**
+     * 鍒犻櫎妯℃澘绉戝鍏宠仈
+     *
+     * @param id 妯℃澘绉戝鍏宠仈涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteServiceTaskoperById(Long id);
+
+    /**
+     * 鎵归噺鍒犻櫎妯℃澘绉戝鍏宠仈
+     *
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteServiceTaskoperByIds(Long[] ids);
+}
diff --git a/smartor/src/main/java/com/smartor/service/IServiceCheckService.java b/smartor/src/main/java/com/smartor/service/IServiceCheckService.java
new file mode 100644
index 0000000..c2f8da3
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/IServiceCheckService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.ServiceCheck;
+
+/**
+ * 闅忚鏈嶅姟鍙戦�佸垽鏂璖ervice鎺ュ彛
+ * 
+ * @author lihu
+ * @date 2025-02-25
+ */
+public interface IServiceCheckService 
+{
+    /**
+     * 鏌ヨ闅忚鏈嶅姟鍙戦�佸垽鏂�
+     * 
+     * @param id 闅忚鏈嶅姟鍙戦�佸垽鏂富閿�
+     * @return 闅忚鏈嶅姟鍙戦�佸垽鏂�
+     */
+    public ServiceCheck selectServiceCheckById(Long id);
+
+    /**
+     * 鏌ヨ闅忚鏈嶅姟鍙戦�佸垽鏂垪琛�
+     * 
+     * @param serviceCheck 闅忚鏈嶅姟鍙戦�佸垽鏂�
+     * @return 闅忚鏈嶅姟鍙戦�佸垽鏂泦鍚�
+     */
+    public List<ServiceCheck> selectServiceCheckList(ServiceCheck serviceCheck);
+
+    /**
+     * 鏂板闅忚鏈嶅姟鍙戦�佸垽鏂�
+     * 
+     * @param serviceCheck 闅忚鏈嶅姟鍙戦�佸垽鏂�
+     * @return 缁撴灉
+     */
+    public int insertServiceCheck(ServiceCheck serviceCheck);
+
+    /**
+     * 淇敼闅忚鏈嶅姟鍙戦�佸垽鏂�
+     * 
+     * @param serviceCheck 闅忚鏈嶅姟鍙戦�佸垽鏂�
+     * @return 缁撴灉
+     */
+    public int updateServiceCheck(ServiceCheck serviceCheck);
+
+    /**
+     * 鎵归噺鍒犻櫎闅忚鏈嶅姟鍙戦�佸垽鏂�
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑闅忚鏈嶅姟鍙戦�佸垽鏂富閿泦鍚�
+     * @return 缁撴灉
+     */
+    public int deleteServiceCheckByIds(Long[] ids);
+
+    /**
+     * 鍒犻櫎闅忚鏈嶅姟鍙戦�佸垽鏂俊鎭�
+     * 
+     * @param id 闅忚鏈嶅姟鍙戦�佸垽鏂富閿�
+     * @return 缁撴灉
+     */
+    public int deleteServiceCheckById(Long id);
+}
diff --git a/smartor/src/main/java/com/smartor/service/IServiceTaskdiagService.java b/smartor/src/main/java/com/smartor/service/IServiceTaskdiagService.java
new file mode 100644
index 0000000..e6b3517
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/IServiceTaskdiagService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.ServiceTaskdiag;
+
+/**
+ * 妯℃澘绉戝鍏宠仈Service鎺ュ彛
+ * 
+ * @author lihu
+ * @date 2025-02-24
+ */
+public interface IServiceTaskdiagService 
+{
+    /**
+     * 鏌ヨ妯℃澘绉戝鍏宠仈
+     * 
+     * @param id 妯℃澘绉戝鍏宠仈涓婚敭
+     * @return 妯℃澘绉戝鍏宠仈
+     */
+    public ServiceTaskdiag selectServiceTaskdiagById(Long id);
+
+    /**
+     * 鏌ヨ妯℃澘绉戝鍏宠仈鍒楄〃
+     * 
+     * @param serviceTaskdiag 妯℃澘绉戝鍏宠仈
+     * @return 妯℃澘绉戝鍏宠仈闆嗗悎
+     */
+    public List<ServiceTaskdiag> selectServiceTaskdiagList(ServiceTaskdiag serviceTaskdiag);
+
+    /**
+     * 鏂板妯℃澘绉戝鍏宠仈
+     * 
+     * @param serviceTaskdiag 妯℃澘绉戝鍏宠仈
+     * @return 缁撴灉
+     */
+    public int insertServiceTaskdiag(ServiceTaskdiag serviceTaskdiag);
+
+    /**
+     * 淇敼妯℃澘绉戝鍏宠仈
+     * 
+     * @param serviceTaskdiag 妯℃澘绉戝鍏宠仈
+     * @return 缁撴灉
+     */
+    public int updateServiceTaskdiag(ServiceTaskdiag serviceTaskdiag);
+
+    /**
+     * 鎵归噺鍒犻櫎妯℃澘绉戝鍏宠仈
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑妯℃澘绉戝鍏宠仈涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteServiceTaskdiagByIds(Long[] ids);
+
+    /**
+     * 鍒犻櫎妯℃澘绉戝鍏宠仈淇℃伅
+     * 
+     * @param id 妯℃澘绉戝鍏宠仈涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteServiceTaskdiagById(Long id);
+}
diff --git a/smartor/src/main/java/com/smartor/service/IServiceTaskoperService.java b/smartor/src/main/java/com/smartor/service/IServiceTaskoperService.java
new file mode 100644
index 0000000..a0312a5
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/IServiceTaskoperService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.ServiceTaskoper;
+
+/**
+ * 妯℃澘绉戝鍏宠仈Service鎺ュ彛
+ * 
+ * @author lihu
+ * @date 2025-02-24
+ */
+public interface IServiceTaskoperService 
+{
+    /**
+     * 鏌ヨ妯℃澘绉戝鍏宠仈
+     * 
+     * @param id 妯℃澘绉戝鍏宠仈涓婚敭
+     * @return 妯℃澘绉戝鍏宠仈
+     */
+    public ServiceTaskoper selectServiceTaskoperById(Long id);
+
+    /**
+     * 鏌ヨ妯℃澘绉戝鍏宠仈鍒楄〃
+     * 
+     * @param serviceTaskoper 妯℃澘绉戝鍏宠仈
+     * @return 妯℃澘绉戝鍏宠仈闆嗗悎
+     */
+    public List<ServiceTaskoper> selectServiceTaskoperList(ServiceTaskoper serviceTaskoper);
+
+    /**
+     * 鏂板妯℃澘绉戝鍏宠仈
+     * 
+     * @param serviceTaskoper 妯℃澘绉戝鍏宠仈
+     * @return 缁撴灉
+     */
+    public int insertServiceTaskoper(ServiceTaskoper serviceTaskoper);
+
+    /**
+     * 淇敼妯℃澘绉戝鍏宠仈
+     * 
+     * @param serviceTaskoper 妯℃澘绉戝鍏宠仈
+     * @return 缁撴灉
+     */
+    public int updateServiceTaskoper(ServiceTaskoper serviceTaskoper);
+
+    /**
+     * 鎵归噺鍒犻櫎妯℃澘绉戝鍏宠仈
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑妯℃澘绉戝鍏宠仈涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteServiceTaskoperByIds(Long[] ids);
+
+    /**
+     * 鍒犻櫎妯℃澘绉戝鍏宠仈淇℃伅
+     * 
+     * @param id 妯℃澘绉戝鍏宠仈涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteServiceTaskoperById(Long id);
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java
index 3c03fde..09307bc 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java
@@ -10,6 +10,7 @@
 import com.smartor.mapper.BaseTagMapper;
 import com.smartor.mapper.PatArchiveMapper;
 import com.smartor.mapper.PatArchivetagMapper;
+import com.smartor.mapper.ServiceSubtaskMapper;
 import com.smartor.service.IPatArchiveService;
 import com.smartor.service.IPatMedInhospService;
 import com.smartor.service.IPatMedOuthospService;
@@ -47,6 +48,9 @@
 public class PatArchiveServiceImpl implements IPatArchiveService {
     @Autowired
     private PatArchiveMapper patArchiveMapper;
+
+    @Autowired
+    private ServiceSubtaskMapper serviceSubtaskMapper;
 
     @Autowired
     private BaseTagMapper baseTagMapper;
@@ -96,6 +100,7 @@
      * @param patArchive 鎮h�呮。妗�
      * @return 缁撴灉
      */
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public Integer insertPatArchive(PatArchive patArchive) {
         patArchive.setCreateTime(DateUtils.getNowDate());
@@ -103,11 +108,22 @@
         return patArchive.getId().intValue();
     }
 
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public Boolean update(PatArchive patArchive) {
         int i = patArchiveMapper.updatePatArchive(patArchive);
         if (i != 1) {
             return false;
+        } else {
+            ServiceSubtask serviceSubtask = new ServiceSubtask();
+            serviceSubtask.setPatid(patArchive.getId());
+            serviceSubtask.setSendname(patArchive.getName());
+            serviceSubtask.setPhone(patArchive.getTelcode());
+            serviceSubtask.setSex(patArchive.getSex());
+            serviceSubtask.setAge(patArchive.getAge());
+            serviceSubtask.setSfzh(patArchive.getIdcardno());
+            serviceSubtask.setAddr(patArchive.getPlaceOfResidence());
+            serviceSubtaskMapper.updateServiceSubtaskByPatId(serviceSubtask);
         }
         return true;
     }
diff --git a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
index a9157b0..c0bbaa3 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -28,9 +28,14 @@
 public class PatMedInhospServiceImpl implements IPatMedInhospService {
     @Autowired
     private PatMedInhospMapper patMedInhospMapper;
+    @Autowired
+    private ServiceCheckMapper serviceCheckMapper;
 
     @Autowired
     private ServiceTaskdeptMapper serviceTaskdeptMapper;
+
+    @Autowired
+    private ServiceTaskdiagMapper serviceTaskdiagMapper;
 
     @Autowired
     private PatArchiveMapper patArchiveMapper;
@@ -50,6 +55,7 @@
     private ServiceSubtaskMapper serviceSubtaskMapper;
     @Autowired
     private SysUserDeptMapper sysUserDeptMapper;
+
     @Value("${createTaskServiceType}")
     private List<String> createTaskServiceType;
 
@@ -202,32 +208,66 @@
         log.error("dealOutHospInfo闇�瑕佸鐞嗙殑鍑洪櫌鎮h�呬俊鎭細{}", patMedInhosps);
 
         for (PatMedInhosp patMedInhosp1 : patMedInhosps) {
+            //鍏堟牴鎹瀹ゅ幓service_check鏌ヨcheck_visit_flag鏄牴鎹�滅瀹も�濋殢璁匡紝杩樻槸鏍规嵁鈥滅涓�璇婃柇鈥濋殢璁�
+            ServiceCheck serviceCheck = new ServiceCheck();
+            serviceCheck.setDeptCode(patMedInhosp1.getDeptcode());
+            serviceCheck.setOrgid(patMedInhosp1.getOrgid());
+            List<ServiceCheck> serviceChecks = serviceCheckMapper.selectServiceCheckList(serviceCheck);
+            //鑾峰彇鎮h�呬俊鎭�
+            PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp1.getPatid());
             try {
-                //鏍规嵁鎮h�呮墍鍦ㄧ瀹わ紝鑾峰彇璇ョ瀹ょ殑闀挎湡浠诲姟
-                ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
-                serviceTaskdept.setLongtask(1L);
-                serviceTaskdept.setDeptCode(patMedInhosp1.getLeaveldeptcode());
-                serviceTaskdept.setServiceType("2");
-                List<ServiceTaskdept> serviceTaskdepts = serviceTaskdeptMapper.selectServiceTaskdeptList(serviceTaskdept);
-                //濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堟殏瀹氾紝灏嗗嚭鍏ラ櫌琛ㄧ殑check_flag璁剧疆涓�2  锛宭ong_task_reason 璁板綍鍘熷洜锛�
-                if (CollectionUtils.isEmpty(serviceTaskdepts) || serviceTaskdepts.size() == 0) {
-                    patMedInhosp1.setCheckFlag("2");
-                    patMedInhosp1.setLongTaskReason("璇ユ偅鑰呮墍鍦ㄧ瀹わ紝鏈厤缃暱鏈熶换鍔�");
-                    patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
-                    continue;
-                } else if (serviceTaskdepts.size() > 1) {
-                    //濡傛灉鏌ヨ鍑哄涓换鍔★紝閭e氨鍙栫涓�涓紝骞跺湪鎮h�呭娉ㄤ竴涓�
-                    List<Long> tempList = serviceTaskdepts.stream().map(ServiceTaskdept::getTaskId).collect(Collectors.toList());
-                    patMedInhosp1.setLongTaskReason("璇ユ偅鑰呮墍鍦ㄧ瀹わ紝鏈夊涓嚭闄㈤殢璁块暱鏈熶换鍔�:" + tempList);
-                    patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
-                    ServiceTaskdept serviceTaskdept1 = serviceTaskdepts.get(0);
-                    serviceTaskdepts = new ArrayList<>();
-                    serviceTaskdepts.add(serviceTaskdept1);
+                if (CollectionUtils.isEmpty(serviceChecks) || serviceChecks != null && serviceChecks.get(0).getCheckVisitFlag() == 1 || serviceChecks != null && serviceChecks.get(0).getCheckVisitFlag() == 3) {
+                    //鏍规嵁鎮h�呮墍鍦ㄧ瀹わ紝鑾峰彇璇ョ瀹ょ殑闀挎湡浠诲姟
+                    ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
+                    serviceTaskdept.setLongtask(1L);
+                    serviceTaskdept.setDeptCode(patMedInhosp1.getLeaveldeptcode());
+                    serviceTaskdept.setServiceType("2");
+                    List<ServiceTaskdept> serviceTaskdepts = serviceTaskdeptMapper.selectServiceTaskdeptList(serviceTaskdept);
+                    //濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堟殏瀹氾紝灏嗗嚭鍏ラ櫌琛ㄧ殑check_flag璁剧疆涓�2  锛宭ong_task_reason 璁板綍鍘熷洜锛�
+                    if (CollectionUtils.isEmpty(serviceTaskdepts) || serviceTaskdepts.size() == 0) {
+                        patMedInhosp1.setCheckFlag("2");
+                        patMedInhosp1.setLongTaskReason("璇ユ偅鑰呮墍鍦ㄧ瀹わ紝鏈厤缃暱鏈熶换鍔�;");
+                        patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+                        continue;
+                    } else if (serviceTaskdepts.size() > 1) {
+                        //濡傛灉鏌ヨ鍑哄涓换鍔★紝閭e氨鍙栫涓�涓紝骞跺湪鎮h�呭娉ㄤ竴涓�
+                        List<Long> tempList = serviceTaskdepts.stream().map(ServiceTaskdept::getTaskId).collect(Collectors.toList());
+                        patMedInhosp1.setLongTaskReason("璇ユ偅鑰呮墍鍦ㄧ瀹わ紝鏈夊涓嚭闄㈤殢璁块暱鏈熶换鍔�:" + tempList);
+                        patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+                        ServiceTaskdept serviceTaskdept1 = serviceTaskdepts.get(0);
+                        serviceTaskdepts = new ArrayList<>();
+                        serviceTaskdepts.add(serviceTaskdept1);
+                    }
+
+                    writeInSubTask(serviceTaskdepts.get(0).getTaskId(), true, patMedInhosp1, patArchive);
+                } else if (serviceChecks != null && serviceChecks.get(0).getCheckVisitFlag() == 2 || serviceChecks != null && serviceChecks.get(0).getCheckVisitFlag() == 3) {
+                    //涓芥按闇�瑕佹牴鎹闄㈢柧鐥呭璇ョ梾浜虹敓鎴愪竴娆¢殢璁�
+                    String[] split = patMedInhosp1.getIcd10code().split(",");
+                    ServiceTaskdiag serviceTaskdiag = new ServiceTaskdiag();
+                    serviceTaskdiag.setLongtask(1L);
+                    serviceTaskdiag.setIcd10code(split[0]);
+                    serviceTaskdiag.setServiceType("2");
+                    List<ServiceTaskdiag> serviceTaskdiags = serviceTaskdiagMapper.selectServiceTaskdiagList(serviceTaskdiag);
+                    PatMedInhosp patMedInhosp2 = patMedInhospMapper.selectPatMedInhospByInhospid(patMedInhosp1.getInhospid());
+                    //濡傛灉鐤剧梾缂栫爜涓虹┖锛堟殏瀹氾紝灏嗗嚭鍏ラ櫌琛ㄧ殑check_flag璁剧疆涓�3  锛宭ong_task_reason 璁板綍鍘熷洜锛�
+                    if (CollectionUtils.isEmpty(serviceTaskdiags) || serviceTaskdiags.size() == 0) {
+                        patMedInhosp1.setCheckFlag("3");
+                        patMedInhosp1.setLongTaskReason(patMedInhosp2.getLongTaskReason() + "璇ユ偅鑰呯殑绗竴鐤剧梾缂栫爜锛屾湭閰嶇疆闀挎湡浠诲姟;");
+                        patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+                        continue;
+                    } else if (serviceTaskdiags.size() > 1) {
+                        //濡傛灉鏌ヨ鍑哄涓换鍔★紝閭e氨鍙栫涓�涓紝骞跺湪鎮h�呭娉ㄤ竴涓�
+                        List<Long> tempList = serviceTaskdiags.stream().map(ServiceTaskdiag::getTaskId).collect(Collectors.toList());
+                        patMedInhosp1.setLongTaskReason(patMedInhosp2.getLongTaskReason() + "璇ユ偅鑰呯殑绗竴鐤剧梾缂栫爜锛屾湁澶氫釜鍑洪櫌闅忚闀挎湡浠诲姟:" + tempList);
+                        patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+                        ServiceTaskdiag serviceTaskdiag1 = serviceTaskdiags.get(0);
+                        serviceTaskdiags = new ArrayList<>();
+                        serviceTaskdiags.add(serviceTaskdiag1);
+                    }
+                    writeInSubTask(serviceTaskdiags.get(0).getTaskId(), false, patMedInhosp1, patArchive);
                 }
 
-                //鑾峰彇鎮h�呬俊鎭�
-                PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp1.getPatid());
-                writeInSubTask(serviceTaskdepts, patMedInhosp1, patArchive);
+
             } catch (Exception e) {
                 e.printStackTrace();
                 log.error("浜哄憳澶勭悊鍑哄紓甯镐簡锛歿}", e.getMessage());
@@ -297,34 +337,35 @@
     }
 
     //灏嗘偅鑰呮斁鍒皊ubtask涓�
-    private void writeInSubTask(List<ServiceTaskdept> serviceTaskdepts, PatMedInhosp patMedInhosp1, PatArchive patArchive) {
+    private void writeInSubTask(Long taskid, Boolean check, PatMedInhosp patMedInhosp1, PatArchive patArchive) {
         String longTaskReason = patMedInhosp1.getLongTaskReason();
         if (StringUtils.isEmpty(longTaskReason)) longTaskReason = "";
-        for (ServiceTaskdept std : serviceTaskdepts) {
-            Long taskid = std.getTaskId();
-            ServiceTask st = new ServiceTask();
-            st.setTaskid(taskid);
-            st.setSendState(2L);
-            List<ServiceTask> serviceTasks = serviceTaskMapper.selectServiceTaskList(st);
-            if (CollectionUtils.isEmpty(serviceTasks)) {
-                log.error("璇ユ偅鑰呭嚭闄㈤殢璁块暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓猴細{}", taskid);
-                patMedInhosp1.setCheckFlag("2");
-                patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呭嚭闄㈤殢璁块暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
-                patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
-                continue;
-            }
-            ServiceTask serviceTask = serviceTasks.get(0);
-            if (!createTaskServiceType.contains(serviceTask.getServiceType())) {
-                //涓嶆槸鍏佽鐨勬湇鍔$被鍨嬶紝鍒檆ontinue
-                log.error("璇ユ偅鑰呭嚭闄㈤殢璁块暱鏈熶换鍔$殑鏈嶅姟绫诲瀷涓嶅湪鑷姩鐢熸垚鐨勬湇鍔$被鍨嬪垪琛ㄤ腑,浠诲姟ID涓猴細{}", taskid);
-                patMedInhosp1.setCheckFlag("2");
-                patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呭嚭闄㈤殢璁块暱鏈熶换鍔$殑鏈嶅姟绫诲瀷涓嶅湪鑷姩鐢熸垚鐨勬湇鍔$被鍨嬪垪琛ㄤ腑,浠诲姟ID涓猴細" + taskid);
-                patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
-                continue;
-            }
-            //灏佽serviceSubtask
-            ServiceSubtask serviceSubtask = boxedServiceSubtask(serviceTask, patMedInhosp1, patArchive);
-            Integer i = 0;
+//            Long taskid = std.getTaskId();
+        ServiceTask st = new ServiceTask();
+        st.setTaskid(taskid);
+        st.setSendState(2L);
+        List<ServiceTask> serviceTasks = serviceTaskMapper.selectServiceTaskList(st);
+        if (CollectionUtils.isEmpty(serviceTasks)) {
+            log.error("璇ユ偅鑰呭嚭闄㈤殢璁块暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓猴細{}", taskid);
+            patMedInhosp1.setCheckFlag("2");
+            patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呭嚭闄㈤殢璁块暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
+            patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+            return;
+        }
+        ServiceTask serviceTask = serviceTasks.get(0);
+        if (!createTaskServiceType.contains(serviceTask.getServiceType())) {
+            //涓嶆槸鍏佽鐨勬湇鍔$被鍨嬶紝鍒檆ontinue
+            log.error("璇ユ偅鑰呭嚭闄㈤殢璁块暱鏈熶换鍔$殑鏈嶅姟绫诲瀷涓嶅湪鑷姩鐢熸垚鐨勬湇鍔$被鍨嬪垪琛ㄤ腑,浠诲姟ID涓猴細{}", taskid);
+            patMedInhosp1.setCheckFlag("2");
+            patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呭嚭闄㈤殢璁块暱鏈熶换鍔$殑鏈嶅姟绫诲瀷涓嶅湪鑷姩鐢熸垚鐨勬湇鍔$被鍨嬪垪琛ㄤ腑,浠诲姟ID涓猴細" + taskid);
+            patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+            return;
+        }
+        //灏佽serviceSubtask
+        ServiceSubtask serviceSubtask = boxedServiceSubtask(serviceTask, patMedInhosp1, patArchive);
+        Integer i = 0;
+        //鍏堝垽鏂竴涓嬶紝鏄惁闇�瑕佹牎楠�
+        if (check) {
             //鍦ㄦ柊澧炰箣鍓嶏紝鍏堥�氳繃鎮h�匢D锛宻endstate=2鏌ヨ涓�涓嬶紝鍦ㄦ墍鏈夐暱鏈熶换鍔′腑锛屾槸涓嶆槸杩樻湁璇ユ偅鑰呭緟鎵ц鐨勪换鍔★紝鏈夌殑璇�,姣旇緝涔嬪墠鐨別ndtime鏄惁灏忎簬褰撳墠鐨別ndtaime,濡傛灉涔嬪墠鐨勫皬浜庣幇鍦ㄧ殑锛屽垯鐩存帴灏嗕箣鍓嶇殑鍋滄帀锛堝師鍥犲啀鍏ラ櫌锛�
             ServiceSubtaskVO subtask = new ServiceSubtaskVO();
             subtask.setPatid(patArchive.getId());
@@ -351,25 +392,28 @@
                         serviceSubtask.setFinishtime(new Date());
                         serviceSubtask.setSendstate(4L);
                         serviceSubtask.setRemark("褰撳墠鎮h�呭嚭闄㈡椂闂村悗鏈夊緟鎵ц鐨勫嚭闄㈤殢璁块暱鏈熶换鍔�");
+                        i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask);
                     }
                 }
             }
+        } else {
             i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask);
-            if (i == 1) {
-                //灏哻heck_flag鏀规垚1锛堝凡澶勭悊锛�
-                PatMedInhosp patMedInhosp2 = new PatMedInhosp();
-                patMedInhosp2.setInhospid(patMedInhosp1.getInhospid());
-                patMedInhosp2.setCheckFlag("1");
-                patMedInhospMapper.updatePatMedInhosp(patMedInhosp2);
-            } else {
-                //鐢熸垚瀛愪换鍔″け璐ワ紝
-                log.error("鐢熸垚瀛愪换鍔″け璐erviceSubtask涓猴細{}", serviceSubtask);
-                PatMedInhosp patMedInhosp2 = new PatMedInhosp();
-                patMedInhosp2.setInhospid(patMedInhosp1.getInhospid());
-                patMedInhosp2.setRemark("鐢熸垚瀛愪换鍔″け璐�");
-                patMedInhospMapper.updatePatMedInhosp(patMedInhosp2);
-            }
         }
+        if (i == 1) {
+            //灏哻heck_flag鏀规垚1锛堝凡澶勭悊锛�
+            PatMedInhosp patMedInhosp2 = new PatMedInhosp();
+            patMedInhosp2.setInhospid(patMedInhosp1.getInhospid());
+            patMedInhosp2.setCheckFlag("1");
+            patMedInhospMapper.updatePatMedInhosp(patMedInhosp2);
+        } else {
+            //鐢熸垚瀛愪换鍔″け璐ワ紝
+            log.error("鐢熸垚瀛愪换鍔″け璐erviceSubtask涓猴細{}", serviceSubtask);
+            PatMedInhosp patMedInhosp2 = new PatMedInhosp();
+            patMedInhosp2.setInhospid(patMedInhosp1.getInhospid());
+            patMedInhosp2.setRemark("鐢熸垚瀛愪换鍔″け璐�");
+            patMedInhospMapper.updatePatMedInhosp(patMedInhosp2);
+        }
+
     }
 
     //灏佽serviceSubtask
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceCheckServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceCheckServiceImpl.java
new file mode 100644
index 0000000..f4d3aee
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceCheckServiceImpl.java
@@ -0,0 +1,93 @@
+package com.smartor.service.impl;
+
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.smartor.mapper.ServiceCheckMapper;
+import com.smartor.domain.ServiceCheck;
+import com.smartor.service.IServiceCheckService;
+
+/**
+ * 闅忚鏈嶅姟鍙戦�佸垽鏂璖ervice涓氬姟灞傚鐞�
+ * 
+ * @author lihu
+ * @date 2025-02-25
+ */
+@Service
+public class ServiceCheckServiceImpl implements IServiceCheckService 
+{
+    @Autowired
+    private ServiceCheckMapper serviceCheckMapper;
+
+    /**
+     * 鏌ヨ闅忚鏈嶅姟鍙戦�佸垽鏂�
+     * 
+     * @param id 闅忚鏈嶅姟鍙戦�佸垽鏂富閿�
+     * @return 闅忚鏈嶅姟鍙戦�佸垽鏂�
+     */
+    @Override
+    public ServiceCheck selectServiceCheckById(Long id)
+    {
+        return serviceCheckMapper.selectServiceCheckById(id);
+    }
+
+    /**
+     * 鏌ヨ闅忚鏈嶅姟鍙戦�佸垽鏂垪琛�
+     * 
+     * @param serviceCheck 闅忚鏈嶅姟鍙戦�佸垽鏂�
+     * @return 闅忚鏈嶅姟鍙戦�佸垽鏂�
+     */
+    @Override
+    public List<ServiceCheck> selectServiceCheckList(ServiceCheck serviceCheck)
+    {
+        return serviceCheckMapper.selectServiceCheckList(serviceCheck);
+    }
+
+    /**
+     * 鏂板闅忚鏈嶅姟鍙戦�佸垽鏂�
+     * 
+     * @param serviceCheck 闅忚鏈嶅姟鍙戦�佸垽鏂�
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertServiceCheck(ServiceCheck serviceCheck)
+    {
+        return serviceCheckMapper.insertServiceCheck(serviceCheck);
+    }
+
+    /**
+     * 淇敼闅忚鏈嶅姟鍙戦�佸垽鏂�
+     * 
+     * @param serviceCheck 闅忚鏈嶅姟鍙戦�佸垽鏂�
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateServiceCheck(ServiceCheck serviceCheck)
+    {
+        return serviceCheckMapper.updateServiceCheck(serviceCheck);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎闅忚鏈嶅姟鍙戦�佸垽鏂�
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑闅忚鏈嶅姟鍙戦�佸垽鏂富閿�
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteServiceCheckByIds(Long[] ids)
+    {
+        return serviceCheckMapper.deleteServiceCheckByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎闅忚鏈嶅姟鍙戦�佸垽鏂俊鎭�
+     * 
+     * @param id 闅忚鏈嶅姟鍙戦�佸垽鏂富閿�
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteServiceCheckById(Long id)
+    {
+        return serviceCheckMapper.deleteServiceCheckById(id);
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
index 1f72652..09fcb1a 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -1,31 +1,28 @@
 package com.smartor.service.impl;
 
-import java.lang.reflect.Field;
-
 import cn.hutool.core.bean.BeanUtil;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.ruoyi.common.annotation.Excel;
 import com.ruoyi.common.core.domain.entity.SysDept;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.utils.StringUtils;
 import com.smartor.domain.*;
 import com.smartor.mapper.*;
 import com.smartor.service.IServiceExternalService;
-import com.smartor.service.IServiceSubtaskRecordService;
 import com.smartor.service.IServiceSubtaskService;
-import io.swagger.annotations.ApiModelProperty;
+import org.springframework.beans.factory.annotation.Value;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.ObjectUtils;
-import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import javax.security.auth.login.CredentialNotFoundException;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -54,9 +51,8 @@
     @Autowired
     private Icd10AssociationMapper icd10AssociationMapper;
 
-    @Autowired
-    private IServiceSubtaskService iServiceSubtaskService;
-
+    @Value("${defaultPwd}")
+    private String defaultPwd;
 
     public Boolean generalInterface(Map dataMap) {
         Map XiaoXiTou = (Map) dataMap.get("XiaoXiTou");
@@ -117,11 +113,15 @@
         ExternalUserInfo externalUserInfo = BeanUtil.mapToBean(yongHuXX, ExternalUserInfo.class, true);
         SysUser sysUser = new SysUser();
         sysUser.setGuid(externalUserInfo.getZuZhiJGID());
-        sysUser.setUserName(externalUserInfo.getYongHuID());
+        sysUser.setUserName(externalUserInfo.getYongHuDLM());
         sysUser.setNickName(externalUserInfo.getYongHuXM());
         sysUser.setUserType("");
         sysUser.setDeptId(null);
         sysUser.setTitle(null);
+
+        BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
+        sysUser.setPassword(passwordEncoder.encode(defaultPwd));
+
         sysUser.setHisUserId(externalUserInfo.getYongHuID());
         sysUser.setPhonenumber(externalUserInfo.getLianXiDH());
         sysUser.setJobPhone(externalUserInfo.getGongZuoDH());
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 3dd094c..d22dc99 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -66,6 +66,9 @@
     private IServiceTaskdeptService serviceTaskdeptService;
 
     @Autowired
+    private IServiceTaskdiagService serviceTaskdiagService;
+
+    @Autowired
     private RedisCache redisCache;
 
     @Autowired
@@ -377,39 +380,55 @@
             serviceTask.setTemplatename(tempName);
             serviceTask.setLeaveldeptcodes(serviceTaskVO.getLeaveldeptcodes());
             serviceTask.setLeavehospitaldistrictcode(serviceTask.getLeavehospitaldistrictcode());
-            if (serviceTaskVO.getLongTask() == 1L) serviceTask.setSendState(2L);
-            serviceTaskService.insertServiceTask(serviceTask);
-            ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
-            serviceTaskdept.setTaskId(serviceTask.getTaskid());
-            serviceTaskdept.setTaskName(serviceTask.getTaskName());
-            serviceTaskdept.setLongtask(0L);
-            serviceTaskdept.setGuid(serviceTask.getGuid());
-            serviceTaskdept.setOrgid(serviceTask.getOrgid());
-            serviceTaskdept.setOrgid(serviceTask.getOrgid());
-            if (serviceTaskVO.getLongTask() == 1) serviceTaskdept.setLongtask(1L);
-            if (StringUtils.isNotEmpty(serviceTaskVO.getDeptcode())) {
-                String[] deptcodes = serviceTaskVO.getDeptcode().split(",");
-                for (String deptCode : deptcodes) {
-                    serviceTaskdept.setDeptCode(deptCode);
-                    serviceTaskdept.setDeptType("1");
-                    serviceTaskdept.setServiceType(serviceTaskVO.getServiceType());
-                    serviceTaskdeptService.insertServiceTaskdept(serviceTaskdept);
+            if (serviceTaskVO.getLongTask() == 1L) {
+                serviceTask.setSendState(2L);
+                serviceTaskService.insertServiceTask(serviceTask);
+                if (StringUtils.isEmpty(serviceTaskVO.getIcd10code())) {
+                    ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
+                    serviceTaskdept.setTaskId(serviceTask.getTaskid());
+                    serviceTaskdept.setTaskName(serviceTask.getTaskName());
+                    serviceTaskdept.setLongtask(1L);
+                    serviceTaskdept.setGuid(serviceTask.getGuid());
+                    serviceTaskdept.setOrgid(serviceTask.getOrgid());
+                    serviceTaskdept.setOrgid(serviceTask.getOrgid());
+                    if (serviceTaskVO.getLongTask() == 1) serviceTaskdept.setLongtask(1L);
+                    if (StringUtils.isNotEmpty(serviceTaskVO.getDeptcode())) {
+                        String[] deptcodes = serviceTaskVO.getDeptcode().split(",");
+                        for (String deptCode : deptcodes) {
+                            serviceTaskdept.setDeptCode(deptCode);
+                            serviceTaskdept.setDeptType("1");
+                            serviceTaskdept.setServiceType(serviceTaskVO.getServiceType());
+                            serviceTaskdeptService.insertServiceTaskdept(serviceTaskdept);
+                        }
+                    }
+                    if (StringUtils.isNotEmpty(serviceTaskVO.getLeavehospitaldistrictcode())) {
+                        String[] leavehospitaldistrictcodes = serviceTaskVO.getLeavehospitaldistrictcode().split(",");
+                        for (String districtcode : leavehospitaldistrictcodes) {
+                            serviceTaskdept.setDeptCode(districtcode);
+                            serviceTaskdept.setDeptType("2");
+                            serviceTaskdept.setServiceType(serviceTaskVO.getServiceType());
+                            serviceTaskdeptService.insertServiceTaskdept(serviceTaskdept);
+                        }
+                    }
+
+                } else {
+                    ServiceTaskdiag serviceTaskdiag = new ServiceTaskdiag();
+                    serviceTaskdiag.setTaskId(serviceTask.getTaskid());
+                    serviceTaskdiag.setTaskName(serviceTask.getTaskName());
+                    serviceTaskdiag.setLongtask(1L);
+                    serviceTaskdiag.setGuid(serviceTask.getGuid());
+                    serviceTaskdiag.setOrgid(serviceTask.getOrgid());
+                    if (serviceTaskVO.getLongTask() == 1) serviceTaskdiag.setLongtask(1L);
+                    serviceTaskdiagService.insertServiceTaskdiag(serviceTaskdiag);
+
                 }
-            }
-            if (StringUtils.isNotEmpty(serviceTaskVO.getLeavehospitaldistrictcode())) {
-                String[] leavehospitaldistrictcodes = serviceTaskVO.getLeavehospitaldistrictcode().split(",");
-                for (String districtcode : leavehospitaldistrictcodes) {
-                    serviceTaskdept.setDeptCode(districtcode);
-                    serviceTaskdept.setDeptType("2");
-                    serviceTaskdept.setServiceType(serviceTaskVO.getServiceType());
-                    serviceTaskdeptService.insertServiceTaskdept(serviceTaskdept);
+                if (serviceTaskVO.getLongTask() != null && serviceTaskVO.getLongTask() == 1 && serviceTaskVO.getPatCycle() == 0L) {
+                    Map<String, Integer> map = new HashMap<>();
+                    map.put("taskId", serviceTask.getTaskid().intValue());
+                    return map;
                 }
-            }
-//
-            if (serviceTaskVO.getLongTask() != null && serviceTaskVO.getLongTask() == 1 && serviceTaskVO.getPatCycle() == 0L) {
-                Map<String, Integer> map = new HashMap<>();
-                map.put("taskId", serviceTask.getTaskid().intValue());
-                return map;
+            } else {
+                serviceTaskService.insertServiceTask(serviceTask);
             }
 
             //灏嗕换鍔′俊鎭斁鍒版湇鍔¤〃涓�
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceTaskdiagServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceTaskdiagServiceImpl.java
new file mode 100644
index 0000000..91e08b0
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceTaskdiagServiceImpl.java
@@ -0,0 +1,96 @@
+package com.smartor.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.smartor.mapper.ServiceTaskdiagMapper;
+import com.smartor.domain.ServiceTaskdiag;
+import com.smartor.service.IServiceTaskdiagService;
+
+/**
+ * 妯℃澘绉戝鍏宠仈Service涓氬姟灞傚鐞�
+ * 
+ * @author lihu
+ * @date 2025-02-24
+ */
+@Service
+public class ServiceTaskdiagServiceImpl implements IServiceTaskdiagService 
+{
+    @Autowired
+    private ServiceTaskdiagMapper serviceTaskdiagMapper;
+
+    /**
+     * 鏌ヨ妯℃澘绉戝鍏宠仈
+     * 
+     * @param id 妯℃澘绉戝鍏宠仈涓婚敭
+     * @return 妯℃澘绉戝鍏宠仈
+     */
+    @Override
+    public ServiceTaskdiag selectServiceTaskdiagById(Long id)
+    {
+        return serviceTaskdiagMapper.selectServiceTaskdiagById(id);
+    }
+
+    /**
+     * 鏌ヨ妯℃澘绉戝鍏宠仈鍒楄〃
+     * 
+     * @param serviceTaskdiag 妯℃澘绉戝鍏宠仈
+     * @return 妯℃澘绉戝鍏宠仈
+     */
+    @Override
+    public List<ServiceTaskdiag> selectServiceTaskdiagList(ServiceTaskdiag serviceTaskdiag)
+    {
+        return serviceTaskdiagMapper.selectServiceTaskdiagList(serviceTaskdiag);
+    }
+
+    /**
+     * 鏂板妯℃澘绉戝鍏宠仈
+     * 
+     * @param serviceTaskdiag 妯℃澘绉戝鍏宠仈
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertServiceTaskdiag(ServiceTaskdiag serviceTaskdiag)
+    {
+        serviceTaskdiag.setCreateTime(DateUtils.getNowDate());
+        return serviceTaskdiagMapper.insertServiceTaskdiag(serviceTaskdiag);
+    }
+
+    /**
+     * 淇敼妯℃澘绉戝鍏宠仈
+     * 
+     * @param serviceTaskdiag 妯℃澘绉戝鍏宠仈
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateServiceTaskdiag(ServiceTaskdiag serviceTaskdiag)
+    {
+        serviceTaskdiag.setUpdateTime(DateUtils.getNowDate());
+        return serviceTaskdiagMapper.updateServiceTaskdiag(serviceTaskdiag);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎妯℃澘绉戝鍏宠仈
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑妯℃澘绉戝鍏宠仈涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteServiceTaskdiagByIds(Long[] ids)
+    {
+        return serviceTaskdiagMapper.deleteServiceTaskdiagByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎妯℃澘绉戝鍏宠仈淇℃伅
+     * 
+     * @param id 妯℃澘绉戝鍏宠仈涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteServiceTaskdiagById(Long id)
+    {
+        return serviceTaskdiagMapper.deleteServiceTaskdiagById(id);
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceTaskoperServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceTaskoperServiceImpl.java
new file mode 100644
index 0000000..3302270
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceTaskoperServiceImpl.java
@@ -0,0 +1,96 @@
+package com.smartor.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.smartor.mapper.ServiceTaskoperMapper;
+import com.smartor.domain.ServiceTaskoper;
+import com.smartor.service.IServiceTaskoperService;
+
+/**
+ * 妯℃澘绉戝鍏宠仈Service涓氬姟灞傚鐞�
+ * 
+ * @author lihu
+ * @date 2025-02-24
+ */
+@Service
+public class ServiceTaskoperServiceImpl implements IServiceTaskoperService 
+{
+    @Autowired
+    private ServiceTaskoperMapper serviceTaskoperMapper;
+
+    /**
+     * 鏌ヨ妯℃澘绉戝鍏宠仈
+     * 
+     * @param id 妯℃澘绉戝鍏宠仈涓婚敭
+     * @return 妯℃澘绉戝鍏宠仈
+     */
+    @Override
+    public ServiceTaskoper selectServiceTaskoperById(Long id)
+    {
+        return serviceTaskoperMapper.selectServiceTaskoperById(id);
+    }
+
+    /**
+     * 鏌ヨ妯℃澘绉戝鍏宠仈鍒楄〃
+     * 
+     * @param serviceTaskoper 妯℃澘绉戝鍏宠仈
+     * @return 妯℃澘绉戝鍏宠仈
+     */
+    @Override
+    public List<ServiceTaskoper> selectServiceTaskoperList(ServiceTaskoper serviceTaskoper)
+    {
+        return serviceTaskoperMapper.selectServiceTaskoperList(serviceTaskoper);
+    }
+
+    /**
+     * 鏂板妯℃澘绉戝鍏宠仈
+     * 
+     * @param serviceTaskoper 妯℃澘绉戝鍏宠仈
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertServiceTaskoper(ServiceTaskoper serviceTaskoper)
+    {
+        serviceTaskoper.setCreateTime(DateUtils.getNowDate());
+        return serviceTaskoperMapper.insertServiceTaskoper(serviceTaskoper);
+    }
+
+    /**
+     * 淇敼妯℃澘绉戝鍏宠仈
+     * 
+     * @param serviceTaskoper 妯℃澘绉戝鍏宠仈
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateServiceTaskoper(ServiceTaskoper serviceTaskoper)
+    {
+        serviceTaskoper.setUpdateTime(DateUtils.getNowDate());
+        return serviceTaskoperMapper.updateServiceTaskoper(serviceTaskoper);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎妯℃澘绉戝鍏宠仈
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑妯℃澘绉戝鍏宠仈涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteServiceTaskoperByIds(Long[] ids)
+    {
+        return serviceTaskoperMapper.deleteServiceTaskoperByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎妯℃澘绉戝鍏宠仈淇℃伅
+     * 
+     * @param id 妯℃澘绉戝鍏宠仈涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteServiceTaskoperById(Long id)
+    {
+        return serviceTaskoperMapper.deleteServiceTaskoperById(id);
+    }
+}
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceCheckMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceCheckMapper.xml
new file mode 100644
index 0000000..69f0e5b
--- /dev/null
+++ b/smartor/src/main/resources/mapper/smartor/ServiceCheckMapper.xml
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.smartor.mapper.ServiceCheckMapper">
+
+    <resultMap type="com.smartor.domain.ServiceCheck" id="ServiceCheckResult">
+        <result property="id" column="id"/>
+        <result property="deptCode" column="dept_code"/>
+        <result property="districtCode" column="district_code"/>
+        <result property="checkVisitFlag" column="check_visit_flag"/>
+        <result property="orgid" column="orgid"/>
+        <result property="delFlag" column="del_flag"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateTime" column="update_time"/>
+    </resultMap>
+
+    <sql id="selectServiceCheckVo">
+        select id,
+               dept_code,
+               district_code,
+               check_visit_flag,
+               orgid,
+               del_flag,
+               create_time,
+               update_time
+        from service_check
+    </sql>
+
+    <select id="selectServiceCheckList" parameterType="com.smartor.domain.ServiceCheck"
+            resultMap="ServiceCheckResult">
+        <include refid="selectServiceCheckVo"/>
+        <where>
+            del_flag=0
+            <if test="deptCode != null  and deptCode != ''">
+                and dept_code = #{deptCode}
+            </if>
+            <if test="districtCode != null  and districtCode != ''">
+                and district_code = #{districtCode}
+            </if>
+            <if test="checkVisitFlag != null ">
+                and check_visit_flag = #{checkVisitFlag}
+            </if>
+            <if test="orgid != null  and orgid != ''">
+                and orgid = #{orgid}
+            </if>
+        </where>
+    </select>
+
+    <select id="selectServiceCheckById" parameterType="Long"
+            resultMap="ServiceCheckResult">
+        <include refid="selectServiceCheckVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertServiceCheck" parameterType="com.smartor.domain.ServiceCheck">
+        insert into service_check
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,
+            </if>
+            <if test="deptCode != null">dept_code,
+            </if>
+            <if test="districtCode != null">district_code,
+            </if>
+            <if test="checkVisitFlag != null">check_visit_flag,
+            </if>
+            <if test="orgid != null">orgid,
+            </if>
+            <if test="delFlag != null">del_flag,
+            </if>
+            <if test="createTime != null">create_time,
+            </if>
+            <if test="updateTime != null">update_time,
+            </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},
+            </if>
+            <if test="deptCode != null">#{deptCode},
+            </if>
+            <if test="districtCode != null">#{districtCode},
+            </if>
+            <if test="checkVisitFlag != null">#{checkVisitFlag},
+            </if>
+            <if test="orgid != null">#{orgid},
+            </if>
+            <if test="delFlag != null">#{delFlag},
+            </if>
+            <if test="createTime != null">#{createTime},
+            </if>
+            <if test="updateTime != null">#{updateTime},
+            </if>
+        </trim>
+    </insert>
+
+    <update id="updateServiceCheck" parameterType="com.smartor.domain.ServiceCheck">
+        update service_check
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="deptCode != null">dept_code =
+                #{deptCode},
+            </if>
+            <if test="districtCode != null">district_code =
+                #{districtCode},
+            </if>
+            <if test="checkVisitFlag != null">check_visit_flag =
+                #{checkVisitFlag},
+            </if>
+            <if test="orgid != null">orgid =
+                #{orgid},
+            </if>
+            <if test="delFlag != null">del_flag =
+                #{delFlag},
+            </if>
+            <if test="createTime != null">create_time =
+                #{createTime},
+            </if>
+            <if test="updateTime != null">update_time =
+                #{updateTime},
+            </if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <update id="deleteServiceCheckById" parameterType="Long">
+        update service_check
+        <trim prefix="SET" suffixOverrides=",">
+            del_flag =1
+        </trim>
+        where id = #{id}
+    </update>
+
+    <update id="deleteServiceCheckByIds" parameterType="String">
+        update service_check
+        <trim prefix="SET" suffixOverrides=",">
+            del_flag =1
+        </trim>
+        where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+
+
+</mapper>
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
index 2f4a4c7..547a221 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -575,7 +575,8 @@
             <if test="patfrom != null ">patfrom=#{patfrom},</if>
             <if test="taskGuid != null ">taskGuid=#{taskGuid},</if>
         </trim>
-        where patid = #{patid} and taskid = #{taskid}
+        <if test="patid != null ">and patid = #{patid}</if>
+        <if test="taskid != null ">and taskid = #{taskid}</if>
     </update>
 
     <update id="updateServiceSubtaskByCondition" parameterType="com.smartor.domain.ServiceSubtask">
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceTaskMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceTaskMapper.xml
index fa56374..b35d738 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceTaskMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceTaskMapper.xml
@@ -57,11 +57,13 @@
         <result property="nexttaskflag" column="nexttaskflag"/>
         <result property="nexttaskid" column="nexttaskid"/>
         <result property="nexttaskname" column="nexttaskname"/>
+        <result property="appltype" column="appltype"/>
     </resultMap>
 
     <sql id="selectServiceTaskVo">
         select taskid,
                task_name,
+               appltype,
                send_day,
                long_task,
                show_date,
@@ -163,6 +165,7 @@
             <if test="nexttaskflag != null  ">and nexttaskflag = #{nexttaskflag}</if>
             <if test="nexttaskid != null  ">and nexttaskid = #{nexttaskid}</if>
             <if test="nexttaskname != null  ">and nexttaskname = #{nexttaskname}</if>
+            <if test="appltype != null  ">and appltype = #{appltype}</if>
             <if test="leavehospitaldistrictname != null  ">and leavehospitaldistrictname =
                 #{leavehospitaldistrictname}
             </if>
@@ -192,6 +195,7 @@
             resultMap="ServiceTaskResult">
         select service_task.taskid,
         service_task.task_name,
+        service_task.appltype,
         service_task.send_day,
         service_task.long_task,
         service_task.show_date,
@@ -312,6 +316,7 @@
             <if test="nexttaskflag != null  ">and nexttaskflag = #{nexttaskflag}</if>
             <if test="nexttaskid != null  ">and nexttaskid = #{nexttaskid}</if>
             <if test="nexttaskname != null  ">and nexttaskname = #{nexttaskname}</if>
+            <if test="appltype != null  ">and appltype = #{appltype}</if>
             <if test="leavehospitaldistrictname != null  ">and service_task.leavehospitaldistrictname =
                 #{leavehospitaldistrictname}
             </if>
@@ -379,6 +384,7 @@
             <if test="leavehospitaldistrictcode != null  ">leavehospitaldistrictcode,</if>
             <if test="compensateDate != null  and compensateDate != ''">compensate_date,</if>
             <if test="sendDay != null  ">send_day,</if>
+            <if test="appltype != null  ">appltype,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="taskName != null">#{taskName},</if>
@@ -431,6 +437,7 @@
             <if test="leavehospitaldistrictcode != null  ">#{leavehospitaldistrictcode},</if>
             <if test="compensateDate != null  and compensateDate != ''">#{compensateDate}</if>
             <if test="sendDay != null  ">#{sendDay},</if>
+            <if test="appltype != null  ">#{appltype},</if>
         </trim>
     </insert>
 
@@ -489,6 +496,7 @@
             </if>
             <if test="compensateDate != null  and compensateDate != ''">compensate_date = #{compensateDate}</if>
             <if test="sendDay != null  ">send_day = #{sendDay}</if>
+            <if test="appltype != null  ">appltype = #{appltype}</if>
         </trim>
         where taskid = #{taskid}
     </update>
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceTaskdiagMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceTaskdiagMapper.xml
new file mode 100644
index 0000000..fcdd4da
--- /dev/null
+++ b/smartor/src/main/resources/mapper/smartor/ServiceTaskdiagMapper.xml
@@ -0,0 +1,211 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.smartor.mapper.ServiceTaskdiagMapper">
+
+    <resultMap type="com.smartor.domain.ServiceTaskdiag" id="ServiceTaskdiagResult">
+            <result property="id" column="id"/>
+            <result property="taskId" column="task_id"/>
+            <result property="longtask" column="longtask"/>
+            <result property="taskName" column="task_name"/>
+            <result property="serviceType" column="service_type"/>
+            <result property="icd10id" column="icd10id"/>
+            <result property="icd10code" column="icd10code"/>
+            <result property="icd10name" column="icd10name"/>
+            <result property="delFlag" column="del_flag"/>
+            <result property="createTime" column="create_time"/>
+            <result property="updateTime" column="update_time"/>
+            <result property="orgid" column="orgid"/>
+            <result property="guid" column="guid"/>
+            <result property="pguid" column="pguid"/>
+            <result property="pid" column="pid"/>
+    </resultMap>
+
+    <sql id="selectServiceTaskdiagVo">
+        select id, task_id, longtask, task_name, service_type, icd10id, icd10code, icd10name, del_flag, create_time, update_time, orgid, guid, pguid, pid
+        from service_taskdiag
+    </sql>
+
+    <select id="selectServiceTaskdiagList" parameterType="com.smartor.domain.ServiceTaskdiag"
+            resultMap="ServiceTaskdiagResult">
+        <include refid="selectServiceTaskdiagVo"/>
+        <where>
+                        <if test="taskId != null ">
+                            and task_id = #{taskId}
+                        </if>
+                        <if test="longtask != null ">
+                            and longtask = #{longtask}
+                        </if>
+                        <if test="taskName != null  and taskName != ''">
+                            and task_name like concat('%', #{taskName}, '%')
+                        </if>
+                        <if test="serviceType != null  and serviceType != ''">
+                            and service_type = #{serviceType}
+                        </if>
+                        <if test="icd10id != null ">
+                            and icd10id = #{icd10id}
+                        </if>
+                        <if test="icd10code != null  and icd10code != ''">
+                            and icd10code = #{icd10code}
+                        </if>
+                        <if test="icd10name != null  and icd10name != ''">
+                            and icd10name like concat('%', #{icd10name}, '%')
+                        </if>
+                        <if test="orgid != null  and orgid != ''">
+                            and orgid = #{orgid}
+                        </if>
+                        <if test="guid != null  and guid != ''">
+                            and guid = #{guid}
+                        </if>
+                        <if test="pguid != null  and pguid != ''">
+                            and pguid = #{pguid}
+                        </if>
+                        <if test="pid != null ">
+                            and pid = #{pid}
+                        </if>
+        </where>
+    </select>
+
+    <select id="selectServiceTaskdiagById" parameterType="Long"
+            resultMap="ServiceTaskdiagResult">
+            <include refid="selectServiceTaskdiagVo"/>
+            where id = #{id}
+    </select>
+
+    <insert id="insertServiceTaskdiag" parameterType="com.smartor.domain.ServiceTaskdiag"            useGeneratedKeys="true" keyProperty="id">
+        insert into service_taskdiag
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+                    <if test="taskId != null">task_id,
+                    </if>
+                    <if test="longtask != null">longtask,
+                    </if>
+                    <if test="taskName != null">task_name,
+                    </if>
+                    <if test="serviceType != null">service_type,
+                    </if>
+                    <if test="icd10id != null">icd10id,
+                    </if>
+                    <if test="icd10code != null">icd10code,
+                    </if>
+                    <if test="icd10name != null">icd10name,
+                    </if>
+                    <if test="delFlag != null">del_flag,
+                    </if>
+                    <if test="createTime != null">create_time,
+                    </if>
+                    <if test="updateTime != null">update_time,
+                    </if>
+                    <if test="orgid != null">orgid,
+                    </if>
+                    <if test="guid != null">guid,
+                    </if>
+                    <if test="pguid != null">pguid,
+                    </if>
+                    <if test="pid != null">pid,
+                    </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+                    <if test="taskId != null">#{taskId},
+                    </if>
+                    <if test="longtask != null">#{longtask},
+                    </if>
+                    <if test="taskName != null">#{taskName},
+                    </if>
+                    <if test="serviceType != null">#{serviceType},
+                    </if>
+                    <if test="icd10id != null">#{icd10id},
+                    </if>
+                    <if test="icd10code != null">#{icd10code},
+                    </if>
+                    <if test="icd10name != null">#{icd10name},
+                    </if>
+                    <if test="delFlag != null">#{delFlag},
+                    </if>
+                    <if test="createTime != null">#{createTime},
+                    </if>
+                    <if test="updateTime != null">#{updateTime},
+                    </if>
+                    <if test="orgid != null">#{orgid},
+                    </if>
+                    <if test="guid != null">#{guid},
+                    </if>
+                    <if test="pguid != null">#{pguid},
+                    </if>
+                    <if test="pid != null">#{pid},
+                    </if>
+        </trim>
+    </insert>
+
+    <update id="updateServiceTaskdiag" parameterType="com.smartor.domain.ServiceTaskdiag">
+        update service_taskdiag
+        <trim prefix="SET" suffixOverrides=",">
+                    <if test="taskId != null">task_id =
+                        #{taskId},
+                    </if>
+                    <if test="longtask != null">longtask =
+                        #{longtask},
+                    </if>
+                    <if test="taskName != null">task_name =
+                        #{taskName},
+                    </if>
+                    <if test="serviceType != null">service_type =
+                        #{serviceType},
+                    </if>
+                    <if test="icd10id != null">icd10id =
+                        #{icd10id},
+                    </if>
+                    <if test="icd10code != null">icd10code =
+                        #{icd10code},
+                    </if>
+                    <if test="icd10name != null">icd10name =
+                        #{icd10name},
+                    </if>
+                    <if test="delFlag != null">del_flag =
+                        #{delFlag},
+                    </if>
+                    <if test="createTime != null">create_time =
+                        #{createTime},
+                    </if>
+                    <if test="updateTime != null">update_time =
+                        #{updateTime},
+                    </if>
+                    <if test="orgid != null">orgid =
+                        #{orgid},
+                    </if>
+                    <if test="guid != null">guid =
+                        #{guid},
+                    </if>
+                    <if test="pguid != null">pguid =
+                        #{pguid},
+                    </if>
+                    <if test="pid != null">pid =
+                        #{pid},
+                    </if>
+        </trim>
+        where id = #{id}
+    </update>
+
+                <update id="deleteServiceTaskdiagById" parameterType="Long">
+        update service_taskdiag
+        <trim prefix="SET" suffixOverrides=",">
+            del_flag =1
+        </trim>
+        where  id = #{id}
+    </update>
+
+                            <update id="deleteServiceTaskdiagByIds" parameterType="String">
+        update  service_taskdiag
+        <trim prefix="SET" suffixOverrides=",">
+            del_flag =1
+        </trim>
+        where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+
+
+
+
+</mapper>
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceTaskoperMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceTaskoperMapper.xml
new file mode 100644
index 0000000..89bcb96
--- /dev/null
+++ b/smartor/src/main/resources/mapper/smartor/ServiceTaskoperMapper.xml
@@ -0,0 +1,211 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.smartor.mapper.ServiceTaskoperMapper">
+
+    <resultMap type="com.smartor.domain.ServiceTaskoper" id="ServiceTaskoperResult">
+            <result property="id" column="id"/>
+            <result property="taskId" column="task_id"/>
+            <result property="longtask" column="longtask"/>
+            <result property="taskName" column="task_name"/>
+            <result property="serviceType" column="service_type"/>
+            <result property="deptId" column="dept_id"/>
+            <result property="deptCode" column="dept_code"/>
+            <result property="deptName" column="dept_name"/>
+            <result property="delFlag" column="del_flag"/>
+            <result property="createTime" column="create_time"/>
+            <result property="updateTime" column="update_time"/>
+            <result property="orgid" column="orgid"/>
+            <result property="guid" column="guid"/>
+            <result property="pguid" column="pguid"/>
+            <result property="pid" column="pid"/>
+    </resultMap>
+
+    <sql id="selectServiceTaskoperVo">
+        select id, task_id, longtask, task_name, service_type, dept_id, dept_code, dept_name, del_flag, create_time, update_time, orgid, guid, pguid, pid
+        from service_taskoper
+    </sql>
+
+    <select id="selectServiceTaskoperList" parameterType="com.smartor.domain.ServiceTaskoper"
+            resultMap="ServiceTaskoperResult">
+        <include refid="selectServiceTaskoperVo"/>
+        <where>
+                        <if test="taskId != null ">
+                            and task_id = #{taskId}
+                        </if>
+                        <if test="longtask != null ">
+                            and longtask = #{longtask}
+                        </if>
+                        <if test="taskName != null  and taskName != ''">
+                            and task_name like concat('%', #{taskName}, '%')
+                        </if>
+                        <if test="serviceType != null  and serviceType != ''">
+                            and service_type = #{serviceType}
+                        </if>
+                        <if test="deptId != null ">
+                            and dept_id = #{deptId}
+                        </if>
+                        <if test="deptCode != null  and deptCode != ''">
+                            and dept_code = #{deptCode}
+                        </if>
+                        <if test="deptName != null  and deptName != ''">
+                            and dept_name like concat('%', #{deptName}, '%')
+                        </if>
+                        <if test="orgid != null  and orgid != ''">
+                            and orgid = #{orgid}
+                        </if>
+                        <if test="guid != null  and guid != ''">
+                            and guid = #{guid}
+                        </if>
+                        <if test="pguid != null  and pguid != ''">
+                            and pguid = #{pguid}
+                        </if>
+                        <if test="pid != null ">
+                            and pid = #{pid}
+                        </if>
+        </where>
+    </select>
+
+    <select id="selectServiceTaskoperById" parameterType="Long"
+            resultMap="ServiceTaskoperResult">
+            <include refid="selectServiceTaskoperVo"/>
+            where id = #{id}
+    </select>
+
+    <insert id="insertServiceTaskoper" parameterType="com.smartor.domain.ServiceTaskoper"            useGeneratedKeys="true" keyProperty="id">
+        insert into service_taskoper
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+                    <if test="taskId != null">task_id,
+                    </if>
+                    <if test="longtask != null">longtask,
+                    </if>
+                    <if test="taskName != null">task_name,
+                    </if>
+                    <if test="serviceType != null">service_type,
+                    </if>
+                    <if test="deptId != null">dept_id,
+                    </if>
+                    <if test="deptCode != null">dept_code,
+                    </if>
+                    <if test="deptName != null">dept_name,
+                    </if>
+                    <if test="delFlag != null">del_flag,
+                    </if>
+                    <if test="createTime != null">create_time,
+                    </if>
+                    <if test="updateTime != null">update_time,
+                    </if>
+                    <if test="orgid != null">orgid,
+                    </if>
+                    <if test="guid != null">guid,
+                    </if>
+                    <if test="pguid != null">pguid,
+                    </if>
+                    <if test="pid != null">pid,
+                    </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+                    <if test="taskId != null">#{taskId},
+                    </if>
+                    <if test="longtask != null">#{longtask},
+                    </if>
+                    <if test="taskName != null">#{taskName},
+                    </if>
+                    <if test="serviceType != null">#{serviceType},
+                    </if>
+                    <if test="deptId != null">#{deptId},
+                    </if>
+                    <if test="deptCode != null">#{deptCode},
+                    </if>
+                    <if test="deptName != null">#{deptName},
+                    </if>
+                    <if test="delFlag != null">#{delFlag},
+                    </if>
+                    <if test="createTime != null">#{createTime},
+                    </if>
+                    <if test="updateTime != null">#{updateTime},
+                    </if>
+                    <if test="orgid != null">#{orgid},
+                    </if>
+                    <if test="guid != null">#{guid},
+                    </if>
+                    <if test="pguid != null">#{pguid},
+                    </if>
+                    <if test="pid != null">#{pid},
+                    </if>
+        </trim>
+    </insert>
+
+    <update id="updateServiceTaskoper" parameterType="com.smartor.domain.ServiceTaskoper">
+        update service_taskoper
+        <trim prefix="SET" suffixOverrides=",">
+                    <if test="taskId != null">task_id =
+                        #{taskId},
+                    </if>
+                    <if test="longtask != null">longtask =
+                        #{longtask},
+                    </if>
+                    <if test="taskName != null">task_name =
+                        #{taskName},
+                    </if>
+                    <if test="serviceType != null">service_type =
+                        #{serviceType},
+                    </if>
+                    <if test="deptId != null">dept_id =
+                        #{deptId},
+                    </if>
+                    <if test="deptCode != null">dept_code =
+                        #{deptCode},
+                    </if>
+                    <if test="deptName != null">dept_name =
+                        #{deptName},
+                    </if>
+                    <if test="delFlag != null">del_flag =
+                        #{delFlag},
+                    </if>
+                    <if test="createTime != null">create_time =
+                        #{createTime},
+                    </if>
+                    <if test="updateTime != null">update_time =
+                        #{updateTime},
+                    </if>
+                    <if test="orgid != null">orgid =
+                        #{orgid},
+                    </if>
+                    <if test="guid != null">guid =
+                        #{guid},
+                    </if>
+                    <if test="pguid != null">pguid =
+                        #{pguid},
+                    </if>
+                    <if test="pid != null">pid =
+                        #{pid},
+                    </if>
+        </trim>
+        where id = #{id}
+    </update>
+
+                <update id="deleteServiceTaskoperById" parameterType="Long">
+        update service_taskoper
+        <trim prefix="SET" suffixOverrides=",">
+            del_flag =1
+        </trim>
+        where  id = #{id}
+    </update>
+
+                            <update id="deleteServiceTaskoperByIds" parameterType="String">
+        update  service_taskoper
+        <trim prefix="SET" suffixOverrides=",">
+            del_flag =1
+        </trim>
+        where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+
+
+
+
+</mapper>

--
Gitblit v1.9.3