From cd1ec558b1ea56199ed9edda2d3c28a3442b94e5 Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Wed, 18 Mar 2026 16:41:26 +0800 Subject: [PATCH] =?UTF-8?q?2026-03-18=20=E8=AF=A2=E4=BB=B7=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=E3=80=81=E9=94=80=E5=94=AE=E6=8A=A5=E4=BB=B7=E3=80=81?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=94=B3=E8=AF=B7=E3=80=81=E6=89=93=E6=A0=B7?= =?UTF-8?q?=E7=94=B3=E8=AF=B7=E3=80=81=E5=88=80=E5=85=B7=E7=94=B3=E8=AF=B7?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E3=80=81=E5=B7=A5=E7=A8=8B=E5=8F=98=E6=9B=B4?= =?UTF-8?q?=E7=94=B3=E8=AF=B7=E3=80=81=E6=8A=80=E6=9C=AF=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E5=8D=A1=E5=A2=9E=E5=8A=A0=E3=80=90=E6=B5=81=E7=A8=8B=E5=85=B3?= =?UTF-8?q?=E9=97=AD=E3=80=91=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ChangeManagementController.java | 14 +++ .../change/entity/ProcessFormEntity.java | 5 ++ .../change/mapper/ChangeManagementMapper.java | 12 +++ .../service/ChangeManagementService.java | 2 + .../impl/ChangeManagementServiceImpl.java | 86 +++++++++++++++++++ .../modules/change/vo/CloseProcessVo.java | 25 ++++++ .../modules/change/vo/ProcessFormCloseVo.java | 19 ++++ .../mapper/change/ChangeManagementMapper.xml | 33 +++++++ 8 files changed, 196 insertions(+) create mode 100644 src/main/java/com/spring/modules/change/vo/CloseProcessVo.java create mode 100644 src/main/java/com/spring/modules/change/vo/ProcessFormCloseVo.java diff --git a/src/main/java/com/spring/modules/change/controller/ChangeManagementController.java b/src/main/java/com/spring/modules/change/controller/ChangeManagementController.java index a064a397..5638bb90 100644 --- a/src/main/java/com/spring/modules/change/controller/ChangeManagementController.java +++ b/src/main/java/com/spring/modules/change/controller/ChangeManagementController.java @@ -391,6 +391,20 @@ public class ChangeManagementController { return R.ok(); } + /** + * 流程关闭 + * @param data + * @return + */ + @PostMapping(value="/closeProcess") + @ResponseBody + public R closeProcess(@RequestBody CloseProcessVo data) { + SysUserEntity user = (SysUserEntity) SecurityUtils.getSubject().getPrincipal(); + data.setUserName(user.getUsername()); + changeManagementService.closeProcess(data); + return R.ok(); + } + /** * 获取节点权限 * @param data diff --git a/src/main/java/com/spring/modules/change/entity/ProcessFormEntity.java b/src/main/java/com/spring/modules/change/entity/ProcessFormEntity.java index cd426b7c..5b968655 100644 --- a/src/main/java/com/spring/modules/change/entity/ProcessFormEntity.java +++ b/src/main/java/com/spring/modules/change/entity/ProcessFormEntity.java @@ -130,4 +130,9 @@ public class ProcessFormEntity extends QueryPage implements Serializable { * 流程干预标识 */ private String processInterventionFlag; + + /** + * 流程关闭标识 + */ + private String closeFlag; } diff --git a/src/main/java/com/spring/modules/change/mapper/ChangeManagementMapper.java b/src/main/java/com/spring/modules/change/mapper/ChangeManagementMapper.java index 0c223aeb..3dd6d9fc 100644 --- a/src/main/java/com/spring/modules/change/mapper/ChangeManagementMapper.java +++ b/src/main/java/com/spring/modules/change/mapper/ChangeManagementMapper.java @@ -222,4 +222,16 @@ public interface ChangeManagementMapper extends BaseMapper{ void updateChangeCountersignatureItemForReject(@Param("site") String site, @Param("changeNo") String docNo); void udpateChangeRequestManuFacturingCost(ChangeRequestVo data); + + List getProcessFormInfoForClose(@Param("site") String site, @Param("docNo") String docNo); + + void updateProcessFormCloseFlag(@Param("site") String site, @Param("docNo") String docNo, @Param("userName") String userName); + + void updateDocumentStatusToDraft(@Param("tableName") String tableName, @Param("keyField") String keyField, + @Param("statusField") String statusField, @Param("draftStatus") String draftStatus, + @Param("site") String site, @Param("docNo") String docNo, @Param("userName") String userName); + + Integer countDocumentByStatus(@Param("tableName") String tableName, @Param("keyField") String keyField, + @Param("statusField") String statusField, @Param("approvedStatus") String approvedStatus, + @Param("site") String site, @Param("docNo") String docNo); } diff --git a/src/main/java/com/spring/modules/change/service/ChangeManagementService.java b/src/main/java/com/spring/modules/change/service/ChangeManagementService.java index ce7ea2b4..79305bdf 100644 --- a/src/main/java/com/spring/modules/change/service/ChangeManagementService.java +++ b/src/main/java/com/spring/modules/change/service/ChangeManagementService.java @@ -70,6 +70,8 @@ public interface ChangeManagementService { void submitChange(ChangeRequestVo data); + void closeProcess(CloseProcessVo data); + Map> getNodeAuthority(ChangeRequestVo data); String getNodeAuthorityRQ(ChangeRequestVo data); diff --git a/src/main/java/com/spring/modules/change/service/impl/ChangeManagementServiceImpl.java b/src/main/java/com/spring/modules/change/service/impl/ChangeManagementServiceImpl.java index 23be9071..e188744f 100644 --- a/src/main/java/com/spring/modules/change/service/impl/ChangeManagementServiceImpl.java +++ b/src/main/java/com/spring/modules/change/service/impl/ChangeManagementServiceImpl.java @@ -2441,4 +2441,90 @@ public class ChangeManagementServiceImpl extends ServiceImpl processFormList = changeManagementMapper.getProcessFormInfoForClose(vo.getSite(), docNo); + + // 调用OA删除统一待办 + for (ProcessFormCloseVo pf : processFormList) { + DeleteUserRequestInfoParam deleteParam = new DeleteUserRequestInfoParam(); + deleteParam.setRequestId(pf.getWorkflowId() + pf.getRequestId()); + deleteParam.setSyscode("PLM"); + deleteParam.setUserId(pf.getUserId()); + String deleteUrl = apiUrlOa + "/oa/interface/deleteUserRequestInfo"; + HttpClientUtil.doPostByRawWithOA(deleteUrl, deleteParam); + } + + // 更新plm_process_form的close_flag为Y + changeManagementMapper.updateProcessFormCloseFlag(vo.getSite(), docNo, vo.getUserName()); + + // 更新单据状态为草稿 + changeManagementMapper.updateDocumentStatusToDraft(tableName, keyField, statusField, draftStatus, vo.getSite(), docNo, vo.getUserName()); + } + } } diff --git a/src/main/java/com/spring/modules/change/vo/CloseProcessVo.java b/src/main/java/com/spring/modules/change/vo/CloseProcessVo.java new file mode 100644 index 00000000..32a7d379 --- /dev/null +++ b/src/main/java/com/spring/modules/change/vo/CloseProcessVo.java @@ -0,0 +1,25 @@ +package com.spring.modules.change.vo; + +import lombok.Data; + +import java.util.List; + +@Data +public class CloseProcessVo { + /** + * site + */ + private String site; + /** + * 单据号列表 + */ + private List documentNos; + /** + * 单据类型(QUOTATION/QUOTE/TEST/PROOFING/TOOL/ECN/BM) + */ + private String documentType; + /** + * 操作人 + */ + private String userName; +} diff --git a/src/main/java/com/spring/modules/change/vo/ProcessFormCloseVo.java b/src/main/java/com/spring/modules/change/vo/ProcessFormCloseVo.java new file mode 100644 index 00000000..ac3b2d17 --- /dev/null +++ b/src/main/java/com/spring/modules/change/vo/ProcessFormCloseVo.java @@ -0,0 +1,19 @@ +package com.spring.modules.change.vo; + +import lombok.Data; + +@Data +public class ProcessFormCloseVo { + /** + * OA流程ID + */ + private String workflowId; + /** + * OA申请ID + */ + private String requestId; + /** + * OA用户ID + */ + private String userId; +} diff --git a/src/main/resources/mapper/change/ChangeManagementMapper.xml b/src/main/resources/mapper/change/ChangeManagementMapper.xml index 91f04308..7d6631b8 100644 --- a/src/main/resources/mapper/change/ChangeManagementMapper.xml +++ b/src/main/resources/mapper/change/ChangeManagementMapper.xml @@ -1693,4 +1693,37 @@ manu_facturing_cost_remark2 = #{manuFacturingCostRemark2} where site = #{site} and change_no = #{changeNo} + + + + + UPDATE plm_process_form + SET close_flag = 'Y', + update_date = getDate(), + update_by = #{userName} + WHERE site = #{site} AND document_no = #{docNo} AND is_remark = 0 + + + + UPDATE ${tableName} + SET ${statusField} = #{draftStatus}, + step_id = 10, + update_date = getDate(), + update_by = #{userName} + WHERE site = #{site} AND ${keyField} = #{docNo} + + +