Commit 5b9a1343 authored by KeYong's avatar KeYong

Merge branch 'develop_dl_plan6' into develop_dl_plan6_temp

# Conflicts: # amos-boot-module/amos-boot-module-api/amos-boot-module-common-api/src/main/java/com/yeejoin/amos/boot/module/common/api/mapper/OrgUsrMapper.java # amos-boot-module/amos-boot-module-api/amos-boot-module-common-api/src/main/resources/mapper/OrgUsrMapper.xml # amos-boot-module/amos-boot-module-biz/amos-boot-module-common-biz/src/main/java/com/yeejoin/amos/boot/module/common/biz/controller/OrgUsrController.java # amos-boot-module/amos-boot-module-biz/amos-boot-module-common-biz/src/main/java/com/yeejoin/amos/boot/module/common/biz/service/impl/OrgUsrServiceImpl.java # amos-boot-module/amos-boot-module-biz/amos-boot-module-equip-biz/src/main/java/com/yeejoin/equipmanage/controller/FireFightingSystemController.java # amos-boot-module/amos-boot-module-biz/amos-boot-module-equip-biz/src/main/java/com/yeejoin/equipmanage/mapper/EquipmentSpecificMapper.java # amos-boot-module/amos-boot-module-biz/amos-boot-module-equip-biz/src/main/java/com/yeejoin/equipmanage/service/IEquipmentSpecificSerivce.java # amos-boot-module/amos-boot-module-biz/amos-boot-module-equip-biz/src/main/java/com/yeejoin/equipmanage/service/impl/EquipmentSpecificSerivceImpl.java # amos-boot-module/amos-boot-module-biz/amos-boot-module-equip-biz/src/main/java/com/yeejoin/equipmanage/service/impl/MqttReceiveServiceImpl.java # amos-boot-system-equip/src/main/resources/changelog/wl-3.6.0.xml # amos-boot-system-equip/src/main/resources/mapper/EquipmentSpecificMapper.xml # amos-boot-system-jcs/src/main/resources/db/changelog/jcs-1.0.0.0.xml
parents 8851cdda bfefaf26
package com.yeejoin.amos.boot.biz.common.aop;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.DepartmentBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.bo.RoleBo;
import com.yeejoin.amos.boot.biz.common.interceptors.PermissionInterceptorContext;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import com.yeejoin.amos.feign.privilege.model.DepartmentModel;
import com.yeejoin.amos.feign.privilege.model.RoleModel;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.RegionModel;
import org.apache.commons.lang3.ObjectUtils;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.AfterReturning;
......@@ -25,22 +35,10 @@ import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.DepartmentBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.bo.RoleBo;
import com.yeejoin.amos.boot.biz.common.interceptors.PermissionInterceptorContext;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import com.yeejoin.amos.feign.privilege.model.DepartmentModel;
import com.yeejoin.amos.feign.privilege.model.RoleModel;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.RegionModel;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* controller层切面 用于用户数据缓存 供 sql自动填充使用
......
package com.yeejoin.amos.boot.module.common.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.biz.common.annotations.DataAuth;
import com.yeejoin.amos.boot.module.common.api.dto.*;
import com.yeejoin.amos.boot.module.common.api.entity.DynamicFormInstance;
import com.yeejoin.amos.boot.module.common.api.entity.OrgUsr;
import org.apache.ibatis.annotations.Param;
import java.util.List;
......@@ -142,4 +140,8 @@ public interface OrgUsrMapper extends BaseMapper<OrgUsr> {
OrgUsr queryByBizCode(@Param("code") String code);
List<OrgUsr> companyUserTreeByUserAndType(Map<String, Object> param);
List<OrgUsr> companyUserTreeByUserAndTypeALL(@Param("bizorgcode") String bizorgcode);
}
......@@ -372,4 +372,8 @@ public interface IOrgUsrService {
OrgUsr selectParentOrgUsr(OrgUsr orgUsr);
List<OrgMenuDto> companyUserTreeByUserAndType(ReginParams reginParams);
List<OrgMenuDto> companyUserTreeByUserAndTypeAll(String bizorgcode);
List<DynamicFormInstance> selectTelById(List<String> ids, String type);
}
......@@ -1095,9 +1095,6 @@ LEFT JOIN (
</if>
</select>
<select id="queryByBizCode" resultType="com.yeejoin.amos.boot.module.common.api.entity.OrgUsr">
SELECT *
FROM cb_org_usr
......@@ -1107,7 +1104,6 @@ LEFT JOIN (
</if>
</select>
<select id="getOrgUsrSyncDataList" resultType="com.yeejoin.amos.boot.module.common.api.dto.OrgUsrSyncDto">
SELECT
u.*,
......@@ -1187,4 +1183,27 @@ LEFT JOIN (
and usr.is_delete = false
</select>
<select id="companyUserTreeByUserAndType"
resultType="com.yeejoin.amos.boot.module.common.api.entity.OrgUsr">
SELECT
usr.*
FROM
cb_org_usr usr
where
usr.is_delete = false
and usr.biz_org_code like CONCAT(#{bizOrgCode},'%')
</select>
<select id="companyUserTreeByUserAndTypeALL"
resultType="com.yeejoin.amos.boot.module.common.api.entity.OrgUsr">
SELECT
usr.*
FROM
cb_org_usr usr
where
usr.is_delete = false
and usr.biz_org_code like CONCAT(#{bizorgcode},'%')
GROUP BY biz_org_name
</select>
</mapper>
......@@ -205,13 +205,25 @@ public class EquipmentSpecificAlarm extends BaseEntity {
/**
* 机构/部门名称
*/
@TableField(exist = false)
@TableField(value = "biz_org_name")
private String bizOrgName;
/**
* 机构编码
*/
@TableField(exist = false)
@TableField(value = "biz_org_code")
private String bizOrgCode;
/**
* 机构code
*/
@TableField(value = "station_code")
private String stationCode;
/**
* 机构名称
*/
@TableField(value = "station_name")
private String stationName;
}
\ No newline at end of file
package com.yeejoin.equipmanage.common.entity;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.Date;
@Data
@Accessors(chain = true)
@TableName("cb_org_usr")
@ApiModel(value="OrgUsr对象", description="部门信息")
public class OrgUsr {
/**
*
*/
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "机构/部门名称")
private String bizOrgName;
@ApiModelProperty(value = "机构编码")
private String bizOrgCode;
@ApiModelProperty(value = "amos中公司/部门ID")
private String amosOrgId;
@ApiModelProperty(value = "amos中公司/部门编码")
private String amosOrgCode;
@ApiModelProperty(value = "机构类型`")
private String bizOrgType;
@ApiModelProperty(value = "所属建筑名称")
private String buildName;
@ApiModelProperty(value = "所属建筑ID")
private String buildId;
@ApiModelProperty(value = "归属机构/部门/人员")
private String parentId;
@ApiModelProperty(value = "扩展属性1")
private String orgExpandAttr1;
@ApiModelProperty(value = "扩展属性2")
private String orgExpandAttr2;
@ApiModelProperty(value = "扩展属性3")
private String orgExpandAttr3;
@ApiModelProperty(value = "扩展属性4")
private String orgExpandAttr4;
private String orgExpandAttr5;
private String orgExpandAttr6;
private String orgExpandAttr7;
private String orgExpandAttr8;
@ApiModelProperty(value = "省市区code,用逗号分隔")
private String pczCode;
@ApiModelProperty(value = "省市区名称,用逗号分隔")
private String pczName;
@ApiModelProperty(value = "唯一编号")
private String code;
@ApiModelProperty(value = "数量")
@TableField(exist = false)
private Long total;
@ApiModelProperty(value = "管理类别")
@TableField(exist = false)
private String managementType;
@TableId(value = "sequence_nbr", type = IdType.ID_WORKER)
protected Long sequenceNbr;
@TableField(value = "rec_date", fill = FieldFill.INSERT_UPDATE)
protected Date recDate;
@TableField(value = "rec_user_id", fill = FieldFill.INSERT_UPDATE)
protected String recUserId;
@TableField(value = "rec_user_name", fill = FieldFill.INSERT_UPDATE)
protected String recUserName;
/**
* 是否删除
*/
@TableField(value = "is_delete")
public Boolean isDelete=false;
@ApiModelProperty(value = "是否可以点击")
@TableField(exist = false)
public Boolean canClick;
}
\ No newline at end of file
package com.yeejoin.equipmanage.common.entity.dto;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
@Data
@AllArgsConstructor
@Accessors(chain = true)
@ApiModel(value="OrgUsrDto", description="树菜单")
public class OrgUsrDto {
private String id;
private String name;
private String parentId;
private List<OrgUsrDto> children;
private String bizOrgCode;
private String code;
public Boolean canClick;
public OrgUsrDto(String id, String name, String parentId, String bizOrgCode, String code, Boolean canClick) {
super();
this.id = id;
this.name = name;
this.parentId = parentId;
this.bizOrgCode = bizOrgCode;
this.code = code;
this.canClick = canClick;
}
public OrgUsrDto() {
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.jcs.api.dto;
import cn.afterturn.easypoi.excel.annotation.Excel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.Data;
@Data
public class OrganizationExportDto {
@ColumnWidth(40)
@ExcelProperty(value = "*应急救援小组名称", index = 0)
private String emergencyTeamName;
@ColumnWidth(25)
@ExcelProperty(value = "小组职责", index = 1)
private String duty;
@ColumnWidth(25)
@ExcelProperty(value = "*组长", index = 2)
private String groupLeader;
@ColumnWidth(25)
@ExcelProperty(value = "组长电话", index = 3)
private String groupLeaderTel;
@ColumnWidth(25)
@ExcelProperty(value = "副组长", index = 4)
private String deputyGroupLeader;
@ColumnWidth(25)
@ExcelProperty(value = "副组长电话", index = 5)
private String deputyGroupLeaderTel;
}
package com.yeejoin.amos.boot.module.jcs.api.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.Data;
@Data
public class OrganizationUserExportDto {
@ColumnWidth(40)
@ExcelProperty(value = "*应急救援小组名称", index = 0)
private String emergencyTeamName;
@ColumnWidth(25)
@ExcelProperty(value = "*组员姓名", index = 1)
private String memberName;
@ColumnWidth(25)
@ExcelProperty(value = "组员岗位", index = 2)
private String postName;
@ColumnWidth(25)
@ExcelProperty(value = "*组员电话", index = 3)
private String telephone;
@ColumnWidth(25)
@ExcelProperty(value = "会商码", index = 4)
private String consultationNub;
}
package com.yeejoin.amos.boot.module.jcs.api.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @author DELL
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("cb_organization")
@ApiModel(value="Organization对象", description="组织机构应急小组")
public class Organization extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "应急小组名称")
private String emergencyTeamName;
@ApiModelProperty(value = "所属单位名称")
private String bizOrgName;
@ApiModelProperty(value = "所属单位code")
private String bizOrgCode;
@ApiModelProperty(value = "组长")
private String groupLeader;
@ApiModelProperty(value = "组长电话")
private String groupLeaderTel;
@ApiModelProperty(value = "副组长")
private String deputyGroupLeader;
@ApiModelProperty(value = "副组长电话")
private String deputyGroupLeaderTel;
@ApiModelProperty(value = "职责")
private String duty;
@ApiModelProperty(value = "照片地址")
private String photoUrls;
@ApiModelProperty(value = "附件")
private String enclosure;
@ApiModelProperty(value = "组长id")
private String groupLeaderId;
@ApiModelProperty(value = "副组长id")
private String deputyGroupLeaderId;
@ApiModelProperty(value = "父id")
private Long parentId;
@ApiModelProperty(value = "排序")
private int sort;
}
package com.yeejoin.amos.boot.module.jcs.api.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @author DELL
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("cb_organization_user")
@ApiModel(value="OrganizationUser对象", description="组织机构应急小组成员")
public class OrganizationUser extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "应急小组名称")
private String emergencyTeamName;
@ApiModelProperty(value = "应急小组id")
private String emergencyTeamId;
@ApiModelProperty(value = "岗位名称")
private String postName;
@ApiModelProperty(value = "电话")
private String telephone;
@ApiModelProperty(value = "头像地址")
private String headPhoto;
@ApiModelProperty(value = "成员姓名")
private String memberName;
@ApiModelProperty(value = "成员id")
private String memberNameId;
@ApiModelProperty(value = "会商码")
private String consultationNub;
@ApiModelProperty(value = "排序")
private int sort;
}
package com.yeejoin.amos.boot.module.jcs.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.common.api.entity.Firefighters;
import com.yeejoin.amos.boot.module.jcs.api.dto.OrganizationExportDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.OrganizationUserExportDto;
import com.yeejoin.amos.boot.module.jcs.api.entity.Organization;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
public interface OrganizationMapper extends BaseMapper<Organization> {
Page<Map<String, Object>> getOrganizationInfo(Page<Map<String, Object>> page, @Param("bizOrgCode") String bizOrgCode);
Page<Map<String, Object>> getOrganizationList(Page<Map<String, Object>> page, @Param("bizOrgCode") String bizOrgCode);
Page<Map<String, Object>> getOrganizationGroup(Page<Map<String, Object>> page, @Param("bizOrgCode") String bizOrgCode);
List<OrganizationExportDto> selectOrganization(@Param("bizOrgCode") String bizOrgCode);
List<OrganizationUserExportDto> selectOrganizationUserList(@Param("bizOrgCode") String bizOrgCode);
int selectMaxSort();
int selectOrganizationUserMaxSort();
}
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.OrganizationUser;
public interface OrganizationUserMapper extends BaseMapper<OrganizationUser> {
}
package com.yeejoin.amos.boot.module.jcs.api.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.module.jcs.api.entity.OrganizationUser;
public interface IOrganizationUserService {
OrganizationUser saveOrganization(OrganizationUser organizationUser);
OrganizationUser updateModelById(OrganizationUser organizationUser);
OrganizationUser getDetailsById(Long id);
IPage<OrganizationUser> getListPage(int pageNumber, int pageSize, Long id);
int deleteById(Long id);
}
package com.yeejoin.amos.boot.module.jcs.api.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jcs.api.dto.OrganizationExportDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.OrganizationUserExportDto;
import com.yeejoin.amos.boot.module.jcs.api.entity.Organization;
import java.util.List;
import java.util.Map;
public interface OrganizationService {
Page<Map<String, Object>> getOrganizationInfo(Page<Map<String, Object>> page, String bizOrgCode);
Page<Map<String, Object>> getOrganizationList(Page<Map<String, Object>> page, String bizOrgCode);
List<OrganizationExportDto> selectOrganization(String bizOrgCode);
List<OrganizationUserExportDto> selectOrganizationUserList(String bizOrgCode);
void saveOrganization(List<OrganizationExportDto> data, List<OrganizationUserExportDto> userData, String bizOrgCode);
/**
* 保存应急小组
* @param organization
* @return
*/
Organization saveOrganization(Organization organization);
Organization updateModelById(Organization organization);
boolean moveTeam(String method, Long id);
List<Organization> getList();
Organization getDetailsById(Long id);
int deleteById(Long id);
}
<?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.OrganizationMapper">
<select id="getOrganizationInfo" resultType="java.util.Map">
SELECT
(
SELECT
Ifnull (GROUP_CONCAT( cou.biz_org_name ),'') AS
value
FROM
(
SELECT
cdfi.field_value AS userId
FROM
cb_dynamic_form_instance cdfi
WHERE
cdfi.instance_id IN (
SELECT
cdps.instance_id
FROM
cb_duty_person_shift cdps
LEFT JOIN cb_dynamic_form_instance cdfi ON cdps.instance_id = cdfi.instance_id
WHERE
cdfi.field_code = 'postType'
AND field_value = '1676'
AND cdps.duty_date = ( SELECT DATE_FORMAT(NOW(),"%Y-%m-%d"))
)
AND cdfi.field_code = 'userId'
) temp
LEFT JOIN cb_org_usr cou ON cou.sequence_nbr = temp.userId
) AS
value
,
'当值值长' AS name UNION
(
SELECT
(
SELECT
count( 1 ) AS num
FROM
cb_org_usr cou
LEFT JOIN cb_dynamic_form_instance cdfi ON cou.sequence_nbr = cdfi.instance_id
WHERE
cou.biz_org_type = 'PERSON'
AND cdfi.field_code = 'peopleType'
AND field_value = '1601'
AND cou.is_delete = 0
AND cou.biz_org_code LIKE CONCAT( #{bizOrgCode}, '%' )
) AS `value`,
'驻站消防队' AS name
) UNION
(
SELECT
( SELECT COUNT( 1 ) FROM cb_organization_user cou WHERE cou.emergency_team_id = co.sequence_nbr ) AS
value
,
co.emergency_team_name AS name
FROM
cb_organization co
WHERE co.is_delete = 0
ORDER BY
co.sort
LIMIT 4
)
</select>
<select id="getOrganizationList" resultType="java.util.Map">
SELECT
ifnull(cou.consultation_nub, 0) as userId,
ifnull(cou.emergency_team_id, '') as groupId,
ifnull(co.emergency_team_name, '') as emergencyTeamName,
ifnull(cou.member_name, '') as memberName ,
ifnull(cou.post_name, '') as postName,
ifnull(cou.telephone, '')as telephone,
ifnull(co.duty, '') as duty ,
ifnull(cou.consultation_nub, '') as consultationNub
FROM
cb_organization co
LEFT JOIN cb_organization_user cou ON co.sequence_nbr = cou.emergency_team_id
where co.biz_org_code like concat(#{bizOrgCode}, '%') and cou.is_delete = 0
ORDER BY co.sort , cou.rec_date
</select>
<select id="getOrganizationGroup" resultType="java.util.Map">
SELECT
co.sequence_nbr as id,
co.duty
FROM
cb_organization co
LEFT JOIN cb_organization_user cou ON co.sequence_nbr = cou.emergency_team_id
where co.biz_org_code like concat(#{bizOrgCode}, '%')
GROUP BY co.sequence_nbr
</select>
<select id="selectOrganization" resultType="com.yeejoin.amos.boot.module.jcs.api.dto.OrganizationExportDto">
SELECT
co.emergency_team_name AS emergencyTeamName,
co.duty,
co.group_leader AS groupLeader,
co.group_leader_tel AS groupLeaderTel,
co.deputy_group_leader AS deputyGroupLeader,
co.deputy_group_leader_tel AS deputyGroupLeaderTel
FROM
cb_organization co
WHERE
co.is_delete = 0
</select>
<select id="selectOrganizationUserList" resultType="com.yeejoin.amos.boot.module.jcs.api.dto.OrganizationUserExportDto">
SELECT
cou.emergency_team_name AS emergencyTeamName,
cou.member_name as memberName,
cou.post_name AS postName,
cou.telephone,
cou.consultation_nub
FROM
cb_organization_user cou
where cou.is_delete = 0
</select>
<select id="selectMaxSort" resultType="java.lang.Integer">
SELECT IFNULL( MAX(sort),0) FROM cb_organization
</select>
<select id="selectOrganizationUserMaxSort" resultType="java.lang.Integer">
SELECT IFNULL( MAX(sort),0) FROM cb_organization_user
</select>
</mapper>
package com.yeejoin.amos.boot.module.common.biz.controller;
import java.util.*;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest;
import com.yeejoin.amos.boot.biz.common.workflow.feign.WorkflowFeignService;
import com.yeejoin.amos.boot.module.common.api.dto.*;
import com.yeejoin.amos.boot.module.common.api.entity.DynamicFormInstance;
import com.yeejoin.amos.boot.module.common.api.enums.OrgPersonEnum;
import com.yeejoin.amos.boot.module.common.api.mapper.DynamicFormInstanceMapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.util.ObjectUtils;
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.foundation.utils.ValidationUtil;
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 com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
......@@ -38,11 +16,15 @@ import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.interceptors.PermissionInterceptorContext;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.biz.common.utils.NameUtils;
import com.yeejoin.amos.boot.biz.common.workflow.feign.WorkflowFeignService;
import com.yeejoin.amos.boot.module.common.api.core.framework.PersonIdentify;
import com.yeejoin.amos.boot.module.common.api.dto.*;
import com.yeejoin.amos.boot.module.common.api.entity.CompanyInfo;
import com.yeejoin.amos.boot.module.common.api.entity.DynamicFormInstance;
import com.yeejoin.amos.boot.module.common.api.entity.FireTeam;
import com.yeejoin.amos.boot.module.common.api.entity.OrgUsr;
import com.yeejoin.amos.boot.module.common.api.feign.EquipFeignClient;
import com.yeejoin.amos.boot.module.common.api.mapper.DynamicFormInstanceMapper;
import com.yeejoin.amos.boot.module.common.api.mapper.FireTeamMapper;
import com.yeejoin.amos.boot.module.common.api.mapper.OrgUsrMapper;
import com.yeejoin.amos.boot.module.common.api.service.IOrgUsrService;
......@@ -50,9 +32,23 @@ import com.yeejoin.amos.boot.module.common.biz.service.impl.ESOrgUsrService;
import com.yeejoin.amos.boot.module.common.biz.service.impl.FireCompanyInfoServiceImpl;
import com.yeejoin.amos.boot.module.common.biz.service.impl.OrgUsrServiceImpl;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.util.ObjectUtils;
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.foundation.utils.ValidationUtil;
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.*;
import java.util.stream.Collectors;
/**
* 部门信息修改
......@@ -1085,7 +1081,6 @@ public class OrgUsrController extends BaseController {
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "查询单位基本信息", notes = "查询单位基本信息")
@GetMapping(value = "/getCompanyInfo")
......@@ -1093,6 +1088,21 @@ public class OrgUsrController extends BaseController {
return ResponseHelper.buildResponse(iOrgUsrService.getByIduser(companyId));
}
/**
* 获取单位部门用户树
* @param
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/companyUserTreeByUserAndType", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据登陆人获取单位部门用户树", notes = "根据登陆人获取单位部门用户树")
public ResponseModel<List<OrgMenuDto>> companyUserTreeByUserAndType() {
// 获取登陆人角色
ReginParams reginParams = getSelectedOrgInfo();
List<OrgMenuDto> menus = iOrgUsrService.companyUserTreeByUserAndType(reginParams);
return ResponseHelper.buildResponse(menus);
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "POST", value = "查询当前登陆人所属单位的下级部门", notes = "查询当前登陆人所属单位的下级部门")
......@@ -1154,5 +1164,27 @@ public class OrgUsrController extends BaseController {
}
@RequestMapping(value = "/companyUserTreeByUserAndTypeAll", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "获取单位部门用户树", notes = "根据登陆人获取单位部门用户树")
public ResponseModel<List<OrgMenuDto>> companyUserTreeByUserAndTypeALL() {
// 获取登陆人角色
ReginParams reginParams = getSelectedOrgInfo();
UserDto userDto=iOrgUsrService.selectByIdUser(reginParams.getUserModel().getUserId());
String bizorgcode=userDto.getCompanyBizOrgCode();
List<OrgMenuDto> menus = iOrgUsrService.companyUserTreeByUserAndTypeAll(bizorgcode);
return ResponseHelper.buildResponse(menus);
}
/**
* 获取人员电话
* @param
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/selectTelById", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据id获取用户电话", notes = "根据id获取用户电话")
public ResponseModel<List<DynamicFormInstance>> selectTelById(@RequestParam List<String> ids, @RequestParam String type) {
List<DynamicFormInstance> menus = iOrgUsrService.selectTelById(ids, type);
return ResponseHelper.buildResponse(menus);
}
}
\ No newline at end of file
......@@ -25,7 +25,10 @@ import com.yeejoin.amos.boot.module.common.api.enums.OrgPersonEnum;
import com.yeejoin.amos.boot.module.common.api.enums.UserRolesEnum;
import com.yeejoin.amos.boot.module.common.api.enums.UserUnitTypeEnum;
import com.yeejoin.amos.boot.module.common.api.feign.AmosTrainingFeignClient;
import com.yeejoin.amos.boot.module.common.api.mapper.*;
import com.yeejoin.amos.boot.module.common.api.mapper.DynamicFormInstanceMapper;
import com.yeejoin.amos.boot.module.common.api.mapper.FireTeamMapper;
import com.yeejoin.amos.boot.module.common.api.mapper.FirefightersJacketMapper;
import com.yeejoin.amos.boot.module.common.api.mapper.OrgUsrMapper;
import com.yeejoin.amos.boot.module.common.api.service.IDataSyncService;
import com.yeejoin.amos.boot.module.common.api.service.IMaintenanceCompanyService;
import com.yeejoin.amos.boot.module.common.api.service.IOrgUsrService;
......@@ -2830,7 +2833,7 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
if(bizOrg.getBizOrgType().equals("COMPANY")){
userDto.setCompanyBizOrgCode(bizOrg.getBizOrgCode());
}else{
userDto.setCompanyBizOrgCode(getCompany(bizOrg));
userDto.setCompanyBizOrgCode(getCompany(orgUsr));
}
} else {
......@@ -2852,23 +2855,15 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
return orgUsr;
}
public String getCompany(OrgUsr orgUsr ){
if(orgUsr.getBizOrgType().equals("COMPANY")){
return orgUsr.getBizOrgCode();
public String getCompany(OrgUsr userDto){
if(userDto.getBizOrgType().equals("COMPANY")){
return userDto.getBizOrgCode();
}else{
OrgUsr bizOrg = orgUsrMapper.queryBySequenceNbr(orgUsr.getParentId());
OrgUsr bizOrg = orgUsrMapper.queryBySequenceNbr(userDto.getParentId());
return getCompany(bizOrg);
}
}
public Object getOrgUserByAmosUserId(String amosUserId) throws Exception {
LambdaQueryWrapper<OrgUsr> wrapper = new LambdaQueryWrapper<OrgUsr>();
wrapper.eq(OrgUsr::getIsDelete, false);
......@@ -3541,4 +3536,30 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
List<OrgUsr> list = orgUsrMapper.companyTreeByUserToPatrolRoute(param);
return buildTreeParallel(list);
}
@Override
public List<OrgMenuDto> companyUserTreeByUserAndType(ReginParams reginParams) {
Map<String, Object> param = new HashMap<>();
// 权限处理
PermissionInterceptorContext.setDataAuthRule(authKey);
param.put("bizOrgCode", reginParams.getPersonIdentity().getBizOrgCode());
List<OrgUsr> list = orgUsrMapper.companyUserTreeByUserAndType(param);
return buildTreeParallel(list);
}
@Override
public List<OrgMenuDto> companyUserTreeByUserAndTypeAll(String bizorgcode) {
List<OrgUsr> list = orgUsrMapper.companyUserTreeByUserAndTypeALL(bizorgcode);
return buildTreeParallel(list);
}
@Override
public List<DynamicFormInstance> selectTelById(List<String> ids, String type) {
LambdaQueryWrapper<DynamicFormInstance> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(DynamicFormInstance::getFieldCode, type);
wrapper.in(DynamicFormInstance::getInstanceId, ids);
return dynamicFormInstanceService.list(wrapper);
}
}
\ No newline at end of file
......@@ -2,12 +2,14 @@ package com.yeejoin.equipmanage.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.equipmanage.common.entity.dto.OrgUsrDto;
import com.yeejoin.equipmanage.common.utils.*;
import com.yeejoin.equipmanage.config.PersonIdentify;
import com.yeejoin.equipmanage.mapper.FireFightingSystemMapper;
import com.yeejoin.equipmanage.service.IEquipmentSpecificAlarmService;
import com.yeejoin.equipmanage.service.IEquipmentSpecificSerivce;
import com.yeejoin.equipmanage.service.IFireFightingSystemService;
import com.yeejoin.equipmanage.service.IOrgUsrService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
......@@ -48,6 +50,9 @@ public class DCenterController extends AbstractBaseController {
@Autowired
IEquipmentSpecificSerivce specificService;
@Autowired
IOrgUsrService iOrgUsrService;
/**
* 直流中心告警列表分页,用于直流中心大数据查询分页,不建议再扩展联表查询
*/
......@@ -131,4 +136,34 @@ public class DCenterController extends AbstractBaseController {
return CommonResponseUtil.success(fireFightingSystemMapper.getCenterWaterInfo(page, bizOrgCode));
}
/**
* 换流站接入情况总览
*
* @return
*/
@GetMapping(value = "/station/connect/state")
@TycloudOperation(ApiLevel = UserType.AGENCY)
public ResponseModel getStationConnectStatus() {
return CommonResponseUtil.success(fireFightingSystemService.getStationConnectStatus());
}
/**
* 换流站接入状态统计
*
* @return
*/
@GetMapping(value = "/station/status/statistics")
@TycloudOperation(ApiLevel = UserType.AGENCY)
public ResponseModel getStationStatusStatistics() {
return CommonResponseUtil.success(fireFightingSystemService.getStationStatusStatistics());
}
@RequestMapping(value = "/companyTree", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "电力公司树", notes = "电力公司树")
@TycloudOperation(ApiLevel = UserType.AGENCY)
public ResponseModel<List<OrgUsrDto>> companyTreeByUserAndType() {
List<OrgUsrDto> menus = iOrgUsrService.getCompanyTree();
return CommonResponseUtil.success(menus);
}
}
package com.yeejoin.equipmanage.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.equipmanage.common.utils.CommonResponseUtil;
import com.yeejoin.equipmanage.service.IEmergencyService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
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.ResponseModel;
import java.util.Map;
/**
*
* 四横八纵应急模块接口
*
*
*/
@RestController
@Api(tags = "四横八纵应急模块Api")
@RequestMapping(value = "/emergency", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public class EmergencyController extends AbstractBaseController {
@Autowired
IEmergencyService iEmergencyService;
/**
* 通过bizOrgCode过滤
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation("系统状态")
@GetMapping(value = "/system/state")
public ResponseModel getSystemState() {
ReginParams reginParams = getSelectedOrgInfo();
String bizOrgCode = reginParams.getPersonIdentity().getBizOrgCode();
return CommonResponseUtil.success(iEmergencyService.getSystemState(bizOrgCode));
}
/**
* CAFS-消防水箱信息
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation("CAFS-消防水箱信息")
@GetMapping(value = "/cafs-tank")
public ResponseModel getCAFSWaterTankInfo() {
ReginParams reginParams = getSelectedOrgInfo();
String bizOrgCode = reginParams.getPersonIdentity().getBizOrgCode();
return CommonResponseUtil.success(iEmergencyService.getCAFSWaterTankInfo(bizOrgCode));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation("应急物资")
@GetMapping(value = "/emergencyMaterials")
public Map<String, Object> emergencyMaterials(@RequestParam(value = "bizOrgCode", required = false) String bizOrgCode ) {
if (ObjectUtils.isEmpty(bizOrgCode)){
ReginParams reginParams = getSelectedOrgInfo();
bizOrgCode = reginParams.getPersonIdentity().getBizOrgCode();
}
return iEmergencyService.emergencyMaterials(bizOrgCode);
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation("应急物资-详情")
@GetMapping(value = "/emergencyMaterialsDetails")
public Page<Map<String, Object>> emergencyMaterialsDetails(@RequestParam(value = "bizOrgCode", required = false) String bizOrgCode ,
@RequestParam(value = "pageNumber") int pageNumber,
@RequestParam(value = "pageSize") int pageSize) {
Page<Map<String, Object>> page = new Page<>(pageNumber, pageSize);
if (ObjectUtils.isEmpty(bizOrgCode)){
ReginParams reginParams = getSelectedOrgInfo();
bizOrgCode = reginParams.getPersonIdentity().getBizOrgCode();
}
return iEmergencyService.emergencyMaterialsDetails(page, bizOrgCode);
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation("消防炮列表")
@GetMapping(value = "/fireMonitor")
public Page<Map<String, Object>> selectFireMonitor(@RequestParam(value = "bizOrgCode", required = false) String bizOrgCode,
@RequestParam(value = "pageNumber") int pageNumber,
@RequestParam(value = "pageSize") int pageSize,
@RequestParam(value = "code") String code) {
Page<Map<String, Object>> page = new Page<>(pageNumber, pageSize);
if (ObjectUtils.isEmpty(bizOrgCode)){
ReginParams reginParams = getSelectedOrgInfo();
bizOrgCode = reginParams.getPersonIdentity().getBizOrgCode();
}
return iEmergencyService.selectFireMonitor(page, bizOrgCode, code);
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation("泡沫罐列表")
@GetMapping(value = "/selectFoamTank")
public Page<Map<String, Object>> selectFoamTank(@RequestParam(value = "bizOrgCode", required = false) String bizOrgCode,
@RequestParam(value = "pageNumber") int pageNumber,
@RequestParam(value = "pageSize") int pageSize
) {
Page<Map<String, Object>> page = new Page<>(pageNumber, pageSize);
if (ObjectUtils.isEmpty(bizOrgCode)){
ReginParams reginParams = getSelectedOrgInfo();
bizOrgCode = reginParams.getPersonIdentity().getBizOrgCode();
}
return iEmergencyService.selectFoamTank(page, bizOrgCode);
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation("排油系统列表")
@GetMapping(value = "/selectOilDrainage")
public Page<Map<String, Object>> selectOilDrainage(@RequestParam(value = "bizOrgCode", required = false) String bizOrgCode ,
@RequestParam(value = "pageNumber") int pageNumber,
@RequestParam(value = "pageSize") int pageSize,
@RequestParam(value = "code") String code) {
Page<Map<String, Object>> page = new Page<>(pageNumber, pageSize);
if (ObjectUtils.isEmpty(bizOrgCode)){
ReginParams reginParams = getSelectedOrgInfo();
bizOrgCode = reginParams.getPersonIdentity().getBizOrgCode();
}
return iEmergencyService.selectOilDrainage(page, bizOrgCode, code);
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation("压力流量")
@GetMapping(value = "/selectPressureFlow")
public Page<Map<String, Object>> selectPressureFlow(@RequestParam(value = "bizOrgCode", required = false) String bizOrgCode ,
@RequestParam(value = "pageNumber") int pageNumber,
@RequestParam(value = "pageSize") int pageSize) {
Page<Map<String, Object>> page = new Page<>(pageNumber, pageSize);
if (ObjectUtils.isEmpty(bizOrgCode)){
ReginParams reginParams = getSelectedOrgInfo();
bizOrgCode = reginParams.getPersonIdentity().getBizOrgCode();
}
return iEmergencyService.selectPressureFlow(page, bizOrgCode);
}
}
......@@ -653,16 +653,21 @@ public class FireFightingSystemController extends AbstractBaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "消防系统列表查询(不分页)", notes = "下拉使用")
@GetMapping(value = "/list")
public List<FireFightingSystemEntity> listAll() {
ReginParams reginParams = getSelectedOrgInfo();
ReginParams.PersonIdentity personIdentity = reginParams.getPersonIdentity();
if (!ValidationUtil.isEmpty(personIdentity)) {
String bizOrgCode = personIdentity.getBizOrgCode();
if (!StringUtils.isEmpty(bizOrgCode)) {
QueryWrapper<FireFightingSystemEntity> qw = new QueryWrapper<>();
qw.lambda().likeRight(FireFightingSystemEntity::getBizOrgCode, bizOrgCode);
return fireFightingSystemService.list(qw);
public List<FireFightingSystemEntity> listAll(@RequestParam(value = "bizOrgCode", required = false) String bizOrgCode) {
String name = "";
if (StringUtils.isEmpty(bizOrgCode)) {
ReginParams reginParams = getSelectedOrgInfo();
ReginParams.PersonIdentity personIdentity = reginParams.getPersonIdentity();
if (!ValidationUtil.isEmpty(personIdentity)) {
bizOrgCode = personIdentity.getBizOrgCode();
}
} else {
name = "其他系统";
}
if (StringUtil.isNotEmpty(bizOrgCode)) {
QueryWrapper<FireFightingSystemEntity> qw = new QueryWrapper<>();
qw.lambda().likeRight(FireFightingSystemEntity::getBizOrgCode, bizOrgCode).ne(FireFightingSystemEntity::getName,name);
return fireFightingSystemService.list(qw);
}
return new ArrayList<>();
}
......
......@@ -282,19 +282,23 @@ public class SupervisionConfigureController extends AbstractBaseController {
Date halfHour = DateUtils.dateAddMinutes(null, -30);
Date twoHour = DateUtils.dateAddHours(null, -2);
Date fourHour = DateUtils.dateAddHours(null, -4);
Date oneHour = DateUtils.dateAddHours(null, -1);
String startDateStr = DateUtils.convertDateToString(mounthDate, DateUtils.DATE_TIME_PATTERN);
String half = DateUtils.convertDateToString(halfHour, DateUtils.DATE_TIME_PATTERN);
String two = DateUtils.convertDateToString(twoHour, DateUtils.DATE_TIME_PATTERN);
String four = DateUtils.convertDateToString(fourHour, DateUtils.DATE_TIME_PATTERN);
String one = DateUtils.convertDateToString(oneHour, DateUtils.DATE_TIME_PATTERN);
ResponseModel mounthEntity = null;
ResponseModel halfHourEntity = null;
ResponseModel twoHourEntity = null;
ResponseModel fourHourEntity = null;
ResponseModel oneHourEntity = null;
try {
mounthEntity = iotFeign.selectList(getAppKey(), getProduct(), getToken(), startDateStr, nowStrLong, prefix, suffix, pressurePumpStart);
halfHourEntity = iotFeign.selectList(getAppKey(), getProduct(), getToken(), half, nowStrLong, prefix, suffix, pressurePumpStart);
twoHourEntity = iotFeign.selectList(getAppKey(), getProduct(), getToken(), two, nowStrLong, prefix, suffix, pressurePumpStart);
fourHourEntity = iotFeign.selectList(getAppKey(), getProduct(), getToken(), four, nowStrLong, prefix, suffix, pressurePumpStart);
oneHourEntity = iotFeign.selectList(getAppKey(), getProduct(), getToken(), one, nowStrLong, prefix, suffix, pressurePumpStart);
} catch (Exception e) {
e.printStackTrace();
}
......@@ -326,6 +330,13 @@ public class SupervisionConfigureController extends AbstractBaseController {
int num = collect.size();
item.put("fourHourStartNum", num);
}
if (200 == oneHourEntity.getStatus()) {
String json1 = JSON.toJSONString(oneHourEntity.getResult());
List<Map<String, String>> listObject1 = (List<Map<String, String>>) JSONArray.parse(json1);
List<Map<String, String>> collect = listObject1.stream().filter(t -> (t.containsKey(pressurePumpStart) && t.get(pressurePumpStart).equals("true"))).collect(Collectors.toList());
int num = collect.size();
item.put("oneHourStartNum", num);
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
long nowDateTime = new Date().getTime();//当前时间戳
Map<String, String> stateMap = fireFightingSystemMapper.queryPressureNowStateBySpecificId((Long) item.get("id"));
......@@ -338,7 +349,7 @@ public class SupervisionConfigureController extends AbstractBaseController {
} else {
item.put("equipment_index_name", "无信号");
}
if ("启动".equals(stateMap.get("equipment_index_name"))) {
if ("启动".equals(item.get("equipment_index_name"))) {
long update_time = 0L;
try {
update_time = sdf.parse(String.valueOf(stateMap.get("update_date")).replaceAll("T", " ")).getTime();
......@@ -382,6 +393,11 @@ public class SupervisionConfigureController extends AbstractBaseController {
pressurePumpInfo.getRecords().stream(
).map(item -> {
item.put("startAndStopInterval", finalDiffMinute);
// if (finalDiffMinute > 5) {
// item.put("stateDesc", "异常");
// } else {
// item.put("stateDesc", "正常");
// }
item.put("nameKey", pressurePumpStart);
return item;
}).collect(Collectors.toList());
......
package com.yeejoin.equipmanage.mapper;
import org.apache.ibatis.annotations.Param;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.List;
import java.util.Map;
/**
* Mapper 接口
*
*/
public interface EmergencyMapper extends BaseMapper{
/**
* 应急物资列表
* @param bizOrgCode
* @return
*/
Map<String, Object> selectEmergencyMaterials(@Param("bizOrgCode") String bizOrgCode);
/**
* 应急物资详情
* @param bizOrgCode
* @return
*/
Page<Map<String, Object>> selectEmergencyMaterialsDetails(Page<Map<String, Object>> page, @Param("bizOrgCode") String bizOrgCode);
/**
* 消防炮列表
* @param bizOrgCode
* @return
*/
Page<Map<String, Object>> selectFireMonitor(Page<Map<String, Object>> page, @Param("bizOrgCode") String bizOrgCode, @Param("code") String code);
/**
* 泡沫罐
* @param bizOrgCode
* @return
*/
Page<Map<String, Object>> selectFoamTank(Page<Map<String, Object>> page , @Param("bizOrgCode") String bizOrgCode);
/**
* 排油系统
* @param bizOrgCode
* @return
*/
Page<Map<String, Object>> selectOilDrainage(Page<Map<String, Object>> page , @Param("bizOrgCode") String bizOrgCode, @Param("code") String code);
/**
* 压力流量
* @param page
* @param bizOrgCode
* @return
*/
Page<Map<String, Object>> selectPressureFlow(Page<Map<String, Object>> page , @Param("bizOrgCode") String bizOrgCode);
List<Map<String, Object>> getSystemState(@Param("bizOrgCode") String bizOrgCode);
List<Map<String, Object>> getCAFSWaterTankInfo(@Param("bizOrgCode") String bizOrgCode);
}
......@@ -248,7 +248,9 @@ public interface EquipmentSpecificMapper extends BaseMapper<EquipmentSpecific> {
Page<FireFightingSystemDto> fireSysIotEquipCount(Page<Map<String, Object>> page, @Param("bizOrgCode") String bizOrgCode);
List<FireFightingSystemDto> fireSysIotEquipAlarmCount(Date date, String bizOrgCode);
List<Map> getwater(@Param("id") Long id);
List<Map> getWater(@Param("id") Long id);
Map<String, Object> getStationCode(@Param("id")Long id);
}
......@@ -636,4 +636,8 @@ public interface FireFightingSystemMapper extends BaseMapper<FireFightingSystemE
Map<String, Object> getWaterlevelUnit();
Map<String, Object> getStationConnectStatus();
List<Map<String, Object>> getStationStatusStatistics();
}
package com.yeejoin.equipmanage.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.equipmanage.common.entity.OrgUsr;
import java.util.List;
public interface OrgUsrMapper extends BaseMapper<OrgUsr> {
List<OrgUsr> getCompanyTree();
}
\ No newline at end of file
package com.yeejoin.equipmanage.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.List;
import java.util.Map;
/**
*
* 四横八纵应急模块接口服务类
*
*
*/
public interface IEmergencyService {
/**
* @return
*/
List<Map<String, Object>> getSystemState(String bizOrgCode);
/**
* @return
*/
List<Map<String, Object>> getCAFSWaterTankInfo(String bizOrgCode);
Map<String, Object> emergencyMaterials(String bizOrgCode);
Page<Map<String, Object>> emergencyMaterialsDetails(Page<Map<String, Object>> page, String bizOrgCode);
Page<Map<String, Object>> selectFireMonitor(Page<Map<String, Object>> page, String bizOrgCode,String code);
Page<Map<String, Object>> selectFoamTank(Page<Map<String, Object>> page, String bizOrgCode);
Page<Map<String, Object>> selectOilDrainage(Page<Map<String, Object>> page, String bizOrgCode, String code);
Page<Map<String, Object>> selectPressureFlow(Page<Map<String, Object>> page, String bizOrgCode);
}
......@@ -266,8 +266,7 @@ public interface IEquipmentSpecificSerivce extends IService<EquipmentSpecific> {
*/
List<FireFightingSystemDto> fireSysIotEquipAlarmCount(Date date, String bizOrgCode);
List<Map> getwater(Long id);
List<Map> getWater(Long id);
Map<String,Object> getStationCode(Long id);
......
......@@ -302,4 +302,8 @@ public interface IFireFightingSystemService extends IService<FireFightingSystemE
Map<String, Object> getSystemDetailByCode(String systemCode);
Map<String, Object> getStationConnectStatus();
List<Map<String, Object>> getStationStatusStatistics();
}
package com.yeejoin.equipmanage.service;
import com.yeejoin.equipmanage.common.entity.dto.OrgUsrDto;
import java.util.List;
/**
* 机构/部门/人员表 服务类
*
* @author tb
* @date 2021-06-18
*/
public interface IOrgUsrService {
List<OrgUsrDto> getCompanyTree();
}
package com.yeejoin.equipmanage.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.equipmanage.mapper.EmergencyMapper;
import com.yeejoin.equipmanage.service.IEmergencyService;
import org.apache.commons.compress.utils.Lists;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
/**
*
* 四横八纵应急模块接口服务类
*
*/
@Service
public class EmergencyServiceImpl implements IEmergencyService {
@Autowired
private EmergencyMapper emergencyMapper;
@Override
public List<Map<String, Object>> getSystemState(String bizOrgCode) {
List<Map<String, Object>> list = emergencyMapper.getSystemState(bizOrgCode);
if (0 < list.size()) {
list.forEach(x -> {
List<Map<String, Object>> list1 = new ArrayList();
Map<String, Object> map = new HashMap<>();
map.put("name", x.get("status"));
if ("正常".equals(String.valueOf(x.get("status")))) {
map.put("level", "success");
} else {
map.put("level", "warning");
}
list1.add(map);
x.put("status", list1);
});
}
return list;
}
@Override
public List<Map<String, Object>> getCAFSWaterTankInfo(String bizOrgCode) {
List<Map<String, Object>> list = emergencyMapper.getCAFSWaterTankInfo(bizOrgCode);
// List<Map<String, Object>> res = new ArrayList();
// if (0 < list.size()) {
// list.forEach(x -> {
// Map<String, Object> map = new HashMap<>();
// map.put("key", x.get("specificId"));
// map.put("code", x.get("code"));
// map.put("name", x.get("name"));
// map.put("value", x.get("specificId"));
// map.put("key", x.get("specificId"));
// });
// }
return Optional.ofNullable(list).orElse(Lists.newArrayList());
}
@Override
public Map<String, Object> emergencyMaterials(String bizOrgCode) {
return emergencyMapper.selectEmergencyMaterials(bizOrgCode);
}
@Override
public Page<Map<String, Object>> emergencyMaterialsDetails(Page<Map<String, Object>> page, String bizOrgCode) {
return emergencyMapper.selectEmergencyMaterialsDetails(page , bizOrgCode);
}
@Override
public Page<Map<String, Object>> selectFireMonitor(Page<Map<String, Object>> page, String bizOrgCode, String code) {
return emergencyMapper.selectFireMonitor(page, bizOrgCode, code);
}
@Override
public Page<Map<String, Object>> selectFoamTank(Page<Map<String, Object>> page, String bizOrgCode) {
return emergencyMapper.selectFoamTank(page, bizOrgCode);
}
@Override
public Page<Map<String, Object>> selectOilDrainage(Page<Map<String, Object>> page, String bizOrgCode, String code) {
return emergencyMapper.selectOilDrainage(page, bizOrgCode, code);
}
@Override
public Page<Map<String, Object>> selectPressureFlow(Page<Map<String, Object>> page, String bizOrgCode) {
return emergencyMapper.selectPressureFlow(page, bizOrgCode);
}
}
......@@ -2041,12 +2041,13 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
}
@Override
public List<Map> getwater(Long id) {
return equipmentSpecificMapper.getwater(id);
public List<Map> getWater(Long id) {
return equipmentSpecificMapper.getWater(id);
}
@Override
public Map<String, Object> getStationCode(Long id) {
return equipmentSpecificMapper.getStationCode(id);
}
}
......@@ -2227,4 +2227,20 @@ public class FireFightingSystemServiceImpl extends ServiceImpl<FireFightingSyste
});
return result;
}
@Override
public Map<String, Object> getStationConnectStatus() {
Map<String, Object> map = new HashMap<>();
Map<String, Object> resultMap = fireFightingSystemMapper.getStationConnectStatus();
map.put("online", resultMap.get("online"));
map.put("notOnline", resultMap.get("notOnline"));
return map;
}
@Override
public List<Map<String, Object>> getStationStatusStatistics() {
return fireFightingSystemMapper.getStationStatusStatistics();
}
}
......@@ -52,7 +52,7 @@ public class FormInstanceEquipServiceImpl extends ServiceImpl<FormInstanceEquipM
@Autowired
private Sequence sequence;
final static String[] list = {"92031900", "92011000", "92010700"};
final static String[] list = {"92031900", "92011000", "92010700", "92032000"};
private final String CODE = "code";
......
......@@ -483,6 +483,9 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
}
});
// 直流中心消息推送刷新
publishDataToDCCenterPage(equipmentSpecificIndexList);
// 向预控系统发送消息
sendEquipSpecIndexToAutosysTopic(equipmentSpecificIndexList);
......@@ -507,9 +510,6 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
// 直流中心消息推送刷新
publishDataToDCCenterPage(equipmentSpecificIndexList);
if(vo.getEcode()!=null){
String ecode= vo.getEcode();
boolean flag=false;
......@@ -541,13 +541,11 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
}
//消防水源
if(!flag){
List<Map> lit= iEquipmentSpecificSerivce.getwater(vo.getId());
List<Map> lit= iEquipmentSpecificSerivce.getWater(vo.getId());
if(lit!=null&& lit.size()>0){
topicEntity.setType("xfsy");
mqttSendGateway.sendToMqtt(emergencyDisposalIndicators, JSONObject.toJSONString(topicEntity));
}
}
}
}
......@@ -924,13 +922,14 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
equipmentSpecificAlarmLog.setCreateDate(new Date());
equipmentSpecificAlarmLog.setEquipmentSpecificAlarmId(equipmentSpecificAlarm.getId());
//调整为按照设备归属(可归属公司或者部门
//调整为按照设备归属(可归属公司或者部门)
Map<String,Object> mapd= iEquipmentSpecificSerivce.getStationCode(equipmentSpecificAlarm.getEquipmentSpecificId());
if(mapd!=null){
equipmentSpecificAlarmLog.setStationCode(mapd.get("station_code").toString());
equipmentSpecificAlarmLog.setStationName(mapd.get("station_name").toString());
}
// equipmentSpecificAlarmLog.setStationCode(stationCode);
// equipmentSpecificAlarmLog.setStationName(stationName);
boolean bool = equipmentSpecificAlarmLogService.save(equipmentSpecificAlarmLog);
// 同步告警消息给平台
if (amosSwitch && bool) {
......@@ -974,6 +973,20 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
equipmentSpecificAlarm.setEmergencyLevelDescribe(equipmentSpecificIndex.getEmergencyLevelDescribe());
equipmentSpecificAlarm.setBizOrgCode(equipmentSpecificIndex.getBizOrgCode());
equipmentSpecificAlarm.setBizOrgName(equipmentSpecificIndex.getBizOrgName());
//调整为按照设备归属(可归属公司或者部门
Map<String,Object> mapd= iEquipmentSpecificSerivce.getStationCode(equipmentSpecificIndex.getEquipmentSpecificId());
if(mapd!=null){
equipmentSpecificAlarm.setStationCode(mapd.get("station_code").toString());
equipmentSpecificAlarm.setStationName(mapd.get("station_name").toString());
}
// equipmentSpecificAlarm.setStationCode(stationCode);
// equipmentSpecificAlarm.setStationName(stationName);
equipmentSpecificAlarms.add(equipmentSpecificAlarm);
return equipmentSpecificAlarms;
}
......@@ -1467,7 +1480,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
public void updateNodeDateByEquipId(List<EquipmentSpecificIndex> indexList) {
if (!ObjectUtils.isEmpty(indexList)) {
EquipmentVo equipmentVo = equipmentService.getEquipBySpecific(indexList.get(0).getEquipmentSpecificId());
if (equipmentVo.getIsIot().equals("1")) {
if ("1".equals(equipmentVo.getIsIot())) {
List<EquipmentSpecificAlarm> alarmList = equipmentSpecificAlarmService.getEquipListBySpecific(true,
indexList.get(0).getEquipmentSpecificId());
topographyService.updateNodeDateByEquipId(indexList.get(0).getEquipmentSpecificId(), indexList,
......
package com.yeejoin.equipmanage.service.impl;
import com.yeejoin.equipmanage.common.entity.OrgUsr;
import com.yeejoin.equipmanage.common.entity.dto.OrgUsrDto;
import com.yeejoin.equipmanage.mapper.OrgUsrMapper;
import com.yeejoin.equipmanage.service.IOrgUsrService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import java.util.*;
import java.util.stream.Collectors;
@Service
public class OrgUsrServiceImpl implements IOrgUsrService {
private final Logger logger = LoggerFactory.getLogger(OrgUsrServiceImpl.class);
@Autowired
OrgUsrMapper orgUsrMapper;
@Override
public List<OrgUsrDto> getCompanyTree(){
List<OrgUsr> list = orgUsrMapper.getCompanyTree();
return buildCompanyTree(list);
}
public static List<OrgUsrDto> buildCompanyTree(List<OrgUsr> list) {
List<OrgUsrDto> menuList = list.stream()
.map(o -> new OrgUsrDto(String.valueOf(o.getSequenceNbr()), o.getBizOrgName(),
ObjectUtils.isEmpty(o.getParentId()) ? "0" : String.valueOf(o.getParentId()),
o.getBizOrgCode(), o.getCode(), o.getCanClick())).collect(Collectors.toList());
List<OrgUsrDto> result = new ArrayList<>();
Map<String, OrgUsrDto> map = new HashMap<>(menuList.size());
menuList.forEach(e -> map.put(e.getId(), e));
Set<? extends Map.Entry<String, ? extends OrgUsrDto>> entries = map.entrySet();
entries.forEach(entry -> {
OrgUsrDto value = entry.getValue();
if (value != null) {
OrgUsrDto treeDto = map.get(value.getParentId());
if (treeDto != null) {
List<OrgUsrDto> children = treeDto.getChildren();
if (children == null) {
children = new ArrayList<>();
treeDto.setChildren(children);
}
children.add(value);
} else {
result.add(value);
}
}
});
return result;
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.jcs.biz.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.jcs.api.entity.Organization;
import com.yeejoin.amos.boot.module.jcs.api.entity.OrganizationUser;
import com.yeejoin.amos.boot.module.jcs.api.mapper.OrganizationMapper;
import com.yeejoin.amos.boot.module.jcs.api.service.IOrganizationUserService;
import com.yeejoin.amos.boot.module.jcs.api.service.OrganizationService;
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;
@RestController
@Api(tags = "组织机构")
@RequestMapping(value = "/organization-user")
public class OrganizationUserController extends BaseController {
@Autowired
private IOrganizationUserService organizationUserService;
@Autowired
private OrganizationMapper organizationMapper;
/**
* 新增应急小组成员
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增应急小组用户", notes = "新增应急小组用户")
public ResponseModel<OrganizationUser> save(@RequestBody OrganizationUser organizationUser) {
int sort = organizationMapper.selectOrganizationUserMaxSort();
organizationUser.setSort(sort+1);
return ResponseHelper.buildResponse(organizationUserService.saveOrganization(organizationUser));
}
/**
* 编辑应急小组成员
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/updateById", method = RequestMethod.PUT)
@ApiOperation(httpMethod = "PUT", value = "编辑应急小组成员", notes = "编辑应急小组成员")
public ResponseModel<OrganizationUser> updateByIdDeviceServicing(@RequestBody OrganizationUser organizationUser){
return ResponseHelper.buildResponse(organizationUserService.updateModelById(organizationUser));
}
@GetMapping(value = "/getDetailsById")
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "获取详情", notes = "获取详情")
public ResponseModel<OrganizationUser> getDetailsById(@RequestParam() Long id) {
return ResponseHelper.buildResponse(organizationUserService.getDetailsById(id));
}
@GetMapping(value = "/getListPage")
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "删除", notes = "根据id删除")
public ResponseModel<IPage<OrganizationUser>> getListPage(@RequestParam(value = "pageNumber") int pageNumber,
@RequestParam(value = "pageSize") int pageSize, @RequestParam() Long id) {
return ResponseHelper.buildResponse(organizationUserService.getListPage(pageNumber, pageSize, id));
}
@GetMapping(value = "/deleteById")
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "删除", notes = "根据id删除")
public ResponseModel deleteById(@RequestParam() Long id) {
return ResponseHelper.buildResponse(organizationUserService.deleteById(id));
}
}
package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.module.jcs.api.entity.OrganizationUser;
import com.yeejoin.amos.boot.module.jcs.api.mapper.OrganizationUserMapper;
import com.yeejoin.amos.boot.module.jcs.api.service.IOrganizationUserService;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.rdbms.service.BaseService;
@Service
public class OrganizationUserImpl extends BaseService<OrganizationUser,OrganizationUser, OrganizationUserMapper> implements IOrganizationUserService {
@Override
public OrganizationUser saveOrganization(OrganizationUser organizationUser) {
return this.createWithModel(organizationUser);
}
@Override
public OrganizationUser updateModelById(OrganizationUser organizationUser) {
return this.updateWithModel(organizationUser);
}
@Override
public OrganizationUser getDetailsById(Long id) {
return this.baseMapper.selectById(id);
}
@Override
public IPage<OrganizationUser> getListPage(int pageNumber, int pageSize, Long id) {
Page<OrganizationUser> page = new Page<>();
page.setSize(pageSize);
page.setCurrent(pageNumber);
LambdaQueryWrapper<OrganizationUser> wrapper = new LambdaQueryWrapper<>();
if (!ObjectUtils.isEmpty(id) && id != 0) {
wrapper.eq(OrganizationUser::getEmergencyTeamId, id);
}
// wrapper.orderByDesc(BaseEntity::getRecDate);
wrapper.eq(OrganizationUser::getIsDelete, false);
wrapper.orderByDesc(OrganizationUser::getSort);
return this.baseMapper.selectPage(page, wrapper);
}
@Override
public int deleteById(Long id) {
return this.baseMapper.deleteById(id);
}
}
......@@ -284,9 +284,10 @@
wlesal.equipment_specific_name as equipmentSpecificName,
wlesal.location,
wlesal.station_code AS stationCode,
wlesal.station_name AS stationName
wlesal.biz_org_name AS stationName
FROM wl_equipment_specific_alarm_log wlesal
<where>
wlesal.clean_time IS NULL
<if test="param.alarmType == 'BREAKDOWN'">AND wlesal.type = #{param.alarmType}</if>
<if test="param.alarmType == 'FIREALARM'">AND wlesal.type = #{param.alarmType}</if>
<if test="param.isFireAlarm == 'false'">AND wlesal.type != 'FIREALARM'</if>
......@@ -1366,20 +1367,22 @@
<select id="fireAlarmLogPage" resultType="java.util.HashMap">
SELECT
`wlesal`.id as alarmLogId,
equipment_specific_index_name,
equipment_specific_name,
`wlesal`.equipment_specific_index_name,
`wlesal`.equipment_specific_name,
DATE_FORMAT(`wlesal`.`create_date`,'%m-%d %H:%i:%s') alarm_time,
location,
emergency_level_color,
wlesal.location,
wlesal.emergency_level_color,
IF
( `wlesal`.`clean_time` IS NOT NULL, '已消除', '未消除' ) AS `cleanStatus`,
wlesal.station_name AS sationName
FROM
`wl_equipment_specific_alarm_log` `wlesal`
LEFT JOIN `wl_equipment_specific_alarm` wesa ON wesa.id = wlesal.equipment_specific_alarm_id
LEFT JOIN `wl_equipment_specific` `wles` ON `wlesal`.`equipment_specific_id` = `wles`.`id`
<where>
wesa.`status` = 1
<if test="param.system != null and param.system != ''">
find_in_set( #{param.system}, `wlesal`.`system_codes` )
AND find_in_set( #{param.system}, `wlesal`.`system_codes` )
</if>
<if test="param.fireEquipmentSpecificIndexKey != null and param.fireEquipmentSpecificIndexKey != ''">
AND wlesal.type = #{param.fireEquipmentSpecificIndexKey}
......
......@@ -2138,8 +2138,9 @@
LEFT JOIN wl_equipment e ON wed.`equipment_id` = e.`id`
LEFT JOIN wl_equipment_category ec ON ec.id = fs.system_type
<where>
fs.`name` != '其他系统'
<if test="bizOrgCode!=null and bizOrgCode!=''">
fs.biz_org_code like concat(#{bizOrgCode}, '%')
AND fs.biz_org_code like concat(#{bizOrgCode}, '%')
</if>
</where>
GROUP BY
......@@ -2152,28 +2153,19 @@
s.id,
s.`name`,
IFNULL(s.alarmEquipTotal, 0) AS alarmEquipTotal,
IF(s.alarmEquipTotal > 0,1,0) AS `status`
IF(s.countAlarmEquipTotal > 0,1,0) AS `status`
FROM
(SELECT
fs.id,
fs.`name`,
<choose>
<when test="date != null">
SUM(IF(TO_DAYS(esi.update_date) = TO_DAYS(#{date}),1,0)) AS alarmEquipTotal
</when>
<otherwise>
COUNT( 1 ) AS alarmEquipTotal
</otherwise>
</choose>
SUM(IF(TO_DAYS(wesi.update_date) = TO_DAYS(#{date}),1,0)) AS alarmEquipTotal,
COUNT( 1 ) AS countAlarmEquipTotal
FROM
f_fire_fighting_system fs
LEFT JOIN `wl_equipment_specific` `wes` ON find_in_set( `fs`.`id`, `wes`.`system_id` )
LEFT JOIN wl_equipment_specific_index esi ON esi.equipment_specific_id = wes.id
LEFT JOIN wl_equipment_specific_alarm wesi ON wesi.equipment_specific_id = wes.id
<where>
(
( esi.is_alarm = 1 AND esi.`value` = 'true' )
OR ( esi.is_alarm = 0 AND esi.`value` = 'false' )
)
wesi.`status` = '1'
<if test="bizOrgCode!=null and bizOrgCode!=''">
AND fs.biz_org_code like concat(#{bizOrgCode}, '%')
</if>
......@@ -2181,7 +2173,8 @@
GROUP BY
fs.id) s
</select>
<select id="getwater" resultType="java.util.Map">
<select id="getWater" resultType="java.util.Map">
SELECT
ei.equipment_specific_id
FROM
......@@ -2196,7 +2189,6 @@
and ei.equipment_specific_id =#{id}
</select>
<select id="getStationCode" resultType="java.util.Map">
SELECT
u.`station_code`,
......@@ -2210,7 +2202,7 @@
`idx_biz_station_info` s,
cb_org_usr b
where s.`code` = b.`code`) u
where LOCATE(u.biz_org_code, (SELECT wl_equipment_specific.biz_org_code FROM wl_equipment_specific WHERE wl_equipment_specific.id=#{id})) > 0
where LOCATE(u.biz_org_code, (SELECT wl_equipment_specific.biz_org_code FROM wl_equipment_specific WHERE wl_equipment_specific.id=#{id})) > 0
</select>
</mapper>
\ No newline at end of file
......@@ -4945,7 +4945,7 @@
(
SELECT
ed.`name`,
concat_ws( '-', ws.full_name, ed.area ) area,
concat_ws( '-', es.position, es.`name` ) area,
es.id,
max( CASE WHEN ei.equipment_index_key = 'FHS_PipePressureDetector_PipePressure' THEN ei.`value` END ) AS nowPressure,
IF
......@@ -4960,7 +4960,6 @@
FROM
wl_equipment_specific es
LEFT JOIN wl_equipment_detail ed ON es.equipment_detail_id = ed.id
LEFT JOIN wl_warehouse_structure ws ON ws.id = es.warehouse_structure_id
LEFT JOIN wl_equipment_specific_index ei ON es.id = ei.equipment_specific_id
LEFT JOIN wl_form_instance_equip fi ON fi.instance_id = es.id
WHERE
......@@ -5308,11 +5307,11 @@
FROM
`f_fire_fighting_system` `fs`
LEFT JOIN `wl_equipment_specific` `wes` ON 0 <![CDATA[<>]]> find_in_set( `fs`.`id`, `wes`.`system_id` )
LEFT JOIN `wl_equipment_specific_index` `wesi` ON wesi.equipment_specific_id = wes.id
LEFT JOIN `wl_equipment_specific_alarm` `wesi` ON wesi.equipment_specific_id = wes.id
WHERE
fs.system_type_code IS NOT NULL
AND fs.system_type_code = 'fireWaterSys'
AND ( wesi.is_alarm = 1 AND wesi.`value` = 'true' OR wesi.is_alarm = 0 AND wesi.`value` = 'false' )
AND wesi.`status` = 1
) fireWaterSys,
(
SELECT
......@@ -5320,11 +5319,11 @@
FROM
`f_fire_fighting_system` `fs`
LEFT JOIN `wl_equipment_specific` `wes` ON 0 <![CDATA[<>]]> find_in_set( `fs`.`id`, `wes`.`system_id` )
LEFT JOIN `wl_equipment_specific_index` `wesi` ON wesi.equipment_specific_id = wes.id
LEFT JOIN `wl_equipment_specific_alarm` `wesi` ON wesi.equipment_specific_id = wes.id
WHERE
fs.system_type_code IS NOT NULL
AND fs.system_type_code = 'fireCAFSSys'
AND ( wesi.is_alarm = 1 AND wesi.`value` = 'true' OR wesi.is_alarm = 0 AND wesi.`value` = 'false' )
AND wesi.`status` = 1
) fireCAFSSys,
(
SELECT
......@@ -5332,11 +5331,11 @@
FROM
`f_fire_fighting_system` `fs`
LEFT JOIN `wl_equipment_specific` `wes` ON 0 <![CDATA[<>]]> find_in_set( `fs`.`id`, `wes`.`system_id` )
LEFT JOIN `wl_equipment_specific_index` `wesi` ON wesi.equipment_specific_id = wes.id
LEFT JOIN `wl_equipment_specific_alarm` `wesi` ON wesi.equipment_specific_id = wes.id
WHERE
fs.system_type_code IS NOT NULL
AND fs.system_type_code = 'fireAlarmSys'
AND ( wesi.is_alarm = 1 AND wesi.`value` = 'true' OR wesi.is_alarm = 0 AND wesi.`value` = 'false' )
AND wesi.`status` = 1
) fireAlarmSys,
(
SELECT
......@@ -5344,11 +5343,11 @@
FROM
`f_fire_fighting_system` `fs`
LEFT JOIN `wl_equipment_specific` `wes` ON 0 <![CDATA[<>]]> find_in_set( `fs`.`id`, `wes`.`system_id` )
LEFT JOIN `wl_equipment_specific_index` `wesi` ON wesi.equipment_specific_id = wes.id
LEFT JOIN `wl_equipment_specific_alarm` `wesi` ON wesi.equipment_specific_id = wes.id
WHERE
fs.system_type_code IS NOT NULL
AND fs.system_type_code = 'fireONLSys'
AND ( wesi.is_alarm = 1 AND wesi.`value` = 'true' OR wesi.is_alarm = 0 AND wesi.`value` = 'false' )
AND wesi.`status` = 1
) fireONLSys
</select>
......@@ -5455,4 +5454,53 @@
<select id="getWaterlevelUnit" resultType="java.util.Map">
SELECT unit FROM `wl_equipment_index` WHERE name_key = 'FHS_FirePoolDevice_WaterLevel'
</select>
<select id="getStationConnectStatus" resultType="java.util.Map">
SELECT
SUM(a.`online`) AS `online`,
SUM(a.`notOnline`) AS `notOnline`
FROM
(
SELECT
IF(si.`online` = 1, 1, 0) 'online',
IF(si.`online` !=1, 1, 0) 'notOnline'
FROM
idx_biz_station_info si
GROUP BY
si.`code`
) a
</select>
<select id="getStationStatusStatistics" resultType="java.util.Map">
SELECT
s.`code`,
s.`name`,
IF
( s.total > 0, 1, 0 ) AS `status`
FROM
(
SELECT
si.id,
si.`code`,
si.`name`,
SUM(
IF
(
( wesa.`status` = 1 AND wesa.equipment_specific_index_value = 'true' ),
1,
0
)
) AS total
FROM
idx_biz_station_info si
LEFT JOIN wl_equipment_specific_alarm wesa ON si.`code` = wesa.station_code
WHERE
si.ONLINE = 1
GROUP BY
si.id
) s
GROUP BY
s.id
</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.equipmanage.mapper.OrgUsrMapper">
<select id="getCompanyTree" resultType="com.yeejoin.equipmanage.common.entity.OrgUsr">
SELECT
usr.sequence_nbr,
usr.biz_org_name,
usr.biz_org_code,
usr.parent_id,
usr.`code`,
CASE
WHEN ibsi.`code` = usr.`code` THEN
1 ELSE 0
END AS canClick
FROM
cb_org_usr usr
LEFT JOIN idx_biz_station_info ibsi ON ibsi.`code` = usr.`code`
WHERE
usr.biz_org_type = 'COMPANY'
AND usr.is_delete = 0
AND usr.sequence_nbr IN (
(
SELECT
usr.parent_id AS id
FROM
cb_org_usr usr
LEFT JOIN idx_biz_station_info ibsi ON ibsi.`code` = usr.`code`
WHERE
usr.biz_org_type = 'COMPANY'
AND usr.is_delete = 0
AND ibsi.`online` = 1
) UNION ALL
(
SELECT
usr.sequence_nbr AS id
FROM
cb_org_usr usr
LEFT JOIN idx_biz_station_info ibsi ON ibsi.`code` = usr.`code`
WHERE
usr.biz_org_type = 'COMPANY'
AND usr.is_delete = 0
AND ibsi.`online` = 1
) UNION ALL
(
SELECT
usr.sequence_nbr AS id
FROM
cb_org_usr usr
WHERE
usr.biz_org_type = 'COMPANY'
AND usr.is_delete = 0
AND parent_id IS NULL
)
)
</select>
</mapper>
......@@ -3751,7 +3751,6 @@
</sql>
</changeSet>
<!-- <changeSet author="tw" id="20221909-1">-->
<!-- <preConditions onFail="MARK_RAN">-->
<!-- <tableExists tableName="cb_sign"/>-->
......@@ -3772,6 +3771,92 @@
</sql>
</changeSet>
<changeSet author="ls" id="20221220-1">
<preConditions onFail="MARK_RAN">
<not>
<tableExists tableName="cb_organization_user"/>
</not>
</preConditions>
<comment>create table cb_organization_user</comment>
<sql>
DROP TABLE IF EXISTS `cb_organization_user`;
CREATE TABLE `cb_organization_user` (
`sequence_nbr` bigint(0) NOT NULL,
`emergency_team_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '应急小组名称',
`emergency_team_id` bigint(0) NULL DEFAULT NULL COMMENT '应急小组id',
`post_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '岗位名称',
`telephone` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '电话',
`head_photo` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '头像地址',
`rec_date` datetime(0) NULL DEFAULT NULL COMMENT '新增时间',
`member_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '成员姓名',
`member_name_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '成员id',
`rec_user_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`rec_user_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`is_delete` bit(1) NULL DEFAULT NULL,
`consultation_nub` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '会商码',
PRIMARY KEY (`sequence_nbr`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
</sql>
</changeSet>
<changeSet author="ls" id="20221220-2">
<preConditions onFail="MARK_RAN">
<not>
<tableExists tableName="cb_organization"/>
</not>
</preConditions>
<comment>create table cb_organization</comment>
<sql>
DROP TABLE IF EXISTS `cb_organization`;
CREATE TABLE `cb_organization` (
`sequence_nbr` bigint(0) NOT NULL,
`emergency_team_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '应急小组名称',
`biz_org_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '所属单位名称',
`biz_org_code` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '所属单位code',
`group_leader` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '组长',
`group_leader_tel` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '组长电话',
`deputy_group_leader` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '副组长',
`deputy_group_leader_tel` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '副组长电话',
`duty` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '职责',
`photo_urls` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '照片地址',
`enclosure` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '附件',
`parent_id` bigint(0) NULL DEFAULT 0 COMMENT '父id',
`sort` int(0) NULL DEFAULT NULL COMMENT '排序',
`rec_date` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`group_leader_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '组长id',
`deputy_group_leader_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '副组长id',
`rec_user_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`rec_user_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`is_delete` bit(1) NULL DEFAULT NULL,
PRIMARY KEY (`sequence_nbr`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
</sql>
</changeSet>
<changeSet author="ls" id="20221220-3">
<preConditions onFail="MARK_RAN">
<tableExists tableName="cb_data_dictionary" />
<not>
<primaryKeyExists primaryKeyName="sequence_nbr" tableName="cb_data_dictionary"/>
</not>
</preConditions>
<comment>cb_data_dictionary 添加值班岗位</comment>
<sql>
replace INTO cb_data_dictionary (`sequence_nbr`, `code`, `name`, `type`, `type_desc`, `extend`, `parent`, `rec_user_name`, `rec_user_id`, `rec_date`, `is_delete`, `sort_num`) VALUES ('1676', '1676', '当值值长', 'DUTY_POST_TYPE', NULL, NULL, NULL, NULL, NULL, NULL, b'0', '1');
</sql>
</changeSet>
<changeSet author="tw" id="20221227-tw-01">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="cb_organization_user" columnName="sort"/>
</not>
</preConditions>
<comment>modify table cb_organization_user add columns</comment>
<sql>
ALTER TABLE `cb_organization_user` ADD `sort` int(11) DEFAULT NULL COMMENT '排序'
</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