违章下发修改

This commit is contained in:
cwchen 2024-12-13 13:47:29 +08:00
parent cf099e2000
commit 3c43d9044c
5 changed files with 13984 additions and 20 deletions

View File

@ -3,12 +3,16 @@ package com.sercurityControl.proteam.dutyTask.controller;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.google.common.collect.Maps;
import com.securityControl.common.core.utils.StringUtils;
import com.securityControl.common.core.utils.aes.DateTimeHelper;
import com.securityControl.common.core.utils.aes.SM4Utils;
import com.securityControl.common.core.utils.aes.StringHelper;
import com.securityControl.common.core.web.domain.AjaxResult;
import com.securityControl.common.log.annotation.Log;
import com.securityControl.common.log.annotation.SysLog;
@ -202,7 +206,7 @@ public class TodayTaskController {
map.put("code", 500);
map.put("msg", "参数解析异常");
map.put("count", 0);
map.put("data", new ArrayList<DeviceUpDownVo>());
map.put("data", SM4Utils.encryptData_CBC(JSON.toJSONString(new ArrayList<DeviceUpDownVo>())));
}
return map;
}
@ -217,9 +221,11 @@ public class TodayTaskController {
public String getClassMettingDetails(ClassMettingVo classMettingVo) {
try {
ClassMettingVo vo = service.getClassMettingDetails(classMettingVo);
return com.alibaba.fastjson2.JSON.toJSONString(vo);
String jsonStr = JSON.toJSONString(vo);
String encryptStr = SM4Utils.encryptData_CBC(jsonStr);
return encryptStr;
} catch (Exception e) {
return com.alibaba.fastjson2.JSON.toJSONString(new ClassMettingVo());
return SM4Utils.encryptData_CBC(com.alibaba.fastjson2.JSON.toJSONString(new ClassMettingVo()));
}
}
@ -303,13 +309,13 @@ public class TodayTaskController {
Map<String, Object> map = Maps.newHashMap();
try {
map = service.getZbhPeople(peopleVo);
return com.alibaba.fastjson2.JSON.toJSONString(map);
return SM4Utils.encryptData_CBC(com.alibaba.fastjson2.JSON.toJSONString(map));
} catch (Exception e) {
map.put("code", "201");
map.put("msg", "参数解析异常");
map.put("sgPeople", new ArrayList<ClassMettingPeopleVo>());
map.put("lsPeople", new ArrayList<ClassMettingPeopleVo>());
return com.alibaba.fastjson2.JSON.toJSONString(map);
return SM4Utils.encryptData_CBC(com.alibaba.fastjson2.JSON.toJSONString(map));
}
}
@ -399,11 +405,12 @@ public class TodayTaskController {
@PostMapping(value = "uploadNoticeVio", headers = "content-type=multipart/form-data")
@ResponseBody
//@Log(title = "违章下发", businessType = BusinessType.INSERT, details = "新增违章下发", grade = OperationType.ADD_BUSINESS)
public AjaxResult uploadNoticeVio(HttpServletRequest request, @RequestParam("file[]") MultipartFile[] files) {
public AjaxResult uploadNoticeVio(HttpServletRequest request, @RequestParam(value = "file[]",required = false) MultipartFile[] files) {
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver();
MultipartHttpServletRequest multiReq = multipartResolver.resolveMultipart(request);
String params = multiReq.getParameter("params");
NoticeVioEntity entity = com.alibaba.fastjson2.JSON.parseObject(params, NoticeVioEntity.class);
String decryptStr = SM4Utils.decryptData_CBC(params);
NoticeVioEntity entity = com.alibaba.fastjson2.JSON.parseObject(decryptStr, NoticeVioEntity.class);
entity.setCreateDay(DateTimeHelper.getNowDate());
entity.setIssTime(DateTimeHelper.getNowTime());

View File

@ -1,5 +1,6 @@
package com.sercurityControl.proteam.dutyTask.service;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.nacos.common.utils.CollectionUtils;
import com.alibaba.nacos.shaded.org.checkerframework.checker.units.qual.C;
@ -8,6 +9,7 @@ import com.google.common.collect.Maps;
import com.securityControl.common.core.utils.StringUtils;
import com.securityControl.common.core.utils.aes.DateTimeHelper;
import com.securityControl.common.core.utils.aes.ListHelper;
import com.securityControl.common.core.utils.aes.SM4Utils;
import com.securityControl.common.core.utils.aes.StringHelper;
import com.securityControl.common.core.web.domain.AjaxResult;
import com.sercurityControl.proteam.callInterface.domain.TeamInfo;
@ -676,12 +678,12 @@ public class TodayTaskServiceImpl implements TodayTaskService {
map.put("code", 200);
map.put("msg", "查询成功");
map.put("count", list.size());
map.put("data", list);
map.put("data", SM4Utils.encryptData_CBC(JSON.toJSONString(list)));
} catch (Exception e) {
map.put("code", 500);
map.put("msg", "查询异常");
map.put("count", 0);
map.put("data", new ArrayList<DeviceUpDownVo>());
map.put("data", SM4Utils.encryptData_CBC(JSON.toJSONString(new ArrayList<DeviceUpDownVo>())));
}
return map;

View File

@ -0,0 +1,316 @@
package com.sercurityControl.proteam.supplement.controller;
import com.securityControl.common.core.utils.StringUtils;
import com.securityControl.common.core.web.domain.AjaxResult;
import com.securityControl.common.log.annotation.Log;
import com.securityControl.common.log.enums.BusinessType;
import com.securityControl.common.log.enums.OperationType;
import com.sercurityControl.proteam.dutyTask.domain.*;
import com.sercurityControl.proteam.dutyTask.service.DayPaperService;
import com.sercurityControl.proteam.util.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.util.*;
/**
* @className:newDailyReportController
* @author:cwchen
* @date:2024-10-24-10:43
* @version:1.0
* @description:新日报功能 建设部/建设分公司
*/
@Slf4j
@RestController
@RequestMapping("/pot/safetyReport/")
public class DailyReportController {
@Value("${file.upload_path}")
private String upload_path;
@Resource
private VoiExcelUtil voiExcelUtil;
@Resource
private DayPaperService dayPaperService;
@GetMapping("downloadDaily")
@Log(title = "值班日报", menu = "值班任务->值班日报", businessType = BusinessType.EXPORT, details = "值班日报导出", grade = OperationType.EXPORT_BUSINESS)
public void downloadDaily(HttpServletRequest request, HttpServletResponse response, String currentDay, String chineseDate) {
download(request, response, currentDay, chineseDate);
}
/**
* 获取日报数据
* @return AjaxResult
* @author cwchen
* @date 2024/10/26 15:48
*/
@PostMapping("getDailyData")
public AjaxResult getDailyData(String currentDay) {
Map<String, Object> map = null;
try {
map = handleData(currentDay);
} catch (Exception e) {
log.error(e.toString(), e);
}
return AjaxResult.success(map);
}
public void download(HttpServletRequest request, HttpServletResponse response, String currentDay, String chineseDate) {
Map<String, Object> data = new HashMap<>(16);
String fileName = null;
try {
data = handleData(currentDay);
GwCityVo gwCityVo = dayPaperService.getCityInfo(currentDay);
data.put("xlsBase64", "");
WordUtils.exportMillCertificateWord(request, response, data, "国网安徽电力基建安全日报" + chineseDate, "daily_newspaper_demo2.ftl");
} catch (Exception e) {
log.error("值班日报下载", e);
}
}
public Map<String, Object> handleData(String currentDay) throws Exception {
List<Map<String, Object>> tableList = new ArrayList<Map<String, Object>>();
List<Map<String, Object>> tableList2 = new ArrayList<Map<String, Object>>();
List<Map<String, Object>> tableList3 = new ArrayList<Map<String, Object>>();
List<Map<String, Object>> tableList4 = new ArrayList<Map<String, Object>>();
Map<String, Object> data = new HashMap<>(64);
// 年月日
data.put("year", DateTimeHelper.getNowYear());
data.put("month", String.valueOf(Integer.parseInt(DateTimeHelper.getNowMonths())));
data.put("day", DateTimeHelper.getNowDay());
// 安全质量检查总体情况
GwZlVo gwZlVo = dayPaperService.getAqzlInfo(currentDay);
data.put("one_num", setNullNumberValue(gwZlVo.getAllTickNum()));
data.put("one_num2", setNullNumberValue(gwZlVo.getZxzNum()));
data.put("one_num3", setNullNumberValue(gwZlVo.getZjNum()));
data.put("one_num4", setNullNumberValue(gwZlVo.getNewNum()));
data.put("one_num5", setNullNumberValue(gwZlVo.getDsNum()));
data.put("one_num6", setNullNumberValue(gwZlVo.getZsbNum()));
data.put("one_num7", setNullNumberValue(gwZlVo.getWtNum()));
// 班组及人员情况
data.put("two_num", setNullNumberValue(gwZlVo.getZxzTicket()));
data.put("two_num2", setNullNumberValue(gwZlVo.getZbhNum()));
data.put("two_num3", setNullNumberValue(gwZlVo.getZbhUserNum()));
// 作业计划执行情况
GwDayPlanVo gwDayPlanVo = dayPaperService.getDayPlanInfo(currentDay);
// 1.日计划实施
data.put("three_num", setNullNumberValue(gwDayPlanVo.getZsPro()));
data.put("three_num2", setNullNumberValue(gwDayPlanVo.getZyxc()));
data.put("three_num3", setNullNumberValue(gwDayPlanVo.getTwoRisk()));
data.put("three_num4", setNullNumberValue(gwDayPlanVo.getThreeRisk()));
data.put("three_num5", setNullNumberValue(gwDayPlanVo.getFourRisk()));
// 2.今日视频监控接入情况
data.put("four_num", setNullNumberValue(gwDayPlanVo.getEsjkNum()));
data.put("four_num2", setNullNumberValue(gwDayPlanVo.getTEsjkNum()));
data.put("four_num3", setNullNumberValue(gwDayPlanVo.getSwjkNum()));
data.put("four_num4", setNullNumberValue(gwDayPlanVo.getImpFourNum()));
data.put("four_num5", setNullNumberValue(gwDayPlanVo.getTSwjkNum()));
data.put("four_rate", gwDayPlanVo.getJrl());
// 3.明日作业计划
GwTmorrowPlanVo gwTmorrowPlanVo = dayPaperService.getTmorrowInfo(currentDay);
data.put("five_num", setNullNumberValue(gwTmorrowPlanVo.getPlanNum()));
data.put("five_num2", setNullNumberValue(gwTmorrowPlanVo.getUserPeople()));
data.put("five_num3", setNullNumberValue(gwTmorrowPlanVo.getTwoRisk()));
data.put("five_num4", setNullNumberValue(gwTmorrowPlanVo.getThreeRisk()));
data.put("work_plan", gwTmorrowPlanVo.getEjRiskList() + gwTmorrowPlanVo.getThreeMaxRisk());
// 二级风险
List<Map<String, String>> twoRisks = new ArrayList<>();
for (int i = 0; i < gwTmorrowPlanVo.getTwoRiskList().size(); i++) {
String str = gwTmorrowPlanVo.getTwoRiskList().get(i);
Map<String, String> twoRiskMap = new HashMap<>(16);
twoRiskMap.put("content", "" + (i + 1) + "" + str);
twoRisks.add(twoRiskMap);
}
data.put("twoRisks", twoRisks);
// 督查情况
GwSupInfoVo supInfo = dayPaperService.getSupInfo(gwDayPlanVo,currentDay);
data.put("six_num", setNullNumberValue(supInfo.getDcNum()));
data.put("six_num2", setNullNumberValue(supInfo.getSpNum()));
data.put("six_num3", setNullNumberValue(supInfo.getThreeNum()));
data.put("six_num4", setNullNumberValue(supInfo.getImportNum()));
data.put("six_num5", setNullNumberValue(supInfo.getOtherNum()));
data.put("six_num6", setNullNumberValue(supInfo.getWzNum()));
// 远程督查情况
data.put("seven_num", setNullNumberValue(supInfo.getDcNum()));
data.put("seven_num2", setNullNumberValue(supInfo.getWzNum()));
// 一般违章
List<Map<String, Object>> vioList = new ArrayList<>();
Map<String, Object> vioMap = new HashMap<>(16);
vioMap.put("wzlx", "一般违章");
vioMap.put("name", "");
vioMap.put("content", "");
vioMap.put("yj", "");
vioMap.put("dealwith", "");
vioMap.put("hasWord", 0);
// 违章图片
List<Map<String, String>> voiImgList = new ArrayList<Map<String, String>>();
vioMap.put("voiImgList", voiImgList);
// 整改图片
List<Map<String, String>> voizgImgList = new ArrayList<Map<String, String>>();
vioMap.put("voizgImgList", voizgImgList);
vioList.add(vioMap);
data.put("vioList", vioList);
// 问题整改回复情况
List<Map<String, String>> zgList = new ArrayList<>();
Map<String, String> zgMap = new HashMap<>(16);
zgMap.put("zg", "");
zgList.add(zgMap);
data.put("zgList", zgList);
// 关键措施照片上传和日报质量评价情况-表格
List<GwClassInfoVo> classInfoList = dayPaperService.getClassInfo(currentDay);
if (CollectionUtils.isNotEmpty(classInfoList)) {
for (int i = 0; i < classInfoList.size(); i++) {
GwClassInfoVo gwClassInfoVo = classInfoList.get(i);
Map<String, Object> tableMap = new HashMap<>(6);
tableMap.put("i", i + 1);
tableMap.put("name", setNullVlue(gwClassInfoVo.getCityName()));
tableMap.put("num", setNullVlue(gwClassInfoVo.getZbuNum()));
tableMap.put("hgs", setNullVlue(gwClassInfoVo.getHgNum()));
tableMap.put("lv", setNullVlue(gwClassInfoVo.getHgl()));
tableMap.put("pj", setNullVlue(gwClassInfoVo.getRbpj()));
tableList.add(tableMap);
}
} else {
Map<String, Object> tableMap = new HashMap<>(6);
tableMap.put("i", "");
tableMap.put("name", "");
tableMap.put("num", "");
tableMap.put("hgs", "");
tableMap.put("lv", "");
tableMap.put("pj", "");
tableList.add(tableMap);
}
data.put("tableList", tableList);
// 远程抽查关键人员-表格-写死
data.put("cc_num", "1");
Map<String, Object> table2Map = new HashMap<>(6);
table2Map.put("i", "1");
table2Map.put("name", "甘露-日新110kV线路工程");
table2Map.put("org", "合肥");
table2Map.put("name2", "孙伟");
table2Map.put("post", "工作负责人");
table2Map.put("pj", "");
tableList2.add(table2Map);
data.put("tableList2", tableList2);
// 二级风险明细-表格
List<GwRiskInfoVo> riskInfoList = dayPaperService.getRiskInfo(currentDay);
if (CollectionUtils.isNotEmpty(riskInfoList)) {
for (int i = 0; i < riskInfoList.size(); i++) {
GwRiskInfoVo gwRiskInfoVo = riskInfoList.get(i);
Map<String, Object> table3Map = new HashMap<>(6);
table3Map.put("i", i + 1);
table3Map.put("name", setNullVlue(gwRiskInfoVo.getProName()));
table3Map.put("org", setNullVlue(gwRiskInfoVo.getOrgName()));
table3Map.put("content", setNullVlue(gwRiskInfoVo.getWorkContent()));
tableList3.add(table3Map);
// 二级风险到岗到位抽查情况-表格
Map<String, Object> table4Map = new HashMap<>(6);
table4Map.put("i", i + 1);
table4Map.put("name", setNullVlue(gwRiskInfoVo.getProName()));
table4Map.put("yz", setNullVlue(gwRiskInfoVo.getYzxmb()));
table4Map.put("jl", setNullVlue(gwRiskInfoVo.getJlxmb()));
table4Map.put("sg", setNullVlue(gwRiskInfoVo.getSgxmb()));
tableList4.add(table4Map);
}
} else {
Map<String, Object> table3Map = new HashMap<>(6);
table3Map.put("i", "");
table3Map.put("name", "");
table3Map.put("org", "");
table3Map.put("content", "");
tableList3.add(table3Map);
// 二级风险到岗到位抽查情况-表格
Map<String, Object> table4Map = new HashMap<>(6);
table4Map.put("i", "");
table4Map.put("name", "");
table4Map.put("yz", "");
table4Map.put("jl", "");
table4Map.put("sg", "");
tableList4.add(table4Map);
}
data.put("tableList3", tableList3);
data.put("tableList4", tableList4);
// 质量检查
data.put("nine_num", "2");
data.put("nine_num2", "2");
data.put("nine_num3", "57");
List<Map<String, String>> jcList = new ArrayList<>();
Map<String, String> jcMap = new HashMap<>(16);
jcMap.put("content", "1安徽滁州红桥220kV变电站新建工程王仕斌班组\n" +
"作业内容:软母线跳线、引下线、设备连线安装,电缆搬运、敷设二次接线,母线桥及其附件安装,软母线制作,站用变、消弧线圈、二次设备仓安装,隔离开关安装、调整,互感器、耦合电容器、避雷器安装,接地网施工。");
jcList.add(jcMap);
Map<String, String> jcMap2 = new HashMap<>(16);
jcMap2.put("content", "2安徽池州金安110kV变电站新建工程李敬班组 作业内容:电缆搬运、敷设二次接线,一次电气设备交接试验,二次设备调试,接地网施工,水电作业(配电装置楼),材料、设备搬运、绿化、地面卫生清扫,检查当日作业内容与作业票一致。");
jcList.add(jcMap2);
data.put("jcList", jcList);
// 省市公司安全动态
List<Map<String, String>> dtList = new ArrayList<>();
Map<String, String> dtMap = new HashMap<>(16);
dtMap.put("dt", "1.阜阳公司副总经理汤永久到阜阳河北110kV变电站新建工程现场安全督查。");
dtList.add(dtMap);
data.put("dtList", dtList);
// 气象预警-降水/气温
data.put("js", "今天夜里到明天白天淮北地区阴天有小雨江淮之间多云转阴天中北部有小雨部分地区中雨江南晴天到多云。全省东北风3级。明天夜里到22号白天全省阴天有小雨其中江淮之间大部分地区中雨局部大雨。");
data.put("qw", "明晨最低气温淮北地区北部810℃淮北地区南部1113℃淮河以南1214℃。明天最高气温淮北地区1618℃江淮之间北部1820℃江淮之间南部2022℃沿江江南北部2224℃沿江江南南部2426℃。");
return data;
}
public static String setNullVlue(String value) {
if (StringUtils.isBlank(value)) {
return "";
}
return value;
}
public static String setNullNumberValue(String value) {
if (StringUtils.isBlank(value)) {
return "0";
}
return value;
}
public static String setObjNullValue(Object value) {
if (Objects.isNull(value)) {
return "";
}
return String.valueOf(value);
}
public static boolean deleteFile(String sPath) {
boolean result = false;
try {
File file = new File(sPath);
if (file.isFile() && file.exists()) {
result = false;
int tryCount = 0;
while (!result && tryCount++ < 10) {
System.gc();
result = file.delete();
}
}
} catch (Exception e) {
log.error("文件删除异常", e);
}
return result;
}
}

View File

@ -73,7 +73,7 @@
COUNT(IF(jjmc.error_type != '7',1,null)) AS normalNum
FROM jj_monitoring_coverage jjmc
</select>
<!--监控活跃度分析、监控覆盖度分析、下行观看分析详情-->
<!--1.监控活跃度分析、2.监控覆盖度分析、3.下行观看分析详情、4.视频速率正常、5.球机告警类型-->
<select id="getMonitoringHydList"
resultType="com.sercurityControl.proteam.supplement.domain.vo.MonitoringDetailVo">
SELECT jjcm.id AS id,
@ -120,17 +120,21 @@
<if test="workManager!=null and workManager!=''">
AND INSTR(jjcmi.work_manage,#{workManager}) > 0
</if>
<if test="operType == 1">
AND jjmc.error_type NOT IN ('7')
<if test="type == 4">
<if test="operType == 1">
AND jjmc.error_type NOT IN ('7')
</if>
<if test="operType == 2">
AND jjmc.error_type = '7'
</if>
</if>
<if test="operType == 2">
AND jjmc.error_type = '7'
</if>
<if test="errorType!='' and errorType!=null">
AND jjmc.error_type = #{errorType}
</if>
<if test="errorType==null or errorType == ''">
AND jjmc.error_type NOT IN ('7')
<if test="type == 5">
<if test="errorType!='' and errorType!=null">
AND jjmc.error_type = #{errorType}
</if>
<if test="errorType==null or errorType == ''">
AND jjmc.error_type NOT IN ('7')
</if>
</if>
</where>
<if test="type == 1">