From 459aa78c84cf552ebea6ef056d978c2531d71ac8 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 06 三月 2026 17:14:27 +0800
Subject: [PATCH] 代码提交

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java |  114 +++++++++++++++++++++++++++++++++------------------------
 1 files changed, 66 insertions(+), 48 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java
index 857b8a6..c24c121 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java
@@ -25,6 +25,8 @@
 import com.ruoyi.system.domain.SysConfig;
 import com.ruoyi.system.service.ISysConfigService;
 import com.smartor.domain.*;
+import com.smartor.domain.VO.ServiceSubtaskVO;
+import com.smartor.domain.entity.ServiceSubtaskEntity;
 import com.smartor.mapper.PatMedInhospMapper;
 import com.smartor.mapper.PatMedOuthospMapper;
 import com.smartor.service.IServiceSubtaskRecordService;
@@ -86,19 +88,27 @@
      * 鏌ヨ鎮h�呴殢璁夸俊鎭�
      */
     @ApiOperation("鏌ヨ鎮h�呴殢璁夸俊鎭�")
-    //@PreAuthorize("@ss.hasPermi('system:taskcall:list')")
-//    @Cacheable(value = "patItem", key = "T(org.springframework.util.DigestUtils).md5DigestAsHex(#serviceSubtaskVO.toString().getBytes())", unless = "#result == null or #result.isEmpty()")
     @PostMapping("/patItem")
