Przeglądaj źródła

Merge remote-tracking branch 'origin/master'

郎学彬 4 lat temu
rodzic
commit
3f55ad679e

+ 7 - 0
src/main/java/com/minpay/db/table/own/mapper/IReportBatchMapper.java

@@ -34,4 +34,11 @@ public interface IReportBatchMapper  extends IMINMybatisMapper {
      * @return
      */
     List<Map<String, String>> selectPbgzzData(Map<String, Object> map);
+
+    /**
+     * 查询报表信息
+     * @param param
+     * @return
+     */
+    List<Map<String, String>> selectReportInfo(Map<String, Object> param);
 }

+ 39 - 12
src/main/java/com/minpay/reportManage/action/XlgzzReportAction.java

@@ -9,6 +9,7 @@ import com.minpay.db.table.mapper.DwReportDataMapper;
 import com.minpay.db.table.mapper.DwReportInfMapper;
 import com.minpay.db.table.model.DwReportData;
 import com.minpay.db.table.model.DwReportInf;
+import com.minpay.db.table.own.mapper.IReportBatchMapper;
 import com.minpay.db.table.own.mapper.ReportManageMapper;
 import com.minpay.db.table.own.mapper.SequenceMapper;
 import com.startup.minpay.frame.business.IMINAction;
