装车单中所有发运单全部变成发运回传

tags/yfai-pcn-ext-v1.0
gsz 11 months ago
parent c1fe6b6db8
commit 68dc08b6f4

@ -220,7 +220,7 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS
DdlPreparedPack.getNumEqualPack(loadingList.getId(), "pid", vehiclesOrderDetailPackBean); DdlPreparedPack.getNumEqualPack(loadingList.getId(), "pid", vehiclesOrderDetailPackBean);
List<MesLoadingListDetail> vehiclesOrderDetailList = vehiclesOrderDetailRepository.findByHqlWhere(vehiclesOrderDetailPackBean); List<MesLoadingListDetail> vehiclesOrderDetailList = vehiclesOrderDetailRepository.findByHqlWhere(vehiclesOrderDetailPackBean);
vehiclesOrderDetailList.forEach(k -> { vehiclesOrderDetailList.forEach(k -> {
k.setStatus(MesExtEnumUtil.LOADING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue()); // k.setStatus(MesExtEnumUtil.LOADING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue()); todo 不改变为发运状态
ConvertBean.serviceModelUpdate(k, AuthUtil.getSessionUser().getUserName()); ConvertBean.serviceModelUpdate(k, AuthUtil.getSessionUser().getUserName());
}); });

@ -14,6 +14,7 @@ import cn.estsh.i3plus.pojo.base.util.StringUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesJisShipping; import cn.estsh.i3plus.pojo.mes.bean.MesJisShipping;
import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn; import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesLoadingList; import cn.estsh.i3plus.pojo.mes.bean.shipping.MesLoadingList;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesLoadingListDetail;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagement; import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagement;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagementDetail; import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagementDetail;
import cn.estsh.i3plus.pojo.mes.repository.*; import cn.estsh.i3plus.pojo.mes.repository.*;
@ -59,7 +60,8 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService
@Autowired @Autowired
private IMesJisShippingService jisShippingService; private IMesJisShippingService jisShippingService;
@Autowired
private MesLoadingListDetailRepository vehiclesOrderDetailRepository;
@Override @Override
public MesSortShippingCheckModel queryShippingOrderNo(MesShippingOrderManagement shippingOrderManagement) { public MesSortShippingCheckModel queryShippingOrderNo(MesShippingOrderManagement shippingOrderManagement) {
@ -98,13 +100,13 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService
//根据扫描的发运单找到是否装车配置,若是,则根据发运单查询是否生成装车单,若没生成装车单则提示此发运单配置是否装车为是,但没生成装车单,请检查数据! //根据扫描的发运单找到是否装车配置,若是,则根据发运单查询是否生成装车单,若没生成装车单则提示此发运单配置是否装车为是,但没生成装车单,请检查数据!
if (orderManagement.getIsLoading() == MesCommonConstant.TRUE_INTEGER) { if (orderManagement.getIsLoading() == MesCommonConstant.TRUE_INTEGER) {
if (StringUtils.isEmpty(orderManagement.getLoadingListId()) || orderManagement.getLoadingListId() == 0) { if (StringUtils.isEmpty(orderManagement.getOrderCode()) ) {
throw new ImppBusiException(String.format("【%s】此发运单配置是否装车为是,但没绑定装车单号,请检查数据!", shippingOrderManagement.getShippingCode())); throw new ImppBusiException(String.format("【%s】此发运单配置是否装车为是,但没绑定装车单号,请检查数据!", shippingOrderManagement.getShippingCode()));
} }
DdlPackBean orderDetailPackBean = DdlPackBean.getDdlPackBean(shippingOrderManagement.getOrganizeCode()); DdlPackBean orderDetailPackBean = DdlPackBean.getDdlPackBean(shippingOrderManagement.getOrganizeCode());
DdlPreparedPack.getNumEqualPack(orderManagement.getLoadingListId(), "id", orderDetailPackBean); DdlPreparedPack.getNumEqualPack(orderManagement.getOrderCode(), "orderCode", orderDetailPackBean);
MesLoadingList loadingList = listRepository.getByProperty(orderDetailPackBean); MesLoadingList loadingList = listRepository.getByProperty(orderDetailPackBean);
if (StringUtils.isEmpty(loadingList)) { if (StringUtils.isEmpty(loadingList)) {
throw new ImppBusiException(String.format("【%s】此发运单配置是否装车为是,但没生成装车单,请检查数据!", shippingOrderManagement.getShippingCode())); throw new ImppBusiException(String.format("【%s】此发运单配置是否装车为是,但没生成装车单,请检查数据!", shippingOrderManagement.getShippingCode()));
@ -353,7 +355,7 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService
} }
public void saveDate(MesShippingOrderManagement orderManagement, MesSortShippingCheckModel model, String org) { public void saveDate(MesShippingOrderManagement orderManagement, MesSortShippingCheckModel model, String org) {
String userName = AuthUtil.getSessionUser().getUserName();
//若发运单状态为创建或发布 则写入开始扫描时间 //若发运单状态为创建或发布 则写入开始扫描时间
if (orderManagement.getStatus() == MesExtEnumUtil.SHIPPING_ORDER_STATUS.CREATE.getValue() || if (orderManagement.getStatus() == MesExtEnumUtil.SHIPPING_ORDER_STATUS.CREATE.getValue() ||
orderManagement.getStatus() == MesExtEnumUtil.SHIPPING_ORDER_STATUS.PUBLISHED.getValue()) { orderManagement.getStatus() == MesExtEnumUtil.SHIPPING_ORDER_STATUS.PUBLISHED.getValue()) {
@ -387,7 +389,7 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService
} }
detail.setActualQty(1); detail.setActualQty(1);
detail.setStatus(MesExtEnumUtil.SHIPPING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue()); detail.setStatus(MesExtEnumUtil.SHIPPING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue());
ConvertBean.serviceModelUpdate(detail, AuthUtil.getSessionUser().getUserName()); ConvertBean.serviceModelUpdate(detail, userName);
DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{"createDatetime"}, packBean); DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{"createDatetime"}, packBean);
MesProduceSn produceSn = produceSnRepository.getByProperty(packBean); MesProduceSn produceSn = produceSnRepository.getByProperty(packBean);
@ -396,19 +398,44 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService
} }
produceSn.setSnStatus(MesExtEnumUtil.PRODUCE_SN_STATUS.SHIPPED.getValue()); produceSn.setSnStatus(MesExtEnumUtil.PRODUCE_SN_STATUS.SHIPPED.getValue());
ConvertBean.serviceModelUpdate(produceSn, AuthUtil.getSessionUser().getUserName()); ConvertBean.serviceModelUpdate(produceSn, userName);
produceSnList.add(produceSn); produceSnList.add(produceSn);
} }
//当前发运单明细 需要报工的数据
List<MesJisShipping> jisShippingList = jisShippingService.getJisShipping(orderManagement, orderManagementDetailList, org);
produceSnRepository.saveAll(produceSnList); produceSnRepository.saveAll(produceSnList);
shippingOrderManagementRepository.save(orderManagement); shippingOrderManagementRepository.save(orderManagement);
shippingOrderManagementDetailRepository.saveAll(orderManagementDetailList); shippingOrderManagementDetailRepository.saveAll(orderManagementDetailList);
//1.更新装车单明细对应的发运单状态=发运
DdlPackBean vehiclesOrderDetailPackBean = DdlPackBean.getDdlPackBean(org);
DdlPreparedPack.getNumEqualPack(orderManagement.getShippingCode(), "shippingCode", vehiclesOrderDetailPackBean);
MesLoadingListDetail vehiclesOrderDetail = vehiclesOrderDetailRepository.getByProperty(vehiclesOrderDetailPackBean);
if(!StringUtil.isEmpty(vehiclesOrderDetail)){
vehiclesOrderDetail.setStatus(MesExtEnumUtil.LOADING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue());
ConvertBean.serviceModelUpdate(vehiclesOrderDetail, userName);
vehiclesOrderDetailRepository.save(vehiclesOrderDetail);
}
DdlPackBean orderManagementPackBean = DdlPackBean.getDdlPackBean(org);
DdlPreparedPack.getStringEqualPack(orderManagement.getOrderCode(), "orderCode", orderManagementPackBean);
DdlPreparedPack.getNotInPack(MesExtEnumUtil.SHIPPING_ORDER_STATUS.SHIPPED.getValue(), "shippingCode", orderManagementPackBean);
boolean exitByHql = shippingOrderManagementRepository.isExitByHql(orderManagementPackBean);
//2.装车单中所有发运单全部变成发运回传
if(!exitByHql){
List<MesJisShipping> jisShippingList=new ArrayList<>();
DdlPackBean jisBean = DdlPackBean.getDdlPackBean(org);
DdlPreparedPack.getStringEqualPack(orderManagement.getOrderCode(), "orderCode", jisBean);
List<MesShippingOrderManagement> shippingOrderManagementList = shippingOrderManagementRepository.findByHqlWhere(jisBean);
for (MesShippingOrderManagement mesShippingOrderManagement : shippingOrderManagementList) {
DdlPackBean detailPackBean = DdlPackBean.getDdlPackBean(org);
DdlPreparedPack.getNumEqualPack(mesShippingOrderManagement.getId(), "pid", detailPackBean);
List<MesShippingOrderManagementDetail> shippingOrderManagementDetails = shippingOrderManagementDetailRepository.findByHqlWhere(detailPackBean);
//当前装车单所有发运单明细 需要报工的数据
jisShippingList = jisShippingService.getJisShipping(mesShippingOrderManagement, shippingOrderManagementDetails, org);
}
//保存当前发运单明细报工
jisShippingRepository.saveAll(jisShippingList);
}
//保存当前发运单明细报工
jisShippingRepository.saveAll(jisShippingList);
} }
} }

Loading…
Cancel
Save