-    public TableDataInfo patItem(@RequestBody ServiceSubtaskVO serviceSubtaskVO) {
-        PageUtils.startPageByPost(serviceSubtaskVO.getPageNum(), serviceSubtaskVO.getPageSize());
-        List<ServiceSubtask> serviceSubtaskList = null;
+    public Map<String, Object> patItem(@RequestBody ServiceSubtaskVO serviceSubtaskVO) {
+//        if (serviceSubtaskVO.getLeavehospitaldistrictcodes() != null && serviceSubtaskVO.getLeavehospitaldistrictcodes().size() > 10) {
+//            throw new BaseException("鐥呭尯鏌ヨ鏁伴噺涓嶈兘瓒呰繃10涓�");
+//        }
+//        if (serviceSubtaskVO.getLeaveldeptcodes() != null && serviceSubtaskVO.getLeaveldeptcodes().size() > 10) {
+//            throw new BaseException("绉戝鏌ヨ鏁伴噺涓嶈兘瓒呰繃10涓�");
+//        }
+
+        serviceSubtaskVO.setPageNum(PageUtils.getOffset(serviceSubtaskVO.getPageNum(), serviceSubtaskVO.getPageSize()));
+        List<ServiceSubtaskRes> serviceSubtaskList = null;
         LoginUser loginUser = getLoginUser();
         SysUser user = loginUser.getUser();
         serviceSubtaskVO.setOrgid(user.getOrgid());
+        ServiceSubtaskEntity serviceSubtaskEntity = null;
         if (serviceSubtaskVO != null) {
-            serviceSubtaskList = serviceSubtaskService.patItem(serviceSubtaskVO);
+            serviceSubtaskEntity = DtoConversionUtils.sourceToTarget(serviceSubtaskVO, ServiceSubtaskEntity.class);
+            serviceSubtaskEntity.setContinueContent(ObjectUtils.isNotEmpty(serviceSubtaskVO.getContinueContent()) ? serviceSubtaskVO.getContinueContent().toString() : null);
+            serviceSubtaskList = serviceSubtaskService.patItem(serviceSubtaskEntity);
         }
-        for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
+        for (ServiceSubtaskRes serviceSubtask : serviceSubtaskList) {
             ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
             serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId());
             serviceSubtaskRecord.setOrgid(serviceSubtask.getOrgid());
@@ -111,21 +121,16 @@
         }
 
 //      patItemCount 璋冪敤redisCache璁板綍缁熻鏁版嵁
-//      Map<String, Object> map = patItemCount(serviceSubtaskVO);
-        Map<String, Object> map = serviceSubtaskService.patItemCount(serviceSubtaskVO);
+        Map<String, Object> map = serviceSubtaskService.patItemCount(serviceSubtaskEntity);
         map.put("serviceSubtaskList", serviceSubtaskList);
         List<Map<String, Object>> list = new ArrayList<>();
         list.add(map);
-        //鑾峰彇total
-        long total = PageUtils.count(new ISelect() {
-            @Override
-            public void doSelect() {
-                serviceSubtaskVO.setPageNum(null);
-                serviceSubtaskVO.setPageSize(null);
-                serviceSubtaskService.patItem(serviceSubtaskVO);
-            }
-        });
-        return getDataTable2(total, list);
+
+        serviceSubtaskVO.setPageNum(null);
+        serviceSubtaskVO.setPageSize(null);
+        List<ServiceSubtaskRes> serviceSubtasks = serviceSubtaskService.patItem(serviceSubtaskEntity);
+
+        return getDataTable3(CollectionUtils.isNotEmpty(serviceSubtasks) ? serviceSubtasks.size() : 0L, list);
     }
 
     /**
@@ -136,6 +141,10 @@
     @PostMapping("/patItemCount")
     public Map<String, Object> patItemCount(@RequestBody ServiceSubtaskVO serviceSubtaskVO) {
         Map<String, Object> map = new HashMap<>();
+
+        ServiceSubtaskEntity serviceSubtaskEntity = DtoConversionUtils.sourceToTarget(serviceSubtaskVO, ServiceSubtaskEntity.class);
+        serviceSubtaskEntity.setContinueContent(ObjectUtils.isNotEmpty(serviceSubtaskVO.getContinueContent()) ? serviceSubtaskVO.getContinueContent().toString() : null);
+
         // 閫氳繃redis璁板綍缁撴灉
         Map<String, Object> redisMap = new HashMap<>();
         LoginUser loginUser = getLoginUser();
@@ -151,11 +160,11 @@
             redisMap = redisCache.getCacheObject(userId + "patItemCount");
             //璁板綍鏄惁鏈夊彲鐢ㄧ紦瀛�
             Boolean redisFlag = false;
-            ServiceSubtaskVO oldCondition = null;
+            ServiceSubtaskEntity oldCondition = null;
             if (MapUtils.isNotEmpty(redisMap)) {
-                oldCondition = (ServiceSubtaskVO) redisMap.get("searchCondition");
+                oldCondition = (ServiceSubtaskEntity) redisMap.get("searchCondition");
                 // 姣旇緝鏌ヨ鏉′欢鏄惁涓�鑷�
-                if (ObjectUtils.isNotEmpty(oldCondition) && isSameCondition(oldCondition, serviceSubtaskVO)) {
+                if (ObjectUtils.isNotEmpty(oldCondition) && isSameCondition(oldCondition, serviceSubtaskEntity)) {
                     // 鏉′欢涓�鑷达紝浣跨敤缂撳瓨
                     redisFlag = true;
                     map = redisMap;
@@ -165,8 +174,8 @@
 
             // 濡傛灉娌℃湁缂撳瓨鎴栬�呮潯浠朵笉涓�鑷达紝閲嶆柊鏌ヨ
             if (!redisFlag) {
-                map = serviceSubtaskService.patItemCount(serviceSubtaskVO);
-                map.put("searchCondition", serviceSubtaskVO);
+                map = serviceSubtaskService.patItemCount(serviceSubtaskEntity);
+                map.put("searchCondition", serviceSubtaskEntity);
                 redisCache.setCacheObject(userId + "patItemCount", map, 120, TimeUnit.MINUTES);
             }
         }
@@ -179,7 +188,7 @@
      * 姣旇緝涓や釜ServiceSubtaskVO鐨勬煡璇㈡潯浠舵槸鍚︿竴鑷�
      * 浣跨敤鍙嶅皠姣旇緝鎵�鏈夊瓧娈碉紝鎺掗櫎鍒嗛〉鍙傛暟鍜屾棤鍏冲瓧娈�
      */
