|
|
|
@ -284,23 +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】",
|
|
|
|
|
MesException.throwMesBusiException("冲销数量【%s】大于工单完成数量【%s】,不允许冲销",
|
|
|
|
|
mesWorkOrder.getNum(), mesWorkOrder.getCompleteQty());
|
|
|
|
|
}
|
|
|
|
|
mesWorkOrder.setCompleteQty(MathOperation.sub(mesWorkOrder.getCompleteQty(),mesWorkOrder.getNum()));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//更新工单状态
|
|
|
|
|
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);
|
|
|
|
|