Pārlūkot izejas kodu

feat: 运营导出 update1

shc 7 mēneši atpakaļ
vecāks
revīzija
3533273c50

+ 15 - 1
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/model/excel/WmScorePackageInfoExcelModel.java

@@ -34,13 +34,27 @@ public class WmScorePackageInfoExcelModel implements Serializable {
     @ExcelProperty("执行包名称")
     private String pkgName;
 
+    /**
+     * 父级执行包
+     */
+    @ColumnWidth(128)
+    @ExcelProperty("父级执行包")
+    private String parentPkgName;
+
     /**
      * 产品名称
      */
     @ColumnWidth(32)
-    @ExcelProperty("产品名称")
+    @ExcelProperty("产品名称(通用名)")
     private String skuName;
 
+    /**
+     * 产品名称
+     */
+    @ColumnWidth(32)
+    @ExcelProperty("产品名称(商品名)")
+    private String prodName;
+
     /**
      * 生产企业
      */

+ 22 - 13
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/manager/WmPackageManager.java

@@ -473,7 +473,6 @@ public class WmPackageManager {
         List<SysDept> depts = deptService.list(Wrappers.<SysDept>lambdaQuery().eq(SysDept::getDelFlag, CommonConstants.STATUS_NORMAL)).stream().filter(d -> !ignoreIds.contains(d.getDeptId())).collect(Collectors.toList());
 
 
-
         if (CollUtil.isEmpty(depts)) {
             throw new BizException("不存在生效的企业信息,无法获取导出数据");
         }
@@ -495,6 +494,11 @@ public class WmPackageManager {
             throw new BizException(String.format("%s至%s没有区域发包记录,不支持导出", DateTimeFormatter.ofPattern(DatePattern.CHINESE_DATE_PATTERN).format(startDate), DateTimeFormatter.ofPattern(DatePattern.CHINESE_DATE_PATTERN).format(endDate)));
         }
 
+        // 获取上级包
+        List<String> ppid = pkgs.stream().map(WmScorePackage::getRelationScoreId).distinct().sorted().collect(Collectors.toList());
+        Map<String, WmScorePackage> ppMap = scorePackageService.list(Wrappers.<WmScorePackage>lambdaQuery().in(WmScorePackage::getId, ppid)).stream().collect(Collectors.toMap(WmScorePackage::getId, Function.identity()));
+
+
         List<String> pkgIds = pkgs.stream().map(WmScorePackage::getId).distinct().sorted().collect(Collectors.toList());
 
         // 获取包所关联的产品
@@ -535,6 +539,10 @@ public class WmPackageManager {
             model.setPkgName(pkg.getScorePackageName());
             model.setScore(String.valueOf(pkg.getScore()));
 
+            // 父级包
+            WmScorePackage wmScorePackages = ppMap.get(pkg.getRelationScoreId());
+            model.setParentPkgName(wmScorePackages != null ? wmScorePackages.getScorePackageName() : "");
+
             // 计划名称
             Integer planId = pkg2PlanMap.get(Integer.parseInt(pkg.getId()));
             SysImplementPlan plan = planMap.get(planId);
@@ -544,6 +552,7 @@ public class WmPackageManager {
             WmDaDrugEntDrugtable drugtable = drugtableMap.get(pkg.getDrugtable()[0]);
 
             model.setSkuName(drugtable == null ? "未分配产品" : drugtable.getDrugname());
+            model.setProdName(drugtable == null ? "未分配产品" : drugtable.getDrugnameTy());
             model.setMah(drugtable == null ? "未知" : drugtable.getDrugEntName());
 
             // 承接对象
@@ -686,51 +695,51 @@ public class WmPackageManager {
                         }
 
                         if (StrUtil.equals(taskTypeName, "专项拜访")) {
-                            tt52dist+= packageTaskTypeQty.getQty();
+                            tt52dist += packageTaskTypeQty.getQty();
                         }
 
                         if (StrUtil.equals(taskTypeName, "专业拜访")) {
-                            tt51dist+= packageTaskTypeQty.getQty();
+                            tt51dist += packageTaskTypeQty.getQty();
                         }
 
                         if (StrUtil.equals(taskTypeName, "数据收集")) {
-                            tt14dist+= packageTaskTypeQty.getQty();
+                            tt14dist += packageTaskTypeQty.getQty();
                         }
 
                         if (StrUtil.equals(taskTypeName, "医学警戒信息收集")) {
-                            tt17dist+= packageTaskTypeQty.getQty();
+                            tt17dist += packageTaskTypeQty.getQty();
                         }
 
                         if (StrUtil.equals(taskTypeName, "产品展示")) {
-                            tt12dist+= packageTaskTypeQty.getQty();
+                            tt12dist += packageTaskTypeQty.getQty();
                         }
 
                         if (StrUtil.equals(taskTypeName, "业务宣传服务")) {
-                            tt13dist+= packageTaskTypeQty.getQty();
+                            tt13dist += packageTaskTypeQty.getQty();
                         }
 
                         if (StrUtil.equals(taskTypeName, "POV科室会")) {
-                            tt1dist+= packageTaskTypeQty.getQty();
+                            tt1dist += packageTaskTypeQty.getQty();
                         }
 
                         if (StrUtil.equals(taskTypeName, "沙龙会")) {
-                            tt5dist+= packageTaskTypeQty.getQty();
+                            tt5dist += packageTaskTypeQty.getQty();
                         }
 
                         if (StrUtil.equals(taskTypeName, "市级学术会议")) {
-                            tt3dist+= packageTaskTypeQty.getQty();
+                            tt3dist += packageTaskTypeQty.getQty();
                         }
 
                         if (StrUtil.equals(taskTypeName, "省级学术会议")) {
-                            tt4dist+= packageTaskTypeQty.getQty();
+                            tt4dist += packageTaskTypeQty.getQty();
                         }
 
                         if (StrUtil.equals(taskTypeName, "线上学术会议")) {
-                            tt64dist+= packageTaskTypeQty.getQty();
+                            tt64dist += packageTaskTypeQty.getQty();
                         }
 
                         if (StrUtil.equals(taskTypeName, "健康教育课堂")) {
-                            tt19dist+= packageTaskTypeQty.getQty();
+                            tt19dist += packageTaskTypeQty.getQty();
                         }
 
                     }