From c722df8c090c6097ea1d4d15fa53da7992c9aa2f Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期五, 12 十二月 2025 14:11:16 +0800
Subject: [PATCH] 【丽水修复】历史随访记录导出修复

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java |   23 +------
 smartor/src/main/java/com/smartor/domain/ServiceSubtaskDiagname.java                     |   79 +++++++++++++++++++-------
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java            |   41 +++++++++++++
 smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java                    |    4 +
 4 files changed, 106 insertions(+), 41 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 4865213..a766ed8 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
@@ -243,20 +243,6 @@
     /**
      * 闅忚鍘嗗彶璁板綍瀵煎嚭
      */
-    //@PreAuthorize("@ss.hasPermi('system:taskcall:export')")
-//    @Log(title = "闅忚鍘嗗彶璁板綍瀵煎嚭", businessType = BusinessType.EXPORT)
-//    @PostMapping("/getSubtaskByDiagnameExport")
-//    public void getSubtaskByDiagnameExport(HttpServletResponse response, List<ServiceSubtaskDiagname> serviceSubtaskDiagnameList) {
-//        ExcelUtil<ServiceSubtaskDiagname> util = new ExcelUtil<ServiceSubtaskDiagname>(ServiceSubtaskDiagname.class);
-//
-//        if (active.equals("ls") || active.equals("druid")) {
-//            util.exportExcel(response, serviceSubtaskDiagnameList, LocalDate.now().getMonthValue() + "闅忚缁熻瀵煎嚭");
-//        } else {
-//            util.exportExcel(response, serviceSubtaskDiagnameList, "闅忚缁熻瀵煎嚭");
-//        }
-//    }
-
-    //@PreAuthorize("@ss.hasPermi('system:taskcall:export')")
     @Log(title = "闅忚鍘嗗彶璁板綍瀵煎嚭", businessType = BusinessType.EXPORT)
     @PostMapping("/getSubtaskByDiagnameExport")
     public void getSubtaskByDiagnameExport(HttpServletResponse response, ServiceSubtask serviceSubtask) {
@@ -265,15 +251,16 @@
         serviceSubtask.setOrgid(user.getOrgid());
         serviceSubtask.setPageNum(PageUtils.getOffset(serviceSubtask.getPageNum(), serviceSubtask.getPageSize()));
         List<ServiceSubtask> subtaskList = serviceSubtaskService.selectServiceSubtaskByDiagname(serviceSubtask);
-        ExcelUtil<ServiceSubtask> util = new ExcelUtil<ServiceSubtask>(ServiceSubtask.class);
+        List<ServiceSubtaskDiagname> serviceSubtaskDiagnameList = new ArrayList<>();
+        if (CollectionUtils.isNotEmpty(subtaskList)) serviceSubtaskDiagnameList = serviceSubtaskService.convertToDiagnameList(subtaskList);
+        ExcelUtil<ServiceSubtaskDiagname> util = new ExcelUtil<ServiceSubtaskDiagname>(ServiceSubtaskDiagname.class);
 
         if (active.equals("ls") || active.equals("druid")) {
-            util.exportExcel(response, subtaskList, LocalDate.now().getMonthValue() + "闅忚缁熻瀵煎嚭");
+            util.exportExcel(response, serviceSubtaskDiagnameList, LocalDate.now().getMonthValue() + "闅忚缁熻瀵煎嚭");
         } else {
-            util.exportExcel(response, subtaskList, "闅忚缁熻瀵煎嚭");
+            util.exportExcel(response, serviceSubtaskDiagnameList, "闅忚缁熻瀵煎嚭");
         }
     }
