Przeglądaj źródła

init: init project step4: biz code support

shc 1 rok temu
rodzic
commit
49a3729817

+ 29 - 0
doc/db/9sys_plan_pkg.sql

@@ -0,0 +1,29 @@
+USE `cnbg_20240511_001`;
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for sys_plan_pkg
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_plan_pkg`;
+CREATE TABLE `sys_plan_pkg`
+(
+    `plan_id`     BIGINT   NOT NULL COMMENT '计划ID',
+    `pkg_id`      BIGINT   NOT NULL COMMENT '积分包ID',
+    `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+    PRIMARY KEY `pk_id` (`plan_id`, `pkg_id`)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4
+  COLLATE = utf8mb4_general_ci
+  ROW_FORMAT = DYNAMIC COMMENT ='计划积分包ID';
+
+
+-- ----------------------------
+-- Records of sys_plan_pkg
+-- ----------------------------
+BEGIN;
+COMMIT;
+
+
+SET FOREIGN_KEY_CHECKS = 1;

+ 37 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/entity/SysPlanPkg.java

@@ -0,0 +1,37 @@
+package com.qunzhixinxi.hnqz.admin.api.entity;
+
+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;
+import java.time.LocalDateTime;
+
+/**
+ * 计划积分包ID
+ * @TableName sys_plan_pkg
+ */
+@Data
+@TableName(value ="sys_plan_pkg")
+public class SysPlanPkg implements Serializable {
+    /**
+     * 计划ID
+     */
+    private Integer planId;
+
+    /**
+     * 积分包ID
+     */
+    private Integer pkgId;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+
+
+}

+ 569 - 563
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/entity/WmScorePackage.java

