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-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/util/MesExtConstWords.java b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/util/MesExtConstWords.java index e598b62..8c7655e 100644 --- a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/util/MesExtConstWords.java +++ b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/util/MesExtConstWords.java @@ -246,6 +246,10 @@ public class MesExtConstWords { public static final String PART_TYPE = "partType"; //零件类型名称 public static final String PART_TYPE_NAME = "partTypeName"; + //推送来源代码 + public static final String PUSH_SOURCE_CODE = "pushSourceCode"; + //推送工位类型 + public static final String PUSH_TYPE = "pushType"; //时间[开始/结束]条件 public static final String START_TIME_START = "startTimeStart";