From 34f78281cf395a24e1f3f1c3b861186ff8a03b7b Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 16 十月 2026 11:09:40 +0800
Subject: [PATCH] 出入院模块、门急诊模块、模块模块、宣教模块、其它模块

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java |   64 ++++++++++++++++++++++++++------
 1 files changed, 52 insertions(+), 12 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 86a1719..df90895 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
@@ -23,8 +23,9 @@
 import com.ruoyi.quartz.task.RyTask;
 import com.ruoyi.system.service.ISysConfigService;
 import com.ruoyi.system.service.ISysUserDeptService;
+import com.ruoyi.satisfaction.api.SatisfactionExportBundle;
+import com.ruoyi.satisfaction.api.SatisfactionFacade;
 import com.smartor.domain.*;
-import com.smartor.domain.DTO.QuestionResultDTO;
 import com.smartor.domain.VO.*;
 import com.smartor.domain.entity.ServiceSubtaskEntity;
 import com.smartor.service.IServiceSubtaskRecordService;
@@ -48,6 +49,7 @@
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
+import com.ruoyi.template.domain.VO.HeLibraryCountVO;
 import static com.ruoyi.common.utils.SecurityUtils.getLoginUser;
 
 /**
@@ -68,6 +70,15 @@
 
     @Autowired
     private IServiceSubtaskService serviceSubtaskService;
+
+    /**
+     * 婊℃剰搴︽ā鍧楀澶栭棬闈紙甯搁┗ Bean锛夈��
+     * <p>
+     * 婊℃剰搴︾浉鍏虫暟鎹紙闂璇︽儏鍗犳瘮锛夊彧鑳介�氳繃瀹冭幏鍙栵紱婊℃剰搴︽ā鍧楀叧闂椂
+     * 闂ㄩ潰杩斿洖绌虹粨鏋滃苟鎵� WARN锛�<b>涓嶄細</b>褰卞搷闅忚瀵煎嚭鐨勫叾瀹冨唴瀹广��
+     */
+    @Autowired
+    private SatisfactionFacade satisfactionFacade;
 
     @Autowired
     private IServiceTaskService serviceTaskService;
@@ -194,16 +205,22 @@
     //@PreAuthorize("@ss.hasPermi('system:taskcall:export')")
     @Log(title = "鍗曚竴浠诲姟", businessType = BusinessType.EXPORT)
     @PostMapping("/patItemExport")
