From 8142c2a990388b65972e01a9fec4882ead8419a1 Mon Sep 17 00:00:00 2001 From: jun Date: Tue, 16 Jul 2024 13:09:16 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=AE=E9=A2=98=E6=B8=85=E5=8D=95=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/MesEquipmentSpotCheckDetailService.java | 40 ++++++++++++++++++++-- .../serviceimpl/base/MesPartSapService.java | 1 + .../serviceimpl/base/MesWorkOrderService.java | 6 ++-- 3 files changed, 41 insertions(+), 6 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesEquipmentSpotCheckDetailService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesEquipmentSpotCheckDetailService.java index c9b3768..7ba3603 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesEquipmentSpotCheckDetailService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesEquipmentSpotCheckDetailService.java @@ -1,6 +1,8 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; import cn.estsh.i3plus.ext.mes.api.base.IMesEquipmentSpotCheckDetailService; +import cn.estsh.i3plus.ext.mes.apiservice.config.AuthUtilExt; +import cn.estsh.i3plus.ext.mes.apiservice.utils.BeanMapUtilsExt; import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; @@ -8,15 +10,21 @@ import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.base.util.StringUtil; import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentSpotCheck; import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentSpotCheckDetail; -import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentSpotCheckPart; +import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentVariable; import cn.estsh.i3plus.pojo.mes.repository.MesEquipmentSpotCheckRepository; +import cn.estsh.i3plus.pojo.mes.repository.MesEquipmentVariableRepository; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.util.ValidatorBean; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import java.util.ArrayList; import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; @Service @Slf4j @@ -24,6 +32,10 @@ public class MesEquipmentSpotCheckDetailService extends BaseMesService validateReturnImport(List beanList) { - + if (CollectionUtils.isEmpty(beanList)) return beanList; + //设备变量MAP + Map variableMap = getEquipmentVariableMap(beanList); for (MesEquipmentSpotCheckDetail item : beanList) { // 数据校验 if(StringUtil.isEmpty(item.getPid())){ @@ -123,7 +137,29 @@ public class MesEquipmentSpotCheckDetailService extends BaseMesService getEquipmentVariableMap(List beanList) { + String organizeCode = AuthUtilExt.getOrganizeCode(); + List addressList = new ArrayList<>(); + //查询设备变量信息 + List realAddress = beanList.stream().map(MesEquipmentSpotCheckDetail::getRealValueAddress).distinct().collect(Collectors.toList()); + List setAddress = beanList.stream().map(MesEquipmentSpotCheckDetail::getSetValueAddress).distinct().collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(realAddress)) addressList.addAll(realAddress); + if (!CollectionUtils.isEmpty(setAddress)) addressList.addAll(setAddress); + if (CollectionUtils.isEmpty(addressList)) return null; + return BeanMapUtilsExt.getBeanMap(mesEquipmentVariableRepository, "tagAddress", organizeCode, addressList, "设备变量"); + } } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartSapService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartSapService.java index 7dcec7a..ea807e7 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartSapService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartSapService.java @@ -24,6 +24,7 @@ public class MesPartSapService extends BaseMesService implements IMe DdlPreparedPack.getNumEqualPack(bean.getIsTestPiece(), "isTestPiece", packBean); DdlPreparedPack.getStringLikerPack(bean.getPartNo(), "partNo", packBean); DdlPreparedPack.getStringLikeEqualPack(bean.getPartName(), "partName", packBean); + DdlPreparedPack.getStringLikeEqualPack(bean.getPartStatus(), "partStatus", packBean); } @Override diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java index 77b6339..d6cf64b 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java @@ -646,7 +646,6 @@ public class MesWorkOrderService extends BaseMesService implements ValidatorBean.checkNotNull(item.getWorkCenterCode(), "产线不能为空"); ValidatorBean.checkNotNull(item.getPartNo(), "零件号不能为空"); - ValidatorBean.checkNotNull(item.getShiftCode(), "班次不能为空"); MesWorkCenter mesWorkCenter = workCenterMap.get(item.getWorkCenterCode()); if (Objects.isNull(mesWorkCenter)) { @@ -673,6 +672,7 @@ public class MesWorkOrderService extends BaseMesService implements } //若工单类型为排序 if (item.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.SORT.getValue()) { + ValidatorBean.checkNotNull(item.getShiftCode(), "班次不能为空"); ValidatorBean.checkNotNull(item.getOrderFlag(), "标识不能为空"); //校验产线类型和工单类型是否匹配 if (!Objects.equals(mesWorkCenter.getCenterType(), MesExtEnumUtil.ORDER_TYPE.SORT.getValue())) { @@ -705,6 +705,7 @@ public class MesWorkOrderService extends BaseMesService implements //发送wms数据 sendToWms(mesProductVersionMap, mesBomMap, mesPartProdGroupMap, mesWorkOrderToWmsList, item, mesWorkCenter); } else if (item.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue()) { + ValidatorBean.checkNotNull(item.getShiftCode(), "班次不能为空"); ValidatorBean.checkNotNull(item.getOrderFlag(), "标识不能为空"); if (Objects.isNull(item.getQty()) || item.getQty() <= 0d) { MesException.throwMesBusiException("生产数量不能小于等于0"); @@ -867,9 +868,6 @@ public class MesWorkOrderService extends BaseMesService implements MesException.throwMesBusiException("请检查工单数量,工单号[%s],工单数量[%s]报工数量[%s],配置了超工单,但超过了比例[%s]!", mesWorkOrder.getWorkOrderNo(), mesWorkOrder.getQty(), mesWorkOrder.getReportedQty(), workCenter.getOrderRate()); } mesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.COMPLETE.getValue()); - - MesException.throwMesBusiException("工单报工数量【%s】大于工单数量【%s】,不允许报工", - mesWorkOrderDb.getReportedQty(), mesWorkOrderDb.getQty()); } else if (Objects.equals(mesWorkOrderDb.getReportedQty(), mesWorkOrderDb.getQty())) { mesWorkOrderDb.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.COMPLETE.getValue()); } else {