commit
This commit is contained in:
+111
-103
@@ -23,6 +23,7 @@ import com.budwk.app.flow.service.FlowCommonService;
|
||||
import com.budwk.app.sys.models.Sys_user;
|
||||
import com.budwk.app.sys.models.Sys_user_role;
|
||||
import com.budwk.app.sys.services.SysMsgService;
|
||||
import com.budwk.app.sys.views.View_user;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import com.budwk.app.web.controllers.open.commons.service.CommonService;
|
||||
import com.budwk.app.zhgh.club.model.ClubUser;
|
||||
@@ -53,133 +54,140 @@ import java.util.List;
|
||||
@Ok("json:full")
|
||||
public class ClubUserJoinApplyController {
|
||||
|
||||
@Inject
|
||||
private Dao dao;
|
||||
@Inject
|
||||
private CommonService commonService;
|
||||
@Inject
|
||||
private SysMsgService sysMsgService;
|
||||
@Inject
|
||||
private FlowEngine flowEngine;
|
||||
@Inject
|
||||
private FlowCommonService flowCommonService;
|
||||
@Inject
|
||||
private Dao dao;
|
||||
@Inject
|
||||
private CommonService commonService;
|
||||
@Inject
|
||||
private SysMsgService sysMsgService;
|
||||
@Inject
|
||||
private FlowEngine flowEngine;
|
||||
@Inject
|
||||
private FlowCommonService flowCommonService;
|
||||
|
||||
@At("/")
|
||||
@At("/")
|
||||
@SaCheckPermission("club.join.apply")
|
||||
@Ok("beetl:/platform/zhgh/club/join/apply/index.html")
|
||||
public void index() {}
|
||||
@Ok("beetl:/platform/zhgh/club/join/apply/index.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At("/h5")
|
||||
@SaCheckPermission("h5.club.join.apply")
|
||||
@Ok("beetl:/platform/zhghh5/club/apply/index.html")
|
||||
public void h5Index() {}
|
||||
public void h5Index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("详情")
|
||||
@At
|
||||
@ApiOperation("详情")
|
||||
@SaCheckPermission(value = {"club.join.apply", "h5.club.join.apply"}, mode = SaMode.OR)
|
||||
public Result info(@Valid String id) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
cua.*,
|
||||
club.clubName,
|
||||
u.loginname AS loginName,
|
||||
u.username AS userName,
|
||||
u.sex,
|
||||
u.unitName,
|
||||
u.unionName,
|
||||
u.technicalTitle,
|
||||
u.education,
|
||||
u.academicDegree
|
||||
FROM
|
||||
club_user_apply cua
|
||||
LEFT JOIN sys_club club ON club.id = cua.clubId
|
||||
LEFT JOIN vw_user u ON u.id = cua.userId
|
||||
WHERE cua.id = @id
|
||||
""").setParam("id", id);
|
||||
sql.setCallback(Sqls.callback.map());
|
||||
dao.execute(sql);
|
||||
return Result.success(sql.getResult());
|
||||
}
|
||||
public Result info(@Valid String id) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
cua.*,
|
||||
club.clubName,
|
||||
u.loginname AS loginName,
|
||||
u.username AS userName,
|
||||
u.sex,
|
||||
u.unitName,
|
||||
u.unionName,
|
||||
u.technicalTitle,
|
||||
u.education,
|
||||
u.academicDegree
|
||||
FROM
|
||||
club_user_apply cua
|
||||
LEFT JOIN sys_club club ON club.id = cua.clubId
|
||||
LEFT JOIN vw_user u ON u.id = cua.userId
|
||||
WHERE cua.id = @id
|
||||
""").setParam("id", id);
|
||||
sql.setCallback(Sqls.callback.map());
|
||||
dao.execute(sql);
|
||||
return Result.success(sql.getResult());
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("保存申请")
|
||||
@At
|
||||
@ApiOperation("保存申请")
|
||||
@SaCheckPermission(value = {"club.join.apply", "h5.club.join.apply"}, mode = SaMode.OR)
|
||||
@SLog(tag = "协会管理系统-申请入会", msg = "保存协会入会")
|
||||
public Result save(@Param("data") ClubUserApply clubUserApply) {
|
||||
clubUserApply.setRoleCode(RoleConstant.CLUB_MEMBER.name());
|
||||
clubUserApply.setMode(true);
|
||||
clubUserApply.setApplyDate(new Date());
|
||||
dao.insertOrUpdate(clubUserApply);
|
||||
return Result.success();
|
||||
}
|
||||
public Result save(@Param("data") ClubUserApply clubUserApply) {
|
||||
clubUserApply.setRoleCode(RoleConstant.CLUB_MEMBER.name());
|
||||
clubUserApply.setMode(true);
|
||||
clubUserApply.setApplyDate(new Date());
|
||||
dao.insertOrUpdate(clubUserApply);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("提交")
|
||||
@At
|
||||
@ApiOperation("提交")
|
||||
@SaCheckPermission(value = {"club.join.apply", "h5.club.join.apply"}, mode = SaMode.OR)
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@SLog(tag = "协会管理系统-申请入会", msg = "申请协会入会")
|
||||
public Result submit(ClubUserApply clubUserApply) {
|
||||
ClubUserApply userApply = dao.fetch(ClubUserApply.class, Cnd.where("userId", "=", clubUserApply.getUserId()).and("clubId", "=", clubUserApply.getClubId()).and("mode", "=", 1).desc(ClubUserApply::getApplyDate));
|
||||
if (ObjectUtil.isNotEmpty(userApply) && StrUtil.isBlank(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("您有该协会的申请记录尚未完成,请到我的申请里查看!");
|
||||
}
|
||||
}
|
||||
public Result submit(ClubUserApply clubUserApply) {
|
||||
ClubUserApply userApply = dao.fetch(ClubUserApply.class, Cnd.where("userId", "=", clubUserApply.getUserId()).and("clubId", "=", clubUserApply.getClubId()).and("mode", "=", 1).desc(ClubUserApply::getApplyDate));
|
||||
if (ObjectUtil.isNotEmpty(userApply) && StrUtil.isBlank(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("您有该协会的申请记录尚未完成,请到我的申请里查看!");
|
||||
}
|
||||
}
|
||||
|
||||
clubUserApply.setRoleCode(RoleConstant.CLUB_MEMBER.name());
|
||||
clubUserApply.setMode(true);
|
||||
clubUserApply.setApplyDate(new Date());
|
||||
dao.insertOrUpdate(clubUserApply);
|
||||
clubUserApply.setRoleCode(RoleConstant.CLUB_MEMBER.name());
|
||||
clubUserApply.setMode(true);
|
||||
clubUserApply.setApplyDate(new Date());
|
||||
dao.insertOrUpdate(clubUserApply);
|
||||
|
||||
// 开启流程实例
|
||||
Dict args = Dict.create();
|
||||
args.set(FlowConst.SUBMIT_TYPE, ProcessSubmitTypeEnum.APPLY.getCode());
|
||||
args.set(FlowConst.FORM_DATA, clubUserApply);
|
||||
// 开启流程实例
|
||||
Dict args = Dict.create();
|
||||
args.set(FlowConst.SUBMIT_TYPE, ProcessSubmitTypeEnum.APPLY.getCode());
|
||||
args.set(FlowConst.FORM_DATA, clubUserApply);
|
||||
args.set("clubId", clubUserApply.getClubId());
|
||||
ProcessInstance instance = flowEngine.startProcessInstanceByKey("XHRH", clubUserApply.getId(), SecurityUtil.getUserId(), args);
|
||||
ProcessInstance instance = flowEngine.startProcessInstanceByKey("XHRH", clubUserApply.getId(), SecurityUtil.getUserId(), args);
|
||||
|
||||
// 自动完成第一个申请任务
|
||||
List<ProcessTask> doingTaskList = flowEngine.processTaskService().getDoingTaskList(instance.getId(), null);
|
||||
for (ProcessTask task : doingTaskList) {
|
||||
flowEngine.executeProcessTask(task.getId(), SecurityUtil.getUserId(), args);
|
||||
}
|
||||
return Result.success();
|
||||
}
|
||||
// 自动完成第一个申请任务
|
||||
List<ProcessTask> doingTaskList = flowEngine.processTaskService().getDoingTaskList(instance.getId(), null);
|
||||
for (ProcessTask task : doingTaskList) {
|
||||
flowEngine.executeProcessTask(task.getId(), SecurityUtil.getUserId(), args);
|
||||
}
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("重新提交申请")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@At
|
||||
@ApiOperation("重新提交申请")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@SaCheckPermission(value = {"club.join.apply", "h5.club.join.apply"}, mode = SaMode.OR)
|
||||
public Result submitAgain(@Param("data") ClubUserApply clubUserApply, @Param("taskId") Long taskId) {
|
||||
dao.insertOrUpdate(clubUserApply);
|
||||
public Result submitAgain(@Param("data") ClubUserApply clubUserApply, @Param("taskId") Long taskId) {
|
||||
dao.insertOrUpdate(clubUserApply);
|
||||
|
||||
Dict dict = Dict.create();
|
||||
dict.set(FlowConst.PROCESS_TASK_ID_KEY, taskId);
|
||||
dict.set(FlowConst.SUBMIT_TYPE, ProcessSubmitTypeEnum.RE_APPLY.getCode());
|
||||
Dict dict = Dict.create();
|
||||
dict.set(FlowConst.PROCESS_TASK_ID_KEY, taskId);
|
||||
dict.set(FlowConst.SUBMIT_TYPE, ProcessSubmitTypeEnum.RE_APPLY.getCode());
|
||||
dict.set("clubId", clubUserApply.getClubId());
|
||||
flowCommonService.executeTask(dict);
|
||||
return Result.success();
|
||||
}
|
||||
flowCommonService.executeTask(dict);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("校验是否申请过协会")
|
||||
@At
|
||||
@ApiOperation("校验是否申请过协会")
|
||||
@SaCheckPermission(value = {"club.join.apply", "h5.club.join.apply"}, mode = SaMode.OR)
|
||||
public Result checkApplyClub(@Valid String clubId) {
|
||||
ClubUserApply userApply = dao.fetch(ClubUserApply.class, Cnd.where("userId", "=", SecurityUtil.getUserId()).and("clubId", "=", clubId).and("mode", "=", 1).desc(ClubUserApply::getApplyDate));
|
||||
ClubUser clubUser = dao.fetch(ClubUser.class, Cnd.where("userId", "=", SecurityUtil.getUserId()).and("clubId", "=", clubId));
|
||||
if (ObjectUtil.isEmpty(userApply) && ObjectUtil.isEmpty(clubUser)) {
|
||||
return Result.success();
|
||||
}
|
||||
public Result checkApplyClub(@Valid String clubId) {
|
||||
View_user user = dao.fetch(View_user.class, Cnd.where("id", "=", SecurityUtil.getUserId()));
|
||||
if (user.getMember() != 1) {
|
||||
return Result.error(99, "抱歉,您不满足入会的条件!");
|
||||
}
|
||||
|
||||
if (ObjectUtil.isNotEmpty(clubUser)) {
|
||||
return Result.error(99, "请勿重复申请!");
|
||||
}
|
||||
ClubUserApply userApply = dao.fetch(ClubUserApply.class, Cnd.where("userId", "=", SecurityUtil.getUserId()).and("clubId", "=", clubId).and("mode", "=", 1).desc(ClubUserApply::getApplyDate));
|
||||
ClubUser clubUser = dao.fetch(ClubUser.class, Cnd.where("userId", "=", SecurityUtil.getUserId()).and("clubId", "=", clubId));
|
||||
if (ObjectUtil.isEmpty(userApply) && ObjectUtil.isEmpty(clubUser)) {
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
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.success();
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(clubUser)) {
|
||||
return Result.error(99, "请勿重复申请!");
|
||||
}
|
||||
|
||||
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.success();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,6 +79,7 @@ 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
|
||||
@@ -88,6 +89,7 @@ public class ClubUserJoinMineController {
|
||||
LEFT JOIN `wf_process_instance` ins ON ins.businessNo = info.id
|
||||
LEFT JOIN wf_process_task t ON t.processInstanceId = ins.id AND t.taskState = 10
|
||||
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
|
||||
$condition
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
|
||||
+186
@@ -0,0 +1,186 @@
|
||||
package com.budwk.app.zhgh.club.controller.infoManage;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.dev33.satoken.annotation.SaMode;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.json.JSONObject;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.param.PageForm;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import com.budwk.app.zhgh.club.model.ClubPayRecord;
|
||||
import com.budwk.app.zhgh.club.model.ClubUserApply;
|
||||
import com.budwk.app.zhgh.club.service.ClubPayRecordService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.dao.util.cri.SqlExpressionGroup;
|
||||
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 org.nutz.mvc.annotation.Param;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* @ClassName ClubPayRecordController
|
||||
* @Author JyuHsin
|
||||
* @Date 2026/1/17 15:39
|
||||
* @Version 1.0
|
||||
* @Description TODO
|
||||
*/
|
||||
@Slf4j
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
@Api(tags = "协会缴费记录")
|
||||
@At("/platform/club/pay")
|
||||
public class ClubPayRecordController {
|
||||
|
||||
@Inject
|
||||
private ClubPayRecordService payRecordService;
|
||||
|
||||
@At("")
|
||||
@SaCheckPermission("club.infoManage.pay")
|
||||
@Ok("beetl:/platform/zhgh/club/infoManage/pay/index.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("club.infoManage.pay")
|
||||
public Result pageData(@Valid PageForm pageForm,
|
||||
@Param("year") Integer year,
|
||||
@Param("clubId") String clubId,
|
||||
@Param("payed") Integer payed,
|
||||
@Param("assign") Integer assign) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
cpr.*,
|
||||
c.clubName,
|
||||
u.loginName,
|
||||
u.userName,
|
||||
u.unitName,
|
||||
u.retireDate,
|
||||
(SELECT createdAt FROM club_user WHERE clubId = cpr.clubId AND userId = cpr.userId ORDER BY createdAt LIMIT 1) AS applyTime,
|
||||
u.userState
|
||||
FROM
|
||||
`club_pay_record` cpr
|
||||
LEFT JOIN sys_club c ON cpr.clubid = c.id
|
||||
LEFT JOIN vw_user u ON u.id = cpr.userId
|
||||
$condition
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.andEX("cpr.year", "=", year);
|
||||
cnd.andEX("cpr.clubId", "=", clubId);
|
||||
cnd.andEX("cpr.payed", "=", payed);
|
||||
|
||||
if (StrUtil.isNotBlank(pageForm.getSearchKeyword())) {
|
||||
SqlExpressionGroup seg = new SqlExpressionGroup();
|
||||
seg.orLike("u.userName", pageForm.getSearchKeyword());
|
||||
seg.orLike("u.loginName", pageForm.getSearchKeyword());
|
||||
cnd.and(seg);
|
||||
}
|
||||
|
||||
if (assign != null) {
|
||||
SqlExpressionGroup mainGroup = new SqlExpressionGroup();
|
||||
if (assign == 0) {
|
||||
SqlExpressionGroup noAssignGroup = new SqlExpressionGroup();
|
||||
|
||||
// 不拨付条件1:payed=false(原代码第一行直接return false)
|
||||
noAssignGroup.or("cpr.payed", "=", false);
|
||||
|
||||
// 不拨付条件2:payed=true,但用户状态是退休 且 无退休日期
|
||||
SqlExpressionGroup retireNoDateGroup = new SqlExpressionGroup();
|
||||
retireNoDateGroup.and("cpr.payed", "=", true);
|
||||
retireNoDateGroup.and("u.userState", "=", "退休");
|
||||
retireNoDateGroup.and("u.retireDate", "is", null);
|
||||
|
||||
// 不拨付条件3:payed=true,用户状态是退休,有退休日期,但退休年份 < 缴费年份
|
||||
SqlExpressionGroup retireYearLessGroup = new SqlExpressionGroup();
|
||||
retireYearLessGroup.and("cpr.payed", "=", true);
|
||||
retireYearLessGroup.and("u.userState", "=", "退休");
|
||||
retireYearLessGroup.and("u.retireDate", "is not", null);
|
||||
// 计算缴费年份
|
||||
// 退休年份 < 缴费年份
|
||||
retireYearLessGroup.and("YEAR(u.retireDate)", "<", "cpr.year");
|
||||
|
||||
// 合并所有不拨付条件(满足任一即不拨付)
|
||||
noAssignGroup.or(retireNoDateGroup);
|
||||
noAssignGroup.or(retireYearLessGroup);
|
||||
|
||||
mainGroup.and(noAssignGroup);
|
||||
} else {
|
||||
SqlExpressionGroup assignGroup = new SqlExpressionGroup();
|
||||
|
||||
// 拨付前提:payed必须为true
|
||||
assignGroup.and("cpr.payed", "=", true);
|
||||
|
||||
// 拨付条件1:用户状态≠退休
|
||||
SqlExpressionGroup userNotRetireGroup = new SqlExpressionGroup();
|
||||
userNotRetireGroup.or("u.userState", "<>", "退休");
|
||||
|
||||
// 拨付条件2:用户状态=退休,有退休日期,且退休年份≥缴费年份
|
||||
SqlExpressionGroup retireQualifiedGroup = new SqlExpressionGroup();
|
||||
retireQualifiedGroup.and("u.userState", "=", "退休");
|
||||
retireQualifiedGroup.and("u.retireDate", "is not", null);
|
||||
retireQualifiedGroup.and("YEAR(u.retireDate)", ">=", "cpr.year");
|
||||
|
||||
// 合并拨付条件(满足任一即拨付)
|
||||
userNotRetireGroup.or(retireQualifiedGroup);
|
||||
assignGroup.and(userNotRetireGroup);
|
||||
|
||||
mainGroup.and(assignGroup);
|
||||
}
|
||||
cnd.and(mainGroup);
|
||||
}
|
||||
|
||||
sql.setCondition(cnd);
|
||||
Pagination pagination = payRecordService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
|
||||
List<NutMap> list = pagination.getList();
|
||||
for (NutMap nutMap : list) {
|
||||
boolean assigned = payRecordService.calAssigned(nutMap.getString("id"));
|
||||
nutMap.put("assign", assigned);
|
||||
}
|
||||
|
||||
return Result.success(pagination);
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("修改协会成员缴费状态")
|
||||
@SaCheckPermission("club.infoManage.pay")
|
||||
@SLog(tag = "协会管理系统-缴费记录", msg = "修改协会成员缴费状态")
|
||||
public Result handle(@Param("ids") String[] ids,
|
||||
@Param("payed") Boolean payed) {
|
||||
List<ClubPayRecord> list = payRecordService.query(Cnd.where("id", "in", ids));
|
||||
|
||||
for (ClubPayRecord payRecord : list) {
|
||||
List<JSONObject> logs = Optional.ofNullable(payRecord.getOperateLogs()).orElseGet(ArrayList::new);
|
||||
JSONObject log = new JSONObject();
|
||||
log.set("operatorUserId", SecurityUtil.getUserId());
|
||||
log.set("operatorUserName", SecurityUtil.getUserUsername());
|
||||
log.set("operatorTime", DateUtil.now());
|
||||
log.set("operatorType", "缴费管理-手动设置");
|
||||
log.set("oldValue", payRecord.getPayed());
|
||||
log.set("newValue", payed);
|
||||
logs.add(log);
|
||||
|
||||
payRecord.setOperateLogs(logs);
|
||||
payRecord.setPayed(payed);
|
||||
}
|
||||
|
||||
payRecordService.update(list);
|
||||
return Result.success();
|
||||
}
|
||||
}
|
||||
+7
-22
@@ -7,6 +7,7 @@ import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.zhgh.club.param.ClubUserPageForm;
|
||||
import com.budwk.app.zhgh.club.service.SysClubService;
|
||||
import com.budwk.app.zhgh.club.vo.ClubRegisterPageVo;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.ioc.aop.Aop;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
@@ -37,26 +38,10 @@ public class ClubConfirmController {
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("club.register.clubConfirm")
|
||||
public Result pageData(@Valid ClubUserPageForm pageForm) {
|
||||
Pagination pagination = sysClubService.clubConfirmPageData(pageForm);
|
||||
return Result.success(pagination);
|
||||
}
|
||||
|
||||
@At
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@SaCheckPermission("club.register.clubConfirm")
|
||||
@SLog(tag = "协会管理系统-协会注册", msg = "协会确认")
|
||||
public Result doAudit() {
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@SaCheckPermission("club.register.clubConfirm")
|
||||
@SLog(tag = "协会管理系统-协会注册", msg = "协会确认撤回")
|
||||
public Result withdraw(@Valid Long processTaskId) {
|
||||
return Result.success();
|
||||
}
|
||||
@At
|
||||
@SaCheckPermission("club.register.clubConfirm")
|
||||
public Result pageData(@Valid ClubUserPageForm pageForm) {
|
||||
Pagination<ClubRegisterPageVo> pagination = sysClubService.clubConfirmPageData(pageForm);
|
||||
return Result.success(pagination);
|
||||
}
|
||||
}
|
||||
|
||||
+64
@@ -0,0 +1,64 @@
|
||||
package com.budwk.app.zhgh.club.controller.register;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckLogin;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.lang.Dict;
|
||||
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.flow.service.FlowCommonService;
|
||||
import com.budwk.app.zhgh.club.param.ClubUserPageForm;
|
||||
import com.budwk.app.zhgh.club.service.SysClubService;
|
||||
import com.budwk.app.zhgh.club.vo.ClubRegisterPageVo;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.ioc.aop.Aop;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.json.Json;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
|
||||
import javax.validation.Valid;
|
||||
|
||||
/**
|
||||
* @ClassName ClubOfficeAuditController
|
||||
* @Author JyuHsin
|
||||
* @Date 2026/1/15 16:32
|
||||
* @Version 1.0
|
||||
* @Description TODO
|
||||
*/
|
||||
@IocBean
|
||||
@Ok("json")
|
||||
@At("/platform/club/register/officeAudit")
|
||||
public class ClubOfficeAuditController {
|
||||
|
||||
@Inject
|
||||
private SysClubService sysClubService;
|
||||
@Inject
|
||||
private FlowCommonService flowCommonService;
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/zhgh/club/register/officeAudit/index.html")
|
||||
@SaCheckPermission("club.register.officeAudit")
|
||||
public void index() {}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("club.register.officeAudit")
|
||||
public Result pageData(@Valid ClubUserPageForm pageForm) {
|
||||
Pagination<ClubRegisterPageVo> pagination = sysClubService.officeAuditPageData(pageForm);
|
||||
return Result.success(pagination);
|
||||
}
|
||||
|
||||
@At("/executeTask")
|
||||
@ApiOperation("执行任务")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@SaCheckPermission("club.register.officeAudit")
|
||||
public Result executeTask(@Param("data") String param) {
|
||||
Dict args = Json.fromJson(Dict.class, param);
|
||||
args.set("roleCode", RoleConstant.SCHOOL_UNION_CLUB_ADMIN.name());
|
||||
flowCommonService.executeTask(args);
|
||||
return Result.success();
|
||||
}
|
||||
}
|
||||
+2
@@ -7,6 +7,7 @@ import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.lang.Dict;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
import com.budwk.app.base.constant.RoleConstant;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.flow.constant.FlowConst;
|
||||
import com.budwk.app.flow.engine.FlowEngine;
|
||||
@@ -97,6 +98,7 @@ public class ClubRegistApplyController {
|
||||
Dict args = Dict.create();
|
||||
args.set(FlowConst.SUBMIT_TYPE, ProcessSubmitTypeEnum.APPLY.getCode());
|
||||
args.set(FlowConst.FORM_DATA, sysClub);
|
||||
args.set("roleCode", RoleConstant.SCHOOL_PUBLICITY_AND_CULTURAL.name());
|
||||
ProcessInstance instance = flowEngine.startProcessInstanceByKey("XHZC", sysClub.getId(), SecurityUtil.getUserId(), args);
|
||||
|
||||
// 自动完成第一个申请任务
|
||||
|
||||
+6
-32
@@ -53,36 +53,10 @@ public class ClubSchoolLeaderAuditController {
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("club.register.schoolLeaderAudit")
|
||||
public Result pageData(@Valid ClubUserPageForm pageForm) {
|
||||
Pagination<ClubRegisterPageVo> pagination = sysClubService.schoolLeaderAuditPageData(pageForm);
|
||||
return Result.success(pagination);
|
||||
}
|
||||
|
||||
@At
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@SaCheckPermission("club.register.schoolLeaderAudit")
|
||||
@SLog(tag = "协会管理系统-协会注册", msg = "分管领导审核注册协会")
|
||||
public Result approval(@Valid @Param("approval") BpmTaskApprovalParam approvalParam) {
|
||||
approvalParam.getBpmTaskApprovalTypeEnum();
|
||||
Map<String, Object> variables = BeanUtil.beanToMap(approvalParam);
|
||||
|
||||
List<String> assignments = new ArrayList<>();
|
||||
if(approvalParam.getBpmTaskApprovalTypeEnum().equals(BpmTaskApprovalTypeEnum.PASS)){
|
||||
List<Sys_user> schoolClubManageUser = commonService.findUserInfoByRoleCode(RoleConstant.SCHOOL_UNION_CLUB_ADMIN.name());
|
||||
assignments.addAll(schoolClubManageUser.stream().map(Sys_user::getLoginname).toList());
|
||||
}
|
||||
bpmService.completeTask(approvalParam.getProcessInstanceTaskId(), approvalParam.getBpmTaskApprovalTypeEnum(), variables, assignments);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@SaCheckPermission("club.register.schoolLeaderAudit")
|
||||
@SLog(tag = "协会管理系统-协会注册", msg = "分管领导撤回注册协会")
|
||||
public Result revoke(@Valid String taskId) {
|
||||
bpmService.revokeTask(taskId);
|
||||
return Result.success();
|
||||
}
|
||||
@At
|
||||
@SaCheckPermission("club.register.schoolLeaderAudit")
|
||||
public Result pageData(@Valid ClubUserPageForm pageForm) {
|
||||
Pagination<ClubRegisterPageVo> pagination = sysClubService.schoolLeaderAuditPageData(pageForm);
|
||||
return Result.success(pagination);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
package com.budwk.app.zhgh.club.interceptor;
|
||||
|
||||
import cn.hutool.core.lang.Dict;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.budwk.app.base.constant.RoleConstant;
|
||||
import com.budwk.app.flow.constant.FlowConst;
|
||||
import com.budwk.app.flow.engine.FlowInterceptor;
|
||||
import com.budwk.app.flow.engine.core.Execution;
|
||||
import com.budwk.app.flow.engine.core.ServiceContext;
|
||||
import com.budwk.app.flow.enums.ProcessSubmitTypeEnum;
|
||||
import com.budwk.app.sys.models.Sys_role;
|
||||
import com.budwk.app.sys.models.Sys_user_role;
|
||||
import com.budwk.app.sys.services.SysRoleService;
|
||||
@@ -31,31 +34,37 @@ public class ClubRegisterInterceptor implements FlowInterceptor {
|
||||
public void intercept(Execution execution) {
|
||||
|
||||
String formDataStr = execution.getArgs().getStr(FlowConst.FORM_DATA);
|
||||
SysClub club = Json.fromJson(SysClub.class, formDataStr);
|
||||
|
||||
Dao dao = ServiceContext.find(Dao.class);
|
||||
SysRoleService sysRoleService = ServiceContext.find(SysRoleService.class);
|
||||
SysUserService sysUserService = ServiceContext.find(SysUserService.class);
|
||||
// 因为是前置节点,所以要有if
|
||||
Dict args = execution.getArgs();
|
||||
Integer submitType = args.getInt("submitType");
|
||||
if (ObjectUtil.equals(submitType, ProcessSubmitTypeEnum.AGREE.getCode())) {
|
||||
SysClub club = Json.fromJson(SysClub.class, formDataStr);
|
||||
|
||||
// 审核通过,就给角色,找理事机构
|
||||
List<ClubUser> clubUsers = dao.query(
|
||||
ClubUser.class,
|
||||
Cnd.where("clubId", "=", club.getId())
|
||||
);
|
||||
List<Sys_user_role> list = new ArrayList<>();
|
||||
for (ClubUser clubUser : clubUsers) {
|
||||
for (String role : clubUser.getRoleCode()) {
|
||||
Sys_user_role userRole = new Sys_user_role();
|
||||
Sys_role sysRole = sysRoleService.getByCode(role);
|
||||
userRole.setRoleId(sysRole.getId());
|
||||
userRole.setUserId(clubUser.getUserId());
|
||||
userRole.setClubId(club.getId());
|
||||
list.add(userRole);
|
||||
Dao dao = ServiceContext.find(Dao.class);
|
||||
SysRoleService sysRoleService = ServiceContext.find(SysRoleService.class);
|
||||
SysUserService sysUserService = ServiceContext.find(SysUserService.class);
|
||||
|
||||
// 审核通过,就给角色,找理事机构
|
||||
List<ClubUser> clubUsers = dao.query(
|
||||
ClubUser.class,
|
||||
Cnd.where("clubId", "=", club.getId())
|
||||
);
|
||||
List<Sys_user_role> list = new ArrayList<>();
|
||||
for (ClubUser clubUser : clubUsers) {
|
||||
for (String role : clubUser.getRoleCode()) {
|
||||
Sys_user_role userRole = new Sys_user_role();
|
||||
Sys_role sysRole = sysRoleService.getByCode(role);
|
||||
userRole.setRoleId(sysRole.getId());
|
||||
userRole.setUserId(clubUser.getUserId());
|
||||
userRole.setClubId(club.getId());
|
||||
list.add(userRole);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dao.insert(list);
|
||||
sysUserService.clearCache();
|
||||
sysRoleService.clearCache();
|
||||
dao.insert(list);
|
||||
sysUserService.clearCache();
|
||||
sysRoleService.clearCache();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,14 +1,20 @@
|
||||
package com.budwk.app.zhgh.club.interceptor;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.json.JSONObject;
|
||||
import com.budwk.app.flow.constant.FlowConst;
|
||||
import com.budwk.app.flow.engine.FlowInterceptor;
|
||||
import com.budwk.app.flow.engine.core.Execution;
|
||||
import com.budwk.app.flow.engine.core.ServiceContext;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import com.budwk.app.zhgh.club.model.ClubPayRecord;
|
||||
import com.budwk.app.zhgh.club.model.ClubUser;
|
||||
import com.budwk.app.zhgh.club.model.ClubUserApply;
|
||||
import com.budwk.app.zhgh.club.service.SysClubUserService;
|
||||
import org.bouncycastle.jcajce.provider.util.SecretKeyUtil;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.ioc.aop.Aop;
|
||||
import org.nutz.json.Json;
|
||||
@@ -28,15 +34,47 @@ public class ClubUserJoinInterceptor implements FlowInterceptor {
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
public void intercept(Execution execution) {
|
||||
|
||||
// 获取表单参数
|
||||
String formDataStr = execution.getArgs().getStr(FlowConst.FORM_DATA);
|
||||
Boolean payed = execution.getArgs().getBool(FlowConst.TASK_FORM_DATA_PREFIX + "payed");
|
||||
ClubUserApply clubUserApply = Json.fromJson(ClubUserApply.class, formDataStr);
|
||||
|
||||
// 获取操作类
|
||||
Dao dao = ServiceContext.find(Dao.class);
|
||||
SysClubUserService userService = ServiceContext.find(SysClubUserService.class);
|
||||
|
||||
// 将申请信息复制一份,插入协会成员表
|
||||
ClubUser clubUser = BeanUtil.copyProperties(clubUserApply, ClubUser.class);
|
||||
dao.insert(clubUser);
|
||||
|
||||
// 还要加到协会成员缴费表中
|
||||
// 对了,如果同一个人,在同一年,多次加入同一协会,则只插入一条
|
||||
int count = dao.count(
|
||||
ClubPayRecord.class,
|
||||
Cnd.where(ClubPayRecord::getClubId, "=", clubUser.getClubId())
|
||||
.and(ClubPayRecord::getUserId, "=", clubUser.getUserId())
|
||||
.and(ClubPayRecord::getYear, "=", DateUtil.thisYear())
|
||||
);
|
||||
if (count == 0) {
|
||||
ClubPayRecord record = new ClubPayRecord();
|
||||
record.setClubId(clubUser.getClubId());
|
||||
record.setUserId(clubUser.getUserId());
|
||||
record.setYear(DateUtil.thisYear());
|
||||
record.setPayed(payed);
|
||||
|
||||
JSONObject log = new JSONObject();
|
||||
log.set("operatorUserId", SecurityUtil.getUserId());
|
||||
log.set("operatorUserName", SecurityUtil.getUserUsername());
|
||||
log.set("operatorTime", DateUtil.now());
|
||||
log.set("operatorType", "入会审核");
|
||||
log.set("oldValue", null);
|
||||
log.set("newValue", payed);
|
||||
|
||||
record.setOperateLogs(List.of(log));
|
||||
dao.insert(record);
|
||||
}
|
||||
|
||||
// 江苏卫生才有的,cao,将申请的人加入到活动组别里面去
|
||||
userService.clubUser2Scope(clubUser.getClubId(), List.of(clubUser.getUserId()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
package com.budwk.app.zhgh.club.model;
|
||||
|
||||
import cn.hutool.json.JSONObject;
|
||||
import com.budwk.app.base.model.BaseModel;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.nutz.dao.entity.annotation.*;
|
||||
import org.nutz.dao.interceptor.annotation.PrevInsert;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @ClassName ClubPayRecord
|
||||
* @Author JyuHsin
|
||||
* @Date 2026/1/17 15:31
|
||||
* @Version 1.0
|
||||
* @Description TODO
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Table("club_pay_record")
|
||||
@TableMeta("{'mysql-charset':'utf8mb4'}")
|
||||
@Comment("协会会员缴费记录表")
|
||||
public class ClubPayRecord extends BaseModel {
|
||||
|
||||
@Name
|
||||
@Comment("id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@PrevInsert(uu32 = true)
|
||||
private String id;
|
||||
|
||||
@Column
|
||||
@Comment("年份")
|
||||
@ColDefine(type = ColType.INT)
|
||||
private Integer year;
|
||||
|
||||
@Column
|
||||
@Comment("协会ID")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String clubId;
|
||||
|
||||
@Column
|
||||
@Comment("用户ID")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String userId;
|
||||
|
||||
@Column
|
||||
@Comment("是否缴费")
|
||||
@ColDefine(type = ColType.BOOLEAN)
|
||||
@Default(value = "0")
|
||||
private Boolean payed;
|
||||
|
||||
// 防止有人今天操作缴费,明天操作未缴费,还是记录一下吧
|
||||
@Column
|
||||
@Comment("操作记录")
|
||||
@ColDefine(type = ColType.MYSQL_JSON)
|
||||
private List<JSONObject> operateLogs;
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.budwk.app.zhgh.club.service;
|
||||
|
||||
import com.budwk.app.base.service.BaseService;
|
||||
import com.budwk.app.zhgh.club.model.ClubPayRecord;
|
||||
|
||||
/**
|
||||
* @ClassName ClubPayRecordService
|
||||
* @Author JyuHsin
|
||||
* @Date 2026/1/17 15:40
|
||||
* @Version 1.0
|
||||
* @Description TODO
|
||||
*/
|
||||
public interface ClubPayRecordService extends BaseService<ClubPayRecord> {
|
||||
|
||||
|
||||
/**
|
||||
* 获取协会成员是否拨付
|
||||
* @param userId
|
||||
* @param clubId
|
||||
*/
|
||||
boolean calAssigned(String userId, String clubId);
|
||||
|
||||
boolean calAssigned(String primaryId);
|
||||
|
||||
boolean calAssigned(ClubPayRecord payRecord);
|
||||
}
|
||||
@@ -39,6 +39,8 @@ public interface SysClubService extends BaseService<SysClub> {
|
||||
|
||||
Pagination<ClubRegisterPageVo> schoolLeaderAuditPageData(@Valid ClubUserPageForm pageForm);
|
||||
|
||||
Pagination<ClubRegisterPageVo> officeAuditPageData(@Valid ClubUserPageForm pageForm);
|
||||
|
||||
Pagination<ClubRegisterPageVo> schoolReplyPageData(@Valid ClubUserPageForm pageForm);
|
||||
|
||||
Pagination<ClubRegisterPageVo> clubConfirmPageData(@Valid ClubUserPageForm pageForm);
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
package com.budwk.app.zhgh.club.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.service.impl.BaseServiceImpl;
|
||||
import com.budwk.app.sys.models.Sys_user;
|
||||
import com.budwk.app.zhgh.club.model.ClubPayRecord;
|
||||
import com.budwk.app.zhgh.club.service.ClubPayRecordService;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.lang.Lang;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @ClassName ClubPayRecordServiceImpl
|
||||
* @Author JyuHsin
|
||||
* @Date 2026/1/17 15:40
|
||||
* @Version 1.0
|
||||
* @Description TODO
|
||||
*/
|
||||
@IocBean(args = {"refer:dao"})
|
||||
public class ClubPayRecordServiceImpl extends BaseServiceImpl<ClubPayRecord> implements ClubPayRecordService {
|
||||
|
||||
public ClubPayRecordServiceImpl(Dao dao) {
|
||||
super(dao);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean calAssigned(String userId, String clubId) {
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.and("userId", "=", userId);
|
||||
cnd.and("clubId", "=", clubId);
|
||||
cnd.desc(ClubPayRecord::getCreatedAt);
|
||||
ClubPayRecord payRecord = dao().fetch(ClubPayRecord.class, cnd);
|
||||
return calAssigned(payRecord);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean calAssigned(String primaryId) {
|
||||
ClubPayRecord payRecord = fetch(primaryId);
|
||||
return calAssigned(payRecord);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean calAssigned(ClubPayRecord payRecord) {
|
||||
// 如果是未缴费,直接是不拨付
|
||||
if (!payRecord.getPayed()) {
|
||||
return false;
|
||||
}
|
||||
Sys_user user = dao().fetch(Sys_user.class, payRecord.getUserId());
|
||||
if (!Objects.equals("退休", user.getUserState())) {
|
||||
return true;
|
||||
}
|
||||
if (Lang.isEmpty(user.getRetireDate())) {
|
||||
return false;
|
||||
}
|
||||
int retireYear = DateUtil.year(user.getRetireDate());
|
||||
return retireYear >= (payRecord.getYear() != null ? payRecord.getYear() : DateUtil.thisYear());
|
||||
}
|
||||
}
|
||||
@@ -227,6 +227,7 @@ public class SysClubServiceImpl extends BaseServiceImpl<SysClub> 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
|
||||
@@ -236,6 +237,7 @@ public class SysClubServiceImpl extends BaseServiceImpl<SysClub> implements SysC
|
||||
LEFT JOIN `wf_process_instance` ins ON ins.businessNo = info.id
|
||||
LEFT JOIN wf_process_task t ON t.processInstanceId = ins.id AND t.taskState = 10
|
||||
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
|
||||
$condition
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
@@ -245,18 +247,29 @@ public class SysClubServiceImpl extends BaseServiceImpl<SysClub> implements SysC
|
||||
cnd.andEX("year(info.createTime)", "=", pageForm.getYear());
|
||||
cnd.and("info.userId", "=", SecurityUtil.getUserId());
|
||||
cnd.desc("createTime");
|
||||
cnd.groupBy("info.id");
|
||||
sql.setCondition(cnd);
|
||||
return listPageVO(pageForm, sql, ClubRegisterPageVo.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Pagination<ClubRegisterPageVo> schoolLeaderAuditPageData(ClubUserPageForm pageForm) {
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.and("nd.nodeCode", "=", 20);
|
||||
Sql sql = generateSql(pageForm, cnd);
|
||||
return listPageVO(pageForm, sql, ClubRegisterPageVo.class);
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.and("t.taskName", "=", "1e239d94-a6ec-4561-8cff-0645b0b82a96");
|
||||
cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId()));
|
||||
Sql sql = generateSql(pageForm, cnd);
|
||||
return listPageVO(pageForm, sql, ClubRegisterPageVo.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Pagination<ClubRegisterPageVo> officeAuditPageData(ClubUserPageForm pageForm) {
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.and("t.taskName", "=", "b4adf2d7-fb95-4444-b212-6d2a08e9cffd");
|
||||
cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId()));
|
||||
Sql sql = generateSql(pageForm, cnd);
|
||||
return listPageVO(pageForm, sql, ClubRegisterPageVo.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Pagination<ClubRegisterPageVo> schoolReplyPageData(ClubUserPageForm pageForm) {
|
||||
Cnd cnd = Cnd.NEW();
|
||||
@@ -268,10 +281,11 @@ public class SysClubServiceImpl extends BaseServiceImpl<SysClub> implements SysC
|
||||
|
||||
@Override
|
||||
public Pagination<ClubRegisterPageVo> clubConfirmPageData(ClubUserPageForm pageForm) {
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.and("nd.nodeCode", "=", 80);
|
||||
Sql sql = generateSql(pageForm, cnd);
|
||||
return listPageVO(pageForm, sql, ClubRegisterPageVo.class);
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.and("t.taskName", "=", "b57dc4e4-12cd-4f3c-b400-b34ebcf2f2d4");
|
||||
cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId()));
|
||||
Sql sql = generateSql(pageForm, cnd);
|
||||
return listPageVO(pageForm, sql, ClubRegisterPageVo.class);
|
||||
}
|
||||
|
||||
private Sql generateSql(ClubUserPageForm pageForm, Cnd cnd) {
|
||||
|
||||
Reference in New Issue
Block a user