-    public void patItemExport(HttpServletResponse response, ServiceSubtaskEntity serviceSubtaskVO) {
+    public void patItemExport(HttpServletResponse response, ServiceSubtaskVO serviceSubtaskVO) {
         LoginUser loginUser = getLoginUser();
         SysUser user = loginUser.getUser();
         serviceSubtaskVO.setOrgid(user.getOrgid());
+        //涓� /patItem 鏌ヨ淇濇寔瀹屽叏涓�鑷寸殑鏈烘瀯+闄㈠尯鑼冨洿锛�
+        //瀵煎嚭鍘熷厛鍙缃� orgid锛岀己灏� campusid锛孲QL 閲屽氨涓嶄細鎷� and campusid = ?锛�
+        //瀵艰嚧瀵煎嚭鐨勬暟鎹寘鍚叾瀹冮櫌鍖虹殑鎮h�咃紝鍑虹幇鈥滄煡璇笌瀵煎嚭鏁版嵁涓嶄竴鑷粹��
+        serviceSubtaskVO.setCampusid(user.getCampusid());
         List<ServiceSubtaskRes> serviceSubtaskList = null;
         if (serviceSubtaskVO != null) {
-            serviceSubtaskList = serviceSubtaskService.patItem(serviceSubtaskVO);
+           ServiceSubtaskEntity serviceSubtaskEntity = DtoConversionUtils.sourceToTarget(serviceSubtaskVO, ServiceSubtaskEntity.class);
+            serviceSubtaskList = serviceSubtaskService.patItem(serviceSubtaskEntity);
         }
         List<ServiceSubtaskExport> serviceSubtaskExports = null;
-        List<ServiceSubtaskDetailRatioExport> serviceSubtaskDetailRatioExports = null;
+        //婊℃剰搴﹀崰姣斿鍑哄寘锛氶粯璁ょ┖鍖咃紙娌℃湁鍙鍑虹殑鎮h�呮椂淇濇寔涓虹┖锛夛紝鏈夋暟鎹椂鐢辨弧鎰忓害闂ㄩ潰濉厖
+        SatisfactionExportBundle ratioBundle = SatisfactionExportBundle.empty();
         if (!CollectionUtils.isEmpty(serviceSubtaskList)) {
             serviceSubtaskExports = DtoConversionUtils.sourceToTarget(serviceSubtaskList, ServiceSubtaskExport.class);
             for (ServiceSubtaskExport serviceSubtaskExport : serviceSubtaskExports) {
@@ -220,16 +237,24 @@
                     serviceSubtaskExport.setEndDay(endDay);
                 }
             }
-            QuestionResultVO questionResultVO = new QuestionResultVO();
-            questionResultVO.setServiceType(serviceSubtaskVO.getServiceType());
-            questionResultVO.setEndOutHospTime(serviceSubtaskVO.getEndOutHospTime());
-            questionResultVO.setStartOutHospTime(serviceSubtaskVO.getStartOutHospTime());
-            serviceSubtaskDetailRatioExports = serviceSubtaskService.getDetailRatio(questionResultVO, serviceSubtaskList);
+            //闂璇︽儏鍗犳瘮锛氬彧缁熻鏈瀵煎嚭鐨勮繖鎵规偅鑰咃紝鏁伴噺=閫夎閫夐」鐨勬偅鑰呮暟锛屾瘮渚�=鍗犺棰樹綔绛斾汉鏁�
+            //婊℃剰搴︽ā鍧楀寲鍚庯細鍙�氳繃婊℃剰搴︽ā鍧楁毚闇茬殑 api 鍖呭彇鏁帮紙瀵煎嚭鍖� = 琛� + 琛岀被鍨� + 鍥捐〃鏋勫缓鍣級锛�
+            //妯″潡鍏抽棴锛坰atisfaction.enabled=false锛夋椂闂ㄩ潰杩斿洖绌哄鍑哄寘锛屽鍑虹収甯稿畬鎴愶紙鍙槸娌℃湁鍗犳瘮 Sheet锛夈��
+            List<Long> subtaskIds = new ArrayList<>();
+            for (ServiceSubtaskRes serviceSubtaskRes : serviceSubtaskList) {
+                if (serviceSubtaskRes.getId() != null) {
+                    subtaskIds.add(serviceSubtaskRes.getId());
+                }
+            }
+            ratioBundle = satisfactionFacade.getQuestionOptionRatioExport(subtaskIds, null);
         }
 
 
         ExcelUtil<ServiceSubtaskExport> util = new ExcelUtil<ServiceSubtaskExport>(ServiceSubtaskExport.class);
-        util.exportExcelTwoSheet(response, serviceSubtaskExports, "鎮h�呴殢璁夸俊鎭〃鍗�", serviceSubtaskDetailRatioExports, "闂璇︽儏鍗犳瘮", ServiceSubtaskDetailRatioExport.class);
+        //绗笁涓猄heet锛氶棶棰樿鎯呭崰姣斿浘琛紙鎸変换鍔″悕绉板垎缁勶紝涓�涓换鍔′竴寮犳煴鐘跺浘锛�
+        util.exportExcelTwoSheetWithChart(response, serviceSubtaskExports, "鎮h�呴殢璁夸俊鎭〃鍗�",
+                ratioBundle.getRows(), "闂璇︽儏鍗犳瘮", ratioBundle.getRowClass(),
+                ratioBundle.getChartBuilder());
     }
 
     /**
@@ -354,7 +379,9 @@
      * 闅忚鍘嗗彶璁板綍瀵煎嚭
      */
     @Log(title = "闅忚鍘嗗彶璁板綍瀵煎嚭", businessType = BusinessType.EXPORT)
-    @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
+    //绗� 0 涓弬鏁版槸 HttpServletResponse锛屾敞瑙e彇鍒板畠绛変簬娌$敓鏁堬紙orgid/campusid 閮芥病娉ㄥ叆锛夛紝
+    //鎵�浠ヨ繖閲岃鐢� paramIndex = 1 鎸囧悜 ServiceSubtask锛屼笌鏌ヨ鎺ュ彛 /getSubtaskByDiagname 淇濇寔鍚屼竴鑼冨洿
+    @AddOrgId(field = "orgid", paramIndex = 1, campusField = "campusid")
     @PostMapping("/getSubtaskByDiagnameExport")
     public void getSubtaskByDiagnameExport(HttpServletResponse response, ServiceSubtask serviceSubtask) {
         LoginUser loginUser = getLoginUser();
@@ -960,6 +987,13 @@
         ryTask.dealSubtaskDeadline(orgid, day);
         return AjaxResult.success("銆恉ealSubtaskDeadline銆戝悓姝ヤ换鍔″凡鍚姩锛屽ぉ鏁颁负" + day + "澶╋紝璇风◢鍚庢煡鐪嬬粨鏋�");
     }
+
+    @PostMapping("/sendExceptInfo")
+    public AjaxResult sendExceptInfo() throws Exception {
+        ryTask.sendExceptInfo();
+        return AjaxResult.success("sendExceptInfo");
+    }
+
     /**
      * 甯edis缂撳瓨鐨勭粺璁℃煡璇紝渚沺atItem鍜宲atItemCount鍏辩敤锛屾潯浠朵笉鍙樻椂鐩存帴鍛戒腑缂撳瓨
      */
@@ -1014,5 +1048,11 @@
     }
 
 
-
+    @ApiOperation("鑾峰彇缁熻鏁�")
+    @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
+    @PostMapping("/countByCondition")
+    public Map<String, Object>  countByCondition(@RequestBody ServiceSubtaskEntity condition) {
+        Map<String, Object> map = serviceSubtaskService.countByCondition(condition);
+        return map;
+    }
 }

--
Gitblit v1.9.3