Commit cbbad08e authored by maoying's avatar maoying

解决合并冲突

parents e2d5c8b6 db0fbb7b
......@@ -94,8 +94,6 @@ public class CarController extends AbstractBaseController {
EquipmentQrcodeMapper equipmentQrcodeMapper;
@Resource(name = "productionQRCodeFactoryMap")
private Map<String, ProductionQRCode> messageHandMap;
@Autowired
EquipmentIotMqttReceiveConfig equipmentIotMqttReceiveConfig;
@Autowired
ICarLonAndLatDataService iCarLonAndLatDataService;
......@@ -183,7 +181,6 @@ public class CarController extends AbstractBaseController {
EquipmentSpecificSerivceImpl.registerMqttTopic(car.getIotCode(), equipmentIotMqttReceiveConfig);
car.setQrCode(QRCodeUtil.generateQRCode());
List<CarProperty> carPropertyList = car.getCarPropertyList();
if (carPropertyList.size() > 0) {
......@@ -330,7 +327,6 @@ public class CarController extends AbstractBaseController {
//用来解绑车辆
jcsFeign.getUserCar(car.getId(),car.getTeamId());
EquipmentSpecificSerivceImpl.registerMqttTopic(car.getIotCode(), equipmentIotMqttReceiveConfig);
Car oldCar = iCarService.getById(car.getId());
Car car1 = iCarService.updateOneById(car);
CarController controllerProxy = SpringUtils.getBean(CarController.class);
......@@ -363,29 +359,6 @@ public class CarController extends AbstractBaseController {
syncDataService.syncDeletedFireVehicle(carIds);
iCarService.dataSyncDeletedIds(carIds);
}
String[] topics = equipmentIotMqttReceiveConfig.adapter.getTopic();
boolean flag = false;
for (String id : idStrings) {
String iotCode = iCarService.getById(id).getIotCode();
if (StringUtil.isNotEmpty(iotCode)) {
String prefix = iotCode.substring(0, 8);
String suffix = iotCode.substring(8);
String oldTopic = prefix + "/" + suffix + "/property";
for (String topic : topics) {
if (topic.equals(oldTopic)) {
flag = true;
break;
}
}
if (flag) {
try {
equipmentIotMqttReceiveConfig.adapter.removeTopic(prefix + "/" + suffix + "/property");
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
CarController controllerProxy = SpringUtils.getBean(CarController.class);
controllerProxy.refreshAllCount();
......@@ -1099,33 +1072,11 @@ public class CarController extends AbstractBaseController {
public boolean delete(HttpServletRequest request, @RequestBody List<Long> idList) throws Exception {
List<Car> cars = iCarService.list(new QueryWrapper<Car>().in("id", idList));
String[] topics = equipmentIotMqttReceiveConfig.adapter.getTopic();
cars.forEach(car -> {
List<EquipmentOnCarAppVO> equipmentOnCarAppVOS = carMapper.selectEquipmentOnCarAppList(car.getId());
if (equipmentOnCarAppVOS.size() > 0) {
throw new BadRequest("有车载装备的车辆不能删除,请先卸载装备!");
}
boolean flag = false;
String iotCode = car.getIotCode();
if (StringUtil.isNotEmpty(car.getIotCode()) && iotCode.length() > 8) {
String prefix = iotCode.substring(0, 8);
String suffix = iotCode.substring(8);
String oldTopic = prefix + "/" + suffix + "/property";
for (String topic : topics) {
if (topic.equals(oldTopic)) {
flag = true;
break;
}
}
if (flag) {
try {
equipmentIotMqttReceiveConfig.adapter.removeTopic(prefix + "/" + suffix + "/property");
} catch (Exception e) {
e.printStackTrace();
}
}
}
});
boolean flag = iCarService.removeOneByIds(idList);
if (flag) {
......
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.LambdaQueryWrapper;
......@@ -17,18 +40,89 @@ import com.yeejoin.equipmanage.common.datasync.entity.FireEquipment;
import com.yeejoin.equipmanage.common.datasync.vo.FireEquipmentVO;
import com.yeejoin.equipmanage.common.dto.EquipmentSpecificDto;
import com.yeejoin.equipmanage.common.dto.UserDto;
import com.yeejoin.equipmanage.common.entity.*;
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.FireFightingSystemEntity;
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.VideoEquipmentSpecific;
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.vo.*;
import com.yeejoin.equipmanage.common.enums.*;
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.AlarmStatusEnum;
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.utils.DateUtils;
import com.yeejoin.equipmanage.common.utils.QRCodeUtil;
import com.yeejoin.equipmanage.common.utils.StringUtil;
import com.yeejoin.equipmanage.common.vo.*;
import com.yeejoin.equipmanage.config.EquipmentIotMqttReceiveConfig;
import com.yeejoin.equipmanage.mapper.*;
import com.yeejoin.equipmanage.service.*;
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.VideoOnEquipmentSpecificVo;
import com.yeejoin.equipmanage.mapper.EquipmentIndexMapper;
import com.yeejoin.equipmanage.mapper.EquipmentSpecificAlarmMapper;
import com.yeejoin.equipmanage.mapper.EquipmentSpecificMapper;
import com.yeejoin.equipmanage.mapper.FireFightingSystemMapper;
import com.yeejoin.equipmanage.mapper.SignalClassifyMapper;
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.IEquipmentSpecificAlarmService;
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.IVideoEquipmentSpecificService;
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 org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
......@@ -70,8 +164,7 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
IStockBillDetailService stockBillDetailService;
@Autowired
IStockBillService stockBillService;
@Autowired
EquipmentIotMqttReceiveConfig equipmentIotMqttReceiveConfig;
@Autowired
EquipmentSpecificAlarmMapper equipmentSpecificAlarmMapper;
@Autowired
......@@ -508,38 +601,10 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
stockBillDetailService.save(stockBillDetail);
}
}
registerMqttTopic(equipmentSpecific.getIotCode(), equipmentIotMqttReceiveConfig);
return equipmentSpecific;
}
public static void registerMqttTopic(String iotCode, EquipmentIotMqttReceiveConfig equipmentIotMqttReceiveConfig) {
regEquipMqttTopic(iotCode, equipmentIotMqttReceiveConfig);
}
private static void regEquipMqttTopic(String iotCode, EquipmentIotMqttReceiveConfig equipmentIotMqttReceiveConfig) {
if (StringUtil.isNotEmpty(iotCode)) {
String[] topics = equipmentIotMqttReceiveConfig.adapter.getTopic();
if (8 < iotCode.length()) {
String prefix = iotCode.substring(0, 8);
String suffix = iotCode.substring(8);
String newTopic = prefix + "/" + suffix + "/property";
boolean flag = false;
for (String topic : topics) {
if (topic.equals(newTopic)) {
flag = true;
break;
}
}
if (!flag) {
try {
equipmentIotMqttReceiveConfig.adapter.addTopic(prefix + "/" + suffix + "/property", 1);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}
@Override
public Map<String, Object> getAll(Long id) {
......@@ -995,27 +1060,6 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
equipmentDetailService.removeById(equipmentSpecific.getEquipmentDetailId());
}
if (res > 0) {
String iotCode = equipmentSpecific.getIotCode();
if (StringUtil.isNotEmpty(iotCode)) {
String[] topics = equipmentIotMqttReceiveConfig.adapter.getTopic();
String prefix = iotCode.substring(0, 8);
String suffix = iotCode.substring(8);
String oldTopic = prefix + "/" + suffix + "/property";
boolean flag = false;
for (String topic : topics) {
if (topic.equals(oldTopic)) {
flag = true;
break;
}
}
if (flag) {
try {
equipmentIotMqttReceiveConfig.adapter.removeTopic(prefix + "/" + suffix + "/property");
} catch (Exception e) {
e.printStackTrace();
}
}
}
return true;
} else {
return false;
......@@ -1474,12 +1518,6 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
//装备实例对应的性能指标保存
equipmentSpecificIndexSave(equipmentData, equipmentSpecific);
}
//公共:非批量管理,注册物理监听主题
equipmentSpecifics.forEach(e -> {
if (StringUtil.isNotEmpty(e.getIotCode())) {
registerTopic(e.getIotCode());
}
});
}
relationRedisUtil.delSysRedisKey(fireFightSysIdsBuffer.toString());
return equipmentData;
......@@ -1604,9 +1642,6 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
equipmentSystemSourceStatisticsService.saveBatch(list);
}
private void registerTopic(String iotCode) {
regEquipMqttTopic(iotCode, equipmentIotMqttReceiveConfig);
}
@Override
@Transactional(rollbackFor = Exception.class)
......
package com.yeejoin.equipmanage.service.impl;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import com.sun.org.apache.bcel.internal.generic.RETURN;
import com.yeejoin.equipmanage.common.entity.*;
import com.yeejoin.equipmanage.common.utils.SpringUtils;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.equipmanage.common.entity.vo.EquipmentSpecificVo;
import com.yeejoin.equipmanage.common.enums.*;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
......@@ -27,18 +24,41 @@ import org.springframework.transaction.support.TransactionSynchronization;
import org.springframework.transaction.support.TransactionSynchronizationManager;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.equipmanage.common.entity.Equipment;
import com.yeejoin.equipmanage.common.entity.EquipmentDetail;
import com.yeejoin.equipmanage.common.entity.EquipmentIndex;
import com.yeejoin.equipmanage.common.entity.EquipmentManageEntity;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecific;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecificIndex;
import com.yeejoin.equipmanage.common.entity.EquipmentSystemSourceStatistics;
import com.yeejoin.equipmanage.common.entity.FireFightingSystemEntity;
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.StockBill;
import com.yeejoin.equipmanage.common.entity.StockBillDetail;
import com.yeejoin.equipmanage.common.entity.StockDetail;
import com.yeejoin.equipmanage.common.entity.WarehouseStructure;
import com.yeejoin.equipmanage.common.entity.vo.EquipmentDetailDownloadVO;
import com.yeejoin.equipmanage.common.entity.vo.EquipmentSpecificVo;
import com.yeejoin.equipmanage.common.enums.BillContentEnum;
import com.yeejoin.equipmanage.common.enums.EquipStatusEnum;
import com.yeejoin.equipmanage.common.enums.JournalTypeEnum;
import com.yeejoin.equipmanage.common.enums.NoticeEnum;
import com.yeejoin.equipmanage.common.enums.StockBillTypeEnum;
import com.yeejoin.equipmanage.common.utils.ExcelUtils;
import com.yeejoin.equipmanage.common.utils.QRCodeUtil;
import com.yeejoin.equipmanage.common.utils.SpringUtils;
import com.yeejoin.equipmanage.common.utils.StringUtil;
import com.yeejoin.equipmanage.common.vo.StockDataVO;
import com.yeejoin.equipmanage.config.EquipmentIotMqttReceiveConfig;
import com.yeejoin.equipmanage.dto.EquipmentDetailDownloadTemplateDto;
import com.yeejoin.equipmanage.mapper.EquipmentDetailMapper;
import com.yeejoin.equipmanage.mapper.EquipmentMapper;
......@@ -96,8 +116,7 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
private ProductionQRCode equipmentProductionQRCode;
@Autowired
private IEquipmentSpecificIndexSerivce iEquipmentSpecificIndexSerivce;
@Autowired
EquipmentIotMqttReceiveConfig equipmentIotMqttReceiveConfig;
@Autowired
IManufacturerInfoService manufacturerInfoService;
......@@ -752,9 +771,6 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
if (!equipmentSpecificIndices.isEmpty()) {
iEquipmentSpecificIndexSerivce.saveBatch(equipmentSpecificIndices);
}
if (equipmentSpecific.getSingle() && StringUtil.isNotEmpty(equipmentSpecific.getIotCode())) {
EquipmentSpecificSerivceImpl.registerMqttTopic(equipmentSpecific.getIotCode(), equipmentIotMqttReceiveConfig);
}
}
@Override
......
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