@@ -45,6 +46,7 @@ public class XlgzzReportAction implements IMINAction {
 
     /** 根据不同的报表类型查询对应时间范围类的所需数据 */
     public final static String REPORT_NEED_DATA_DETAIL = "reportNeedDataDetail";
+    public final static String REPORT_NEED_DATA_DETAIL2 = "reportNeedDataDetail2";
 
 
     /** 生成报表 */
@@ -125,22 +127,22 @@ public class XlgzzReportAction implements IMINAction {
 
         String reportType = reportInf.split("_")[1];
         String reportTypeId = reportInf.split("_")[0];
-        // 生成报表数据表
-        DwReportData reportDataInf = new DwReportData();
-        reportDataInf.setId(reportId);
-        reportDataInf.setData(reportData);
-        reportDataInf.setType(reportType);
-        db.insertSelective(DwReportDataMapper.class, reportDataInf);
+        // 生成报表数据表,实时计算
+//        DwReportData reportDataInf = new DwReportData();
+//        reportDataInf.setId(reportId);//
+//        reportDataInf.setData(reportData);
+//        reportDataInf.setType(reportType);
+//        db.insertSelective(DwReportDataMapper.class, reportDataInf);
 
         User user = session.getUser();
         // 生成报告表
         DwReportInf report = new DwReportInf();
-        report.setId(reportId);
-        report.setUploadDate(DateUtil.getCurrentDateString());
-        report.setFileName(fileName);
-        report.setCreatUser(user.getId());
-        report.setBranch(user.getBranchid());
-        report.setType(reportTypeId);
+        report.setId(reportId);//报表ID
+        report.setUploadDate(DateUtil.getCurrentDateString());//更新时间
+        report.setFileName(fileName);//文件名
+        report.setCreatUser(user.getId());//当前登录用户ID
+        report.setBranch(user.getBranchid());//所属结构(班组)
+        report.setType(reportTypeId);//dw_branch_report_type.DBRT_ID
         report.setZdttyCompareId(firstFileId + "-" + secondFileId);
         report.setTqtdMonth(monthNum);	// 台区停电【month个月内停电count次及以上台区】的month
         report.setTqtdCount(countNum);	// 台区停电【month个月内停电count次及以上台区】的count
@@ -148,6 +150,7 @@ public class XlgzzReportAction implements IMINAction {
 
         report.setDayInterval(range.replaceAll(" ", ""));		// 日期时间段
         report.setTimeInterval(timeRange.replaceAll(" ", ""));	// 时分秒时间段
+
         report.setYearInterval(yearChoose.replaceAll(" ", ""));
         report.setMonthInterval(monthChoose.replaceAll(" ", ""));
         db.insertSelective(DwReportInfMapper.class, report);
@@ -191,4 +194,28 @@ public class XlgzzReportAction implements IMINAction {
         res.set(IMINBusinessConstant.F_PAGING_LAY, resMap);
         return res;
     }
+
+    @MINAction(value = REPORT_NEED_DATA_DETAIL2)
+    public MINActionResult reportNeedDataDetail2(
+            @MINParam(key = "reportId") String reportId
+    ) throws MINBusinessException, ParseException, NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, InvalidFormatException, IOException {
+        MINActionResult res = new MINActionResult();
+        db = Service.lookup(IMINDataBaseService.class);
+
+        // 报表类型id
+        Map<String, Object> param = new HashMap<String, Object>();
+        param.put("reportId", reportId);
+        param.put("reportTypeId","XLGZZRB");
+
+        List<Map<String,String>> list = db.getMybatisMapper(IReportBatchMapper.class).selectReportInfo(param);
+        String range = "";
+        String timeRange = "";
+        if(list != null && !list.isEmpty()){
+            param.put("range",list.get(0).get("DAYINTERVAL")) ;
+            param.put("timeRange",list.get(0).get("TIMEINTERVAL"));
+        }
+        Map<String, Object> resMap = Service.lookup(IReportService.class).reportNeedDetail(param);
+        res.set(IMINBusinessConstant.F_PAGING_LAY, resMap);
+        return res;
+    }
 }

+ 26 - 0
src/main/resources/com/minpay/db/table/own/mapper/ReportBatchMapper.xml

@@ -106,6 +106,7 @@
                 AND DFD10_FZL &gt; 100
             </otherwise>
         </choose>
+        AND DFD10_STATE = '0'
         ORDER BY
             DFD10_XGSMC,
             DFD10_BZMC,
@@ -130,7 +131,32 @@
             DW_FILE_DETAIL_09
             WHERE 1 = 1
             AND DFD9_ZDFZLFSSK BETWEEN #{start} AND #{end}
+            AND DFD9_STATE = '0'
 
             ORDER BY   DFD9_UNIT,DFD9_BZMC,DFD9_GBMC
     </select>
+
+    <!--配变重过载查询-->
+    <select id="selectReportInfo" resultType="map" parameterType="map">
+        SELECT
+            A.DRI_ID ID,
+            A.DRI_UPLOAD_DATE UPLOADDATE,
+            A.DRI_FILE_NAME FILENAME,
+            A.DRI_CREAT_USER CREATUSER,
+            A.DRI_BRANCH BRANCH,
+            A.DRI_TYPE TYPEID,
+            A.DRI_STATE STATE,
+            A.DRI_DAY_INTERVAL DAYINTERVAL,
+            A.DRI_TIME_INTERVAL TIMEINTERVAL,
+            B.DBRT_TYPE TYPE
+        FROM
+            DW_REPORT_INF A,
+            DW_BRANCH_REPORT_TYPE B
+        WHERE
+            A.DRI_STATE = '0'
+            AND A.DRI_TYPE = B.DBRT_ID
+            AND B.DBRT_TIME_TYPE = '00'
+            AND B.DBRT_ID = #{reportTypeId}
+            AND DRI_ID = #{reportId}
+    </select>
 </mapper>

+ 169 - 41
src/main/webapp/admin/xlgzz/reportManageDetailXlgzz.html

@@ -7,50 +7,178 @@
     <script src="../../js/min-loader-next.js"></script>
 </head>
 <body class="content">
-	<div class="shadow-content" style="margin:1.5rem; text-align: center;">
-		<p id = "reportTitle" style="margin:15px; font-size : 20px"></p>
-    	<table id="reportTable" class="layui-table"></table>
-    	<div id = "reportDiv" style = "margin : 20px; text-align : left;"></div>
-    	<div id = "reportFujian" style = "margin : 20px; text-align : right;">
-    		<a style = "color : red;" onclick = "downLoadFujian()">附件下载</a>
-    	</div>
-	</div>
-    <script>
-	var pageId = getQueryString("pageId");
-	var reportId = getQueryString("reportId");		//报告id
-	var fileName = chineseUrlDecodeURI(getQueryString("fileName"));	//报告名称
-	
-	var type = getQueryString("type");				//报告类型00:excel 01:word
-	var typeId = getQueryString("typeId");			//报告类型id
-	var reportType = getQueryString("reportType");	//报告类型
-	
-	var cols = null;
-	
-	// word
-		$("#reportTable").hide();
-		$("#reportTitle").html(fileName);
-		$.request({
-			action : 'JtfjtReportAction/reportInfDetail',
-			data : {
-				reportId : reportId
-			},
-			success : function(data) {
-				var resJSON = eval('(' + data.data.data + ')');
-				var reportDesc = resJSON.descStr;
-				
-				$("#reportDiv").html(reportDesc);
+    <div style = "width: 100%; margin-left : 0px;" class = "layui-upload-drag" >
+        <p id = "fileName" contenteditable="true">国网泰安供电公司2020年8月份配网运行分析月报</p>
+        <div class="layui-tab" lay-filter="demo"  style="min-height: 400px;">
+            <ul class="layui-tab-title">
+                <li class="layui-this" lay-id="11">线路重载明细</li>
+                <li lay-id="11x">线路过载明细</li>
+                <li lay-id="22">公变重载明细</li>
+                <li lay-id="22">公变过载明细</li>
+                <li lay-id="33">抢修类工单报表</li>
+            </ul>
+            <div class="layui-tab-content">
+                <!--线路重载-->
+                <div class="layui-tab-item layui-show">
+                    <p id ="desc1" class="desc_label"></p>
+                    <br>
+                    <p id ="desc11" class="desc_label"></p>
+                    <br>
+                    <p class="desc_label" style="color: #ff0000;">注:线路负载率持续1小时在70%-100%为重载,持续1小时在100%以上为过载。</p>
+                    <br>
+                    <table id="demo1" lay-filter="test"></table>
+                </div>
+                <!--线路过载-->
+                <div class="layui-tab-item">
+                    <table id="demo1x" lay-filter="test"></table>
+                </div>
+                <!--配变重载-->
+                <div class="layui-tab-item">
+                    <p id ="desc2"  class="desc_label"></p>
+                    <br>
+                    <p id ="desc22" class="desc_label"></p>
+                    <br>
+                    <p  class="desc_label"  style="color: #ff0000;">注:配变负载率连续2小时在80%-100%之间为重载,连续2小时在100%以上为过载。</p>
+                    <br>
+                    <table id="demo2" lay-filter="test"></table>
+                </div>
+                <!--配变过载-->
+                <div class="layui-tab-item">
 
-				if (reportType != "TQTDYB") {
-					$("#reportFujian").hide();
-				}
-			},
-			error : function(data2) {
-				$.ErrorAlert(data2.MINErrorMessage);
-			}
-	  	});
-	
+                    <table id="demo2x" lay-filter="test"></table>
+                </div>
+                <div class="layui-tab-item">
+                    <p  id ="desc3"  class="desc_label"></p>
+                    <br>
+                    <p  class="desc_label"  style="color: #ff0000;">注:台区停电数据来源于供服系统</p>
+                    <br>
+                    <table id="demo3" lay-filter="test"></table>
+                </div>
 
+            </div>
+        </div>
+    </div>
+    <script>
+        var pageId = getQueryString("pageId");
+        var reportId = getQueryString("reportId");		//报告id---100000150
+        var fileName = chineseUrlDecodeURI(getQueryString("fileName"));	//报告名称
+        var type = getQueryString("type");				//报告类型00:excel 01:word
+        var typeId = getQueryString("typeId");			//报告类型id XLGZZRB
+        var reportType = getQueryString("reportType");	//报告类型 XLGZZRB
+        var $element;
+        var $table;
+        $("#fileName").text(fileName);
+        layui.use(['element','table'], function(){
+            $element= layui.element;
+            $table = layui.table;
+        });
+        tableYulan();
+        // 预览
+        function tableYulan() {
+            // 查询符合条件的明细数据,生成预览数据
+            $.request({
+                action : 'XlgzzReportAction/reportNeedDataDetail2',
+                data : {
+                    reportId : reportId
+                },
+                success : function(data) {
+                    if (data.code == 0) {//查询结果集成功
+                            // $element.tabDelete('demo', '22');
+                            //渲染表格
+                            $table.render({
+                                elem: '#demo1'
+                                ,limit:100
+                                ,cols: [[ //表头
+                                    {field: 'DFD10_XGSMC', title: '单位', width:120}
+                                    ,{field: 'DFD10_BZMC', title: '供电所', width:120}
+                                    ,{field: 'DFD10_XLMC', title: '线路名称', width:120}
+                                    ,{field: 'sum', title: '重载时长(h)', width:120}
+                                    ,{field: 'avg', title: '平均负载率(%)', width: 120}
+                                ]],
+                                data:data.data.resList.result
+                            });
+                            $table.render({
+                                elem: '#demo1x'
+                                ,limit:100
+                                ,cols: [[ //表头
+                                    {field: 'DFD10_XGSMC', title: '单位', width:120}
+                                    ,{field: 'DFD10_BZMC', title: '供电所', width:120}
+                                    ,{field: 'DFD10_XLMC', title: '线路名称', width:120}
+                                    ,{field: 'sum', title: '过载时长(h)', width:120}
+                                    ,{field: 'avg', title: '平均负载率(%)', width: 120}
+                                ]],
+                                data:data.data.resList.result2
+                            });
+                            $table.render({
+                                elem: '#demo2'
+                                ,limit:100
+                                ,cols: [[ //表头
+                                    {field: 'DFD9_UNIT', title: '单位', width:120}
+                                    ,{field: 'DFD9_BZMC', title: '供电所', width:120}
+                                    ,{field: 'DFD9_GBMC', title: '公变名称', width:120}
+                                    ,{field: 'DFD9_ZZSC', title: '重载时长(h)', width:120}
+                                    ,{field: 'avg', title: '平均负载率(%)', width: 120}
+                                    ,{field: 'DFD9_JTYY', title: '原因', width: 120}
+                                    ,{field: 'DFD9_JTJJCS', title: '解决措施', width: 120}
+                                ]],
+                                data:data.data.resList.result4
+                            });
+                            $table.render({
+                                elem: '#demo2x'
+                                ,limit:100
+                                ,cols: [[ //表头
+                                    {field: 'DFD9_UNIT', title: '单位', width:120}
+                                    ,{field: 'DFD9_BZMC', title: '供电所', width:120}
+                                    ,{field: 'DFD9_GBMC', title: '公变名称', width:120}
+                                    ,{field: 'DFD9_GZSC', title: '过载时长(h)', width:120}
+                                    ,{field: 'avg', title: '平均负载率(%)', width: 120}
+                                    ,{field: 'DFD9_JTYY', title: '原因', width: 120}
+                                    ,{field: 'DFD9_JTJJCS', title: '解决措施', width: 120}
+                                ]],
+                                data:data.data.resList.result3
+                            });
+                            //描述
+                            $("#desc1").html("&nbsp;&nbsp;&nbsp;"+data.data.resList.descStr[0]);
+                            $("#desc11").html("&nbsp;&nbsp;&nbsp;"+data.data.resList.descStr[1]);
+                            $("#desc2").html("&nbsp;&nbsp;&nbsp;"+data.data.resList.descStr2[0]);
+                            $("#desc22").html("&nbsp;&nbsp;&nbsp;"+data.data.resList.descStr2[1]);
 
+                        $table.render({
+                            elem: '#demo3'
+                            ,limit:100
+                            ,cols: [[ //表头
+                                {field: '1', title: '单位\\分类', width:150,rowspan:2}
+                                ,{field: '2', title: '客户总量(户)', width:150,rowspan:2}
+                                ,{field: '3', title: '平均到达现场时间(分)', width:150,rowspan:2}
+                                ,{field: '4', title: '工单处理平均时长(分)', width:150,rowspan:2}
+                                ,{field: '5', title: '到达现场超时数', width:150,rowspan:2}
+                                ,{field: '6', title: '工单时长超70分钟数', width:150,rowspan:2}
+                                ,{field: '', title: '故障类型',colspan:4}
+                                ,{field: '8', title: '疑似虚假回单', width:150,rowspan:2}
+                                ,{field: '9', title: '工单总数', width:150,rowspan:2}
+                                ,{field: '10', title: '万户报修率', width:150,rowspan:2}
+                            ],
+                                [
+                                    {field: '11', title: '客户内部故障', width:150}
+                                    ,{field: '12', title: '低压故障', width:150}
+                                    ,{field: '13', title: '非电力故障', width:150}
+                                    ,{field: '14', title: '电能质量等故障', width:150}
+                                ]],
+                            data:[],
+                            done:function(res, curr, count){
+                                count || this.elem.next('.layui-table-view').find('.layui-table-header').css('display', 'inline-block');
+                                count || this.elem.next('.layui-table-view').find('.layui-table-box').css('overflow-x', 'auto');
+                            }
+                        });
+                    } else {
+                        $.ErrorAlert(res.MINErrorMessage);
+                    }
+                },
+                error : function(data2) {
+                    $.ErrorAlert(data2.MINErrorMessage);
+                }
+            });
+        }
     </script>
 </body>
 

+ 9 - 5
src/main/webapp/admin/xlgzz/reportManageXlgzz.html

@@ -55,7 +55,7 @@
 				"<i class='iconfont up iconSelect_drop-down'/></i>");
 			$("#content").slideToggle();
 		});
