|
|
@@ -19,6 +19,7 @@ import com.minpay.common.util.*;
|
|
|
import com.minpay.db.table.mapper.*;
|
|
|
import com.minpay.db.table.model.*;
|
|
|
import com.minpay.db.table.own.mapper.IReportBatchMapper;
|
|
|
+import com.startup.minpay.frame.data.AbstractMINBean;
|
|
|
import org.apache.commons.fileupload.FileItem;
|
|
|
import org.apache.ibatis.transaction.Transaction;
|
|
|
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
|
|
|
@@ -46,6 +47,7 @@ import com.startup.minpay.frame.target.MINComponent;
|
|
|
import com.startup.minpay.frame.target.MINParam;
|
|
|
|
|
|
import net.sf.json.JSONArray;
|
|
|
+import org.apache.poi.ss.formula.functions.T;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
@MINComponent
|
|
|
@@ -518,9 +520,6 @@ public class DataWareManageAction implements IMINAction {
|
|
|
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
//配变过重载
|
|
|
}else if(Constant.FILE_DETAIL_TYPE_08.equals(fileType)){
|
|
|
//标题对应key
|
|
|
@@ -678,6 +677,138 @@ public class DataWareManageAction implements IMINAction {
|
|
|
}
|
|
|
this.batchXlgzzReportData(ll,2);
|
|
|
}
|
|
|
+ // 故障工单信息
|
|
|
+ }else if(Constant.FILE_DETAIL_TYPE_11.equals(fileType)){
|
|
|
+ //标题对应key
|
|
|
+ String[] titleKey = new String[]{
|
|
|
+ "GDBH","GWGDBH","YHBH","GDDW","DWXCSJ", "GZPCSJ", "YJFL", "EJFL", "SJFL", "YWLXMC", "SLSH", "PGR",
|
|
|
+ "PCRY", "SDR", "YHMC", "LXR", "LXDZ", "XCFL", "JJCD", "WHCD", "CQSX", "GZGS", "SLNR", "GDZT", "GZYY",
|
|
|
+ "GZXX", "DYDJ", "ZDCL", "GZDZ", "LXDH", "CLJG", "HBZD", "QXZSC", "DGSC", "GZPCSC", "GZYPJG", "XCQXJL",
|
|
|
+ "SCPFQXDSJ", "ZCPFQXDSJ", "ZDJDSJ", "HFSDSJ", "TJSHSJ", "GDSHSJ", "GDSJ", "ZDBM"};
|
|
|
+ String[] titleValue = new String[]{
|
|
|
+ "工单编号" , "国网工单号" , "用户编号" , "供电单位" , "到达现场时间" , "故障排除时间" , "一级分类" ,
|
|
|
+ "二级分类" , "三级分类" , "业务类型名称" , "受理时间" , "派工人 " , "派出人员" , "锁定人 " , "用户名称" ,
|
|
|
+ "联系人 " , "联系地址" , "现场分类" , "紧急程度" , "危害程度" , "产权属性" , "故障归属" , "受理内容" ,
|
|
|
+ "工单状态" , "故障原因" , "故障现象" , "电压等级" , "终端处理" , "故障地址" , "联系电话" , "处理结果" ,
|
|
|
+ "合并主单" , "抢修总时长(分)" , "到岗时长(分) " , "故障排除时长(分) " , "故障研判结果" , "现场抢修记录" ,
|
|
|
+ "首次派发抢修队时间 " , "再次派发抢修队时间 " , "终端接单时间" , "恢复送电时间" , "提交审核时间" ,
|
|
|
+ "工单审核时间" ,"归档时间" , "终端编码"
|
|
|
+ };
|
|
|
+ //验证模板是否正确
|
|
|
+ Map<String,Object> header = new HashMap<String, Object>();
|
|
|
+ List<String[]> headerTitle = new ArrayList<String[]>();
|
|
|
+ headerTitle.add(titleValue);
|
|
|
+ if(headerTitle == null || headerTitle.isEmpty()){
|
|
|
+ System.out.println("标题列为空");
|
|
|
+ } else {
|
|
|
+ header.put("headerRows",headerTitle.size() - 1);
|
|
|
+ header.put("header",headerTitle);
|
|
|
+ header.put("cols",headerTitle.get(headerTitle.size() -1).length);
|
|
|
+ boolean b = ExcelTemplateUtil.verificationExcelHeadLine(fileItem,header);
|
|
|
+ if (!b) {
|
|
|
+ throw new MINBusinessException("导入模板不一致,请使用正确模板");//无数据,请添加数据
|
|
|
+ }
|
|
|
+ //读取excel数据
|
|
|
+ list = FilesUtil.readExecleasy(fileItem, titleKey, 1);
|
|
|
+ if(list == null || list.isEmpty()){
|
|
|
+ throw new MINBusinessException("无数据,请添加数据");//无数据,请添加数据
|
|
|
+ }
|
|
|
+ List<DwFileDetail11> ll = new ArrayList<DwFileDetail11>();
|
|
|
+ // 详情数据存入数据库
|
|
|
+ for (Map<String,String> excelMap : list) {
|
|
|
+ DwFileDetail11 fileDetail11 = new DwFileDetail11();
|
|
|
+ fileDetail11.setId(UUID.randomUUID().toString().replace("-", ""));
|
|
|
+ fileDetail11.setGdbh(excelMap.get("GDBH"));
|
|
|
+ fileDetail11.setGwgdbh(excelMap.get("GWGDBH"));
|
|
|
+ fileDetail11.setYhbh(excelMap.get("YHBH"));
|
|
|
+ fileDetail11.setGddw(excelMap.get("GDDW"));
|
|
|
+ String dwxcsj = excelMap.get("DWXCSJ");
|
|
|
+ if(dwxcsj != null && !"".equals(dwxcsj)){
|
|
|
+ fileDetail11.setDwxcsj(StringUtil.ObjToDate(dwxcsj,"2"));
|
|
|
+ }
|
|
|
+ String gzpcsj = excelMap.get("GZPCSJ");
|
|
|
+ if(gzpcsj != null && !"".equals(gzpcsj)){
|
|
|
+ fileDetail11.setGzpcsj(StringUtil.ObjToDate(gzpcsj,"2"));
|
|
|
+ }
|
|
|
+// fileDetail11.setDwxcsj(excelMap.get("DWXCSJ"));
|
|
|
+// fileDetail11.setGzpcsj(excelMap.get("GZPCSJ"));
|
|
|
+ fileDetail11.setYjfl(excelMap.get("YJFL"));
|
|
|
+ fileDetail11.setEjfl(excelMap.get("EJFL"));
|
|
|
+ fileDetail11.setSjfl(excelMap.get("SJFL"));
|
|
|
+ fileDetail11.setYwlxmc(excelMap.get("YWLXMC"));
|
|
|
+ String slsh = excelMap.get("SLSH");
|
|
|
+ if(slsh != null && !"".equals(slsh)){
|
|
|
+ fileDetail11.setSlsh(StringUtil.ObjToDate(slsh,"2"));
|
|
|
+ }
|
|
|
+// fileDetail11.setSlsh(excelMap.get("SLSH"));
|
|
|
+ fileDetail11.setPgr(excelMap.get("PGR"));
|
|
|
+ fileDetail11.setPcry(excelMap.get("PCRY"));
|
|
|
+ fileDetail11.setSdr(excelMap.get("SDR"));
|
|
|
+ fileDetail11.setYhmc(excelMap.get("YHMC"));
|
|
|
+ fileDetail11.setLxr(excelMap.get("LXR"));
|
|
|
+ fileDetail11.setLxdz(excelMap.get("LXDZ"));
|
|
|
+ fileDetail11.setXcfl(excelMap.get("XCFL"));
|
|
|
+ fileDetail11.setJjcd(excelMap.get("JJCD"));
|
|
|
+ fileDetail11.setWhcd(excelMap.get("WHCD"));
|
|
|
+ fileDetail11.setCqsx(excelMap.get("CQSX"));
|
|
|
+ fileDetail11.setGzgs(excelMap.get("GZGS"));
|
|
|
+ fileDetail11.setSlnr(excelMap.get("SLNR"));
|
|
|
+ fileDetail11.setGdzt(excelMap.get("GDZT"));
|
|
|
+ fileDetail11.setGzyy(excelMap.get("GZYY"));
|
|
|
+ fileDetail11.setGzxx(excelMap.get("GZXX"));
|
|
|
+ fileDetail11.setDydj(excelMap.get("DYDJ"));
|
|
|
+ fileDetail11.setZdcl(excelMap.get("ZDCL"));
|
|
|
+ fileDetail11.setGzdz(excelMap.get("GZDZ"));
|
|
|
+ fileDetail11.setLxdh(excelMap.get("LXDH"));
|
|
|
+ fileDetail11.setCljg(excelMap.get("CLJG"));
|
|
|
+ fileDetail11.setHbzd(excelMap.get("HBZD"));
|
|
|
+ fileDetail11.setQxzsc(StringUtil.ObjToFloat(excelMap.get("QXZSC")));
|
|
|
+ fileDetail11.setDgsc(StringUtil.ObjToFloat(excelMap.get("DGSC")));
|
|
|
+ fileDetail11.setGzpcsc(StringUtil.ObjToFloat(excelMap.get("GZPCSC")));
|
|
|
+ fileDetail11.setGzypjg(excelMap.get("GZYPJG"));
|
|
|
+ fileDetail11.setXcqxjl(excelMap.get("XCQXJL"));
|
|
|
+ String scpfqxdsj = excelMap.get("SCPFQXDSJ");
|
|
|
+ if(scpfqxdsj != null && !"".equals(scpfqxdsj)){
|
|
|
+ fileDetail11.setScpfqxdsj(StringUtil.ObjToDate(scpfqxdsj,"2"));
|
|
|
+ }
|
|
|
+// fileDetail11.setScpfqxdsj(excelMap.get("SCPFQXDSJ"));
|
|
|
+ String zcpfqxdsj = excelMap.get("ZCPFQXDSJ");
|
|
|
+ if(zcpfqxdsj != null && !"".equals(zcpfqxdsj)){
|
|
|
+ fileDetail11.setZcpfqxdsj(StringUtil.ObjToDate(zcpfqxdsj,"2"));
|
|
|
+ }
|
|
|
+// fileDetail11.setZcpfqxdsj(excelMap.get("ZCPFQXDSJ"));
|
|
|
+ String zdjdsj = excelMap.get("ZDJDSJ");
|
|
|
+ if(zdjdsj != null && !"".equals(zdjdsj)){
|
|
|
+ fileDetail11.setZdjdsj(StringUtil.ObjToDate(zdjdsj,"2"));
|
|
|
+ }
|
|
|
+// fileDetail11.setZdjdsj(excelMap.get("ZDJDSJ"));
|
|
|
+ String hfsdsj = excelMap.get("HFSDSJ");
|
|
|
+ if(hfsdsj != null && !"".equals(hfsdsj)){
|
|
|
+ fileDetail11.setHfsdsj(StringUtil.ObjToDate(hfsdsj,"2"));
|
|
|
+ }
|
|
|
+// fileDetail11.setHfsdsj(excelMap.get("HFSDSJ"));
|
|
|
+ String tjshsj = excelMap.get("TJSHSJ");
|
|
|
+ if(tjshsj != null && !"".equals(tjshsj)){
|
|
|
+ fileDetail11.setTjshsj(StringUtil.ObjToDate(tjshsj,"2"));
|
|
|
+ }
|
|
|
+// fileDetail11.setTjshsj(excelMap.get("TJSHSJ"));
|
|
|
+ String gdshsj = excelMap.get("GDSHSJ");
|
|
|
+ if(gdshsj != null && !"".equals(gdshsj)){
|
|
|
+ fileDetail11.setGdshsj(StringUtil.ObjToDate(gdshsj,"2"));
|
|
|
+ }
|
|
|
+// fileDetail11.setGdshsj(excelMap.get("GDSHSJ"));
|
|
|
+ String gdsj = excelMap.get("GDSJ");
|
|
|
+ if(gdsj != null && !"".equals(gdsj)){
|
|
|
+ fileDetail11.setGdsj(StringUtil.ObjToDate(gdsj,"2"));
|
|
|
+ }
|
|
|
+// fileDetail11.setGdsj(excelMap.get("GDSJ"));
|
|
|
+ fileDetail11.setZdbm(excelMap.get("ZDBM"));
|
|
|
+
|
|
|
+ fileDetail11.setFileId(fileId);
|
|
|
+ ll.add(fileDetail11);
|
|
|
+ }
|
|
|
+ this.batchGzgdReportData(ll,2);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// 文件名
|
|
|
@@ -707,6 +838,41 @@ public class DataWareManageAction implements IMINAction {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * @param list
|
|
|
+ * @param type
|
|
|
+ */
|
|
|
+ private void batchGzgdReportData(List<DwFileDetail11> list, int type) {
|
|
|
+
|
|
|
+ if(list != null && list.size() > 0){
|
|
|
+ List<DwFileDetail11> tempList = new ArrayList<DwFileDetail11>();
|
|
|
+ int cou = 0;
|
|
|
+ for (int i = 0; i < list.size() ; i++) {
|
|
|
+ if((list.size() - i) >= 1000){
|
|
|
+ tempList.add((DwFileDetail11) list.get(i));
|
|
|
+ cou += 1;
|
|
|
+ if(cou == 1000){
|
|
|
+ try {
|
|
|
+ db.getMybatisMapper(IReportBatchMapper.class).insertGzgdReport(tempList);
|
|
|
+ } catch (MINBusinessException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ cou = 0;
|
|
|
+ tempList = new ArrayList<DwFileDetail11>();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if((list.size() - i) < 1000){
|
|
|
+ tempList.add((DwFileDetail11) list.get(i));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ db.getMybatisMapper(IReportBatchMapper.class).insertGzgdReport(tempList);
|
|
|
+ } catch (MINBusinessException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 批处理-配变过重载
|
|
|
* @param list
|
|
|
*/
|