Commit 6dc848ac authored by litengwei's avatar litengwei

Merge remote-tracking branch 'origin/develop_dl_plan6' into develop_dl_plan6

parents 82f1b7a3 3904a1b7
package com.yeejoin.equipmanage.common.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.equipmanage.common.entity.publics.BaseEntity;
import io.swagger.annotations.ApiModel;
import lombok.Data;
@Data
@TableName("wl_marquee_data")
@ApiModel(value = "marquee_data对象", description = "")
public class MarqueeData extends BaseEntity {
/**
* 类型
*/
private String type;
/**
* 设备名称
*/
private String name;
/**
* 位置
*/
private String position;
/**
* 消息类型
*/
private String messageType;
/**
* 是否已读【0:未读;1:已读】
*/
private String isRead;
/**
* 设备id
*/
private String equipmentSpecificId;
}
...@@ -218,9 +218,10 @@ public class BuildingController extends AbstractBaseController { ...@@ -218,9 +218,10 @@ public class BuildingController extends AbstractBaseController {
@PutMapping(value = "/commonUpdate") @PutMapping(value = "/commonUpdate")
public Object update( public Object update(
@RequestParam Long instanceId, @RequestParam Long instanceId,
@RequestParam(value = "groupCode", required = false) String groupCode,
@RequestBody Map<String, Object> map) { @RequestBody Map<String, Object> map) {
String orgCode = getOrgCode(); String orgCode = getOrgCode();
return buildService.updateForm(instanceId, orgCode, map); return buildService.updateForm(instanceId, orgCode, map, groupCode);
} }
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
......
package com.yeejoin.equipmanage.controller; package com.yeejoin.equipmanage.controller;
import java.util.ArrayList; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletResponse;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.equipmanage.common.utils.*;
import com.yeejoin.equipmanage.common.vo.AlarmDataVO;
import com.yeejoin.equipmanage.common.vo.AlarmEquipMockDataVO;
import com.yeejoin.equipmanage.common.vo.AlarmListDataVO;
import com.yeejoin.equipmanage.mapper.EquipmentSpecificMapper; import com.yeejoin.equipmanage.mapper.EquipmentSpecificMapper;
import com.yeejoin.equipmanage.service.IEquipmentSpecificAlarmService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
...@@ -23,20 +24,11 @@ import org.typroject.tyboot.core.foundation.utils.ValidationUtil; ...@@ -23,20 +24,11 @@ import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.doc.TycloudOperation; import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import javax.servlet.http.HttpServletResponse;
import com.yeejoin.equipmanage.common.utils.CommonPageInfoParam; import java.util.ArrayList;
import com.yeejoin.equipmanage.common.utils.CommonPageParamUtil; import java.util.HashMap;
import com.yeejoin.equipmanage.common.utils.CommonPageable; import java.util.List;
import com.yeejoin.equipmanage.common.utils.CommonRequest; import java.util.Map;
import com.yeejoin.equipmanage.common.utils.CommonResponseUtil;
import com.yeejoin.equipmanage.common.utils.StringUtil;
import com.yeejoin.equipmanage.common.vo.AlarmDataVO;
import com.yeejoin.equipmanage.common.vo.AlarmEquipMockDataVO;
import com.yeejoin.equipmanage.common.vo.AlarmListDataVO;
import com.yeejoin.equipmanage.service.IEquipmentSpecificAlarmService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
/** /**
* @author keyong * @author keyong
...@@ -181,6 +173,108 @@ public class EquipmentAlarmController extends AbstractBaseController { ...@@ -181,6 +173,108 @@ public class EquipmentAlarmController extends AbstractBaseController {
} }
/** /**
* 稳压泵跑马灯消息已读列表分页查询
*
* @return
*/
@RequestMapping(value = "/listPage", method = RequestMethod.GET)
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "列表分页查询", produces = "application/json;charset=UTF-8", notes = "列表分页查询")
public ResponseModel list(@RequestParam(value = "beginDate", required = false) String beginDate,
@RequestParam(value = "endDate", required = false) String endDate,
@RequestParam(value = "warehouseStructureName", required = false) String warehouseStructureName,
@RequestParam(value = "equipCode", required = false) String equipCode,
@RequestParam(value = "handleStatus", required = false) String handleStatus,
@RequestParam(value = "system", required = false) String system,
@RequestParam(value = "alarmType", required = false) String alarmType,
@RequestParam(value = "type", required = false) String type,
@RequestParam(value = "buildIds", required = false) List<String> buildIds,
@RequestParam(value = "id", required = false) String id,
@RequestParam(value = "cleanStatus", required = false) String cleanStatus,
@RequestParam(value = "isRemoveShield", required = false) String isRemoveShield,
CommonPageable commonPageable) {
if (commonPageable.getPageNumber() == 0) {
commonPageable.setPageNumber(1);
}
ReginParams reginParams = getSelectedOrgInfo();
List<CommonRequest> queryRequests = new ArrayList<>();
CommonRequest request = new CommonRequest();
request.setName("beginDate");
request.setValue(StringUtil.isNotEmpty(beginDate) ? StringUtils.trimToNull(beginDate).substring(0, 10) + " 00:00:00" : null);
queryRequests.add(request);
CommonRequest request1 = new CommonRequest();
request1.setName("endDate");
request1.setValue(StringUtil.isNotEmpty(endDate) ? StringUtils.trimToNull(endDate).substring(0, 10) + " 23:59:59" : null);
queryRequests.add(request1);
CommonRequest request2 = new CommonRequest();
request2.setName("warehouseStructureName");
request2.setValue(StringUtil.isNotEmpty(warehouseStructureName) ? StringUtils.trimToNull(warehouseStructureName) : null);
queryRequests.add(request2);
CommonRequest request3 = new CommonRequest();
request3.setName("equipCode");
request3.setValue(StringUtil.isNotEmpty(equipCode) ? StringUtils.trimToNull(equipCode) : null);
queryRequests.add(request3);
CommonRequest request4 = new CommonRequest();
request4.setName("alarmType");
request4.setValue(StringUtil.isNotEmpty(alarmType) ? StringUtils.trimToNull(alarmType) : null);
queryRequests.add(request4);
CommonRequest request5 = new CommonRequest();
request5.setName("orgCode");
request5.setValue(null);
queryRequests.add(request5);
CommonRequest request6 = new CommonRequest();
request6.setName("handleStatus");
request6.setValue(StringUtil.isNotEmpty(handleStatus) ? StringUtils.trimToNull(handleStatus) : null);
queryRequests.add(request6);
CommonRequest request7 = new CommonRequest();
request7.setName("system");
request7.setValue(StringUtil.isNotEmpty(system) ? StringUtils.trimToNull(system) : null);
queryRequests.add(request7);
CommonRequest request8 = new CommonRequest();
request8.setName("type");
request8.setValue(StringUtil.isNotEmpty(type) ? StringUtils.trimToNull(type) : null);
queryRequests.add(request8);
CommonRequest request9 = new CommonRequest();
request9.setName("buildIds");
request9.setValue(ObjectUtils.isEmpty(buildIds) ? null : buildIds);
queryRequests.add(request9);
CommonRequest request10 = new CommonRequest();
request10.setName("id");
request10.setValue(StringUtil.isNotEmpty(id) ? StringUtils.trimToNull(id) : null);
queryRequests.add(request10);
CommonRequest request11 = new CommonRequest();
request11.setName("cleanStatus");
request11.setValue(StringUtil.isNotEmpty(cleanStatus) ? StringUtils.trimToNull(cleanStatus) : null);
queryRequests.add(request11);
CommonRequest request12 = new CommonRequest();
request12.setName("isRemoveShield");
request12.setValue(StringUtil.isNotEmpty(isRemoveShield) ? StringUtils.trimToNull(isRemoveShield) : null);
queryRequests.add(request12);
if (equioEnabled) {
if (!ValidationUtil.isEmpty(reginParams.getPersonIdentity())) {
CommonRequest request13 = new CommonRequest();
request13.setName("bizOrgCode");
request13.setValue(StringUtil.isNotEmpty(reginParams.getPersonIdentity().getBizOrgCode()) ? reginParams.getPersonIdentity().getBizOrgCode() : null);
queryRequests.add(request13);
}
}else {
CommonRequest request13 = new CommonRequest();
request13.setName("bizOrgCode");
request13.setValue("");
}
CommonPageInfoParam param = CommonPageParamUtil.fillCommonPageInfoParam(queryRequests, commonPageable);
Page<Map<String, Object>> list = iEquipmentSpecificAlarmService.pageList(param);
return CommonResponseUtil.success(list);
}
@RequestMapping(value = "/updateReadStatus", method = RequestMethod.GET)
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "修改消息已读状态", produces = "application/json;charset=UTF-8", notes = "修改消息已读状态")
public ResponseModel updateReadStatus(@RequestParam(value = "messageId") String messageId) {
return CommonResponseUtil.success(iEquipmentSpecificAlarmService.updateReadStatus(messageId));
}
/**
* 通过id获取告警详情 * 通过id获取告警详情
* *
* @return * @return
......
...@@ -10,6 +10,7 @@ import com.yeejoin.equipmanage.common.entity.vo.*; ...@@ -10,6 +10,7 @@ import com.yeejoin.equipmanage.common.entity.vo.*;
import com.yeejoin.equipmanage.common.vo.*; import com.yeejoin.equipmanage.common.vo.*;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -609,4 +610,8 @@ public interface FireFightingSystemMapper extends BaseMapper<FireFightingSystemE ...@@ -609,4 +610,8 @@ public interface FireFightingSystemMapper extends BaseMapper<FireFightingSystemE
Map<String, Object> getPipeNetwork(@Param("equipSpeId") Long equipSpeId); Map<String, Object> getPipeNetwork(@Param("equipSpeId") Long equipSpeId);
Map<String, Object> getWaterPoolLevel(@Param("equipSpeId") Long equipSpeId);
BigDecimal getWaterPoolLevelByEquipSpeId(@Param("equipSpeId") String equipSpeId);
} }
...@@ -212,4 +212,6 @@ public interface FormInstanceMapper extends BaseMapper<FormInstance> { ...@@ -212,4 +212,6 @@ public interface FormInstanceMapper extends BaseMapper<FormInstance> {
* @return * @return
*/ */
List<String> selectChildListdate(@Param("id")Long id); List<String> selectChildListdate(@Param("id")Long id);
int updateFormFieldValue(@Param("id") Long id, @Param("name") String name, @Param("value") String value);
} }
package com.yeejoin.equipmanage.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.equipmanage.common.entity.MarqueeData;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface MarqueeDataMapper extends BaseMapper<MarqueeData> {
List<Map<String, Object>> selectAll();
}
...@@ -108,7 +108,7 @@ public interface IBuilldService extends IService<Building> { ...@@ -108,7 +108,7 @@ public interface IBuilldService extends IService<Building> {
* @param map form * @param map form
* @return Object * @return Object
*/ */
Object updateForm(Long instanceId, String companyCode, Map<String, Object> map); Object updateForm(Long instanceId, String companyCode, Map<String, Object> map, String groupCode);
/** /**
* 获取 建筑装备树 * 获取 建筑装备树
......
...@@ -95,4 +95,8 @@ public interface IEquipmentSpecificAlarmService extends IService<EquipmentSpecif ...@@ -95,4 +95,8 @@ public interface IEquipmentSpecificAlarmService extends IService<EquipmentSpecif
Page<Map<String, Object>> fireAlarmLogPage(CommonPageInfoParam param); Page<Map<String, Object>> fireAlarmLogPage(CommonPageInfoParam param);
List<Map<String, Object>> alarmTrend(String bizOrgCode); List<Map<String, Object>> alarmTrend(String bizOrgCode);
Page<Map<String, Object>> pageList(CommonPageInfoParam param);
int updateReadStatus(String messageId);
} }
...@@ -19,6 +19,7 @@ import com.yeejoin.equipmanage.common.entity.dto.BuildIsRiskDTO; ...@@ -19,6 +19,7 @@ import com.yeejoin.equipmanage.common.entity.dto.BuildIsRiskDTO;
import com.yeejoin.equipmanage.common.entity.dto.BuildSearchDTO; import com.yeejoin.equipmanage.common.entity.dto.BuildSearchDTO;
import com.yeejoin.equipmanage.common.entity.vo.*; import com.yeejoin.equipmanage.common.entity.vo.*;
import com.yeejoin.equipmanage.common.enums.*; import com.yeejoin.equipmanage.common.enums.*;
import com.yeejoin.equipmanage.common.utils.CommonResponseUtil;
import com.yeejoin.equipmanage.common.utils.EnumsUtils; import com.yeejoin.equipmanage.common.utils.EnumsUtils;
import com.yeejoin.equipmanage.common.utils.StringUtil; import com.yeejoin.equipmanage.common.utils.StringUtil;
import com.yeejoin.equipmanage.common.vo.AlarmDataVO; import com.yeejoin.equipmanage.common.vo.AlarmDataVO;
...@@ -45,6 +46,7 @@ import org.springframework.util.CollectionUtils; ...@@ -45,6 +46,7 @@ import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.exception.BaseException; import org.typroject.tyboot.core.foundation.exception.BaseException;
import org.typroject.tyboot.core.foundation.utils.Bean; import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.CommonUtil;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest; import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
...@@ -164,6 +166,8 @@ public class BuildingServiceImpl extends ServiceImpl<BuildingMapper, Building> i ...@@ -164,6 +166,8 @@ public class BuildingServiceImpl extends ServiceImpl<BuildingMapper, Building> i
final String ALL_BUILDING = "allBuilding"; final String ALL_BUILDING = "allBuilding";
final static String[] list = {"92031900", "92011000", "92010700"};
/** /**
* @param groupCode * @param groupCode
* @Description 根据groupCode查询allowOperation对应的操作菜单 * @Description 根据groupCode查询allowOperation对应的操作菜单
...@@ -325,6 +329,9 @@ public class BuildingServiceImpl extends ServiceImpl<BuildingMapper, Building> i ...@@ -325,6 +329,9 @@ public class BuildingServiceImpl extends ServiceImpl<BuildingMapper, Building> i
} }
Map<String, Object> formKeyMap = iFormInstanceService.createByMap(groupCode, companyCode, map, caseId); Map<String, Object> formKeyMap = iFormInstanceService.createByMap(groupCode, companyCode, map, caseId);
if (StringUtil.isNotEmpty(caseId)) {
return CommonResponseUtil.success(formKeyMap);
}
if (formKeyMap.get(instanceId) != null) { if (formKeyMap.get(instanceId) != null) {
//2.保存图片 //2.保存图片
this.saveFiles(Long.parseLong(formKeyMap.get("instanceId").toString()), map); this.saveFiles(Long.parseLong(formKeyMap.get("instanceId").toString()), map);
...@@ -356,7 +363,13 @@ public class BuildingServiceImpl extends ServiceImpl<BuildingMapper, Building> i ...@@ -356,7 +363,13 @@ public class BuildingServiceImpl extends ServiceImpl<BuildingMapper, Building> i
@Override @Override
@Transactional(rollbackFor = {Exception.class, BaseException.class}) @Transactional(rollbackFor = {Exception.class, BaseException.class})
public Object updateForm(Long instanceId, String orgCode, Map<String, Object> map) { public Object updateForm(Long instanceId, String orgCode, Map<String, Object> map, String groupCode) {
if (StringUtil.isNotEmpty(groupCode)) {
map.keySet().forEach(x -> {
formInstanceMapper.updateFormFieldValue(instanceId, x, String.valueOf(map.get(x)));
});
return CommonResponseUtil.success();
}
Long id = formInstanceMapper.getStructureParentId(String.valueOf(instanceId)); Long id = formInstanceMapper.getStructureParentId(String.valueOf(instanceId));
//1.保存图片 //1.保存图片
this.saveFiles(instanceId, map); this.saveFiles(instanceId, map);
...@@ -680,6 +693,15 @@ public class BuildingServiceImpl extends ServiceImpl<BuildingMapper, Building> i ...@@ -680,6 +693,15 @@ public class BuildingServiceImpl extends ServiceImpl<BuildingMapper, Building> i
@Override @Override
@Transactional @Transactional
public Boolean deleteBuilding(Long instanceId) { public Boolean deleteBuilding(Long instanceId) {
List<FormInstance> lists = formInstanceMapper.selectList(new QueryWrapper<FormInstance>().eq("instance_id", instanceId));
if (0 < lists.size()) {
String groupCode = lists.get(0).getGroupCode();
if (!ValidationUtil.isEmpty(Arrays.stream(list).filter(x -> x.equals(groupCode)).collect(Collectors.toList()))) {
formInstanceMapper.delete(new QueryWrapper<FormInstance>().eq("group_code", groupCode).eq("instance_id", instanceId));
return true;
}
}
List<StockDetail> list = stockDetailMapper.selectList(new QueryWrapper<StockDetail>().eq("warehouse_structure_id", instanceId)); List<StockDetail> list = stockDetailMapper.selectList(new QueryWrapper<StockDetail>().eq("warehouse_structure_id", instanceId));
if (list != null && list.size() > 0) { if (list != null && list.size() > 0) {
throw new BadRequest("该建筑存在入库装备,无法直接删除"); throw new BadRequest("该建筑存在入库装备,无法直接删除");
......
...@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; ...@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.yeejoin.amos.boot.biz.common.excel.ExcelUtil; import com.yeejoin.amos.boot.biz.common.excel.ExcelUtil;
import com.yeejoin.amos.feign.systemctl.model.MessageModel;
import com.yeejoin.equipmanage.common.datasync.entity.FireEquipmentFireAlarm; import com.yeejoin.equipmanage.common.datasync.entity.FireEquipmentFireAlarm;
import com.yeejoin.equipmanage.common.dto.OrgUsrDto; import com.yeejoin.equipmanage.common.dto.OrgUsrDto;
import com.yeejoin.equipmanage.common.entity.*; import com.yeejoin.equipmanage.common.entity.*;
...@@ -21,7 +22,9 @@ import com.yeejoin.equipmanage.common.utils.DateUtils; ...@@ -21,7 +22,9 @@ import com.yeejoin.equipmanage.common.utils.DateUtils;
import com.yeejoin.equipmanage.common.utils.StringUtil; import com.yeejoin.equipmanage.common.utils.StringUtil;
import com.yeejoin.equipmanage.common.vo.*; import com.yeejoin.equipmanage.common.vo.*;
import com.yeejoin.equipmanage.fegin.JcsFeign; import com.yeejoin.equipmanage.fegin.JcsFeign;
import com.yeejoin.equipmanage.fegin.SystemctlFeign;
import com.yeejoin.equipmanage.mapper.*; import com.yeejoin.equipmanage.mapper.*;
import com.yeejoin.equipmanage.remote.RemoteSecurityService;
import com.yeejoin.equipmanage.service.*; import com.yeejoin.equipmanage.service.*;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -81,6 +84,13 @@ public class EquipmentSpecificAlarmServiceImpl extends ServiceImpl<EquipmentSpec ...@@ -81,6 +84,13 @@ public class EquipmentSpecificAlarmServiceImpl extends ServiceImpl<EquipmentSpec
@Autowired @Autowired
private ISignalClassifyService signalClassifyService; private ISignalClassifyService signalClassifyService;
@Autowired
MarqueeDataMapper marqueeDataMapper;
@Autowired
private RemoteSecurityService remoteSecurityService;
@Autowired
private SystemctlFeign systemctlFeign;
@Value("${window.vedioFormat}") @Value("${window.vedioFormat}")
String vedioFormat; String vedioFormat;
...@@ -739,4 +749,54 @@ public class EquipmentSpecificAlarmServiceImpl extends ServiceImpl<EquipmentSpec ...@@ -739,4 +749,54 @@ public class EquipmentSpecificAlarmServiceImpl extends ServiceImpl<EquipmentSpec
public List<Map<String, Object>> alarmTrend(String bizOrgCode) { public List<Map<String, Object>> alarmTrend(String bizOrgCode) {
return this.baseMapper.alarmTrend(bizOrgCode); return this.baseMapper.alarmTrend(bizOrgCode);
} }
@Override
public Page<Map<String, Object>> pageList(CommonPageInfoParam param) {
Page result = new Page<>(param.getPageNumber(), param.getPageSize());
if (AlarmTypeEnum.GZGJ.getCode().equals(param.getAlarmType())) {
param.setAlarmType("");
param.setIsFireAlarm("false");
}
Page<Map<String, Object>> resultPage = this.baseMapper.page(result, param);
if (resultPage.getTotal() > 0) {
for (Map<String, Object> x : resultPage.getRecords()) {
LocalDateTime createDate = (LocalDateTime) x.get("createDate");
x.put("createDate", Date.from(createDate.atZone(ZoneId.systemDefault()).toInstant()));
if (ObjectUtils.isEmpty(x.get("handleType"))) {
x.put("handleType", null);
} else {
String handleType = ConfirmAlamEnum.getTypeByCode(String.valueOf(x.get("handleType")));
x.put("handleType", StringUtil.isNotEmpty(handleType) ? handleType : signalClassifyService.getTypeNameByCode(String.valueOf(x.get("handleType"))).getTypeName());
}
// 冗余统一跑马灯显示字段取值
x.put("equipmentSpecificIndexName", x.get("fireEquipmentSpecificIndexName"));
}
}
List<Map<String, Object>> list = marqueeDataMapper.selectAll();
List<Map<String, Object>> records = resultPage.getRecords();
for (Map<String, Object> stringObjectMap : list) {
records.add(stringObjectMap);
}
resultPage.setRecords(records);
return resultPage;
}
@Override
public int updateReadStatus(String messageId) {
MarqueeData marqueeData = marqueeDataMapper.selectById(messageId);
marqueeData.setIsRead("1");
int i = marqueeDataMapper.updateById(marqueeData);
MessageModel model = new MessageModel();
model.setMsgType("pressurePump");
model.setSendTime(new Date());
model.setIsSendWeb(true);
model.setCategory(1);
model.setIsSendApp(false);
model.setTerminal("WEB");
Map<String, String> ext = new HashMap<>();
ext.put("isRead", "1");
Token token = remoteSecurityService.getServerToken();
systemctlFeign.create(token.getAppKey(), token.getProduct(), token.getToke(), model);
return i;
}
} }
...@@ -41,6 +41,7 @@ import org.typroject.tyboot.core.restful.exception.instance.BadRequest; ...@@ -41,6 +41,7 @@ import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.lang.reflect.Array; import java.lang.reflect.Array;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.BigInteger; import java.math.BigInteger;
import java.math.RoundingMode;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.*;
...@@ -105,6 +106,10 @@ public class MqttReceiveServiceImpl implements MqttReceiveService { ...@@ -105,6 +106,10 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
*/ */
private final static String FHS_FirePoolDevice_WaterLevel = "FHS_FirePoolDevice_WaterLevel"; private final static String FHS_FirePoolDevice_WaterLevel = "FHS_FirePoolDevice_WaterLevel";
/**
* 水池信息
*/
private final static String FHS_WirelessliquidDetector_WaterLevel = "FHS_WirelessliquidDetector_WaterLevel";
static EquipmentSpecificMapper equipmentSpecificMapper; static EquipmentSpecificMapper equipmentSpecificMapper;
...@@ -345,12 +350,16 @@ public class MqttReceiveServiceImpl implements MqttReceiveService { ...@@ -345,12 +350,16 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
if (equipmentSpecificIndex.getIsAlarm() != null && 1 == equipmentSpecificIndex.getIsAlarm()) { if (equipmentSpecificIndex.getIsAlarm() != null && 1 == equipmentSpecificIndex.getIsAlarm()) {
equipmentSpecificAlarms.addAll(createIndexAlarmRecord(equipmentSpecificIndex)); equipmentSpecificAlarms.addAll(createIndexAlarmRecord(equipmentSpecificIndex));
} }
//管网压力和泡沫罐信息处理
if (iotDataVO.getKey().toLowerCase().equals(CAFS_FoamTank_FoamTankLevel.toLowerCase()) || if (iotDataVO.getKey().toLowerCase().equals(CAFS_FoamTank_FoamTankLevel.toLowerCase()) ||
FHS_PipePressureDetector_PipePressure.toLowerCase().equals(iotDataVO.getKey().toLowerCase()) FHS_PipePressureDetector_PipePressure.toLowerCase().equals(iotDataVO.getKey().toLowerCase())) {
) {
doFoamTankLevel(iotDataVO, equipmentSpecificIndex); doFoamTankLevel(iotDataVO, equipmentSpecificIndex);
} }
//消防水池液位处理
if (iotDataVO.getKey().toLowerCase().equals(FHS_FirePoolDevice_WaterLevel.toLowerCase()) ||
iotDataVO.getKey().toLowerCase().equals(FHS_WirelessliquidDetector_WaterLevel.toLowerCase())) {
doWaterPoolLevel(iotDataVO, equipmentSpecificIndex);
}
} }
} }
}); });
...@@ -427,8 +436,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService { ...@@ -427,8 +436,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
} else if (nowValue.compareTo(maxValue) > 0) { } else if (nowValue.compareTo(maxValue) > 0) {
body = "当前数值 " + nowValue + " 超过最高报警阈值 " + maxValue; body = "当前数值 " + nowValue + " 超过最高报警阈值 " + maxValue;
} }
String bodyMain = String.format("名称:模拟量提醒,时间:%s,内容:%s,- 当前数值%s,%s ,请及时查看处理。", String bodyMain = String.format("%s,- 当前数值%s,%s ,请及时查看处理。",
new SimpleDateFormat(DateUtils.DATE_TIME_PATTERN).format(new Date()),
equipmentSpecificIndex.getEquipmentSpecificName() + "-" + equipmentSpecificIndex.getLocation(), equipmentSpecificIndex.getEquipmentSpecificName() + "-" + equipmentSpecificIndex.getLocation(),
nowValue, nowValue,
nowValue.compareTo(minValue) < 0 ? "低于最低报警阈值" + minValue : "超过最高报警阈值" + maxValue nowValue.compareTo(minValue) < 0 ? "低于最低报警阈值" + minValue : "超过最高报警阈值" + maxValue
...@@ -455,6 +463,67 @@ public class MqttReceiveServiceImpl implements MqttReceiveService { ...@@ -455,6 +463,67 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
} }
} }
/**
* 消防水池、工业水池和消防水箱 消息发送
*
* @param iotDataVO iotDataVO
* @param equipmentSpecificIndex equipmentSpecificIndex
*/
private void doWaterPoolLevel(IotDataVO iotDataVO, EquipmentSpecificIndex equipmentSpecificIndex) {
MessageModel model = new MessageModel();
Map<String, Object> map = fireFightingSystemMapper.getWaterPoolLevel(equipmentSpecificIndex.getEquipmentSpecificId());
if (!ObjectUtils.isEmpty(map)) {
BigDecimal minValue = getBigDecimal(map.get("minValues"));
BigDecimal maxValue = getBigDecimal(map.get("maxValues"));
BigDecimal nowValue = getBigDecimal(iotDataVO.getValue());
String levelDeviceId = (String) map.get("levelDeviceId");
BigDecimal add = nowValue;
if (levelDeviceId.contains(",")) {
List<String> split = Arrays.asList(levelDeviceId.split(","));
int i = 1;
for (String s : split) {
if (!s.trim().equals(Long.toString(equipmentSpecificIndex.getEquipmentSpecificId()))) {
BigDecimal waterPoolLevelByEquipSpeId = fireFightingSystemMapper.getWaterPoolLevelByEquipSpeId(s);
add = add.add(waterPoolLevelByEquipSpeId);
i++;
}
}
nowValue = add.divide(new BigDecimal(i), 2, RoundingMode.HALF_UP);
}
if (nowValue.compareTo(minValue) < 0 || nowValue.compareTo(maxValue) > 0) {
String body = "";
if (nowValue.compareTo(minValue) < 0) {
body = "当前数值 " + nowValue + " 低于最低报警阈值 " + minValue;
} else if (nowValue.compareTo(maxValue) > 0) {
body = "当前数值 " + nowValue + " 超过最高报警阈值 " + maxValue;
}
String bodyMain = String.format("%s,- 当前数值%s,%s ,请及时查看处理。",
map.get("name"),
nowValue,
nowValue.compareTo(minValue) < 0 ? "低于最低报警阈值" + minValue : "超过最高报警阈值" + maxValue
);
model.setTitle("模拟量提醒");
model.setBody(bodyMain);
model.setMsgType("WaterPoolKey");
model.setSendTime(new Date());
model.setIsSendWeb(true);
model.setCategory(1);
model.setRelationId(equipmentSpecificIndex.getEquipmentSpecificId().toString());
model.setIsSendApp(false);
model.setTerminal("WEB");
model.setRecivers(Arrays.asList("system"));
Map<String, String> ext = new HashMap<>();
ext.put("content", body);
ext.put("type", "模拟量超阈值提醒");
ext.put("name", (String) map.get("name"));
ext.put("time", new SimpleDateFormat(DateUtils.DATE_TIME_PATTERN).format(new Date()));
model.setExtras(ext);
Token token = remoteSecurityService.getServerToken();
systemctlFeign.create(token.getAppKey(), token.getProduct(), token.getToke(), model);
log.info(String.format("调用平台消息服务成功:%s", JSON.toJSONString(model)));
}
}
}
private BigDecimal getBigDecimal( Object value ) { private BigDecimal getBigDecimal( Object value ) {
BigDecimal val = null; BigDecimal val = null;
......
...@@ -2371,18 +2371,18 @@ ...@@ -2371,18 +2371,18 @@
( (
CASE CASE
WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' THEN ei.`value` END ) IS NULL THEN WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ) IS NULL THEN
'--' '--'
WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' THEN ei.`value` END ) >= IFNULL( rp.min_water_level, 0 ) WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ) >= IFNULL( rp.min_water_level, 0 )
AND rp.max_water_level IS NULL THEN AND rp.max_water_level IS NULL THEN
'100' '100'
WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' THEN ei.`value` END ) &lt; IFNULL( rp.min_water_level, 0 ) WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ) &lt; IFNULL( rp.min_water_level, 0 )
AND rp.max_water_level IS NULL THEN AND rp.max_water_level IS NULL THEN
'--' ELSE IFNULL(( '--' ELSE IFNULL((
FORMAT( FORMAT(
abs( abs(
IFNULL( IFNULL(
max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' THEN ei.`value` END ), max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ),
IFNULL( rp.min_water_level, 0 )) / IFNULL( rp.min_water_level, 0 )) /
IF IF
( (
...@@ -2396,15 +2396,15 @@ ...@@ -2396,15 +2396,15 @@
) )
END END
) AS levelAbs, ) AS levelAbs,
IFNULL(max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' THEN ei.`value` END ),'--') AS nowLevel, IFNULL(max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ),'--') AS nowLevel,
( (
CASE CASE
WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' THEN ei.`value` END ) IS NULL WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ) IS NULL
OR rp.min_water_level IS NULL THEN OR rp.min_water_level IS NULL THEN
'--' '--'
WHEN IFNULL( WHEN IFNULL(
max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' THEN ei.`value` END ), max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ),
IFNULL( rp.min_water_level, 0 )) &lt; IFNULL( rp.min_water_level, 0 ) THEN IFNULL( rp.min_water_level, 0 )) &lt; IFNULL( rp.min_water_level, 0 ) THEN
'缺水' ELSE '正常' '缺水' ELSE '正常'
END END
...@@ -2493,7 +2493,7 @@ ...@@ -2493,7 +2493,7 @@
ou.`code`, ou.`code`,
IFNULL( rp.min_water_level, 0 ) AS minLevel, IFNULL( rp.min_water_level, 0 ) AS minLevel,
IFNULL( rp.max_water_level, 0 ) AS maxLevel, IFNULL( rp.max_water_level, 0 ) AS maxLevel,
avg( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' THEN IFNULL( ei.`value`, 0 ) END ) AS nowLevel, avg( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN IFNULL( ei.`value`, 0 ) END ) AS nowLevel,
IFNULL( rp.volume, 0 ) AS volume, IFNULL( rp.volume, 0 ) AS volume,
ec.image, ec.image,
r.resource_type, r.resource_type,
...@@ -2970,7 +2970,7 @@ ...@@ -2970,7 +2970,7 @@
SELECT SELECT
ifnull( `rp`.`min_water_level`, 0 ) AS `minLevel`, ifnull( `rp`.`min_water_level`, 0 ) AS `minLevel`,
ifnull( `rp`.`max_water_level`, 0 ) AS `maxLevel`, ifnull( `rp`.`max_water_level`, 0 ) AS `maxLevel`,
IFNULL(avg( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' THEN IFNULL( ei.`value`, 0 ) END ),0) AS nowLevel IFNULL(avg( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN IFNULL( ei.`value`, 0 ) END ),0) AS nowLevel
FROM FROM
`cb_water_resource` `r` `cb_water_resource` `r`
LEFT JOIN `cb_water_resource_pool` `rp` ON `rp`.`resource_id` = `r`.`sequence_nbr` LEFT JOIN `cb_water_resource_pool` `rp` ON `rp`.`resource_id` = `r`.`sequence_nbr`
...@@ -3006,7 +3006,7 @@ ...@@ -3006,7 +3006,7 @@
SELECT SELECT
ifnull( `rp`.`min_water_level`, 0 ) AS `minLevel`, ifnull( `rp`.`min_water_level`, 0 ) AS `minLevel`,
ifnull( `rp`.`max_water_level`, 0 ) AS `maxLevel`, ifnull( `rp`.`max_water_level`, 0 ) AS `maxLevel`,
ifnull(MAX( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' THEN IFNULL( ei.`value`, 0 ) END ), 0) AS nowLevel ifnull(MAX( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN IFNULL( ei.`value`, 0 ) END ), 0) AS nowLevel
FROM FROM
`cb_water_resource` `r` `cb_water_resource` `r`
LEFT JOIN `cb_water_resource_pool` `rp` ON `rp`.`resource_id` = `r`.`sequence_nbr` LEFT JOIN `cb_water_resource_pool` `rp` ON `rp`.`resource_id` = `r`.`sequence_nbr`
...@@ -4536,18 +4536,18 @@ ...@@ -4536,18 +4536,18 @@
( (
CASE CASE
WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' THEN ei.`value` END ) IS NULL THEN WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ) IS NULL THEN
'--' '--'
WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' THEN ei.`value` END ) >= IFNULL( rp.min_water_level, 0 ) WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ) >= IFNULL( rp.min_water_level, 0 )
AND rp.max_water_level IS NULL THEN AND rp.max_water_level IS NULL THEN
'100' '100'
WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' THEN ei.`value` END ) &lt; IFNULL( rp.min_water_level, 0 ) WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ) &lt; IFNULL( rp.min_water_level, 0 )
AND rp.max_water_level IS NULL THEN AND rp.max_water_level IS NULL THEN
'--' ELSE IFNULL(( '--' ELSE IFNULL((
FORMAT( FORMAT(
abs( abs(
IFNULL( IFNULL(
max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' THEN ei.`value` END ), max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ),
IFNULL( rp.min_water_level, 0 )) / IFNULL( rp.min_water_level, 0 )) /
IF IF
( (
...@@ -4561,15 +4561,15 @@ ...@@ -4561,15 +4561,15 @@
) )
END END
) AS levelAbs, ) AS levelAbs,
IFNULL(max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' THEN ei.`value` END ),'--') AS nowLevel, IFNULL(max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ),'--') AS nowLevel,
( (
CASE CASE
WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' THEN ei.`value` END ) IS NULL WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ) IS NULL
OR rp.min_water_level IS NULL THEN OR rp.min_water_level IS NULL THEN
'--' '--'
WHEN IFNULL( WHEN IFNULL(
max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' THEN ei.`value` END ), max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ),
IFNULL( rp.min_water_level, 0 )) &lt; IFNULL( rp.min_water_level, 0 ) THEN IFNULL( rp.min_water_level, 0 )) &lt; IFNULL( rp.min_water_level, 0 ) THEN
'缺水' ELSE '正常' '缺水' ELSE '正常'
END END
...@@ -4655,7 +4655,7 @@ ...@@ -4655,7 +4655,7 @@
ou.`code`, ou.`code`,
IFNULL( rp.min_water_level, 0 ) AS minLevel, IFNULL( rp.min_water_level, 0 ) AS minLevel,
IFNULL( rp.max_water_level, 0 ) AS maxLevel, IFNULL( rp.max_water_level, 0 ) AS maxLevel,
avg( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' THEN IFNULL( ei.`value`, 0 ) END ) AS nowLevel, avg( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN IFNULL( ei.`value`, 0 ) END ) AS nowLevel,
IFNULL( rp.volume, 0 ) AS volume, IFNULL( rp.volume, 0 ) AS volume,
ec.image, ec.image,
r.resource_type, r.resource_type,
...@@ -4808,7 +4808,7 @@ ...@@ -4808,7 +4808,7 @@
r.`name`, r.`name`,
IFNULL( rp.min_water_level, 0 ) AS minLevel, IFNULL( rp.min_water_level, 0 ) AS minLevel,
IFNULL( rp.max_water_level, 0 ) AS maxLevel, IFNULL( rp.max_water_level, 0 ) AS maxLevel,
max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' THEN ei.`value` END ) AS nowLevel, max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN ei.`value` END ) AS nowLevel,
ec.image, ec.image,
r.resource_type AS type, r.resource_type AS type,
r.sequence_nbr AS id r.sequence_nbr AS id
...@@ -4987,4 +4987,31 @@ ...@@ -4987,4 +4987,31 @@
WHERE WHERE
fi.instance_id = #{equipSpeId} fi.instance_id = #{equipSpeId}
</select> </select>
<select id="getWaterPoolLevel" resultType="java.util.Map">
SELECT
ifnull(r.`name`, '') as name,
r.sequence_nbr AS id,
ifnull(r.resource_type, '') as resourceType,
ifnull(rp.min_water_level, 0) AS minValues,
ifnull(rp.max_water_level, 0) AS maxValues,
ifnull(rp.level_device_id, '') as levelDeviceId
FROM
cb_water_resource_pool rp
LEFT JOIN cb_water_resource r ON r.sequence_nbr = rp.resource_id
WHERE
FIND_IN_SET( #{equipSpeId}, rp.level_device_id )
ORDER BY
rp.rec_date DESC
LIMIT 1
</select>
<select id="getWaterPoolLevelByEquipSpeId" resultType="java.math.BigDecimal">
SELECT
IFNULL( max( CASE WHEN equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' THEN `value` END ), 0 )
FROM
wl_equipment_specific_index
WHERE
equipment_specific_id = #{equipSpeId}
</select>
</mapper> </mapper>
...@@ -456,6 +456,12 @@ ...@@ -456,6 +456,12 @@
biz_org_name= #{bizOrgName} biz_org_name= #{bizOrgName}
where id = #{id} where id = #{id}
</update> </update>
<update id="updateFormFieldValue">
update wl_form_instance
set
field_value = #{value}
where instance_id = #{id} AND field_name = #{name}
</update>
<update id="updateStrFullName"> <update id="updateStrFullName">
update wl_warehouse_structure update wl_warehouse_structure
set full_name=replace(full_name,#{name},#{fullName}) set full_name=replace(full_name,#{name},#{fullName})
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.equipmanage.mapper.MarqueeDataMapper">
<select id="selectAll" resultType="java.util.Map">
select
id message_id,
type fireEquipmentSpecificIndexName,
position,
name equipmentSpecificName,
create_date createDate,
message_type,
is_read,
equipment_specific_id id
from
wl_marquee_data
where
is_read = '0'
</select>
</mapper>
...@@ -2257,7 +2257,7 @@ ...@@ -2257,7 +2257,7 @@
<w:sz-cs w:val="28"/> <w:sz-cs w:val="28"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN"/> <w:lang w:val="EN-US" w:fareast="ZH-CN"/>
</w:rPr> </w:rPr>
<w:t>是否合格</w:t> <w:t>检验结果</w:t>
</w:r> </w:r>
</w:p> </w:p>
</w:tc> </w:tc>
...@@ -2291,7 +2291,7 @@ ...@@ -2291,7 +2291,7 @@
<w:sz-cs w:val="28"/> <w:sz-cs w:val="28"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN"/> <w:lang w:val="EN-US" w:fareast="ZH-CN"/>
</w:rPr> </w:rPr>
<w:t>标准原文</w:t> <w:t>规范标准值</w:t>
</w:r> </w:r>
</w:p> </w:p>
</w:tc> </w:tc>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment