ソースを参照

Merge remote-tracking branch 'origin/master'

xuxiaodong 8 ヶ月 前
コミット
78dc32e343

+ 1 - 1
zfjg-api/zfjg-api-manage/src/main/java/com/zfjg/manage/api/domain/enforce/obj/EnforceObjArchitecture.java

@@ -33,6 +33,6 @@ public class EnforceObjArchitecture {
      * 远程监控建筑ID
      */
     @TableField(updateStrategy = FieldStrategy.ALWAYS, insertStrategy = FieldStrategy.ALWAYS)
-    private Long architectureId;
+    private String architectureId;
 
 }

+ 1 - 1
zfjg-api/zfjg-api-manage/src/main/java/com/zfjg/manage/api/dto/enforce/job/EnforceJobDTO.java

@@ -116,5 +116,5 @@ public class EnforceJobDTO extends EnforceJob {
      * 远程监控建筑ID
      */
     @TableField(exist = false)
-    private Long architectureId;
+    private String architectureId;
 }

+ 33 - 0
zfjg-gateway/src/main/java/com/zfjg/gateway/controller/VersionController.java

@@ -0,0 +1,33 @@
+package com.zfjg.gateway.controller;
+
+import com.zfjg.common.core.constant.Constants;
+import com.zfjg.gateway.config.VersionConfiguration;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.server.reactive.ServerHttpRequest;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @Author: Mr.Yang
+ * @CreateTime: 2024-02-26
+ * @Description:
+ */
+@RestController
+@RequestMapping(value = "version")
+public class VersionController {
+
+
+    @Autowired
+    private VersionConfiguration versionConfiguration;
+
+    @GetMapping("v1")
+    public VersionConfiguration version() {
+        return versionConfiguration;
+    }
+    @GetMapping("v2")
+    public String version(ServerHttpRequest request) {
+        String req_version = request.getHeaders().getFirst(Constants.SYS_VERSION_HEANDER);
+        return req_version;
+    }
+}

+ 1 - 1
zfjg-modules/zfjg-manage/src/main/java/com/zfjg/manage/service/enforce/obj/IEnforceObjArchitectureService.java

@@ -5,6 +5,6 @@ import com.zfjg.manage.api.domain.enforce.obj.EnforceObjArchitecture;
 
 
 public interface IEnforceObjArchitectureService extends IService<EnforceObjArchitecture> {
-    void checkAndUpdateEnforceObjArchitecture(String enforceObjId, Long architectureId, String architectureName);
+    void checkAndUpdateEnforceObjArchitecture(String enforceObjId, String architectureId, String architectureName);
 
 }

+ 30 - 25
zfjg-modules/zfjg-manage/src/main/java/com/zfjg/manage/service/impl/enforce/job/EnforceHandbookServiceImpl.java

@@ -31,14 +31,13 @@ import java.util.stream.Collectors;
 
 /**
  * 【请填写功能名称】Service业务层处理
- * 
+ *
  * @author mxkj
  * @date 2022-12-06
  */
 @Service
 @Slf4j
