Explorar el Código

Merge branch 'master' of http://git.minpay.cc/dianwang/dianwangAdm

tudc hace 5 años
padre
commit
5e50f70063

+ 4 - 0
src/main/java/com/minpay/common/constant/Constant.java

@@ -376,6 +376,10 @@ public class Constant implements IMINBusinessConstant{
 	public static final String REPORT_TYPE_13 = "DDYYB";
 	
 	/**
+	 * 报表类型  JTFJT 计停非计停日报
+	 */
+	public static final String REPORT_TYPE_14 = "JTFJTRB";
+	/**
 	 * 原始文件状态 0正常
 	 */
 	public static final String FILE_INF_STATE_0 = "0"; 

+ 101 - 0
src/main/java/com/minpay/common/service/impl/ReportServiceImpl.java

@@ -19,6 +19,7 @@ import com.minpay.db.table.mapper.DwDdyFxbMapper;
 import com.minpay.db.table.mapper.DwFileDetail01Mapper;
 import com.minpay.db.table.mapper.DwFileDetail03Mapper;
 import com.minpay.db.table.mapper.DwFileDetail04Mapper;
+import com.minpay.db.table.mapper.DwFileDetail07Mapper;
 import com.minpay.db.table.mapper.DwReportInfMapper;
 import com.minpay.db.table.mapper.PubAppparMapper;
 import com.minpay.db.table.model.DwDdyFxb;
@@ -31,6 +32,8 @@ import com.minpay.db.table.model.DwFileDetail03;
 import com.minpay.db.table.model.DwFileDetail03Example;
 import com.minpay.db.table.model.DwFileDetail04;
 import com.minpay.db.table.model.DwFileDetail04Example;
+import com.minpay.db.table.model.DwFileDetail07;
+import com.minpay.db.table.model.DwFileDetail07Example;
 import com.minpay.db.table.model.DwReportInf;
 import com.minpay.db.table.model.PubApppar;
 import com.minpay.db.table.model.PubAppparExample;
@@ -184,6 +187,8 @@ public class ReportServiceImpl implements IReportService {
 		// 低电压月报
 		} else if (Constant.REPORT_TYPE_13.equals(reportTypeId)) {
 			return reportTypeDDYYB(ddyFxbId);
+		}else if (Constant.REPORT_TYPE_14.equals(reportTypeId)) {
+			return reportTypeJTFJTRB(range,timeRange);
 		}
 		return resMap;
 	}
@@ -3654,4 +3659,100 @@ public class ReportServiceImpl implements IReportService {
 		
 		return resMap;
 	}
