|
|
|
@ -134,6 +134,9 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService
|
|
|
|
|
@Autowired
|
|
|
|
|
private MesCimVolvoJisRackIdDetailRepository rackIdDetailRDao;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private IMesLoadingGroupRepository mesLoadingGroupRDao;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public MesSortShippingCheckModel doShippingOrderNoQuery(MesShippingOrderManagement shippingOrderManagement) {
|
|
|
|
|
//返回数据组装
|
|
|
|
@ -144,10 +147,11 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService
|
|
|
|
|
model.setMsg(String.format("发运单【%s】已跳过,请扫描下一个发运单",shippingOrderManagement.getShippingCode()));
|
|
|
|
|
return model;
|
|
|
|
|
}
|
|
|
|
|
MesPartShippingGroup partShippingGroup = getMesPartShippingGroup(orderManagement.getOrganizeCode(),orderManagement.getShippingGroupCode());
|
|
|
|
|
//校验发运单扫描顺序
|
|
|
|
|
checkShippingOrderSeq(shippingOrderManagement, orderManagement);
|
|
|
|
|
//根据扫描的发运单找到是否装车配置,若是,则根据发运单查询是否生成装车单,若没生成装车单则提示此发运单配置是否装车为是,但没生成装车单,请检查数据!
|
|
|
|
|
checkLoadingList(shippingOrderManagement, orderManagement);
|
|
|
|
|
checkLoadingList(shippingOrderManagement, orderManagement, partShippingGroup);
|
|
|
|
|
if (!StringUtils.isEmpty(orderManagement.getCheckSeqCode())) {
|
|
|
|
|
model.setIsScanLocationCode(true);
|
|
|
|
|
}
|
|
|
|
@ -155,7 +159,7 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService
|
|
|
|
|
//发运单号
|
|
|
|
|
model.setShippingCode(orderManagement.getShippingCode());
|
|
|
|
|
//零件发运组
|
|
|
|
|
model.setMesPartShippingGroup(getMesPartShippingGroup(orderManagement.getOrganizeCode(),orderManagement.getShippingGroupCode()));
|
|
|
|
|
model.setMesPartShippingGroup(partShippingGroup);
|
|
|
|
|
//发运单明细
|
|
|
|
|
model.setDetailList(getMesShippingOrderManagementDetails(orderManagement,model.getMesPartShippingGroup()));
|
|
|
|
|
//最近扫描完成的发运单号
|
|
|
|
@ -446,7 +450,7 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void checkLoadingList(MesShippingOrderManagement shippingOrderManagement, MesShippingOrderManagement orderManagement) {
|
|
|
|
|
private void checkLoadingList(MesShippingOrderManagement shippingOrderManagement, MesShippingOrderManagement orderManagement, MesPartShippingGroup partShippingGroup) {
|
|
|
|
|
if (Objects.equals(orderManagement.getIsLoading(), MesCommonConstant.TRUE_INTEGER)) {
|
|
|
|
|
//查询装车单明细
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(orderManagement.getOrganizeCode());
|
|
|
|
@ -462,7 +466,7 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService
|
|
|
|
|
throw new ImppBusiException(String.format("【%s】此发运单配置是否装车为是,但没生成装车单,请检查数据!", shippingOrderManagement.getShippingCode()));
|
|
|
|
|
}
|
|
|
|
|
//判断是否先装车
|
|
|
|
|
if (Objects.equals(orderManagement.getIsFirstInstall(), MesCommonConstant.TRUE_INTEGER)) {
|
|
|
|
|
if (mesPartShippingGroupService.isFirstInstall(partShippingGroup, loadingList)) {
|
|
|
|
|
//若没进行装车校验,则提示【%s】此发运单对应的【%s】此装车单状态为【%s】,请选择状态为【%s】的数据
|
|
|
|
|
if (loadingList.getStatus() != MesExtEnumUtil.MES_LOADING_STATUS.SCANNED.getValue()) {
|
|
|
|
|
throw new ImppBusiException(String.format("【%s】此发运单对应的【%s】此装车单状态为【%s】,请选择状态为【%s】的数据!请检查数据!",
|
|
|
|
@ -585,7 +589,7 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService
|
|
|
|
|
// throw new ImppBusiException(String.format("【%s】此条码已经扫描过,请检查数据!", model.getSn()));
|
|
|
|
|
// }
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(org);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(model.getSn(), "productSn", packBean);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(model.getSn(), "custSn", packBean);
|
|
|
|
|
DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{"createDatetime"}, packBean);
|
|
|
|
|
MesProduceSn produceSn = produceSnRepository.getByProperty(packBean);
|
|
|
|
|
|
|
|
|
@ -639,27 +643,30 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService
|
|
|
|
|
orderManagement.setStartScanTime(TimeTool.getNowTime(true));
|
|
|
|
|
}
|
|
|
|
|
MesLoadingList loadingList = null;
|
|
|
|
|
// 获取装车单
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(orderManagement.getOrganizeCode());
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(orderManagement.getShippingCode(),"shippingCode",packBean);
|
|
|
|
|
MesLoadingListDetail listDetail = listDetailRepository.getByProperty(packBean);
|
|
|
|
|
if(!Objects.isNull(listDetail)){
|
|
|
|
|
packBean = DdlPackBean.getDdlPackBean(orderManagement.getOrganizeCode());
|
|
|
|
|
DdlPreparedPack.getNumEqualPack(listDetail.getPid(), "id", packBean);
|
|
|
|
|
loadingList = listRepository.getByProperty(packBean);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//零件发运组
|
|
|
|
|
MesPartShippingGroup shippingGroup = Objects.isNull(model.getMesPartShippingGroup()) ? getMesPartShippingGroup(orderManagement.getOrganizeCode(), orderManagement.getShippingGroupCode()) : model.getMesPartShippingGroup();
|
|
|
|
|
final boolean isFirstInstall = mesPartShippingGroupService.isFirstInstall(shippingGroup, loadingList);
|
|
|
|
|
//根据发运单查询装车单明细信息
|
|
|
|
|
if (Objects.equals(shippingGroup.getIsFirstInstall(), CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue())) {
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(orderManagement.getOrganizeCode());
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(orderManagement.getShippingCode(),"shippingCode",packBean);
|
|
|
|
|
MesLoadingListDetail listDetail = listDetailRepository.getByProperty(packBean);
|
|
|
|
|
if(!Objects.isNull(listDetail)){
|
|
|
|
|
packBean = DdlPackBean.getDdlPackBean(orderManagement.getOrganizeCode());
|
|
|
|
|
DdlPreparedPack.getNumEqualPack(listDetail.getPid(), "id", packBean);
|
|
|
|
|
loadingList = listRepository.getByProperty(packBean);
|
|
|
|
|
//反填装车单信息到发运单
|
|
|
|
|
if(!Objects.isNull(loadingList)){
|
|
|
|
|
orderManagement.setOrderCode(loadingList.getOrderCode());
|
|
|
|
|
orderManagement.setLoadingListId(loadingList.getId());
|
|
|
|
|
}
|
|
|
|
|
//更新装车单明细对应的发运单状态=发运
|
|
|
|
|
listDetail.setStatus(MesExtEnumUtil.LOADING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue());
|
|
|
|
|
ConvertBean.serviceModelUpdate(listDetail, userInfo);
|
|
|
|
|
listDetailRepository.update(listDetail);
|
|
|
|
|
if (isFirstInstall) {
|
|
|
|
|
//反填装车单信息到发运单
|
|
|
|
|
if(!Objects.isNull(loadingList)){
|
|
|
|
|
orderManagement.setOrderCode(loadingList.getOrderCode());
|
|
|
|
|
orderManagement.setLoadingListId(loadingList.getId());
|
|
|
|
|
}
|
|
|
|
|
//更新装车单明细对应的发运单状态=发运
|
|
|
|
|
listDetail.setStatus(MesExtEnumUtil.LOADING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue());
|
|
|
|
|
ConvertBean.serviceModelUpdate(listDetail, userInfo);
|
|
|
|
|
listDetailRepository.update(listDetail);
|
|
|
|
|
}
|
|
|
|
|
//发运单状态修改为校验完成
|
|
|
|
|
orderManagement.setSystemSyncStatus(CommonEnumUtil.FALSE);
|
|
|
|
@ -753,7 +760,7 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService
|
|
|
|
|
if (!CollectionUtils.isEmpty(mesJisShippings)) {
|
|
|
|
|
shippingList.addAll(mesJisShippings);
|
|
|
|
|
}
|
|
|
|
|
} else if (Objects.equals(shippingGroup.getIsFirstInstall(), CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue())){
|
|
|
|
|
} else if (isFirstInstall){
|
|
|
|
|
//查询装车单明细
|
|
|
|
|
DdlPackBean orderManagementPackBean = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
|
DdlPreparedPack.getNumEqualPack(orderManagement.getLoadingListId(),"pid",orderManagementPackBean);
|
|
|
|
|