Pārlūkot izejas kodu

版本发布,更新使用数据

fengyanjie 4 gadi atpakaļ
vecāks
revīzija
ec19d3fc8c

+ 6 - 0
dmp-model/src/main/java/com/persagy/dmp/rwd/model/ClassDefModel.java

@@ -4,6 +4,8 @@ import com.persagy.dmp.rwd.enums.ObjType;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.Date;
+
 @Setter
 @Getter
 public class ClassDefModel {
@@ -22,4 +24,8 @@ public class ClassDefModel {
 	private String equipmentCode;
 	private String parentCode;
 
+	private Integer state;//状态 0.历史版本 1.使用中
+	private String version;//版本
+	private Date lastUpdateTime;//最后更新时间
+
 }

+ 6 - 0
dmp-model/src/main/java/com/persagy/dmp/rwd/model/FuncidDefModel.java

@@ -6,6 +6,8 @@ import com.persagy.dmp.rwd.enums.FuncidDataType;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.Date;
+
 @Setter
 @Getter
 public class FuncidDefModel {
@@ -36,4 +38,8 @@ public class FuncidDefModel {
 	private Boolean subFlag;
 	private Boolean weakPoint;
 
+	private Integer state;//状态 0.历史版本 1.使用中
+	private String version;//版本
+	private Date lastUpdateTime;//最后更新时间
+
 }

+ 10 - 0
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/entity/ClassDef.java

@@ -6,6 +6,7 @@ import lombok.Getter;
 import lombok.Setter;
 
 import javax.persistence.*;
+import java.util.Date;
 
 @Setter
 @Getter
@@ -30,6 +31,9 @@ public class ClassDef {
 	private String systemCode;
 	private String equipmentCode;
 	private String parentCode;
+	private Integer state;//状态 0.历史版本 1.使用中
+	private String version;//版本
+	private Date lastUpdateTime;//最后更新时间
 
 	public static ClassDef fromModel(ClassDefModel model) {
 		ClassDef entity = new ClassDef();
@@ -46,6 +50,9 @@ public class ClassDef {
 		entity.setSystemCode(model.getSystemCode());
 		entity.setEquipmentCode(model.getEquipmentCode());
 		entity.setParentCode(model.getParentCode());
+		entity.setState(model.getState());//状态 0.历史版本 1.使用中
+		entity.setVersion(model.getVersion());//版本
+		entity.setLastUpdateTime(model.getLastUpdateTime());//发布时间
 		return entity;
 	}
 
@@ -64,6 +71,9 @@ public class ClassDef {
 		model.setSystemCode(this.getSystemCode());
 		model.setEquipmentCode(this.getEquipmentCode());
 		model.setParentCode(this.getParentCode());
+		model.setState(this.getState());//状态 0.历史版本 1.使用中
+		model.setVersion(this.getVersion());//版本
+		model.setLastUpdateTime(this.getLastUpdateTime());//发布时间
 		return model;
 	}
 

+ 10 - 0
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/entity/FuncidDef.java

@@ -9,6 +9,7 @@ import lombok.Setter;
 import org.hibernate.annotations.Type;
 
 import javax.persistence.*;
+import java.util.Date;
 
 @Setter
 @Getter
@@ -50,6 +51,9 @@ public class FuncidDef {
     private String note;
     private Boolean subFlag;
     private Boolean weakPoint;
+    private Integer state;//状态 0.历史版本 1.使用中
+    private String version;//版本
+    private Date lastUpdateTime;//最后更新时间
 
     public static FuncidDef fromModel(FuncidDefModel model) {
         FuncidDef entity = new FuncidDef();
@@ -78,6 +82,9 @@ public class FuncidDef {
         entity.setNote(model.getNote());
         entity.setSubFlag(model.getSubFlag());
         entity.setWeakPoint(model.getWeakPoint());
+        entity.setState(model.getState());//状态 0.历史版本 1.使用中
+        entity.setVersion(model.getVersion());//版本
+        entity.setLastUpdateTime(model.getLastUpdateTime());//发布时间
         return entity;
     }
 
@@ -108,6 +115,9 @@ public class FuncidDef {
         model.setNote(this.getNote());
         model.setSubFlag(this.getSubFlag());
         model.setWeakPoint(this.getWeakPoint());
+        model.setState(this.getState());//状态 0.历史版本 1.使用中
+        model.setVersion(this.getVersion());//版本
+        model.setLastUpdateTime(this.getLastUpdateTime());//发布时间
         return model;
     }
 

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

@@ -2,15 +2,9 @@ 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

+ 10 - 0
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/repository/ClassDefRepository.java

@@ -0,0 +1,10 @@
+package com.persagy.dmp.rwd.edit.repository;
+
+import com.persagy.dmp.rwd.edit.entity.ClassDef;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.querydsl.QuerydslPredicateExecutor;
+
+public interface ClassDefRepository extends JpaRepository<ClassDef, String>, QuerydslPredicateExecutor<ClassDef> {
+
+}
+

+ 10 - 0
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/repository/FuncidDefRepository.java

@@ -0,0 +1,10 @@
+package com.persagy.dmp.rwd.edit.repository;
+
+import com.persagy.dmp.rwd.edit.entity.FuncidDef;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.querydsl.QuerydslPredicateExecutor;
+
+public interface FuncidDefRepository extends JpaRepository<FuncidDef, String>, QuerydslPredicateExecutor<FuncidDef> {
+
+}
+

+ 95 - 75
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/service/ClassDefChangeRecordService.java

@@ -6,10 +6,12 @@ import com.persagy.common.criteria.JacksonCriteria;
 import com.persagy.common.web.MapResponse;
 import com.persagy.common.web.PagedResponse;
 import com.persagy.dmp.rwd.edit.config.web.UserUtils;
+import com.persagy.dmp.rwd.edit.entity.ClassDef;
 import com.persagy.dmp.rwd.edit.entity.ClassDefChangeRecord;
 import com.persagy.dmp.rwd.edit.entity.QClassDefChangeRecord;
 import com.persagy.dmp.rwd.edit.enumeration.EnumOperationType;
 import com.persagy.dmp.rwd.edit.repository.ClassDefChangeRecordRepository;
+import com.persagy.dmp.rwd.edit.repository.ClassDefRepository;
 import com.persagy.dmp.rwd.model.ClassDefModel;
 import com.querydsl.core.types.dsl.BooleanExpression;
 import lombok.extern.slf4j.Slf4j;
@@ -32,6 +34,9 @@ public class ClassDefChangeRecordService {
     @Autowired
     CriteriaUtils criteriaUtils;
 
+    @Autowired
+    ClassDefRepository classDefRepository;
+
     private List<BooleanExpression> parse(ObjectNode object) {
         List<BooleanExpression> list = new LinkedList<>();
         QClassDefChangeRecord qt = QClassDefChangeRecord.classDefChangeRecord;
@@ -66,7 +71,7 @@ public class ClassDefChangeRecordService {
             response.setFail("code is required");
             return response;
         }
-        List<ClassDefModel> classDefList = queryClassDef(code);
+        List<ClassDefModel> classDefList = queryClassDef(code, null);
         if (EnumOperationType.create.equals(param.getOperationType())) {
             if (classDefList.size() > 0) {
                 response.setFail("code is exists");
@@ -111,15 +116,6 @@ public class ClassDefChangeRecordService {
         return response;
     }
 
-    private List<ClassDefModel> queryClassDef(String code) {
-        JacksonCriteria criteria = JacksonCriteria.newInstance();
-        criteria.add("type", "common");
-        criteria.add("code", code);
-        PagedResponse<ClassDefModel> query = classDefService.query(criteria);
-        List<ClassDefModel> data = query.getData();
-        return data;
-    }
-
     @Transactional
     public MapResponse update(ClassDefChangeRecord param) {
         MapResponse response = new MapResponse();
@@ -137,78 +133,13 @@ public class ClassDefChangeRecordService {
                 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;
-                }
-                case 4: {
-                    changeRecord.setFinishTime(new Date());
-                    break;
-                }
-                default: {
-                    break;
-                }
-            }
-        }
         repository.save(changeRecord);
         return response;
     }
 
     @Transactional
-    public void updateStateByVersion(Integer state, String version) {
-        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);
-    }
-
-    @Transactional
     public MapResponse addVersion(String version, List<Integer> idList) {
         MapResponse response = new MapResponse();
-//        JacksonCriteria criteria = JacksonCriteria.newInstance();
-//        criteria.add("version", version);
-//        Long count = rwdeditVersionService.query(criteria).getCount();
-//        if (count == 0) {
-//            response.setFail("version not exists");
-//            return response;
-//        }
         Integer num = repository.addVersion(version, idList);
         response.setMessage("update num: " + num);
         return response;
@@ -304,5 +235,94 @@ public class ClassDefChangeRecordService {
         }
         return sqlList;
     }
+
+    public void updateStateByVersion(Integer state, String version) {
+        JacksonCriteria criteria = JacksonCriteria.newInstance();
+        criteria.add("version", version);
+        PagedResponse<ClassDefChangeRecord> query = query(criteria);
+        if (query.getCount() == 0) {
+            return;
+        }
+        List<ClassDefChangeRecord> data = query.getData();
+        for (ClassDefChangeRecord changeRecord : data) {
+            switch (state) {
+                case 2: {
+                    changeRecord.setConfirmUser(UserUtils.currentUserId() + "");
+                    changeRecord.setConfirmTime(new Date());
+                    changeRecord.setState(state);
+                    break;
+                }
+                case 3: {
+                    changeRecord.setPublishUser(UserUtils.currentUserId() + "");
+                    changeRecord.setPublishTime(new Date());
+                    changeRecord.setState(state);
+                    break;
+                }
+                case 4: {
+                    changeRecord.setFinishTime(new Date());
+                    changeRecord.setState(state);
+                    break;
+                }
+                default: {
+                    changeRecord.setState(state);
+                    break;
+                }
+            }
+        }
+        if (state == 4) {
+            updateClassDef(data, version);
+        }
+        repository.saveAll(data);
+    }
+
+    private void updateClassDef(List<ClassDefChangeRecord> data, String version) {
+        List<ClassDef> classDefList = new ArrayList<>();
+        List<String> codeList = new ArrayList<>();
+        data.forEach(item -> {
+            String uuid = UUID.randomUUID().toString().replace("-", "");
+            ClassDef classDef = new ClassDef();
+            classDef.setId(uuid);
+            classDef.setCode(item.getCode());
+            classDef.setObjType(item.getObjType());
+            classDef.setName(item.getName());
+            classDef.setType(item.getType());
+            classDef.setGroupCode(item.getGroupCode());
+            classDef.setProjectId(item.getProjectId());
+            classDef.setAliasCode(item.getAliasCode());
+            classDef.setAliasName(item.getAliasName());
+            classDef.setMajorCode(item.getMajorCode());
+            classDef.setSystemCode(item.getSystemCode());
+            classDef.setEquipmentCode(item.getEquipmentCode());
+            classDef.setParentCode(item.getParentCode());
+            classDef.setState(1);
+            classDef.setVersion(version);
+            classDef.setLastUpdateTime(new Date());
+            classDefList.add(classDef);
+            codeList.add(item.getCode());
+        });
+        List<ClassDefModel> classDefModelList = queryClassDef(null, codeList);
+        if (classDefModelList != null) {
+            classDefModelList.forEach(item -> {
+                item.setState(0);
+                item.setLastUpdateTime(new Date());
+                classDefList.add(ClassDef.fromModel(item));
+            });
+        }
+        classDefRepository.saveAll(classDefList);
+    }
+
+    private List<ClassDefModel> queryClassDef(String code, List<String> codeList) {
+        JacksonCriteria criteria = JacksonCriteria.newInstance();
+        criteria.add("type", "common");
+        if (code != null) {
+            criteria.add("code", code);
+        }
+        if (codeList != null) {
+            criteria.add("code").in(codeList);
+        }
+        PagedResponse<ClassDefModel> query = classDefService.query(criteria);
+        List<ClassDefModel> data = query.getData();
+        return data;
+    }
 }
 

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

@@ -8,11 +8,13 @@ import com.persagy.common.json.JacksonMapper;
 import com.persagy.common.web.MapResponse;
 import com.persagy.common.web.PagedResponse;
 import com.persagy.dmp.rwd.edit.config.web.UserUtils;
+import com.persagy.dmp.rwd.edit.entity.FuncidDef;
 import com.persagy.dmp.rwd.edit.entity.FuncidDefChangeRecord;
 import com.persagy.dmp.rwd.edit.entity.QFuncidDefChangeRecord;
 import com.persagy.dmp.rwd.edit.entity.RwdeditRefTypeInfos;
 import com.persagy.dmp.rwd.edit.enumeration.EnumOperationType;
 import com.persagy.dmp.rwd.edit.repository.FuncidDefChangeRecordRepository;
+import com.persagy.dmp.rwd.edit.repository.FuncidDefRepository;
 import com.persagy.dmp.rwd.enums.FuncidDataType;
 import com.persagy.dmp.rwd.model.FuncidDefModel;
 import com.querydsl.core.types.dsl.BooleanExpression;
@@ -39,6 +41,9 @@ public class FuncidDefChangeRecordService {
     @Autowired
     CriteriaUtils criteriaUtils;
 
+    @Autowired
+    FuncidDefRepository funcidDefRepository;
+
     private List<BooleanExpression> parse(ObjectNode object) {
         List<BooleanExpression> list = new LinkedList<>();
         QFuncidDefChangeRecord qt = QFuncidDefChangeRecord.funcidDefChangeRecord;
@@ -75,18 +80,17 @@ public class FuncidDefChangeRecordService {
             response.setFail("classCode is required");
             return response;
         }
-        List<FuncidDefModel> funcidDefList = queryFuncidDef(code, classCode);
+        FuncidDefModel funcidDef = queryFuncidDef(code, classCode);
         if (EnumOperationType.create.equals(param.getOperationType())) {
-            if (funcidDefList.size() > 0) {
+            if (funcidDef == null) {
                 response.setFail("code is exists");
                 return response;
             }
         } else {
-            if (funcidDefList.size() == 0) {
+            if (funcidDef == null) {
                 response.setFail("code not exists");
                 return response;
             }
-            FuncidDefModel funcidDef = funcidDefList.get(0);
             param.setOrigCode(funcidDef.getOrigCode());
             param.setName(funcidDef.getName());
             if (param.getAliasCode() == null) {
@@ -138,16 +142,6 @@ public class FuncidDefChangeRecordService {
         return response;
     }
 
-    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();
-        return data;
-    }
-
     @Transactional
     public MapResponse update(FuncidDefChangeRecord param) {
         MapResponse response = new MapResponse();
@@ -173,26 +167,8 @@ public class FuncidDefChangeRecordService {
             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;
-                }
-                case 3: {
-                    changeRecord.setPublishUser(UserUtils.currentUserId() + "");
-                    changeRecord.setPublishTime(new Date());
-                    break;
-                }
-                case 4: {
-                    changeRecord.setFinishTime(new Date());
-                    break;
-                }
-                default: {
-                    break;
-                }
+            if (param.getPriority() != null) {
+                changeRecord.setPriority(param.getPriority());
             }
         }
         repository.save(changeRecord);
@@ -200,52 +176,8 @@ public class FuncidDefChangeRecordService {
     }
 
     @Transactional
-    public void updateStateByVersion(Integer state, String version) {
-        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;
-            }
-            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);
-    }
-
-    @Transactional
     public MapResponse addVersion(String version, List<Integer> idList) {
         MapResponse response = new MapResponse();
-//        JacksonCriteria criteria = JacksonCriteria.newInstance();
-//        criteria.add("version", version);
-//        Long count = rwdeditVersionService.query(criteria).getCount();
-//        if (count == 0) {
-//            response.setFail("version not exists");
-//            return response;
-//        }
         Integer num = repository.addVersion(version, idList);
         response.setMessage("update num: " + num);
         return response;
@@ -406,5 +338,111 @@ public class FuncidDefChangeRecordService {
         }
         return sqlList;
     }
+
+    public void updateStateByVersion(Integer state, String version) {
+        JacksonCriteria criteria = JacksonCriteria.newInstance();
+        criteria.add("version", version);
+        PagedResponse<FuncidDefChangeRecord> query = query(criteria);
+        if (query.getCount() == 0) {
+            return;
+        }
+        List<FuncidDefChangeRecord> data = query.getData();
+        for (FuncidDefChangeRecord changeRecord : data) {
+            switch (state) {
+                case 2: {
+                    changeRecord.setConfirmUser(UserUtils.currentUserId() + "");
+                    changeRecord.setConfirmTime(new Date());
+                    changeRecord.setState(state);
+                    break;
+                }
+                case 3: {
+                    changeRecord.setPublishUser(UserUtils.currentUserId() + "");
+                    changeRecord.setPublishTime(new Date());
+                    changeRecord.setState(state);
+                    break;
+                }
+                case 4: {
+                    changeRecord.setFinishTime(new Date());
+                    changeRecord.setState(state);
+                    break;
+                }
+                default: {
+                    changeRecord.setState(state);
+                    break;
+                }
+            }
+        }
+        if (state == 4) {
+            updateFuncidDef(data, version);
+        }
+        repository.saveAll(data);
+    }
+
+    private void updateFuncidDef(List<FuncidDefChangeRecord> data, String version) {
+        List<FuncidDef> funcidDefList = new ArrayList<>();
+        data.forEach(item -> {
+            String uuid = UUID.randomUUID().toString().replace("-", "");
+            FuncidDef funcidDef = new FuncidDef();
+            funcidDef.setId(uuid);
+            funcidDef.setCode(item.getCode());
+            funcidDef.setOrigCode(item.getOrigCode());
+            funcidDef.setName(item.getName());
+            funcidDef.setAliasCode(item.getAliasCode());
+            funcidDef.setAliasName(item.getAliasName());
+            funcidDef.setClassCode(item.getClassCode());
+            funcidDef.setCategory(item.getCategory());
+            funcidDef.setType(item.getType());
+            funcidDef.setGroupCode(item.getGroupCode());
+            funcidDef.setProjectId(item.getProjectId());
+            funcidDef.setFirstTag(item.getFirstTag());
+            funcidDef.setSecondTag(item.getSecondTag());
+            funcidDef.setPriority(item.getPriority());
+            funcidDef.setInputMode(item.getInputMode());
+            funcidDef.setUnit(item.getUnit());
+            funcidDef.setOrigDataType(item.getOrigDataType());
+            funcidDef.setIsMultiple(item.getIsMultiple());
+            funcidDef.setIsRegion(item.getIsRegion());
+            funcidDef.setFormater(item.getFormater());
+            funcidDef.setNote(item.getNote());
+            funcidDef.setSubFlag(item.getSubFlag());
+            funcidDef.setWeakPoint(item.getWeakPoint());
+            if (!FuncidDataType.REFENUM.equals(item.getDataType())) {
+                funcidDef.setDataType(item.getDataType());
+                funcidDef.setDataSource(item.getDataSource());
+            } else {
+                funcidDef.setDataType(FuncidDataType.ENUM);
+                ArrayNode dataSource = item.getDataSource();
+                String refKey = dataSource.get(0).get("refKey").asText();
+                JacksonCriteria queryRef = JacksonCriteria.newInstance();
+                queryRef.add("refKey", refKey);
+                List<RwdeditRefTypeInfos> refInfos = rwdeditRefTypeInfosService.query(queryRef).getData();
+                funcidDef.setDataSource(JacksonMapper.toObject(JacksonMapper.toSimpleJson(refInfos), ArrayNode.class));
+            }
+            funcidDef.setState(1);//状态 0.历史版本 1.使用中
+            funcidDef.setVersion(version);//版本
+            funcidDef.setLastUpdateTime(new Date());//发布时间
+            funcidDefList.add(funcidDef);
+            FuncidDefModel funcidDefModel = queryFuncidDef(item.getCode(), item.getClassCode());
+            if (funcidDefModel != null) {
+                funcidDefModel.setState(0);
+                funcidDefModel.setLastUpdateTime(new Date());
+                funcidDefList.add(FuncidDef.fromModel(funcidDefModel));
+            }
+        });
+        funcidDefRepository.saveAll(funcidDefList);
+    }
+
+    private 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 != null && data.size() != 0) {
+            return data.get(0);
+        }
+        return null;
+    }
 }