+	/**
+	 * 计停非计停日报
+	 * @param range
+	 * @param timeRange
+	 * @return
+	 * @throws MINBusinessException 
+	 * @throws ParseException 
+	 */
+	public Map<String, Object> reportTypeJTFJTRB(String range, String timeRange) throws MINBusinessException, ParseException{
+		IMINDataBaseService db = Service.lookup(IMINDataBaseService.class);
+		Map<String, Object> param = new HashMap<String, Object>();
+		String beginTime = null;
+		String endTime = null;
+		range = range.replaceAll(" ", "");
+		String[] rangeArray = range.split("-");
+		timeRange = timeRange.replaceAll(" ", "");
+		if (CommonUtil.isEmpty(timeRange)) {
+			beginTime = rangeArray[0] + "000000";
+			endTime = rangeArray[1] + "235959";
+		} else {
+			String[] timeRangeArray = timeRange.split("-");
+			beginTime = rangeArray[0] + timeRangeArray[0];
+			endTime = rangeArray[1] + timeRangeArray[1];
+		}
+		param.put("beginTime", beginTime);
+		param.put("endTime", endTime);
+		
+		/** --计停--start--*/
+		//主线
+		DwFileDetail07Example example = new DwFileDetail07Example();
+		example.createCriteria().andTimeBetween(beginTime, endTime).andTypeEqualTo("计停").andTriptypeLike("主线%");
+		List<DwFileDetail07> listZx = db.selectByExample(DwFileDetail07Mapper.class, example);
+		//支线
+		DwFileDetail07Example example1 = new DwFileDetail07Example();
+		example1.createCriteria().andTimeBetween(beginTime, endTime).andTypeEqualTo("计停").andTriptypeLike("支线%");
+		List<DwFileDetail07> listZx1 = db.selectByExample(DwFileDetail07Mapper.class, example1);
+		String descStr ="<P>国网泰安供电公司供电服务指挥中心(配网调控中心)</P><p>工单日报("+beginTime.substring(0, 4)+"年"+beginTime.substring(4, 6)+"月"+beginTime.substring(6, 8)+"日)</p><p>一、当日直供区配网运行情况</p>";
+		descStr = descStr+ "<p>当日配网10kV主线计划停电"+listZx.size()+"项,支线计划停电"+listZx1.size()+"项,启动送电 项。因线路计停造成停电高压用户 户,停电低压用户 户。</p>";
+		descStr = descStr +"<table border=\"1\">";
+		if(listZx.size()>0 || listZx1.size()>0){
+			descStr = descStr +"<tr><th>设备名称</th><th>管理单位</th><th>停电高压用户数</th><th>停电居民用户数</th><th>执行情况</th></tr>";
+		}
+		for(int i=0;i<listZx.size();i++){
+			descStr = descStr+"<tr><td>"+listZx.get(i).getDevice()+"</td><td>"+listZx.get(i).getUnit()+"</td><td></td><td></td><td></td></tr>";	
+		}
+		for(int i=0;i<listZx1.size();i++){
+			descStr = descStr+"<tr><td>"+listZx1.get(i).getDevice()+"</td><td>"+listZx1.get(i).getUnit()+"</td><td></td><td></td><td></td></tr>";	
+		}
+		descStr = descStr +"</table>";
+		//非计停
+		//主线
+		DwFileDetail07Example fjtExample = new DwFileDetail07Example();
+		fjtExample.createCriteria().andTimeBetween(beginTime, endTime).andTypeEqualTo("非计停").andTriptypeLike("主线%");
+		List<DwFileDetail07> listFjtZx = db.selectByExample(DwFileDetail07Mapper.class, fjtExample);
+		//支线
+		DwFileDetail07Example fjtExample1 = new DwFileDetail07Example();
+		fjtExample1.createCriteria().andTimeBetween(beginTime, endTime).andTypeEqualTo("非计停").andTriptypeLike("支线%");
+		List<DwFileDetail07> listFjtZx1 = db.selectByExample(DwFileDetail07Mapper.class, fjtExample1);
+		descStr = descStr +"<p>当日配网10kV主线非计停"+listFjtZx.size()+"项,支线非计停"+listFjtZx1.size()+"项,因线路非计停造成停电高压用户 户,停电低压用户 户。</p>";
+		descStr = descStr +"<table border='1'>";
+		if(listFjtZx.size()>0 || listFjtZx1.size()>0){
+			descStr = descStr +"<tr><th>设备名称</th><th>管理单位</th><th>停电高压用户数</th><th>停电居民用户数</th><th>备注</th></tr>";
+		}
+		for(int i=0;i<listFjtZx.size();i++){
+			descStr = descStr+"<tr><td>"+listFjtZx.get(i).getDevice()+"</td><td>"+listFjtZx.get(i).getUnit()+"</td><td></td><td></td><td></td></tr>";	
+		}
+		for(int i=0;i<listFjtZx1.size();i++){
+			descStr = descStr+"<tr><td>"+listFjtZx1.get(i).getDevice()+"</td><td>"+listFjtZx1.get(i).getUnit()+"</td><td></td><td></td><td></td></tr>";	
+		}
+		descStr = descStr +"</table>";
+		//跳闸
+		//主线
+		DwFileDetail07Example tzExample = new DwFileDetail07Example();
+		tzExample.createCriteria().andTimeBetween(beginTime, endTime).andTypeEqualTo("跳闸").andTriptypeLike("主线%");
+		List<DwFileDetail07> listTzZx = db.selectByExample(DwFileDetail07Mapper.class, tzExample);
+		//支线
+		DwFileDetail07Example tzExample1 = new DwFileDetail07Example();
+		tzExample1.createCriteria().andTimeBetween(beginTime, endTime).andTypeEqualTo("跳闸").andTriptypeLike("支线%");
+		List<DwFileDetail07> listTzZx1 = db.selectByExample(DwFileDetail07Mapper.class, tzExample1);
+		descStr = descStr +"<p>当日配网发生10kV主线跳闸"+listTzZx.size()+"条次,支线跳闸"+listTzZx1.size()+"条次。因线路跳闸无重合闸造成停电高压用户 户,停电低压用户 户。</p>";
+		descStr = descStr +"<table border=\"1\">";
+		if(listTzZx.size()>0 || listTzZx1.size()>0){
+			descStr = descStr +"<tr><th>设备名称</th><th>管理单位</th><th>故障原因</th><th>重合情况</th><th>停电高压用户数</th><th>停电居民用户数</th></tr>";
+		}
+		for(int i=0;i<listTzZx.size();i++){
+			descStr = descStr+"<tr><td>"+listTzZx.get(i).getDevice()+"</td><td>"+listTzZx.get(i).getUnit()+"</td><td>"+listTzZx.get(i).getCause()+"</td><td>"+listTzZx.get(i).getChzdzqk()+"</td><td></td><td></td></tr>";	
+		}
+		for(int i=0;i<listTzZx1.size();i++){
+			descStr = descStr+"<tr><td>"+listTzZx1.get(i).getDevice()+"</td><td>"+listTzZx1.get(i).getUnit()+"</td><td>"+listTzZx1.get(i).getCause()+"</td><td>"+listTzZx1.get(i).getChzdzqk()+"</td><td></td><td></td></tr>";	
+		}
+		descStr = descStr +"</table>";
+		Map<String, Object> resMap = new HashMap<String, Object>();
+//		resMap.put("dataMap", dataMap);
+		resMap.put("descStr", descStr);
+		return resMap; 
+	}
 }

