|
|
|
@ -5,6 +5,7 @@ import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesShippingLoadingCheckService;
|
|
|
|
|
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;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
|
|
|
|
|
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
|
|
|
|
|
import cn.estsh.i3plus.platform.common.tool.TimeTool;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
|
|
|
|
@ -20,9 +21,11 @@ import cn.estsh.impp.framework.boot.exception.ImppBusiException;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
|
|
|
|
|
import java.util.*;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @Description :
|
|
|
|
@ -55,10 +58,10 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS
|
|
|
|
|
private MesPartShippingGroupService mesPartShippingGroupService;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public MesShippingLoadingCheckModel queryLoadingOrderNo(MesLoadingList loadingList) {
|
|
|
|
|
public MesShippingLoadingCheckModel doLoadingOrderNoQuery(MesLoadingList loadingList) {
|
|
|
|
|
|
|
|
|
|
//校验装车单
|
|
|
|
|
MesLoadingList loadingListResult = checkLoadingList(loadingList.getOrderCode(), loadingList.getOrganizeCode());
|
|
|
|
|
MesLoadingList loadingListResult = checkLoadingList(loadingList.getOrderCode(), loadingList.getOrganizeCode(),loadingList.getIsPass(),loadingList.getModifyUser());
|
|
|
|
|
|
|
|
|
|
//若生成装车单,则一定有装车单明细
|
|
|
|
|
DdlPackBean orderDetailPackBean = DdlPackBean.getDdlPackBean(loadingList.getOrganizeCode());
|
|
|
|
@ -67,7 +70,7 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS
|
|
|
|
|
List<MesLoadingListDetail> detailList = vehiclesOrderDetailRepository.findByHqlWhere(orderDetailPackBean);
|
|
|
|
|
|
|
|
|
|
//是否逆转
|
|
|
|
|
if (loadingListResult.getIsReverse() == MesCommonConstant.TRUE_INTEGER) {
|
|
|
|
|
if (Objects.equals(loadingListResult.getIsReverse(), MesCommonConstant.TRUE_INTEGER)) {
|
|
|
|
|
// 逆转
|
|
|
|
|
for (int i = 0; i < detailList.size(); i += loadingListResult.getReverseQuantity()) {
|
|
|
|
|
if (i + loadingListResult.getReverseQuantity() - 1 < detailList.size()) {
|
|
|
|
@ -128,21 +131,23 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS
|
|
|
|
|
public MesShippingLoadingCheckModel saveVehiclesOrderAndDetail(MesShippingLoadingCheckModel model, String organizeCode, String userInfo) {
|
|
|
|
|
|
|
|
|
|
//校验装车单
|
|
|
|
|
MesLoadingList loadingList = checkLoadingList(model.getOrderCode(), organizeCode);
|
|
|
|
|
MesLoadingList loadingList = checkLoadingList(model.getOrderCode(), organizeCode,model.getIsPass(),userInfo);
|
|
|
|
|
|
|
|
|
|
//根据扫描的发运单以及前端传的发运单明细,进行匹配,若没有找到扫描的发运单,则提示扫描的发运单号不在此装车单中,请检查数据!。
|
|
|
|
|
if(!Objects.isNull(model.getIsPass()) && CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() == model.getIsPass()){
|
|
|
|
|
Optional<MesLoadingListDetail> loadingListDetailOptional = model.getDetailList().stream().filter(t -> !Objects.equals(t.getTempStatus(), MesCommonConstant.TRUE_INTEGER)).findFirst();
|
|
|
|
|
if(loadingListDetailOptional.isPresent()){
|
|
|
|
|
MesLoadingListDetail loadingListDetail = loadingListDetailOptional.get();
|
|
|
|
|
updateLoadingListDetail(model, userInfo, loadingList, loadingListDetail,MesPcnExtConstWords.SHIP_PASS,MesExtEnumUtil.LOADING_ORDER_DETAIL_SHIPPING_STATUS.SKIP.getValue());
|
|
|
|
|
}else{
|
|
|
|
|
throw new ImppBusiException(String.format("【%s】明细已全部扫描完成,请检查数据!", loadingList.getOrderCode()));
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
//校验发运单是否存在
|
|
|
|
|
DdlPackBean orderDetailPackBean = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
|
DdlPreparedPack.getNumEqualPack(loadingList.getId(), "pid", orderDetailPackBean);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(model.getShippingCode(), "shippingCode", orderDetailPackBean);
|
|
|
|
|
MesLoadingListDetail vehiclesOrderDetail = vehiclesOrderDetailRepository.getByProperty(orderDetailPackBean);
|
|
|
|
|
if (StringUtils.isEmpty(vehiclesOrderDetail)) {
|
|
|
|
|
throw new ImppBusiException(String.format("【%s】此发运单不存在或还未生成装车单明细,请检查数据!", model.getShippingCode()));
|
|
|
|
|
}
|
|
|
|
|
checkLoadingList(model, organizeCode, loadingList);
|
|
|
|
|
//查询零件发运组
|
|
|
|
|
MesPartShippingGroup shippingGroup = getMesPartShippingGroup(organizeCode, loadingList.getPartShippingGroupCode());
|
|
|
|
|
|
|
|
|
|
//根据扫描的发运单以及前端传的发运单明细,进行匹配,若没有找到扫描的发运单,则提示扫描的发运单号不在此装车单中,请检查数据!。
|
|
|
|
|
Boolean scanflg = false;
|
|
|
|
|
boolean scanflg = false;
|
|
|
|
|
for (MesLoadingListDetail loadingListDetail : model.getDetailList()) {
|
|
|
|
|
if (loadingListDetail.getShippingCode().equals(model.getShippingCode())) {
|
|
|
|
|
|
|
|
|
@ -150,7 +155,7 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS
|
|
|
|
|
throw new ImppBusiException(String.format("【%s】此发运单已经扫描过,请检查数据!", model.getShippingCode()));
|
|
|
|
|
}
|
|
|
|
|
//校验发运单明细顺序
|
|
|
|
|
if(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();
|
|
|
|
|
if(detail.isPresent()){
|
|
|
|
|
throw new ImppBusiException(String.format("装车单【%s】启用明细顺序防错,发运单【%s】前还有未扫描的发运单,请检查数据!", loadingList.getOrderCode(), model.getShippingCode()));
|
|
|
|
@ -158,42 +163,21 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//判断是否需要排序校验 默认排序则需要校验
|
|
|
|
|
if (loadingList.getScanSeqWay() == MesExtEnumUtil.SHIPPING_GROUP_SCAN_CONFIRM_SEQ_MODE.DEFAULT_SORT.getValue()) {
|
|
|
|
|
if (!StringUtils.isEmpty(loadingList.getScanSeqWay()) && loadingList.getScanSeqWay() == MesExtEnumUtil.SHIPPING_GROUP_SCAN_CONFIRM_SEQ_MODE.DEFAULT_SORT.getValue()) {
|
|
|
|
|
//获取明细中最小的
|
|
|
|
|
|
|
|
|
|
Long minSeq = model.getDetailList().stream().filter(k -> StringUtils.isEmpty(k.getScanSn())).mapToLong(k -> k.getSeq()).min().getAsLong();
|
|
|
|
|
long minSeq = model.getDetailList().stream().filter(k -> StringUtils.isEmpty(k.getScanSn())).mapToLong(MesLoadingListDetail::getSeq).min().getAsLong();
|
|
|
|
|
//若扫描的不是最小顺序 则报错
|
|
|
|
|
if (minSeq.longValue() != loadingListDetail.getSeq().longValue()) {
|
|
|
|
|
if (minSeq != loadingListDetail.getSeq()) {
|
|
|
|
|
throw new ImppBusiException(String.format("【%s】此发运单扫描顺序错误,请检查数据!", model.getShippingCode()));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
loadingListDetail.setScanSn(model.getShippingCode());
|
|
|
|
|
loadingListDetail.setTempStatus(MesCommonConstant.TRUE_INTEGER);
|
|
|
|
|
loadingListDetail.setTempStatusVal("扫描完成");
|
|
|
|
|
|
|
|
|
|
//根据是否启动记忆判断 若启用记忆,则根据保存数据库
|
|
|
|
|
if (loadingList.getIsEnableMemory() == MesCommonConstant.TRUE_INTEGER) {
|
|
|
|
|
|
|
|
|
|
//若装车单状态为创建或发布已生成ASN 则写入开始扫描时间
|
|
|
|
|
if (loadingList.getStatus() == MesExtEnumUtil.MES_LOADING_STATUS.CREATE.getValue() ||
|
|
|
|
|
loadingList.getStatus() == MesExtEnumUtil.MES_LOADING_STATUS.PUBLISH.getValue() ||
|
|
|
|
|
loadingList.getStatus() == MesExtEnumUtil.MES_LOADING_STATUS.CREATE_ASN.getValue()) {
|
|
|
|
|
loadingList.setStartScanTime(TimeTool.getNowTime(true));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
loadingList.setStatus(MesExtEnumUtil.MES_LOADING_STATUS.LOADING.getValue());
|
|
|
|
|
ConvertBean.serviceModelUpdate(loadingList, userInfo);
|
|
|
|
|
update(loadingList);
|
|
|
|
|
|
|
|
|
|
loadingListDetail.setStatus(MesExtEnumUtil.LOADING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue());
|
|
|
|
|
ConvertBean.serviceModelUpdate(loadingListDetail, userInfo);
|
|
|
|
|
update(loadingListDetail);
|
|
|
|
|
}
|
|
|
|
|
//更新页面状态
|
|
|
|
|
updateLoadingListDetail(model, userInfo, loadingList, loadingListDetail,"扫描完成",MesExtEnumUtil.LOADING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue());
|
|
|
|
|
|
|
|
|
|
//根据扫描的装车单找到是否先装车配置
|
|
|
|
|
//若配置为否,则查询装车单中所有的发运单是否都进行【排序发运校验】完成,若【排序发运校验】没完成,则提示,先进行排序发运校验。
|
|
|
|
|
if (loadingList.getIsFirstInstall() == MesCommonConstant.FALSE_INTEGER) {
|
|
|
|
|
if (Objects.equals(loadingList.getIsFirstInstall(), MesCommonConstant.FALSE_INTEGER)) {
|
|
|
|
|
MesShippingOrderManagement orderManagement = shippingOrderManagementRepository.getById(loadingListDetail.getShippingId());
|
|
|
|
|
if (!StringUtils.isEmpty(orderManagement)) {
|
|
|
|
|
throw new ImppBusiException(String.format("【%s】此装车单中发运单为【%s】,还未做完【排序发运校验】,请检查数据", model.getShippingCode(), loadingListDetail.getShippingCode()));
|
|
|
|
@ -203,12 +187,12 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!scanflg) {
|
|
|
|
|
throw new ImppBusiException(String.format("【%s】扫描的发运单号不在【%s】此装车单中,请检查数据!", model.getShippingCode(), model.getOrderCode()));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Long count = model.getDetailList().stream().filter(k -> k.getTempStatus() == MesCommonConstant.TRUE_INTEGER).count();
|
|
|
|
|
Long count = model.getDetailList().stream().filter(k -> Objects.equals(k.getTempStatus(), MesCommonConstant.TRUE_INTEGER)).count();
|
|
|
|
|
model.setIsScanCount(count.intValue());
|
|
|
|
|
|
|
|
|
|
//全部扫描完成
|
|
|
|
@ -240,6 +224,41 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS
|
|
|
|
|
return model;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void checkLoadingList(MesShippingLoadingCheckModel model, String organizeCode, MesLoadingList loadingList) {
|
|
|
|
|
DdlPackBean orderDetailPackBean = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
|
DdlPreparedPack.getNumEqualPack(loadingList.getId(), "pid", orderDetailPackBean);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(model.getShippingCode(), "shippingCode", orderDetailPackBean);
|
|
|
|
|
MesLoadingListDetail vehiclesOrderDetail = vehiclesOrderDetailRepository.getByProperty(orderDetailPackBean);
|
|
|
|
|
if (StringUtils.isEmpty(vehiclesOrderDetail)) {
|
|
|
|
|
throw new ImppBusiException(String.format("【%s】此发运单不存在或还未生成装车单明细,请检查数据!", model.getShippingCode()));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void updateLoadingListDetail(MesShippingLoadingCheckModel model, String userInfo, MesLoadingList loadingList, MesLoadingListDetail loadingListDetail, String tempStatusVal, Integer status) {
|
|
|
|
|
loadingListDetail.setScanSn(model.getShippingCode());
|
|
|
|
|
loadingListDetail.setTempStatus(MesCommonConstant.TRUE_INTEGER);
|
|
|
|
|
loadingListDetail.setTempStatusVal(tempStatusVal);
|
|
|
|
|
|
|
|
|
|
//根据是否启动记忆判断 若启用记忆,则根据保存数据库
|
|
|
|
|
if (Objects.equals(loadingList.getIsEnableMemory(), MesCommonConstant.TRUE_INTEGER)) {
|
|
|
|
|
|
|
|
|
|
//若装车单状态为创建或发布已生成ASN 则写入开始扫描时间
|
|
|
|
|
if (loadingList.getStatus() == MesExtEnumUtil.MES_LOADING_STATUS.CREATE.getValue() ||
|
|
|
|
|
loadingList.getStatus() == MesExtEnumUtil.MES_LOADING_STATUS.PUBLISH.getValue() ||
|
|
|
|
|
loadingList.getStatus() == MesExtEnumUtil.MES_LOADING_STATUS.CREATE_ASN.getValue()) {
|
|
|
|
|
loadingList.setStartScanTime(TimeTool.getNowTime(true));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
loadingList.setStatus(MesExtEnumUtil.MES_LOADING_STATUS.LOADING.getValue());
|
|
|
|
|
ConvertBean.serviceModelUpdate(loadingList, userInfo);
|
|
|
|
|
update(loadingList);
|
|
|
|
|
|
|
|
|
|
loadingListDetail.setStatus(status);
|
|
|
|
|
ConvertBean.serviceModelUpdate(loadingListDetail, userInfo);
|
|
|
|
|
update(loadingListDetail);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private MesPartShippingGroup getMesPartShippingGroup(String org, String partShippingGroupCode) {
|
|
|
|
|
MesPartShippingGroup shippingGroup = mesPartShippingGroupService.getMesPartShippingGroup(org, partShippingGroupCode);
|
|
|
|
|
if(Objects.isNull(shippingGroup)){
|
|
|
|
@ -254,7 +273,7 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS
|
|
|
|
|
* @param orderCode
|
|
|
|
|
* @param org
|
|
|
|
|
*/
|
|
|
|
|
public MesLoadingList checkLoadingList(String orderCode, String org) {
|
|
|
|
|
public MesLoadingList checkLoadingList(String orderCode, String org,Integer isPass,String userName) {
|
|
|
|
|
|
|
|
|
|
//校验装车单是否存在
|
|
|
|
|
DdlPackBean orderPackBean = DdlPackBean.getDdlPackBean(org);
|
|
|
|
@ -263,7 +282,6 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS
|
|
|
|
|
if (StringUtils.isEmpty(loadingList)) {
|
|
|
|
|
throw new ImppBusiException(String.format("【%s】此装车单不存在,请检查数据!", orderCode));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//校验装车单状态 必须是未装车条码
|
|
|
|
|
if (loadingList.getStatus() != MesExtEnumUtil.MES_LOADING_STATUS.CREATE.getValue() &&
|
|
|
|
|
loadingList.getStatus() != MesExtEnumUtil.MES_LOADING_STATUS.PUBLISH.getValue() &&
|
|
|
|
@ -284,12 +302,18 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS
|
|
|
|
|
loadingListStatusList.add(MesExtEnumUtil.MES_LOADING_STATUS.LOADING.getValue());
|
|
|
|
|
orderPackBean = DdlPackBean.getDdlPackBean(org);
|
|
|
|
|
DdlPreparedPack.getStringSmallerNotEqualPack(loadingList.getSeq(), "seq", orderPackBean);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(loadingList.getPartShippingGroupCode(),"partShippingGroupCode",orderPackBean);
|
|
|
|
|
DdlPreparedPack.getInPackList(loadingListStatusList, "status", orderPackBean);
|
|
|
|
|
int count = vehiclesOrderRepository.findByHqlWhereCount(orderPackBean);
|
|
|
|
|
if (count != 0) {
|
|
|
|
|
//强过
|
|
|
|
|
if(!Objects.isNull(isPass) && CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() == isPass){
|
|
|
|
|
updateLoadingListClose(loadingListStatusList,loadingList,userName);
|
|
|
|
|
}else {
|
|
|
|
|
throw new ImppBusiException(String.format("【%s】装车单对应排序【%s】前存在未扫描发运的装车单,请检查数据!",
|
|
|
|
|
orderCode, loadingList.getSeq()));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return loadingList;
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
@ -310,4 +334,64 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS
|
|
|
|
|
vehiclesOrderDetailRepository.update(item);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void updateLoadingListClose(List<Integer> loadingListStatusList,MesLoadingList loadingList,String userName){
|
|
|
|
|
List<MesLoadingList> mesLoadingList = getMesLoadingListList(loadingListStatusList, loadingList);
|
|
|
|
|
if(CollectionUtils.isEmpty(mesLoadingList)) return;
|
|
|
|
|
List<Long> idList = mesLoadingList.stream().map(MesLoadingList::getId).distinct().collect(Collectors.toList());
|
|
|
|
|
//关闭装发运单明细
|
|
|
|
|
List<MesShippingOrderManagement> mesShippingOrderManagementList = getMesShippingOrderManagementList(loadingList.getOrganizeCode(), idList);
|
|
|
|
|
if(!CollectionUtils.isEmpty(mesShippingOrderManagementList)){
|
|
|
|
|
closeShippingOrderDetails(loadingList.getOrganizeCode(), userName, mesShippingOrderManagementList.stream().map(MesShippingOrderManagement::getId).collect(Collectors.toList()));
|
|
|
|
|
}
|
|
|
|
|
//关闭发运单
|
|
|
|
|
closeShippingOrder(loadingList.getOrganizeCode(), userName, mesShippingOrderManagementList.stream().map(MesShippingOrderManagement::getId).collect(Collectors.toList()));
|
|
|
|
|
//关闭装车单明细
|
|
|
|
|
closeLoadingDetails(loadingList.getOrganizeCode(), userName, idList);
|
|
|
|
|
//关闭装车单
|
|
|
|
|
closeLoadingOrder(loadingList.getOrganizeCode(), userName, idList);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void closeShippingOrderDetails(String organizeCode, String userName, List<Long> idList) {
|
|
|
|
|
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.CLOSE.getValue(),MesPcnExtConstWords.STRONGER_PASS}, packBean);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private List<MesShippingOrderManagement> getMesShippingOrderManagementList(String organizeCode, List<Long> idList) {
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
|
DdlPreparedPack.getInPackList(idList,"loadingListId",packBean);
|
|
|
|
|
return shippingOrderManagementRepository.findByHqlWhere(packBean);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void closeShippingOrder(String organizeCode, String userName, List<Long> idList) {
|
|
|
|
|
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.CLOSE.getValue(),MesPcnExtConstWords.STRONGER_PASS}, packBean);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void closeLoadingDetails(String organizeCode, String userName, List<Long> idList) {
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
|
DdlPreparedPack.getInPackList(idList, "pid",packBean);
|
|
|
|
|
vehiclesOrderDetailRepository.updateByProperties(new String[]{"modifyUser", "modifyDatetime", "status","remark"},
|
|
|
|
|
new Object[]{userName, TimeTool.getNowTime(true), MesExtEnumUtil.LOADING_ORDER_DETAIL_SHIPPING_STATUS.CLOSE.getValue(),MesPcnExtConstWords.STRONGER_PASS}, packBean);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void closeLoadingOrder(String organizeCode, String userName, List<Long> idList) {
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
|
DdlPreparedPack.getInPackList(idList, "id",packBean);
|
|
|
|
|
vehiclesOrderRepository.updateByProperties(new String[]{"modifyUser", "modifyDatetime", "status","remark"},
|
|
|
|
|
new Object[]{userName, TimeTool.getNowTime(true), MesExtEnumUtil.MES_LOADING_STATUS.CLOSED.getValue(),MesPcnExtConstWords.STRONGER_PASS}, packBean);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private List<MesLoadingList> getMesLoadingListList(List<Integer> loadingListStatusList, MesLoadingList loadingList) {
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(loadingList.getOrganizeCode());
|
|
|
|
|
DdlPreparedPack.getStringSmallerNotEqualPack(loadingList.getSeq(), "seq", packBean);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(loadingList.getPartShippingGroupCode(),"partShippingGroupCode",packBean);
|
|
|
|
|
DdlPreparedPack.getInPackList(loadingListStatusList, "status", packBean);
|
|
|
|
|
return vehiclesOrderRepository.findByHqlWhere(packBean);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|