Browse Source

run through in sync mode

dengjia 4 ngày trước cách đây
mục cha
commit
1211219d10

+ 30 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/constant/enums/TaskCheck.java

@@ -0,0 +1,30 @@
+package com.qunzhixinxi.hnqz.admin.api.constant.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * {@code TargetType}
+ * <p>
+ * Task Check 枚举
+ *
+ */
+@Getter
+@AllArgsConstructor
+public enum TaskCheck {
+
+	REJECTED(0, "拒绝"),
+	PASSED(1, "通过");
+
+	@EnumValue
+	private final int code;
+
+	private final String desc;
+
+	@Override
+    public String toString() {
+        return desc;
+    }
+
+}

+ 30 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/constant/enums/TaskSupervisionApproval.java

@@ -0,0 +1,30 @@
+package com.qunzhixinxi.hnqz.admin.api.constant.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * {@code TargetType}
+ * <p>
+ * Task Check 枚举
+ *
+ */
+@Getter
+@AllArgsConstructor
+public enum TaskSupervisionApproval {
+
+	REJECTED(0, "不同意"),
+	PASSED(1, "同意");
+
+	@EnumValue
+	private final int code;
+
+	private final String desc;
+
+	@Override
+    public String toString() {
+        return desc;
+    }
+
+}

+ 26 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/model/excel/TaskCheckConverter.java

@@ -0,0 +1,26 @@
+package com.qunzhixinxi.hnqz.admin.api.model.excel;
+
+import com.alibaba.excel.converters.Converter;
+import com.alibaba.excel.enums.CellDataTypeEnum;
+import com.alibaba.excel.metadata.GlobalConfiguration;
+import com.alibaba.excel.metadata.data.WriteCellData;
+import com.alibaba.excel.metadata.property.ExcelContentProperty;
+import com.qunzhixinxi.hnqz.admin.api.constant.enums.TaskCheck;
+
+public class TaskCheckConverter implements Converter<TaskCheck> {
+
+    @Override
+    public Class<?> supportJavaTypeKey() {
+        return TaskCheck.class;
+    }
+
+    @Override
+    public CellDataTypeEnum supportExcelTypeKey() {
+        return CellDataTypeEnum.STRING;
+    }
+
+    @Override
+    public WriteCellData<?> convertToExcelData(TaskCheck value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) {
+        return new WriteCellData<>(value != null ? value.getDesc() : "");
+    }
+}

+ 41 - 38
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/model/excel/TaskCheckHistoryExcelModel.java

@@ -2,6 +2,9 @@ package com.qunzhixinxi.hnqz.admin.api.model.excel;
 
 import com.alibaba.excel.annotation.ExcelProperty;
 import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.qunzhixinxi.hnqz.admin.api.constant.enums.TaskCheck;
