das接口新增
This commit is contained in:
parent
4ebb3d9d34
commit
b341ebb2bc
@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.das.common.constant.BaseEntity;
|
||||
import com.das.modules.equipment.entity.SysEquipment;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import lombok.AllArgsConstructor;
|
||||
@ -102,8 +103,8 @@ public class SysOrg extends BaseEntity {
|
||||
private String aliasName;
|
||||
|
||||
/**
|
||||
* 子节点
|
||||
* 子设备节点
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private List<SysOrg> children;
|
||||
private List<SysEquipment> equipChildren;
|
||||
}
|
||||
|
@ -8,9 +8,12 @@ import com.das.common.result.R;
|
||||
import com.das.common.utils.PageDataInfo;
|
||||
import com.das.modules.auth.entity.SysOrg;
|
||||
import com.das.modules.equipment.domain.dto.SysEquipmentDto;
|
||||
import com.das.modules.equipment.domain.dto.SysIotModelDto;
|
||||
import com.das.modules.equipment.domain.vo.EquipmentTypeVo;
|
||||
import com.das.modules.equipment.domain.vo.SysEquipmentVo;
|
||||
import com.das.modules.equipment.service.SysEquipmentService;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
@ -110,15 +113,36 @@ public class EquipmentController {
|
||||
return sysEquipmentService.querySysEquipmentList(sysEquipmentDto);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询设备类型列表
|
||||
* @return 所有的设备类型
|
||||
*/
|
||||
@PostMapping("/list")
|
||||
public R<List<SysEquipmentVo>> queryAllSysEquipmentList(@RequestBody SysEquipmentDto sysEquipmentDto) {
|
||||
return R.success(sysEquipmentService.queryAllSysEquipmentList(sysEquipmentDto));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询设备树
|
||||
* @return 所有的设备类型
|
||||
*/
|
||||
@PostMapping("/getDeviceTree")
|
||||
@PostMapping("/getEquipmentTree")
|
||||
public R<List<SysOrg>> getRootOrg(@RequestBody SysEquipmentDto sysEquipmentDto) {
|
||||
if (sysEquipmentDto.getOrgId() == null) {
|
||||
throw new ServiceException("参数缺失");
|
||||
}
|
||||
return R.success(sysEquipmentService.getRootOrg(sysEquipmentDto));
|
||||
}
|
||||
|
||||
|
||||
/** 设备导出 */
|
||||
@PostMapping("/export")
|
||||
public void exportSysEquipment(@RequestBody SysEquipmentDto sysEquipmentDto, HttpServletRequest request, HttpServletResponse response) {
|
||||
|
||||
if (sysEquipmentDto.getParentEquipmentId() == null) {
|
||||
throw new ServiceException("请选择需要下载的设备类型信息");
|
||||
}
|
||||
sysEquipmentService.exportSysEquipment(sysEquipmentDto,request, response);
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,91 @@
|
||||
package com.das.modules.equipment.domain.excel;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
public class SysEquipmentExcel {
|
||||
|
||||
/**
|
||||
* 设备类型编码
|
||||
*/
|
||||
@ExcelProperty(value = "设备类型编码",index = 0)
|
||||
private Integer objectType;
|
||||
|
||||
/**
|
||||
* 所属物模型ID
|
||||
*/
|
||||
@ExcelProperty(value = "所属物模型名称",index = 1)
|
||||
private String iotModelName;
|
||||
|
||||
/**
|
||||
* 设备编码
|
||||
*/
|
||||
@ExcelProperty(value = "设备编码",index = 2)
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 设备名称
|
||||
*/
|
||||
@ExcelProperty(value = "设备名称",index = 3)
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 制造商
|
||||
*/
|
||||
@ExcelProperty(value = "制造商",index = 4)
|
||||
private String madeinFactory;
|
||||
|
||||
/**
|
||||
* 型号规格
|
||||
*/
|
||||
@ExcelProperty(value = "型号规格",index = 5)
|
||||
private String model;
|
||||
|
||||
/**
|
||||
* 安装位置
|
||||
*/
|
||||
@ExcelProperty(value = "安装位置",index = 6)
|
||||
private String location;
|
||||
|
||||
/**
|
||||
* 安装位置_经度
|
||||
*/
|
||||
@ExcelProperty(value = "安装位置_经度",index = 7)
|
||||
private float longitude;
|
||||
|
||||
/**
|
||||
* 安装位置_纬度
|
||||
*/
|
||||
@ExcelProperty(value = "安装位置_纬度",index = 8)
|
||||
private float latitude;
|
||||
|
||||
/**
|
||||
* 安装日期
|
||||
*/
|
||||
@ExcelProperty(value = "安装日期",index = 9)
|
||||
private Date installDate;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注",index = 10)
|
||||
private String remarks;
|
||||
|
||||
/**
|
||||
* 机构id
|
||||
*/
|
||||
@ExcelProperty(value = "机构名称",index = 11)
|
||||
private String orgName;
|
||||
|
||||
/**
|
||||
* 上级设备id
|
||||
*/
|
||||
@ExcelProperty(value = "上级设备名称",index = 12)
|
||||
private String parentEquipmentName;
|
||||
|
||||
}
|
@ -4,15 +4,23 @@ package com.das.modules.equipment.mapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.das.modules.equipment.domain.dto.SysEquipmentDto;
|
||||
import com.das.modules.equipment.domain.dto.SysIotModelDto;
|
||||
import com.das.modules.equipment.domain.dto.SysIotModelFieldDto;
|
||||
import com.das.modules.equipment.domain.excel.SysEquipmentExcel;
|
||||
import com.das.modules.equipment.domain.vo.SysEquipmentVo;
|
||||
import com.das.modules.equipment.domain.vo.SysIotModelFieldVo;
|
||||
import com.das.modules.equipment.entity.SysEquipment;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface SysEquipmentMapper extends BaseMapper<SysEquipment> {
|
||||
|
||||
IPage<SysEquipmentVo> querySysEquipmentList(IPage<SysEquipmentVo> page, @Param("info") SysEquipmentDto sysEquipmentDto);
|
||||
|
||||
List<SysEquipment> queryEquipmentTree(@Param("info")SysEquipmentDto sysEquipmentDto);
|
||||
|
||||
List<SysEquipmentExcel> queryInfoById (@Param("info") SysEquipmentDto sysEquipmentDto);
|
||||
}
|
||||
|
@ -24,6 +24,10 @@ public interface SysEquipmentService {
|
||||
|
||||
PageDataInfo<SysEquipmentVo> querySysEquipmentList(SysEquipmentDto sysEquipmentDto);
|
||||
|
||||
List<SysEquipmentVo> queryAllSysEquipmentList(SysEquipmentDto sysEquipmentDto);
|
||||
|
||||
List<SysOrg> getRootOrg(SysEquipmentDto sysEquipmentDto);
|
||||
|
||||
void exportSysEquipment(SysEquipmentDto sysEquipmentDto, HttpServletRequest request, HttpServletResponse response);
|
||||
|
||||
}
|
||||
|
@ -6,11 +6,18 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.das.common.config.SessionUtil;
|
||||
import com.das.common.exceptions.ServiceException;
|
||||
import com.das.common.utils.BeanCopyUtils;
|
||||
import com.das.common.utils.ExcelUtil;
|
||||
import com.das.common.utils.PageDataInfo;
|
||||
import com.das.common.utils.PageQuery;
|
||||
import com.das.modules.auth.domain.vo.SysUserVo;
|
||||
import com.das.modules.auth.entity.SysOrg;
|
||||
import com.das.modules.auth.mapper.SysOrgMapper;
|
||||
import com.das.modules.equipment.domain.dto.SysEquipmentDto;
|
||||
import com.das.modules.equipment.domain.dto.SysIotModelDto;
|
||||
import com.das.modules.equipment.domain.excel.SheetInfoBean;
|
||||
import com.das.modules.equipment.domain.excel.SysEquipmentExcel;
|
||||
import com.das.modules.equipment.domain.excel.SysIotModelFieldExcel;
|
||||
import com.das.modules.equipment.domain.excel.SysIotModelServiceExcel;
|
||||
import com.das.modules.equipment.domain.vo.SysEquipmentVo;
|
||||
import com.das.modules.equipment.domain.vo.SysIotModelServiceVo;
|
||||
import com.das.modules.equipment.domain.vo.SysIotModelVo;
|
||||
@ -19,10 +26,13 @@ import com.das.modules.equipment.entity.SysIotModel;
|
||||
import com.das.modules.equipment.mapper.SysEquipmentMapper;
|
||||
import com.das.modules.equipment.mapper.SysIotModelMapper;
|
||||
import com.das.modules.equipment.service.SysEquipmentService;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@ -32,6 +42,9 @@ public class SysEquipmentServiceImpl implements SysEquipmentService {
|
||||
|
||||
@Autowired
|
||||
private SysEquipmentMapper sysEquipmentMapper;
|
||||
|
||||
@Autowired
|
||||
private SysOrgMapper sysOrgMapper;
|
||||
@Override
|
||||
public SysEquipmentVo creatSysEquipment(SysEquipmentDto sysEquipmentDto) {
|
||||
SysEquipment sysEquipment = new SysEquipment();
|
||||
@ -79,8 +92,43 @@ public class SysEquipmentServiceImpl implements SysEquipmentService {
|
||||
return PageDataInfo.build(iPage.getRecords(), iPage.getTotal());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SysEquipmentVo> queryAllSysEquipmentList(SysEquipmentDto sysEquipmentDto) {
|
||||
// 查询当前账号机构下的子机构和子设备
|
||||
QueryWrapper<SysEquipment> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("org_id", sysEquipmentDto.getOrgId());
|
||||
queryWrapper.eq("parent_equipment_id", sysEquipmentDto.getParentEquipmentId());
|
||||
queryWrapper.eq("object_type", sysEquipmentDto.getObjectType());
|
||||
List<SysEquipment> sysEquipmentList = sysEquipmentMapper.selectList(queryWrapper);
|
||||
List<SysEquipmentVo> list = new ArrayList<>();
|
||||
list.addAll(BeanCopyUtils.copyList(sysEquipmentList, SysEquipmentVo.class));
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SysOrg> getRootOrg(SysEquipmentDto sysEquipmentDto) {
|
||||
return null;
|
||||
// 查询当前账号机构下的子机构和子设备
|
||||
QueryWrapper<SysOrg> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("id", sysEquipmentDto.getOrgId());
|
||||
List<SysOrg> sysOrgList = sysOrgMapper.selectList(queryWrapper);
|
||||
if (sysOrgList.size() == 0) {
|
||||
throw new ServiceException("机构不存在");
|
||||
}
|
||||
for (SysOrg sysOrg : sysOrgList) {
|
||||
sysOrg.setEquipChildren(sysEquipmentMapper.queryEquipmentTree(sysEquipmentDto));
|
||||
}
|
||||
|
||||
return sysOrgList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void exportSysEquipment(SysEquipmentDto sysEquipmentDto, HttpServletRequest request, HttpServletResponse response) {
|
||||
// 查询物模型属性和动作
|
||||
List<SysEquipmentExcel> sysEquipmentList = sysEquipmentMapper.queryInfoById(sysEquipmentDto);
|
||||
String fileName = "设备类型信息表";
|
||||
List<SheetInfoBean> sheetInfoBeanList = new ArrayList<>();
|
||||
SheetInfoBean sheetInfoBean = new SheetInfoBean("设备类型信息", SysEquipmentExcel.class, sysEquipmentList);
|
||||
sheetInfoBeanList.add(sheetInfoBean);
|
||||
ExcelUtil.exportMoreSheet(fileName,request,response,sheetInfoBeanList);
|
||||
}
|
||||
}
|
||||
|
@ -19,6 +19,23 @@
|
||||
<result property="iotModelId" column="iot_model_id" jdbcType="BIGINT"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap type="com.das.modules.equipment.domain.excel.SysEquipmentExcel" id="SysEquipmentExcelMap">
|
||||
|
||||
<result property="orgName" column="org_name" jdbcType="VARCHAR"/>
|
||||
<result property="parentEquipmentName" column="parent_equipment_name" jdbcType="VARCHAR"/>
|
||||
<result property="objectType" column="object_type" jdbcType="INTEGER"/>
|
||||
<result property="iotModelName" column="iot_model_name" jdbcType="VARCHAR"/>
|
||||
<result property="code" column="code" jdbcType="VARCHAR"/>
|
||||
<result property="name" column="name" jdbcType="VARCHAR"/>
|
||||
<result property="model" column="model" jdbcType="VARCHAR"/>
|
||||
<result property="location" column="location" jdbcType="VARCHAR"/>
|
||||
<result property="madeinFactory" column="madein_factory" jdbcType="VARCHAR"/>
|
||||
<result property="installDate" column="install_date" jdbcType="TIMESTAMP"/>
|
||||
<result property="remarks" column="remarks" jdbcType="VARCHAR"/>
|
||||
<result property="latitude" column="latitude" jdbcType="REAL"/>
|
||||
<result property="longitude" column="longitude" jdbcType="REAL"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="querySysEquipmentList" resultMap="SysEquipmentMap">
|
||||
select t.* from sys_equipment t
|
||||
<where>
|
||||
@ -31,7 +48,37 @@
|
||||
<if test="info.parentEquipmentId != null and info.parentEquipmentId != ''">
|
||||
and t.parent_equipment_id = #{info.parentEquipmentId}
|
||||
</if>
|
||||
<if test="info.name != null and info.name != ''">
|
||||
and t.name like concat('%',#{info.name},'%')
|
||||
</if>
|
||||
<if test="info.code != null and info.code != ''">
|
||||
and t.code like concat('%',#{info.code},'%')
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
||||
<select id="queryEquipmentTree" resultMap="SysEquipmentMap">
|
||||
select t.* from sys_equipment t WHERE t.org_id = #{info.id} and t.object_type in (10001,10002)
|
||||
<if test="info.parentEquipmentId != null and info.parentEquipmentId != ''">
|
||||
and t.parent_equipment_id = #{info.parentEquipmentId}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="queryInfoById" resultMap="SysEquipmentExcelMap">
|
||||
select t.*,se."name" as parentEquipmentName,sim.iot_model_name as iotModelName, so."name" as orgName from sys_equipment t
|
||||
left join sys_equipment se on t.parent_equipment_id = se.id
|
||||
left join sys_iot_model sim on t.iot_model_id = sim.id
|
||||
left join sys_org so on t.org_id = so.id
|
||||
<where>
|
||||
<if test="info.id != null and info.id != ''">
|
||||
and t.parent_equipment_id = #{info.id}
|
||||
</if>
|
||||
<if test="info.orgId != null and info.orgId != ''">
|
||||
and t.org_id = #{info.orgId}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
Loading…
Reference in New Issue
Block a user