|
|
|
@ -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();
|
|
|
|
|