+import com.qunzhixinxi.hnqz.admin.api.constant.enums.TaskSupervisionApproval;
+
 import lombok.Data;
 
 /**
@@ -68,8 +71,8 @@ public class TaskCheckHistoryExcelModel {
     @ExcelProperty("服务审核时间")
     private String vendorUpdateTime;
 
-    @ExcelProperty("审核意见")
-    private String vendorCheckResult;
+    @ExcelProperty(value = "审核意见", converter = TaskCheckConverter.class)
+    private TaskCheck vendorCheckResult;
 
     @ExcelProperty("通过/拒绝原因")
     private String vendorCheckMsg;
@@ -80,8 +83,8 @@ public class TaskCheckHistoryExcelModel {
     @ExcelProperty("服务审核时间")
     private String cityUpdateTime;
 
-    @ExcelProperty("审核意见")
-    private String cityCheckResult;
+    @ExcelProperty(value = "审核意见", converter = TaskCheckConverter.class)
+    private TaskCheck cityCheckResult;
 
     @ExcelProperty("通过/拒绝原因")
     private String cityCheckMsg;
@@ -92,8 +95,8 @@ public class TaskCheckHistoryExcelModel {
     @ExcelProperty("服务审核时间")
     private String divisionUpdateTime;
 
-    @ExcelProperty("审核意见")
-    private String divisionCheckResult;
+    @ExcelProperty(value = "审核意见", converter = TaskCheckConverter.class)
+    private TaskCheck divisionCheckResult;
 
     @ExcelProperty("通过/拒绝原因")
     private String divisionCheckMsg;
@@ -104,8 +107,8 @@ public class TaskCheckHistoryExcelModel {
     @ExcelProperty("服务审核时间")
     private String marketingUpdateTime;
 
-    @ExcelProperty("审核意见")
-    private String marketingCheckResult;
+    @ExcelProperty(value = "审核意见", converter = TaskCheckConverter.class)
+    private TaskCheck marketingCheckResult;
 
     @ExcelProperty("通过/拒绝原因")
     private String marketingCheckMsg;
@@ -116,8 +119,8 @@ public class TaskCheckHistoryExcelModel {
     @ExcelProperty("服务审核时间")
     private String bizUpdateTime;
 
-    @ExcelProperty("审核意见")
-    private String bizCheckResult;
+    @ExcelProperty(value = "审核意见", converter = TaskCheckConverter.class)
+    private TaskCheck bizCheckResult;
 
     @ExcelProperty("通过/拒绝原因")
     private String bizCheckMsg;
@@ -128,8 +131,8 @@ public class TaskCheckHistoryExcelModel {
     @ExcelProperty("服务审核时间")
     private String submgrUpdateTime;
 
-    @ExcelProperty("审核意见")
-    private String submgrCheckResult;
+    @ExcelProperty(value = "审核意见", converter = TaskCheckConverter.class)
+    private TaskCheck submgrCheckResult;
 
     @ExcelProperty("通过/拒绝原因")
     private String submgrCheckMsg;
@@ -140,8 +143,8 @@ public class TaskCheckHistoryExcelModel {
     @ExcelProperty("服务审核时间")
     private String mgrUpdateTime;
 
-    @ExcelProperty("审核意见")
-    private String mgrCheckResult;
+    @ExcelProperty(value = "审核意见", converter = TaskCheckConverter.class)
+    private TaskCheck mgrCheckResult;
 
     @ExcelProperty("通过/拒绝原因")
     private String mgrCheckMsg;
@@ -152,8 +155,8 @@ public class TaskCheckHistoryExcelModel {
     @ExcelProperty("监督检查时间")
     private String factoryFinanceCreateTime;
 
-    @ExcelProperty("监督意见")
-    private String factoryFinanceSupRes;
+    @ExcelProperty(value = "审核意见", converter = TaskCheckConverter.class)
+    private TaskCheck factoryFinanceSupRes;
 
     @ExcelProperty("通过/拒绝原因")
     private String factoryFinanceRemarks;
@@ -164,8 +167,8 @@ public class TaskCheckHistoryExcelModel {
     @ExcelProperty("监督检查时间")
     private String factoryFinanceLeaderCreateTime;
 
-    @ExcelProperty("监督意见")
-    private String factoryFinanceLeaderAdviceResult;
+    @ExcelProperty(value = "监督意见", converter = TaskSupervisionApprovalConverter.class)
+    private TaskSupervisionApproval factoryFinanceLeaderAdviceResult;
 
     @ExcelProperty("通过/拒绝原因")
     private String factoryFinanceLeaderRemarks;
@@ -176,8 +179,8 @@ public class TaskCheckHistoryExcelModel {
     @ExcelProperty("监督检查时间")
     private String factoryFinanceSubmgrCreateTime;
 
-    @ExcelProperty("监督意见")
-    private String factoryFinanceSubmgrAdviceResult;
+    @ExcelProperty(value = "监督意见", converter = TaskSupervisionApprovalConverter.class)
+    private TaskSupervisionApproval factoryFinanceSubmgrAdviceResult;
 
     @ExcelProperty("通过/拒绝原因")
     private String factoryFinanceSubmgrRemarks;
@@ -188,8 +191,8 @@ public class TaskCheckHistoryExcelModel {
     @ExcelProperty("监督检查时间")
     private String factoryBizCreateTime;
 
-    @ExcelProperty("监督意见")
-    private String factoryBizSupRes;
+    @ExcelProperty(value = "审核意见", converter = TaskCheckConverter.class)
+    private TaskCheck factoryBizSupRes;
 
     @ExcelProperty("通过/拒绝原因")
     private String factoryBizRemarks;
@@ -200,8 +203,8 @@ public class TaskCheckHistoryExcelModel {
     @ExcelProperty("监督检查时间")
     private String factoryBizLeaderCreateTime;
 
-    @ExcelProperty("监督意见")
-    private String factoryBizLeaderAdviceResult;
+    @ExcelProperty(value = "监督意见", converter = TaskSupervisionApprovalConverter.class)
+    private TaskSupervisionApproval factoryBizLeaderAdviceResult;
 
     @ExcelProperty("通过/拒绝原因")
     private String factoryBizLeaderRemarks;
@@ -212,8 +215,8 @@ public class TaskCheckHistoryExcelModel {
     @ExcelProperty("监督检查时间")
     private String factoryBizSubmgrCreateTime;
 
-    @ExcelProperty("监督意见")
-    private String factoryBizSubmgrAdviceResult;
+    @ExcelProperty(value = "监督意见", converter = TaskSupervisionApprovalConverter.class)
+    private TaskSupervisionApproval factoryBizSubmgrAdviceResult;
 
     @ExcelProperty("通过/拒绝原因")
     private String factoryBizSubmgrRemarks;
@@ -224,8 +227,8 @@ public class TaskCheckHistoryExcelModel {
     @ExcelProperty("监督检查时间")
     private String lawyerCreateTime;
 
-    @ExcelProperty("监督意见")
-    private String lawyerSupRes;
+    @ExcelProperty(value = "审核意见", converter = TaskCheckConverter.class)
+    private TaskCheck lawyerSupRes;
 
     @ExcelProperty("通过/拒绝原因")
     private String lawyerRemarks;
@@ -236,8 +239,8 @@ public class TaskCheckHistoryExcelModel {
     @ExcelProperty("监督检查时间")
     private String lawyerLeaderCreateTime;
 
-    @ExcelProperty("监督意见")
-    private String lawyerLeaderAdviceResult;
+    @ExcelProperty(value = "监督意见", converter = TaskSupervisionApprovalConverter.class)
+    private TaskSupervisionApproval lawyerLeaderAdviceResult;
 
     @ExcelProperty("通过/拒绝原因")
     private String lawyerLeaderRemarks;
@@ -248,8 +251,8 @@ public class TaskCheckHistoryExcelModel {
     @ExcelProperty("监督检查时间")
     private String lawyerSubmgrCreateTime;
 
-    @ExcelProperty("监督意见")
-    private String lawyerSubmgrAdviceResult;
+    @ExcelProperty(value = "监督意见", converter = TaskSupervisionApprovalConverter.class)
+    private TaskSupervisionApproval lawyerSubmgrAdviceResult;
 
     @ExcelProperty("通过/拒绝原因")
     private String lawyerSubmgrRemarks;
@@ -260,8 +263,8 @@ public class TaskCheckHistoryExcelModel {
     @ExcelProperty("监督检查时间")
     private String financeCreateTime;
 
-    @ExcelProperty("监督意见")
-    private String financeSupRes;
+    @ExcelProperty(value = "审核意见", converter = TaskCheckConverter.class)
+    private TaskCheck financeSupRes;
 
     @ExcelProperty("通过/拒绝原因")
     private String financeRemarks;
@@ -272,8 +275,8 @@ public class TaskCheckHistoryExcelModel {
     @ExcelProperty("监督检查时间")
     private String financeLeaderCreateTime;
 
-    @ExcelProperty("监督意见")
-    private String financeLeaderAdviceResult;
+    @ExcelProperty(value = "监督意见", converter = TaskSupervisionApprovalConverter.class)
+    private TaskSupervisionApproval financeLeaderAdviceResult;
 
     @ExcelProperty("通过/拒绝原因")
     private String financeLeaderRemarks;
@@ -284,8 +287,8 @@ public class TaskCheckHistoryExcelModel {
     @ExcelProperty("监督检查时间")
     private String financeSubmgrCreateTime;
 
-    @ExcelProperty("监督意见")
-    private String financeSubmgrAdviceResult;
+    @ExcelProperty(value = "监督意见", converter = TaskSupervisionApprovalConverter.class)
+    private TaskSupervisionApproval financeSubmgrAdviceResult;
 
     @ExcelProperty("通过/拒绝原因")
     private String financeSubmgrRemarks;

+ 26 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/model/excel/TaskSupervisionApprovalConverter.java

@@ -0,0 +1,26 @@
+package com.qunzhixinxi.hnqz.admin.api.model.excel;
+
+import com.alibaba.excel.converters.Converter;
+import com.alibaba.excel.enums.CellDataTypeEnum;
+import com.alibaba.excel.metadata.GlobalConfiguration;
+import com.alibaba.excel.metadata.data.WriteCellData;
+import com.alibaba.excel.metadata.property.ExcelContentProperty;
+import com.qunzhixinxi.hnqz.admin.api.constant.enums.TaskSupervisionApproval;
+
+public class TaskSupervisionApprovalConverter implements Converter<TaskSupervisionApproval> {
+
+    @Override
+    public Class<?> supportJavaTypeKey() {
+        return TaskSupervisionApproval.class;
+    }
+
+    @Override
+    public CellDataTypeEnum supportExcelTypeKey() {
+        return CellDataTypeEnum.STRING;
+    }
+
+    @Override
+    public WriteCellData<?> convertToExcelData(TaskSupervisionApproval value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) {
+        return new WriteCellData<>(value != null ? value.getDesc() : "");
+    }
+}

+ 11 - 3
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/init/InitController.java

@@ -6,6 +6,7 @@ import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.date.DatePattern;
 import cn.hutool.core.date.LocalDateTimeUtil;
 import cn.hutool.core.text.StrPool;
+import cn.hutool.core.util.ArrayUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.extra.spring.SpringUtil;
 import cn.hutool.json.JSONUtil;
@@ -65,6 +66,7 @@ import com.qunzhixinxi.hnqz.admin.service.WmPackageTaskTypeQtyService;
 import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskContentService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskService;
+import com.qunzhixinxi.hnqz.admin.service.WmTaskSupervisionService;
 import com.qunzhixinxi.hnqz.admin.util.OsEnvUtils;
 import com.qunzhixinxi.hnqz.admin.util.OsEnvUtils.EnvType;
 import com.qunzhixinxi.hnqz.admin.util.OsEnvUtils.TargetFile;
@@ -74,6 +76,9 @@ import com.qunzhixinxi.hnqz.common.core.util.R;
 import com.qunzhixinxi.hnqz.common.oss.OssProperties;
 import com.qunzhixinxi.hnqz.common.oss.service.OssTemplate;
 import com.qunzhixinxi.hnqz.common.security.annotation.Inner;
+import com.qunzhixinxi.hnqz.common.security.service.HnqzUser;
+import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
+
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
@@ -178,7 +183,7 @@ public class InitController {
   private final SysRoleService roleService;
   private final SysChainNodeCheckHisNode43TempMapper node43TempMapper;
   private final TargetDept1Mapper targetDept1Mapper;
-  private final WmTaskSupervisionMapper wmTaskSupervisionMapper;
+  private final WmTaskSupervisionService wmTaskSupervisionService;
 
   @Inner(value = false)
   @GetMapping(value = "/cnbg/task/check/stat")
@@ -1461,7 +1466,6 @@ public class InitController {
     return R.ok(r);
   }
 
-  @Inner(value = false)
   @ResponseExcel(
       name = "taskCheckHistoryExcel",
       sheets = {@Sheet(sheetName = "审核信息")})
@@ -1473,7 +1477,11 @@ public class InitController {
       throw new RuntimeException("合法的任务导出区间是一个月");
     }
 
-    return wmTaskSupervisionMapper.selectTaskSupProcess(LocalDateTime.of(taskPeriod[0], LocalTime.MIN), LocalDateTime.of(taskPeriod[1], LocalTime.MAX));
+    if(!CollUtil.contains(SecurityUtils.getRoles(),53)) {
+      throw new RuntimeException("没有导出审核监督明细的权限");
+    }
+
+    return wmTaskSupervisionService.selectTaskSupProcess(SecurityUtils.getUser(), taskPeriod);
     
   }
 

+ 10 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/WmTaskSupervisionService.java

@@ -1,11 +1,13 @@
 package com.qunzhixinxi.hnqz.admin.service;
 
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.util.List;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qunzhixinxi.hnqz.admin.api.dto.WmSupervisionDto;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskSupervision;
+import com.qunzhixinxi.hnqz.admin.api.model.excel.TaskCheckHistoryExcelModel;
 import com.qunzhixinxi.hnqz.common.security.service.HnqzUser;
 
 /**
@@ -49,5 +51,13 @@ public interface WmTaskSupervisionService extends IService<WmTaskSupervision> {
      * @return
      */
     List<WmTaskSupervision> getSupervisionByPkgIds(List<String> pkgIds, LocalDateTime taskBeginTime, LocalDateTime taskEndTime);
