报工sql优化

tags/yfai-pcn-ext-v2.5
xiangwei.zhang 5 months ago
parent 82a40b2087
commit bebe3d38f1

@ -252,7 +252,7 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService
//电子化检验
String target = configService.getCfgValue(org, "LGORT");
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean();
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(org);
DdlPreparedPack.getStringEqualPack(model.getPartNo(), "partNo", ddlPackBean);
MesProductVersion version = productVersionRepository.getByProperty(ddlPackBean);
@ -434,7 +434,7 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService
if (Objects.isNull(srcLocateNo)) {
srcLocateNo = configService.getCfgValue(org, "LGORT");
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean();
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(org);
DdlPreparedPack.getStringEqualPack(model.getPartNo(), "partNo", ddlPackBean);
MesProductVersion version = productVersionRepository.getByProperty(ddlPackBean);
@ -509,7 +509,7 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService
if (model.getOptType() != 2) {
String srcLocateNo = configService.getCfgValue(org, "LGORT");
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean();
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(org);
DdlPreparedPack.getStringEqualPack(model.getPartNo(), "partNo", ddlPackBean);
MesProductVersion version = productVersionRepository.getByProperty(ddlPackBean);
@ -877,7 +877,6 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService
private List<MesDefectWarnConfig> queryDefectAlarmConfigByLocationCodeList(MesPart part, Integer frontBack, List<String> locationCodeList, List<String> partTypeDefectCodeList,
String org) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(org);
DdlPreparedPack.getStringEqualPack(part.getPartNo(), "partNo", packBean);
DdlPreparedPack.getStringEqualPack(part.getPartTypeCode(), "partTypeCode", packBean);
@ -1027,7 +1026,7 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService
String productVersion = model.getProductVersion();
if (!StringUtils.isEmpty(productVersion)) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean();
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(org);
DdlPreparedPack.getStringEqualPack(partNo, "partNo", ddlPackBean);
DdlPreparedPack.getStringEqualPack(workCenterCode, "workCenterCode", ddlPackBean);
DdlPreparedPack.getStringEqualPack(productVersion, "productVersion", ddlPackBean);

@ -538,13 +538,19 @@ public class MesWorkOrderService implements IMesWorkOrderService {
throw new ImppBusiException(String.format("物料【%s】生产版本【%s】对应bom信息不存在",
productionRecord.getPartNo(), mesProductVersion.getProductVersion()));
}
Map<String, Object> propertyMap = new HashMap<>();
oldMesWorkOrder.setNum(oldMesWorkOrder.getNum() == null ? 1 : oldMesWorkOrder.getNum() + 1);
LOGGER.info("工单报工原数量【{}】", oldMesWorkOrder.getReportedQty());
oldMesWorkOrder.setReportedQty(MathOperation.add(oldMesWorkOrder.getNum(), oldMesWorkOrder.getReportedQty()));
propertyMap.put("reportedQty", oldMesWorkOrder.getReportedQty());
if (StringUtils.isEmpty(productionRecord.getWorkOrderNo())) {
oldMesWorkOrder.setCompleteQty(oldMesWorkOrder.getReportedQty());
double unCompleteQty = MathOperation.sub(oldMesWorkOrder.getQty(), oldMesWorkOrder.getReportedQty());
oldMesWorkOrder.setUnCompleteQty(unCompleteQty > 0 ? unCompleteQty : 0);
propertyMap.put(MesPcnExtConstWords.COMPLETE_QTY, oldMesWorkOrder.getCompleteQty());
propertyMap.put(MesPcnExtConstWords.UN_COMPLETE_QTY, oldMesWorkOrder.getUnCompleteQty());
}
if (StringUtil.isEmpty(productionRecord.getWorkOrderNo())) {
@ -554,6 +560,7 @@ public class MesWorkOrderService implements IMesWorkOrderService {
} else {
oldMesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.PROCESS.getValue());
}
propertyMap.put(MesPcnExtConstWords.WORK_ORDER_STATUS, oldMesWorkOrder.getWorkOrderStatus());
}
//保存数据
@ -580,13 +587,30 @@ public class MesWorkOrderService implements IMesWorkOrderService {
LOGGER.info("工单报工后数量【{}】", oldMesWorkOrder.getReportedQty());
ConvertBean.serviceModelUpdate(oldMesWorkOrder, userName);
oldMesWorkOrder.setModifyDatetime((new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS")).format(new Date()));
workOrderExtService.update(oldMesWorkOrder);
propertyMap.put(MesPcnExtConstWords.MODIFY_DATE_TIME, (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS")).format(new Date()));
propertyMap.put(MesPcnExtConstWords.MODIFY_USER, userName);
//workOrderExtService.update(oldMesWorkOrder);
LOGGER.info("工单报工后数量【{}】", oldMesWorkOrder.getReportedQty());
//查询工作中心
DdlPackBean orderPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getNumEqualPack(oldMesWorkOrder.getId(), "id", orderPackBean);
workOrderRepository.updateByProperties(new String[]{"systemSyncStatus"},
new Object[]{CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()}, orderPackBean);
String[] propertyName = new String[propertyMap.size()];
Object[] propertyValue = new Object[propertyMap.size()];
Integer index = 0;
for (Map.Entry<String, Object> innerEntry : propertyMap.entrySet()) {
if (null == innerEntry) continue;
propertyName[index] = innerEntry.getKey();
propertyValue[index] = innerEntry.getValue();
index ++;
}
workOrderRepository.updateByProperties(new String[]{MesPcnExtConstWords.ID, MesPcnExtConstWords.ORGANIZE_CODE}, new Object[]{oldMesWorkOrder.getId(), oldMesWorkOrder.getOrganizeCode()}, propertyName, propertyValue);
LOGGER.info("修改工单数量完成,工单号【{}】", oldMesWorkOrder.getWorkOrderNo());
if(!CollectionUtils.isEmpty(mesProductOffLineList)){
mesProductOffLineRDao.saveAll(mesProductOffLineList);

Loading…
Cancel
Save