Commit d67ba612 authored by suhuiguang's avatar suhuiguang

1.增加数量统计

parent eae491cb
...@@ -456,6 +456,10 @@ public class RedisUtils { ...@@ -456,6 +456,10 @@ public class RedisUtils {
} }
return null; return null;
} }
public Set<String> getPatternKeys(String pattern) {
return redisTemplate.keys(pattern);
}
/** /**
* 获取指定前缀key列表 * 获取指定前缀key列表
* *
......
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;
}
...@@ -2,11 +2,9 @@ package com.yeejoin.equipmanage.controller; ...@@ -2,11 +2,9 @@ package com.yeejoin.equipmanage.controller;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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.amos.boot.biz.common.dto.OrgMenuDto;
import com.yeejoin.equipmanage.common.dto.AreaDto; import com.yeejoin.equipmanage.common.dto.AreaDto;
import com.yeejoin.equipmanage.common.entity.Area; 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.AreaResquest;
import com.yeejoin.equipmanage.common.vo.UnitAreaTreeVo; import com.yeejoin.equipmanage.common.vo.UnitAreaTreeVo;
import com.yeejoin.equipmanage.service.IAreaService; import com.yeejoin.equipmanage.service.IAreaService;
...@@ -32,8 +30,8 @@ import java.util.Map; ...@@ -32,8 +30,8 @@ import java.util.Map;
@RequestMapping(value = "/area", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) @RequestMapping(value = "/area", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public class AreaController extends AbstractBaseController { public class AreaController extends AbstractBaseController {
@Autowired @Autowired
IAreaService iAreaService; IAreaService iAreaService;
// /** // /**
// * 获取区域树 // * 获取区域树
...@@ -45,103 +43,105 @@ public class AreaController extends AbstractBaseController { ...@@ -45,103 +43,105 @@ public class AreaController extends AbstractBaseController {
// return iAreaService.getAreaTreeVo(); // return iAreaService.getAreaTreeVo();
// } // }
/** /**
* 获取公司部门区域树 * 获取公司部门区域树
* @return list *
*/ * @return list
@TycloudOperation(ApiLevel = UserType.AGENCY) */
@ApiOperation(httpMethod = "GET", value = "根据登陆人获取单位区域树", notes = "根据登陆人获取单位区域树") @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/tree") @ApiOperation(httpMethod = "GET", value = "根据登陆人获取单位区域树", notes = "根据登陆人获取单位区域树")
public List<UnitAreaTreeVo> getSystemTree(){ @GetMapping(value = "/tree")
return iAreaService.getAreaTreeListVo(); public List<UnitAreaTreeVo> getSystemTree() {
} return iAreaService.getAreaTreeListVo();
}
/**
* 获取公司部门树 /**
* @return list * 获取公司部门树
*/ *
@TycloudOperation(ApiLevel = UserType.AGENCY) * @return list
@ApiOperation(httpMethod = "GET", value = "根据登陆人获取公司树", notes = "根据登陆人获取公司树") */
@GetMapping(value = "/companyTreeByUserAndType") @TycloudOperation(ApiLevel = UserType.AGENCY)
public List<OrgMenuDto> companyTreeByUserAndType(){ @ApiOperation(httpMethod = "GET", value = "根据登陆人获取公司树", notes = "根据登陆人获取公司树")
return iAreaService.companyDeptTree(); @GetMapping(value = "/companyTreeByUserAndType")
} public List<OrgMenuDto> companyTreeByUserAndType() {
return iAreaService.companyDeptTree();
/** }
* 根据节点id获取树
*/ /**
@TycloudOperation(ApiLevel = UserType.AGENCY) * 根据节点id获取树
@ApiOperation("区域树") */
@GetMapping(value = "/treeById") @TycloudOperation(ApiLevel = UserType.AGENCY)
public List<UnitAreaTreeVo> getAreaTreeById(@RequestParam Long id, @RequestParam String bizOrgCode) { @ApiOperation("区域树")
if (id == null) { @GetMapping(value = "/treeById")
id = -1L; public List<UnitAreaTreeVo> getAreaTreeById(@RequestParam Long id, @RequestParam String bizOrgCode) {
} if (id == null) {
return iAreaService.getAreaTreeVoById(id, bizOrgCode); id = -1L;
} }
return iAreaService.getAreaTreeVoById(id, bizOrgCode);
/** }
* 获取指定层级区域树,起步2级树
*/ /**
@TycloudOperation(ApiLevel = UserType.AGENCY) * 获取指定层级区域树,起步2级树
@ApiOperation("获取指定层级区域树") */
@GetMapping(value = "/getAreaTierTree") @TycloudOperation(ApiLevel = UserType.AGENCY)
public List<AreaDto> getAreaTierTree(@RequestParam Integer tier) { @ApiOperation("获取指定层级区域树")
return iAreaService.getAreaTierTree(tier); @GetMapping(value = "/getAreaTierTree")
} public List<AreaDto> getAreaTierTree(@RequestParam Integer tier) {
return iAreaService.getAreaTierTree(tier);
/** }
* 根据父节点查询
*/ /**
@RequestMapping(value = "/lists", method = RequestMethod.GET) * 根据父节点查询
@TycloudOperation(ApiLevel = UserType.AGENCY) */
@ApiOperation(httpMethod = "GET", value = "列表分页查询", notes = "列表分页查询") @RequestMapping(value = "/lists", method = RequestMethod.GET)
public IPage<AreaResquest> listPage(Page page, Area area) { @TycloudOperation(ApiLevel = UserType.AGENCY)
return iAreaService.areaList(page, area); @ApiOperation(httpMethod = "GET", value = "列表分页查询", notes = "列表分页查询")
} public IPage<AreaResquest> listPage(Page page, Area area) {
return iAreaService.areaList(page, area);
}
/**
* 保存数据
*/ /**
@RequestMapping(value = "/saveArea", method = RequestMethod.POST) * 保存数据
@TycloudOperation(ApiLevel = UserType.AGENCY) */
@ApiOperation(httpMethod = "POST", value = "新增区域", notes = "新增新增区域") @RequestMapping(value = "/saveArea", method = RequestMethod.POST)
public Object saveArea(@RequestBody AreaResquest areaResquest) { @TycloudOperation(ApiLevel = UserType.AGENCY)
return iAreaService.saveArea(areaResquest); @ApiOperation(httpMethod = "POST", value = "新增区域", notes = "新增新增区域")
} public Object saveArea(@RequestBody AreaResquest areaResquest) {
return iAreaService.saveArea(areaResquest);
/** }
* 保存数据
*/ /**
@RequestMapping(value = "/updateArea", method = RequestMethod.POST) * 保存数据
@TycloudOperation(ApiLevel = UserType.AGENCY) */
@ApiOperation(httpMethod = "POST", value = "修改区域", notes = "修改新增区域") @RequestMapping(value = "/updateArea", method = RequestMethod.POST)
public Object updateArea(@RequestBody AreaResquest areaResquest) { @TycloudOperation(ApiLevel = UserType.AGENCY)
return iAreaService.updateArea(areaResquest); @ApiOperation(httpMethod = "POST", value = "修改区域", notes = "修改新增区域")
} public Object updateArea(@RequestBody AreaResquest areaResquest) {
return iAreaService.updateArea(areaResquest);
/** }
* 删除数据
*/ /**
@TycloudOperation(ApiLevel = UserType.AGENCY) * 删除数据
@ApiOperation(value = "删除") */
@DeleteMapping(value = "/{instanceId}") @TycloudOperation(ApiLevel = UserType.AGENCY)
public int delete(@PathVariable Long instanceId) { @ApiOperation(value = "删除")
return iAreaService.deleteArea(instanceId); @DeleteMapping(value = "/{instanceId}")
} public int delete(@PathVariable Long instanceId) {
return iAreaService.deleteArea(instanceId);
/** }
* 根据id查询
* /**
* @param instanceId * 根据id查询
* @return *
*/ * @param instanceId
@RequestMapping(value = "/getOne", method = RequestMethod.GET) * @return
@TycloudOperation(ApiLevel = UserType.AGENCY) */
@ApiOperation(httpMethod = "GET", value = "根据id查询", notes = "根据id查询") @RequestMapping(value = "/getOne", method = RequestMethod.GET)
public Map<String, Object> selectById(@RequestParam Long instanceId) { @TycloudOperation(ApiLevel = UserType.AGENCY)
return iAreaService.getById(instanceId); @ApiOperation(httpMethod = "GET", value = "根据id查询", notes = "根据id查询")
} public Map<String, Object> selectById(@RequestParam Long instanceId) {
return iAreaService.getById(instanceId);
}
} }
...@@ -71,4 +71,6 @@ public interface CarMapper extends BaseMapper<Car> { ...@@ -71,4 +71,6 @@ public interface CarMapper extends BaseMapper<Car> {
int equipmentCarListcount(Long teamId, String name,String code,Long id,Boolean isNo); int equipmentCarListcount(Long teamId, String name,String code,Long id,Boolean isNo);
List<CarFusionDto> selectCarAndCarProperty(); List<CarFusionDto> selectCarAndCarProperty();
List<Map<String, Object>> queryCompanyCarStaData();
} }
...@@ -200,4 +200,10 @@ public interface EquipmentSpecificMapper extends BaseMapper<EquipmentSpecific> { ...@@ -200,4 +200,10 @@ public interface EquipmentSpecificMapper extends BaseMapper<EquipmentSpecific> {
* @return 指标详情 * @return 指标详情
*/ */
List<Map<String, String>> getBoxTropicsIndexDetails(); List<Map<String, String>> getBoxTropicsIndexDetails();
/**
* 统计数据
* @return
*/
List<Map<String, Object>> queryCompanyStaData();
} }
...@@ -173,4 +173,9 @@ public interface ICarService extends IService<Car> { ...@@ -173,4 +173,9 @@ public interface ICarService extends IService<Car> {
* @return * @return
*/ */
List<CarFusionDto> getCarFusionList(); List<CarFusionDto> getCarFusionList();
/**
* 更新redis 统计数据
*/
void refreshStaData();
} }
...@@ -194,4 +194,9 @@ public interface IEquipmentSpecificSerivce extends IService<EquipmentSpecific> { ...@@ -194,4 +194,9 @@ public interface IEquipmentSpecificSerivce extends IService<EquipmentSpecific> {
* @return * @return
*/ */
Map<String, List<Map<String, String>>> getFessIndexDetails(); Map<String, List<Map<String, String>>> getFessIndexDetails();
/**
* 更新redis 统计数据
*/
void refreshStaData();
} }
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);
}
package com.yeejoin.equipmanage.service.impl; 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.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
...@@ -53,82 +21,42 @@ import com.yeejoin.equipmanage.common.datasync.entity.FireVehicle; ...@@ -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.CarFusionDto;
import com.yeejoin.equipmanage.common.dto.CarInfoDto; import com.yeejoin.equipmanage.common.dto.CarInfoDto;
import com.yeejoin.equipmanage.common.dto.CarStatusInfoDto; import com.yeejoin.equipmanage.common.dto.CarStatusInfoDto;
import com.yeejoin.equipmanage.common.entity.Car; import com.yeejoin.equipmanage.common.entity.*;
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.dto.CarDto; import com.yeejoin.equipmanage.common.entity.dto.CarDto;
import com.yeejoin.equipmanage.common.entity.publics.BaseEntity; import com.yeejoin.equipmanage.common.entity.publics.BaseEntity;
import com.yeejoin.equipmanage.common.entity.vo.CarIndexVo; import com.yeejoin.equipmanage.common.entity.vo.CarIndexVo;
import com.yeejoin.equipmanage.common.entity.vo.CarPropertyVo; import com.yeejoin.equipmanage.common.entity.vo.CarPropertyVo;
import com.yeejoin.equipmanage.common.entity.vo.EquipmentSpecificVo; import com.yeejoin.equipmanage.common.entity.vo.EquipmentSpecificVo;
import com.yeejoin.equipmanage.common.enums.BillContentEnum; import com.yeejoin.equipmanage.common.enums.*;
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.exception.CommonException; import com.yeejoin.equipmanage.common.exception.CommonException;
import com.yeejoin.equipmanage.common.utils.ArrayUtil; import com.yeejoin.equipmanage.common.utils.*;
import com.yeejoin.equipmanage.common.utils.BillCodeManagerUtil; import com.yeejoin.equipmanage.common.vo.*;
import com.yeejoin.equipmanage.common.utils.DateUtils; import com.yeejoin.equipmanage.mapper.*;
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.remote.RemoteSecurityService; import com.yeejoin.equipmanage.remote.RemoteSecurityService;
import com.yeejoin.equipmanage.service.ICarPropertyService; import com.yeejoin.equipmanage.service.*;
import com.yeejoin.equipmanage.service.ICarService; import org.apache.commons.lang3.StringUtils;
import com.yeejoin.equipmanage.service.IEquipmentCategoryService; import org.gavaghan.geodesy.Ellipsoid;
import com.yeejoin.equipmanage.service.IEquipmentDetailService; import org.gavaghan.geodesy.GeodeticCalculator;
import com.yeejoin.equipmanage.service.IEquipmentIndexService; import org.gavaghan.geodesy.GlobalCoordinates;
import com.yeejoin.equipmanage.service.IEquipmentQrcodeService; import org.springframework.beans.factory.annotation.Autowired;
import com.yeejoin.equipmanage.service.IEquipmentService; import org.springframework.beans.factory.annotation.Value;
import com.yeejoin.equipmanage.service.IJournalService; import org.springframework.context.annotation.Lazy;
import com.yeejoin.equipmanage.service.IManufacturerInfoService; import org.springframework.scheduling.annotation.Async;
import com.yeejoin.equipmanage.service.ISyncDataService; import org.springframework.stereotype.Service;
import com.yeejoin.equipmanage.service.ISystemDicService; import org.springframework.transaction.annotation.Transactional;
import com.yeejoin.equipmanage.service.IUnitService; import org.springframework.util.CollectionUtils;
import com.yeejoin.equipmanage.service.IUploadFileService; 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;
/** /**
* 消防车信息 服务实现类 * 消防车信息 服务实现类
...@@ -211,7 +139,7 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS ...@@ -211,7 +139,7 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS
@Autowired @Autowired
private IEquipmentCategoryService iEquipmentCategoryService; private IEquipmentCategoryService iEquipmentCategoryService;
@Value("${equip.dict.car-state}") @Value("${equip.dict.car-state}")
private String carState; private String carState;
...@@ -1200,15 +1128,15 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS ...@@ -1200,15 +1128,15 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS
LambdaQueryWrapper<Car> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<Car> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(teamId != null, Car::getTeamId, teamId); wrapper.eq(teamId != null, Car::getTeamId, teamId);
wrapper.like(!StringUtil.isEmpty(name), Car::getName, name); wrapper.like(!StringUtil.isEmpty(name), Car::getName, name);
wrapper.in(Car::getCarState,"1","2"); wrapper.in(Car::getCarState, "1", "2");
wrapper.orderByDesc(BaseEntity::getCreateDate); wrapper.orderByDesc(BaseEntity::getCreateDate);
List<Car> carList = this.list(wrapper); List<Car> carList = this.list(wrapper);
List<Equipment> equipmentList = iEquipmentService.list(); List<Equipment> equipmentList = iEquipmentService.list();
/*统一车辆图片使用装备定义图片 2021-10-27 陈召*/ /*统一车辆图片使用装备定义图片 2021-10-27 陈召*/
equipmentList.stream().filter(e->e.getName().contains("车")).forEach(e->{ equipmentList.stream().filter(e -> e.getName().contains("车")).forEach(e -> {
carList.forEach(car->{ carList.forEach(car -> {
if (e.getId().equals(car.getEquipmentId())){ if (e.getId().equals(car.getEquipmentId())) {
List<UploadFile> objects = new ArrayList<>(); List<UploadFile> objects = new ArrayList<>();
UploadFile uploadFile = new UploadFile(); UploadFile uploadFile = new UploadFile();
uploadFile.setUrl(e.getImg()); uploadFile.setUrl(e.getImg());
objects.add(uploadFile); objects.add(uploadFile);
...@@ -1236,7 +1164,7 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS ...@@ -1236,7 +1164,7 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS
carInfoVo.setEquipmentName(equipment != null ? equipment.getName() : ""); carInfoVo.setEquipmentName(equipment != null ? equipment.getName() : "");
carInfoVo.setCategoryId(equipment != null ? equipment.getCategoryId() : null); carInfoVo.setCategoryId(equipment != null ? equipment.getCategoryId() : null);
carInfoVo.setCategoryName(categoryMap.get(carInfoVo.getCategoryId())); carInfoVo.setCategoryName(categoryMap.get(carInfoVo.getCategoryId()));
if (car.getImg() != null){ if (car.getImg() != null) {
List<String> img = new ArrayList<>(); List<String> img = new ArrayList<>();
img.add(car.getImg().get(0).getUrl()); img.add(car.getImg().get(0).getUrl());
carInfoVo.setImage(img); carInfoVo.setImage(img);
...@@ -1299,7 +1227,7 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS ...@@ -1299,7 +1227,7 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS
String orgCode = remoteSecurityService.getAgencyUser().getCompanys().get(0).getOrgCode(); String orgCode = remoteSecurityService.getAgencyUser().getCompanys().get(0).getOrgCode();
car.setOrgCode(orgCode); car.setOrgCode(orgCode);
// @TableField(updateStrategy = FieldStrategy.IGNORED) 置空不生效 为空单独设置 by kongfm 2021-09-09 // @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); boolean update = this.updateById(car);
// AST数据同步 // AST数据同步
if (update && syncSwitch) { if (update && syncSwitch) {
...@@ -1595,12 +1523,11 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS ...@@ -1595,12 +1523,11 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS
return this.getById(carId); return this.getById(carId);
} }
@Override @Override
public Object getCarStateInfoByCarNum(String carNum) { public Object getCarStateInfoByCarNum(String carNum) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return carMapper.getCarStateInfoByCarNum(carNum); return carMapper.getCarStateInfoByCarNum(carNum);
} }
@Override @Override
...@@ -1637,13 +1564,12 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS ...@@ -1637,13 +1564,12 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS
} }
@Override @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); List<Car> carList = carMapper.equipmentCarList(pag.offset(), pag.getSize(), teamId, name, code, id, isNo);
int num =carMapper.equipmentCarListcount( teamId, name, code,id,isNo); int num = carMapper.equipmentCarListcount(teamId, name, code, id, isNo);
List<Equipment> equipmentList = iEquipmentService.list(); List<Equipment> equipmentList = iEquipmentService.list();
Map<Long, Equipment> keyMap = equipmentList.stream().collect(Collectors.toMap(BaseEntity::getId, Function.identity())); 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 ...@@ -1657,7 +1583,7 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS
List<Map<String, Object>> carResourceMapList = this.baseMapper.getCarResourceMapList(null); List<Map<String, Object>> carResourceMapList = this.baseMapper.getCarResourceMapList(null);
Map<String, List<Map<String, Object>>> carResourceMap = Map<String, List<Map<String, Object>>> carResourceMap =
carResourceMapList.stream().collect(Collectors.groupingBy(car -> car.get("carId").toString())); 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(); CarInfoDto carInfoVo = new CarInfoDto();
Bean.copyExistPropertis(car, carInfoVo); Bean.copyExistPropertis(car, carInfoVo);
Equipment equipment = keyMap.get(carInfoVo.getEquipmentId()); Equipment equipment = keyMap.get(carInfoVo.getEquipmentId());
...@@ -1669,7 +1595,7 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS ...@@ -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())); 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<>(); List<String> img = new ArrayList<>();
img.add(equipment.getImg()); img.add(equipment.getImg());
carInfoVo.setImage(img); carInfoVo.setImage(img);
...@@ -1690,4 +1616,14 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS ...@@ -1690,4 +1616,14 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS
List<CarFusionDto> carFusionDtos = this.baseMapper.selectCarAndCarProperty(); List<CarFusionDto> carFusionDtos = this.baseMapper.selectCarAndCarProperty();
return carFusionDtos; 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; 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.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
...@@ -39,83 +16,34 @@ import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; ...@@ -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.datasync.entity.FireEquipment;
import com.yeejoin.equipmanage.common.dto.EquipmentSpecificDto; import com.yeejoin.equipmanage.common.dto.EquipmentSpecificDto;
import com.yeejoin.equipmanage.common.dto.UserDto; import com.yeejoin.equipmanage.common.dto.UserDto;
import com.yeejoin.equipmanage.common.entity.EquProperty; import com.yeejoin.equipmanage.common.entity.*;
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.dto.EquipmentSpecificDTO; import com.yeejoin.equipmanage.common.entity.dto.EquipmentSpecificDTO;
import com.yeejoin.equipmanage.common.entity.vo.AlamVideoVO; import com.yeejoin.equipmanage.common.entity.vo.*;
import com.yeejoin.equipmanage.common.entity.vo.AlarmInfoVO; import com.yeejoin.equipmanage.common.enums.*;
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.exception.BaseException; import com.yeejoin.equipmanage.common.exception.BaseException;
import com.yeejoin.equipmanage.common.utils.DateUtils; import com.yeejoin.equipmanage.common.utils.DateUtils;
import com.yeejoin.equipmanage.common.utils.QRCodeUtil; import com.yeejoin.equipmanage.common.utils.QRCodeUtil;
import com.yeejoin.equipmanage.common.utils.StringUtil; import com.yeejoin.equipmanage.common.utils.StringUtil;
import com.yeejoin.equipmanage.common.vo.EquipFor3DVO; import com.yeejoin.equipmanage.common.vo.*;
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.config.EquipmentIotMqttReceiveConfig; import com.yeejoin.equipmanage.config.EquipmentIotMqttReceiveConfig;
import com.yeejoin.equipmanage.mapper.EquipmentIndexMapper; import com.yeejoin.equipmanage.mapper.*;
import com.yeejoin.equipmanage.mapper.EquipmentSpecificAlarmMapper; import com.yeejoin.equipmanage.service.*;
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.utils.RelationRedisUtil; 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 * @author ZeHua Li
...@@ -179,7 +107,7 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM ...@@ -179,7 +107,7 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
@Autowired @Autowired
IEquipmentIndexService iEquipmentIndexService; IEquipmentIndexService iEquipmentIndexService;
@Autowired @Autowired
private IVideoService videoService; private IVideoService videoService;
...@@ -203,7 +131,7 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM ...@@ -203,7 +131,7 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
@Autowired @Autowired
private RelationRedisUtil relationRedisUtil; private RelationRedisUtil relationRedisUtil;
@Autowired @Autowired
private VideoMapper videoMapper; private VideoMapper videoMapper;
...@@ -470,7 +398,7 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM ...@@ -470,7 +398,7 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
SimpleDateFormat stf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat stf = new SimpleDateFormat("yyyy-MM-dd");
// @TableField(updateStrategy = FieldStrategy.IGNORED) 置空不生效 为空单独设置 by kongfm 2021-09-10 // @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())); 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()); equipmentSpecific.setWarehouseStructureId(equipmentSpecific.getStockDetail().getWarehouseStructureId());
} }
boolean updateById = this.updateById(equipmentSpecific); boolean updateById = this.updateById(equipmentSpecific);
...@@ -1061,23 +989,23 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM ...@@ -1061,23 +989,23 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
} }
@Override @Override
public Object getOneCard(Long id, String type) { public Object getOneCard(Long id, String type) {
if(BitmapEnum.video.getKey().equals(type)){ if (BitmapEnum.video.getKey().equals(type)) {
AlamVideoVO video = videoMapper.getVideoById(id); 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())); video.setUrl(videoService.getVideoUrl(video.getName().toString(), video.getPresetPosition(), video.getUrl(), video.getCode()));
} }
return video; return video;
}else{ } else {
DetailPaneVO detailPaneVO = new DetailPaneVO(); DetailPaneVO detailPaneVO = new DetailPaneVO();
Map<String, String> map = this.baseMapper.getQrCodeAndPic(id); Map<String, String> map = this.baseMapper.getQrCodeAndPic(id);
if(ObjectUtils.isEmpty(map)){ if (ObjectUtils.isEmpty(map)) {
return detailPaneVO; return detailPaneVO;
} }
detailPaneVO.setQrCode(map.get("qrCode")); detailPaneVO.setQrCode(map.get("qrCode"));
detailPaneVO.setPic(map.get("pic")); detailPaneVO.setPic(map.get("pic"));
detailPaneVO.setItems(this.baseMapper.getOneCard(id)); detailPaneVO.setItems(this.baseMapper.getOneCard(id));
return detailPaneVO; return detailPaneVO;
} }
} }
...@@ -1230,7 +1158,7 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM ...@@ -1230,7 +1158,7 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
equipmentSpecific.setEquipmentDetailId(equipmentDetail.getId()); equipmentSpecific.setEquipmentDetailId(equipmentDetail.getId());
equipmentSpecific.setQrCode(qrCode); equipmentSpecific.setQrCode(qrCode);
equipmentSpecific.setOrgCode(reginParams.getCompany().getOrgCode()); 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()); equipmentSpecific.setWarehouseStructureId(equipmentSpecific.getStockDetail().getWarehouseStructureId());
} }
boolean save = this.save(equipmentSpecific); boolean save = this.save(equipmentSpecific);
...@@ -1308,15 +1236,15 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM ...@@ -1308,15 +1236,15 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
equipmentSpecificBatch.setQrCode(list.get(i)); equipmentSpecificBatch.setQrCode(list.get(i));
equipmentSpecificBatch.setOrgCode(reginParams.getCompany().getOrgCode()); equipmentSpecificBatch.setOrgCode(reginParams.getCompany().getOrgCode());
equipmentSpecificBatch.setEquipmentDetailId(equipmentDetails.get(i).getId()); 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()); equipmentSpecificBatch.setWarehouseStructureId(equipmentSpecific.getStockDetail().getWarehouseStructureId());
} }
equipmentSpecifics.add(equipmentSpecificBatch); equipmentSpecifics.add(equipmentSpecificBatch);
fireFightSysIdsBuffer.append(equipmentSpecificBatch.getSystemId() + ","); fireFightSysIdsBuffer.append(equipmentSpecificBatch.getSystemId() + ",");
} }
this.saveBatch(equipmentSpecifics); this.saveBatch(equipmentSpecifics);
//4.初始化统计表 //4.初始化统计表
initEquipmentSystemSourceStatistics(equipmentSpecifics); initEquipmentSystemSourceStatistics(equipmentSpecifics);
//没传仓库的情况下,默认单个仓库 //没传仓库的情况下,默认单个仓库
...@@ -1402,7 +1330,7 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM ...@@ -1402,7 +1330,7 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
buildEquipmentSpecificIndices(equipmentSpecificIndices, equProperties, specific, equipmentData.getEquipmentDetail().getName()); buildEquipmentSpecificIndices(equipmentSpecificIndices, equProperties, specific, equipmentData.getEquipmentDetail().getName());
} }
equipmentSpecificIndexSerivce.saveBatch(equipmentSpecificIndices); equipmentSpecificIndexSerivce.saveBatch(equipmentSpecificIndices);
//页面参数返回数据处理 //页面参数返回数据处理
EquipmentSpecific resultEquipSpec = equipmentSpecifics.get(0); EquipmentSpecific resultEquipSpec = equipmentSpecifics.get(0);
resultEquipSpec.setNum(1); resultEquipSpec.setNum(1);
...@@ -1416,7 +1344,7 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM ...@@ -1416,7 +1344,7 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
equipmentSpecific.setOrgCode(reginParams.getCompany().getOrgCode()); equipmentSpecific.setOrgCode(reginParams.getCompany().getOrgCode());
equipmentSpecific.setEquipmentDetailId(equipmentDetail.getId()); equipmentSpecific.setEquipmentDetailId(equipmentDetail.getId());
equipmentSpecific.setCreateDate(new Date()); 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()); equipmentSpecific.setWarehouseStructureId(equipmentSpecific.getStockDetail().getWarehouseStructureId());
} }
//插入设备数据 //插入设备数据
...@@ -1657,4 +1585,15 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM ...@@ -1657,4 +1585,15 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
map.put("tropics", tropicsIndexDetails); map.put("tropics", tropicsIndexDetails);
return map; 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();
}
} }
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 + "*";
}
}
...@@ -604,4 +604,19 @@ ...@@ -604,4 +604,19 @@
from wl_car wc LEFT JOIN wl_car_property wcp on wc.id = wcp.car_id 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'); where wcp.equipment_index_key in ('FAS_Car_Video', 'FAS_Car_GIS');
</select> </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> </mapper>
...@@ -1441,4 +1441,19 @@ ...@@ -1441,4 +1441,19 @@
WHERE WHERE
s.equipment_code = '92251100TZE44' s.equipment_code = '92251100TZE44'
</select> </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> </mapper>
\ No newline at end of file
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