+
+    /**
+     * 导出审核监察明细
+     * @param user
+     * @param taskPeriod
+     * @return
+     */
+    List<TaskCheckHistoryExcelModel> selectTaskSupProcess(HnqzUser user,  LocalDate[] taskPeriod);
 }
 

+ 10 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmTaskSupervisionServiceImpl.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qunzhixinxi.hnqz.admin.api.constant.UpmsState;
 import com.qunzhixinxi.hnqz.admin.api.dto.WmSupervisionDto;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskSupervision;
+import com.qunzhixinxi.hnqz.admin.api.model.excel.TaskCheckHistoryExcelModel;
 import com.qunzhixinxi.hnqz.admin.mapper.WmTaskSupervisionMapper;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskSupervisionService;
 import com.qunzhixinxi.hnqz.common.security.service.HnqzUser;
@@ -15,7 +16,9 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.time.LocalTime;
 import java.util.List;
 
 /**
@@ -29,6 +32,7 @@ import java.util.List;
 @AllArgsConstructor
 public class WmTaskSupervisionServiceImpl extends ServiceImpl<WmTaskSupervisionMapper, WmTaskSupervision> implements WmTaskSupervisionService {
 
+    private final WmTaskSupervisionMapper wmTaskSupervisionMapper;
     /**
      * 创建审核
      *
@@ -121,4 +125,10 @@ public class WmTaskSupervisionServiceImpl extends ServiceImpl<WmTaskSupervisionM
         return this.baseMapper.selectByPkgIds(pkgIds, taskBeginTime, taskEndTime);
     }
 
+    @Override
+    // @ExportGuard
+    public List<TaskCheckHistoryExcelModel> selectTaskSupProcess(HnqzUser user,  LocalDate[] taskPeriod) {
+        List<TaskCheckHistoryExcelModel> t = wmTaskSupervisionMapper.selectTaskSupProcess(LocalDateTime.of(taskPeriod[0], LocalTime.MIN), LocalDateTime.of(taskPeriod[1], LocalTime.MAX));
+        return t;
+    }
 }

+ 316 - 44
hnqz-upms/hnqz-upms-biz/src/main/resources/mapper/WmTaskSupervisionMapper.xml

@@ -69,7 +69,7 @@
     <result property="packageStartTime" column="package_start_time"/>
     <result property="packageEndTime" column="package_end_time"/>
     <result property="taskNumber" column="task_number"/>
-    <result property="taskType_name" column="task_type_name"/>
+    <result property="taskTypeName" column="task_type_name"/>
     <result property="taskScore" column="task_score"/>
     <result property="drugnameTy" column="drugname_ty"/>
     <result property="drugEntName" column="drug_ent_name"/>
@@ -172,280 +172,552 @@
     <result property="financeSubmgrRemarks" column="finance_submgr_remarks"/>
   </resultMap>
 
- <select id="selectTaskSupProcess" resultMap="wmTaskSupProcessMap">
+<select id="selectTaskSupProcess" resultMap="wmTaskSupProcessMap">
   select
+
     t.id,
+
     division.name division_name,
+
     pp."prov_abbr",
+
     cso.name cso_name,
+
     pp.score_package_name,
+
     pp.id score_package_id,
+
     year(pp.start_time) package_year,
+
     pp.start_time package_start_time,
+
     pp.end_time package_end_time,
+
     t."task_number",
+
     ttype.task_type_name,
+
     t.score task_score,
+
     drug.drugname_ty,
+
     drug.drug_ent_name,
+
     task_user.realname worker_realname,
+
     t.create_time task_create_time,
+
     t1.realname vendor_realname,
+
     t1.update_time vendor_update_time,
+
     t1.check_result vendor_check_result,
+
     t1.check_msg vendor_check_msg,
+
     t2.realname city_realname,
+
     t2.update_time city_update_time,
+
     t2.check_result city_check_result,
+
     t2.check_msg city_check_msg,
+
     t3.realname division_realname,
+
     t3.update_time division_update_time,
+
     t3.check_result division_check_result,
+
     t3.check_msg division_check_msg,
+
     t8.realname marketing_realname,
+
     t8.update_time marketing_update_time,
+
     t8.check_result marketing_check_result,
+
     t8.check_msg marketing_check_msg,
+
     t9.realname biz_realname,
+
     t9.update_time biz_update_time,
+
     t9.check_result biz_check_result,
+
     t9.check_msg biz_check_msg,
+
     t5.realname submgr_realname,
+
     t5.update_time submgr_update_time,
+
     t5.check_result submgr_check_result,
+
     t5.check_msg submgr_check_msg,
+
     t6.realname mgr_realname,
-    t6.update_time mgr_update_time,
+
+    t6.update_time mgr_update_time,
+
     t6.check_result mgr_check_result,
+
     t6.check_msg mgr_check_msg,
+
     sup1."realname" factory_finance_realname,
+
     sup1."create_time" factory_finance_create_time,
+
     sup1."sup_res" factory_finance_sup_res,
+
     sup1.remarks factory_finance_remarks,
+
     sup11."realname" factory_finance_leader_realname,
+
     sup11."create_time" factory_finance_leader_create_time,
+
     sup11."advice_result" factory_finance_leader_advice_result,
+
     sup11.remarks factory_finance_leader_remarks,
+
     sup12."realname" factory_finance_submgr_realname,
+
     sup12."create_time" factory_finance_submgr_create_time,
+
     sup12."advice_result" factory_finance_submgr_advice_result,
+
     sup12.remarks factory_finance_submgr_remarks,
+
     sup2."realname" factory_biz_realname,
+
     sup2."create_time" factory_biz_create_time,
+
     sup2."sup_res" factory_biz_sup_res,
+
     sup2.remarks factory_biz_remarks,
+
     sup21."realname" factory_biz_leader_realname,
+
     sup21."create_time" factory_biz_leader_create_time,
+
     sup21."advice_result" factory_biz_leader_advice_result,
+
     sup21.remarks factory_biz_leader_remarks,
+
     sup22."realname" factory_biz_submgr_realname,
+
     sup22."create_time" factory_biz_submgr_create_time,
+
     sup22."advice_result" factory_biz_submgr_advice_result,
+
     sup22.remarks factory_biz_submgr_remarks,
+
     sup3."realname" lawyer_realname,
+
     sup3."create_time" lawyer_create_time,
+
     sup3."sup_res" lawyer_sup_res,
+
     sup3.remarks lawyer_remarks,
+
     sup31."realname" lawyer_leader_realname,
+
     sup31."create_time" lawyer_leader_create_time,
+
     sup31."advice_result" lawyer_leader_advice_result,
+
     sup31.remarks lawyer_leader_remarks,
+
     sup32."realname" lawyer_submgr_realname,
+
     sup32."create_time" lawyer_submgr_create_time,
+
     sup32."advice_result" lawyer_submgr_advice_result,
+
     sup32.remarks lawyer_submgr_remarks,
+
     sup4."realname" finance_realname,
+
     sup4."create_time" finance_create_time,
+
     sup4."sup_res" finance_sup_res,
+
     sup4.remarks finance_remarks,
+
     sup41."realname" finance_leader_realname,
+
     sup41."create_time" finance_leader_create_time,
+
     sup41."advice_result" finance_leader_advice_result,
+
     sup41.remarks finance_leader_remarks,
+
     sup42."realname" finance_submgr_realname,
+
     sup42."create_time" finance_submgr_create_time,
+
     sup42."advice_result" finance_submgr_advice_result,
+
     sup42.remarks finance_submgr_remarks
+
   from wm_task t
+
   join wm_task_type ttype
+
   on t.task_type_id = ttype.id
+
   join "wm_score_package" p
+
   on t."score_package_id" = p."id"
+
   left join "wm_score_package" pp
+
   on p.relation_score_id = pp.id
+
   left join sys_dept cso
+
   on p.dept_id = cso.dept_id
+
   left join sys_dept division
+
   on pp.send_package_dept_id = division.dept_id
+
   left join sys_user task_user
+
   on t.task_user_id = task_user.user_id
+
   left join wm_da_drug_ent_drugtable drug
-  on p.drugtable = drug.id
+
+  on p.drugtable = drug.id  
+
   left join
+
   (
+
     select "target_id", "check_result", "check_msg", his."update_time1" update_time, u."realname"
+
     from "sys_chain_node_check_his" his
-    join sys_user u
+
+    join (select distinct username, realname from sys_user) u
+
     on u."username" = his."create_by1"
-    where "node_id" = 1 and create_time1 > '2025-07-01' -- 服务商
+
+    where "node_id" = 1 and create_time1 &gt;= #{taskBeginTime} <!-- 服务商 -->
+
   ) t1
+
   on t1.target_id = t.id
+
   left join
+
   (
+
     select "target_id", "check_result", "check_msg", his."update_time1" update_time, u."realname"
+
     from "sys_chain_node_check_his" his
-    join sys_user u
+
+    join (select distinct username, realname from sys_user) u
+
     on u."username" = his."create_by1"
-    where "node_id" = 2 and create_time1 > '2025-07-01' -- 地市
+
+    where "node_id" = 2 and create_time1 &gt;= #{taskBeginTime} <!-- 地市 -->
+
   ) t2
+
   on t2.target_id = t.id
+
   left join
+
   (
+
     select "target_id", "check_result", "check_msg", his."update_time1" update_time, u."realname"
-    from "sys_chain_node_check_his" his join sys_user u
+
+    from "sys_chain_node_check_his" his join (select distinct username, realname from sys_user) u
+
     on u."username" = his."create_by1"
-    where "node_id" = 3 and create_time1 > '2025-07-01' -- 区域
+
+    where "node_id" = 3 and create_time1 &gt;= #{taskBeginTime} <!-- 区域 -->
+
   ) t3
+
   on t3.target_id = t.id
+
   left join
+
   (
+
     select "target_id", "check_result", "check_msg", his."update_time1" update_time, u."realname"
-    from "sys_chain_node_check_his" his join sys_user u
+
+    from "sys_chain_node_check_his" his join (select distinct username, realname from sys_user) u
+
     on u."username" = his."create_by1"
-    where "node_id" = 8 and create_time1 > '2025-07-01' -- 市场
+
+    where "node_id" = 8 and create_time1 &gt;= #{taskBeginTime} <!-- 市场 -->
+
   ) t8
+
     on t8.target_id = t.id
+
     left join
+
     (
+
     select "target_id", "check_result", "check_msg", his."update_time1" update_time, u."realname"
-    from "sys_chain_node_check_his" his join sys_user u
+
+    from "sys_chain_node_check_his" his join (select distinct username, realname from sys_user) u
+
     on u."username" = his."create_by1"
-    where "node_id" = 9 and create_time1 > '2025-07-01' -- 商务
+
+    where "node_id" = 9 and create_time1 &gt;= #{taskBeginTime} <!-- 商务 -->
+
     ) t9
+
     on t9.target_id = t.id
+
     left join
+
     (
+
     select "target_id", "check_result", "check_msg", his."update_time1" update_time, u."realname"
-    from "sys_chain_node_check_his" his join sys_user u
+
+    from "sys_chain_node_check_his" his join (select distinct username, realname from sys_user) u
+
     on u."username" = his."create_by1"
-    where "node_id" = 5 and create_time1 > '2025-07-01' -- 分管领导
+
+    where "node_id" = 5 and create_time1 &gt;= #{taskBeginTime} <!-- 分管领导 -->
+
     ) t5
+
     on t5.target_id = t.id
+
     left join
+
     (
-    select "target_id", "check_result", "check_msg", his."update_time1" update_time, u."realname"
-    from "sys_chain_node_check_his" his join sys_user u
+
+    select distinct "target_id", "check_result", "check_msg", his."update_time1" update_time, u."realname"
+
+    from "sys_chain_node_check_his" his join (select distinct username, realname from sys_user) u
+
     on u."username" = his."create_by1"
-    where "node_id" = 6 and create_time1 > '2025-07-01' -- 总经理
+
+    where "node_id" = 6 and create_time1 &gt;= #{taskBeginTime} <!-- 总经理 -->
+
     ) t6
+
     on t6.target_id = t.id
+
     left join
+
     (
-    select sup."task_id", u.realname, adv.create_time, adv.advice_result, adv.remarks from wm_task_sup sup 
+
+    select sup."task_id", u.realname, sup.create_time, sup.sup_res, sup."remarks" from wm_task_sup sup 
+
     join wm_task_sup_adv adv on adv.task_supervision_id = sup.sup_id
+
     join sys_user u on u."username" = sup."create_by"
+
     join "sys_user_role" ur on u.user_id = ur."user_id"
-    where ur."role_id" = 49 and sup."create_time" > '2025-07-01'  -- 厂家财务
+
+    where ur."role_id" = 49 and sup."create_time" &gt;= #{taskBeginTime}  <!-- 厂家财务 -->
+
     ) sup1
+
     on sup1."task_id" = t.id
+
     left join
+
     (
-    select sup."task_id", u.realname, sup.create_time, sup.sup_res from wm_task_sup sup 
+
+    select sup."task_id", u.realname, adv.create_time, adv.advice_result, adv.remarks  from wm_task_sup sup 
+
     join wm_task_sup_adv adv on adv.task_supervision_id = sup.sup_id
+
     join sys_user u on u."username" = adv."create_by"
+
     join "sys_user_role" ur on u.user_id = ur."user_id"
-    where ur."role_id" = 57 and sup."create_time" > '2025-07-01' and adv.del_flag = '0'  -- 厂家财务负责人
+
+    where ur."role_id" = 57 and sup."create_time" &gt;= #{taskBeginTime} and adv.del_flag = '0'   <!-- 厂家财务负责人 -->
+
     ) sup11
+
     on sup11."task_id" = t.id
+
     left join
+
     (
-    select sup."task_id", u.realname, sup.create_time, sup.sup_res from wm_task_sup sup 
+
+    select sup."task_id", u.realname, adv.create_time, adv.advice_result, adv.remarks  from wm_task_sup sup 
+
     join wm_task_sup_adv adv on adv.task_supervision_id = sup.sup_id
+
     join sys_user u on u."username" = adv."create_by"
+
     join "sys_user_role" ur on u.user_id = ur."user_id"
-    where ur."role_id" = 51 and sup."create_time" > '2025-07-01' and adv.del_flag = '0'  -- 厂家财务分管领导
+
+    where ur."role_id" = 51 and sup."create_time" &gt;= #{taskBeginTime} and adv.del_flag = '0'  <!-- 厂家财务分管领导 -->
+
     ) sup12
+
     on sup12."task_id" = t.id
+
     left join
+
     (
-    select sup."task_id", u.realname, sup.create_time, sup.sup_res from wm_task_sup sup 
+
+    select sup."task_id", u.realname, sup.create_time, sup.sup_res, sup."remarks" from wm_task_sup sup 
+
     join sys_user u on u."username" = sup."create_by"
+
     join "sys_user_role" ur on u.user_id = ur."user_id"
-    where ur."role_id" = 52 and sup."create_time" > '2025-07-01'  -- 厂家销售
+
+    where ur."role_id" = 52 and sup."create_time" &gt;= #{taskBeginTime}  <!-- 厂家销售 -->
+
     ) sup2
+
     on sup2."task_id" = t.id
+
     left join
+
     (
-    select sup."task_id", u.realname, sup.create_time, sup.sup_res from wm_task_sup sup 
+
+    select sup."task_id", u.realname, adv.create_time, adv.advice_result, adv.remarks  from wm_task_sup sup 
+
     join wm_task_sup_adv adv on adv.task_supervision_id = sup.sup_id
+
     join sys_user u on u."username" = adv."create_by"
+
     join "sys_user_role" ur on u.user_id = ur."user_id"
-    where ur."role_id" = 58 and sup."create_time" > '2025-07-01' and adv.del_flag = '0'  -- 厂家销售负责人
+
+    where ur."role_id" = 58 and sup."create_time" &gt;= #{taskBeginTime} and adv.del_flag = '0'  <!-- 厂家销售负责人 -->
+
     ) sup21
+
     on sup21."task_id" = t.id
+
     left join
+
     (
-    select sup."task_id", u.realname, sup.create_time, sup.sup_res from wm_task_sup sup 
+
+    select sup."task_id", u.realname, adv.create_time, adv.advice_result, adv.remarks  from wm_task_sup sup 
+
     join wm_task_sup_adv adv on adv.task_supervision_id = sup.sup_id
+
     join sys_user u on u."username" = adv."create_by"
+
     join "sys_user_role" ur on u.user_id = ur."user_id"
-    where ur."role_id" = 61 and sup."create_time" > '2025-07-01' and adv.del_flag = '0'  -- 厂家销售分管领导
+
+    where ur."role_id" = 61 and sup."create_time" &gt;= #{taskBeginTime} and adv.del_flag = '0'  <!-- 厂家销售分管领导 -->
+
     ) sup22
+
     on sup22."task_id" = t.id
+
     left join
+
     (
-    select sup."task_id", u.realname, sup.create_time, sup.sup_res from wm_task_sup sup 
+
+    select sup."task_id", u.realname, sup.create_time, sup.sup_res, sup."remarks" from wm_task_sup sup 
+
     join sys_user u on u."username" = sup."create_by"
+
     join "sys_user_role" ur on u.user_id = ur."user_id"
-    where ur."role_id" = 53 and sup."create_time" > '2025-07-01'  -- 营销合规
+
+    where ur."role_id" = 53 and sup."create_time" &gt;= #{taskBeginTime}  <!-- 营销合规 -->
+
     ) sup3
+
     on sup3."task_id" = t.id
+
     left join
+
     (
-    select sup."task_id", u.realname, sup.create_time, sup.sup_res from wm_task_sup sup 
+
+    select sup."task_id", u.realname, adv.create_time, adv.advice_result, adv.remarks  from wm_task_sup sup 
+
     join wm_task_sup_adv adv on adv.task_supervision_id = sup.sup_id
+
     join sys_user u on u."username" = adv."create_by"
+
     join "sys_user_role" ur on u.user_id = ur."user_id"
-    where ur."role_id" = 60 and sup."create_time" > '2025-07-01' and adv.del_flag = '0'  -- 营销合规负责人
+
+    where ur."role_id" = 60 and sup."create_time" &gt;= #{taskBeginTime} and adv.del_flag = '0'  <!-- 营销合规负责人 -->
+
     ) sup31
+
     on sup31."task_id" = t.id
+
     left join
+
     (
-    select sup."task_id", u.realname, sup.create_time, sup.sup_res from wm_task_sup sup 
+
+    select sup."task_id", u.realname, adv.create_time, adv.advice_result, adv.remarks  from wm_task_sup sup 
+
     join wm_task_sup_adv adv on adv.task_supervision_id = sup.sup_id
+
     join sys_user u on u."username" = adv."create_by"
+
     join "sys_user_role" ur on u.user_id = ur."user_id"
-    where ur."role_id" = 54 and sup."create_time" > '2025-07-01' and adv.del_flag = '0'  -- 营销合规分管领导
+
+    where ur."role_id" = 54 and sup."create_time" &gt;= #{taskBeginTime} and adv.del_flag = '0'  <!-- 营销合规分管领导 -->
+
     ) sup32
+
     on sup32."task_id" = t.id
+
     left join
+
     (
-    select sup."task_id", u.realname, sup.create_time, sup.sup_res from wm_task_sup sup 
+
+    select sup."task_id", u.realname, sup.create_time, sup.sup_res, sup."remarks" from wm_task_sup sup 
+
     join sys_user u on u."username" = sup."create_by"
+
     join "sys_user_role" ur on u.user_id = ur."user_id"
-    where ur."role_id" = 56 and sup."create_time" > '2025-07-01'  -- 营销财务
+
+    where ur."role_id" = 56 and sup."create_time" &gt;= #{taskBeginTime}  <!-- 营销财务 -->
+
     ) sup4
+
     on sup4."task_id" = t.id
+
     left join
+
     (
-    select sup."task_id", u.realname, sup.create_time, sup.sup_res from wm_task_sup sup 
+
+    select sup."task_id", u.realname, adv.create_time, adv.advice_result, adv.remarks  from wm_task_sup sup 
+
     join wm_task_sup_adv adv on adv.task_supervision_id = sup.sup_id
+
     join sys_user u on u."username" = adv."create_by"
+
     join "sys_user_role" ur on u.user_id = ur."user_id"
-    where ur."role_id" = 59 and sup."create_time" > '2025-07-01' and adv.del_flag = '0'  -- 营销财务负责人
+
+    where ur."role_id" = 59 and sup."create_time" &gt;= #{taskBeginTime} and adv.del_flag = '0'  <!-- 营销财务负责人 -->
+
     ) sup41
+
     on sup41."task_id" = t.id
+
     left join
+
     (
-    select sup."task_id", u.realname, sup.create_time, sup.sup_res from wm_task_sup sup 
+
+    select sup."task_id", u.realname, adv.create_time, adv.advice_result, adv.remarks  from wm_task_sup sup 
+
     join wm_task_sup_adv adv on adv.task_supervision_id = sup.sup_id
+
     join sys_user u on u."username" = adv."create_by"
+
     join "sys_user_role" ur on u.user_id = ur."user_id"
-    where ur."role_id" = 55 and sup."create_time" > '2025-07-01' and adv.del_flag = '0'  -- 营销财务分管领导
+
+    where ur."role_id" = 55 and sup."create_time" &gt;= #{taskBeginTime} and adv.del_flag = '0'  <!-- 营销财务分管领导 -->
+
     ) sup42
+
     on sup42."task_id" = t.id
 
-    where t.create_time >= '2025-07-01' and t.create_time <= '2025-08-30' and t.del_flag = '0' 
+
+    where t.create_time &gt;= #{taskBeginTime} and t.create_time &lt;= #{taskEndTime} and t.del_flag = '0'
+      and cso.dept_id &gt; 0 <!-- remove test data -->
 
  </select>