From bc491b4f843028c390cdf138b2de9287e4ddf83a Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Sun, 26 May 2024 12:03:58 +0800 Subject: [PATCH] pcn --- .../mes/pcn/api/base/IMesProdOrgExtService.java | 5 -- .../controller/base/ProdOrgExtController.java | 50 ------------- .../serviceimpl/base/MesProdOrgExtService.java | 14 ---- ....java => MesProductionNoSortModuleService.java} | 17 ++--- .../step/MesAssemblyScanStepService.java | 83 +--------------------- 5 files changed, 7 insertions(+), 162 deletions(-) delete mode 100644 modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/base/ProdOrgExtController.java rename modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/{YfManyCellMonitorModuleService.java => MesProductionNoSortModuleService.java} (69%) diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesProdOrgExtService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesProdOrgExtService.java index a1031f3..4623757 100644 --- a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesProdOrgExtService.java +++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesProdOrgExtService.java @@ -4,13 +4,8 @@ import cn.estsh.i3plus.pojo.mes.bean.MesWorkCell; import cn.estsh.i3plus.pojo.mes.bean.MesWorkCenter; import io.swagger.annotations.ApiOperation; -import java.util.List; - public interface IMesProdOrgExtService { - @ApiOperation(value = "根据生产线代码查询工位集合") - List findWorkCell(String organizeCode, String workCenterCode); - @ApiOperation(value = "根据生产线代码查询生产线信息") MesWorkCenter getWorkCenterDb(String organizeCode, String workCenterCode); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/base/ProdOrgExtController.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/base/ProdOrgExtController.java deleted file mode 100644 index 4cea7a9..0000000 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/base/ProdOrgExtController.java +++ /dev/null @@ -1,50 +0,0 @@ -package cn.estsh.i3plus.ext.mes.pcn.apiservice.controller.base; - -import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesProdOrgExtService; -import cn.estsh.i3plus.platform.common.util.CommonConstWords; -import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; -import cn.estsh.i3plus.pojo.mes.bean.MesWorkCell; -import cn.estsh.impp.framework.base.controller.MesPcnBaseController; -import cn.estsh.impp.framework.boot.auth.AuthUtil; -import cn.estsh.impp.framework.boot.exception.ImppBusiException; -import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; -import cn.estsh.impp.framework.boot.util.ResultBean; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.List; - -/** - * @Author: wangjie - * @CreateDate: 2021/01/19 15:37 - * @Description: - **/ -@RestController -@RequestMapping(CommonConstWords.BASE_URL_MES_PCN) -@Api(tags = "组织") -public class ProdOrgExtController extends MesPcnBaseController { - - @Autowired - private IMesProdOrgExtService organizeService; - - @GetMapping({"/ext/query-work-cell-by-center"}) - @ApiOperation( - value = "查询工作单元", - notes = "查询工作单元" - ) - public ResultBean queryWorkCell(String workCenterCode) { - try { - List areaList = this.organizeService.findWorkCell(AuthUtil.getOrganize().getOrganizeCode(), workCenterCode); - return ResultBean.success("操作成功").setResultList(areaList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); - } catch (ImppBusiException var3) { - return ResultBean.fail(var3); - } catch (Exception var4) { - return ImppExceptionBuilder.newInstance().buildExceptionResult(var4); - } - } - -} diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesProdOrgExtService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesProdOrgExtService.java index 2784279..c445db1 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesProdOrgExtService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesProdOrgExtService.java @@ -2,10 +2,7 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.base; import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesProdOrgExtService; import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; -import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; 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.MesWorkCell; import cn.estsh.i3plus.pojo.mes.bean.MesWorkCenter; import cn.estsh.i3plus.pojo.mes.repository.MesWorkCellRepository; @@ -15,8 +12,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; -import java.util.List; - @Slf4j @Service public class MesProdOrgExtService implements IMesProdOrgExtService { @@ -28,15 +23,6 @@ public class MesProdOrgExtService implements IMesProdOrgExtService { private MesWorkCellRepository workCellRepository; @Override - public List findWorkCell(String organizeCode, String workCenterCode) { - DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getStringEqualPack(workCenterCode, "workCenterCode", packBean); - DdlPreparedPack.getNumNOEqualPack(MesPcnEnumUtil.MES_WORK_CELL_TYPE.REWORK.getValue(), "workCellType", packBean); - DdlPreparedPack.getOrderByPack(new Object[]{1}, new String[]{"seq"}, packBean); - return this.workCellRepository.findByHqlWhere(packBean); - } - - @Override public MesWorkCenter getWorkCenterDb(String organizeCode, String workCenterCode) { if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(workCenterCode)) return null; return workCenterRepository.getByProperty( diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/YfManyCellMonitorModuleService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/MesProductionNoSortModuleService.java similarity index 69% rename from modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/YfManyCellMonitorModuleService.java rename to modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/MesProductionNoSortModuleService.java index 7b96a9c..0b50a37 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/YfManyCellMonitorModuleService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/MesProductionNoSortModuleService.java @@ -12,34 +12,27 @@ import java.util.List; import java.util.Map; /** - * @Description : 展示组件:多工位监控加工 - * @Reference : + * @Description : 展示组件:非排序生产 * @Author :wangjie - * @CreateDate : 2020-06-26 11:18 上午 - * @Modify: **/ @Slf4j -@Service("yfManyCellMonitorModuleService") -public class YfManyCellMonitorModuleService extends BaseModuleService { +@Service("mesProductionNoSortModuleService") +public class MesProductionNoSortModuleService extends BaseModuleService { - private static final String YF_MANY_CELL_MONITOR_MODULE = "YF_MANY_CELL_MONITOR_MODULE"; - private static final String CELL_LOCATION = "CELL_LOCATION"; + private static final String PRODUCTION_NOSORT_MODULE = "PRODUCTION_NOSORT_MODULE"; @Override public void init(StationRequestBean reqBean) { StationResultBean resultBean = new StationResultBean(); resultBean.setBusiType(MesPcnEnumUtil.STATION_BUSI_TYPE.MODULE_CONTENT.getValue()); resultBean.setDataType(MesPcnEnumUtil.STATION_DATA_TYPE.CUSTOM.getValue()); - resultBean.setCustomPageName(YF_MANY_CELL_MONITOR_MODULE); + resultBean.setCustomPageName(PRODUCTION_NOSORT_MODULE); resultBean.setSpecialDisplayData(getStepColIndent(reqBean)); this.sendMessage(reqBean, resultBean); } - - @Override public boolean execStateModule(StationRequestBean reqBean, List states, Map wcpcMap) { - init(reqBean); return true; } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesAssemblyScanStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesAssemblyScanStepService.java index bb40efe..a1dbd1a 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesAssemblyScanStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesAssemblyScanStepService.java @@ -1,54 +1,26 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step; -import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesMouldMultiCavityService; -import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesEquipVariableCfgRuleMatchDispatchService; -import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesEquipmentLogExtService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepService; -import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesCellEquipContext; -import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesEquipVariableCfgCollectContext; -import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesEquipVariableCollectContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionProcessContext; -import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseStepService; -import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil; -import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentVariable; -import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentVariableCfg; -import cn.estsh.i3plus.pojo.mes.bean.MesProdRouteOptParam; import cn.estsh.i3plus.pojo.mes.model.StationRequestBean; import cn.estsh.i3plus.pojo.mes.model.StationResultBean; import cn.estsh.i3plus.pojo.mes.model.StepResult; -import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; -import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.util.CollectionUtils; -import org.springframework.util.StringUtils; - -import java.util.List; -import java.util.Map; -import java.util.Optional; /** * @Description : 扫描装配件条码工步 * @Author : wangjie **/ @Slf4j -@Service("mesAssemblyReadStepService") +@Service("mesAssemblyScanStepService") public class MesAssemblyScanStepService extends BaseStepService { @Autowired private IMesProductionProcessContextStepService productionProcessContextStepService; - @Autowired - private IMesEquipmentLogExtService equipmentLogExtService; - - @Autowired - private IMesEquipVariableCfgRuleMatchDispatchService equipVariableCfgRuleMatchService; - - @Autowired - private IMesMouldMultiCavityService mouldMultiCavityService; - @Override public StepResult execute(StationRequestBean reqBean) { @@ -56,68 +28,17 @@ public class MesAssemblyScanStepService extends BaseStepService { StepResult stepResult = StepResult.getSuccessComplete(); - Optional> stepParamMap = getStepParams(reqBean); - - MesProductionProcessContext productionProcessContext = productionProcessContextStepService.getCurCellEquipment(reqBean, stepParamMap); - - //当前工序已存在读取待验证的装配件条码 - if (!StringUtils.isEmpty(productionProcessContext.getAssemblySnJson())) return stepResult; - - //获取生产过程上下文对象有异常信息 抛出异常 - if (!productionProcessContextStepService.getEquipmentVariableCfgList(productionProcessContext).getSuccess()) execExpSendMsgAndThrowEx(reqBean, resultBean, productionProcessContext.getMessage()); - - List equipmentVariableCfgList = productionProcessContext.getEquipVariableCfgListByVct(); - - equipmentVariableCfgList = productionProcessContextStepService.collectEquipmentVariableCfgList(equipmentVariableCfgList, MesExtEnumUtil.EQUIP_VARIABLE_CFG_CATEGORY.ASSEMBLY.getValue()); + MesProductionProcessContext productionProcessContext = productionProcessContextStepService.getCurCellEquipment(reqBean); - MesCellEquipContext cellEquipContext = productionProcessContext.getCurCellEquip(); - //配置错误 抛出异常 - if (CollectionUtils.isEmpty(equipmentVariableCfgList)) execExpSendMsgAndThrowEx(reqBean, resultBean, - String.format("请检查设备数据变量接口逻辑信息,设备[%s]未配置变量配置类型[%s]装配件条码相关变量类别的数据变量接口逻辑信息!", cellEquipContext.getEquipmentCode(), cellEquipContext.getVariableCfgType())); - List categoryLevelTwoList = productionProcessContextStepService.collectCategoryLevelTwoList(equipmentVariableCfgList); - List equipmentVariableList = productionProcessContextStepService.findEquipmentVariableList(productionProcessContext, MesExtEnumUtil.EQUIP_VARIABLE_TYPE.PRODUCTION.getValue(), categoryLevelTwoList); - - //配置错误 抛出异常 - if (CollectionUtils.isEmpty(equipmentVariableList)) execExpSendMsgAndThrowEx(reqBean, resultBean, - String.format("请检查设备数据变量信息,根据设备[%s]对应的数据变量接口逻辑信息,未配置变量类型[%s]二级变量%s相关的数据变量信息!", cellEquipContext.getEquipmentCode(), MesExtEnumUtil.EQUIP_VARIABLE_TYPE.PRODUCTION.getDescription(), categoryLevelTwoList.toString())); - - List collectContextList = equipmentLogExtService.doHandleEquipmentLogList(cellEquipContext, equipmentVariableList, equipmentVariableCfgList); - this.sendMessage(reqBean, resultBean, JSONObject.toJSONString(collectContextList), MesPcnEnumUtil.STATION_BUSI_TYPE.RUNNING_INFO, MesPcnEnumUtil.STATION_DATA_TYPE.TEXT); - - //验证设备通信质量 - productionProcessContextStepService.sendEquipQualityMessage(reqBean, cellEquipContext); - if (!equipmentLogExtService.checkEquipQuality(cellEquipContext.getQuality())) - execDynamicsCompleteAndSendMsg(reqBean, resultBean, stepResult, false, - MesPcnEnumUtil.STATION_BUSI_TYPE.MESSAGE, MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT, String.format("请检查设备的质量状态,读取到设备[%s]的数据变量质量值为[%s]!", cellEquipContext.getEquipmentCode(), cellEquipContext.getQuality())); - - //验证装配件条码的有效性 - if (stepResult.isCompleted()) matchAssemblySnValid(reqBean, resultBean, stepResult, productionProcessContext, cellEquipContext, collectContextList); - - productionProcessContextStepService.doCacheContext(reqBean, productionProcessContext); - - if (!stepResult.isCompleted()) threadSleep(stepParamMap, MesPcnExtConstWords.READ_FAILURE_SLEEP, MesPcnExtConstWords.READ_FAILURE_SLEEP_DEFAULT_TIME); return stepResult; } - private StepResult matchAssemblySnValid(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, MesProductionProcessContext productionProcessContext, MesCellEquipContext cellEquipContext, List collectContextList) { - //读取的装配件进行规则匹配 - List equipVariableCollectContextList = (List) equipVariableCfgRuleMatchService.matchEquipVariableCfgCollectContext(reqBean, productionProcessContext, MesExtEnumUtil.EQUIP_VARIABLE_CFG_CATEGORY.ASSEMBLY.getValue(), collectContextList); - - if (CollectionUtils.isEmpty(equipVariableCollectContextList)) - return execDynamicsCompleteAndSendMsgReturn(reqBean, resultBean, stepResult, false, MesPcnEnumUtil.STATION_BUSI_TYPE.GUIDE, MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT, String.format("当前未读取到设备[%s]装配件条码,持续监听中...", cellEquipContext.getEquipmentCode())); - - //保存设备当前一轮工序的装配件信息 - productionProcessContext.assemblySnJson(equipVariableCollectContextList); - - return stepResult; - - } }