裁片工单生成问题修复

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("工单信息不存在");
}
List<Long> workOrderIdDbList = workOrderList.stream().map(MesWorkOrder::getId).collect(Collectors.toList());
for (Long workOrderId : workOrderIds) {
if (!workOrderList.contains(workOrderId)) {
if (!workOrderIdDbList.contains(workOrderId)) {
MesException.throwMesBusiException("工单信息ID【%s】不存在", workOrderId);
}
}
@ -100,7 +102,7 @@ public class MesWorkOrderCutService extends BaseMesService<MesWorkOrderCut> impl
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<>();
List<MesWorkOrderCutDetail> workOrderCutDetailtList = new ArrayList<>();
@ -114,8 +116,8 @@ public class MesWorkOrderCutService extends BaseMesService<MesWorkOrderCut> impl
MesWorkOrder workOrder = workOrders.get(0);
if (cutSchemeFg.getQty().compareTo(workOrder.getUnCompleteQty()) < 0) {
MesException.throwMesBusiException("零件号【%s】工单未完成数量不满足产成总数", cutSchemeFg.getPartNo());
if (cutSchemeFg.getQty().compareTo(workOrder.getUnCompleteQty()) > 0) {
MesException.throwMesBusiException("零件号【%s】工单未完成数量【%s】不满足产成总数【%s】", cutSchemeFg.getPartNo(), workOrder.getUnCompleteQty(), cutSchemeFg.getQty());
}
Double unCompleteQty = workOrder.getUnCompleteQty();
@ -142,14 +144,16 @@ public class MesWorkOrderCutService extends BaseMesService<MesWorkOrderCut> impl
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.setRemark(remark);
workOrderCut.setCutWorkOrderNo(doGererateSerialNo(cutScheme.getCutCode(), organizeCode, userName));
workOrderCut.setCutWorkOrderNo(doGenerateSerialNo(cutScheme.getCutCode(), organizeCode, userName));
workOrderCut.setOrganizeCode(organizeCode);
workOrderCutDetailtList.forEach(o-> o.setCutWorkOrderNo(workOrderCut.getCutWorkOrderNo()));
List<MesWorkOrderCutMaterial> workOrderCutMaterialList = new ArrayList<>();
for (MesCutSchemeMaterial cutSchemeMaterial : cutSchemeMaterialList) {
MesWorkOrderCutMaterial workOrderCutMaterial = new MesWorkOrderCutMaterial();
BeanUtils.copyProperties(cutSchemeMaterial, workOrderCutMaterial, MesExtConstWords.ID);
ConvertBean.serviceModelInitialize(workOrderCut, userName);
ConvertBean.serviceModelInitialize(workOrderCutMaterial, userName);
workOrderCutMaterial.setOrganizeCode(organizeCode);
workOrderCutMaterial.setCutWorkOrderNo(workOrderCut.getCutWorkOrderNo());
workOrderCutMaterial.setSystemSyncStatus(CommonEnumUtil.FALSE);
@ -197,7 +201,7 @@ public class MesWorkOrderCutService extends BaseMesService<MesWorkOrderCut> impl
workOrderCutRepository.saveAll(workOrderCuts);
}
private String doGererateSerialNo(String cutCode, String organizeCode, String userName) {
private String doGenerateSerialNo(String cutCode, String organizeCode, String userName) {
return syncFuncService.syncSerialNo(
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();

Loading…
Cancel
Save