From c9075c7803bf9e67ba5e1024d3409afe3953451f Mon Sep 17 00:00:00 2001 From: jun Date: Sat, 15 Jun 2024 14:54:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E5=8D=95=E6=BC=94=E7=A4=BA=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ext/mes/api/base/IMesWorkOrderService.java | 2 +- .../controller/base/MesWorkOrderController.java | 12 +++++- .../serviceimpl/base/MesWorkOrderService.java | 49 +++++++++------------- 3 files changed, 31 insertions(+), 32 deletions(-) diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesWorkOrderService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesWorkOrderService.java index f317351..1681455 100644 --- a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesWorkOrderService.java +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesWorkOrderService.java @@ -16,7 +16,7 @@ public interface IMesWorkOrderService extends IBaseMesService { void doProductReportExt(MesWorkOrder mesWorkOrder); - void deleteUnSortOrder(String userName,String organizeCode); + void deleteUnSortOrder(String userName, String organizeCode, List partNoList); List sumMesWorkOrderQtyToSap(String organizeCode); diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesWorkOrderController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesWorkOrderController.java index 9113498..cdaf255 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesWorkOrderController.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesWorkOrderController.java @@ -4,6 +4,7 @@ import cn.estsh.i3plus.ext.mes.api.base.IMesWorkOrderService; import cn.estsh.i3plus.ext.mes.api.base.IMesWorkOrderToSapService; import cn.estsh.i3plus.ext.mes.apiservice.config.AuthUtilExt; import cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.excel.MesExcelTool; +import cn.estsh.i3plus.ext.mes.apiservice.unit.exception.MesException; import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; @@ -22,11 +23,13 @@ import io.swagger.annotations.ApiOperation; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; @Api(description = "工单主页面") @RestController @@ -46,11 +49,18 @@ public class MesWorkOrderController extends BaseMesController { MesExcelTool excelTool = new MesExcelTool(entityManager, RedisCacheTool.getImppRedis()); List beanList = excelTool.importData(file.getOriginalFilename(), file.getInputStream(), MesWorkOrderModel.class); + if(CollectionUtils.isEmpty(beanList)){ + MesException.throwMesBusiException("导入数据不存在"); + } String userName = AuthUtil.getSessionUser().getUserName(); String organizeCode = AuthUtil.getOrganize().getOrganizeCode(); //非排序工单导入前删除 if (MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue() == type) { - mesWorkOrderService.deleteUnSortOrder(userName,organizeCode); + List partNoList = beanList.stream().map(MesWorkOrderModel::getPartNo).filter(partNo -> !StringUtils.isEmpty(partNo)).distinct().collect(Collectors.toList()); + if(CollectionUtils.isEmpty(partNoList)){ + MesException.throwMesBusiException("导入物料信息数据无效"); + } + mesWorkOrderService.deleteUnSortOrder(userName,organizeCode,partNoList); } List mesWorkOrderList = new ArrayList<>(); // 导入数据初始化 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 40ecfb2..c8fb95e 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 @@ -232,7 +232,7 @@ public class MesWorkOrderService extends BaseMesService implements if (result.getWorkOrderStatus() >= MesExtEnumUtil.ORDER_STATUS.PROCESS.getValue()) { if (!Objects.equals(bean.getPartNo(), result.getPartNo())) { MesException.throwMesBusiException(String.format("工单状态为【%s】不允许修改物料", - MesExtEnumUtil.ORDER_TYPE.valueOfDescription(result.getWorkOrderStatus()))); + MesExtEnumUtil.ORDER_STATUS.valueOfDescription(result.getWorkOrderStatus()))); } } @@ -249,12 +249,6 @@ public class MesWorkOrderService extends BaseMesService implements } //更新状态 if (bean.getWorkOrderStatus() > 0) { - if (MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue() == bean.getWorkOrderStatus()) { - if (MesExtEnumUtil.ORDER_STATUS.CREATE.getValue() != result.getWorkOrderStatus()) { - MesException.throwMesBusiException(String.format("工单状态为【%s】不为创建,不允许发布", - MesExtEnumUtil.ORDER_TYPE.valueOfDescription(result.getWorkOrderStatus()))); - } - } result.setWorkOrderStatus(bean.getWorkOrderStatus()); } ConvertBean.serviceModelInitialize(bean, AuthUtil.getSessionUser().getUserName()); @@ -309,19 +303,15 @@ public class MesWorkOrderService extends BaseMesService implements if (item.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.SORT.getValue()) { ValidatorBean.checkNotNull(item.getOrderFlag(), "标识不能为空"); //若工单类型为排序 标识为 N E P S - if (item.getOrderFlag() != MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.S.getValue() && - item.getOrderFlag() != MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.E.getValue() && - item.getOrderFlag() != MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue() && - item.getOrderFlag() != MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.N.getValue()) { - throw ImppExceptionBuilder.newInstance() - .setErrorCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()) - .setErrorDetail(String.format("工单标识为【%s】请选择 【%s】、【%s】、【%s】、【%s】 标识", - item.getOrderFlag(), MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.S.getDescription() - , MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.E.getDescription(), - MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getDescription(), - MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.N.getDescription())) - .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) - .build(); + if (!MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.E.getValue().equals(item.getOrderFlag())&& + !MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.N.getValue().equals(item.getOrderFlag())&& + !MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.S.getValue().equals(item.getOrderFlag())&& + !MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue().equals(item.getOrderFlag())){ + MesException.throwMesBusiException(String.format("工单标识为【%s】请选择 【%s】、【%s】、【%s】、【%s】 标识", + item.getOrderFlag(), MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.E.getValue() + , MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.N.getValue(), + MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.S.getValue(), + MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue())); } if (StringUtil.isEmpty(item.getPlanStartTime()) || StringUtil.isEmpty(item.getPlanEndTime())) { packPlanTime(item); @@ -354,15 +344,13 @@ public class MesWorkOrderService extends BaseMesService implements } else if (item.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue()) { ValidatorBean.checkNotNull(item.getOrderFlag(), "标识不能为空"); ValidatorBean.checkNotNull(item.getProductVersion(), "生产版本不能为空"); - if (item.getOrderFlag() != MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.E.getValue() && - item.getOrderFlag() != MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue()) { - throw ImppExceptionBuilder.newInstance() - .setErrorCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()) - .setErrorDetail(String.format("工单标识为【%s】请选择 【%s】、【%s】 标识", - item.getOrderFlag(), MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.E.getDescription(), - MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getDescription())) - .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) - .build(); + if (!MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.E.getValue().equals(item.getOrderFlag())&& + !MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.N.getValue().equals(item.getOrderFlag())&& + !MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue().equals(item.getOrderFlag())){ + MesException.throwMesBusiException(String.format("工单标识为【%s】请选择 【%s】、【%s】、【%s】 标识", + item.getOrderFlag(), MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.E.getValue() + , MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.N.getValue(), + MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue())); } if (StringUtil.isEmpty(item.getPlanStartTime()) || StringUtil.isEmpty(item.getPlanEndTime())) { packPlanTime(item); @@ -731,8 +719,9 @@ public class MesWorkOrderService extends BaseMesService implements } @Override - public void deleteUnSortOrder(String userName, String organizeCode) { + public void deleteUnSortOrder(String userName, String organizeCode, List partNoList) { DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getInPackList(partNoList, "partNo", ddlPackBean); DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue(), "workOrderType", ddlPackBean); DdlPreparedPack.getStringSmallerNotEqualPack(TimeTool.getToday(), "planStartTime", ddlPackBean); DdlPreparedPack.getNumberSmallerPack(MesExtEnumUtil.ORDER_STATUS.CLOSE.getValue(), "workOrderStatus", ddlPackBean);