From a28cf159c029b42ff945f430fba6175f6281e471 Mon Sep 17 00:00:00 2001 From: zjh <15615273395@163.com> Date: Tue, 23 Dec 2025 16:38:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9:=E6=B5=81=E7=A8=8B=E8=A1=A8?= =?UTF-8?q?=E5=A4=B4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/UserPermissionGetter.java | 1 + .../controller/form/StartApprovalRequest.java | 2 + .../pojo/ApprovalParameterChangeDetails.java | 18 ----- .../self_development/pojo/ApprovalPerson.java | 24 ------- .../impl/TemplateApprovalServiceImpl.java | 67 ++++++++++--------- src/main/resources/application.properties | 4 +- 6 files changed, 39 insertions(+), 77 deletions(-) delete mode 100644 src/main/java/com/xdap/self_development/pojo/ApprovalParameterChangeDetails.java delete mode 100644 src/main/java/com/xdap/self_development/pojo/ApprovalPerson.java diff --git a/src/main/java/com/xdap/self_development/common/UserPermissionGetter.java b/src/main/java/com/xdap/self_development/common/UserPermissionGetter.java index 844fad6..721ace9 100644 --- a/src/main/java/com/xdap/self_development/common/UserPermissionGetter.java +++ b/src/main/java/com/xdap/self_development/common/UserPermissionGetter.java @@ -79,6 +79,7 @@ public class UserPermissionGetter { } } catch (Exception e) { log.error(e.getMessage()); + return new ArrayList<>(); } return new ArrayList<>(result); } diff --git a/src/main/java/com/xdap/self_development/controller/form/StartApprovalRequest.java b/src/main/java/com/xdap/self_development/controller/form/StartApprovalRequest.java index f33ec4a..4bae01e 100644 --- a/src/main/java/com/xdap/self_development/controller/form/StartApprovalRequest.java +++ b/src/main/java/com/xdap/self_development/controller/form/StartApprovalRequest.java @@ -11,6 +11,8 @@ public class StartApprovalRequest { @NotBlank(message = "用户不能为空") private String userId; + @NotBlank(message = "流程标题不能为空") + private String processTitle; @NotBlank(message = "请选择审核内容") private String templateRowId; @NotEmpty(message = "校对人员不能为空") diff --git a/src/main/java/com/xdap/self_development/pojo/ApprovalParameterChangeDetails.java b/src/main/java/com/xdap/self_development/pojo/ApprovalParameterChangeDetails.java deleted file mode 100644 index 19236e1..0000000 --- a/src/main/java/com/xdap/self_development/pojo/ApprovalParameterChangeDetails.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.xdap.self_development.pojo; - -import com.definesys.mpaas.query.annotation.RowID; -import com.definesys.mpaas.query.annotation.RowIDType; -import com.definesys.mpaas.query.annotation.Table; -import com.definesys.mpaas.query.model.MpaasBasePojo; -import lombok.Data; -import lombok.EqualsAndHashCode; - -@EqualsAndHashCode(callSuper = true) -@Data -@Table("approval_parameter_change_details") -public class ApprovalParameterChangeDetails extends MpaasBasePojo { - @RowID(sequence = "pp_s", type = RowIDType.UUID) - private String id; - private String documentId; - private String parameterName; -} diff --git a/src/main/java/com/xdap/self_development/pojo/ApprovalPerson.java b/src/main/java/com/xdap/self_development/pojo/ApprovalPerson.java deleted file mode 100644 index d2ee0e0..0000000 --- a/src/main/java/com/xdap/self_development/pojo/ApprovalPerson.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.xdap.self_development.pojo; - -import com.definesys.mpaas.query.annotation.RowID; -import com.definesys.mpaas.query.annotation.RowIDType; -import com.definesys.mpaas.query.annotation.Table; -import com.definesys.mpaas.query.model.MpaasBasePojo; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.util.List; - -@EqualsAndHashCode(callSuper = true) -@Data -@Table("approval_persons") -public class ApprovalPerson extends MpaasBasePojo { - @RowID(sequence = "ap_s", type = RowIDType.UUID) - private String id; - private List jd; - private List sh; - private List hq; - private List pz; - private String documentId; - ApprovalParameterChangeDetails details = new ApprovalParameterChangeDetails(); -} diff --git a/src/main/java/com/xdap/self_development/service/impl/TemplateApprovalServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/TemplateApprovalServiceImpl.java index d0e2103..4a88359 100644 --- a/src/main/java/com/xdap/self_development/service/impl/TemplateApprovalServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/TemplateApprovalServiceImpl.java @@ -103,16 +103,17 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { todoTask.setCreatedById(request.getUserId()); todoTask.setCreatedBy(xdapDeptUsersService.selectUserByID(request.getUserId()).getUsername()); todoTask.setCurrentNode(getNodeName(flow.getCurrentNode())); - todoTask.setDataType("-"); + todoTask.setDataType("模板审核"); todoTask.setDocumentNo(flow.getId()); todoTask.setCreationDate(Timestamp.valueOf(LocalDateTime.now())); todoTask.setIsDelete(0); todoTask.setModelId(template.getId()); todoTask.setModelName(template.getTemplateName()); - todoTask.setProcessTitle("模板审核"); + todoTask.setProcessTitle(request.getProcessTitle()); todoTask.setStatusCode(flow.getFlowStatus()); todoTask.setVersionNumber(template.getVersion()); todoTask.setOwnerId(person); + todoTask.setCurrentProcessor(JSON.toJSONString(getNodeUsers(flow, flow.getCurrentNode()))); list.add(todoTask); } bd.getBusinessDatabase().doBatchInsert(list); @@ -129,9 +130,6 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { @Override @Transactional public PageQueryResult getApprovalList(ApprovalListForm form) { -// List approvalList = new ArrayList<>(); -// Set flowIds = new HashSet<>(Objects.requireNonNull(redisTemplate.opsForSet().members(TODO_PREFIX + form.getUserId()))); -// List ids = new ArrayList<>(flowIds); PageQueryResult result = bd.getBusinessDatabase() .viewQueryMode(true) .view("getAllApproval") @@ -140,16 +138,6 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { .setVar("createdTime", form.getCreateDate() == null ? "" : form.getCreateDate()) .setVar("username", form.getUsername()) .doPageQuery(form.getPageNumber(), form.getPageSize(), TodoAndTemplateView.class); -// List todoList =bd.getBusinessDatabase() -// .viewQueryMode(true) -// .view("getTodoAndTemplate") -// .setVar("ids", ids) -// .setVar("createBy", form.getUserId()) -// .setVar("templateName", form.getTemplateName()) -// .setVar("status", form.getStatus()) -// .setVar("createdTime", form.getCreateDate() == null ? "" : form.getCreateDate()) -// .setVar("username",form.getUsername()) -// .doQuery(TodoAndTemplateView.class); setCurrentApprovers(result); return result; } @@ -230,7 +218,7 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { record.setApprovalTime(Timestamp.valueOf(LocalDateTime.now())); bd.getBusinessDatabase().doInsert(record); - // 删除当前节点的已处理待办 + // 完成当前节点的已处理待办 if (!"COUNTERSIGN".equals(flow.getCurrentNode())) { bd.getBusinessDatabase() .eq("document_no", flow.getId()) @@ -575,7 +563,7 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { .update("return_num", template.getReturnNum() + 1) .doUpdate(Template.class); // 清除所有待办 - clearAllTodo(flow, userId); + clearAllTodo(flow); } private boolean hasPermission(ApprovalFlow flow, String node, String userId) { @@ -595,29 +583,42 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { private void addNodeTodo(ApprovalFlow flow, String node, Template template, String createBy) { List users = getNodeUsers(flow, node); + String processTitle = bd.getBusinessDatabase() + .eq("document_no", flow.getId()) + .doQueryFirst(TodoTaskPojo.class).getProcessTitle(); // 新增待办 List list = new ArrayList<>(); for (String person : users) { - TodoTaskPojo todoTask = new TodoTaskPojo(); - todoTask.setCreatedById(createBy); - todoTask.setCreatedBy(xdapDeptUsersService.selectUserByID(createBy).getUsername()); - todoTask.setCurrentNode(getNodeName(flow.getCurrentNode())); - todoTask.setDataType("-"); - todoTask.setDocumentNo(flow.getId()); - todoTask.setCreationDate(Timestamp.valueOf(LocalDateTime.now())); - todoTask.setIsDelete(0); - todoTask.setModelId(template.getId()); - todoTask.setModelName(template.getTemplateName()); - todoTask.setProcessTitle("模板审核"); - todoTask.setStatusCode(flow.getFlowStatus()); - todoTask.setVersionNumber(template.getVersion()); - todoTask.setOwnerId(person); - list.add(todoTask); + TodoTaskPojo todoTaskPojo = bd.getBusinessDatabase() + .eq("document_no", flow.getId()) + .eq("owner_id", person).doQueryFirst(TodoTaskPojo.class); + if (todoTaskPojo != null) { + todoTaskPojo.setCurrentNode(getNodeName(node)); + todoTaskPojo.setCurrentProcessor(JSON.toJSONString(getNodeUsers(flow, node))); + bd.getBusinessDatabase().doUpdate(todoTaskPojo); + } else { + TodoTaskPojo todoTask = new TodoTaskPojo(); + todoTask.setCreatedById(createBy); + todoTask.setCreatedBy(xdapDeptUsersService.selectUserByID(createBy).getUsername()); + todoTask.setCurrentNode(getNodeName(node)); + todoTask.setDataType("模板审核"); + todoTask.setDocumentNo(flow.getId()); + todoTask.setCreationDate(Timestamp.valueOf(LocalDateTime.now())); + todoTask.setIsDelete(0); + todoTask.setModelId(template.getId()); + todoTask.setModelName(template.getTemplateName()); + todoTask.setProcessTitle(processTitle); + todoTask.setStatusCode(flow.getFlowStatus()); + todoTask.setVersionNumber(template.getVersion()); + todoTask.setOwnerId(person); + todoTask.setCurrentProcessor(JSON.toJSONString(getNodeUsers(flow, flow.getCurrentNode()))); + list.add(todoTask); + } } bd.getBusinessDatabase().doBatchInsert(list); } - private void clearAllTodo(ApprovalFlow flow, String userId) { + private void clearAllTodo(ApprovalFlow flow) { // 清除已有待办 bd.getBusinessDatabase() .eq("document_no", flow.getId()) diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 1caca57..cefa10f 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -65,8 +65,8 @@ mpaas.datasource[0].username=root mpaas.datasource[0].password=qwer12 mpaas.datasource[0].minPoolSize=50 mpaas.datasource[0].maxPoolSize=1000 - -mpaas.datasource[1].url=jdbc:mysql://127.0.0.1:3306/test_demo?serverTimezone=GMT%2B8&characterEncoding=utf-8 +mpaas.datasource[1].name=yc_lrs_test_relsult +mpaas.datasource[1].url=jdbc:mysql://127.0.0.1:3306/yc_lrs_test_relsult?serverTimezone=GMT%2B8&characterEncoding=utf-8 mpaas.datasource[1].username=root mpaas.datasource[1].password=qwer12 mpaas.datasource[1].type=mysql