Commit 002e6efd authored by helinlin's avatar helinlin

车库门、警铃、广播的 联动

parent ff71058c
......@@ -3,13 +3,13 @@ package com.yeejoin.amos.boot.module.jcs.api.dto;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import com.yeejoin.amos.boot.module.jcs.api.enums.ControllerTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
*
* <pre>
* 联动控制器
* </pre>
......@@ -24,8 +24,6 @@ public class ControllerDto extends BaseDto {
@ExcelIgnore
private static final long serialVersionUID = 1L;
/**
* 控制站
*/
......@@ -51,10 +49,26 @@ public class ControllerDto extends BaseDto {
*/
@ApiModelProperty(value = "控制器类别")
private String type;
/**
* 控制器类别枚举
*/
@ApiModelProperty(value = "控制器类别")
private ControllerTypeEnum typeEnum;
/**
* 控制器类别名称
*/
@ApiModelProperty(value = "控制器类别名称")
private String typeDescription;
/**
* 状态
*/
@ApiModelProperty(value = "状态")
private String state;
/**
* 关联的消防队伍ID
*/
@ApiModelProperty(value = "关联的消防队伍ID")
private String fireTeamSeq;
}
package com.yeejoin.amos.boot.module.jcs.api.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* @author system_generator
* @date 2021-12-03
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "ControllerLogDto")
public class ControllerLogDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "控制站ID")
private Long controllerSeq;
@ApiModelProperty(value = "控制站名称")
private Long controllerName;
@ApiModelProperty(value = "装备ID")
private Long equipSeq;
@ApiModelProperty(value = "装备名称")
private Long equipName;
@ApiModelProperty(value = "变更后状态")
private String state;
@ApiModelProperty(value = "变更后状态描述")
private Long stateDescription;
@ApiModelProperty(value = "变更人ID")
private String executeUserSeq;
@ApiModelProperty(value = "变更人姓名")
private String executeUserName;
@ApiModelProperty(value = "变更时间")
private Date executeDate;
}
......@@ -8,7 +8,6 @@ import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
*
* <pre>
* 联动控制器
* </pre>
......@@ -56,5 +55,9 @@ public class Controller extends BaseEntity {
*/
@TableField("c_state")
private String state;
/**
* 关联的消防队伍ID
*/
@TableField(value = "fire_team_seq")
private String fireTeamSeq;
}
package com.yeejoin.amos.boot.module.jcs.api.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* @author system_generator
* @date 2021-12-03
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("jc_controller_log")
public class ControllerLog extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 控制站ID
*/
@TableField("controller_seq")
private Long controllerSeq;
/**
* 装备ID
*/
@TableField("equip_seq")
private Long equipSeq;
/**
* 变更后状态
*/
@TableField("state")
private String state;
/**
* 变更人ID
*/
@TableField("execute_user_seq")
private Long executeUserSeq;
/**
* 变更时间
*/
@TableField("execute_date")
private Date executeDate;
}
package com.yeejoin.amos.boot.module.jcs.api.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* <pre>
* 联动控制器大队枚举
* </pre>
*
* @author gwb
* @version $Id: ControllerTypeEnum.java, v 0.1 2021年8月20日 上午10:21:44 gwb Exp $
*/
@AllArgsConstructor
@Getter
public enum ControllerGroupEnum {
ONE("一大队", 1, 1), TWO("二大队", 3, 2), THREE("三大队", 2, 3);
private final String name;
private final int type;
private final int order;
public static ControllerGroupEnum getEnum(int type) {
for (ControllerGroupEnum status : ControllerGroupEnum.values()) {
if (status.getType() == type) {
return status;
}
}
return null;
}
}
......@@ -4,7 +4,6 @@ import lombok.AllArgsConstructor;
import lombok.Getter;
/**
*
* <pre>
* 联动控制器类型枚举
* </pre>
......@@ -16,12 +15,13 @@ import lombok.Getter;
@AllArgsConstructor
public enum ControllerTypeEnum {
BELL("1", "警铃"),
BROADCAST("2", "广播"),
DOOR("3", "车库门");
BELL("1", "警铃", 1),
BROADCAST("2", "广播", 2),
DOOR("3", "车库门", 3);
private String code;
private String name;
private int sort;
public String getCode() {
......@@ -40,12 +40,9 @@ public enum ControllerTypeEnum {
this.name = name;
}
public static ControllerTypeEnum getEnum(String code)
{
for (ControllerTypeEnum status : ControllerTypeEnum.values())
{
if (status.getCode().equals(code))
{
public static ControllerTypeEnum getEnum(String code) {
for (ControllerTypeEnum status : ControllerTypeEnum.values()) {
if (status.getCode().equals(code)) {
return status;
}
}
......
package com.yeejoin.amos.boot.module.jcs.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.jcs.api.entity.ControllerLog;
import java.util.List;
import java.util.Map;
/**
* Mapper 接口
*
* @author system_generator
* @date 2021-12-03
*/
public interface ControllerLogMapper extends BaseMapper<ControllerLog> {
List<Map<String, Object>> selectToday();
}
package com.yeejoin.amos.boot.module.jcs.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.jcs.api.dto.ControllerDto;
import com.yeejoin.amos.boot.module.jcs.api.entity.Controller;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
*
* <pre>
* 联动控制器 Mapper 接口
* </pre>
......@@ -14,4 +17,5 @@ import com.yeejoin.amos.boot.module.jcs.api.entity.Controller;
*/
public interface ControllerMapper extends BaseMapper<Controller> {
public List<ControllerDto> getCurrentStationController(@Param("sequenceNbr") Long sequenceNbr);
}
package com.yeejoin.amos.boot.module.jcs.api.service;
/**
* 接口类
*
* @author system_generator
* @date 2021-12-03
*/
public interface IControllerEquipService {
}
package com.yeejoin.amos.boot.module.jcs.api.service;
/**
* 接口类
*
* @author system_generator
* @date 2021-12-03
*/
public interface IControllerLogService {
}
package com.yeejoin.amos.boot.module.jcs.api.service;
/**
* 接口类
*
* @author system_generator
* @date 2021-12-03
*/
public interface IControllerService {
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.jcs.api.mapper.ControllerLogMapper">
<select id="selectToday" resultType="java.util.HashMap">
SELECT
a.sequence_nbr as sequenceNbr,
a.state,
DATE_FORMAT(a.execute_date, '%Y-%m-%d %H:%i:%s') as executeDate,
b.station,
b.type
FROM
jc_controller_log a
LEFT JOIN jc_controller b ON a.controller_seq = b.sequence_nbr
WHERE
TO_DAYS( a.execute_date ) = TO_DAYS( NOW( ) )
ORDER BY a.execute_date DESC
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.jcs.api.mapper.ControllerMapper">
<select id="getCurrentStationController" resultType="com.yeejoin.amos.boot.module.jcs.api.dto.ControllerDto">
SELECT
*
FROM
jc_controller
WHERE
station = ( SELECT station FROM jc_controller WHERE sequence_nbr = #{sequenceNbr} )
</select>
</mapper>
......@@ -66,9 +66,6 @@ public class RealTimeSpeechTranscriberListener extends SpeechTranscriberListener
@Override
public void onTranscriberStart(SpeechTranscriberResponse response) {
logger.warn("服务端准备好了进行识别");
logger.warn("task_id: " + response.getTaskId()
+ ", name: " + response.getName()
+ ", status: " + response.getStatus());
}
/**
......@@ -77,9 +74,6 @@ public class RealTimeSpeechTranscriberListener extends SpeechTranscriberListener
@Override
public void onSentenceBegin(SpeechTranscriberResponse response) {
logger.warn("服务端检测到了一句话的开始");
logger.warn("task_id: " + response.getTaskId()
+ ", name: " + response.getName()
+ ", status: " + response.getStatus());
}
/**
......
package com.yeejoin.amos.boot.module.jcs.biz.controller;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.jcs.api.dto.ControllerDto;
import com.yeejoin.amos.boot.module.jcs.api.entity.Controller;
import com.yeejoin.amos.boot.module.jcs.api.entity.ControllerLog;
import com.yeejoin.amos.boot.module.jcs.api.enums.ControllerGroupEnum;
import com.yeejoin.amos.boot.module.jcs.api.enums.ControllerTypeEnum;
import com.yeejoin.amos.boot.module.jcs.biz.service.impl.ControllerEquipServiceImpl;
import com.yeejoin.amos.boot.module.jcs.biz.service.impl.ControllerLogServiceImpl;
import com.yeejoin.amos.boot.module.jcs.biz.service.impl.ControllerServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.component.emq.EmqKeeper;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.*;
/**
* 联动控制器
*
* @author system_generator
* @date 2021-12-03
*/
@RestController
@Api(tags = "Api")
@RequestMapping(value = "/controller")
public class ControllerController extends BaseController {
@Autowired
ControllerServiceImpl controllerServiceImpl;
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "POST", value = "更新联动控制器状态", notes = "更新联动控制器状态")
@PostMapping(value = "/updateControllerState")
public ResponseModel<Object> updateControllerState(@RequestBody Controller[] controllers) {
return ResponseHelper.buildResponse(controllerServiceImpl.changeControllerState(controllers));
}
/**
* 列表全部数据查询
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "列表全部数据查询", notes = "列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<Object> selectForList() {
List<Controller> controllerList = controllerServiceImpl.list();
List<Map<String, Object>> controllerStations = new ArrayList<>();
//分类联动控制站点
HashSet<Integer> controllerStation = new HashSet<>();
controllerList.forEach(controller -> controllerStation.add(Integer.valueOf(controller.getStation())));
controllerStation.forEach(station -> {
ArrayList<ControllerDto> controllerDtos = new ArrayList<>();
controllerList.forEach(controller -> {
if (station.equals(Integer.valueOf(controller.getStation()))) {
ControllerDto controllerDto = new ControllerDto();
ControllerTypeEnum anEnum = ControllerTypeEnum.getEnum(controller.getType());
BeanUtils.copyProperties(controller, controllerDto);
controllerDto.setTypeEnum(anEnum);
controllerDto.setTypeDescription(anEnum.getName());
controllerDtos.add(controllerDto);
}
});
//类型排序
controllerDtos.sort(Comparator.comparingInt(o -> o.getTypeEnum().getSort()));
HashMap<String, Object> result = new HashMap<>();
result.put("groupEnum", ControllerGroupEnum.getEnum(station));
result.put("groupName", Objects.requireNonNull(ControllerGroupEnum.getEnum(station)).getName());
result.put("controllers", controllerDtos);
controllerStations.add(result);
});
//大队排序
controllerStations.sort(Comparator.comparingInt(o -> ((ControllerGroupEnum) o.get("groupEnum")).getOrder()));
return ResponseHelper.buildResponse(controllerStations);
}
}
package com.yeejoin.amos.boot.module.jcs.biz.controller;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.jcs.api.dto.ControllerEquipDto;
import com.yeejoin.amos.boot.module.jcs.api.entity.ControllerEquip;
import com.yeejoin.amos.boot.module.jcs.biz.service.impl.ControllerEquipServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.List;
/**
* 控制器设备
*
* @author system_generator
* @date 2021-12-03
*/
@RestController
@Api(tags = "Api")
@RequestMapping(value = "/controller-equip")
public class ControllerEquipController extends BaseController {
@Autowired
ControllerEquipServiceImpl controllerEquipServiceImpl;
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "列表全部数据查询", notes = "列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<List<ControllerEquip>> selectForList() {
return ResponseHelper.buildResponse(controllerEquipServiceImpl.list());
}
}
package com.yeejoin.amos.boot.module.jcs.biz.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.jcs.api.dto.ControllerLogDto;
import com.yeejoin.amos.boot.module.jcs.api.enums.ControllerGroupEnum;
import com.yeejoin.amos.boot.module.jcs.api.enums.ControllerTypeEnum;
import com.yeejoin.amos.boot.module.jcs.biz.service.impl.ControllerLogServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
/**
* 联动控制日志记录
*
* @author system_generator
* @date 2021-12-03
*/
@RestController
@Api(tags = "Api")
@RequestMapping(value = "/controller-log")
public class ControllerLogController extends BaseController {
@Autowired
ControllerLogServiceImpl controllerLogServiceImpl;
/**
* 新增
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增", notes = "新增")
public ResponseModel<ControllerLogDto> save(@RequestBody ControllerLogDto model) {
model = controllerLogServiceImpl.createWithModel(model);
return ResponseHelper.buildResponse(model);
}
/**
* 根据sequenceNbr更新
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新", notes = "根据sequenceNbr更新")
public ResponseModel<ControllerLogDto> updateBySequenceNbrControllerLog(@RequestBody ControllerLogDto model, @PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(controllerLogServiceImpl.updateWithModel(model));
}
/**
* 根据sequenceNbr删除
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除", notes = "根据sequenceNbr删除")
public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request, @PathVariable(value = "sequenceNbr") Long sequenceNbr) {
return ResponseHelper.buildResponse(controllerLogServiceImpl.removeById(sequenceNbr));
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个", notes = "根据sequenceNbr查询单个")
public ResponseModel<ControllerLogDto> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(controllerLogServiceImpl.queryBySeq(sequenceNbr));
}
/**
* 获取今天的记录
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "获取今天的记录", notes = "获取今天的记录")
@GetMapping(value = "/selectToday")
public ResponseModel<List<Map<String, Object>>> selectToday() {
List<Map<String, Object>> controllerLogDtos = controllerLogServiceImpl.selectToday();
controllerLogDtos.forEach(item -> {
item.put("station", ControllerGroupEnum.getEnum(Integer.parseInt(item.get("station").toString())).getName());
item.put("type", ControllerTypeEnum.getEnum(item.get("type").toString()).getName());
});
return ResponseHelper.buildResponse(controllerLogDtos);
}
/**
* 列表分页查询
*
* @param current 当前页
* @param current 每页大小
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET", value = "分页查询", notes = "分页查询")
public ResponseModel<Page<ControllerLogDto>> queryForPage(@RequestParam(value = "current") int current, @RequestParam
(value = "size") int size) {
Page<ControllerLogDto> page = new Page<ControllerLogDto>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(controllerLogServiceImpl.queryForControllerLogPage(page));
}
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "列表全部数据查询", notes = "列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<List<ControllerLogDto>> selectForList() {
return ResponseHelper.buildResponse(controllerLogServiceImpl.queryForControllerLogList());
}
}
......@@ -177,10 +177,8 @@ public class PowerTransferController extends BaseController {
AgencyUserModel userInfo = getUserInfo();
powerTransferDto.setTaskSenderId(Long.parseLong(userInfo.getUserId()));
powerTransferDto.setTaskSenderName(userInfo.getRealName());
String companyName = getSelectedOrgInfo().getCompany().getCompanyName();
powerTransferDto.setCompanyName(companyName);
boolean save = powerTransferService.createPowerTransfer(powerTransferDto);
return ResponseHelper.buildResponse(save);
}
......
......@@ -3,6 +3,12 @@ package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.module.common.api.feign.JcsControlServerClient;
import com.yeejoin.amos.boot.module.jcs.api.entity.Controller;
import com.yeejoin.amos.boot.module.jcs.api.service.IControllerEquipService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.rdbms.service.BaseService;
......@@ -11,7 +17,6 @@ import com.yeejoin.amos.boot.module.jcs.api.entity.ControllerEquip;
import com.yeejoin.amos.boot.module.jcs.api.mapper.ControllerEquipMapper;
/**
*
* <pre>
* 控制器设备 服务实现类
* </pre>
......@@ -20,10 +25,46 @@ import com.yeejoin.amos.boot.module.jcs.api.mapper.ControllerEquipMapper;
* @version $Id: ControllerEquipServiceImpl.java, v 0.1 2021年8月20日 上午10:16:33 gwb Exp $
*/
@Service
public class ControllerEquipServiceImpl extends BaseService<ControllerEquipDto, ControllerEquip, ControllerEquipMapper>
{
public class ControllerEquipServiceImpl extends BaseService<ControllerEquipDto, ControllerEquip, ControllerEquipMapper> implements IControllerEquipService {
@Autowired
JcsControlServerClient jcsControlServerClient;
public List<ControllerEquipDto> queryAllForList() {
return this.queryForList("", false);
}
/**
* 改变警铃状态 0关闭,1开启
*/
@Async
public void changeBell(Controller controller, String type) {
if (controller == null) return;
List<ControllerEquip> list = getControllerEquips(controller);
list.forEach(controllerEquip -> jcsControlServerClient.sendBellAction(controllerEquip.getNum(), type));
}
/**
* 改变广播状态 0关闭,1开启
*/
@Async
public void changeBroadcast(Controller controller, String type) {
if (controller == null) return;
List<ControllerEquip> list = getControllerEquips(controller);
list.forEach(controllerEquip -> jcsControlServerClient.sendFileAction(controllerEquip.getNum(), ""));
}
/**
* 改变车库门状态 0关闭,1开启
*/
@Async
public void changeDoor(Controller controller, String type) {
if (controller == null) return;
List<ControllerEquip> list = getControllerEquips(controller);
list.forEach(controllerEquip -> jcsControlServerClient.writeStateAction(controller.getIp(), controller.getPort(), Integer.parseInt(controllerEquip.getNum()), type));
}
private List<ControllerEquip> getControllerEquips(Controller controller) {
LambdaQueryWrapper<ControllerEquip> wrapper = new LambdaQueryWrapper<ControllerEquip>().eq(ControllerEquip::getControllerSeq, controller.getSequenceNbr());
return list(wrapper);
}
}
package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
import com.yeejoin.amos.boot.module.jcs.api.entity.Controller;
import com.yeejoin.amos.boot.module.jcs.api.entity.ControllerLog;
import com.yeejoin.amos.boot.module.jcs.api.mapper.ControllerLogMapper;
import com.yeejoin.amos.boot.module.jcs.api.service.IControllerLogService;
import com.yeejoin.amos.boot.module.jcs.api.dto.ControllerLogDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* 服务实现类
*
* @author system_generator
* @date 2021-12-03
*/
@Service
public class ControllerLogServiceImpl extends BaseService<ControllerLogDto, ControllerLog, ControllerLogMapper> implements IControllerLogService {
@Autowired
ControllerLogMapper controllerLogMapper;
/**
* 获取今天的记录
*/
public List<Map<String, Object>> selectToday() {
return controllerLogMapper.selectToday();
}
/**
* 分页查询
*/
public Page<ControllerLogDto> queryForControllerLogPage(Page<ControllerLogDto> page) {
return this.queryForPage(page, null, false);
}
/**
* 列表查询 示例
*/
public List<ControllerLogDto> queryForControllerLogList() {
return this.queryForList("", false);
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.module.jcs.api.entity.*;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.paho.client.mqttv3.MqttException;
......@@ -47,12 +44,6 @@ import com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferResourceDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferSimpleDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.ResourceStatisticsDto;
import com.yeejoin.amos.boot.module.jcs.api.entity.AlertCalled;
import com.yeejoin.amos.boot.module.jcs.api.entity.AlertFormValue;
import com.yeejoin.amos.boot.module.jcs.api.entity.PowerTransfer;
import com.yeejoin.amos.boot.module.jcs.api.entity.PowerTransferCompany;
import com.yeejoin.amos.boot.module.jcs.api.entity.PowerTransferCompanyResources;
import com.yeejoin.amos.boot.module.jcs.api.entity.Template;
import com.yeejoin.amos.boot.module.jcs.api.enums.AlertFeedbackStatusEnum;
import com.yeejoin.amos.boot.module.jcs.api.enums.DutyInfoEnum;
import com.yeejoin.amos.boot.module.jcs.api.enums.FireBrigadeTypeEnum;
......@@ -116,6 +107,9 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
@Autowired
RuleAlertCalledService ruleAlertCalledService;
@Autowired
ControllerServiceImpl controllerServiceImpl;
@Override
public PowerTransferSimpleDto getPowerTransferList(Long alertCalledId) {
List<PowerTransferCompanyResourcesDto> powerTransferList = this.baseMapper.getPowerTransferList(alertCalledId);
......@@ -401,21 +395,17 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
Map<String, String> definitions, String content, AlertCalledObjsDto alertCalledObjsDto) {
List<PowerTransferCompanyDto> powerTransferCompanyDotList = powerTransferDto.getPowerTransferCompanyDotList();
PowerTransferCompany powerTransferCompany;
List<Object> carStatusInfoDtoList = Lists.newArrayList();
AlertCalled alertCalled = alertCalledObjsDto.getAlertCalled();
// 初始化警情 信息
/**
* 构建警情报送规则对象
*/
AlertCalledRo alertCalledRo = new AlertCalledRo();
String replaceContent ="";
if(null != alertCalled) {
String replaceContent = "";
if (null != alertCalled) {
replaceContent = RuleAlertCalledService.init(alertCalledRo, alertCalledObjsDto);
}
definitions.put("rescueGrid", alertCalled.getAddress());
definitions.put("type", alertCalled.getAlertType());
definitions.put("contactUser", alertCalled.getContactUser());
......@@ -424,8 +414,6 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
definitions.put("replaceContent", replaceContent);
definitions.put("callTime",
DateUtils.convertDateToString(alertCalled.getCallTime(), DateUtils.DATE_TIME_PATTERN));
for (PowerTransferCompanyDto powerTransferCompanyDto : powerTransferCompanyDotList) {
powerTransferCompany = new PowerTransferCompany();
BeanUtils.copyProperties(powerTransferCompanyDto, powerTransferCompany);
......@@ -449,16 +437,13 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
String information = powerTransferCompanyResourcesDto.getType().concat("车牌号")
.concat(powerTransferCompanyResourcesDto.getResourcesNum());
taskInformation.append(information).append("丶");
CarStatusInfoDto carStatusInfoDto = new CarStatusInfoDto();
carStatusInfoDto.setSequenceNbr(powerTransferCompanyResourcesDto.getResourcesId());
carStatusInfoDto.setStatus(FireCarStatusEnum.出动.getCode());
carStatusInfoDtoList.add(carStatusInfoDto);
}
definitions.put("departmentName", powerTransferCompanyDto.getCompanyName());
definitions.put("content", taskInformation.toString());
powerTransferCompany.setTaskInformation(getTaskInformation(content, definitions));
powerTransferCompanyService.save(powerTransferCompany);
powerTransferCompanyDto.setSequenceNbr(powerTransferCompany.getSequenceNbr());
......@@ -467,16 +452,25 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
powerTransferCompanyResourcesDtoList, powerTransferCompanySequenceNbr);
powerTransferCompanyResourcesService.saveBatch(powerTransferCompanyResourcesList);
List<PowerTransferCompanyResourcesDto> resourcesDtoList = new ArrayList<>();
powerTransferCompanyResourcesList.stream().forEach(e->{
powerTransferCompanyResourcesList.stream().forEach(e -> {
PowerTransferCompanyResourcesDto dto = new PowerTransferCompanyResourcesDto();
Bean.toPo(e,dto);
Bean.toPo(e, dto);
resourcesDtoList.add(dto);
});
powerTransferCompanyDto.setPowerTransferCompanyResourcesDtoList(resourcesDtoList);
// 更新车辆状态
equipFeignService.updateCarStatus(carStatusInfoDtoList);
// 警情力量调派时,点击【任务派发】后,如果被调派的 力量包含消防车,那么该消防车所在的 大队的警铃、广播自动 启动,消防车所在的车库门自动开启
try {
List<Controller> controllers = controllerServiceImpl.list(new LambdaQueryWrapper<Controller>().eq(Controller::getFireTeamSeq, powerTransferCompanyDto.getCompanyId()));
if (controllers.size() > 0) {
controllerServiceImpl.changeControllerState(controllers.toArray(new Controller[0]));
}
} catch (Exception e) {
log.error(e.getMessage());
log.error("车库门、警铃、广播的 联动 功能出现异常");
}
}
}
}
......
......@@ -71,7 +71,7 @@ class AppNslClientToken {
/**
* 获取访问Token,包含token和过期时间(2021-11-30测试Token过期时间为18天)
* 集成项目中,token放到缓存中,避免多次获取可能导致已进行的任务token失效
* 避免多次获取可能导致已进行的任务token失效
*
* @return token 访问token
*/
......
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