Merge branch 'uat-temp-nht-2503130000-chengdu-shipping' into uat-temp-wj-chongqingdaqu-dev

uat-temp-wj-chongqingdaqu-dev
jason 3 months ago
commit 6ef5597926

@ -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 (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】的数据请检查数据",
@ -634,6 +638,14 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService
return orderManagement;
}
private boolean isFirstInstall(MesPartShippingGroup shippingGroup, MesLoadingList loadingList) {
MesLoadingGroup loadingGroup = loadingList.getLoadingGroupId() != null ? mesLoadingGroupRDao.getById(loadingList.getLoadingGroupId()) : null;
if (loadingGroup != null && loadingGroup.getIsFirstInstall() != null) {
return Objects.equals(loadingGroup.getIsFirstInstall(), CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
}
return Objects.equals(shippingGroup.getIsFirstInstall(), CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
}
public void saveDate(MesShippingOrderManagement orderManagement, MesSortShippingCheckModel model, String organizeCode, String userInfo) {
boolean isUnpack = orderManagement.getStatus() == MesExtEnumUtil.SHIPPING_ORDER_STATUS.UNPACKING.getValue();
//若发运单状态为创建或发布 则写入开始扫描时间
@ -643,27 +655,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 = 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);
@ -760,7 +775,7 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService
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);

Loading…
Cancel
Save