Browse Source

增加上传

tudc 5 năm trước cách đây
mục cha
commit
ebcd743e60

+ 56 - 16
src/main/java/com/minpay/reportManage/action/ReportManageAction.java

@@ -11,6 +11,7 @@ import java.util.Map;
 
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.commons.fileupload.FileItem;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
 
@@ -21,6 +22,7 @@ import com.minpay.common.service.IDianwangService;
 import com.minpay.common.service.IReportService;
 import com.minpay.common.util.CommonUtil;
 import com.minpay.common.util.DateUtil;
+import com.minpay.common.util.FilesUtil;
 import com.minpay.db.table.mapper.DwBranchReportTypeMapper;
 import com.minpay.db.table.mapper.DwDdyFxbDetailMapper;
 import com.minpay.db.table.mapper.DwDdyFxbMapper;
@@ -100,6 +102,9 @@ public class ReportManageAction implements IMINAction {
     /** 低电压分析表下载*/
     public final static String DDY_REPORT_INF_DOWNLOAD = "ddyReportInfDownload";
     
+    /** 低电压分析表上传*/
+    public final static String DDY_REPORT_INF_UPLOAD = "ddyReportInfUpload";
+    
     /**
      * 报表查询 
      * @param page
@@ -778,23 +783,24 @@ public class ReportManageAction implements IMINAction {
 			String beginTime = reportInf.getDayInterval().split("-")[0];
 	    	String endTime = reportInf.getDayInterval().split("-")[1];
 	    	int dayNum = DateUtil.diffDate(beginTime, endTime);
-	    	String[] excelHeader = new String[dayNum + 15];
-	    	excelHeader[0] = "县公司名称#xgsmc";
-	    	excelHeader[1] = "用户管理单位名称#yhgldwmc";
-	    	excelHeader[2] = "线路名称#xlmc";
-	    	excelHeader[3] = "台区ID#tqid";
-	    	excelHeader[4] = "变压器名称#byqmc";
-	    	excelHeader[5] = "用户编号#yhbh";
-	    	excelHeader[6] = "低电压时长#ddysj";
-	    	excelHeader[7] = "累计天数#ljts";
-	    	excelHeader[8] = "低电压主要原因#ddyzymc";
-	    	excelHeader[9] = "具体原因#jtyy";
-	    	excelHeader[10] = "治理措施#zlcs";
-	    	excelHeader[11] = "是否治理#sfzl";
-	    	excelHeader[12] = "治理完成时间#zlwcsj";
-	    	excelHeader[13] = "是否消除#sfxc";
+	    	String[] excelHeader = new String[dayNum + 16];
+	    	excelHeader[0] = "系统编号#id";
+	    	excelHeader[1] = "县公司名称#xgsmc";
+	    	excelHeader[2] = "用户管理单位名称#yhgldwmc";
+	    	excelHeader[3] = "线路名称#xlmc";
+	    	excelHeader[4] = "台区ID#tqid";
+	    	excelHeader[5] = "变压器名称#byqmc";
+	    	excelHeader[6] = "用户编号#yhbh";
+	    	excelHeader[7] = "低电压时长#ddysj";
+	    	excelHeader[8] = "累计天数#ljts";
+	    	excelHeader[9] = "低电压主要原因#ddyzymc";
+	    	excelHeader[10] = "具体原因#jtyy";
+	    	excelHeader[11] = "治理措施#zlcs";
+	    	excelHeader[12] = "是否治理#sfzl";
+	    	excelHeader[13] = "治理完成时间#zlwcsj";
+	    	excelHeader[14] = "是否消除#sfxc";
 	    	
-	    	int index = 14;
+	    	int index = 15;
 	    	while (CommonUtil.compare(endTime, beginTime) != -1) {
 	    		excelHeader[index] = endTime + "#" + endTime;
 	    		index ++;
@@ -813,4 +819,38 @@ public class ReportManageAction implements IMINAction {
     	
     	return response;
     }
+    
+    @MINAction(value = DDY_REPORT_INF_UPLOAD)
+    public MINActionResult ddyReportInfUpload(
+    		MINHttpServletRequestContext request,
+    		@MINParam(key = "id") String id,
+    		MINSession session
+    		) throws MINBusinessException, InvalidFormatException, IOException {
+    	MINActionResult res = new MINActionResult();
+    	db = Service.lookup(IMINDataBaseService.class);
+    	// 获取文件
+		FileItem fileItem = request.getFile("file");
+		String fileName = fileItem.getName();
+		if (!fileName.endsWith(".xlsx") && !fileName.endsWith(".xls")) {
+			throw new MINBusinessException("文件格式错误!");
+		}
+		// 获取表格信息
+		String[] titleKey = new String[]{"NO","ID","XGSMC","YHGLDWMC", "XLMC","TQID","BYQMC","YHBH","DDYSJ","LJTS","DDYZYMC","JTYY","ZLCS","SFZL","ZLWCSJ","SFXC"};
+		List<Map<String,String>> list = FilesUtil.readExecleasy(fileItem, titleKey, 1);
+		
+		for (int i = 0; i < list.size(); i ++) {
+			Map<String, String> map = list.get(i);
+			DwDdyFxb ddyFxb = new DwDdyFxb();
+			ddyFxb.setId(map.get("ID"));
+			ddyFxb.setDdyzymc(map.get("DDYZYMC"));
+			ddyFxb.setJtyy(map.get("JTYY"));
+			ddyFxb.setZlcs(map.get("ZLCS"));
+			ddyFxb.setSfzl(map.get("SFZL"));
+			ddyFxb.setZlwcsj(map.get("ZLWCSJ"));
+			ddyFxb.setSfxc(map.get("SFXC"));
+			db.updateByPrimaryKeySelective(DwDdyFxbMapper.class, ddyFxb);
+		}
+		
+		return res;
+    }
 }

+ 26 - 2
src/main/webapp/admin/ddy/reportManageDdy.html

@@ -38,10 +38,11 @@
 	<div class="shadow-content" style="margin:1.5rem;">
     	<table id="tableTest" lay-filter="tableFilter"></table>
 	</div>
+	<input type = "hidden" id = "uploadInp">
 	<script type="text/html" id="barDemo">
 		<a class="layui-btn layui-btn-xs" lay-event="detail">详情查看</a>
-		<!--<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>-->
      	<a class="layui-btn layui-btn-xs" lay-event="downLoad">下载</a>
+     	<a class="layui-btn layui-btn-xs" lay-event="upload"><i class="layui-icon">&#xe681;</i>上传</a>
 		<a class="layui-btn layui-btn-xs" lay-event="delete">删除</a>
    	</script>
 	<script type="text/html" id="algorithmBar">
@@ -59,9 +60,10 @@
 	
 	var timeType = getQueryString("timeType");// 00日报01周报02月报
 	
+	var dataId = null;
      var table;
      var form;
-     layui.use(['table','laydate','form'], function(){
+     layui.use(['table','laydate','form','upload'], function(){
     	  var laydate = layui.laydate;
     	  laydate.render({ 
     		  elem: '#date'
@@ -104,6 +106,10 @@
 		    	showDetail(data);
 		    } else if(layEvent === 'downLoad'){
 		    	window.open("../../ReportManageAction/ddyReportInfDownload?reportId=" + data.id);
+		    } else if(layEvent === 'upload'){
+		    	console.log(obj);
+		    	dataId = obj.id;
+		    	$("#uploadInp").click();
 		    } else if(layEvent === 'delete'){
 		    	layer.confirm('确认删除?', function(index){
 	        		layer.close(index);
@@ -127,6 +133,24 @@
 		    	algorithmDetail(data);
 		    }
 		  });
+		 
+		  var upload = layui.upload;
+		  upload.render({
+			    elem: '#uploadInp'
+			    ,url: '../../ReportManageAction/ddyReportInfUpload' //改成您自己的上传接口
+			    ,accept: 'file' //普通文件
+			    ,exts: 'xls|xlsx'
+			    ,data : {id : function() {
+			    	return dataId;
+			    }}
+		  		,before : function () {
+		  			layer.msg('已开始上传,请稍后查看!');
+		  		}
+			    ,done: function(res){
+			      layer.msg('上传成功');
+			      console.log(res);
+			    }
+			});
 	 });
       
       function reloadSearch (t) {