|
|
|
@ -1,7 +1,7 @@
|
|
|
|
|
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi;
|
|
|
|
|
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesJisShippingService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesShippingLoadingCheckService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesSortShippingCheckService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.apiservice.aspect.MonitorLog;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesShippingLoadingCheckModel;
|
|
|
|
@ -49,15 +49,15 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS
|
|
|
|
|
@Autowired
|
|
|
|
|
private MesShippingOrderManagementDetailRepository shippingOrderManagementDetailRepository;
|
|
|
|
|
@Autowired
|
|
|
|
|
private MesProduceSnRepository produceSnRepository;
|
|
|
|
|
@Autowired
|
|
|
|
|
private IMesJisShippingService jisShippingService;
|
|
|
|
|
@Autowired
|
|
|
|
|
private MesJisShippingRepository jisShippingRepository;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private MesPartShippingGroupService mesPartShippingGroupService;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private IMesSortShippingCheckService mesSortShippingCheckService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public MesShippingLoadingCheckModel doLoadingOrderNoQuery(MesLoadingList loadingList) {
|
|
|
|
|
|
|
|
|
@ -341,12 +341,12 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS
|
|
|
|
|
if((!Objects.isNull(isPass) && (Objects.equals(MesPcnExtConstWords.ONE,isPass) || Objects.equals(MesPcnExtConstWords.THREE,isPass)))){
|
|
|
|
|
if(Objects.equals(MesPcnExtConstWords.ONE,isPass)){
|
|
|
|
|
loadingList.setRemark(MesPcnExtConstWords.STRONGER_PASS);
|
|
|
|
|
}else{
|
|
|
|
|
}else if(Objects.equals(MesPcnExtConstWords.THREE,isPass)){
|
|
|
|
|
//跳过的单据和明细,系统默认是完成的
|
|
|
|
|
loadingList.setStatus(MesExtEnumUtil.MES_LOADING_STATUS.SCANNED.getValue());
|
|
|
|
|
loadingList.setRemark(MesPcnExtConstWords.SHIP_PASS);
|
|
|
|
|
//明细跳过
|
|
|
|
|
updateLoadingDetails(loadingList.getOrganizeCode(),userName,loadingList.getId());
|
|
|
|
|
updateLoadingList(loadingList,userName);
|
|
|
|
|
}
|
|
|
|
|
ConvertBean.serviceModelUpdate(loadingList,userName);
|
|
|
|
|
vehiclesOrderRepository.update(loadingList);
|
|
|
|
@ -375,12 +375,61 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS
|
|
|
|
|
vehiclesOrderDetailRepository.update(item);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void updateLoadingList(MesLoadingList loadingList, String userName) {
|
|
|
|
|
List<MesLoadingListDetail> mesLoadingListDetailList = getMesLoadingListList(loadingList.getId(), loadingList.getOrganizeCode());
|
|
|
|
|
if (CollectionUtils.isEmpty(mesLoadingListDetailList)) return;
|
|
|
|
|
List<String> shippingCodeList = mesLoadingListDetailList.stream().map(MesLoadingListDetail::getShippingCode).distinct().collect(Collectors.toList());
|
|
|
|
|
//关闭装发运单明细
|
|
|
|
|
List<MesShippingOrderManagement> mesShippingOrderManagementList = getMesShippingOrderManagementList(loadingList.getOrganizeCode(), shippingCodeList);
|
|
|
|
|
if (!CollectionUtils.isEmpty(mesShippingOrderManagementList)) {
|
|
|
|
|
//发送数据给wms
|
|
|
|
|
for (MesShippingOrderManagement mesShippingOrderManagement : mesShippingOrderManagementList) {
|
|
|
|
|
jisShippingRepository.saveAll(mesSortShippingCheckService.getMesJisShippings(mesShippingOrderManagement, userName));
|
|
|
|
|
}
|
|
|
|
|
//关闭发运单明细
|
|
|
|
|
closeShippingOrderDetails(loadingList.getOrganizeCode(), userName, mesShippingOrderManagementList.stream().map(MesShippingOrderManagement::getId).collect(Collectors.toList()));
|
|
|
|
|
}
|
|
|
|
|
//关闭发运单
|
|
|
|
|
closeShippingOrder(loadingList.getOrganizeCode(), userName, mesShippingOrderManagementList.stream().map(MesShippingOrderManagement::getId).collect(Collectors.toList()));
|
|
|
|
|
//明细跳过
|
|
|
|
|
updateLoadingDetails(loadingList.getOrganizeCode(), userName, loadingList.getId());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void closeShippingOrderDetails(String organizeCode, String userName, List<Long> idList) {
|
|
|
|
|
if (CollectionUtils.isEmpty(idList) || StringUtils.isEmpty(organizeCode)) return;
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
|
DdlPreparedPack.getInPackList(idList, "pid", packBean);
|
|
|
|
|
shippingOrderManagementDetailRepository.updateByProperties(new String[]{"modifyUser", "modifyDatetime", "status", "remark"},
|
|
|
|
|
new Object[]{userName, TimeTool.getNowTime(true), MesExtEnumUtil.SHIPPING_ORDER_DETAIL_SHIPPING_STATUS.SKIP.getValue(), MesPcnExtConstWords.SHIP_PASS}, packBean);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private List<MesShippingOrderManagement> getMesShippingOrderManagementList(String organizeCode, List<String> shippingCodeList) {
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
|
DdlPreparedPack.getInPackList(shippingCodeList, "shippingCode", packBean);
|
|
|
|
|
return shippingOrderManagementRepository.findByHqlWhere(packBean);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void closeShippingOrder(String organizeCode, String userName, List<Long> idList) {
|
|
|
|
|
if (CollectionUtils.isEmpty(idList) || StringUtils.isEmpty(organizeCode)) return;
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
|
DdlPreparedPack.getInPackList(idList, "id", packBean);
|
|
|
|
|
shippingOrderManagementRepository.updateByProperties(new String[]{"modifyUser", "modifyDatetime", "status", "remark"},
|
|
|
|
|
new Object[]{userName, TimeTool.getNowTime(true), MesExtEnumUtil.SHIPPING_ORDER_STATUS.SHIPPED.getValue(), MesPcnExtConstWords.SHIP_PASS}, packBean);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private List<MesLoadingListDetail> getMesLoadingListList(long id, String organizeCode) {
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
|
DdlPreparedPack.getNumEqualPack(id, "pid", packBean);
|
|
|
|
|
DdlPreparedPack.getNumberSmallerPack(MesExtEnumUtil.LOADING_ORDER_DETAIL_SHIPPING_STATUS.CLOSE.getValue(), "status", packBean);
|
|
|
|
|
return vehiclesOrderDetailRepository.findByHqlWhere(packBean);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void updateLoadingDetails(String organizeCode, String userName, long id) {
|
|
|
|
|
if(StringUtil.isEmptyAndNull(id) || StringUtils.isEmpty(organizeCode)) return;
|
|
|
|
|
if (StringUtil.isEmptyAndNull(id) || StringUtils.isEmpty(organizeCode)) return;
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
|
DdlPreparedPack.getNumEqualPack(id, "pid",packBean);
|
|
|
|
|
vehiclesOrderDetailRepository.updateByProperties(new String[]{"modifyUser", "modifyDatetime", "status","remark"},
|
|
|
|
|
new Object[]{userName, TimeTool.getNowTime(true), MesExtEnumUtil.LOADING_ORDER_DETAIL_SHIPPING_STATUS.SKIP.getValue(),MesPcnExtConstWords.SHIP_PASS}, packBean);
|
|
|
|
|
DdlPreparedPack.getNumEqualPack(id, "pid", packBean);
|
|
|
|
|
vehiclesOrderDetailRepository.updateByProperties(new String[]{"modifyUser", "modifyDatetime", "status", "remark"},
|
|
|
|
|
new Object[]{userName, TimeTool.getNowTime(true), MesExtEnumUtil.LOADING_ORDER_DETAIL_SHIPPING_STATUS.SKIP.getValue(), MesPcnExtConstWords.SHIP_PASS}, packBean);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|