|
|
@ -5,6 +5,7 @@ import cn.estsh.i3plus.ext.mes.api.base.IMesShippingOrderManagementDetailService
|
|
|
|
import cn.estsh.i3plus.ext.mes.apiservice.dao.IMesShippingOrderManagementDetailDao;
|
|
|
|
import cn.estsh.i3plus.ext.mes.apiservice.dao.IMesShippingOrderManagementDetailDao;
|
|
|
|
import cn.estsh.i3plus.ext.mes.apiservice.utils.MesException;
|
|
|
|
import cn.estsh.i3plus.ext.mes.apiservice.utils.MesException;
|
|
|
|
import cn.estsh.i3plus.ext.mes.pojo.model.MesShippingOrderManagementDetailModel;
|
|
|
|
import cn.estsh.i3plus.ext.mes.pojo.model.MesShippingOrderManagementDetailModel;
|
|
|
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords;
|
|
|
|
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
|
|
|
|
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
|
|
|
|
import cn.estsh.i3plus.platform.common.tool.TimeTool;
|
|
|
|
import cn.estsh.i3plus.platform.common.tool.TimeTool;
|
|
|
|
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
|
|
|
|
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
|
|
|
@ -239,8 +240,8 @@ public class MesShippingOrderManagementDetailService extends BaseMesService<MesS
|
|
|
|
|
|
|
|
|
|
|
|
public MesJisShipping getMesJisShipping(MesShippingOrderManagement orderManagement,MesShippingOrderManagementDetail detail, String srcLocateNo, MesWorkOrderPart orderPart, String userName) {
|
|
|
|
public MesJisShipping getMesJisShipping(MesShippingOrderManagement orderManagement,MesShippingOrderManagementDetail detail, String srcLocateNo, MesWorkOrderPart orderPart, String userName) {
|
|
|
|
MesJisShipping jisShipping = new MesJisShipping();
|
|
|
|
MesJisShipping jisShipping = new MesJisShipping();
|
|
|
|
BeanUtils.copyProperties(orderManagement, jisShipping);
|
|
|
|
BeanUtils.copyProperties(orderManagement, jisShipping, MesExtConstWords.ID);
|
|
|
|
BeanUtils.copyProperties(detail, jisShipping);
|
|
|
|
BeanUtils.copyProperties(detail, jisShipping, MesExtConstWords.ID);
|
|
|
|
jisShipping.setFactoryCode(orderManagement.getCustOrganizeCode());
|
|
|
|
jisShipping.setFactoryCode(orderManagement.getCustOrganizeCode());
|
|
|
|
jisShipping.setShippingTime(TimeTool.getNowTime(true));
|
|
|
|
jisShipping.setShippingTime(TimeTool.getNowTime(true));
|
|
|
|
jisShipping.setErpWarerhouse(srcLocateNo);
|
|
|
|
jisShipping.setErpWarerhouse(srcLocateNo);
|
|
|
@ -259,6 +260,8 @@ public class MesShippingOrderManagementDetailService extends BaseMesService<MesS
|
|
|
|
jisShipping.setOffTime(TimeTool.getNowTime(true));
|
|
|
|
jisShipping.setOffTime(TimeTool.getNowTime(true));
|
|
|
|
jisShipping.setShippingOrderCode(orderManagement.getShippingCode());
|
|
|
|
jisShipping.setShippingOrderCode(orderManagement.getShippingCode());
|
|
|
|
jisShipping.setFid(UUID.randomUUID().toString());
|
|
|
|
jisShipping.setFid(UUID.randomUUID().toString());
|
|
|
|
|
|
|
|
jisShipping.setRemark(null);
|
|
|
|
|
|
|
|
jisShipping.setDescription(null);
|
|
|
|
jisShipping.setSystemSyncStatus(CommonEnumUtil.FALSE);
|
|
|
|
jisShipping.setSystemSyncStatus(CommonEnumUtil.FALSE);
|
|
|
|
ConvertBean.serviceModelInitialize(jisShipping, userName);
|
|
|
|
ConvertBean.serviceModelInitialize(jisShipping, userName);
|
|
|
|
return jisShipping;
|
|
|
|
return jisShipping;
|
|
|
@ -340,8 +343,8 @@ public class MesShippingOrderManagementDetailService extends BaseMesService<MesS
|
|
|
|
if (StringUtils.isEmpty(detail.getPartNo())) {
|
|
|
|
if (StringUtils.isEmpty(detail.getPartNo())) {
|
|
|
|
MesException.throwFlowException("发运单明细对应零件号为空");
|
|
|
|
MesException.throwFlowException("发运单明细对应零件号为空");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (StringUtils.isEmpty(detail.getBarcode())) {
|
|
|
|
if (StringUtils.isEmpty(workOrder.getCustSn())) {
|
|
|
|
MesException.throwMesBusiException("发运单条码信息不存在");
|
|
|
|
MesException.throwMesBusiException("工单【%s】不存在客户条码", workOrder.getWorkOrderNo());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
String organizeCode = AuthUtil.getOrganizeCode();
|
|
|
|
String organizeCode = AuthUtil.getOrganizeCode();
|
|
|
|
String userName = AuthUtil.getSessionUser().getUserName();
|
|
|
|
String userName = AuthUtil.getSessionUser().getUserName();
|
|
|
@ -376,8 +379,11 @@ public class MesShippingOrderManagementDetailService extends BaseMesService<MesS
|
|
|
|
|
|
|
|
|
|
|
|
for (MesWorkOrderPart orderPart : workOrderParts) {
|
|
|
|
for (MesWorkOrderPart orderPart : workOrderParts) {
|
|
|
|
MesPart itemPart = mesPartService.getPartByPartNo(orderPart.getPartNo(), organizeCode);
|
|
|
|
MesPart itemPart = mesPartService.getPartByPartNo(orderPart.getPartNo(), organizeCode);
|
|
|
|
|
|
|
|
if (itemPart == null) {
|
|
|
|
|
|
|
|
continue;
|
|
|
|
|
|
|
|
}
|
|
|
|
MesMoveRule moveRule = mesMoveRuleMap.get(itemPart.getEsd());
|
|
|
|
MesMoveRule moveRule = mesMoveRuleMap.get(itemPart.getEsd());
|
|
|
|
if (Objects.equals(moveRule.getMoveNum(), MesExtEnumUtil.MOVE_RULE_MOVE_NUM.MOVE_RULE_MOVE_NUM_20.getValue()) && MesExtEnumUtil.MOVE_TYPE_REPORT_TYPE.SHIPPING.getValue() == moveRule.getReportType()) {
|
|
|
|
if (moveRule != null && Objects.equals(moveRule.getMoveNum(), MesExtEnumUtil.MOVE_RULE_MOVE_NUM.MOVE_RULE_MOVE_NUM_20.getValue()) && MesExtEnumUtil.MOVE_TYPE_REPORT_TYPE.SHIPPING.getValue() == moveRule.getReportType()) {
|
|
|
|
shippingList.add(getMesJisShipping(orderManagement, detail, moveRule.getErpSrcLocateNo(), orderPart, userName));
|
|
|
|
shippingList.add(getMesJisShipping(orderManagement, detail, moveRule.getErpSrcLocateNo(), orderPart, userName));
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
log.info("客供品移库零件【{}】在零件发运组【{}】的移库规则中,汇报类型未维护或不为发运", orderPart.getPartNo(), workOrder.getPartProdGroupCode());
|
|
|
|
log.info("客供品移库零件【{}】在零件发运组【{}】的移库规则中,汇报类型未维护或不为发运", orderPart.getPartNo(), workOrder.getPartProdGroupCode());
|
|
|
@ -387,8 +393,8 @@ public class MesShippingOrderManagementDetailService extends BaseMesService<MesS
|
|
|
|
jisShippingRepository.saveAll(shippingList);
|
|
|
|
jisShippingRepository.saveAll(shippingList);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
List<MesProduceSn> mesProduceSnList = mesProduceSnService.findMesProduceSn(organizeCode, detail.getBarcode());
|
|
|
|
MesProduceSn mesProduceSn = mesProduceSnService.getMesProduceSnByCustSn(organizeCode, workOrder.getCustSn());
|
|
|
|
for (MesProduceSn mesProduceSn : mesProduceSnList) {
|
|
|
|
if (mesProduceSn != null) {
|
|
|
|
//更新条码状态为完成
|
|
|
|
//更新条码状态为完成
|
|
|
|
mesProduceSn.setSnStatus(MesExtEnumUtil.PRODUCE_SN_STATUS.SHIPPED.getValue());
|
|
|
|
mesProduceSn.setSnStatus(MesExtEnumUtil.PRODUCE_SN_STATUS.SHIPPED.getValue());
|
|
|
|
mesProduceSn.setSystemSyncStatus(CommonEnumUtil.FALSE);
|
|
|
|
mesProduceSn.setSystemSyncStatus(CommonEnumUtil.FALSE);
|
|
|
@ -401,6 +407,7 @@ public class MesShippingOrderManagementDetailService extends BaseMesService<MesS
|
|
|
|
ConvertBean.serviceModelUpdate(workOrder, userName);
|
|
|
|
ConvertBean.serviceModelUpdate(workOrder, userName);
|
|
|
|
mesWorkOrderRDao.update(workOrder);
|
|
|
|
mesWorkOrderRDao.update(workOrder);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
detail.setBarcode(workOrder.getWorkOrderNo() + "," + workOrder.getCustSn());
|
|
|
|
detail.setStatus(MesExtEnumUtil.SHIPPING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue());
|
|
|
|
detail.setStatus(MesExtEnumUtil.SHIPPING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue());
|
|
|
|
detail.setSystemSyncStatus(CommonEnumUtil.FALSE);
|
|
|
|
detail.setSystemSyncStatus(CommonEnumUtil.FALSE);
|
|
|
|
detail.setRemark("cockpit发运处理");
|
|
|
|
detail.setRemark("cockpit发运处理");
|
|
|
|