|
|
|
@ -45,21 +45,22 @@ public class MesEquipmentRwExtService implements IMesEquipVariableRwExtService {
|
|
|
|
|
//根据cfgCode查询缓存的配置数据
|
|
|
|
|
List<MesConfig> configList = configService.doCachedConfigList(MesPcnExtConstWords.EQUIP_VARIABLE_RW_CFG, equipVariableRwModel.getOrganizeCode());
|
|
|
|
|
|
|
|
|
|
//根据设备标识分组
|
|
|
|
|
Map<String, List<MesConfig>> requestUrlMap = getConfigMap(configList, MesPcnExtConstWords.KEPWARE_FLAG_CFG);
|
|
|
|
|
//根据读写标志分组
|
|
|
|
|
Map<String, List<MesConfig>> rwApiMap = getConfigMap(configList, MesPcnExtConstWords.RW_API_CFG);
|
|
|
|
|
//搜集读标志数据根据kepwareFlag分组
|
|
|
|
|
Map<String, List<MesConfig>> readUrlMap = getConfigMap(configList, MesExtEnumUtil.READ_WRITE_FLAG.READ.getValueStr());
|
|
|
|
|
//搜集写标志数据根据kepwareFlag分组
|
|
|
|
|
Map<String, List<MesConfig>> writeUrlMap = getConfigMap(configList, MesExtEnumUtil.READ_WRITE_FLAG.WRITE.getValueStr());
|
|
|
|
|
|
|
|
|
|
if (CollectionUtils.isEmpty(requestUrlMap) || CollectionUtils.isEmpty(rwApiMap)) return equipVariableRwModel;
|
|
|
|
|
if (!rwApiMap.containsKey(MesExtEnumUtil.READ_WRITE_FLAG.READ.getValueStr()) || !rwApiMap.containsKey(MesExtEnumUtil.READ_WRITE_FLAG.WRITE.getValueStr())) return equipVariableRwModel;
|
|
|
|
|
|
|
|
|
|
List<MesConfig> requestUrlList = (StringUtils.isEmpty(equipVariableRwModel.getKepwareFlag()) || !requestUrlMap.containsKey(equipVariableRwModel.getKepwareFlag())) ? requestUrlMap.get(MesPcnExtConstWords.DEFAULT_URL) : requestUrlMap.get(equipVariableRwModel.getKepwareFlag());
|
|
|
|
|
if (CollectionUtils.isEmpty(requestUrlList)) return equipVariableRwModel;
|
|
|
|
|
if (CollectionUtils.isEmpty(readUrlMap) && CollectionUtils.isEmpty(writeUrlMap)) return equipVariableRwModel;
|
|
|
|
|
|
|
|
|
|
//赋值读/写访问地址
|
|
|
|
|
return equipVariableRwModel.readRequestUrl(requestUrlList.get(0).getCfgValue() + rwApiMap.get(MesExtEnumUtil.READ_WRITE_FLAG.READ.getValueStr()).get(0).getCfgValue()).
|
|
|
|
|
writeRequestUrl(requestUrlList.get(0).getCfgValue() + rwApiMap.get(MesExtEnumUtil.READ_WRITE_FLAG.WRITE.getValueStr()).get(0).getCfgValue());
|
|
|
|
|
return equipVariableRwModel.readRequestUrl(getRequestUrl(readUrlMap, equipVariableRwModel.getKepwareFlag())).writeRequestUrl(getRequestUrl(writeUrlMap, equipVariableRwModel.getKepwareFlag()));
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private String getRequestUrl(Map<String, List<MesConfig>> urlMap, String kepwareFlag) {
|
|
|
|
|
if (!CollectionUtils.isEmpty(urlMap) && urlMap.containsKey(kepwareFlag)) return urlMap.get(kepwareFlag).get(0).getCfgValue();
|
|
|
|
|
if (!CollectionUtils.isEmpty(urlMap) && urlMap.containsKey(MesPcnExtConstWords.DEFAULT_KEPWARE_FLAG)) return urlMap.get(MesPcnExtConstWords.DEFAULT_KEPWARE_FLAG).get(0).getCfgValue();
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private Map<String, List<MesConfig>> getConfigMap(List<MesConfig> configList, String cfgType) {
|
|
|
|
@ -71,7 +72,7 @@ public class MesEquipmentRwExtService implements IMesEquipVariableRwExtService {
|
|
|
|
|
@Override
|
|
|
|
|
public MesEquipVariableRwResult writeVariable(MesEquipVariableRwModel equipVariableRwModel) {
|
|
|
|
|
|
|
|
|
|
MesEquipVariableRwResult result = checkBefore(equipVariableRwModel);
|
|
|
|
|
MesEquipVariableRwResult result = checkBefore(equipVariableRwModel, MesExtEnumUtil.READ_WRITE_FLAG.WRITE.getValueStr());
|
|
|
|
|
|
|
|
|
|
if (!result.getIsSuccessed()) return result;
|
|
|
|
|
|
|
|
|
@ -94,7 +95,7 @@ public class MesEquipmentRwExtService implements IMesEquipVariableRwExtService {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private MesEquipVariableRwResult checkBefore(MesEquipVariableRwModel equipVariableRwModel) {
|
|
|
|
|
private MesEquipVariableRwResult checkBefore(MesEquipVariableRwModel equipVariableRwModel, String readWriteFlag) {
|
|
|
|
|
|
|
|
|
|
if (null == equipVariableRwModel) return new MesEquipVariableRwResult().noSuccessed().isNoCfg().message("入参为空!");
|
|
|
|
|
|
|
|
|
@ -103,8 +104,11 @@ public class MesEquipmentRwExtService implements IMesEquipVariableRwExtService {
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isEmpty(equipVariableRwModel.getWriteRequestUrl()) || StringUtils.isEmpty(equipVariableRwModel.getReadRequestUrl())) getRwRequestUrl(equipVariableRwModel);
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isEmpty(equipVariableRwModel.getWriteRequestUrl()) || StringUtils.isEmpty(equipVariableRwModel.getReadRequestUrl()))
|
|
|
|
|
return new MesEquipVariableRwResult().noSuccessed().isNoCfg().message(String.format("工厂[%s]缺失系统配置信息[%s]!", equipVariableRwModel.getOrganizeCode(), MesPcnExtConstWords.EQUIP_VARIABLE_RW_CFG));
|
|
|
|
|
if (MesExtEnumUtil.READ_WRITE_FLAG.READ.getValueStr().equals(readWriteFlag) && StringUtils.isEmpty(equipVariableRwModel.getReadRequestUrl()))
|
|
|
|
|
return new MesEquipVariableRwResult().noSuccessed().isNoCfg().message(String.format("工厂[%s]缺失系统配置信息[%s]读地址URL配置!", equipVariableRwModel.getOrganizeCode(), MesPcnExtConstWords.EQUIP_VARIABLE_RW_CFG));
|
|
|
|
|
|
|
|
|
|
if (MesExtEnumUtil.READ_WRITE_FLAG.WRITE.getValueStr().equals(readWriteFlag) && StringUtils.isEmpty(equipVariableRwModel.getWriteRequestUrl()))
|
|
|
|
|
return new MesEquipVariableRwResult().noSuccessed().isNoCfg().message(String.format("工厂[%s]缺失系统配置信息[%s]写地址URL配置!", equipVariableRwModel.getOrganizeCode(), MesPcnExtConstWords.EQUIP_VARIABLE_RW_CFG));
|
|
|
|
|
|
|
|
|
|
return new MesEquipVariableRwResult();
|
|
|
|
|
|
|
|
|
@ -113,7 +117,7 @@ public class MesEquipmentRwExtService implements IMesEquipVariableRwExtService {
|
|
|
|
|
@Override
|
|
|
|
|
public MesEquipVariableRwResult readVariable(MesEquipVariableRwModel equipVariableRwModel) {
|
|
|
|
|
|
|
|
|
|
MesEquipVariableRwResult result = checkBefore(equipVariableRwModel);
|
|
|
|
|
MesEquipVariableRwResult result = checkBefore(equipVariableRwModel, MesExtEnumUtil.READ_WRITE_FLAG.READ.getValueStr());
|
|
|
|
|
|
|
|
|
|
if (!result.getIsSuccessed()) return result;
|
|
|
|
|
|
|
|
|
|