first commit

This commit is contained in:
2026-09-08 20:09:15 +08:00
commit c7e76e98ab
1647 changed files with 210480 additions and 0 deletions
+38
View File
@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-api</artifactId>
<version>3.6.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>ruoyi-api-proposal</artifactId>
<description>
ruoyi-api-proposal提案接口模块
</description>
<dependencies>
<!-- RuoYi Common Core-->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-core</artifactId>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-security</artifactId>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-api-jdh</artifactId>
</dependency>
</dependencies>
</project>
@@ -0,0 +1,27 @@
package com.ruoyi.proposal.api.constant;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.ToString;
/**
* 提案审核结果类型
*
* @author jug
* @date 2023/01/03
*/
@AllArgsConstructor
@Getter
@ToString
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum ProposalAuditResultType {
REFUSE("REFUSE", "拒绝"),
PASS("PASS", "通过"),
BACK("BACK", "退回");
private String code;
private String description;
}
@@ -0,0 +1,45 @@
package com.ruoyi.proposal.api.constant;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.ToString;
/**
* 提案审核类型
*
* @author jug
* @date 2023/01/05
*/
@AllArgsConstructor
@Getter
@ToString
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum ProposalAuditType {
DELEGATION(1, "团长审核"),
CASE(2, "提案委员会立案"),
EXECUTOR_READ(3, "执委会主任审核"),
PRINCIPAL_READ(4, "校长、书记审核"),
EXECUTOR_READ_CONFIRM(5, "执委会主任审核确认"),
CASE_UNIT(6, "提案委员会确认承办单位"),
CASE_CHECK(7, "提案委员会审查"),
CASE_ARCHIVE(8, "提案委员会归档"),
SENIOR_MODIFY_UNDERTAKE(9, "高级管理修改承办单位"),
SENIOR_MODIFY_CASE_RESULT(10, "高级管理修改立案结果"),
PRE_AUDIT(11, "预审核");
private Integer code;
private String description;
}
@@ -0,0 +1,26 @@
package com.ruoyi.proposal.api.constant;
/**
* 提案立案结果
*
* @author jug
* @date 2023/01/04
*/
public class ProposalCaseResult {
/**
* 确定立案
*/
public static final String DETERMINE = "determine";
/**
* 作为意见
*/
public static final String OPINION = "opinion";
/**
* 不予立案
*/
public static final String NOTGIVE = "notGive";
}
@@ -0,0 +1,30 @@
package com.ruoyi.proposal.api.constant;
/**
* @Author JyuHsin
* @Date 2023/1/16
* @Description 提案反馈评分
*/
public class ProposalFeedback {
/**
* 满意
*/
public static final String SATISFIED = "satisfied";
/**
* 比较满意
*/
public static final String QUITE_SATISFIED = "QuiteSatisfied";
/**
* 基本满意
*/
public static final String BASICALLY_SATISFIED = "BasicallySatisfied";
/**
* 不满意
*/
public static final String NOT_SATISFIED = "NotSatisfied";
}
@@ -0,0 +1,135 @@
package com.ruoyi.proposal.api.constant;
import com.ruoyi.common.core.domain.PageForm;
import com.ruoyi.common.core.domain.TableColumn;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
@EqualsAndHashCode(callSuper = true)
@Data
public class ProposalPageForm extends PageForm {
/**
* 名称工号
*/
String proposalNameCode;
/**
* 工号姓名
*/
String createUser;
/**
* 教代会
*/
String teacherMeetId;
/**
* 代表团
*/
String delegationId;
/**
* 分工会
*/
String unionId;
/**
* 二级单位
*/
String unitId;
/**
* 提案类型
*/
Integer typeId;
/**
* 状态
*/
String resultCode;
/**
* 状态
*/
String stateCode;
/**
* 是否审核 null->全部
*/
Boolean isAudit;
/**
* 0 全部
* 1 主办
* 2协办
*/
int underTakeType;
/**
* 提案类型
*/
List<Integer> proposalTypes;
/**
* 立案结果
*/
List<String> resultCodes;
/**
* 表格列 导出的时候用
*/
List<TableColumn> tableColumns;
/**
* 征集状态
* {label: '未提交', value: 0},
* {label: '未附议', value: 1},
* {label: '附议中', value: 2},
* {label: '待团长审核', value: 3},
* {label: '团长已审核', value: 4},
*/
List<Integer> solicitationStates;
/**
* 办理状态
* {label: '主办已答复', value: 1},
* {label: '主办未答复', value: 2},
* {label: '主办领导已审批', value: 3},
* {label: '主办领导未审批', value: 4},
* {label: '协办已答复', value: 5},
* {label: '协办未答复', value: 6},
* {label: '协办领导已审批', value: 7},
* {label: '协办领导未审批', value: 8},
*/
List<Integer> replyStates;
/**
* 教代会 历史提案查询
*/
List<String> teacherMeetIds;
/**
* 提案要素 历史提案查询
*/
List<Integer> searchTypes;
/**
* 代表团 历史提案查询
*/
String delegationName;
/**
* 数据看板查询类型
*/
String dashBoardType;
/**
* 年度统计查询类型 承办单位id
*/
String undertakeId;
}
@@ -0,0 +1,89 @@
package com.ruoyi.proposal.api.constant;
/**
* @author: Aaron
* @create: 2021-01-27 09:54
* @description: 提案状态
**/
public interface ProposalState {
/**
* 未提交
*/
Long UNSUBMIT = 100L;
/**
* 邀请附议人
*/
Long INVIRTE = 150L;
/**
* 待团长审核
*/
Long DELEGATION = 200L;
/**
* 预审核
*/
Long PRE_AUDIT = 250L;
/**
* 待提案委员会立案审核
*/
Long CASE = 300L;
/**
* 执委会建议
*/
Long EXECUTOR_READ = 310L;
/**
* 分管校领导建议
*/
Long BRANCH_LEADER_READ = 320L;
/**
* 校长、书记建议
*/
Long PRINCIPAL_READ = 330L;
/**
* 执委会建议确认
*/
Long EXECUTOR_READ_CONFIRM = 340L;
/**
* 待提案委员会确认承办单位
*/
Long CASE_UNIT = 400L;
/**
* 待承办单位答复
*/
Long UNIT_REPLY = 500L;
/**
* 待承办单位分管校领导审批
*/
Long LEADER_AUDIT = 600L;
/**
* 待提案委员会审查
*/
Long CASE_CHECK = 700L;
/**
* 待反馈评分
*/
Long FEEDBACK_SCORE = 800L;
/**
* 提案委员会归档
*/
Long CASE_ARCHIVE = 850L;
/**
* 已完结
*/
Long FINISH = 900L;
}
@@ -0,0 +1,28 @@
package com.ruoyi.proposal.api.constant;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.ToString;
/**
* 提交方式
*
* @author jug
* @date 2022/12/28
*/
@AllArgsConstructor
@Getter
@ToString
//@JsonShape(value = JsonShape.Type.OBJECT)
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum ProposalSubmitMode {
MANUAL("manual", "手动提交"),
AUTOMATIC("automatic", "自动提交"),
AMT("AMT", "手自一体");
private String code;
private String description;
}
@@ -0,0 +1,158 @@
package com.ruoyi.proposal.api.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.web.domain.BaseEntity;
import com.ruoyi.common.security.utils.SecurityUtils;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.nutz.dao.entity.annotation.*;
import org.nutz.dao.interceptor.annotation.PrevInsert;
import java.util.Date;
import java.util.List;
@EqualsAndHashCode(callSuper = true)
@Data
@Table("proposal_audit")
@Accessors(chain = true)
public class ProposalAudit extends BaseEntity {
@Column
@Name
@Comment("id")
@ColDefine(type = ColType.VARCHAR, width = 32)
@PrevInsert(uu32 = true)
private String id;
@Column
@Comment("审核人ID")
@ColDefine(type = ColType.VARCHAR, width = 32)
@PrevInsert(els = @EL("$me.userId()"))
private String userId;
@Column
@Comment("审核人意见")
@ColDefine(type = ColType.VARCHAR, width = 1000)
private String opinion;
@Column
@Comment("审核时间")
@ColDefine(type = ColType.DATETIME)
@PrevInsert(els = @EL("$me.now()"))
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date auditTime;
@Column
@Comment("审核人签字ID")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String signId;
@One(field = "signId")
private ProposalSign sign;
@Column
@Comment("审核人姓名")
@ColDefine(type = ColType.VARCHAR, width = 100)
@PrevInsert(els = @EL("$me.userName()"))
private String userName;
@Column
@Comment("审核人工号")
@ColDefine(type = ColType.VARCHAR, width = 100)
@PrevInsert(els = @EL("$me.loginName()"))
private String loginName;
@Column
@Comment("提案ID")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String proposalId;
@Column
@Comment("立案结果")
@ColDefine(type = ColType.VARCHAR, width = 125)
private String resultCode;
@Column
@Comment("是否退回修改")
@ColDefine(type = ColType.BOOLEAN)
private Boolean isBackModify;
@Column
@Comment("提案类型")
@ColDefine(type = ColType.INT)
private Long typeId;
@Column
@Comment("协办单位")
@ColDefine(type = ColType.MYSQL_JSON)
private List<String> helpUnit;
@Column
@Comment("主办单位")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String hostUnit;
/**
* @see com.ruoyi.proposal.api.constant.ProposalAuditType
*/
@Column
@Comment("类型")
@ColDefine(type = ColType.INT)
private Integer auditType;
/**
* @see com.ruoyi.proposal.api.constant.ProposalAuditResultType
*/
@Column
@Comment("审核结果")
@ColDefine(type = ColType.VARCHAR, width = 125)
private String auditResultType;
@Column
@Comment("提案委员会审查(需要答复人二次答复吗)")
@ColDefine(type = ColType.BOOLEAN)
private Boolean isNeedSecondedReply;
@Column
@Comment("提案委员会审查结果(需要二次校领导审批吗)")
@ColDefine(type = ColType.BOOLEAN)
private Boolean isNeedSecondedAudit;
@Column
@Comment("提案委员会归档(需要重新答复吗)")
@ColDefine(type = ColType.BOOLEAN)
private Boolean isNeedReplyAgainByArchiver;
@Column
@Comment("是否重新走流程(高级管理-修改承办单位")
@ColDefine(type = ColType.BOOLEAN)
private Boolean isChangeProcess;
public String loginName() {
return SecurityUtils.getUsername();
}
public String userName() {
return SecurityUtils.getNickName();
}
private String hostUnitName;
private String helpUnitName;
/**
* 并案审核 针对立案而言
*/
@Column
@Comment("并案审核ids")
@ColDefine(type = ColType.MYSQL_JSON)
private List<String> proposalIds;
/**
* 批量审核
*/
private List<String> batchAuditProposalIds;
}
@@ -0,0 +1,81 @@
package com.ruoyi.proposal.api.domain;
import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.nutz.dao.entity.annotation.*;
import org.nutz.dao.interceptor.annotation.PrevInsert;
import java.util.Date;
/**
* 承办单位分管校领导审批立案表
*
* @author jug
* @date 2023/01/04
*/
@EqualsAndHashCode(callSuper = true)
@Data
@Table("proposal_branch_leader_audit")
public class ProposalBranchLeaderAudit extends BaseEntity {
@Name
@Comment("id")
@ColDefine(type = ColType.VARCHAR, width = 32)
@PrevInsert(uu32 = true)
private String id;
@Column
@Comment("提案id")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String proposalId;
@Column
@Comment("承办单位id")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String underTakeId;
@Column
@Comment("是否主办")
@ColDefine(type = ColType.BOOLEAN)
private boolean isMaster;
@Column
@Comment("是否审批")
@ColDefine(type = ColType.BOOLEAN)
private boolean isAudit;
@Column
@Comment("userId")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String leaderId;
@Column
@Comment("姓名")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String leaderUserName;
@Column
@Comment("工号")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String leaderLoginName;
@Column
@Comment("时间")
@ColDefine(type = ColType.DATETIME)
private Date leaderAuditTime;
@Column
@Comment("内容")
@ColDefine(type = ColType.VARCHAR, width = 1000)
private String leaderAuditOpinion;
@Column
@Comment("签名id")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String signId;
@One(field = "signId")
private ProposalSign sign;
}
@@ -0,0 +1,81 @@
package com.ruoyi.proposal.api.domain;
import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.nutz.dao.entity.annotation.*;
import java.util.List;
/**
* 提案配置
*
* @author jug
* @date 2022/12/28
*/
@EqualsAndHashCode(callSuper = true)
@Data
@Table("proposal_config")
public class ProposalConfig extends BaseEntity {
@Comment("id")
@Id
private Long id;
@Column
@Comment("配置名称")
@ColDefine(type = ColType.VARCHAR, width = 50)
private String configName;
@Column
@Comment("附议人数量")
@ColDefine(type = ColType.INT, width = 1)
private Integer seconderNum;
@Column
@Comment("是否自动提交")
@ColDefine(type = ColType.BOOLEAN)
private Boolean isAutoSubmit;
@Column
@Comment("提交模式")
@ColDefine(type = ColType.VARCHAR)
private String submitMode;
@Column
@Comment("撰写提案方式")
@ColDefine(type = ColType.MYSQL_JSON)
private List<String> manner;
@Column
@Comment("提案内容要求最少字数")
@ColDefine(customType = "SMALLINT")
private Long words;
@Column
@Comment("不予立案的理由列表")
@ColDefine(type = ColType.MYSQL_JSON)
private List<String> noFilingReason;
@Column
@Comment("主办配置")
@ColDefine(type = ColType.INT)
private Integer masterUnitConfigId;
@Column
@Comment("协办配置")
@ColDefine(type = ColType.INT)
private Integer slaveUnitConfigId;
@Column
@Comment("撰写须知")
@ColDefine(type = ColType.VARCHAR, width = 2000)
private String writeRemind;
@One(field = "masterUnitConfigId")
private ProposalReplyConfig masterUnitConfig;
@One(field = "slaveUnitConfigId")
private ProposalReplyConfig slaveUnitConfig;
}
@@ -0,0 +1,28 @@
package com.ruoyi.proposal.api.domain;
import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.nutz.dao.entity.annotation.*;
import java.util.List;
/**
* 提案并案表
*/
@EqualsAndHashCode(callSuper = true)
@Data
@Table("proposal_conjoin")
public class ProposalConjoin extends BaseEntity {
@Id
@ColDefine(type = ColType.INT)
@Comment("id")
private Integer id;
@Column
@ColDefine(type = ColType.MYSQL_JSON)
@Comment("并案的id集合")
private List<String> proposalIds;
}
@@ -0,0 +1,87 @@
package com.ruoyi.proposal.api.domain;
import com.ruoyi.common.core.web.domain.BaseEntity;
import com.ruoyi.system.api.domain.SysFile;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.nutz.dao.entity.annotation.*;
import org.nutz.dao.interceptor.annotation.PrevInsert;
import java.util.Date;
import java.util.List;
@EqualsAndHashCode(callSuper = true)
@Data
@Table("proposal_feedback")
public class ProposalFeedBack extends BaseEntity {
@Name
@Comment("id")
@ColDefine(type = ColType.VARCHAR, width = 32)
@PrevInsert(uu32 = true)
private String id;
@Column
@Comment("反馈人ID")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String feedbackUserId;
@Column
@Comment("反馈人姓名")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String feedbackUserName;
@Column
@Comment("反馈人工号")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String feedbackUserLoginName;
@Column
@Comment("提案ID")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String proposalId;
@Column
@Comment("反馈评分(字典表)")
@ColDefine(type = ColType.VARCHAR, width = 20)
private String feedbackCode;
@Column
@Comment("对承办单位反馈评分(字典表)")
@ColDefine(type = ColType.VARCHAR, width = 20)
private String feedbackCodeByUnderTake;
@Column
@Comment("反馈意见")
@ColDefine(type = ColType.VARCHAR, width = 500)
private String feedbackOpinion;
@Column
@Comment("反馈时间")
@ColDefine(type = ColType.DATETIME)
private Date feedbackTime;
@Column
@Comment("反馈人签字id")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String feedbackUserSignId;
@Column
@Comment("反馈次数")
@ColDefine(type = ColType.INT, width = 4)
private Integer feedbackNumber;
@Column
@Comment("不满意的单位")
@ColDefine(type = ColType.MYSQL_JSON)
private List<String> unsatisfiedUnit;
@Column
@Comment("附件")
@ColDefine(type = ColType.MYSQL_JSON)
private List<SysFile> files;
@One(field = "feedbackUserSignId")
private ProposalSign sign;
}
@@ -0,0 +1,90 @@
package com.ruoyi.proposal.api.domain;
import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.nutz.dao.entity.annotation.*;
/**
* 提案流程
*
* @author jug
* @date 2022/12/28
*/
@EqualsAndHashCode(callSuper = true)
@Data
@Table("proposal_flow")
@Accessors(chain = true)
public class ProposalFlow extends BaseEntity {
@Id
@Comment("id")
@ColDefine(customType = "bigint")
private Long id;
@Column
@Comment("状态编码")
@ColDefine(type = ColType.INT, width = 4)
private Long stateCode;
@Column
@Comment("状态名称")
@ColDefine(type = ColType.VARCHAR, width = 50)
private String stateName;
@Column
@Comment("状态颜色")
@ColDefine(type = ColType.VARCHAR, width = 20)
private String stateColor;
@Column
@Comment("是否需要签字")
@ColDefine(type = ColType.BOOLEAN)
private Boolean isSign;
@Column
@Comment("是否启用")
@ColDefine(type = ColType.BOOLEAN)
private Boolean isEnable;
@Column
@Comment("menuId")
@ColDefine(customType = "bigint")
private Long menuId;
@Column
@Comment("prevId")
@ColDefine(customType = "bigint")
private Long prevId;
@Column
@Comment("nextId")
@ColDefine(customType = "bigint")
private Long nextId;
/**
* 上一个节点
*/
@One(field = "prevId")
private ProposalFlow prevFlow;
/**
* 下一个节点
*/
@One(field = "nextId")
private ProposalFlow nextFlow;
/**
* 关联菜单名
*/
private String menuName;
/**
* 对应角色名
*/
private String roleNames;
}
@@ -0,0 +1,279 @@
package com.ruoyi.proposal.api.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.SysFile;
import com.ruoyi.common.core.web.domain.BaseEntity;
import com.ruoyi.jdh.api.domain.prepare.Jdh_jdhxx;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.nutz.dao.entity.annotation.*;
import org.nutz.dao.interceptor.annotation.PrevInsert;
import java.util.Date;
import java.util.List;
/**
* @author: Aaron
* @create: 2021-01-21 15:04
* @description: 提案信息表
**/
@Data
@EqualsAndHashCode(callSuper = true)
@Table("proposal_info")
@TableIndexes({
@Index(name = "INDEX_PROPOSAL_CODE", fields = {"proposalCode"}, unique = false),
@Index(name = "INDEX_PROPOSAL_TYPE", fields = {"typeId"}, unique = false),
@Index(name = "INDEX_PROPOSAL_STATE", fields = {"stateCode"}, unique = false),
@Index(name = "INDEX_PROPOSAL_DBT", fields = {"delegationId"}, unique = false),
@Index(name = "INDEX_PROPOSAL_RESULT", fields = {"resultCode"}, unique = false),
@Index(name = "INDEX_PROPOSAL_USER", fields = {"createUser"}, unique = false),
})
public class ProposalInfo extends BaseEntity {
private static final long serialVersionUID = 1L;
@Name
@Comment("id")
@ColDefine(type = ColType.VARCHAR, width = 32)
@PrevInsert(uu32 = true)
private String id;
@Column
@Comment("提案编号")
@ColDefine(type = ColType.VARCHAR, width = 20)
private String proposalCode;
@Column
@Comment("旧提案编号")
@ColDefine(type = ColType.VARCHAR, width = 20)
private String oldProposalCode;
@Column
@Comment("提案名称")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String proposalName;
@Column
@Comment("提案类型")
@ColDefine(customType = "bigint")
private Long typeId;
@Column
@Comment("提案方式(字典表)")
@ColDefine(type = ColType.VARCHAR, width = 20)
private String mannerCode;
@Column
@Comment("立案结果(字典表)")
@ColDefine(type = ColType.VARCHAR, width = 20)
private String resultCode;
@Column
@Comment("确定立案类型(字典表)")
@ColDefine(type = ColType.VARCHAR, width = 20)
private String determineTypeCode;
@Column
@Comment("教代会ID")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String teacherMeetingId;
@Column
@Comment("创建人ID")
@ColDefine(customType = "bigint")
private Long createUser;
@Column
@Comment("创建人姓名")
@ColDefine(type = ColType.VARCHAR, width = 50)
private String createUserName;
@Column
@Comment("创建人工号")
@ColDefine(type = ColType.VARCHAR, width = 50)
private String createLoginName;
@Column
@Comment("创建人单位id")
@ColDefine(customType = "bigint")
private Long createUnitId;
@Column
@Comment("创建人单位")
@ColDefine(type = ColType.VARCHAR, width = 200)
private String createUnitName;
@Column
@Comment("创建人分工会id")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String createUnionId;
@Column
@Comment("创建人分工会")
@ColDefine(type = ColType.VARCHAR, width = 200)
private String createUnionName;
@Column
@Comment("创建人签字")
@ColDefine(type = ColType.VARCHAR, width = 50)
private String createUserSignature;
@Column
@Comment("所属代表团ID")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String delegationId;
@Column
@Comment("所属委员会ID")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String committeeId;
@Column
@Comment("创建时间")
@ColDefine(type = ColType.DATETIME)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime;
@Column
@Comment("案由")
@ColDefine(type = ColType.VARCHAR, width = 5000)
private String brief;
@Column
@Comment("建议措施")
@ColDefine(type = ColType.VARCHAR, width = 5000)
private String measures;
@Column
@Comment("建议落实部门ID")
@ColDefine(type = ColType.MYSQL_JSON)
private List<String> implementUnitId;
@Column
@Comment("提案状态")
@ColDefine(customType = "bigint")
private Long stateCode;
@Column
@Comment("附件")
@ColDefine(type = ColType.MYSQL_JSON)
private List<SysFile> files;
@Column
@Comment("提案人签字ID")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String signId;
@Column
@Comment("是否公示提案")
@ColDefine(type = ColType.BOOLEAN)
private Boolean publicity;
@Column
@Comment("是否优秀提案")
@ColDefine(type = ColType.BOOLEAN)
private Boolean excellent;
/*---------------审核相关 start ---------------*/
@Column
@Comment("团长审核人")
@ColDefine(type = ColType.MYSQL_JSON)
private List<String> delegationAuditId;
@Column
@Comment("秘书处审核")
@ColDefine(type = ColType.MYSQL_JSON)
private List<String> preAuditId;
@Column
@Comment("提案委员会立案")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String caseAuditId;
@Column
@Comment("委员会成员意见")
@ColDefine(type = ColType.MYSQL_JSON)
private List<String> membersOpinions;
@Column
@Comment("执委会主任意见")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String executorAuditId;
@Column
@Comment("分管校领导意见")
@ColDefine(type = ColType.MYSQL_JSON)
private List<String> branchLeaderOpinions;
@Column
@Comment("校长意见")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String principalAuditId;
@Column
@Comment("书记意见")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String secretaryAuditId;
@Column
@Comment("执委会主任确认意见")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String executorConfirmAuditId;
@Column
@Comment("提案委员会确认承办单位")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String caseUnitAuditId;
@Column
@Comment("提案委员会审查")
@ColDefine(type = ColType.VARCHAR)
private String caseCheckAuditId;
@Column
@Comment("提案委员会复核结果")
@ColDefine(type = ColType.INT)
private Integer caseCheckResult;
@Column
@Comment("提案委员会审查(需要答复人二次答复吗)")
@ColDefine(type = ColType.BOOLEAN)
private Boolean isNeedSecondedReply;
@Column
@Comment("提案委员会审查结果(需要二次校领导审批吗)")
@ColDefine(type = ColType.BOOLEAN)
private Boolean isNeedSecondedAudit;
@Column
@Comment("提案委员会归档")
@ColDefine(type = ColType.VARCHAR)
private String caseArchiveAuditId;
/*---------------审核相关 end ---------------*/
@One(field = "typeId")
private ProposalType proposalType;
@One(field = "stateCode")
private ProposalFlow proposalFlow;
/**
* 教代会信息
*/
private Jdh_jdhxx teacherMeetInfo;
/**
* 教代会名称
*/
private String teacherMeetName;
/**
* 代表团名称
*/
private String delegationName;
}
@@ -0,0 +1,84 @@
package com.ruoyi.proposal.api.domain;
import com.ruoyi.common.core.web.domain.BaseEntity;
import com.ruoyi.common.security.utils.SecurityUtils;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.nutz.dao.entity.annotation.*;
import org.nutz.dao.interceptor.annotation.PrevInsert;
import java.util.Date;
/**
* 提案委员意见
*
* @author jug
* @date 2023/01/04
*/
@EqualsAndHashCode(callSuper = true)
@Data
@Table("proposal_member_opinion")
@Accessors(chain = true)
public class ProposalMemberOpinion extends BaseEntity {
@Column
@Name
@Comment("id")
@ColDefine(type = ColType.VARCHAR, width = 32)
@PrevInsert(uu32 = true)
private String id;
@Column
@Comment("审核人ID")
@ColDefine(type = ColType.VARCHAR, width = 32)
@PrevInsert(els = @EL("$me.userId()"))
private String userId;
@Column
@Comment("审核人意见")
@ColDefine(type = ColType.VARCHAR, width = 1000)
private String opinion;
@Column
@Comment("审核时间")
@ColDefine(type = ColType.DATETIME)
@PrevInsert(els = @EL("$me.now()"))
private Date auditTime;
@Column
@Comment("审核人签字ID")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String signId;
@Column
@Comment("审核人姓名")
@ColDefine(type = ColType.VARCHAR, width = 100)
@PrevInsert(els = @EL("$me.userName()"))
private String userName;
@Column
@Comment("审核人工号")
@ColDefine(type = ColType.VARCHAR, width = 100)
@PrevInsert(els = @EL("$me.loginName()"))
private String loginName;
@Column
@Comment("提案ID")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String proposalId;
@Column
@Comment("立案结果")
@ColDefine(type = ColType.VARCHAR, width = 125)
private String resultCode;
public String loginName() {
return SecurityUtils.getUsername();
}
public String userName() {
return SecurityUtils.getNickName();
}
}
@@ -0,0 +1,194 @@
package com.ruoyi.proposal.api.domain;
import com.ruoyi.common.core.domain.SysFile;
import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.nutz.dao.entity.annotation.*;
import org.nutz.dao.interceptor.annotation.PrevInsert;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* 提案答复
*
* @author jug
* @date 2023/01/04
*/
@EqualsAndHashCode(callSuper = true)
@Data
@Table("proposal_reply")
public class ProposalReply extends BaseEntity {
@Column
@Name
@Comment("id")
@ColDefine(type = ColType.VARCHAR, width = 32)
@PrevInsert(uu32 = true)
private String id;
@Column
@Comment("提案ID")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String proposalId;
@Column
@Comment("承办单位类型(1-主办,2-协办)")
@ColDefine(type = ColType.INT, width = 1)
private Integer undertakeType;
@Column
@Comment("答复单位ID")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String replyUnitId;
@Column
@Comment("答复人id")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String replyPersonId;
@Column
@Comment("答复人姓名")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String replyPersonUserName;
@Column
@Comment("答复人工号")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String replyPersonLoginName;
@Column
@Comment("答复时间")
@ColDefine(type = ColType.DATETIME)
private Date replyTime;
@Column
@Comment("答复人签字id")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String replySignId;
@Column
@Comment("落实情况")
@ColDefine(type = ColType.VARCHAR, width = 30)
private String implementState;
@Column
@Comment("答复内容")
@ColDefine(type = ColType.VARCHAR, width = 1000)
private String replyContent;
@Column
@Comment("答复次数")
@ColDefine(type = ColType.INT, width = 4)
private Integer replyNumber;
@Column
@Comment("是否答复")
@ColDefine(type = ColType.BOOLEAN)
private boolean isReply;
@Column
@Comment("是否保存")
@ColDefine(type = ColType.BOOLEAN)
private boolean isSave;
@Column
@Comment("附件")
@ColDefine(type = ColType.MYSQL_JSON)
private List<SysFile> replyFiles;
@Column
@Comment("分管校领导id")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String leaderId;
@Column
@Comment("分管校领导姓名")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String leaderUserName;
@Column
@Comment("分管校领导工号")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String leaderLoginName;
@Column
@Comment("分管校领导签字id")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String leaderSignId;
@Column
@Comment("分管校领导审批时间")
@ColDefine(type = ColType.DATETIME)
private Date leaderCheckTime;
@Column
@Comment("分管校领导审批意见")
@ColDefine(type = ColType.TEXT)
private String leaderCheckOpinion;
@Column
@Comment("分管校领导审批次数")
@ColDefine(type = ColType.INT, width = 4)
private Integer leaderCheckNumber;
@Column
@Comment("分管校领导审批结果")
@ColDefine(type = ColType.BOOLEAN)
private Boolean leaderCheckResult;
@Column
@Comment("是否批示")
@ColDefine(type = ColType.BOOLEAN)
private boolean isLeaderAudit;
@One(field = "replySignId")
private ProposalSign replySign;
@One(field = "leaderSignId")
private ProposalSign leaderSign;
/**
* 承办单位
*/
private String underTakeName;
public boolean getIsReply() {
return isReply;
}
public void setIsReply(boolean reply) {
isReply = reply;
}
public boolean getIsSave() {
return isSave;
}
public void setIsSave(boolean save) {
isSave = save;
}
public boolean getIsLeaderAudit() {
return isLeaderAudit;
}
public void setIsLeaderAudit(boolean leaderAudit) {
isLeaderAudit = leaderAudit;
}
public List<SysFile> getReplyFiles() {
if (replyFiles == null) {
return new ArrayList<>();
}
return replyFiles;
}
public void setReplyFiles(List<SysFile> replyFiles) {
this.replyFiles = replyFiles;
}
}
@@ -0,0 +1,64 @@
package com.ruoyi.proposal.api.domain;
import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.nutz.dao.entity.annotation.*;
/**
* 提案答复配置
*
* @author jug
* @date 2022/12/28
*/
@EqualsAndHashCode(callSuper = true)
@Table("proposal_reply_config")
@Data
@Accessors(chain = true)
public class ProposalReplyConfig extends BaseEntity {
@Comment("id")
@Id
private Long id;
@Column
@Comment("是否首先答复")
@ColDefine(type = ColType.BOOLEAN)
private boolean isFirstReply;
@Column
@Comment("是否需要答复")
@ColDefine(type = ColType.BOOLEAN)
private boolean isNeedReply;
@Column
@Comment("是否需要二次答复")
@ColDefine(type = ColType.BOOLEAN)
private boolean isNeedSecondReply;
public boolean getIsFirstReply() {
return isFirstReply;
}
public void setIsFirstReply(boolean firstReply) {
isFirstReply = firstReply;
}
public boolean getIsNeedReply() {
return isNeedReply;
}
public void setIsNeedReply(boolean needReply) {
isNeedReply = needReply;
}
public boolean getIsNeedSecondReply() {
return isNeedSecondReply;
}
public void setIsNeedSecondReply(boolean needSecondReply) {
isNeedSecondReply = needSecondReply;
}
}
@@ -0,0 +1,102 @@
package com.ruoyi.proposal.api.domain;
import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.nutz.dao.entity.annotation.*;
import org.nutz.dao.interceptor.annotation.PrevInsert;
import java.util.Date;
/**
* 附议表
*
* @author jug
* @date 2022/12/29
*/
@EqualsAndHashCode(callSuper = true)
@Data
@Table("proposal_seconded")
public class ProposalSeconded extends BaseEntity {
@Column
@Name
@Comment("id")
@ColDefine(type = ColType.VARCHAR, width = 32)
@PrevInsert(uu32 = true)
private String id;
@Column
@Comment("提案ID")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String proposalId;
@Column
@Comment("附议人ID")
@ColDefine(type = ColType.VARCHAR, width = 32)
private Long seconderId;
@Column
@Comment("附议人姓名")
@ColDefine(type = ColType.VARCHAR, width = 50)
private String seconderUserName;
@Column
@Comment("附议人工号")
@ColDefine(type = ColType.VARCHAR, width = 50)
private String seconderLoginName;
@Column
@Comment("附议人单位")
@ColDefine(type = ColType.VARCHAR, width = 200)
private String seconderDeptName;
@Column
@Comment("附议人职称")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String seconderJobTitle;
@Column
@Comment("附议人邮箱")
@ColDefine(type = ColType.VARCHAR, width = 50)
private String seconderEmail;
@Column
@Comment("附议人手机号")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String seconderMobile;
@Column
@Comment("附议时间")
@ColDefine(type = ColType.DATETIME)
private Date secondedTime;
@Column
@Comment("邀请时间")
@ColDefine(type = ColType.DATETIME)
private Date inviteTime;
@Column
@Comment("附议人签字id")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String seconderSignId;
@One(field = "seconderSignId")
private ProposalSign sign;
@Column
@Comment("是否同意")
@ColDefine(type = ColType.BOOLEAN)
private Boolean isAgree;
@Column
@Comment("是否邀请")
@ColDefine(type = ColType.BOOLEAN)
private Boolean isInvite;
@Column
@Comment("是否选择")
@ColDefine(type = ColType.BOOLEAN)
private Boolean isSelect;
}
@@ -0,0 +1,26 @@
package com.ruoyi.proposal.api.domain;
import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.nutz.dao.entity.annotation.*;
import org.nutz.dao.interceptor.annotation.PrevInsert;
@EqualsAndHashCode(callSuper = true)
@Data
@Table("proposal_sign")
public class ProposalSign extends BaseEntity {
@Column
@Name
@Comment("id")
@ColDefine(type = ColType.VARCHAR, width = 32)
@PrevInsert(uu32 = true)
private String sId;
@Column
@Comment("签字文本")
@ColDefine(customType = "longtext")
private String signText;
}
@@ -0,0 +1,35 @@
package com.ruoyi.proposal.api.domain;
import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.nutz.dao.entity.annotation.*;
/**
* 提案类型表
**/
@Data
@EqualsAndHashCode(callSuper = true)
@Table("proposal_type")
public class ProposalType extends BaseEntity {
@Id
@Comment("id")
@ColDefine(customType = "bigint")
private Long id;
@Column
@Comment("类型编号")
@ColDefine(type = ColType.VARCHAR, notNull = true, width = 20)
private String typeCode;
@Column
@Comment("类型名称")
@ColDefine(type = ColType.VARCHAR, notNull = true, width = 50)
private String typeName;
@Column
@Comment("颜色")
@ColDefine(type = ColType.VARCHAR, width = 20)
private String typeColor;
}
@@ -0,0 +1,33 @@
package com.ruoyi.proposal.api.domain;
import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.nutz.dao.entity.annotation.*;
import org.nutz.dao.interceptor.annotation.PrevInsert;
/**
* 提案承办单位
*/
@EqualsAndHashCode(callSuper = true)
@Table("proposal_undertake")
@Data
public class ProposalUnderTake extends BaseEntity {
@Name
@Comment("id")
@ColDefine(type = ColType.VARCHAR, width = 32)
@PrevInsert(uu32 = true)
private String id;
@Column
@Comment("承办单位编码")
@ColDefine(type = ColType.VARCHAR, width = 50)
private String unitCode;
@Column
@Comment("承办单位名称")
@ColDefine(type = ColType.VARCHAR, width = 255)
private String unitName;
}