|
|
|
@ -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.MesProduceSn;
|
|
|
|
|
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.MesShippingOrderManagementDetail;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.repository.*;
|
|
|
|
@ -59,7 +60,8 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private IMesJisShippingService jisShippingService;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private MesLoadingListDetailRepository vehiclesOrderDetailRepository;
|
|
|
|
|
@Override
|
|
|
|
|
public MesSortShippingCheckModel queryShippingOrderNo(MesShippingOrderManagement shippingOrderManagement) {
|
|
|
|
|
|
|
|
|
@ -98,13 +100,13 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService
|
|
|
|
|
//根据扫描的发运单找到是否装车配置,若是,则根据发运单查询是否生成装车单,若没生成装车单则提示此发运单配置是否装车为是,但没生成装车单,请检查数据!
|
|
|
|
|
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()));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DdlPackBean orderDetailPackBean = DdlPackBean.getDdlPackBean(shippingOrderManagement.getOrganizeCode());
|
|
|
|
|
DdlPreparedPack.getNumEqualPack(orderManagement.getLoadingListId(), "id", orderDetailPackBean);
|
|
|
|
|
DdlPreparedPack.getNumEqualPack(orderManagement.getOrderCode(), "orderCode", orderDetailPackBean);
|
|
|
|
|
MesLoadingList loadingList = listRepository.getByProperty(orderDetailPackBean);
|
|
|
|
|
if (StringUtils.isEmpty(loadingList)) {
|
|
|
|
|
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) {
|
|
|
|
|
|
|
|
|
|
String userName = AuthUtil.getSessionUser().getUserName();
|
|
|
|
|
//若发运单状态为创建或发布 则写入开始扫描时间
|
|
|
|
|
if (orderManagement.getStatus() == MesExtEnumUtil.SHIPPING_ORDER_STATUS.CREATE.getValue() ||
|
|
|
|
|
orderManagement.getStatus() == MesExtEnumUtil.SHIPPING_ORDER_STATUS.PUBLISHED.getValue()) {
|
|
|
|
@ -387,7 +389,7 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService
|
|
|
|
|
}
|
|
|
|
|
detail.setActualQty(1);
|
|
|
|
|
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);
|
|
|
|
|
MesProduceSn produceSn = produceSnRepository.getByProperty(packBean);
|
|
|
|
@ -396,19 +398,44 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
produceSn.setSnStatus(MesExtEnumUtil.PRODUCE_SN_STATUS.SHIPPED.getValue());
|
|
|
|
|
ConvertBean.serviceModelUpdate(produceSn, AuthUtil.getSessionUser().getUserName());
|
|
|
|
|
ConvertBean.serviceModelUpdate(produceSn, userName);
|
|
|
|
|
produceSnList.add(produceSn);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//当前发运单明细 需要报工的数据
|
|
|
|
|
List<MesJisShipping> jisShippingList = jisShippingService.getJisShipping(orderManagement, orderManagementDetailList, org);
|
|
|
|
|
|
|
|
|
|
produceSnRepository.saveAll(produceSnList);
|
|
|
|
|
shippingOrderManagementRepository.save(orderManagement);
|
|
|
|
|
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);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|