This commit is contained in:
Paidax
2025-09-02 08:46:56 +08:00
parent 1c805dcd51
commit 1531aea1d6
163 changed files with 16426 additions and 6025 deletions
@@ -1,18 +1,26 @@
package com.budwk.app.zhgh.staffbenefit.difficulthelp.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.lang.Dict;
import cn.hutool.core.util.ObjectUtil;
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.page.Pagination;
import com.budwk.app.base.result.Result;
import com.budwk.app.base.utils.PageUtil;
import com.budwk.app.flow.constant.FlowConst;
import com.budwk.app.flow.engine.FlowEngine;
import com.budwk.app.flow.entity.ProcessInstance;
import com.budwk.app.flow.entity.ProcessTask;
import com.budwk.app.flow.enums.ProcessSubmitTypeEnum;
import com.budwk.app.flow.service.FlowCommonService;
import com.budwk.app.web.commons.auth.utils.AuthUtil;
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
import com.budwk.app.zhgh.staffbenefit.difficulthelp.models.DifficultHelpInfo;
import com.budwk.app.zhgh.staffbenefit.difficulthelp.service.DifficultHelpCommonService;
import com.budwk.app.zhgh.staffbenefit.difficulthelp.vo.DifficultHelpPageParam;
import com.budwk.app.zhgh.staffmanage.member.models.MemberChangeRecord;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import org.nutz.aop.interceptor.ioc.TransAop;
@@ -28,8 +36,11 @@ import org.nutz.lang.Strings;
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.Date;
import java.util.List;
/**
* @version 1.0
@@ -49,6 +60,8 @@ public class DifficultHelpApplyController {
@Inject
private FlowEngine flowEngine;
@Inject
private FlowCommonService flowCommonService;
@Inject
private DifficultHelpCommonService difficultHelpCommonService;
@At("")
@@ -65,55 +78,58 @@ public class DifficultHelpApplyController {
@At
@ApiOperation("困难补助申请,我的申请列表")
@SaCheckPermission("difficultHelp.apply")
public Result pageData(DifficultHelpPageParam pageParam) {
Sql sql = Sqls.create("""
SELECT
info.id,
info.proxyUserName,
info.proxyLoginName,
info.userName,
info.loginName,
info.unitName,
info.unionName,
info.subsidyStandards,
info.applyTime,
ins.id AS instanceId,
ins.businessNo,
ins.state instanceState,
ins.variable instanceVariale,
t.id taskId,
t.taskName AS taskKey,
t.displayName taskName,
t.taskType,
t.performType taskPerformType,
t.taskState,
t.finishTime,
t.taskParentId,
t.variable taskVariable,
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
difficult_help_info info
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
$condition
""");
Cnd cnd = Cnd.NEW();
pageParam.buildSearch(cnd, "info.");
if (StrUtil.isAllBlank(pageParam.getPageOrderName(), pageParam.getPageOrderBy())) {
cnd.desc("info.applyTime");
} else {
cnd.orderBy("info." + pageParam.getPageOrderName(), PageUtil.getOrder(pageParam.getPageOrderBy()));
}
sql.setCondition(cnd);
Pagination<NutMap> pagination = difficultHelpCommonService.listPageMap(pageParam.getPageNumber(), pageParam.getPageSize(), sql);
return Result.success().addData(pagination);
@ApiOperation("保存申请")
@SaCheckPermission("member.apply.submit")
@SLog(tag = "困难补助申请", msg = "保存申请,填写人: ${args[0].proxyUserName}")
public Result save(@Param("data") DifficultHelpInfo difficultHelpInfo) {
difficultHelpInfo.setApplyTime(ObjectUtil.defaultIfNull(difficultHelpInfo.getApplyTime(), new Date()));
dao.insertOrUpdate(difficultHelpInfo);
return Result.success();
}
@At
@ApiOperation("提交申请")
@Aop(TransAop.READ_COMMITTED)
@SaCheckPermission("member.apply.submit")
@SLog(tag = "困难补助申请", msg = "提交申请,填写人: ${args[0].proxyUserName}")
public Result submit(@Param("data") DifficultHelpInfo difficultHelpInfo){
difficultHelpInfo.setApplyTime(new Date());
dao.insertOrUpdate(difficultHelpInfo);
// 开启流程实例
Dict args = Dict.create();
args.set(FlowConst.SUBMIT_TYPE, ProcessSubmitTypeEnum.APPLY.getCode());
args.set(FlowConst.FORM_DATA, difficultHelpInfo);
ProcessInstance instance = flowEngine.startProcessInstanceByKey("KNBF", difficultHelpInfo.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();
}
@At
@ApiOperation("重新提交申请")
@Aop(TransAop.READ_COMMITTED)
@SaCheckPermission("member.apply.submit")
@SLog(tag = "困难补助申请", msg = "重新提交申请,填写人: ${args[0].proxyUserName}")
public Result submitAgain(@Param("data") DifficultHelpInfo difficultHelpInfo, @Param("taskId") Long taskId) {
difficultHelpInfo.setApplyTime(ObjectUtil.defaultIfNull(difficultHelpInfo.getApplyTime(), new Date()));
dao.insertOrUpdate(difficultHelpInfo);
Dict dict = Dict.create();
dict.set(FlowConst.PROCESS_TASK_ID_KEY, taskId);
dict.set(FlowConst.SUBMIT_TYPE, ProcessSubmitTypeEnum.RE_APPLY.getCode());
flowCommonService.executeTask(dict);
return Result.success();
}
@At
@ApiOperation("获取受助人")
@SaCheckPermission("difficultHelp.apply")
@@ -155,16 +171,4 @@ public class DifficultHelpApplyController {
return Result.success().addData(pagination.getList());
}
@At
@Aop(TransAop.READ_COMMITTED)
@ApiOperation("困难帮扶删除申请")
@SLog(tag = "困难帮扶申请", msg = "删除困难帮扶申请")
public Result onDelete(@Valid String id){
dao.clear(DifficultHelpInfo.class, Cnd.where("id", "=", id));
// 流程相关操作
flowEngine.processInstanceService().deleteProcessInstanceByBusinessKey(id);
return Result.success();
}
}
@@ -71,7 +71,8 @@ public class DifficultHelpBranchUnionApprovalController {
ins.id AS instanceId,
ins.businessNo,
ins.state instanceState,
ins.variable instanceVariale,
ins.variable instanceVariable,
ins.processDefineId instanceProcessDefineId,
t.id taskId,
t.taskName AS taskKey,
t.displayName taskName,
@@ -0,0 +1,127 @@
package com.budwk.app.zhgh.staffbenefit.difficulthelp.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.util.StrUtil;
import com.budwk.app.base.annotation.SLog;
import com.budwk.app.base.page.Pagination;
import com.budwk.app.base.result.Result;
import com.budwk.app.base.utils.PageUtil;
import com.budwk.app.flow.engine.FlowEngine;
import com.budwk.app.zhgh.staffbenefit.difficulthelp.models.DifficultHelpInfo;
import com.budwk.app.zhgh.staffbenefit.difficulthelp.service.DifficultHelpCommonService;
import com.budwk.app.zhgh.staffbenefit.difficulthelp.vo.DifficultHelpPageParam;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import org.nutz.aop.interceptor.ioc.TransAop;
import org.nutz.dao.Cnd;
import org.nutz.dao.Dao;
import org.nutz.dao.Sqls;
import org.nutz.dao.sql.Sql;
import org.nutz.ioc.aop.Aop;
import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.lang.util.NutMap;
import org.nutz.mvc.annotation.At;
import org.nutz.mvc.annotation.Ok;
import javax.validation.Valid;
/**
* @version 1.0
* @Author zzr
* @nameDifficultHelpViewController
* @Date 2025/7/31 11:50
* @注释
*/
@IocBean
@Ok("json")
@ApiOperation("困难补助查看")
@At("/platform/difficultHelp/mine")
public class DifficultHelpMineController {
@Inject
private Dao dao;
@Inject
private FlowEngine flowEngine;
@Inject
private DifficultHelpCommonService difficultHelpCommonService;
@At("")
@SaCheckPermission("difficultHelp.mine")
@Ok("beetl:/platform/zhgh/staffbenefit/difficulthelp/mine/index.html")
public void index() {
}
@At
@ApiOperation("困难补助申请,我的申请列表")
@SaCheckPermission("difficultHelp.mine")
public Result pageData(DifficultHelpPageParam pageParam) {
Sql sql = Sqls.create("""
SELECT
info.id,
info.proxyUserName,
info.proxyLoginName,
info.userName,
info.loginName,
info.unitName,
info.unionName,
info.subsidyStandards,
info.applyTime,
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,
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' AND taskState in (10,20)) AS startTaskId
FROM
difficult_help_info info
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
$condition
""");
Cnd cnd = Cnd.NEW();
pageParam.buildSearch(cnd, "info.");
if (StrUtil.isAllBlank(pageParam.getPageOrderName(), pageParam.getPageOrderBy())) {
cnd.desc("info.applyTime");
} else {
cnd.orderBy("info." + pageParam.getPageOrderName(), PageUtil.getOrder(pageParam.getPageOrderBy()));
}
sql.setCondition(cnd);
Pagination<NutMap> pagination = difficultHelpCommonService.listPageMap(pageParam.getPageNumber(), pageParam.getPageSize(), sql);
return Result.success().addData(pagination);
}
@At
@Aop(TransAop.READ_COMMITTED)
@ApiOperation("删除困难补助申请")
@SaCheckPermission("difficultHelp.mine")
@SLog(tag = "困难补助申请", msg = "删除困难补助申请,id: ${args[0]}")
public Result onDelete(@Valid String id){
dao.clear(DifficultHelpInfo.class, Cnd.where("id", "=", id));
// 删除流程相关操作
flowEngine.processInstanceService().deleteProcessInstanceByBusinessKey(id);
return Result.success();
}
@At
@ApiModelProperty("获取困难补助申请")
@SaCheckPermission("difficultHelp.mine")
public Result findOne(String id) {
DifficultHelpInfo helpInfo = dao.fetch(DifficultHelpInfo.class, id);
return Result.success().addData(helpInfo);
}
}
@@ -1,20 +1,25 @@
package com.budwk.app.zhgh.staffbenefit.difficulthelp.controller;
import cn.dev33.satoken.annotation.SaCheckLogin;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.budwk.app.base.page.Pagination;
import com.budwk.app.base.result.Result;
import com.budwk.app.flow.engine.FlowEngine;
import com.budwk.app.zhgh.staffbenefit.difficulthelp.service.DifficultHelpCommonService;
import com.budwk.app.zhgh.staffbenefit.difficulthelp.vo.DifficultHelpPageParam;
import io.swagger.annotations.ApiOperation;
import org.nutz.aop.interceptor.ioc.TransAop;
import org.nutz.dao.Cnd;
import org.nutz.dao.Dao;
import org.nutz.dao.Sqls;
import org.nutz.dao.sql.Sql;
import org.nutz.ioc.aop.Aop;
import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.lang.util.NutMap;
import org.nutz.mvc.annotation.At;
import org.nutz.mvc.annotation.Ok;
import org.nutz.mvc.annotation.Param;
/**
* @version 1.0
@@ -32,6 +37,8 @@ public class DifficultHelpReadingController {
@Inject
private Dao dao;
@Inject
private FlowEngine flowEngine;
@Inject
private DifficultHelpCommonService difficultHelpCommonService;
@At("")
@@ -59,7 +66,8 @@ public class DifficultHelpReadingController {
ins.id AS instanceId,
ins.businessNo,
ins.state instanceState,
ins.variable instanceVariale,
ins.variable instanceVariable,
ins.processDefineId instanceProcessDefineId,
t.id taskId,
t.taskName AS taskKey,
t.displayName taskName,
@@ -68,19 +76,32 @@ public class DifficultHelpReadingController {
t.taskState,
t.finishTime,
t.taskParentId,
t.variable taskVariable
t.variable taskVariable,
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' AND taskState in (10,20)) AS startTaskId
FROM
difficult_help_info info
LEFT JOIN `wf_process_instance` ins ON ins.businessNo = info.id
LEFT JOIN wf_process_task t ON t.processInstanceId = ins.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
$condition
""");
Cnd cnd = Cnd.NEW();
pageParam.buildSearch(cnd, "info.");
cnd.groupBy("t.id");
sql.setCondition(cnd);
Pagination<NutMap> pagination = difficultHelpCommonService.listPageMap(pageParam.getPageNumber(), pageParam.getPageSize(), sql);
return Result.success().addData(pagination);
}
@At
@SaCheckLogin
@Aop(TransAop.READ_COMMITTED)
@ApiOperation("删除")
public Result delete(@Param("id") String id) {
difficultHelpCommonService.delete(id);
flowEngine.processInstanceService().deleteProcessInstanceByBusinessKey(id);
return Result.success();
}
}
@@ -72,6 +72,7 @@ public class DifficultHelpSchoolUnionApprovalController {
ins.businessNo,
ins.state instanceState,
ins.variable instanceVariable,
ins.processDefineId instanceProcessDefineId,
t.id taskId,
t.taskName AS taskKey,
t.displayName taskName,
@@ -1,47 +0,0 @@
package com.budwk.app.zhgh.staffbenefit.difficulthelp.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.budwk.app.base.result.Result;
import com.budwk.app.zhgh.staffbenefit.difficulthelp.models.DifficultHelpInfo;
import com.budwk.app.zhgh.staffbenefit.difficulthelp.service.DifficultHelpCommonService;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import org.nutz.dao.Dao;
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;
/**
* @version 1.0
* @Author zzr
* @nameDifficultHelpViewController
* @Date 2025/7/31 11:50
* @注释
*/
@IocBean
@Ok("json")
@ApiOperation("困难补助查看")
@At("/platform/difficultHelp/view")
public class DifficultHelpViewController {
@Inject
private Dao dao;
@Inject
private DifficultHelpCommonService difficultHelpCommonService;
@At("")
@SaCheckPermission("difficultHelp.apply")
@Ok("beetl:/platform/zhgh/staffbenefit/difficulthelp/view/index.html")
public void index() {
}
@At
@ApiModelProperty("获取困难补助申请")
@SaCheckPermission("difficultHelp.apply")
public Result findOne(String id) {
DifficultHelpInfo helpInfo = dao.fetch(DifficultHelpInfo.class, id);
return Result.success().addData(helpInfo);
}
}
@@ -28,13 +28,13 @@ public class DifficultHelpSaveInterceptor implements FlowInterceptor {
String formDataStr = execution.getArgs().getStr(FlowConst.FORM_DATA);
Dao dao = ServiceContext.find(Dao.class);
DifficultHelpInfo article = Json.fromJson(DifficultHelpInfo.class, formDataStr);
article.setApplyTime(new Date());
dao.insertOrUpdate(article);
DifficultHelpInfo difficultHelpInfo = Json.fromJson(DifficultHelpInfo.class, formDataStr);
difficultHelpInfo.setApplyTime(new Date());
dao.insertOrUpdate(difficultHelpInfo);
execution.getArgs().set(FlowConst.FORM_DATA, Json.toJson(article));
execution.getArgs().set(FlowConst.FORM_DATA, Json.toJson(difficultHelpInfo));
int instanceId = execution.getArgs().getInt(FlowConst.PROCESS_INSTANCE_ID_KEY);
dao.update(ProcessInstance.class, Chain.make("businessNo", article.getId()), Cnd.where(ProcessInstance::getId, "=", instanceId));
dao.update(ProcessInstance.class, Chain.make("businessNo", difficultHelpInfo.getId()), Cnd.where(ProcessInstance::getId, "=", instanceId));
}
}