|
|
|
@ -284,13 +284,26 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
|
|
|
|
|
MesException.throwMesBusiException("物料【%s】生产版本【%s】对应bom信息不存在",
|
|
|
|
|
mesWorkOrder.getPartNo(), mesProductVersion.getProductVersion());
|
|
|
|
|
}
|
|
|
|
|
//报工类型
|
|
|
|
|
if(MesExtEnumUtil.REPORT_TYPE.REPORT.getValue() == mesWorkOrder.getReportType()){
|
|
|
|
|
mesWorkOrder.setCompleteQty(MathOperation.add(mesWorkOrder.getNum(), mesWorkOrder.getCompleteQty()));
|
|
|
|
|
}else{
|
|
|
|
|
//冲销数量大于工单完成数量报错
|
|
|
|
|
if(mesWorkOrder.getNum() > mesWorkOrder.getCompleteQty()){
|
|
|
|
|
MesException.throwMesBusiException("冲销数量【%s】大于工单完成数量【%s】,不允许冲销",
|
|
|
|
|
mesWorkOrder.getNum(), mesWorkOrder.getCompleteQty());
|
|
|
|
|
}
|
|
|
|
|
mesWorkOrder.setCompleteQty(MathOperation.sub(mesWorkOrder.getCompleteQty(),mesWorkOrder.getNum()));
|
|
|
|
|
}
|
|
|
|
|
//更新工单状态
|
|
|
|
|
mesWorkOrder.setCompleteQty(MathOperation.add(mesWorkOrder.getNum(), mesWorkOrder.getCompleteQty()));
|
|
|
|
|
double unCompleteQty = MathOperation.sub(mesWorkOrder.getQty(), mesWorkOrder.getCompleteQty());
|
|
|
|
|
mesWorkOrder.setUnCompleteQty(unCompleteQty > 0 ? unCompleteQty : 0);
|
|
|
|
|
if (mesWorkOrder.getCompleteQty() >= mesWorkOrder.getQty()) {
|
|
|
|
|
if (mesWorkOrder.getCompleteQty() > mesWorkOrder.getQty()) {
|
|
|
|
|
MesException.throwMesBusiException("工单报工数量【%s】大于工单数量【%s】,不允许报工",
|
|
|
|
|
mesWorkOrder.getCompleteQty(), mesWorkOrder.getQty());
|
|
|
|
|
}else if(Objects.equals(mesWorkOrder.getCompleteQty(),mesWorkOrder.getQty())){
|
|
|
|
|
mesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.COMPLETE.getValue());
|
|
|
|
|
} else {
|
|
|
|
|
}else {
|
|
|
|
|
mesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.process.getValue());
|
|
|
|
|
}
|
|
|
|
|
update(mesWorkOrder);
|
|
|
|
@ -321,6 +334,7 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
|
|
|
|
|
newMesProductOffLine.setWorkOrderNo(mesWorkOrder.getOrderNo());
|
|
|
|
|
newMesProductOffLine.setWorkCenterCode(mesWorkOrder.getWorkCenterCode());
|
|
|
|
|
newMesProductOffLine.setWorkCellCode(mesWorkOrder.getWorkCellCode());
|
|
|
|
|
newMesProductOffLine.setReportType(mesWorkOrder.getReportType());
|
|
|
|
|
|
|
|
|
|
ConvertBean.serviceModelInitialize(newMesProductOffLine, mesWorkOrder.getCreateUser());
|
|
|
|
|
mesProductOffLineList.add(newMesProductOffLine);
|
|
|
|
|