Ver Fonte

init: init project step4: biz code support

shc há 1 ano atrás
pai
commit
277ef8ed88
65 ficheiros alterados com 2031 adições e 418 exclusões
  1. 48 0
      doc/db/6sys_impl_plan.sql
  2. 47 0
      doc/db/7sys_impl_plan_details.sql
  3. 33 0
      doc/db/8sys_impl_plan_details_item.sql
  4. 13 12
      hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/constant/UpmsLevel.java
  5. 82 36
      hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/constant/UpmsState.java
  6. 20 0
      hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/constant/UpmsType.java
  7. 12 9
      hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/constant/enums/DelEnum.java
  8. 12 11
      hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/constant/enums/LockEnum.java
  9. 126 0
      hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/dto/SysImplementPlanDTO.java
  10. 95 0
      hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/dto/SysImplementPlanDetailsDTO.java
  11. 138 0
      hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/entity/SysImplPlanDetails.java
  12. 66 0
      hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/entity/SysImplPlanDetailsItem.java
  13. 148 0
      hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/entity/SysImplementPlan.java
  14. 2 1
      hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/entity/WmScoreTaskType.java
  15. 47 0
      hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/vo/SysImplementPlanVO.java
  16. 11 11
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/ApiController.java
  17. 8 8
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/InitController.java
  18. 2 2
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/SysDeptController.java
  19. 3 3
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/SysDeptRechargeController.java
  20. 77 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/SysImplementPlanController.java
  21. 1 1
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/SysUserController.java
  22. 1 1
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmDaAgentController.java
  23. 8 8
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmDaDrugEntDrugtableController.java
  24. 4 4
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmDeptTaskController.java
  25. 10 6
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmScorePackageController.java
  26. 1 1
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmScorePackageStatusController.java
  27. 5 5
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmTaskController.java
  28. 1 1
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmTaskSubmissionRuleController.java
  29. 2 2
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmTaskTypeController.java
  30. 13 13
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmTeamController.java
  31. 1 1
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmWkAlbumController.java
  32. 1 1
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmWkArticleController.java
  33. 368 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/manager/SysImplementPlanManager.java
  34. 21 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mapper/SysImplPlanDetailsItemMapper.java
  35. 21 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mapper/SysImplPlanDetailsMapper.java
  36. 21 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mapper/SysImplementPlanMapper.java
  37. 4 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/SysDeptService.java
  38. 27 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/SysImplPlanDetailsItemService.java
  39. 29 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/SysImplPlanDetailsService.java
  40. 43 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/SysImplementPlanService.java
  41. 2 1
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/WmDaDrugEntDrugtableService.java
  42. 4 4
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/SysDeptInvoiceServiceImpl.java
  43. 3 3
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/SysDeptRechargeRecordServiceImpl.java
  44. 4 4
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/SysDeptRechargeServiceImpl.java
  45. 11 2
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/SysDeptServiceImpl.java
  46. 44 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/SysImplPlanDetailsItemServiceImpl.java
  47. 49 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/SysImplPlanDetailsServiceImpl.java
  48. 71 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/SysImplementPlanServiceImpl.java
  49. 57 57
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/SysUserExtRecordServiceImpl.java
  50. 2 2
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/SysUserServiceImpl.java
  51. 1 1
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDaDistributionServiceImpl.java
  52. 157 154
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDaDrugEntDrugtableServiceImpl.java
  53. 1 1
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDaHospitalServiceImpl.java
  54. 1 1
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDaPharmacyServiceImpl.java
  55. 2 2
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDeptTaskServiceImpl.java
  56. 11 11
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDeptTaskTypeConfigServiceImpl.java
  57. 5 5
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmReportServiceImpl.java
  58. 7 7
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmScorePackageServiceImpl.java
  59. 7 7
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmTaskServiceImpl.java
  60. 1 1
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmTaskSubmissionPercentRuleServiceImpl.java
  61. 1 1
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmTaskSubmissionRuleServiceImpl.java
  62. 4 4
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmTaskTypeSubCate2ServiceImpl.java
  63. 3 3
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmTeamServiceImpl.java
  64. 3 2
      hnqz-upms/hnqz-upms-biz/src/main/resources/mapper/WmDaAgentMapper.xml
  65. 8 8
      hnqz-upms/hnqz-upms-biz/src/test/java/com/qunzhixinxi/hnqz/admin/WmTaskTypeServiceTest.java

+ 48 - 0
doc/db/6sys_impl_plan.sql

