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