This commit is contained in:
那些花儿
2025-10-17 08:54:14 +08:00
parent fbcee4d894
commit 901db5224f
11 changed files with 272 additions and 93 deletions
@@ -14,6 +14,7 @@ import io.swagger.annotations.Api;
import org.nutz.dao.Cnd;
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.lang.util.NutMap;
@@ -81,9 +82,11 @@ public class FundMemberBranchUnionApprovalController {
cnd.and("t.taskState", "=", ProcessTaskStateEnum.DOING.getCode());
}
if (StrUtil.isNotBlank(searchKeyword)) {
cnd.where().andLike("info.title", searchKeyword);
if (StrUtil.isNotBlank(pageForm.getSearchKeyword())) {
SqlExpressionGroup seg = new SqlExpressionGroup();
seg.orLike("info.loginName", pageForm.getSearchKeyword());
seg.orLike("info.userName", pageForm.getSearchKeyword());
cnd.and(seg);
}
cnd.groupBy("t.id");
@@ -74,6 +74,7 @@ public class FundMemberMineController {
$condition
""");
Cnd cnd = Cnd.NEW();
cnd.andEX("YEAR(info.submitTime)", "=", year);
cnd.and("info.createdBy", "=", SecurityUtil.getUserId());
sql.setCondition(cnd);
Pagination<NutMap> pagination = fundMemberService.listPageMap(pageNumber, pageSize, sql);
@@ -74,7 +74,7 @@ public class FundMemberQueryController {
u.userState,
u.unitName,
u.unionName,
(SELECT changeTime FROM fund_member_change_record WHERE loginName = u.loginName AND isJoin = 1 ORDER BY changeTime DESC) joinTime
(SELECT changeTime FROM fund_member_change_record WHERE loginName = u.loginName AND isJoin = 1 ORDER BY changeTime DESC limit 1) joinTime
FROM
vw_user u
$condition
@@ -14,6 +14,7 @@ import io.swagger.annotations.Api;
import org.nutz.dao.Cnd;
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.lang.util.NutMap;
@@ -40,7 +41,7 @@ public class FundMemberSchoolUnionApprovalController {
@At
@SaCheckPermission("fundMember.schoolUnionApproval")
public Result pageData(PageForm pageForm, String taskId, String searchKeyword, Integer year, boolean approval) {
public Result pageData(PageForm pageForm, String unionId, Integer year, boolean approval) {
Sql sql = Sqls.create("""
SELECT
info.*,
@@ -71,7 +72,7 @@ public class FundMemberSchoolUnionApprovalController {
""");
Cnd cnd = Cnd.NEW();
cnd.and("t.taskName", "=", "xgh");
if(!AuthUtil.hasRole(RoleConstant.SYSADMIN.name())){
if (!AuthUtil.hasRole(RoleConstant.SYSADMIN.name())) {
cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId()));
}
@@ -81,10 +82,14 @@ public class FundMemberSchoolUnionApprovalController {
cnd.and("t.taskState", "=", ProcessTaskStateEnum.DOING.getCode());
}
if (StrUtil.isNotBlank(searchKeyword)) {
cnd.where().andLike("info.title", searchKeyword);
cnd.andEX("YEAR(info.submitTime)", "=", year);
if (StrUtil.isNotBlank(pageForm.getSearchKeyword())) {
SqlExpressionGroup seg = new SqlExpressionGroup();
seg.orLike("info.loginName", pageForm.getSearchKeyword());
seg.orLike("info.userName", pageForm.getSearchKeyword());
cnd.and(seg);
}
cnd.andEX("info.unionId", "=", unionId);
cnd.groupBy("t.id");
cnd.desc("t.createdAt");
@@ -69,6 +69,7 @@ public class FundMemberWriteController {
Dict args = Dict.create();
args.set(FlowConst.SUBMIT_TYPE, ProcessSubmitTypeEnum.APPLY.getCode());
args.set(FlowConst.FORM_DATA, fundMember);
args.set(FlowConst.TASK_FORM_DATA_PREFIX + "userState", fundMember.getUserState());
ProcessInstance instance = flowEngine.startProcessInstanceByKey("FUND_MEMBER", fundMember.getId(), SecurityUtil.getUserId(), args);
// 自动完成第一个申请任务
@@ -1,6 +1,7 @@
package com.budwk.app.zhgh.democratic.proposal.controller.query;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.StrUtil;
import com.budwk.app.base.page.Pagination;
import com.budwk.app.base.result.Result;
@@ -23,6 +24,7 @@ import org.nutz.mvc.annotation.Param;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.util.Arrays;
@IocBean
@At("/platform/proposal/query/comprehensive")
@@ -71,9 +73,47 @@ public class ProposalQueryComprehensiveController {
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 proposal_reply_unit pru ON pru.proposalId = info.id
LEFT JOIN wf_process_task replyTask on replyTask.processInstanceId = ins.id AND replyTask.taskState = 20 AND replyTask.taskName in ('master_reply','slave_reply','opinion_master_reply')
$condition
""");
Cnd cnd = Cnd.NEW();
if(ArrayUtil.isNotEmpty(pageForm.getOrigins())){
SqlExpressionGroup seg = new SqlExpressionGroup();
// 案名
if(ArrayUtil.contains(pageForm.getOrigins(),"name")){
for (String keyword : pageForm.getCommonKeyword().split(" ")) {
seg.orLike("info.name", keyword);
}
}
// 案由
if(ArrayUtil.contains(pageForm.getOrigins(),"brief")){
for (String keyword : pageForm.getCommonKeyword().split(" ")) {
seg.orLike("info.brief", keyword);
}
}
// 提案人
if(ArrayUtil.contains(pageForm.getOrigins(),"createUserName")){
for (String keyword : pageForm.getCommonKeyword().split(" ")) {
seg.orLike("info.createUserName", keyword);
seg.orLike("info.createUserLoginName", keyword);
}
}
// 答复内容
if(ArrayUtil.contains(pageForm.getOrigins(),"answer")){
for (String keyword : pageForm.getCommonKeyword().split(" ")) {
seg.orLike("JSON_EXTRACT(replyTask.variable,'$.tf_opinion')", keyword);
}
}
if(!seg.isEmpty()){
cnd.and(seg);
}
}
if(StrUtil.isNotBlank(pageForm.getUndertakeUnitId())){
}
@@ -20,6 +20,8 @@ public class ProposalQueryComprehensiveParam extends PageForm {
private String code;
@ApiModelProperty(name = "教代会ID")
private String sessionId;
@ApiModelProperty(name = "教代会ID")
private String[] sessionIds;
@ApiModelProperty(name = "代表团ID")
private String delegationId;
@ApiModelProperty(name = "提案人姓名")
@@ -50,10 +52,14 @@ public class ProposalQueryComprehensiveParam extends PageForm {
@ApiModelProperty(name = "征集进度状态")
private Integer[] collectIds;
@ApiModelProperty(name = "提案来源")
private String[] origins;
@ApiModelProperty(name = "通用关键字")
private String commonKeyword;
/**
* 构建通用查询参数
*