放开参数来源限制
This commit is contained in:
parent
783737a2f9
commit
ea263b7681
@ -1,12 +1,9 @@
|
||||
package com.xdap.self_development.job;
|
||||
|
||||
import com.xdap.self_development.common.BusinessDatabase;
|
||||
import com.xdap.self_development.domain.pojo.ClassificationAttributePojo;
|
||||
import com.xdap.self_development.domain.pojo.EnginePartsCollectionPojo;
|
||||
import com.xdap.self_development.domain.view.CalculationParameterView;
|
||||
import com.xdap.self_development.exception.CommonException;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@ -58,7 +55,7 @@ public class ParameterValueCalculationTimer {
|
||||
}
|
||||
|
||||
// 每天凌晨执行一次
|
||||
@Scheduled(cron = "0 0 0 * * ?")
|
||||
// @Scheduled(cron = "0 0 0 * * ?")
|
||||
@Transactional
|
||||
public void dailyCalculate() {
|
||||
|
||||
@ -91,39 +88,39 @@ public class ParameterValueCalculationTimer {
|
||||
}
|
||||
|
||||
// 2.从中台更新参数值
|
||||
for (CalculationParameterView parameter : parameterValues) {
|
||||
if (Objects.equals(parameter.getParameterSource(), "TC分类表")) {
|
||||
tcParameters++;
|
||||
try {
|
||||
EnginePartsCollectionPojo enginePartsCollection = bd.getBusinessDatabase()
|
||||
.eq("ztj", parameter.getProductNumber())
|
||||
.eq("lbjmc", parameter.getPartsName())
|
||||
.doQueryFirst(EnginePartsCollectionPojo.class);
|
||||
if (enginePartsCollection == null || enginePartsCollection.getLbjth() == null) {
|
||||
log.warn("机型【{}】的参数【{}】在TC分类表中未找到对应零部件,零部件名:{}",
|
||||
parameter.getProductNumber(), parameter.getParameterName(), parameter.getPartsName());
|
||||
failedToUpdateFromTC++;
|
||||
continue;
|
||||
}
|
||||
ClassificationAttributePojo classificationAttribute = bd.getBusinessDatabase()
|
||||
.eq("pitemId", enginePartsCollection.getLbjth())
|
||||
.eq("idattrtbutehame", parameter.getParameterName())
|
||||
.doQueryFirst(ClassificationAttributePojo.class);
|
||||
if (classificationAttribute != null && classificationAttribute.getFieldvalue() != null) {
|
||||
String originalValue = parameter.getParameterValue();
|
||||
parameter.setParameterValue(classificationAttribute.getFieldvalue());
|
||||
log.debug("机型【{}】的参数【{}】从中台更新值:{} -> {}",parameter.getProductNumber(), parameter.getParameterName(), originalValue, classificationAttribute.getFieldvalue());
|
||||
updatedFromTC++;
|
||||
} else {
|
||||
log.warn("机型【{}】的参数【{}】在TC分类表中未找到对应值",parameter.getProductNumber(), parameter.getParameterName());
|
||||
failedToUpdateFromTC++;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("机型【{}】的参数【{}】从中台更新值失败:{}",parameter.getProductNumber(), parameter.getParameterName(), e.getMessage(), e);
|
||||
failedToUpdateFromTC++;
|
||||
}
|
||||
}
|
||||
}
|
||||
// for (CalculationParameterView parameter : parameterValues) {
|
||||
// if (Objects.equals(parameter.getParameterSource(), "TC分类表")) {
|
||||
// tcParameters++;
|
||||
// try {
|
||||
// EnginePartsCollectionPojo enginePartsCollection = bd.getTCDatabase()
|
||||
// .eq("ztj", parameter.getProductNumber())
|
||||
// .eq("lbjmc", parameter.getPartsName())
|
||||
// .doQueryFirst(EnginePartsCollectionPojo.class);
|
||||
// if (enginePartsCollection == null || enginePartsCollection.getLbjth() == null) {
|
||||
// log.warn("机型【{}】的参数【{}】在TC分类表中未找到对应零部件,零部件名:{}",
|
||||
// parameter.getProductNumber(), parameter.getParameterName(), parameter.getPartsName());
|
||||
// failedToUpdateFromTC++;
|
||||
// continue;
|
||||
// }
|
||||
// ClassificationAttributePojo classificationAttribute = bd.getTCDatabase()
|
||||
// .eq("pitemId", enginePartsCollection.getLbjth())
|
||||
// .eq("idattrtbutehame", parameter.getParameterName())
|
||||
// .doQueryFirst(ClassificationAttributePojo.class);
|
||||
// if (classificationAttribute != null && classificationAttribute.getFieldvalue() != null) {
|
||||
// String originalValue = parameter.getParameterValue();
|
||||
// parameter.setParameterValue(classificationAttribute.getFieldvalue());
|
||||
// log.debug("机型【{}】的参数【{}】从中台更新值:{} -> {}",parameter.getProductNumber(), parameter.getParameterName(), originalValue, classificationAttribute.getFieldvalue());
|
||||
// updatedFromTC++;
|
||||
// } else {
|
||||
// log.warn("机型【{}】的参数【{}】在TC分类表中未找到对应值",parameter.getProductNumber(), parameter.getParameterName());
|
||||
// failedToUpdateFromTC++;
|
||||
// }
|
||||
// } catch (Exception e) {
|
||||
// log.error("机型【{}】的参数【{}】从中台更新值失败:{}",parameter.getProductNumber(), parameter.getParameterName(), e.getMessage(), e);
|
||||
// failedToUpdateFromTC++;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
log.info("从中台更新参数完成,共处理{}个TC参数,成功{}个,失败{}个", tcParameters, updatedFromTC, failedToUpdateFromTC);
|
||||
|
||||
|
||||
@ -25,4 +25,6 @@ public interface TcDataQueryService {
|
||||
Map<String, List<EngineParamDetailPojo>> tcDataSelectByVersion(AnalysisVerRequest analysisRequest);
|
||||
|
||||
List<EngineParamDetailPojo> tcDataSelectAllByproductNumberBatch(List<DataEntryEngineModelPojo> engineModelPojos);
|
||||
|
||||
List<EngineParamDetailPojo> selectTCFromDB(String modelId, List<String> subsystemParts);
|
||||
}
|
||||
|
||||
@ -307,7 +307,6 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
|
||||
List<EngineParamDetailPojo> pojoList = bd.getBusinessDatabase()
|
||||
.eq("engine_model_id", modelID)
|
||||
.eq("major_version", parameterVersion)
|
||||
.eq("parameter_source", "数据平台手工录入")
|
||||
.doQuery(EngineParamDetailPojo.class);
|
||||
if (userId == null || userId.isEmpty()) {
|
||||
return pojoList;
|
||||
@ -529,8 +528,7 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
|
||||
MpaasQuery query = bd.getBusinessDatabase()
|
||||
.eq("engine_model_id", model.getId())
|
||||
.in("subsystem_name", subsystemSet)
|
||||
.in("parts_name", typeSet)
|
||||
.eq("parameter_source", "数据平台手工录入");
|
||||
.in("parts_name", typeSet);
|
||||
|
||||
//若传入填写人则查询填写人需要填写的参数
|
||||
if (ObjectUtils.isNotEmpty(request.getFilledById())) {
|
||||
@ -556,7 +554,6 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
|
||||
.eq("engine_model_id", model.getId())
|
||||
.in("subsystem_name", subsystemSet)
|
||||
.in("parts_name", typeSet)
|
||||
.eq("parameter_source", "数据平台手工录入")
|
||||
.eq("filled_by", request.getFilledById())
|
||||
.eq("major_version", model.getVersionNumber())
|
||||
.doQuery(EngineParamDetailPojo.class)
|
||||
|
||||
@ -700,6 +700,32 @@ public class TcDataQueryServiceImpl implements TcDataQueryService {
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<EngineParamDetailPojo> selectTCFromDB(String modelId, List<String> subsystemParts) {
|
||||
DataEntryEngineModelPojo model = engineModelService.selectBymodelId(modelId);
|
||||
if (model == null) {
|
||||
throw new CommonException("查询失败:机型不存在");
|
||||
}
|
||||
|
||||
Set<String> subsystemSet = new HashSet<>();
|
||||
Set<String> partsNameSet = new HashSet<>();
|
||||
subsystemParts.forEach(subsystemType -> {
|
||||
if (subsystemType.split("-").length != 2) {
|
||||
throw new CommonException("查询条件异常,需子系统-零部件名称,若零部件为空则传入“/”");
|
||||
}
|
||||
String subsystem = subsystemType.split("-")[0];
|
||||
String partsName = subsystemType.split("-")[1];
|
||||
subsystemSet.add(subsystem);
|
||||
partsNameSet.add(partsName);
|
||||
});
|
||||
|
||||
return bd.getBusinessDatabase()
|
||||
.eq("engine_model_id", model.getId())
|
||||
.in("subsystem_name", subsystemSet)
|
||||
.in("parts_name", partsNameSet)
|
||||
.doQuery(EngineParamDetailPojo.class);
|
||||
}
|
||||
|
||||
private void setupResponse(HttpServletResponse response, String fileName) throws IOException {
|
||||
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
|
||||
response.setCharacterEncoding("utf-8");
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user