|
|
|
@ -540,13 +540,15 @@ public class MesWorkOrderService implements IMesWorkOrderService {
|
|
|
|
|
double unCompleteQty = MathOperation.sub(oldMesWorkOrder.getQty(), oldMesWorkOrder.getReportedQty());
|
|
|
|
|
oldMesWorkOrder.setUnCompleteQty(unCompleteQty > 0 ? unCompleteQty : 0);
|
|
|
|
|
}
|
|
|
|
|
//更新工单状态
|
|
|
|
|
|
|
|
|
|
if (StringUtil.isEmpty(productionRecord.getWorkOrderNo())) {
|
|
|
|
|
//更新工单状态
|
|
|
|
|
if (oldMesWorkOrder.getReportedQty() >= oldMesWorkOrder.getQty()) {
|
|
|
|
|
oldMesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.COMPLETE.getValue());
|
|
|
|
|
} else {
|
|
|
|
|
oldMesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.PROCESS.getValue());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
LOGGER.info("工单报工后数量【{}】", oldMesWorkOrder.getReportedQty());
|
|
|
|
|
ConvertBean.serviceModelUpdate(oldMesWorkOrder, userName);
|
|
|
|
|
oldMesWorkOrder.setModifyDatetime((new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS")).format(new Date()));
|
|
|
|
@ -607,6 +609,20 @@ public class MesWorkOrderService implements IMesWorkOrderService {
|
|
|
|
|
private MesProductOffLine getMesProductOffLine(MesProductionRecord productionRecord, String userName, MesWorkOrder oldMesWorkOrder, MesProductVersion mesProductVersion, MesBom mesBom,String reportSn,boolean isItemReport) {
|
|
|
|
|
MesProductOffLine newMesProductOffLine = new MesProductOffLine();
|
|
|
|
|
BeanUtils.copyProperties(mesBom, newMesProductOffLine, MesPcnExtConstWords.BASE_BEAN_FIELDS);
|
|
|
|
|
|
|
|
|
|
DdlPackBean productPackBean = DdlPackBean.getDdlPackBean(productionRecord.getOrganizeCode());
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(mesBom.getItemPartNo(),"itemPartNo", productPackBean);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(oldMesWorkOrder.getPartNo(),"reportPartNo", productPackBean);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(productionRecord.getProductSn(),"reportSn", productPackBean);
|
|
|
|
|
MesProductOffLine productOffLine = mesProductOffLineRDao.getByProperty(productPackBean);
|
|
|
|
|
if (productOffLine != null) {
|
|
|
|
|
String msg = String.format("子零件【%s】产成零件【%s】条码【%s】对应报工信息已存在",
|
|
|
|
|
mesBom.getItemPartNo(),oldMesWorkOrder.getPartNo(), productionRecord.getProductSn());
|
|
|
|
|
LOGGER.error(msg);
|
|
|
|
|
throw new ImppBusiException(msg);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
newMesProductOffLine.setReportPartNo(mesBom.getPartNo());
|
|
|
|
|
newMesProductOffLine.setReportPartNameRdd(mesBom.getPartName());
|
|
|
|
|
newMesProductOffLine.setAlort(mesProductVersion.getReceiveInventoryPoint());
|
|
|
|
@ -758,8 +774,9 @@ public class MesWorkOrderService implements IMesWorkOrderService {
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(productionRecord.getWorkCenterCode(), "workCenterCode", ddlPackBean);
|
|
|
|
|
if (!StringUtils.isEmpty(productionRecord.getWorkOrderNo())) {
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(productionRecord.getWorkOrderNo(), "workOrderNo", ddlPackBean);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
DdlPreparedPack.getInPackList(list, "workOrderStatus", ddlPackBean);
|
|
|
|
|
}
|
|
|
|
|
DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.ASC.getValue()}, new String[]{"modifyDatetime"}, ddlPackBean);
|
|
|
|
|
// 新增班次逻辑
|
|
|
|
|
//DdlPreparedPack.
|
|
|
|
|