Browse Source

Merge pull request '克隆流程定义信息' (#8) from insist-dev2024 into master

Reviewed-on: https://git.aizuda.com/aizuda/aizuda-boot/pulls/8
aizuda 11 months ago
parent
commit
ed6b6abae9

+ 1 - 0
src/main/java/com/aizuda/boot/modules/flw/entity/dto/FlwProcessDTO.java

@@ -82,6 +82,7 @@ public class FlwProcessDTO {
         dto.setProcessKey(flwProcess.getProcessKey());
         dto.setProcessName(flwProcess.getProcessName());
         dto.setProcessIcon(flwProcess.getProcessIcon());
+        dto.setProcessType(flwProcess.getProcessType());
         dto.setUseScope(flwProcess.getUseScope());
         dto.setModelContent(flwProcess.getModelContent());
         dto.setRemark(flwProcess.getRemark());

+ 10 - 2
src/main/java/com/aizuda/boot/modules/flw/service/impl/FlwProcessServiceImpl.java

@@ -23,7 +23,7 @@ import com.aizuda.bpm.engine.entity.FlwInstance;
 import com.aizuda.bpm.engine.entity.FlwProcess;
 import com.aizuda.bpm.engine.model.*;
 import com.aizuda.bpm.mybatisplus.mapper.FlwProcessMapper;
-import com.aizuda.common.toolkit.DateUtils;
+import com.aizuda.common.toolkit.JacksonUtils;
 import com.aizuda.core.api.ApiAssert;
 import com.aizuda.service.web.UserSession;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -385,9 +385,17 @@ public class FlwProcessServiceImpl extends ServiceImpl<FlwProcessMapper, FlwProc
     @Transactional(rollbackFor = Exception.class)
     @Override
     public boolean cloneById(Long id) {
+        String hhMmSs = "copy" + new Date().getTime();
         FlwProcessDTO dto = this.getDtoById(id);
         dto.setProcessId(null);
-        dto.setProcessName(dto.getProcessName() + DateUtils.nowTimeFormat(" HH:mm:ss"));
+        dto.setProcessName(dto.getProcessName() + hhMmSs);
+        dto.setProcessKey(dto.getProcessKey() + hhMmSs);
+        dto.setProcessType(dto.getProcessType());
+        String modelContent = dto.getModelContent();
+        Map<String, Object> modelContentMap = JacksonUtils.readMap(modelContent);
+        modelContentMap.put("name",dto.getProcessName());
+        modelContentMap.put("key",dto.getProcessKey());
+        dto.setModelContent(JacksonUtils.toJson(modelContentMap));
         return null != this.saveDto(dto);
     }