@@ -28,581 +28,587 @@ import java.util.Set;
 @Data
 @TableName(value = "wm_score_package")
 public class WmScorePackage implements Serializable {
-	private static final long serialVersionUID = 1L;
-
-	/**
-	 * id
-	 */
-	@TableId
-	private String id;
-	/**
-	 * 药企ID
-	 */
-	private Integer drugEntId;
-
-	/**
-	 * 积分包序列号
-	 */
-	@TableField(value = "pkg_sn")
-	private String packageSn;
-
-	/**
-	 * 药企ID
-	 */
-	private String taskRuleId;
-
-	/**
-	 * 积分
-	 */
-	private String scoreId;
-
-
-	/**
-	 * 积分包名称
-	 */
-	private String scoreName;
-	/**
-	 * 积分
-	 */
-	private Integer score;
-	/**
-	 * 代理商类型
-	 */
-	private String agentTypeId;
-
-	/**
-	 * 积分包状态
-	 */
-	@TableField(updateStrategy = FieldStrategy.IGNORED)
-	private String packageStatus;
-
-	/**
-	 * 积分包完成状态:0->未完成,1->已完成
-	 */
-	private String packageFinishStatus;
-
-	private String packageAuditStatus;
-
-	/**
-	 * 一级代理商
-	 */
-	private Integer level1Id;
-	/**
-	 * 二级代理商
-	 */
-	private Integer level2Id;
-	/**
-	 * 众包ID
-	 */
-	private String zbId;
-
-	/**
-	 * 销售代表ID
-	 */
-	private String xxdbId;
-
-	private String endLabelDate;
-
-	/**
-	 * 1:定额积分包
-	 * 2:定量积分包
-	 * 3:通用包
-	 * 4:结算包(证据链)
-	 * 5:患者教育积分包
-	 */
-	private String packageType1;
-
-	private String description;
-
-	private String relationScoreId;
-
-	/**
-	 * 关联积分包名称
-	 */
-	@TableField(exist = false)
-	private String relationScoreName;
-
-	private String relatedService;
-
-	/**
-	 * 关联服务企业名称
-	 */
-	@TableField(exist = false)
-	private String relatedServiceName;
-
-	private String scorePackageName;
-
-	private String packageIsConduct;
-	private String ruleId;
-
-	@TableField(exist = false)
-	private List<WmScoreTaskType> wmScoreTaskTypeList;
-	@TableField(exist = false)
-	private Set taskTypeSet;
-
-	/**
-	 * 分配对象类型
-	 */
-	private String typeid;
-
-	/**
-	 * 组织机构ID
-	 */
-	private String deptId;
-
-	/**
-	 * 发包方组织机构ID
-	 */
-	private String sendPackageDeptId;
-
-	/**
-	 * 是否删除
-	 */
-	private String delFlag;
-	/**
-	 * 是否禁用
-	 */
-	private String enableFlag;
-	/**
-	 * 所属租户
-	 */
-	private Integer tenantId;
-	/**
-	 * 创建时间
-	 */
-	private LocalDateTime createTime;
-	/**
-	 * 结算时间
-	 */
-	private LocalDateTime settlementDate;
-
-	/**
-	 * 结算时间
-	 */
-	@TableField(exist = false)
-	private LocalDateTime notifyDate;
-
-	/**
-	 * 提交到零工时间
-	 */
-	@TableField(exist = false)
-	private LocalDateTime subToGigTime;
-	/**
-	 * 创建人
-	 */
-	private Integer createUser;
-	/**
-	 * 更新时间
-	 */
-	private LocalDateTime updateTime;
-	/**
-	 * 更新人
-	 */
-	private Integer updateUser;
-
-
-	/**
-	 * 所属月份
-	 */
-	private String belongDate;
-
-	/**
-	 * 分配日期
-	 */
-	private String allocationDate;
-
-	/**
-	 * 已支付百分比
-	 */
-	private String payRate;
-
-	/**
-	 * 已支付积分值
-	 */
-	private Integer payScore;
-
-	/**
-	 * 接包对象
-	 */
-	private String acceptSug;
-
-	/**
-	 * 接包对象名称
-	 */
-	@TableField(exist = false)
-	private String acceptSugName;
-
-	/**
-	 * 已完成百分比
-	 */
-	private String finishRate;
-
-
-	private Integer ytj;
-	private Integer ysh;
-
-	private Integer dsh;
-
-
-	private Integer ytjtt;
-
-	private Integer ywctt;
-
-	@TableField(exist = false)
-	private Integer shtg;
-	@TableField(exist = false)
-	private Integer shbtg;
-	@TableField(exist = false)
-	private Integer shtgnum;
-	@TableField(exist = false)
-	private Integer shbtgnum;
-	@TableField(exist = false)
-	private Integer shtgtt;
-	@TableField(exist = false)
-	private Integer shbtgtt;
-
-	private Integer yshtt;
-	private String isConduct;
-
-	private BigDecimal settleAmount;
-
-	private BigDecimal discount;
-
-	private LocalDateTime receiveDate;
-
-	@TableField(exist = false)
-	private List<String> drugsIds;
-
-	private String statementNo;
-
-	private Integer settleStatus;
-
-	private String remark;
-
-
-	private Integer kfpjf;
-
-	/**
-	 * 发票类目
-	 */
-	private Integer invoiceCategory;
-
-	/**
-	 * 支付中心订单号
-	 */
-	private String omsOrderSn;
-
-	/**
-	 * 1:任务包
-	 * 2:结算包
-	 */
-	private String packageType2;
-
-	private String packageUserScope;
-
-	/**
-	 * 接单对象范围名称
-	 */
-	@TableField(exist = false)
-	private String packageUserScopeName;
-
-	@TableField(exist = false)
-	private Integer certStatus;
-
-	private Integer userNum;
-	private Integer taskNum;
-
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+    @TableId
+    private String id;
+
+    /**
+     * 计划ID
+     */
+	@TableField(exist = false)
+    private Integer planId;
+    /**
+     * 药企ID
+     */
+    private Integer drugEntId;
+
+    /**
+     * 积分包序列号
+     */
+    @TableField(value = "pkg_sn")
+    private String packageSn;
+
+    /**
+     * 药企ID
+     */
+    private String taskRuleId;
+
+    /**
+     * 积分
+     */
+    private String scoreId;
+
+
+    /**
+     * 积分包名称
+     */
+    private String scoreName;
+    /**
+     * 积分
+     */
+    private Integer score;
+    /**
+     * 代理商类型
+     */
+    private String agentTypeId;
+
+    /**
+     * 积分包状态
+     */
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
+    private String packageStatus;
+
+    /**
+     * 积分包完成状态:0->未完成,1->已完成
+     */
+    private String packageFinishStatus;
+
+    private String packageAuditStatus;
+
+    /**
+     * 一级代理商
+     */
+    private Integer level1Id;
+    /**
+     * 二级代理商
+     */
+    private Integer level2Id;
+    /**
+     * 众包ID
+     */
+    private String zbId;
+
+    /**
+     * 销售代表ID
+     */
+    private String xxdbId;
+
+    private String endLabelDate;
+
+    /**
+     * 1:定额积分包
+     * 2:定量积分包
+     * 3:通用包
+     * 4:结算包(证据链)
+     * 5:患者教育积分包
+     */
+    private String packageType1;
+
+    private String description;
+
+    private String relationScoreId;
+
+    /**
+     * 关联积分包名称
+     */
+    @TableField(exist = false)
+    private String relationScoreName;
+
+    private String relatedService;
+
+    /**
+     * 关联服务企业名称
+     */
+    @TableField(exist = false)
+    private String relatedServiceName;
+
+    private String scorePackageName;
+
+    private String packageIsConduct;
+    private String ruleId;
+
+    @TableField(exist = false)
+    private List<WmScoreTaskType> wmScoreTaskTypeList;
+    @TableField(exist = false)
+    private Set taskTypeSet;
+
+    /**
+     * 分配对象类型
+     */
+    private String typeid;
+
+    /**
+     * 组织机构ID
+     */
+    private String deptId;
+
+    /**
+     * 发包方组织机构ID
+     */
+    private String sendPackageDeptId;
+
+    /**
+     * 是否删除
+     */
+    private String delFlag;
+    /**
+     * 是否禁用
+     */
+    private String enableFlag;
+    /**
+     * 所属租户
+     */
+    private Integer tenantId;
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+    /**
+     * 结算时间
+     */
+    private LocalDateTime settlementDate;
+
+    /**
+     * 结算时间
+     */
+    @TableField(exist = false)
+    private LocalDateTime notifyDate;
+
+    /**
+     * 提交到零工时间
+     */
+    @TableField(exist = false)
+    private LocalDateTime subToGigTime;
+    /**
+     * 创建人
+     */
+    private Integer createUser;
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+    /**
+     * 更新人
+     */
+    private Integer updateUser;
+
+
+    /**
+     * 所属月份
+     */
+    private String belongDate;
+
+    /**
+     * 分配日期
+     */
+    private String allocationDate;
+
+    /**
+     * 已支付百分比
+     */
+    private String payRate;
+
+    /**
+     * 已支付积分值
+     */
+    private Integer payScore;
+
+    /**
+     * 接包对象
+     */
+    private String acceptSug;
+
+    /**
+     * 接包对象名称
+     */
+    @TableField(exist = false)
+    private String acceptSugName;
+
+    /**
+     * 已完成百分比
+     */
+    private String finishRate;
+
+
+    private Integer ytj;
+    private Integer ysh;
+
+    private Integer dsh;
+
+
+    private Integer ytjtt;
+
+    private Integer ywctt;
+
+    @TableField(exist = false)
+    private Integer shtg;
+    @TableField(exist = false)
+    private Integer shbtg;
+    @TableField(exist = false)
+    private Integer shtgnum;
+    @TableField(exist = false)
+    private Integer shbtgnum;
+    @TableField(exist = false)
+    private Integer shtgtt;
+    @TableField(exist = false)
+    private Integer shbtgtt;
+
+    private Integer yshtt;
+    private String isConduct;
+
+    private BigDecimal settleAmount;
+
+    private BigDecimal discount;
+
+    private LocalDateTime receiveDate;
+
+    @TableField(exist = false)
+    private List<String> drugsIds;
+
+    private String statementNo;
+
+    private Integer settleStatus;
+
+    private String remark;
+
+
+    private Integer kfpjf;
 
-	/**
-	 * 完成时间
-	 */
-	private LocalDateTime packageFinishTime;
+    /**
+     * 发票类目
+     */
+    private Integer invoiceCategory;
+
+    /**
+     * 支付中心订单号
+     */
+    private String omsOrderSn;
 
+    /**
+     * 1:任务包
+     * 2:结算包
+     */
+    private String packageType2;
 
-	/**
-	 * 有效任务类型
-	 */
-	@TableField(exist = false)
-	private List<WmTaskTypeTree> taskTypeList;
-
-	/**
-	 * 有效任务类型
-	 */
-	@TableField(exist = false)
-	private List<WmScoreTaskType> taskTypeList1;
-
-	/**
-	 * 有效任务类型--前端展示
-	 */
-	@TableField(exist = false)
-	private String taskTypes;
-
-	/**
-	 * 个人预计包值
-	 */
-	private String userScore;
-
-	/**
-	 * 终止方式
-	 */
-	private String enableType;
-
-	/**
-	 * 已接单人数
-	 */
-	@TableField(exist = false)
-	private Integer yjd;
-
-
-	/**
-	 * 已接单待审核人数
-	 */
-	@TableField(exist = false)
-	private Integer yjddsh;
-
-
-	/**
-	 * 是否允许接单  0允许接单 1不允许接单
-	 */
-	private String isReceive;
-
-	/**
-	 * 是否可以新增任务1-可以  0-不可以
-	 */
-	private String taskAddFlag;
-
-	/**
-	 * 是否可以新增任务1-已经发起  0-没有
-	 */
-	private String settleFlag;
-
-	/**
-	 * 接单对象list
-	 */
-	@TableField(exist = false)
-	private List<String> userList;
-
-	/**
-	 * 接单对象id-list
-	 */
-	@TableField(exist = false)
-	private List<String> userIdList;
-
-	/**
-	 * 接单对象list人数
-	 */
-	@TableField(exist = false)
-	private Integer userListNum;
-
-	/**
-	 * 结算包--是否有任务
-	 */
-	@TableField(exist = false)
-	private String isTask;
-
-	/**
-	 * 积分包状态
-	 */
-	private String scorePackageStatus;
-
-	/**
-	 * 是否为旧数据
-	 */
-	private String oldPackage;
-
-	/**
-	 * 结算渠道
-	 */
-	private String subType;
-
-	/**
-	 * 税源地
-	 */
-	@TableField(exist = false)
-	private String subjectLocation;
-
-	/**
-	 * 数据来源类型(0:手动上传,1:系统对接)
-	 */
-	private String sourceType;
-
-	/**
-	 * 结算包--任务类型
-	 */
-	@TableField(exist = false)
-	private String taskTypeId;
-
-	@TableField(exist = false)
-	private Integer wsTaskNum;
-
-	@TableField(exist = false)
-	private Integer asTaskNum;
-
-	/**
-	 * 项目编号
-	 */
-	private String projectNum;
-
-	/**
-	 * 药企是否存在审核记录
-	 */
-	@TableField(exist = false)
-	private PackageStopStatus stopStatus;
-
-	/**
-	 * 报告操作状态
-	 */
-	@TableField(exist = false)
-	private WmReportOpt reportOpt;
-
-	/**
-	 * 新版报告-报告操作状态
-	 */
-	@TableField(exist = false)
-	private WmReportOpt newReportOpt;
+    private String packageUserScope;
 
-	/**
-	 * 新版excel报告-报告操作状态
-	 */
-	@TableField(exist = false)
-	private WmReportOpt newExcelReportOpt;
+    /**
+     * 接单对象范围名称
+     */
+    @TableField(exist = false)
+    private String packageUserScopeName;
 
-	/**
-	 * 报告队列名
-	 */
-	@TableField(exist = false)
-	private String reportMqName;
+    @TableField(exist = false)
+    private Integer certStatus;
 
-	/**
-	 * excel报告操作状态
-	 */
-	@TableField(exist = false)
-	private WmReportOpt excelReportOpt;
+    private Integer userNum;
+    private Integer taskNum;
 
-	/**
-	 * 公对公结算记录
-	 */
-	@TableField(value = "p2p_amount")
-	public BigDecimal p2pAmount;
 
-	/**
-	 * 公对公结算服务费
-	 */
-	public BigDecimal p2pServiceAmount;
+    /**
+     * 完成时间
+     */
+    private LocalDateTime packageFinishTime;
 
-	public LocalDateTime p2pTime;
 
-	@TableField(exist = false)
-	public Boolean p2pDraft;
-
-	/**
-	 * 关联药品的生产厂商列表
-	 */
-	@TableField(value = "drug_producer")
-	private String[] drugProducerList;
-
-	/**
-	 * MAH结算-药企deptId
-	 */
-	private Integer mahSettleDeptId;
-
-	/**
-	 * MAH结算-步进状态(BUSINESS-业务, FINANCE-财务)
-	 */
-	private UpmsType.MahSettleStep mahSettleStep;
-
-	/**
-	 * mah结算时间
-	 */
-	private LocalDateTime mahSettleTime;
-
-	/**
-	 * 企业任务上限(单位%)
-	 */
-	private BigDecimal entTaskLimit;
-
-	/**
-	 * 推广药品id
-	 */
-	private String[] drugtable;
-
-	/**
-	 * 推广药品名称
-	 */
-	@TableField(exist = false)
-	private String[] drugtableName;
-
-	/**
-	 * 审核管理费比例(单位%)
-	 */
-	private BigDecimal auditManagementFeeRates;
-
-	/**
-	 * 发票号码
-	 */
-	private String invoiceNumber;
-
-	/**
-	 * 截止日期
-	 */
-	private LocalDate endTime;
-
-	/**
-	 * 发票文件
-	 */
-	@TableField(typeHandler = FastjsonTypeHandler.class)
-	private List<FileUrlObj> invoiceFile;
-
-	/**
-	 * 获取积分包的关联试卷
-	 */
-	@TableField(exist = false)
-	private List<WmPkgQuizRelation> quizRelations;
+    /**
+     * 有效任务类型
+     */
+    @TableField(exist = false)
+    private List<WmTaskTypeTree> taskTypeList;
 
-	/**
-	 * 积分包关联的试卷名称
-	 */
-	@TableField(exist = false)
-	private List<String> quizNames;
+    /**
+     * 有效任务类型
+     */
+    @TableField(exist = false)
+    private List<WmScoreTaskType> taskTypeList1;
 
-	/**
-	 * 积分包关联的试卷列表
-	 */
-	@TableField(exist = false)
-	private List<Integer> quizIds;
+    /**
+     * 有效任务类型--前端展示
+     */
+    @TableField(exist = false)
+    private String taskTypes;
 
-	/**
-	 * 父级积分包关联的关系
-	 */
-	@TableField(exist = false)
-	private List<Integer> quizRelationIds;
-
-	@Getter
-	@AllArgsConstructor
-	public enum PackageStopStatus {
-		NOTHING(0, "不能操作"),
-		ALL_IN(1, "全部收回"),
-		REMAIN_MSG(2, "剩余收回"),
-		REMAIN(3, "剩余收回(无信息提示)");
-
-		private final int code;
-
-		private final String msg;
-	}
-
-	/**
-	 * 文件 URL obj
-	 *
-	 * @author lixuesong
-	 * @date 2023/09/27
-	 */
-	@Data
-	public static class FileUrlObj implements Serializable {
-		private static final long serialVersionUID = 7914265352319844404L;
-
-		private String fileName;
-
-		private String url;
-	}
+    /**
+     * 个人预计包值
+     */
+    private String userScore;
+
+    /**
+     * 终止方式
+     */
+    private String enableType;
+
+    /**
+     * 已接单人数
+     */
+    @TableField(exist = false)
+    private Integer yjd;
+
+
+    /**
+     * 已接单待审核人数
+     */
+    @TableField(exist = false)
+    private Integer yjddsh;
+
+
+    /**
+     * 是否允许接单  0允许接单 1不允许接单
+     */
+    private String isReceive;
+
+    /**
+     * 是否可以新增任务1-可以  0-不可以
+     */
+    private String taskAddFlag;
+
+    /**
+     * 是否可以新增任务1-已经发起  0-没有
+     */
+    private String settleFlag;
+
+    /**
+     * 接单对象list
+     */
+    @TableField(exist = false)
+    private List<String> userList;
+
+    /**
+     * 接单对象id-list
+     */
+    @TableField(exist = false)
+    private List<String> userIdList;
+
+    /**
+     * 接单对象list人数
+     */
+    @TableField(exist = false)
+    private Integer userListNum;
+
+    /**
+     * 结算包--是否有任务
+     */
+    @TableField(exist = false)
+    private String isTask;
+
+    /**
+     * 积分包状态
+     */
+    private String scorePackageStatus;
+
+    /**
+     * 是否为旧数据
+     */
+    private String oldPackage;
+
+    /**
+     * 结算渠道
+     */
+    private String subType;
+
+    /**
+     * 税源地
+     */
+    @TableField(exist = false)
+    private String subjectLocation;
+
+    /**
+     * 数据来源类型(0:手动上传,1:系统对接)
+     */
+    private String sourceType;
+
+    /**
+     * 结算包--任务类型
+     */
+    @TableField(exist = false)
+    private String taskTypeId;
+
+    @TableField(exist = false)
+    private Integer wsTaskNum;
+
+    @TableField(exist = false)
+    private Integer asTaskNum;
+
+    /**
+     * 项目编号
+     */
+    private String projectNum;
+
+    /**
+     * 药企是否存在审核记录
+     */
+    @TableField(exist = false)
+    private PackageStopStatus stopStatus;
+
+    /**
+     * 报告操作状态
+     */
+    @TableField(exist = false)
+    private WmReportOpt reportOpt;
+
+    /**
+     * 新版报告-报告操作状态
+     */
+    @TableField(exist = false)
+    private WmReportOpt newReportOpt;
+
+    /**
+     * 新版excel报告-报告操作状态
+     */
+    @TableField(exist = false)
+    private WmReportOpt newExcelReportOpt;
+
+    /**
+     * 报告队列名
+     */
+    @TableField(exist = false)
+    private String reportMqName;
+
+    /**
+     * excel报告操作状态
+     */
+    @TableField(exist = false)
+    private WmReportOpt excelReportOpt;
+
+    /**
+     * 公对公结算记录
+     */
+    @TableField(value = "p2p_amount")
+    public BigDecimal p2pAmount;
+
+    /**
+     * 公对公结算服务费
+     */
+    public BigDecimal p2pServiceAmount;
+
+    public LocalDateTime p2pTime;
+
+    @TableField(exist = false)
+    public Boolean p2pDraft;
+
+    /**
+     * 关联药品的生产厂商列表
+     */
+    @TableField(value = "drug_producer")
+    private String[] drugProducerList;
+
+    /**
+     * MAH结算-药企deptId
+     */
+    private Integer mahSettleDeptId;
+
+    /**
+     * MAH结算-步进状态(BUSINESS-业务, FINANCE-财务)
+     */
+    private UpmsType.MahSettleStep mahSettleStep;
+
+    /**
+     * mah结算时间
+     */
+    private LocalDateTime mahSettleTime;
+
+    /**
+     * 企业任务上限(单位%)
+     */
+    private BigDecimal entTaskLimit;
+
+    /**
+     * 推广药品id
+     */
+    private String[] drugtable;
+
+    /**
+     * 推广药品名称
+     */
+    @TableField(exist = false)
+    private String[] drugtableName;
+
+    /**
+     * 审核管理费比例(单位%)
+     */
+    private BigDecimal auditManagementFeeRates;
+
+    /**
+     * 发票号码
+     */
+    private String invoiceNumber;
+
+    /**
+     * 截止日期
+     */
+    private LocalDate endTime;
+
+    /**
+     * 发票文件
+     */
+    @TableField(typeHandler = FastjsonTypeHandler.class)
+    private List<FileUrlObj> invoiceFile;
+
+    /**
+     * 获取积分包的关联试卷
+     */
+    @TableField(exist = false)
+    private List<WmPkgQuizRelation> quizRelations;
+
+    /**
+     * 积分包关联的试卷名称
+     */
+    @TableField(exist = false)
+    private List<String> quizNames;
+
+    /**
+     * 积分包关联的试卷列表
+     */
+    @TableField(exist = false)
+    private List<Integer> quizIds;
+
+    /**
+     * 父级积分包关联的关系
+     */
+    @TableField(exist = false)
+    private List<Integer> quizRelationIds;
+
+    @Getter
+    @AllArgsConstructor
+    public enum PackageStopStatus {
+        NOTHING(0, "不能操作"),
+        ALL_IN(1, "全部收回"),
+        REMAIN_MSG(2, "剩余收回"),
+        REMAIN(3, "剩余收回(无信息提示)");
+
+        private final int code;
+
+        private final String msg;
+    }
+
+    /**
+     * 文件 URL obj
+     *
+     * @author lixuesong
+     * @date 2023/09/27
+     */
+    @Data
+    public static class FileUrlObj implements Serializable {
+        private static final long serialVersionUID = 7914265352319844404L;
+
+        private String fileName;
+
+        private String url;
+    }
 
 }

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

