瀏覽代碼

添加全量下载excel接口

fengyanjie 4 年之前
父節點
當前提交
5748c43d71

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

@@ -44,8 +44,8 @@ public class ClassDefChangeRecordController {
         return service.addVersion(version, idList);
     }
 
-    @PostMapping("/upload")
-    public MapResponse upload(@RequestParam("file") MultipartFile file) {
+    @PostMapping("/uploadChangeRecord")
+    public MapResponse uploadChangeRecord(@RequestParam("file") MultipartFile file) {
         List<ClassDefChangeRecord> classDefChangeRecordList = null;
         try {
             classDefChangeRecordList = service.CompareDataExcelRead(file);

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

@@ -44,8 +44,8 @@ public class FuncidDefChangeRecordController {
         return service.addVersion(version, idList);
     }
 
-    @PostMapping("/upload")
-    public MapResponse upload(@RequestParam("file") MultipartFile file) {
+    @PostMapping("/uploadChangeRecord")
+    public MapResponse uploadChangeRecord(@RequestParam("file") MultipartFile file) {
         List<FuncidDefChangeRecord> funcidDefChangeRecordList = null;
         try {
             funcidDefChangeRecordList = service.CompareDataExcelRead(file);

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

@@ -38,8 +38,10 @@ public class RwdeditVersionController {
     }
 
     @PostMapping("/download")
-    public void download(@RequestParam String version, HttpServletResponse response) {
-        service.download(response, version);
+    public void download(@RequestParam String version,
+                         @RequestParam(name = "isTotal", required = false, defaultValue = "false") Boolean isTotal,
+                         HttpServletResponse response) {
+        service.download(response, version, isTotal);
     }
 
 }

+ 33 - 8
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/service/ClassDefChangeRecordService.java

@@ -80,7 +80,7 @@ public class ClassDefChangeRecordService {
             response.setFail("code is required");
             return response;
         }
-        List<ClassDefModel> classDefList = queryClassDef(code, null);
+        List<ClassDefModel> classDefList = queryClassDef(code, null, null);
         if (EnumOperationType.create.equals(param.getOperationType())) {
             if (classDefList.size() > 0) {
                 response.setFail("code is exists");
@@ -169,12 +169,34 @@ public class ClassDefChangeRecordService {
         return response;
     }
 
-    public List<String> getSqlList(String version) {
+    public List<String> getSqlList(String version, Boolean isTotal) {
         List<String> sqlList = new ArrayList<>();
         JacksonCriteria criteria = JacksonCriteria.newInstance();
         criteria.add("version", version);
         PagedResponse<ClassDefChangeRecord> response = query(criteria);
         List<ClassDefChangeRecord> data = response.getData();
+        if (isTotal) {
+            List<ClassDefModel> classDefModelList = queryClassDef(null, null, version);
+            if (classDefModelList != null) {
+                for (ClassDefModel classDefModel : classDefModelList) {
+                    ClassDefChangeRecord changeRecord = new ClassDefChangeRecord();
+                    changeRecord.setCode(classDefModel.getCode());
+                    changeRecord.setGroupCode(classDefModel.getGroupCode());
+                    changeRecord.setObjType(classDefModel.getObjType());
+                    changeRecord.setName(classDefModel.getName());
+                    changeRecord.setAliasCode(classDefModel.getAliasCode());
+                    changeRecord.setAliasName(classDefModel.getAliasName());
+                    changeRecord.setType(classDefModel.getType());
+                    changeRecord.setProjectId(classDefModel.getProjectId());
+                    changeRecord.setMajorCode(classDefModel.getMajorCode());
+                    changeRecord.setSystemCode(classDefModel.getSystemCode());
+                    changeRecord.setEquipmentCode(classDefModel.getEquipmentCode());
+                    changeRecord.setParentCode(classDefModel.getParentCode());
+                    changeRecord.setOperationType(EnumOperationType.create);
+                    data.add(changeRecord);
+                }
+            }
+        }
         for (ClassDefChangeRecord changeRecord : data) {
             StringBuilder sql = new StringBuilder();
             switch (changeRecord.getOperationType()) {
@@ -214,9 +236,9 @@ public class ClassDefChangeRecordService {
                         sql.append("'" + changeRecord.getEquipmentCode() + "',");
                     }
                     if (changeRecord.getParentCode() == null) {
-                        sql.append("null);");
+                        sql.append("null);\n");
                     } else {
-                        sql.append("'" + changeRecord.getParentCode() + "');");
+                        sql.append("'" + changeRecord.getParentCode() + "');\n");
                     }
                     break;
                 }
@@ -226,14 +248,14 @@ public class ClassDefChangeRecordService {
                     sql.append(" `alias_name` = '" + changeRecord.getAliasName() + "'");
                     sql.append(" WHERE `code` = '" + changeRecord.getCode() + "'");
                     sql.append(" and `group_code` = '" + changeRecord.getGroupCode() + "'");
-                    sql.append(" and `project_id` = '" + changeRecord.getProjectId() + "';");
+                    sql.append(" and `project_id` = '" + changeRecord.getProjectId() + "';\n");
                     break;
                 }
                 case delete: {
                     sql.append("DELETE FROM `rwd_def_class`");
                     sql.append(" WHERE `code` = '" + changeRecord.getCode() + "'");
                     sql.append(" and `group_code` = '" + changeRecord.getGroupCode() + "'");
-                    sql.append(" and `project_id` = '" + changeRecord.getProjectId() + "';");
+                    sql.append(" and `project_id` = '" + changeRecord.getProjectId() + "';\n");
                     break;
                 }
                 default: {
@@ -309,7 +331,7 @@ public class ClassDefChangeRecordService {
             classDefList.add(classDef);
             codeList.add(item.getCode());
         });
-        List<ClassDefModel> classDefModelList = queryClassDef(null, codeList);
+        List<ClassDefModel> classDefModelList = queryClassDef(null, codeList, null);
         if (classDefModelList != null) {
             classDefModelList.forEach(item -> {
                 item.setIsUsed(0);
@@ -320,7 +342,7 @@ public class ClassDefChangeRecordService {
         classDefRepository.saveAll(classDefList);
     }
 
-    private List<ClassDefModel> queryClassDef(String code, List<String> codeList) {
+    private List<ClassDefModel> queryClassDef(String code, List<String> codeList, String neVersion) {
         JacksonCriteria criteria = JacksonCriteria.newInstance();
         criteria.add("type", "common");
         if (code != null) {
@@ -329,6 +351,9 @@ public class ClassDefChangeRecordService {
         if (codeList != null) {
             criteria.add("code").in(codeList);
         }
+        if (neVersion != null) {
+            criteria.add("version").ne(neVersion);
+        }
         ListResponse<ClassDefModel> query = classDefService.queryClass(criteria);
         List<ClassDefModel> data = query.getData();
         return data;

+ 78 - 14
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/service/FuncidDefChangeRecordService.java

@@ -21,6 +21,7 @@ import com.persagy.dmp.rwd.edit.repository.FuncidDefChangeRecordRepository;
 import com.persagy.dmp.rwd.edit.repository.FuncidDefRepository;
 import com.persagy.dmp.rwd.enums.FuncidCategory;
 import com.persagy.dmp.rwd.enums.FuncidDataType;
+import com.persagy.dmp.rwd.model.ClassDefModel;
 import com.persagy.dmp.rwd.model.FuncidDefModel;
 import com.querydsl.core.types.dsl.BooleanExpression;
 import lombok.extern.slf4j.Slf4j;
@@ -45,6 +46,9 @@ public class FuncidDefChangeRecordService {
     FuncidDefService funcidDefService;
 
     @Autowired
+    ClassDefService classDefService;
+
+    @Autowired
     RwdeditRefTypeInfosService rwdeditRefTypeInfosService;
 
     @Autowired
@@ -89,7 +93,11 @@ public class FuncidDefChangeRecordService {
             response.setFail("classCode is required");
             return response;
         }
-        FuncidDefModel funcidDef = queryFuncidDef(code, classCode);
+        FuncidDefModel funcidDef = null;
+        List<FuncidDefModel> funcidDefModelList = queryFuncidDef(code, classCode, null);
+        if (funcidDefModelList != null) {
+            funcidDef = funcidDefModelList.get(0);
+        }
         if (EnumOperationType.create.equals(param.getOperationType())) {
             if (funcidDef != null) {
                 response.setFail("code is exists");
@@ -207,12 +215,46 @@ public class FuncidDefChangeRecordService {
         return response;
     }
 
-    public List<String> getSqlList(String version) {
+    public List<String> getSqlList(String version, Boolean isTotal) {
         List<String> sqlList = new ArrayList<>();
         JacksonCriteria criteria = JacksonCriteria.newInstance();
         criteria.add("version", version);
         PagedResponse<FuncidDefChangeRecord> response = query(criteria);
         List<FuncidDefChangeRecord> data = response.getData();
+        if (isTotal) {
+            List<FuncidDefModel> funcidDefModelList = queryFuncidDef(null, null, version);
+            if (funcidDefModelList != null) {
+                for (FuncidDefModel funcidDefModel : funcidDefModelList) {
+                    FuncidDefChangeRecord changeRecord = new FuncidDefChangeRecord();
+                    changeRecord.setCode(funcidDefModel.getCode());
+                    changeRecord.setGroupCode(funcidDefModel.getGroupCode());
+                    changeRecord.setProjectId(funcidDefModel.getProjectId());
+                    changeRecord.setOrigCode(funcidDefModel.getOrigCode());
+                    changeRecord.setName(funcidDefModel.getName());
+                    changeRecord.setAliasCode(funcidDefModel.getAliasCode());
+                    changeRecord.setAliasName(funcidDefModel.getAliasName());
+                    changeRecord.setClassCode(funcidDefModel.getClassCode());
+                    changeRecord.setCategory(funcidDefModel.getCategory());
+                    changeRecord.setType(funcidDefModel.getType());
+                    changeRecord.setFirstTag(funcidDefModel.getFirstTag());
+                    changeRecord.setSecondTag(funcidDefModel.getSecondTag());
+                    changeRecord.setPriority(funcidDefModel.getPriority());
+                    changeRecord.setInputMode(funcidDefModel.getInputMode());
+                    changeRecord.setUnit(funcidDefModel.getUnit());
+                    changeRecord.setDataType(funcidDefModel.getDataType());
+                    changeRecord.setOrigDataType(funcidDefModel.getOrigDataType());
+                    changeRecord.setIsMultiple(funcidDefModel.getIsMultiple());
+                    changeRecord.setIsRegion(funcidDefModel.getIsRegion());
+                    changeRecord.setFormater(funcidDefModel.getFormater());
+                    changeRecord.setDataSource(funcidDefModel.getDataSource());
+                    changeRecord.setNote(funcidDefModel.getNote());
+                    changeRecord.setSubFlag(funcidDefModel.getSubFlag());
+                    changeRecord.setWeakPoint(funcidDefModel.getWeakPoint());
+                    changeRecord.setOperationType(EnumOperationType.create);
+                    data.add(changeRecord);
+                }
+            }
+        }
         for (FuncidDefChangeRecord changeRecord : data) {
             StringBuilder sql = new StringBuilder();
             switch (changeRecord.getOperationType()) {
@@ -315,9 +357,9 @@ public class FuncidDefChangeRecordService {
                         sql.append("'" + changeRecord.getSubFlag() + "')");
                     }
                     if (changeRecord.getWeakPoint() == null) {
-                        sql.append("null);");
+                        sql.append("null);\n");
                     } else {
-                        sql.append("'" + changeRecord.getWeakPoint() + "');");
+                        sql.append("'" + changeRecord.getWeakPoint() + "');\n");
                     }
                     break;
                 }
@@ -328,7 +370,7 @@ public class FuncidDefChangeRecordService {
                     sql.append(" WHERE `code` = '" + changeRecord.getCode() + "'");
                     sql.append(" WHERE `class_code` = '" + changeRecord.getClassCode() + "'");
                     sql.append(" and `group_code` = '" + changeRecord.getGroupCode() + "'");
-                    sql.append(" and `project_id` = '" + changeRecord.getProjectId() + "';");
+                    sql.append(" and `project_id` = '" + changeRecord.getProjectId() + "';\n");
                     break;
                 }
                 case delete: {
@@ -336,7 +378,7 @@ public class FuncidDefChangeRecordService {
                     sql.append(" WHERE `code` = '" + changeRecord.getCode() + "'");
                     sql.append(" WHERE `class_code` = '" + changeRecord.getClassCode() + "'");
                     sql.append(" and `group_code` = '" + changeRecord.getGroupCode() + "'");
-                    sql.append(" and `project_id` = '" + changeRecord.getProjectId() + "';");
+                    sql.append(" and `project_id` = '" + changeRecord.getProjectId() + "';\n");
                     break;
                 }
                 default: {
@@ -431,8 +473,9 @@ public class FuncidDefChangeRecordService {
             funcidDef.setVersion(version);//版本
             funcidDef.setLastUpdateTime(new Date());//发布时间
             funcidDefList.add(funcidDef);
-            FuncidDefModel funcidDefModel = queryFuncidDef(item.getCode(), item.getClassCode());
-            if (funcidDefModel != null) {
+            List<FuncidDefModel> funcidDefModelList = queryFuncidDef(item.getCode(), item.getClassCode(), null);
+            if (funcidDefModelList != null) {
+                FuncidDefModel funcidDefModel = funcidDefModelList.get(0);
                 funcidDefModel.setIsUsed(0);
                 funcidDefModel.setLastUpdateTime(new Date());
                 funcidDefList.add(FuncidDef.fromModel(funcidDefModel));
@@ -441,15 +484,36 @@ public class FuncidDefChangeRecordService {
         funcidDefRepository.saveAll(funcidDefList);
     }
 
-    private FuncidDefModel queryFuncidDef(String code, String classCode) {
+    private List<FuncidDefModel> queryFuncidDef(String code, String classCode, String neVersion) {
+        List<FuncidDefModel> data = null;
         JacksonCriteria criteria = JacksonCriteria.newInstance();
         criteria.add("type", "common");
-        criteria.add("code", code);
-        criteria.add("classCode", classCode);
-        ListResponse<FuncidDefModel> query = funcidDefService.queryFuncid(criteria);
-        List<FuncidDefModel> data = query.getData();
+        if (code != null) {
+            criteria.add("code", code);
+        }
+        if (classCode != null) {
+            criteria.add("classCode", classCode);
+        }
+        if (neVersion != null) {
+            JacksonCriteria queryClass = JacksonCriteria.newInstance();
+            queryClass.add("type", "common");
+            ListResponse<ClassDefModel> query = classDefService.queryClass(queryClass);
+            List<ClassDefModel> classDefModelList = query.getData();
+            data = new ArrayList<>();
+            for (ClassDefModel classDefModel : classDefModelList) {
+                criteria = JacksonCriteria.newInstance();
+                criteria.add("type", "common");
+                criteria.add("classCode", classDefModel.getCode());
+                criteria.add("version").ne(neVersion);
+                ListResponse<FuncidDefModel> queryFuncid = funcidDefService.queryFuncid(criteria);
+                data.addAll(queryFuncid.getData());
+            }
+        } else {
+            ListResponse<FuncidDefModel> queryFuncid = funcidDefService.queryFuncid(criteria);
+            data = queryFuncid.getData();
+        }
         if (data != null && data.size() != 0) {
-            return data.get(0);
+            return data;
         }
         return null;
     }

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

@@ -142,11 +142,11 @@ public class RwdeditVersionService {
     }
 
     @Transactional
-    public void download(HttpServletResponse resp, String version) {
+    public void download(HttpServletResponse resp, String version, Boolean isTotal) {
         String fileName = DateUtils.format(new Date()) + ".sql";
         List<String> sqlList = new ArrayList<>();
-        sqlList.addAll(classDefChangeRecordService.getSqlList(version));
-        sqlList.addAll(funcidDefChangeRecordService.getSqlList(version));
+        sqlList.addAll(classDefChangeRecordService.getSqlList(version, isTotal));
+        sqlList.addAll(funcidDefChangeRecordService.getSqlList(version, isTotal));
 
         OutputStream out = null;
         try {