同步功能升级

This commit is contained in:
yangjun 2025-08-14 08:35:13 +08:00
parent 52cde52f30
commit c6822f14a1
13 changed files with 350 additions and 3 deletions

View File

@ -13,6 +13,7 @@ import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
/**
* @Description: 护理单元
@ -104,4 +105,6 @@ public class NuBaseInfo implements Serializable {
private String departId;
@TableField(exist = false)
private String departName;
@TableField(exist = false)
private Map<String, Object> map;
}

View File

@ -0,0 +1,184 @@
package com.nu.modules.IotDeviceContent.controller;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.system.query.QueryRuleEnum;
import org.jeecg.common.util.oConvertUtils;
import com.nu.modules.IotDeviceContent.entity.IotDeviceContent;
import com.nu.modules.IotDeviceContent.service.IIotDeviceContentService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.jeecg.common.system.base.controller.JeecgController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.apache.shiro.authz.annotation.RequiresPermissions;
/**
* @Description: 物联设备同步备注信息
* @Author: jeecg-boot
* @Date: 2025-08-13
* @Version: V1.0
*/
@Api(tags="物联设备同步备注信息")
@RestController
@RequestMapping("/IotDeviceContent/iotDeviceContent")
@Slf4j
public class IotDeviceContentController extends JeecgController<IotDeviceContent, IIotDeviceContentService> {
@Autowired
private IIotDeviceContentService iotDeviceContentService;
/**
* 分页列表查询
*
* @param iotDeviceContent
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "物联设备同步备注信息-分页列表查询")
@ApiOperation(value="物联设备同步备注信息-分页列表查询", notes="物联设备同步备注信息-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<IotDeviceContent>> queryPageList(IotDeviceContent iotDeviceContent,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<IotDeviceContent> queryWrapper = QueryGenerator.initQueryWrapper(iotDeviceContent, req.getParameterMap());
if(StringUtils.isEmpty(iotDeviceContent.getNuId())){
queryWrapper.apply("(nu_id is null or nu_id = '')");
}
Page<IotDeviceContent> page = new Page<IotDeviceContent>(pageNo, pageSize);
IPage<IotDeviceContent> pageList = iotDeviceContentService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param iotDeviceContent
* @return
*/
@AutoLog(value = "物联设备同步备注信息-添加")
@ApiOperation(value="物联设备同步备注信息-添加", notes="物联设备同步备注信息-添加")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody IotDeviceContent iotDeviceContent) {
iotDeviceContentService.save(iotDeviceContent);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param iotDeviceContent
* @return
*/
@AutoLog(value = "物联设备同步备注信息-编辑")
@ApiOperation(value="物联设备同步备注信息-编辑", notes="物联设备同步备注信息-编辑")
@RequiresPermissions("IotDeviceContent:nu_iot_device_content:edit")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit(@RequestBody IotDeviceContent iotDeviceContent) {
iotDeviceContentService.updateById(iotDeviceContent);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "物联设备同步备注信息-通过id删除")
@ApiOperation(value="物联设备同步备注信息-通过id删除", notes="物联设备同步备注信息-通过id删除")
@RequiresPermissions("IotDeviceContent:nu_iot_device_content:delete")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
iotDeviceContentService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "物联设备同步备注信息-批量删除")
@ApiOperation(value="物联设备同步备注信息-批量删除", notes="物联设备同步备注信息-批量删除")
@RequiresPermissions("IotDeviceContent:nu_iot_device_content:deleteBatch")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.iotDeviceContentService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "物联设备同步备注信息-通过id查询")
@ApiOperation(value="物联设备同步备注信息-通过id查询", notes="物联设备同步备注信息-通过id查询")
@GetMapping(value = "/queryById")
public Result<IotDeviceContent> queryById(@RequestParam(name="id",required=true) String id) {
IotDeviceContent iotDeviceContent = iotDeviceContentService.getById(id);
if(iotDeviceContent==null) {
return Result.error("未找到对应数据");
}
return Result.OK(iotDeviceContent);
}
/**
* 导出excel
*
* @param request
* @param iotDeviceContent
*/
@RequiresPermissions("IotDeviceContent:nu_iot_device_content:exportXls")
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, IotDeviceContent iotDeviceContent) {
return super.exportXls(request, iotDeviceContent, IotDeviceContent.class, "物联设备同步备注信息");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequiresPermissions("IotDeviceContent:nu_iot_device_content:importExcel")
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, IotDeviceContent.class);
}
}