+ 126 - 0
src/main/webapp/admin/jtfjt/reportManageDetailJtfjt.html

@@ -0,0 +1,126 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <title>报告详情</title>
+    <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);
+				
+				/* // 周报下的excel
+				var excelList = resJSON.excelList;
+				if (!isEmpty(excelList)) {
+					var tableHtml = '<table class="layui-table">';
+					for (var i = 0; i < excelList.length; i ++) {
+						tableHtml += '<tr>';
+						var childList = excelList[i];
+						for (var j = 0; j < childList.length; j ++) {
+							tableHtml += '<td>' + childList[j] + '</td>';
+						}
+						tableHtml += '</tr>';
+					}
+					tableHtml += '</table>';
+					$("#reportDiv").append(tableHtml);
+				} */
+				if (reportType != "TQTDYB") {
+					$("#reportFujian").hide();
+				}
+			},
+			error : function(data2) {
+				$.ErrorAlert(data2.MINErrorMessage);
+			}
+	  	});
+	
+	function reportTable(excelList, typeId, isEdit) {
+		var html = '';
+		for (var i = 0; i < excelList.length; i ++) {
+			html += '<tr>';
+			var excelChildList = excelList[i];
+			for (var j = 0; j < excelChildList.length; j ++) {
+				// 合计列增加穿透
+				if ((j == excelChildList.length - 1)) {
+					// 台区停电次数
+					if (i == 2) {
+						html += '<td style="cursor: pointer" onclick="tqtd0()">' + excelChildList[j] + '</td>';
+					// 2个月停电3次及以上台区
+					} else if (i == 5) {
+						html += '<td style="cursor: pointer" onclick="tqtd1()">' + excelChildList[j] + '</td>';
+					// 2个月停电3次及以上台区且昨日停电
+					} else if (i == 6) {
+						html += '<td style="cursor: pointer" onclick="tqtd2()">' + excelChildList[j] + '</td>';
+					} else if (i == 7) {
+						html += '<td style="cursor: pointer" onclick="tqtd3()">' + excelChildList[j] + '</td>';
+					} else {
+						html += '<td>' + excelChildList[j] + '</td>';
+					}
+				} else {
+					html += '<td>' + excelChildList[j] + '</td>';
+				}
+			}
+			html += '</tr>';
+		}
+		$("#reportTable").html(html);
+	}
+	
+	// 台区次数穿透
+	function tqtd0(){
+		var openPageId = pageId + "-01";
+		openMainTabPage(openPageId, "详情", "tqtd/reportManageDetailChuantou.html?pageId="+openPageId+"&reportId="+reportId+"&chuantouType=TQTD01", '', pageId, null);
+	}
+	// 2个月停电3次及以上台区穿透
+	function tqtd1(){
+		var openPageId = pageId + "-02";
+		openMainTabPage(openPageId, "详情", "tqtd/reportManageDetailChuantou.html?pageId="+openPageId+"&reportId="+reportId+"&chuantouType=TQTD02", '', pageId, null);
+	}
+	// month个月停电count次及以上台区且昨日停电穿透
+	function tqtd2(){
+		var openPageId = pageId + "-03";
+		openMainTabPage(openPageId, "详情", "tqtd/reportManageDetailChuantou.html?pageId="+openPageId+"&reportId="+reportId+"&chuantouType=TQTD03", '', pageId, null);
+	}
+	// 2个月停电1次及以上台区且昨日停电穿透
+	function tqtd3(){
+		var openPageId = pageId + "-04";
+		openMainTabPage(openPageId, "详情", "tqtd/reportManageDetailChuantou.html?pageId="+openPageId+"&reportId="+reportId+"&chuantouType=TQTD04", '', pageId, null);
+	}
+	
+	function downLoadFujian() {
+		var data = {reportId : reportId};
+		exportExcel("../../TQTDReportAction/reportInfFujian",data);
+	}
+    </script>
+</body>
+
+</html>