-public class EnforceHandbookServiceImpl extends ServiceImpl<EnforceHandbookMapper, EnforceHandbook> implements IEnforceHandbookService
-{
+public class EnforceHandbookServiceImpl extends ServiceImpl<EnforceHandbookMapper, EnforceHandbook> implements IEnforceHandbookService {
 
     @Autowired
     private IEnforceJobNodeItemService enforceJobNodeItemService;
@@ -47,7 +46,7 @@ public class EnforceHandbookServiceImpl extends ServiceImpl<EnforceHandbookMappe
     private EnforceHandbookProblemMapper enforceHandbookProblemMapper;
 
     @Override
-    public List<EnforceHandBookResultDTO> mergeJobItem2HandBook(Long jobId,IEnforceJobService enforceJobService) {
+    public List<EnforceHandBookResultDTO> mergeJobItem2HandBook(Long jobId, IEnforceJobService enforceJobService) {
         Optional<EnforceJobDTO> jobOptional = enforceJobService.find(jobId);
         if (!jobOptional.isPresent()) {
             throw new ServiceException("无效的JOB_ID", 400);
@@ -90,11 +89,11 @@ public class EnforceHandbookServiceImpl extends ServiceImpl<EnforceHandbookMappe
     @Override
     public Optional<EnforceHandbookDTO> find(long id) {
         EnforceHandbook enforceHandbook = baseMapper.selectById(id);
-        if (StringUtils.isNull(enforceHandbook) || enforceHandbook.getIsDeleted().equals(DeleteStatusEnum.DELETED.getStatus())){
+        if (StringUtils.isNull(enforceHandbook) || enforceHandbook.getIsDeleted().equals(DeleteStatusEnum.DELETED.getStatus())) {
             return Optional.empty();
         }
         EnforceHandbookDTO dto = new EnforceHandbookDTO();
-        BeanUtils.copyProperties(enforceHandbook,dto);
+        BeanUtils.copyProperties(enforceHandbook, dto);
         return Optional.of(dto);
     }
 
@@ -105,7 +104,7 @@ public class EnforceHandbookServiceImpl extends ServiceImpl<EnforceHandbookMappe
     @Transactional
     public int createEnforceHandbook(EnforceHandbookDTO enforceHandbookDTO) {
         EnforceHandbook entity = new EnforceHandbook();
-        BeanUtils.copyProperties(enforceHandbookDTO,entity);
+        BeanUtils.copyProperties(enforceHandbookDTO, entity);
         entity.setIsDeleted(Long.valueOf(DeleteStatusEnum.NOT_DELETED.getStatus()));
         final SysUser user = SecurityUtils.getLoginUser().getSysUser();
         SecurityUtils.getUid();
@@ -135,14 +134,14 @@ public class EnforceHandbookServiceImpl extends ServiceImpl<EnforceHandbookMappe
     /**
      * 删除手册信息
      *
-     * @param id  (required)
+     * @param id (required)
      * @return Success (status code 200)
      */
     @Override
     @Transactional
     public int deleteEnforceHandbook(Long id) {
         EnforceHandbook handbook = getById(id);
-        if (StringUtils.isNull(handbook)){
+        if (StringUtils.isNull(handbook)) {
             throw new ServiceException("数据不存咋!");
         }
         handbook.setIsDeleted(Long.valueOf(DeleteStatusEnum.DELETED.getStatus()));
@@ -161,17 +160,17 @@ public class EnforceHandbookServiceImpl extends ServiceImpl<EnforceHandbookMappe
             throw new ServiceException("数据不存在!");
         }
         final EnforceHandbookDTO enforceHandbookDTO = new EnforceHandbookDTO();
-        BeanUtils.copyProperties(enforceHandbookWithBLOBs,enforceHandbookDTO);
+        BeanUtils.copyProperties(enforceHandbookWithBLOBs, enforceHandbookDTO);
 
         LambdaQueryWrapper<EnforceHandbookProblem> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(EnforceHandbookProblem::getIsDeleted,DeleteStatusEnum.NOT_DELETED.getStatus()).eq(EnforceHandbookProblem::getEnforceHandbookId,id);
+        wrapper.eq(EnforceHandbookProblem::getIsDeleted, DeleteStatusEnum.NOT_DELETED.getStatus()).eq(EnforceHandbookProblem::getEnforceHandbookId, id);
         final List<EnforceHandbookProblem> enforceHandbookProblems = enforceHandbookProblemMapper.selectList(wrapper);
         if (StringUtils.isEmpty(enforceHandbookProblems)) {
             enforceHandbookDTO.setProblems(Collections.emptyList());
         } else {
             enforceHandbookDTO.setProblems(enforceHandbookProblems.stream().map(o -> {
                 EnforceHandbookProblemDTO dto = new EnforceHandbookProblemDTO();
-                BeanUtils.copyProperties(o,dto);
+                BeanUtils.copyProperties(o, dto);
                 return dto;
             }).collect(Collectors.toList()));
         }
@@ -184,32 +183,32 @@ public class EnforceHandbookServiceImpl extends ServiceImpl<EnforceHandbookMappe
     @Override
     public List<EnforceHandbookDTO> getEnforceHandbooks(EnforceHandbookQuery query) {
         List<EnforceHandbookDTO> list = baseMapper.getEnforceHandbooks(query);
-        if (StringUtils.isNotEmpty(list)){
+        if (StringUtils.isNotEmpty(list)) {
             setProblems(list);
         }
         return list;
     }
 
-    public void setProblems(List<EnforceHandbookDTO> list){
+    public void setProblems(List<EnforceHandbookDTO> list) {
         LambdaQueryWrapper<EnforceHandbookProblem> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(EnforceHandbookProblem::getIsDeleted,DeleteStatusEnum.NOT_DELETED.getStatus());
+        wrapper.eq(EnforceHandbookProblem::getIsDeleted, DeleteStatusEnum.NOT_DELETED.getStatus());
         final List<EnforceHandbookProblem> enforceHandbookProblems = enforceHandbookProblemMapper.selectList(wrapper);
         if (CollectionUtils.isEmpty(enforceHandbookProblems)) {
             return;
         }
         Map<Long, EnforceHandbookDTO> map = new HashMap<>();
-        list.forEach(e-> map.put(e.getId(),e));
+        list.forEach(e -> map.put(e.getId(), e));
         enforceHandbookProblems.forEach(e -> {
             final EnforceHandbookDTO enforceHandbook = map.get(e.getEnforceHandbookId());
-            if(StringUtils.isNull(enforceHandbook)){
+            if (StringUtils.isNull(enforceHandbook)) {
                 return;
             }
             List<EnforceHandbookProblemDTO> problems = enforceHandbook.getProblems();
-            if (CollectionUtils.isEmpty(problems)){
+            if (CollectionUtils.isEmpty(problems)) {
                 problems = new ArrayList<>();
             }
             EnforceHandbookProblemDTO problemDTO = new EnforceHandbookProblemDTO();
-            BeanUtils.copyProperties(e,problemDTO);
+            BeanUtils.copyProperties(e, problemDTO);
             problems.add(problemDTO);
             enforceHandbook.setProblems(problems);
         });
@@ -221,9 +220,9 @@ public class EnforceHandbookServiceImpl extends ServiceImpl<EnforceHandbookMappe
     @Override
     public List<EnforceHandbookDTO> getEnforceHandbooksByTree() {
         LambdaQueryWrapper<EnforceHandbook> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(EnforceHandbook::getEnforceType,"0");
+        wrapper.eq(EnforceHandbook::getEnforceType, "0");
         List<EnforceHandbook> handbooks = baseMapper.selectList(wrapper);
-        if (StringUtils.isEmpty(handbooks)){
+        if (StringUtils.isEmpty(handbooks)) {
             return Collections.emptyList();
         }
         List<EnforceHandbookDTO> dtoList = handbooks.stream().map(o -> {
@@ -262,11 +261,11 @@ public class EnforceHandbookServiceImpl extends ServiceImpl<EnforceHandbookMappe
     @Override
     public int putEnforceHandbook(EnforceHandbookDTO enforceHandbookDTO) {
         Long id = enforceHandbookDTO.getId();
-        if (StringUtils.isNull(id)){
+        if (StringUtils.isNull(id)) {
             throw new ServiceException("数据不存在!");
         }
         EnforceHandbook enforceHandbook = baseMapper.selectById(id);
-        if (StringUtils.isNull(enforceHandbook)){
+        if (StringUtils.isNull(enforceHandbook)) {
             throw new ServiceException("数据不存在!");
         }
         enforceHandbookDTO.setUpdateTime(new Date());
@@ -290,12 +289,18 @@ public class EnforceHandbookServiceImpl extends ServiceImpl<EnforceHandbookMappe
 
     public void saveProblem(EnforceHandbookProblemDTO enforceHandbookProblemDTO) {
         EnforceHandbookProblem enforceHandbookProblem = new EnforceHandbookProblem();
-        BeanUtils.copyProperties(enforceHandbookProblemDTO,enforceHandbookProblem);
+        BeanUtils.copyProperties(enforceHandbookProblemDTO, enforceHandbookProblem);
 
         enforceHandbookProblem.setCreateTime(new Date());
         enforceHandbookProblem.setUpdateTime(new Date());
         enforceHandbookProblem.setIsDeleted(Long.valueOf(DeleteStatusEnum.NOT_DELETED.getStatus()));
-        enforceHandbookProblemMapper.insert(enforceHandbookProblem);
+        if (Objects.isNull(enforceHandbookProblem.getId())) {
+            enforceHandbookProblemMapper.insert(enforceHandbookProblem);
+        } else {
+            enforceHandbookProblemMapper.updateById(enforceHandbookProblem);
+        }
+
+
         enforceHandbookProblemDTO.setId(enforceHandbookProblem.getId());
     }
 

+ 14 - 4
zfjg-modules/zfjg-manage/src/main/java/com/zfjg/manage/service/impl/enforce/job/EnforceJobServiceImpl.java

@@ -495,11 +495,21 @@ public class EnforceJobServiceImpl extends ServiceImpl<EnforceJobMapper, Enforce
             jobNodeItemWrapper.eq("job_id", enforceJob.getId());
             jobNodeItemWrapper.eq("correct_type", "DEADLINE");
             Long itemCount = enforceJobNodeItemService.count(jobNodeItemWrapper);
+            List<String> timeList = new ArrayList<>();
+
             if (CollectionUtils.isNotEmpty(items)) {
-                items.stream().forEach(e -> {
-                    EnforceJob reviewJob = new EnforceJob();
-                    JSONObject item = (JSONObject) e;
+                items.stream().forEach(eee -> {
+                    JSONObject item = (JSONObject) eee;
                     String time = item.getString("time");
+                    if (!timeList.contains(time)) {
+                        timeList.add(time);
+                    }
+                });
+            }
+
+            if (CollectionUtils.isNotEmpty(timeList)) {
+                timeList.stream().forEach(time -> {
+                    EnforceJob reviewJob = new EnforceJob();
                     Date date = null;
                     try {
                         date = format2.parse(time);
@@ -513,7 +523,7 @@ public class EnforceJobServiceImpl extends ServiceImpl<EnforceJobMapper, Enforce
                         String workDays = DateUtils.getWorkDays(date, 3, holidayCacheService);
                         date = format.parse(workDays);
                     } catch (Exception exception) {
-                        log.error("获取3个工作日后的日期失败", e);
+                        log.error("获取3个工作日后的日期失败", time);
                         throw new ServiceException("获取3个工作日后的日期失败");
                     }
                     reviewJob.setLastEnforceDate(date);

+ 1 - 1
zfjg-modules/zfjg-manage/src/main/java/com/zfjg/manage/service/impl/enforce/obj/EnforceObjArchitectureServiceImpl.java

@@ -20,7 +20,7 @@ public class EnforceObjArchitectureServiceImpl extends ServiceImpl<EnforceObjArc
 
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public void checkAndUpdateEnforceObjArchitecture(String enforceObjId, Long architectureId, String architectureName) {
+    public void checkAndUpdateEnforceObjArchitecture(String enforceObjId, String architectureId, String architectureName) {
         if (StrUtil.isBlank(architectureName)) return;
         EnforceObjArchitecture enforceObjArchitecture = getById(enforceObjId);
         if (Objects.nonNull(enforceObjArchitecture)) {

+ 36 - 33
zfjg-modules/zfjg-manage/src/main/java/com/zfjg/manage/service/impl/enforce/template/EnforceTemplateHandbookServiceImpl.java

@@ -38,14 +38,13 @@ import java.util.stream.Collectors;
 
 /**
  * 执法监督检查项详情Service业务层处理
- * 
+ *
  * @author mxkj
  * @date 2022-12-06
  */
 @Service
 @Slf4j
-public class EnforceTemplateHandbookServiceImpl extends ServiceImpl<EnforceTemplateHandbookMapper, EnforceTemplateHandbook> implements IEnforceTemplateHandbookService
-{
+public class EnforceTemplateHandbookServiceImpl extends ServiceImpl<EnforceTemplateHandbookMapper, EnforceTemplateHandbook> implements IEnforceTemplateHandbookService {
 
     @Autowired
     private EnforceTemplateHandbookProblemMapper enforceTemplateHandbookProblemMapper;
@@ -58,6 +57,7 @@ public class EnforceTemplateHandbookServiceImpl extends ServiceImpl<EnforceTempl
 
     /**
      * 执法监督检查项详情
+     *
      * @param itemId itemId
      * @return List<EnforceTemplateHandbookDTO>
      */
@@ -66,11 +66,11 @@ public class EnforceTemplateHandbookServiceImpl extends ServiceImpl<EnforceTempl
         List<EnforceTemplateHandbook> enforceTemplateHandbooks = baseMapper.selectList(new QueryWrapper<EnforceTemplateHandbook>().lambda()
                 .in(EnforceTemplateHandbook::getId, itemId).eq(EnforceTemplateHandbook::getIsDeleted, DeleteStatusEnum.NOT_DELETED.getStatus()));
         if (!StringUtils.isNotEmpty(enforceTemplateHandbooks)) {
-            log.info("流程副本:[{}]不存在!",itemId);
+            log.info("流程副本:[{}]不存在!", itemId);
             return null;
         }
         LambdaQueryWrapper<EnforceTemplateHandbookProblem> enforceTemplateHandbookProblemWrapper = new LambdaQueryWrapper<>();
-        enforceTemplateHandbookProblemWrapper.in(EnforceTemplateHandbookProblem::getItemHandbookId,itemId)
+        enforceTemplateHandbookProblemWrapper.in(EnforceTemplateHandbookProblem::getItemHandbookId, itemId)
                 .eq(EnforceTemplateHandbookProblem::getIsDeleted, DeleteStatusEnum.NOT_DELETED.getStatus());
         //所有检查项的常见问题
         List<EnforceTemplateHandbookProblem> enforceTemplateHandbookProblems = enforceTemplateHandbookProblemMapper.selectList(enforceTemplateHandbookProblemWrapper);
@@ -97,7 +97,7 @@ public class EnforceTemplateHandbookServiceImpl extends ServiceImpl<EnforceTempl
     @Override
     public void add(EnforceTemplateHandbookDTO dto) {
         EnforceTemplateHandbook entity = new EnforceTemplateHandbook();
-        BeanUtils.copyProperties(dto,entity);
+        BeanUtils.copyProperties(dto, entity);
         entity.setId(null);
         entity.setCreateTime(new Date());
         entity.setCreateUserId(null);
@@ -122,7 +122,7 @@ public class EnforceTemplateHandbookServiceImpl extends ServiceImpl<EnforceTempl
     @Override
     public void updateByDto(EnforceTemplateHandbookDTO dto) {
         EnforceTemplateHandbook entity = new EnforceTemplateHandbook();
-        BeanUtils.copyProperties(dto,entity);
+        BeanUtils.copyProperties(dto, entity);
         baseMapper.updateById(entity);
 
         // 先将旧的问题改成失效
@@ -131,7 +131,7 @@ public class EnforceTemplateHandbookServiceImpl extends ServiceImpl<EnforceTempl
         //重新插入问题列表
         List<EnforceTemplateHandbookProblemDTO> problems = dto.getProblems();
         if (CollectionUtils.isEmpty(problems)) {
-            return ;
+            return;
         }
         problems.forEach(e -> {
             e.setItemHandbookId(dto.getId());
@@ -145,57 +145,57 @@ public class EnforceTemplateHandbookServiceImpl extends ServiceImpl<EnforceTempl
     @Override
     public Optional<EnforceTemplateHandbookDTO> find(Long id) {
         EnforceTemplateHandbook enforceTemplateHandbook = baseMapper.selectById(id);
-        if (StringUtils.isNull(enforceTemplateHandbook) || enforceTemplateHandbook.getIsDeleted().equals(DeleteStatusEnum.DELETED.getStatus())){
+        if (StringUtils.isNull(enforceTemplateHandbook) || enforceTemplateHandbook.getIsDeleted().equals(DeleteStatusEnum.DELETED.getStatus())) {
             return Optional.empty();
         }
         EnforceTemplateHandbookDTO dto = new EnforceTemplateHandbookDTO();
-        BeanUtils.copyProperties(enforceTemplateHandbook,dto);
+        BeanUtils.copyProperties(enforceTemplateHandbook, dto);
         return Optional.of(dto);
     }
 
     /**
      * 新建流程模板副本信息
      *
-     * @param templateItemId 流程检查项id (required)
-     * @param enforceTemplateHandbookDTO  (optional)
+     * @param templateItemId             流程检查项id (required)
+     * @param enforceTemplateHandbookDTO (optional)
      * @return Created (status code 201)
      */
     @Override
     @Transactional
-    public int createJobHandbook(Long templateItemId, EnforceTemplateHandbookDTO enforceTemplateHandbookDTO,IEnforceTemplateService enforceTemplateService) {
+    public int createJobHandbook(Long templateItemId, EnforceTemplateHandbookDTO enforceTemplateHandbookDTO, IEnforceTemplateService enforceTemplateService) {
         add(enforceTemplateHandbookDTO);
 
         //更新自定义检查项
         EnforceTemplateNodeItemDTO enforceTemplateNodeItemDTO = new EnforceTemplateNodeItemDTO();
         enforceTemplateNodeItemDTO.setId(templateItemId);
         enforceTemplateNodeItemDTO.setItemId(enforceTemplateHandbookDTO.getId());
-        enforceTemplateService.putEnforceTemplateNodeItem(enforceTemplateNodeItemDTO.getId(),enforceTemplateNodeItemDTO);
+        enforceTemplateService.putEnforceTemplateNodeItem(enforceTemplateNodeItemDTO.getId(), enforceTemplateNodeItemDTO);
         return 1;
     }
 
     /**
      * 查询流程模板副本信息详情
      *
-     * @param id  (required)
+     * @param id (required)
      * @return ok (status code 200)
      */
     @Override
     public EnforceTemplateHandbookDTO getJobHandbook(Long id) {
         Optional<EnforceTemplateHandbookDTO> poOptional = find(id);
         if (!poOptional.isPresent()) {
-            log.info("流程副本:[{}]不存在!",id);
+            log.info("流程副本:[{}]不存在!", id);
             return null;
         }
         EnforceTemplateHandbookDTO dto = poOptional.get();
 
         LambdaQueryWrapper<EnforceTemplateHandbookProblem> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(EnforceTemplateHandbookProblem::getItemHandbookId,dto.getId())
-                .eq(EnforceTemplateHandbookProblem::getIsDeleted,DeleteStatusEnum.NOT_DELETED.getStatus());
+        wrapper.eq(EnforceTemplateHandbookProblem::getItemHandbookId, dto.getId())
+                .eq(EnforceTemplateHandbookProblem::getIsDeleted, DeleteStatusEnum.NOT_DELETED.getStatus());
         List<EnforceTemplateHandbookProblem> problemList = enforceTemplateHandbookProblemMapper.selectList(wrapper);
-        if (StringUtils.isNotEmpty(problemList)){
+        if (StringUtils.isNotEmpty(problemList)) {
             dto.setProblems(problemList.stream().map(o -> {
                 EnforceTemplateHandbookProblemDTO d = new EnforceTemplateHandbookProblemDTO();
-                BeanUtils.copyProperties(o,d);
+                BeanUtils.copyProperties(o, d);
                 return d;
             }).collect(Collectors.toList()));
         }
@@ -214,7 +214,7 @@ public class EnforceTemplateHandbookServiceImpl extends ServiceImpl<EnforceTempl
     public List<EnforceJobTemplateHandbookDTO> listJobHandbookSearch(Long jobId, JobHandbookListQuery query) {
         EnforceHandbookQuery enforceHandbookQuery = new EnforceHandbookQuery();
         //todo 参数???
-        BeanUtils.copyProperties(query,enforceHandbookQuery);
+        BeanUtils.copyProperties(query, enforceHandbookQuery);
         final List<EnforceHandbookDTO> list = enforceHandbookService.getEnforceHandbooks(enforceHandbookQuery);
 
         //搜索当前任务已经创建的检查项
@@ -222,21 +222,21 @@ public class EnforceTemplateHandbookServiceImpl extends ServiceImpl<EnforceTempl
         enforceJobTemplateHandbookQuery.setJobId(jobId);
         List<EnforceJobTemplateHandbookDTO> enforceJobTemplateHandbookList = enforceJobTemplateHandbookService.pageListEnforceJobTemplateHandbook(enforceJobTemplateHandbookQuery);
 
-        if(CollectionUtils.isEmpty(list) && CollectionUtils.isEmpty(enforceJobTemplateHandbookList)){
+        if (CollectionUtils.isEmpty(list) && CollectionUtils.isEmpty(enforceJobTemplateHandbookList)) {
             return Collections.emptyList();
         }
 
-        if(CollectionUtils.isEmpty(list)){
+        if (CollectionUtils.isEmpty(list)) {
             return enforceJobTemplateHandbookList;
         }
 
         List<EnforceJobTemplateHandbookDTO> enforceJobTemplateHandbookDTOS = enforceJobTemplateHandbookList.stream().map(o -> {
             EnforceJobTemplateHandbookDTO enforceJobTemplateHandbookDTO = new EnforceJobTemplateHandbookDTO();
-            BeanUtils.copyProperties(o,enforceJobTemplateHandbookDTO);
+            BeanUtils.copyProperties(o, enforceJobTemplateHandbookDTO);
             return enforceJobTemplateHandbookDTO;
         }).collect(Collectors.toList());
 
-        if(CollectionUtils.isEmpty(enforceJobTemplateHandbookList)){
+        if (CollectionUtils.isEmpty(enforceJobTemplateHandbookList)) {
             return enforceJobTemplateHandbookDTOS;
         }
         enforceJobTemplateHandbookList.addAll(enforceJobTemplateHandbookDTOS);
@@ -246,7 +246,7 @@ public class EnforceTemplateHandbookServiceImpl extends ServiceImpl<EnforceTempl
     /**
      * 分页查询流程模板副本信息
      *
-     * @param query  (optional)
+     * @param query (optional)
      * @return ok (status code 200)
      */
     @Override
@@ -302,7 +302,7 @@ public class EnforceTemplateHandbookServiceImpl extends ServiceImpl<EnforceTempl
 
         List<EnforceJobTemplateHandbookDTO> enforceJobTemplateHandbookDTOS = handbooks.stream().map(o -> {
             EnforceJobTemplateHandbookDTO enforceJobTemplateHandbookDTO = new EnforceJobTemplateHandbookDTO();
-            BeanUtils.copyProperties(o,enforceJobTemplateHandbookDTO);
+            BeanUtils.copyProperties(o, enforceJobTemplateHandbookDTO);
             enforceJobTemplateHandbookDTO.setHandbookId(o.getId());
             enforceJobTemplateHandbookDTO.setNodeType(o.getNodeType());
             enforceJobTemplateHandbookDTO.setSort(Long.valueOf(o.getSort()));
@@ -391,15 +391,15 @@ public class EnforceTemplateHandbookServiceImpl extends ServiceImpl<EnforceTempl
     /**
      * 更新流程模板副本信息详情
      *
-     * @param id  (required)
-     * @param enforceTemplateHandbookDTO  (optional)
+     * @param id                         (required)
+     * @param enforceTemplateHandbookDTO (optional)
      * @return Success (status code 200)
      */
     @Override
     @Transactional
     public int updateJobHandbook(Long id, EnforceTemplateHandbookDTO enforceTemplateHandbookDTO) {
         Optional<EnforceTemplateHandbookDTO> optional = find(id);
-        if (!optional.isPresent()){
+        if (!optional.isPresent()) {
             throw new ServiceException("数据不存在!");
         }
         updateByDto(enforceTemplateHandbookDTO);
@@ -408,9 +408,12 @@ public class EnforceTemplateHandbookServiceImpl extends ServiceImpl<EnforceTempl
 
     private void saveProblems(EnforceTemplateHandbookProblemDTO dto) {
         EnforceTemplateHandbookProblem entity = new EnforceTemplateHandbookProblem();
-        BeanUtils.copyProperties(dto,entity);
-
-        enforceTemplateHandbookProblemMapper.insert(entity);
+        BeanUtils.copyProperties(dto, entity);
+        if (Objects.isNull(entity.getId())){
+            enforceTemplateHandbookProblemMapper.insert(entity);
+        }else {
+            enforceTemplateHandbookProblemMapper.updateById(entity);
+        }
     }
 
     private String checkOptions(String result, String option) {