|
|
@ -8,6 +8,7 @@ import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords;
|
|
|
|
import cn.estsh.i3plus.icloud.core.sdk.ICoreUtilCloud;
|
|
|
|
import cn.estsh.i3plus.icloud.core.sdk.ICoreUtilCloud;
|
|
|
|
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
|
|
|
|
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
|
|
|
|
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
|
|
|
|
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
|
|
|
|
|
|
|
|
import cn.estsh.i3plus.platform.common.tool.TimeTool;
|
|
|
|
import cn.estsh.i3plus.platform.common.util.WmsConstWords;
|
|
|
|
import cn.estsh.i3plus.platform.common.util.WmsConstWords;
|
|
|
|
import cn.estsh.i3plus.pojo.base.bean.BaseResultBean;
|
|
|
|
import cn.estsh.i3plus.pojo.base.bean.BaseResultBean;
|
|
|
|
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
|
|
|
|
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
|
|
|
@ -132,12 +133,13 @@ public class MesPullingOrderInfoService extends BaseMesService<MesPullingOrderIn
|
|
|
|
Map<String, List<MesWorkOrder>> workOrderListMap = workOrderList.stream().collect(Collectors.groupingBy(MesWorkOrder::getWorkOrderNo));
|
|
|
|
Map<String, List<MesWorkOrder>> workOrderListMap = workOrderList.stream().collect(Collectors.groupingBy(MesWorkOrder::getWorkOrderNo));
|
|
|
|
|
|
|
|
|
|
|
|
DdlPackBean packBeanWorkOrderPart = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
DdlPackBean packBeanWorkOrderPart = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
DdlPreparedPack.getInPackList(workOrderList.stream().map(MesWorkOrder::getWorkOrderNo).collect(Collectors.toList()), "workOrderNo", workPackBean);
|
|
|
|
DdlPreparedPack.getInPackList(workOrderList.stream().map(MesWorkOrder::getWorkOrderNo).collect(Collectors.toList()), "workOrderNo", packBeanWorkOrderPart);
|
|
|
|
List<MesWorkOrderPart> mesWorkOrderPartList = workOrderPartRepository.findByHqlWhere(packBeanWorkOrderPart);
|
|
|
|
List<MesWorkOrderPart> mesWorkOrderPartList = workOrderPartRepository.findByHqlWhere(packBeanWorkOrderPart);
|
|
|
|
if (CollectionUtils.isEmpty(mesWorkOrderPartList)) {
|
|
|
|
if (CollectionUtils.isEmpty(mesWorkOrderPartList)) {
|
|
|
|
LOGGER.info("根据拉动组和生产工单产生拉动单JOB-->工厂号{},产线对应的工单对应工单零件不存在-->{}", organizeCode, workCenterList);
|
|
|
|
LOGGER.info("根据拉动组和生产工单产生拉动单JOB-->工厂号{},产线对应的工单对应工单零件不存在-->{}", organizeCode, workCenterList);
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
LOGGER.info("根据拉动组和生产工单产生拉动单JOB-->工厂号{},产线对应的工单对应工单零件mesWorkOrderPartList-->{}", organizeCode, mesWorkOrderPartList);
|
|
|
|
//5.取工单零件和拉动组交集,根据拉动主表对应的类型 生成相应的拉动单和拉动单明细
|
|
|
|
//5.取工单零件和拉动组交集,根据拉动主表对应的类型 生成相应的拉动单和拉动单明细
|
|
|
|
Map<String, List<MesWorkOrderPart>> workOrderNoListMap = mesWorkOrderPartList.stream().collect(Collectors.groupingBy(MesWorkOrderPart::getWorkOrderNo));
|
|
|
|
Map<String, List<MesWorkOrderPart>> workOrderNoListMap = mesWorkOrderPartList.stream().collect(Collectors.groupingBy(MesWorkOrderPart::getWorkOrderNo));
|
|
|
|
|
|
|
|
|
|
|
@ -169,31 +171,32 @@ public class MesPullingOrderInfoService extends BaseMesService<MesPullingOrderIn
|
|
|
|
List<MesPartPull> mesPartPulls = pullCodeMap.get(pullCode);
|
|
|
|
List<MesPartPull> mesPartPulls = pullCodeMap.get(pullCode);
|
|
|
|
MesPartPull mesPartPull = mesPartPulls.get(0);//拉动组明细拉动单号对应拉动组
|
|
|
|
MesPartPull mesPartPull = mesPartPulls.get(0);//拉动组明细拉动单号对应拉动组
|
|
|
|
List<MesPartPullDetail> mesPartPullDetails = stringListEntryDetail.getValue();
|
|
|
|
List<MesPartPullDetail> mesPartPullDetails = stringListEntryDetail.getValue();
|
|
|
|
|
|
|
|
//拉动组号+年月日+工单后5位
|
|
|
|
|
|
|
|
String orderNo = mesPartPull.getPullCode()+ TimeTool.getNowTime(true) +
|
|
|
|
|
|
|
|
mesWorkOrder.getWorkOrderNo().substring(mesWorkOrder.getWorkOrderNo().length()-5);
|
|
|
|
|
|
|
|
// if (mesPartPull.getPullOrderType() == MesExtEnumUtil.PART_PULL_ORDER_TYPE.KITTING_PULL.getValue()) {
|
|
|
|
|
|
|
|
// orderNo = "KITTING";
|
|
|
|
|
|
|
|
// } else if (mesPartPull.getPullOrderType() == MesExtEnumUtil.PART_PULL_ORDER_TYPE.JIS_PULL.getValue()) {
|
|
|
|
|
|
|
|
// orderNo = "JIS";
|
|
|
|
|
|
|
|
// } else if (mesPartPull.getPullOrderType() == MesExtEnumUtil.PART_PULL_ORDER_TYPE.SPS_PULL.getValue()) {
|
|
|
|
|
|
|
|
// orderNo = "SPS";
|
|
|
|
|
|
|
|
// } else if (mesPartPull.getPullOrderType() == MesExtEnumUtil.PART_PULL_ORDER_TYPE.BENZ_PULL.getValue()) {
|
|
|
|
|
|
|
|
// orderNo = "BENZ";
|
|
|
|
|
|
|
|
// } else if (mesPartPull.getPullOrderType() == MesExtEnumUtil.PART_PULL_ORDER_TYPE.PICK_PULL.getValue()) {
|
|
|
|
|
|
|
|
// orderNo = "PICK";
|
|
|
|
|
|
|
|
// }
|
|
|
|
//调用平台生成拉动单号流水 -yyyyMMdd00001
|
|
|
|
//调用平台生成拉动单号流水 -yyyyMMdd00001
|
|
|
|
String orderNo = "";
|
|
|
|
// BaseResultBean<LinkedHashMap> orderResutlBean = sysOrderNoRuleCloud.getOrderNo(MesCommonConstant.MES_PULL_ORDER_NO);
|
|
|
|
if (mesPartPull.getPullOrderType() == MesExtEnumUtil.PART_PULL_ORDER_TYPE.KITTING_PULL.getValue()) {
|
|
|
|
// if (orderResutlBean != null && orderResutlBean.isSuccess()) {
|
|
|
|
orderNo = "KITTING";
|
|
|
|
// orderNo += orderResutlBean.getResultObject().get(WmsConstWords.CORE_ORDER_NO).toString();
|
|
|
|
} else if (mesPartPull.getPullOrderType() == MesExtEnumUtil.PART_PULL_ORDER_TYPE.JIS_PULL.getValue()) {
|
|
|
|
// } else {
|
|
|
|
orderNo = "JIS";
|
|
|
|
// throw ImppExceptionBuilder.newInstance()
|
|
|
|
} else if (mesPartPull.getPullOrderType() == MesExtEnumUtil.PART_PULL_ORDER_TYPE.SPS_PULL.getValue()) {
|
|
|
|
// .setSystemID(CommonEnumUtil.SOFT_TYPE.WMS.getCode())
|
|
|
|
orderNo = "SPS";
|
|
|
|
// .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
} else if (mesPartPull.getPullOrderType() == MesExtEnumUtil.PART_PULL_ORDER_TYPE.BENZ_PULL.getValue()) {
|
|
|
|
// .setErrorDetail("生成单号失败")
|
|
|
|
orderNo = "BENZ";
|
|
|
|
// .setErrorSolution("【MES_PULL_ORDER_NO】请重新操作或查看服务!")
|
|
|
|
} else if (mesPartPull.getPullOrderType() == MesExtEnumUtil.PART_PULL_ORDER_TYPE.PICK_PULL.getValue()) {
|
|
|
|
// .build();
|
|
|
|
orderNo = "PICK";
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BaseResultBean<LinkedHashMap> orderResutlBean = sysOrderNoRuleCloud.getOrderNo(MesCommonConstant.MES_PULL_ORDER_NO);
|
|
|
|
|
|
|
|
if (orderResutlBean != null && orderResutlBean.isSuccess()) {
|
|
|
|
|
|
|
|
orderNo += orderResutlBean.getResultObject().get(WmsConstWords.CORE_ORDER_NO).toString();
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.WMS.getCode())
|
|
|
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
|
|
|
|
.setErrorDetail("生成单号失败")
|
|
|
|
|
|
|
|
.setErrorSolution("【MES_PULL_ORDER_NO】请重新操作或查看服务!")
|
|
|
|
|
|
|
|
.build();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
MesPullingOrderInfo pullingOrder = new MesPullingOrderInfo();
|
|
|
|
MesPullingOrderInfo pullingOrder = new MesPullingOrderInfo();
|
|
|
|
pullingOrder.setOrganizeCode(organizeCode);
|
|
|
|
pullingOrder.setOrganizeCode(organizeCode);
|
|
|
|
pullingOrder.setPullingOrderNo(orderNo);
|
|
|
|
pullingOrder.setPullingOrderNo(orderNo);
|
|
|
|