diff --git a/src/main/java/com/budwk/app/base/constant/BpmProcessConstant.java b/src/main/java/com/budwk/app/base/constant/BpmProcessConstant.java index c023259d..f2b252a2 100644 --- a/src/main/java/com/budwk/app/base/constant/BpmProcessConstant.java +++ b/src/main/java/com/budwk/app/base/constant/BpmProcessConstant.java @@ -29,13 +29,13 @@ public enum BpmProcessConstant { MEMBER_BRANCH_UNION_CHANGE("会员分工会变更"), - CLUB_JOIN("协会入会申请"), + CLUB_JOIN("社团入会申请"), - CLUB_EXAMINE("协会考核"), + CLUB_EXAMINE("社团考核"), - CLUB_EVALUATE("协会评优"), + CLUB_EVALUATE("社团评优"), - CLUB_REGISTER("协会注册"), + CLUB_REGISTER("社团注册"), PERSON_EVALUATE("评优评先申请"), diff --git a/src/main/java/com/budwk/app/base/constant/RoleConstant.java b/src/main/java/com/budwk/app/base/constant/RoleConstant.java index 0899be25..69f1abf5 100644 --- a/src/main/java/com/budwk/app/base/constant/RoleConstant.java +++ b/src/main/java/com/budwk/app/base/constant/RoleConstant.java @@ -25,9 +25,9 @@ RoleConstant { SCHOOL_UNION_WC_ADMIN("校工会工代会管理员"), SCHOOL_UNION_DC_ADMIN("校工会民主管理员"), SCHOOL_UNION_PROPOSAL_ADMIN("校工会提案管理员"), - SCHOOL_UNION_CLUB_ADMIN("校工会协会管理员"), + SCHOOL_UNION_CLUB_ADMIN("校工会社团管理员"), SCHOOL_UNION_ACTIVITY_ADMIN("校工会活动管理员"), - SCHOOL_UNION_ARTICLE_CLUB_ADMIN("校工会协会新闻审批管理员"), + SCHOOL_UNION_ARTICLE_CLUB_ADMIN("校工会社团新闻审批管理员"), SCHOOL_UNION_ARTICLE_FGH_ADMIN("校工会分工会新闻审批管理员"), SCHOOL_UNION_ARTICLE_ADMIN("校工会新闻审批管理员"), SCHOOL_OUTLAY_ADMIN("校工会经费管理员"), @@ -78,16 +78,16 @@ RoleConstant { SCHOOL_HOSPITAL_LEADER("校医院负责人"), - /*协会模块*/ - CLUB_MEMBER("协会会员"), - CLUB_MANAGER("协会负责人"), - CLUB_PRESIDENT("协会会长"), - CLUB_VICE_PRESIDENT("协会副会长"), - CLUB_SECRETARY("协会秘书长"), - CLUB_VICE_SECRETARY("协会副秘书长"), - // SCHOOL_UNION_CLUB_ADMIN("校工会协会管理员"), - CLUB_AUDIT_LEADER("协会分管领导"), - CLUB_OPERATOR("协会操作员"), + /*社团模块*/ + CLUB_MEMBER("社团会员"), + CLUB_MANAGER("社团负责人"), + CLUB_PRESIDENT("社团会长"), + CLUB_VICE_PRESIDENT("社团副会长"), + CLUB_SECRETARY("社团秘书长"), + CLUB_VICE_SECRETARY("社团副秘书长"), + // SCHOOL_UNION_CLUB_ADMIN("校工会社团管理员"), + CLUB_AUDIT_LEADER("社团分管领导"), + CLUB_OPERATOR("社团操作员"), /*大病基金会员*/ AID_FUND_MEMBER("大病基金会员"), @@ -103,7 +103,7 @@ RoleConstant { LEGAL_DOCTOR("法律顾问"), UNION_REIMBURSEMENT_MANAGER("分工会报销负责人"), - CLUB_REIMBURSEMENT_MANAGER("协会报销负责人"), + CLUB_REIMBURSEMENT_MANAGER("社团报销负责人"), SCHOOL_REIMBURSEMENT_MANAGER("校工会报销负责人"), ; diff --git a/src/main/java/com/budwk/app/flow/handler/FlowClubPresidentByArgsAssignmentHandler.java b/src/main/java/com/budwk/app/flow/handler/FlowClubPresidentByArgsAssignmentHandler.java index 67b3983a..e2475e3a 100644 --- a/src/main/java/com/budwk/app/flow/handler/FlowClubPresidentByArgsAssignmentHandler.java +++ b/src/main/java/com/budwk/app/flow/handler/FlowClubPresidentByArgsAssignmentHandler.java @@ -22,7 +22,7 @@ import org.nutz.lang.util.NutMap; import java.util.List; /** - * 获取协会审批人根据流程变量参数(clubId) 必传 + * 获取社团审批人根据流程变量参数(clubId) 必传 */ public class FlowClubPresidentByArgsAssignmentHandler implements AssignmentHandler { @Override @@ -45,7 +45,7 @@ public class FlowClubPresidentByArgsAssignmentHandler implements AssignmentHandl @Override public String getMessage() { - return "获取协会会长(根据args中的clubId)"; + return "获取社团会长(根据args中的clubId)"; } @Override diff --git a/src/main/java/com/budwk/app/flow/service/FlowCommonService.java b/src/main/java/com/budwk/app/flow/service/FlowCommonService.java index 52b9b554..5cbb62ee 100644 --- a/src/main/java/com/budwk/app/flow/service/FlowCommonService.java +++ b/src/main/java/com/budwk/app/flow/service/FlowCommonService.java @@ -51,10 +51,12 @@ public class FlowCommonService { ProcessTask processTask = flowEngine.processTaskService().getById(processTaskId); ProcessTask parentTask = flowEngine.processTaskService().getById(processTask.getTaskParentId()); - Dict taskArgs = Json.fromJson(Dict.class, parentTask.getVariable()); - if(taskArgs.containsKey("tf_sourceTaskKey") && !taskArgs.getBool("tf_audit")) { - submitType = ProcessSubmitTypeEnum.JUMP.getCode(); - args.put(FlowConst.TASK_NAME, taskArgs.getStr("tf_sourceTaskKey")); + if(parentTask != null) { + Dict taskArgs = Json.fromJson(Dict.class, parentTask.getVariable()); + if(taskArgs.containsKey("tf_sourceTaskKey") && !taskArgs.getBool("tf_audit")) { + submitType = ProcessSubmitTypeEnum.JUMP.getCode(); + args.put(FlowConst.TASK_NAME, taskArgs.getStr("tf_sourceTaskKey")); + } } args.put(FlowConst.SUBMIT_TYPE, submitType); diff --git a/src/main/java/com/budwk/app/sys/models/Sys_user_role.java b/src/main/java/com/budwk/app/sys/models/Sys_user_role.java index 26a19f7c..5da88494 100644 --- a/src/main/java/com/budwk/app/sys/models/Sys_user_role.java +++ b/src/main/java/com/budwk/app/sys/models/Sys_user_role.java @@ -52,7 +52,7 @@ public class Sys_user_role { @Column @ColDefine(type = ColType.VARCHAR, width = 32) - @Comment("协会ID") + @Comment("社团ID") private String clubId; @Column @ColDefine(type = ColType.VARCHAR, width = 32) diff --git a/src/main/java/com/budwk/app/task/job/club/ClubGeneratePayRecordJob.java b/src/main/java/com/budwk/app/task/job/club/ClubGeneratePayRecordJob.java index 518c6b28..ebb2f978 100644 --- a/src/main/java/com/budwk/app/task/job/club/ClubGeneratePayRecordJob.java +++ b/src/main/java/com/budwk/app/task/job/club/ClubGeneratePayRecordJob.java @@ -21,7 +21,7 @@ import java.util.List; * @Author JyuHsin * @Date 2026/1/22 16:56 * @Version 1.0 - * @Description 每年的1月1日生成协会成员下年的缴费记录 + * @Description 每年的1月1日生成社团成员下年的缴费记录 */ @IocBean public class ClubGeneratePayRecordJob implements Job { @@ -33,7 +33,7 @@ public class ClubGeneratePayRecordJob implements Job { public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { // 当前年份 int thisYear = DateUtil.thisYear(); - // 获取最新的协会成员信息 + // 获取最新的社团成员信息 List clubUserList = dao.query(ClubUser.class, Cnd.NEW()); // 生成缴费记录对象 List list = new ArrayList<>(); diff --git a/src/main/java/com/budwk/app/web/commons/auth/utils/SecurityUtil.java b/src/main/java/com/budwk/app/web/commons/auth/utils/SecurityUtil.java index 3c82cce2..9f55e2d2 100644 --- a/src/main/java/com/budwk/app/web/commons/auth/utils/SecurityUtil.java +++ b/src/main/java/com/budwk/app/web/commons/auth/utils/SecurityUtil.java @@ -56,7 +56,7 @@ public class SecurityUtil { } /** - * 获取当前用户协会ID + * 获取当前用户社团ID */ public static List getClubIds() { String clubIds = getSession().get("clubIds").toString(); diff --git a/src/main/java/com/budwk/app/web/controllers/open/commons/CommonController.java b/src/main/java/com/budwk/app/web/controllers/open/commons/CommonController.java index 4535fdd2..d6e4beff 100644 --- a/src/main/java/com/budwk/app/web/controllers/open/commons/CommonController.java +++ b/src/main/java/com/budwk/app/web/controllers/open/commons/CommonController.java @@ -108,12 +108,14 @@ public class CommonController { public Result unionOptions(String unionId) { List sys_unions = sysUserService.dao().query(Sys_union.class, Cnd.NEW().andEX("id", "=", unionId).asc("unionCode")); + + sysUserService.clearCache(); return Result.success(sys_unions); } @At @SaCheckLogin - @ApiOperation("协会列表") + @ApiOperation("社团列表") public Result clubOptions(String clubId) { List sysClubs = sysClubService.dao().query(SysClub.class, Cnd.NEW().andEX("id", "=", clubId)); diff --git a/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/declare/controller/ActivityDeclareClubPrincipalController.java b/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/declare/controller/ActivityDeclareClubPrincipalController.java index 5ec8cbd5..b9fbcdf2 100644 --- a/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/declare/controller/ActivityDeclareClubPrincipalController.java +++ b/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/declare/controller/ActivityDeclareClubPrincipalController.java @@ -30,7 +30,7 @@ import java.util.List; */ @IocBean @Ok("json") -@ApiOperation("活动申报,协会负责人审核") +@ApiOperation("活动申报,社团负责人审核") @At("/platform/activityDeclare/clubPrincipal") public class ActivityDeclareClubPrincipalController { @@ -51,7 +51,7 @@ public class ActivityDeclareClubPrincipalController { @At - @ApiOperation("活动申报,协会负责人审核列表") + @ApiOperation("活动申报,社团负责人审核列表") @SaCheckPermission("activityDeclare.clubPrincipal") public Result pageData(CommonPageParam pageParam) { Sql sql = Sqls.create(""" diff --git a/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/declare/controller/ActivityDeclareMineController.java b/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/declare/controller/ActivityDeclareMineController.java index 54d01582..01ebf411 100644 --- a/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/declare/controller/ActivityDeclareMineController.java +++ b/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/declare/controller/ActivityDeclareMineController.java @@ -222,8 +222,8 @@ public class ActivityDeclareMineController { docData.put("fgh", approval); }); - // 协会负责人审核 - doneTaskVos.stream().filter(task -> "协会负责人审核".equals(task.getDisplayName())) + // 社团负责人审核 + doneTaskVos.stream().filter(task -> "社团负责人审核".equals(task.getDisplayName())) .max(Comparator.comparing(ProcessTaskVO::getCreatedAt)) .ifPresent(v -> { Dict taskFormData = v.getTaskFormData(); diff --git a/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/declare/models/ActivityDeclareInfo.java b/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/declare/models/ActivityDeclareInfo.java index ff7fe64a..5ec38b5f 100644 --- a/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/declare/models/ActivityDeclareInfo.java +++ b/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/declare/models/ActivityDeclareInfo.java @@ -58,7 +58,7 @@ public class ActivityDeclareInfo extends BaseModel { private String mobile; @Column - @Comment("申报单位(校工会/二级工会名称/协会名称)") + @Comment("申报单位(校工会/二级工会名称/社团名称)") @ColDefine(type = ColType.VARCHAR, width = 200) private String declareUnitName; @@ -68,7 +68,7 @@ public class ActivityDeclareInfo extends BaseModel { private String unionId; @Column - @Comment("协会id") + @Comment("社团id") @ColDefine(type = ColType.VARCHAR, width = 32) private String clubId; diff --git a/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/enums/ActivityDeclareReimbursement.java b/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/enums/ActivityDeclareReimbursement.java index 6768c0c4..ebbb920a 100644 --- a/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/enums/ActivityDeclareReimbursement.java +++ b/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/enums/ActivityDeclareReimbursement.java @@ -25,9 +25,9 @@ public enum ActivityDeclareReimbursement { */ BRANCH_UNION("分工会活动"), /** - * 协会 + * 社团 */ - CLUB("协会活动"); + CLUB("社团活动"); private final String typeName; } diff --git a/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/reimbursement/controller/ActivityReimbursementBoardController.java b/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/reimbursement/controller/ActivityReimbursementBoardController.java index 678edb7d..98d018f0 100644 --- a/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/reimbursement/controller/ActivityReimbursementBoardController.java +++ b/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/reimbursement/controller/ActivityReimbursementBoardController.java @@ -250,7 +250,7 @@ public class ActivityReimbursementBoardController { @At - @ApiOperation("所有协会的报销费用或活动数统计") + @ApiOperation("所有社团的报销费用或活动数统计") @SaCheckPermission("activityReimbursement.board") public Result allClubActivityAndMoney(Integer year, Boolean isClubMoney) { Sql sql = Sqls.create(""" diff --git a/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/reimbursement/controller/ActivityReimbursementClubPrincipalController.java b/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/reimbursement/controller/ActivityReimbursementClubPrincipalController.java index 973fbe9f..51e3faee 100644 --- a/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/reimbursement/controller/ActivityReimbursementClubPrincipalController.java +++ b/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/reimbursement/controller/ActivityReimbursementClubPrincipalController.java @@ -30,7 +30,7 @@ import java.util.List; */ @IocBean @Ok("json") -@ApiOperation("活动报销,协会负责人审核") +@ApiOperation("活动报销,社团负责人审核") @At("/platform/activityReimbursement/clubPrincipal") public class ActivityReimbursementClubPrincipalController { @@ -51,7 +51,7 @@ public class ActivityReimbursementClubPrincipalController { @At - @ApiOperation("活动报销,协会负责人审核列表") + @ApiOperation("活动报销,社团负责人审核列表") @SaCheckPermission("activityReimbursement.clubPrincipal") public Result pageData(CommonPageParam pageParam) { Sql sql = Sqls.create(""" diff --git a/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/reimbursement/controller/ActivityReimbursementMineController.java b/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/reimbursement/controller/ActivityReimbursementMineController.java index 6430669e..cf170693 100644 --- a/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/reimbursement/controller/ActivityReimbursementMineController.java +++ b/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/reimbursement/controller/ActivityReimbursementMineController.java @@ -323,8 +323,8 @@ public class ActivityReimbursementMineController { docData.put("fgh", approval); }); - // 协会负责人审核 - doneTaskVos.stream().filter(task -> "协会负责人审核".equals(task.getDisplayName())) + // 社团负责人审核 + doneTaskVos.stream().filter(task -> "社团负责人审核".equals(task.getDisplayName())) .max(Comparator.comparing(ProcessTaskVO::getCreatedAt)) .ifPresent(v -> { Dict taskFormData = v.getTaskFormData(); diff --git a/src/main/java/com/budwk/app/zhgh/activity/planSummary/controller/YearPlanController.java b/src/main/java/com/budwk/app/zhgh/activity/planSummary/controller/YearPlanController.java index a746a66c..fcda1e08 100644 --- a/src/main/java/com/budwk/app/zhgh/activity/planSummary/controller/YearPlanController.java +++ b/src/main/java/com/budwk/app/zhgh/activity/planSummary/controller/YearPlanController.java @@ -141,7 +141,7 @@ public class YearPlanController { } @At - @ApiOperation("获取协会") + @ApiOperation("获取社团") @SaCheckPermission("planSummary.yearPlan.manage") public Result queryClub() { Cnd cnd = Cnd.NEW(); diff --git a/src/main/java/com/budwk/app/zhgh/activity/planSummary/model/YearPlan.java b/src/main/java/com/budwk/app/zhgh/activity/planSummary/model/YearPlan.java index 31b18930..c9f53b19 100644 --- a/src/main/java/com/budwk/app/zhgh/activity/planSummary/model/YearPlan.java +++ b/src/main/java/com/budwk/app/zhgh/activity/planSummary/model/YearPlan.java @@ -51,7 +51,7 @@ public class YearPlan extends BaseModel { private Double money; @Column - @Comment("计划类型(40001-校活动、40002-分工会活动、40003-协会社团活动)") + @Comment("计划类型(40001-校活动、40002-分工会活动、40003-社团社团活动)") @ColDefine(type = ColType.VARCHAR, width = 7) private String planType; diff --git a/src/main/java/com/budwk/app/zhgh/activity/planSummary/model/YearSummary.java b/src/main/java/com/budwk/app/zhgh/activity/planSummary/model/YearSummary.java index 11b554af..91c9f661 100644 --- a/src/main/java/com/budwk/app/zhgh/activity/planSummary/model/YearSummary.java +++ b/src/main/java/com/budwk/app/zhgh/activity/planSummary/model/YearSummary.java @@ -72,7 +72,7 @@ public class YearSummary extends BaseModel { private String cTime; @Column - @Comment("工会/协会id") + @Comment("工会/社团id") @ColDefine(type = ColType.VARCHAR, width = 32) private String tissueId; @@ -87,7 +87,7 @@ public class YearSummary extends BaseModel { private String summaryType; @Column - @Comment("总结来源(1-校活动、2-分工会活动、3协会社团活动)") + @Comment("总结来源(1-校活动、2-分工会活动、3社团社团活动)") @ColDefine(type = ColType.VARCHAR, width = 32) private String summaryFrom; diff --git a/src/main/java/com/budwk/app/zhgh/activity/sports/models/ActivitySchool.java b/src/main/java/com/budwk/app/zhgh/activity/sports/models/ActivitySchool.java index df8f4636..e576d77b 100644 --- a/src/main/java/com/budwk/app/zhgh/activity/sports/models/ActivitySchool.java +++ b/src/main/java/com/budwk/app/zhgh/activity/sports/models/ActivitySchool.java @@ -160,7 +160,7 @@ public class ActivitySchool extends BaseModel implements Serializable , SysHomeC private Boolean close; @Column - @Comment("活动级别(40001-校级、40002-分工会、40003-社团或协会)") + @Comment("活动级别(40001-校级、40002-分工会、40003-社团或社团)") @ColDefine(type = ColType.INT, width = 10) private Integer activityLevel; diff --git a/src/main/java/com/budwk/app/zhgh/activity/trainSignUp/controller/manage/TrainSignUpManageController.java b/src/main/java/com/budwk/app/zhgh/activity/trainSignUp/controller/manage/TrainSignUpManageController.java index 21fc4690..a1a0cacc 100644 --- a/src/main/java/com/budwk/app/zhgh/activity/trainSignUp/controller/manage/TrainSignUpManageController.java +++ b/src/main/java/com/budwk/app/zhgh/activity/trainSignUp/controller/manage/TrainSignUpManageController.java @@ -205,7 +205,7 @@ public class TrainSignUpManageController { @At @Ok("json:full") - @ApiOperation("查询分工会和协会") + @ApiOperation("查询分工会和社团") @SaCheckPermission("trainSignUp.manage") public Result selectUnitAndClub() { List result = new ArrayList<>(); diff --git a/src/main/java/com/budwk/app/zhgh/activity/trainSignUp/controller/statistics/TrainSignUpActivityStatisticsController.java b/src/main/java/com/budwk/app/zhgh/activity/trainSignUp/controller/statistics/TrainSignUpActivityStatisticsController.java index f5076319..aebe340a 100644 --- a/src/main/java/com/budwk/app/zhgh/activity/trainSignUp/controller/statistics/TrainSignUpActivityStatisticsController.java +++ b/src/main/java/com/budwk/app/zhgh/activity/trainSignUp/controller/statistics/TrainSignUpActivityStatisticsController.java @@ -99,7 +99,7 @@ public class TrainSignUpActivityStatisticsController { if(!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_CHAIRMAN.name())) { // 获取当前登录用户的工会 String unionId = SecurityUtil.getUnionId(); - // 获取当前登录用户的协会 + // 获取当前登录用户的社团 List clubIds = SecurityUtil.getClubIds(); List result = new ArrayList<>(); diff --git a/src/main/java/com/budwk/app/zhgh/club/controller/apply/ClubUserClubListController.java b/src/main/java/com/budwk/app/zhgh/club/controller/apply/ClubUserClubListController.java index 7cfbd7e1..610b6f47 100644 --- a/src/main/java/com/budwk/app/zhgh/club/controller/apply/ClubUserClubListController.java +++ b/src/main/java/com/budwk/app/zhgh/club/controller/apply/ClubUserClubListController.java @@ -73,7 +73,7 @@ public class ClubUserClubListController { @At @SaCheckPermission("club.join.list") public Result getCount() { - // 获取所有协会 + // 获取所有社团 List list = sysClubService.query(); // 获取审核通过的 List instanceList = sysClubService.dao().query( diff --git a/src/main/java/com/budwk/app/zhgh/club/controller/apply/ClubUserJoinApplyController.java b/src/main/java/com/budwk/app/zhgh/club/controller/apply/ClubUserJoinApplyController.java index fbdd8db4..1abcdc05 100644 --- a/src/main/java/com/budwk/app/zhgh/club/controller/apply/ClubUserJoinApplyController.java +++ b/src/main/java/com/budwk/app/zhgh/club/controller/apply/ClubUserJoinApplyController.java @@ -50,7 +50,7 @@ import java.util.List; @IocBean @At("/platform/club/join/apply") -@Api("协会申请入会、退会") +@Api("社团申请入会、退会") @Ok("json:full") public class ClubUserJoinApplyController { @@ -107,7 +107,7 @@ public class ClubUserJoinApplyController { @At @ApiOperation("保存申请") @SaCheckPermission(value = {"club.join.apply", "h5.club.join.apply"}, mode = SaMode.OR) - @SLog(tag = "协会管理系统-申请入会", msg = "保存协会入会") + @SLog(tag = "社团管理系统-申请入会", msg = "保存社团入会") public Result save(@Param("data") ClubUserApply clubUserApply) { clubUserApply.setRoleCode(RoleConstant.CLUB_MEMBER.name()); clubUserApply.setMode(true); @@ -120,7 +120,7 @@ public class ClubUserJoinApplyController { @ApiOperation("提交") @SaCheckPermission(value = {"club.join.apply", "h5.club.join.apply"}, mode = SaMode.OR) @Aop(TransAop.READ_COMMITTED) - @SLog(tag = "协会管理系统-申请入/退会", msg = "申请协会入/退会") + @SLog(tag = "社团管理系统-申请入/退会", msg = "申请社团入/退会") public Result submit(@Param("data") ClubUserApply clubUserApply, @Param("mode") Boolean mode) { if(mode == false) { @@ -134,12 +134,14 @@ public class ClubUserJoinApplyController { ClubUserApply userApply = dao.fetch(ClubUserApply.class, Cnd.where("userId", "=", clubUserApply.getUserId()).and("clubId", "=", clubUserApply.getClubId()).and("mode", "=", mode).desc(ClubUserApply::getApplyDate)); if (ObjectUtil.isNotEmpty(userApply) && StrUtil.isNotBlank(userApply.getId())) { ProcessInstance processInstance = dao.fetch(ProcessInstance.class, Cnd.where(ProcessInstance::getBusinessNo, "=", userApply.getId())); - if (!List.of(ProcessInstanceStateEnum.REJECT.getCode(), ProcessInstanceStateEnum.FINISHED.getCode()).contains(processInstance.getState())) { - return Result.error("您有该协会的申请记录尚未完成,请到我的申请里查看!"); + if (processInstance != null && !List.of(ProcessInstanceStateEnum.REJECT.getCode(), ProcessInstanceStateEnum.FINISHED.getCode()).contains(processInstance.getState())) { + return Result.error("您有该社团的申请记录尚未完成,请到我的申请里查看!"); } } - clubUserApply.setId(null); + if(!mode) { + clubUserApply.setId(null); + } clubUserApply.setRoleCode(RoleConstant.CLUB_MEMBER.name()); clubUserApply.setMode(mode); clubUserApply.setApplyDate(new Date()); @@ -176,7 +178,7 @@ public class ClubUserJoinApplyController { } @At - @ApiOperation("校验是否申请过协会") + @ApiOperation("校验是否申请过社团") @SaCheckPermission(value = {"club.join.apply", "h5.club.join.apply"}, mode = SaMode.OR) public Result checkApplyClub(@Valid String clubId) { View_user user = dao.fetch(View_user.class, Cnd.where("id", "=", SecurityUtil.getUserId())); @@ -196,7 +198,7 @@ public class ClubUserJoinApplyController { ProcessInstance processInstance = dao.fetch(ProcessInstance.class, Cnd.where(ProcessInstance::getBusinessNo, "=", userApply.getId())); if (!List.of(ProcessInstanceStateEnum.REJECT.getCode(), ProcessInstanceStateEnum.FINISHED.getCode()).contains(processInstance.getState())) { - return Result.error(99, "您有该协会的申请记录尚未完成,请到我的申请里查看!"); + return Result.error(99, "您有该社团的申请记录尚未完成,请到我的申请里查看!"); } return Result.success(); } diff --git a/src/main/java/com/budwk/app/zhgh/club/controller/apply/ClubUserJoinMineController.java b/src/main/java/com/budwk/app/zhgh/club/controller/apply/ClubUserJoinMineController.java index 95cc8198..92d611af 100644 --- a/src/main/java/com/budwk/app/zhgh/club/controller/apply/ClubUserJoinMineController.java +++ b/src/main/java/com/budwk/app/zhgh/club/controller/apply/ClubUserJoinMineController.java @@ -79,7 +79,6 @@ public class ClubUserJoinMineController { t.finishTime, t.taskParentId, t.variable taskVariable, - IFNULL(GROUP_CONCAT(DISTINCT nt.displayName),'结束') curTaskName, IF((SELECT taskName FROM wf_process_task tt WHERE tt.id = t.taskParentId) = 'startTask', 1, 0) canRevoke, (select MAX(id) from wf_process_task where processInstanceId = ins.id and taskName = 'startTask') AS startTaskId FROM @@ -106,7 +105,7 @@ public class ClubUserJoinMineController { @SaCheckPermission(value = {"club.join.mine", "h5.club.join.mine"}, mode = SaMode.OR) @ApiOperation("删除") @Aop(TransAop.READ_COMMITTED) - @SLog(tag = "协会管理系统-申请入会-我的申请", msg = "删除协会入会") + @SLog(tag = "社团管理系统-申请入会-我的申请", msg = "删除社团入会") public Result delete(@Valid String id) { dao.delete(ClubUserApply.class, id); dao.delete(ClubUser.class, id); diff --git a/src/main/java/com/budwk/app/zhgh/club/controller/evaluate/ClubEvaluateApplyController.java b/src/main/java/com/budwk/app/zhgh/club/controller/evaluate/ClubEvaluateApplyController.java index 3999471c..3f3bf550 100644 --- a/src/main/java/com/budwk/app/zhgh/club/controller/evaluate/ClubEvaluateApplyController.java +++ b/src/main/java/com/budwk/app/zhgh/club/controller/evaluate/ClubEvaluateApplyController.java @@ -69,7 +69,7 @@ public class ClubEvaluateApplyController { @At @Aop(TransAop.READ_COMMITTED) @SaCheckPermission("club.evaluate.apply") - @SLog(tag = "协会管理系统-协会评优", msg = "保存协会评优申请") + @SLog(tag = "社团管理系统-社团评优", msg = "保存社团评优申请") public Result save(@Param("data") SysClubEvaluate evaluate) { evaluateService.dao().insertOrUpdate(evaluate); return Result.success(evaluate); @@ -78,7 +78,7 @@ public class ClubEvaluateApplyController { @At @Aop(TransAop.READ_COMMITTED) @SaCheckPermission("club.evaluate.apply") - @SLog(tag = "协会管理系统-协会评优", msg = "提交协会评优") + @SLog(tag = "社团管理系统-社团评优", msg = "提交社团评优") public Result submit(@Valid @Param("data") SysClubEvaluate evaluate) { evaluateService.dao().insertOrUpdate(evaluate); diff --git a/src/main/java/com/budwk/app/zhgh/club/controller/evaluate/ClubEvaluateMineController.java b/src/main/java/com/budwk/app/zhgh/club/controller/evaluate/ClubEvaluateMineController.java index b6c093ef..a565ffe5 100644 --- a/src/main/java/com/budwk/app/zhgh/club/controller/evaluate/ClubEvaluateMineController.java +++ b/src/main/java/com/budwk/app/zhgh/club/controller/evaluate/ClubEvaluateMineController.java @@ -51,7 +51,7 @@ public class ClubEvaluateMineController { @At @Aop(TransAop.READ_COMMITTED) @SaCheckPermission("club.evaluate.mine") - @SLog(tag = "协会管理系统-协会评优", msg = "删除协会评优") + @SLog(tag = "社团管理系统-社团评优", msg = "删除社团评优") public Result doDelete(@Valid String id) { sysClubEvaluateService.dao().delete(SysClubEvaluate.class, id); flowEngine.processInstanceService().deleteProcessInstanceByBusinessKey(id); diff --git a/src/main/java/com/budwk/app/zhgh/club/controller/examine/ClubExamineApplyController.java b/src/main/java/com/budwk/app/zhgh/club/controller/examine/ClubExamineApplyController.java index 9c40c913..92197d3d 100644 --- a/src/main/java/com/budwk/app/zhgh/club/controller/examine/ClubExamineApplyController.java +++ b/src/main/java/com/budwk/app/zhgh/club/controller/examine/ClubExamineApplyController.java @@ -71,7 +71,7 @@ public class ClubExamineApplyController { @SaCheckLogin public Result getCount(String id, Integer year, String clubId) { if(StrUtil.isBlank(clubId)) { - return Result.error("协会信息为空,请核查"); + return Result.error("社团信息为空,请核查"); } if(year == null) { return Result.error("年份信息为空,请核查"); @@ -96,7 +96,7 @@ public class ClubExamineApplyController { @SaCheckLogin public Result getClubUserNum(String clubId, Integer year) { if(StrUtil.isBlank(clubId)) { - return Result.error("协会信息为空,请核查"); + return Result.error("社团信息为空,请核查"); } List result = sysClubExamineService.getClubUserNum(clubId, year); return Result.success(result); @@ -106,7 +106,7 @@ public class ClubExamineApplyController { @SaCheckLogin public Result getJgUser(String clubId) { if(StrUtil.isBlank(clubId)) { - return Result.error("协会信息为空,请核查"); + return Result.error("社团信息为空,请核查"); } List result = sysClubExamineService.getJgUser(clubId); return Result.success(result); @@ -116,7 +116,7 @@ public class ClubExamineApplyController { @SaCheckLogin public Result getClubMemberMoney(String clubId) { if(StrUtil.isBlank(clubId)) { - return Result.error("协会信息为空,请核查"); + return Result.error("社团信息为空,请核查"); } int count = dao.count(ClubUser.class, Cnd.where("clubId", "=", clubId)); SysClub club = dao.fetch(SysClub.class, clubId); @@ -141,7 +141,7 @@ public class ClubExamineApplyController { @SaCheckLogin public Result getLastYearSurplus(String clubId) { if(StrUtil.isBlank(clubId)) { - return Result.error("协会信息为空,请核查"); + return Result.error("社团信息为空,请核查"); } SysClubExamineRegister register = dao.fetch(SysClubExamineRegister.class, Cnd.where("clubId", "=", clubId) .and("YEAR(registerDate)", "=", DateUtil.thisYear() - 1)); @@ -167,7 +167,7 @@ public class ClubExamineApplyController { @At @Aop(TransAop.READ_COMMITTED) @SaCheckPermission("club.examine.apply") - @SLog(tag = "协会管理系统-协会年审", msg = "保存协会年审") + @SLog(tag = "社团管理系统-社团年审", msg = "保存社团年审") public Result save(@Param("data") SysClubExamineRegister examineRegister, @Param("incomeDetailed") String incomeDetailed, @Param("incomeCensus") String incomeCensus) { @@ -182,7 +182,7 @@ public class ClubExamineApplyController { @At @Aop(TransAop.READ_COMMITTED) @SaCheckPermission("club.examine.apply") - @SLog(tag = "协会管理系统-协会年审", msg = "提交协会年审") + @SLog(tag = "社团管理系统-社团年审", msg = "提交社团年审") public Result submit(@Param("data") SysClubExamineRegister examineRegister, @Param("incomeDetailed") String incomeDetailed, @Param("incomeCensus") String incomeCensus) { diff --git a/src/main/java/com/budwk/app/zhgh/club/controller/examine/ClubExamineMineController.java b/src/main/java/com/budwk/app/zhgh/club/controller/examine/ClubExamineMineController.java index 8674678c..52ce8927 100644 --- a/src/main/java/com/budwk/app/zhgh/club/controller/examine/ClubExamineMineController.java +++ b/src/main/java/com/budwk/app/zhgh/club/controller/examine/ClubExamineMineController.java @@ -48,7 +48,7 @@ public class ClubExamineMineController { @At @Aop(TransAop.READ_COMMITTED) @SaCheckPermission("club.examine.mine") - @SLog(tag = "协会管理系统-协会年审", msg = "删除协会年审") + @SLog(tag = "社团管理系统-社团年审", msg = "删除社团年审") public Result doDelete(@Valid String id) { sysClubExamineService.delete(id); sysClubExamineService.dao().clear(SysClubExamineRegisterDetailed.class, Cnd.where("registerId", "=", id)); diff --git a/src/main/java/com/budwk/app/zhgh/club/controller/infoManage/ClubChangeManagerController.java b/src/main/java/com/budwk/app/zhgh/club/controller/infoManage/ClubChangeManagerController.java index a6e34fbf..1564057b 100644 --- a/src/main/java/com/budwk/app/zhgh/club/controller/infoManage/ClubChangeManagerController.java +++ b/src/main/java/com/budwk/app/zhgh/club/controller/infoManage/ClubChangeManagerController.java @@ -128,7 +128,7 @@ public class ClubChangeManagerController { @At @Aop(TransAop.READ_COMMITTED) @SaCheckPermission("club.infoManage.change") - @SLog(tag = "协会管理系统-信息管理", msg = "提交变更理事机构") + @SLog(tag = "社团管理系统-信息管理", msg = "提交变更理事机构") public Object submit(@Param("data") SysClubManager clubManager) { if (!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name())) { @@ -188,7 +188,7 @@ public class ClubChangeManagerController { @ApiOperation("删除") @Aop(TransAop.READ_COMMITTED) @SaCheckPermission("club.infoManage.change") - @SLog(tag = "协会管理系统-信息管理", msg = "删除变更理事机构") + @SLog(tag = "社团管理系统-信息管理", msg = "删除变更理事机构") public Result delete(@Param("id") String id) { dao.delete(SysClubManager.class, id); flowEngine.processInstanceService().deleteProcessInstanceByBusinessKey(id); diff --git a/src/main/java/com/budwk/app/zhgh/club/controller/infoManage/ClubInfoManageController.java b/src/main/java/com/budwk/app/zhgh/club/controller/infoManage/ClubInfoManageController.java index 442dc258..c1c14d04 100644 --- a/src/main/java/com/budwk/app/zhgh/club/controller/infoManage/ClubInfoManageController.java +++ b/src/main/java/com/budwk/app/zhgh/club/controller/infoManage/ClubInfoManageController.java @@ -104,7 +104,7 @@ public class ClubInfoManageController { @At @Aop(TransAop.READ_COMMITTED) @SaCheckPermission("club.infoManage.manage") - @SLog(tag = "协会管理系统-信息管理", msg = "修改协会信息") + @SLog(tag = "社团管理系统-信息管理", msg = "修改社团信息") public Result doSubmit(@Param("club") SysClub club) { clubInfoManageService.dao().update(club); return Result.success(); @@ -113,7 +113,7 @@ public class ClubInfoManageController { @At @Aop(TransAop.READ_COMMITTED) @SaCheckPermission("club.infoManage.manage") - @SLog(tag = "协会管理系统-信息管理", msg = "修改缴费状态") + @SLog(tag = "社团管理系统-信息管理", msg = "修改缴费状态") public Result updatePayed(@Valid Boolean payed, @Valid String id) { clubInfoManageService.dao().update(ClubUser.class, Chain.make("payed", payed), Cnd.where("id", "=", id)); return Result.success(); @@ -122,7 +122,7 @@ public class ClubInfoManageController { @At @Aop(TransAop.READ_COMMITTED) @SaCheckPermission("club.infoManage.manage") - @SLog(tag = "协会管理系统-信息管理", msg = "修改拨付状态") + @SLog(tag = "社团管理系统-信息管理", msg = "修改拨付状态") public Result updateGive(@Valid Boolean giveMoney, @Valid String id) { clubInfoManageService.dao().update(ClubUser.class, Chain.make("giveMoney", giveMoney), Cnd.where("id", "=", id)); return Result.success(); @@ -131,7 +131,7 @@ public class ClubInfoManageController { @At @Aop(TransAop.READ_COMMITTED) @SaCheckPermission("club.infoManage.manage") - @SLog(tag = "协会管理系统-信息管理", msg = "退会") + @SLog(tag = "社团管理系统-信息管理", msg = "退会") public Result exitClub(@Valid String id) { ClubUser clubUser = dao.fetch(ClubUser.class, id); dao.delete(ClubUser.class,id); @@ -152,7 +152,7 @@ public class ClubInfoManageController { @At @Aop(TransAop.READ_COMMITTED) @SaCheckPermission("club.infoManage.manage") - @SLog(tag = "协会管理系统-信息管理", msg = "删除协会成员") + @SLog(tag = "社团管理系统-信息管理", msg = "删除社团成员") public Result userDelete(@Valid String id) { ClubUser clubUser = dao.fetch(ClubUser.class, id); dao.delete(ClubUser.class,id); @@ -193,7 +193,7 @@ public class ClubInfoManageController { @At @Aop(TransAop.READ_COMMITTED) @SaCheckPermission("club.infoManage.manage") - @SLog(tag = "协会管理系统-信息管理", msg = "修改身份") + @SLog(tag = "社团管理系统-信息管理", msg = "修改身份") public Result updateRoleCode(@Param("id") String id, @Valid String[] roleCodes, @Valid String clubId) { List roleCodeList = Arrays.asList(roleCodes); //查询社团是否存在会长或者秘书长 @@ -269,7 +269,7 @@ public class ClubInfoManageController { @At @Aop(TransAop.READ_COMMITTED) @SaCheckPermission("club.infoManage.manage") - @SLog(tag = "协会管理系统-信息管理", msg = "添加协会成员") + @SLog(tag = "社团管理系统-信息管理", msg = "添加社团成员") public Result userDoAdd(@Valid String clubId, @Valid String[] users, @Valid String roleCode, @Valid Boolean payed) { //查询社团是否存在会长或者秘书长 @@ -326,9 +326,9 @@ public class ClubInfoManageController { public void downloadUserImport(HttpServletResponse response) { try (ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();){ EasyExcel.write(byteArrayOutputStream, ClubUserImportVo.class) - .sheet("协会会员导入模版") + .sheet("社团会员导入模版") .doWrite(ArrayList::new); - CommonDownloadUtil.download("协会会员导入模版.xlsx", byteArrayOutputStream.toByteArray() ,response); + CommonDownloadUtil.download("社团会员导入模版.xlsx", byteArrayOutputStream.toByteArray() ,response); } catch (Exception e) { e.printStackTrace(); } @@ -359,7 +359,7 @@ public class ClubInfoManageController { continue; } if (clubUsers.stream().anyMatch(s -> s.getUserId().equals(user.getId()))) { - v.setErrorInfo("该用户已加入该协会"); + v.setErrorInfo("该用户已加入该社团"); errorInfos.add(v); continue; } diff --git a/src/main/java/com/budwk/app/zhgh/club/controller/infoManage/ClubPayRecordController.java b/src/main/java/com/budwk/app/zhgh/club/controller/infoManage/ClubPayRecordController.java index 35cf4f67..cbee7d85 100644 --- a/src/main/java/com/budwk/app/zhgh/club/controller/infoManage/ClubPayRecordController.java +++ b/src/main/java/com/budwk/app/zhgh/club/controller/infoManage/ClubPayRecordController.java @@ -44,7 +44,7 @@ import java.util.Optional; @Slf4j @IocBean @Ok("json:full") -@Api(tags = "协会缴费记录") +@Api(tags = "社团缴费记录") @At("/platform/club/pay") public class ClubPayRecordController { @@ -159,9 +159,9 @@ public class ClubPayRecordController { } @At - @ApiOperation("修改协会成员缴费状态") + @ApiOperation("修改社团成员缴费状态") @SaCheckPermission("club.infoManage.pay") - @SLog(tag = "协会管理系统-缴费记录", msg = "修改协会成员缴费状态") + @SLog(tag = "社团管理系统-缴费记录", msg = "修改社团成员缴费状态") public Result handle(@Param("ids") String[] ids, @Param("payed") Boolean payed) { List list = payRecordService.query(Cnd.where("id", "in", ids)); diff --git a/src/main/java/com/budwk/app/zhgh/club/controller/infoManage/ClubRefreshReportController.java b/src/main/java/com/budwk/app/zhgh/club/controller/infoManage/ClubRefreshReportController.java index 739810cf..5acde8f6 100644 --- a/src/main/java/com/budwk/app/zhgh/club/controller/infoManage/ClubRefreshReportController.java +++ b/src/main/java/com/budwk/app/zhgh/club/controller/infoManage/ClubRefreshReportController.java @@ -106,6 +106,7 @@ public class ClubRefreshReportController { } else { cnd.orderBy(pageForm.getPageOrderName(), PageUtil.getOrder(pageForm.getPageOrderBy())); } + cnd.groupBy("info.id"); sql.setCondition(cnd); Pagination pagination = clubInfoManageService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql); return Result.success(pagination); @@ -114,7 +115,7 @@ public class ClubRefreshReportController { @At @Aop(TransAop.READ_COMMITTED) @SaCheckPermission("club.infoManage.refreshReport") - @SLog(tag = "协会管理系统-信息管理", msg = "提交换届报告") + @SLog(tag = "社团管理系统-信息管理", msg = "提交换届报告") public Object submit(@Param("data") SysClubRefresh clubRefresh) { Cnd cnd = Cnd.NEW(); @@ -125,7 +126,7 @@ public class ClubRefreshReportController { List idList = list.stream().map(SysClubRefresh::getId).toList(); int count = dao.count(ProcessInstance.class, Cnd.where(ProcessInstance::getBusinessNo, "in", idList).and(ProcessInstance::getState, "not in", List.of(ProcessInstanceStateEnum.FINISHED.getCode(), ProcessInstanceStateEnum.REJECT.getCode()))); if (count > 0) { - return Result.error("您有该协会的申请记录尚未完成,请核对!"); + return Result.error("您有该社团的申请记录尚未完成,请核对!"); } SysClub club = clubInfoManageService.dao().fetch(SysClub.class, clubRefresh.getClubId()); @@ -167,7 +168,7 @@ public class ClubRefreshReportController { @ApiOperation("删除") @Aop(TransAop.READ_COMMITTED) @SaCheckPermission("club.infoManage.refreshReport") - @SLog(tag = "协会管理系统-信息管理", msg = "删除换届报告") + @SLog(tag = "社团管理系统-信息管理", msg = "删除换届报告") public Result delete(@Param("id") String id) { clubInfoManageService.dao().delete(SysClubRefresh.class, id); flowEngine.processInstanceService().deleteProcessInstanceByBusinessKey(id); diff --git a/src/main/java/com/budwk/app/zhgh/club/controller/infoManage/ClubRuleUpdateController.java b/src/main/java/com/budwk/app/zhgh/club/controller/infoManage/ClubRuleUpdateController.java index ef62fa43..426fc0a2 100644 --- a/src/main/java/com/budwk/app/zhgh/club/controller/infoManage/ClubRuleUpdateController.java +++ b/src/main/java/com/budwk/app/zhgh/club/controller/infoManage/ClubRuleUpdateController.java @@ -107,6 +107,7 @@ public class ClubRuleUpdateController { } else { cnd.orderBy(pageForm.getPageOrderName(), PageUtil.getOrder(pageForm.getPageOrderBy())); } + cnd.groupBy("info.id"); sql.setCondition(cnd); Pagination pagination = clubInfoManageService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql); return Result.success(pagination); @@ -115,7 +116,7 @@ public class ClubRuleUpdateController { @At @Aop(TransAop.READ_COMMITTED) @SaCheckPermission("club.infoManage.ruleUpdate") - @SLog(tag = "协会管理系统-信息管理", msg = "提交章程备案") + @SLog(tag = "社团管理系统-信息管理", msg = "提交章程备案") public Object submit(@Param("data")SysClubRule clubRule) { Cnd cnd = Cnd.NEW(); @@ -126,7 +127,7 @@ public class ClubRuleUpdateController { List idList = list.stream().map(SysClubRule::getId).toList(); int count = dao.count(ProcessInstance.class, Cnd.where(ProcessInstance::getBusinessNo, "in", idList).and(ProcessInstance::getState, "not in", List.of(ProcessInstanceStateEnum.FINISHED.getCode(), ProcessInstanceStateEnum.REJECT.getCode()))); if (count > 0) { - return Result.error("您有该协会的申请记录尚未完成,请核对!"); + return Result.error("您有该社团的申请记录尚未完成,请核对!"); } SysClub club = clubInfoManageService.dao().fetch(SysClub.class, clubRule.getClubId()); @@ -168,7 +169,7 @@ public class ClubRuleUpdateController { @ApiOperation("删除") @Aop(TransAop.READ_COMMITTED) @SaCheckPermission("club.infoManage.ruleUpdate") - @SLog(tag = "协会管理系统-信息管理", msg = "删除章程备案") + @SLog(tag = "社团管理系统-信息管理", msg = "删除章程备案") public Result delete(@Param("id") String id) { clubInfoManageService.dao().delete(SysClubRule.class, id); flowEngine.processInstanceService().deleteProcessInstanceByBusinessKey(id); diff --git a/src/main/java/com/budwk/app/zhgh/club/controller/register/ClubConfirmController.java b/src/main/java/com/budwk/app/zhgh/club/controller/register/ClubConfirmController.java index 63399d52..c1ff72d5 100644 --- a/src/main/java/com/budwk/app/zhgh/club/controller/register/ClubConfirmController.java +++ b/src/main/java/com/budwk/app/zhgh/club/controller/register/ClubConfirmController.java @@ -22,7 +22,7 @@ import javax.validation.Valid; * @Author: JyuHsin * @Date: 2024/8/6 10:02 * @Version: v1.0.0 - * @Description: 协会确认 + * @Description: 社团确认 **/ @IocBean @Ok("json") diff --git a/src/main/java/com/budwk/app/zhgh/club/controller/register/ClubMyApplyController.java b/src/main/java/com/budwk/app/zhgh/club/controller/register/ClubMyApplyController.java index e80ae521..1996abb7 100644 --- a/src/main/java/com/budwk/app/zhgh/club/controller/register/ClubMyApplyController.java +++ b/src/main/java/com/budwk/app/zhgh/club/controller/register/ClubMyApplyController.java @@ -31,7 +31,7 @@ import javax.validation.Valid; **/ @IocBean @Ok("json") -@Api("协会-我的注册") +@Api("社团-我的注册") @At("/platform/club/register/clubMyApply") public class ClubMyApplyController { @@ -54,10 +54,10 @@ public class ClubMyApplyController { } @At - @ApiOperation("删除协会") + @ApiOperation("删除社团") @Aop(TransAop.READ_COMMITTED) @SaCheckPermission("club.register.myApply") - @SLog(tag = "协会管理系统-协会注册", msg = "删除协会") + @SLog(tag = "社团管理系统-社团注册", msg = "删除社团") public Result doDelete(@Valid String id) { sysClubService.delete(id); sysClubService.dao().clear(SysClubSponsor.class, Cnd.where("clubId", "=", id)); diff --git a/src/main/java/com/budwk/app/zhgh/club/controller/register/ClubRegistApplyController.java b/src/main/java/com/budwk/app/zhgh/club/controller/register/ClubRegistApplyController.java index b446abe4..fa2fb6b0 100644 --- a/src/main/java/com/budwk/app/zhgh/club/controller/register/ClubRegistApplyController.java +++ b/src/main/java/com/budwk/app/zhgh/club/controller/register/ClubRegistApplyController.java @@ -67,7 +67,7 @@ public class ClubRegistApplyController { @At @Aop(TransAop.READ_COMMITTED) @SaCheckPermission("club.register.apply") - @SLog(tag = "协会管理系统-协会注册", msg = "保存注册协会") + @SLog(tag = "社团管理系统-社团注册", msg = "保存注册社团") public Result save(@Param("club") SysClub club, @Param("::deleteIds") List deleteIds, @Param("::managePerson") List managePerson) { @@ -83,7 +83,7 @@ public class ClubRegistApplyController { @At @Aop(TransAop.READ_COMMITTED) @SaCheckPermission("club.register.apply") - @SLog(tag = "协会管理系统-协会注册", msg = "提交注册协会") + @SLog(tag = "社团管理系统-社团注册", msg = "提交注册社团") public Result submit(@Param("club") SysClub club, @Param("::deleteIds") List deleteIds, @Param("::managePerson") List managePerson) { diff --git a/src/main/java/com/budwk/app/zhgh/club/controller/statistics/ClubStatisticsController.java b/src/main/java/com/budwk/app/zhgh/club/controller/statistics/ClubStatisticsController.java index 9199e754..180b6f95 100644 --- a/src/main/java/com/budwk/app/zhgh/club/controller/statistics/ClubStatisticsController.java +++ b/src/main/java/com/budwk/app/zhgh/club/controller/statistics/ClubStatisticsController.java @@ -279,7 +279,7 @@ public class ClubStatisticsController { ExportParams exportParams = new ExportParams(); exportParams.setType(ExcelType.XSSF); Workbook workbook = ExcelExportUtil.exportExcel(exportParams, exportEntities, list); - CommonDownloadUtil.download("协会统计表.xlsx", workbook, response); + CommonDownloadUtil.download("社团统计表.xlsx", workbook, response); } @At diff --git a/src/main/java/com/budwk/app/zhgh/club/interceptor/ClubRefreshUpdateInterceptor.java b/src/main/java/com/budwk/app/zhgh/club/interceptor/ClubRefreshUpdateInterceptor.java index 271c6cb4..1bb3c173 100644 --- a/src/main/java/com/budwk/app/zhgh/club/interceptor/ClubRefreshUpdateInterceptor.java +++ b/src/main/java/com/budwk/app/zhgh/club/interceptor/ClubRefreshUpdateInterceptor.java @@ -25,7 +25,7 @@ public class ClubRefreshUpdateInterceptor implements FlowInterceptor { SysClubRefresh clubRefresh = Json.fromJson(SysClubRefresh.class, formDataStr); Dao dao = ServiceContext.find(Dao.class); - // 审核通过,将新的附件更新到协会表 + // 审核通过,将新的附件更新到社团表 SysClub club = dao.fetch(SysClub.class, clubRefresh.getClubId()); club.setReplaceReport(clubRefresh.getFiles()); dao.update(club); diff --git a/src/main/java/com/budwk/app/zhgh/club/interceptor/ClubRuleUpdateInterceptor.java b/src/main/java/com/budwk/app/zhgh/club/interceptor/ClubRuleUpdateInterceptor.java index b7e203d6..42315948 100644 --- a/src/main/java/com/budwk/app/zhgh/club/interceptor/ClubRuleUpdateInterceptor.java +++ b/src/main/java/com/budwk/app/zhgh/club/interceptor/ClubRuleUpdateInterceptor.java @@ -24,7 +24,7 @@ public class ClubRuleUpdateInterceptor implements FlowInterceptor { SysClubRule clubRule = Json.fromJson(SysClubRule.class, formDataStr); Dao dao = ServiceContext.find(Dao.class); - // 审核通过,将新的附件更新到协会表 + // 审核通过,将新的附件更新到社团表 SysClub club = dao.fetch(SysClub.class, clubRule.getClubId()); club.setRulesFile(clubRule.getFiles()); dao.update(club); diff --git a/src/main/java/com/budwk/app/zhgh/club/interceptor/ClubUserJoinInterceptor.java b/src/main/java/com/budwk/app/zhgh/club/interceptor/ClubUserJoinInterceptor.java index 91afb8cf..690935c9 100644 --- a/src/main/java/com/budwk/app/zhgh/club/interceptor/ClubUserJoinInterceptor.java +++ b/src/main/java/com/budwk/app/zhgh/club/interceptor/ClubUserJoinInterceptor.java @@ -42,12 +42,12 @@ public class ClubUserJoinInterceptor implements FlowInterceptor { // 获取操作类 Dao dao = ServiceContext.find(Dao.class); - // 将申请信息复制一份,插入协会成员表 + // 将申请信息复制一份,插入社团成员表 ClubUser clubUser = BeanUtil.copyProperties(clubUserApply, ClubUser.class); dao.insert(clubUser); - // 还要加到协会成员缴费表中 - // 对了,如果同一个人,在同一年,多次加入同一协会,则只插入一条 + // 还要加到社团成员缴费表中 + // 对了,如果同一个人,在同一年,多次加入同一社团,则只插入一条 ClubPayRecord payRecord = dao.fetch( ClubPayRecord.class, Cnd.where(ClubPayRecord::getClubId, "=", clubUser.getClubId()) diff --git a/src/main/java/com/budwk/app/zhgh/club/model/ClubPayRecord.java b/src/main/java/com/budwk/app/zhgh/club/model/ClubPayRecord.java index c1fca415..1c03ec1c 100644 --- a/src/main/java/com/budwk/app/zhgh/club/model/ClubPayRecord.java +++ b/src/main/java/com/budwk/app/zhgh/club/model/ClubPayRecord.java @@ -20,7 +20,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) @Table("club_pay_record") @TableMeta("{'mysql-charset':'utf8mb4'}") -@Comment("协会会员缴费记录表") +@Comment("社团会员缴费记录表") public class ClubPayRecord extends BaseModel { @Name @@ -35,7 +35,7 @@ public class ClubPayRecord extends BaseModel { private Integer year; @Column - @Comment("协会ID") + @Comment("社团ID") @ColDefine(type = ColType.VARCHAR, width = 32) private String clubId; diff --git a/src/main/java/com/budwk/app/zhgh/club/model/ClubUser.java b/src/main/java/com/budwk/app/zhgh/club/model/ClubUser.java index 26ba74e6..266c9d3c 100644 --- a/src/main/java/com/budwk/app/zhgh/club/model/ClubUser.java +++ b/src/main/java/com/budwk/app/zhgh/club/model/ClubUser.java @@ -13,7 +13,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) @Table("club_user") @TableMeta("{'mysql-charset':'utf8mb4'}") -@Comment("协会会员表") +@Comment("社团会员表") public class ClubUser extends BaseModel { @Name @@ -23,7 +23,7 @@ public class ClubUser extends BaseModel { private String id; @Column - @Comment("协会ID") + @Comment("社团ID") @ColDefine(type = ColType.VARCHAR, width = 32) private String clubId; @@ -38,7 +38,7 @@ public class ClubUser extends BaseModel { private List roleCode = new ArrayList<>(); @Column - @Comment("协会职务") + @Comment("社团职务") @ColDefine(type = ColType.VARCHAR, width = 50) private String clubPosition; @@ -53,7 +53,7 @@ public class ClubUser extends BaseModel { private String avatar; @Column - @Comment("同时参加其他协会情况") + @Comment("同时参加其他社团情况") @ColDefine(type = ColType.VARCHAR, width = 500) private String sameTimeJoinOtherClubSituation; diff --git a/src/main/java/com/budwk/app/zhgh/club/model/ClubUserApply.java b/src/main/java/com/budwk/app/zhgh/club/model/ClubUserApply.java index a10df965..d755b33b 100644 --- a/src/main/java/com/budwk/app/zhgh/club/model/ClubUserApply.java +++ b/src/main/java/com/budwk/app/zhgh/club/model/ClubUserApply.java @@ -12,7 +12,7 @@ import java.util.Date; @EqualsAndHashCode(callSuper = true) @Table("club_user_apply") @TableMeta("{'mysql-charset':'utf8mb4'}") -@Comment("协会申请退出申请表") +@Comment("社团申请退出申请表") public class ClubUserApply extends BaseModel { @Name @@ -22,7 +22,7 @@ public class ClubUserApply extends BaseModel { private String id; @Column - @Comment("协会ID") + @Comment("社团ID") @ColDefine(type = ColType.VARCHAR, width = 32) private String clubId; @@ -42,7 +42,7 @@ public class ClubUserApply extends BaseModel { private Boolean mode; @Column - @Comment("协会职务") + @Comment("社团职务") @ColDefine(type = ColType.VARCHAR, width = 50) private String clubPosition; @@ -67,7 +67,7 @@ public class ClubUserApply extends BaseModel { private String avatar; @Column - @Comment("同时参加其他协会情况") + @Comment("同时参加其他社团情况") @ColDefine(type = ColType.VARCHAR, width = 500) private String sameTimeJoinOtherClubSituation; diff --git a/src/main/java/com/budwk/app/zhgh/club/model/SysClub.java b/src/main/java/com/budwk/app/zhgh/club/model/SysClub.java index 43db3b2b..32a27cc3 100644 --- a/src/main/java/com/budwk/app/zhgh/club/model/SysClub.java +++ b/src/main/java/com/budwk/app/zhgh/club/model/SysClub.java @@ -21,7 +21,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) @Table("sys_club") @TableMeta("{'mysql-charset':'utf8mb4'}") -@Comment("协会") +@Comment("社团") public class SysClub extends BaseModel { @Column @@ -32,21 +32,21 @@ public class SysClub extends BaseModel { private String id; @Column - @Comment("协会名称") + @Comment("社团名称") @ColDefine(type = ColType.VARCHAR, width = 100) - @NotEmpty(message = "协会名称不能为空") + @NotEmpty(message = "社团名称不能为空") private String clubName; @Column - @Comment("协会编码") + @Comment("社团编码") @ColDefine(type = ColType.VARCHAR, width = 100) - @NotEmpty(message = "协会编码不能为空") + @NotEmpty(message = "社团编码不能为空") private String clubCode; @Column - @Comment("协会类型") + @Comment("社团类型") @ColDefine(type = ColType.VARCHAR, width = 30) - @NotEmpty(message = "协会类型不能为空") + @NotEmpty(message = "社团类型不能为空") private String clubType; @Column @@ -65,12 +65,12 @@ public class SysClub extends BaseModel { private String concatPersonEmail; @Column - @Comment("协会介绍") + @Comment("社团介绍") @ColDefine(type = ColType.TEXT) private String introduce; @Column - @Comment("协会宗旨") + @Comment("社团宗旨") @ColDefine(type = ColType.TEXT) private String purpose; diff --git a/src/main/java/com/budwk/app/zhgh/club/model/SysClubEvaluate.java b/src/main/java/com/budwk/app/zhgh/club/model/SysClubEvaluate.java index 5e51656a..f804ae53 100644 --- a/src/main/java/com/budwk/app/zhgh/club/model/SysClubEvaluate.java +++ b/src/main/java/com/budwk/app/zhgh/club/model/SysClubEvaluate.java @@ -21,7 +21,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) @Table("sys_club_evaluate") @TableMeta("{'mysql-charset':'utf8mb4'}") -@Comment("协会评优") +@Comment("社团评优") public class SysClubEvaluate extends BaseModel { @Column @@ -32,9 +32,9 @@ public class SysClubEvaluate extends BaseModel { private String id; @Column - @Comment("协会id") + @Comment("社团id") @ColDefine(type = ColType.VARCHAR, width = 32) - @NotEmpty(message = "协会id不能为空") + @NotEmpty(message = "社团id不能为空") private String clubId; @Column diff --git a/src/main/java/com/budwk/app/zhgh/club/model/SysClubExamineRegister.java b/src/main/java/com/budwk/app/zhgh/club/model/SysClubExamineRegister.java index c2cd6b04..f0e6f294 100644 --- a/src/main/java/com/budwk/app/zhgh/club/model/SysClubExamineRegister.java +++ b/src/main/java/com/budwk/app/zhgh/club/model/SysClubExamineRegister.java @@ -20,7 +20,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) @Table("sys_club_examine_register") @TableMeta("{'mysql-charset':'utf8mb4'}") -@Comment("协会年审") +@Comment("社团年审") public class SysClubExamineRegister extends BaseModel { @Column diff --git a/src/main/java/com/budwk/app/zhgh/club/model/SysClubExamineRegisterDetailed.java b/src/main/java/com/budwk/app/zhgh/club/model/SysClubExamineRegisterDetailed.java index d2f44d9f..9b753ad1 100644 --- a/src/main/java/com/budwk/app/zhgh/club/model/SysClubExamineRegisterDetailed.java +++ b/src/main/java/com/budwk/app/zhgh/club/model/SysClubExamineRegisterDetailed.java @@ -11,7 +11,7 @@ import org.nutz.dao.interceptor.annotation.PrevInsert; @EqualsAndHashCode(callSuper = true) @Table("sys_club_examine_register_detailed") @TableMeta("{'mysql-charset':'utf8mb4'}") -@Comment("协会年审其他信息") +@Comment("社团年审其他信息") public class SysClubExamineRegisterDetailed extends BaseModel { @Column diff --git a/src/main/java/com/budwk/app/zhgh/club/model/SysClubManager.java b/src/main/java/com/budwk/app/zhgh/club/model/SysClubManager.java index f9d6a284..c2f44370 100644 --- a/src/main/java/com/budwk/app/zhgh/club/model/SysClubManager.java +++ b/src/main/java/com/budwk/app/zhgh/club/model/SysClubManager.java @@ -19,7 +19,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) @Table("sys_club_manager") @TableMeta("{'mysql-charset':'utf8mb4'}") -@Comment("协会理事机构") +@Comment("社团理事机构") public class SysClubManager extends BaseModel { @Column diff --git a/src/main/java/com/budwk/app/zhgh/club/model/SysClubRefresh.java b/src/main/java/com/budwk/app/zhgh/club/model/SysClubRefresh.java index 14bfb4c4..979b5a30 100644 --- a/src/main/java/com/budwk/app/zhgh/club/model/SysClubRefresh.java +++ b/src/main/java/com/budwk/app/zhgh/club/model/SysClubRefresh.java @@ -20,7 +20,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) @Table("sys_club_refresh") @TableMeta("{'mysql-charset':'utf8mb4'}") -@Comment("协会换届报告") +@Comment("社团换届报告") public class SysClubRefresh extends BaseModel { @Column diff --git a/src/main/java/com/budwk/app/zhgh/club/model/SysClubRule.java b/src/main/java/com/budwk/app/zhgh/club/model/SysClubRule.java index 3fb5d959..1fb760d5 100644 --- a/src/main/java/com/budwk/app/zhgh/club/model/SysClubRule.java +++ b/src/main/java/com/budwk/app/zhgh/club/model/SysClubRule.java @@ -20,7 +20,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) @Table("sys_club_rule") @TableMeta("{'mysql-charset':'utf8mb4'}") -@Comment("协会章程修订") +@Comment("社团章程修订") public class SysClubRule extends BaseModel { @Column diff --git a/src/main/java/com/budwk/app/zhgh/club/model/SysClubSponsor.java b/src/main/java/com/budwk/app/zhgh/club/model/SysClubSponsor.java index 1869eaab..13eb4450 100644 --- a/src/main/java/com/budwk/app/zhgh/club/model/SysClubSponsor.java +++ b/src/main/java/com/budwk/app/zhgh/club/model/SysClubSponsor.java @@ -18,7 +18,7 @@ import javax.validation.constraints.NotEmpty; @EqualsAndHashCode(callSuper = true) @Table("sys_club_sponsor") @TableMeta("{'mysql-charset':'utf8mb4'}") -@Comment("协会发起人") +@Comment("社团发起人") public class SysClubSponsor extends BaseModel { @Column @@ -29,9 +29,9 @@ public class SysClubSponsor extends BaseModel { private String id; @Column - @Comment("协会id") + @Comment("社团id") @ColDefine(type = ColType.VARCHAR, width = 32) - @NotEmpty(message = "协会不能为空") + @NotEmpty(message = "社团不能为空") private String clubId; @Column diff --git a/src/main/java/com/budwk/app/zhgh/club/service/ClubPayRecordService.java b/src/main/java/com/budwk/app/zhgh/club/service/ClubPayRecordService.java index 3a1c1e08..8b4375ec 100644 --- a/src/main/java/com/budwk/app/zhgh/club/service/ClubPayRecordService.java +++ b/src/main/java/com/budwk/app/zhgh/club/service/ClubPayRecordService.java @@ -14,7 +14,7 @@ public interface ClubPayRecordService extends BaseService { /** - * 获取协会成员是否拨付 + * 获取社团成员是否拨付 * @param userId * @param clubId */ diff --git a/src/main/java/com/budwk/app/zhgh/club/service/impl/SysClubExamineServiceImpl.java b/src/main/java/com/budwk/app/zhgh/club/service/impl/SysClubExamineServiceImpl.java index 0ea86234..51cd90dd 100644 --- a/src/main/java/com/budwk/app/zhgh/club/service/impl/SysClubExamineServiceImpl.java +++ b/src/main/java/com/budwk/app/zhgh/club/service/impl/SysClubExamineServiceImpl.java @@ -56,7 +56,7 @@ public class SysClubExamineServiceImpl extends BaseServiceImpl exitUserIds = personTypeUsers.stream() .filter(u -> u.getInt("mode") == 0) .map(u -> u.getString("userId")) @@ -174,7 +174,7 @@ public class SysClubExamineServiceImpl extends BaseServiceImpl getJgUser(String clubId) { - // 构建协会管理人员查询SQL(排除普通成员,按职务排序) + // 构建社团管理人员查询SQL(排除普通成员,按职务排序) Sql sql = Sqls.create(""" SELECT cl.*, @@ -264,13 +264,13 @@ public class SysClubExamineServiceImpl extends BaseServiceImpl minePageData(ClubUserPageForm pageForm) { Cnd cnd = Cnd.NEW(); - // 非系统管理员,仅查询自己管理的协会(空集合判断避免in查询异常) + // 非系统管理员,仅查询自己管理的社团(空集合判断避免in查询异常) if (!AuthUtil.hasRole(RoleConstant.SYSADMIN.name())) { List myManageClub = sysClubService.getMyManageClub(); if (!Lang.isEmpty(myManageClub)) { cnd.and("info.clubId", "in", myManageClub.stream().map(SysClub::getId).collect(Collectors.toList())); } else { - // 无管理协会,返回空分页结果 + // 无管理社团,返回空分页结果 return new Pagination<>(pageForm.getPageNumber(), pageForm.getPageSize(), 0, new ArrayList<>()); } } @@ -344,7 +344,7 @@ public class SysClubExamineServiceImpl extends BaseServiceImpl implements SysC @Override public SysClub doEdit(SysClub club, List deleteIds, List managePerson) { - // 修改协会表 + // 修改社团表 dao().update(club); // 修改发起人表 dao().clear(SysClubSponsor.class, Cnd.where("clubId", "=", club.getId())); @@ -228,7 +228,6 @@ public class SysClubServiceImpl extends BaseServiceImpl implements SysC t.finishTime, t.taskParentId, t.variable taskVariable, - IFNULL(GROUP_CONCAT(DISTINCT nt.displayName),'结束') curTaskName, IF((SELECT taskName FROM wf_process_task tt WHERE tt.id = t.taskParentId) = 'startTask', 1, 0) canRevoke, (select MAX(id) from wf_process_task where processInstanceId = ins.id and taskName = 'startTask') AS startTaskId FROM diff --git a/src/main/java/com/budwk/app/zhgh/club/service/impl/SysClubUserServiceImpl.java b/src/main/java/com/budwk/app/zhgh/club/service/impl/SysClubUserServiceImpl.java index bc54c631..4cdcf770 100644 --- a/src/main/java/com/budwk/app/zhgh/club/service/impl/SysClubUserServiceImpl.java +++ b/src/main/java/com/budwk/app/zhgh/club/service/impl/SysClubUserServiceImpl.java @@ -149,7 +149,7 @@ public class SysClubUserServiceImpl extends BaseServiceImpl implements @Override public void clubUser2Scope(String clubId, List users) { - // 添加协会成员,需要增加到品牌活动的组别去,wcnm + // 添加社团成员,需要增加到品牌活动的组别去,wcnm List list = dao().query(TrainSignUpActivity.class, Cnd.NEW()); List activityList = new ArrayList<>(); for (TrainSignUpActivity activity : list) { diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/article/controller/ArticleAnalysisController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/article/controller/ArticleAnalysisController.java index 75489ea4..968fa4c1 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/article/controller/ArticleAnalysisController.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/article/controller/ArticleAnalysisController.java @@ -90,10 +90,10 @@ public class ArticleAnalysisController { .trend(null) .build()); - // 获取参与协会数量 + // 获取参与社团数量 long clubCount = articleService.count(Sqls.create("SELECT COUNT(distinct clubId) FROM article WHERE clubId IS NOT NULL")); list.add(ArticleAnalysisOverviewVO.builder() - .label("参与协会") + .label("参与社团") .value(clubCount) .icon("el-icon-office-building") .bgColor("rgba(230, 162, 60, 0.1)") diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/article/controller/ArticleClubApprovalController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/article/controller/ArticleClubApprovalController.java index 2539b66d..26a7213f 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/article/controller/ArticleClubApprovalController.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/article/controller/ArticleClubApprovalController.java @@ -41,7 +41,7 @@ import java.util.Map; @IocBean @At("/platform/article/clubApproval") -@Api("新闻投稿协会审核") +@Api("新闻投稿社团审核") @Ok("json:full") public class ArticleClubApprovalController { @Inject diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/article/controller/ArticleFirstExamineController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/article/controller/ArticleFirstExamineController.java index e1e9b687..c526000a 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/article/controller/ArticleFirstExamineController.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/article/controller/ArticleFirstExamineController.java @@ -140,7 +140,7 @@ public class ArticleFirstExamineController { } else if (result.equals("BACK_TO_CLUB")) { String branchClubApprovalLoginName = commonService.findUserLoginNameByRoleCode(RoleConstant.CLUB_PRESIDENT, Cnd.where(Sys_user_role::getClubId, "=", article.getClubId())); if (StrUtil.isBlank(branchClubApprovalLoginName)) { - return Result.error("协会未配置审批人,请联系协会!"); + return Result.error("社团未配置审批人,请联系社团!"); } assignments.add(branchClubApprovalLoginName); } else if (result.equals("PASS")) { diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/article/models/Article.java b/src/main/java/com/budwk/app/zhgh/dayofficework/article/models/Article.java index d99544a1..1951fef5 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/article/models/Article.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/article/models/Article.java @@ -75,12 +75,12 @@ public class Article extends BaseModel { private String unitName; @Column - @Comment("协会名称") + @Comment("社团名称") @ColDefine(type = ColType.VARCHAR, width = 100) private String clubName; @Column - @Comment("协会id") + @Comment("社团id") @ColDefine(type = ColType.VARCHAR, width = 32) private String clubId; diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/article/param/ArticleInfoPageParam.java b/src/main/java/com/budwk/app/zhgh/dayofficework/article/param/ArticleInfoPageParam.java index d59cd719..960b6c9d 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/article/param/ArticleInfoPageParam.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/article/param/ArticleInfoPageParam.java @@ -23,7 +23,7 @@ public class ArticleInfoPageParam extends PageForm { @ApiModelProperty("单位") private String unitId; - @ApiModelProperty("协会") + @ApiModelProperty("社团") private String clubId; @ApiModelProperty("稿件来源") diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/article/vo/ArticleInfoPageVO.java b/src/main/java/com/budwk/app/zhgh/dayofficework/article/vo/ArticleInfoPageVO.java index 64709de6..a3ca228e 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/article/vo/ArticleInfoPageVO.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/article/vo/ArticleInfoPageVO.java @@ -48,10 +48,10 @@ public class ArticleInfoPageVO extends BpmTaskApprovalVo { @ApiModelProperty("投稿人单位") private String unitName; - @ApiModelProperty("投稿人协会") + @ApiModelProperty("投稿人社团") private String clubName; - @ApiModelProperty("投稿人协会ID") + @ApiModelProperty("投稿人社团ID") private String clubId; @ApiModelProperty("投稿时间") diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/caredata/UnionCareDataCon.java b/src/main/java/com/budwk/app/zhgh/dayofficework/caredata/UnionCareDataCon.java index 951378df..06007d12 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/caredata/UnionCareDataCon.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/caredata/UnionCareDataCon.java @@ -133,7 +133,7 @@ public class UnionCareDataCon { double totalBudgetMoney3 = mapList3.stream().mapToDouble(map -> map.getDouble("totalBudgetMoney")).sum(); list.add(new HashMap() {{ put("year", year); - put("type", "协会经费"); + put("type", "社团经费"); put("value", totalBudgetMoney3); }}); diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/activityBudget/conteoller/ActivityBudgetApplyController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/activityBudget/conteoller/ActivityBudgetApplyController.java index d7fe10dc..c6cee4c1 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/activityBudget/conteoller/ActivityBudgetApplyController.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/activityBudget/conteoller/ActivityBudgetApplyController.java @@ -152,7 +152,7 @@ public class ActivityBudgetApplyController { @At - @ApiOperation("查询协会,超级管理员查全部的") + @ApiOperation("查询社团,超级管理员查全部的") @SaCheckLogin public Result listClub(){ Cnd cnd = Cnd.NEW(); diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/activityBudget/conteoller/ActivityBudgetQueryStatisticsController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/activityBudget/conteoller/ActivityBudgetQueryStatisticsController.java index 78227dd2..0753911d 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/activityBudget/conteoller/ActivityBudgetQueryStatisticsController.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/activityBudget/conteoller/ActivityBudgetQueryStatisticsController.java @@ -79,7 +79,7 @@ public class ActivityBudgetQueryStatisticsController { entities.add(new ExcelExportEntity("分工会", "unionName", 20)); }else if (outlayManageSource.equals("ACTIVITY_BUDGET_TYPE_THREE")) { entities.add(new ExcelExportEntity("编码", "clubCode", 20)); - entities.add(new ExcelExportEntity("协会名称", "clubName", 20)); + entities.add(new ExcelExportEntity("社团名称", "clubName", 20)); } ExcelExportEntity draftCodeEntity = new ExcelExportEntity("预算金额", "totalBudgetMoney", 20); draftCodeEntity.setType(10); diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/activityBudget/service/impl/ActivityBudgetServiceImpl.java b/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/activityBudget/service/impl/ActivityBudgetServiceImpl.java index 58dd3800..76f28016 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/activityBudget/service/impl/ActivityBudgetServiceImpl.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/activityBudget/service/impl/ActivityBudgetServiceImpl.java @@ -180,7 +180,7 @@ public class ActivityBudgetServiceImpl extends BaseServiceImpl i } } else if (activityBudget.getOutlayManageSource().equals("ACTIVITY_BUDGET_TYPE_THREE")) { //如果不等于校工会预算才往表里面加预算 - //代表协会可能用的是校工会的预算 + //代表社团可能用的是校工会的预算 if (!activityBudget.getIsSchoolBudget()) { *//* jf_club jfClub = dao.fetch(jf_club.class, Cnd.where("year", "=", DateUtil.getYear()) .and("club_id", "=", activityBudget.getClubId())); diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayManage/club/controller/OutlayManageClubBackHistoryController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayManage/club/controller/OutlayManageClubBackHistoryController.java index 74fb04c1..a4609cfd 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayManage/club/controller/OutlayManageClubBackHistoryController.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayManage/club/controller/OutlayManageClubBackHistoryController.java @@ -38,7 +38,7 @@ import java.util.Objects; @At("/platform/outlay/outlayManage/backHistory") @Ok("json:full") @Slf4j -@Api(tags = "协会经费查询") +@Api(tags = "社团经费查询") public class OutlayManageClubBackHistoryController { @@ -121,7 +121,7 @@ public class OutlayManageClubBackHistoryController { exportEntities.add(new ExcelExportEntity("在职状态", "userState", 20)); exportEntities.add(new ExcelExportEntity("是否拨付", "isGiveMoney", 20)); exportEntities.add(new ExcelExportEntity("是否缴费", "payed", 20)); - exportEntities.add(new ExcelExportEntity("所在协会", "clubName", 20)); + exportEntities.add(new ExcelExportEntity("所在社团", "clubName", 20)); exportEntities.add(new ExcelExportEntity("身份", "roleName", 20)); try { diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayManage/club/controller/OutlayManageClubController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayManage/club/controller/OutlayManageClubController.java index 6f106547..68b5760d 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayManage/club/controller/OutlayManageClubController.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayManage/club/controller/OutlayManageClubController.java @@ -44,7 +44,7 @@ import java.util.stream.Collectors; @At("/platform/outlay/outlayManage/clubManage") @Ok("json:full") @Slf4j -@Api(tags = "协会经费预算管理") +@Api(tags = "社团经费预算管理") public class OutlayManageClubController { @Inject @@ -105,7 +105,7 @@ public class OutlayManageClubController { @At @ApiOperation("重置预算") @SaCheckPermission("outlay.outlayManage.club.manage") - @SLog(tag = "协会预算分配", msg = "重置了预算分配的金额:${args[0]}") + @SLog(tag = "社团预算分配", msg = "重置了预算分配的金额:${args[0]}") public Result resetOutlay(Integer year) { int count = baseService.dao().clear(OutlayManageClub.class, Cnd.where("year", "=", year)); return Result.success(count); @@ -114,7 +114,7 @@ public class OutlayManageClubController { @At @ApiOperation("下发预算") @SaCheckPermission("outlay.outlayManage.club.manage") - @SLog(tag = "协会预算分配", msg = "根据申报的金额修改本年的预算预算") + @SLog(tag = "社团预算分配", msg = "根据申报的金额修改本年的预算预算") public Result issuedOutlay() { Sql sql = Sqls.create(""" SELECT @@ -185,7 +185,7 @@ public class OutlayManageClubController { @At @ApiOperation("给没有核对的人发送核对提醒") @SaCheckPermission("outlay.outlayManage.club.manage") - @SLog(tag = "协会预算分配", msg = "给没有核对的人发送核对提醒") + @SLog(tag = "社团预算分配", msg = "给没有核对的人发送核对提醒") public Result doMsg() { List manageClubList = baseService.dao().query(OutlayManageClub.class, Cnd.where(OutlayManageClub::getYear, "=", DateUtil.thisYear()) diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayManage/club/controller/OutlayManageClubQueryController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayManage/club/controller/OutlayManageClubQueryController.java index b45ab07f..b32670f5 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayManage/club/controller/OutlayManageClubQueryController.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayManage/club/controller/OutlayManageClubQueryController.java @@ -46,13 +46,13 @@ import java.util.Objects; /** * @author zhf * @date 2026/2/5 09:44 - * @description 协会经费查询 + * @description 社团经费查询 */ @IocBean @At("/platform/outlay/outlayManage/query") @Ok("json:full") @Slf4j -@Api(tags = "协会经费查询") +@Api(tags = "社团经费查询") public class OutlayManageClubQueryController { @Inject @@ -99,7 +99,7 @@ public class OutlayManageClubQueryController { @At @ApiOperation("提交核对") @SaCheckPermission("outlay.outlayManage.club.query") - @SLog(tag = "协会经费查询", msg = "提交核对") + @SLog(tag = "社团经费查询", msg = "提交核对") public Result doAudit(String id) { clubQueryService.dao().update(OutlayManageClub.class, Chain.make("isCheck", true), @@ -111,7 +111,7 @@ public class OutlayManageClubQueryController { @At @ApiOperation("取消核对") @SaCheckPermission("outlay.outlayManage.club.query") - @SLog(tag = "协会经费查询", msg = "取消核对") + @SLog(tag = "社团经费查询", msg = "取消核对") public Result cancelAudit(String id) { clubQueryService.dao().update(OutlayManageClub.class, Chain.make("isCheck", false), @@ -123,7 +123,7 @@ public class OutlayManageClubQueryController { @At @ApiOperation("更新拨付金额") @SaCheckPermission("outlay.outlayManage.club.query") - @SLog(tag = "协会经费查询", msg = "更新拨付金额") + @SLog(tag = "社团经费查询", msg = "更新拨付金额") public Result doMoney(String clubId) { clubQueryService.doMoney(clubId); diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayManage/club/controller/OutlayManageClubUseDetailController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayManage/club/controller/OutlayManageClubUseDetailController.java index 9a8197d2..4d64c586 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayManage/club/controller/OutlayManageClubUseDetailController.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayManage/club/controller/OutlayManageClubUseDetailController.java @@ -40,7 +40,7 @@ import java.util.List; @At("/platform/outlay/outlayManage/clubUseDetail") @Ok("json:full") @Slf4j -@Api(tags = "协会预算使用明细") +@Api(tags = "社团预算使用明细") public class OutlayManageClubUseDetailController { @Inject @@ -92,7 +92,7 @@ public class OutlayManageClubUseDetailController { @At - @ApiOperation("某个协会预算使用详情") + @ApiOperation("某个社团预算使用详情") @SaCheckPermission("outlay.outlayManage.club.useDetail") public Result detailInfo(PageForm pageForm, String outlayManageId) { Sql sql = Sqls.create(""" @@ -104,10 +104,10 @@ public class OutlayManageClubUseDetailController { @At - @ApiOperation("删除协会预算详情") + @ApiOperation("删除社团预算详情") @Aop(TransAop.READ_COMMITTED) @SaCheckPermission("outlay.outlayManage.club.useDetail") - @SLog(tag = "协会预算使用详情", msg = "删除了协会预算使用详情:${args[0]}") + @SLog(tag = "社团预算使用详情", msg = "删除了社团预算使用详情:${args[0]}") public Result doDeleteDetail(String id) { outlayUseDetailService.doDeleteDetail(id,"club"); return Result.success(); @@ -115,10 +115,10 @@ public class OutlayManageClubUseDetailController { @At - @ApiOperation("编辑协会预算详情") + @ApiOperation("编辑社团预算详情") @Aop(TransAop.READ_COMMITTED) @SaCheckPermission("outlay.outlayManage.club.useDetail") - @SLog(tag = "协会预算使用详情", msg = "编辑了协会预算使用详情:${args[0]}") + @SLog(tag = "社团预算使用详情", msg = "编辑了社团预算使用详情:${args[0]}") public Result doEditDetail(OutlayUseDetail outlayUseDetail) { outlayUseDetailService.doEditDetail(outlayUseDetail,"club"); return Result.success(); diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayManage/club/model/OutlayClubUserBackHistory.java b/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayManage/club/model/OutlayClubUserBackHistory.java index c7b7540c..cc75c603 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayManage/club/model/OutlayClubUserBackHistory.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayManage/club/model/OutlayClubUserBackHistory.java @@ -31,7 +31,7 @@ public class OutlayClubUserBackHistory extends BaseModel implements Serializable private String id; @Column - @Comment("协会ID") + @Comment("社团ID") @ColDefine(type = ColType.VARCHAR, width = 32) private String clubId; diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayManage/club/model/OutlayManageClub.java b/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayManage/club/model/OutlayManageClub.java index b914a648..1bc1ef10 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayManage/club/model/OutlayManageClub.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayManage/club/model/OutlayManageClub.java @@ -17,7 +17,7 @@ import java.math.BigDecimal; @EqualsAndHashCode(callSuper = true) @Table("outlay_manage_club") @TableMeta("{'mysql-charset':'utf8mb4'}") -@Comment("协会经费管理") +@Comment("社团经费管理") public class OutlayManageClub extends BaseModel implements Serializable { @Column @@ -69,17 +69,17 @@ public class OutlayManageClub extends BaseModel implements Serializable { private Integer historyNotGiveMoneyNum; @Column - @Comment("协会ID") + @Comment("社团ID") @ColDefine(type = ColType.VARCHAR, width = 32) private String clubId; @Column - @Comment("协会名称") + @Comment("社团名称") @ColDefine(type = ColType.VARCHAR, width = 32) private String clubName; @Column - @Comment("协会code") + @Comment("社团code") @ColDefine(type = ColType.VARCHAR, width = 32) private String clubCode; diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayReimburse/controller/OutlayReimburseClubAuditController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayReimburse/controller/OutlayReimburseClubAuditController.java index b852eebb..b5800876 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayReimburse/controller/OutlayReimburseClubAuditController.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayReimburse/controller/OutlayReimburseClubAuditController.java @@ -42,7 +42,7 @@ import java.util.List; @IocBean @Ok("json:full") @Slf4j -@Api(tags = "费用报销管理-协会审核") +@Api(tags = "费用报销管理-社团审核") @At("/platform/outlay/reimburse/clubAudit") public class OutlayReimburseClubAuditController { @@ -136,7 +136,7 @@ public class OutlayReimburseClubAuditController { @At - @ApiOperation("协会审核") + @ApiOperation("社团审核") @SaCheckPermission(value = {"outlay.reimburse.clubAudit", "h5.outlay.reimburse.clubAudit"}, mode = SaMode.OR) public Result submit(@Param("data") OutlayReimburse outlayReimburse) { // 开启流程实例 diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayReimburse/controller/OutlayReimburseClubZxAuditController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayReimburse/controller/OutlayReimburseClubZxAuditController.java index 388bb4d6..c29f6b1b 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayReimburse/controller/OutlayReimburseClubZxAuditController.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayReimburse/controller/OutlayReimburseClubZxAuditController.java @@ -34,7 +34,7 @@ import java.util.List; @IocBean @Ok("json:full") @Slf4j -@Api(tags = "费用报销管理-协会主席审核") +@Api(tags = "费用报销管理-社团主席审核") @At("/platform/outlay/reimburse/clubZxAudit") public class OutlayReimburseClubZxAuditController { diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayReimburse/service/impl/OutlayReimburseApplyServiceImpl.java b/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayReimburse/service/impl/OutlayReimburseApplyServiceImpl.java index 0b5524f4..2c19e840 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayReimburse/service/impl/OutlayReimburseApplyServiceImpl.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/outlay/outlayReimburse/service/impl/OutlayReimburseApplyServiceImpl.java @@ -272,7 +272,7 @@ public class OutlayReimburseApplyServiceImpl extends BaseServiceImpl selectedStageTaskNames = parseSelectedStageTaskNames(stageTaskNamesJson); + List selectedTasks = querySelectedTasks(id, selectedStageTaskNames); + + byte[] templateBytes = buildTemplateDocxBytes(id); + byte[] finalBytes = appendSelectedStageSection(templateBytes, selectedTasks); + + String fileName = proposal.getString("code", "proposal") + "-" + proposal.getString("name", "提案") + "-自定义导出.docx"; + CommonDownloadUtil.download(fileName, finalBytes, response); + } + + private byte[] buildTemplateDocxBytes(String id) { + NutMap baseInfo = queryProposalBase(id); + if (baseInfo == null) { + throw new IllegalArgumentException("提案不存在"); + } + + String brief = baseInfo.getString("brief", ""); + String measures = baseInfo.getString("measures", ""); + baseInfo.put("brief", sysOfficeTemplateUtil.convertRichTextToDocText(brief)); + baseInfo.put("measures", sysOfficeTemplateUtil.convertRichTextToDocText(measures)); + + ProcessInstance processInstance = baseService.dao().fetch(ProcessInstance.class, Cnd.where("businessNo", "=", id)); + List doneTaskVos = new ArrayList<>(); + if (processInstance != null) { + List doneTaskList = flowEngine.processTaskService().getDoneTaskList(processInstance.getId(), null); + for (ProcessTask doneTask : doneTaskList) { + ProcessTaskVO taskVO = flowEngine.processTaskService().findById(doneTask.getId()); + if (taskVO != null) { + doneTaskVos.add(taskVO); + } + } + } + + Map> taskGroups = doneTaskVos.stream().collect(Collectors.groupingBy(ProcessTaskVO::getDisplayName)); + + List secondInfos = new ArrayList<>(); + List secondTaskVos = taskGroups.get("提案附议"); + if (secondTaskVos != null) { + for (ProcessTaskVO secondTaskVO : secondTaskVos) { + Dict taskFormData = secondTaskVO.getTaskFormData(); + if (taskFormData == null) { + continue; + } + NutMap secondInfo = new NutMap(); + secondInfo.put("s_username", taskFormData.getStr("userName")); + secondInfo.put("s_unitName", taskFormData.getStr("unitName")); + String loginName = taskFormData.getStr("loginName"); + if (StrUtil.isNotBlank(loginName)) { + Sql taskUserSql = Sqls.create("select mobile from sys_user where loginname=@loginname and delFlag != 1 limit 0,1"); + taskUserSql.setParam("loginname", loginName); + taskUserSql.setCallback(Sqls.callback.map()); + baseService.dao().execute(taskUserSql); + NutMap taskUserMap = (NutMap) taskUserSql.getResult(); + secondInfo.put("s_mobile", taskUserMap == null ? "" : taskUserMap.getString("mobile", "")); + } else { + secondInfo.put("s_mobile", ""); + } + secondInfos.add(secondInfo); + } + } + + List delegationAuditList = new ArrayList<>(); + List delegationTaskVos = taskGroups.get("团长审核"); + if (delegationTaskVos != null) { + for (ProcessTaskVO delegationTaskVO : delegationTaskVos) { + Dict taskFormData = delegationTaskVO.getTaskFormData(); + if (taskFormData == null) { + continue; + } + NutMap delegationAudit = new NutMap(); + delegationAudit.put("opinion", taskFormData.getStr("opinion")); + delegationAudit.put("username", taskFormData.getStr("userName")); + delegationAudit.put("auditTime", delegationTaskVO.getFinishTime() == null ? "" : DateUtil.format(delegationTaskVO.getFinishTime(), "yyyy-MM-dd HH:mm:ss")); + delegationAuditList.add(delegationAudit); + } + } + + Map docCellDataMap = new HashMap<>(); + docCellDataMap.put("proposalCode", baseInfo.getString("code", "")); + docCellDataMap.put("createTime", baseInfo.getString("createTime", "")); + docCellDataMap.put("username", baseInfo.getString("createUserName", "")); + docCellDataMap.put("delegationName", baseInfo.getString("delegationName", "")); + docCellDataMap.put("unitName", baseInfo.getString("unitName", "")); + docCellDataMap.put("mobile", baseInfo.getString("mobile", "")); + docCellDataMap.put("proposalName", baseInfo.getString("name", "")); + docCellDataMap.put("brief", baseInfo.getString("brief", "")); + docCellDataMap.put("measures", baseInfo.getString("measures", "")); + + LoopRowTableRenderPolicy policy = new LoopRowTableRenderPolicy(); + HtmlRenderPolicy htmlRenderPolicy = new HtmlRenderPolicy(); + htmlRenderPolicy.getConfig().setShowDefaultTableBorderInTableCell(true); + + Configure config = Configure.builder() + .bind("secondedList", policy) + .bind("seconders", policy) + .bind("brief", htmlRenderPolicy) + .bind("measures", htmlRenderPolicy) + .bind("taskFormData.tf_opinion", htmlRenderPolicy) + .build(); + + Map renderDocCellDataMap = MapUtil.of("proposal", docCellDataMap); + renderDocCellDataMap.put("secondedList", secondInfos); + renderDocCellDataMap.put("delegationAuditList", delegationAuditList); + + try (ByteArrayOutputStream out = new ByteArrayOutputStream()) { + XWPFTemplate.compile(sysOfficeTemplateUtil.getTemplate("proposal"), config).render(renderDocCellDataMap).writeAndClose(out); + return out.toByteArray(); + } catch (IOException e) { + log.error("提案模板导出失败, proposalId={}, error={}", id, e.getMessage()); + throw new RuntimeException("导出失败", e); + } + } + + private byte[] appendSelectedStageSection(byte[] templateBytes, List selectedTasks) { + if (templateBytes == null || templateBytes.length == 0) { + throw new RuntimeException("模板文档为空"); + } + if (selectedTasks == null) { + selectedTasks = new ArrayList<>(); + } + + try (XWPFDocument doc = new XWPFDocument(new ByteArrayInputStream(templateBytes)); + ByteArrayOutputStream out = new ByteArrayOutputStream()) { + XWPFParagraph titleP = doc.createParagraph(); + titleP.setAlignment(ParagraphAlignment.LEFT); + XWPFRun titleRun = titleP.createRun(); + titleRun.setBold(true); + titleRun.setText("附加环节内容(按勾选导出)"); + + if (selectedTasks.isEmpty()) { + XWPFParagraph emptyP = doc.createParagraph(); + emptyP.createRun().setText("未勾选流程环节,或所选环节暂无数据。"); + } else { + appendStageContent(doc, selectedTasks); + } + + doc.write(out); + return out.toByteArray(); + } catch (IOException e) { + throw new RuntimeException("导出失败", e); + } + } + + private NutMap queryProposalBase(String id) { + Sql sql = Sqls.create(""" + SELECT + info.id, + info.code, + info.name, + info.brief, + info.measures, + info.createUserName, + info.createUserLoginName, + DATE_FORMAT(info.createTime, '%Y-%m-%d') AS createTime, + IFNULL(type.name, '') AS typeName, + IFNULL(tcs.fullName, '') AS sessionName, + IFNULL(tcd.name, '') AS delegationName, + IFNULL(tcde.unitName, '') AS unitName, + IFNULL(tcde.mobile, '') AS mobile + FROM proposal_info info + LEFT JOIN proposal_type type ON type.id = info.typeId + LEFT JOIN teacher_congress_session tcs ON tcs.id = info.sessionId + LEFT JOIN teacher_congress_delegation tcd ON tcd.id = info.delegationId + LEFT JOIN teacher_congress_delegate tcde ON tcde.loginName = info.createUserLoginName + WHERE info.id = @id + """); + sql.setParam("id", id); + sql.setCallback(Sqls.callback.map()); + baseService.dao().execute(sql); + return (NutMap) sql.getResult(); + } + + private List parseSelectedStageTaskNames(String stageTaskNamesJson) { + if (StrUtil.isBlank(stageTaskNamesJson)) { + return new ArrayList<>(); + } + try { + String[] arr = JSONUtil.toBean(stageTaskNamesJson, String[].class); + if (arr == null) { + return new ArrayList<>(); + } + return Arrays.stream(arr).filter(StrUtil::isNotBlank).distinct().collect(Collectors.toList()); + } catch (Exception e) { + log.warn("解析环节参数失败: {}", stageTaskNamesJson); + return new ArrayList<>(); + } + } + + private List querySelectedTasks(String proposalId, List selectedStageTaskNames) { + ProcessInstance instance = baseService.dao().fetch(ProcessInstance.class, Cnd.where("businessNo", "=", proposalId)); + if (instance == null || selectedStageTaskNames.isEmpty()) { + return new ArrayList<>(); + } + + Sql sql = Sqls.create(""" + SELECT + t.id, + t.taskName, + t.displayName, + t.finishTime, + t.taskState + FROM wf_process_task t + WHERE t.processInstanceId = @processInstanceId + AND t.taskState IN (@doing, @finished) + AND t.taskName IN (@taskNames) + ORDER BY t.id ASC + """); + sql.params().set("processInstanceId", instance.getId()); + sql.params().set("doing", ProcessTaskStateEnum.DOING.getCode()); + sql.params().set("finished", ProcessTaskStateEnum.FINISHED.getCode()); + sql.params().set("taskNames", selectedStageTaskNames); + + List rawList = baseService.listMap(sql); + + Map stageOrderMap = new LinkedHashMap<>(); + for (int i = 0; i < selectedStageTaskNames.size(); i++) { + stageOrderMap.put(selectedStageTaskNames.get(i), i); + } + + rawList.sort((a, b) -> { + int orderA = stageOrderMap.getOrDefault(a.getString("taskName", ""), Integer.MAX_VALUE); + int orderB = stageOrderMap.getOrDefault(b.getString("taskName", ""), Integer.MAX_VALUE); + if (orderA != orderB) { + return Integer.compare(orderA, orderB); + } + return Long.compare(a.getLong("id", 0L), b.getLong("id", 0L)); + }); + + return rawList; + } + + private void appendStageContent(XWPFDocument doc, List selectedTasks) { + Map> grouped = selectedTasks.stream() + .collect(Collectors.groupingBy(v -> v.getString("taskName", ""), LinkedHashMap::new, Collectors.toList())); + + int stageIndex = 1; + for (Map.Entry> entry : grouped.entrySet()) { + List tasks = entry.getValue(); + String displayName = tasks.get(0).getString("displayName", entry.getKey()); + + XWPFParagraph stageP = doc.createParagraph(); + XWPFRun stageRun = stageP.createRun(); + stageRun.setBold(true); + stageRun.setText(String.format("%d.%s", stageIndex++, displayName)); + + int idx = 1; + for (NutMap task : tasks) { + ProcessTaskVO vo = flowEngine.processTaskService().findById(task.getLong("id")); + Dict formData = vo == null ? null : vo.getTaskFormData(); + + XWPFTable table = doc.createTable(5, 2); + fillCell(table.getRow(0), "序号", String.valueOf(idx++)); + fillCell(table.getRow(1), "办理人", extractUserName(formData, vo)); + fillCell(table.getRow(2), "办理时间", task.getTime("finishTime") == null ? "" : DateUtil.formatDateTime(task.getTime("finishTime"))); + fillCell(table.getRow(3), "办理意见", extractOpinion(formData)); + fillCell(table.getRow(4), "环节数据", flattenFormData(formData)); + } + } + } + + private String extractUserName(Dict formData, ProcessTaskVO vo) { + String userName = ""; + if (formData != null) { + userName = formData.getStr("userName"); + if (StrUtil.isBlank(userName)) { + userName = formData.getStr("username"); + } + } + if (StrUtil.isBlank(userName)) { + userName = vo == null ? "" : vo.getOperator(); + } + return StrUtil.blankToDefault(userName, ""); + } + + private String extractOpinion(Dict formData) { + if (formData == null || formData.isEmpty()) { + return ""; + } + List keys = List.of("opinion", "auditOpinion", "feedback", "caseFilingResult", "caseFilingType", "tf_opinion", "tf_feedback", "tf_caseFilingResult", "tf_caseFilingType"); + for (String key : keys) { + String val = formData.getStr(key); + if (StrUtil.isNotBlank(val)) { + return val; + } + } + return ""; + } + + private String flattenFormData(Dict formData) { + if (formData == null || formData.isEmpty()) { + return ""; + } + Set skipKeys = Set.of("tf_userName", "userName", "tf_loginName", "loginName", "tf_unitId", "unitId", "tf_unitName", "unitName", "tf_unionId", "unionId", "finishTimeForDocx"); + return formData.entrySet().stream() + .filter(e -> !skipKeys.contains(e.getKey())) + .filter(e -> e.getValue() != null && StrUtil.isNotBlank(String.valueOf(e.getValue()))) + .map(e -> e.getKey() + "=" + String.valueOf(e.getValue())) + .collect(Collectors.joining(";")); + } + + private void fillCell(XWPFTableRow row, String key, String value) { + row.getCell(0).setText(key); + row.getCell(1).setText(StrUtil.blankToDefault(value, "")); + } +} diff --git a/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/query/ProposalQueryAnalysisController.java b/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/query/ProposalQueryAnalysisController.java new file mode 100644 index 00000000..6bf7567c --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/query/ProposalQueryAnalysisController.java @@ -0,0 +1,317 @@ +package com.budwk.app.zhgh.democratic.proposal.controller.query; + +import cn.afterturn.easypoi.excel.ExcelExportUtil; +import cn.afterturn.easypoi.excel.entity.ExportParams; +import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; +import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; +import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.hutool.core.util.StrUtil; +import com.budwk.app.base.result.Result; +import com.budwk.app.base.service.BaseService; +import com.budwk.app.base.utils.CommonDownloadUtil; +import com.budwk.app.sys.models.Sys_dict; +import com.budwk.app.sys.services.SysDictService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.apache.poi.ss.usermodel.Workbook; +import org.nutz.dao.Sqls; +import org.nutz.dao.sql.Sql; +import org.nutz.ioc.loader.annotation.Inject; +import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.json.Json; +import org.nutz.lang.util.NutMap; +import org.nutz.mvc.annotation.At; +import org.nutz.mvc.annotation.Ok; + +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@IocBean +@At("/platform/proposal/query/analysis") +@Slf4j +@Ok("json:full") +@Api(tags = "提案统计分析") +public class ProposalQueryAnalysisController { + + @Inject + private BaseService baseService; + @Inject + private SysDictService sysDictService; + + @At("") + @Ok("beetl:/platform/zhgh/democratic/proposal/query/analysis/index.html") + @SaCheckPermission("proposal.query.analysis") + public void index() { + } + + @At + @ApiOperation("统计数据") + @SaCheckPermission("proposal.query.analysis") + public Result statisticsData(String sessionId) { + if (StrUtil.isBlank(sessionId)) { + return Result.error("请先选择教代会届次"); + } + return Result.success(buildStatisticsRows(sessionId)); + } + + @At + @ApiOperation("分析数据") + @SaCheckPermission("proposal.query.analysis") + public Result analysisData(String sessionId) { + if (StrUtil.isBlank(sessionId)) { + return Result.error("请先选择教代会届次"); + } + return Result.success(buildAnalysisRows(sessionId)); + } + + @At + @Ok("void") + @ApiOperation("导出统计数据") + @SaCheckPermission("proposal.query.analysis") + public void exportStatisticsData(String sessionId, HttpServletResponse response) { + List list = buildStatisticsRows(sessionId); + List entities = new ArrayList<>(); + entities.add(new ExcelExportEntity("统计维度", "dimension", 20)); + entities.add(new ExcelExportEntity("分类项", "itemName", 30)); + entities.add(new ExcelExportEntity("数量", "count", 12)); + entities.add(new ExcelExportEntity("占比", "rate", 12)); + ExportParams params = new ExportParams(); + params.setType(ExcelType.XSSF); + Workbook workbook = ExcelExportUtil.exportExcel(params, entities, list); + CommonDownloadUtil.download("提案统计数据.xlsx", workbook, response); + } + + @At + @Ok("void") + @ApiOperation("导出分析数据") + @SaCheckPermission("proposal.query.analysis") + public void exportAnalysisData(String sessionId, HttpServletResponse response) { + List list = buildAnalysisRows(sessionId); + List entities = new ArrayList<>(); + entities.add(new ExcelExportEntity("统计维度", "dimension", 20)); + entities.add(new ExcelExportEntity("总量", "total", 12)); + entities.add(new ExcelExportEntity("分类数量", "categoryCount", 12)); + entities.add(new ExcelExportEntity("最高项", "topItem", 30)); + entities.add(new ExcelExportEntity("最高数量", "topCount", 12)); + entities.add(new ExcelExportEntity("最高占比", "topRate", 12)); + entities.add(new ExcelExportEntity("分析结论", "analysis", 60)); + ExportParams params = new ExportParams(); + params.setType(ExcelType.XSSF); + Workbook workbook = ExcelExportUtil.exportExcel(params, entities, list); + CommonDownloadUtil.download("提案分析数据.xlsx", workbook, response); + } + + private List buildStatisticsRows(String sessionId) { + Map> dataMap = loadDimensionData(sessionId); + List result = new ArrayList<>(); + dataMap.forEach((dimension, items) -> { + long total = items.stream().mapToLong(v -> v.getLong("count", 0L)).sum(); + for (NutMap item : items) { + long count = item.getLong("count", 0L); + result.add(NutMap.NEW() + .addv("dimension", dimension) + .addv("itemName", item.getString("itemName", "未维护")) + .addv("count", count) + .addv("rate", formatPercent(count, total))); + } + }); + return result; + } + + private List buildAnalysisRows(String sessionId) { + Map> dataMap = loadDimensionData(sessionId); + List result = new ArrayList<>(); + dataMap.forEach((dimension, items) -> { + if (items.isEmpty()) { + result.add(NutMap.NEW() + .addv("dimension", dimension) + .addv("total", 0) + .addv("categoryCount", 0) + .addv("topItem", "-") + .addv("topCount", 0) + .addv("topRate", "0.00%") + .addv("analysis", "暂无数据")); + return; + } + + List sorted = items.stream() + .sorted(Comparator.comparingLong((NutMap v) -> v.getLong("count", 0L)).reversed()) + .toList(); + + long total = sorted.stream().mapToLong(v -> v.getLong("count", 0L)).sum(); + NutMap top = sorted.get(0); + long topCount = top.getLong("count", 0L); + String topItem = top.getString("itemName", "未维护"); + String topRate = formatPercent(topCount, total); + String analysis = String.format("%s主要集中在【%s】,数量为%d,占比%s。", dimension, topItem, topCount, topRate); + + result.add(NutMap.NEW() + .addv("dimension", dimension) + .addv("total", total) + .addv("categoryCount", sorted.size()) + .addv("topItem", topItem) + .addv("topCount", topCount) + .addv("topRate", topRate) + .addv("analysis", analysis)); + }); + return result; + } + + private Map> loadDimensionData(String sessionId) { + Map> map = new LinkedHashMap<>(); + map.put("提案人单位", queryUnitStat(sessionId)); + map.put("提案类型", queryTypeStat(sessionId)); + map.put("代表团", queryDelegationStat(sessionId)); + map.put("立案结果", queryCaseFilingResultStat(sessionId)); + map.put("满意度", querySatisfactionStat(sessionId)); + return map; + } + + private List queryUnitStat(String sessionId) { + Sql sql = Sqls.create(""" + SELECT + IFNULL(tcde.unitName, '未维护') AS itemName, + COUNT(info.id) AS count + FROM proposal_info info + LEFT JOIN teacher_congress_delegate tcde ON tcde.loginName = info.createUserLoginName + WHERE info.sessionId = @sessionId + GROUP BY itemName + ORDER BY count DESC, itemName ASC + """); + sql.setParam("sessionId", sessionId); + return baseService.listMap(sql); + } + + private List queryTypeStat(String sessionId) { + Sql sql = Sqls.create(""" + SELECT + IFNULL(t.name, '未分类') AS itemName, + COUNT(info.id) AS count + FROM proposal_info info + LEFT JOIN proposal_type t ON t.id = info.typeId + WHERE info.sessionId = @sessionId + GROUP BY itemName + ORDER BY count DESC, itemName ASC + """); + sql.setParam("sessionId", sessionId); + return baseService.listMap(sql); + } + + private List queryDelegationStat(String sessionId) { + Sql sql = Sqls.create(""" + SELECT + IFNULL(d.name, '未分团') AS itemName, + COUNT(info.id) AS count + FROM proposal_info info + LEFT JOIN teacher_congress_delegation d ON d.id = info.delegationId + WHERE info.sessionId = @sessionId + GROUP BY itemName + ORDER BY count DESC, itemName ASC + """); + sql.setParam("sessionId", sessionId); + return baseService.listMap(sql); + } + + private List queryCaseFilingResultStat(String sessionId) { + List dictList = sysDictService.getSubListByCode("PROPOSAL_CASE_FILING_RESULT"); + Map dictNameMap = dictList.stream().collect(Collectors.toMap(Sys_dict::getCode, Sys_dict::getName, (a, b) -> a)); + Sql sql = Sqls.create(""" + SELECT + IFNULL(info.caseFilingResult, '') AS code, + COUNT(info.id) AS count + FROM proposal_info info + WHERE info.sessionId = @sessionId + GROUP BY info.caseFilingResult + """); + sql.setParam("sessionId", sessionId); + List rawList = baseService.listMap(sql); + Map countMap = rawList.stream().collect(Collectors.toMap(v -> v.getString("code", ""), v -> v.getLong("count", 0L), Long::sum)); + + LinkedHashSet allCodes = new LinkedHashSet<>(dictNameMap.keySet()); + allCodes.addAll(countMap.keySet()); + + List result = new ArrayList<>(); + for (String code : allCodes) { + String itemName = StrUtil.isBlank(code) ? "未立案结果" : dictNameMap.getOrDefault(code, code); + result.add(NutMap.NEW().addv("itemName", itemName).addv("count", countMap.getOrDefault(code, 0L))); + } + result.sort(Comparator.comparingLong((NutMap v) -> v.getLong("count", 0L)).reversed()); + return result; + } + + private List querySatisfactionStat(String sessionId) { + List dictList = sysDictService.getSubListByCode("PROPOSAL_FEEDBACK"); + Map dictNameMap = dictList.stream().collect(Collectors.toMap(Sys_dict::getCode, Sys_dict::getName, (a, b) -> a)); + + Sql totalSql = Sqls.create("SELECT COUNT(1) AS total FROM proposal_info WHERE sessionId = @sessionId"); + totalSql.setParam("sessionId", sessionId); + List totalList = baseService.listMap(totalSql); + long total = totalList.isEmpty() ? 0L : totalList.get(0).getLong("total", 0L); + + Sql sql = Sqls.create(""" + SELECT + t.variable + FROM proposal_info info + LEFT JOIN wf_process_instance ins ON ins.businessNo = info.id + LEFT JOIN ( + SELECT processInstanceId, MAX(finishTime) AS finishTime + FROM wf_process_task + WHERE taskName = 'feedback' AND taskState = 20 + GROUP BY processInstanceId + ) latest ON latest.processInstanceId = ins.id + LEFT JOIN wf_process_task t ON t.processInstanceId = ins.id + AND t.taskName = 'feedback' + AND t.taskState = 20 + AND t.finishTime = latest.finishTime + WHERE info.sessionId = @sessionId + """); + sql.setParam("sessionId", sessionId); + List rowList = baseService.listMap(sql); + + Map countMap = new LinkedHashMap<>(); + long ratedCount = 0L; + for (NutMap row : rowList) { + String variableStr = row.getString("variable", ""); + if (StrUtil.isBlank(variableStr)) { + continue; + } + NutMap variable = Json.fromJson(NutMap.class, variableStr); + String code = variable.getString("tf_feedback", ""); + if (StrUtil.isBlank(code)) { + continue; + } + countMap.put(code, countMap.getOrDefault(code, 0L) + 1); + ratedCount++; + } + + List result = new ArrayList<>(); + for (Sys_dict dict : dictList) { + result.add(NutMap.NEW().addv("itemName", dict.getName()).addv("count", countMap.getOrDefault(dict.getCode(), 0L))); + } + + countMap.forEach((code, cnt) -> { + if (!dictNameMap.containsKey(code)) { + result.add(NutMap.NEW().addv("itemName", code).addv("count", cnt)); + } + }); + + long unrated = Math.max(total - ratedCount, 0L); + result.add(NutMap.NEW().addv("itemName", "未评价").addv("count", unrated)); + result.sort(Comparator.comparingLong((NutMap v) -> v.getLong("count", 0L)).reversed()); + return result; + } + + private String formatPercent(long count, long total) { + if (total <= 0) { + return "0.00%"; + } + return String.format("%.2f%%", (count * 100.0D) / total); + } +} diff --git a/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/transact/ProposalControlController.java b/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/transact/ProposalControlController.java new file mode 100644 index 00000000..bb7b3de6 --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/transact/ProposalControlController.java @@ -0,0 +1,118 @@ +package com.budwk.app.zhgh.democratic.proposal.controller.transact; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import com.budwk.app.base.constant.RoleConstant; +import com.budwk.app.base.page.Pagination; +import com.budwk.app.base.result.Result; +import com.budwk.app.base.service.BaseService; +import com.budwk.app.flow.enums.ProcessTaskPerformTypeEnum; +import com.budwk.app.flow.enums.ProcessTaskStateEnum; +import com.budwk.app.web.commons.auth.utils.AuthUtil; +import com.budwk.app.web.commons.auth.utils.SecurityUtil; +import com.budwk.app.zhgh.democratic.proposal.param.ProposalSearchParam; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.nutz.dao.Cnd; +import org.nutz.dao.Sqls; +import org.nutz.dao.sql.Sql; +import org.nutz.ioc.loader.annotation.Inject; +import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.mvc.annotation.At; +import org.nutz.mvc.annotation.Ok; + +import javax.validation.Valid; +import java.util.List; + +@IocBean +@At("/platform/proposal/control") +@Slf4j +@Ok("json:full") +@Api(tags = "提案管理-状态调整") +public class ProposalControlController { + + @Inject + private BaseService baseService; + + @At("") + @Ok("beetl:/platform/zhgh/democratic/proposal/transact/control/index.html") + @SaCheckPermission("proposal.control") + public void index() { + } + + @At + @SaCheckPermission("proposal.control") + @ApiOperation("分页列表") + public Result pageData(@Valid ProposalSearchParam pageForm) { + Sql sql = Sqls.create(""" + SELECT + info.*, + type.name AS typeName, + tcs.fullName AS sessionName, + tcd.name AS delegationName, + ins.id AS instanceId, + ins.businessNo, + ins.state instanceState, + ins.variable instanceVariable, + ins.processDefineId instanceProcessDefineId, + t.id taskId, + t.taskName AS taskKey, + t.displayName taskName, + t.taskType, + t.performType taskPerformType, + t.taskState, + t.finishTime, + t.taskParentId, + t.variable taskVariable, + IFNULL(GROUP_CONCAT(DISTINCT nt.displayName), '结束') curTaskName + FROM wf_process_task t + LEFT JOIN wf_process_instance ins ON ins.id = t.processInstanceId + LEFT JOIN wf_process_task_actor ta ON ta.processTaskId = t.id + LEFT JOIN wf_process_task nt ON nt.processInstanceId = ins.id AND nt.taskState = 10 + LEFT JOIN proposal_info info ON info.id = ins.businessNo + LEFT JOIN proposal_type type ON type.id = info.typeId + LEFT JOIN teacher_congress_session tcs ON tcs.id = info.sessionId + LEFT JOIN teacher_congress_delegation tcd ON tcd.id = info.delegationId + $condition + """); + Cnd cnd = Cnd.NEW(); + cnd.and("t.taskState", "=", ProcessTaskStateEnum.DOING.getCode()); + + if (!AuthUtil.hasRole(RoleConstant.SYSADMIN.name())) { + cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId())); + } + + ProposalSearchParam.buildSearch(cnd, pageForm); + cnd.groupBy("t.id"); + cnd.desc("t.createdAt"); + sql.setCondition(cnd); + Pagination pagination = baseService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql); + return Result.success(pagination); + } + + @At + @SaCheckPermission("proposal.control") + @ApiOperation("获取可跳转节点") + public Result jumpNodes(Long instanceId) { + if (instanceId == null) { + return Result.error("参数错误"); + } + Sql sql = Sqls.create(""" + SELECT + t.taskName AS value, + MAX(t.displayName) AS label, + MIN(t.id) AS seq + FROM wf_process_task t + WHERE t.processInstanceId = @instanceId + AND t.taskState IN (@doing, @finish) + AND t.performType != @countersign + GROUP BY t.taskName + ORDER BY seq ASC + """); + sql.params().set("instanceId", instanceId); + sql.params().set("doing", ProcessTaskStateEnum.DOING.getCode()); + sql.params().set("finish", ProcessTaskStateEnum.FINISHED.getCode()); + sql.params().set("countersign", ProcessTaskPerformTypeEnum.COUNTERSIGN.getCode()); + return Result.success(baseService.listMap(sql)); + } +} diff --git a/src/main/java/com/budwk/app/zhgh/democratic/proposal/service/ProposalExportService.java b/src/main/java/com/budwk/app/zhgh/democratic/proposal/service/ProposalExportService.java index 87695521..ad65c3df 100644 --- a/src/main/java/com/budwk/app/zhgh/democratic/proposal/service/ProposalExportService.java +++ b/src/main/java/com/budwk/app/zhgh/democratic/proposal/service/ProposalExportService.java @@ -49,6 +49,14 @@ public interface ProposalExportService extends BaseService { * @param response */ void exportProposalStatisticsAsZip(ProposalQueryComprehensiveParam pageForm, HttpServletResponse response); + + /** + * 批量导出提案表为单个汇集文档 + * + * @param pageForm + * @param response + */ + void exportProposalStatisticsAsDocx(ProposalQueryComprehensiveParam pageForm, HttpServletResponse response); /** * 导出反馈表 diff --git a/src/main/java/com/budwk/app/zhgh/democratic/proposal/service/impl/ProposalExportServiceImpl.java b/src/main/java/com/budwk/app/zhgh/democratic/proposal/service/impl/ProposalExportServiceImpl.java index d3d369e6..5b23f4fd 100644 --- a/src/main/java/com/budwk/app/zhgh/democratic/proposal/service/impl/ProposalExportServiceImpl.java +++ b/src/main/java/com/budwk/app/zhgh/democratic/proposal/service/impl/ProposalExportServiceImpl.java @@ -28,6 +28,12 @@ import com.deepoove.poi.config.Configure; import com.deepoove.poi.plugin.table.LoopRowTableRenderPolicy; import lombok.extern.slf4j.Slf4j; import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.xwpf.usermodel.BreakType; +import org.apache.poi.xwpf.usermodel.IBodyElement; +import org.apache.poi.xwpf.usermodel.XWPFDocument; +import org.apache.poi.xwpf.usermodel.XWPFParagraph; +import org.apache.poi.xwpf.usermodel.XWPFRun; +import org.apache.poi.xwpf.usermodel.XWPFTable; import org.ddr.poi.html.HtmlRenderPolicy; import org.nutz.dao.Cnd; import org.nutz.dao.Dao; @@ -40,6 +46,7 @@ import org.nutz.lang.Lang; import org.nutz.lang.util.NutMap; import javax.servlet.http.HttpServletResponse; +import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.ArrayList; @@ -326,15 +333,16 @@ public class ProposalExportServiceImpl extends BaseServiceImpl imp for (NutMap proposalRow : list) { try (ByteArrayOutputStream docxByteArrayOutputStream = new ByteArrayOutputStream()) { proposalCommonService.exportProposalAsDocx(proposalRow.getString("id"), docxByteArrayOutputStream); - ZipEntry zipEntry = new ZipEntry(proposalRow.getString("code") + "-" + proposalRow.getString("name") + ".docx"); + ZipEntry zipEntry = new ZipEntry(proposalRow.getString("code") + "-" + sanitizeZipFileName(proposalRow.getString("name")) + ".docx"); zipOutputStream.putNextEntry(zipEntry); docxByteArrayOutputStream.writeTo(zipOutputStream); zipOutputStream.closeEntry(); } catch (IOException e) { // 处理单个文件生成失败的情况 - e.printStackTrace(); + throw new RuntimeException("zip entry write failed, proposalId=" + proposalRow.getString("id"), e); } } + zipOutputStream.finish(); zipOutputStream.close(); CommonDownloadUtil.download("提案汇总压缩包.zip", bos.toByteArray(), response); } catch (Exception e) { @@ -345,6 +353,92 @@ public class ProposalExportServiceImpl extends BaseServiceImpl imp } + @Override + public void exportProposalStatisticsAsDocx(ProposalQueryComprehensiveParam pageForm, HttpServletResponse response) { + List list = queryProposalBaseList(pageForm); + if (Lang.isEmpty(list)) { + throw Lang.makeThrow("暂无可导出的提案数据"); + } + XWPFDocument mergedDoc = null; + try (ByteArrayOutputStream out = new ByteArrayOutputStream()) { + for (NutMap proposalRow : list) { + try (ByteArrayOutputStream oneDocOut = new ByteArrayOutputStream()) { + proposalCommonService.exportProposalAsDocx(proposalRow.getString("id"), oneDocOut); + if (mergedDoc == null) { + mergedDoc = new XWPFDocument(new ByteArrayInputStream(oneDocOut.toByteArray())); + } else { + try (XWPFDocument oneDoc = new XWPFDocument(new ByteArrayInputStream(oneDocOut.toByteArray()))) { + appendDocument(mergedDoc, oneDoc, true); + } + } + } catch (Exception e) { + log.error("proposal merge export failed, proposalId={}, error={}", proposalRow.getString("id"), e.getMessage()); + } + } + if (mergedDoc == null) { + throw Lang.makeThrow("暂无可导出的提案数据"); + } + mergedDoc.write(out); + CommonDownloadUtil.download("proposal-merged.docx", out.toByteArray(), response); + } catch (Exception e) { + log.error("proposal merge docx export failed: {}", e.getMessage(), e); + throw Lang.makeThrow("导出失败"); + } finally { + if (mergedDoc != null) { + try { + mergedDoc.close(); + } catch (IOException e) { + log.warn("close merged doc failed: {}", e.getMessage()); + } + } + } + } + + private List queryProposalBaseList(ProposalQueryComprehensiveParam pageForm) { + Sql sql = Sqls.create(""" + SELECT + info.id, + info.code, + info.name + FROM + proposal_info info + LEFT JOIN proposal_type type on type.id = info.typeId + LEFT JOIN teacher_congress_session tcs on tcs.id = info.sessionId + LEFT JOIN teacher_congress_delegation tcd on tcd.id = info.delegationId + LEFT JOIN teacher_congress_delegate tcde on tcde.loginName = info.createUserLoginName + $condition + """); + Cnd cnd = Cnd.NEW(); + ProposalQueryComprehensiveParam.buildSearch(cnd, pageForm); + cnd.groupBy("info.id"); + cnd.asc("info.code"); + sql.setCondition(cnd); + return listMap(sql); + } + + private void appendDocument(XWPFDocument target, XWPFDocument source, boolean addPageBreakBefore) { + if (addPageBreakBefore && !target.getBodyElements().isEmpty()) { + XWPFParagraph paragraph = target.createParagraph(); + XWPFRun run = paragraph.createRun(); + run.addBreak(BreakType.PAGE); + } + for (IBodyElement bodyElement : source.getBodyElements()) { + if (bodyElement instanceof XWPFParagraph) { + XWPFParagraph paragraph = (XWPFParagraph) bodyElement; + XWPFParagraph newParagraph = target.createParagraph(); + newParagraph.getCTP().set(paragraph.getCTP().copy()); + } else if (bodyElement instanceof XWPFTable) { + XWPFTable table = (XWPFTable) bodyElement; + XWPFTable newTable = target.createTable(); + newTable.getCTTbl().set(table.getCTTbl().copy()); + } + } + } + + private String sanitizeZipFileName(String name) { + return StrUtil.blankToDefault(name, "unnamed").replaceAll("[\\\\/:*?\"<>|\\r\\n]+", "_"); + } + @Override public void exportFeedBackAsZip(ProposalQueryComprehensiveParam pageForm, HttpServletResponse response) { Sql sql = Sqls.create(""" diff --git a/src/main/resources/static/components/module/activity/UserScope.vue b/src/main/resources/static/components/module/activity/UserScope.vue index 4dc9f58d..5abc2db8 100644 --- a/src/main/resources/static/components/module/activity/UserScope.vue +++ b/src/main/resources/static/components/module/activity/UserScope.vue @@ -229,9 +229,9 @@ - 协会: + 社团: - diff --git a/src/main/resources/views/platform/zhgh/activity/culture/common/applyActivity.js b/src/main/resources/views/platform/zhgh/activity/culture/common/applyActivity.js index a38b8839..855b1a6c 100644 --- a/src/main/resources/views/platform/zhgh/activity/culture/common/applyActivity.js +++ b/src/main/resources/views/platform/zhgh/activity/culture/common/applyActivity.js @@ -58,9 +58,9 @@ const ACTIVITY_CULTURE_APPLY_ACTIVITY = { - + diff --git a/src/main/resources/views/platform/zhgh/activity/culture/common/singleSignUp.js b/src/main/resources/views/platform/zhgh/activity/culture/common/singleSignUp.js index ac0ffdbb..a3d8c1a0 100644 --- a/src/main/resources/views/platform/zhgh/activity/culture/common/singleSignUp.js +++ b/src/main/resources/views/platform/zhgh/activity/culture/common/singleSignUp.js @@ -23,7 +23,7 @@ const singleSignUp = { {{ viewData.activity_type === 40001 ? '校工会活动' : viewData.activity_type === 40002 ? '分工会活动' : - '协会/社团活动' }} + '社团/社团活动' }} diff --git a/src/main/resources/views/platform/zhgh/activity/declarereimbursement/declare/apply/form.html b/src/main/resources/views/platform/zhgh/activity/declarereimbursement/declare/apply/form.html index e1be85ae..64bc092c 100644 --- a/src/main/resources/views/platform/zhgh/activity/declarereimbursement/declare/apply/form.html +++ b/src/main/resources/views/platform/zhgh/activity/declarereimbursement/declare/apply/form.html @@ -28,9 +28,9 @@