|
|
|
@ -5,6 +5,7 @@ import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesShippingLoadingCheckService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesShippingLoadingCheckModel;
|
|
|
|
|
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
|
|
|
|
|
import cn.estsh.i3plus.platform.common.tool.TimeTool;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
|
|
|
|
@ -20,6 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.Collections;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
@ -81,7 +83,7 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS
|
|
|
|
|
|
|
|
|
|
//查询最近扫描完成的装车单号
|
|
|
|
|
DdlPackBean recentlyOrderPackBean = DdlPackBean.getDdlPackBean(loadingList.organizeCode);
|
|
|
|
|
DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.LOADING_ORDER_STATUS.SHIPPING.getValue(), "status", recentlyOrderPackBean);
|
|
|
|
|
DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.MES_LOADING_STATUS.SCANNED.getValue(), "status", recentlyOrderPackBean);
|
|
|
|
|
DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{"modifyDatetime"}, recentlyOrderPackBean);
|
|
|
|
|
MesLoadingList recentlyVehiclesOrder = vehiclesOrderRepository.getByProperty(recentlyOrderPackBean);
|
|
|
|
|
|
|
|
|
@ -107,11 +109,17 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS
|
|
|
|
|
public MesLoadingList queryLoadingOrderNoByAutoPushOrder(String shippingGroupNo, String org) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<Integer> statusList = new ArrayList<>();
|
|
|
|
|
statusList.add(MesExtEnumUtil.MES_LOADING_STATUS.CREATE.getValue());
|
|
|
|
|
statusList.add(MesExtEnumUtil.MES_LOADING_STATUS.PUBLISH.getValue());
|
|
|
|
|
statusList.add(MesExtEnumUtil.MES_LOADING_STATUS.CREATE_ASN.getValue());
|
|
|
|
|
statusList.add(MesExtEnumUtil.MES_LOADING_STATUS.LOADING.getValue());
|
|
|
|
|
|
|
|
|
|
//查询最近需要扫描的装车单号
|
|
|
|
|
DdlPackBean orderPackBean = DdlPackBean.getDdlPackBean(org);
|
|
|
|
|
// DdlPreparedPack.getStringEqualPack(shippingGroupNo, "partShippingGroupCode", orderPackBean);
|
|
|
|
|
DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.LOADING_ORDER_STATUS.CREATE.getValue(), "status", orderPackBean);
|
|
|
|
|
DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{"seq"}, orderPackBean);
|
|
|
|
|
DdlPreparedPack.getInPackList(statusList, "status", orderPackBean);
|
|
|
|
|
DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.ASC.getValue()}, new String[]{"seq"}, orderPackBean);
|
|
|
|
|
MesLoadingList loadingList = vehiclesOrderRepository.getByProperty(orderPackBean);
|
|
|
|
|
|
|
|
|
|
return loadingList;
|
|
|
|
@ -147,7 +155,14 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS
|
|
|
|
|
//根据是否启动记忆判断 若启用记忆,则根据保存数据库
|
|
|
|
|
if (loadingList.getIsEnableMemory() == MesCommonConstant.TRUE_INTEGER) {
|
|
|
|
|
|
|
|
|
|
loadingList.setStatus(MesExtEnumUtil.LOADING_ORDER_STATUS.LOADING.getValue());
|
|
|
|
|
//若装车单状态为创建或发布已生成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, AuthUtil.getSessionUser().getUserName());
|
|
|
|
|
vehiclesOrderRepository.save(loadingList);
|
|
|
|
|
|
|
|
|
@ -179,8 +194,15 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS
|
|
|
|
|
//全部扫描完成
|
|
|
|
|
if (count.intValue() == model.getDetailList().size()) {
|
|
|
|
|
|
|
|
|
|
//若装车单状态为创建或发布已生成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.setEndScanTime(TimeTool.getNowTime(true));
|
|
|
|
|
//装车单主表
|
|
|
|
|
loadingList.setStatus(MesExtEnumUtil.LOADING_ORDER_STATUS.LOADED.getValue());
|
|
|
|
|
loadingList.setStatus(MesExtEnumUtil.MES_LOADING_STATUS.SCANNED.getValue());
|
|
|
|
|
ConvertBean.serviceModelUpdate(loadingList, AuthUtil.getSessionUser().getUserName());
|
|
|
|
|
|
|
|
|
|
//装车单明细
|
|
|
|
@ -215,9 +237,16 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//校验装车单状态 必须是未装车条码
|
|
|
|
|
if (loadingList.getStatus() != MesExtEnumUtil.LOADING_ORDER_STATUS.CREATE.getValue() && loadingList.getStatus() != MesExtEnumUtil.LOADING_ORDER_STATUS.LOADING.getValue()) {
|
|
|
|
|
throw new ImppBusiException(String.format("【%s】此装车单状态为【%s】,请选择状态为【%s】或状态【%s】的装车单", loadingList.getOrderCode(),
|
|
|
|
|
MesExtEnumUtil.LOADING_ORDER_STATUS.valueOfDescription(loadingList.getStatus()), MesExtEnumUtil.LOADING_ORDER_STATUS.CREATE.getDescription(), MesExtEnumUtil.LOADING_ORDER_STATUS.LOADING.getDescription()));
|
|
|
|
|
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.getStatus() != MesExtEnumUtil.MES_LOADING_STATUS.LOADING.getValue()) {
|
|
|
|
|
throw new ImppBusiException(String.format("【%s】此装车单状态为【%s】,请选择状态为【%s】或状态【%s】或状态【%s】或状态【%s】的装车单", loadingList.getOrderCode(),
|
|
|
|
|
MesExtEnumUtil.MES_LOADING_STATUS.valueOfDescription(loadingList.getStatus()),
|
|
|
|
|
MesExtEnumUtil.MES_LOADING_STATUS.CREATE.getDescription(),
|
|
|
|
|
MesExtEnumUtil.MES_LOADING_STATUS.PUBLISH.getDescription(),
|
|
|
|
|
MesExtEnumUtil.MES_LOADING_STATUS.CREATE_ASN.getDescription(),
|
|
|
|
|
MesExtEnumUtil.MES_LOADING_STATUS.LOADING.getDescription()));
|
|
|
|
|
}
|
|
|
|
|
return loadingList;
|
|
|
|
|
}
|
|
|
|
|