View File

@ -0,0 +1,73 @@
package com.nu.modules.IotDeviceContent.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import org.jeecg.common.constant.ProvinceCityArea;
import org.jeecg.common.util.SpringContextUtils;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @Description: 物联设备同步备注信息
* @Author: jeecg-boot
* @Date: 2025-08-13
* @Version: V1.0
*/
@Data
@TableName("nu_iot_device_content")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="nu_iot_device_content对象", description="物联设备同步备注信息")
public class IotDeviceContent implements Serializable {
private static final long serialVersionUID = 1L;
/**id*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private java.lang.String id;
/**createBy*/
@ApiModelProperty(value = "createBy")
private java.lang.String createBy;
/**createTime*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "createTime")
private java.util.Date createTime;
/**updateBy*/
@ApiModelProperty(value = "updateBy")
private java.lang.String updateBy;
/**updateTime*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "updateTime")
private java.util.Date updateTime;
/**机构编码*/
@Excel(name = "机构编码", width = 15)
@ApiModelProperty(value = "机构编码")
private java.lang.String orgCode;
/**备注信息*/
@Excel(name = "备注信息", width = 15)
@ApiModelProperty(value = "备注信息")
private java.lang.String content;
/**附件信息*/
@Excel(name = "附件信息", width = 15)
@ApiModelProperty(value = "附件信息")
private java.lang.String filePath;
/**NUID*/
@Excel(name = "NUID", width = 15)
@ApiModelProperty(value = "NUID")
private java.lang.String nuId;
}

View File

@ -0,0 +1,17 @@
package com.nu.modules.IotDeviceContent.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.nu.modules.IotDeviceContent.entity.IotDeviceContent;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 物联设备同步备注信息
* @Author: jeecg-boot
* @Date: 2025-08-13
* @Version: V1.0
*/
public interface IotDeviceContentMapper extends BaseMapper<IotDeviceContent> {
}

View File

@ -0,0 +1,5 @@
<?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.nu.modules.IotDeviceContent.mapper.IotDeviceContentMapper">
</mapper>

View File

@ -0,0 +1,14 @@
package com.nu.modules.IotDeviceContent.service;
import com.nu.modules.IotDeviceContent.entity.IotDeviceContent;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description: 物联设备同步备注信息
* @Author: jeecg-boot
* @Date: 2025-08-13
* @Version: V1.0
*/
public interface IIotDeviceContentService extends IService<IotDeviceContent> {
}

View File

@ -0,0 +1,19 @@
package com.nu.modules.IotDeviceContent.service.impl;
import com.nu.modules.IotDeviceContent.entity.IotDeviceContent;
import com.nu.modules.IotDeviceContent.mapper.IotDeviceContentMapper;
import com.nu.modules.IotDeviceContent.service.IIotDeviceContentService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 物联设备同步备注信息
* @Author: jeecg-boot
* @Date: 2025-08-13
* @Version: V1.0
*/
@Service
public class IotDeviceContentServiceImpl extends ServiceImpl<IotDeviceContentMapper, IotDeviceContent> implements IIotDeviceContentService {
}

