|
@@ -9,24 +9,28 @@ import com.persagy.common.web.ListResponse;
|
|
|
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.entity.*;
|
|
|
+import com.persagy.dmp.rwd.edit.entity.dto.ClassDefChangeRecordDTO;
|
|
|
+import com.persagy.dmp.rwd.edit.entity.dto.FuncidDefChangeRecordDTO;
|
|
|
import com.persagy.dmp.rwd.edit.enumeration.EnumOperationType;
|
|
|
import com.persagy.dmp.rwd.edit.enumeration.EnumVersionState;
|
|
|
+import com.persagy.dmp.rwd.edit.model.DtDataModel;
|
|
|
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.enums.ObjType;
|
|
|
import com.persagy.dmp.rwd.model.ClassDefModel;
|
|
|
import com.persagy.dmp.rwd.model.FuncidDefModel;
|
|
|
import com.querydsl.core.types.dsl.BooleanExpression;
|
|
|
+import io.micrometer.core.instrument.util.StringUtils;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.transaction.Transactional;
|
|
|
import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
@Slf4j
|
|
|
@Service
|
|
@@ -50,6 +54,9 @@ public class FuncidDefChangeRecordService {
|
|
|
@Autowired
|
|
|
FuncidDefRepository funcidDefRepository;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ DtDataService dtDataService;
|
|
|
+
|
|
|
private List<BooleanExpression> parse(ObjectNode object) {
|
|
|
List<BooleanExpression> list = new LinkedList<>();
|
|
|
QFuncidDefChangeRecord qt = QFuncidDefChangeRecord.funcidDefChangeRecord;
|
|
@@ -73,6 +80,66 @@ public class FuncidDefChangeRecordService {
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 查询信息点变更记录
|
|
|
+ * @param criteria
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public PagedResponse<FuncidDefChangeRecordDTO> queryChangeRecord(JacksonCriteria criteria) {
|
|
|
+ PagedResponse<FuncidDefChangeRecordDTO> pagedResponse = new PagedResponse<>();
|
|
|
+ //查询所有专业
|
|
|
+ JacksonCriteria majorCriteria = JacksonCriteria.newInstance();
|
|
|
+ majorCriteria.add("classCode", "sec");
|
|
|
+ PagedResponse<DtDataModel> queryMajorResp = dtDataService.query(majorCriteria);
|
|
|
+ List<DtDataModel> majorData = queryMajorResp.getData();
|
|
|
+ Map<String, String> majorDataMap = majorData.stream().filter(t -> StringUtils.isNotEmpty(t.getCode())).collect(Collectors.toMap(DtDataModel::getCode, DtDataModel::getLabel, (k, v) -> v));
|
|
|
+
|
|
|
+ //获取所有的类型定义
|
|
|
+ ListResponse<ClassDefModel> queryClassDefResp = classDefService.queryClass(JacksonCriteria.newInstance());
|
|
|
+ List<ClassDefModel> classDefData = queryClassDefResp.getData();
|
|
|
+ Map<String, ClassDefModel> classDefDataMap = classDefData.stream().filter(t -> StringUtils.isNotEmpty(t.getCode())).collect(Collectors.toMap(ClassDefModel::getCode, classDefModel->classDefModel, (k, v) -> v));
|
|
|
+
|
|
|
+ //查询信息点变更记录
|
|
|
+ PagedResponse<FuncidDefChangeRecord> queryFuncidDefChangeResp = criteriaUtils.query(QFuncidDefChangeRecord.funcidDefChangeRecord, this::parse, criteria);
|
|
|
+ List<FuncidDefChangeRecord> funcidDefChangeRecordList = queryFuncidDefChangeResp.getData();
|
|
|
+
|
|
|
+ //结果集封装
|
|
|
+ List<FuncidDefChangeRecordDTO> result = new ArrayList<>();
|
|
|
+ funcidDefChangeRecordList.forEach(item->{
|
|
|
+ FuncidDefChangeRecordDTO changeRecordDTO = new FuncidDefChangeRecordDTO();
|
|
|
+ BeanUtils.copyProperties(item,changeRecordDTO);
|
|
|
+
|
|
|
+ String classCode = item.getClassCode();
|
|
|
+ ClassDefModel classDefModel = classDefDataMap.get(classCode);
|
|
|
+ //设置专业名称
|
|
|
+ if(classDefModel == null){
|
|
|
+ changeRecordDTO.setMajorName(majorDataMap.get(item.getClassCode()));
|
|
|
+ result.add(changeRecordDTO);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotEmpty(classDefModel.getMajorCode())){
|
|
|
+ changeRecordDTO.setMajorName(majorDataMap.get(classDefModel.getMajorCode()));
|
|
|
+ }
|
|
|
+
|
|
|
+ //设置系统及设备类名称
|
|
|
+ if("system".equals(classDefModel.getObjType().name())){
|
|
|
+ changeRecordDTO.setSystemName(classDefDataMap.get(item.getClassCode()).getName());
|
|
|
+ result.add(changeRecordDTO);
|
|
|
+ return;
|
|
|
+ }else{
|
|
|
+ if(StringUtils.isNotEmpty(classDefModel.getSystemCode())){
|
|
|
+ changeRecordDTO.setSystemName(classDefDataMap.get(classDefModel.getSystemCode()).getName());
|
|
|
+ }
|
|
|
+ changeRecordDTO.setEquipClassName(classDefDataMap.get(classDefModel.getCode()).getName());
|
|
|
+ }
|
|
|
+ result.add(changeRecordDTO);
|
|
|
+ });
|
|
|
+ pagedResponse.setData(result);
|
|
|
+ pagedResponse.setCount(queryFuncidDefChangeResp.getCount());
|
|
|
+ return pagedResponse;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
@Transactional
|
|
|
public MapResponse create(FuncidDefChangeRecord param) {
|
|
|
MapResponse response = new MapResponse();
|