+ 1 - 1
src/main/webapp/admin/jtfjt/reportManageJtfjt.html

@@ -161,7 +161,7 @@
       
       function showDetail(data){
     	  var openPageId = pageId + "-02";
-    	  openMainTabPage(openPageId, "详情查看", "tqtd/reportManageDetailTqtd.html?pageId="+openPageId+"&reportId="+data.id+"&type="+data.type+"&typeId="+data.typeId+"&fileName="+chineseUrlEncode(data.fileName)+"&reportType="+reportType, '', pageId, null);
+    	  openMainTabPage(openPageId, "详情查看", "jtfjt/reportManageDetailJtfjt.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";

+ 78 - 0
src/main/webapp/admin/jtfjt/reportManageUpdateJtfjt.html

@@ -0,0 +1,78 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <title>报告详情</title>
+    <script src="../../js/min-loader-next.js"></script>
+    <script src="../../js/report.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" contenteditable = "true"></p>
+    	<table id="reportTable" class="layui-table"></table>
+	</div>
+	<div class="layui-form-item box-button" style="margin-top:50px">
+          <div class="layui-input-block">
+				<button class="layui-btn" onclick = "saveReport()">保存</button>
+          </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 cols = null;
+	
+	// excel
+	if ("00" == type) {
+		$("#reportTitle").html(fileName);
+		$.request({
+			action : 'ReportManageAction/reportInfDetail',
+			data : {
+				reportId : reportId
+			},
+			success : function(data) {
+				var reportDataJsonStr = data.data.data;
+				var excelList = eval('(' + reportDataJsonStr + ')');
+				reportTable(excelList, typeId, true);
+			},
+			error : function(data2) {
+				$.ErrorAlert(data2.MINErrorMessage);
+			}
+	  	});
+	// word
+	} else {
+		
+	}
+
+	function saveReport() {
+		// excel
+		if ("00" == type) {
+			var excelList = getTableToArray("reportTable");
+			$.request({
+				action : 'ReportManageAction/reportInfUpdate',
+				data : {
+					reportId : reportId,
+					excelList : JSON.stringify(excelList),
+					reportName : $("#reportTitle").html()
+				},
+				success : function(data) {
+					$.SuccAlert("保存成功!");
+					setTimeout(function(){
+						deleteTabPageParent(pageId); 
+					}, 1500)
+				},
+				error : function(data2) {
+					$.ErrorAlert(data2.MINErrorMessage);
+				}
+		  	});
+		}
+	}
+    </script>
+</body>
+
+</html>

+ 15 - 9
src/main/webapp/admin/jtfjt/reportProduceJtfjt.html

@@ -61,7 +61,6 @@
 		  	<input type="text" style = "display : inline-block" class="layui-input" id="dayRange" placeholder="请选择报表日期">
 		  	<input type="text" style = "display : inline-block" class="layui-input" id="dateRange" placeholder="请选择报表日期范围">
 		  	<input type="text" style = "display : inline-block" class="layui-input" id="timeRange" placeholder="请选择报表时间段">
-		  	<p name = "TQTDRB" style = "display : none;"><a id = "monthNum" style = "font-size: 18px; color: red;" onclick = "changeHtml(this)">2</a>个月内停电<a id = "countNum" style = "font-size: 18px; color: red;" onclick = "changeHtml(this)">3</a>次以上的台区数量</p>
 		</div>
 		<div style="margin-top : 50px;">
 	      <button type="button" class="layui-btn" style = "width : 214px" onclick = "tableYulan()">下一步</button>
@@ -336,7 +335,7 @@
 			var countNum = $("#countNum").html();
 			// 查询符合条件的明细数据,生成预览数据
 			$.request({
-				action : 'ReportManageAction/reportNeedDataDetail',
+				action : 'JtfjtReportAction/reportNeedDataDetail',
 				data : {
 					range : range,
 					timeRange : timeRange,
@@ -348,11 +347,18 @@
 					if (data.code == 0) {
 						// 日报
 						if (timeType == '00') {
-							resJsonStr = data.data.resList;
-							$("#reportDiv").hide();
-							$("#reportTable").show();
-							$("#gongjubiao").show();
-							initExcelData(resJsonStr, "reportTable", false);
+							$("#reportTable").hide();
+							$("#gongjubiao").hide();
+							$("#reportDiv").show();
+							resJsonStr = data.data;
+							var descStr = data.data.descStr;
+							console.log(dataMap);
+							console.log(descStr);
+							$("#reportDiv").html(descStr);
+							
+							/* var tableHtml = '<table class="layui-table">';
+							tableHtml += '</table>';
+							$("#reportDiv").append(tableHtml); */
 							goStep(3);
 						// 月报 或 周报
 						} else if (timeType == '02' || timeType == '01') {
@@ -364,7 +370,7 @@
 							var descStr = data.data.descStr;
 							console.log(dataMap);
 							console.log(descStr);
-							for(var key in dataMap){
+							/* for(var key in dataMap){
 								var replaceStr = "${" + key + "}";
 								if (key == "totalCountTwice") {
 									descStr = descStr.replace(/\${totalCountTwice}/g, dataMap[key]);
@@ -372,7 +378,7 @@
 									descStr = descStr.replace(replaceStr, dataMap[key]);
 								}
 								
-							}
+							} */
 							
 							$("#reportDiv").html(descStr);