|
@@ -5,8 +5,11 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
|
|
import com.persagy.common.criteria.CriteriaUtils;
|
|
import com.persagy.common.criteria.CriteriaUtils;
|
|
import com.persagy.common.criteria.JacksonCriteria;
|
|
import com.persagy.common.criteria.JacksonCriteria;
|
|
import com.persagy.common.json.JacksonMapper;
|
|
import com.persagy.common.json.JacksonMapper;
|
|
|
|
+import com.persagy.common.web.ListResponse;
|
|
import com.persagy.common.web.MapResponse;
|
|
import com.persagy.common.web.MapResponse;
|
|
import com.persagy.common.web.PagedResponse;
|
|
import com.persagy.common.web.PagedResponse;
|
|
|
|
+import com.persagy.dmp.common.excel.ExcelUtils;
|
|
|
|
+import com.persagy.dmp.common.excel.SheetReadInfo;
|
|
import com.persagy.dmp.rwd.edit.config.web.UserUtils;
|
|
import com.persagy.dmp.rwd.edit.config.web.UserUtils;
|
|
import com.persagy.dmp.rwd.edit.entity.FuncidDef;
|
|
import com.persagy.dmp.rwd.edit.entity.FuncidDef;
|
|
import com.persagy.dmp.rwd.edit.entity.FuncidDefChangeRecord;
|
|
import com.persagy.dmp.rwd.edit.entity.FuncidDefChangeRecord;
|
|
@@ -16,14 +19,19 @@ import com.persagy.dmp.rwd.edit.enumeration.EnumOperationType;
|
|
import com.persagy.dmp.rwd.edit.enumeration.EnumVersionState;
|
|
import com.persagy.dmp.rwd.edit.enumeration.EnumVersionState;
|
|
import com.persagy.dmp.rwd.edit.repository.FuncidDefChangeRecordRepository;
|
|
import com.persagy.dmp.rwd.edit.repository.FuncidDefChangeRecordRepository;
|
|
import com.persagy.dmp.rwd.edit.repository.FuncidDefRepository;
|
|
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.enums.FuncidDataType;
|
|
import com.persagy.dmp.rwd.model.FuncidDefModel;
|
|
import com.persagy.dmp.rwd.model.FuncidDefModel;
|
|
import com.querydsl.core.types.dsl.BooleanExpression;
|
|
import com.querydsl.core.types.dsl.BooleanExpression;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
+import org.apache.commons.collections.MapUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import javax.transaction.Transactional;
|
|
import javax.transaction.Transactional;
|
|
|
|
+import java.io.IOException;
|
|
|
|
+import java.io.InputStream;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
|
|
@Slf4j
|
|
@Slf4j
|
|
@@ -438,12 +446,109 @@ public class FuncidDefChangeRecordService {
|
|
criteria.add("type", "common");
|
|
criteria.add("type", "common");
|
|
criteria.add("code", code);
|
|
criteria.add("code", code);
|
|
criteria.add("classCode", classCode);
|
|
criteria.add("classCode", classCode);
|
|
- PagedResponse<FuncidDefModel> query = funcidDefService.query(criteria);
|
|
|
|
|
|
+ ListResponse<FuncidDefModel> query = funcidDefService.queryFuncid(criteria);
|
|
List<FuncidDefModel> data = query.getData();
|
|
List<FuncidDefModel> data = query.getData();
|
|
if (data != null && data.size() != 0) {
|
|
if (data != null && data.size() != 0) {
|
|
return data.get(0);
|
|
return data.get(0);
|
|
}
|
|
}
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ public List<FuncidDefChangeRecord> CompareDataExcelRead(MultipartFile file) throws IOException {
|
|
|
|
+ SheetReadInfo info = new SheetReadInfo();
|
|
|
|
+ info.setStartRow(1);
|
|
|
|
+ info.add(0, "code", "string");
|
|
|
|
+ info.add(1, "name", "string");
|
|
|
|
+ info.add(2, "aliasCode", "string");
|
|
|
|
+ info.add(3, "aliasName", "string");
|
|
|
|
+ info.add(4, "classCode", "string");
|
|
|
|
+ info.add(5, "category", "string");
|
|
|
|
+ info.add(6, "firstTag", "string");
|
|
|
|
+ info.add(7, "secondTag", "string");
|
|
|
|
+ info.add(8, "priority", "string");
|
|
|
|
+ info.add(9, "inputMode", "string");
|
|
|
|
+ info.add(10, "unit", "string");
|
|
|
|
+ info.add(11, "dataType", "string");
|
|
|
|
+ info.add(12, "isMultiple", "integer");
|
|
|
|
+ info.add(13, "isRegion", "integer");
|
|
|
|
+ info.add(14, "formater", "string");
|
|
|
|
+ info.add(15, "dataSource", "string");
|
|
|
|
+ info.add(16, "note", "string");
|
|
|
|
+ info.add(17, "subFlag", "integer");
|
|
|
|
+ info.add(18, "weakPoint", "integer");
|
|
|
|
+ info.add(19, "operationType", "string");
|
|
|
|
+
|
|
|
|
+ InputStream inputStream = file.getInputStream();
|
|
|
|
+ List<Map<String, Object>> result = ExcelUtils.read(inputStream, info);
|
|
|
|
+
|
|
|
|
+ List<FuncidDefChangeRecord> funcidDefChangeRecordList = new ArrayList<>();
|
|
|
|
+ for (Map<String, Object> map : result) {
|
|
|
|
+ String code = MapUtils.getString(map, "code");
|
|
|
|
+ String name = MapUtils.getString(map, "name");
|
|
|
|
+ String aliasCode = MapUtils.getString(map, "aliasCode");
|
|
|
|
+ String aliasName = MapUtils.getString(map, "aliasName");
|
|
|
|
+ String classCode = MapUtils.getString(map, "classCode");
|
|
|
|
+ String category = MapUtils.getString(map, "category");
|
|
|
|
+ String firstTag = MapUtils.getString(map, "firstTag");
|
|
|
|
+ String secondTag = MapUtils.getString(map, "secondTag");
|
|
|
|
+ String priority = MapUtils.getString(map, "priority");
|
|
|
|
+ String inputMode = MapUtils.getString(map, "inputMode");
|
|
|
|
+ String unit = MapUtils.getString(map, "unit");
|
|
|
|
+ String dataType = MapUtils.getString(map, "dataType");
|
|
|
|
+ Boolean isMultiple = MapUtils.getBoolean(map, "isMultiple");
|
|
|
|
+ Boolean isRegion = MapUtils.getBoolean(map, "isRegion");
|
|
|
|
+ String formater = MapUtils.getString(map, "formater");
|
|
|
|
+ String dataSource = MapUtils.getString(map, "dataSource");
|
|
|
|
+ String note = MapUtils.getString(map, "note");
|
|
|
|
+ Boolean subFlag = MapUtils.getBoolean(map, "subFlag");
|
|
|
|
+ Boolean weakPoint = MapUtils.getBoolean(map, "weakPoint");
|
|
|
|
+ String operationType = MapUtils.getString(map, "operationType");
|
|
|
|
+ if (code == null) {
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
|
|
+ if (classCode == null) {
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
|
|
+ if (category == null) {
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
|
|
+ if (operationType == null) {
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ FuncidDefChangeRecord funcidDefChangeRecord = new FuncidDefChangeRecord();
|
|
|
|
+ funcidDefChangeRecord.setCode(code);
|
|
|
|
+ funcidDefChangeRecord.setName(name);
|
|
|
|
+ funcidDefChangeRecord.setAliasCode(aliasCode);
|
|
|
|
+ funcidDefChangeRecord.setAliasName(aliasName);
|
|
|
|
+ funcidDefChangeRecord.setClassCode(classCode);
|
|
|
|
+ funcidDefChangeRecord.setCategory(FuncidCategory.valueOf(category));
|
|
|
|
+ funcidDefChangeRecord.setFirstTag(firstTag);
|
|
|
|
+ funcidDefChangeRecord.setSecondTag(secondTag);
|
|
|
|
+ funcidDefChangeRecord.setPriority(priority);
|
|
|
|
+ funcidDefChangeRecord.setInputMode(inputMode);
|
|
|
|
+ funcidDefChangeRecord.setUnit(unit);
|
|
|
|
+ funcidDefChangeRecord.setDataType(FuncidDataType.valueOf(dataType));
|
|
|
|
+ funcidDefChangeRecord.setIsMultiple(isMultiple);
|
|
|
|
+ funcidDefChangeRecord.setIsRegion(isRegion);
|
|
|
|
+ funcidDefChangeRecord.setFormater(formater);
|
|
|
|
+ ArrayNode dataSourceArray = JacksonMapper.toObject(dataSource, ArrayNode.class);
|
|
|
|
+ funcidDefChangeRecord.setDataSource(dataSourceArray);
|
|
|
|
+ funcidDefChangeRecord.setNote(note);
|
|
|
|
+ funcidDefChangeRecord.setSubFlag(subFlag);
|
|
|
|
+ funcidDefChangeRecord.setWeakPoint(weakPoint);
|
|
|
|
+ funcidDefChangeRecord.setOperationType(EnumOperationType.valueOf(operationType));
|
|
|
|
+
|
|
|
|
+ funcidDefChangeRecord.setType("common");
|
|
|
|
+ funcidDefChangeRecord.setOperationUser(UserUtils.currentUserId() + "");
|
|
|
|
+ funcidDefChangeRecord.setOperationTime(new Date());
|
|
|
|
+ funcidDefChangeRecord.setValid(true);
|
|
|
|
+ funcidDefChangeRecord.setState(EnumVersionState.INIT);
|
|
|
|
+ funcidDefChangeRecord.setGroupCode("0");
|
|
|
|
+ funcidDefChangeRecord.setProjectId("0");
|
|
|
|
+ funcidDefChangeRecordList.add(funcidDefChangeRecord);
|
|
|
|
+ }
|
|
|
|
+ return funcidDefChangeRecordList;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|