裁片工单生成问题修复

tags/yfai-mes-ext-v2.3
yxw 8 months ago
parent 74ed9942d8
commit e7a64270a0

@ -73,8 +73,10 @@ public class MesWorkOrderCutService extends BaseMesService<MesWorkOrderCut> impl
MesException.throwMesBusiException("工单信息不存在"); MesException.throwMesBusiException("工单信息不存在");
} }
List<Long> workOrderIdDbList = workOrderList.stream().map(MesWorkOrder::getId).collect(Collectors.toList());
for (Long workOrderId : workOrderIds) { for (Long workOrderId : workOrderIds) {
if (!workOrderList.contains(workOrderId)) { if (!workOrderIdDbList.contains(workOrderId)) {
MesException.throwMesBusiException("工单信息ID【%s】不存在", workOrderId); MesException.throwMesBusiException("工单信息ID【%s】不存在", workOrderId);
} }
} }
@ -100,7 +102,7 @@ public class MesWorkOrderCutService extends BaseMesService<MesWorkOrderCut> impl
partNoList.removeAll(fgPartNoList); partNoList.removeAll(fgPartNoList);
if (CollectionUtils.isEmpty(partNoList)) MesException.throwMesBusiException("物料【%s】未在裁片方案成品中维护", partNoList); if (!CollectionUtils.isEmpty(partNoList)) MesException.throwMesBusiException("零件号【%s】未在裁片方案成品中维护", partNoList);
Map<String, Double> workOrderUnCompleteMap = new HashMap<>(); Map<String, Double> workOrderUnCompleteMap = new HashMap<>();
List<MesWorkOrderCutDetail> workOrderCutDetailtList = new ArrayList<>(); List<MesWorkOrderCutDetail> workOrderCutDetailtList = new ArrayList<>();
@ -114,8 +116,8 @@ public class MesWorkOrderCutService extends BaseMesService<MesWorkOrderCut> impl
MesWorkOrder workOrder = workOrders.get(0); MesWorkOrder workOrder = workOrders.get(0);
if (cutSchemeFg.getQty().compareTo(workOrder.getUnCompleteQty()) < 0) { if (cutSchemeFg.getQty().compareTo(workOrder.getUnCompleteQty()) > 0) {
MesException.throwMesBusiException("零件号【%s】工单未完成数量不满足产成总数", cutSchemeFg.getPartNo()); MesException.throwMesBusiException("零件号【%s】工单未完成数量【%s】不满足产成总数【%s】", cutSchemeFg.getPartNo(), workOrder.getUnCompleteQty(), cutSchemeFg.getQty());
} }
Double unCompleteQty = workOrder.getUnCompleteQty(); Double unCompleteQty = workOrder.getUnCompleteQty();
@ -142,14 +144,16 @@ public class MesWorkOrderCutService extends BaseMesService<MesWorkOrderCut> impl
workOrderCut.setCutName(cutScheme.getCutName()); workOrderCut.setCutName(cutScheme.getCutName());
workOrderCut.setWorkOrderStatus(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() == cutScheme.getIsAutoRelease() ? MesExtEnumUtil.CUT_ORDER_STATUS.RELEASED.getValue() : MesExtEnumUtil.CUT_ORDER_STATUS.CREATE.getValue()); workOrderCut.setWorkOrderStatus(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() == cutScheme.getIsAutoRelease() ? MesExtEnumUtil.CUT_ORDER_STATUS.RELEASED.getValue() : MesExtEnumUtil.CUT_ORDER_STATUS.CREATE.getValue());
workOrderCut.setRemark(remark); workOrderCut.setRemark(remark);
workOrderCut.setCutWorkOrderNo(doGererateSerialNo(cutScheme.getCutCode(), organizeCode, userName)); workOrderCut.setCutWorkOrderNo(doGenerateSerialNo(cutScheme.getCutCode(), organizeCode, userName));
workOrderCut.setOrganizeCode(organizeCode); workOrderCut.setOrganizeCode(organizeCode);
workOrderCutDetailtList.forEach(o-> o.setCutWorkOrderNo(workOrderCut.getCutWorkOrderNo()));
List<MesWorkOrderCutMaterial> workOrderCutMaterialList = new ArrayList<>(); List<MesWorkOrderCutMaterial> workOrderCutMaterialList = new ArrayList<>();
for (MesCutSchemeMaterial cutSchemeMaterial : cutSchemeMaterialList) { for (MesCutSchemeMaterial cutSchemeMaterial : cutSchemeMaterialList) {
MesWorkOrderCutMaterial workOrderCutMaterial = new MesWorkOrderCutMaterial(); MesWorkOrderCutMaterial workOrderCutMaterial = new MesWorkOrderCutMaterial();
BeanUtils.copyProperties(cutSchemeMaterial, workOrderCutMaterial, MesExtConstWords.ID); BeanUtils.copyProperties(cutSchemeMaterial, workOrderCutMaterial, MesExtConstWords.ID);
ConvertBean.serviceModelInitialize(workOrderCut, userName); ConvertBean.serviceModelInitialize(workOrderCutMaterial, userName);
workOrderCutMaterial.setOrganizeCode(organizeCode); workOrderCutMaterial.setOrganizeCode(organizeCode);
workOrderCutMaterial.setCutWorkOrderNo(workOrderCut.getCutWorkOrderNo()); workOrderCutMaterial.setCutWorkOrderNo(workOrderCut.getCutWorkOrderNo());
workOrderCutMaterial.setSystemSyncStatus(CommonEnumUtil.FALSE); workOrderCutMaterial.setSystemSyncStatus(CommonEnumUtil.FALSE);
@ -197,7 +201,7 @@ public class MesWorkOrderCutService extends BaseMesService<MesWorkOrderCut> impl
workOrderCutRepository.saveAll(workOrderCuts); workOrderCutRepository.saveAll(workOrderCuts);
} }
private String doGererateSerialNo(String cutCode, String organizeCode, String userName) { private String doGenerateSerialNo(String cutCode, String organizeCode, String userName) {
return syncFuncService.syncSerialNo( return syncFuncService.syncSerialNo(
new GenSerialNoModel(MesExtConstWords.CUT_WORK_ORDER_NO_FUL).dynamicRule(cutCode).year(TimeTool.pareDateToString(MesExtConstWords.DATE_FORMAT_YY, new Date())).organizeCode(organizeCode), new GenSerialNoModel(MesExtConstWords.CUT_WORK_ORDER_NO_FUL).dynamicRule(cutCode).year(TimeTool.pareDateToString(MesExtConstWords.DATE_FORMAT_YY, new Date())).organizeCode(organizeCode),
userName, organizeCode, 1).getResultList().get(0).toString(); userName, organizeCode, 1).getResultList().get(0).toString();

Loading…
Cancel
Save