Commit f119683d authored by limei's avatar limei

Merge branch 'develop_dl_plan6' of http://39.98.45.134:8090/moa/amos-boot-biz into develop_dl_plan6

parents 8dcb26c5 78b39f18
...@@ -9,4 +9,21 @@ ...@@ -9,4 +9,21 @@
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>amos-boot-module-ccs-api</artifactId> <artifactId>amos-boot-module-ccs-api</artifactId>
<dependencies>
<dependency>
<groupId>org.typroject</groupId>
<artifactId>tyboot-component-emq</artifactId>
<version>1.1.20</version>
<exclusions>
<exclusion>
<groupId>org.typroject</groupId>
<artifactId>*</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</project> </project>
\ No newline at end of file
...@@ -5,6 +5,7 @@ import cn.hutool.core.date.DateUtil; ...@@ -5,6 +5,7 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.yeejoin.amos.boot.module.ccs.api.dto.FireStationInfoDto; import com.yeejoin.amos.boot.module.ccs.api.dto.FireStationInfoDto;
import com.yeejoin.amos.boot.module.ccs.api.entity.FireEquipmentSignalLog; import com.yeejoin.amos.boot.module.ccs.api.entity.FireEquipmentSignalLog;
...@@ -17,12 +18,15 @@ import com.yeejoin.amos.boot.module.ccs.api.vo.RawDataVO; ...@@ -17,12 +18,15 @@ import com.yeejoin.amos.boot.module.ccs.api.vo.RawDataVO;
import com.yeejoin.amos.boot.module.ccs.api.vo.ReceiveDataVO; import com.yeejoin.amos.boot.module.ccs.api.vo.ReceiveDataVO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.typroject.tyboot.component.emq.EmqKeeper;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest; import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -43,6 +47,10 @@ public class MqttReceiveServiceImpl implements MqttReceiveService { ...@@ -43,6 +47,10 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
@Autowired @Autowired
private FireEquipmentSignalLogMapper fireEquipmentSignalLogMapper; private FireEquipmentSignalLogMapper fireEquipmentSignalLogMapper;
@Autowired
protected EmqKeeper emqKeeper;
public static final String EMERGENCY_ALARM_DATA_REFRESH = "emergency/alarm/data/refresh";
//TODO 逻辑待补充 //TODO 逻辑待补充
@Override @Override
...@@ -92,6 +100,15 @@ public class MqttReceiveServiceImpl implements MqttReceiveService { ...@@ -92,6 +100,15 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
fireEquipmentSignalLog.setLng(oneByCode.getLng()); fireEquipmentSignalLog.setLng(oneByCode.getLng());
fireEquipmentSignalLog.setLat(oneByCode.getLat()); fireEquipmentSignalLog.setLat(oneByCode.getLat());
fireEquipmentSignalLogMapper.insert(fireEquipmentSignalLog); fireEquipmentSignalLogMapper.insert(fireEquipmentSignalLog);
// 发送mqtt消息--刷新应急指挥屏数据
HashMap<String, String> refresh = new HashMap<>();
refresh.put("uuId", String.valueOf(System.currentTimeMillis()));
try {
emqKeeper.getMqttClient().publish(EMERGENCY_ALARM_DATA_REFRESH, JSON.toJSONString(refresh).getBytes(), 0, false);
} catch (MqttException e) {
e.printStackTrace();
}
} }
} else if (ObjectUtil.isNotEmpty(receiveData) && StrUtil.isNotEmpty(receiveData.getActive()) && } else if (ObjectUtil.isNotEmpty(receiveData) && StrUtil.isNotEmpty(receiveData.getActive()) &&
"update".equals(receiveData.getActive()) && ObjectUtil.isNotEmpty(receiveData.getRawData()) && StrUtil.isNotEmpty(receiveData.getRawData().getEquipmentSpecificCode())) { "update".equals(receiveData.getActive()) && ObjectUtil.isNotEmpty(receiveData.getRawData()) && StrUtil.isNotEmpty(receiveData.getRawData().getEquipmentSpecificCode())) {
...@@ -102,6 +119,15 @@ public class MqttReceiveServiceImpl implements MqttReceiveService { ...@@ -102,6 +119,15 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
updateWrapper.lambda().eq(FireEquipmentSignalLog::getFireEquipmentMrid, rawData.getEquipmentSpecificCode()) updateWrapper.lambda().eq(FireEquipmentSignalLog::getFireEquipmentMrid, rawData.getEquipmentSpecificCode())
.eq(FireEquipmentSignalLog::getFireEquipmentIndexKey, rawData.getEquipmentIndexKey()); .eq(FireEquipmentSignalLog::getFireEquipmentIndexKey, rawData.getEquipmentIndexKey());
fireEquipmentSignalLogServiceImpl.update(fireEquipmentSignalLog, updateWrapper); fireEquipmentSignalLogServiceImpl.update(fireEquipmentSignalLog, updateWrapper);
// 发送mqtt消息--刷新应急指挥屏数据
HashMap<String, String> refresh = new HashMap<>();
refresh.put("uuId", String.valueOf(System.currentTimeMillis()));
try {
emqKeeper.getMqttClient().publish(EMERGENCY_ALARM_DATA_REFRESH, JSON.toJSONString(refresh).getBytes(), 0, false);
} catch (MqttException e) {
e.printStackTrace();
}
} }
log.info(String.format("收到mqtt(警情)消息并处理完成:%s", message)); log.info(String.format("收到mqtt(警情)消息并处理完成:%s", message));
} }
......
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.amos.boot.module.tdc.api.dto.CheckModelDto; import com.yeejoin.amos.boot.module.tdc.api.dto.CheckModelDto;
import com.yeejoin.amos.boot.module.tdc.api.entity.CheckModel; import com.yeejoin.amos.boot.module.tdc.api.entity.CheckModel;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
...@@ -34,13 +35,13 @@ public interface CheckModelService extends IService<CheckModel> { ...@@ -34,13 +35,13 @@ public interface CheckModelService extends IService<CheckModel> {
* 校验机构下全部模型 * 校验机构下全部模型
* @param amosOrgCode 机构code * @param amosOrgCode 机构code
*/ */
void checkAllMode(String amosOrgCode); void checkAllMode(String amosOrgCode, AgencyUserModel userInfo);
/** /**
* 校验单个模型 * 校验单个模型
* @param modelId 模型id * @param modelId 模型id
*/ */
void checkSingleMode(String modelId); void checkSingleMode(String modelId, AgencyUserModel userInfo);
/** /**
* 根据机构code和模型名称查询模型对象 * 根据机构code和模型名称查询模型对象
......
...@@ -48,4 +48,11 @@ public interface CheckResultService extends IService<CheckResult> { ...@@ -48,4 +48,11 @@ public interface CheckResultService extends IService<CheckResult> {
*/ */
Integer selectItemCount(String batchNo); Integer selectItemCount(String batchNo);
/**
* 查询不合格项
* @param batchNo 批次号
* @return 属性个数
*/
Integer selectItemNo(String batchNo,Long modelId);
} }
...@@ -73,6 +73,7 @@ public class CheckModelAction { ...@@ -73,6 +73,7 @@ public class CheckModelAction {
String batchNo = String.valueOf(propertyValues.get("batch_no")); String batchNo = String.valueOf(propertyValues.get("batch_no"));
Integer checkType = Integer.valueOf(String.valueOf(propertyValues.get("checkType"))); Integer checkType = Integer.valueOf(String.valueOf(propertyValues.get("checkType")));
String orgCode = String.valueOf(propertyValues.get("org_code")); String orgCode = String.valueOf(propertyValues.get("org_code"));
String checkPeopleName = String.valueOf(propertyValues.get("checkPeopleName"));
String itemName = idxProjectModel.getItemName(); String itemName = idxProjectModel.getItemName();
// 获取模型 // 获取模型
...@@ -105,12 +106,12 @@ public class CheckModelAction { ...@@ -105,12 +106,12 @@ public class CheckModelAction {
if (ObjectUtils.isNotEmpty(checkType)) { if (ObjectUtils.isNotEmpty(checkType)) {
if (checkType == 1) { if (checkType == 1) {
// 2.2 单独模型校验,根据批次号查询已经入库的属性 // 2.2 单独模型校验,根据批次号查询已经入库的属性
sendWebMessage(batchNo, checkModel.getCheckItemAmount()); sendWebMessage(batchNo, checkModel.getCheckItemAmount(), orgCode, checkPeopleName, checkType, itemName);
} else if (checkType == 0) { } else if (checkType == 0) {
// 2.1 全站校验 // 2.1 全站校验
List<CheckModel> checkModels = checkModelService.selectByOrgCode(orgCode); List<CheckModel> checkModels = checkModelService.selectByOrgCode(orgCode);
int sum = checkModels.stream().mapToInt(CheckModel::getCheckItemAmount).sum(); int sum = checkModels.stream().mapToInt(CheckModel::getCheckItemAmount).sum();
sendWebMessage(batchNo, sum); sendWebMessage(batchNo, sum, orgCode, checkPeopleName, checkType, itemName);
} }
} }
// else { // else {
...@@ -124,7 +125,7 @@ public class CheckModelAction { ...@@ -124,7 +125,7 @@ public class CheckModelAction {
// } // }
} }
private void sendWebMessage(String batchNo, Integer itemSize) { private void sendWebMessage(String batchNo, Integer itemSize, String orgCode, String checkPeopleName, Integer checkType, String itemName) {
Integer itemCount = checkResultService.selectItemCount(batchNo); Integer itemCount = checkResultService.selectItemCount(batchNo);
if (itemCount.equals(itemSize)) { if (itemCount.equals(itemSize)) {
// 所有属性已全部入库,给前端发送消息 // 所有属性已全部入库,给前端发送消息
...@@ -139,8 +140,29 @@ public class CheckModelAction { ...@@ -139,8 +140,29 @@ public class CheckModelAction {
e.printStackTrace(); e.printStackTrace();
} }
if (checkType == 0) {
// 全站校验生成报告 // 全站校验生成报告
checkResultService.saveSql(orgCode, checkPeopleName);
List<CheckModel> checkModels = checkModelService.selectByOrgCode(orgCode);
checkModels.forEach(checkModel -> {
saveCheckModel(checkModel, batchNo);
});
} else {
// 更改校验结果
CheckModel checkModel = checkModelService.selectCheckModelByNameCode(itemName, orgCode);
saveCheckModel(checkModel, batchNo);
}
}
}
private void saveCheckModel (CheckModel checkModel, String batchNo) {
Integer integer = checkResultService.selectItemNo(batchNo, checkModel.getSequenceNbr());
if (0 == integer) {
checkModel.setCheckStatus(1);
} else {
checkModel.setCheckStatus(2);
} }
checkModel.setCheckDate(new Date());
checkModelService.updateById(checkModel);
} }
} }
package com.yeejoin.amos.boot.module.tdc.biz.controller; package com.yeejoin.amos.boot.module.tdc.biz.controller;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.tdc.api.dto.CheckModelDto; import com.yeejoin.amos.boot.module.tdc.api.dto.CheckModelDto;
import com.yeejoin.amos.boot.module.tdc.api.entity.CheckModel; import com.yeejoin.amos.boot.module.tdc.api.entity.CheckModel;
import com.yeejoin.amos.boot.module.tdc.api.service.CheckModelService; import com.yeejoin.amos.boot.module.tdc.api.service.CheckModelService;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -21,7 +23,7 @@ import java.util.List; ...@@ -21,7 +23,7 @@ import java.util.List;
@RestController @RestController
@Api(tags = "校验模型api") @Api(tags = "校验模型api")
@RequestMapping(value = "/model") @RequestMapping(value = "/model")
public class CheckModelController { public class CheckModelController extends BaseController {
@Autowired @Autowired
CheckModelService checkModelService; CheckModelService checkModelService;
...@@ -55,7 +57,8 @@ public class CheckModelController { ...@@ -55,7 +57,8 @@ public class CheckModelController {
@GetMapping(value = "/CheckAllModel/{amosOrgCode}") @GetMapping(value = "/CheckAllModel/{amosOrgCode}")
@ApiOperation(httpMethod = "GET",value = "点击全站校验", notes = "根据机构code校验模型") @ApiOperation(httpMethod = "GET",value = "点击全站校验", notes = "根据机构code校验模型")
public void CheckAllModel(@PathVariable(value = "amosOrgCode") String amosOrgCode) { public void CheckAllModel(@PathVariable(value = "amosOrgCode") String amosOrgCode) {
checkModelService.checkAllMode(amosOrgCode); AgencyUserModel userInfo = getUserInfo();
checkModelService.checkAllMode(amosOrgCode, userInfo);
} }
/** /**
...@@ -65,6 +68,7 @@ public class CheckModelController { ...@@ -65,6 +68,7 @@ public class CheckModelController {
@GetMapping(value = "/checkSingleMode/{modelId}") @GetMapping(value = "/checkSingleMode/{modelId}")
@ApiOperation(httpMethod = "GET",value = "点击单独模型校验", notes = "根据modelId校验模型") @ApiOperation(httpMethod = "GET",value = "点击单独模型校验", notes = "根据modelId校验模型")
public void checkSingleMode(@PathVariable(value = "modelId") String modelId) { public void checkSingleMode(@PathVariable(value = "modelId") String modelId) {
checkModelService.checkSingleMode(modelId); AgencyUserModel userInfo = getUserInfo();
checkModelService.checkSingleMode(modelId, userInfo);
} }
} }
...@@ -20,6 +20,7 @@ import com.yeejoin.amos.boot.module.tdc.api.vo.SubjectTreeVo; ...@@ -20,6 +20,7 @@ import com.yeejoin.amos.boot.module.tdc.api.vo.SubjectTreeVo;
import com.yeejoin.amos.boot.module.tdc.api.vo.TableColumnsVo; import com.yeejoin.amos.boot.module.tdc.api.vo.TableColumnsVo;
import com.yeejoin.amos.boot.module.tdc.biz.action.model.IdxProjectModel; import com.yeejoin.amos.boot.module.tdc.biz.action.model.IdxProjectModel;
import com.yeejoin.amos.component.rule.RuleTrigger; import com.yeejoin.amos.component.rule.RuleTrigger;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -80,27 +81,29 @@ public class CheckModelImpl extends ServiceImpl<CheckModelMapper, CheckModel> im ...@@ -80,27 +81,29 @@ public class CheckModelImpl extends ServiceImpl<CheckModelMapper, CheckModel> im
} }
@Override @Override
public void checkAllMode(String amosOrgCode) { public void checkAllMode(String amosOrgCode, AgencyUserModel userInfo) {
String userName = userInfo.getUserName();
LambdaQueryWrapper<CheckModel> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<CheckModel> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(CheckModel::getAmosOrgCode, amosOrgCode); wrapper.eq(CheckModel::getAmosOrgCode, amosOrgCode);
List<CheckModel> checkModels = this.baseMapper.selectList(wrapper); List<CheckModel> checkModels = this.baseMapper.selectList(wrapper);
String batchNo = UUID.randomUUID().toString(); String batchNo = UUID.randomUUID().toString();
if (!CollectionUtils.isEmpty(checkModels)) { if (!CollectionUtils.isEmpty(checkModels)) {
checkModels.forEach(checkModel -> { checkModels.forEach(checkModel -> {
checkModelRule(checkModel, 0, batchNo, amosOrgCode); checkModelRule(checkModel, 0, batchNo, amosOrgCode, userName);
}); });
} }
} }
@Override @Override
public void checkSingleMode(String modelId) { public void checkSingleMode(String modelId, AgencyUserModel userInfo) {
String userName = userInfo.getUserName();
LambdaQueryWrapper<CheckModel> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<CheckModel> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(CheckModel::getSequenceNbr, modelId); wrapper.eq(CheckModel::getSequenceNbr, modelId);
CheckModel checkModel = this.baseMapper.selectOne(wrapper); CheckModel checkModel = this.baseMapper.selectOne(wrapper);
if (!ObjectUtils.isEmpty(checkModel)) { if (!ObjectUtils.isEmpty(checkModel)) {
// 调用规则校验模型 // 调用规则校验模型
String batchNo = UUID.randomUUID().toString(); String batchNo = UUID.randomUUID().toString();
checkModelRule(checkModel, 1, batchNo, checkModel.getAmosOrgCode()); checkModelRule(checkModel, 1, batchNo, checkModel.getAmosOrgCode(), userName);
} }
} }
...@@ -112,7 +115,7 @@ public class CheckModelImpl extends ServiceImpl<CheckModelMapper, CheckModel> im ...@@ -112,7 +115,7 @@ public class CheckModelImpl extends ServiceImpl<CheckModelMapper, CheckModel> im
return this.baseMapper.selectOne(wrapper); return this.baseMapper.selectOne(wrapper);
} }
private void checkModelRule(CheckModel checkModel, int checkType, String batchNo, String amosOrgCode) { private void checkModelRule(CheckModel checkModel, int checkType, String batchNo, String amosOrgCode, String userName) {
IdxProjectModel idxProjectModel = new IdxProjectModel(); IdxProjectModel idxProjectModel = new IdxProjectModel();
// 查询表最新一条数据 // 查询表最新一条数据
String idxTableName = checkModel.getIdxTableName(); String idxTableName = checkModel.getIdxTableName();
...@@ -123,6 +126,7 @@ public class CheckModelImpl extends ServiceImpl<CheckModelMapper, CheckModel> im ...@@ -123,6 +126,7 @@ public class CheckModelImpl extends ServiceImpl<CheckModelMapper, CheckModel> im
} }
map.put("batch_no", batchNo); map.put("batch_no", batchNo);
map.put("checkType", checkType); map.put("checkType", checkType);
map.put("checkPeopleName", userName);
// 查询表所有字段 // 查询表所有字段
ResponseModel<JSONObject> model = idxFeignService.queryByTableId(checkModel.getTableId()); ResponseModel<JSONObject> model = idxFeignService.queryByTableId(checkModel.getTableId());
......
...@@ -28,7 +28,7 @@ public class CheckReportImpl extends ServiceImpl<CheckReportMapper, CheckReport> ...@@ -28,7 +28,7 @@ public class CheckReportImpl extends ServiceImpl<CheckReportMapper, CheckReport>
return this.page(page); return this.page(page);
}else{ }else{
LambdaQueryWrapper<CheckReport> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<CheckReport> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(CheckReport::getAmosOrgCode, amosOrgCode); wrapper.likeRight(CheckReport::getAmosOrgCode, amosOrgCode);
return this.page(page,wrapper); return this.page(page,wrapper);
} }
......
...@@ -165,6 +165,15 @@ public class CheckResultImpl extends ServiceImpl<CheckResultMapper, CheckResult> ...@@ -165,6 +165,15 @@ public class CheckResultImpl extends ServiceImpl<CheckResultMapper, CheckResult>
return this.baseMapper.selectCount(wrapper); return this.baseMapper.selectCount(wrapper);
} }
@Override
public Integer selectItemNo(String batchNo, Long modelId) {
LambdaQueryWrapper<CheckResult> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(CheckResult::getBatchNo, batchNo);
wrapper.eq(CheckResult::getModelId, modelId);
wrapper.eq(CheckResult::getCheckItemResult, 1);
return this.baseMapper.selectCount(wrapper);
}
/** /**
* 获取报告数据 * 获取报告数据
......
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