报工调整后,只是报工调整数量需要变化

tags/yfai-mes-ext-v1.0
jun 11 months ago
parent 3c81d6cf8a
commit e9d081c413

@ -115,8 +115,6 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
baseRDao.insert(copyMesWorkOrder);
workOrderLogService.insert(workOrderLog);
//写入SAP下发计划表
saveMesProductPlan(bean, true, false);
return bean;
} else if (bean.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue()) {
//生成工单号
@ -144,75 +142,9 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
BeanUtils.copyProperties(bean, workOrderLog, "id");
workOrderLogService.insert(workOrderLog);
bean = baseRDao.insert(bean);
//写入SAP下发计划表
saveMesProductPlan(bean, true, false);
return bean;
}
private void saveMesProductPlan(MesWorkOrder bean, boolean isInsert, boolean isReport) {
// if (StringUtil.isEmpty(bean.getPlanOrderNo())) {
// DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode());
// DdlPreparedPack.getStringEqualPack(bean.getPartNo(), "planPartNo", ddlPackBean);
// DdlPreparedPack.getStringEqualPack(bean.getPlanStartTime(), "planStartDate", ddlPackBean);
// DdlPreparedPack.getStringEqualPack(bean.getPlanEndTime(), "planEndDate", ddlPackBean);
// MesProductPlan mesProductPlan = mesProductPlanRDao.getByProperty(ddlPackBean);
// if (null == mesProductPlan) {
// MesProductPlan mesPlanOrder = new MesProductPlan();
// mesPlanOrder.setPlanOrderNo("");
// mesPlanOrder.setPlanQty(bean.getQty());
// mesPlanOrder.setPlanPartNo(bean.getPartNo());
// mesPlanOrder.setCompleteQty(0d);
// mesPlanOrder.setUncompleteQty(bean.getQty());
// mesPlanOrder.setUnit(bean.getUnit());
// mesPlanOrder.setPlanStartDate(bean.getPlanStartTime());
// mesPlanOrder.setPlanEndDate(bean.getPlanEndTime());
// mesPlanOrder.setPartMappingWorkCenterCode(bean.getErpWorkCenter());
// mesPlanOrder.setPlanOrganizeCode(bean.getOrganizeCode());
// mesPlanOrder.setOrganizeCode(bean.getOrganizeCode());
// ConvertBean.serviceModelInitialize(mesPlanOrder, bean.getCreateUser());
// mesProductPlanRDao.insert(mesPlanOrder);
// } else {
// if (isInsert) {
// mesProductPlan.setPlanQty(MathOperation.add(mesProductPlan.getPlanQty(), bean.getQty()));
// } else {
// //报工
// if (isReport) {
// mesProductPlan.setCompleteQty(MathOperation.add(mesProductPlan.getCompleteQty(), bean.getNum()));
// //报工调整
// } else {
// mesProductPlan.setCompleteQty(MathOperation.sub(mesProductPlan.getCompleteQty(), bean.getNum()));
// }
// }
// mesProductPlan.setUncompleteQty(MathOperation.sub(mesProductPlan.getPlanQty(), mesProductPlan.getCompleteQty()));
// ConvertBean.serviceModelUpdate(mesProductPlan, bean.getCreateUser());
// mesProductPlanRDao.update(mesProductPlan);
// }
// } else {
// DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode());
// DdlPreparedPack.getStringEqualPack(bean.getPlanOrderNo(), "planOrderNo", ddlPackBean);
// DdlPreparedPack.getStringEqualPack(bean.getPartNo(), "planPartNo", ddlPackBean);
// MesProductPlan mesProductPlan = mesProductPlanRDao.getByProperty(ddlPackBean);
// if (null == mesProductPlan) {
// MesException.throwMesBusiException("SAP计划单号【%s】物料【%s】,不存在", bean.getPlanOrderNo(), bean.getPartNo());
// }
// if (!isInsert) {
// if (Objects.isNull(mesProductPlan.getCompleteQty())) {
// mesProductPlan.setCompleteQty(0d);
// }
// //报工
// if (isReport) {
// mesProductPlan.setCompleteQty(MathOperation.add(mesProductPlan.getCompleteQty(), bean.getNum()));
// //报工调整
// } else {
// mesProductPlan.setCompleteQty(MathOperation.sub(mesProductPlan.getCompleteQty(), bean.getNum()));
// }
// mesProductPlan.setUncompleteQty(MathOperation.sub(mesProductPlan.getPlanQty(), mesProductPlan.getCompleteQty()));
// ConvertBean.serviceModelUpdate(mesProductPlan, bean.getCreateUser());
// mesProductPlanRDao.update(mesProductPlan);
// }
// }
}
@Override
public MesWorkOrder update(MesWorkOrder bean) {
MesWorkOrder result = baseRDao.getById(bean.getId());
@ -518,31 +450,25 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
//报工类型
if (MesExtEnumUtil.REPORT_TYPE.REPORT.getValue() == mesWorkOrder.getReportType()) {
mesWorkOrder.setReportedQty(MathOperation.add(mesWorkOrder.getNum(), mesWorkOrder.getReportedQty()));
//更新SAP计划完成数量
saveMesProductPlan(mesWorkOrder, false, true);
//更新工单状态
double unCompleteQty = MathOperation.sub(mesWorkOrder.getQty(), mesWorkOrder.getReportedQty());
mesWorkOrder.setUnCompleteQty(unCompleteQty > 0 ? unCompleteQty : 0);
if (mesWorkOrder.getReportedQty() > mesWorkOrder.getQty()) {
MesException.throwMesBusiException("工单报工数量【%s】大于工单数量【%s】,不允许报工",
mesWorkOrder.getReportedQty(), mesWorkOrder.getQty());
} else if (Objects.equals(mesWorkOrder.getReportedQty(), mesWorkOrder.getQty())) {
mesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.COMPLETE.getValue());
} else {
mesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.PROCESS.getValue());
}
} else {
//冲销数量大于工单完成数量报错
if (mesWorkOrder.getNum() > mesWorkOrder.getReportedQty()) {
if (MathOperation.add(mesWorkOrder.getNum(),mesWorkOrder.getAdjustQty()) > mesWorkOrder.getReportedQty()) {
MesException.throwMesBusiException("冲销数量【%s】大于工单完成数量【%s】,不允许冲销",
mesWorkOrder.getNum(), mesWorkOrder.getReportedQty());
}
//报工调整数量加-
mesWorkOrder.setAdjustQty((MathOperation.add(mesWorkOrder.getNum(), mesWorkOrder.getAdjustQty())));
//已汇报数量减一
mesWorkOrder.setReportedQty(MathOperation.sub(mesWorkOrder.getReportedQty(), mesWorkOrder.getNum()));
//更新SAP计划完成数量
saveMesProductPlan(mesWorkOrder, false, false);
}
//更新工单状态
double unCompleteQty = MathOperation.sub(mesWorkOrder.getQty(), mesWorkOrder.getReportedQty());
mesWorkOrder.setUnCompleteQty(unCompleteQty > 0 ? unCompleteQty : 0);
if (mesWorkOrder.getReportedQty() > mesWorkOrder.getQty()) {
MesException.throwMesBusiException("工单报工数量【%s】大于工单数量【%s】,不允许报工",
mesWorkOrder.getReportedQty(), mesWorkOrder.getQty());
} else if (Objects.equals(mesWorkOrder.getReportedQty(), mesWorkOrder.getQty())) {
mesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.COMPLETE.getValue());
} else {
mesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.PROCESS.getValue());
}
update(mesWorkOrder);
@ -641,26 +567,24 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
//报工
if (MesExtEnumUtil.REPORT_TYPE.REPORT.getValue() == mesWorkOrder.getReportType()) {
mesWorkOrder.setReportedQty(MathOperation.add(mesWorkOrderNew.getNum(), mesWorkOrder.getReportedQty()));
//更新工单状态
double unCompleteQty = MathOperation.sub(mesWorkOrder.getQty(), mesWorkOrder.getReportedQty());
mesWorkOrder.setUnCompleteQty(unCompleteQty > 0 ? unCompleteQty : 0);
if (mesWorkOrder.getReportedQty() > mesWorkOrder.getQty()) {
MesException.throwMesBusiException("工单报工数量大于工单数量【%s】,不允许报工", mesWorkOrder.getQty());
} else if (Objects.equals(mesWorkOrder.getReportedQty(), mesWorkOrder.getQty())) {
mesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.COMPLETE.getValue());
} else {
mesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.PROCESS.getValue());
}
} else {
//冲销数量大于工单完成数量报错
if (mesWorkOrderNew.getNum() > mesWorkOrder.getReportedQty()) {
if (MathOperation.add(mesWorkOrder.getNum(),mesWorkOrder.getAdjustQty()) > mesWorkOrder.getReportedQty()) {
MesException.throwMesBusiException("冲销数量【%s】大于工单完成数量【%s】,不允许冲销",
mesWorkOrderNew.getNum(), mesWorkOrder.getReportedQty());
}
//报工调整数量加-
mesWorkOrder.setAdjustQty((MathOperation.add(mesWorkOrderNew.getNum(), mesWorkOrder.getAdjustQty())));
//已汇报数量减一
mesWorkOrder.setReportedQty(MathOperation.sub(mesWorkOrder.getReportedQty(), mesWorkOrderNew.getNum()));
}
//更新工单状态
double unCompleteQty = MathOperation.sub(mesWorkOrder.getQty(), mesWorkOrder.getReportedQty());
mesWorkOrder.setUnCompleteQty(unCompleteQty > 0 ? unCompleteQty : 0);
if (mesWorkOrder.getReportedQty() > mesWorkOrder.getQty()) {
MesException.throwMesBusiException("工单报工数量大于工单数量【%s】,不允许报工", mesWorkOrder.getQty());
} else if (Objects.equals(mesWorkOrder.getReportedQty(), mesWorkOrder.getQty())) {
mesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.COMPLETE.getValue());
} else {
mesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.PROCESS.getValue());
}
//获取生产版本
MesProductVersion mesProductVersion = getMesProductVersion(mesWorkOrder);

Loading…
Cancel
Save