Browse Source

添加查询条件

fengyanjie 4 năm trước cách đây
mục cha
commit
a235561168

+ 2 - 2
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/controller/ClassDefChangeRecordController.java

@@ -28,8 +28,8 @@ public class ClassDefChangeRecordController {
     }
 
     @PostMapping("/update")
-    public MapResponse update(@RequestBody List<ClassDefChangeRecord> list) {
-        return service.update(list);
+    public MapResponse update(@RequestBody ClassDefChangeRecord param) {
+        return service.update(param);
     }
 
     @PostMapping("/delete")

+ 4 - 4
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/controller/FuncidDefChangeRecordController.java

@@ -28,13 +28,13 @@ public class FuncidDefChangeRecordController {
     }
 
     @PostMapping("/update")
-    public MapResponse update(@RequestBody List<FuncidDefChangeRecord> list) {
-        return service.update(list);
+    public MapResponse update(@RequestBody FuncidDefChangeRecord param) {
+        return service.update(param);
     }
 
     @PostMapping("/delete")
-    public MapResponse delete(@RequestBody List<Integer> idList) {
-        return service.delete(idList);
+    public MapResponse delete(@RequestBody FuncidDefChangeRecord param) {
+        return service.delete(param);
     }
 
     @PostMapping("/addVersion")

+ 74 - 37
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/service/ClassDefChangeRecordService.java

@@ -18,8 +18,6 @@ import org.springframework.stereotype.Service;
 
 import javax.transaction.Transactional;
 import java.util.*;
-import java.util.function.Function;
-import java.util.stream.Collectors;
 
 @Slf4j
 @Service
@@ -123,45 +121,83 @@ public class ClassDefChangeRecordService {
     }
 
     @Transactional
-    public MapResponse update(List<ClassDefChangeRecord> list) {
+    public MapResponse update(ClassDefChangeRecord param) {
         MapResponse response = new MapResponse();
-        List<Integer> idList = list.stream().map(ClassDefChangeRecord::getId).collect(Collectors.toList());
-        List<ClassDefChangeRecord> data = repository.findAllById(idList);
-        Map<Integer, ClassDefChangeRecord> dataMap = data.stream().collect(Collectors.toMap(ClassDefChangeRecord::getId, Function.identity()));
-        for (ClassDefChangeRecord param : list) {
-            ClassDefChangeRecord changeRecord = dataMap.get(param.getId());
-            if (changeRecord.getState() == 1 && changeRecord.getVersion() == null) {
-                if (param.getAliasCode() != null) {
-                    changeRecord.setAliasCode(param.getAliasCode());
+        Optional<ClassDefChangeRecord> optional = repository.findById(param.getId());
+        if (!optional.isPresent()) {
+            response.setFail("code not exists");
+            return response;
+        }
+        ClassDefChangeRecord changeRecord = optional.get();
+        if (changeRecord.getState() == 1 && changeRecord.getVersion() == null) {
+            if (param.getAliasCode() != null) {
+                changeRecord.setAliasCode(param.getAliasCode());
+            }
+            if (param.getAliasName() != null) {
+                changeRecord.setAliasName(param.getAliasName());
+            }
+        }
+        if (param.getState() != null) {
+            switch (param.getState()) {
+                case 2: {
+                    changeRecord.setConfirmUser(UserUtils.currentUserId() + "");
+                    changeRecord.setConfirmTime(new Date());
+                    break;
+                }
+                case 3: {
+                    changeRecord.setPublishUser(UserUtils.currentUserId() + "");
+                    changeRecord.setPublishTime(new Date());
+                    break;
                 }
-                if (param.getAliasName() != null) {
-                    changeRecord.setAliasName(param.getAliasName());
+                case 4: {
+                    changeRecord.setFinishTime(new Date());
+                    break;
+                }
+                default: {
+                    break;
                 }
             }
-            if (param.getState() != null) {
-                switch (param.getState()) {
-                    case 2: {
-                        changeRecord.setConfirmUser(UserUtils.currentUserId() + "");
-                        changeRecord.setConfirmTime(new Date());
-                        break;
-                    }
-                    case 3: {
-                        changeRecord.setPublishUser(UserUtils.currentUserId() + "");
-                        changeRecord.setPublishTime(new Date());
-                        break;
-                    }
-                    case 4: {
-                        changeRecord.setFinishTime(new Date());
-                        break;
-                    }
-                    default: {
-                        break;
-                    }
+        }
+        repository.save(changeRecord);
+        return response;
+    }
+
+    @Transactional
+    public void updateStateByVersion(Integer state, String version) {
+        MapResponse response = new MapResponse();
+        JacksonCriteria criteria = JacksonCriteria.newInstance();
+        criteria.add("version", version);
+        PagedResponse<ClassDefChangeRecord> query = query(criteria);
+        if (query.getCount() == 0) {
+            return;
+        }
+        List<ClassDefChangeRecord> data = query.getData();
+        switch (state) {
+            case 2: {
+                for (ClassDefChangeRecord changeRecord : data) {
+                    changeRecord.setConfirmUser(UserUtils.currentUserId() + "");
+                    changeRecord.setConfirmTime(new Date());
+                }
+                break;
+            }
+            case 3: {
+                for (ClassDefChangeRecord changeRecord : data) {
+                    changeRecord.setPublishUser(UserUtils.currentUserId() + "");
+                    changeRecord.setPublishTime(new Date());
                 }
+                break;
+            }
+            case 4: {
+                for (ClassDefChangeRecord changeRecord : data) {
+                    changeRecord.setFinishTime(new Date());
+                }
+                break;
+            }
+            default: {
+                break;
             }
         }
         repository.saveAll(data);
-        return response;
     }
 
     @Transactional
@@ -180,16 +216,17 @@ public class ClassDefChangeRecordService {
     }
 
     @Transactional
-    public MapResponse delete(List<Integer> param) {
+    public MapResponse delete(ClassDefChangeRecord param) {
         MapResponse response = new MapResponse();
-        List<ClassDefChangeRecord> list = repository.findAllById(param);
-        for (ClassDefChangeRecord changeRecord : list) {
+        Optional<ClassDefChangeRecord> optional = repository.findById(param.getId());
+        if (optional.isPresent()) {
+            ClassDefChangeRecord changeRecord = optional.get();
             if (changeRecord.getState() != 1 || changeRecord.getVersion() != null) {
                 response.setFail(changeRecord.getId() + " 不可删除!");
                 return response;
             }
         }
-        repository.deleteAll(list);
+        repository.delete(param);
         return response;
     }
 

+ 80 - 43
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/service/FuncidDefChangeRecordService.java

@@ -22,8 +22,6 @@ import org.springframework.stereotype.Service;
 
 import javax.transaction.Transactional;
 import java.util.*;
-import java.util.function.Function;
-import java.util.stream.Collectors;
 
 @Slf4j
 @Service
@@ -151,54 +149,92 @@ public class FuncidDefChangeRecordService {
     }
 
     @Transactional
-    public MapResponse update(List<FuncidDefChangeRecord> list) {
+    public MapResponse update(FuncidDefChangeRecord param) {
         MapResponse response = new MapResponse();
-        List<Integer> idList = list.stream().map(FuncidDefChangeRecord::getId).collect(Collectors.toList());
-        List<FuncidDefChangeRecord> data = repository.findAllById(idList);
-        Map<Integer, FuncidDefChangeRecord> dataMap = data.stream().collect(Collectors.toMap(FuncidDefChangeRecord::getId, Function.identity()));
-        for (FuncidDefChangeRecord param : list) {
-            FuncidDefChangeRecord changeRecord = dataMap.get(param.getId());
-            if (changeRecord.getState() == 1 && changeRecord.getVersion() == null) {
-                if (param.getAliasCode() != null) {
-                    changeRecord.setAliasCode(param.getAliasCode());
+        Optional<FuncidDefChangeRecord> optional = repository.findById(param.getId());
+        if (!optional.isPresent()) {
+            response.setFail("code not exists");
+            return response;
+        }
+        FuncidDefChangeRecord changeRecord = optional.get();
+        if (changeRecord.getState() == 1 && changeRecord.getVersion() == null) {
+            if (param.getAliasCode() != null) {
+                changeRecord.setAliasCode(param.getAliasCode());
+            }
+            if (param.getAliasName() != null) {
+                changeRecord.setAliasName(param.getAliasName());
+            }
+            if (param.getFirstTag() != null) {
+                changeRecord.setFirstTag(param.getFirstTag());
+            }
+            if (param.getSecondTag() != null) {
+                changeRecord.setSecondTag(param.getSecondTag());
+            }
+            if (param.getNote() != null) {
+                changeRecord.setNote(param.getNote());
+            }
+        }
+        if (param.getState() != null) {
+            switch (param.getState()) {
+                case 2: {
+                    changeRecord.setConfirmUser(UserUtils.currentUserId() + "");
+                    changeRecord.setConfirmTime(new Date());
+                    break;
                 }
-                if (param.getAliasName() != null) {
-                    changeRecord.setAliasName(param.getAliasName());
+                case 3: {
+                    changeRecord.setPublishUser(UserUtils.currentUserId() + "");
+                    changeRecord.setPublishTime(new Date());
+                    break;
                 }
-                if (param.getFirstTag() != null) {
-                    changeRecord.setFirstTag(param.getFirstTag());
+                case 4: {
+                    changeRecord.setFinishTime(new Date());
+                    break;
                 }
-                if (param.getSecondTag() != null) {
-                    changeRecord.setSecondTag(param.getSecondTag());
+                default: {
+                    break;
                 }
-                if (param.getNote() != null) {
-                    changeRecord.setNote(param.getNote());
+            }
+        }
+        repository.save(changeRecord);
+        return response;
+    }
+
+    @Transactional
+    public void updateStateByVersion(Integer state, String version) {
+        MapResponse response = new MapResponse();
+        JacksonCriteria criteria = JacksonCriteria.newInstance();
+        criteria.add("version", version);
+        PagedResponse<FuncidDefChangeRecord> query = query(criteria);
+        if (query.getCount() == 0) {
+            return;
+        }
+        List<FuncidDefChangeRecord> data = query.getData();
+        switch (state) {
+            case 2: {
+                for (FuncidDefChangeRecord changeRecord : data) {
+                    changeRecord.setConfirmUser(UserUtils.currentUserId() + "");
+                    changeRecord.setConfirmTime(new Date());
                 }
+                break;
             }
-            if (param.getState() != null) {
-                switch (param.getState()) {
-                    case 2: {
-                        changeRecord.setConfirmUser(UserUtils.currentUserId() + "");
-                        changeRecord.setConfirmTime(new Date());
-                        break;
-                    }
-                    case 3: {
-                        changeRecord.setPublishUser(UserUtils.currentUserId() + "");
-                        changeRecord.setPublishTime(new Date());
-                        break;
-                    }
-                    case 4: {
-                        changeRecord.setFinishTime(new Date());
-                        break;
-                    }
-                    default: {
-                        break;
-                    }
+            case 3: {
+                for (FuncidDefChangeRecord changeRecord : data) {
+                    changeRecord.setPublishUser(UserUtils.currentUserId() + "");
+                    changeRecord.setPublishTime(new Date());
                 }
+                break;
+            }
+            case 4: {
+                for (FuncidDefChangeRecord changeRecord : data) {
+                    changeRecord.setFinishTime(new Date());
+                }
+                break;
+            }
+            default: {
+                break;
             }
         }
         repository.saveAll(data);
-        return response;
     }
 
     @Transactional
@@ -217,16 +253,17 @@ public class FuncidDefChangeRecordService {
     }
 
     @Transactional
-    public MapResponse delete(List<Integer> param) {
+    public MapResponse delete(FuncidDefChangeRecord param) {
         MapResponse response = new MapResponse();
-        List<FuncidDefChangeRecord> list = repository.findAllById(param);
-        for (FuncidDefChangeRecord changeRecord : list) {
+        Optional<FuncidDefChangeRecord> optional = repository.findById(param.getId());
+        if (optional.isPresent()) {
+            FuncidDefChangeRecord changeRecord = optional.get();
             if (changeRecord.getState() != 1 || changeRecord.getVersion() != null) {
                 response.setFail(changeRecord.getId() + " 不可删除!");
                 return response;
             }
         }
-        repository.deleteAll(list);
+        repository.delete(param);
         return response;
     }
 

+ 2 - 14
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/service/RwdeditVersionService.java

@@ -97,21 +97,9 @@ public class RwdeditVersionService {
         JacksonCriteria criteria = JacksonCriteria.newInstance();
         criteria.add("version", version);
         //修改类型变更记录状态
-        List<ClassDefChangeRecord> classDefList = classDefChangeRecordService.query(criteria).getData();
-        if (classDefList != null) {
-            for (ClassDefChangeRecord classDefChangeRecord : classDefList) {
-                classDefChangeRecord.setState(state);
-            }
-            classDefChangeRecordService.update(classDefList);
-        }
+        classDefChangeRecordService.updateStateByVersion(state, version);
         //修改信息点变更记录状态
-        List<FuncidDefChangeRecord> funcidDefList = funcidDefChangeRecordService.query(criteria).getData();
-        if (funcidDefList != null) {
-            for (FuncidDefChangeRecord funcidDefChangeRecord : funcidDefList) {
-                funcidDefChangeRecord.setState(state);
-            }
-            funcidDefChangeRecordService.update(funcidDefList);
-        }
+        funcidDefChangeRecordService.updateStateByVersion(state, version);
         RwdeditVersion rwdeditVersion = data.get();
         rwdeditVersion.setState(state);
         repository.save(rwdeditVersion);