Commit 0be13336 authored by chenhao's avatar chenhao

Merge branch 'develop_ccs' of http://172.16.10.76/moa/amos-boot-biz into develop_ccs

parents f556c87f a36bef8b
......@@ -456,6 +456,10 @@ public class RedisUtils {
}
return null;
}
public Set<String> getPatternKeys(String pattern) {
return redisTemplate.keys(pattern);
}
/**
* 获取指定前缀key列表
*
......
......@@ -44,4 +44,7 @@ public class OrgUsrDto extends BaseDto {
@ApiModelProperty(value = "省市区名称,用逗号分隔")
private String pczName;
@ApiModelProperty(value = "建筑ID")
private String buildId;
}
package com.yeejoin.equipmanage.common.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;
/**
* @author DELL
*/
@AllArgsConstructor
@Getter
public enum SourceTypeEnum {
/**
* 资源类型枚举
*/
EQUIPMENT("装备","equipment", "equipmentSpecificSerivceImpl","refreshStaData"),
CAR("车辆","car", "carServiceImpl","refreshStaData");
private String name;
private String code;
private String beanName;
private String methodName;
}
......@@ -74,4 +74,7 @@ public class BuildingTreeVo {
@ApiModelProperty("建筑地址")
private String address;
@ApiModelProperty("机构编码")
private String bizOrgCode;
}
......@@ -2,11 +2,9 @@ package com.yeejoin.equipmanage.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.dto.OrgMenuDto;
import com.yeejoin.equipmanage.common.dto.AreaDto;
import com.yeejoin.equipmanage.common.entity.Area;
import com.yeejoin.equipmanage.common.utils.StringUtil;
import com.yeejoin.equipmanage.common.vo.AreaResquest;
import com.yeejoin.equipmanage.common.vo.UnitAreaTreeVo;
import com.yeejoin.equipmanage.service.IAreaService;
......@@ -47,23 +45,25 @@ public class AreaController extends AbstractBaseController {
/**
* 获取公司部门区域树
*
* @return list
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "根据登陆人获取单位区域树", notes = "根据登陆人获取单位区域树")
@GetMapping(value = "/tree")
public List<UnitAreaTreeVo> getSystemTree(){
public List<UnitAreaTreeVo> getSystemTree() {
return iAreaService.getAreaTreeListVo();
}
/**
* 获取公司部门树
*
* @return list
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "根据登陆人获取公司树", notes = "根据登陆人获取公司树")
@GetMapping(value = "/companyTreeByUserAndType")
public List<OrgMenuDto> companyTreeByUserAndType(){
public List<OrgMenuDto> companyTreeByUserAndType() {
return iAreaService.companyDeptTree();
}
......
package com.yeejoin.equipmanage.controller;
import java.util.List;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.equipmanage.common.entity.vo.BuildingListVO;
import com.yeejoin.equipmanage.common.entity.vo.BuildingVideoListVO;
import com.yeejoin.equipmanage.common.entity.vo.BuildingVideoVO;
import com.yeejoin.equipmanage.common.vo.BuildingTreeVo;
import com.yeejoin.equipmanage.service.IBuilldService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
......@@ -11,15 +18,7 @@ import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.equipmanage.common.entity.vo.BuildingListVO;
import com.yeejoin.equipmanage.common.entity.vo.BuildingVideoListVO;
import com.yeejoin.equipmanage.common.entity.vo.BuildingVideoVO;
import com.yeejoin.equipmanage.common.vo.BuildingTreeVo;
import com.yeejoin.equipmanage.service.IBuilldService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import java.util.List;
/**
* @Description: 消防建筑视屏监控
......@@ -43,12 +42,19 @@ public class BuildingVideoController extends AbstractBaseController {
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation("消防建筑视屏监控树")
@GetMapping(value = "/treeByBizOrgTypeCode")
public List<BuildingTreeVo> getBuildingTreeByBizOrgTypeCode(@RequestParam(required = false) String orgTypes) {
ReginParams reginParams = getSelectedOrgInfo();
ReginParams.PersonIdentity personIdentity = reginParams.getPersonIdentity();
String bizOrgCode = personIdentity.getBizOrgCode();
return buildService.getBuildingTreeByBizOrgTypeCode(orgTypes, bizOrgCode);
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation("消防建筑视屏监控分页列表")
@GetMapping(value = "/page")
public Page<BuildingVideoVO> buildingList(Page page, BuildingVideoListVO dto) {
if ("0".equals(dto.getBuildingId())) {
dto.setBuildingId(null);
}
return buildService.buildingVideoList(page, dto);
}
......
......@@ -449,17 +449,6 @@ public class FireFightingSystemController extends AbstractBaseController {
/**
* 获取点位图,区域树数据
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "获取点位图,区域树数据", notes = "消防系统点位图使用")
@GetMapping(value = "/point/tree")
public List<PointTreeVo> getPointTree(@RequestParam(required = false) String systemId) {
return fireFightingSystemService.getPointTree(systemId, getOrgCode());
}
/**
* 设备报警信息
*
* @param id
......@@ -641,7 +630,30 @@ public class FireFightingSystemController extends AbstractBaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "获取系统分类树", notes = "获取系统分类树")
@GetMapping(value = "/systemTypeTree")
public List<FireFightingSystemTypeTreeVo> systemTypeTree() {
return fireFightingSystemService.systemTypeTree();
public List<FireFightingSystemTypeTreeVo> systemTypeTree(@RequestParam(required = false) String bizOrgCode) {
return fireFightingSystemService.systemTypeTree(bizOrgCode);
}
/**
* 根据bizOrgCode获取系统列表不分页
*
* @return list
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "获取系统分类树", notes = "获取系统分类树")
@GetMapping(value = "/systemListByBziOrgCode")
public List<FireFightingSystemEntity> systemListByBziOrgCode(@RequestParam(required = false) String bizOrgCode) {
return fireFightingSystemService.systemListByBziOrgCode(bizOrgCode);
}
/**
* 获取点位图,区域树数据
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "获取点位图,区域树数据", notes = "消防系统点位图使用")
@GetMapping(value = "/point/tree")
public List<PointTreeVo> getPointTree(@RequestParam(required = false) String systemId, @RequestParam(required = false) String bizOrgCode) {
return fireFightingSystemService.getPointTree(systemId, bizOrgCode);
}
}
......@@ -71,4 +71,6 @@ public interface CarMapper extends BaseMapper<Car> {
int equipmentCarListcount(Long teamId, String name,String code,Long id,Boolean isNo);
List<CarFusionDto> selectCarAndCarProperty();
List<Map<String, Object>> queryCompanyCarStaData();
}
......@@ -200,4 +200,10 @@ public interface EquipmentSpecificMapper extends BaseMapper<EquipmentSpecific> {
* @return 指标详情
*/
List<Map<String, String>> getBoxTropicsIndexDetails();
/**
* 统计数据
* @return
*/
List<Map<String, Object>> queryCompanyStaData();
}
......@@ -214,4 +214,11 @@ public interface FireFightingSystemMapper extends BaseMapper<FireFightingSystemE
*/
Map<String,Object> fireFoamSysEquipmentNumber();
/**
* 根据bizorgcode获取系统分类数量
* @param bizOrgCode
* @return
*/
List<Map<String, Object>> listByBizOrgCode(@Param("bizOrgCode") String bizOrgCode);
}
......@@ -103,8 +103,9 @@ public interface FormInstanceMapper extends BaseMapper<FormInstance> {
/**
* 消防建筑视屏监控统计树
* @return
* @param bizOrgCodeList
*/
List<Map<String, Object>> getBuildVideoListCount();
List<Map<String, Object>> getBuildVideoListCount(@Param("list") List<String> bizOrgCodeList);
/**
* 可乐建筑视屏监控统计树
......
......@@ -208,6 +208,14 @@ public interface IBuilldService extends IService<Building> {
List<BuildingTreeVo> getBuildingVideoTree();
/**
* 消防建筑视屏监控统计树
* @param orgTypes
* @param bizOrgCode
* @return
*/
List<BuildingTreeVo> getBuildingTreeByBizOrgTypeCode(String orgTypes, String bizOrgCode);
/**
* 消防建筑视屏监控分页列表
* @param page
* @param dto
......@@ -299,4 +307,5 @@ public interface IBuilldService extends IService<Building> {
* @return
*/
Map<String, String> getBuildingToLongitudeAndLatitude(String instanceId);
}
......@@ -173,4 +173,9 @@ public interface ICarService extends IService<Car> {
* @return
*/
List<CarFusionDto> getCarFusionList();
/**
* 更新redis 统计数据
*/
void refreshStaData();
}
......@@ -194,4 +194,9 @@ public interface IEquipmentSpecificSerivce extends IService<EquipmentSpecific> {
* @return
*/
Map<String, List<Map<String, String>>> getFessIndexDetails();
/**
* 更新redis 统计数据
*/
void refreshStaData();
}
......@@ -199,5 +199,12 @@ public interface IFireFightingSystemService extends IService<FireFightingSystemE
*
* @return
*/
List<FireFightingSystemTypeTreeVo> systemTypeTree();
List<FireFightingSystemTypeTreeVo> systemTypeTree(String bizOrgCode);
/**
* 获取列表不分页
* @param bizOrgCode orgCode
* @return
*/
List<FireFightingSystemEntity> systemListByBziOrgCode(String bizOrgCode);
}
......@@ -136,8 +136,9 @@ public interface IFormInstanceService extends IService<FormInstance> {
/**
* 消防建筑视屏监控统计树
* @return
* @param bizOrgCodeList
*/
List<Map<String, Object>> getBuildVideoListCount();
List<Map<String, Object>> getBuildVideoListCount(List<String> bizOrgCodeList);
/**
* 安防消防建筑视屏监控统计树
......
package com.yeejoin.equipmanage.service;
import com.yeejoin.equipmanage.common.enums.SourceTypeEnum;
public interface ISourceStatistics {
/**
* 装备、车辆按照单位及分类统计
*
* @param bizOrgCode 单位部门code
* @param sourceType 资源类型
* @param categoryCode 资源分类code
* @return int 数量
*/
int equipCategoryStatistics(String bizOrgCode, SourceTypeEnum sourceType, String categoryCode);
}
......@@ -12,6 +12,7 @@ import com.yeejoin.amos.feign.morphic.Morphic;
import com.yeejoin.amos.feign.morphic.model.ResourceDTO;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.DictionarieValueModel;
import com.yeejoin.equipmanage.common.dto.OrgUsrDto;
import com.yeejoin.equipmanage.common.entity.*;
import com.yeejoin.equipmanage.common.entity.dto.BuildIsRiskDTO;
import com.yeejoin.equipmanage.common.entity.dto.BuildSearchDTO;
......@@ -35,6 +36,7 @@ import com.yeejoin.equipmanage.operation.factory.PageOperatorFactory;
import com.yeejoin.equipmanage.remote.RemoteSecurityService;
import com.yeejoin.equipmanage.service.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Lazy;
......@@ -115,6 +117,12 @@ public class BuildingServiceImpl extends ServiceImpl<BuildingMapper, Building> i
@Value("${systemctl.sync.switch}")
private Boolean syncSwitch;
@Value("${auth-key-fire-video:fire_build_video_info}")
private String authKey;
@Autowired
private JCSRemoteService jcsRemoteService;
@Autowired
private SourceSceneMapper sourceSceneMapper;
......@@ -298,7 +306,7 @@ public class BuildingServiceImpl extends ServiceImpl<BuildingMapper, Building> i
this.saveFiles(Long.parseLong(formKeyMap.get("instanceId").toString()), map);
synWarehouse(formKeyMap);
// 新增储罐类型,保存不需要风险
if(!"storageTank".equals(groupCode)) {
if (!"storageTank".equals(groupCode)) {
// 发布风险区域同步操作事件
map.put("instanceId", formKeyMap.get("instanceId"));
map.put("code", formKeyMap.get("code"));
......@@ -686,7 +694,7 @@ public class BuildingServiceImpl extends ServiceImpl<BuildingMapper, Building> i
@Override
public List<BuildingTreeVo> getBuildingVideoTree() {
FormGroup formGroup = iFormGroupService.getByUniqueKey(GroupCodeEnum.ALL_BUILDING.getGroupCode());
List<Map<String, Object>> allList = iFormInstanceService.getBuildVideoListCount();
List<Map<String, Object>> allList = iFormInstanceService.getBuildVideoListCount(null);
List<BuildingTreeVo> allListVo = buildColaBuildingData(formGroup, allList);
// tree 统计处理
return allListVo.stream().filter(s -> "-1".equals(s.getParentId())).map(s -> {
......@@ -700,6 +708,87 @@ public class BuildingServiceImpl extends ServiceImpl<BuildingMapper, Building> i
}).collect(Collectors.toList());
}
@Override
public List<BuildingTreeVo> getBuildingTreeByBizOrgTypeCode(String orgTypes, String bizOrgCode) {
List<OrgUsrDto> list = jcsRemoteService.getCompanyDeptListWithAuth(authKey, orgTypes);
List<String> bizOrgCodeList = new ArrayList<>();
if (!CollectionUtils.isEmpty(list)) {
List<BuildingTreeVo> buildingTreeList = list.stream()
.map(key -> {
String buildId = key.getBuildId();
String orgCode = key.getBizOrgCode();
BuildingTreeVo vo = new BuildingTreeVo();
vo.setId(key.getSequenceNbr());
vo.setInstanceId(StringUtils.isNotBlank(buildId) ? Long.parseLong(buildId) : null);
vo.setInstanceName(key.getBizOrgName());
vo.setGroupType(key.getBizOrgType());
vo.setGroupCode(orgCode);
vo.setBizOrgCode(orgCode);
vo.setParentId(key.getParentId());
bizOrgCodeList.add(orgCode);
return vo;
}).collect(Collectors.toList());
FormGroup formGroup = iFormGroupService.getByUniqueKey(GroupCodeEnum.ALL_BUILDING.getGroupCode());
List<Map<String, Object>> allList = iFormInstanceService.getBuildVideoListCount(bizOrgCodeList);
List<BuildingTreeVo> allListVo = Bean.listMap2ListBean(allList, BuildingTreeVo.class);
for (BuildingTreeVo vo : buildingTreeList) {
String orgCode = vo.getBizOrgCode();
if (StringUtils.isNotBlank(orgCode)) {
List<BuildingTreeVo> collect = allListVo.stream().filter(x -> orgCode.equals(x.getBizOrgCode())).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(collect)) {
List<BuildingTreeVo> treeVoList = collect.stream().map(s -> {
BuildingTreeVo t = new BuildingTreeVo();
Bean.copyExistPropertis(s, t);
Map<String, Object> childrenTotal = this.getChildrenTotal(t.getInstanceId(), allListVo);
// t.setChildren((List<BuildingTreeVo>) childrenTotal.get("list"));
t.setTotal((Long) childrenTotal.get("total"));
t.setDetailPaneApi(address);
return t;
}).collect(Collectors.toList());
vo.setChildren(treeVoList);
}
}
}
return listGetStree(buildingTreeList);
}
return Lists.newArrayList();
}
private List<BuildingTreeVo> listGetStree(List<BuildingTreeVo> list) {
List<BuildingTreeVo> treeList = new ArrayList<BuildingTreeVo>();
for (int i = 0; i < list.size(); i++) {
BuildingTreeVo tree = list.get(i);
//找到子
for (BuildingTreeVo treeNode : list) {
if (String.valueOf(tree.getId()).equals(treeNode.getParentId())) {
List<BuildingTreeVo> children = tree.getChildren();
children.add(treeNode);
tree.setChildren(children);
}
}
if (i == 0) {
treeList.add(tree);
}
}
return treeList;
}
private List<BuildingTreeVo> getChildren(BuildingTreeVo root, List<BuildingTreeVo> all) {
String bizOrgCode = root.getBizOrgCode();
return all.stream().filter(d -> StringUtils.isNotBlank(d.getBizOrgCode()) && bizOrgCode.equals(d.getBizOrgCode().substring(0, d.getBizOrgCode().length() - 6)))
.peek(m -> {
List<BuildingTreeVo> children = m.getChildren();
if (CollectionUtils.isEmpty(children)) {
m.setChildren(getChildren(m, all));
} else {
children.addAll(getChildren(m, all));
m.setChildren(children);
}
})
.collect(Collectors.toList());
}
private List<BuildingTreeVo> buildColaBuildingData(FormGroup formGroup, List<Map<String, Object>> allList) {
List<BuildingTreeVo> allListVo = Bean.listMap2ListBean(allList, BuildingTreeVo.class);
BuildingTreeVo treeNode = new BuildingTreeVo();
......@@ -753,6 +842,16 @@ public class BuildingServiceImpl extends ServiceImpl<BuildingMapper, Building> i
@Override
public Page<BuildingVideoVO> buildingVideoList(Page page, BuildingVideoListVO dto) {
String buildingId = dto.getBuildingId();
if ("0".equals(buildingId)) {
dto.setBuildingId(null);
List<OrgUsrDto> list = jcsRemoteService.getCompanyDeptListWithAuth(authKey, "DEPARTMENT,COMPANY");
if (!CollectionUtils.isEmpty(list)) {
List<Long> buildIdList = new ArrayList<>();
list.stream().filter(x -> StringUtils.isNotEmpty(x.getBuildId())).forEach(o -> buildIdList.add(Long.parseLong(o.getBuildId())));
dto.setBuildIdList(buildIdList);
}
}
Page<BuildingVideoVO> pages = videoService.pageBuildingVideo(page, dto);
if (0 < pages.getRecords().size()) {
pages.getRecords().forEach(x -> {
......@@ -1050,36 +1149,36 @@ public class BuildingServiceImpl extends ServiceImpl<BuildingMapper, Building> i
}
@Override
public Map<String, String> getStorageTankCodeByBelongUnitId(String belongUnitId,String groupCode) {
Map<String,String> map = new HashMap<>();
public Map<String, String> getStorageTankCodeByBelongUnitId(String belongUnitId, String groupCode) {
Map<String, String> map = new HashMap<>();
map.put("field_name", StroageTankEnum.SSDW.getCode());
map.put("field_value", belongUnitId);
List<Map<String, Object>> list = iFormInstanceService.queryForMapList(groupCode,map);
if(list.size() > 0) {
List<Map<String, Object>> list = iFormInstanceService.queryForMapList(groupCode, map);
if (list.size() > 0) {
map.clear();
map.put("storageTankCode",stroageTankCode(belongUnitId,list.size()+1));
map.put("storageTankCode", stroageTankCode(belongUnitId, list.size() + 1));
} else {
map.clear();
map.put("storageTankCode",belongUnitId+"0001");
map.put("storageTankCode", belongUnitId + "0001");
}
return map;
}
// 生成四位流水号
private String stroageTankCode(String belongUnitId, int num) {
if(num < 10) {
if (num < 10) {
return belongUnitId + "000" + num;
}
if(num < 100 && num > 9) {
if (num < 100 && num > 9) {
return belongUnitId + "00" + num;
}
if(num < 1000 && num > 99) {
if (num < 1000 && num > 99) {
return belongUnitId + "0" + num;
}
if(num < 10000 && num > 999) {
if (num < 10000 && num > 999) {
return belongUnitId + num;
}
throw new BadRequest("无流水号可生成");
......
package com.yeejoin.equipmanage.service.impl;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.stream.Collectors;
import javax.annotation.PostConstruct;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang3.StringUtils;
import org.gavaghan.geodesy.Ellipsoid;
import org.gavaghan.geodesy.GeodeticCalculator;
import org.gavaghan.geodesy.GlobalCoordinates;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Lazy;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
......@@ -53,82 +21,42 @@ import com.yeejoin.equipmanage.common.datasync.entity.FireVehicle;
import com.yeejoin.equipmanage.common.dto.CarFusionDto;
import com.yeejoin.equipmanage.common.dto.CarInfoDto;
import com.yeejoin.equipmanage.common.dto.CarStatusInfoDto;
import com.yeejoin.equipmanage.common.entity.Car;
import com.yeejoin.equipmanage.common.entity.CarInfo;
import com.yeejoin.equipmanage.common.entity.CarProperty;
import com.yeejoin.equipmanage.common.entity.Equipment;
import com.yeejoin.equipmanage.common.entity.EquipmentCategory;
import com.yeejoin.equipmanage.common.entity.EquipmentDetail;
import com.yeejoin.equipmanage.common.entity.EquipmentIndex;
import com.yeejoin.equipmanage.common.entity.EquipmentOnCar;
import com.yeejoin.equipmanage.common.entity.EquipmentQrcode;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecific;
import com.yeejoin.equipmanage.common.entity.ExtinguishantOnCar;
import com.yeejoin.equipmanage.common.entity.Journal;
import com.yeejoin.equipmanage.common.entity.ManufacturerInfo;
import com.yeejoin.equipmanage.common.entity.Stock;
import com.yeejoin.equipmanage.common.entity.StockDetail;
import com.yeejoin.equipmanage.common.entity.SystemDic;
import com.yeejoin.equipmanage.common.entity.Unit;
import com.yeejoin.equipmanage.common.entity.UploadFile;
import com.yeejoin.equipmanage.common.entity.WarehouseStructure;
import com.yeejoin.equipmanage.common.entity.WastageBill;
import com.yeejoin.equipmanage.common.entity.WastageBillDetail;
import com.yeejoin.equipmanage.common.entity.*;
import com.yeejoin.equipmanage.common.entity.dto.CarDto;
import com.yeejoin.equipmanage.common.entity.publics.BaseEntity;
import com.yeejoin.equipmanage.common.entity.vo.CarIndexVo;
import com.yeejoin.equipmanage.common.entity.vo.CarPropertyVo;
import com.yeejoin.equipmanage.common.entity.vo.EquipmentSpecificVo;
import com.yeejoin.equipmanage.common.enums.BillContentEnum;
import com.yeejoin.equipmanage.common.enums.CarStatusEnum;
import com.yeejoin.equipmanage.common.enums.EquipStatusEnum;
import com.yeejoin.equipmanage.common.enums.FileTypeEnum;
import com.yeejoin.equipmanage.common.enums.IndustryEnum;
import com.yeejoin.equipmanage.common.enums.JournalTypeEnum;
import com.yeejoin.equipmanage.common.enums.OnBoardEquipmentEnum;
import com.yeejoin.equipmanage.common.enums.StockBillTypeEnum;
import com.yeejoin.equipmanage.common.enums.TrueOrFalseEnum;
import com.yeejoin.equipmanage.common.enums.*;
import com.yeejoin.equipmanage.common.exception.CommonException;
import com.yeejoin.equipmanage.common.utils.ArrayUtil;
import com.yeejoin.equipmanage.common.utils.BillCodeManagerUtil;
import com.yeejoin.equipmanage.common.utils.DateUtils;
import com.yeejoin.equipmanage.common.utils.ParsePropertyUtil;
import com.yeejoin.equipmanage.common.utils.QRCodeUtil;
import com.yeejoin.equipmanage.common.vo.CarForUE4VO;
import com.yeejoin.equipmanage.common.vo.Equip;
import com.yeejoin.equipmanage.common.vo.EquipStateOnCarVo;
import com.yeejoin.equipmanage.common.vo.ExtinguishantLossRequest;
import com.yeejoin.equipmanage.common.vo.ExtinguishantRequeset;
import com.yeejoin.equipmanage.common.vo.OnBoardEquipment;
import com.yeejoin.equipmanage.mapper.CarInfoMapper;
import com.yeejoin.equipmanage.mapper.CarMapper;
import com.yeejoin.equipmanage.mapper.EquipmentCategoryMapper;
import com.yeejoin.equipmanage.mapper.EquipmentDetailMapper;
import com.yeejoin.equipmanage.mapper.EquipmentOnCarMapper;
import com.yeejoin.equipmanage.mapper.EquipmentSpecificMapper;
import com.yeejoin.equipmanage.mapper.ExtinguishantOnCarMapper;
import com.yeejoin.equipmanage.mapper.JournalMapper;
import com.yeejoin.equipmanage.mapper.StockDetailMapper;
import com.yeejoin.equipmanage.mapper.StockMapper;
import com.yeejoin.equipmanage.mapper.SystemDicMapper;
import com.yeejoin.equipmanage.mapper.UnitMapper;
import com.yeejoin.equipmanage.mapper.WarehouseStructureMapper;
import com.yeejoin.equipmanage.mapper.WastageBillDetailMapper;
import com.yeejoin.equipmanage.mapper.WastageBillMapper;
import com.yeejoin.equipmanage.common.utils.*;
import com.yeejoin.equipmanage.common.vo.*;
import com.yeejoin.equipmanage.mapper.*;
import com.yeejoin.equipmanage.remote.RemoteSecurityService;
import com.yeejoin.equipmanage.service.ICarPropertyService;
import com.yeejoin.equipmanage.service.ICarService;
import com.yeejoin.equipmanage.service.IEquipmentCategoryService;
import com.yeejoin.equipmanage.service.IEquipmentDetailService;
import com.yeejoin.equipmanage.service.IEquipmentIndexService;
import com.yeejoin.equipmanage.service.IEquipmentQrcodeService;
import com.yeejoin.equipmanage.service.IEquipmentService;
import com.yeejoin.equipmanage.service.IJournalService;
import com.yeejoin.equipmanage.service.IManufacturerInfoService;
import com.yeejoin.equipmanage.service.ISyncDataService;
import com.yeejoin.equipmanage.service.ISystemDicService;
import com.yeejoin.equipmanage.service.IUnitService;
import com.yeejoin.equipmanage.service.IUploadFileService;
import com.yeejoin.equipmanage.service.*;
import org.apache.commons.lang3.StringUtils;
import org.gavaghan.geodesy.Ellipsoid;
import org.gavaghan.geodesy.GeodeticCalculator;
import org.gavaghan.geodesy.GlobalCoordinates;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Lazy;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import javax.annotation.PostConstruct;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.*;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* 消防车信息 服务实现类
......@@ -1200,14 +1128,14 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS
LambdaQueryWrapper<Car> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(teamId != null, Car::getTeamId, teamId);
wrapper.like(!StringUtil.isEmpty(name), Car::getName, name);
wrapper.in(Car::getCarState,"1","2");
wrapper.in(Car::getCarState, "1", "2");
wrapper.orderByDesc(BaseEntity::getCreateDate);
List<Car> carList = this.list(wrapper);
List<Equipment> equipmentList = iEquipmentService.list();
/*统一车辆图片使用装备定义图片 2021-10-27 陈召*/
equipmentList.stream().filter(e->e.getName().contains("车")).forEach(e->{
carList.forEach(car->{
if (e.getId().equals(car.getEquipmentId())){
equipmentList.stream().filter(e -> e.getName().contains("车")).forEach(e -> {
carList.forEach(car -> {
if (e.getId().equals(car.getEquipmentId())) {
List<UploadFile> objects = new ArrayList<>();
UploadFile uploadFile = new UploadFile();
uploadFile.setUrl(e.getImg());
......@@ -1236,7 +1164,7 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS
carInfoVo.setEquipmentName(equipment != null ? equipment.getName() : "");
carInfoVo.setCategoryId(equipment != null ? equipment.getCategoryId() : null);
carInfoVo.setCategoryName(categoryMap.get(carInfoVo.getCategoryId()));
if (car.getImg() != null){
if (car.getImg() != null) {
List<String> img = new ArrayList<>();
img.add(car.getImg().get(0).getUrl());
carInfoVo.setImage(img);
......@@ -1299,7 +1227,7 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS
String orgCode = remoteSecurityService.getAgencyUser().getCompanys().get(0).getOrgCode();
car.setOrgCode(orgCode);
// @TableField(updateStrategy = FieldStrategy.IGNORED) 置空不生效 为空单独设置 by kongfm 2021-09-09
this.update(new LambdaUpdateWrapper<Car>().set(Car::getAgencyId,car.getAgencyId() ).set(Car::getTeamId,car.getTeamId()).eq(Car::getId,car.getId()));
this.update(new LambdaUpdateWrapper<Car>().set(Car::getAgencyId, car.getAgencyId()).set(Car::getTeamId, car.getTeamId()).eq(Car::getId, car.getId()));
boolean update = this.updateById(car);
// AST数据同步
if (update && syncSwitch) {
......@@ -1602,7 +1530,6 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS
}
@Override
public CarForUE4VO getCarDetailByCarNumToThreeDimensional(Long carId, String orgCode) {
CarForUE4VO carForUE4VO = new CarForUE4VO();
......@@ -1637,13 +1564,12 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS
}
@Override
public Page<CarInfoDto> equipmentCarList(Page<CarInfoDto> pag, Long teamId, String name, String code, Long id,Boolean isNo) {
public Page<CarInfoDto> equipmentCarList(Page<CarInfoDto> pag, Long teamId, String name, String code, Long id, Boolean isNo) {
List<Car> carList =carMapper.equipmentCarList(pag.offset(), pag.getSize(), teamId, name, code,id,isNo);
int num =carMapper.equipmentCarListcount( teamId, name, code,id,isNo);
List<Car> carList = carMapper.equipmentCarList(pag.offset(), pag.getSize(), teamId, name, code, id, isNo);
int num = carMapper.equipmentCarListcount(teamId, name, code, id, isNo);
List<Equipment> equipmentList = iEquipmentService.list();
Map<Long, Equipment> keyMap = equipmentList.stream().collect(Collectors.toMap(BaseEntity::getId, Function.identity()));
......@@ -1657,7 +1583,7 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS
List<Map<String, Object>> carResourceMapList = this.baseMapper.getCarResourceMapList(null);
Map<String, List<Map<String, Object>>> carResourceMap =
carResourceMapList.stream().collect(Collectors.groupingBy(car -> car.get("carId").toString()));
List<CarInfoDto> CarInfoDtoList= carList.stream().map(car -> {
List<CarInfoDto> CarInfoDtoList = carList.stream().map(car -> {
CarInfoDto carInfoVo = new CarInfoDto();
Bean.copyExistPropertis(car, carInfoVo);
Equipment equipment = keyMap.get(carInfoVo.getEquipmentId());
......@@ -1669,7 +1595,7 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS
carInfoVo.setImage(fileList.stream().filter(f -> f.getObjectId().equals(car.getId())).map(UploadFile::getUrl).collect(Collectors.toList()));
if (equipment.getImg() != null){
if (equipment.getImg() != null) {
List<String> img = new ArrayList<>();
img.add(equipment.getImg());
carInfoVo.setImage(img);
......@@ -1690,4 +1616,14 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS
List<CarFusionDto> carFusionDtos = this.baseMapper.selectCarAndCarProperty();
return carFusionDtos;
}
@Override
public void refreshStaData() {
List<Map<String, Object>> result = this.baseMapper.queryCompanyCarStaData();
result.forEach(m -> redisUtils.set((buildKey(m)), m.get("total")));
}
private String buildKey(Map<String, Object> row) {
return row.get("bizOrgCode").toString() + "_" + SourceTypeEnum.CAR.getCode() + "_" + row.get("categoryCode").toString();
}
}
package com.yeejoin.equipmanage.service.impl;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Lazy;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.utils.Bean;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
......@@ -39,83 +16,34 @@ import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.equipmanage.common.datasync.entity.FireEquipment;
import com.yeejoin.equipmanage.common.dto.EquipmentSpecificDto;
import com.yeejoin.equipmanage.common.dto.UserDto;
import com.yeejoin.equipmanage.common.entity.EquProperty;
import com.yeejoin.equipmanage.common.entity.Equipment;
import com.yeejoin.equipmanage.common.entity.EquipmentCategory;
import com.yeejoin.equipmanage.common.entity.EquipmentDetail;
import com.yeejoin.equipmanage.common.entity.EquipmentIndex;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecific;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarm;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecificIndex;
import com.yeejoin.equipmanage.common.entity.EquipmentSystemSourceStatistics;
import com.yeejoin.equipmanage.common.entity.Stock;
import com.yeejoin.equipmanage.common.entity.StockBill;
import com.yeejoin.equipmanage.common.entity.StockBillDetail;
import com.yeejoin.equipmanage.common.entity.StockDetail;
import com.yeejoin.equipmanage.common.entity.UploadFile;
import com.yeejoin.equipmanage.common.entity.Video;
import com.yeejoin.equipmanage.common.entity.Warehouse;
import com.yeejoin.equipmanage.common.entity.WarehouseStructure;
import com.yeejoin.equipmanage.common.entity.*;
import com.yeejoin.equipmanage.common.entity.dto.EquipmentSpecificDTO;
import com.yeejoin.equipmanage.common.entity.vo.AlamVideoVO;
import com.yeejoin.equipmanage.common.entity.vo.AlarmInfoVO;
import com.yeejoin.equipmanage.common.entity.vo.AlarmVO;
import com.yeejoin.equipmanage.common.entity.vo.ComplementCodeVO;
import com.yeejoin.equipmanage.common.entity.vo.CurrAlaramVO;
import com.yeejoin.equipmanage.common.entity.vo.DetailPaneVO;
import com.yeejoin.equipmanage.common.entity.vo.DevInfoVO;
import com.yeejoin.equipmanage.common.entity.vo.DevOverviewVO;
import com.yeejoin.equipmanage.common.entity.vo.EquipmentIndexVO;
import com.yeejoin.equipmanage.common.entity.vo.EquipmentSecificDetailVO;
import com.yeejoin.equipmanage.common.entity.vo.EquipmentSpecificVo;
import com.yeejoin.equipmanage.common.entity.vo.ManufacturerVO;
import com.yeejoin.equipmanage.common.entity.vo.PartDetailVO;
import com.yeejoin.equipmanage.common.entity.vo.ProductInfoVO;
import com.yeejoin.equipmanage.common.entity.vo.SourceNameByEquipSpeIdVO;
import com.yeejoin.equipmanage.common.entity.vo.SurrVideoVO;
import com.yeejoin.equipmanage.common.entity.vo.TechInfoListVO;
import com.yeejoin.equipmanage.common.entity.vo.TechInfoVO;
import com.yeejoin.equipmanage.common.entity.vo.VideoVO;
import com.yeejoin.equipmanage.common.enums.BillContentEnum;
import com.yeejoin.equipmanage.common.enums.BitmapEnum;
import com.yeejoin.equipmanage.common.enums.EquipmentRiskTypeEnum;
import com.yeejoin.equipmanage.common.enums.FileTypeEnum;
import com.yeejoin.equipmanage.common.enums.StockBillTypeEnum;
import com.yeejoin.equipmanage.common.entity.vo.*;
import com.yeejoin.equipmanage.common.enums.*;
import com.yeejoin.equipmanage.common.exception.BaseException;
import com.yeejoin.equipmanage.common.utils.DateUtils;
import com.yeejoin.equipmanage.common.utils.QRCodeUtil;
import com.yeejoin.equipmanage.common.utils.StringUtil;
import com.yeejoin.equipmanage.common.vo.EquipFor3DVO;
import com.yeejoin.equipmanage.common.vo.EquipmentDate;
import com.yeejoin.equipmanage.common.vo.EquipmentDetailVo;
import com.yeejoin.equipmanage.common.vo.EquipmentOnCarVo;
import com.yeejoin.equipmanage.common.vo.EquipmentSpecific3dVo;
import com.yeejoin.equipmanage.common.vo.*;
import com.yeejoin.equipmanage.config.EquipmentIotMqttReceiveConfig;
import com.yeejoin.equipmanage.mapper.EquipmentIndexMapper;
import com.yeejoin.equipmanage.mapper.EquipmentSpecificAlarmMapper;
import com.yeejoin.equipmanage.mapper.EquipmentSpecificMapper;
import com.yeejoin.equipmanage.mapper.UploadFileMapper;
import com.yeejoin.equipmanage.mapper.VideoMapper;
import com.yeejoin.equipmanage.service.IEquPropertyService;
import com.yeejoin.equipmanage.service.IEquipmentCategoryService;
import com.yeejoin.equipmanage.service.IEquipmentDetailService;
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.IEquipmentSystemSourceStatisticsService;
import com.yeejoin.equipmanage.service.IFireFightingSystemService;
import com.yeejoin.equipmanage.service.IStockBillDetailService;
import com.yeejoin.equipmanage.service.IStockBillService;
import com.yeejoin.equipmanage.service.IStockDetailService;
import com.yeejoin.equipmanage.service.IStockService;
import com.yeejoin.equipmanage.service.ISyncDataService;
import com.yeejoin.equipmanage.service.ISystemDicService;
import com.yeejoin.equipmanage.service.IUploadFileService;
import com.yeejoin.equipmanage.service.IVideoService;
import com.yeejoin.equipmanage.service.IWarehouseService;
import com.yeejoin.equipmanage.service.IWarehouseStructureService;
import com.yeejoin.equipmanage.mapper.*;
import com.yeejoin.equipmanage.service.*;
import com.yeejoin.equipmanage.utils.RelationRedisUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Lazy;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.utils.Bean;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author ZeHua Li
......@@ -470,7 +398,7 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
SimpleDateFormat stf = new SimpleDateFormat("yyyy-MM-dd");
// @TableField(updateStrategy = FieldStrategy.IGNORED) 置空不生效 为空单独设置 by kongfm 2021-09-10
this.update(new LambdaUpdateWrapper<EquipmentSpecific>().set(EquipmentSpecific::getAgencyId, equipmentSpecific.getAgencyId()).set(EquipmentSpecific::getTeamId, equipmentSpecific.getTeamId()).eq(EquipmentSpecific::getId, equipmentSpecific.getId()));
if(equipmentSpecific.getStockDetail() != null && equipmentSpecific.getStockDetail().getWarehouseStructureId() != null){
if (equipmentSpecific.getStockDetail() != null && equipmentSpecific.getStockDetail().getWarehouseStructureId() != null) {
equipmentSpecific.setWarehouseStructureId(equipmentSpecific.getStockDetail().getWarehouseStructureId());
}
boolean updateById = this.updateById(equipmentSpecific);
......@@ -1062,16 +990,16 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
@Override
public Object getOneCard(Long id, String type) {
if(BitmapEnum.video.getKey().equals(type)){
if (BitmapEnum.video.getKey().equals(type)) {
AlamVideoVO video = videoMapper.getVideoById(id);
if(!ObjectUtils.isEmpty(video)){
if (!ObjectUtils.isEmpty(video)) {
video.setUrl(videoService.getVideoUrl(video.getName().toString(), video.getPresetPosition(), video.getUrl(), video.getCode()));
}
return video;
}else{
} else {
DetailPaneVO detailPaneVO = new DetailPaneVO();
Map<String, String> map = this.baseMapper.getQrCodeAndPic(id);
if(ObjectUtils.isEmpty(map)){
if (ObjectUtils.isEmpty(map)) {
return detailPaneVO;
}
detailPaneVO.setQrCode(map.get("qrCode"));
......@@ -1230,7 +1158,7 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
equipmentSpecific.setEquipmentDetailId(equipmentDetail.getId());
equipmentSpecific.setQrCode(qrCode);
equipmentSpecific.setOrgCode(reginParams.getCompany().getOrgCode());
if(equipmentSpecific.getStockDetail() != null && equipmentSpecific.getStockDetail().getWarehouseStructureId() != null){
if (equipmentSpecific.getStockDetail() != null && equipmentSpecific.getStockDetail().getWarehouseStructureId() != null) {
equipmentSpecific.setWarehouseStructureId(equipmentSpecific.getStockDetail().getWarehouseStructureId());
}
boolean save = this.save(equipmentSpecific);
......@@ -1308,7 +1236,7 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
equipmentSpecificBatch.setQrCode(list.get(i));
equipmentSpecificBatch.setOrgCode(reginParams.getCompany().getOrgCode());
equipmentSpecificBatch.setEquipmentDetailId(equipmentDetails.get(i).getId());
if(equipmentSpecific.getStockDetail() != null && equipmentSpecific.getStockDetail().getWarehouseStructureId() != null){
if (equipmentSpecific.getStockDetail() != null && equipmentSpecific.getStockDetail().getWarehouseStructureId() != null) {
equipmentSpecificBatch.setWarehouseStructureId(equipmentSpecific.getStockDetail().getWarehouseStructureId());
}
equipmentSpecifics.add(equipmentSpecificBatch);
......@@ -1416,7 +1344,7 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
equipmentSpecific.setOrgCode(reginParams.getCompany().getOrgCode());
equipmentSpecific.setEquipmentDetailId(equipmentDetail.getId());
equipmentSpecific.setCreateDate(new Date());
if(equipmentSpecific.getStockDetail() != null && equipmentSpecific.getStockDetail().getWarehouseStructureId() != null){
if (equipmentSpecific.getStockDetail() != null && equipmentSpecific.getStockDetail().getWarehouseStructureId() != null) {
equipmentSpecific.setWarehouseStructureId(equipmentSpecific.getStockDetail().getWarehouseStructureId());
}
//插入设备数据
......@@ -1657,4 +1585,15 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
map.put("tropics", tropicsIndexDetails);
return map;
}
@Override
public void refreshStaData() {
List<Map<String, Object>> result = this.baseMapper.queryCompanyStaData();
result.forEach(m -> redisUtils.set((buildKey(m)), m.get("total")));
}
private String buildKey(Map<String, Object> row) {
return row.get("bizOrgCode").toString() + "_" + SourceTypeEnum.EQUIPMENT.getCode() + "_" + row.get("categoryCode").toString();
}
}
......@@ -422,7 +422,7 @@ public class FireFightingSystemServiceImpl extends ServiceImpl<FireFightingSyste
// responses.add(p);
// });
// List<PointTreeVo> regionList = responses.stream().filter(r -> "TRUE".equals(r.getIsRegion())).collect(Collectors.toList());
List<PointTreeVo> buildList = buildingMapper.getBuildList(null);
List<PointTreeVo> buildList = buildingMapper.getBuildList(orgCode);
return transferListToPointTree(buildList, id);
}
......@@ -955,16 +955,21 @@ public class FireFightingSystemServiceImpl extends ServiceImpl<FireFightingSyste
}
@Override
public List<FireFightingSystemTypeTreeVo> systemTypeTree() {
// 获取所有系统list
public List<FireFightingSystemTypeTreeVo> systemTypeTree(String bizOrgCode) {
// 获取所有系统分类list
LambdaQueryWrapper<DynamicFormGroup> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(DynamicFormGroup::getGroupType, "fireSystem");
wrapper.eq(DynamicFormGroup::getParentId, 0);
List<DynamicFormGroup> list = iEqDynamicFormGroupService.list(wrapper);
List<Map<String, Object>> typeList = fireFightingSystemMapper.listByBizOrgCode(bizOrgCode);
List<FireFightingSystemTypeTreeVo> childrenList = list.stream().map(item -> {
FireFightingSystemTypeTreeVo vo = new FireFightingSystemTypeTreeVo();
vo.setName(item.getGroupName());
vo.setTotal("0");
typeList.forEach(obj -> {
if (item.getId().equals(Long.valueOf(obj.get("typeId").toString()))) {
vo.setTotal(obj.get("total").toString());
}
});
vo.setType(item.getGroupType());
vo.setId(String.valueOf(item.getId()));
return vo;
......@@ -1044,4 +1049,12 @@ public class FireFightingSystemServiceImpl extends ServiceImpl<FireFightingSyste
}
}
@Override
public List<FireFightingSystemEntity> systemListByBziOrgCode(String bizOrgCode) {
LambdaQueryWrapper<FireFightingSystemEntity> wrapper = new LambdaQueryWrapper<>();
if (StringUtil.isNotEmpty(bizOrgCode)) {
wrapper.likeRight(FireFightingSystemEntity::getBizOrgCode, bizOrgCode);
}
return this.baseMapper.selectList(wrapper);
}
}
......@@ -479,8 +479,8 @@ public class FormInstanceServiceImpl extends ServiceImpl<FormInstanceMapper, For
}
@Override
public List<Map<String, Object>> getBuildVideoListCount() {
return formInstanceMapper.getBuildVideoListCount();
public List<Map<String, Object>> getBuildVideoListCount(List<String> bizOrgCodeList) {
return formInstanceMapper.getBuildVideoListCount(bizOrgCodeList);
}
@Override
......
package com.yeejoin.equipmanage.service.impl;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.equipmanage.common.enums.SourceTypeEnum;
import com.yeejoin.equipmanage.service.ICarService;
import com.yeejoin.equipmanage.service.IEquipmentDetailService;
import com.yeejoin.equipmanage.service.ISourceStatistics;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.context.SpringContextHelper;
import java.lang.reflect.Method;
import java.util.Set;
/**
* @author DELL
*/
@Service
public class SourcesStatisticsImpl implements ISourceStatistics {
@Autowired
private RedisUtils redisUtil;
@Override
public int equipCategoryStatistics(String bizOrgCode, SourceTypeEnum sourceType, String categoryCode) {
// 计算处通用code,用来上下级匹配如12001010000->1200101
String treeCode = subStringZero(categoryCode);
Set<String> keys = redisUtil.getKeys(buildKey(bizOrgCode, sourceType.getCode(), treeCode));
if (keys.size() > 0) {
//求和
return this.sumNumber(keys);
} else {
//按照类型插入缓存
Object bean = SpringContextHelper.getBean(sourceType.getBeanName());
Method[] methods = bean.getClass().getDeclaredMethods();
for (Method method : methods) {
if (method.getName().equals(sourceType.getMethodName())) {
try {
method.invoke(bean);
} catch (Exception e) {
throw new RuntimeException("更新redis数据失败" + e.getMessage());
}
}
}
return this.sumNumber(keys);
}
}
private int sumNumber(Set<String> keys) {
return keys.stream().filter(k -> redisUtil.get(k) != null).mapToInt(k -> Integer.parseInt(redisUtil.get(k).toString())).sum();
}
private String subStringZero(String categoryCode) {
String reverse = new StringBuffer(categoryCode).reverse().toString();
int noZero = Integer.parseInt(reverse);
return new StringBuffer(String.valueOf(noZero)).reverse().toString();
}
private String buildKey(String bizOrgCode, String sourceType, String treeCode) {
return bizOrgCode + "*_" + sourceType + "_" + treeCode + "*";
}
}
......@@ -384,6 +384,11 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
if (StringUtils.isNotBlank(equipmentDetailDownloadVOS.get(i).getCompanyName())) {
String[] company = equipmentDetailDownloadVOS.get(i).getCompanyName().split("@");
equipmentSpecific.setAgencyId(company[1]);
equipmentSpecific.setAgencyName(company[0]);
equipmentSpecific.setBizOrgCode(company[2]);
equipmentSpecific.setBizOrgName(company[0]);
}
equipmentSpecificMapper.insert(equipmentSpecific);
......
......@@ -36,7 +36,7 @@ dutyMode.fegin.name=AMOS-DUTYMODE
riskSource.feign.name=AMOS-AUTOSYS
equipManage.name=AMOS-EQUIPMANAGE
iot.vehicle.track=AMOS-API-IOT
jcs.fegin.name=JCS-SHG
jcs.fegin.name=JCS
video.fegin.name=VIDEO
#项目初始化画布id
morphic.projectSeq=1390314016458514433
......@@ -93,3 +93,5 @@ auth-key-fire-system=fire_system_info;
auth-key-fire-equip=fire_equip_info;
# 权限标识-消防视频
auth-key-fire-video=fire_video_info;
# 权限标识-消防视频
auth-key-fire-build-video=fire_build_video_info;
\ No newline at end of file
......@@ -233,16 +233,17 @@
AND cd.field_name = 'code'
LEFT JOIN wl_form_instance AS bzc ON bzc.instance_id = ins.instance_id
AND bzc.field_name = 'bizOrgCode'
<where>
<if test="bizOrgCode != null and bizOrgCode != ''">
bzc.field_value = #{bizOrgCode}
</if>
</where>
GROUP BY
ins.instance_id
ORDER BY
parentId
) t
<where>
<if test="bizOrgCode != null and bizOrgCode != ''">
t.bizOrgCode = #{bizOrgCode}
</if>
</where>
</select>
<select id="get3dBuildList" resultType="com.yeejoin.equipmanage.common.entity.vo.PointTreeVo">
select
......
......@@ -604,4 +604,19 @@
from wl_car wc LEFT JOIN wl_car_property wcp on wc.id = wcp.car_id
where wcp.equipment_index_key in ('FAS_Car_Video', 'FAS_Car_GIS');
</select>
<select id="queryCompanyCarStaData" resultType="java.util.Map">
SELECT
s.biz_org_code as bizOrgCode,
c.code as categoryCode,
count(1) as total
FROM
`wl_car` s,
wl_equipment e,
wl_equipment_category c
where
s.equipment_id = e.`id`
and e.category_id = c.id
and s.biz_org_code <![CDATA[<>]]> ''
GROUP BY s.biz_org_code ,c.code
</select>
</mapper>
......@@ -1441,4 +1441,19 @@
WHERE
s.equipment_code = '92251100TZE44'
</select>
<select id="queryCompanyStaData" resultType="java.util.Map">
SELECT
s.biz_org_code as bizOrgCode,
c.code as categoryCode,
count(1) as total
FROM
`wl_equipment_specific` s,
wl_equipment e,
wl_equipment_category c
where
s.equipment_code = e.`code`
and e.category_id = c.id
and s.biz_org_code <![CDATA[<>]]> ''
GROUP BY s.biz_org_code ,c.code
</select>
</mapper>
\ No newline at end of file
......@@ -1829,32 +1829,16 @@ FROM
order by createDate DESC
</select>
<select id="listByBizOrgCode" resultType="java.util.Map">
SELECT
form_group_id typeId,
COUNT(form_group_id) total
FROM
f_fire_fighting_system
WHERE
biz_org_code LIKE CONCAT(#{bizOrgCode}, '%' )
GROUP BY form_group_id
</select>
</mapper>
......@@ -259,6 +259,7 @@
</select>
<!-- 消防建筑视屏监控统计树 -->
<select id="getBuildVideoListCount" resultType="hashmap">
SELECT * FROM(
SELECT
sa.*,
b.total
......@@ -269,7 +270,8 @@
a.group_code AS groupCode,
a.group_type AS groupType,
MAX( CASE WHEN a.field_name = 'parentId' THEN a.field_value END ) AS parentId,
MAX( CASE WHEN a.field_name = 'name' THEN a.field_value END ) AS instanceName
MAX( CASE WHEN a.field_name = 'name' THEN a.field_value END ) AS instanceName,
MAX( CASE WHEN a.field_name = 'biz_org_code' THEN a.field_value END ) AS bizOrgCode
FROM
`wl_form_instance` a
GROUP BY
......@@ -283,9 +285,19 @@
'else' as groupType,
0 as parentId,
'其他' as instanceName,
NULL AS bizOrgCode,
count(1) as total
from
wl_video where id not in (select video_id from wl_video_source)
) tmp
<where>
<if test="list != null and list.size() >0">
AND tmp.bizOrgCode IN
<foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</where>
</select>
<select id="getColaBuildVideoListCount" resultType="hashmap">
......
......@@ -70,6 +70,12 @@
<if test="dto.buildingId!=null and dto.buildingId!=''">
FIND_IN_SET(vc.source_id, getChildrenIdsByRootId(#{dto.buildingId}))
</if>
<if test="dto.buildIdList != null and dto.buildIdList.size > 0">
AND
<foreach collection="dto.buildIdList" item="item" index="index" open="(" close=")" separator=" OR ">
FIND_IN_SET(vc.source_id, getChildrenIdsByRootId(#{item, jdbcType=INTEGER}))
</foreach>
</if>
<if test="dto.equipmentName!=null and dto.equipmentName!=''">
and v.name like concat('%',#{dto.equipmentName},'%')
</if>
......
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