diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesWorkOrderCutService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesWorkOrderCutService.java index 85b7957..509bb1a 100644 --- a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesWorkOrderCutService.java +++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesWorkOrderCutService.java @@ -31,6 +31,10 @@ public interface IMesWorkOrderCutService { @ApiOperation(value = "查询裁片方案成品配置") List queryCutSchemeFgList(String cutCode, String organizeCode); + @ApiOperation(value = "查询裁片方案成品配置") + List queryCutOrderMaterialList(String cutWorkOrder, String organizeCode); + + @ApiOperation(value = "查询裁片方案设备信息") MesCutSchemeEquipment getCutSchemeEquipment(String cutCode, String equipmentCode, String organizeCode); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesInputDefectRecordService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesInputDefectRecordService.java index a3ccafe..67aa103 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesInputDefectRecordService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesInputDefectRecordService.java @@ -427,7 +427,18 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{"createDatetime"}, reworkPackBean); int count = reworkTaskRepository.findByHqlWhereCount(reworkPackBean); if (count > 0) { - throw new ImppBusiException(String.format("【%s】该条码需要完成质检,再重新录入电子化检验", model.getSn())); + // 如果是批次还需要移库 + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(org); + DdlPreparedPack.getStringEqualPack(model.getPartNo(), "partNo", ddlPackBean); + MesProductVersion version = productVersionRepository.getByProperty(ddlPackBean); + String srcNo = configService.getCfgValue(org, "LGORT"); + if (version != null) { + srcNo = version.getReceiveInventoryPoint(); + } + String destLocateNo = getDestLocateNo(model, org); + if(!Objects.equals(srcNo, destLocateNo)) { + throw new ImppBusiException(String.format("【%s】该条码需要完成质检,再重新录入电子化检验", model.getSn())); + } } checkProduceSn(produceSn, model.getSn()); @@ -542,7 +553,18 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{"createDatetime"}, reworkPackBean); int count = reworkTaskRepository.findByHqlWhereCount(reworkPackBean); if (count > 0) { - throw new ImppBusiException(String.format("【%s】该条码需要完成质检,再重新录入电子化检验", model.getSn())); + // 如果是批次还需要移库 + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(org); + DdlPreparedPack.getStringEqualPack(model.getPartNo(), "partNo", ddlPackBean); + MesProductVersion version = productVersionRepository.getByProperty(ddlPackBean); + String srcNo = configService.getCfgValue(org, "LGORT"); + if (version != null) { + srcNo = version.getReceiveInventoryPoint(); + } + String destLocateNo = getDestLocateNo(model, org); + if(!Objects.equals(srcNo, destLocateNo)) { + throw new ImppBusiException(String.format("【%s】该条码需要完成质检,再重新录入电子化检验", model.getSn())); + } } checkProduceSn(produceSn, model.getSn()); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesProductionRecordService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesProductionRecordService.java index 847d0d2..d30f36e 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesProductionRecordService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesProductionRecordService.java @@ -20,6 +20,7 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; +import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -256,6 +257,7 @@ public class MesProductionRecordService implements IMesProductionRecordService { record.setSystemSyncStatus(CommonEnumUtil.FALSE); record.setSystemSyncDatetime(MesPcnExtConstWords.EMPTY); ConvertBean.serviceModelUpdate(record,userName); + record.setModifyDatetime((new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS")).format(new Date())); }); productionRecordRepository.saveAll(recordList); } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesPullingOrderInfoService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesPullingOrderInfoService.java index 3e6828a..e9c7fc1 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesPullingOrderInfoService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesPullingOrderInfoService.java @@ -203,11 +203,11 @@ public class MesPullingOrderInfoService implements IMesPullingOrderInfoService { if (!CollectionUtils.isEmpty(pullingOrderPartInfos)) { pullingOrderInfo.setPartCount(pullingOrderPartInfos.size()); pullingOrderPartInfos.forEach(item->{ - if(!StringUtil.isEmpty(item.getLocation()) && item.getLocation().contains(MesPcnExtConstWords.COMMA)){ - item.setLocatAddr(item.getLocation().split(MesPcnExtConstWords.COMMA)[0]); - item.setLightAddr(item.getLocation().split(MesPcnExtConstWords.COMMA)[1]); - } + String[] locationArr = StringUtils.isEmpty(item.getLocation()) ? null : item.getLocation().split(MesPcnExtConstWords.COMMA); + item.setLocatAddr((null != locationArr && locationArr.length >= 1 ? locationArr[0] : MesPcnExtConstWords.ZERO_STR)); + item.setLightAddr((null != locationArr && locationArr.length >= 2 ? locationArr[1] : MesPcnExtConstWords.EMPTY)); }); + pullingOrderPartInfos = pullingOrderPartInfos.stream().filter(o -> null != o).sorted(Comparator.comparing(MesPullingOrderPartInfo::getLocatAddr)).collect(Collectors.toList()); pullingOrderInfo.setPullingOrderPartInfos(pullingOrderPartInfos); } pullingOrderInfo.setWorkOrderNoLast(!StringUtil.isEmpty(pullingOrderInfo.getWorkOrderNo())?pullingOrderInfo.getWorkOrderNo().substring(pullingOrderInfo.getWorkOrderNo().length() - MesPcnExtConstWords.THREE):""); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderCutService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderCutService.java index 86467bd..4dd1772 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderCutService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderCutService.java @@ -30,6 +30,9 @@ public class MesWorkOrderCutService implements IMesWorkOrderCutService { private MesWorkOrderCutDetailRepository workOrderCutDetailRepository; @Autowired + private MesWorkOrderCutMaterialRepository workOrderCutMaterialRepository; + + @Autowired private MesCutSchemeRepository cutSchemeRepository; @Autowired @@ -77,6 +80,16 @@ public class MesWorkOrderCutService implements IMesWorkOrderCutService { } @Override + public List queryCutOrderMaterialList(String cutWorkOrder, String organizeCode) { + + if (StringUtils.isEmpty(organizeCode)) return Collections.emptyList(); + + return workOrderCutMaterialRepository.findByProperty( + new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.CUT_WORK_ORDER_NO}, + new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), cutWorkOrder}); + } + + @Override public MesCutSchemeEquipment getCutSchemeEquipment(String cutCode, String equipmentCode, String organizeCode) { return cutSchemeEquipmentRepository.getByProperty( diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java index 81dc463..13cf4af 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java @@ -135,6 +135,9 @@ public class MesWorkOrderService implements IMesWorkOrderService { @Autowired private IMesProdRuleSortCfgDao mesProdRuleSortCfgDao; + @Autowired + private MesPartProdGroupRepository mesPartProdGroupRao; + @Override public MesWorkOrder queryMesWorkOrder(MesWorkOrder workOrder) { @@ -220,9 +223,26 @@ public class MesWorkOrderService implements IMesWorkOrderService { MesPcnException.throwMesBusiException("产线【%s】不存在", mesWorkOrderDb.getWorkCenterCode()); } //获取生产版本 - MesProductVersion mesProductVersion = getMesProductVersion(mesWorkOrderDb); + MesProductVersion mesProductVersion = getProductVersion(mesWorkOrderDb.getOrganizeCode(), mesWorkOrderDb.getPartNo(), mesWorkOrderDb.getProductVersion()); + String bomVersion = mesProductVersion.getAlternativePartList(); + String partProdGroupCode = mesWorkOrderDb.getPartProdGroupCode(); + // partProdGroupCode 不为空,查询的数据不为空,查询数据中的获取bom方式不为空且枚举是 基于默认BOM ,才bomversion = null 否则都是通过生产版本找bom + if (!StringUtil.isEmpty(partProdGroupCode)) { + DdlPackBean partProdBean = DdlPackBean.getDdlPackBean(mesWorkOrderDb.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(partProdGroupCode, "partProdGroupCode", partProdBean); + List mesPartProdGroupList = mesPartProdGroupRao.findByHqlTopWhere(partProdBean, 1); + + // 没有零件生产组用默认找生产版本、有的话找获取bom方式枚举,枚举是基于默认BOM 则直接找 + if (!mesPartProdGroupList.isEmpty()) { + MesPartProdGroup mesPartProdGroup = mesPartProdGroupList.get(0); + if (mesPartProdGroup.getEnableBomVersion() != null && mesPartProdGroup.getEnableBomVersion() == MesExtEnumUtil.ENABLE_BOM_VERSION.ENABLE_BOM_VERSION_2.getValue()) { + log.info("基于默认BOM获取BOM"); + bomVersion = ""; + } + } + } //物料+生产版本获取bom信息 - List mesBoms = findBomList(mesPart.getOrganizeCode(), mesPart, mesProductVersion.getAlternativePartList()); + List mesBoms = findBomList(mesPart.getOrganizeCode(), mesPart, bomVersion); LOGGER.info("产线:{} 零件:{}更新工单", mesWorkOrderDb.getWorkCenterCode(), mesWorkOrderDb.getPartNo()); //更新工单 @@ -535,10 +555,27 @@ public class MesWorkOrderService implements IMesWorkOrderService { return; //throw new ImppBusiException(String.format("未找到匹配的加工单")); } - //获取生产版本 - MesProductVersion mesProductVersion = getProductVersion(organizeCode, productionRecord.getPartNo(), oldMesWorkOrder.getProductVersion()); - //查询物料信息 + //获取生产版本 + MesProductVersion mesProductVersion = getProductVersion(oldMesWorkOrder.getOrganizeCode(), oldMesWorkOrder.getPartNo(), oldMesWorkOrder.getProductVersion()); + String bomVersion = mesProductVersion.getAlternativePartList(); + String partProdGroupCode = oldMesWorkOrder.getPartProdGroupCode(); + // partProdGroupCode 不为空,查询的数据不为空,查询数据中的获取bom方式不为空且枚举是 基于默认BOM ,才bomversion = null 否则都是通过生产版本找bom + if (!StringUtil.isEmpty(partProdGroupCode)) { + DdlPackBean partProdBean = DdlPackBean.getDdlPackBean(oldMesWorkOrder.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(partProdGroupCode, "partProdGroupCode", partProdBean); + List mesPartProdGroupList = mesPartProdGroupRao.findByHqlTopWhere(partProdBean, 1); + + // 没有零件生产组用默认找生产版本、有的话找获取bom方式枚举,枚举是基于默认BOM 则直接找 + if (!mesPartProdGroupList.isEmpty()) { + MesPartProdGroup mesPartProdGroup = mesPartProdGroupList.get(0); + if (mesPartProdGroup.getEnableBomVersion() != null && mesPartProdGroup.getEnableBomVersion() == MesExtEnumUtil.ENABLE_BOM_VERSION.ENABLE_BOM_VERSION_2.getValue()) { + log.info("基于默认BOM获取BOM"); + bomVersion = ""; + } + } + } + //查询物料信息 DdlPackBean ddlPackBeanPart = DdlPackBean.getDdlPackBean(organizeCode); DdlPreparedPack.getStringEqualPack(productionRecord.getPartNo(), "partNo", ddlPackBeanPart); MesPart mesPart = mesPartRDao.getByProperty(ddlPackBeanPart); @@ -546,7 +583,7 @@ public class MesWorkOrderService implements IMesWorkOrderService { throw new ImppBusiException(String.format("物料【%s】信息不存在", productionRecord.getPartNo())); } - List mesBoms = findBomList(organizeCode, mesPart, mesProductVersion.getAlternativePartList()); + List mesBoms = findBomList(organizeCode, mesPart, bomVersion); if (CollectionUtils.isEmpty(mesBoms)) { @@ -1020,8 +1057,25 @@ public class MesWorkOrderService implements IMesWorkOrderService { MesWorkCenter mesWorkCenter = getMesWorkCenter(mesWorkOrderDb); //获取生产版本 MesProductVersion mesProductVersion = getProductVersion(mesWorkOrderDb.getOrganizeCode(),mesWorkOrderDb.getPartNo(),mesWorkOrderDb.getProductVersion()); + String bomVersion = mesProductVersion.getAlternativePartList(); + String partProdGroupCode = mesWorkOrderDb.getPartProdGroupCode(); + // partProdGroupCode 不为空,查询的数据不为空,查询数据中的获取bom方式不为空且枚举是 基于默认BOM ,才bomversion = null 否则都是通过生产版本找bom + if (!StringUtil.isEmpty(partProdGroupCode)) { + DdlPackBean partProdBean = DdlPackBean.getDdlPackBean(mesWorkOrderDb.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(partProdGroupCode, "partProdGroupCode", partProdBean); + List mesPartProdGroupList = mesPartProdGroupRao.findByHqlTopWhere(partProdBean, 1); + + // 没有零件生产组用默认找生产版本、有的话找获取bom方式枚举,枚举是基于默认BOM 则直接找 + if (!mesPartProdGroupList.isEmpty()) { + MesPartProdGroup mesPartProdGroup = mesPartProdGroupList.get(0); + if (mesPartProdGroup.getEnableBomVersion() != null && mesPartProdGroup.getEnableBomVersion() == MesExtEnumUtil.ENABLE_BOM_VERSION.ENABLE_BOM_VERSION_2.getValue()) { + log.info("基于默认BOM获取BOM"); + bomVersion = ""; + } + } + } //物料+生产版本获取bom信息 - List mesBoms = findBomList(mesPart.getOrganizeCode(), mesPart, mesProductVersion.getAlternativePartList()); + List mesBoms = findBomList(mesPart.getOrganizeCode(), mesPart, bomVersion); mesWorkOrderDb.setReportedQty(MathOperation.add(mesWorkOrder.getNum(), mesWorkOrderDb.getReportedQty())); //更新工单状态 double unCompleteQty = MathOperation.sub(mesWorkOrderDb.getQty(), mesWorkOrderDb.getReportedQty()); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionDialogCutOrderPrintService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionDialogCutOrderPrintService.java index 156b399..360f404 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionDialogCutOrderPrintService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionDialogCutOrderPrintService.java @@ -1,28 +1,23 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.station.function; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionDispatchContextStepService; -import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesWorkOrderCutService; -import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesEquipVariableCollectContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesWorkOrderCutDetailModel; import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseSwsService; import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.IShippingDispatchService; import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.function.IFsmModuleFunctionService; import cn.estsh.i3plus.platform.common.util.MesPcnConstWords; import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil; -import cn.estsh.i3plus.pojo.mes.bean.MesCutSchemeFg; import cn.estsh.i3plus.pojo.mes.model.ButtonDynamicModel; import cn.estsh.i3plus.pojo.mes.model.StationCustomDialogBean; import cn.estsh.i3plus.pojo.mes.model.StationRequestBean; import cn.estsh.i3plus.pojo.mes.model.StationResultBean; import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.BeanUtils; 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.ArrayList; import java.util.List; /** @@ -38,9 +33,6 @@ public class MesFunctionDialogCutOrderPrintService extends BaseSwsService implem @Autowired private IShippingDispatchService shippingDispatchService; - @Autowired - private IMesWorkOrderCutService workOrderCutService; - @Override public Boolean doFunction(StationRequestBean reqBean, StationResultBean resultBean, ButtonDynamicModel buttonDynamicModel) { @@ -74,29 +66,6 @@ public class MesFunctionDialogCutOrderPrintService extends BaseSwsService implem List mesWorkOrderCutFgDataContextList = productionDispatchContextStepService.getMesWorkOrderCutFgDataContext(reqBean); - // 如果当前存在成品列表则直接返回 - if (CollectionUtils.isEmpty(mesWorkOrderCutFgDataContextList)) { - - //获取上下文生产扫/读信息:加工单 - List equipVariableCollectContextList = productionDispatchContextStepService.getScanWorkOrderNoContext(reqBean); - - String cutWorkOrderNo = equipVariableCollectContextList.get(0).getEquipVariableValue(); - - // 查成品列表 - List mesCutSchemeFgs = workOrderCutService.queryCutSchemeFgList(cutWorkOrderNo, reqBean.getOrganizeCode()); - - mesWorkOrderCutFgDataContextList = new ArrayList<>(); - - for (MesCutSchemeFg mesCutSchemeFg : mesCutSchemeFgs) { - MesWorkOrderCutDetailModel cutDetailModel = new MesWorkOrderCutDetailModel(); - BeanUtils.copyProperties(mesCutSchemeFg, cutDetailModel); - mesWorkOrderCutFgDataContextList.add(cutDetailModel); - } - - productionDispatchContextStepService.dispatchMesWorkOrderCutFgDataContext(reqBean, mesWorkOrderCutFgDataContextList); - - } - return CollectionUtils.isEmpty(mesWorkOrderCutFgDataContextList) ? dialogBean.unDialog() : dialogBean.obj(mesWorkOrderCutFgDataContextList); } } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCutCheckStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCutCheckStepService.java index d3a2b90..3b2fce1 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCutCheckStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCutCheckStepService.java @@ -19,6 +19,7 @@ import cn.estsh.i3plus.pojo.mes.model.StationResultBean; import cn.estsh.i3plus.pojo.mes.model.StepResult; import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; import cn.estsh.impp.framework.boot.util.SpringContextsUtil; +import com.google.common.base.Objects; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -253,6 +254,12 @@ public class MesWorkOrderCutCheckStepService extends BaseStepService { MesWorkOrderCutDetailModel workOrderCutDetailModel = new MesWorkOrderCutDetailModel(); BeanUtils.copyProperties(mesCutSchemeFg, workOrderCutDetailModel); + if (Objects.equal(cutScheme.getIsFree(), CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue())) { + Map> map = mesWorkOrderCutDetailList.stream().collect(Collectors.groupingBy(MesWorkOrderCutDetail::getPartNo)); + workOrderCutDetailModel.setQty(map.get(mesCutSchemeFg.getPartNo()).get(0).getQty()); + workOrderCutDetailModel.setPackageQty(map.get(mesCutSchemeFg.getPartNo()).get(0).getPackageQty()); + } + workOrderCutDetailModel.setCutWorkOrderNo(cutWorkOrderNo); MesCustomerPart customerPart = customerPartService.getMesCustomerPartByPartNo(mesCutSchemeFg.getPartNo(), mesPackingDefine.getCustCode(), reqBean.getOrganizeCode());