mes报表验证分表配置

tags/yfai-mes-ext-v1.1
王杰 9 months ago
parent 587502b2d8
commit 7e50e2cf37

@ -9,11 +9,17 @@ import io.swagger.annotations.ApiOperation;
* @Author: simon.song
*/
public interface IMesConfigService {
@ApiOperation(value = "获取配置表模板代码")
String getCfgValue(String org, String key);
@ApiOperation(value = "获取配置表模板代码")
MesConfig getCfgValueByCode(String key);
@ApiOperation(value = "根据分隔符验证是否存在元素的配置")
Boolean checkCfgValueIsContainItem(String orginzeCode, String cfgCode, String cfgKey, String cfgType, String splitStr, String item);
@ApiOperation(value = "验证分表配置")
Boolean checkShardingTablesObjectCfg(String orginzeCode, String cfgKey, String item);
}

@ -1,13 +1,22 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesConfigService;
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords;
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.MesConfig;
import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentLogDetail;
import cn.estsh.i3plus.pojo.mes.repository.MesConfigRepository;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
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.Arrays;
import java.util.List;
/**
* @Description:
@ -40,4 +49,22 @@ public class MesConfigService implements IMesConfigService {
return this.configRepository.getByProperty(new String[]{"isDeleted", "isValid", "cfgCode"},
new Object[]{CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), cfgCode});
}
@Override
public Boolean checkCfgValueIsContainItem(String orginzeCode, String cfgCode, String cfgKey, String cfgType, String splitStr, String item) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(orginzeCode);
DdlPreparedPack.getStringEqualPack(cfgCode, MesExtConstWords.CFG_CODE, packBean);
DdlPreparedPack.getStringEqualPack(cfgKey, MesExtConstWords.CFG_KEY, packBean);
DdlPreparedPack.getStringEqualPack(cfgType, MesExtConstWords.CFG_TYPE, packBean);
MesConfig config = configRepository.getByProperty(packBean);
if (null == config || StringUtils.isEmpty(config.getCfgValue())) return false;
List<String> cfgValueList = Arrays.asList(config.getCfgValue().split(splitStr));
return (!CollectionUtils.isEmpty(cfgValueList) && cfgValueList.contains(item)) ? true : false;
}
@Override
public Boolean checkShardingTablesObjectCfg(String orginzeCode, String cfgKey, String item) {
return checkCfgValueIsContainItem(orginzeCode, MesExtConstWords.MES_SHARDING_TABLES_OBJECT_CFG, cfgKey, CommonEnumUtil.SOFT_TYPE.MES.name(), MesExtConstWords.SEMICOLON, item);
}
}

@ -1,19 +1,29 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.report;
import cn.estsh.i3plus.ext.mes.api.base.IMesConfigService;
import cn.estsh.i3plus.ext.mes.api.busi.report.IMesEquipmentLogDetailService;
import cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base.BaseMesService;
import cn.estsh.i3plus.ext.mes.apiservice.utils.MesException;
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords;
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.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentLogDetail;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.StringJoiner;
@Service
public class MesEquipmentLogDetailService extends BaseMesService<MesEquipmentLogDetail> implements IMesEquipmentLogDetailService {
@Autowired
private IMesConfigService configService;
@Override
protected void setPackQueryBean(MesEquipmentLogDetail bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(new StringJoiner(MesExtConstWords.E_UNDERLINE).add(bean.getOrganizeCode()).add(bean.getEquipId().toString()).toString(), MesExtConstWords.ORG_EQUIP_ID, packBean);
@ -26,4 +36,13 @@ public class MesEquipmentLogDetailService extends BaseMesService<MesEquipmentLog
DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{MesExtConstWords.CREATE_DATE_TIME}, packBean);
}
@Override
public ListPager<MesEquipmentLogDetail> queryPager(MesEquipmentLogDetail bean, Pager pager) {
if (StringUtils.isEmpty(bean.getEquipId())) MesException.throwBusiException("查询条件的参数缺失设备ID[equipId]");
String orgEquipId = new StringJoiner(MesExtConstWords.E_UNDERLINE).add(bean.getOrganizeCode()).add(bean.getEquipId().toString()).toString();
if (!configService.checkShardingTablesObjectCfg(bean.getOrganizeCode(), MesEquipmentLogDetail.class.getSimpleName(), orgEquipId))
return new ListPager<>(new ArrayList<>(), pager);
return super.queryPager(bean, pager);
}
}

@ -1,5 +1,6 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.report;
import cn.estsh.i3plus.ext.mes.api.base.IMesConfigService;
import cn.estsh.i3plus.ext.mes.api.busi.report.IMesWorkCellScanMonitorLogService;
import cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base.BaseMesService;
import cn.estsh.i3plus.ext.mes.apiservice.utils.MesException;
@ -43,6 +44,9 @@ public class MesWorkCellMonitorLogService extends BaseMesService<MesWorkCellScan
@Autowired
private MesWorkCellScanMonitorLogRepository workCellScanMonitorLogRepository;
@Autowired
private IMesConfigService configService;
@Override
public List<MesWorkCellScanMonitorLogModel> queryWorkCellScanMonitorLogList(MesWorkCellScanMonitorConditionModel conditionModel) {
@ -142,6 +146,10 @@ public class MesWorkCellMonitorLogService extends BaseMesService<MesWorkCellScan
private List<MesWorkCellScanMonitorLogModel> findWorkCellScanMonitorLogList(MesWorkCellScanMonitorConditionModel conditionModel) {
String orgWorkCode = new StringJoiner(MesExtConstWords.E_UNDERLINE).add(conditionModel.getOrganizeCode()).add(conditionModel.getWorkCenterCode()).toString();
if (!configService.checkShardingTablesObjectCfg(conditionModel.getOrganizeCode(), MesWorkCellScanMonitorLog.class.getSimpleName(), orgWorkCode)) return null;
DdlPackBean packBean = DdlPackBean.getDdlPackBean(conditionModel.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(new StringJoiner(MesExtConstWords.E_UNDERLINE).add(conditionModel.getOrganizeCode()).add(conditionModel.getWorkCenterCode()).toString(), MesExtConstWords.ORG_WORK_CODE, packBean);
DdlPreparedPack.getStringEqualPack(conditionModel.getWorkCenterCode(), MesExtConstWords.WORK_CENTER_CODE, packBean);
@ -177,8 +185,12 @@ public class MesWorkCellMonitorLogService extends BaseMesService<MesWorkCellScan
private List<MesWorkCellScanMonitorLogModel> findEquipmentLogDetailList(MesWorkCellScanMonitorConditionModel conditionModel) {
String orgEquipId = new StringJoiner(MesExtConstWords.E_UNDERLINE).add(conditionModel.getOrganizeCode()).add(conditionModel.getEquipId().toString()).toString();
if (!configService.checkShardingTablesObjectCfg(conditionModel.getOrganizeCode(), MesEquipmentLogDetail.class.getSimpleName(), orgEquipId)) return null;
DdlPackBean packBean = DdlPackBean.getDdlPackBean(conditionModel.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(new StringJoiner(MesExtConstWords.E_UNDERLINE).add(conditionModel.getOrganizeCode()).add(conditionModel.getEquipId().toString()).toString(), MesExtConstWords.ORG_EQUIP_ID, packBean);
DdlPreparedPack.getStringEqualPack(orgEquipId, MesExtConstWords.ORG_EQUIP_ID, packBean);
DdlPreparedPack.getNumEqualPack(conditionModel.getEquipId(), MesExtConstWords.EQUIP_ID, packBean);
DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.EQUIP_VARIABLE_TYPE.PRODUCTION.getValue(), MesExtConstWords.VARIABLE_TYPE, packBean);
DdlPreparedPack.getNumEqualPack(conditionModel.getEquipVariableId(), MesExtConstWords.EQUIP_VARIABLE_ID, packBean);

@ -135,6 +135,12 @@ public class MesExtConstWords {
public static final String ORG_WORK_CODE = "orgWorkCode";
//工厂_设备ID
public static final String ORG_EQUIP_ID = "orgEquipId";
//配置代码
public static final String CFG_CODE = "cfgCode";
//配置键
public static final String CFG_KEY = "cfgKey";
//配置类型
public static final String CFG_TYPE = "cfgType";
//时间[开始/结束]条件
public static final String START_TIME_START = "startTimeStart";
@ -218,4 +224,10 @@ public class MesExtConstWords {
//英文逗号
public static final String COMMA = ",";
// ;
public static final String SEMICOLON = ";";
// 分表配置
public static final String MES_SHARDING_TABLES_OBJECT_CFG = "MES_SHARDING_TABLES_OBJECT_CFG";
}

Loading…
Cancel
Save