-		var pageId = "270000";
+		var pageId = "290000";//线路重过载日报
 		// 报表类型
 		var reportType = getQueryString("reportType")
 
@@ -102,8 +102,7 @@
 				//注:tool是工具条事件名,tableFilter是table原始容器的属性 lay-filter="对应的值"
 				var data = obj.data; //获得当前行数据
 				var layEvent = obj.event; //获得 lay-event 对应的值(也可以是表头的 event 参数对应的值)
-				var tr = obj.tr; //获得当前行 tr 的DOM对象
-				if (layEvent === 'detail'){ //查看
+				if (layEvent === 'detail'){ //查看算法
 					showDetail(data);
 				} else if(layEvent === 'downLoad'){
 					window.open("../../ReportManageAction/reportDownLoad?reportId=" + data.id);
@@ -162,11 +161,16 @@
 
 		  function showDetail(data){
 			  var openPageId = pageId + "-02";
-			  openMainTabPage(openPageId, "详情查看", "xlgzz/reportManageDetailXlgzz.html?pageId="+openPageId+"&reportId="+data.id+"&type="+data.type+"&typeId="+data.typeId+"&fileName="+chineseUrlEncode(data.fileName)+"&reportType="+reportType, '', pageId, null);
+			  openMainTabPage(openPageId, "详情查看",
+					  "xlgzz/reportManageDetailXlgzz.html?pageId="+openPageId+"&reportId="
+					  +data.id+"&type="+data.type+"&typeId="+data.typeId
+					  +"&fileName="+chineseUrlEncode(data.fileName)+"&reportType="+reportType, '', pageId, null);
 		  }
 		  function editReport(data){
 			  var openPageId = pageId + "-03";
-			  openMainTabPage(openPageId, "编辑", "tqtd/reportManageUpdateTqtd.html?pageId="+openPageId+"&reportId="+data.id+"&type="+data.type+"&typeId="+data.typeId+"&fileName="+chineseUrlEncode(data.fileName)+"&reportType="+reportType, '', pageId, reloadSearch);
+			  openMainTabPage(openPageId, "编辑", "xlgzz/reportManageDetailXlgzz.html?pageId="+openPageId+"&reportId="
+					  +data.id+"&type="+data.type+"&typeId="+data.typeId
+					  +"&fileName="+chineseUrlEncode(data.fileName)+"&reportType="+reportType, '', pageId, reloadSearch);
 		  }
 		  function algorithmDetail(data){
 			var openPageId = pageId + "-04";

+ 10 - 11
src/main/webapp/admin/xlgzz/reportProduceXlgzz.html

@@ -292,27 +292,26 @@
 					return;
 				}
 			}
-			
 			if (step == 4) {//完成
 				var fileName = $("#fileName").html();
 				var range = null;
-				if (timeType == '00') {
+				if (timeType == '00') {//日报
 					range = dayRange + "-" + dayRange;
-				} else {
+				} else {//周报
 					range = dateRange;
 				}
 				var monthNum = $("#monthNum").html();
 				var countNum = $("#countNum").html();
 				$.request({
-					action : 'ReportManageAction/fileInfReportSubmit',
+					action : 'XlgzzReportAction/fileInfReportSubmit',
 					data : {
-						reportData : JSON.stringify(resJsonStr),
-						reportInf : reportInf,
-						fileName : fileName,
-						range : range,
-						timeRange : timeRange,
-						monthNum : monthNum,
-						countNum : countNum
+						range : range,//日报时间
+						timeRange : timeRange,//日报时间
+						reportInf : reportInf,//报表名称
+						monthNum : monthNum,//无用
+						countNum : countNum,//无用
+						timeType: timeType,//报告类型
+						fileName:$("#fileName").text()
 					},
 					success : function(data) {
 						if (data.code == 0) {