修复上料问题

uat-temp-nht-2506120000-jialiao
jason 1 month ago
parent 8331a33cc7
commit 93a2743b15

@ -14,6 +14,7 @@ import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.tool.TimeTool; import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.platform.common.util.MesConstWords; import cn.estsh.i3plus.platform.common.util.MesConstWords;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.*; import cn.estsh.i3plus.pojo.mes.bean.*;
@ -53,6 +54,8 @@ public class MesContainerSnBindServiceImpl implements IMesContainerSnBindService
private MesContainerSnStationRepository containerSnStationRDao; private MesContainerSnStationRepository containerSnStationRDao;
@Autowired @Autowired
private EntityManager entityManager; private EntityManager entityManager;
@Autowired
private SnowflakeIdMaker snowflakeIdMaker;
private MesContainerPackage getContainerPackage(MesContainerSnBindModel model, MesContainerSn containerSn) { private MesContainerPackage getContainerPackage(MesContainerSnBindModel model, MesContainerSn containerSn) {
MesContainerPackage containerPackage = containerPackageRDao.getByProperty( MesContainerPackage containerPackage = containerPackageRDao.getByProperty(
@ -319,31 +322,37 @@ public class MesContainerSnBindServiceImpl implements IMesContainerSnBindService
* @param bStep * @param bStep
* @param username * @param username
*/ */
private void autoOpenContainerSn(String organizeCode, String containerSn, boolean bStep, String username) { private MesContainerPackage autoOpenContainerSn(String organizeCode, String containerSn, boolean bStep, String username) {
MesContainerPackage containerPackage = containerPackageRDao.getByProperty( MesContainerPackage containerPackage = containerPackageRDao.getByProperty(
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, "containerSn"}, new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, "containerSn"},
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), containerSn}); new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), containerSn});
if (containerPackage == null) { if (containerPackage == null) {
return; return null;
} }
List<MesContainerPackageDetail> bottomPackageDetails = new ArrayList<>(); List<MesContainerPackageDetail> bottomPackageDetails = new ArrayList<>();
getBottomPackageDetails(organizeCode, containerPackage, bottomPackageDetails); getBottomPackageDetails(organizeCode, containerPackage, bottomPackageDetails);
boolean isAllDeduction = true; List<MesContainerPackageDetail> deductionDetails = new ArrayList<>();
for (MesContainerPackageDetail packageDetail : bottomPackageDetails) { for (MesContainerPackageDetail packageDetail : bottomPackageDetails) {
if (!Objects.equals(packageDetail.getSnStatus(), MesExtEnumUtil.CONTAINER_BARCODE_STATUS.STATUS_20.getValue())) { if (Objects.equals(packageDetail.getSnStatus(), MesExtEnumUtil.CONTAINER_BARCODE_STATUS.STATUS_20.getValue())) {
isAllDeduction = false; deductionDetails.add(packageDetail);
}
} }
if (!deductionDetails.isEmpty()) {
// 扣减完成的条码与容器进行解绑
for (MesContainerPackageDetail detail : deductionDetails) {
if (detailBindingRDao.isExitByProperty(new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, "pid", "barCode", "snStatus"},
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), containerPackage.getId(), detail.getBarCode(), MesExtEnumUtil.CONTAINER_RAW_SN_BINDING_STATUS.UN_BINDING.getValue()})) {
continue;
} }
if (isAllDeduction) {
MesContainerPackageDetail detail = containerPackageDetailRDao.getByProperty(
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, "barCode"},
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), containerPackage.getContainerSn()});
if (detail != null) {
MesContainerPackageDetailBinding binding = createContainerPackageDetailBinding(containerPackage, detail, MesExtEnumUtil.CONTAINER_RAW_SN_BINDING_STATUS.UN_BINDING, username); MesContainerPackageDetailBinding binding = createContainerPackageDetailBinding(containerPackage, detail, MesExtEnumUtil.CONTAINER_RAW_SN_BINDING_STATUS.UN_BINDING, username);
detailBindingRDao.insert(binding); detailBindingRDao.insert(binding);
containerPackageDetailRDao.deleteWeaklyById(detail.getId(), username);
} }
// 容器置为拆箱状态。
containerPackage.setPackageStatus(MesExtEnumUtil.CONTAINER_PACKAGE_STATUS.STATUS_30.getValue());
}
// 全部扣减完成
if (!deductionDetails.isEmpty() && deductionDetails.size() == bottomPackageDetails.size()) {
containerPackageRDao.deleteWeaklyById(containerPackage.getId(), username); containerPackageRDao.deleteWeaklyById(containerPackage.getId(), username);
// 非工步上料,需要将容器与站点解绑! // 非工步上料,需要将容器与站点解绑!
if (!bStep) { if (!bStep) {
@ -354,7 +363,9 @@ public class MesContainerSnBindServiceImpl implements IMesContainerSnBindService
new Object[]{username, TimeTool.getNowTime(true), CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()}, new Object[]{username, TimeTool.getNowTime(true), CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()},
ddlPackBean); ddlPackBean);
} }
return null;
} }
return containerPackage;
} }
@Override @Override
@ -371,12 +382,9 @@ public class MesContainerSnBindServiceImpl implements IMesContainerSnBindService
if (containerType.getMixType() == null) { if (containerType.getMixType() == null) {
MesPcnException.throwMesBusiException("容器类型代码【%s】未配置混包类型请检查容器类型主数据", containerSn.getContainerTypeCode()); MesPcnException.throwMesBusiException("容器类型代码【%s】未配置混包类型请检查容器类型主数据", containerSn.getContainerTypeCode());
} }
autoOpenContainerSn(organizeCode, containerSn.getContainerSn(), bStep, model.getUserName()); MesContainerPackage containerPackage = autoOpenContainerSn(organizeCode, containerSn.getContainerSn(), bStep, model.getUserName());
List<MesContainerPackageDetail> packageDetails; List<MesContainerPackageDetail> packageDetails;
MesContainerPackage containerPackage = containerPackageRDao.getByProperty(
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, "containerSn"},
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), containerSn.getContainerSn()});
if (containerPackage == null) { if (containerPackage == null) {
containerPackage = createContainerPackage(model, containerType); containerPackage = createContainerPackage(model, containerType);
packageDetails = new ArrayList<>(); packageDetails = new ArrayList<>();
@ -406,7 +414,7 @@ public class MesContainerSnBindServiceImpl implements IMesContainerSnBindService
bottomPackageDetails = checkContainerBarcode(organizeCode, model.getBarCode(), oldPackageDetails); bottomPackageDetails = checkContainerBarcode(organizeCode, model.getBarCode(), oldPackageDetails);
} else { } else {
if (Objects.equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue(), containerType.getIsAllowRecursion())) { if (Objects.equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue(), containerType.getIsAllowRecursion())) {
MesPcnException.throwBusiException("容器条码【%s】不能零件条码,请重新扫描!", containerSn.getContainerSn()); MesPcnException.throwBusiException("容器条码【%s】不能扫描原料条码,请重新扫描!", containerSn.getContainerSn());
} }
bottomPackageDetails = new ArrayList<>(); bottomPackageDetails = new ArrayList<>();
} }
@ -459,11 +467,11 @@ public class MesContainerSnBindServiceImpl implements IMesContainerSnBindService
containerPackageRDao.save(containerPackage); containerPackageRDao.save(containerPackage);
} }
if (!CollectionUtils.isEmpty(model.getPackageDetails())) { if (!CollectionUtils.isEmpty(model.getPackageDetails())) {
if (containerPackage != null) { // if (containerPackage != null) {
for (MesContainerPackageDetail packageDetail : model.getPackageDetails()) { // for (MesContainerPackageDetail packageDetail : model.getPackageDetails()) {
packageDetail.setPid(containerPackage.getId()); // packageDetail.setPid(containerPackage.getId());
} // }
} // }
containerPackageDetailRDao.saveAll(model.getPackageDetails()); containerPackageDetailRDao.saveAll(model.getPackageDetails());
} }
if (!CollectionUtils.isEmpty(model.getBindingList())) { if (!CollectionUtils.isEmpty(model.getBindingList())) {
@ -537,7 +545,9 @@ public class MesContainerSnBindServiceImpl implements IMesContainerSnBindService
if (Objects.equals(containerPackage.getPackageStatus(), MesExtEnumUtil.CONTAINER_PACKAGE_STATUS.STATUS_20.getValue())) { if (Objects.equals(containerPackage.getPackageStatus(), MesExtEnumUtil.CONTAINER_PACKAGE_STATUS.STATUS_20.getValue())) {
MesPcnException.throwMesBusiException("容器条码【%s】已关箱请务重复操作", containerSn.getContainerSn()); MesPcnException.throwMesBusiException("容器条码【%s】已关箱请务重复操作", containerSn.getContainerSn());
} }
List<MesContainerPackageDetail> packageDetails = getContainerPackageDetail(model, containerSn); List<MesContainerPackageDetail> packageDetails = containerPackageDetailRDao.findByProperty(
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, "pid"},
new Object[]{model.getOrganizeCode(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), containerPackage.getId()});
for (MesContainerPackageDetail detail : packageDetails) { for (MesContainerPackageDetail detail : packageDetails) {
MesContainerPackageDetailBinding binding = createContainerPackageDetailBinding(containerPackage, detail, MesExtEnumUtil.CONTAINER_RAW_SN_BINDING_STATUS.CLOSE, model.getUserName()); MesContainerPackageDetailBinding binding = createContainerPackageDetailBinding(containerPackage, detail, MesExtEnumUtil.CONTAINER_RAW_SN_BINDING_STATUS.CLOSE, model.getUserName());
detailBindingRDao.insert(binding); detailBindingRDao.insert(binding);
@ -607,6 +617,7 @@ public class MesContainerSnBindServiceImpl implements IMesContainerSnBindService
containerPackage.setContainerSn(model.getContainerSn()); containerPackage.setContainerSn(model.getContainerSn());
containerPackage.setPackageStatus(MesExtEnumUtil.CONTAINER_PACKAGE_STATUS.STATUS_10.getValue()); containerPackage.setPackageStatus(MesExtEnumUtil.CONTAINER_PACKAGE_STATUS.STATUS_10.getValue());
ConvertBean.serviceModelInitialize(containerPackage, model.getUserName()); ConvertBean.serviceModelInitialize(containerPackage, model.getUserName());
containerPackageRDao.insert(containerPackage);
return containerPackage; return containerPackage;
} }

@ -1,10 +1,10 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step; package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesConfigService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesContainerSnBindService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesContainerSnBindService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionDispatchContextStepService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionDispatchContextStepService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionProcessContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionProcessContext;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesContainerPartsModel;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesContainerSnBindModel; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesContainerSnBindModel;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseStepService; import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseStepService;
@ -23,7 +23,9 @@ import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import java.util.*; import java.util.Comparator;
import java.util.List;
import java.util.Objects;
/** /**
* @Description : * @Description :
@ -49,6 +51,8 @@ public class MesStationFeedContainerPackageDetailStepService extends BaseStepSer
private MesContainerPackageRepository containerPackageRDao; private MesContainerPackageRepository containerPackageRDao;
@Autowired @Autowired
private MesContainerSnRepository containerSnRDao; private MesContainerSnRepository containerSnRDao;
@Autowired
private MesConfigRepository mesConfigRepository;
@Override @Override
public StepResult execute(StationRequestBean reqBean) { public StepResult execute(StationRequestBean reqBean) {
@ -58,15 +62,6 @@ public class MesStationFeedContainerPackageDetailStepService extends BaseStepSer
StepResult stepResult = StepResult.getSuccessComplete(); StepResult stepResult = StepResult.getSuccessComplete();
final String organizeCode = reqBean.getOrganizeCode(); final String organizeCode = reqBean.getOrganizeCode();
//扫描信息置空
String barcode = reqBean.resetScanInfo(reqBean.getScanInfo());
if (StringUtils.isEmpty(barcode)) stepSendGuideAndThrowEx(reqBean, resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.PROCESS.getValue()), "请扫描上料条码!");
if (containerSnRDao.isExitByProperty(new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, "containerSn"},
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), barcode})) {
stepSendGuideAndThrowEx(reqBean, resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.PROCESS.getValue()), String.format("不能扫描容器条码【%s】请重新扫描!", barcode));
}
//获取工位当前设备信息 //获取工位当前设备信息
MesProductionProcessContext productionProcessContext = productionProcessContextStepService.dispatchCurCellEquipment(reqBean); MesProductionProcessContext productionProcessContext = productionProcessContextStepService.dispatchCurCellEquipment(reqBean);
@ -75,16 +70,31 @@ public class MesStationFeedContainerPackageDetailStepService extends BaseStepSer
stepExpSendMsgAndThrowEx(reqBean, resultBean.writeDbLog(), productionProcessContext.getMessage()); stepExpSendMsgAndThrowEx(reqBean, resultBean.writeDbLog(), productionProcessContext.getMessage());
} }
//扫描信息置空
String barcode = reqBean.resetScanInfo(reqBean.getScanInfo());
if (StringUtils.isEmpty(barcode)) stepSendGuideAndThrowEx(reqBean, resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.PROCESS.getValue()), "请扫描原料条码!");
if (containerSnRDao.isExitByProperty(new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, "containerSn"},
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), barcode})) {
return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult.nextTriggerEvent(MesPcnExtConstWords.NEXT_TRIGGER_EVENT_FEEDING), String.format("不能扫描容器条码[%s],请重新扫描!", barcode));
}
final String lastFeedContainerSn = productionDispatchContextStepService.getMatchStationFeedContainerSnContext(reqBean);
if (executeClosePackage(organizeCode, barcode, lastFeedContainerSn, reqBean.getUserInfo())) {
return stepSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "原料条码上料成功!");
}
//获取站点用于缺料时进行上料绑定 //获取站点用于缺料时进行上料绑定
List<MesStation> stationList = productionDispatchContextStepService.getMatchStationContext(reqBean); List<MesStation> stationList = productionDispatchContextStepService.getMatchStationContext(reqBean);
if (CollectionUtils.isEmpty(stationList)) { if (CollectionUtils.isEmpty(stationList)) {
stepExpSendMsgAndThrowEx(reqBean, resultBean.writeDbLog(), "容器条码扣减装配件时验证设备未关联支持上料的站点"); return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult.nextTriggerEvent(MesPcnExtConstWords.NEXT_TRIGGER_EVENT_FEEDING), "容器条码扣减装配件时验证设备未关联支持上料的站点");
} }
final String lastFeedContainerSn = productionDispatchContextStepService.getMatchStationFeedContainerSnContext(reqBean);
if (!StringUtils.isEmpty(lastFeedContainerSn)) { if (!StringUtils.isEmpty(lastFeedContainerSn)) {
if (executeFeedPartSn(reqBean, lastFeedContainerSn, barcode)) { int feedResult = executeFeedPartSn(reqBean, lastFeedContainerSn, barcode);
return stepSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "零件条码上料成功!"); if (feedResult == 1) {
return stepSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "原料条码上料成功!");
} else if (feedResult == 2) {
return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult.nextTriggerEvent(MesPcnExtConstWords.NEXT_TRIGGER_EVENT_FEEDING), "原料条码上料成功,请继续扫描上料条码或扫描强制封箱条码!");
} }
} }
@ -94,21 +104,47 @@ public class MesStationFeedContainerPackageDetailStepService extends BaseStepSer
if (CollectionUtils.isEmpty(containerSnStations)) { if (CollectionUtils.isEmpty(containerSnStations)) {
continue; continue;
} }
containerSnStations.sort(Comparator.comparing(MesContainerSnStation::getTopContainerSn)); containerSnStations.sort(Comparator.comparing(MesContainerSnStation::getContainerSn));
for (MesContainerSnStation containerSnStation : containerSnStations) { for (MesContainerSnStation containerSnStation : containerSnStations) {
final String feedContainerSn = containerSnStation.getTopContainerSn(); final String feedContainerSn = containerSnStation.getContainerSn();
if (Objects.equals(feedContainerSn, lastFeedContainerSn)) { if (Objects.equals(feedContainerSn, lastFeedContainerSn)) {
continue; continue;
} }
if (executeFeedPartSn(reqBean, feedContainerSn, barcode)) { int feedResult = executeFeedPartSn(reqBean, feedContainerSn, barcode);
return stepSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "零件条码上料成功!"); if (feedResult == 1) {
return stepSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "原料条码上料成功!");
} else if (feedResult == 2) {
return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult.nextTriggerEvent(MesPcnExtConstWords.NEXT_TRIGGER_EVENT_FEEDING), "原料条码上料成功,请继续扫描上料条码或扫描强制封箱条码!");
} }
} }
} }
stepExpSendMsgAndThrowEx(reqBean, resultBean.writeDbLog(), "未匹配到可上料的容器!"); return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult.nextTriggerEvent(MesPcnExtConstWords.NEXT_TRIGGER_EVENT_FEEDING), "未匹配到可上料的容器,请重新扫描上料条码!");
return stepSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "零件条码上料成功!"); }
private boolean executeClosePackage(String organizeCode, String barcode, String lastFeedContainerSn, String userName) {
if (StringUtils.isEmpty(lastFeedContainerSn)) {
return false;
}
MesConfig config = mesConfigRepository.getByProperty(
new String[]{"cfgKey", "organizeCode", "isValid", "isDeleted"},
new Object[]{"STEP_STATION_FEED_CONTAINER_PACKAGE_DETAIL", organizeCode, CommonEnumUtil.IS_VAILD.VAILD.getValue(), CommonEnumUtil.IS_DEAL.NO.getValue()});
if (config == null) {
return false;
}
String closeSn = config.getCfgValue();
if (StringUtils.isEmpty(closeSn) || !Objects.equals(closeSn, barcode)) {
return false;
}
MesContainerSnBindModel model = MesContainerSnBindModel.builder()
.organizeCode(organizeCode)
.userName(userName)
.containerSn(lastFeedContainerSn)
.build();
containerSnBindService.doClosePackage(model);
return true;
} }
private List<MesContainerSnStation> getMesContainerSnStation(String organizeCode, String station) { private List<MesContainerSnStation> getMesContainerSnStation(String organizeCode, String station) {
@ -118,7 +154,14 @@ public class MesStationFeedContainerPackageDetailStepService extends BaseStepSer
return containerSnStations; return containerSnStations;
} }
private boolean executeFeedPartSn(StationRequestBean reqBean, String containerSn, String barcode) { /**
* 012
* @param reqBean
* @param containerSn
* @param barcode
* @return
*/
private int executeFeedPartSn(StationRequestBean reqBean, String containerSn, String barcode) {
final String organizeCode = reqBean.getOrganizeCode(); final String organizeCode = reqBean.getOrganizeCode();
MesContainerSnBindModel model = MesContainerSnBindModel.builder() MesContainerSnBindModel model = MesContainerSnBindModel.builder()
.organizeCode(organizeCode) .organizeCode(organizeCode)
@ -131,10 +174,13 @@ public class MesStationFeedContainerPackageDetailStepService extends BaseStepSer
final String lastFeedContainerSn = hasFullPackage(organizeCode, containerSn) ? "" : containerSn; final String lastFeedContainerSn = hasFullPackage(organizeCode, containerSn) ? "" : containerSn;
//加料后容器还未满,保存最近使用的站点 //加料后容器还未满,保存最近使用的站点
productionDispatchContextStepService.dispatchMatchStationFeedContainerSnContext(reqBean, lastFeedContainerSn); productionDispatchContextStepService.dispatchMatchStationFeedContainerSnContext(reqBean, lastFeedContainerSn);
if (StringUtils.isEmpty(lastFeedContainerSn)) {
return 1;
}
} catch (Exception ignored) { } catch (Exception ignored) {
return false; return 0;
} }
return true; return 2;
} }
private boolean hasFullPackage(String organizeCode, String containerSn) { private boolean hasFullPackage(String organizeCode, String containerSn) {

Loading…
Cancel
Save