View File

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nu.modules.devicesIot.entity.DevicesIot;
import com.nu.modules.devicesIot.service.IDevicesIotService;
import com.nu.modules.nuBaseInfo.entity.NuBaseInfo;
import com.nu.modules.syncLog.entity.SyncLog;
import com.nu.modules.syncLog.service.ISyncLogService;
import io.swagger.annotations.Api;
@ -23,7 +24,7 @@ import java.util.Map;
@Api(tags="设备信息")
@RestController
@RequestMapping("/iot/ddvicesIot")
@RequestMapping("/iot/devicesIot")
@Slf4j
public class DevicesIotController extends JeecgController<DevicesIot, IDevicesIotService> {
@Autowired
@ -37,4 +38,12 @@ public class DevicesIotController extends JeecgController<DevicesIot, IDevicesIo
}
@ApiOperation(value="查询区域设备信息", notes="查询区域设备信息")
@GetMapping(value = "/priviewList")
public Result<List<NuBaseInfo>> priviewList(DevicesIot devicesIot) {
List<NuBaseInfo> pageList = devicesIotService.priviewList(devicesIot);
return Result.OK(pageList);
}
}

View File

@ -6,4 +6,5 @@ import lombok.Data;
public class DevicesIot {
private String nuId;
private String orgCode;
}

View File

@ -2,7 +2,9 @@ package com.nu.modules.devicesIot.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nu.modules.devicesIot.entity.DevicesIot;
import com.nu.modules.nuBaseInfo.entity.NuBaseInfo;
import java.util.List;
import java.util.Map;
/**
@ -14,4 +16,6 @@ import java.util.Map;
public interface IDevicesIotService extends IService<DevicesIot> {
Map<String, Object> queryList(DevicesIot devicesIot);
List<NuBaseInfo> priviewList(DevicesIot devicesIot);
}

View File

@ -5,7 +5,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.nu.modules.devicesIot.entity.DevicesIot;
import com.nu.modules.devicesIot.mapper.DevicesIotMapper;
import com.nu.modules.devicesIot.service.IDevicesIotService;
import com.nu.modules.nuBaseInfo.mapper.NuBaseInfoMapper;
import com.nu.modules.tplink.camera.entity.CameraInfo;
import com.nu.modules.nuBaseInfo.entity.NuBaseInfo;
import com.nu.modules.tplink.camera.mapper.CameraInfoMapper;
import com.nu.modules.tq.electricity.entity.ElectricityMeter;
import com.nu.modules.tq.electricity.mapper.ElectricityMeterMapper;
@ -36,6 +38,8 @@ public class DeviceIotServiceImpl extends ServiceImpl<DevicesIotMapper, DevicesI
private ElectricityMeterMapper electricityMeterMapper;
@Autowired
private HumidDeviceMapper humidDeviceMapper;
@Autowired
private NuBaseInfoMapper nuBaseInfoMapper;
@Override
public Map<String, Object> queryList(DevicesIot devicesIot) {
@ -65,4 +69,19 @@ public class DeviceIotServiceImpl extends ServiceImpl<DevicesIotMapper, DevicesI
return map;
}
@Override
public List<NuBaseInfo> priviewList(DevicesIot devicesIot) {
QueryWrapper<NuBaseInfo> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("sys_org_code", devicesIot.getOrgCode());
List<NuBaseInfo> list = nuBaseInfoMapper.selectList(queryWrapper1);
for(NuBaseInfo nuBaseInfo:list){
DevicesIot par = new DevicesIot();
par.setNuId(nuBaseInfo.getNuId());
Map<String, Object> mapList = queryList(par);
nuBaseInfo.setMap(mapList);
}
return list;
}
}

View File

@ -320,7 +320,6 @@ public class CameraInfo implements Serializable {
private String oldDepartId;//原机构id
private String oldDepartName;//原机构名称
private String sn;//设备号
private String maintainStatus;//维修状态 0正常 1报修 2报废
@TableField(exist = false)

View File

@ -1,6 +1,6 @@
#mysql
diver_name=com.mysql.jdbc.Driver
url=jdbc:mysql://1.92.152.160:33061/nursing_unit?useUnicode=true&characterEncoding=UTF-8
url=jdbc:mysql://192.168.2.199:3306/nu_devops?useUnicode=true&characterEncoding=UTF-8
username=root
password=root
database_name=jeecg-boot