-    private boolean isSameCondition(ServiceSubtaskVO oldCondition, ServiceSubtaskVO newCondition) {
+    private boolean isSameCondition(ServiceSubtaskEntity oldCondition, ServiceSubtaskEntity newCondition) {
         // 浣跨敤ReflectUtils鐨勯�氱敤鏂规硶姣旇緝锛屾帓闄ゅ垎椤靛弬鏁扮瓑鏃犲叧瀛楁
         return ReflectUtils.equalsAllFields(oldCondition, newCondition,
                 // 鎺掗櫎鐨勫瓧娈碉細鍒嗛〉鍙傛暟銆佸簭鍒楀寲ID銆佹椂闂存埑绛�
@@ -193,8 +202,8 @@
     //@PreAuthorize("@ss.hasPermi('system:taskcall:export')")
     @Log(title = "鍗曚竴浠诲姟锛堥殢璁垮鏁欙級", businessType = BusinessType.EXPORT)
     @PostMapping("/patItemExport")
-    public void patItemExport(HttpServletResponse response, ServiceSubtaskVO serviceSubtaskVO) {
-        List<ServiceSubtask> serviceSubtaskList = null;
+    public void patItemExport(HttpServletResponse response, ServiceSubtaskEntity serviceSubtaskVO) {
+        List<ServiceSubtaskRes> serviceSubtaskList = null;
         if (serviceSubtaskVO != null) {
             if (serviceSubtaskVO.getPageNum() != null && serviceSubtaskVO.getPageSize() != null)
                 PageUtils.startPageByPost(serviceSubtaskVO.getPageNum(), serviceSubtaskVO.getPageSize());
@@ -223,9 +232,12 @@
     @PostMapping("/patItemByCondition")
     public TableDataInfo patItemByCondition(@RequestBody ServiceSubtaskVO serviceSubtaskVO) {
         List<ServiceSubtask> serviceSubtaskList = null;
-        if (serviceSubtaskVO != null) {
-            PageUtils.startPageByPost(serviceSubtaskVO.getPageNum(), serviceSubtaskVO.getPageSize());
-            serviceSubtaskList = serviceSubtaskService.patItem2(serviceSubtaskVO);
+        ServiceSubtaskEntity serviceSubtaskEntity = DtoConversionUtils.sourceToTarget(serviceSubtaskVO, ServiceSubtaskEntity.class);
+        serviceSubtaskEntity.setContinueContent(ObjectUtils.isNotEmpty(serviceSubtaskVO.getContinueContent()) ? serviceSubtaskVO.getContinueContent().toString() : null);
+        if (serviceSubtaskEntity != null) {
+            PageUtils.startPageByPost(serviceSubtaskEntity.getPageNum(), serviceSubtaskEntity.getPageSize());
+
+            serviceSubtaskList = serviceSubtaskService.patItem2(serviceSubtaskEntity);
         }
         for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
             ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
@@ -235,7 +247,7 @@
         }
 //      patItemCount 璋冪敤redisCache璁板綍缁熻鏁版嵁
 //      Map<String, Object> map = patItemCount(serviceSubtaskVO);
-        Map<String, Object> map = serviceSubtaskService.patItemCount(serviceSubtaskVO);
+        Map<String, Object> map = serviceSubtaskService.patItemCount(serviceSubtaskEntity);
 
         map.put("serviceSubtaskList", serviceSubtaskList);
         List<Map<String, Object>> list = new ArrayList<>();
@@ -246,7 +258,7 @@
             public void doSelect() {
                 serviceSubtaskVO.setPageNum(null);
                 serviceSubtaskVO.setPageSize(null);
-                serviceSubtaskService.patItem2(serviceSubtaskVO);
+                serviceSubtaskService.patItem2(serviceSubtaskEntity);
             }
         });
         return getDataTable2(total, list);
@@ -259,7 +271,7 @@
     @Log(title = "鍗曚竴浠诲姟锛堥殢璁垮鏁欙級", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(HttpServletResponse response, ServiceSubtask serviceSubtask) {
-        ServiceSubtaskVO serviceSubtaskVO = DtoConversionUtils.sourceToTarget(serviceSubtask, ServiceSubtaskVO.class);
+        ServiceSubtaskEntity serviceSubtaskVO = DtoConversionUtils.sourceToTarget(serviceSubtask, ServiceSubtaskEntity.class);
         List<ServiceSubtask> list = serviceSubtaskService.selectServiceSubtaskList(serviceSubtaskVO);
         ExcelUtil<ServiceSubtask> util = new ExcelUtil<ServiceSubtask>(ServiceSubtask.class);
         util.exportExcel(response, list, "鍗曚竴浠诲姟锛堥殢璁匡級鏁版嵁");
@@ -272,9 +284,11 @@
     @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
     @PostMapping("/querySubtaskList")
     public AjaxResult querySubtaskList(@RequestBody ServiceSubtaskVO serviceSubtaskVO) {
-        PageUtils.startPageByPost(serviceSubtaskVO.getPageNum(), serviceSubtaskVO.getPageSize());
-        serviceSubtaskService.selectServiceSubtaskList(serviceSubtaskVO);
-        return success(serviceSubtaskService.selectServiceSubtaskList(serviceSubtaskVO));
+        ServiceSubtaskEntity serviceSubtaskEntity = DtoConversionUtils.sourceToTarget(serviceSubtaskVO, ServiceSubtaskEntity.class);
+        serviceSubtaskEntity.setContinueContent(ObjectUtils.isNotEmpty(serviceSubtaskVO.getContinueContent()) ? serviceSubtaskVO.getContinueContent().toString() : null);
+        PageUtils.startPageByPost(serviceSubtaskEntity.getPageNum(), serviceSubtaskEntity.getPageSize());
+        serviceSubtaskService.selectServiceSubtaskList(serviceSubtaskEntity);
+        return success(serviceSubtaskService.selectServiceSubtaskList(serviceSubtaskEntity));
     }
 
 
@@ -285,9 +299,11 @@
     @Log(title = "鍐嶆闅忚鏁版嵁鏌ヨ", businessType = BusinessType.EXPORT)
     @PostMapping("/querySubtaskListAgain")
     public TableDataInfo querySubtaskListAgain(@RequestBody ServiceSubtaskVO serviceSubtaskVO) {
-        PageUtils.startPageByPost(serviceSubtaskVO.getPageNum(), serviceSubtaskVO.getPageSize());
-        serviceSubtaskService.selectServiceSubtaskListAgain(serviceSubtaskVO);
-        return getDataTable(serviceSubtaskService.selectServiceSubtaskListAgain(serviceSubtaskVO));
+        ServiceSubtaskEntity serviceSubtaskEntity = DtoConversionUtils.sourceToTarget(serviceSubtaskVO, ServiceSubtaskEntity.class);
+        serviceSubtaskEntity.setContinueContent(ObjectUtils.isNotEmpty(serviceSubtaskVO.getContinueContent()) ? serviceSubtaskVO.getContinueContent().toString() : null);
+        PageUtils.startPageByPost(serviceSubtaskEntity.getPageNum(), serviceSubtaskEntity.getPageSize());
+        serviceSubtaskService.selectServiceSubtaskListAgain(serviceSubtaskEntity);
+        return getDataTable(serviceSubtaskService.selectServiceSubtaskListAgain(serviceSubtaskEntity));
     }
 
 
@@ -400,9 +416,10 @@
     @ApiOperation("鏍规嵁鏉′欢鏌ヨ浠诲姟淇℃伅")
     @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
     @PostMapping("/queryTaskByCondition")
-    public AjaxResult queryTaskByCondition(@RequestBody ServiceSubtaskVO ivrTaskcallVO) {
+    public AjaxResult queryTaskByCondition(@RequestBody ServiceSubtaskVO serviceSubtaskVO) {
         //鏍规嵁鍏ュ弬鏌ヨ淇℃伅
-        ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(ivrTaskcallVO, ServiceSubtask.class);
+        ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceSubtaskVO, ServiceSubtask.class);
+        serviceSubtask.setContinueContent(ObjectUtils.isNotEmpty(serviceSubtaskVO.getContinueContent()) ? serviceSubtaskVO.getContinueContent().toString() : null);
         ServiceTaskVO ivrTaskVO = serviceSubtaskService.queryTaskByCondition(serviceSubtask);
         return success(ivrTaskVO);
     }
@@ -445,6 +462,7 @@
     public AjaxResult saveQuestionAnswerPhone(@RequestBody ServiceSubTaskDetailReq serviceSubTaskDetailReq) {
 //        SysUser user = getLoginUser().getUser();
 //        serviceSubTaskDetailReq.setOrgid(user.getOrgid());
+        log.info("鎮h�呴棶棰樼粨鏋滆褰�(鐢佃瘽):{}", serviceSubTaskDetailReq);
         return toAjax(serviceSubtaskService.saveQuestionAnswerPhone(serviceSubTaskDetailReq));
     }
 
@@ -454,6 +472,7 @@
     @ApiOperation("閫氳瘽璁板綍鍥炶皟(涓婃捣)")
     @PostMapping("/recordAcceptshanghai")
     public AjaxResult recordAccepshanghait(@RequestBody ServiceSubTaskDetailReq serviceSubTaskDetailReq) {
+        log.info("閫氳瘽璁板綍鍥炶皟(涓婃捣):{}", serviceSubTaskDetailReq);
         return toAjax(serviceSubtaskService.saveQuestionAnswerPhone(serviceSubTaskDetailReq));
     }
 
@@ -488,11 +507,10 @@
         if (CollectionUtils.isEmpty(serviceSubtaskCountReq.getServiceType())) {
             return error("鏈嶅姟绫诲瀷涓嶈兘涓虹┖");
         }
-        String followUpCountStyle = configService.selectConfigByKey("followUpCountStyle",
-                serviceSubtaskCountReq.getOrgid());
-        if (ObjectUtils.isNotEmpty(followUpCountStyle)){
+        String followUpCountStyle = configService.selectConfigByKey("followUpCountStyle", serviceSubtaskCountReq.getOrgid());
+        if (ObjectUtils.isNotEmpty(followUpCountStyle)) {
             serviceSubtaskCountReq.setFollowUpCountStyle(followUpCountStyle);
-        }else {
+        } else {
             serviceSubtaskCountReq.setFollowUpCountStyle("1");
         }
         return success(serviceSubtaskService.getSfStatistics(serviceSubtaskCountReq));
@@ -572,7 +590,7 @@
         }
         String configKey = serviceSubtaskCountReq.getConfigKey();
         if (StringUtils.isNotEmpty(configKey)) {
-            String configValue = configService.selectConfigByKey(configKey,serviceSubtaskCountReq.getOrgid());
+            String configValue = configService.selectConfigByKey(configKey, serviceSubtaskCountReq.getOrgid());
             serviceSubtaskCountReq.setConfigValue(configValue);
             if (StringUtils.isEmpty(configValue)) {
                 String logInfo = "getSfStatisticsCount-鍙傛暟 " + configKey + " 鏈厤缃�, 璇烽厤缃ソ鍚庨噸璇�";
@@ -594,11 +612,10 @@
         if (serviceSubtaskCountReq.getLeavehospitaldistrictcodes().size() == 0 && serviceSubtaskCountReq.getDeptcodes().size() == 0) {
             return error("绉戝鎴栫梾鍖轰笉鑳戒负绌�");
         }
-        PageUtils.startPageByPost(serviceSubtaskCountReq.getPageNum(), serviceSubtaskCountReq.getPageSize());
         //澶嶈瘖缁熻
         String configKey = serviceSubtaskCountReq.getConfigKey();
         if (StringUtils.isNotEmpty(configKey)) {
-            String configValue = configService.selectConfigByKey(configKey,serviceSubtaskCountReq.getOrgid());
+            String configValue = configService.selectConfigByKey(configKey, serviceSubtaskCountReq.getOrgid());
             if (StringUtils.isEmpty(configValue)) {
                 String logInfo = "getSfStatisticsCountDetails-鍙傛暟 " + configKey + " 鏈厤缃�, 璇烽厤缃ソ鍚庨噸璇�";
                 log.error(logInfo);
@@ -614,6 +631,7 @@
         LoginUser loginUser = getLoginUser();
         String orgid = loginUser.getUser().getOrgid();
         serviceSubtaskCountReq.setOrgid(orgid);
+        PageUtils.startPageByPost(serviceSubtaskCountReq.getPageNum(), serviceSubtaskCountReq.getPageSize());
         return success(serviceSubtaskService.getSfStatisticsScriptDetails(serviceSubtaskCountReq));
     }
 

--
Gitblit v1.9.3