Browse Source

修改变更状态接口

fengyanjie 4 years ago
parent
commit
a33723339a

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

@@ -28,7 +28,7 @@ public class RwdeditVersionController {
     }
 
     @PostMapping("/infoAddVersion")
-    public MapResponse infoAddVersion(@RequestBody List<Integer> infoIdList, @RequestParam Integer versionId, @RequestParam Integer type) {
+    public MapResponse infoAddVersion(@RequestBody List<Integer> infoIdList, @RequestParam String versionId, @RequestParam Integer type) {
         return service.infoAddVersion(infoIdList, versionId, type);
     }
 

+ 29 - 0
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/entity/ClassDefChangeRecord.java

@@ -1,6 +1,7 @@
 package com.persagy.dmp.rwd.edit.entity;
 
 import com.persagy.dmp.rwd.edit.enumeration.EnumOperationType;
+import com.persagy.dmp.rwd.edit.model.ClassDefChangeRecordModel;
 import com.persagy.dmp.rwd.enums.ObjType;
 import com.vladmihalcea.hibernate.type.json.JsonStringType;
 import lombok.Getter;
@@ -48,4 +49,32 @@ public class ClassDefChangeRecord {
     private Date finishTime;//完成时间
     private Boolean valid;//true 正常 false 失效
     private Integer state;//状态 0.取消 1.初始化 2.确认 3.发布 4.完成
+
+    public ClassDefChangeRecordModel toModel() {
+        ClassDefChangeRecordModel model = new ClassDefChangeRecordModel();
+        model.setId(this.id);
+        model.setCode(this.code);
+        model.setGroupCode(this.groupCode);
+        model.setObjType(this.objType);
+        model.setName(this.name);
+        model.setAliasCode(this.aliasCode);
+        model.setAliasName(this.aliasName);
+        model.setType(this.type);
+        model.setProjectId(this.projectId);
+        model.setMajorCode(this.majorCode);
+        model.setSystemCode(this.systemCode);
+        model.setEquipmentCode(this.equipmentCode);
+        model.setParentCode(this.parentCode);
+        model.setOperationType(this.operationType);
+        model.setOperationUser(this.operationUser);
+        model.setOperationTime(this.operationTime);
+        model.setConfirmUser(this.confirmUser);
+        model.setConfirmTime(this.confirmTime);
+        model.setPublishUser(this.publishUser);
+        model.setPublishTime(this.publishTime);
+        model.setFinishTime(this.finishTime);
+        model.setValid(this.valid);
+        model.setState(this.state);
+        return model;
+    }
 }

+ 4 - 3
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/entity/RwdeditVersion.java

@@ -3,7 +3,10 @@ package com.persagy.dmp.rwd.edit.entity;
 import lombok.Getter;
 import lombok.Setter;
 
-import javax.persistence.*;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
 import java.util.Date;
 
 @Setter
@@ -13,8 +16,6 @@ import java.util.Date;
 public class RwdeditVersion {
 
     @Id
-    @GeneratedValue(strategy = GenerationType.IDENTITY)
-    private Integer id;
     private String version;
 
     @Column(name = "create_time", insertable = false, updatable = false)

+ 1 - 1
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/entity/RwdeditVersionChangeRecord.java

@@ -19,7 +19,7 @@ import javax.persistence.Table;
 public class RwdeditVersionChangeRecord {
 
     @Id
-    private Integer versionId;
+    private String versionId;
     @Id
     private Integer changeId;
     @Id

+ 2 - 2
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/entity/VersionPK.java

@@ -14,7 +14,7 @@ import java.util.Objects;
 public class VersionPK implements Serializable {
 
     @Column
-    private Integer versionId;
+    private String versionId;
     @Column
     private Integer changeId;
     @Column
@@ -23,7 +23,7 @@ public class VersionPK implements Serializable {
     public VersionPK() {
     }
 
-    public VersionPK(Integer versionId, Integer changeId, Integer type) {
+    public VersionPK(String versionId, Integer changeId, Integer type) {
         this.versionId = versionId;
         this.changeId = changeId;
         this.type = type;

+ 42 - 0
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/model/ClassDefChangeRecordModel.java

@@ -0,0 +1,42 @@
+package com.persagy.dmp.rwd.edit.model;
+
+import com.persagy.dmp.rwd.edit.enumeration.EnumOperationType;
+import com.persagy.dmp.rwd.enums.ObjType;
+import com.persagy.dmp.rwd.model.FuncidDefModel;
+import com.vladmihalcea.hibernate.type.json.JsonStringType;
+import lombok.Getter;
+import lombok.Setter;
+import org.hibernate.annotations.SQLDelete;
+import org.hibernate.annotations.TypeDef;
+import org.hibernate.annotations.Where;
+
+import javax.persistence.*;
+import java.util.Date;
+
+@Setter
+@Getter
+public class ClassDefChangeRecordModel {
+    private Integer id;
+    private String code;
+    private String groupCode;
+    private ObjType objType;
+    private String name;
+    private String aliasCode;
+    private String aliasName;
+    private String type;
+    private String projectId;
+    private String majorCode;
+    private String systemCode;
+    private String equipmentCode;
+    private String parentCode;
+    private EnumOperationType operationType;//操作类型
+    private String operationUser;//操作人
+    private Date operationTime;//操作时间
+    private String confirmUser;//确认人
+    private Date confirmTime;//确认时间
+    private String publishUser;//发布人
+    private Date publishTime;//发布时间
+    private Date finishTime;//完成时间
+    private Boolean valid;//true 正常 false 失效
+    private Integer state;//状态 0.取消 1.初始化 2.确认 3.发布 4.完成
+}

+ 16 - 2
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/service/ClassDefChangeRecordService.java

@@ -11,8 +11,11 @@ import com.persagy.common.web.PagedResponse;
 import com.persagy.dmp.rwd.edit.config.web.UserUtils;
 import com.persagy.dmp.rwd.edit.entity.ClassDefChangeRecord;
 import com.persagy.dmp.rwd.edit.entity.QClassDefChangeRecord;
+import com.persagy.dmp.rwd.edit.entity.QRwdeditVersionChangeRecord;
+import com.persagy.dmp.rwd.edit.entity.RwdeditVersionChangeRecord;
 import com.persagy.dmp.rwd.edit.enumeration.EnumOperationType;
 import com.persagy.dmp.rwd.edit.repository.ClassDefChangeRecordRepository;
+import com.persagy.dmp.rwd.edit.repository.RwdeditVersionChangeRecordRepository;
 import com.persagy.dmp.rwd.model.ClassDefModel;
 import com.querydsl.core.types.dsl.BooleanExpression;
 import lombok.extern.slf4j.Slf4j;
@@ -23,10 +26,13 @@ import javax.servlet.http.HttpServletResponse;
 import javax.transaction.Transactional;
 import java.io.*;
 import java.util.*;
+import java.util.stream.Collectors;
 
 @Slf4j
 @Service
 public class ClassDefChangeRecordService {
+    @Autowired
+    RwdeditVersionChangeRecordRepository versionChangeRecordRepository;
 
     @Autowired
     ClassDefChangeRecordRepository repository;
@@ -55,8 +61,16 @@ public class ClassDefChangeRecordService {
     }
 
     public PagedResponse<ClassDefChangeRecord> query(JacksonCriteria criteria) {
-        PagedResponse<ClassDefChangeRecord> result = criteriaUtils.query(QClassDefChangeRecord.classDefChangeRecord, this::parse, criteria);
-        return result;
+        String versionId = criteria.getString("versionId");
+        if (versionId != null) {
+            QRwdeditVersionChangeRecord qt = QRwdeditVersionChangeRecord.rwdeditVersionChangeRecord;
+            Iterable<RwdeditVersionChangeRecord> all = versionChangeRecordRepository.findAll(qt.versionId.eq(versionId).and(qt.type.eq(1)));
+            List<RwdeditVersionChangeRecord> list = new ArrayList<>();
+            all.forEach(list::add);
+            List<Integer> changeIdList = list.stream().map(RwdeditVersionChangeRecord::getChangeId).collect(Collectors.toList());
+            criteria.add("id").in(changeIdList);
+        }
+        return criteriaUtils.query(QClassDefChangeRecord.classDefChangeRecord, this::parse, criteria);
     }
 
     @Transactional

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

@@ -72,12 +72,51 @@ public class FuncidDefChangeRecordService {
             response.setFail("classCode is required");
             return response;
         }
+        List<FuncidDefModel> funcidDefList = queryFuncidDef(code, classCode);
         if (EnumOperationType.create.equals(param.getOperationType())) {
-            Boolean isExists = isExists(code, classCode);
-            if (!isExists) {
+            if (funcidDefList.size() > 0) {
                 response.setFail("code is exists");
                 return response;
             }
+        } else {
+            if (funcidDefList.size() == 0) {
+                response.setFail("code not exists");
+                return response;
+            }
+            FuncidDefModel funcidDef = funcidDefList.get(0);
+            param.setOrigCode(funcidDef.getOrigCode());
+            param.setName(funcidDef.getName());
+            if (param.getAliasCode() == null) {
+                param.setAliasCode(funcidDef.getAliasCode());
+            }
+            if (param.getAliasName() == null) {
+                param.setAliasName(funcidDef.getAliasName());
+            }
+            param.setClassCode(funcidDef.getClassCode());
+            param.setCategory(funcidDef.getCategory());
+            param.setType(funcidDef.getType());
+            param.setGroupCode(funcidDef.getGroupCode());
+            param.setProjectId(funcidDef.getProjectId());
+            if (param.getFirstTag() == null) {
+                param.setFirstTag(funcidDef.getFirstTag());
+            }
+            if (param.getSecondTag() == null) {
+                param.setSecondTag(funcidDef.getSecondTag());
+            }
+            param.setPriority(funcidDef.getPriority());
+            param.setInputMode(funcidDef.getInputMode());
+            param.setUnit(funcidDef.getUnit());
+            param.setDataType(funcidDef.getDataType());
+            param.setOrigDataType(funcidDef.getOrigDataType());
+            param.setIsMultiple(funcidDef.getIsMultiple());
+            param.setIsRegion(funcidDef.getIsRegion());
+            param.setFormater(funcidDef.getFormater());
+            param.setDataSource(funcidDef.getDataSource());
+            if (param.getNote() == null) {
+                param.setNote(funcidDef.getNote());
+            }
+            param.setSubFlag(funcidDef.getSubFlag());
+            param.setWeakPoint(funcidDef.getWeakPoint());
         }
         QFuncidDefChangeRecord qt = QFuncidDefChangeRecord.funcidDefChangeRecord;
         BooleanExpression ex = qt.code.eq(code).and(qt.state.eq(1));
@@ -96,17 +135,14 @@ public class FuncidDefChangeRecordService {
         return response;
     }
 
-    private Boolean isExists(String code, String classCode) {
+    private List<FuncidDefModel> queryFuncidDef(String code, String classCode) {
         JacksonCriteria criteria = JacksonCriteria.newInstance();
         criteria.add("type", "common");
         criteria.add("code", code);
         criteria.add("classCode", classCode);
         PagedResponse<FuncidDefModel> query = funcidDefService.query(criteria);
         List<FuncidDefModel> data = query.getData();
-        if (data.size() > 0) {
-            return false;
-        }
-        return true;
+        return data;
     }
 
     @Transactional

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

@@ -61,12 +61,12 @@ public class RwdeditVersionService {
         entity.setCreateTime(new Date());
         entity.setCreateUser(UserUtils.currentUserId() + "");
         repository.save(entity);
-        response.add("id", entity.getId());
+        response.add("id", entity.getVersion());
         return response;
     }
 
     @Transactional
-    public MapResponse infoAddVersion(List<Integer> infoIdList, Integer versionId, Integer type) {
+    public MapResponse infoAddVersion(List<Integer> infoIdList, String versionId, Integer type) {
         MapResponse response = new MapResponse();
         List<RwdeditVersionChangeRecord> data = new ArrayList<>();
         for (Integer infoId : infoIdList) {