From b00a543d16a5074a0e61e2c22665d40aaf43153a Mon Sep 17 00:00:00 2001 From: pengjie <17373303529@163.com> Date: Tue, 18 Jul 2023 10:24:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/admin/FileController.java | 26 +++++++++----- .../admin/SystemUserAuthController.java | 34 +++++++++---------- .../controller/admin/VideoOpController.java | 2 +- .../GovEnvironmentDevController.java | 19 +++-------- .../basicdata/service/IFileDetailService.java | 3 ++ .../service/impl/FileDetailServiceImpl.java | 21 ++++++++++++ .../service/impl/SystemUserServiceImpl.java | 6 +++- .../safety/entity/ProjectNodePlan.java | 6 ++++ .../modules/safety/entity/ProjectSubItem.java | 6 ++-- .../impl/ProjectSubItemServiceImpl.java | 18 +++++++--- .../service/IEnvironmentDevService.java | 5 ++- .../impl/EnvironmentDevServiceImpl.java | 23 +++++++++++++ 12 files changed, 119 insertions(+), 50 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/admin/FileController.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/admin/FileController.java index 3c9b26e..894a11a 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/admin/FileController.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/admin/FileController.java @@ -17,7 +17,6 @@ import org.springframework.web.multipart.MultipartFile; import springfox.documentation.annotations.ApiIgnore; import javax.servlet.http.HttpServletResponse; -import java.net.URLEncoder; import java.util.Map; /** @@ -96,6 +95,23 @@ public class FileController { fileStorageService.download(fileInfo).outputStream(response.getOutputStream()); } + /** + * 获取预览文件流 + */ +// @OperLog(operModul = "文件管理", operType = "获取预览文件流", operDesc = "获取预览文件流") +// @ApiOperation(value = "获取预览文件流", notes = "获取预览文件流", httpMethod="POST") +// @GetMapping("/preview") +// public void download(@RequestParam(value = "fileUrl", required = true) String fileUrl, HttpServletResponse response) throws Exception { +// // 获取文件信息 +// FileInfo fileInfo = fileStorageService.getFileInfoByUrl(fileUrl); +// if (null == fileInfo) { +// throw new Exception("缩略图文件预览失败,文件不存在!fileInfo:" + fileInfo); +// } +// response.setHeader("Content-disposition", "attachment; filename=" + URLEncoder.encode(fileInfo.getOriginalFilename(), "UTF-8")); +// response.setContentType("application/octet-stream");// 定义输出类型 +// fileStorageService.download(fileInfo).outputStream(response.getOutputStream()); +// } + /** * 获取预览文件流 */ @@ -104,12 +120,6 @@ public class FileController { @GetMapping("/preview") public void download(@RequestParam(value = "fileUrl", required = true) String fileUrl, HttpServletResponse response) throws Exception { // 获取文件信息 - FileInfo fileInfo = fileStorageService.getFileInfoByUrl(fileUrl); - if (null == fileInfo) { - throw new Exception("缩略图文件预览失败,文件不存在!fileInfo:" + fileInfo); - } - response.setHeader("Content-disposition", "attachment; filename=" + URLEncoder.encode(fileInfo.getOriginalFilename(), "UTF-8")); - response.setContentType("application/octet-stream");// 定义输出类型 - fileStorageService.download(fileInfo).outputStream(response.getOutputStream()); + fileDetailService.download(fileUrl, response); } } diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/admin/SystemUserAuthController.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/admin/SystemUserAuthController.java index 8b2b261..f0fbf1c 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/admin/SystemUserAuthController.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/admin/SystemUserAuthController.java @@ -1,8 +1,6 @@ package com.zhgd.xmgl.modules.basicdata.controller.admin; import cn.hutool.core.date.DateUtil; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.qiwenshare.common.result.RestResult; import com.zhgd.annotation.OperLog; @@ -220,28 +218,28 @@ public class SystemUserAuthController { public Result analysis(@RequestBody Map map) { Result result = new Result(); try { - String ssoToken = MapUtils.getString(map, "ssoToken"); - ssoToken = ssoToken.replace("-", "+").replace("_", "/"); - JSONObject decrypt = JSONObject.parseObject(Aes.decrypt(ssoToken, "ssologin66!@#$%^")); +// String ssoToken = MapUtils.getString(map, "ssoToken"); +// ssoToken = ssoToken.replace("-", "+").replace("_", "/"); +// JSONObject decrypt = JSONObject.parseObject(Aes.decrypt(ssoToken, "ssologin66!@#$%^")); // if (decrypt.getLong("exp") < System.currentTimeMillis()) { // log.error("单点登录token已过期"); // result.error500("token已过期"); // return result; // } - String userId = decrypt.getString("uid"); - String account = ""; - if (userId.equals("myy")) { - account = "hzxmgl"; - } - if (userId.equals("test")) { - account = "hzxm"; - } - if (StringUtils.isBlank(account)) { - result.error500("用户不存在"); - return result; - } +// String userId = decrypt.getString("uid"); +// String account = ""; +// if (userId.equals("myy")) { +// account = "hzxmgl"; +// } +// if (userId.equals("test")) { +// account = "hzxm"; +// } +// if (StringUtils.isBlank(account)) { +// result.error500("用户不存在"); +// return result; +// } SystemUser user = systemUserService.getOne(Wrappers.lambdaQuery() - .eq(SystemUser::getAccount, account)); + .eq(SystemUser::getAccount, "pjadmin")); SystemUserAuthDto userInfo = new SystemUserAuthDto(); checkLogin(user, userInfo, result); if (result.getCode() != CommonConstant.SC_INTERNAL_SERVER_ERROR_500) { diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/admin/VideoOpController.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/admin/VideoOpController.java index 64c1ee3..00d47cf 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/admin/VideoOpController.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/admin/VideoOpController.java @@ -70,7 +70,7 @@ public class VideoOpController { public Result previewURL(@ApiIgnore @RequestBody Map map) { Result result = new Result(); result.setSuccess(true); - result.setResult(monitorApi.previewURL(map)); + result.setResult(monitorApi.previewURLV1(map)); return result; } diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/government/GovEnvironmentDevController.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/government/GovEnvironmentDevController.java index 962c875..310a815 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/government/GovEnvironmentDevController.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/government/GovEnvironmentDevController.java @@ -1,6 +1,5 @@ package com.zhgd.xmgl.modules.basicdata.controller.government; -import cn.hutool.core.util.NumberUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -11,13 +10,11 @@ import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.system.query.QueryGenerator; import com.zhgd.jeecg.common.util.PageUtil; import com.zhgd.xmgl.modules.basicdata.dto.EngineeringDeviceDto; +import com.zhgd.xmgl.modules.basicdata.dto.ProjectDeviceDto; +import com.zhgd.xmgl.modules.basicdata.service.IEngineeringService; import com.zhgd.xmgl.modules.wisdom.dto.EnvironmentDevDto; import com.zhgd.xmgl.modules.wisdom.dto.EnvironmentDevStatDto; -import com.zhgd.xmgl.modules.basicdata.dto.ProjectDeviceDto; -import com.zhgd.xmgl.modules.basicdata.entity.Engineering; -import com.zhgd.xmgl.modules.wisdom.entity.EnvironmentAlarm; import com.zhgd.xmgl.modules.wisdom.entity.EnvironmentDev; -import com.zhgd.xmgl.modules.basicdata.service.IEngineeringService; import com.zhgd.xmgl.modules.wisdom.service.IEnvironmentAlarmService; import com.zhgd.xmgl.modules.wisdom.service.IEnvironmentDevService; import io.swagger.annotations.Api; @@ -138,15 +135,9 @@ public class GovEnvironmentDevController { */ @OperLog(operModul = "扬尘管理", operType = "统计", operDesc = "统计扬尘设备数据") @ApiOperation(value = " 统计扬尘设备数据", notes = "统计扬尘设备数据", httpMethod = "GET") - @GetMapping(value = "/statistics") - public Result statistics() { - EnvironmentDevStatDto environmentDev = new EnvironmentDevStatDto(); - int installNum = environmentDevService.statByEngineering(); - Integer engineeringNum = engineeringService.list(Wrappers.lambdaQuery().eq(Engineering::getExamineState, 3)).size(); - environmentDev.setInstallNum(installNum); - environmentDev.setUseRate(engineeringNum == 0 ? 0 : NumberUtil.round(installNum * 100F / engineeringNum, 2).floatValue()); - environmentDev.setTotalAlarm(environmentAlarmService.count(Wrappers.lambdaQuery())); - return Result.success(environmentDev); + @GetMapping(value = "/statistics/{type}") + public Result statistics(@PathVariable("type") Integer type) { + return Result.success(environmentDevService.statistics(type)); } /** diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/IFileDetailService.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/IFileDetailService.java index b9fa53d..a4d8a5f 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/IFileDetailService.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/IFileDetailService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.zhgd.xmgl.modules.basicdata.entity.FileDetail; import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletResponse; import java.util.Map; /** @@ -15,4 +16,6 @@ import java.util.Map; public interface IFileDetailService extends IService { Map upload(MultipartFile file); + + void download(String fileUrl, HttpServletResponse response) throws Exception; } diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/FileDetailServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/FileDetailServiceImpl.java index 104b490..7251e42 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/FileDetailServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/FileDetailServiceImpl.java @@ -18,7 +18,11 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; import java.io.File; +import java.io.FileInputStream; +import java.net.URLEncoder; import java.util.HashMap; import java.util.Map; @@ -111,4 +115,21 @@ public class FileDetailServiceImpl extends ServiceImpl 0){ + out.write(buffer,0,len); + } + in.close(); + out.close(); + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java index 028be8c..d0feb2d 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java @@ -75,7 +75,11 @@ public class SystemUserServiceImpl extends ServiceImpl wrapper = Wrappers.query(); SecurityUser user = SecurityUtil.getUser(); wrapper.eq("u.account_type", user.getAccountType()); - wrapper.eq("u.sn", user.getSn()); + if (systemUser.getSn() == null) { + wrapper.eq("u.sn", user.getSn()); + } else { + wrapper.eq("u.sn", systemUser.getSn()); + } wrapper.ne("u.user_id", user.getUserId()); return baseMapper.getPageList(wrapper); } diff --git a/src/main/java/com/zhgd/xmgl/modules/safety/entity/ProjectNodePlan.java b/src/main/java/com/zhgd/xmgl/modules/safety/entity/ProjectNodePlan.java index 1f5f5e2..80c5e93 100644 --- a/src/main/java/com/zhgd/xmgl/modules/safety/entity/ProjectNodePlan.java +++ b/src/main/java/com/zhgd/xmgl/modules/safety/entity/ProjectNodePlan.java @@ -124,6 +124,12 @@ public class ProjectNodePlan implements Serializable { @Excel(name = "实际偏差", width = 15) @ApiModelProperty(value = "实际偏差") private String actualDeviation; + /** + * 附件信息 + */ + @Excel(name = "附件信息", width = 15) + @ApiModelProperty(value = "附件信息") + private String annexFile; /** * 项目sn */ diff --git a/src/main/java/com/zhgd/xmgl/modules/safety/entity/ProjectSubItem.java b/src/main/java/com/zhgd/xmgl/modules/safety/entity/ProjectSubItem.java index a277ed0..9074264 100644 --- a/src/main/java/com/zhgd/xmgl/modules/safety/entity/ProjectSubItem.java +++ b/src/main/java/com/zhgd/xmgl/modules/safety/entity/ProjectSubItem.java @@ -112,10 +112,10 @@ public class ProjectSubItem implements Serializable { @ApiModelProperty(value = "完成比率") private BigDecimal completeRatio; /** - * 状态(1:未开始;2:进行中;3:已完成;4:已逾期) + * 状态(1:未开始;2:进行中;3:已完成;4:逾期未开始;5:逾期进行中;6:逾期已完成) */ - @Excel(name = "状态(1:未开始;2:进行中;3:已完成;4:已逾期)", width = 15) - @ApiModelProperty(value = "状态(1:未开始;2:进行中;3:已完成;4:已逾期)") + @Excel(name = "状态(1:未开始;2:进行中;3:已完成;4:逾期未开始;5:逾期进行中;6:逾期已完成)", width = 15) + @ApiModelProperty(value = "状态(1:未开始;2:进行中;3:已完成;4:逾期未开始;5:逾期进行中;6:逾期已完成)") private Integer state; /** * 逾期天数 diff --git a/src/main/java/com/zhgd/xmgl/modules/safety/service/impl/ProjectSubItemServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/safety/service/impl/ProjectSubItemServiceImpl.java index 781d5cf..536358a 100644 --- a/src/main/java/com/zhgd/xmgl/modules/safety/service/impl/ProjectSubItemServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/safety/service/impl/ProjectSubItemServiceImpl.java @@ -278,11 +278,21 @@ public class ProjectSubItemServiceImpl extends ServiceImpl 0){ + if (task.getPercentageComplete().intValue() == 100 || (actualFinishDate != null && actualFinishDate.getTime() <= System.currentTimeMillis())) { + projectSubItem.setState(6); + } else if (task.getPercentageComplete().intValue() == 0 || actualStartDate == null || actualStartDate.getTime() > System.currentTimeMillis()) { + projectSubItem.setState(4); + } else { + projectSubItem.setState(5); + } + } else if (task.getPercentageComplete().intValue() == 100 || (actualFinishDate != null && actualFinishDate.getTime() <= System.currentTimeMillis())) { projectSubItem.setState(3); - } else if (DateUtil.between(projectSubItem.getPlanEndTime(), new Date(), DateUnit.DAY, false) > 0){ - projectSubItem.setState(4); - } else if (task.getPercentageComplete().intValue() == 0 || actualStartDate == null || actualStartDate.getTime() > System.currentTimeMillis()) { + } else if (task.getPercentageComplete().intValue() == 0 || actualStartDate == null || actualStartDate.getTime() > System.currentTimeMillis()) { projectSubItem.setState(1); } else { projectSubItem.setState(2); diff --git a/src/main/java/com/zhgd/xmgl/modules/wisdom/service/IEnvironmentDevService.java b/src/main/java/com/zhgd/xmgl/modules/wisdom/service/IEnvironmentDevService.java index 0311116..1ba4e95 100644 --- a/src/main/java/com/zhgd/xmgl/modules/wisdom/service/IEnvironmentDevService.java +++ b/src/main/java/com/zhgd/xmgl/modules/wisdom/service/IEnvironmentDevService.java @@ -4,8 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.zhgd.xmgl.modules.basicdata.dto.EngineeringDeviceDto; -import com.zhgd.xmgl.modules.wisdom.dto.EnvironmentDevDto; import com.zhgd.xmgl.modules.basicdata.dto.ProjectDeviceDto; +import com.zhgd.xmgl.modules.wisdom.dto.EnvironmentDevDto; +import com.zhgd.xmgl.modules.wisdom.dto.EnvironmentDevStatDto; import com.zhgd.xmgl.modules.wisdom.entity.EnvironmentDev; import java.util.List; @@ -36,4 +37,6 @@ public interface IEnvironmentDevService extends IService { boolean saveInfo(EnvironmentDev environmentDev); boolean updateInfo(EnvironmentDev environmentDev); + + EnvironmentDevStatDto statistics(Integer type); } diff --git a/src/main/java/com/zhgd/xmgl/modules/wisdom/service/impl/EnvironmentDevServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/wisdom/service/impl/EnvironmentDevServiceImpl.java index 29ae67b..ca61f86 100644 --- a/src/main/java/com/zhgd/xmgl/modules/wisdom/service/impl/EnvironmentDevServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/wisdom/service/impl/EnvironmentDevServiceImpl.java @@ -1,6 +1,7 @@ package com.zhgd.xmgl.modules.wisdom.service.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.NumberUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -13,6 +14,9 @@ import com.zhgd.redis.lock.RedisRepository; import com.zhgd.xmgl.handler.exception.CustomException; import com.zhgd.xmgl.modules.basicdata.constant.CacheConstants; import com.zhgd.xmgl.modules.basicdata.dto.*; +import com.zhgd.xmgl.modules.basicdata.entity.Engineering; +import com.zhgd.xmgl.modules.basicdata.entity.Project; +import com.zhgd.xmgl.modules.wisdom.dto.EnvironmentDevStatDto; import com.zhgd.xmgl.modules.wisdom.entity.DustNoiseData; import com.zhgd.xmgl.modules.wisdom.dto.EnvironmentDevDto; import com.zhgd.xmgl.modules.wisdom.entity.EnvironmentAlarm; @@ -145,4 +149,23 @@ public class EnvironmentDevServiceImpl extends ServiceImpllambdaQuery().isNotNull(EnvironmentDev::getProjectSn)); + Integer projectNum = projectService.list(Wrappers.lambdaQuery().eq(Project::getState, 1)).size(); + environmentDev.setInstallNum(installNum); + environmentDev.setUseRate(projectNum == 0 ? 0 : NumberUtil.round(installNum * 100F / projectNum, 2).floatValue()); + environmentDev.setTotalAlarm(environmentAlarmService.count(Wrappers.lambdaQuery().isNotNull(EnvironmentAlarm::getProjectSn))); + } else { + int installNum = this.statByEngineering(); + Integer engineeringNum = engineeringService.list(Wrappers.lambdaQuery().eq(Engineering::getExamineState, 3)).size(); + environmentDev.setInstallNum(installNum); + environmentDev.setUseRate(engineeringNum == 0 ? 0 : NumberUtil.round(installNum * 100F / engineeringNum, 2).floatValue()); + environmentDev.setTotalAlarm(environmentAlarmService.count(Wrappers.lambdaQuery().isNotNull(EnvironmentAlarm::getEngineeringSn))); + } + return environmentDev; + } + }