From 7ac35c1cef039c710307dd953e2f2131de2e5de5 Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Wed, 10 Jul 2024 16:14:10 +0800 Subject: [PATCH 1/2] =?UTF-8?q?[=E4=BF=AE=E5=A4=8D]=20=E5=90=8E=E7=AB=AF-?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BF=AE=E6=94=B9=E8=A1=A8=E5=8D=95=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1197777990680576]后端-增加修改表单数据接口 http://192.168.0.96:8090/demo/rdm.html#/task-detail/939050947543040/939050947543050/1197777990680576 --- .../processtask/UpdateProcessTaskFormApi.java | 94 +++++++++++++++++++ .../service/ProcessStepHandlerUtil.java | 15 ++- 2 files changed, 104 insertions(+), 5 deletions(-) create mode 100644 src/main/java/neatlogic/module/process/api/processtask/UpdateProcessTaskFormApi.java diff --git a/src/main/java/neatlogic/module/process/api/processtask/UpdateProcessTaskFormApi.java b/src/main/java/neatlogic/module/process/api/processtask/UpdateProcessTaskFormApi.java new file mode 100644 index 000000000..58c35504c --- /dev/null +++ b/src/main/java/neatlogic/module/process/api/processtask/UpdateProcessTaskFormApi.java @@ -0,0 +1,94 @@ +/* + * Copyright (C) 2024 深圳极向量科技有限公司 All Rights Reserved. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package neatlogic.module.process.api.processtask; + +import com.alibaba.fastjson.JSONObject; +import neatlogic.framework.auth.core.AuthAction; +import neatlogic.framework.common.constvalue.ApiParamType; +import neatlogic.framework.process.auth.PROCESSTASK_MODIFY; +import neatlogic.framework.process.constvalue.ProcessTaskAuditType; +import neatlogic.framework.process.dto.ProcessTaskStepVo; +import neatlogic.framework.process.dto.ProcessTaskVo; +import neatlogic.framework.restful.annotation.Description; +import neatlogic.framework.restful.annotation.Input; +import neatlogic.framework.restful.annotation.OperationType; +import neatlogic.framework.restful.annotation.Param; +import neatlogic.framework.restful.constvalue.OperationTypeEnum; +import neatlogic.framework.restful.core.privateapi.PrivateApiComponentBase; +import neatlogic.module.process.dao.mapper.processtask.ProcessTaskMapper; +import neatlogic.module.process.service.IProcessStepHandlerUtil; +import neatlogic.module.process.service.ProcessTaskService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; + +@Service +@Transactional +@OperationType(type = OperationTypeEnum.UPDATE) +@AuthAction(action = PROCESSTASK_MODIFY.class) +public class UpdateProcessTaskFormApi extends PrivateApiComponentBase { + + @Resource + private ProcessTaskMapper processTaskMapper; + + @Resource + private ProcessTaskService processTaskService; + + @Resource + private IProcessStepHandlerUtil processStepHandlerUtil; + + @Override + public String getName() { + return "nmpap.updateprocesstaskformapi.getname"; + } + + @Input({ + @Param(name = "processTaskId", type = ApiParamType.LONG, isRequired = true, desc = "term.itsm.processtaskid"), + @Param(name = "source", type = ApiParamType.STRING, defaultValue = "pc", desc = "common.source"), + @Param(name = "formAttributeDataList", type = ApiParamType.JSONARRAY, isRequired = true, desc = "term.itsm.formattributedatalist"), + @Param(name = "formExtendAttributeDataList", type = ApiParamType.JSONARRAY, desc = "term.itsm.formextendattributedatalist"), + @Param(name = "hidecomponentList", type = ApiParamType.JSONARRAY, desc = "term.itsm.hidecomponentlist"), + @Param(name = "readcomponentList", type = ApiParamType.JSONARRAY, desc = "term.itsm.readcomponentlist"), + }) + @Description(desc = "nmpap.updateprocesstaskformapi.getname") + @Override + public Object myDoService(JSONObject paramObj) throws Exception { + Long processTaskId = paramObj.getLong("processTaskId"); + ProcessTaskVo processTaskVo = processTaskService.checkProcessTaskParamsIsLegal(processTaskId); + // 锁定当前流程 + processTaskMapper.getProcessTaskLockById(processTaskId); + ProcessTaskStepVo processTaskStepVo = new ProcessTaskStepVo(); + processTaskStepVo.setProcessTaskId(processTaskId); + processTaskStepVo.setIsAutoGenerateId(false); + JSONObject param = processTaskStepVo.getParamObj(); + param.put("formAttributeDataList", paramObj.getJSONArray("formAttributeDataList")); + param.put("formExtendAttributeDataList", paramObj.getJSONArray("formExtendAttributeDataList")); + param.put("hidecomponentList", paramObj.getJSONArray("hidecomponentList")); + param.put("readcomponentList", paramObj.getJSONArray("readcomponentList")); + param.put("source", paramObj.getString("source")); + processStepHandlerUtil.saveForm(processTaskStepVo); + processStepHandlerUtil.audit(processTaskStepVo, ProcessTaskAuditType.UPDATEFORM); + return null; + } + + @Override + public String getToken() { + return "processtask/form/update"; + } +} diff --git a/src/main/java/neatlogic/module/process/service/ProcessStepHandlerUtil.java b/src/main/java/neatlogic/module/process/service/ProcessStepHandlerUtil.java index d9dbea089..25b9574ce 100644 --- a/src/main/java/neatlogic/module/process/service/ProcessStepHandlerUtil.java +++ b/src/main/java/neatlogic/module/process/service/ProcessStepHandlerUtil.java @@ -907,7 +907,6 @@ public class ProcessStepHandlerUtil implements IProcessStepHandlerUtil, IProcess @Override public void saveForm(ProcessTaskStepVo currentProcessTaskStepVo) { Long processTaskId = currentProcessTaskStepVo.getProcessTaskId(); - Long processTaskStepId = currentProcessTaskStepVo.getId(); ProcessTaskFormVo processTaskFormVo = processTaskMapper.getProcessTaskFormByProcessTaskId(processTaskId); if (processTaskFormVo == null) { // 工单没有表单直接返回 @@ -983,11 +982,17 @@ public class ProcessStepHandlerUtil implements IProcessStepHandlerUtil, IProcess formVersionVo.setFormUuid(processTaskFormVo.getFormUuid()); formVersionVo.setFormName(processTaskFormVo.getFormName()); formVersionVo.setFormConfig(JSON.parseObject(formContent)); - if (StringUtils.isBlank(currentProcessTaskStepVo.getConfigHash())) { - ProcessTaskStepVo stepVo = processTaskMapper.getProcessTaskStepBaseInfoById(processTaskStepId); - currentProcessTaskStepVo.setConfigHash(stepVo.getConfigHash()); + Long processTaskStepId = currentProcessTaskStepVo.getId(); + if (currentProcessTaskStepVo.getId() != null) { + if (StringUtils.isBlank(currentProcessTaskStepVo.getConfigHash())) { + ProcessTaskStepVo stepVo = processTaskMapper.getProcessTaskStepBaseInfoById(processTaskStepId); + currentProcessTaskStepVo.setConfigHash(stepVo.getConfigHash()); + } + formVersionVo.setSceneUuid(currentProcessTaskStepVo.getFormSceneUuid()); + } else { + formVersionVo.setSceneUuid(mainSceneUuid); } - formVersionVo.setSceneUuid(currentProcessTaskStepVo.getFormSceneUuid()); + List formAttributeVoList = formVersionVo.getFormAttributeList(); Map attributeLabelMap = new HashMap<>(); -- Gitee From 6414b875324764ac6e315b0927cb562ce86c9344 Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Wed, 10 Jul 2024 16:40:37 +0800 Subject: [PATCH 2/2] =?UTF-8?q?[=E4=BF=AE=E5=A4=8D]=20=E5=90=8E=E7=AB=AF-?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BF=AE=E6=94=B9=E8=A1=A8=E5=8D=95=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1197777990680576]后端-增加修改表单数据接口 http://192.168.0.96:8090/demo/rdm.html#/task-detail/939050947543040/939050947543050/1197777990680576 --- .../processtask/UpdateProcessTaskFormApi.java | 17 +++++++++++++++++ .../processtask/ProcessTaskStepDataMapper.java | 2 +- .../processtask/ProcessTaskStepDataMapper.xml | 7 ++----- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/src/main/java/neatlogic/module/process/api/processtask/UpdateProcessTaskFormApi.java b/src/main/java/neatlogic/module/process/api/processtask/UpdateProcessTaskFormApi.java index 58c35504c..886b13b87 100644 --- a/src/main/java/neatlogic/module/process/api/processtask/UpdateProcessTaskFormApi.java +++ b/src/main/java/neatlogic/module/process/api/processtask/UpdateProcessTaskFormApi.java @@ -18,10 +18,13 @@ package neatlogic.module.process.api.processtask; import com.alibaba.fastjson.JSONObject; +import neatlogic.framework.asynchronization.threadlocal.UserContext; import neatlogic.framework.auth.core.AuthAction; import neatlogic.framework.common.constvalue.ApiParamType; import neatlogic.framework.process.auth.PROCESSTASK_MODIFY; import neatlogic.framework.process.constvalue.ProcessTaskAuditType; +import neatlogic.framework.process.constvalue.ProcessTaskStepDataType; +import neatlogic.framework.process.dto.ProcessTaskStepDataVo; import neatlogic.framework.process.dto.ProcessTaskStepVo; import neatlogic.framework.process.dto.ProcessTaskVo; import neatlogic.framework.restful.annotation.Description; @@ -31,12 +34,14 @@ import neatlogic.framework.restful.annotation.Param; import neatlogic.framework.restful.constvalue.OperationTypeEnum; import neatlogic.framework.restful.core.privateapi.PrivateApiComponentBase; import neatlogic.module.process.dao.mapper.processtask.ProcessTaskMapper; +import neatlogic.module.process.dao.mapper.processtask.ProcessTaskStepDataMapper; import neatlogic.module.process.service.IProcessStepHandlerUtil; import neatlogic.module.process.service.ProcessTaskService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.List; @Service @Transactional @@ -47,6 +52,9 @@ public class UpdateProcessTaskFormApi extends PrivateApiComponentBase { @Resource private ProcessTaskMapper processTaskMapper; + @Resource + ProcessTaskStepDataMapper processTaskStepDataMapper; + @Resource private ProcessTaskService processTaskService; @@ -84,6 +92,15 @@ public class UpdateProcessTaskFormApi extends PrivateApiComponentBase { param.put("source", paramObj.getString("source")); processStepHandlerUtil.saveForm(processTaskStepVo); processStepHandlerUtil.audit(processTaskStepVo, ProcessTaskAuditType.UPDATEFORM); + + ProcessTaskStepDataVo processTaskStepDataVo = new ProcessTaskStepDataVo(); + processTaskStepDataVo.setProcessTaskId(processTaskId); + processTaskStepDataVo.setFcu(UserContext.get().getUserUuid(true)); + processTaskStepDataVo.setType(ProcessTaskStepDataType.STEPDRAFTSAVE.getValue()); + List stepDraftSaveDataList = processTaskStepDataMapper.searchProcessTaskStepData(processTaskStepDataVo); + for (ProcessTaskStepDataVo stepDraftSaveData : stepDraftSaveDataList) { + processTaskStepDataMapper.deleteProcessTaskStepDataById(stepDraftSaveData.getId()); + } return null; } diff --git a/src/main/java/neatlogic/module/process/dao/mapper/processtask/ProcessTaskStepDataMapper.java b/src/main/java/neatlogic/module/process/dao/mapper/processtask/ProcessTaskStepDataMapper.java index bc32aab0c..b8a30d3f3 100644 --- a/src/main/java/neatlogic/module/process/dao/mapper/processtask/ProcessTaskStepDataMapper.java +++ b/src/main/java/neatlogic/module/process/dao/mapper/processtask/ProcessTaskStepDataMapper.java @@ -28,7 +28,7 @@ public interface ProcessTaskStepDataMapper extends IProcessTaskStepDataCrossover ProcessTaskStepDataVo getProcessTaskStepData(ProcessTaskStepDataVo processTaskStepDataVo); -// List searchProcessTaskStepData(ProcessTaskStepDataVo processTaskStepDataVo); + List searchProcessTaskStepData(ProcessTaskStepDataVo processTaskStepDataVo); int replaceProcessTaskStepData(ProcessTaskStepDataVo processTaskStepDataVo); diff --git a/src/main/java/neatlogic/module/process/dao/mapper/processtask/ProcessTaskStepDataMapper.xml b/src/main/java/neatlogic/module/process/dao/mapper/processtask/ProcessTaskStepDataMapper.xml index 705df4a03..e871f8ebc 100644 --- a/src/main/java/neatlogic/module/process/dao/mapper/processtask/ProcessTaskStepDataMapper.xml +++ b/src/main/java/neatlogic/module/process/dao/mapper/processtask/ProcessTaskStepDataMapper.xml @@ -60,7 +60,7 @@ LIMIT 1 - + REPLACE INTO `processtask_step_data` (`id`, -- Gitee