diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesQueueOrderPushService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesQueueOrderPushService.java index 2511971..cbff6aa 100644 --- a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesQueueOrderPushService.java +++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesQueueOrderPushService.java @@ -34,6 +34,9 @@ public interface IMesQueueOrderPushService { @ApiOperation(value = "写入工位工单推送信息") void insertQueueOrderPush(StationRequestBean reqBean, MesWorkOrder workOrder, Map paramMap); + @ApiOperation(value = "根据ID查询生产队列工位推送信息") + MesQueueOrderPush getQueueOrderPush(String organizeCode, Long id); + @ApiOperation(value = "根据配置查询创建状态的生产队列工位推送信息") List getQueueOrderPushList(String organizeCode, List queueOrderPushCellCfgList); @@ -46,4 +49,7 @@ public interface IMesQueueOrderPushService { @ApiOperation(value = "根据条件修改生产队列工位推送信息状态") void saveQueueOrderPushStatusByDdlPackBean(DdlPackBean packBean, String userInfo, Integer queueStatus, String targerWorkCellCode); + @ApiOperation(value = "根据条件修改生产队列工位推送信息") + void saveQueueOrderPushByCondition(String[] conditionName, Object[] conditionValue, String[] propertyName, Object[] propertyValue); + } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesQueueOrderPushService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesQueueOrderPushService.java index 45dbdc0..cc0bb3f 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesQueueOrderPushService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesQueueOrderPushService.java @@ -121,6 +121,15 @@ public class MesQueueOrderPushService implements IMesQueueOrderPushService { queueOrderPushRepository.insert(queueOrderPush); } + ///根据ID查询生产队列工位推送信息 + @Override + public MesQueueOrderPush getQueueOrderPush(String organizeCode, Long id) { + if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(id)) return null; + return queueOrderPushRepository.getByProperty( + new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.ID}, + new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), id}); + } + //根据配置查询创建状态的生产队列工位推送信息 @Override public List getQueueOrderPushList(String organizeCode, List queueOrderPushCellCfgList) { @@ -203,4 +212,11 @@ public class MesQueueOrderPushService implements IMesQueueOrderPushService { packBean); } + //根据条件修改生产队列工位推送信息 + @Override + public void saveQueueOrderPushByCondition(String[] conditionName, Object[] conditionValue, String[] propertyName, Object[] propertyValue) { + queueOrderPushRepository.updateByPropertiesNoSync(conditionName, conditionValue, propertyName, propertyValue); + } + + } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionQueueOrderPushService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionQueueOrderPushService.java index 0b48043..9a060fa 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionQueueOrderPushService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionQueueOrderPushService.java @@ -7,10 +7,15 @@ import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesWorkOrderExtService; import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseSwsService; import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.function.IFsmModuleFunctionService; +import cn.estsh.i3plus.platform.common.tool.TimeTool; +import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.PagerHelper; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil; +import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; +import cn.estsh.i3plus.pojo.mes.bean.MesQueueOrderPush; import cn.estsh.i3plus.pojo.mes.bean.MesQueueOrderPushCellCfg; import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder; import cn.estsh.i3plus.pojo.mes.model.ButtonDynamicModel; @@ -73,8 +78,10 @@ public class MesFunctionQueueOrderPushService extends BaseSwsService implements //新增 if (BUSI_TYPE.TWO.value.equals(paramMap.get(MesPcnExtConstWords.BUSI_TYPE))) insertQueueOrderPush(reqBean, resultBean, buttonDynamicModel, resultMap, paramMap); - else if (BUSI_TYPE.THREE.value.equals(paramMap.get(MesPcnExtConstWords.BUSI_TYPE))) queryQueueOrderPush(reqBean, resultMap, paramMap); - else queryQueueOrderPush(reqBean, resultMap, paramMap); + //修改【仅支持修改顺序】 + else if (BUSI_TYPE.THREE.value.equals(paramMap.get(MesPcnExtConstWords.BUSI_TYPE))) updateQueueOrderPush(reqBean, resultBean, buttonDynamicModel, resultMap, paramMap); + //关闭 + else deleteQueueOrderPush(reqBean, resultBean, buttonDynamicModel, resultMap, paramMap); if (!resultMap.containsKey(MesPcnExtConstWords.MESSAGE)) { resultMap.put(MesPcnExtConstWords.DATA_TYPE, MesPcnEnumUtil.STATION_DATA_TYPE.TEXT.getValue()); @@ -149,6 +156,55 @@ public class MesFunctionQueueOrderPushService extends BaseSwsService implements } + //修改【仅支持修改顺序】 + private Map updateQueueOrderPush(StationRequestBean reqBean, StationResultBean resultBean, + ButtonDynamicModel buttonDynamicModel, Map resultMap, Map paramMap) { + if (!paramMap.containsKey(MesPcnExtConstWords.ID)) { + return packResultMap(reqBean, resultBean, resultMap, String.format("[%s]修改:缺少修改数据的ID参数!", buttonDynamicModel.getButtonName())); + } + if (!paramMap.containsKey(MesPcnExtConstWords.PROCESS_SEQ)) { + return packResultMap(reqBean, resultBean, resultMap, String.format("[%s]修改:请输入工艺顺序号!", buttonDynamicModel.getButtonName())); + } + //根据ID查询生产队列工位推送信息 + MesQueueOrderPush queueOrderPush = queueOrderPushService.getQueueOrderPush(reqBean.getOrganizeCode(), Long.valueOf(paramMap.get(MesPcnExtConstWords.ID))); + if (null == queueOrderPush) { + return packResultMap(reqBean, resultBean, resultMap, String.format("[%s]修改:当前修改的队列ID[%s]对应的数据已不存在!", buttonDynamicModel.getButtonName(), paramMap.get(MesPcnExtConstWords.ID))); + } + if (queueOrderPush.getQueueStatus().compareTo(MesExtEnumUtil.QUEUE_ORDER_STATUS.CREATE.getValue()) != 0) { + return packResultMap(reqBean, resultBean, resultMap, String.format("[%s]修改:当前修改的队列信息状态为[%s],不支持修改操作!", buttonDynamicModel.getButtonName(), MesExtEnumUtil.QUEUE_ORDER_STATUS.valueOfDescription(queueOrderPush.getQueueStatus()))); + } + //根据条件修改生产队列工位推送信息 + queueOrderPushService.saveQueueOrderPushByCondition( + new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.ID}, + new Object[]{reqBean.getOrganizeCode(), Long.valueOf(paramMap.get(MesPcnExtConstWords.ID))}, + new String[]{MesPcnExtConstWords.PROCESS_SEQ, MesPcnExtConstWords.MODIFY_USER, MesPcnExtConstWords.MODIFY_DATE_TIME, MesPcnExtConstWords.SYSTEM_SYNC_STATUS, MesPcnExtConstWords.SYSTEM_SYNC_DATE_TIME}, + new Object[]{Integer.valueOf(paramMap.get(MesPcnExtConstWords.PROCESS_SEQ)), reqBean.getUserInfo(), TimeTool.getNowTime(true), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), MesPcnExtConstWords.EMPTY}); + + return resultMap; + } + + //关闭 + private Map deleteQueueOrderPush(StationRequestBean reqBean, StationResultBean resultBean, + ButtonDynamicModel buttonDynamicModel, Map resultMap, Map paramMap) { + if (!paramMap.containsKey(MesPcnExtConstWords.ID)) { + return packResultMap(reqBean, resultBean, resultMap, String.format("[%s]关闭:缺少关闭数据的ID参数!", buttonDynamicModel.getButtonName())); + } + //根据ID查询生产队列工位推送信息 + MesQueueOrderPush queueOrderPush = queueOrderPushService.getQueueOrderPush(reqBean.getOrganizeCode(), Long.valueOf(paramMap.get(MesPcnExtConstWords.ID))); + if (null == queueOrderPush) { + return packResultMap(reqBean, resultBean, resultMap, String.format("[%s]修改:当前关闭的队列ID[%s]对应的数据已不存在!", buttonDynamicModel.getButtonName(), paramMap.get(MesPcnExtConstWords.ID))); + } + if (queueOrderPush.getQueueStatus().compareTo(MesExtEnumUtil.QUEUE_ORDER_STATUS.CREATE.getValue()) != 0) { + return packResultMap(reqBean, resultBean, resultMap, String.format("[%s]修改:当前关闭的队列信息状态为[%s],不支持关闭操作!", buttonDynamicModel.getButtonName(), MesExtEnumUtil.QUEUE_ORDER_STATUS.valueOfDescription(queueOrderPush.getQueueStatus()))); + } + //根据条件修改生产队列工位推送信息状态 + DdlPackBean packBean = DdlPackBean.getDdlPackBean(reqBean.getOrganizeCode()); + DdlPreparedPack.getNumEqualPack(Long.valueOf(paramMap.get(MesPcnExtConstWords.ID)), MesPcnExtConstWords.ID, packBean); + queueOrderPushService.saveQueueOrderPushStatusByDdlPackBean(packBean, reqBean.getUserInfo(), MesExtEnumUtil.QUEUE_ORDER_STATUS.CLOSED.getValue(), reqBean.getWorkCellCode()); + + return resultMap; + } + //返回提示信息 private Map packResultMap(StationRequestBean reqBean, StationResultBean resultBean, Map resultMap, String message) { this.sendMessage(reqBean, resultBean, message, MesPcnEnumUtil.STATION_BUSI_TYPE.RUNNING_INFO, MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT); @@ -165,7 +221,7 @@ public class MesFunctionQueueOrderPushService extends BaseSwsService implements THREE("3", "修改"), - FOUR("4", "取消"); + FOUR("4", "关闭"); private String value;