@@ -24,6 +24,7 @@ import com.pig4cloud.plugin.excel.annotation.RequestExcel;
 import com.qunzhixinxi.hnqz.admin.api.constant.UpmsType;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysDictItem;
+import com.qunzhixinxi.hnqz.admin.api.entity.SysPlanPkg;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmDaAgent;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmDaDrugEnt;
@@ -59,6 +60,7 @@ import com.qunzhixinxi.hnqz.admin.mapper.WmScoreTaskTypeMapper;
 import com.qunzhixinxi.hnqz.admin.mapper.WmTaskMapper;
 import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
 import com.qunzhixinxi.hnqz.admin.service.SysDictItemService;
+import com.qunzhixinxi.hnqz.admin.service.SysPlanPkgService;
 import com.qunzhixinxi.hnqz.admin.service.SysUserService;
 import com.qunzhixinxi.hnqz.admin.service.WmBizReminderService;
 import com.qunzhixinxi.hnqz.admin.service.WmDaAgentService;
@@ -158,6 +160,7 @@ public class WmScorePackageController {
     private final WmPkgQuizRelationService pkgQuizRelationService;
     private final SysDictItemService sysDictItemService;
     private final Sequence pkgSequence;
+    private final SysPlanPkgService planPkgService;
 
 
     @GetMapping(value = "/quiz/relation/list")
@@ -1787,7 +1790,7 @@ public class WmScorePackageController {
         List<Integer> roles = SecurityUtils.getRoles();
         Integer deptId = operator.getDeptId();
         Integer userId = operator.getId();
-
+        Integer planId = wmScorePackage.getPlanId();
 
         String relPkgId = wmScorePackage.getRelationScoreId();
         boolean relatedScoreId = StrUtil.isNotBlank(relPkgId) && Integer.parseInt(relPkgId) > 0;
@@ -2072,6 +2075,14 @@ public class WmScorePackageController {
             pkgQuizRelationService.copyQuizRelations(wmScorePackage.getQuizRelationIds(), Integer.parseInt(wmScorePackage.getId()));
         }
 
+        // 关联计划
+        SysPlanPkg rel = new SysPlanPkg();
+        rel.setPlanId(planId);
+        rel.setPkgId(Integer.valueOf(wmScorePackage.getId()));
+        rel.setCreateTime(LocalDateTime.now());
+
+        planPkgService.save(rel);
+
         return R.ok();
     }
 

+ 20 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mapper/SysPlanPkgMapper.java

@@ -0,0 +1,20 @@
+package com.qunzhixinxi.hnqz.admin.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qunzhixinxi.hnqz.admin.api.entity.SysPlanPkg;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @author jimmy
+* @description 针对表【sys_plan_pkg(计划积分包ID)】的数据库操作Mapper
+* @createDate 2024-05-20 21:11:36
+* @Entity generator.domain.SysPlanPkg
+*/
+@Mapper
+public interface SysPlanPkgMapper extends BaseMapper<SysPlanPkg> {
+
+}
+
+
+
+

+ 13 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/SysPlanPkgService.java

@@ -0,0 +1,13 @@
+package com.qunzhixinxi.hnqz.admin.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.qunzhixinxi.hnqz.admin.api.entity.SysPlanPkg;
+
+/**
+* @author jimmy
+* @description 针对表【sys_plan_pkg(计划积分包ID)】的数据库操作Service
+* @createDate 2024-05-20 21:11:36
+*/
+public interface SysPlanPkgService extends IService<SysPlanPkg> {
+
+}

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

@@ -0,0 +1,22 @@
+package com.qunzhixinxi.hnqz.admin.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qunzhixinxi.hnqz.admin.api.entity.SysPlanPkg;
+import com.qunzhixinxi.hnqz.admin.mapper.SysPlanPkgMapper;
+import com.qunzhixinxi.hnqz.admin.service.SysPlanPkgService;
+import org.springframework.stereotype.Service;
+
+/**
+* @author jimmy
+* @description 针对表【sys_plan_pkg(计划积分包ID)】的数据库操作Service实现
+* @createDate 2024-05-20 21:11:36
+*/
+@Service
+public class SysPlanPkgServiceImpl extends ServiceImpl<SysPlanPkgMapper, SysPlanPkg>
+    implements SysPlanPkgService {
+
+}
+
+
+
+