diff --git a/src/main/java/neatlogic/module/cmdb/process/stephandler/CiEntitySyncProcessComponent.java b/src/main/java/neatlogic/module/cmdb/process/stephandler/CiEntitySyncProcessComponent.java index 5ff41177742f2f36c1a38a987b08adb658064fac..c82d012c0fbeb800bd8712bba3f566f9c53ee288 100644 --- a/src/main/java/neatlogic/module/cmdb/process/stephandler/CiEntitySyncProcessComponent.java +++ b/src/main/java/neatlogic/module/cmdb/process/stephandler/CiEntitySyncProcessComponent.java @@ -29,8 +29,10 @@ import neatlogic.framework.cmdb.enums.EditModeType; import neatlogic.framework.cmdb.enums.TransactionActionType; import neatlogic.framework.cmdb.exception.cientity.NewCiEntityNotFoundException; import neatlogic.framework.common.constvalue.InputFrom; +import neatlogic.framework.crossover.CrossoverServiceFactory; import neatlogic.framework.exception.core.ApiRuntimeException; import neatlogic.framework.process.constvalue.ProcessStepMode; +import neatlogic.framework.process.crossover.IProcessTaskCrossoverService; import neatlogic.framework.process.dao.mapper.ProcessTaskStepDataMapper; import neatlogic.framework.process.dto.ProcessTaskFormAttributeDataVo; import neatlogic.framework.process.dto.ProcessTaskStepDataVo; @@ -53,6 +55,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.stream.Collectors; //@Service @Deprecated @@ -124,12 +127,11 @@ public class CiEntitySyncProcessComponent extends ProcessStepHandlerBase { if (MapUtils.isNotEmpty(stepConfigObj)) { JSONArray handlerList = stepConfigObj.getJSONArray("handlerList"); if (CollectionUtils.isNotEmpty(handlerList)) { + IProcessTaskCrossoverService processTaskCrossoverService = CrossoverServiceFactory.getApi(IProcessTaskCrossoverService.class); + List processTaskFormAttributeDataList = processTaskCrossoverService.getProcessTaskFormAttributeDataListByProcessTaskId(currentProcessTaskStepVo.getProcessTaskId()); + Map processTaskFormAttributeDataMap = processTaskFormAttributeDataList.stream().collect(Collectors.toMap(e -> e.getAttributeUuid(), e -> e)); for (int hIndex = 0; hIndex < handlerList.size(); hIndex++) { - ProcessTaskFormAttributeDataVo p = new ProcessTaskFormAttributeDataVo(); - p.setProcessTaskId(currentProcessTaskStepVo.getProcessTaskId()); - p.setAttributeUuid(handlerList.getString(hIndex)); - ProcessTaskFormAttributeDataVo processTaskFormAttributeDataVo = - processTaskMapper.getProcessTaskFormAttributeDataByProcessTaskIdAndAttributeUuid(p); + ProcessTaskFormAttributeDataVo processTaskFormAttributeDataVo = processTaskFormAttributeDataMap.get(handlerList.getString(hIndex)); if (processTaskFormAttributeDataVo != null) { JSONArray dataList = JSON.parseArray(processTaskFormAttributeDataVo.getData()); for (int dIndex = 0; dIndex < dataList.size(); dIndex++) { diff --git a/src/main/java/neatlogic/module/cmdb/process/stephandler/CmdbSyncProcessComponent.java b/src/main/java/neatlogic/module/cmdb/process/stephandler/CmdbSyncProcessComponent.java index f902137b4fda40fe1f0d7e198c9c06c9c2ab597e..792893ff411d2a92654f60302586464614430fc5 100644 --- a/src/main/java/neatlogic/module/cmdb/process/stephandler/CmdbSyncProcessComponent.java +++ b/src/main/java/neatlogic/module/cmdb/process/stephandler/CmdbSyncProcessComponent.java @@ -49,6 +49,7 @@ import neatlogic.framework.process.constvalue.ProcessStepMode; import neatlogic.framework.process.constvalue.ProcessTaskAuditType; import neatlogic.framework.process.constvalue.ProcessTaskOperationType; import neatlogic.framework.process.constvalue.automatic.FailPolicy; +import neatlogic.framework.process.crossover.IProcessTaskCrossoverService; import neatlogic.framework.process.dao.mapper.ProcessTaskStepDataMapper; import neatlogic.framework.process.dto.*; import neatlogic.framework.process.exception.processtask.ProcessTaskException; @@ -569,7 +570,8 @@ public class CmdbSyncProcessComponent extends ProcessStepHandlerBase { ProcessTaskFormVo processTaskFormVo = processTaskMapper.getProcessTaskFormByProcessTaskId(processTaskId); if (processTaskFormVo != null) { formConfig = selectContentByHashMapper.getProcessTaskFromContentByHash(processTaskFormVo.getFormContentHash()); - List processTaskFormAttributeDataList = processTaskMapper.getProcessTaskStepFormAttributeDataByProcessTaskId(processTaskId); + IProcessTaskCrossoverService processTaskCrossoverService = CrossoverServiceFactory.getApi(IProcessTaskCrossoverService.class); + List processTaskFormAttributeDataList = processTaskCrossoverService.getProcessTaskFormAttributeDataListByProcessTaskId(processTaskId); if (CollectionUtils.isNotEmpty(processTaskFormAttributeDataList)) { for (ProcessTaskFormAttributeDataVo attributeDataVo : processTaskFormAttributeDataList) { Object dataObj = formAttributeDataAdaptsToCmdb(attributeDataVo.getAttributeUuid(), attributeDataVo.getDataObj(), formConfig); diff --git a/src/main/java/neatlogic/module/cmdb/workerdispatcher/handler/CmdbDispatcher.java b/src/main/java/neatlogic/module/cmdb/workerdispatcher/handler/CmdbDispatcher.java index 7a7c80d08fc2696b828b3485fb2ea8cf74a7f5bf..2381946e83950e3d0b7c25c096b9d2d201c521cc 100644 --- a/src/main/java/neatlogic/module/cmdb/workerdispatcher/handler/CmdbDispatcher.java +++ b/src/main/java/neatlogic/module/cmdb/workerdispatcher/handler/CmdbDispatcher.java @@ -23,6 +23,7 @@ import neatlogic.framework.dto.UserVo; import neatlogic.framework.form.constvalue.FormHandler; import neatlogic.framework.form.service.IFormCrossoverService; import neatlogic.framework.process.constvalue.ProcessUserType; +import neatlogic.framework.process.crossover.IProcessTaskCrossoverService; import neatlogic.framework.process.dao.mapper.ProcessTaskMapper; import neatlogic.framework.process.dao.mapper.SelectContentByHashMapper; import neatlogic.framework.process.dto.ProcessTaskFormAttributeDataVo; @@ -401,7 +402,8 @@ public class CmdbDispatcher extends WorkerDispatcherBase { ProcessTaskFormVo processTaskFormVo = processTaskMapper.getProcessTaskFormByProcessTaskId(processTaskId); if (processTaskFormVo != null) { formConfig = selectContentByHashMapper.getProcessTaskFromContentByHash(processTaskFormVo.getFormContentHash()); - List processTaskFormAttributeDataList = processTaskMapper.getProcessTaskStepFormAttributeDataByProcessTaskId(processTaskId); + IProcessTaskCrossoverService processTaskCrossoverService = CrossoverServiceFactory.getApi(IProcessTaskCrossoverService.class); + List processTaskFormAttributeDataList = processTaskCrossoverService.getProcessTaskFormAttributeDataListByProcessTaskId(processTaskId); if (CollectionUtils.isNotEmpty(processTaskFormAttributeDataList)) { for (ProcessTaskFormAttributeDataVo attributeDataVo : processTaskFormAttributeDataList) { Object dataObj = formAttributeDataAdaptsToCmdb(attributeDataVo.getAttributeUuid(), attributeDataVo.getDataObj(), formConfig);