Merge branch 'uat-temp-nht-2504090000-46216' into uat-temp-wj-chongqingdaqu-dev

# Conflicts:
#	modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesShippingLoadingCheckService.java
uat-temp-wj-chongqingdaqu-dev
jason 3 months ago
commit 497cec6e10

@ -115,12 +115,14 @@ public class MesPartShippingGroupService implements IMesPartShippingGroupService
@Override @Override
public boolean isFirstInstall(MesPartShippingGroup shippingGroup, MesLoadingList loadingList) { public boolean isFirstInstall(MesPartShippingGroup shippingGroup, MesLoadingList loadingList) {
if (loadingList != null) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(loadingList.getOrganizeCode()); DdlPackBean packBean = DdlPackBean.getDdlPackBean(loadingList.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(loadingList.getLoadingGroupNo(), "loadingGroupNo", packBean); DdlPreparedPack.getStringEqualPack(loadingList.getLoadingGroupNo(), "loadingGroupNo", packBean);
MesLoadingGroup loadingGroup = loadingGroupRDao.getByProperty(packBean); MesLoadingGroup loadingGroup = loadingGroupRDao.getByProperty(packBean);
if (loadingGroup != null && loadingGroup.getIsFirstInstall() != null) { if (loadingGroup != null && loadingGroup.getIsFirstInstall() != null) {
return Objects.equals(loadingGroup.getIsFirstInstall(), CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); return Objects.equals(loadingGroup.getIsFirstInstall(), CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
} }
}
return Objects.equals(shippingGroup.getIsFirstInstall(), CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); return Objects.equals(shippingGroup.getIsFirstInstall(), CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
} }

@ -163,19 +163,35 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS
//校验发运单是否存在 //校验发运单是否存在
checkLoadingList(model, organizeCode, loadingList); checkLoadingList(model, organizeCode, loadingList);
//查询零件发运组 //查询零件发运组
MesPartShippingGroup shippingGroup = getMesPartShippingGroup(organizeCode, loadingList.getPartShippingGroupCode()); MesPartShippingGroup loadingShippingGroup = getMesPartShippingGroup(organizeCode, loadingList.getPartShippingGroupCode());
final boolean isFirstInstall = mesPartShippingGroupService.isFirstInstall(shippingGroup, loadingList); final boolean isFirstInstall = mesPartShippingGroupService.isFirstInstall(loadingShippingGroup, loadingList);
MesLoadingGroup loadingGroup = loadingList.getLoadingGroupId() != null ? mesLoadingGroupRDao.getById(loadingList.getLoadingGroupId()) : null;
boolean scanflg = false; boolean scanflg = false;
for (MesLoadingListDetail loadingListDetail : model.getDetailList()) { for (MesLoadingListDetail loadingListDetail : model.getDetailList()) {
if (loadingListDetail.getShippingCode().equals(model.getShippingCode())) { if (loadingListDetail.getShippingCode().equals(model.getShippingCode())) {
if (Objects.equals(loadingListDetail.getTempStatus(), MesCommonConstant.TRUE_INTEGER)) { if (Objects.equals(loadingListDetail.getTempStatus(), MesCommonConstant.TRUE_INTEGER)) {
throw new ImppBusiException(String.format("【%s】此发运单已经%s请检查数据", model.getShippingCode(),loadingListDetail.getTempStatusVal())); throw new ImppBusiException(String.format("【%s】此发运单已经%s请检查数据", model.getShippingCode(),loadingListDetail.getTempStatusVal()));
} }
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(loadingListDetail.getShippingCode(),"shippingCode",packBean);
MesShippingOrderManagement orderManagement = shippingOrderManagementRepository.getByProperty(packBean);
if (orderManagement == null) {
throw new ImppBusiException(String.format("发运单【%s】信息不存在请检查数据", loadingListDetail.getShippingCode()));
}
//查询零件发运组
MesPartShippingGroup shippingGroup = getMesPartShippingGroup(organizeCode, orderManagement.getShippingGroupCode());
//校验发运单明细顺序 //校验发运单明细顺序
if(!StringUtils.isEmpty(shippingGroup.getIsEnableLoadingFailSafe()) && CommonEnumUtil.VALID == shippingGroup.getIsEnableLoadingFailSafe()){ if(!StringUtils.isEmpty(shippingGroup.getIsEnableLoadingFailSafe()) && CommonEnumUtil.VALID == shippingGroup.getIsEnableLoadingFailSafe()){
Optional<MesLoadingListDetail> detail = model.getDetailList().stream().filter(k -> k.getShippingCode().compareTo(loadingListDetail.getShippingCode()) < 0 && !Objects.equals(k.getTempStatus(), MesCommonConstant.TRUE_INTEGER)).findFirst(); List<MesLoadingListDetail> shippingGroupLoading = new ArrayList<>();
for (MesLoadingListDetail detail : model.getDetailList()) {
if (detail.getShippingId() != null) {
MesShippingOrderManagement shippingOrder = shippingOrderManagementRepository.getById(detail.getShippingId());
if (shippingOrder != null && Objects.equals(shippingOrder.getShippingGroupCode(), shippingGroup.getShippingGroupCode())) {
shippingGroupLoading.add(detail);
}
}
}
Optional<MesLoadingListDetail> detail = shippingGroupLoading.stream().filter(k -> k.getShippingCode().compareTo(loadingListDetail.getShippingCode()) < 0 && !Objects.equals(k.getTempStatus(), MesCommonConstant.TRUE_INTEGER)).findFirst();
if(detail.isPresent()){ if(detail.isPresent()){
throw new ImppBusiException(String.format("装车单【%s】启用明细顺序防错发运单【%s】前还有未扫描的发运单请检查数据", loadingList.getOrderCode(), model.getShippingCode())); throw new ImppBusiException(String.format("装车单【%s】启用明细顺序防错发运单【%s】前还有未扫描的发运单请检查数据", loadingList.getOrderCode(), model.getShippingCode()));
} }
@ -212,9 +228,6 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS
//根据扫描的装车单找到是否先装车配置 //根据扫描的装车单找到是否先装车配置
//若配置为否,则查询装车单中所有的发运单是否都进行【排序发运校验】完成,若【排序发运校验】没完成,则提示,先进行排序发运校验。 //若配置为否,则查询装车单中所有的发运单是否都进行【排序发运校验】完成,若【排序发运校验】没完成,则提示,先进行排序发运校验。
if (!isFirstInstall) { if (!isFirstInstall) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getNumEqualPack(loadingListDetail.getShippingId(),"id",packBean);
MesShippingOrderManagement orderManagement = shippingOrderManagementRepository.getByProperty(packBean);
if (orderManagement == null || orderManagement.getStatus() != MesExtEnumUtil.SHIPPING_ORDER_STATUS.SHIPPED.getValue()) { if (orderManagement == null || orderManagement.getStatus() != MesExtEnumUtil.SHIPPING_ORDER_STATUS.SHIPPED.getValue()) {
throw new ImppBusiException(String.format("【%s】此装车单中发运单为【%s】还未做完【排序发运校验】请检查数据", model.getShippingCode(), loadingListDetail.getShippingCode())); throw new ImppBusiException(String.format("【%s】此装车单中发运单为【%s】还未做完【排序发运校验】请检查数据", model.getShippingCode(), loadingListDetail.getShippingCode()));
} }

@ -673,11 +673,13 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService
orderManagement.setOrderCode(loadingList.getOrderCode()); orderManagement.setOrderCode(loadingList.getOrderCode());
orderManagement.setLoadingListId(loadingList.getId()); orderManagement.setLoadingListId(loadingList.getId());
} }
if(!Objects.isNull(listDetail)){
//更新装车单明细对应的发运单状态=发运 //更新装车单明细对应的发运单状态=发运
listDetail.setStatus(MesExtEnumUtil.LOADING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue()); listDetail.setStatus(MesExtEnumUtil.LOADING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue());
ConvertBean.serviceModelUpdate(listDetail, userInfo); ConvertBean.serviceModelUpdate(listDetail, userInfo);
listDetailRepository.update(listDetail); listDetailRepository.update(listDetail);
} }
}
//发运单状态修改为校验完成 //发运单状态修改为校验完成
orderManagement.setSystemSyncStatus(CommonEnumUtil.FALSE); orderManagement.setSystemSyncStatus(CommonEnumUtil.FALSE);
orderManagement.setStatus(MesExtEnumUtil.SHIPPING_ORDER_STATUS.SHIPPED.getValue()); orderManagement.setStatus(MesExtEnumUtil.SHIPPING_ORDER_STATUS.SHIPPED.getValue());

Loading…
Cancel
Save