Commit 9dad0c39 authored by maoying's avatar maoying

合并developer代码解决冲突

parents 11c91ca0 9a8983d2
package com.yeejoin.equipmanage.common.datasync.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
@Data
@ApiModel(value = "详情返回数据", description = "设备数据")
public class FireEquipmentVO implements Serializable {
@ApiModelProperty(value = "所在建筑ID")
@TableField("buildid")
private String buildId;
private String parentId;
private String instanceId;
private String bizOrgCode;
}
......@@ -196,6 +196,9 @@ public class EquipmentSpecificAlarmLog extends BaseEntity {
@TableField(exist = false)
private String jcsConfirmUserName;
@ApiModelProperty(value = "画布中建筑ID", notes = "告警详情 配置点位里用")
@TableField(exist = false)
private String sourceId;
/**
* 颜色
*/
......
......@@ -3,6 +3,9 @@ package com.yeejoin.equipmanage.common.vo;
import cn.afterturn.easypoi.excel.annotation.Excel;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.alibaba.excel.metadata.BaseRowModel;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
......@@ -18,6 +21,9 @@ import java.util.List;
* @date 2021-07-16
*/
@Data
@HeadRowHeight(30)
@ContentRowHeight(23)
@ColumnWidth(24)
@ApiModel(value = "MaintenanceResourceDataVo", description = "维保设施资源数据Vo")
public class MaintenanceResourceDataVo extends BaseRowModel {
......
......@@ -354,6 +354,7 @@ public class MaintenanceCompanyServiceImpl
LambdaQueryWrapper<MaintenanceCompany> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(MaintenanceCompany::getType, code);
queryWrapper.eq(MaintenanceCompany::getAmosId, userId);
queryWrapper.eq(MaintenanceCompany::getIsDelete, false);
return this.baseMapper.selectList(queryWrapper);
}
......
......@@ -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,30 +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();
return new CommonResponse(SUCCESS);
......@@ -1099,33 +1071,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.controller;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
import com.yeejoin.equipmanage.common.entity.vo.EquiplistSpecificBySystemVO;
......@@ -226,6 +223,22 @@ public class EquipmentSpecificController extends AbstractBaseController {
}
/**
* 获取instanceId和orgCode
*
* @param sourceId
* @return
*/
@RequestMapping(value = "/getInstanceIdAndOrgCode", method = RequestMethod.GET)
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "获取instanceId和orgCode", notes = "获取instanceId和orgCode")
public ResponseModel getInstanceIdAndOrgCode(@RequestParam Long sourceId) {
if (Objects.isNull(sourceId)) {
return CommonResponseUtil.success(null);
}
return CommonResponseUtil.success(equipmentSpecificSerivce.getInstanceIdAndOrgCode(sourceId));
}
/**
* @param like 设备名称或编码code
* @param notLike wl_equipment_category,code不包含(右%),多个用英文逗号隔开
* @param status wl_stock_detail.status
......
......@@ -5,6 +5,7 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import com.yeejoin.equipmanage.common.datasync.vo.FireEquipmentVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -121,6 +122,8 @@ public interface EquipmentSpecificMapper extends BaseMapper<EquipmentSpecific> {
FireEquipment getEquipSpecificDetail(Long id);
FireEquipmentVO getEquipSpecificDetail2(Long id);
List<EquipmentCategory> getEquipSpeTypeByQrcode(@Param("qrCode") String qrCode);
List<FireEquipment> getEquipSpecificDetailsByEquipmentId(Long equipmentId);
......
......@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
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.EquipmentSpecific;
......@@ -115,6 +116,14 @@ public interface IEquipmentSpecificSerivce extends IService<EquipmentSpecific> {
*/
FireEquipment getEquipSpecificDetail(EquipmentSpecific equipmentSpecific);
/**
* 获取instanceId和orgCode
*
* @param sourceId
* @return
*/
FireEquipmentVO getInstanceIdAndOrgCode(Long sourceId);
void equipSpecificDataSync(Long equipmentId);
List<FireEquipment> getEquipSpecificDetailsByEquipmentId(Long equipmentId);
......
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.apache.commons.lang.StringUtils;
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;
......@@ -14,37 +38,98 @@ 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.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.FormInstance;
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.SourceTypeEnum;
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.FormInstanceMapper;
import com.yeejoin.equipmanage.mapper.SignalClassifyMapper;
import com.yeejoin.equipmanage.mapper.UploadFileMapper;
import com.yeejoin.equipmanage.mapper.VideoMapper;
import com.yeejoin.equipmanage.mapper.WarehouseStructureMapper;
import com.yeejoin.equipmanage.service.ICarService;
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;
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
......@@ -69,8 +154,7 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
IStockBillDetailService stockBillDetailService;
@Autowired
IStockBillService stockBillService;
@Autowired
EquipmentIotMqttReceiveConfig equipmentIotMqttReceiveConfig;
@Autowired
EquipmentSpecificAlarmMapper equipmentSpecificAlarmMapper;
@Autowired
......@@ -150,6 +234,12 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
@Lazy
IEquipmentSpecificAlarmService equipmentSpecificAlarmService;
@Autowired
WarehouseStructureMapper warehouseStructureMapper;
@Autowired
FormInstanceMapper formInstanceMapper;
@Value("${systemctl.sync.switch}")
private Boolean syncSwitch;
......@@ -501,38 +591,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) {
......@@ -988,27 +1050,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;
......@@ -1467,12 +1508,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;
......@@ -1484,6 +1519,35 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
}
@Override
public FireEquipmentVO getInstanceIdAndOrgCode(Long sourceId) {
FireEquipmentVO finalVo = new FireEquipmentVO();
WarehouseStructure warehouseStructure = warehouseStructureMapper.selectById(sourceId);
if (0 == warehouseStructure.getParentId()) {
finalVo.setInstanceId(String.valueOf(warehouseStructure.getSourceId()));
finalVo.setBizOrgCode(warehouseStructure.getBizOrgCode());
} else {
warehouseStructure = getWarehouseStructure(warehouseStructureMapper.selectById(warehouseStructure.getParentId()));
finalVo.setInstanceId(String.valueOf(warehouseStructure.getSourceId()));
finalVo.setBizOrgCode(warehouseStructure.getBizOrgCode());
}
QueryWrapper<FormInstance> qw = new QueryWrapper<>();
qw.lambda().eq(FormInstance::getInstanceId, sourceId)
.eq(FormInstance::getFieldName, "bizOrgCode");
FormInstance formInstance = formInstanceMapper.selectOne(qw);
finalVo.setBizOrgCode(formInstance.getFieldValue());
return finalVo;
}
public WarehouseStructure getWarehouseStructure(WarehouseStructure warehouseStructure) {
if (0 == warehouseStructure.getParentId()) {
return warehouseStructure;
} else {
warehouseStructure = warehouseStructureMapper.selectById(warehouseStructure.getParentId());
return getWarehouseStructure(warehouseStructure);
}
}
@Override
public String getEquipSpeTypeByQrcode(String qrCode) {
List<EquipmentCategory> list = this.baseMapper.getEquipSpeTypeByQrcode(qrCode);
if (list != null && list.size() > 0) {
......@@ -1568,9 +1632,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;
......@@ -747,9 +766,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
......
package com.yeejoin.amos.maintenance.business.controller;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.maintenance.business.feign.JCSFeignClient;
import com.yeejoin.amos.maintenance.business.param.PlanTaskPageParam;
import com.yeejoin.amos.maintenance.business.service.intfc.IPlanTaskService;
import com.yeejoin.amos.maintenance.business.service.intfc.IPointService;
......@@ -15,6 +16,7 @@ import com.yeejoin.amos.maintenance.common.enums.PlanTaskOrderByEnum;
import com.yeejoin.amos.maintenance.core.common.request.CommonPageable;
import com.yeejoin.amos.maintenance.core.common.request.CommonRequest;
import com.yeejoin.amos.maintenance.core.framework.PersonIdentify;
import com.yeejoin.amos.maintenance.core.util.StringUtil;
import com.yeejoin.amos.maintenance.exception.YeeException;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
......@@ -51,6 +53,9 @@ public class PlanTaskController extends AbstractBaseController {
@Autowired
IPointService pointService;
@Autowired
JCSFeignClient jcsFeignClient;
/**
* 计划执行查询
*
......@@ -203,6 +208,12 @@ public class PlanTaskController extends AbstractBaseController {
params.put("companyId", companyId);
params.put("orgCode", loginOrgCode);
params.put("userId", userId);
if (StringUtil.isNotEmpty(userId)) {
ResponseModel<String> idByAmosOrgId = jcsFeignClient.getIdByAmosOrgId(String.valueOf(userId));
if (StringUtil.isNotEmpty(idByAmosOrgId.getResult())) {
params.put("userId", idByAmosOrgId.getResult());
}
}
params.put("startTime", startTime);
params.put("endTime", endTime);
params.put("finishStatus", finishStatus);
......
......@@ -273,23 +273,23 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
log.info(strDate + " " + " 暂无待生成执行数据的计划");
return;
}
//bug 5980 待办任务消息应只触发执行中的任务,漏检的任务和未开始的任务不需要触发待办任务消息.
List<Plan> planListTwo = new ArrayList<>();
//将日期格式化
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm:ss");
LocalTime nowTime = LocalTime.parse(simpleDateFormat.format(new Date()));
for (Plan plan : planList) {
LocalTime dayTime = LocalTime.parse(plan.getDayTime());
// LocalTime plusHoursTime = dayTime.plusHours(1);
if (getTimeDifference(nowTime, dayTime)) {
planListTwo.add(plan);
}
}
if (planListTwo == null || planListTwo.size() <= 0) {
log.info(strDate + " " + " 暂无待生成执行数据的计划 (更改后,只执行进行中的数据)");
return;
}
planList = planListTwo;
// //bug 5980 待办任务消息应只触发执行中的任务,漏检的任务和未开始的任务不需要触发待办任务消息.
// List<Plan> planListTwo = new ArrayList<>();
// //将日期格式化
// SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm:ss");
// LocalTime nowTime = LocalTime.parse(simpleDateFormat.format(new Date()));
// for (Plan plan : planList) {
// LocalTime dayTime = LocalTime.parse(plan.getDayTime());
//// LocalTime plusHoursTime = dayTime.plusHours(1);
// if (getTimeDifference(nowTime, dayTime)) {
// planListTwo.add(plan);
// }
// }
// if (planListTwo == null || planListTwo.size() <= 0) {
// log.info(strDate + " " + " 暂无待生成执行数据的计划 (更改后,只执行进行中的数据)");
// return;
// }
// planList = planListTwo;
//2.循环遍历执行
HashMap<String, Object> paramMap = new HashMap<String, Object>();
for (Plan plan : planList) {
......
......@@ -801,6 +801,10 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
}
public void sendMessage(Plan plan) throws Exception {
Toke toke= remoteSecurityService.getServerToken();
RequestContext.setToken(toke.getToke());
RequestContext.setProduct(toke.getProduct());
RequestContext.setAppKey(toke.getAppKey());
// 查询检查对象对应防火监督负责人id
List<String> extraUserIds = Lists.newArrayList();
List<Point> pointList = pointMapper.getPointByPlanId(String.valueOf(plan.getId()));
......
......@@ -14,6 +14,16 @@
and EXISTS (SELECT distinct fi.instance_id from wl_form_instance fi where fi.instance_id = sou.source_id)
limit 1
) AS sceneId,
(
SELECT
sou.source_id
FROM
wl_source_scene sou
WHERE
find_in_set(ala.equipment_specific_id,sou.point_in_scene)>0
and EXISTS (SELECT distinct fi.instance_id from wl_form_instance fi where fi.instance_id = sou.source_id)
limit 1
) AS sourceId,
ala.equipment_specific_id,
spe.code AS equipmentSpecificCode,
ala.equipment_specific_index_name,
......
......@@ -777,6 +777,21 @@
WHERE
es.id = #{id}
</select>
<select id="getEquipSpecificDetail2"
resultType="com.yeejoin.equipmanage.common.datasync.vo.FireEquipmentVO">
SELECT
ws.source_id AS buildid,
ws.parent_id AS parentId,
ws.biz_org_code AS bizOrgCode
FROM
wl_equipment_specific es
LEFT JOIN wl_stock_detail sd ON sd.equipment_specific_id = es.id
LEFT JOIN wl_warehouse_structure ws ON ws.id = sd.warehouse_structure_id
WHERE
es.id = #{id}
</select>
<select id="getEquipSpecificDetailsByEquipmentId"
resultType="com.yeejoin.equipmanage.common.datasync.entity.FireEquipment">
SELECT
......
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