@@ -0,0 +1,48 @@
+USE `cnbg_20240511_001`;
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for sys_impl_plan
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_impl_plan`;
+CREATE TABLE `sys_impl_plan`
+(
+    `plan_id`      BIGINT AUTO_INCREMENT COMMENT '主键ID',
+    `plan_name`    VARCHAR(64)  NOT NULL COMMENT '计划名称',
+    `plan_type`    VARCHAR(32)  NOT NULL COMMENT '计划类型',
+    `plan_state`   VARCHAR(32)  NOT NULL COMMENT '计划类型',
+    `plan_score`   BIGINT       NOT NULL DEFAULT 0 COMMENT '计划值',
+    `plan_issue`   DATE         NOT NULL COMMENT '签发时间',
+    `plan_expiry`  DATE         NOT NULL COMMENT '截止日期',
+    `parent_id`    BIGINT       NOT NULL COMMENT '父ID',
+    `consignor_id` BIGINT       NOT NULL COMMENT '委托人ID',
+    `consignee_id` BIGINT       NOT NULL COMMENT '受托人ID',
+    `sku_id`       BIGINT       NOT NULL COMMENT '产品ID',
+    `ckt_res`      TINYINT(1)   NULL COMMENT '审核结果',
+    `ckt_msg`      VARCHAR(255) NULL COMMENT '审核意见',
+    `ckt_time`     DATETIME     NULL COMMENT '审核时间',
+    `ckt_name`     VARCHAR(64)  NULL COMMENT '审核人用户名',
+    `loc_flag`     VARCHAR(1)   NOT NULL COMMENT '锁定标记',
+    `del_flag`     VARCHAR(1)   NOT NULL DEFAULT '0' COMMENT '删除标记',
+    `create_by`    VARCHAR(64)  NOT NULL COMMENT '创建人',
+    `update_by`    VARCHAR(64)  NOT NULL COMMENT '修改人',
+    `create_time`  DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+    `update_time`  DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
+    PRIMARY KEY `pk_id` (`plan_id`),
+    UNIQUE KEY `uk_name` (`plan_name`, `consignor_id`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4
+  COLLATE = utf8mb4_general_ci
+  ROW_FORMAT = DYNAMIC COMMENT ='执行计划';
+
+
+-- ----------------------------
+-- Records of sys_impl_plan
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+
+SET FOREIGN_KEY_CHECKS = 1;

+ 47 - 0
doc/db/7sys_impl_plan_details.sql

@@ -0,0 +1,47 @@
+USE `cnbg_20240511_001`;
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for sys_impl_plan_details
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_impl_plan_details`;
+CREATE TABLE `sys_impl_plan_details`
+(
+    `details_id`    BIGINT AUTO_INCREMENT COMMENT '主键ID',
+    `plan_id`       BIGINT COMMENT '计划ID',
+    `qty`           BIGINT       NOT NULL COMMENT '计划任务总数',
+    `total`         BIGINT       NOT NULL COMMENT '计划总值',
+    `details_state` VARCHAR(32)  NOT NULL COMMENT '详情状态',
+    `ckt_res1`      TINYINT(1)   NULL COMMENT '审核结果',
+    `ckt_msg1`      VARCHAR(255) NULL COMMENT '审核意见',
+    `ckt_time1`     DATETIME     NULL COMMENT '审核时间',
+    `ckt_name1`     VARCHAR(64)  NULL COMMENT '审核人用户名',
+    `ckt_res2`      TINYINT(1)   NULL COMMENT '审核结果',
+    `ckt_msg2`      VARCHAR(255) NULL COMMENT '审核意见',
+    `ckt_time2`     DATETIME     NULL COMMENT '审核时间',
+    `ckt_name2`     VARCHAR(64)  NULL COMMENT '审核人用户名',
+    `ckt_res3`      TINYINT(1)   NULL COMMENT '审核结果',
+    `ckt_msg3`      VARCHAR(255) NULL COMMENT '审核意见',
+    `ckt_time3`     DATETIME     NULL COMMENT '审核时间',
+    `ckt_name3`     VARCHAR(64)  NULL COMMENT '审核人用户名',
+    `create_by`     VARCHAR(64)  NOT NULL COMMENT '创建人',
+    `update_by`     VARCHAR(64)  NOT NULL COMMENT '修改人',
+    `create_time`   DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+    `update_time`   DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
+    PRIMARY KEY `pk_id` (`details_id`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4
+  COLLATE = utf8mb4_general_ci
+  ROW_FORMAT = DYNAMIC COMMENT ='执行计划详情';
+
+
+-- ----------------------------
+-- Records of sys_impl_plan_details
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+
+SET FOREIGN_KEY_CHECKS = 1;

+ 33 - 0
doc/db/8sys_impl_plan_details_item.sql

@@ -0,0 +1,33 @@
+USE `cnbg_20240511_001`;
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for sys_impl_plan_details_item
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_impl_plan_details_item`;
+CREATE TABLE `sys_impl_plan_details_item`
+(
+    `item_id`     BIGINT AUTO_INCREMENT COMMENT '主键ID',
+    `details_id`  BIGINT      NOT NULL COMMENT '计划ID',
+    `tt_name`     VARCHAR(64) NOT NULL COMMENT '任务类型名称',
+    `tt_score`    BIGINT      NOT NULL COMMENT '任务类型',
+    `tt_id`       BIGINT      NOT NULL COMMENT '任务类型ID',
+    `tt_qty`      BIGINT      NOT NULL COMMENT '任务类型数量',
+    `tt_subtotal` BIGINT      NOT NULL COMMENT '任务类型小记',
+    PRIMARY KEY `pk_id` (`item_id`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4
+  COLLATE = utf8mb4_general_ci
+  ROW_FORMAT = DYNAMIC COMMENT ='执行计划详情项';
+
+
+-- ----------------------------
+-- Records of sys_impl_plan_details_item
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+
+SET FOREIGN_KEY_CHECKS = 1;

+ 13 - 12
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/constant/UpmsLevel.java

@@ -13,20 +13,21 @@ import lombok.Getter;
  */
 public final class UpmsLevel {
 
-	private UpmsLevel() {
-	}
+    private UpmsLevel() {
+    }
 
-	// 企业等级
-	@Getter
-	@AllArgsConstructor
-	public enum EnterpriseLevel {
+    // 企业等级
+    @Getter
+    @AllArgsConstructor
+    public enum EnterpriseLevel {
 
-		L1("L1", "一级"),
-		L2("L2", "二级");
+        L1("L1", "一级"),
+        L2("L2", "二级");
 
-		@EnumValue
-		private final String level;
-		private final String description;
+        @EnumValue
+        private final String level;
+        private final String description;
+
+    }
 
-	}
 }

+ 82 - 36
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/constant/UpmsState.java

@@ -13,40 +13,86 @@ import lombok.Getter;
  */
 public class UpmsState {
 
-	/**
-	 * 业务提醒已读状态
-	 *
-	 * @author lixuesong
-	 * @date 2023/10/25
-	 */
-	@Getter
-	@AllArgsConstructor
-	public enum BizReminderReadStatus {
-
-		READ("READ", "已读"),
-		UNREAD("UNREAD", "未读");
-
-		@EnumValue
-		private final String status;
-		private final String description;
-	}
-
-	/**
-	 * 积分包结算财务复核状态
-	 *
-	 * @author lixuesong
-	 * @date 2024/01/05
-	 */
-	@Getter
-	@AllArgsConstructor
-	public enum SettleFinancialReviewStatus {
-		AUTO("AUTO", "自动"),
-		TO_BE_REVIEWED("TO_BE_REVIEWED", "待复核"),
-		PASSED("PASSED", "通过"),
-		REJECTED("REJECTED", "拒绝");
-
-		@EnumValue
-		private final String status;
-		private final String description;
-	}
+    /**
+     * 业务提醒已读状态
+     *
+     * @author lixuesong
+     * @date 2023/10/25
+     */
+    @Getter
+    @AllArgsConstructor
+    public enum BizReminderReadStatus {
+
+        READ("READ", "已读"),
+        UNREAD("UNREAD", "未读");
+
+        @EnumValue
+        private final String status;
+        private final String description;
+    }
+
+    /**
+     * 积分包结算财务复核状态
+     *
+     * @author lixuesong
+     * @date 2024/01/05
+     */
+    @Getter
+    @AllArgsConstructor
+    public enum SettleFinancialReviewStatus {
+        AUTO("AUTO", "自动"),
+        TO_BE_REVIEWED("TO_BE_REVIEWED", "待复核"),
+        PASSED("PASSED", "通过"),
+        REJECTED("REJECTED", "拒绝");
+
+        @EnumValue
+        private final String status;
+        private final String description;
+    }
+
+
+    /**
+     * 执行计划类型
+     *
+     * @author ImplementPlanType
+     * @version 1.0.0
+     * @date 2024/05/19 11:22
+     */
+    @Getter
+    @AllArgsConstructor
+    public enum ImplementPlanState {
+
+        INIT("INIT", "新建"),
+        IN_PROGRESS("IN_PROGRESS", "执行中"),
+        REJECTED("REJECTED", "拒绝"),
+        PASSED("PASSED", "通过"),
+        ;
+
+        @EnumValue
+        private final String state;
+        private final String desc;
+    }
+
+    /**
+     * 执行计划类型
+     *
+     * @author ImplementPlanType
+     * @version 1.0.0
+     * @date 2024/05/19 11:22
+     */
+    @Getter
+    @AllArgsConstructor
+    public enum ImplPlanDetailsState {
+
+        INIT("INIT", "新建"),
+        CKT1("CKT1", "待审核1"),
+        CKT2("CKT2", "待审核2"),
+        REJECTED("REJECTED", "拒绝"),
+        PASSED("PASSED", "通过"),
+        ;
+
+        @EnumValue
+        private final String state;
+        private final String desc;
+    }
 }

+ 20 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/constant/UpmsType.java

@@ -303,4 +303,24 @@ public final class UpmsType {
         private final String description;
 
     }
+
+
+    /**
+     * 执行计划类型
+     *
+     * @author ImplementPlanType
+     * @version 1.0.0
+     * @date 2024/05/19 11:22
+     */
+    @Getter
+    @AllArgsConstructor
+    public enum ImplementPlanType {
+        ANN("ANN", "年度"),
+        QRT("QRT", "季度"),
+        MON("MON", "月度");
+
+        @EnumValue
+        private final String type;
+        private final String desc;
+    }
 }

+ 12 - 9
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/constant/enums/DelEnum.java

@@ -1,5 +1,10 @@
 package com.qunzhixinxi.hnqz.admin.api.constant.enums;
 
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.qunzhixinxi.hnqz.common.core.constant.CommonConstants;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
 /**
  * {@code DelEnum} 删除状态枚举
  *
@@ -8,16 +13,14 @@ package com.qunzhixinxi.hnqz.admin.api.constant.enums;
  * @date 2021-05-17
  * @since ver.1.0.0
  */
+@Getter
+@AllArgsConstructor
 public enum DelEnum {
-	NOT_DEL("0"), DELETED("1");
-
-	private String val;
+    NOT_DEL(CommonConstants.STATUS_NORMAL, "OK"),
+    DELETED(CommonConstants.STATUS_DEL, "已删除");
 
-	DelEnum(String val) {
-		this.val = val;
-	}
+    @EnumValue
+    private final String val;
+    private final String desc;
 
-	public String val() {
-		return this.val;
-	}
 }

+ 12 - 11
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/constant/enums/LockEnum.java

@@ -1,5 +1,10 @@
 package com.qunzhixinxi.hnqz.admin.api.constant.enums;
 
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.qunzhixinxi.hnqz.common.core.constant.CommonConstants;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
 /**
  * {@code LockEnum} 用户获取枚举
  *
@@ -8,18 +13,14 @@ package com.qunzhixinxi.hnqz.admin.api.constant.enums;
  * @date 2021-05-17
  * @since ver.1.0.0
  */
+@Getter
+@AllArgsConstructor
 public enum LockEnum {
-	UN_LOCK("0"),
-	LOCK("9");
-
-	private String val;
-
-	LockEnum(String val) {
-		this.val = val;
-	}
+    UN_LOCK(CommonConstants.STATUS_NORMAL, "正常"),
+    LOCK(CommonConstants.STATUS_LOCK, "锁定");
 
-	public String val() {
-		return this.val;
-	}
+    @EnumValue
+    private final String val;
+    private final String desc;
 
 }

+ 126 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/dto/SysImplementPlanDTO.java

@@ -0,0 +1,126 @@
+package com.qunzhixinxi.hnqz.admin.api.dto;
+
+import com.qunzhixinxi.hnqz.admin.api.constant.UpmsType;
+import com.qunzhixinxi.hnqz.admin.api.constant.enums.LockEnum;
+import lombok.AccessLevel;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.Max;
+import javax.validation.constraints.Min;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.time.LocalDate;
+
+/**
+ * 执行计划dto
+ *
+ * @author jimmy
+ * @version 1.0.0
+ * @date 2024/05/19 11:16
+ */
+@NoArgsConstructor(access = AccessLevel.NONE)
+public final class SysImplementPlanDTO {
+
+    @Data
+    public static class OnCreate {
+
+        /**
+         * 计划名称
+         */
+        @NotBlank(message = "计划名称必填")
+        private String planName;
+
+        /**
+         * 计划类型
+         */
+        @NotNull(message = "计划类型必填")
+        private UpmsType.ImplementPlanType planType;
+
+        /**
+         * 父ID
+         */
+        @NotNull(message = "关联计划ID必填")
+        private Long parentId;
+
+        /**
+         * 计划值
+         */
+        @NotNull(message = "计划值必填")
+        @Min(value = 0L, message = "计划值必须大于{value}")
+        private Long planScore;
+
+        /**
+         * 产品ID
+         */
+        @NotNull(message = "产品ID必填")
+        private Integer skuId;
+
+        /**
+         * 受托人ID
+         */
+        @NotNull(message = "受托人ID必填")
+        private Long consigneeId;
+
+        /**
+         * 签发时间
+         */
+        @NotNull(message = "签发时间必填")
+        private LocalDate planIssue;
+
+        /**
+         * 截止日期
+         */
+        @NotNull(message = "截止日期必填")
+        private LocalDate planExpiry;
+
+        /**
+         * 锁定标记
+         */
+        @NotNull(message = "锁定标记必填")
+        private LockEnum locFlag;
+
+    }
+
+    @Data
+    public static class OnPage {
+
+        /**
+         * 计划名称
+         */
+        private String planName;
+
+        /**
+         * 受托人ID
+         */
+        private Integer consigneeId;
+
+        /**
+         * 周期
+         */
+        private LocalDate[] period;
+
+
+        @NotNull(message = "页码必填")
+        @Min(value = 1, message = "页码最小为{value}")
+        private Integer current;
+
+        @NotNull(message = "分页数量必填")
+        @Min(value = 10, message = "分页数量最小为{value}")
+        @Max(value = 100, message = "分页数量最大为{value}")
+        private Integer size;
+    }
+
+    @Data
+    public static class OnCheck {
+
+        @NotNull(message = "计划ID必填")
+        private Integer planId;
+
+        @NotNull(message = "审核结果必填")
+        private Boolean result;
+
+        @NotBlank(message = "审核意见必填")
+        private String msg;
+    }
+}

+ 95 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/dto/SysImplementPlanDetailsDTO.java

@@ -0,0 +1,95 @@
+package com.qunzhixinxi.hnqz.admin.api.dto;
+
+import com.qunzhixinxi.hnqz.admin.api.constant.UpmsState;
+import lombok.AccessLevel;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.validation.Valid;
+import javax.validation.constraints.Min;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * 计划详情
+ *
+ * @author jimmy
+ * @version 1.0.0
+ * @date 2024/05/19 16:04
+ */
+@NoArgsConstructor(access = AccessLevel.NONE)
+public final class SysImplementPlanDetailsDTO {
+
+    @Data
+    public static class OnCreate {
+
+        @NotNull(message = "计划ID必填")
+        private Integer planId;
+
+        @NotNull(message = "总数必填")
+        private Integer qty;
+
+        @NotNull(message = "总值必填")
+        private Long total;
+
+        @Valid
+        @NotEmpty(message = "计划项信息")
+        private List<OnItemCreate> items;
+
+    }
+
+    @Data
+    public static class OnItemCreate {
+
+        /**
+         * 任务类型ID
+         */
+        @NotNull(message = "任务类型ID必填")
+        private Integer taskTypeId;
+
+        /**
+         * 任务类型数量
+         */
+        @NotNull(message = "任务类型数量必填")
+        @Min(value = 1, message = "任务类型数量最小值为{value}")
+        private Integer qty;
+
+        /**
+         * 任务类型名称
+         */
+        @NotBlank(message = "任务类型名称必填")
+        private String taskTypeName;
+
+        /**
+         * 单位得分
+         */
+        @NotNull(message = "单位得分必填")
+        private Integer score;
+
+        /**
+         * 任务类型小记
+         */
+        @NotNull(message = "任务类型小记必填")
+        @Min(value = 1, message = "任务类型小记最小值为{value}")
+        private Long subtotal;
+
+    }
+
+    @Data
+    public static class OnCheck {
+
+        @NotNull(message = "计划详情ID必填")
+        private Integer detailsId;
+
+        @NotNull(message = "审核结果必填")
+        private Boolean result;
+
+        @NotBlank(message = "审核意见必填")
+        private String msg;
+
+        @NotNull(message = "当前状态必填")
+        private UpmsState.ImplPlanDetailsState currentState;
+    }
+}

+ 138 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/entity/SysImplPlanDetails.java

@@ -0,0 +1,138 @@
+package com.qunzhixinxi.hnqz.admin.api.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.qunzhixinxi.hnqz.admin.api.constant.UpmsState;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ * 执行计划详情实体
+ *
+ * @author jimmy
+ * @version 1.0.0
+ * @date 2024/05/19 20:08
+ */
+@Data
+@TableName(value = "sys_impl_plan_details")
+public class SysImplPlanDetails implements Serializable {
+    /**
+     * 主键ID
+     */
+    @TableId(type = IdType.AUTO)
+    private Integer detailsId;
+
+    /**
+     * 计划ID
+     */
+    private Integer planId;
+
+    /**
+     * 计划任务总数
+     */
+    private Integer qty;
+
+    /**
+     * 计划总值
+     */
+    private Long total;
+
+    /**
+     * 详情状态
+     */
+    private UpmsState.ImplPlanDetailsState detailsState;
+
+    /**
+     * 审核结果
+     */
+    private Boolean cktRes1;
+
+    /**
+     * 审核意见
+     */
+    private String cktMsg1;
+
+    /**
+     * 审核时间
+     */
+    private LocalDateTime cktTime1;
+
+    /**
+     * 审核人用户名
+     */
+    private String cktName1;
+
+    /**
+     * 审核结果
+     */
+    private Boolean cktRes2;
+
+    /**
+     * 审核意见
+     */
+    private String cktMsg2;
+
+    /**
+     * 审核时间
+     */
+    private LocalDateTime cktTime2;
+
+    /**
+     * 审核人用户名
+     */
+    private String cktName2;
+
+    /**
+     * 审核结果
+     */
+    private Boolean cktRes3;
+
+    /**
+     * 审核意见
+     */
+    private String cktMsg3;
+
+    /**
+     * 审核时间
+     */
+    private LocalDateTime cktTime3;
+
+    /**
+     * 审核人用户名
+     */
+    private String cktName3;
+
+    /**
+     * 创建人
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private String createBy;
+
+    /**
+     * 修改人
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    /**
+     * 创建时间
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    /**
+     * 修改时间
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+
+}

+ 66 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/entity/SysImplPlanDetailsItem.java

@@ -0,0 +1,66 @@
+package com.qunzhixinxi.hnqz.admin.api.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 执行计划详情项实体
+ *
+ * @author jimmy
+ * @version 1.0.0
+ * @date 2024/05/19 20:08
+ */
+@Data
+@TableName(value = "sys_impl_plan_details_item")
+public class SysImplPlanDetailsItem implements Serializable {
+    /**
+     * 主键ID
+     */
+    @TableId(type = IdType.AUTO)
+    private Integer itemId;
+
+    /**
+     * 计划详情ID
+     */
+    private Integer detailsId;
+
+    /**
+     * 任务类型ID
+     */
+    @TableField(value = "tt_id")
+    private Integer taskTypeId;
+
+    /**
+     * 任务类型名称
+     */
+    @TableField(value = "tt_name")
+    private String taskTypeName;
+
+    /**
+     * 单位得分
+     */
+    @TableField(value = "tt_score")
+    private Integer score;
+
+    /**
+     * 任务类型数量
+     */
+    @TableField(value = "tt_qty")
+    private Integer qty;
+
+    /**
+     * 任务类型小记
+     */
+    @TableField(value = "tt_subtotal")
+    private Long subtotal;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+
+
+}

+ 148 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/entity/SysImplementPlan.java

@@ -0,0 +1,148 @@
+package com.qunzhixinxi.hnqz.admin.api.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.qunzhixinxi.hnqz.admin.api.constant.UpmsState;
+import com.qunzhixinxi.hnqz.admin.api.constant.UpmsType;
+import com.qunzhixinxi.hnqz.admin.api.constant.enums.DelEnum;
+import com.qunzhixinxi.hnqz.admin.api.constant.enums.LockEnum;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ * 执行计划实体
+ *
+ * @author jimmy
+ * @version 1.0.0
+ * @date 2024/05/19 11:00
+ */
+@Data
+@TableName(value = "sys_impl_plan")
+public class SysImplementPlan implements Serializable {
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(type = IdType.AUTO)
+    private Integer planId;
+
+    /**
+     * 计划名称
+     */
+    private String planName;
+
+    /**
+     * 计划类型
+     */
+    private UpmsType.ImplementPlanType planType;
+
+    /**
+     * 父ID
+     */
+    private Integer parentId;
+
+    /**
+     * 状态
+     */
+    private UpmsState.ImplementPlanState planState;
+
+    /**
+     * 计划值
+     */
+    private Long planScore;
+
+    /**
+     * 产品ID必填
+     */
+    private Integer skuId;
+
+    /**
+     * 委托人ID
+     */
+    private Integer consignorId;
+
+    /**
+     * 受托人ID
+     */
+    private Integer consigneeId;
+
+    /**
+     * 签发时间
+     */
+    private LocalDate planIssue;
+
+    /**
+     * 截止日期
+     */
+    private LocalDate planExpiry;
+
+    /**
+     * 审核结果
+     */
+    @TableField(value = "ckt_res")
+    private Boolean checkResult;
+
+    /**
+     * 审核信息
+     */
+    @TableField(value = "ckt_msg")
+    private String checkMessage;
+
+    /**
+     * 审核时间
+     */
+    @TableField(value = "ckt_time")
+    private LocalDateTime checkTime;
+
+    /**
+     * 审核人
+     */
+    @TableField(value = "ckt_name")
+    private String checker;
+
+    /**
+     * 锁定标记
+     */
+    private LockEnum locFlag;
+
+    /**
+     * 删除标记
+     */
+    @TableLogic
+    private DelEnum delFlag;
+
+    /**
+     * 创建人
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private String createBy;
+
+    /**
+     * 修改人
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    /**
+     * 创建时间
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    /**
+     * 修改时间
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+}

+ 2 - 1
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/entity/WmScoreTaskType.java

@@ -1,5 +1,6 @@
 package com.qunzhixinxi.hnqz.admin.api.entity;
 
+import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
@@ -22,7 +23,7 @@ public class WmScoreTaskType extends Model<WmScoreTaskType> {
 	/**
 	 * 主键id
 	 */
-	@TableId
+	@TableId(type = IdType.AUTO)
 	private Long id;
 	/**
 	 * 关联id

+ 47 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/vo/SysImplementPlanVO.java

@@ -0,0 +1,47 @@
+package com.qunzhixinxi.hnqz.admin.api.vo;
+
+import com.qunzhixinxi.hnqz.admin.api.entity.SysImplementPlan;
+import lombok.AccessLevel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import java.util.Map;
+
+/**
+ * 试行计划vo
+ *
+ * @author jimmy
+ * @version 1.0.0
+ * @date 2024/05/19 12:13
+ */
+@NoArgsConstructor(access = AccessLevel.NONE)
+public final class SysImplementPlanVO {
+
+    @Data
+    @EqualsAndHashCode(callSuper = false)
+    public static class ToPage extends SysImplementPlan {
+
+        /**
+         * 执行包积分值
+         */
+        private Long execScoreValue;
+
+        /**
+         * 承接人信息
+         */
+        private Map<String, Object> consigneeInfo;
+
+        /**
+         * 产品信息
+         */
+        private Map<String, Object> skuInfo;
+
+        /**
+         * 计划详情
+         */
+        private Integer planDetailId;
+
+
+    }
+}

+ 11 - 11
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/ApiController.java

@@ -1130,7 +1130,7 @@ public class ApiController {
             Set<Integer> allUserIds = sysUserList.stream().map(UserVO::getUserId).collect(Collectors.toSet());
             //SysUserExtRecord userExtRecord = sysUserExtRecordService.getOne(Wrappers.<SysUserExtRecord>lambdaQuery()
             //		.in(SysUserExtRecord::getUserId, allUserIds)
-            //		.eq(SysUserExtRecord::getDelFlag, DelEnum.NOT_DEL.val())
+            //		.eq(SysUserExtRecord::getDelFlag, DelEnum.NOT_DEL.getVal())
             //		.last("limit 1"));
             //if (userExtRecord != null) {
             //	mapOne.put("existEidResult", true);
@@ -1152,13 +1152,13 @@ public class ApiController {
             mapOne.put("signedAgreement", agreementSet);
 //			int honestAgreementCount = sysUserService.count(Wrappers.<SysUser>lambdaQuery()
 //					.eq(SysUser::getUsername, sysU.getUsername())
-//					.eq(SysUser::getDelFlag, DelEnum.NOT_DEL.val())
+//					.eq(SysUser::getDelFlag, DelEnum.NOT_DEL.getVal())
 //					.like(SysUser::getSignAgreement, SignAgreementDTO.SignAgreementType.HONEST_AGREEMENT.getType()));
 //			mapOne.put("signHonestAgreement", honestAgreementCount > 0);
 //			// 签署协议信息V2
 //			int honestAgreementV2Count = sysUserService.count(Wrappers.<SysUser>lambdaQuery()
 //					.eq(SysUser::getUsername, sysU.getUsername())
-//					.eq(SysUser::getDelFlag, DelEnum.NOT_DEL.val())
+//					.eq(SysUser::getDelFlag, DelEnum.NOT_DEL.getVal())
 //					.like(SysUser::getSignAgreement, SignAgreementDTO.SignAgreementType.HONEST_AGREEMENT_V2.getType()));
 //			mapOne.put("signHonestAgreementV2", honestAgreementV2Count > 0);
 
@@ -2205,7 +2205,7 @@ public class ApiController {
                     List<WmTask> wmTaskList = wmTaskService.list(Wrappers.query(wmTask)
                             .lambda()
                             .eq(WmTask::getRealFlag, "0")
-                            .eq(WmTask::getDelFlag, DelEnum.NOT_DEL.val())
+                            .eq(WmTask::getDelFlag, DelEnum.NOT_DEL.getVal())
                             .ne(WmTask::getTaskStatus, "4"));
                     item.setTaskFinishNum(wmTaskList.size());
                     item.setSpeedProgress(0);
@@ -2578,7 +2578,7 @@ public class ApiController {
                         .eq(WmTask::getTaskUserId, wmTask.getTaskUserId())
                         .ne(WmTask::getScore, 0)
                         .eq(WmTask::getRealFlag, "0")
-                        .eq(WmTask::getDelFlag, DelEnum.NOT_DEL.val())
+                        .eq(WmTask::getDelFlag, DelEnum.NOT_DEL.getVal())
                         .orderByDesc(WmTask::getCreateTime));
 
         List<WmTask> wmTaskList = taskPage.getRecords();
@@ -2811,7 +2811,7 @@ public class ApiController {
                                 List<SysDictItem> itemList = sysDictItemService.list(Wrappers.<SysDictItem>lambdaQuery()
                                         .in(SysDictItem::getValue, purposeList)
                                         .eq(SysDictItem::getType, dictType)
-                                        .eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.val()));
+                                        .eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.getVal()));
                                 if (CollUtil.isNotEmpty(itemList)) {
                                     String[] purposeNameArr = itemList.stream()
                                             .map(SysDictItem::getLabel)
@@ -4281,7 +4281,7 @@ public class ApiController {
         // 查询taskType
         List<WmTaskType> taskTypeList = wmTaskTypeService.list(Wrappers.<WmTaskType>lambdaQuery()
                 .eq(WmTaskType::getTaskTypeLevel, "1")
-                .eq(WmTaskType::getDelFlag, DelEnum.NOT_DEL.val())
+                .eq(WmTaskType::getDelFlag, DelEnum.NOT_DEL.getVal())
                 .eq(WmTaskType::getEnableFlag, EnableEnum.ENABLE.val()));
         // taskType通过id分组(key为parentId,value为taskTypeId的set)
         Map<String, String> taskTypeIdMap = taskTypeList.stream()
@@ -4292,7 +4292,7 @@ public class ApiController {
                 .in(WmTask::getScorePackageId, packageIds)
                 .eq(WmTask::getTaskUserId, userId)
                 .eq(WmTask::getTaskStatus, TaskStatusEnum.APPROVED.val())
-                .eq(WmTask::getDelFlag, DelEnum.NOT_DEL.val())
+                .eq(WmTask::getDelFlag, DelEnum.NOT_DEL.getVal())
                 .eq(WmTask::getEnableFlag, EnableEnum.ENABLE.val()));
         List<PersonalScoreRecordVO> recordVOS = new ArrayList<>();
         wmTaskPage.getRecords().forEach(wmTask -> {
@@ -4363,7 +4363,7 @@ public class ApiController {
         String username = SecurityUtils.getUser().getUsername();
         List<SysUser> userList = sysUserService.list(Wrappers.<SysUser>lambdaQuery()
                 .eq(SysUser::getUsername, username)
-                .eq(SysUser::getDelFlag, DelEnum.NOT_DEL.val()));
+                .eq(SysUser::getDelFlag, DelEnum.NOT_DEL.getVal()));
 
 
         for (SysUser user : userList) {
@@ -4545,14 +4545,14 @@ public class ApiController {
         // 完成任务量
         int finishTaskCount = wmTaskService.count(Wrappers.<WmTask>lambdaQuery()
                 .eq(WmTask::getTaskUserId, userId)
-                .eq(WmTask::getDelFlag, DelEnum.NOT_DEL.val())
+                .eq(WmTask::getDelFlag, DelEnum.NOT_DEL.getVal())
                 .eq(WmTask::getRealFlag, "0")
                 .ne(WmTask::getTaskStatus, TaskStatusEnum.INIT.val())
                 .gt(WmTask::getScore, 0));
         // 审核通过任务量
         int approvedTaskCount = wmTaskService.count(Wrappers.<WmTask>lambdaQuery()
                 .eq(WmTask::getTaskUserId, userId)
-                .eq(WmTask::getDelFlag, DelEnum.NOT_DEL.val())
+                .eq(WmTask::getDelFlag, DelEnum.NOT_DEL.getVal())
                 .eq(WmTask::getRealFlag, "0")
                 .eq(WmTask::getTaskStatus, TaskStatusEnum.APPROVED.val())
                 .gt(WmTask::getScore, 0));

+ 8 - 8
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/InitController.java

@@ -92,7 +92,7 @@ public class InitController {
             WmDaDrugEnt wmDaDrugEnt = wmDaDrugEntMapper.selectOne(Wrappers.<WmDaDrugEnt>lambdaQuery()
                     .eq(WmDaDrugEnt::getDeptId, dept.getDeptId())
 //					.eq(WmDaDrugEnt::getEnableFlag, EnableEnum.ENABLE.val())
-                    .eq(WmDaDrugEnt::getDelFlag, DelEnum.NOT_DEL.val()));
+                    .eq(WmDaDrugEnt::getDelFlag, DelEnum.NOT_DEL.getVal()));
             if (wmDaDrugEnt == null) {
                 continue;
             }
@@ -133,12 +133,12 @@ public class InitController {
             List<SysDept> oneCSODeptList = sysDeptMapper.selectByIds(oneCSODeptIdList);
 //			List<SysDept> oneCSODeptList = sysDeptMapper.selectList(Wrappers.<SysDept>lambdaQuery()
 //					.eq(SysDept::getParentId, dept.getDeptId())
-//					.eq(SysDept::getDelFlag, DelEnum.NOT_DEL.val())
+//					.eq(SysDept::getDelFlag, DelEnum.NOT_DEL.getVal())
 //					.eq(SysDept::getLevel, 3));
             for (SysDept oneCSODept : oneCSODeptList) {
                 // 生成药企给一级CSO的任务类型
                 WmDaAgent wmDaAgent = wmDaAgentMapper.selectOne(Wrappers.<WmDaAgent>lambdaQuery()
-                        .eq(WmDaAgent::getDelFlag, DelEnum.NOT_DEL.val())
+                        .eq(WmDaAgent::getDelFlag, DelEnum.NOT_DEL.getVal())
 //						.eq(WmDaAgent::getEnableFlag, EnableEnum.ENABLE.val())
                         .eq(WmDaAgent::getDeptId, oneCSODept.getDeptId()));
                 if (wmDaAgent == null) {
@@ -194,12 +194,12 @@ public class InitController {
                 // 查询二级CSO
                 List<SysDept> twoCSODeptList = sysDeptMapper.selectList(Wrappers.<SysDept>lambdaQuery()
                         .eq(SysDept::getParentId, oneCSODept.getDeptId())
-//						.eq(SysDept::getDelFlag, DelEnum.NOT_DEL.val())
+//						.eq(SysDept::getDelFlag, DelEnum.NOT_DEL.getVal())
                         .eq(SysDept::getLevel, 4));
                 for (SysDept twoCSODept : twoCSODeptList) {
                     // 生成二级CSO任务类型
                     WmDaAgent wmDaAgent2 = wmDaAgentMapper.selectOne(Wrappers.<WmDaAgent>lambdaQuery()
-                            .eq(WmDaAgent::getDelFlag, DelEnum.NOT_DEL.val())
+                            .eq(WmDaAgent::getDelFlag, DelEnum.NOT_DEL.getVal())
 //							.eq(WmDaAgent::getEnableFlag, EnableEnum.ENABLE.val())
                             .eq(WmDaAgent::getDeptId, twoCSODept.getDeptId()));
                     if (wmDaAgent2 == null) {
@@ -248,7 +248,7 @@ public class InitController {
         for (SysDept oneCSODept : deptList2) {
             // 生成药企给一级CSO的任务类型
             WmDaAgent wmDaAgent = wmDaAgentMapper.selectOne(Wrappers.<WmDaAgent>lambdaQuery()
-                    .eq(WmDaAgent::getDelFlag, DelEnum.NOT_DEL.val())
+                    .eq(WmDaAgent::getDelFlag, DelEnum.NOT_DEL.getVal())
 //					.eq(WmDaAgent::getEnableFlag, EnableEnum.ENABLE.val())
                     .eq(WmDaAgent::getDeptId, oneCSODept.getDeptId()));
             if (wmDaAgent == null) {
@@ -281,12 +281,12 @@ public class InitController {
             // 查询二级CSO
             List<SysDept> twoCSODeptList = sysDeptMapper.selectList(Wrappers.<SysDept>lambdaQuery()
                     .eq(SysDept::getParentId, oneCSODept.getDeptId())
-//					.eq(SysDept::getDelFlag, DelEnum.NOT_DEL.val())
+//					.eq(SysDept::getDelFlag, DelEnum.NOT_DEL.getVal())
                     .eq(SysDept::getLevel, 4));
             for (SysDept twoCSODept : twoCSODeptList) {
                 // 生成二级CSO任务类型
                 WmDaAgent wmDaAgent2 = wmDaAgentMapper.selectOne(Wrappers.<WmDaAgent>lambdaQuery()
-                        .eq(WmDaAgent::getDelFlag, DelEnum.NOT_DEL.val())
+                        .eq(WmDaAgent::getDelFlag, DelEnum.NOT_DEL.getVal())
 //						.eq(WmDaAgent::getEnableFlag, EnableEnum.ENABLE.val())
                         .eq(WmDaAgent::getDeptId, twoCSODept.getDeptId()));
                 if (wmDaAgent2 == null) {

+ 2 - 2
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/SysDeptController.java

@@ -468,7 +468,7 @@ public class SysDeptController {
         Integer deptId = SecurityUtils.getUser().getDeptId();
         List<WmDeptRegulations> list = wmDeptRegulationsService.list(Wrappers.<WmDeptRegulations>lambdaQuery()
                 .eq(WmDeptRegulations::getDeptId, deptId)
-                .eq(WmDeptRegulations::getDelFlag, DelEnum.NOT_DEL.val()));
+                .eq(WmDeptRegulations::getDelFlag, DelEnum.NOT_DEL.getVal()));
         list.sort((o1, o2) -> {
             if (o1.getSort() > 0 && o2.getSort() > 0) {
                 return o1.getSort() - o2.getSort();
@@ -665,7 +665,7 @@ public class SysDeptController {
         // 后保存
         list.forEach(regulations -> {
             regulations.setDeptId(deptId);
-            regulations.setDelFlag(DelEnum.NOT_DEL.val());
+            regulations.setDelFlag(DelEnum.NOT_DEL.getVal());
         });
 
         return R.ok(wmDeptRegulationsService.saveBatch(list));

+ 3 - 3
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/SysDeptRechargeController.java

@@ -134,7 +134,7 @@ public class SysDeptRechargeController {
         Integer deptId = SecurityUtils.getUser().getDeptId();
         SysDeptRecharge deptRecharge = deptRechargeService.getOne(Wrappers.<SysDeptRecharge>lambdaQuery()
                 .eq(SysDeptRecharge::getDeptId, deptId)
-                .eq(SysDeptRecharge::getDelFlag, DelEnum.NOT_DEL.val()));
+                .eq(SysDeptRecharge::getDelFlag, DelEnum.NOT_DEL.getVal()));
 
         Map<String, Integer> result = new HashMap<>(4);
         if (deptRecharge == null) {
@@ -148,7 +148,7 @@ public class SysDeptRechargeController {
             // 本月消耗积分
             List<SysDeptRechargeRecord> usedRecords = deptRechargeRecordService.list(Wrappers.<SysDeptRechargeRecord>lambdaQuery()
                     .eq(SysDeptRechargeRecord::getDeptId, deptId)
-                    .eq(SysDeptRechargeRecord::getDelFlag, DelEnum.NOT_DEL.val()));
+                    .eq(SysDeptRechargeRecord::getDelFlag, DelEnum.NOT_DEL.getVal()));
             int usedScore = usedRecords.stream().mapToInt(SysDeptRechargeRecord::getChangeScore).sum();
             result.put("usedScore", Math.abs(usedScore));
 
@@ -168,7 +168,7 @@ public class SysDeptRechargeController {
             LocalDateTime endTime = nowDate.plusMonths(1L).with(TemporalAdjusters.firstDayOfMonth()).atStartOfDay();
             List<SysDeptInvoice> monthInvoices = deptInvoiceService.list(Wrappers.<SysDeptInvoice>lambdaQuery()
                     .eq(SysDeptInvoice::getDeptId, deptId)
-                    .eq(SysDeptInvoice::getDelFlag, DelEnum.NOT_DEL.val())
+                    .eq(SysDeptInvoice::getDelFlag, DelEnum.NOT_DEL.getVal())
                     .eq(SysDeptInvoice::getApprovalStatus, InvoiceApprovalStatus.PASSED)
                     .between(SysDeptInvoice::getApprovalTime, startTime, endTime));
             if (CollUtil.isNotEmpty(monthInvoices)) {

+ 77 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/SysImplementPlanController.java

@@ -0,0 +1,77 @@
+package com.qunzhixinxi.hnqz.admin.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.qunzhixinxi.hnqz.admin.api.dto.SysImplementPlanDTO;
+import com.qunzhixinxi.hnqz.admin.api.dto.SysImplementPlanDetailsDTO;
+import com.qunzhixinxi.hnqz.admin.api.entity.SysImplPlanDetails;
+import com.qunzhixinxi.hnqz.admin.manager.SysImplementPlanManager;
+import com.qunzhixinxi.hnqz.common.core.util.R;
+import com.qunzhixinxi.hnqz.common.log.annotation.SysLog;
+import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+/**
+ * 执行计划前端控制器
+ *
+ * @author jimmy
+ * @version 1.0.0
+ * @date 2024/05/19 11:42
+ */
+@RestController
+@AllArgsConstructor
+public class SysImplementPlanController {
+
+    private final SysImplementPlanManager implementPlanManager;
+
+
+    @SysLog(value = "创建执行计划")
+    @PostMapping(value = "/plan/create")
+    public R<Boolean> createPlan(@Validated @RequestBody SysImplementPlanDTO.OnCreate resource) {
+
+        return R.ok(implementPlanManager.createPlan(resource, SecurityUtils.getUser()));
+
+    }
+
+
+    @GetMapping(value = "/plan/page")
+    public R<Page<?>> pagePlans(@Validated SysImplementPlanDTO.OnPage query) {
+
+        return R.ok(implementPlanManager.pagePlans(query, SecurityUtils.getUser()));
+    }
+
+
+    @SysLog(value = "审核计划")
+    @PostMapping(value = "/plan/check")
+    public R<Boolean> checkPlans(@Validated @RequestBody SysImplementPlanDTO.OnCheck resource) {
+
+        return R.ok(implementPlanManager.checkPlan(resource, SecurityUtils.getUser()));
+    }
+
+
+    @SysLog(value = "创建计划详情")
+    @PostMapping(value = "/plan/details/create")
+    public R<Boolean> createDetails(@Validated @RequestBody SysImplementPlanDetailsDTO.OnCreate resource) {
+        return R.ok(implementPlanManager.createPlanDetails(resource, SecurityUtils.getUser()));
+    }
+
+    @SysLog(value = "审核计划详情")
+    @PostMapping(value = "/plan/details/check")
+    public R<Boolean> checkPlanDetails(@Validated @RequestBody SysImplementPlanDetailsDTO.OnCheck resource) {
+
+        return R.ok(implementPlanManager.checkPlanDetails(resource, SecurityUtils.getUser()));
+    }
+
+    @GetMapping(value = "/plan/details/{details_id}")
+    public R<Map<String, Object>> getPlanDetails(@PathVariable(value = "details_id") Integer detailsId){
+        return  R.ok(implementPlanManager.getPlanDetails(detailsId));
+    }
+
+}

+ 1 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/SysUserController.java

@@ -797,7 +797,7 @@ public class SysUserController {
             Integer count = sysUserMapper.selectCount(Wrappers.<SysUser>lambdaQuery()
                     .eq(SysUser::getUsername, userDto.getUsername())
                     .eq(SysUser::getDeptId, userDto.getDeptId())
-                    .eq(SysUser::getDelFlag, DelEnum.NOT_DEL.val()));
+                    .eq(SysUser::getDelFlag, DelEnum.NOT_DEL.getVal()));
             if (count > 0) {
                 if (userDto.getRole().contains(6) && userDto.getRole().contains(4) || userDto.getRole().contains(37)) {
                     return R.failed("用户不能同时为经销商管理员角色和兼职学术推广员角色");

+ 1 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmDaAgentController.java

@@ -555,7 +555,7 @@ public class WmDaAgentController {
         } else {
             // 查询药企
             Wrapper<WmDaDrugEnt> queryWrapper = Wrappers.<WmDaDrugEnt>lambdaQuery()
-                    .eq(WmDaDrugEnt::getDelFlag, DelEnum.NOT_DEL.val())
+                    .eq(WmDaDrugEnt::getDelFlag, DelEnum.NOT_DEL.getVal())
                     .eq(WmDaDrugEnt::getEnableFlag, EnableEnum.ENABLE.val());
             List<WmDaDrugEnt> drugEntList = wmDaDrugEntService.list(queryWrapper);
             if (CollectionUtil.isNotEmpty(drugEntList)) {

+ 8 - 8
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmDaDrugEntDrugtableController.java

@@ -101,19 +101,19 @@ public class WmDaDrugEntDrugtableController {
 			});
 		}
 
-		queryWrapper.eq("del_flag", DelEnum.NOT_DEL.val());
+		queryWrapper.eq("del_flag", DelEnum.NOT_DEL.getVal());
 		wmDaDrugEntDrugtableService.page(page, queryWrapper);
 
 		if (CollUtil.isNotEmpty(page.getRecords())) {
 			// 剂型字典
 			List<SysDictItem> doseDictItems = sysDictItemService.list(Wrappers.<SysDictItem>lambdaQuery()
 					.eq(SysDictItem::getType, "dose")
-					.eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.val()));
+					.eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.getVal()));
 			Map<String, String> doseMap = doseDictItems.stream().collect(Collectors.toMap(SysDictItem::getValue, SysDictItem::getLabel));
 			// 剂型字典
 			List<SysDictItem> guigeDictItems = sysDictItemService.list(Wrappers.<SysDictItem>lambdaQuery()
 					.eq(SysDictItem::getType, "guige")
-					.eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.val()));
+					.eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.getVal()));
 			Map<String, String> guigeMap = guigeDictItems.stream().collect(Collectors.toMap(SysDictItem::getValue, SysDictItem::getLabel));
 
 			page.getRecords().forEach(record -> {
@@ -145,12 +145,12 @@ public class WmDaDrugEntDrugtableController {
 			// 剂型字典
 			List<SysDictItem> doseDictItems = sysDictItemService.list(Wrappers.<SysDictItem>lambdaQuery()
 					.eq(SysDictItem::getType, "dose")
-					.eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.val()));
+					.eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.getVal()));
 			Map<String, String> doseMap = doseDictItems.stream().collect(Collectors.toMap(SysDictItem::getValue, SysDictItem::getLabel));
 			// 剂型字典
 			List<SysDictItem> guigeDictItems = sysDictItemService.list(Wrappers.<SysDictItem>lambdaQuery()
 					.eq(SysDictItem::getType, "guige")
-					.eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.val()));
+					.eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.getVal()));
 			Map<String, String> guigeMap = guigeDictItems.stream().collect(Collectors.toMap(SysDictItem::getValue, SysDictItem::getLabel));
 
 			if (StrUtil.isNotBlank(drugEntDrugtable.getDoseId()) && StrUtil.isBlank(drugEntDrugtable.getDoseName())) {
@@ -254,12 +254,12 @@ public class WmDaDrugEntDrugtableController {
 			// 剂型字典
 			List<SysDictItem> doseDictItems = sysDictItemService.list(Wrappers.<SysDictItem>lambdaQuery()
 					.eq(SysDictItem::getType, "dose")
-					.eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.val()));
+					.eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.getVal()));
 			Map<String, String> doseMap = doseDictItems.stream().collect(Collectors.toMap(SysDictItem::getValue, SysDictItem::getLabel));
 			// 剂型字典
 			List<SysDictItem> guigeDictItems = sysDictItemService.list(Wrappers.<SysDictItem>lambdaQuery()
 					.eq(SysDictItem::getType, "guige")
-					.eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.val()));
+					.eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.getVal()));
 			Map<String, String> guigeMap = guigeDictItems.stream().collect(Collectors.toMap(SysDictItem::getValue, SysDictItem::getLabel));
 
 			list.forEach(drugEntDrugtable -> {
@@ -336,7 +336,7 @@ public class WmDaDrugEntDrugtableController {
 	@GetMapping("/list-drug")
 	public R<?> listDrugByDeptId() {
 		Integer deptId = SecurityUtils.getUser().getDeptId();
-		return R.ok(wmDaDrugEntDrugtableService.listDrugByDeptId(deptId));
+		return R.ok(wmDaDrugEntDrugtableService.listDrugByDeptId(Collections.singleton(deptId)));
 	}
 
 }

+ 4 - 4
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmDeptTaskController.java

@@ -104,7 +104,7 @@ public class WmDeptTaskController {
 		// 查询taskType
 		List<WmTaskType> taskTypeList = wmTaskTypeService.list(Wrappers.<WmTaskType>lambdaQuery()
 				.eq(WmTaskType::getTaskTypeLevel, "1")
-				.eq(WmTaskType::getDelFlag, DelEnum.NOT_DEL.val())
+				.eq(WmTaskType::getDelFlag, DelEnum.NOT_DEL.getVal())
 				.eq(WmTaskType::getEnableFlag, EnableEnum.ENABLE.val()));
 
 		// 个人任务类型id
@@ -123,7 +123,7 @@ public class WmDeptTaskController {
 		// 查询所有审核通过的任务
 		List<WmTask> taskList = wmTaskService.list(Wrappers.<WmTask>lambdaQuery()
 				.in(WmTask::getScorePackageId, allPackageIds)
-				.eq(WmTask::getDelFlag, DelEnum.NOT_DEL.val())
+				.eq(WmTask::getDelFlag, DelEnum.NOT_DEL.getVal())
 				.eq(WmTask::getEnableFlag, EnableEnum.ENABLE.val())
 				.eq(WmTask::getTaskStatus, TaskStatusEnum.APPROVED.val()));
 
@@ -207,7 +207,7 @@ public class WmDeptTaskController {
             List<WmTask> queryTaskList = wmTaskService.list(Wrappers.<WmTask>lambdaQuery()
                     .in(WmTask::getScorePackageId, packageIdSet)
                     .eq(WmTask::getEnableFlag, EnableEnum.ENABLE.val())
-                    .eq(WmTask::getDelFlag, DelEnum.NOT_DEL.val())
+                    .eq(WmTask::getDelFlag, DelEnum.NOT_DEL.getVal())
                     .eq(WmTask::getTaskStatus, TaskStatusEnum.APPROVED.val()));
             Map<String, Integer> packageTasksScoreMap = new HashMap<>();
             if (CollUtil.isNotEmpty(queryTaskList)) {
@@ -261,7 +261,7 @@ public class WmDeptTaskController {
         LambdaQueryWrapper<WmScorePackage> queryWrapper = Wrappers.<WmScorePackage>lambdaQuery()
                 .eq(WmScorePackage::getDeptId, deptId)
                 .in(WmScorePackage::getTypeid, "0", "1", "2")
-                .eq(WmScorePackage::getDelFlag, DelEnum.NOT_DEL.val())
+                .eq(WmScorePackage::getDelFlag, DelEnum.NOT_DEL.getVal())
                 .eq(WmScorePackage::getEnableFlag, EnableEnum.ENABLE.val())
                 .eq(WmScorePackage::getOldPackage, "0");
         if (StrUtil.isNotBlank(scorePackageName)) {

+ 10 - 6
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmScorePackageController.java

@@ -1952,7 +1952,7 @@ public class WmScorePackageController {
             //一级cso规则ID
             WmDaAgent daAgent = wmDaAgentService.getOne(Wrappers.<WmDaAgent>lambdaQuery()
                     .eq(WmDaAgent::getEnableFlag, EnableEnum.ENABLE.val())
-                    .eq(WmDaAgent::getDelFlag, DelEnum.NOT_DEL.val())
+                    .eq(WmDaAgent::getDelFlag, DelEnum.NOT_DEL.getVal())
                     .eq(WmDaAgent::getDeptId, String.valueOf(sysDeptRuleId.getDeptId())));
             if (StringUtils.isNotBlank(wmScorePackage.getRelationScoreId())) {
                 // 关联了积分包的情况
@@ -2027,7 +2027,9 @@ public class WmScorePackageController {
                     return wmScoreTaskType;
                 }).collect(Collectors.toList());
                 wmScoreTaskTypeService.deleteByScoreId(wmScorePackage.getId());
-                wmScoreTaskTypeService.batchInsertType(scoreTaskTypes);
+                // todo
+                wmScoreTaskTypeService.saveBatch(scoreTaskTypes);
+                //wmScoreTaskTypeService.batchInsertType(scoreTaskTypes);
             }
         }
 
@@ -2321,7 +2323,7 @@ public class WmScorePackageController {
                 //一级cso规则ID
                 WmDaAgent daAgent = wmDaAgentService.getOne(Wrappers.<WmDaAgent>lambdaQuery()
                         .eq(WmDaAgent::getEnableFlag, EnableEnum.ENABLE.val())
-                        .eq(WmDaAgent::getDelFlag, DelEnum.NOT_DEL.val())
+                        .eq(WmDaAgent::getDelFlag, DelEnum.NOT_DEL.getVal())
                         .eq(WmDaAgent::getDeptId, String.valueOf(sysDeptRuleId.getDeptId())));
                 if (StringUtils.isNotBlank(wmScorePackage.getRelationScoreId())) {
                     // 关联了积分包的情况
@@ -2514,7 +2516,9 @@ public class WmScorePackageController {
                 }
             }
             wmScoreTaskTypeService.deleteByScoreId(wmScorePackage.getId());
-            wmScoreTaskTypeService.batchInsertType(wmScoreTaskTypess);
+            //todo
+            //wmScoreTaskTypeService.batchInsertType(wmScoreTaskTypess);
+                    wmScoreTaskTypeService.saveBatch(wmScoreTaskTypess);
         }
 
         // 查询原积分包值
@@ -2737,7 +2741,7 @@ public class WmScorePackageController {
                 List<WmTeam> teamList = wmTeamService.list(Wrappers.<WmTeam>lambdaQuery()
                         .eq(WmTeam::getDeptId, deptId)
                         .eq(WmTeam::getEnableFlag, EnableEnum.ENABLE.val())
-                        .eq(WmTeam::getDelFlag, DelEnum.NOT_DEL.val())
+                        .eq(WmTeam::getDelFlag, DelEnum.NOT_DEL.getVal())
                         .apply("FIND_IN_SET({0}, leader)", String.valueOf(userId)));
                 if (CollectionUtil.isNotEmpty(teamList)) {
                     // 如果配置了,则只查询所在团队下发的积分包
@@ -3047,7 +3051,7 @@ public class WmScorePackageController {
                 List<WmTeam> teamList = wmTeamService.list(Wrappers.<WmTeam>lambdaQuery()
                         .eq(WmTeam::getDeptId, deptId)
                         .eq(WmTeam::getEnableFlag, EnableEnum.ENABLE.val())
-                        .eq(WmTeam::getDelFlag, DelEnum.NOT_DEL.val())
+                        .eq(WmTeam::getDelFlag, DelEnum.NOT_DEL.getVal())
                         .apply("FIND_IN_SET({0}, leader)", String.valueOf(userId)));
                 if (CollectionUtil.isNotEmpty(teamList)) {
                     // 如果配置了,则只查询所在团队下发的积分包

+ 1 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmScorePackageStatusController.java

@@ -67,7 +67,7 @@ public class WmScorePackageStatusController {
 		List<WmTeam> teamList = wmTeamService.list(Wrappers.<WmTeam>lambdaQuery()
 				.eq(WmTeam::getDeptId, deptId)
 				.eq(WmTeam::getEnableFlag, EnableEnum.ENABLE.val())
-				.eq(WmTeam::getDelFlag, DelEnum.NOT_DEL.val())
+				.eq(WmTeam::getDelFlag, DelEnum.NOT_DEL.getVal())
 				.apply("FIND_IN_SET({0}, leader)", String.valueOf(userId)));
 		if (CollectionUtil.isNotEmpty(teamList)) {
 			// 如果配置了,则只查询所在团队下发的积分包

+ 5 - 5
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmTaskController.java

@@ -1207,7 +1207,7 @@ public class WmTaskController {
             queryWrapper.eq("t.task_status", taskStatus.val());
         }
         queryWrapper.eq("t.score_package_id", packageId);
-        queryWrapper.eq("t.del_flag", DelEnum.NOT_DEL.val());
+        queryWrapper.eq("t.del_flag", DelEnum.NOT_DEL.getVal());
         queryWrapper.eq("t.real_flag", "0");
         queryWrapper.orderByDesc("t.lookinto_date");
         IPage<WmTask> taskIPage = wmTaskMapper.listWmTaskByWrapper(new Page<>(page.getCurrent(), page.getSize()), queryWrapper);
@@ -1252,7 +1252,7 @@ public class WmTaskController {
         }
         queryWrapper.eq("task_status", TaskStatusEnum.UNDER_REVIEW.val());
         queryWrapper.eq("score_package_id", packageId);
-        queryWrapper.eq("del_flag", DelEnum.NOT_DEL.val());
+        queryWrapper.eq("del_flag", DelEnum.NOT_DEL.getVal());
         queryWrapper.eq("real_flag", "0");
         queryWrapper.orderByDesc("lookinto_date");
         List<WmTask> taskList = wmTaskMapper.selectList(queryWrapper);
@@ -1292,7 +1292,7 @@ public class WmTaskController {
                 // 拜访目的字典值
                 List<SysDictItem> itemList = sysDictItemService.list(Wrappers.<SysDictItem>lambdaQuery()
                         .in(SysDictItem::getType, "user_sign_detail_purpose", "user_sign_detail_distribution_purpose", "user_sign_detail_pharmacy_purpose")
-                        .eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.val()));
+                        .eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.getVal()));
                 userSignPurposeMap.putAll(itemList.stream().collect(Collectors.groupingBy(SysDictItem::getType)));
             }
 
@@ -1317,7 +1317,7 @@ public class WmTaskController {
             queryConn.setEnableFlag("0");
             List<WmTaskContentConfig> listConfig =
                     wmTaskContentConfigService.list(Wrappers.<WmTaskContentConfig>lambdaQuery()
-                            .eq(WmTaskContentConfig::getDelFlag, DelEnum.NOT_DEL.val())
+                            .eq(WmTaskContentConfig::getDelFlag, DelEnum.NOT_DEL.getVal())
                             .eq(WmTaskContentConfig::getEnableFlag, EnableEnum.ENABLE.val())
                             .in(WmTaskContentConfig::getTaskTypeId, configedTaskTypeId));
             Map<String, List<WmTaskContentConfig>> taskContentConfigMap = new HashMap<>();
@@ -1332,7 +1332,7 @@ public class WmTaskController {
                 if (CollUtil.isNotEmpty(selectDictSet)) {
                     List<SysDictItem> selectItemList = sysDictItemService.list(Wrappers.<SysDictItem>lambdaQuery()
                             .in(SysDictItem::getType, selectDictSet)
-                            .eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.val()));
+                            .eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.getVal()));
                     selectItemMap.putAll(selectItemList.stream().collect(Collectors.groupingBy(SysDictItem::getType)));
                 }
             }

+ 1 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmTaskSubmissionRuleController.java

@@ -86,7 +86,7 @@ public class WmTaskSubmissionRuleController {
 		List<WmTaskType> taskTypeList = wmTaskTypeService.list(Wrappers.<WmTaskType>lambdaQuery()
 				.eq(WmTaskType::getTaskTypeLevel, "1")
 				.eq(WmTaskType::getStatus, "0")
-				.eq(WmTaskType::getDelFlag, DelEnum.NOT_DEL.val()));
+				.eq(WmTaskType::getDelFlag, DelEnum.NOT_DEL.getVal()));
 		Map<String, String> baseTaskTypeMap = taskTypeList.stream()
 				.collect(Collectors.toMap(WmTaskType::getTaskTypeName, WmTaskType::getId));
 

+ 2 - 2
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmTaskTypeController.java

@@ -155,7 +155,7 @@ public class WmTaskTypeController {
         if (StrUtil.isNotBlank(wmTaskType.getEnableFlag())) {
             queryWrapper.eq(WmTaskType::getEnableFlag, wmTaskType.getEnableFlag());
         }
-        queryWrapper.eq(WmTaskType::getDelFlag, DelEnum.NOT_DEL.val());
+        queryWrapper.eq(WmTaskType::getDelFlag, DelEnum.NOT_DEL.getVal());
 
         Page<WmTaskType> pageResult = wmTaskTypeService.page(page, queryWrapper);
         Page<WmTaskTypeVO> voPage = new Page<>();
@@ -226,7 +226,7 @@ public class WmTaskTypeController {
         List<String> noDisplayTaskTypeNameList = Arrays.asList("专家咨询", "受试者管理", "医学撰写", "受试者招募", "数据管理",
                 "统计分析", "临床监察", "通用", "患者教育");
         queryWrapper.notIn(WmTaskType::getTaskTypeName, noDisplayTaskTypeNameList);
-        queryWrapper.eq(WmTaskType::getDelFlag, DelEnum.NOT_DEL.val());
+        queryWrapper.eq(WmTaskType::getDelFlag, DelEnum.NOT_DEL.getVal());
 
         Page<WmTaskType> pageResult = wmTaskTypeService.page(page, queryWrapper);
 

+ 13 - 13
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmTeamController.java

@@ -80,7 +80,7 @@ public class WmTeamController {
 			return R.failed("团队名称不能包含空格");
 		}
 		int count = wmTeamService.count(Wrappers.<WmTeam>lambdaQuery()
-				.eq(WmTeam::getDelFlag, DelEnum.NOT_DEL.val())
+				.eq(WmTeam::getDelFlag, DelEnum.NOT_DEL.getVal())
 				.eq(WmTeam::getName, wmTeam.getName()));
 		if (count > 0) {
 			return R.failed("团队名称已存在");
@@ -91,7 +91,7 @@ public class WmTeamController {
 		if (wmTeam.getLeader() != null) {
 			wmTeam.setEnableFlag(EnableEnum.ENABLE.val());
 		}
-		wmTeam.setDelFlag(DelEnum.NOT_DEL.val());
+		wmTeam.setDelFlag(DelEnum.NOT_DEL.getVal());
 		wmTeamService.save(wmTeam);
 		return R.ok();
 	}
@@ -112,7 +112,7 @@ public class WmTeamController {
 			return R.failed("团队名称不能包含空格");
 		}
 		int count = wmTeamService.count(Wrappers.<WmTeam>lambdaQuery()
-				.eq(WmTeam::getDelFlag, DelEnum.NOT_DEL.val())
+				.eq(WmTeam::getDelFlag, DelEnum.NOT_DEL.getVal())
 				.eq(WmTeam::getName, wmTeam.getName()));
 		if (count > 0) {
 			return R.failed("团队名称已存在");
@@ -123,7 +123,7 @@ public class WmTeamController {
 		if (wmTeam.getLeader() != null) {
 			wmTeam.setEnableFlag(EnableEnum.ENABLE.val());
 		}
-		wmTeam.setDelFlag(DelEnum.NOT_DEL.val());
+		wmTeam.setDelFlag(DelEnum.NOT_DEL.getVal());
 		wmTeamService.save(wmTeam);
 		return R.ok();
 	}
@@ -142,7 +142,7 @@ public class WmTeamController {
 		}
 		int count = wmTeamService.count(Wrappers.<WmTeam>lambdaQuery()
 				.ne(WmTeam::getId, wmTeam.getId())
-				.eq(WmTeam::getDelFlag, DelEnum.NOT_DEL.val())
+				.eq(WmTeam::getDelFlag, DelEnum.NOT_DEL.getVal())
 				.eq(WmTeam::getName, wmTeam.getName()));
 		if (count > 0) {
 			return R.failed("团队名称已存在");
@@ -159,7 +159,7 @@ public class WmTeamController {
 						.le(WmScorePackage::getScorePackageStatus, ScorePackageStatusEnum.IN_PROGRESS.val())
 						.eq(WmScorePackage::getPackageUserScope, wmTeam.getId())
 						.eq(WmScorePackage::getDeptId, wmTeam.getDeptId())
-						.eq(WmScorePackage::getDelFlag, DelEnum.NOT_DEL.val())
+						.eq(WmScorePackage::getDelFlag, DelEnum.NOT_DEL.getVal())
 						.eq(WmScorePackage::getEnableFlag, EnableEnum.ENABLE.val()));
 				if (CollectionUtil.isNotEmpty(scorePackageList)) {
 					List<String> packageIdList = scorePackageList.stream().map(WmScorePackage::getId).collect(Collectors.toList());
@@ -167,7 +167,7 @@ public class WmTeamController {
 							.in(WmScorePackageStatus::getPackageId, packageIdList)
 							.in(WmScorePackageStatus::getUserId, deletedMemberList)
 							.eq(WmScorePackageStatus::getStatus, PackageStatusEnum.APPROVED.val())
-							.eq(WmScorePackageStatus::getDelFlag, DelEnum.NOT_DEL.val())
+							.eq(WmScorePackageStatus::getDelFlag, DelEnum.NOT_DEL.getVal())
 							.eq(WmScorePackageStatus::getEnableFlag, EnableEnum.ENABLE.val()));
 					if (CollectionUtil.isNotEmpty(packageStatusList)) {
 						Set<String> statusUserSet = packageStatusList.stream().map(WmScorePackageStatus::getUserId).collect(Collectors.toSet());
@@ -199,7 +199,7 @@ public class WmTeamController {
 	public R<?> dissolve(@PathVariable("id") Integer id) {
 		// 查询团队是否还有任务在进行
 		int packageCount = wmScorePackageService.count(Wrappers.<WmScorePackage>lambdaQuery()
-				.eq(WmScorePackage::getDelFlag, DelEnum.NOT_DEL.val())
+				.eq(WmScorePackage::getDelFlag, DelEnum.NOT_DEL.getVal())
 				.eq(WmScorePackage::getEnableFlag, EnableEnum.ENABLE.val())
 				.eq(WmScorePackage::getPackageUserScope, id)
 				.le(WmScorePackage::getScorePackageStatus, ScorePackageStatusEnum.IN_PROGRESS.val()));
@@ -209,7 +209,7 @@ public class WmTeamController {
 		// 设置为禁用
 		wmTeamService.update(Wrappers.<WmTeam>lambdaUpdate()
 				.eq(WmTeam::getId, id)
-				.set(WmTeam::getDelFlag, DelEnum.DELETED.val())
+				.set(WmTeam::getDelFlag, DelEnum.DELETED.getVal())
 				.set(WmTeam::getUpdateTime, LocalDateTime.now())
 				.set(WmTeam::getUpdateUser, SecurityUtils.getUser().getId()));
 		return R.ok();
@@ -271,7 +271,7 @@ public class WmTeamController {
 	public R<IPage<WmTeam>> list(Page<WmTeam> page) {
 		Page<WmTeam> teamManagePage = wmTeamService.page(page, Wrappers.<WmTeam>lambdaQuery()
 				.eq(WmTeam::getDeptId, SecurityUtils.getUser().getDeptId())
-				.eq(WmTeam::getDelFlag, DelEnum.NOT_DEL.val()));
+				.eq(WmTeam::getDelFlag, DelEnum.NOT_DEL.getVal()));
 		teamManagePage.getRecords().forEach(wmTeamManage -> {
 			if (ArrayUtil.isNotEmpty(wmTeamManage.getLeader())) {
 				List<SysUser> leaderList = sysUserMapper.selectBatchIds(CollectionUtil.toList(wmTeamManage.getLeader()));
@@ -299,7 +299,7 @@ public class WmTeamController {
 		}
 		Page<WmTeam> teamManagePage = wmTeamService.page(page, Wrappers.<WmTeam>lambdaQuery()
 				.eq(WmTeam::getDeptId, deptId)
-				.eq(WmTeam::getDelFlag, DelEnum.NOT_DEL.val()));
+				.eq(WmTeam::getDelFlag, DelEnum.NOT_DEL.getVal()));
 		teamManagePage.getRecords().forEach(wmTeamManage -> {
 			if (ArrayUtil.isNotEmpty(wmTeamManage.getLeader())) {
 				List<SysUser> leaderList = sysUserMapper.selectBatchIds(CollectionUtil.toList(wmTeamManage.getLeader()));
@@ -356,7 +356,7 @@ public class WmTeamController {
 		// 查询当前企业下的团队
 		List<WmTeam> list = wmTeamService.list(Wrappers.<WmTeam>lambdaQuery()
 				.eq(WmTeam::getDeptId, deptId)
-				.eq(WmTeam::getDelFlag, DelEnum.NOT_DEL.val())
+				.eq(WmTeam::getDelFlag, DelEnum.NOT_DEL.getVal())
 				.eq(WmTeam::getEnableFlag, EnableEnum.ENABLE.val())
 				.apply("FIND_IN_SET({0}, leader)", String.valueOf(userId)));
 		if (CollectionUtil.isNotEmpty(list)) {
@@ -371,7 +371,7 @@ public class WmTeamController {
 			// 原有的字典数据项
 			List<SysDictItem> packageUserScopeDictList = sysDictItemService.list(Wrappers.<SysDictItem>lambdaQuery()
 					.eq(SysDictItem::getType, "package_user_scope")
-					.eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.val()));
+					.eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.getVal()));
 			if (CollectionUtil.isNotEmpty(packageUserScopeDictList)) {
 				List<Map<String, Object>> dictMapList = packageUserScopeDictList.stream().map(sysDictItem -> {
 					Map<String, Object> dictMap = MapUtil.newHashMap(2);

+ 1 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmWkAlbumController.java

@@ -68,7 +68,7 @@ public class WmWkAlbumController {
             queryWrapper.apply(true, "FIND_IN_SET (" + wmWkAlbum.getGlyp() + ",glyp)");
         }
 
-        queryWrapper.eq("del_flag", DelEnum.NOT_DEL.val());
+        queryWrapper.eq("del_flag", DelEnum.NOT_DEL.getVal());
         queryWrapper.orderByDesc("create_time");
 
         if (SecurityUtils.getRoles().contains(19)) {

+ 1 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmWkArticleController.java

@@ -83,7 +83,7 @@ public class WmWkArticleController {
 			wrappers.apply("FIND_IN_SET({0}, source_ent)", wmWkArticle.getSourceEnt()[0]);
 		}
 
-		wrappers.eq("del_flag", DelEnum.NOT_DEL.val());
+		wrappers.eq("del_flag", DelEnum.NOT_DEL.getVal());
 		wrappers.orderByDesc("create_time");
 
 		if (SecurityUtils.getRoles().contains(19)) {

+ 368 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/manager/SysImplementPlanManager.java

@@ -0,0 +1,368 @@
+package com.qunzhixinxi.hnqz.admin.manager;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.lang.tree.Tree;
+import cn.hutool.core.lang.tree.TreeNode;
+import cn.hutool.core.lang.tree.TreeUtil;
+import cn.hutool.core.map.MapUtil;
+import cn.hutool.core.util.ArrayUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.qunzhixinxi.hnqz.admin.api.constant.UpmsState;
+import com.qunzhixinxi.hnqz.admin.api.dto.SysImplementPlanDTO;
+import com.qunzhixinxi.hnqz.admin.api.dto.SysImplementPlanDetailsDTO;
+import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
+import com.qunzhixinxi.hnqz.admin.api.entity.SysImplPlanDetails;
+import com.qunzhixinxi.hnqz.admin.api.entity.SysImplPlanDetailsItem;
+import com.qunzhixinxi.hnqz.admin.api.entity.SysImplementPlan;
+import com.qunzhixinxi.hnqz.admin.api.vo.SysImplementPlanVO;
+import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
+import com.qunzhixinxi.hnqz.admin.service.SysImplPlanDetailsItemService;
+import com.qunzhixinxi.hnqz.admin.service.SysImplPlanDetailsService;
+import com.qunzhixinxi.hnqz.admin.service.SysImplementPlanService;
+import com.qunzhixinxi.hnqz.admin.service.WmDaDrugEntDrugtableService;
+import com.qunzhixinxi.hnqz.common.core.exception.BizException;
+import com.qunzhixinxi.hnqz.common.security.service.HnqzUser;
+import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
+import lombok.AllArgsConstructor;
+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.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+
+/**
+ * 执行计划管理器
+ *
+ * @author jimmy
+ * @version 1.0.0
+ * @date 2024/05/19 11:44
+ */
+@Slf4j
+@Service
+@AllArgsConstructor
+public class SysImplementPlanManager {
+
+    private final SysImplementPlanService implementPlanService;
+    private final SysImplPlanDetailsService implPlanDetailsService;
+    private final SysDeptService deptService;
+    private final SysImplPlanDetailsItemService implPlanDetailsItemService;
+    private final WmDaDrugEntDrugtableService drugEntDrugtableService;
+
+    /**
+     * 创建计划
+     *
+     * @param resource 计划信息
+     * @param operator 操作人
+     * @return 创建结果
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean createPlan(SysImplementPlanDTO.OnCreate resource, HnqzUser operator) {
+
+        String username = operator.getUsername();
+        LocalDateTime now = LocalDateTime.now();
+        SysImplementPlan plan = BeanUtil.copyProperties(resource, SysImplementPlan.class);
+        plan.setPlanState(UpmsState.ImplementPlanState.INIT);
+        plan.setConsignorId(operator.getDeptId());
+        plan.setCreateBy(username);
+        plan.setUpdateBy(username);
+        plan.setCreateTime(now);
+        plan.setUpdateTime(now);
+
+        return implementPlanService.createPlan(plan);
+    }
+
+
+    /**
+     * 获取计划分页
+     *
+     * @param query    查询条件
+     * @param operator 操作人
+     * @return 分页结果
+     */
+    public Page<?> pagePlans(SysImplementPlanDTO.OnPage query, HnqzUser operator) {
+
+        // 获取根目录分页
+        Page<SysImplementPlan> page = this.getPage(operator, query.getCurrent(), query.getSize(), query.getPlanName(),
+                query.getConsigneeId(), operator.getDeptId(), query.getPeriod());
+
+        List<SysImplementPlan> records = page.getRecords();
+
+        if (CollUtil.isEmpty(records)) {
+            return page;
+        }
+
+        // 查询出子数据
+        Set<Integer> pIds = records.stream().map(SysImplementPlan::getPlanId).collect(Collectors.toSet());
+
+        // 区域的预算
+        if (CollUtil.isNotEmpty(pIds)) {
+            List<SysImplementPlan> subPlans = implementPlanService.list(Wrappers.<SysImplementPlan>lambdaQuery().in(SysImplementPlan::getParentId, pIds));
+
+            if (CollUtil.isNotEmpty(subPlans)) {
+                records.addAll(subPlans);
+
+                // 服务商的预算
+                Set<Integer> finalSubPlanIds = subPlans.stream().mapToInt(SysImplementPlan::getParentId).boxed().collect(Collectors.toSet());
+
+                if (CollUtil.isNotEmpty(finalSubPlanIds)) {
+                    List<SysImplementPlan> finalSubPlans = implementPlanService.list(Wrappers.<SysImplementPlan>lambdaQuery().in(SysImplementPlan::getParentId, finalSubPlanIds));
+                    records.addAll(finalSubPlans);
+                }
+            }
+        }
+
+        // 获取承接人ID
+        Set<Integer> consigneeIds = records.stream().mapToInt(SysImplementPlan::getConsigneeId).boxed().collect(Collectors.toSet());
+
+        // 获取承接人
+        Map<Integer, SysDept> consigneeMap = deptService.mapConsignee(consigneeIds);
+
+        // 获取商品信息
+        List<Map<String, String>> skuList = drugEntDrugtableService.listDrugByDeptId(consigneeIds);
+        Map<Integer, Map<String, String>> skuMap = skuList.stream().collect(Collectors.toMap(sku -> Integer.valueOf(sku.get("drug_id")), Function.identity()));
+
+
+        // 封装返回结果
+        Page<Tree<Integer>> newPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal());
+        List<TreeNode<Integer>> toPages = getToPages(records, consigneeMap, skuMap);
+
+       // Map<Integer, List<TreeNode<Integer>>> collect = toPages.stream().collect(Collectors.groupingBy(TreeNode::getParentId));
+       //
+       // List<List<Tree<Integer>>> builds = new ArrayList<>(collect.size());
+       //for (Map.Entry<Integer, List<TreeNode<Integer>>> entry : collect.entrySet()){
+       //    List<Tree<Integer>> build = TreeUtil.build(entry.getValue(), entry.getKey());
+       //    builds.add(build);
+       //}
+
+
+        newPage.setRecords(TreeUtil.build(toPages, 0));
+
+        return newPage;
+    }
+
+    private List<TreeNode<Integer>> getToPages(List<SysImplementPlan> records, Map<Integer, SysDept> consigneeMap, Map<Integer, Map<String, String>> skuMap) {
+        return records.stream().map(record -> {
+            SysImplementPlanVO.ToPage p = BeanUtil.copyProperties(record, SysImplementPlanVO.ToPage.class);
+
+            // 设置承接人信息
+            Map<String, Object> consigneeInfo = new HashMap<>(3);
+            consigneeInfo.put("consigneeId", record.getConsigneeId());
+            SysDept sysDept = consigneeMap.get(record.getConsigneeId());
+            consigneeInfo.put("consigneeName", sysDept == null ? "" : sysDept.getName());
+            p.setConsigneeInfo(consigneeInfo);
+
+            // 执行包总值
+            p.setExecScoreValue(0L);
+
+            // 产品信息
+            Map<String, String> sku = skuMap.get(record.getSkuId());
+            Map<String, Object> skuInfo = new HashMap<>(3);
+            skuInfo.put("skuId", record.getSkuId());
+            skuInfo.put("skuName", MapUtil.isEmpty(sku) ? "" : sku.get("drug_name"));
+            skuInfo.put("manufacturer", MapUtil.isEmpty(sku) ? "" : sku.get("ent_name"));
+            p.setSkuInfo(skuInfo);
+
+            // 获取计划详情
+            SysImplPlanDetails one = implPlanDetailsService.getOne(Wrappers.<SysImplPlanDetails>lambdaQuery().eq(SysImplPlanDetails::getPlanId, record.getPlanId()));
+            p.setPlanDetailId(one != null ? one.getDetailsId() : null);
+
+            TreeNode<Integer> treeNode = new TreeNode<>();
+            treeNode.setId(p.getPlanId());
+            //treeNode.setParentId(p.getParentId());
+            treeNode.setParentId(0);
+            treeNode.setName(p.getPlanName());
+            treeNode.setWeight(p.getPlanId());
+            Map<String, Object> extra = BeanUtil.beanToMap(p);
+            treeNode.setExtra(extra);
+
+            return treeNode;
+        }).collect(Collectors.toList());
+    }
+
+    private Page<SysImplementPlan> getPage(HnqzUser user,
+                                           Integer current,
+                                           Integer size,
+                                           String planName,
+                                           Integer consigneeId,
+                                           Integer consignorId,
+                                           LocalDate[] period) {
+
+        List<Integer> roleIds = SecurityUtils.getRoles();
+
+        LambdaQueryWrapper<SysImplementPlan> wrapper = Wrappers.<SysImplementPlan>lambdaQuery()
+                .like(StrUtil.isNotBlank(planName), SysImplementPlan::getPlanName, planName);
+
+        // 服务商管理员
+        if (roleIds.contains(37)){
+            wrapper.eq(SysImplementPlan::getConsigneeId, user.getDeptId());
+        } else {
+            wrapper.eq(SysImplementPlan::getParentId, 0);
+        }
+
+
+        //LambdaQueryWrapper<SysImplementPlan> wrapper = Wrappers.<SysImplementPlan>lambdaQuery()
+        //        .like(StrUtil.isNotBlank(planName), SysImplementPlan::getPlanName, planName)
+        //        .eq(SysImplementPlan::getParentId, 0);
+        //.eq(consigneeId != null, SysImplementPlan::getConsigneeId, consigneeId)
+        //.eq(SysImplementPlan::getConsignorId, consignorId);
+
+        if (ArrayUtil.isNotEmpty(period) && period.length == 2) {
+            wrapper.between(SysImplementPlan::getCreateTime, period[0], period[1]);
+        }
+
+        return implementPlanService.page(new Page<>(current, size), wrapper);
+    }
+
+    /**
+     * 审核计划
+     *
+     * @param resource 审核信息
+     * @param user     操作人
+     * @return 审核结果
+     */
+    public Boolean checkPlan(SysImplementPlanDTO.OnCheck resource, HnqzUser user) {
+
+
+        implementPlanService.checkState(resource.getPlanId(), Boolean.TRUE, Collections.singletonList(UpmsState.ImplementPlanState.INIT));
+
+        Boolean result = resource.getResult();
+        String username = user.getUsername();
+        LocalDateTime now = LocalDateTime.now();
+        SysImplementPlan plan = new SysImplementPlan();
+        plan.setPlanId(resource.getPlanId());
+        plan.setPlanState(result ? UpmsState.ImplementPlanState.PASSED : UpmsState.ImplementPlanState.REJECTED);
+        plan.setCheckResult(result);
+        plan.setCheckMessage(resource.getMsg());
+        plan.setCheckTime(now);
+        plan.setChecker(username);
+        plan.setUpdateBy(username);
+        plan.setUpdateTime(now);
+
+
+        return implementPlanService.updatePlan(plan);
+    }
+
+    /**
+     * 创建计划详情
+     *
+     * @param resource 计划详情
+     * @param user     操作人
+     * @return 创建结果
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean createPlanDetails(SysImplementPlanDetailsDTO.OnCreate resource, HnqzUser user) {
+
+        LocalDateTime now = LocalDateTime.now();
+        String username = user.getUsername();
+        List<SysImplementPlanDetailsDTO.OnItemCreate> items = resource.getItems();
+
+
+        SysImplPlanDetails details = new SysImplPlanDetails();
+        details.setPlanId(resource.getPlanId());
+        details.setQty(resource.getQty());
+        details.setTotal(resource.getTotal());
+        details.setDetailsState(UpmsState.ImplPlanDetailsState.INIT);
+        details.setCreateBy(username);
+        details.setUpdateBy(username);
+        details.setCreateTime(now);
+        details.setUpdateTime(now);
+        implPlanDetailsService.createDetails(details);
+
+        Integer dId = details.getDetailsId();
+        List<SysImplPlanDetailsItem> detailsItems = items.stream().map(item -> {
+            SysImplPlanDetailsItem i = new SysImplPlanDetailsItem();
+            i.setDetailsId(dId);
+            i.setTaskTypeId(item.getTaskTypeId());
+            i.setQty(item.getQty());
+            i.setTaskTypeName(item.getTaskTypeName());
+            i.setScore(item.getScore());
+            i.setSubtotal(item.getSubtotal());
+            return i;
+        }).collect(Collectors.toList());
+
+        implPlanDetailsItemService.saveItems(detailsItems);
+
+        return Boolean.TRUE;
+    }
+
+    /**
+     * 审核计划详情
+     *
+     * @param resource 计划详情内容
+     * @param user     操作人
+     * @return 审核结果
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean checkPlanDetails(SysImplementPlanDetailsDTO.OnCheck resource, HnqzUser user) {
+
+        Boolean result = resource.getResult();
+        String username = user.getUsername();
+        LocalDateTime now = LocalDateTime.now();
+        SysImplPlanDetails details = new SysImplPlanDetails();
+        details.setDetailsId(resource.getDetailsId());
+
+        switch (resource.getCurrentState()) {
+            case INIT:
+                details.setDetailsState(result ? UpmsState.ImplPlanDetailsState.CKT1 : UpmsState.ImplPlanDetailsState.REJECTED);
+                details.setCktRes1(result);
+                details.setCktMsg1(resource.getMsg());
+                details.setCktTime1(now);
+                details.setCktName1(username);
+                break;
+
+            case CKT1:
+                details.setDetailsState(result ? UpmsState.ImplPlanDetailsState.CKT2 : UpmsState.ImplPlanDetailsState.REJECTED);
+                details.setCktRes2(result);
+                details.setCktMsg2(resource.getMsg());
+                details.setCktTime2(now);
+                details.setCktName2(username);
+                break;
+            case CKT2:
+                details.setDetailsState(result ? UpmsState.ImplPlanDetailsState.PASSED : UpmsState.ImplPlanDetailsState.REJECTED);
+                details.setCktRes3(result);
+                details.setCktMsg3(resource.getMsg());
+                details.setCktTime3(now);
+                details.setCktName3(username);
+                break;
+            default:
+                throw new BizException("当前状态不支持审核");
+
+        }
+        details.setUpdateBy(username);
+        details.setUpdateTime(now);
+
+        return implPlanDetailsService.updateDetails(details);
+    }
+
+    public Map<String, Object> getPlanDetails(Integer detailsId) {
+        SysImplPlanDetails details = implPlanDetailsService.getById(detailsId);
+        Map<String, Object> detailsMap;
+        if (details != null) {
+            detailsMap = BeanUtil.beanToMap(details);
+
+            List<SysImplPlanDetailsItem> items = implPlanDetailsItemService.listDetailItems(details.getDetailsId());
+
+            detailsMap.put("items", CollUtil.isNotEmpty(items) ? items : Collections.emptyList());
+
+
+        } else {
+            detailsMap = Collections.emptyMap();
+        }
+
+        return detailsMap;
+    }
+}

+ 21 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mapper/SysImplPlanDetailsItemMapper.java

@@ -0,0 +1,21 @@
+package com.qunzhixinxi.hnqz.admin.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qunzhixinxi.hnqz.admin.api.entity.SysImplPlanDetailsItem;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 执行计划详情项
+ *
+ * @author jimmy
+ * @version 1.0.0
+ * @date 2024/05/19 15:51
+ */
+@Mapper
+public interface SysImplPlanDetailsItemMapper extends BaseMapper<SysImplPlanDetailsItem> {
+
+}
+
+
+
+

+ 21 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mapper/SysImplPlanDetailsMapper.java

@@ -0,0 +1,21 @@
+package com.qunzhixinxi.hnqz.admin.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qunzhixinxi.hnqz.admin.api.entity.SysImplPlanDetails;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 执行计划详情mapper
+ *
+ * @author jimmy
+ * @version 1.0.0
+ * @date 2024/05/19 15:51
+ */
+@Mapper
+public interface SysImplPlanDetailsMapper extends BaseMapper<SysImplPlanDetails> {
+
+}
+
+
+
+

+ 21 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mapper/SysImplementPlanMapper.java

@@ -0,0 +1,21 @@
+package com.qunzhixinxi.hnqz.admin.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qunzhixinxi.hnqz.admin.api.entity.SysImplementPlan;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 执行计划mapper
+ *
+ * @author jimmy
+ * @version 1.0.0
+ * @date 2024/05/19 11:12
+ */
+@Mapper
+public interface SysImplementPlanMapper extends BaseMapper<SysImplementPlan> {
+
+}
+
+
+
+

+ 4 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/SysDeptService.java

@@ -10,6 +10,7 @@ import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 /**
  * <p>
@@ -110,4 +111,7 @@ public interface SysDeptService extends IService<SysDept> {
      * @return 区域树
      */
     List<Tree<Long>> getDeptAreaTree(Long deptId);
+
+
+    Map<Integer, SysDept> mapConsignee(Set<Integer> consigneeIds);
 }

+ 27 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/SysImplPlanDetailsItemService.java

@@ -0,0 +1,27 @@
+package com.qunzhixinxi.hnqz.admin.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.qunzhixinxi.hnqz.admin.api.entity.SysImplPlanDetailsItem;
+
+import java.util.Collection;
+import java.util.List;
+
+
+/**
+ * 执行计划服务详情项服务
+ *
+ * @author jimmy
+ * @version 1.0.0
+ * @date 2024/05/19 15:54
+ */
+public interface SysImplPlanDetailsItemService extends IService<SysImplPlanDetailsItem> {
+
+    /**
+     * 保存详情项
+     *
+     * @param detailsItems 详情项
+     */
+    void saveItems(Collection<SysImplPlanDetailsItem> detailsItems);
+
+    List<SysImplPlanDetailsItem> listDetailItems(Integer detailsId);
+}

+ 29 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/SysImplPlanDetailsService.java

@@ -0,0 +1,29 @@
+package com.qunzhixinxi.hnqz.admin.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.qunzhixinxi.hnqz.admin.api.entity.SysImplPlanDetails;
+
+/**
+ * 执行计划详情服务
+ *
+ * @author jimmy
+ * @version 1.0.0
+ * @date 2024/05/19 15:53
+ */
+public interface SysImplPlanDetailsService extends IService<SysImplPlanDetails> {
+
+    /**
+     * 创建详情
+     *
+     * @param details 详情
+     */
+    void createDetails(SysImplPlanDetails details);
+
+    /**
+     * 更新结果
+     *
+     * @param details 详情
+     * @return 更新结果
+     */
+    Boolean updateDetails(SysImplPlanDetails details);
+}

+ 43 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/SysImplementPlanService.java

@@ -0,0 +1,43 @@
+package com.qunzhixinxi.hnqz.admin.service;
+
+import com.qunzhixinxi.hnqz.admin.api.constant.UpmsState;
+import com.qunzhixinxi.hnqz.admin.api.entity.SysImplementPlan;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Collection;
+
+/**
+ * 执行计划服务
+ *
+ * @author jimmy
+ * @version 1.0.0
+ * @date 2024/05/19 11:13
+ */
+public interface SysImplementPlanService extends IService<SysImplementPlan> {
+
+    /**
+     * 创建计划
+     *
+     * @param plan 计划信息
+     * @return 创建结果
+     */
+    Boolean createPlan(SysImplementPlan plan);
+
+    /**
+     * 更新计划
+     *
+     * @param plan 计划
+     * @return 更新结果
+     */
+    Boolean updatePlan(SysImplementPlan plan);
+
+    /**
+     * 校验状态
+     *
+     * @param planId              计划ID
+     * @param res                 结果
+     * @param implementPlanStates 目标状态
+     */
+    void checkState(Integer planId, Boolean res, Collection<UpmsState.ImplementPlanState> implementPlanStates);
+
+}

+ 2 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/WmDaDrugEntDrugtableService.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmDaDrugEntDrugtable;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 
+import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -57,5 +58,5 @@ public interface WmDaDrugEntDrugtableService extends IService<WmDaDrugEntDrugtab
 	 * @param deptId 部门id
 	 * @return {@link List}<{@link Map}<{@link String}, {@link String}>>
 	 */
-	List<Map<String, String>> listDrugByDeptId(Integer deptId);
+	List<Map<String, String>> listDrugByDeptId(Collection<Integer> deptId);
 }

+ 4 - 4
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/SysDeptInvoiceServiceImpl.java

@@ -177,7 +177,7 @@ public class SysDeptInvoiceServiceImpl extends ServiceImpl<SysDeptInvoiceMapper,
     @Override
     public IPage<SysDeptInvoiceVO> pageInvoiceForAdmin(Page<SysDeptInvoiceVO> page, SysDeptInvoiceRequest.ToInvoicePage toInvoicePage) {
         LambdaQueryWrapper<SysDeptInvoice> queryWrapper = Wrappers.lambdaQuery();
-        queryWrapper.eq(SysDeptInvoice::getDelFlag, DelEnum.NOT_DEL.val());
+        queryWrapper.eq(SysDeptInvoice::getDelFlag, DelEnum.NOT_DEL.getVal());
         if (toInvoicePage.getApprovalStatus() != null) {
             queryWrapper.eq(SysDeptInvoice::getApprovalStatus, toInvoicePage.getApprovalStatus());
         }
@@ -232,7 +232,7 @@ public class SysDeptInvoiceServiceImpl extends ServiceImpl<SysDeptInvoiceMapper,
         Integer deptId = SecurityUtils.getUser().getDeptId();
 
         LambdaQueryWrapper<SysDeptInvoice> queryWrapper = Wrappers.lambdaQuery();
-        queryWrapper.eq(SysDeptInvoice::getDelFlag, DelEnum.NOT_DEL.val());
+        queryWrapper.eq(SysDeptInvoice::getDelFlag, DelEnum.NOT_DEL.getVal());
         queryWrapper.eq(SysDeptInvoice::getDeptId, deptId);
         if (toInvoicePage.getApprovalStatus() != null) {
             queryWrapper.eq(SysDeptInvoice::getApprovalStatus, toInvoicePage.getApprovalStatus());
@@ -406,7 +406,7 @@ public class SysDeptInvoiceServiceImpl extends ServiceImpl<SysDeptInvoiceMapper,
         Set<String> packageIdSet = Stream.of(packageIds).collect(Collectors.toSet());
         int relationCount = deptInvoiceRelationService.count(Wrappers.<SysDeptInvoiceRelation>lambdaQuery()
                 .in(SysDeptInvoiceRelation::getPackageId, packageIdSet)
-                .eq(SysDeptInvoiceRelation::getDelFlag, DelEnum.NOT_DEL.val()));
+                .eq(SysDeptInvoiceRelation::getDelFlag, DelEnum.NOT_DEL.getVal()));
         if (relationCount > 0) {
             throw new RuntimeException("请选择开票状态为未申请的数据");
         }
@@ -479,7 +479,7 @@ public class SysDeptInvoiceServiceImpl extends ServiceImpl<SysDeptInvoiceMapper,
         // 查询开票积分包关联表
         List<SysDeptInvoiceRelation> deptInvoiceRelations = deptInvoiceRelationService.list(Wrappers.<SysDeptInvoiceRelation>lambdaQuery()
                 .eq(SysDeptInvoiceRelation::getInvoiceId, toApprove.getInvoiceId())
-                .eq(SysDeptInvoiceRelation::getDelFlag, DelEnum.NOT_DEL.val()));
+                .eq(SysDeptInvoiceRelation::getDelFlag, DelEnum.NOT_DEL.getVal()));
 
         // 更新开票积分包关联表
         List<SysDeptInvoiceRelation> updateRelationList = new ArrayList<>();

+ 3 - 3
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/SysDeptRechargeRecordServiceImpl.java

@@ -73,7 +73,7 @@ public class SysDeptRechargeRecordServiceImpl extends ServiceImpl<SysDeptRecharg
     public IPage<SysDeptRechargeRecordVO> pageRechargeRecord(Page<SysDeptRechargeRecordVO> page, Integer deptId, RechargeRecordType type) {
         LambdaQueryWrapper<SysDeptRechargeRecord> queryWrapper = Wrappers.lambdaQuery();
         queryWrapper.eq(SysDeptRechargeRecord::getDeptId, deptId);
-        queryWrapper.eq(SysDeptRechargeRecord::getDelFlag, DelEnum.NOT_DEL.val());
+        queryWrapper.eq(SysDeptRechargeRecord::getDelFlag, DelEnum.NOT_DEL.getVal());
         queryWrapper.orderByDesc(SysDeptRechargeRecord::getId);
         if (type != null) {
             queryWrapper.eq(SysDeptRechargeRecord::getType, type);
@@ -151,7 +151,7 @@ public class SysDeptRechargeRecordServiceImpl extends ServiceImpl<SysDeptRecharg
             queryWrapper.between(SysDeptRechargeRecord::getCreateTime, createTime[0], createTime[1]);
         }
 
-        queryWrapper.eq(SysDeptRechargeRecord::getDelFlag, DelEnum.NOT_DEL.val());
+        queryWrapper.eq(SysDeptRechargeRecord::getDelFlag, DelEnum.NOT_DEL.getVal());
         queryWrapper.orderByDesc(SysDeptRechargeRecord::getId);
         Page<SysDeptRechargeRecord> recordPage = this.page(new Page<>(page.getCurrent(), page.getSize()), queryWrapper);
 
@@ -168,7 +168,7 @@ public class SysDeptRechargeRecordServiceImpl extends ServiceImpl<SysDeptRecharg
             // 查询发放的积分包
             List<WmScorePackage> scorePackages = wmScorePackageMapper.selectList(Wrappers.<WmScorePackage>lambdaQuery()
                     .select(WmScorePackage::getId, WmScorePackage::getScorePackageName)
-                    .eq(WmScorePackage::getDelFlag, DelEnum.NOT_DEL.val())
+                    .eq(WmScorePackage::getDelFlag, DelEnum.NOT_DEL.getVal())
                     .eq(WmScorePackage::getSendPackageDeptId, deptId));
             // 积分包map
             Map<String, String> packageMap = new HashMap<>();

+ 4 - 4
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/SysDeptRechargeServiceImpl.java

@@ -76,7 +76,7 @@ public class SysDeptRechargeServiceImpl extends ServiceImpl<SysDeptRechargeMappe
 
         // 查询企业积分充值表
         List<SysDeptRecharge> deptRecharges = this.list(Wrappers.<SysDeptRecharge>lambdaQuery()
-                .eq(SysDeptRecharge::getDelFlag, DelEnum.NOT_DEL.val()));
+                .eq(SysDeptRecharge::getDelFlag, DelEnum.NOT_DEL.getVal()));
         Map<Integer, SysDeptRecharge> deptRechargeMap = new HashMap<>();
         if (CollUtil.isNotEmpty(deptRecharges)) {
             deptRechargeMap = deptRecharges.stream()
@@ -85,7 +85,7 @@ public class SysDeptRechargeServiceImpl extends ServiceImpl<SysDeptRechargeMappe
         // 查询积分充值记录表
         List<SysDeptRechargeRecord> usedRecords = deptRechargeRecordService.list(Wrappers.<SysDeptRechargeRecord>lambdaQuery()
                 .eq(SysDeptRechargeRecord::getType, RechargeRecordType.RECHARGE)
-                .eq(SysDeptRechargeRecord::getDelFlag, DelEnum.NOT_DEL.val()));
+                .eq(SysDeptRechargeRecord::getDelFlag, DelEnum.NOT_DEL.getVal()));
         Map<Integer, Integer> usedRecordsMap = new HashMap<>();
         if (CollUtil.isNotEmpty(usedRecords)) {
             usedRecordsMap = usedRecords.stream()
@@ -149,7 +149,7 @@ public class SysDeptRechargeServiceImpl extends ServiceImpl<SysDeptRechargeMappe
         // 更新充值数据
         SysDeptRecharge deptRecharge = this.getOne(Wrappers.<SysDeptRecharge>lambdaQuery()
                 .eq(SysDeptRecharge::getDeptId, toRecharge.getDeptId())
-                .eq(SysDeptRecharge::getDelFlag, DelEnum.NOT_DEL.val()));
+                .eq(SysDeptRecharge::getDelFlag, DelEnum.NOT_DEL.getVal()));
         BigDecimal currentBalance = null;
         int currentScore = 0;
         if (deptRecharge == null) {
@@ -210,7 +210,7 @@ public class SysDeptRechargeServiceImpl extends ServiceImpl<SysDeptRechargeMappe
         // 更新配置数据
         SysDeptRecharge deptRecharge = this.getOne(Wrappers.<SysDeptRecharge>lambdaQuery()
                 .eq(SysDeptRecharge::getDeptId, toConfig.getDeptId())
-                .eq(SysDeptRecharge::getDelFlag, DelEnum.NOT_DEL.val()));
+                .eq(SysDeptRecharge::getDelFlag, DelEnum.NOT_DEL.getVal()));
         // 透支金额 = 透支积分 * (服务费率/100)
         BigDecimal overdrawAmount = null;
         if (toConfig.getOverdrawScore() != null && toConfig.getOverdrawScore() > 0) {

+ 11 - 2
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/SysDeptServiceImpl.java

@@ -51,6 +51,7 @@ import java.util.stream.Collectors;
 @AllArgsConstructor
 public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> implements SysDeptService {
 
+
     private final SysDeptRelationService sysDeptRelationService;
     private final SysDeptRelationMapper sysDeptRelationMapper;
     private final SysDeptMapper deptMapper;
@@ -477,7 +478,7 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
     public Map<String, Object> listEntAndAgent(Page<SysDept> page, String deptName) {
         // 药企wrapper
         LambdaQueryWrapper<SysDept> entWrapper = Wrappers.lambdaQuery();
-        entWrapper.eq(SysDept::getDelFlag, DelEnum.NOT_DEL.val());
+        entWrapper.eq(SysDept::getDelFlag, DelEnum.NOT_DEL.getVal());
         entWrapper.eq(SysDept::getLevel, DeptLevelEnum.ENT.getVal());
         if (StringUtils.isNotBlank(deptName)) {
             entWrapper.like(SysDept::getName, deptName);
@@ -485,7 +486,7 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
 
         // CSO wrapper
         LambdaQueryWrapper<SysDept> csoWrapper = Wrappers.lambdaQuery();
-        csoWrapper.eq(SysDept::getDelFlag, DelEnum.NOT_DEL.val());
+        csoWrapper.eq(SysDept::getDelFlag, DelEnum.NOT_DEL.getVal());
         csoWrapper.in(SysDept::getLevel, DeptLevelEnum.CSO_L1.getVal(), DeptLevelEnum.CSO_L2.getVal());
         if (StringUtils.isNotBlank(deptName)) {
             csoWrapper.like(SysDept::getName, deptName);
@@ -558,4 +559,12 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
         List<Long> areas = enterpriseAreaService.listEntAreas(Collections.singletonList(deptId));
         return areaEntityService.selectTree(areas);
     }
+
+    @Override
+    public Map<Integer, SysDept> mapConsignee(Set<Integer> consigneeIds) {
+
+        List<SysDept> list = this.list(Wrappers.<SysDept>lambdaQuery().in(SysDept::getDeptId, consigneeIds));
+
+        return list.stream().collect(Collectors.toMap(SysDept::getDeptId, Function.identity()));
+    }
 }

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

@@ -0,0 +1,44 @@
+package com.qunzhixinxi.hnqz.admin.service.impl;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qunzhixinxi.hnqz.admin.api.entity.SysImplPlanDetailsItem;
+import com.qunzhixinxi.hnqz.admin.mapper.SysImplPlanDetailsItemMapper;
+import com.qunzhixinxi.hnqz.admin.service.SysImplPlanDetailsItemService;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 执行计划详情项服务实现
+ *
+ * @author jimmy
+ * @version 1.0.0
+ * @date 2024/05/19 15:52
+ */
+@Service
+public class SysImplPlanDetailsItemServiceImpl extends ServiceImpl<SysImplPlanDetailsItemMapper, SysImplPlanDetailsItem>
+        implements SysImplPlanDetailsItemService {
+
+    /**
+     * 保存详情项
+     *
+     * @param detailsItems 详情项
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void saveItems(Collection<SysImplPlanDetailsItem> detailsItems) {
+        this.saveBatch(detailsItems);
+    }
+
+    @Override
+    public List<SysImplPlanDetailsItem> listDetailItems(Integer detailsId) {
+        return this.list(Wrappers.<SysImplPlanDetailsItem>lambdaQuery().eq(SysImplPlanDetailsItem::getDetailsId, detailsId));
+    }
+}
+
+
+
+

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

@@ -0,0 +1,49 @@
+package com.qunzhixinxi.hnqz.admin.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qunzhixinxi.hnqz.admin.api.entity.SysImplPlanDetails;
+import com.qunzhixinxi.hnqz.admin.mapper.SysImplPlanDetailsMapper;
+import com.qunzhixinxi.hnqz.admin.service.SysImplPlanDetailsService;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * 执行计划详情服务实现
+ *
+ * @author jimmy
+ * @version 1.0.0
+ * @date 2024/05/19 15:53
+ */
+@Service
+@AllArgsConstructor
+public class SysImplPlanDetailsServiceImpl extends ServiceImpl<SysImplPlanDetailsMapper, SysImplPlanDetails>
+        implements SysImplPlanDetailsService {
+
+    /**
+     * 创建详情
+     *
+     * @param details 详情
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void createDetails(SysImplPlanDetails details) {
+
+        this.save(details);
+    }
+
+    /**
+     * 更新结果
+     *
+     * @param details 详情
+     * @return 更新结果
+     */
+    @Override
+    public Boolean updateDetails(SysImplPlanDetails details) {
+        return this.updateById(details);
+    }
+}
+
+
+
+

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

@@ -0,0 +1,71 @@
+package com.qunzhixinxi.hnqz.admin.service.impl;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qunzhixinxi.hnqz.admin.api.constant.UpmsState;
+import com.qunzhixinxi.hnqz.admin.api.entity.SysImplementPlan;
+import com.qunzhixinxi.hnqz.admin.mapper.SysImplementPlanMapper;
+import com.qunzhixinxi.hnqz.admin.service.SysImplementPlanService;
+import com.qunzhixinxi.hnqz.common.core.exception.BizException;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Collection;
+
+/**
+ * 执行计划服务实现
+ *
+ * @author jimmy
+ * @version 1.0.0
+ * @date 2024/05/19 11:14
+ */
+@Slf4j
+@Service
+@AllArgsConstructor
+public class SysImplementPlanServiceImpl extends ServiceImpl<SysImplementPlanMapper, SysImplementPlan> implements SysImplementPlanService {
+
+    /**
+     * 创建计划
+     *
+     * @param plan 计划信息
+     * @return 创建结果
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean createPlan(SysImplementPlan plan) {
+        return this.save(plan);
+    }
+
+    /**
+     * 更新计划
+     *
+     * @param plan 计划
+     * @return 更新结果
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean updatePlan(SysImplementPlan plan) {
+        return this.updateById(plan);
+    }
+
+    /**
+     * 校验状态
+     *
+     * @param planId              计划ID
+     * @param res                 校验结果
+     * @param implementPlanStates 目标状态
+     */
+    @Override
+    public void checkState(Integer planId, Boolean res, Collection<UpmsState.ImplementPlanState> implementPlanStates) {
+        int count = this.count(Wrappers.<SysImplementPlan>lambdaQuery().eq(SysImplementPlan::getPlanId, planId).in(SysImplementPlan::getPlanState, implementPlanStates));
+        if (!res.equals(count != 0)) {
+            throw new BizException("当前计划状态不支持操作");
+        }
+    }
+}
+
+
+
+

+ 57 - 57
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/SysUserExtRecordServiceImpl.java

@@ -22,67 +22,67 @@ import java.time.LocalDateTime;
 @Service
 @AllArgsConstructor
 public class SysUserExtRecordServiceImpl extends ServiceImpl<SysUserExtRecordMapper, SysUserExtRecord>
-		implements SysUserExtRecordService {
+        implements SysUserExtRecordService {
 
-	/**
-	 * 保存E证通认证结果
-	 *
-	 * @param userExtRecord
-	 */
-	@Override
-	@Transactional(rollbackFor = Exception.class)
-	public void saveUserExtRecord(SysUserExtRecord userExtRecord) {
-		HnqzUser hnqzUser = SecurityUtils.getUser();
+    /**
+     * 保存E证通认证结果
+     *
+     * @param userExtRecord
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void saveUserExtRecord(SysUserExtRecord userExtRecord) {
+        HnqzUser hnqzUser = SecurityUtils.getUser();
 
-		// 作废已有数据
-		this.update(Wrappers.<SysUserExtRecord>lambdaUpdate()
-				.eq(SysUserExtRecord::getUserId, hnqzUser.getId())
-				.eq(SysUserExtRecord::getDelFlag, DelEnum.NOT_DEL.val())
-				.set(SysUserExtRecord::getDelFlag, DelEnum.DELETED.val()));
-		// 新增一条数据
-		SysUserExtRecord insertExtRecord = BeanUtil.copyProperties(userExtRecord, SysUserExtRecord.class);
-		insertExtRecord.setUserId(hnqzUser.getId());
-		insertExtRecord.setDeptId(hnqzUser.getDeptId());
-		insertExtRecord.setCreateTime(LocalDateTime.now());
-		insertExtRecord.setCreateUser(hnqzUser.getId());
-		this.save(insertExtRecord);
-	}
+        // 作废已有数据
+        this.update(Wrappers.<SysUserExtRecord>lambdaUpdate()
+                .eq(SysUserExtRecord::getUserId, hnqzUser.getId())
+                .eq(SysUserExtRecord::getDelFlag, DelEnum.NOT_DEL.getVal())
+                .set(SysUserExtRecord::getDelFlag, DelEnum.DELETED.getVal()));
+        // 新增一条数据
+        SysUserExtRecord insertExtRecord = BeanUtil.copyProperties(userExtRecord, SysUserExtRecord.class);
+        insertExtRecord.setUserId(hnqzUser.getId());
+        insertExtRecord.setDeptId(hnqzUser.getDeptId());
+        insertExtRecord.setCreateTime(LocalDateTime.now());
+        insertExtRecord.setCreateUser(hnqzUser.getId());
+        this.save(insertExtRecord);
+    }
 
-	/**
-	 * 查询E证通是否认证过
-	 *
-	 * @return
-	 */
-	@Override
-	public boolean existUserExtRecord() {
-		Integer userId = SecurityUtils.getUser().getId();
-		int count = this.count(Wrappers.<SysUserExtRecord>lambdaQuery()
-				.eq(SysUserExtRecord::getUserId, userId)
-				.eq(SysUserExtRecord::getDelFlag, DelEnum.NOT_DEL.val()));
+    /**
+     * 查询E证通是否认证过
+     *
+     * @return
+     */
+    @Override
+    public boolean existUserExtRecord() {
+        Integer userId = SecurityUtils.getUser().getId();
+        int count = this.count(Wrappers.<SysUserExtRecord>lambdaQuery()
+                .eq(SysUserExtRecord::getUserId, userId)
+                .eq(SysUserExtRecord::getDelFlag, DelEnum.NOT_DEL.getVal()));
 
-		return count > 0;
-	}
+        return count > 0;
+    }
 
-	/**
-	 * 保存E证通认证结果
-	 *
-	 * @param data
-	 */
-	@Override
-	@Transactional(rollbackFor = Exception.class)
-	public void eidResultHandler(JSONObject data) {
-		// 认证成功,则保存
-		SysUserExtRecord userExtRecord = new SysUserExtRecord();
-		userExtRecord.setRealName(data.getStr("realName"));
-		userExtRecord.setIdCardNumber(data.getStr("idCard"));
-		userExtRecord.setBestFrameBase64(data.getStr("bestFrameBase64"));
-		userExtRecord.setBestFrameUrl(data.getStr("bestFrameUrl"));
-		userExtRecord.setIdCardFrontBase64(data.getStr("idCardFrontBase64"));
-		userExtRecord.setIdCardBackBase64(data.getStr("idCardBackBase64"));
-		userExtRecord.setIdCardFrontUrl(data.getStr("idCardFrontUrl"));
-		userExtRecord.setIdCardBackUrl(data.getStr("idCardBackUrl"));
-		userExtRecord.setEtoken(data.getStr("etoken"));
-		this.saveUserExtRecord(userExtRecord);
-	}
+    /**
+     * 保存E证通认证结果
+     *
+     * @param data
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void eidResultHandler(JSONObject data) {
+        // 认证成功,则保存
+        SysUserExtRecord userExtRecord = new SysUserExtRecord();
+        userExtRecord.setRealName(data.getStr("realName"));
+        userExtRecord.setIdCardNumber(data.getStr("idCard"));
+        userExtRecord.setBestFrameBase64(data.getStr("bestFrameBase64"));
+        userExtRecord.setBestFrameUrl(data.getStr("bestFrameUrl"));
+        userExtRecord.setIdCardFrontBase64(data.getStr("idCardFrontBase64"));
+        userExtRecord.setIdCardBackBase64(data.getStr("idCardBackBase64"));
+        userExtRecord.setIdCardFrontUrl(data.getStr("idCardFrontUrl"));
+        userExtRecord.setIdCardBackUrl(data.getStr("idCardBackUrl"));
+        userExtRecord.setEtoken(data.getStr("etoken"));
+        this.saveUserExtRecord(userExtRecord);
+    }
 
 }

+ 2 - 2
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/SysUserServiceImpl.java

@@ -249,7 +249,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             // 根据角色名称获取角色
             SysRole sysRole = sysRoleService.getOne(Wrappers.<SysRole>lambdaQuery()
                     .eq(SysRole::getRoleName, roleName)
-                    .eq(SysRole::getDelFlag, DelEnum.NOT_DEL.val()));
+                    .eq(SysRole::getDelFlag, DelEnum.NOT_DEL.getVal()));
             if (sysRole == null) {
                 errorInfo = "角色不存在或者未启用";
             } else {
@@ -512,7 +512,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             // 校验部门下是否有启用的用户
             int count = count(Wrappers.<SysUser>lambdaQuery().eq(SysUser::getUsername, username)
                     .eq(SysUser::getDeptId, creator.getDeptId())
-                    .eq(SysUser::getLockFlag, LockEnum.UN_LOCK.val()).eq(SysUser::getDelFlag, DelEnum.NOT_DEL.val()));
+                    .eq(SysUser::getLockFlag, LockEnum.UN_LOCK.getVal()).eq(SysUser::getDelFlag, DelEnum.NOT_DEL.getVal()));
             if (count != 0) {
                 log.info("手机号被占用");
                 errorMap(errorMap, "手机号被占用", commonUserDTO.getId());

+ 1 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDaDistributionServiceImpl.java

@@ -763,7 +763,7 @@ public class WmDaDistributionServiceImpl extends ServiceImpl<WmDaDistributionMap
 			// 重复校验
 			int count = this.count(Wrappers.<WmDaDistribution>lambdaQuery()
 					.eq(WmDaDistribution::getGsmc, name)
-					.eq(WmDaDistribution::getDelFlag, DelEnum.NOT_DEL.val()));
+					.eq(WmDaDistribution::getDelFlag, DelEnum.NOT_DEL.getVal()));
 			if (count > 0) {
 				log.error("{} 已存在", name);
 				errorMap(errorMap, "名称已存在", excelModel.getNumber());

+ 157 - 154
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDaDrugEntDrugtableServiceImpl.java

@@ -29,6 +29,7 @@ import org.springframework.stereotype.Service;
 
 import java.time.LocalDateTime;
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -47,158 +48,160 @@ import java.util.stream.Collectors;
 @AllArgsConstructor
 public class WmDaDrugEntDrugtableServiceImpl extends ServiceImpl<WmDaDrugEntDrugtableMapper, WmDaDrugEntDrugtable> implements WmDaDrugEntDrugtableService {
 
-	private final ReDeptDrugService reDeptDrugService;
-	private final SysDictItemService sysDictItemService;
-
-	@Override
-	public R listReDept(WmDaDrugEntDrugtable wmDaDrugEntDrugtable) {
-
-		List<ReDeptDrug> list = reDeptDrugService.list(Wrappers.<ReDeptDrug>lambdaQuery()
-				.eq(ReDeptDrug::getDrugId, wmDaDrugEntDrugtable.getId()));
-
-		List<String> reDeptList = list.stream().map(p -> p.getDeptId() + "").collect(Collectors.toList());
-		return R.ok(reDeptList);
-	}
-
-	/**
-	 * 获取药品
-	 *
-	 * @param page     分页信息
-	 * @param deptId   部门id
-	 * @param drugName 药品名称
-	 * @return 药品列表
-	 */
-	@Override
-	public IPage<WmDaDrugEntDrugtable> listDrugs(Page<WmDaDrugEntDrugtable> page, Integer deptId, String drugName) {
-		LambdaQueryWrapper<WmDaDrugEntDrugtable> queryWrapper = Wrappers.lambdaQuery();
-		if (StringUtils.isNotEmpty(drugName)) {
-			queryWrapper.like(WmDaDrugEntDrugtable::getDrugname, drugName);
-		}
-		if (deptId != null) {
-			final List<ReDeptDrug> reDeptDrugList = reDeptDrugService.list(Wrappers.<ReDeptDrug>lambdaQuery()
-					.eq(ReDeptDrug::getDeptId, deptId));
-			final List<Integer> drugIdList = reDeptDrugList.stream()
-					.mapToInt(ReDeptDrug::getDrugId)
-					.boxed()
-					.collect(Collectors.toList());
-			queryWrapper.in(WmDaDrugEntDrugtable::getId, drugIdList);
-		}
-
-		this.page(page, queryWrapper);
-
-		if (CollUtil.isNotEmpty(page.getRecords())) {
-			// 剂型字典
-			List<SysDictItem> doseDictItems = sysDictItemService.list(Wrappers.<SysDictItem>lambdaQuery()
-					.eq(SysDictItem::getType, "dose")
-					.eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.val()));
-			Map<String, String> doseMap = doseDictItems.stream().collect(Collectors.toMap(SysDictItem::getValue, SysDictItem::getLabel));
-			// 剂型字典
-			List<SysDictItem> guigeDictItems = sysDictItemService.list(Wrappers.<SysDictItem>lambdaQuery()
-					.eq(SysDictItem::getType, "guige")
-					.eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.val()));
-			Map<String, String> guigeMap = guigeDictItems.stream().collect(Collectors.toMap(SysDictItem::getValue, SysDictItem::getLabel));
-
-			page.getRecords().forEach(record -> {
-				if (StrUtil.isNotBlank(record.getDoseId()) && StrUtil.isBlank(record.getDoseName())) {
-					record.setDoseName(doseMap.getOrDefault(record.getDoseId(), record.getDoseId()));
-				}
-				if (StrUtil.isNotBlank(record.getGuigeId()) && StrUtil.isBlank(record.getGuigeName())) {
-					record.setGuigeName(guigeMap.getOrDefault(record.getGuigeId(), record.getGuigeId()));
-				}
-			});
-		}
-
-		return page;
-	}
-
-	/**
-	 * 根据部门id获取关联药品生产生产企业名称
-	 *
-	 * @param deptId 部门id
-	 * @return 生产企业列表
-	 */
-	@Override
-	public Set<String> listDrugProducerByDeptId(Integer deptId) {
-		Set<Integer> drugIds = reDeptDrugService.list(Wrappers.<ReDeptDrug>lambdaQuery()
-				.eq(deptId != null, ReDeptDrug::getDeptId, deptId))
-				.stream()/**/
-				.mapToInt(ReDeptDrug::getDrugId)
-				.boxed()
-				.collect(Collectors.toSet());
-
-		if (CollectionUtil.isEmpty(drugIds)){
-			return new HashSet<>(0);
-		}
-
-		return list(Wrappers.<WmDaDrugEntDrugtable>lambdaQuery()
-				.eq(WmDaDrugEntDrugtable::getDelFlag, CommonConstants.STATUS_NORMAL)
-				.eq(WmDaDrugEntDrugtable::getEnableFlag, CommonConstants.STATUS_NORMAL)
-				.in(WmDaDrugEntDrugtable::getId, drugIds))
-				.stream()
-				.map(WmDaDrugEntDrugtable::getDrugEntName)
-				.collect(Collectors.toSet());
-	}
-
-	@Override
-	public R distribute(WmDaDrugEntDrugtable wmDaDrugEntDrugtable) {
-		int id = Integer.parseInt(wmDaDrugEntDrugtable.getId());
-		List<String> deptList = wmDaDrugEntDrugtable.getReDeptList();
-
-		List<ReDeptDrug> reDeptDrugs = new ArrayList<>();
-
-		reDeptDrugService.remove(Wrappers.<ReDeptDrug>lambdaQuery().eq(ReDeptDrug::getDrugId, id));
-
-
-		for (String str : deptList) {
-			ReDeptDrug reDeptDrug = new ReDeptDrug();
-			reDeptDrug.setDeptId(Integer.parseInt(str));
-			reDeptDrug.setDrugId(id);
-			reDeptDrugs.add(reDeptDrug);
-		}
-		reDeptDrugService.saveBatch(reDeptDrugs);
-
-		WmDaDrugEntDrugtable updateEntity = new WmDaDrugEntDrugtable();
-
-		updateEntity.setId(wmDaDrugEntDrugtable.getId());
-		updateEntity.setDrugEntNum(deptList.size());
-		updateEntity.setUpdateUser(SecurityUtils.getUser().getId());
-		updateEntity.setUpdateTime(LocalDateTime.now());
-		this.baseMapper.updateById(updateEntity);
-
-
-		return R.ok();
-	}
-
-	/**
-	 * 获取分配给指定企业的药品列表
-	 *
-	 * @param deptId 部门id
-	 * @return {@link List}<{@link Map}<{@link String}, {@link String}>>
-	 */
-	@Override
-	public List<Map<String, String>> listDrugByDeptId(Integer deptId) {
-		Set<Integer> drugIds = reDeptDrugService.list(Wrappers.<ReDeptDrug>lambdaQuery()
-						.eq(ReDeptDrug::getDeptId, deptId))
-				.stream()
-				.mapToInt(ReDeptDrug::getDrugId)
-				.boxed()
-				.collect(Collectors.toSet());
-
-		if (CollectionUtil.isEmpty(drugIds)) {
-			return Collections.emptyList();
-		}
-
-		List<WmDaDrugEntDrugtable> list = this.list(Wrappers.<WmDaDrugEntDrugtable>lambdaQuery()
-				.eq(WmDaDrugEntDrugtable::getDelFlag, CommonConstants.STATUS_NORMAL)
-				.eq(WmDaDrugEntDrugtable::getEnableFlag, CommonConstants.STATUS_NORMAL)
-				.in(WmDaDrugEntDrugtable::getId, drugIds));
-
-		return list.stream()
-				.map(drug -> {
-					Map<String, String> map = new HashMap<>();
-					map.put("drug_id", drug.getId());
-					map.put("drug_name", drug.getDrugnameTy());
-					return map;
-				}).collect(Collectors.toList());
-	}
+    private final ReDeptDrugService reDeptDrugService;
+    private final SysDictItemService sysDictItemService;
+
+    @Override
+    public R listReDept(WmDaDrugEntDrugtable wmDaDrugEntDrugtable) {
+
+        List<ReDeptDrug> list = reDeptDrugService.list(Wrappers.<ReDeptDrug>lambdaQuery()
+                .eq(ReDeptDrug::getDrugId, wmDaDrugEntDrugtable.getId()));
+
+        List<String> reDeptList = list.stream().map(p -> p.getDeptId() + "").collect(Collectors.toList());
+        return R.ok(reDeptList);
+    }
+
+    /**
+     * 获取药品
+     *
+     * @param page     分页信息
+     * @param deptId   部门id
+     * @param drugName 药品名称
+     * @return 药品列表
+     */
+    @Override
+    public IPage<WmDaDrugEntDrugtable> listDrugs(Page<WmDaDrugEntDrugtable> page, Integer deptId, String drugName) {
+        LambdaQueryWrapper<WmDaDrugEntDrugtable> queryWrapper = Wrappers.lambdaQuery();
+        if (StringUtils.isNotEmpty(drugName)) {
+            queryWrapper.like(WmDaDrugEntDrugtable::getDrugname, drugName);
+        }
+        if (deptId != null) {
+            final List<ReDeptDrug> reDeptDrugList = reDeptDrugService.list(Wrappers.<ReDeptDrug>lambdaQuery()
+                    .eq(ReDeptDrug::getDeptId, deptId));
+            final List<Integer> drugIdList = reDeptDrugList.stream()
+                    .mapToInt(ReDeptDrug::getDrugId)
+                    .boxed()
+                    .collect(Collectors.toList());
+            queryWrapper.in(WmDaDrugEntDrugtable::getId, drugIdList);
+        }
+
+        this.page(page, queryWrapper);
+
+        if (CollUtil.isNotEmpty(page.getRecords())) {
+            // 剂型字典
+            List<SysDictItem> doseDictItems = sysDictItemService.list(Wrappers.<SysDictItem>lambdaQuery()
+                    .eq(SysDictItem::getType, "dose")
+                    .eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.getVal()));
+            Map<String, String> doseMap = doseDictItems.stream().collect(Collectors.toMap(SysDictItem::getValue, SysDictItem::getLabel));
+            // 剂型字典
+            List<SysDictItem> guigeDictItems = sysDictItemService.list(Wrappers.<SysDictItem>lambdaQuery()
+                    .eq(SysDictItem::getType, "guige")
+                    .eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.getVal()));
+            Map<String, String> guigeMap = guigeDictItems.stream().collect(Collectors.toMap(SysDictItem::getValue, SysDictItem::getLabel));
+
+            page.getRecords().forEach(record -> {
+                if (StrUtil.isNotBlank(record.getDoseId()) && StrUtil.isBlank(record.getDoseName())) {
+                    record.setDoseName(doseMap.getOrDefault(record.getDoseId(), record.getDoseId()));
+                }
+                if (StrUtil.isNotBlank(record.getGuigeId()) && StrUtil.isBlank(record.getGuigeName())) {
+                    record.setGuigeName(guigeMap.getOrDefault(record.getGuigeId(), record.getGuigeId()));
+                }
+            });
+        }
+
+        return page;
+    }
+
+    /**
+     * 根据部门id获取关联药品生产生产企业名称
+     *
+     * @param deptId 部门id
+     * @return 生产企业列表
+     */
+    @Override
+    public Set<String> listDrugProducerByDeptId(Integer deptId) {
+        Set<Integer> drugIds = reDeptDrugService.list(Wrappers.<ReDeptDrug>lambdaQuery()
+                        .eq(deptId != null, ReDeptDrug::getDeptId, deptId))
+                .stream()/**/
+                .mapToInt(ReDeptDrug::getDrugId)
+                .boxed()
+                .collect(Collectors.toSet());
+
+        if (CollectionUtil.isEmpty(drugIds)) {
+            return new HashSet<>(0);
+        }
+
+        return list(Wrappers.<WmDaDrugEntDrugtable>lambdaQuery()
+                .eq(WmDaDrugEntDrugtable::getDelFlag, CommonConstants.STATUS_NORMAL)
+                .eq(WmDaDrugEntDrugtable::getEnableFlag, CommonConstants.STATUS_NORMAL)
+                .in(WmDaDrugEntDrugtable::getId, drugIds))
+                .stream()
+                .map(WmDaDrugEntDrugtable::getDrugEntName)
+                .collect(Collectors.toSet());
+    }
+
+    @Override
+    public R distribute(WmDaDrugEntDrugtable wmDaDrugEntDrugtable) {
+        int id = Integer.parseInt(wmDaDrugEntDrugtable.getId());
+        List<String> deptList = wmDaDrugEntDrugtable.getReDeptList();
+
+        List<ReDeptDrug> reDeptDrugs = new ArrayList<>();
+
+        reDeptDrugService.remove(Wrappers.<ReDeptDrug>lambdaQuery().eq(ReDeptDrug::getDrugId, id));
+
+
+        for (String str : deptList) {
+            ReDeptDrug reDeptDrug = new ReDeptDrug();
+            reDeptDrug.setDeptId(Integer.parseInt(str));
+            reDeptDrug.setDrugId(id);
+            reDeptDrugs.add(reDeptDrug);
+        }
+        reDeptDrugService.saveBatch(reDeptDrugs);
+
+        WmDaDrugEntDrugtable updateEntity = new WmDaDrugEntDrugtable();
+
+        updateEntity.setId(wmDaDrugEntDrugtable.getId());
+        updateEntity.setDrugEntNum(deptList.size());
+        updateEntity.setUpdateUser(SecurityUtils.getUser().getId());
+        updateEntity.setUpdateTime(LocalDateTime.now());
+        this.baseMapper.updateById(updateEntity);
+
+
+        return R.ok();
+    }
+
+    /**
+     * 获取分配给指定企业的药品列表
+     *
+     * @param deptId 部门id
+     * @return {@link List}<{@link Map}<{@link String}, {@link String}>>
+     */
+    @Override
+    public List<Map<String, String>> listDrugByDeptId(Collection<Integer> deptId) {
+        Set<Integer> drugIds = reDeptDrugService.list(Wrappers.<ReDeptDrug>lambdaQuery()
+                        .in(CollUtil.isNotEmpty(deptId), ReDeptDrug::getDeptId, deptId))
+                .stream()
+                .mapToInt(ReDeptDrug::getDrugId)
+                .boxed()
+                .collect(Collectors.toSet());
+
+        if (CollectionUtil.isEmpty(drugIds)) {
+            return Collections.emptyList();
+        }
+
+        List<WmDaDrugEntDrugtable> list = this.list(Wrappers.<WmDaDrugEntDrugtable>lambdaQuery()
+                .eq(WmDaDrugEntDrugtable::getDelFlag, CommonConstants.STATUS_NORMAL)
+                .eq(WmDaDrugEntDrugtable::getEnableFlag, CommonConstants.STATUS_NORMAL)
+                .in(WmDaDrugEntDrugtable::getId, drugIds));
+
+        return list.stream()
+                .map(drug -> {
+                    Map<String, String> map = new HashMap<>(4);
+                    map.put("drug_id", drug.getId());
+                    map.put("drug_name", drug.getDrugnameTy());
+                    map.put("drug_name1", drug.getDrugname());
+                    map.put("ent_name", drug.getDrugEntName());
+                    return map;
+                }).collect(Collectors.toList());
+    }
 }

+ 1 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDaHospitalServiceImpl.java

@@ -826,7 +826,7 @@ public class WmDaHospitalServiceImpl extends ServiceImpl<WmDaHospitalMapper, WmD
             // 重复校验
             int count = this.count(Wrappers.<WmDaHospital>lambdaQuery()
                     .eq(WmDaHospital::getYymc, name)
-                    .eq(WmDaHospital::getDelFlag, DelEnum.NOT_DEL.val()));
+                    .eq(WmDaHospital::getDelFlag, DelEnum.NOT_DEL.getVal()));
             if (count > 0) {
                 log.error("{} 已存在", name);
                 errorMap(errorMap, "名称已存在", excelModel.getNumber());

+ 1 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDaPharmacyServiceImpl.java

@@ -501,7 +501,7 @@ public class WmDaPharmacyServiceImpl extends ServiceImpl<WmDaPharmacyMapper, WmD
             // 重复校验
             int count = this.count(Wrappers.<WmDaPharmacy>lambdaQuery()
                     .eq(WmDaPharmacy::getPharmacyName, name)
-                    .eq(WmDaPharmacy::getDelFlag, DelEnum.NOT_DEL.val()));
+                    .eq(WmDaPharmacy::getDelFlag, DelEnum.NOT_DEL.getVal()));
             if (count > 0) {
                 log.error("{} 已存在", name);
                 errorMap(errorMap, "名称已存在", excelModel.getNumber());

+ 2 - 2
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDeptTaskServiceImpl.java

@@ -677,7 +677,7 @@ public class WmDeptTaskServiceImpl implements WmDeptTaskService {
 		List<WmTask> queryTaskList = wmTaskService.list(Wrappers.<WmTask>lambdaQuery()
 				.in(WmTask::getScorePackageId, allPackageIds)
 				.eq(WmTask::getEnableFlag, EnableEnum.ENABLE.val())
-				.eq(WmTask::getDelFlag, DelEnum.NOT_DEL.val())
+				.eq(WmTask::getDelFlag, DelEnum.NOT_DEL.getVal())
 				.eq(WmTask::getTaskStatus, TaskStatusEnum.APPROVED.val()));
 
 		// 校验是否超过可分配积分值
@@ -692,7 +692,7 @@ public class WmDeptTaskServiceImpl implements WmDeptTaskService {
 		// 查询taskType
 		List<WmTaskType> taskTypeList = wmTaskTypeService.list(Wrappers.<WmTaskType>lambdaQuery()
 				.eq(WmTaskType::getTaskTypeLevel, "1")
-				.eq(WmTaskType::getDelFlag, DelEnum.NOT_DEL.val())
+				.eq(WmTaskType::getDelFlag, DelEnum.NOT_DEL.getVal())
 				.eq(WmTaskType::getEnableFlag, EnableEnum.ENABLE.val()));
 		// 企业任务类型id
 		List<String> entTaskTypeIds = taskTypeList.stream()

+ 11 - 11
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDeptTaskTypeConfigServiceImpl.java

@@ -210,7 +210,7 @@ public class WmDeptTaskTypeConfigServiceImpl extends ServiceImpl<WmDeptTaskTypeC
 		wmDeptTaskTypeConfigDTO.getConfigList().forEach(configJsonDTO -> {
 			// 查询任务名称对应的基础任务类型id
 			WmTaskType baseTaskType = wmTaskTypeService.getOne(Wrappers.<WmTaskType>lambdaQuery()
-					.eq(WmTaskType::getDelFlag, DelEnum.NOT_DEL.val())
+					.eq(WmTaskType::getDelFlag, DelEnum.NOT_DEL.getVal())
 					.eq(WmTaskType::getTaskTypeLevel, "1")
 					.eq(WmTaskType::getTaskTypeName, configJsonDTO.getTaskTypeName()));
 			configJsonDTO.setTaskTypeId(baseTaskType.getId());
@@ -257,19 +257,19 @@ public class WmDeptTaskTypeConfigServiceImpl extends ServiceImpl<WmDeptTaskTypeC
 		if (DeptLevelEnum.ENT.getVal().equals(dept.getLevel())) {
 			WmDaDrugEnt wmDaDrugEnt = wmDaDrugEntMapper.selectOne(Wrappers.<WmDaDrugEnt>lambdaQuery()
 					.eq(WmDaDrugEnt::getDeptId, deptId)
-					.eq(WmDaDrugEnt::getDelFlag, DelEnum.NOT_DEL.val()));
+					.eq(WmDaDrugEnt::getDelFlag, DelEnum.NOT_DEL.getVal()));
 			durgentId = wmDaDrugEnt.getId();
 		} else {
 			WmDaAgent wmDaAgent = wmDaAgentMapper.selectOne(Wrappers.<WmDaAgent>lambdaQuery()
 					.eq(WmDaAgent::getDeptId, deptId)
-					.eq(WmDaAgent::getDelFlag, DelEnum.NOT_DEL.val()));
+					.eq(WmDaAgent::getDelFlag, DelEnum.NOT_DEL.getVal()));
 			durgentId = wmDaAgent.getId();
 		}
 		List<WmTaskType> taskTypeList = wmTaskTypeService.list(Wrappers.<WmTaskType>lambdaQuery()
 				.eq(WmTaskType::getDeptId, deptId)
 				.eq(WmTaskType::getRuleId, durgentId)
 				.eq(WmTaskType::getTaskEntId, durgentId)
-				.eq(WmTaskType::getDelFlag, DelEnum.NOT_DEL.val()));
+				.eq(WmTaskType::getDelFlag, DelEnum.NOT_DEL.getVal()));
 
 		WmDeptTaskTypeConfig deptTaskTypeConfig = this.getOne(Wrappers.<WmDeptTaskTypeConfig>lambdaQuery()
 				.eq(WmDeptTaskTypeConfig::getDeptId, deptId));
@@ -376,12 +376,12 @@ public class WmDeptTaskTypeConfigServiceImpl extends ServiceImpl<WmDeptTaskTypeC
 		if (DeptLevelEnum.ENT.getVal().equals(dept.getLevel())) {
 			WmDaDrugEnt wmDaDrugEnt = wmDaDrugEntMapper.selectOne(Wrappers.<WmDaDrugEnt>lambdaQuery()
 					.eq(WmDaDrugEnt::getDeptId, deptId)
-					.eq(WmDaDrugEnt::getDelFlag, DelEnum.NOT_DEL.val()));
+					.eq(WmDaDrugEnt::getDelFlag, DelEnum.NOT_DEL.getVal()));
 			durgentId = wmDaDrugEnt.getId();
 		} else {
 			WmDaAgent wmDaAgent = wmDaAgentMapper.selectOne(Wrappers.<WmDaAgent>lambdaQuery()
 					.eq(WmDaAgent::getDeptId, deptId)
-					.eq(WmDaAgent::getDelFlag, DelEnum.NOT_DEL.val()));
+					.eq(WmDaAgent::getDelFlag, DelEnum.NOT_DEL.getVal()));
 			durgentId = wmDaAgent.getId();
 		}
 		// 查询企业对应的任务类型
@@ -389,7 +389,7 @@ public class WmDeptTaskTypeConfigServiceImpl extends ServiceImpl<WmDeptTaskTypeC
 		taskTypeWrapper.eq(WmTaskType::getDeptId, deptId);
 		taskTypeWrapper.eq(WmTaskType::getRuleId, durgentId);
 		taskTypeWrapper.eq(WmTaskType::getTaskEntId, durgentId);
-		taskTypeWrapper.eq(WmTaskType::getDelFlag, DelEnum.NOT_DEL.val());
+		taskTypeWrapper.eq(WmTaskType::getDelFlag, DelEnum.NOT_DEL.getVal());
 		if (org.apache.commons.lang.StringUtils.isNotBlank(taskTypeName)) {
 			taskTypeWrapper.like(WmTaskType::getTaskTypeName, taskTypeName);
 		}
@@ -541,14 +541,14 @@ public class WmDeptTaskTypeConfigServiceImpl extends ServiceImpl<WmDeptTaskTypeC
 				}
 			});
 		}
-		taskWrapper.eq("t.del_flag", DelEnum.NOT_DEL.val());
+		taskWrapper.eq("t.del_flag", DelEnum.NOT_DEL.getVal());
 		taskWrapper.eq("t.real_flag", "0");
 		taskWrapper.in("t.task_status", taskStatus);
 		// 如果是个人承接-按积分值,判断当前用户是否配置了团队负责人
 		List<WmTeam> teamList = wmTeamMapper.selectList(Wrappers.<WmTeam>lambdaQuery()
 				.eq(WmTeam::getDeptId, deptId)
 				.eq(WmTeam::getEnableFlag, EnableEnum.ENABLE.val())
-				.eq(WmTeam::getDelFlag, DelEnum.NOT_DEL.val())
+				.eq(WmTeam::getDelFlag, DelEnum.NOT_DEL.getVal())
 				.apply("FIND_IN_SET({0}, leader)", String.valueOf(userId)));
 		if (CollectionUtil.isNotEmpty(teamList)) {
 			// 如果配置了,则只查询所在团队下发的积分包
@@ -590,7 +590,7 @@ public class WmDeptTaskTypeConfigServiceImpl extends ServiceImpl<WmDeptTaskTypeC
 			LambdaQueryWrapper<WmScorePackage> scorePackageWrapper = Wrappers.lambdaQuery();
 			scorePackageWrapper.eq(WmScorePackage::getSendPackageDeptId, deptId);
 			scorePackageWrapper.eq(WmScorePackage::getEnableFlag, EnableEnum.ENABLE.val());
-			scorePackageWrapper.eq(WmScorePackage::getDelFlag, DelEnum.NOT_DEL.val());
+			scorePackageWrapper.eq(WmScorePackage::getDelFlag, DelEnum.NOT_DEL.getVal());
 			scorePackageWrapper.eq(WmScorePackage::getPackageType1, PackageTypeEnum.TYPE1_SCOTE_PACKAGE.val());
 			scorePackageWrapper.eq(WmScorePackage::getPackageType2, PackageTypeEnum.TYPE2_TASK_PACKAGE.val());
 			scorePackageWrapper.ge(WmScorePackage::getScorePackageStatus, ScorePackageStatusEnum.IN_PROGRESS.val());
@@ -654,7 +654,7 @@ public class WmDeptTaskTypeConfigServiceImpl extends ServiceImpl<WmDeptTaskTypeC
 	private void getAllLowerScorePackages(Set<String> ids, List<WmScorePackage> res) {
 		List<WmScorePackage> subList = wmScorePackageService.list(Wrappers.<WmScorePackage>lambdaQuery()
 				.in(WmScorePackage::getRelationScoreId, ids)
-				.eq(WmScorePackage::getDelFlag, DelEnum.NOT_DEL.val())
+				.eq(WmScorePackage::getDelFlag, DelEnum.NOT_DEL.getVal())
 				.eq(WmScorePackage::getEnableFlag, EnableEnum.ENABLE.val()));
 
 		if (CollectionUtil.isNotEmpty(subList)) {

+ 5 - 5
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmReportServiceImpl.java

@@ -1138,7 +1138,7 @@ public class WmReportServiceImpl extends ServiceImpl<WmReportMapper, WmReport> i
 		LambdaQueryWrapper<WmTaskType> queryWrapper = Wrappers.<WmTaskType>lambdaQuery()
 				.eq(WmTaskType::getTaskTypeLevel, "1")
 				.eq(WmTaskType::getEnableFlag, EnableEnum.ENABLE.val())
-				.eq(WmTaskType::getDelFlag, DelEnum.NOT_DEL.val());
+				.eq(WmTaskType::getDelFlag, DelEnum.NOT_DEL.getVal());
 		if (StrUtil.isNotBlank(taskTypeName)) {
 			queryWrapper.eq(WmTaskType::getTaskTypeName, taskTypeName);
 		} else {
@@ -1316,7 +1316,7 @@ public class WmReportServiceImpl extends ServiceImpl<WmReportMapper, WmReport> i
 		if (StrUtil.isNotBlank(taskTypeId)) {
 			lambdaQueryWrapper.eq(WmTask::getTaskTypeId, taskTypeId);
 		}
-		lambdaQueryWrapper.eq(WmTask::getDelFlag, DelEnum.NOT_DEL.val());
+		lambdaQueryWrapper.eq(WmTask::getDelFlag, DelEnum.NOT_DEL.getVal());
 		lambdaQueryWrapper.orderByDesc(WmTask::getLookintoDate);
 		List<WmTask> taskList = wmTaskMapper.selectList(lambdaQueryWrapper);
 
@@ -1357,7 +1357,7 @@ public class WmReportServiceImpl extends ServiceImpl<WmReportMapper, WmReport> i
 				// 拜访目的字典值
 				List<SysDictItem> itemList = sysDictItemMapper.selectList(Wrappers.<SysDictItem>lambdaQuery()
 						.in(SysDictItem::getType, "user_sign_detail_purpose", "user_sign_detail_distribution_purpose", "user_sign_detail_pharmacy_purpose")
-						.eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.val()));
+						.eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.getVal()));
 				userSignPurposeMap.putAll(itemList.stream().collect(Collectors.groupingBy(SysDictItem::getType)));
 			}
 
@@ -1384,7 +1384,7 @@ public class WmReportServiceImpl extends ServiceImpl<WmReportMapper, WmReport> i
 			queryConn.setEnableFlag("0");
 			List<WmTaskContentConfig> listConfig =
 					wmTaskContentConfigMapper.selectList(Wrappers.<WmTaskContentConfig>lambdaQuery()
-							.eq(WmTaskContentConfig::getDelFlag, DelEnum.NOT_DEL.val())
+							.eq(WmTaskContentConfig::getDelFlag, DelEnum.NOT_DEL.getVal())
 							.eq(WmTaskContentConfig::getEnableFlag, EnableEnum.ENABLE.val())
 							.in(WmTaskContentConfig::getTaskTypeId, configedTaskTypeId));
 			Map<String, List<WmTaskContentConfig>> taskContentConfigMap = new HashMap<>();
@@ -1399,7 +1399,7 @@ public class WmReportServiceImpl extends ServiceImpl<WmReportMapper, WmReport> i
 				if (CollUtil.isNotEmpty(selectDictSet)) {
 					List<SysDictItem> selectItemList = sysDictItemMapper.selectList(Wrappers.<SysDictItem>lambdaQuery()
 							.in(SysDictItem::getType, selectDictSet)
-							.eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.val()));
+							.eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.getVal()));
 					selectItemMap.putAll(selectItemList.stream().collect(Collectors.groupingBy(SysDictItem::getType)));
 				}
 			}

+ 7 - 7
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmScorePackageServiceImpl.java

@@ -1951,7 +1951,7 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
         // 拼接字典中的数据
         List<SysDictItem> packageUserScoreItems = sysDictItemService.list(Wrappers.<SysDictItem>lambdaQuery()
                 .eq(SysDictItem::getType, "package_user_scope")
-                .eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.val()));
+                .eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.getVal()));
         packageUserScopeMap.putAll(packageUserScoreItems.stream()
                 .collect(Collectors.toMap(item -> Integer.parseInt(item.getValue()), SysDictItem::getLabel)));
 
@@ -2043,7 +2043,7 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
                 .eq(WmScorePackage::getDeptId, deptId)
                 .eq(WmScorePackage::getPackageType1, PackageTypeEnum.TYPE1_HCP_PACKAGE.val())
                 .eq(WmScorePackage::getPackageType2, PackageTypeEnum.TYPE2_SETTLE_PACKAGE.val())
-                .eq(WmScorePackage::getDelFlag, DelEnum.NOT_DEL.val())
+                .eq(WmScorePackage::getDelFlag, DelEnum.NOT_DEL.getVal())
                 .eq(WmScorePackage::getEnableFlag, EnableEnum.ENABLE.val())
                 .eq(WmScorePackage::getSourceType, "1")
                 .eq(WmScorePackage::getTypeid, 4);
@@ -3251,7 +3251,7 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
         QueryWrapper<WmTask> queryWrapper = Wrappers.query();
         queryWrapper.eq("task_status", TaskStatusEnum.APPROVED.val());
         queryWrapper.eq("score_package_id", unpackDTO.getScorePackageId());
-        queryWrapper.eq("del_flag", DelEnum.NOT_DEL.val());
+        queryWrapper.eq("del_flag", DelEnum.NOT_DEL.getVal());
         queryWrapper.eq("real_flag", "0");
         queryWrapper.orderByDesc("lookinto_date");
         List<WmTask> taskList = wmTaskMapper.selectList(queryWrapper);
@@ -3394,7 +3394,7 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
         }
         // 查询所有任务
         List<WmTask> taskList = wmTaskMapper.selectList(Wrappers.<WmTask>lambdaQuery().eq(WmTask::getScorePackageId, packageId)
-                .eq(WmTask::getDelFlag, DelEnum.NOT_DEL.val())
+                .eq(WmTask::getDelFlag, DelEnum.NOT_DEL.getVal())
                 .eq(WmTask::getEnableFlag, EnableEnum.ENABLE.val()));
         int approvedScore = 0;
         if (CollUtil.isNotEmpty(taskList)) {
@@ -3710,7 +3710,7 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
         // 查询企业下的积分包
         LambdaQueryWrapper<WmScorePackage> queryWrapper = Wrappers.<WmScorePackage>lambdaQuery()
                 .in(WmScorePackage::getTypeid, typeIds)
-                .eq(WmScorePackage::getDelFlag, DelEnum.NOT_DEL.val())
+                .eq(WmScorePackage::getDelFlag, DelEnum.NOT_DEL.getVal())
                 .eq(WmScorePackage::getEnableFlag, EnableEnum.ENABLE.val())
                 .eq(WmScorePackage::getOldPackage, "0");
         if (superDeptId != null) {
@@ -3729,7 +3729,7 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
             Set<String> packageIdSet = packages.stream().map(WmScorePackage::getId).collect(Collectors.toSet());
             List<WmScorePackage> subPackages = this.list(Wrappers.<WmScorePackage>lambdaQuery()
                     .in(WmScorePackage::getRelationScoreId, packageIdSet)
-                    .eq(WmScorePackage::getDelFlag, DelEnum.NOT_DEL.val())
+                    .eq(WmScorePackage::getDelFlag, DelEnum.NOT_DEL.getVal())
                     .eq(WmScorePackage::getEnableFlag, EnableEnum.ENABLE.val())
                     .ne(WmScorePackage::getScorePackageStatus, ScorePackageStatusEnum.TERMINATED.val()));
             Map<String, Integer> relatedPackageScoresMap = new HashMap<>();
@@ -3742,7 +3742,7 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
             // 查询当前积分包的直接关联的任务
             List<WmTask> tasks = wmTaskMapper.selectList(Wrappers.<WmTask>lambdaQuery()
                     .in(WmTask::getScorePackageId, packageIdSet)
-                    .eq(WmTask::getDelFlag, DelEnum.NOT_DEL.val())
+                    .eq(WmTask::getDelFlag, DelEnum.NOT_DEL.getVal())
                     .eq(WmTask::getEnableFlag, EnableEnum.ENABLE.val())
                     .eq(WmTask::getTaskStatus, TaskStatusEnum.APPROVED.val()));
             Map<String, Integer> relatedTaskScoresMap = new HashMap<>();

+ 7 - 7
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmTaskServiceImpl.java

@@ -1795,7 +1795,7 @@ public class WmTaskServiceImpl extends ServiceImpl<WmTaskMapper, WmTask> impleme
 		// 查询积分包状态,此处只取第一条即可(固定只能一个人领取)
 		Wrapper<WmScorePackageStatus> queryWrapper = Wrappers.<WmScorePackageStatus>lambdaQuery()
 				.eq(WmScorePackageStatus::getPackageId, scorePackage.getId())
-				.eq(WmScorePackageStatus::getDelFlag, DelEnum.NOT_DEL.val())
+				.eq(WmScorePackageStatus::getDelFlag, DelEnum.NOT_DEL.getVal())
 				.eq(WmScorePackageStatus::getEnableFlag, EnableEnum.ENABLE.val());
 		List<WmScorePackageStatus> packageStatusList = wmScorePackageStatusService.list(queryWrapper);
 		WmScorePackageStatus scorePackageStatus = packageStatusList.get(0);
@@ -1808,7 +1808,7 @@ public class WmTaskServiceImpl extends ServiceImpl<WmTaskMapper, WmTask> impleme
 		WmTask queryTask = new WmTask();
 		queryTask.setScorePackageId(scorePackage.getId());
 		queryTask.setTaskUserId(scorePackageStatus.getUserId());
-		queryTask.setDelFlag(DelEnum.NOT_DEL.val());
+		queryTask.setDelFlag(DelEnum.NOT_DEL.getVal());
 		queryTask.setEnableFlag(EnableEnum.ENABLE.val());
 		queryTask.setTaskStatus(TaskStatusEnum.APPROVED.val());
 		List<WmTask> wmTasks = wmTaskMapper.selectList(Wrappers.query(queryTask));
@@ -1822,7 +1822,7 @@ public class WmTaskServiceImpl extends ServiceImpl<WmTaskMapper, WmTask> impleme
 		WmTask task = new WmTask();
 		task.setScorePackageId(scorePackage.getId());
 		task.setTaskUserId(scorePackageStatus.getUserId());
-		task.setDelFlag(DelEnum.NOT_DEL.val());
+		task.setDelFlag(DelEnum.NOT_DEL.getVal());
 		task.setEnableFlag(EnableEnum.ENABLE.val());
 		task.setTaskStatus(TaskStatusEnum.APPROVED.val());
 		wmTask.setDeptId(String.valueOf(scorePackage.getDeptId()));
@@ -1832,7 +1832,7 @@ public class WmTaskServiceImpl extends ServiceImpl<WmTaskMapper, WmTask> impleme
 		task.setCreateTime(now);
 		task.setLookintoDate(now);
 		task.setTaskStatus(TaskStatusEnum.APPROVED.val());
-		task.setDelFlag(DelEnum.NOT_DEL.val());
+		task.setDelFlag(DelEnum.NOT_DEL.getVal());
 		task.setEnableFlag(EnableEnum.ENABLE.val());
 		// 这里的任务即处方,积分值改为患教服务费
 		WmTaskContent taskContent = wmTask.getWmTaskContent();
@@ -2141,8 +2141,8 @@ public class WmTaskServiceImpl extends ServiceImpl<WmTaskMapper, WmTask> impleme
 						.eq(SysUser::getUsername, commonEvidenceDTO.getUsername())
 						.eq(SysUser::getDeptId, creator.getDeptId())
 						.eq(SysUser::getRealname, commonEvidenceDTO.getRealName())
-						.eq(SysUser::getDelFlag, DelEnum.NOT_DEL.val())
-						.eq(SysUser::getLockFlag, LockEnum.UN_LOCK.val()));
+						.eq(SysUser::getDelFlag, DelEnum.NOT_DEL.getVal())
+						.eq(SysUser::getLockFlag, LockEnum.UN_LOCK.getVal()));
 				if (user == null) {
 					log.error("用户不存在");
 					errorMap(errorMap, "用户不存在", commonEvidenceDTO.getId());
@@ -2158,7 +2158,7 @@ public class WmTaskServiceImpl extends ServiceImpl<WmTaskMapper, WmTask> impleme
 				List<WmTask> wmTasks = wmTaskMapper.selectList(Wrappers.<WmTask>lambdaQuery()
 						.eq(WmTask::getScorePackageId, scorePackage.getId())
 						.eq(WmTask::getTaskUserId, user.getUserId())
-						.eq(WmTask::getDelFlag, DelEnum.NOT_DEL.val())
+						.eq(WmTask::getDelFlag, DelEnum.NOT_DEL.getVal())
 						.eq(WmTask::getEnableFlag, EnableEnum.ENABLE.val())
 						// 审核通过
 						.eq(WmTask::getTaskStatus, "3")

+ 1 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmTaskSubmissionPercentRuleServiceImpl.java

@@ -163,7 +163,7 @@ public class WmTaskSubmissionPercentRuleServiceImpl
 				if (scorePackage.getScore() > rule.getStartScore()) {
 					LambdaQueryWrapper<WmTask> queryWrapper = Wrappers.<WmTask>lambdaQuery()
 							.eq(WmTask::getRealFlag, "0")
-							.eq(WmTask::getDelFlag, DelEnum.NOT_DEL.val())
+							.eq(WmTask::getDelFlag, DelEnum.NOT_DEL.getVal())
 							.in(WmTask::getScorePackageId, scorePackage.getId())
 							.in(WmTask::getTaskTypeId, toCheckTaskTypes)
 							.ne(WmTask::getTaskStatus, "4");

+ 1 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmTaskSubmissionRuleServiceImpl.java

@@ -56,7 +56,7 @@ public class WmTaskSubmissionRuleServiceImpl extends ServiceImpl<WmTaskSubmissio
         // 结果根据字典顺序排列
         List<SysDictItem> taskCategorys = sysDictItemMapper.selectList(Wrappers.<SysDictItem>lambdaQuery()
                 .eq(SysDictItem::getType, "task_category")
-                .eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.val()));
+                .eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.getVal()));
 
         taskCategorys.forEach(taskCate -> {
             UpmsType.TaskCategory taskCategory = Enum.valueOf(UpmsType.TaskCategory.class, taskCate.getValue());

+ 4 - 4
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmTaskTypeSubCate2ServiceImpl.java

@@ -60,21 +60,21 @@ public class WmTaskTypeSubCate2ServiceImpl extends ServiceImpl<WmTaskTypeSubCate
 
 		// 查询企业对应的任务类型
 		LambdaQueryWrapper<WmTaskType> taskTypeWrapper = Wrappers.lambdaQuery();
-		taskTypeWrapper.eq(WmTaskType::getDelFlag, DelEnum.NOT_DEL.val());
+		taskTypeWrapper.eq(WmTaskType::getDelFlag, DelEnum.NOT_DEL.getVal());
 		// 根据企业类型拼接查询条件
 		if (DeptLevelEnum.ADMIN.getVal().equals(dept.getLevel())) {
 			taskTypeWrapper.eq(WmTaskType::getTaskTypeLevel, "1");
 		} else if (DeptLevelEnum.ENT.getVal().equals(dept.getLevel())) {
 			WmDaDrugEnt wmDaDrugEnt = wmDaDrugEntMapper.selectOne(Wrappers.<WmDaDrugEnt>lambdaQuery()
 					.eq(WmDaDrugEnt::getDeptId, deptId)
-					.eq(WmDaDrugEnt::getDelFlag, DelEnum.NOT_DEL.val()));
+					.eq(WmDaDrugEnt::getDelFlag, DelEnum.NOT_DEL.getVal()));
 			taskTypeWrapper.eq(WmTaskType::getDeptId, deptId);
 			taskTypeWrapper.eq(WmTaskType::getRuleId, wmDaDrugEnt.getId());
 			taskTypeWrapper.eq(WmTaskType::getTaskEntId, wmDaDrugEnt.getId());
 		} else {
 			WmDaAgent wmDaAgent = wmDaAgentMapper.selectOne(Wrappers.<WmDaAgent>lambdaQuery()
 					.eq(WmDaAgent::getDeptId, deptId)
-					.eq(WmDaAgent::getDelFlag, DelEnum.NOT_DEL.val()));
+					.eq(WmDaAgent::getDelFlag, DelEnum.NOT_DEL.getVal()));
 			taskTypeWrapper.eq(WmTaskType::getDeptId, deptId);
 			taskTypeWrapper.eq(WmTaskType::getRuleId, wmDaAgent.getId());
 			taskTypeWrapper.eq(WmTaskType::getTaskEntId, wmDaAgent.getId());
@@ -86,7 +86,7 @@ public class WmTaskTypeSubCate2ServiceImpl extends ServiceImpl<WmTaskTypeSubCate
 				.eq(WmTaskType::getTaskTypeLevel, "1")
 //				.eq(WmTaskType::getEnableFlag, EnableEnum.ENABLE.val())
 				.eq(WmTaskType::getStatus, "0")
-				.eq(WmTaskType::getDelFlag, DelEnum.NOT_DEL.val()));
+				.eq(WmTaskType::getDelFlag, DelEnum.NOT_DEL.getVal()));
 		Map<String, String> baseTaskTypeMap = baseTaskTypeList.stream()
 				.collect(Collectors.toMap(WmTaskType::getTaskTypeName, WmTaskType::getId));
 

+ 3 - 3
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmTeamServiceImpl.java

@@ -72,7 +72,7 @@ public class WmTeamServiceImpl extends ServiceImpl<WmTeamMapper, WmTeam> impleme
 		// 该企业下所有团队的已配置人员
 		List<WmTeam> deptTeamList = this.list(Wrappers.<WmTeam>lambdaQuery()
 				.eq(WmTeam::getDeptId, deptId)
-				.eq(WmTeam::getDelFlag, DelEnum.NOT_DEL.val()));
+				.eq(WmTeam::getDelFlag, DelEnum.NOT_DEL.getVal()));
 		Set<Integer> assignedUserSet = new HashSet<>();
 		deptTeamList.forEach(wmTeam -> {
 			if (StrUtil.isAllNotBlank(wmTeam.getMember())) {
@@ -181,7 +181,7 @@ public class WmTeamServiceImpl extends ServiceImpl<WmTeamMapper, WmTeam> impleme
 			SysDictItem dictItem = sysDictItemService.getOne(Wrappers.<SysDictItem>lambdaQuery()
 					.eq(SysDictItem::getType, "package_user_scope")
 					.eq(SysDictItem::getValue, packageUserScope)
-					.eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.val()));
+					.eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.getVal()));
 			packageUserScopeName = dictItem.getLabel();
 		}
 		return packageUserScopeName;
@@ -262,7 +262,7 @@ public class WmTeamServiceImpl extends ServiceImpl<WmTeamMapper, WmTeam> impleme
 				.eq(SysUser::getDeptId, team.getDeptId())
 				.eq(SysUser::getRealname, excel.getRealname())
 				.eq(SysUser::getUsername, excel.getUsername())
-				.eq(SysUser::getDelFlag, DelEnum.NOT_DEL.val()));
+				.eq(SysUser::getDelFlag, DelEnum.NOT_DEL.getVal()));
 		SysUser sysUser = null;
 		if (CollectionUtil.isEmpty(sysUsers)) {
 			log.error("用户在当前企业不存在");

+ 3 - 2
hnqz-upms/hnqz-upms-biz/src/main/resources/mapper/WmDaAgentMapper.xml

@@ -312,13 +312,14 @@
     </select>
 
     <select id="selectWmDaDrugEntByDeptId" resultMap="wmDaAgentMap" parameterType="java.util.HashMap">
-        select d.id,d.gsmc
+
+        select d.id,d.dept_id, d.gsmc
         from wm_da_agent d
         left join wm_relation r on r.down_id=d.dept_id
         left join wm_da_drug_ent o on r.up_id=o.dept_id
         where r.up_id = #{upId,jdbcType=INTEGER}
         UNION
-        select id,entname from wm_da_drug_ent where dept_id= #{deptId,jdbcType=INTEGER}
+        select id,dept_id,entname from wm_da_drug_ent where dept_id= #{deptId,jdbcType=INTEGER}
 
     </select>
 

+ 8 - 8
hnqz-upms/hnqz-upms-biz/src/test/java/com/qunzhixinxi/hnqz/admin/WmTaskTypeServiceTest.java

@@ -155,7 +155,7 @@ public class WmTaskTypeServiceTest {
 			WmDaDrugEnt wmDaDrugEnt = wmDaDrugEntMapper.selectOne(Wrappers.<WmDaDrugEnt>lambdaQuery()
 					.eq(WmDaDrugEnt::getDeptId, dept.getDeptId())
 //					.eq(WmDaDrugEnt::getEnableFlag, EnableEnum.ENABLE.val())
-					.eq(WmDaDrugEnt::getDelFlag, DelEnum.NOT_DEL.val()));
+					.eq(WmDaDrugEnt::getDelFlag, DelEnum.NOT_DEL.getVal()));
 			if (wmDaDrugEnt == null) {
 				continue;
 			}
@@ -196,12 +196,12 @@ public class WmTaskTypeServiceTest {
 			List<SysDept> oneCSODeptList = sysDeptMapper.selectByIds(oneCSODeptIdList);
 //			List<SysDept> oneCSODeptList = sysDeptMapper.selectList(Wrappers.<SysDept>lambdaQuery()
 //					.eq(SysDept::getParentId, dept.getDeptId())
-//					.eq(SysDept::getDelFlag, DelEnum.NOT_DEL.val())
+//					.eq(SysDept::getDelFlag, DelEnum.NOT_DEL.getVal())
 //					.eq(SysDept::getLevel, 3));
 			for (SysDept oneCSODept : oneCSODeptList) {
 				// 生成药企给一级CSO的任务类型
 				WmDaAgent wmDaAgent = wmDaAgentMapper.selectOne(Wrappers.<WmDaAgent>lambdaQuery()
-						.eq(WmDaAgent::getDelFlag, DelEnum.NOT_DEL.val())
+						.eq(WmDaAgent::getDelFlag, DelEnum.NOT_DEL.getVal())
 //						.eq(WmDaAgent::getEnableFlag, EnableEnum.ENABLE.val())
 						.eq(WmDaAgent::getDeptId, oneCSODept.getDeptId()));
 				if (wmDaAgent == null) {
@@ -257,12 +257,12 @@ public class WmTaskTypeServiceTest {
 				// 查询二级CSO
 				List<SysDept> twoCSODeptList = sysDeptMapper.selectList(Wrappers.<SysDept>lambdaQuery()
 						.eq(SysDept::getParentId, oneCSODept.getDeptId())
-//						.eq(SysDept::getDelFlag, DelEnum.NOT_DEL.val())
+//						.eq(SysDept::getDelFlag, DelEnum.NOT_DEL.getVal())
 						.eq(SysDept::getLevel, 4));
 				for (SysDept twoCSODept : twoCSODeptList) {
 					// 生成二级CSO任务类型
 					WmDaAgent wmDaAgent2 = wmDaAgentMapper.selectOne(Wrappers.<WmDaAgent>lambdaQuery()
-							.eq(WmDaAgent::getDelFlag, DelEnum.NOT_DEL.val())
+							.eq(WmDaAgent::getDelFlag, DelEnum.NOT_DEL.getVal())
 //							.eq(WmDaAgent::getEnableFlag, EnableEnum.ENABLE.val())
 							.eq(WmDaAgent::getDeptId, twoCSODept.getDeptId()));
 					if (wmDaAgent2 == null) {
@@ -311,7 +311,7 @@ public class WmTaskTypeServiceTest {
 		for (SysDept oneCSODept : deptList2) {
 			// 生成药企给一级CSO的任务类型
 			WmDaAgent wmDaAgent = wmDaAgentMapper.selectOne(Wrappers.<WmDaAgent>lambdaQuery()
-					.eq(WmDaAgent::getDelFlag, DelEnum.NOT_DEL.val())
+					.eq(WmDaAgent::getDelFlag, DelEnum.NOT_DEL.getVal())
 //					.eq(WmDaAgent::getEnableFlag, EnableEnum.ENABLE.val())
 					.eq(WmDaAgent::getDeptId, oneCSODept.getDeptId()));
 			if (wmDaAgent == null) {
@@ -344,12 +344,12 @@ public class WmTaskTypeServiceTest {
 			// 查询二级CSO
 			List<SysDept> twoCSODeptList = sysDeptMapper.selectList(Wrappers.<SysDept>lambdaQuery()
 					.eq(SysDept::getParentId, oneCSODept.getDeptId())
-//					.eq(SysDept::getDelFlag, DelEnum.NOT_DEL.val())
+//					.eq(SysDept::getDelFlag, DelEnum.NOT_DEL.getVal())
 					.eq(SysDept::getLevel, 4));
 			for (SysDept twoCSODept : twoCSODeptList) {
 				// 生成二级CSO任务类型
 				WmDaAgent wmDaAgent2 = wmDaAgentMapper.selectOne(Wrappers.<WmDaAgent>lambdaQuery()
-						.eq(WmDaAgent::getDelFlag, DelEnum.NOT_DEL.val())
+						.eq(WmDaAgent::getDelFlag, DelEnum.NOT_DEL.getVal())
 //						.eq(WmDaAgent::getEnableFlag, EnableEnum.ENABLE.val())
 						.eq(WmDaAgent::getDeptId, twoCSODept.getDeptId()));
 				if (wmDaAgent2 == null) {