-
 
     /**
      * 鏂板鎴栦慨鏀瑰垹闄ゅ崟涓�浠诲姟
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskDiagname.java b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskDiagname.java
index ea0b470..96a0726 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskDiagname.java
+++ b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskDiagname.java
@@ -19,37 +19,72 @@
 public class ServiceSubtaskDiagname implements Serializable {
     private static final long serialVersionUID = 1L;
 
-
-    @ApiModelProperty(value = "鏈嶅姟鍚嶇О")
+    @ApiModelProperty(value = "浠诲姟鍚嶇О")
     private String taskName;
 
-    @ApiModelProperty(value = "鎮h�呭鍚�")
-    private String sendname;
-
-    @ApiModelProperty(value = "鐢佃瘽")
-    private String phone;
-
-    @ApiModelProperty(value = "鎬у埆")
-    private String sex;
-
-
-    @ApiModelProperty(value = "鐤剧梾鍚嶇О")
-    private String leavediagname;
-
-    @ApiModelProperty(value = "闅忚鐘舵��")
+    @ApiModelProperty(value = "浠诲姟鐘舵��")
     private Long sendstate;
 
-    @ApiModelProperty(value = "鍏ラ櫌鏃堕棿")
-    private Date starttime;
+    @ApiModelProperty(value = "濮撳悕")
+    private String sendname;
 
-    @ApiModelProperty(value = "鍑洪櫌鏃堕棿")
+    @ApiModelProperty(value = "璇婃柇鍚嶇О")
+    private String leavediagname;
+
+    @ApiModelProperty(value = "澶勭悊鎰忚")
+    private String suggest;
+
+    @ApiModelProperty(value = "闅忚浜哄憳")
+    private String operator;
+
+    @ApiModelProperty(value = "闅忚瀹屾垚鏃ユ湡")
+    private Date finishtime;
+
+    @ApiModelProperty(value = "搴旈殢璁挎棩鏈�")
+    private Date longSendTime;
+
+    @Excel(name = "鍑洪櫌鏃ユ湡")
+    @ApiModelProperty(value = "鍑洪櫌鏃ユ湡")
     private Date endtime;
 
-    @ApiModelProperty(value = "闅忚鏃堕棿")
-    private Date visitTime;
+    @ApiModelProperty(value = "鍑洪櫌澶╂暟")
+    private Integer endDay;
 
-    @ApiModelProperty(value = "鎶ゅ+濮撳悕")
+    @Excel(name = "韬唤璇佸彿鐮�")
+    @ApiModelProperty(value = "韬唤璇佸彿鐮�")
+    private String sfzh;
+
+    @Excel(name = "鑱旂郴鐢佃瘽")
+    @ApiModelProperty(value = "鑱旂郴鐢佃瘽")
+    private String phone;
+
+    @Excel(name = "璐d换鎶ゅ+")
+    @ApiModelProperty("璐d换鎶ゅ+")
     private String nurseName;
 
+    @Excel(name = "涓绘不鍖荤敓")
+    @ApiModelProperty("涓绘不鍖荤敓")
+    private String drname;
+
+    @Excel(name = "绉戝")
+    @ApiModelProperty(value = "绉戝")
+    private String deptname;
+
+    @Excel(name = "鐥呭尯")
+    @ApiModelProperty(value = "鐥呭尯")
+    private String leavehospitaldistrictname;
+
+    @Excel(name = "鍑洪櫌闅忚妯℃澘鍚嶇О")
+    @ApiModelProperty(value = "鍑洪櫌闅忚妯℃澘鍚嶇О")
+    private String templatename;
+
+    @Excel(name = "浠诲姟鎵ц鏂瑰紡")
+    @ApiModelProperty(value = "浠诲姟鎵ц鏂瑰紡")
+    private String preachform;
+
+    @Excel(name = "浠诲姟缁撴灉璇存槑")
+    @ApiModelProperty(value = "浠诲姟缁撴灉璇存槑")
+    private String result;
+
 
 }
diff --git a/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java b/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java
index 178b04e..aa1eca1 100644
--- a/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java
+++ b/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java
@@ -140,4 +140,6 @@
     public List<ServiceStatisticsResponse> getServiceStatistics(ServiceStatisticsRequest request);
 
     public List<PatArchiveSrmVO> sendMsgTemplate(List<PatArchiveSrmVO> patArchiveSrmVOS);
-}
+
+    public List<ServiceSubtaskDiagname> convertToDiagnameList(List<ServiceSubtask> subtaskList) ;
+    }
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 3c14caa..d2d92c1 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -2947,4 +2947,45 @@
 
         return total;
     }
+
+    /**
+     * 鍘嗗彶闅忚璁板綍瀵煎嚭绫诲皝瑁�
+     * ServiceSubtask 杞崲涓� ServiceSubtaskDiagname
+     */
+    public List<ServiceSubtaskDiagname> convertToDiagnameList(List<ServiceSubtask> subtaskList) {
+        if (CollectionUtils.isEmpty(subtaskList)) {
+            return new ArrayList<>();
+        }
+
+        return subtaskList.stream().map(subtask -> {
+            ServiceSubtaskDiagname diagname = new ServiceSubtaskDiagname();
+
+            diagname.setTaskName(subtask.getTaskName());
+            diagname.setSendstate(subtask.getSendstate());
+            diagname.setSendname(subtask.getSendname());
+            diagname.setLeavediagname(subtask.getLeavediagname());
+            diagname.setSuggest(subtask.getSuggest());
+            diagname.setOperator(subtask.getOperator());
+            diagname.setFinishtime(subtask.getFinishtime());
+            diagname.setLongSendTime(subtask.getLongSendTime());
+            diagname.setEndtime(subtask.getEndtime());
+            //璁$畻鍑洪櫌澶╂暟
+            if(!Objects.isNull(diagname.getEndtime())){
+                Integer endDay = DateUtils.differentDaysByMillisecond(diagname.getEndtime(),new Date());
+                diagname.setEndDay(endDay);
+            }
+            diagname.setSfzh(subtask.getSfzh());
+            diagname.setPhone(subtask.getPhone());
+            diagname.setNurseName(subtask.getNurseName());
+            diagname.setDrname(subtask.getDrname());
+            diagname.setDeptname(subtask.getDeptname());
+            diagname.setLeavehospitaldistrictname(subtask.getLeavehospitaldistrictname());
+            diagname.setTemplatename(subtask.getTemplatename());
+            diagname.setPreachform(subtask.getPreachform());
+            diagname.setResult(subtask.getResult());
+
+            return diagname;
+        }).collect(Collectors.toList());
+    }
+
 }

--
Gitblit v1.9.3