From 200a0ba6b58cff1976fb688f6a083f3184e5cb64 Mon Sep 17 00:00:00 2001 From: guo Date: Fri, 4 Aug 2023 09:48:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=90=BA=E7=A8=B3=E9=85=8D=E7=94=B5=E7=AE=B1?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/basicdata/entity/SystemUser.java | 1 + .../electrical/entity/ElectricalData.java | 4 +- .../FrontierProtectionDevAlarmController.java | 15 +- ...ierProtectionDevCurrentDataController.java | 17 + .../entity/FrontierProtectionDev.java | 6 + .../entity/FrontierProtectionDevAlarm.java | 19 + .../FrontierProtectionDevCurrentData.java | 18 + .../FrontierProtectionDevCurrentDataQO.java | 3 + ...rontierProtectionDevCurrentDataMapper.java | 2 + ...FrontierProtectionDevCurrentDataMapper.xml | 6 + .../xml/FrontierProtectionDevMapper.xml | 5 +- ...ontierProtectionDevCurrentDataService.java | 6 + ...erProtectionDevCurrentDataServiceImpl.java | 35 +- .../PoisonousGasDevAlarmController.java | 81 +--- .../controller/PoisonousGasDevController.java | 79 +-- .../PoisonousGasDevCurrentDataController.java | 74 +-- .../poisonous/entity/PoisonousGasDev.java | 165 ++++--- .../entity/PoisonousGasDevAlarm.java | 4 + .../mapper/PoisonousGasDevMapper.java | 10 +- .../mapper/xml/PoisonousGasDevMapper.xml | 6 + .../IPoisonousGasDevCurrentDataService.java | 8 + .../service/IPoisonousGasDevService.java | 7 + ...PoisonousGasDevCurrentDataServiceImpl.java | 45 +- .../impl/PoisonousGasDevServiceImpl.java | 19 +- .../controller/SmokeDevAlarmController.java | 459 +++++++++--------- .../smoke/controller/SmokeDevController.java | 456 +++++++++-------- .../modules/smoke/entity/SmokeDevAlarm.java | 6 +- .../zhgd/xmgl/security/JwtTokenFilter.java | 1 - .../zhgd/xmgl/security/JwtTokenProvider.java | 6 +- .../zhgd/xmgl/security/MyUserDetailsImpl.java | 13 +- .../zhgd/xmgl/security/entity/UserInfo.java | 28 ++ .../com/zhgd/xmgl/task/ElectricalTask.java | 91 ++-- .../application-gsx-other-env-show.properties | 2 +- 33 files changed, 879 insertions(+), 818 deletions(-) create mode 100644 src/main/java/com/zhgd/xmgl/security/entity/UserInfo.java diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/SystemUser.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/SystemUser.java index d8dba0aca..ac84f364c 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/SystemUser.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/SystemUser.java @@ -9,6 +9,7 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.security.core.userdetails.User; import java.io.Serializable; diff --git a/src/main/java/com/zhgd/xmgl/modules/electrical/entity/ElectricalData.java b/src/main/java/com/zhgd/xmgl/modules/electrical/entity/ElectricalData.java index e2fc4ae46..6a8c16f80 100644 --- a/src/main/java/com/zhgd/xmgl/modules/electrical/entity/ElectricalData.java +++ b/src/main/java/com/zhgd/xmgl/modules/electrical/entity/ElectricalData.java @@ -118,11 +118,13 @@ public class ElectricalData implements Serializable { @ApiModelProperty(value = "环境温度") private java.lang.String ambientTemperature; + @ApiModelProperty(value = "携稳id") + private Long xiewenId; + @TableField(exist = false) @ApiModelProperty(value = "时间") private java.lang.String time; - public ElectricalData(String devSn, String uploadTime, String voltageA, String voltageB, String voltageC, String phaseCurrentA, String phaseCurrentB, String phaseCurrentC, String electricLeakage, String cableTemperatureA, String cableTemperatureB, String cableTemperatureC, String cableTemperatureD) { this.devSn = devSn; this.uploadTime = uploadTime; diff --git a/src/main/java/com/zhgd/xmgl/modules/frontier/controller/FrontierProtectionDevAlarmController.java b/src/main/java/com/zhgd/xmgl/modules/frontier/controller/FrontierProtectionDevAlarmController.java index 1bfe112ba..f16c6296d 100644 --- a/src/main/java/com/zhgd/xmgl/modules/frontier/controller/FrontierProtectionDevAlarmController.java +++ b/src/main/java/com/zhgd/xmgl/modules/frontier/controller/FrontierProtectionDevAlarmController.java @@ -8,16 +8,20 @@ import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.system.query.QueryGenerator; import com.zhgd.xmgl.modules.frontier.entity.FrontierProtectionDevAlarm; import com.zhgd.xmgl.modules.frontier.service.IFrontierProtectionDevAlarmService; +import com.zhgd.xmgl.security.entity.UserInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.util.Arrays; +import java.util.Date; import java.util.List; +import java.util.Objects; /** @@ -102,9 +106,14 @@ public class FrontierProtectionDevAlarmController { if (frontierProtectionDevAlarmEntity == null) { result.error500("未找到对应实体"); } else { - frontierProtectionDevAlarmService.updateById(frontierProtectionDevAlarm); - result.success("修改成功!"); - } + if (Objects.equals(frontierProtectionDevAlarm.getHandleDone(), 1)) { + UserInfo userInfo = (UserInfo) SecurityContextHolder.getContext().getAuthentication().getCredentials(); + frontierProtectionDevAlarm.setOperateId(userInfo.getUserId()); + frontierProtectionDevAlarm.setOperateTime(new Date()); + } + frontierProtectionDevAlarmService.updateById(frontierProtectionDevAlarm); + result.success("修改成功!"); + } return result; } diff --git a/src/main/java/com/zhgd/xmgl/modules/frontier/controller/FrontierProtectionDevCurrentDataController.java b/src/main/java/com/zhgd/xmgl/modules/frontier/controller/FrontierProtectionDevCurrentDataController.java index 20b48fed4..52900b8b3 100644 --- a/src/main/java/com/zhgd/xmgl/modules/frontier/controller/FrontierProtectionDevCurrentDataController.java +++ b/src/main/java/com/zhgd/xmgl/modules/frontier/controller/FrontierProtectionDevCurrentDataController.java @@ -14,9 +14,12 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; import springfox.documentation.annotations.ApiIgnore; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.util.List; /** @@ -125,5 +128,19 @@ public class FrontierProtectionDevCurrentDataController { public Result deleteById(Long id) { return Result.success(frontierProtectionDevCurrentDataService.removeById(id)); } + + /** + * 导出excel + * + * @param request + * @param response + */ + @ApiOperation(value = "导出excel临边防护-设备实时数据", notes = "导出excel临边防护-设备实时数据", httpMethod = "POST") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(FrontierProtectionDevCurrentDataQO qo, HttpServletRequest request, HttpServletResponse response) { + return frontierProtectionDevCurrentDataService.exportXls(qo, request, response); + } + + } diff --git a/src/main/java/com/zhgd/xmgl/modules/frontier/entity/FrontierProtectionDev.java b/src/main/java/com/zhgd/xmgl/modules/frontier/entity/FrontierProtectionDev.java index 2f3be6f0c..c103666b0 100644 --- a/src/main/java/com/zhgd/xmgl/modules/frontier/entity/FrontierProtectionDev.java +++ b/src/main/java/com/zhgd/xmgl/modules/frontier/entity/FrontierProtectionDev.java @@ -96,9 +96,15 @@ public class FrontierProtectionDev implements Serializable { @ApiModelProperty(value = "使用状态1正常2异常") private Integer status; + @ApiModelProperty(value = "备注") + private String remark; + @TableField(exist = false) @ApiModelProperty(value = "班组名称") private String teamName; + @TableField(exist = false) + @ApiModelProperty(value = "在线状态(0.离线 1.在线)") + private java.lang.Integer online; } diff --git a/src/main/java/com/zhgd/xmgl/modules/frontier/entity/FrontierProtectionDevAlarm.java b/src/main/java/com/zhgd/xmgl/modules/frontier/entity/FrontierProtectionDevAlarm.java index d3588d93b..55e05683f 100644 --- a/src/main/java/com/zhgd/xmgl/modules/frontier/entity/FrontierProtectionDevAlarm.java +++ b/src/main/java/com/zhgd/xmgl/modules/frontier/entity/FrontierProtectionDevAlarm.java @@ -102,6 +102,21 @@ public class FrontierProtectionDevAlarm implements Serializable { @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "更新时间") private java.util.Date updateTime; + /** + * 操作人id + */ + @Excel(name = "操作人id", width = 15) + @ApiModelProperty(value = "操作人id") + private java.lang.Long operateId; + + /** + * 操作时间 + */ + @Excel(name = "操作时间", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "操作时间") + private java.util.Date operateTime; @ApiModelProperty(value = "设备位置") @TableField(exist = false) @@ -109,5 +124,9 @@ public class FrontierProtectionDevAlarm implements Serializable { @ApiModelProperty(value = "设备名称") @TableField(exist = false) private String devName; + + @TableField(exist = false) + @ApiModelProperty(value = "操作人") + private java.lang.String operateName; } diff --git a/src/main/java/com/zhgd/xmgl/modules/frontier/entity/FrontierProtectionDevCurrentData.java b/src/main/java/com/zhgd/xmgl/modules/frontier/entity/FrontierProtectionDevCurrentData.java index d2666f63f..b3492f755 100644 --- a/src/main/java/com/zhgd/xmgl/modules/frontier/entity/FrontierProtectionDevCurrentData.java +++ b/src/main/java/com/zhgd/xmgl/modules/frontier/entity/FrontierProtectionDevCurrentData.java @@ -11,6 +11,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; +import org.jeecgframework.poi.excel.annotation.Excel; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; @@ -41,6 +42,7 @@ public class FrontierProtectionDevCurrentData implements Serializable { */ @TableField(value = "dev_sn") @ApiModelProperty(value = "临边防护设备sn") + @Excel(name = "临边防护设备sn", width = 15) private String devSn; /** @@ -48,6 +50,7 @@ public class FrontierProtectionDevCurrentData implements Serializable { */ @TableField(value = "battery") @ApiModelProperty(value = "剩余电量百分比(0-100)") + @Excel(name = "剩余电量百分比(%)", width = 15) private Float battery; /** @@ -55,6 +58,7 @@ public class FrontierProtectionDevCurrentData implements Serializable { */ @TableField(value = "proximity") @ApiModelProperty(value = "人员靠近 1-正常;2-入侵;3-正常入侵") + @Excel(name = "人员靠近", width = 15, replace = {"正常_1", "入侵_2", "正常入侵_3"}) private Integer proximity; /** @@ -64,6 +68,7 @@ public class FrontierProtectionDevCurrentData implements Serializable { @ApiModelProperty(value = "采集时间") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "上报时间", width = 20, format = "yyyy-MM-dd HH:mm:ss") private Date receiveTime; /** @@ -89,6 +94,7 @@ public class FrontierProtectionDevCurrentData implements Serializable { */ @TableField(value = "port_status1") @ApiModelProperty(value = "线锁1 状态 1-正常;2-断开;3-正常断开") + @Excel(name = "线锁1", width = 20, replace = {"正常_1", "断开_2", "正常断开_3"}) private Integer portStatus1; /** @@ -96,6 +102,7 @@ public class FrontierProtectionDevCurrentData implements Serializable { */ @TableField(value = "port_status2") @ApiModelProperty(value = "线锁2 状态 1-正常;2-断开;3-正常断开") + @Excel(name = "线锁2", width = 20, replace = {"正常_1", "断开_2", "正常断开_3"}) private Integer portStatus2; /** @@ -103,6 +110,7 @@ public class FrontierProtectionDevCurrentData implements Serializable { */ @TableField(value = "mag_status1") @ApiModelProperty(value = "磁锁1 状态 1-正常;2-报警;3-失效") + @Excel(name = "磁锁1", width = 20, replace = {"正常_1", "报警_2", "失效_3"}) private Integer magStatus1; /** @@ -110,6 +118,7 @@ public class FrontierProtectionDevCurrentData implements Serializable { */ @TableField(value = "mag_status2") @ApiModelProperty(value = "磁锁2 状态 1-正常;2-报警;3-失效") + @Excel(name = "磁锁2", width = 20, replace = {"正常_1", "报警_2", "失效_3"}) private Integer magStatus2; /** @@ -117,12 +126,21 @@ public class FrontierProtectionDevCurrentData implements Serializable { */ @TableField(value = "anti_cross") @ApiModelProperty(value = "防翻越 1-正常;2-报警;3-失效") + @Excel(name = "防翻越", width = 20, replace = {"正常_1", "报警_2", "失效_3"}) private Integer antiCross; @TableField(exist = false) @ApiModelProperty(value = "设备名称") + @Excel(name = "设备名称", width = 15, orderNum = "-1") private String devName; + @ApiModelProperty(value = "所属项目唯一标识") + @TableField(exist = false) + private String projectSn; + @ApiModelProperty(value = "运行状态(正常,xxx报警)") + @TableField(exist = false) + private String operatingStatus; + public FrontierProtectionDevCurrentData(String devSn, Date receiveTime, Float battery, Integer proximity, Integer antiCross) { this.id = IdUtil.getSnowflake().nextId(); this.devSn = devSn; diff --git a/src/main/java/com/zhgd/xmgl/modules/frontier/entity/qo/FrontierProtectionDevCurrentDataQO.java b/src/main/java/com/zhgd/xmgl/modules/frontier/entity/qo/FrontierProtectionDevCurrentDataQO.java index b2c0a4e50..300bd2662 100644 --- a/src/main/java/com/zhgd/xmgl/modules/frontier/entity/qo/FrontierProtectionDevCurrentDataQO.java +++ b/src/main/java/com/zhgd/xmgl/modules/frontier/entity/qo/FrontierProtectionDevCurrentDataQO.java @@ -122,5 +122,8 @@ public class FrontierProtectionDevCurrentDataQO implements Serializable { */ @ApiModelProperty(value = "更新时间 yyyy-MM-dd HH:mm:ss 结束时间") private String endUpdateDate; + + @ApiModelProperty(value = "所属项目唯一标识") + private String projectSn; } diff --git a/src/main/java/com/zhgd/xmgl/modules/frontier/mapper/FrontierProtectionDevCurrentDataMapper.java b/src/main/java/com/zhgd/xmgl/modules/frontier/mapper/FrontierProtectionDevCurrentDataMapper.java index ba1281974..a62d08511 100644 --- a/src/main/java/com/zhgd/xmgl/modules/frontier/mapper/FrontierProtectionDevCurrentDataMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/frontier/mapper/FrontierProtectionDevCurrentDataMapper.java @@ -30,5 +30,7 @@ public interface FrontierProtectionDevCurrentDataMapper extends BaseMapper entities); IPage selectPageDetail(Page page, @Param(Constants.WRAPPER) QueryWrapper wrapper); + + List selectPageDetailList(@Param(Constants.WRAPPER) QueryWrapper wrapper); } diff --git a/src/main/java/com/zhgd/xmgl/modules/frontier/mapper/xml/FrontierProtectionDevCurrentDataMapper.xml b/src/main/java/com/zhgd/xmgl/modules/frontier/mapper/xml/FrontierProtectionDevCurrentDataMapper.xml index 4891cc389..9b2292cb4 100644 --- a/src/main/java/com/zhgd/xmgl/modules/frontier/mapper/xml/FrontierProtectionDevCurrentDataMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/frontier/mapper/xml/FrontierProtectionDevCurrentDataMapper.xml @@ -42,5 +42,11 @@ fpd on fpd.dev_sn=fpdcd.dev_sn ${ew.customSqlSegment} + + diff --git a/src/main/java/com/zhgd/xmgl/modules/frontier/mapper/xml/FrontierProtectionDevMapper.xml b/src/main/java/com/zhgd/xmgl/modules/frontier/mapper/xml/FrontierProtectionDevMapper.xml index a736307eb..69a59af45 100644 --- a/src/main/java/com/zhgd/xmgl/modules/frontier/mapper/xml/FrontierProtectionDevMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/frontier/mapper/xml/FrontierProtectionDevMapper.xml @@ -30,7 +30,10 @@ diff --git a/src/main/java/com/zhgd/xmgl/modules/frontier/service/FrontierProtectionDevCurrentDataService.java b/src/main/java/com/zhgd/xmgl/modules/frontier/service/FrontierProtectionDevCurrentDataService.java index a37c36990..2be47d475 100644 --- a/src/main/java/com/zhgd/xmgl/modules/frontier/service/FrontierProtectionDevCurrentDataService.java +++ b/src/main/java/com/zhgd/xmgl/modules/frontier/service/FrontierProtectionDevCurrentDataService.java @@ -6,6 +6,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.zhgd.xmgl.modules.frontier.entity.FrontierProtectionDevCurrentData; import com.zhgd.xmgl.modules.frontier.entity.qo.FrontierProtectionDevCurrentDataQO; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; /** @@ -23,5 +27,7 @@ public interface FrontierProtectionDevCurrentDataService extends IService selectPageInfo(Page page, FrontierProtectionDevCurrentDataQO frontierProtectionDevCurrentDataQo) { - String alias = "fpdcd."; // 查询临边防护-设备实时数据条件 根据需求调整 + QueryWrapper wrapper = getFrontierProtectionDevCurrentDataQueryWrapper(frontierProtectionDevCurrentDataQo); + + return frontierProtectionDevCurrentDataMapper.selectPageDetail(page, wrapper); + } + + private QueryWrapper getFrontierProtectionDevCurrentDataQueryWrapper(FrontierProtectionDevCurrentDataQO frontierProtectionDevCurrentDataQo) { + String alias = "fpdcd."; QueryWrapper wrapper = new QueryWrapper() // 通过devId临边防护设备id 精准查询 .eq(CharSequenceUtil.isNotBlank(frontierProtectionDevCurrentDataQo.getDevSn()), alias + ReflectionUtil.getFieldNameToUlc(FrontierProtectionDevCurrentData::getDevSn), frontierProtectionDevCurrentDataQo.getDevSn()) @@ -49,7 +62,7 @@ public class FrontierProtectionDevCurrentDataServiceImpl extends ServiceImpl queryWrapper = getFrontierProtectionDevCurrentDataQueryWrapper(qo); + List pageList = frontierProtectionDevCurrentDataMapper.selectPageDetailList(queryWrapper); + //导出文件名称 + mv.addObject(NormalExcelConstants.FILE_NAME, "临边防护-实时数据列表"); + mv.addObject(NormalExcelConstants.CLASS, FrontierProtectionDevCurrentData.class); + mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("临边防护-实时数据列表", "导出信息")); + mv.addObject(NormalExcelConstants.DATA_LIST, pageList); + return mv; + } + /** * 通过联睿科的json构建设备实时数据 * diff --git a/src/main/java/com/zhgd/xmgl/modules/poisonous/controller/PoisonousGasDevAlarmController.java b/src/main/java/com/zhgd/xmgl/modules/poisonous/controller/PoisonousGasDevAlarmController.java index 48cb11d9a..2b9de951e 100644 --- a/src/main/java/com/zhgd/xmgl/modules/poisonous/controller/PoisonousGasDevAlarmController.java +++ b/src/main/java/com/zhgd/xmgl/modules/poisonous/controller/PoisonousGasDevAlarmController.java @@ -11,6 +11,7 @@ import com.zhgd.jeecg.common.util.oConvertUtils; import com.zhgd.xmgl.modules.poisonous.entity.PoisonousGasDevAlarm; import com.zhgd.xmgl.modules.poisonous.entity.PoisonousGasDevCurrentData; import com.zhgd.xmgl.modules.poisonous.service.IPoisonousGasDevAlarmService; +import com.zhgd.xmgl.security.entity.UserInfo; import com.zhgd.xmgl.util.DateUtil; import com.zhgd.xmgl.util.ReflectionUtil; import io.swagger.annotations.Api; @@ -23,6 +24,7 @@ import org.jeecgframework.poi.excel.entity.ExportParams; import org.jeecgframework.poi.excel.entity.ImportParams; import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; @@ -33,9 +35,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; /** @@ -131,6 +131,11 @@ public class PoisonousGasDevAlarmController { if (poisonousGasDevAlarmEntity == null) { result.error500("未找到对应实体"); } else { + if (Objects.equals(poisonousGasDevAlarm.getHandleDone(), 1)) { + UserInfo userInfo = (UserInfo) SecurityContextHolder.getContext().getAuthentication().getCredentials(); + poisonousGasDevAlarm.setOperateId(userInfo.getUserId()); + poisonousGasDevAlarm.setOperateTime(new Date()); + } poisonousGasDevAlarmService.updateById(poisonousGasDevAlarm); result.success("修改成功!"); } @@ -204,75 +209,5 @@ public class PoisonousGasDevAlarmController { return result; } - /** - * 导出excel - * - * @param request - * @param response - */ - @ApiOperation(value = "导出excel有毒气体-报警信息", notes = "导出excel有毒气体-报警信息", httpMethod = "POST") - @RequestMapping(value = "/exportXls") - public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) { - // Step.1 组装查询条件 - QueryWrapper queryWrapper = null; - try { - String paramsStr = request.getParameter("paramsStr"); - if (oConvertUtils.isNotEmpty(paramsStr)) { - String deString = URLDecoder.decode(paramsStr, "UTF-8"); - PoisonousGasDevAlarm poisonousGasDevAlarm = JSON.parseObject(deString, PoisonousGasDevAlarm.class); - queryWrapper = QueryGenerator.initQueryWrapper(poisonousGasDevAlarm, request.getParameterMap()); - } - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - - //Step.2 AutoPoi 导出Excel - ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); - List pageList = poisonousGasDevAlarmService.list(queryWrapper); - //导出文件名称 - mv.addObject(NormalExcelConstants.FILE_NAME, "有毒气体-报警列表"); - mv.addObject(NormalExcelConstants.CLASS, PoisonousGasDevAlarm.class); - mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("有毒气体-报警列表数据", "导出人:Jeecg", "导出信息")); - mv.addObject(NormalExcelConstants.DATA_LIST, pageList); - return mv; - } - - /** - * 通过excel导入数据 - * - * @param request - * @param response - * @return - */ - @ApiOperation(value = "通过excel导入有毒气体-报警信息", notes = "通过excel导入有毒气体-报警信息", httpMethod = "POST") - @RequestMapping(value = "/importExcel", method = RequestMethod.POST) - public Result importExcel(HttpServletRequest request, HttpServletResponse response) { - MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; - Map fileMap = multipartRequest.getFileMap(); - for (Map.Entry entity : fileMap.entrySet()) { - MultipartFile file = entity.getValue();// 获取上传文件对象 - ImportParams params = new ImportParams(); - params.setTitleRows(2); - params.setHeadRows(1); - params.setNeedSave(true); - try { - List listPoisonousGasDevAlarms = ExcelImportUtil.importExcel(file.getInputStream(), PoisonousGasDevAlarm.class, params); - for (PoisonousGasDevAlarm poisonousGasDevAlarmExcel : listPoisonousGasDevAlarms) { - poisonousGasDevAlarmService.save(poisonousGasDevAlarmExcel); - } - return Result.ok("文件导入成功!数据行数:" + listPoisonousGasDevAlarms.size()); - } catch (Exception e) { - log.error(e.getMessage()); - return Result.error("文件导入失败!"); - } finally { - try { - file.getInputStream().close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - return Result.ok("文件导入失败!"); - } } diff --git a/src/main/java/com/zhgd/xmgl/modules/poisonous/controller/PoisonousGasDevController.java b/src/main/java/com/zhgd/xmgl/modules/poisonous/controller/PoisonousGasDevController.java index faa972462..f95914611 100644 --- a/src/main/java/com/zhgd/xmgl/modules/poisonous/controller/PoisonousGasDevController.java +++ b/src/main/java/com/zhgd/xmgl/modules/poisonous/controller/PoisonousGasDevController.java @@ -69,13 +69,7 @@ public class PoisonousGasDevController { @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { - Result> result = new Result>(); - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(poisonousGasDev, req.getParameterMap()); - Page page = new Page(pageNo, pageSize); - IPage pageList = poisonousGasDevService.page(page, queryWrapper); - result.setSuccess(true); - result.setResult(pageList); - return result; + return Result.success(poisonousGasDevService.queryPageList(poisonousGasDev, pageNo, pageSize, req)); } /** @@ -202,75 +196,4 @@ public class PoisonousGasDevController { return result; } - /** - * 导出excel - * - * @param request - * @param response - */ - @ApiOperation(value = "导出excel有毒气体-设备信息", notes = "导出excel有毒气体-设备信息", httpMethod = "POST") - @RequestMapping(value = "/exportXls") - public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) { - // Step.1 组装查询条件 - QueryWrapper queryWrapper = null; - try { - String paramsStr = request.getParameter("paramsStr"); - if (oConvertUtils.isNotEmpty(paramsStr)) { - String deString = URLDecoder.decode(paramsStr, "UTF-8"); - PoisonousGasDev poisonousGasDev = JSON.parseObject(deString, PoisonousGasDev.class); - queryWrapper = QueryGenerator.initQueryWrapper(poisonousGasDev, request.getParameterMap()); - } - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - - //Step.2 AutoPoi 导出Excel - ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); - List pageList = poisonousGasDevService.list(queryWrapper); - //导出文件名称 - mv.addObject(NormalExcelConstants.FILE_NAME, "有毒气体-设备列表"); - mv.addObject(NormalExcelConstants.CLASS, PoisonousGasDev.class); - mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("有毒气体-设备列表数据", "导出人:Jeecg", "导出信息")); - mv.addObject(NormalExcelConstants.DATA_LIST, pageList); - return mv; - } - - /** - * 通过excel导入数据 - * - * @param request - * @param response - * @return - */ - @ApiOperation(value = "通过excel导入有毒气体-设备信息", notes = "通过excel导入有毒气体-设备信息", httpMethod = "POST") - @RequestMapping(value = "/importExcel", method = RequestMethod.POST) - public Result importExcel(HttpServletRequest request, HttpServletResponse response) { - MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; - Map fileMap = multipartRequest.getFileMap(); - for (Map.Entry entity : fileMap.entrySet()) { - MultipartFile file = entity.getValue();// 获取上传文件对象 - ImportParams params = new ImportParams(); - params.setTitleRows(2); - params.setHeadRows(1); - params.setNeedSave(true); - try { - List listPoisonousGasDevs = ExcelImportUtil.importExcel(file.getInputStream(), PoisonousGasDev.class, params); - for (PoisonousGasDev poisonousGasDevExcel : listPoisonousGasDevs) { - poisonousGasDevService.save(poisonousGasDevExcel); - } - return Result.ok("文件导入成功!数据行数:" + listPoisonousGasDevs.size()); - } catch (Exception e) { - log.error(e.getMessage()); - return Result.error("文件导入失败!"); - } finally { - try { - file.getInputStream().close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - return Result.ok("文件导入失败!"); - } - } diff --git a/src/main/java/com/zhgd/xmgl/modules/poisonous/controller/PoisonousGasDevCurrentDataController.java b/src/main/java/com/zhgd/xmgl/modules/poisonous/controller/PoisonousGasDevCurrentDataController.java index ecd0426c4..1c4a2ee14 100644 --- a/src/main/java/com/zhgd/xmgl/modules/poisonous/controller/PoisonousGasDevCurrentDataController.java +++ b/src/main/java/com/zhgd/xmgl/modules/poisonous/controller/PoisonousGasDevCurrentDataController.java @@ -67,16 +67,8 @@ public class PoisonousGasDevCurrentDataController { @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { - Result> result = new Result>(); - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(poisonousGasDevCurrentData, req.getParameterMap()); - queryWrapper.ge(poisonousGasDevCurrentData.getQueryStartTime() != null, ReflectionUtil.getFieldNameToUlc(PoisonousGasDevCurrentData::getUpdateDate), poisonousGasDevCurrentData.getQueryStartTime()) - .le(poisonousGasDevCurrentData.getQueryEndTime() != null, ReflectionUtil.getFieldNameToUlc(PoisonousGasDevCurrentData::getUpdateDate), poisonousGasDevCurrentData.getQueryEndTime() != null ? DateUtil.endOfDay(poisonousGasDevCurrentData.getQueryEndTime()) : null) - .orderByDesc(ReflectionUtil.getFieldNameToUlc(PoisonousGasDevCurrentData::getUpdateDate)); - Page page = new Page<>(pageNo, pageSize); - IPage pageList = poisonousGasDevCurrentDataService.page(page, queryWrapper); - result.setSuccess(true); - result.setResult(pageList); - return result; + + return Result.success(poisonousGasDevCurrentDataService.queryPageList(poisonousGasDevCurrentData, pageNo, pageSize, req)); } /** @@ -216,67 +208,9 @@ public class PoisonousGasDevCurrentDataController { */ @ApiOperation(value = "导出excel有毒气体-数据信息", notes = "导出excel有毒气体-数据信息", httpMethod = "POST") @RequestMapping(value = "/exportXls") - public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) { - // Step.1 组装查询条件 - QueryWrapper queryWrapper = null; - try { - String paramsStr = request.getParameter("paramsStr"); - if (oConvertUtils.isNotEmpty(paramsStr)) { - String deString = URLDecoder.decode(paramsStr, "UTF-8"); - PoisonousGasDevCurrentData poisonousGasDevCurrentData = JSON.parseObject(deString, PoisonousGasDevCurrentData.class); - queryWrapper = QueryGenerator.initQueryWrapper(poisonousGasDevCurrentData, request.getParameterMap()); - } - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - - //Step.2 AutoPoi 导出Excel - ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); - List pageList = poisonousGasDevCurrentDataService.list(queryWrapper); - //导出文件名称 - mv.addObject(NormalExcelConstants.FILE_NAME, "有毒气体-数据列表"); - mv.addObject(NormalExcelConstants.CLASS, PoisonousGasDevCurrentData.class); - mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("有毒气体-数据列表数据", "导出人:Jeecg", "导出信息")); - mv.addObject(NormalExcelConstants.DATA_LIST, pageList); - return mv; + public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response, PoisonousGasDevCurrentData poisonousGasDevCurrentData) { + return poisonousGasDevCurrentDataService.exportXls(request, response, poisonousGasDevCurrentData); } - /** - * 通过excel导入数据 - * - * @param request - * @param response - * @return - */ - @ApiOperation(value = "通过excel导入有毒气体-数据信息", notes = "通过excel导入有毒气体-数据信息", httpMethod = "POST") - @RequestMapping(value = "/importExcel", method = RequestMethod.POST) - public Result importExcel(HttpServletRequest request, HttpServletResponse response) { - MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; - Map fileMap = multipartRequest.getFileMap(); - for (Map.Entry entity : fileMap.entrySet()) { - MultipartFile file = entity.getValue();// 获取上传文件对象 - ImportParams params = new ImportParams(); - params.setTitleRows(2); - params.setHeadRows(1); - params.setNeedSave(true); - try { - List listPoisonousGasDevCurrentDatas = ExcelImportUtil.importExcel(file.getInputStream(), PoisonousGasDevCurrentData.class, params); - for (PoisonousGasDevCurrentData poisonousGasDevCurrentDataExcel : listPoisonousGasDevCurrentDatas) { - poisonousGasDevCurrentDataService.save(poisonousGasDevCurrentDataExcel); - } - return Result.ok("文件导入成功!数据行数:" + listPoisonousGasDevCurrentDatas.size()); - } catch (Exception e) { - log.error(e.getMessage()); - return Result.error("文件导入失败!"); - } finally { - try { - file.getInputStream().close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - return Result.ok("文件导入失败!"); - } } diff --git a/src/main/java/com/zhgd/xmgl/modules/poisonous/entity/PoisonousGasDev.java b/src/main/java/com/zhgd/xmgl/modules/poisonous/entity/PoisonousGasDev.java index df4e5932a..b5cf060ed 100644 --- a/src/main/java/com/zhgd/xmgl/modules/poisonous/entity/PoisonousGasDev.java +++ b/src/main/java/com/zhgd/xmgl/modules/poisonous/entity/PoisonousGasDev.java @@ -1,17 +1,17 @@ package com.zhgd.xmgl.modules.poisonous.entity; -import java.io.Serializable; -import java.util.Date; - import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; -import org.jeecgframework.poi.excel.annotation.Excel; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; /** * @Description: 有毒气体-设备 @@ -23,76 +23,87 @@ import io.swagger.annotations.ApiModelProperty; @TableName("poisonous_gas_dev") @ApiModel(value = "PoisonousGasDev实体类", description = "PoisonousGasDev") public class PoisonousGasDev implements Serializable { - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 1L; - /** - * 主键id - */ - @TableId(type = IdType.ASSIGN_ID) - @ApiModelProperty(value = "主键id") - private java.lang.Long id; - /** - * 设备sn - */ - @Excel(name = "设备sn", width = 15) - @ApiModelProperty(value = "设备sn") - private java.lang.String devSn; - /** - * 设备名称 - */ - @Excel(name = "设备名称", width = 15) - @ApiModelProperty(value = "设备名称") - private java.lang.String devName; - /** - * 安装位置 - */ - @Excel(name = "安装位置", width = 15) - @ApiModelProperty(value = "安装位置") - private java.lang.String location; - /** - * 设备型号 - */ - @Excel(name = "设备型号", width = 15) - @ApiModelProperty(value = "设备型号") - private java.lang.String deviceModel; - /** - * 厂家名称 - */ - @Excel(name = "厂家名称", width = 15) - @ApiModelProperty(value = "厂家名称") - private java.lang.String factoryName; - /** - * 使用状态1正常2异常 - */ - @Excel(name = "使用状态1正常2异常", width = 15) - @ApiModelProperty(value = "使用状态1正常2异常") - private java.lang.Integer status; - /** - * 备注 - */ - @Excel(name = "备注", width = 15) - @ApiModelProperty(value = "备注") - private java.lang.String remark; - /** - * 项目sn - */ - @Excel(name = "项目sn", width = 15) - @ApiModelProperty(value = "项目sn") - private java.lang.String projectSn; - /** - * 创建时间 yyyy-MM-dd HH:mm:ss - */ - @Excel(name = "创建时间 yyyy-MM-dd HH:mm:ss", width = 20, format = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @ApiModelProperty(value = "创建时间 yyyy-MM-dd HH:mm:ss") - private java.util.Date createDate; - /** - * 更新时间 yyyy-MM-dd HH:mm:ss - */ - @Excel(name = "更新时间 yyyy-MM-dd HH:mm:ss", width = 20, format = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @ApiModelProperty(value = "更新时间 yyyy-MM-dd HH:mm:ss") - private java.util.Date updateDate; + /** + * 主键id + */ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键id") + private java.lang.Long id; + /** + * 设备sn + */ + @Excel(name = "设备sn", width = 15) + @ApiModelProperty(value = "设备sn") + private java.lang.String devSn; + /** + * 设备名称 + */ + @Excel(name = "设备名称", width = 15) + @ApiModelProperty(value = "设备名称") + private java.lang.String devName; + /** + * 安装位置 + */ + @Excel(name = "安装位置", width = 15) + @ApiModelProperty(value = "安装位置") + private java.lang.String location; + /** + * 设备型号 + */ + @Excel(name = "设备型号", width = 15) + @ApiModelProperty(value = "设备型号") + private java.lang.String deviceModel; + /** + * 厂家名称 + */ + @Excel(name = "厂家名称", width = 15) + @ApiModelProperty(value = "厂家名称") + private java.lang.String factoryName; + /** + * 使用状态1正常2异常 + */ + @Excel(name = "使用状态1正常2异常", width = 15) + @ApiModelProperty(value = "使用状态1正常2异常") + private java.lang.Integer status; + /** + * 备注 + */ + @Excel(name = "备注", width = 15) + @ApiModelProperty(value = "备注") + private java.lang.String remark; + /** + * 项目sn + */ + @Excel(name = "项目sn", width = 15) + @ApiModelProperty(value = "项目sn") + private java.lang.String projectSn; + /** + * 创建时间 yyyy-MM-dd HH:mm:ss + */ + @Excel(name = "创建时间 yyyy-MM-dd HH:mm:ss", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建时间 yyyy-MM-dd HH:mm:ss") + private java.util.Date createDate; + /** + * 更新时间 yyyy-MM-dd HH:mm:ss + */ + @Excel(name = "更新时间 yyyy-MM-dd HH:mm:ss", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新时间 yyyy-MM-dd HH:mm:ss") + private java.util.Date updateDate; + + @ApiModelProperty(value = "责任班组id") + private Long dutyTeamInfoId; + + @ApiModelProperty(value = "责任班组名称") + @TableField(exist = false) + private String dutyTeamInfoName; + + @TableField(exist = false) + @ApiModelProperty(value = "在线状态(0.离线 1.在线)") + private java.lang.Integer online; } diff --git a/src/main/java/com/zhgd/xmgl/modules/poisonous/entity/PoisonousGasDevAlarm.java b/src/main/java/com/zhgd/xmgl/modules/poisonous/entity/PoisonousGasDevAlarm.java index 9fdcaa30f..d18a4c6cc 100644 --- a/src/main/java/com/zhgd/xmgl/modules/poisonous/entity/PoisonousGasDevAlarm.java +++ b/src/main/java/com/zhgd/xmgl/modules/poisonous/entity/PoisonousGasDevAlarm.java @@ -88,6 +88,7 @@ public class PoisonousGasDevAlarm implements Serializable { @Excel(name = "操作人id", width = 15) @ApiModelProperty(value = "操作人id") private java.lang.Long operateId; + /** * 操作时间 */ @@ -134,4 +135,7 @@ public class PoisonousGasDevAlarm implements Serializable { @DateTimeFormat(pattern = "yyyy-MM-dd") @TableField(exist = false) private Date queryEndTime; + @TableField(exist = false) + @ApiModelProperty(value = "操作人") + private java.lang.String operateName; } diff --git a/src/main/java/com/zhgd/xmgl/modules/poisonous/mapper/PoisonousGasDevMapper.java b/src/main/java/com/zhgd/xmgl/modules/poisonous/mapper/PoisonousGasDevMapper.java index caf865a6a..82c534ad1 100644 --- a/src/main/java/com/zhgd/xmgl/modules/poisonous/mapper/PoisonousGasDevMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/poisonous/mapper/PoisonousGasDevMapper.java @@ -1,8 +1,13 @@ package com.zhgd.xmgl.modules.poisonous.mapper; -import org.apache.ibatis.annotations.Mapper; -import com.zhgd.xmgl.modules.poisonous.entity.PoisonousGasDev; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.zhgd.xmgl.modules.poisonous.entity.PoisonousGasDev; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * @Description: 有毒气体-设备 @@ -13,4 +18,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; @Mapper public interface PoisonousGasDevMapper extends BaseMapper { + IPage queryPageList(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); } diff --git a/src/main/java/com/zhgd/xmgl/modules/poisonous/mapper/xml/PoisonousGasDevMapper.xml b/src/main/java/com/zhgd/xmgl/modules/poisonous/mapper/xml/PoisonousGasDevMapper.xml index dfa3e7eea..bf1926c40 100644 --- a/src/main/java/com/zhgd/xmgl/modules/poisonous/mapper/xml/PoisonousGasDevMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/poisonous/mapper/xml/PoisonousGasDevMapper.xml @@ -1,4 +1,10 @@ + diff --git a/src/main/java/com/zhgd/xmgl/modules/poisonous/service/IPoisonousGasDevCurrentDataService.java b/src/main/java/com/zhgd/xmgl/modules/poisonous/service/IPoisonousGasDevCurrentDataService.java index 65bd9af94..81b865c3d 100644 --- a/src/main/java/com/zhgd/xmgl/modules/poisonous/service/IPoisonousGasDevCurrentDataService.java +++ b/src/main/java/com/zhgd/xmgl/modules/poisonous/service/IPoisonousGasDevCurrentDataService.java @@ -1,8 +1,12 @@ package com.zhgd.xmgl.modules.poisonous.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.zhgd.xmgl.modules.poisonous.entity.PoisonousGasDevCurrentData; import com.baomidou.mybatisplus.extension.service.IService; +import org.springframework.web.servlet.ModelAndView; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.util.List; /** @@ -16,4 +20,8 @@ public interface IPoisonousGasDevCurrentDataService extends IService queryNewestDatalistGroupByDev(PoisonousGasDevCurrentData poisonousGasDevCurrentData); void addDataFromTcp(String hexString); + + ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response, PoisonousGasDevCurrentData poisonousGasDevCurrentData); + + IPage queryPageList(PoisonousGasDevCurrentData poisonousGasDevCurrentData, Integer pageNo, Integer pageSize, HttpServletRequest req); } diff --git a/src/main/java/com/zhgd/xmgl/modules/poisonous/service/IPoisonousGasDevService.java b/src/main/java/com/zhgd/xmgl/modules/poisonous/service/IPoisonousGasDevService.java index bca64cedb..12ab0bd1f 100644 --- a/src/main/java/com/zhgd/xmgl/modules/poisonous/service/IPoisonousGasDevService.java +++ b/src/main/java/com/zhgd/xmgl/modules/poisonous/service/IPoisonousGasDevService.java @@ -1,7 +1,12 @@ package com.zhgd.xmgl.modules.poisonous.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.zhgd.xmgl.modules.poisonous.entity.PoisonousGasDev; import com.baomidou.mybatisplus.extension.service.IService; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; /** * @Description: 有毒气体-设备 @@ -11,4 +16,6 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface IPoisonousGasDevService extends IService { + IPage queryPageList(PoisonousGasDev poisonousGasDev, Integer pageNo, Integer pageSize, HttpServletRequest req); + } diff --git a/src/main/java/com/zhgd/xmgl/modules/poisonous/service/impl/PoisonousGasDevCurrentDataServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/poisonous/service/impl/PoisonousGasDevCurrentDataServiceImpl.java index 1ae03dbc4..293d6fed5 100644 --- a/src/main/java/com/zhgd/xmgl/modules/poisonous/service/impl/PoisonousGasDevCurrentDataServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/poisonous/service/impl/PoisonousGasDevCurrentDataServiceImpl.java @@ -1,21 +1,32 @@ package com.zhgd.xmgl.modules.poisonous.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.zhgd.jeecg.common.system.query.QueryGenerator; import com.zhgd.xmgl.modules.poisonous.entity.PoisonousGasDev; -import com.zhgd.xmgl.modules.poisonous.entity.PoisonousGasDevAlarm; import com.zhgd.xmgl.modules.poisonous.entity.PoisonousGasDevCurrentData; -import com.zhgd.xmgl.modules.poisonous.enums.AlarmEnum; import com.zhgd.xmgl.modules.poisonous.enums.PoisonousTypeEnum; import com.zhgd.xmgl.modules.poisonous.mapper.PoisonousGasDevAlarmMapper; import com.zhgd.xmgl.modules.poisonous.mapper.PoisonousGasDevCurrentDataMapper; import com.zhgd.xmgl.modules.poisonous.mapper.PoisonousGasDevMapper; import com.zhgd.xmgl.modules.poisonous.service.IPoisonousGasDevCurrentDataService; +import com.zhgd.xmgl.util.DateUtil; +import com.zhgd.xmgl.util.ReflectionUtil; import lombok.extern.slf4j.Slf4j; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.servlet.ModelAndView; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.math.BigInteger; import java.util.List; @@ -95,4 +106,34 @@ public class PoisonousGasDevCurrentDataServiceImpl extends ServiceImpl queryPageList(PoisonousGasDevCurrentData poisonousGasDevCurrentData, Integer pageNo, Integer pageSize, HttpServletRequest req) { + QueryWrapper queryWrapper = getPoisonousGasDevCurrentDataQueryWrapper(poisonousGasDevCurrentData, req); + Page page = new Page<>(pageNo, pageSize); + return page(page, queryWrapper); + } + + @NotNull + private QueryWrapper getPoisonousGasDevCurrentDataQueryWrapper(PoisonousGasDevCurrentData poisonousGasDevCurrentData, HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(poisonousGasDevCurrentData, req.getParameterMap()); + queryWrapper.ge(poisonousGasDevCurrentData.getQueryStartTime() != null, ReflectionUtil.getFieldNameToUlc(PoisonousGasDevCurrentData::getUpdateDate), poisonousGasDevCurrentData.getQueryStartTime()) + .le(poisonousGasDevCurrentData.getQueryEndTime() != null, ReflectionUtil.getFieldNameToUlc(PoisonousGasDevCurrentData::getUpdateDate), poisonousGasDevCurrentData.getQueryEndTime() != null ? DateUtil.endOfDay(poisonousGasDevCurrentData.getQueryEndTime()) : null) + .orderByDesc(ReflectionUtil.getFieldNameToUlc(PoisonousGasDevCurrentData::getUpdateDate)); + return queryWrapper; + } + + @Override + public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response, PoisonousGasDevCurrentData poisonousGasDevCurrentData) { + QueryWrapper queryWrapper = getPoisonousGasDevCurrentDataQueryWrapper(poisonousGasDevCurrentData, request); + //Step.2 AutoPoi 导出Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + List pageList = list(queryWrapper); + //导出文件名称 + mv.addObject(NormalExcelConstants.FILE_NAME, "有毒气体-数据列表"); + mv.addObject(NormalExcelConstants.CLASS, PoisonousGasDevCurrentData.class); + mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("有毒气体-数据列表数据", "导出人:Jeecg", "导出信息")); + mv.addObject(NormalExcelConstants.DATA_LIST, pageList); + return mv; + } + } diff --git a/src/main/java/com/zhgd/xmgl/modules/poisonous/service/impl/PoisonousGasDevServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/poisonous/service/impl/PoisonousGasDevServiceImpl.java index 82b15c2e0..f36fcb8b6 100644 --- a/src/main/java/com/zhgd/xmgl/modules/poisonous/service/impl/PoisonousGasDevServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/poisonous/service/impl/PoisonousGasDevServiceImpl.java @@ -1,11 +1,18 @@ package com.zhgd.xmgl.modules.poisonous.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.zhgd.jeecg.common.system.query.QueryGenerator; import com.zhgd.xmgl.modules.poisonous.entity.PoisonousGasDev; import com.zhgd.xmgl.modules.poisonous.mapper.PoisonousGasDevMapper; import com.zhgd.xmgl.modules.poisonous.service.IPoisonousGasDevService; +import com.zhgd.xmgl.util.ReflectionUtil; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import javax.servlet.http.HttpServletRequest; /** * @Description: 有毒气体-设备 @@ -15,5 +22,15 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; */ @Service public class PoisonousGasDevServiceImpl extends ServiceImpl implements IPoisonousGasDevService { + @Autowired + PoisonousGasDevMapper poisonousGasDevMapper; + @Override + public IPage queryPageList(PoisonousGasDev poisonousGasDev, Integer pageNo, Integer pageSize, HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(poisonousGasDev, req.getParameterMap(), null, + ReflectionUtil.getFieldNameList(PoisonousGasDev::getDevName), "pgd."); + queryWrapper.orderByDesc(ReflectionUtil.getFieldNameToUlc(PoisonousGasDev::getCreateDate)); + Page page = new Page(pageNo, pageSize); + return poisonousGasDevMapper.queryPageList(page, queryWrapper); + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/smoke/controller/SmokeDevAlarmController.java b/src/main/java/com/zhgd/xmgl/modules/smoke/controller/SmokeDevAlarmController.java index fc182df15..f96f74317 100644 --- a/src/main/java/com/zhgd/xmgl/modules/smoke/controller/SmokeDevAlarmController.java +++ b/src/main/java/com/zhgd/xmgl/modules/smoke/controller/SmokeDevAlarmController.java @@ -1,42 +1,39 @@ package com.zhgd.xmgl.modules.smoke.controller; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiOperation; - -import java.util.Arrays; -import java.util.List; -import java.util.Map; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.system.query.QueryGenerator; import com.zhgd.jeecg.common.util.oConvertUtils; import com.zhgd.xmgl.modules.smoke.entity.SmokeDevAlarm; import com.zhgd.xmgl.modules.smoke.service.ISmokeDevAlarmService; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.zhgd.xmgl.security.entity.UserInfo; +import com.zhgd.xmgl.util.ReflectionUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; 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.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.core.context.SecurityContextHolder; 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 javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import java.util.*; /** @@ -51,226 +48,232 @@ import com.alibaba.fastjson.JSON; @Slf4j @Api(tags = "SmokeDevAlarmController相关Api") public class SmokeDevAlarmController { - @Autowired - private ISmokeDevAlarmService smokeDevAlarmService; + @Autowired + private ISmokeDevAlarmService smokeDevAlarmService; - /** - * 分页列表查询 - * - * @param smokeDevAlarm - * @param pageNo - * @param pageSize - * @param req - * @return - */ - @ApiOperation(value = " 分页列表查询烟感报警数据信息", notes = "分页列表查询烟感报警数据信息", httpMethod = "GET") - @GetMapping(value = "/page") - public Result> queryPageList(SmokeDevAlarm smokeDevAlarm, - @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, - HttpServletRequest req) { - Result> result = new Result>(); - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(smokeDevAlarm, req.getParameterMap()); - Page page = new Page(pageNo, pageSize); - IPage pageList = smokeDevAlarmService.page(page, queryWrapper); - result.setSuccess(true); - result.setResult(pageList); - return result; - } + /** + * 分页列表查询 + * + * @param smokeDevAlarm + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @ApiOperation(value = " 分页列表查询烟感报警数据信息", notes = "分页列表查询烟感报警数据信息", httpMethod = "GET") + @GetMapping(value = "/page") + public Result> queryPageList(SmokeDevAlarm smokeDevAlarm, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + Result> result = new Result<>(); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(smokeDevAlarm, req.getParameterMap()); + queryWrapper.orderByDesc(ReflectionUtil.getFieldNameToUlc(SmokeDevAlarm::getAlarmTime)); + Page page = new Page(pageNo, pageSize); + IPage pageList = smokeDevAlarmService.page(page, queryWrapper); + result.setSuccess(true); + result.setResult(pageList); + return result; + } - /** - * 列表查询 - * - * @param smokeDevAlarm - * @param req - * @return - */ - @ApiOperation(value = " 列表查询烟感报警数据信息", notes = "列表查询烟感报警数据信息", httpMethod = "GET") - @GetMapping(value = "/list") - public Result> queryList(SmokeDevAlarm smokeDevAlarm, - HttpServletRequest req) { + /** + * 列表查询 + * + * @param smokeDevAlarm + * @param req + * @return + */ + @ApiOperation(value = " 列表查询烟感报警数据信息", notes = "列表查询烟感报警数据信息", httpMethod = "GET") + @GetMapping(value = "/list") + public Result> queryList(SmokeDevAlarm smokeDevAlarm, + HttpServletRequest req) { - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(smokeDevAlarm, req.getParameterMap()); - return Result.success(smokeDevAlarmService.list(queryWrapper)); - } + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(smokeDevAlarm, req.getParameterMap()); + return Result.success(smokeDevAlarmService.list(queryWrapper)); + } - /** - * 添加 - * - * @param smokeDevAlarm - * @return - */ - @ApiOperation(value = " 添加烟感报警数据信息", notes = "添加烟感报警数据信息", httpMethod = "POST") - @PostMapping(value = "/add") - public Result add(@RequestBody SmokeDevAlarm smokeDevAlarm) { - Result result = new Result(); - try { - smokeDevAlarmService.save(smokeDevAlarm); - result.success("添加成功!"); - } catch (Exception e) { - e.printStackTrace(); - log.info(e.getMessage()); - result.error500("操作失败"); - } - return result; - } + /** + * 添加 + * + * @param smokeDevAlarm + * @return + */ + @ApiOperation(value = " 添加烟感报警数据信息", notes = "添加烟感报警数据信息", httpMethod = "POST") + @PostMapping(value = "/add") + public Result add(@RequestBody SmokeDevAlarm smokeDevAlarm) { + Result result = new Result(); + try { + smokeDevAlarmService.save(smokeDevAlarm); + result.success("添加成功!"); + } catch (Exception e) { + e.printStackTrace(); + log.info(e.getMessage()); + result.error500("操作失败"); + } + return result; + } - /** - * 编辑 - * - * @param smokeDevAlarm - * @return - */ - @ApiOperation(value = "编辑烟感报警数据信息", notes = "编辑烟感报警数据信息", httpMethod = "POST") - @PostMapping(value = "/edit") - public Result edit(@RequestBody SmokeDevAlarm smokeDevAlarm) { - Result result = new Result(); - SmokeDevAlarm smokeDevAlarmEntity = smokeDevAlarmService.getById(smokeDevAlarm.getId()); - if (smokeDevAlarmEntity == null) { - result.error500("未找到对应实体"); - } else { - smokeDevAlarmService.updateById(smokeDevAlarm); - result.success("修改成功!"); - } + /** + * 编辑 + * + * @param smokeDevAlarm + * @return + */ + @ApiOperation(value = "编辑烟感报警数据信息", notes = "编辑烟感报警数据信息", httpMethod = "POST") + @PostMapping(value = "/edit") + public Result edit(@RequestBody SmokeDevAlarm smokeDevAlarm) { + Result result = new Result(); + SmokeDevAlarm smokeDevAlarmEntity = smokeDevAlarmService.getById(smokeDevAlarm.getId()); + if (smokeDevAlarmEntity == null) { + result.error500("未找到对应实体"); + } else { + if (Objects.equals(smokeDevAlarm.getHandleDone(), 1)) { + UserInfo userInfo = (UserInfo) SecurityContextHolder.getContext().getAuthentication().getCredentials(); + smokeDevAlarm.setOperateId(userInfo.getUserId()); + smokeDevAlarm.setOperateTime(new Date()); + } + smokeDevAlarmService.updateById(smokeDevAlarm); + result.success("修改成功!"); + } - return result; - } + return result; + } - /** - * 通过id删除 - * - * @param id - * @return - */ - @ApiOperation(value = "删除烟感报警数据信息", notes = "删除烟感报警数据信息", httpMethod = "POST") - @PostMapping(value = "/delete") - public Result delete(@RequestBody String id) { - JSONObject jsonObject = JSON.parseObject(id, JSONObject.class); - id = String.valueOf(jsonObject.get("id")); - Result result = new Result(); - SmokeDevAlarm smokeDevAlarm = smokeDevAlarmService.getById(id); - if (smokeDevAlarm == null) { - result.error500("未找到对应实体"); - } else { - boolean ok = smokeDevAlarmService.removeById(id); - if (ok) { - result.success("删除成功!"); - } - } + /** + * 通过id删除 + * + * @param id + * @return + */ + @ApiOperation(value = "删除烟感报警数据信息", notes = "删除烟感报警数据信息", httpMethod = "POST") + @PostMapping(value = "/delete") + public Result delete(@RequestBody String id) { + JSONObject jsonObject = JSON.parseObject(id, JSONObject.class); + id = String.valueOf(jsonObject.get("id")); + Result result = new Result(); + SmokeDevAlarm smokeDevAlarm = smokeDevAlarmService.getById(id); + if (smokeDevAlarm == null) { + result.error500("未找到对应实体"); + } else { + boolean ok = smokeDevAlarmService.removeById(id); + if (ok) { + result.success("删除成功!"); + } + } - return result; - } + return result; + } - /** - * 批量删除 - * - * @param ids - * @return - */ - @ApiOperation(value = "批量删除烟感报警数据信息", notes = "批量删除烟感报警数据信息", httpMethod = "POST") - @ApiImplicitParam(name = "id", value = "烟感报警数据ID字符串", paramType = "query", required = true, dataType = "String") - @PostMapping(value = "/deleteBatch") - public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { - Result result = new Result(); - if (ids == null || "".equals(ids.trim())) { - result.error500("参数不识别!"); - } else { - this.smokeDevAlarmService.removeByIds(Arrays.asList(ids.split(","))); - result.success("删除成功!"); - } - return result; - } + /** + * 批量删除 + * + * @param ids + * @return + */ + @ApiOperation(value = "批量删除烟感报警数据信息", notes = "批量删除烟感报警数据信息", httpMethod = "POST") + @ApiImplicitParam(name = "id", value = "烟感报警数据ID字符串", paramType = "query", required = true, dataType = "String") + @PostMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + Result result = new Result(); + if (ids == null || "".equals(ids.trim())) { + result.error500("参数不识别!"); + } else { + this.smokeDevAlarmService.removeByIds(Arrays.asList(ids.split(","))); + result.success("删除成功!"); + } + return result; + } - /** - * 通过id查询 - * - * @param id - * @return - */ - @ApiOperation(value = "通过id查询烟感报警数据信息", notes = "通过id查询烟感报警数据信息", httpMethod = "GET") - @ApiImplicitParam(name = "id", value = "烟感报警数据ID", paramType = "query", required = true, dataType = "Integer") - @GetMapping(value = "/queryById") - public Result queryById(@RequestParam(name = "id", required = true) String id) { - Result result = new Result(); - SmokeDevAlarm smokeDevAlarm = smokeDevAlarmService.getById(id); - if (smokeDevAlarm == null) { - result.error500("未找到对应实体"); - } else { - result.setResult(smokeDevAlarm); - result.setSuccess(true); - } - return result; - } + /** + * 通过id查询 + * + * @param id + * @return + */ + @ApiOperation(value = "通过id查询烟感报警数据信息", notes = "通过id查询烟感报警数据信息", httpMethod = "GET") + @ApiImplicitParam(name = "id", value = "烟感报警数据ID", paramType = "query", required = true, dataType = "Integer") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + Result result = new Result(); + SmokeDevAlarm smokeDevAlarm = smokeDevAlarmService.getById(id); + if (smokeDevAlarm == null) { + result.error500("未找到对应实体"); + } else { + result.setResult(smokeDevAlarm); + result.setSuccess(true); + } + return result; + } - /** - * 导出excel - * - * @param request - * @param response - */ - @ApiOperation(value = "导出excel烟感报警数据信息", notes = "导出excel烟感报警数据信息", httpMethod = "POST") - @RequestMapping(value = "/exportXls") - public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) { - // Step.1 组装查询条件 - QueryWrapper queryWrapper = null; - try { - String paramsStr = request.getParameter("paramsStr"); - if (oConvertUtils.isNotEmpty(paramsStr)) { - String deString = URLDecoder.decode(paramsStr, "UTF-8"); - SmokeDevAlarm smokeDevAlarm = JSON.parseObject(deString, SmokeDevAlarm.class); - queryWrapper = QueryGenerator.initQueryWrapper(smokeDevAlarm, request.getParameterMap()); - } - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } + /** + * 导出excel + * + * @param request + * @param response + */ + @ApiOperation(value = "导出excel烟感报警数据信息", notes = "导出excel烟感报警数据信息", httpMethod = "POST") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) { + // Step.1 组装查询条件 + QueryWrapper queryWrapper = null; + try { + String paramsStr = request.getParameter("paramsStr"); + if (oConvertUtils.isNotEmpty(paramsStr)) { + String deString = URLDecoder.decode(paramsStr, "UTF-8"); + SmokeDevAlarm smokeDevAlarm = JSON.parseObject(deString, SmokeDevAlarm.class); + queryWrapper = QueryGenerator.initQueryWrapper(smokeDevAlarm, request.getParameterMap()); + } + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } - //Step.2 AutoPoi 导出Excel - ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); - List pageList = smokeDevAlarmService.list(queryWrapper); - //导出文件名称 - mv.addObject(NormalExcelConstants.FILE_NAME, "烟感报警数据列表"); - mv.addObject(NormalExcelConstants.CLASS, SmokeDevAlarm.class); - mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("烟感报警数据列表数据", "导出人:Jeecg", "导出信息")); - mv.addObject(NormalExcelConstants.DATA_LIST, pageList); - return mv; - } + //Step.2 AutoPoi 导出Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + List pageList = smokeDevAlarmService.list(queryWrapper); + //导出文件名称 + mv.addObject(NormalExcelConstants.FILE_NAME, "烟感报警数据列表"); + mv.addObject(NormalExcelConstants.CLASS, SmokeDevAlarm.class); + mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("烟感报警数据列表数据", "导出人:Jeecg", "导出信息")); + mv.addObject(NormalExcelConstants.DATA_LIST, pageList); + return mv; + } - /** - * 通过excel导入数据 - * - * @param request - * @param response - * @return - */ - @ApiOperation(value = "通过excel导入烟感报警数据信息", notes = "通过excel导入烟感报警数据信息", httpMethod = "POST") - @RequestMapping(value = "/importExcel", method = RequestMethod.POST) - public Result importExcel(HttpServletRequest request, HttpServletResponse response) { - MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; - Map fileMap = multipartRequest.getFileMap(); - for (Map.Entry entity : fileMap.entrySet()) { - MultipartFile file = entity.getValue();// 获取上传文件对象 - ImportParams params = new ImportParams(); - params.setTitleRows(2); - params.setHeadRows(1); - params.setNeedSave(true); - try { - List listSmokeDevAlarms = ExcelImportUtil.importExcel(file.getInputStream(), SmokeDevAlarm.class, params); - for (SmokeDevAlarm smokeDevAlarmExcel : listSmokeDevAlarms) { - smokeDevAlarmService.save(smokeDevAlarmExcel); - } - return Result.ok("文件导入成功!数据行数:" + listSmokeDevAlarms.size()); - } catch (Exception e) { - log.error(e.getMessage()); - return Result.error("文件导入失败!"); - } finally { - try { - file.getInputStream().close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - return Result.ok("文件导入失败!"); - } + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @ApiOperation(value = "通过excel导入烟感报警数据信息", notes = "通过excel导入烟感报警数据信息", httpMethod = "POST") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; + Map fileMap = multipartRequest.getFileMap(); + for (Map.Entry entity : fileMap.entrySet()) { + MultipartFile file = entity.getValue();// 获取上传文件对象 + ImportParams params = new ImportParams(); + params.setTitleRows(2); + params.setHeadRows(1); + params.setNeedSave(true); + try { + List listSmokeDevAlarms = ExcelImportUtil.importExcel(file.getInputStream(), SmokeDevAlarm.class, params); + for (SmokeDevAlarm smokeDevAlarmExcel : listSmokeDevAlarms) { + smokeDevAlarmService.save(smokeDevAlarmExcel); + } + return Result.ok("文件导入成功!数据行数:" + listSmokeDevAlarms.size()); + } catch (Exception e) { + log.error(e.getMessage()); + return Result.error("文件导入失败!"); + } finally { + try { + file.getInputStream().close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + return Result.ok("文件导入失败!"); + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/smoke/controller/SmokeDevController.java b/src/main/java/com/zhgd/xmgl/modules/smoke/controller/SmokeDevController.java index 37d969ed2..420b29f90 100644 --- a/src/main/java/com/zhgd/xmgl/modules/smoke/controller/SmokeDevController.java +++ b/src/main/java/com/zhgd/xmgl/modules/smoke/controller/SmokeDevController.java @@ -1,42 +1,39 @@ package com.zhgd.xmgl.modules.smoke.controller; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import com.zhgd.xmgl.modules.smoke.service.ISmokeDevService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiOperation; - -import java.util.Arrays; -import java.util.List; -import java.util.Map; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.system.query.QueryGenerator; import com.zhgd.jeecg.common.util.oConvertUtils; import com.zhgd.xmgl.modules.smoke.entity.SmokeDev; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.zhgd.xmgl.modules.smoke.service.ISmokeDevService; +import com.zhgd.xmgl.util.ReflectionUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; 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.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 javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import java.util.Arrays; +import java.util.List; +import java.util.Map; /** @@ -51,226 +48,227 @@ import com.alibaba.fastjson.JSON; @Slf4j @Api(tags = "SmokeDevController相关Api") public class SmokeDevController { - @Autowired - private ISmokeDevService smokeDevService; + @Autowired + private ISmokeDevService smokeDevService; - /** - * 分页列表查询 - * - * @param smokeDev - * @param pageNo - * @param pageSize - * @param req - * @return - */ - @ApiOperation(value = " 分页列表查询烟感报警设备信息", notes = "分页列表查询烟感报警设备信息", httpMethod = "GET") - @GetMapping(value = "/page") - public Result> queryPageList(SmokeDev smokeDev, - @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, - HttpServletRequest req) { - Result> result = new Result>(); - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(smokeDev, req.getParameterMap()); - Page page = new Page(pageNo, pageSize); - IPage pageList = smokeDevService.page(page, queryWrapper); - result.setSuccess(true); - result.setResult(pageList); - return result; - } + /** + * 分页列表查询 + * + * @param smokeDev + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @ApiOperation(value = " 分页列表查询烟感报警设备信息", notes = "分页列表查询烟感报警设备信息", httpMethod = "GET") + @GetMapping(value = "/page") + public Result> queryPageList(SmokeDev smokeDev, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + Result> result = new Result>(); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(smokeDev, req.getParameterMap(), null, ReflectionUtil.getFieldNameList(SmokeDev::getDevSn)); + queryWrapper.orderByDesc(ReflectionUtil.getFieldNameToUlc(SmokeDev::getCreateDate)); + Page page = new Page(pageNo, pageSize); + IPage pageList = smokeDevService.page(page, queryWrapper); + result.setSuccess(true); + result.setResult(pageList); + return result; + } - /** - * 列表查询 - * - * @param smokeDev - * @param req - * @return - */ - @ApiOperation(value = " 列表查询烟感报警设备信息", notes = "列表查询烟感报警设备信息", httpMethod = "GET") - @GetMapping(value = "/list") - public Result> queryList(SmokeDev smokeDev, - HttpServletRequest req) { + /** + * 列表查询 + * + * @param smokeDev + * @param req + * @return + */ + @ApiOperation(value = " 列表查询烟感报警设备信息", notes = "列表查询烟感报警设备信息", httpMethod = "GET") + @GetMapping(value = "/list") + public Result> queryList(SmokeDev smokeDev, + HttpServletRequest req) { - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(smokeDev, req.getParameterMap()); - return Result.success(smokeDevService.list(queryWrapper)); - } + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(smokeDev, req.getParameterMap()); + return Result.success(smokeDevService.list(queryWrapper)); + } - /** - * 添加 - * - * @param smokeDev - * @return - */ - @ApiOperation(value = " 添加烟感报警设备信息", notes = "添加烟感报警设备信息", httpMethod = "POST") - @PostMapping(value = "/add") - public Result add(@RequestBody SmokeDev smokeDev) { - Result result = new Result(); - try { - smokeDevService.save(smokeDev); - result.success("添加成功!"); - } catch (Exception e) { - e.printStackTrace(); - log.info(e.getMessage()); - result.error500("操作失败"); - } - return result; - } + /** + * 添加 + * + * @param smokeDev + * @return + */ + @ApiOperation(value = " 添加烟感报警设备信息", notes = "添加烟感报警设备信息", httpMethod = "POST") + @PostMapping(value = "/add") + public Result add(@RequestBody SmokeDev smokeDev) { + Result result = new Result(); + try { + smokeDevService.save(smokeDev); + result.success("添加成功!"); + } catch (Exception e) { + e.printStackTrace(); + log.info(e.getMessage()); + result.error500("操作失败"); + } + return result; + } - /** - * 编辑 - * - * @param smokeDev - * @return - */ - @ApiOperation(value = "编辑烟感报警设备信息", notes = "编辑烟感报警设备信息", httpMethod = "POST") - @PostMapping(value = "/edit") - public Result edit(@RequestBody SmokeDev smokeDev) { - Result result = new Result(); - SmokeDev smokeDevEntity = smokeDevService.getById(smokeDev.getId()); - if (smokeDevEntity == null) { - result.error500("未找到对应实体"); - } else { - smokeDevService.updateById(smokeDev); - result.success("修改成功!"); - } + /** + * 编辑 + * + * @param smokeDev + * @return + */ + @ApiOperation(value = "编辑烟感报警设备信息", notes = "编辑烟感报警设备信息", httpMethod = "POST") + @PostMapping(value = "/edit") + public Result edit(@RequestBody SmokeDev smokeDev) { + Result result = new Result(); + SmokeDev smokeDevEntity = smokeDevService.getById(smokeDev.getId()); + if (smokeDevEntity == null) { + result.error500("未找到对应实体"); + } else { + smokeDevService.updateById(smokeDev); + result.success("修改成功!"); + } - return result; - } + return result; + } - /** - * 通过id删除 - * - * @param id - * @return - */ - @ApiOperation(value = "删除烟感报警设备信息", notes = "删除烟感报警设备信息", httpMethod = "POST") - @PostMapping(value = "/delete") - public Result delete(@RequestBody String id) { - JSONObject jsonObject = JSON.parseObject(id, JSONObject.class); - id = String.valueOf(jsonObject.get("id")); - Result result = new Result(); - SmokeDev smokeDev = smokeDevService.getById(id); - if (smokeDev == null) { - result.error500("未找到对应实体"); - } else { - boolean ok = smokeDevService.removeById(id); - if (ok) { - result.success("删除成功!"); - } - } + /** + * 通过id删除 + * + * @param id + * @return + */ + @ApiOperation(value = "删除烟感报警设备信息", notes = "删除烟感报警设备信息", httpMethod = "POST") + @PostMapping(value = "/delete") + public Result delete(@RequestBody String id) { + JSONObject jsonObject = JSON.parseObject(id, JSONObject.class); + id = String.valueOf(jsonObject.get("id")); + Result result = new Result(); + SmokeDev smokeDev = smokeDevService.getById(id); + if (smokeDev == null) { + result.error500("未找到对应实体"); + } else { + boolean ok = smokeDevService.removeById(id); + if (ok) { + result.success("删除成功!"); + } + } - return result; - } + return result; + } - /** - * 批量删除 - * - * @param ids - * @return - */ - @ApiOperation(value = "批量删除烟感报警设备信息", notes = "批量删除烟感报警设备信息", httpMethod = "POST") - @ApiImplicitParam(name = "id", value = "烟感报警设备ID字符串", paramType = "query", required = true, dataType = "String") - @PostMapping(value = "/deleteBatch") - public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { - Result result = new Result(); - if (ids == null || "".equals(ids.trim())) { - result.error500("参数不识别!"); - } else { - this.smokeDevService.removeByIds(Arrays.asList(ids.split(","))); - result.success("删除成功!"); - } - return result; - } + /** + * 批量删除 + * + * @param ids + * @return + */ + @ApiOperation(value = "批量删除烟感报警设备信息", notes = "批量删除烟感报警设备信息", httpMethod = "POST") + @ApiImplicitParam(name = "id", value = "烟感报警设备ID字符串", paramType = "query", required = true, dataType = "String") + @PostMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + Result result = new Result(); + if (ids == null || "".equals(ids.trim())) { + result.error500("参数不识别!"); + } else { + this.smokeDevService.removeByIds(Arrays.asList(ids.split(","))); + result.success("删除成功!"); + } + return result; + } - /** - * 通过id查询 - * - * @param id - * @return - */ - @ApiOperation(value = "通过id查询烟感报警设备信息", notes = "通过id查询烟感报警设备信息", httpMethod = "GET") - @ApiImplicitParam(name = "id", value = "烟感报警设备ID", paramType = "query", required = true, dataType = "Integer") - @GetMapping(value = "/queryById") - public Result queryById(@RequestParam(name = "id", required = true) String id) { - Result result = new Result(); - SmokeDev smokeDev = smokeDevService.getById(id); - if (smokeDev == null) { - result.error500("未找到对应实体"); - } else { - result.setResult(smokeDev); - result.setSuccess(true); - } - return result; - } + /** + * 通过id查询 + * + * @param id + * @return + */ + @ApiOperation(value = "通过id查询烟感报警设备信息", notes = "通过id查询烟感报警设备信息", httpMethod = "GET") + @ApiImplicitParam(name = "id", value = "烟感报警设备ID", paramType = "query", required = true, dataType = "Integer") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + Result result = new Result(); + SmokeDev smokeDev = smokeDevService.getById(id); + if (smokeDev == null) { + result.error500("未找到对应实体"); + } else { + result.setResult(smokeDev); + result.setSuccess(true); + } + return result; + } - /** - * 导出excel - * - * @param request - * @param response - */ - @ApiOperation(value = "导出excel烟感报警设备信息", notes = "导出excel烟感报警设备信息", httpMethod = "POST") - @RequestMapping(value = "/exportXls") - public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) { - // Step.1 组装查询条件 - QueryWrapper queryWrapper = null; - try { - String paramsStr = request.getParameter("paramsStr"); - if (oConvertUtils.isNotEmpty(paramsStr)) { - String deString = URLDecoder.decode(paramsStr, "UTF-8"); - SmokeDev smokeDev = JSON.parseObject(deString, SmokeDev.class); - queryWrapper = QueryGenerator.initQueryWrapper(smokeDev, request.getParameterMap()); - } - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } + /** + * 导出excel + * + * @param request + * @param response + */ + @ApiOperation(value = "导出excel烟感报警设备信息", notes = "导出excel烟感报警设备信息", httpMethod = "POST") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) { + // Step.1 组装查询条件 + QueryWrapper queryWrapper = null; + try { + String paramsStr = request.getParameter("paramsStr"); + if (oConvertUtils.isNotEmpty(paramsStr)) { + String deString = URLDecoder.decode(paramsStr, "UTF-8"); + SmokeDev smokeDev = JSON.parseObject(deString, SmokeDev.class); + queryWrapper = QueryGenerator.initQueryWrapper(smokeDev, request.getParameterMap()); + } + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } - //Step.2 AutoPoi 导出Excel - ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); - List pageList = smokeDevService.list(queryWrapper); - //导出文件名称 - mv.addObject(NormalExcelConstants.FILE_NAME, "烟感报警设备列表"); - mv.addObject(NormalExcelConstants.CLASS, SmokeDev.class); - mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("烟感报警设备列表数据", "导出人:Jeecg", "导出信息")); - mv.addObject(NormalExcelConstants.DATA_LIST, pageList); - return mv; - } + //Step.2 AutoPoi 导出Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + List pageList = smokeDevService.list(queryWrapper); + //导出文件名称 + mv.addObject(NormalExcelConstants.FILE_NAME, "烟感报警设备列表"); + mv.addObject(NormalExcelConstants.CLASS, SmokeDev.class); + mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("烟感报警设备列表数据", "导出人:Jeecg", "导出信息")); + mv.addObject(NormalExcelConstants.DATA_LIST, pageList); + return mv; + } - /** - * 通过excel导入数据 - * - * @param request - * @param response - * @return - */ - @ApiOperation(value = "通过excel导入烟感报警设备信息", notes = "通过excel导入烟感报警设备信息", httpMethod = "POST") - @RequestMapping(value = "/importExcel", method = RequestMethod.POST) - public Result importExcel(HttpServletRequest request, HttpServletResponse response) { - MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; - Map fileMap = multipartRequest.getFileMap(); - for (Map.Entry entity : fileMap.entrySet()) { - MultipartFile file = entity.getValue();// 获取上传文件对象 - ImportParams params = new ImportParams(); - params.setTitleRows(2); - params.setHeadRows(1); - params.setNeedSave(true); - try { - List listSmokeDevs = ExcelImportUtil.importExcel(file.getInputStream(), SmokeDev.class, params); - for (SmokeDev smokeDevExcel : listSmokeDevs) { - smokeDevService.save(smokeDevExcel); - } - return Result.ok("文件导入成功!数据行数:" + listSmokeDevs.size()); - } catch (Exception e) { - log.error(e.getMessage()); - return Result.error("文件导入失败!"); - } finally { - try { - file.getInputStream().close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - return Result.ok("文件导入失败!"); - } + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @ApiOperation(value = "通过excel导入烟感报警设备信息", notes = "通过excel导入烟感报警设备信息", httpMethod = "POST") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; + Map fileMap = multipartRequest.getFileMap(); + for (Map.Entry entity : fileMap.entrySet()) { + MultipartFile file = entity.getValue();// 获取上传文件对象 + ImportParams params = new ImportParams(); + params.setTitleRows(2); + params.setHeadRows(1); + params.setNeedSave(true); + try { + List listSmokeDevs = ExcelImportUtil.importExcel(file.getInputStream(), SmokeDev.class, params); + for (SmokeDev smokeDevExcel : listSmokeDevs) { + smokeDevService.save(smokeDevExcel); + } + return Result.ok("文件导入成功!数据行数:" + listSmokeDevs.size()); + } catch (Exception e) { + log.error(e.getMessage()); + return Result.error("文件导入失败!"); + } finally { + try { + file.getInputStream().close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + return Result.ok("文件导入失败!"); + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/smoke/entity/SmokeDevAlarm.java b/src/main/java/com/zhgd/xmgl/modules/smoke/entity/SmokeDevAlarm.java index d71cb81bb..2178688cc 100644 --- a/src/main/java/com/zhgd/xmgl/modules/smoke/entity/SmokeDevAlarm.java +++ b/src/main/java/com/zhgd/xmgl/modules/smoke/entity/SmokeDevAlarm.java @@ -1,6 +1,7 @@ package com.zhgd.xmgl.modules.smoke.entity; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; @@ -113,7 +114,7 @@ public class SmokeDevAlarm implements Serializable { */ @Excel(name = "操作人id", width = 15) @ApiModelProperty(value = "操作人id") - private java.lang.Integer operateId; + private java.lang.Long operateId; /** * 操作时间 */ @@ -122,4 +123,7 @@ public class SmokeDevAlarm implements Serializable { @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "操作时间") private java.util.Date operateTime; + @TableField(exist = false) + @ApiModelProperty(value = "操作人") + private java.lang.String operateName; } diff --git a/src/main/java/com/zhgd/xmgl/security/JwtTokenFilter.java b/src/main/java/com/zhgd/xmgl/security/JwtTokenFilter.java index a27cb3974..99035f4c1 100644 --- a/src/main/java/com/zhgd/xmgl/security/JwtTokenFilter.java +++ b/src/main/java/com/zhgd/xmgl/security/JwtTokenFilter.java @@ -79,7 +79,6 @@ public class JwtTokenFilter extends OncePerRequestFilter { validateOtherProfile(request); } } - //log.info(request.getRequestURI()); filterChain.doFilter(request, response); sjUser.remove(); } diff --git a/src/main/java/com/zhgd/xmgl/security/JwtTokenProvider.java b/src/main/java/com/zhgd/xmgl/security/JwtTokenProvider.java index f6430b884..d5645c1ee 100644 --- a/src/main/java/com/zhgd/xmgl/security/JwtTokenProvider.java +++ b/src/main/java/com/zhgd/xmgl/security/JwtTokenProvider.java @@ -1,6 +1,9 @@ package com.zhgd.xmgl.security; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zhgd.exception.CustomException; +import com.zhgd.xmgl.modules.basicdata.entity.SystemUser; +import com.zhgd.xmgl.modules.basicdata.mapper.SystemUserMapper; import io.jsonwebtoken.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -32,6 +35,8 @@ public class JwtTokenProvider { @Autowired private MyUserDetailsImpl myUserDetailsImpl; + @Autowired + private SystemUserMapper systemUserMapper; @PostConstruct protected void init() { @@ -100,5 +105,4 @@ public class JwtTokenProvider { } } - } diff --git a/src/main/java/com/zhgd/xmgl/security/MyUserDetailsImpl.java b/src/main/java/com/zhgd/xmgl/security/MyUserDetailsImpl.java index 2fc1cbc2c..971ed1097 100644 --- a/src/main/java/com/zhgd/xmgl/security/MyUserDetailsImpl.java +++ b/src/main/java/com/zhgd/xmgl/security/MyUserDetailsImpl.java @@ -3,6 +3,7 @@ package com.zhgd.xmgl.security; import com.zhgd.xmgl.modules.basicdata.entity.SystemUser; import com.zhgd.xmgl.modules.basicdata.mapper.SystemUserMapper; +import com.zhgd.xmgl.security.entity.UserInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.userdetails.UserDetails; @@ -21,7 +22,7 @@ import java.util.List; * @create: 2019-09-24 11:02 **/ -@Component(value="CustomUserDetailsService") +@Component(value = "CustomUserDetailsService") public class MyUserDetailsImpl implements UserDetailsService { @Autowired @@ -42,15 +43,7 @@ public class MyUserDetailsImpl implements UserDetailsService { return "admin"; } }); - return org.springframework.security.core.userdetails.User// - .withUsername(username)// - .password(user.getPassword())// - .accountExpired(false)// - .accountLocked(false)// - .credentialsExpired(false)// - .authorities(grantedAuthorityList) - .disabled(false)// - .build(); + return new UserInfo(username, user.getPassword(), true, true, true, true, grantedAuthorityList, user.getUserId()); } } diff --git a/src/main/java/com/zhgd/xmgl/security/entity/UserInfo.java b/src/main/java/com/zhgd/xmgl/security/entity/UserInfo.java new file mode 100644 index 000000000..7b9a592f5 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/security/entity/UserInfo.java @@ -0,0 +1,28 @@ +package com.zhgd.xmgl.security.entity; + +import org.springframework.security.core.GrantedAuthority; +import org.springframework.security.core.userdetails.User; + +import java.util.Collection; + +public class UserInfo extends User { + private Long userId; + + public UserInfo(String username, String password, Collection authorities, Long userId) { + super(username, password, authorities); + this.userId = userId; + } + + public UserInfo(String username, String password, boolean enabled, boolean accountNonExpired, boolean credentialsNonExpired, boolean accountNonLocked, Collection authorities, Long userId) { + super(username, password, enabled, accountNonExpired, credentialsNonExpired, accountNonLocked, authorities); + this.userId = userId; + } + + public Long getUserId() { + return userId; + } + + public void setUserId(Long userId) { + this.userId = userId; + } +} diff --git a/src/main/java/com/zhgd/xmgl/task/ElectricalTask.java b/src/main/java/com/zhgd/xmgl/task/ElectricalTask.java index 7b45f07b2..055e904bf 100644 --- a/src/main/java/com/zhgd/xmgl/task/ElectricalTask.java +++ b/src/main/java/com/zhgd/xmgl/task/ElectricalTask.java @@ -3,17 +3,22 @@ package com.zhgd.xmgl.task; import cn.hutool.core.collection.CollUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zhgd.xmgl.modules.electrical.entity.ElectricalData; import com.zhgd.xmgl.modules.electrical.entity.ElectricalDev; +import com.zhgd.xmgl.modules.electrical.mapper.ElectricalDataMapper; import com.zhgd.xmgl.modules.electrical.service.IElectricalDataService; import com.zhgd.xmgl.modules.electrical.service.IElectricalDevService; import com.zhgd.xmgl.util.XiwonUtil; import lombok.extern.slf4j.Slf4j; import net.javacrumbs.shedlock.core.SchedulerLock; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpStatus; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.HashMap; @@ -33,11 +38,13 @@ import java.util.concurrent.CompletableFuture; public class ElectricalTask { @Resource private IElectricalDataService electricalDataService; + @Resource + private ElectricalDataMapper electricalDataMapper; @Resource private IElectricalDevService electricalDevService; - @Value("${xiwon.postElectricRealTimeData}") + @Value("${xiwon.postElectricRealTimeData:}") private String postElectricRealTimeData; @Resource @@ -52,40 +59,54 @@ public class ElectricalTask { @SchedulerLock(name = "getElectricRealTimeData", lockAtMostFor = 1000 * 60 * 5, lockAtLeastFor = 1000 * 60 * 3) @Scheduled(cron = "0 0/5 * * * ?") public void getElectricRealTimeData() { + if (StringUtils.isNotBlank(postElectricRealTimeData)) { + // 请求参数 + Map map = new HashMap<>(4); + map.put("state", 0); + map.put("pageSize", "1"); + map.put("pageNum", "1"); + // 获取所有 + List devList = electricalDevService.list(); + devList.forEach(dev -> CompletableFuture.supplyAsync(() -> { + return doGetElectricRealTimeData(map, dev); + }).exceptionally(throwable -> { + log.error("err:", throwable); + return null; + }) + ); + } + } - // 请求参数 - Map map = new HashMap<>(4); - map.put("state", 0); - map.put("pageSize", "1"); - map.put("pageNum", "1"); - // 获取所有 - List devList = electricalDevService.list(); - // TODO 待处理最后一条数据重复插入 - devList.forEach(dev -> CompletableFuture.supplyAsync(() -> { - // 设备sn - String devSn = dev.getDevSn(); - // 请求携稳的接口 - JSONObject realTimeData = xiwonUtil.postForm(postElectricRealTimeData, map, JSONObject.class, (() -> map.put("deviceSn", devSn))); - log.info("携稳接口响应数据:{}", realTimeData); - Integer code = realTimeData.getInteger("code"); - // code校验是否成功请求 - if (code == HttpStatus.OK.value()) { - JSONArray dataArray = realTimeData.getJSONArray("data"); - if (CollUtil.isNotEmpty(dataArray)) { - // 解析请求到的参数,保存到我们的数据库 - JSONObject data = dataArray.getJSONObject(0); - ElectricalData electricalData = new ElectricalData(devSn, data.getString("dataTime"), data.getString("voltageA"), data.getString("voltageB"), - data.getString("voltageC"), data.getString("currentA"), data.getString("currentB"), data.getString("currentC"), - data.getString("leakage"), data.getString("temperatureA"), data.getString("temperatureB"), data.getString("temperatureC"), data.getString("temperatureD")); - electricalDataService.saveElectricalData(electricalData); - } else { - log.error("设备sn:{},当前无数据!", devSn); - } - } else { - log.error("设备sn:{},请求失败!当前code:{},msg:{}", devSn, code, realTimeData.getString("msg")); - } - return true; - }) - ); + private boolean doGetElectricRealTimeData(Map map, ElectricalDev dev) { + // 设备sn + String devSn = dev.getDevSn(); + ElectricalData newestData = electricalDataMapper.selectOne(new LambdaQueryWrapper().eq(ElectricalData::getDevSn, devSn).orderByDesc(ElectricalData::getUploadTime).last("limit 1")); + // 请求携稳的接口 + JSONObject realTimeData = xiwonUtil.postForm(postElectricRealTimeData, map, JSONObject.class, (() -> { + if (newestData != null && newestData.getXiewenId() != null) { + map.put("dataId", newestData.getXiewenId()); + } + return map.put("deviceSn", devSn); + })); + log.info("携稳接口响应数据(配电箱):{}", realTimeData); + Integer code = realTimeData.getInteger("code"); + // code校验是否成功请求 + if (code == HttpStatus.OK.value()) { + JSONArray dataArray = realTimeData.getJSONArray("data"); + if (CollUtil.isNotEmpty(dataArray)) { + // 解析请求到的参数,保存到我们的数据库 + JSONObject data = dataArray.getJSONObject(0); + ElectricalData electricalData = new ElectricalData(devSn, data.getString("dataTime"), data.getString("voltageA"), data.getString("voltageB"), + data.getString("voltageC"), data.getString("currentA"), data.getString("currentB"), data.getString("currentC"), + data.getString("leakage"), data.getString("temperatureA"), data.getString("temperatureB"), data.getString("temperatureC"), data.getString("temperatureD")); + electricalData.setXiewenId(data.getLong("id")); + electricalDataService.saveElectricalData(electricalData); + } else { + log.error("设备sn:{},当前无数据!", devSn); + } + } else { + log.error("设备sn:{},请求失败!当前code:{},msg:{}", devSn, code, realTimeData.getString("msg")); + } + return true; } } diff --git a/src/main/resources/application-gsx-other-env-show.properties b/src/main/resources/application-gsx-other-env-show.properties index dba21cec8..b559a4949 100644 --- a/src/main/resources/application-gsx-other-env-show.properties +++ b/src/main/resources/application-gsx-other-env-show.properties @@ -19,7 +19,7 @@ server.tomcat.basedir=C:/jxj/prod/backEnd/tempImage/ #server.tomcat.basedir=F:/zhgd/tempImage/ #arcsoft.dllPath=F:/zhgd/dll arcsoft.dllPath=C:/jxj/prod/backEnd/dll -security.enable=false +security.enable=true isGetStandardData=false isGetEnvironmentData=false isGetFaceFeatureDate=false