Commit 533f416d authored by suhuiguang's avatar suhuiguang

Merge branch 'develop_dl_plan6' into develop_dl_plan6_temp

# Conflicts: # amos-boot-system-jcs/src/main/resources/db/changelog/jcs-1.0.0.0.xml
parents 573be03b c39e03f8
......@@ -45,4 +45,5 @@ public class AlarmEventLogVO implements Serializable {
private String objectIndexValue;
private String objectIndexType;
private String recoveryStatus;
private String companyCode;
}
package com.yeejoin.amos.boot.module.common.api.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 单位人员平台人员关系表
*
* @author system_generator
* @date 2022-09-13
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="OrgUsrAgencyUserDto", description="单位人员平台人员关系表")
public class OrgUsrAgencyUserDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "用户名")
private String userName;
@ApiModelProperty(value = "手机号")
private String mobile;
@ApiModelProperty(value = "用户组")
private String groupIds;
@ApiModelProperty(value = "密码")
private String password;
@ApiModelProperty(value = "人员id")
private String orgUsrId;
@ApiModelProperty(value = "平台用户id")
private String amosUserId;
}
......@@ -24,6 +24,9 @@ public class PeopleBasicInfoDto {
@ApiModelProperty(value = "所属机构")
private String company;
@ApiModelProperty(value = "岗位类型-用于列表筛选")
private String positionType;
@ApiModelProperty(value = "机构code")
private String companyCode;
......
package com.yeejoin.amos.boot.module.common.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.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* 单位人员平台人员关系表
*
* @author system_generator
* @date 2022-09-13
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("cb_org_usr_agency_user")
public class OrgUsrAgencyUser extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 用户名
*/
@TableField("user_name")
private String userName;
/**
* 手机号
*/
@TableField("mobile")
private String mobile;
/**
* 用户组
*/
@TableField("group_ids")
private String groupIds;
/**
* 密码
*/
@TableField("password")
private String password;
/**
* 人员id
*/
@TableField("org_usr_id")
private String orgUsrId;
/**
* 平台用户id
*/
@TableField("amos_user_id")
private String amosUserId;
}
package com.yeejoin.amos.boot.module.common.api.mapper;
import com.yeejoin.amos.boot.module.common.api.entity.OrgUsrAgencyUser;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* 单位人员平台人员关系表 Mapper 接口
*
* @author system_generator
* @date 2022-09-13
*/
public interface OrgUsrAgencyUserMapper extends BaseMapper<OrgUsrAgencyUser> {
}
package com.yeejoin.amos.boot.module.common.api.service;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.module.common.api.entity.OrgUsrAgencyUser;
/**
* 单位人员平台人员关系表接口类
*
* @author system_generator
* @date 2022-09-13
*/
public interface IOrgUsrAgencyUserService {
OrgUsrAgencyUser getAccountDetail(String orgUsrId);
void synOrgUser(JSONObject jsonObject);
}
<?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.common.api.mapper.OrgUsrAgencyUserMapper">
</mapper>
......@@ -78,6 +78,6 @@
<select id="queryPersonNum" resultType="java.lang.Integer">
select count(*) from cb_firefighters where fire_team_id in (
select sequence_nbr from cb_fire_team where biz_org_code = #{bizOgrCode} and type_code = '116'
) and is_delete = 0 AND #{date} > rec_date
) and is_delete = 0 AND now() > rec_date
</select>
</mapper>
......@@ -19,6 +19,9 @@ import org.springframework.integration.mqtt.support.DefaultPahoMessageConverter;
import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.MessageHandler;
import java.util.ArrayList;
import java.util.List;
@Slf4j
@Configuration
@IntegrationComponentScan
......@@ -82,7 +85,11 @@ public class CcsMqttReceiveConfig {
//配置client,监听的topic
@Bean
public MessageProducer inbound() {
adapter = new MqttPahoMessageDrivenChannelAdapter(clientId, mqttPahoClientFactory(), alarmTopic, questionTopic);
List<String> list = new ArrayList<String>();
list.add(alarmTopic); // 告警/恢复事件监听
list.add(questionTopic); // 问题下发监听
String[] arr = list.toArray(new String[list.size()]);
adapter = new MqttPahoMessageDrivenChannelAdapter(clientId, mqttPahoClientFactory(), arr);
// adapter.setCompletionTimeout(completionTimeout);
adapter.setConverter(new DefaultPahoMessageConverter());
adapter.setQos(0);
......
......@@ -64,7 +64,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
StrUtil.isNotEmpty(alarmEventLog.getObjectIndexType()) && "FIREALARM".equals(alarmEventLog.getObjectIndexType()) &&
StrUtil.isNotEmpty(alarmEventLog.getOrgCode())) {
FireEquipmentSignalLog fireEquipmentSignalLog = new FireEquipmentSignalLog();
fireEquipmentSignalLog.setStationCode(alarmEventLog.getOrgCode());
fireEquipmentSignalLog.setStationCode(alarmEventLog.getCompanyCode());
fireEquipmentSignalLog.setFireEquipmentIndexValue(alarmEventLog.getObjectIndexValue());
fireEquipmentSignalLog.setFireEquipmentMrid(alarmEventLog.getObjectCode());
fireEquipmentSignalLog.setFireEquipmentName(alarmEventLog.getObjectName());
......@@ -87,7 +87,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
fireEquipmentSignalLog.setLocation(alarmEventLog.getBuildingName());
fireEquipmentSignalLog.setSynDate(now);
fireEquipmentSignalLog.setSignalId(alarmEventLog.getSignalId());
FireStationInfoDto oneByCode = fireStationInfoService.getOneByCode(alarmEventLog.getOrgCode());
FireStationInfoDto oneByCode = fireStationInfoService.getOneByCode(alarmEventLog.getCompanyCode());
fireEquipmentSignalLog.setStationName(oneByCode.getName());
fireEquipmentSignalLog.setLng(oneByCode.getLng());
fireEquipmentSignalLog.setLat(oneByCode.getLat());
......
......@@ -232,6 +232,7 @@ public class OrgPersonController extends BaseController {
*
* @return
*/
@PersonIdentify
@TycloudOperation( ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/listAllByCurrentUser", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "列表分页查询(表单用)", notes = "列表分页查询(表单用)")
......
package com.yeejoin.amos.boot.module.common.biz.controller;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.common.api.entity.OrgUsrAgencyUser;
import com.yeejoin.amos.boot.module.common.api.service.IOrgUsrAgencyUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
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;
/**
* 部门信息修改
*
* @author tb
* @date 2021-06-18
*/
@RestController
@Api(tags = "人员amos账号信息Api")
@RequestMapping(value = "/org-usr-agency")
public class OrgUsrAgencyUserController extends BaseController {
@Autowired
IOrgUsrAgencyUserService orgUsrAgencyUserService;
/**
* 查询关联的amos账号信息
*
* @return OrgUsrAgencyUser
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/{orgUsrId}/detail", method = RequestMethod.GET)
@ApiOperation(httpMethod = "POST", value = "查询关联的amos账号信息", notes = "查询关联的amos账号信息")
public ResponseModel<OrgUsrAgencyUser> getAccountDetail(@PathVariable String orgUsrId) {
OrgUsrAgencyUser agencyUser = orgUsrAgencyUserService.getAccountDetail(orgUsrId);
return ResponseHelper.buildResponse(agencyUser);
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.common.biz.listener;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.module.common.api.service.IOrgUsrAgencyUserService;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.typroject.tyboot.component.emq.EmqxListener;
import java.nio.charset.StandardCharsets;
/**
* @author Administrator
*/
@Component
public class AmosMqttListener extends EmqxListener {
@Autowired
IOrgUsrAgencyUserService orgUsrAgencyUserService;
@Override
public void processMessage(String topic, MqttMessage mqttMessage) throws Exception {
byte[] payload = mqttMessage.getPayload();
String str = new String(payload, StandardCharsets.UTF_8);
JSONObject jsonObject = JSONObject.parseObject(str);
JSONObject result = jsonObject.getJSONObject("result");
String path = result.getString("path");
if (path.contains("agencyuser")) {
orgUsrAgencyUserService.synOrgUser(jsonObject);
}
}
}
package com.yeejoin.amos.boot.module.common.biz.service.impl;
import com.yeejoin.amos.boot.module.common.biz.listener.AmosMqttListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.typroject.tyboot.component.emq.EmqKeeper;
/**
* @author Administrator
*/
public class ApplicationRunnerImpl implements ApplicationRunner {
@Autowired
EmqKeeper emqKeeper;
@Autowired
AmosMqttListener amosMqttListener;
@Override
public void run(ApplicationArguments args) throws Exception {
emqKeeper.subscript("/amos/operation/log", 2, amosMqttListener);
}
}
package com.yeejoin.amos.boot.module.common.biz.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.module.common.api.dto.OrgUsrAgencyUserDto;
import com.yeejoin.amos.boot.module.common.api.entity.OrgUsrAgencyUser;
import com.yeejoin.amos.boot.module.common.api.mapper.OrgUsrAgencyUserMapper;
import com.yeejoin.amos.boot.module.common.api.service.IOrgUsrAgencyUserService;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import java.util.List;
import java.util.stream.Collectors;
/**
* 单位人员平台人员关系表服务实现类
*
* @author system_generator
* @date 2022-09-13
*/
@Service
public class OrgUsrAgencyUserServiceImpl extends BaseService<OrgUsrAgencyUserDto, OrgUsrAgencyUser, OrgUsrAgencyUserMapper> implements IOrgUsrAgencyUserService {
@Override
public OrgUsrAgencyUser getAccountDetail(String orgUsrId) {
return this.getOne(new LambdaQueryWrapper<OrgUsrAgencyUser>().eq(OrgUsrAgencyUser::getOrgUsrId, orgUsrId));
}
@Override
public void synOrgUser(JSONObject jsonObject) {
JSONObject result = jsonObject.getJSONObject("result");
String methodName = jsonObject.getString("methodName");
String userId = jsonObject.getString("userId");
// 平台添加用户
if ("update".equals(methodName)) {
// 更新cb_org_usr_agency_user、cb_org_usr、cb_firefighters
JSONObject object = result.getJSONObject("result");
// person.setId(object.getLong("sequenceNbr"));
// person.setAccountName(object.getString("userName"));
// person.setUserId(object.getLong("userId"));
// person.setName(object.getString("realName"));
// person.setPhone(object.getString("mobile"));
} else if ("multDeleteUser".equals(methodName)) {
JSONArray array = result.getJSONArray("result");
List<Object> userIds = array.stream().collect(Collectors.toList());
// 删除cb_org_usr_agency_user、cb_org_usr与用户有关字段、cb_firefighters和用户有关字段
}
}
}
\ No newline at end of file
......@@ -586,6 +586,10 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
if (!req.isEmpty()&&req.containsKey("amosOrgId") && !ObjectUtils.isEmpty(req.get("amosOrgId"))) {
map.put("amosOrgCode", req.get("amosOrgId"));// 当时给前端给的key名字错了,以为是传Id过来,现在传名字,那就将错就错吧
}
String positionType = "";
if(req.containsKey("positionType")) {
positionType = req.get("positionType").toString();
}
req.remove("bizOrgName");
req.remove("pageSize");
......@@ -593,6 +597,7 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
req.remove("parentId");
req.remove("amosOrgId");
req.remove("company");
req.remove("positionType");
map.put("fieldsValue", req);
map.put("fields", alertFormServiceImpl.queryListByFormId(OrgPersonEnum.人员.getCode()));
pageBean.setTotal(this.baseMapper.selectPersonListCount(map));
......@@ -636,6 +641,12 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
}
});
}
if(!positionType.equals("")) {
String positionTypeFine = positionType;
list = list.stream().filter(e-> !ValidationUtil.isEmpty(e.get("positionType")) && e.get("positionType").toString().contains(positionTypeFine)).collect(Collectors.toList());
}
/* Bug2652 根据名字和工号模糊查询失效 已添加模糊匹配 2021-09-01 陈召 结束 */
pageBean.setRecords(list);
......
......@@ -151,6 +151,9 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
@Value("${isSendApp}")
private Boolean isSendApp;
@Value("${isSendIot:false}")
private Boolean isSendIot;
private static Boolean bool = Boolean.FALSE;
@Override
......@@ -171,6 +174,10 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
if (eqIotCodeList.size() > 1) {
log.info("有重复的{}数据!", iotCode);
}
//给 iot服务 推送消息 插数据到 influxdb
if (isSendIot) {
mqttSendGateway.sendToMqtt("influxdb/" + topic.substring(0, endIndex), message);
}
EquipmentSpecificVo vo = eqIotCodeList.get(0);
topicEntity.setType(vo.getType());
topicEntity.setCode(vo.getCode());
......
......@@ -501,12 +501,15 @@ public class FirefightersController extends BaseController {
return ResponseHelper.buildResponse(iFirefightersService.getPersonByCodes(list));
}
@PersonIdentify
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/get/persons")
@ApiOperation(httpMethod = "GET", value = "根据当前登陆用户获取换流站驻站消防队专职消防队消防人员", notes = "根据当前登陆用户获取换流站驻站消防队专职消防队消防人员")
public ResponseModel<JSONObject> getPersons() {
ReginParams reginParam = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
if(null != reginParam) {
String bizOrgCode = reginParam.getPersonIdentity().getBizOrgCode();
// String bizOrgName = reginParam.getPersonIdentity().getCompanyName();
QueryWrapper<Firefighters> firefightersQueryWrapper2 = new QueryWrapper<>();
firefightersQueryWrapper2.eq("amos_user_id",reginParam.getUserModel().getUserId());
Firefighters one = iFirefightersService.getOne(firefightersQueryWrapper2);
......@@ -527,7 +530,7 @@ public class FirefightersController extends BaseController {
map.put("name", e.getName());
map.put("jobTitle", e.getJobTitle());
map.put("bizOrgName", e.getBizOrgName());
map.put("bizOrgCode", e.getBizOrgCode());
map.put("bizOrgCode", bizOrgCode);
map.put("amosUserId", e.getOrgUsrId());
map.put("personnelPhotos", e.getPersonnelPhotos());
list.add(map);
......
......@@ -93,4 +93,6 @@ equipment.plan.pump=92010600,92030600,92130400,92140200,92150300
#iot.code.prefix.have.used=20210003,20210004,20210005
# 电力使用
iot.code.prefix.have.used=
#是否向iot推送消息
isSendIot=false
......@@ -3495,6 +3495,7 @@
ADD person_of_day varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '当日驻站消防队总人数(可变)';
</sql>
</changeSet>
<changeSet author="TW" id="2022-09-09-21">
<preConditions onFail="MARK_RAN">
<tableExists tableName="jc_situation_detail"/>
......@@ -3506,11 +3507,6 @@
</sql>
</changeSet>
<changeSet author="chenzhao" id="20220909-cz-1">
<preConditions onFail="MARK_RAN">
<not>
......@@ -3522,6 +3518,32 @@
ALTER TABLE `cb_data_dictionary` add column `extend` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '扩展列';
</sql>
</changeSet>
<changeSet author="shg" id="1663051535136-1">
<preConditions onFail="MARK_RAN">
<not>
<tableExists tableName="cb_org_usr_agency_user"/>
</not>
</preConditions>
<comment>create table cb_org_usr_agency_user 单位人员平台人员关系表</comment>
<sql>
CREATE TABLE `cb_org_usr_agency_user` (
`sequence_nbr` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`user_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '用户名',
`mobile` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '手机号',
`group_ids` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '用户组',
`password` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '密码',
`org_usr_id` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '人员id',
`amos_user_id` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '平台用户id',
`rec_user_name` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
`rec_user_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
`rec_date` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
`is_delete` bit(1) NOT NULL DEFAULT b'0',
PRIMARY KEY (`sequence_nbr`) USING BTREE,
UNIQUE KEY `uk_org_usr_id` (`org_usr_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='单位人员平台人员关系表';
>>>>>>> develop_dl_plan6
</sql>
</changeSet>
</databaseChangeLog>
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