diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesQueueOrderPushCellCfgService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesQueueOrderPushCellCfgService.java new file mode 100644 index 0000000..e6c7bd6 --- /dev/null +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesQueueOrderPushCellCfgService.java @@ -0,0 +1,7 @@ +package cn.estsh.i3plus.ext.mes.api.base; + +import cn.estsh.i3plus.pojo.mes.bean.MesQueueOrderPushCellCfg; + +public interface IMesQueueOrderPushCellCfgService extends IBaseMesService { + +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesQueueOrderPushCellCfgController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesQueueOrderPushCellCfgController.java new file mode 100644 index 0000000..066e576 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesQueueOrderPushCellCfgController.java @@ -0,0 +1,13 @@ +package cn.estsh.i3plus.ext.mes.apiservice.controller.base; + +import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; +import cn.estsh.i3plus.pojo.mes.bean.MesQueueOrderPushCellCfg; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Api("生产队列推送工位配置信息") +@RestController +@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesQueueOrderPushCellCfg") +public class MesQueueOrderPushCellCfgController extends BaseMesController{ +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesQueueOrderPushCellCfgService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesQueueOrderPushCellCfgService.java new file mode 100644 index 0000000..224612f --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesQueueOrderPushCellCfgService.java @@ -0,0 +1,88 @@ +package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; + +import cn.estsh.i3plus.ext.mes.api.base.IMesQueueOrderPushCellCfgService; +import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords; +import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; +import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; +import cn.estsh.i3plus.pojo.mes.bean.MesQueueOrderPushCellCfg; +import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import cn.estsh.impp.framework.boot.util.ValidatorBean; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +@Slf4j +public class MesQueueOrderPushCellCfgService extends BaseMesService implements IMesQueueOrderPushCellCfgService { + + @Override + protected void setPackQueryBean(MesQueueOrderPushCellCfg bean, DdlPackBean packBean) { + DdlPreparedPack.getStringLikerPack(bean.getPushSourceCode(), MesExtConstWords.PUSH_SOURCE_CODE, packBean); + DdlPreparedPack.getNumEqualPack(bean.getPushType(), MesExtConstWords.PUSH_TYPE, packBean); + DdlPreparedPack.getStringEqualPack(bean.getAreaCode(), MesExtConstWords.AREA_CODE, packBean); + DdlPreparedPack.getStringLikerPack(bean.getWorkCenterCode(), MesExtConstWords.WORK_CENTER_CODE, packBean); + DdlPreparedPack.getStringLikerPack(bean.getWorkCellCode(), MesExtConstWords.WORK_CELL_CODE, packBean); + } + + @Override + protected void onInsertBean(MesQueueOrderPushCellCfg item) { + ValidatorBean.checkNotNull(item.getAreaCode(), "区域代码不能为空"); + ValidatorBean.checkNotNull(item.getWorkCenterCode(), "生产线代码不能为空"); + ValidatorBean.checkNotNull(item.getWorkCellCode(), "工位代码不能为空"); + ValidatorBean.checkNotNull(item.getPushSourceCode(), "推送来源代码不能为空"); + ValidatorBean.checkNotNull(item.getPushType(), "推送工位类型不能为空"); + + DdlPackBean packBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(item.getPushSourceCode(), MesExtConstWords.PUSH_SOURCE_CODE, packBean); + DdlPreparedPack.getStringEqualPack(item.getWorkCenterCode(), MesExtConstWords.WORK_CENTER_CODE, packBean); + DdlPreparedPack.getStringEqualPack(item.getWorkCellCode(), MesExtConstWords.WORK_CELL_CODE, packBean); + DdlPreparedPack.getNumEqualPack(item.getPushType(), MesExtConstWords.PUSH_TYPE, packBean); + Boolean flg = baseRDao.isExitByHql(packBean); + if (flg) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("推送来源代码[%s]生产线代码[%s]工位代码[%s]类型[%s]信息已经存在,请检查数据", + item.getPushSourceCode(), item.getWorkCenterCode(), item.getWorkCellCode(), MesExtEnumUtil.QUEUE_ORDER_CELL_PUSH_TYPE.valueOfDescription(item.getPushType())) + .build(); + } + } + + @Override + protected void onUpdateBean(MesQueueOrderPushCellCfg item) { + ValidatorBean.checkNotNull(item.getAreaCode(), "区域代码不能为空"); + ValidatorBean.checkNotNull(item.getWorkCenterCode(), "生产线代码不能为空"); + ValidatorBean.checkNotNull(item.getWorkCellCode(), "工位代码不能为空"); + ValidatorBean.checkNotNull(item.getPushSourceCode(), "推送来源代码不能为空"); + ValidatorBean.checkNotNull(item.getPushType(), "推送工位类型不能为空"); + + DdlPackBean packBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(item.getPushSourceCode(), MesExtConstWords.PUSH_SOURCE_CODE, packBean); + DdlPreparedPack.getStringEqualPack(item.getWorkCenterCode(), MesExtConstWords.WORK_CENTER_CODE, packBean); + DdlPreparedPack.getStringEqualPack(item.getWorkCellCode(), MesExtConstWords.WORK_CELL_CODE, packBean); + DdlPreparedPack.getNumEqualPack(item.getPushType(), MesExtConstWords.PUSH_TYPE, packBean); + DdlPreparedPack.getNumNOEqualPack(item.getId(), MesExtConstWords.ID, packBean); + Boolean flg = baseRDao.isExitByHql(packBean); + if (flg) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("推送来源代码[%s]生产线代码[%s]工位代码[%s]类型[%s]信息已经存在,请检查数据", + item.getPushSourceCode(), item.getWorkCenterCode(), item.getWorkCellCode(), MesExtEnumUtil.QUEUE_ORDER_CELL_PUSH_TYPE.valueOfDescription(item.getPushType())) + .build(); + } + } + + @Override + public List validateReturnImport(List beanList) { + for (MesQueueOrderPushCellCfg item : beanList) { + onInsertBean(item); + } + return beanList; + } + +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java index 76e6c65..febf086 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java @@ -210,7 +210,18 @@ public class MesShippingOrderManagementDetailService extends BaseMesService mesJisShippings = new ArrayList<>(); for (MesShippingOrderManagementDetail mesShippingOrderManagementDetail : detailList) { + if (StringUtils.isEmpty(mesShippingOrderManagementDetail.getPartNo())) { + MesException.throwMesBusiException("零件号不能为空!"); + } MesShippingOrderManagement mesShippingOrderManagement = orderMap.get(mesShippingOrderManagementDetail.getPid()); + MesPartShippingGroup mesPartShippingGroup = mesPartShippingGroupService.getMesPartShippingGroup(organizeCode, mesShippingOrderManagement.getShippingGroupCode()); + if (mesPartShippingGroup != null) { + if (Objects.equals(mesPartShippingGroup.getConfirmPartType(), String.valueOf(MesExtEnumUtil.SHIPPING_GROUP_CONFIRM_PART_TYPE.SHIPPING_GROUP_CONFIRM_PART_TYPE_30.getValue()))) { + if (StringUtils.isEmpty(mesShippingOrderManagementDetail.getBarcode())) { + MesException.throwMesBusiException("条码不能为空!"); + } + } + } final String detailBarCode = mesShippingOrderManagementDetail.getBarcode(); if (!StringUtils.isEmpty(detailBarCode)) { @@ -227,7 +238,6 @@ public class MesShippingOrderManagementDetailService extends BaseMesService