Commit 72d2236a authored by 邢磊's avatar 邢磊

*)修改判断设备健康状态逻辑

parent 576eb3b1
......@@ -124,7 +124,10 @@ public class ControllerAop {
CompanyModel companyM = user.getCompanys() != null ? user.getCompanys().get(0) : null;
Bean.copyExistPropertis(companyM, company);
Map<Long, List<DepartmentModel>> mapDepartments = user.getCompanyDepartments();
DepartmentModel departmentM = companyM != null ? mapDepartments.get(companyM.getSequenceNbr()).get(0) : null;
DepartmentModel departmentM = null;
if (!ValidationUtil.isEmpty(companyM) && !ValidationUtil.isEmpty(mapDepartments.get(companyM.getSequenceNbr()))){
departmentM = mapDepartments.get(companyM.getSequenceNbr()).get(0);
}
Bean.copyExistPropertis(departmentM, department);
Map<Long, List<RoleModel>> roles = user.getOrgRoles();
Long sequenceNbr;
......
package com.yeejoin.equipmanage.controller;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
......@@ -9,7 +8,10 @@ import com.yeejoin.equipmanage.common.entity.*;
import com.yeejoin.equipmanage.common.entity.vo.DetailssAmountVO;
import com.yeejoin.equipmanage.common.entity.vo.EquipmentDetailDownloadVO;
import com.yeejoin.equipmanage.common.enums.ExcelEnums;
import com.yeejoin.equipmanage.common.utils.*;
import com.yeejoin.equipmanage.common.utils.ExcelUtils;
import com.yeejoin.equipmanage.common.utils.FileHelper;
import com.yeejoin.equipmanage.common.utils.NameUtils;
import com.yeejoin.equipmanage.common.utils.StringUtil;
import com.yeejoin.equipmanage.common.vo.EquipmentDate;
import com.yeejoin.equipmanage.dto.ExcelDto;
import com.yeejoin.equipmanage.fegin.JcsFeign;
......@@ -35,7 +37,6 @@ import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
......@@ -100,6 +101,8 @@ public class EquipmentDetailController extends AbstractBaseController {
@Autowired
private IEquipmentFaultKnowledgeService equipmentFaultKnowledgeService;
@Autowired
IEquipmentFaultService iEquipmentFaultService;
@Value("${systemctl.sync.switch}")
private Boolean syncSwitch;
......@@ -190,17 +193,19 @@ public class EquipmentDetailController extends AbstractBaseController {
equipmentSpecific.setFullqrCode("01#" + equipmentSpecific.getQrCode());
EquipmentDetail equipmentDetail = iEquipmentDetailService.getOneById(equipmentSpecific.getEquipmentDetailId());
equipmentDetail = iEquipmentFaultService.getEquipmentDetail(equipmentDetail);
//查找装备故障的最后一条状态
QueryWrapper<EquipmentParams> wrapper = new QueryWrapper<>();
wrapper.eq("detail_id",iotCode);//故障记录表中的detail_id 是装备的iotCode
wrapper.orderByDesc("create_date");
List<EquipmentParams> equipmentParams = equipmentParamsMapper.selectList(wrapper);
if(!equipmentParams.isEmpty()){
EquipmentParams equipmentParam = equipmentParams.get(0);
equipmentDetail.setStatus(equipmentParam.getStatus());
}else{
equipmentDetail.setStatus("正常");
}
// QueryWrapper<EquipmentParams> wrapper = new QueryWrapper<>();
// wrapper.eq("detail_id",iotCode);//故障记录表中的detail_id 是装备的iotCode
// wrapper.orderByDesc("create_date");
// List<EquipmentParams> equipmentParams = equipmentParamsMapper.selectList(wrapper);
// if(!equipmentParams.isEmpty()){
// EquipmentParams equipmentParam = equipmentParams.get(0);
// equipmentDetail.setStatus(equipmentParam.getStatus());
// }else{
// equipmentDetail.setStatus("正常");
// }
StockDetail stockDetail = null;
if(stockDetailId != null){
//解决灭火药剂,有多个货位状态问题
......
......@@ -2,11 +2,13 @@ package com.yeejoin.equipmanage.controller;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors;
import com.yeejoin.equipmanage.common.entity.dto.DetailssDTO;
import com.yeejoin.equipmanage.common.entity.vo.*;
import com.yeejoin.equipmanage.common.utils.FileHelper;
import com.yeejoin.equipmanage.common.vo.*;
import com.yeejoin.equipmanage.service.*;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
......@@ -23,6 +25,7 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
......@@ -45,15 +48,6 @@ import com.yeejoin.equipmanage.common.utils.StringUtil;
import com.yeejoin.equipmanage.mapper.EquipmentSpecificIndexMapper;
import com.yeejoin.equipmanage.mapper.FireFightingSystemMapper;
import com.yeejoin.equipmanage.remote.RemoteSecurityService;
import com.yeejoin.equipmanage.service.IBuilldService;
import com.yeejoin.equipmanage.service.IEquipmentCategoryService;
import com.yeejoin.equipmanage.service.IEquipmentIndexService;
import com.yeejoin.equipmanage.service.IEquipmentService;
import com.yeejoin.equipmanage.service.IEquipmentSpecificIndexSerivce;
import com.yeejoin.equipmanage.service.IEquipmentSpecificSerivce;
import com.yeejoin.equipmanage.service.IFireFightingSystemService;
import com.yeejoin.equipmanage.service.IManufacturerInfoService;
import com.yeejoin.equipmanage.service.IUploadFileService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
......@@ -101,10 +95,11 @@ public class FireFightingSystemController extends AbstractBaseController {
@Value("${firefightingsystem.equip.alarms.url}")
private String ffsEquipAlarmsUrl;
@Autowired
EquipmentSpecificIndexMapper equipmentSpecificIndexMapper;
@Autowired
IEquipmentFaultService iEquipmentFaultService;
@RequestMapping(value = "/getEquiplistBySystemId", method = RequestMethod.GET)
@TycloudOperation(ApiLevel = UserType.AGENCY)
......@@ -301,6 +296,7 @@ public class FireFightingSystemController extends AbstractBaseController {
for (int i = 0; i < result.length; i++) {
map.put(i, Integer.valueOf(result[i]));
}
IPage<DetailssAmountVO> colaCategoryAmountPage = null;
if (StringUtil.isNotEmpty(detailssDTO.getEquipmentClassificationCode())) {
QueryWrapper<EquipmentCategory> equipmentCategoryQueryWrapper = new QueryWrapper<>();
equipmentCategoryQueryWrapper.eq("code", detailssDTO.getEquipmentClassificationCode());
......@@ -326,13 +322,16 @@ public class FireFightingSystemController extends AbstractBaseController {
}
}
IPage<DetailssAmountVO> colaCategoryAmountList1 = fireFightingSystemService.getDetailsssAmountList(inhierarchy, detailssDTO.getEquipmentClassificationCode().substring(0, inhierarchy), detailssDTO);
return colaCategoryAmountList1;
colaCategoryAmountPage = fireFightingSystemService.getDetailsssAmountList(inhierarchy, detailssDTO.getEquipmentClassificationCode().substring(0, inhierarchy), detailssDTO);
} else {
IPage<DetailssAmountVO> colaCategoryAmountList = fireFightingSystemService.getDetailsssAmountList(0, null, detailssDTO);
return colaCategoryAmountList;
colaCategoryAmountPage = fireFightingSystemService.getDetailsssAmountList(0, null, detailssDTO);
}
List<DetailssAmountVO> records = colaCategoryAmountPage.getRecords();
if (!ValidationUtil.isEmpty(records)){
List<DetailssAmountVO> detailssAmountList = iEquipmentFaultService.getDetailssAmountList(records);
colaCategoryAmountPage.setRecords(detailssAmountList);
}
return colaCategoryAmountPage;
}
......
......@@ -2,6 +2,8 @@ package com.yeejoin.equipmanage.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.equipmanage.common.entity.EquipmentDetail;
import com.yeejoin.equipmanage.common.entity.vo.DetailssAmountVO;
import com.yeejoin.equipmanage.common.entity.vo.EquipmentFaultVO;
import java.util.List;
......@@ -18,4 +20,8 @@ public interface IEquipmentFaultService {
int selectEquipmentFaultListCount(String code, String eqCode, String name, String faultOccurTime, String type, String agencyName);
List<EquipmentFaultVO> getAll(String code, String eqCode, String name, String faultOccurTime, String type, String agencyName);
EquipmentDetail getEquipmentDetail(EquipmentDetail equipmentDetail);
List<DetailssAmountVO> getDetailssAmountList(List<DetailssAmountVO> list);
}
......@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject;
import com.yeejoin.equipmanage.common.entity.EquipmentCategory;
import com.yeejoin.equipmanage.common.entity.EquipmentDetail;
import com.yeejoin.equipmanage.common.entity.EquipmentFaultKnowledge;
import com.yeejoin.equipmanage.common.entity.vo.DetailssAmountVO;
import com.yeejoin.equipmanage.common.entity.vo.EquipmentFaultVO;
import com.yeejoin.equipmanage.fegin.KgdFeignClient;
import com.yeejoin.equipmanage.mapper.EquipmentFaultMapper;
......@@ -19,6 +20,8 @@ import org.typroject.tyboot.core.foundation.utils.DateUtil;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
......@@ -194,4 +197,56 @@ public class EquipmentFaultServiceImpl implements IEquipmentFaultService {
return equipmentFaultVOList;
// return equipmentFaultMapper.getAll(code, eqCode, name, faultOccurTime, type, agencyName);
}
@Override
public EquipmentDetail getEquipmentDetail(EquipmentDetail equipmentDetail) {
JSONObject map = new JSONObject();
List<String> codes = new ArrayList<>();
codes.add(equipmentDetail.getEqcode());
map.put("deviceIds", codes);
ResponseModel<Object> result = kgdFeignClient.getPredictionResultForPage(0, Integer.MAX_VALUE, map);
JSONObject jsonObject = JSONObject.parseObject(JSON.toJSONString(result.getResult()));
JSONArray records = jsonObject.getJSONArray("records");
if (!ValidationUtil.isEmpty(records)){
List<Object> collect = records.stream().filter(x -> {
JSONObject obj = (JSONObject) x;
return !ValidationUtil.isEmpty(obj.get("analysisResult")) && !obj.get("analysisResult").equals("正常");
}).collect(Collectors.toList());
if (!ValidationUtil.isEmpty(collect)){
equipmentDetail.setStatus("异常");
}
}
if (ValidationUtil.isEmpty(equipmentDetail.getStatus())){
equipmentDetail.setStatus("正常");
}
return equipmentDetail;
}
@Override
public List<DetailssAmountVO> getDetailssAmountList(List<DetailssAmountVO> list) {
JSONObject map = new JSONObject();
List<String> codes = list.stream().map(DetailssAmountVO::getEqcode).collect(Collectors.toList());
map.put("deviceIds", codes);
ResponseModel<Object> result = kgdFeignClient.getPredictionResultForPage(0, Integer.MAX_VALUE, map);
JSONObject jsonObject = JSONObject.parseObject(JSON.toJSONString(result.getResult()));
JSONArray records = jsonObject.getJSONArray("records");
Map<String, String> statusMap = new HashMap<>();
if (!ValidationUtil.isEmpty(records)){
records.stream().forEach(x -> {
JSONObject obj = (JSONObject) x;
if (!ValidationUtil.isEmpty(obj.get("analysisResult")) && !obj.get("analysisResult").equals("正常")){
statusMap.put(obj.getString("deviceId"), obj.getString("analysisResult"));
}
});
}
list.stream().forEach(x -> {
if (!ValidationUtil.isEmpty(statusMap.get(x.getEqcode()))){
x.setStatus("异常");
}
});
return list;
}
}
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