DataWareManageAction.java 123 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387
  1. package com.minpay.reportManage.action;
  2. import java.io.BufferedOutputStream;
  3. import java.io.IOException;
  4. import java.io.OutputStream;
  5. import java.lang.reflect.InvocationTargetException;
  6. import java.net.URLEncoder;
  7. import java.text.ParseException;
  8. import java.text.SimpleDateFormat;
  9. import java.time.LocalDateTime;
  10. import java.time.format.DateTimeFormatter;
  11. import java.util.ArrayList;
  12. import java.util.Date;
  13. import java.util.HashMap;
  14. import java.util.List;
  15. import java.util.Map;
  16. import java.util.UUID;
  17. import javax.servlet.ServletOutputStream;
  18. import javax.servlet.http.HttpServletResponse;
  19. import org.apache.commons.fileupload.FileItem;
  20. import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
  21. import org.springframework.transaction.annotation.Transactional;
  22. import com.min.util.DateUtil;
  23. import com.minpay.common.bean.User;
  24. import com.minpay.common.constant.Constant;
  25. import com.minpay.common.constant.ReportConstant;
  26. import com.minpay.common.format.IFormatService;
  27. import com.minpay.common.service.IDianwangService;
  28. import com.minpay.common.service.IPropertiesService;
  29. import com.minpay.common.util.CommonUtil;
  30. import com.minpay.common.util.ExcelTemplateUtil;
  31. import com.minpay.common.util.ExportExcelUtil;
  32. import com.minpay.common.util.FilesUtil;
  33. import com.minpay.common.util.ListUtil;
  34. import com.minpay.common.util.StringUtil;
  35. import com.minpay.db.table.mapper.DwFileDetail00Mapper;
  36. import com.minpay.db.table.mapper.DwFileDetail01Mapper;
  37. import com.minpay.db.table.mapper.DwFileDetail02Mapper;
  38. import com.minpay.db.table.mapper.DwFileDetail03Mapper;
  39. import com.minpay.db.table.mapper.DwFileDetail04Mapper;
  40. import com.minpay.db.table.mapper.DwFileDetail05Mapper;
  41. import com.minpay.db.table.mapper.DwFileDetail07Mapper;
  42. import com.minpay.db.table.mapper.DwFileDetail09Mapper;
  43. import com.minpay.db.table.mapper.DwFileDetail10Mapper;
  44. import com.minpay.db.table.mapper.DwFileDetail11Mapper;
  45. import com.minpay.db.table.mapper.DwFileDetail12Mapper;
  46. import com.minpay.db.table.mapper.DwFileDetail13Mapper;
  47. import com.minpay.db.table.mapper.DwFileDetail17Mapper;
  48. import com.minpay.db.table.mapper.DwFileDetail18Mapper;
  49. import com.minpay.db.table.mapper.DwFileDetail19Mapper;
  50. import com.minpay.db.table.mapper.DwFileDetail20Mapper;
  51. import com.minpay.db.table.mapper.DwFileDetail21Mapper;
  52. import com.minpay.db.table.mapper.DwFileDetail26Mapper;
  53. import com.minpay.db.table.mapper.DwFileDetail27Mapper;
  54. import com.minpay.db.table.mapper.DwFileDetail33Mapper;
  55. import com.minpay.db.table.mapper.DwFileDetail34Mapper;
  56. import com.minpay.db.table.mapper.DwFileDetail35Mapper;
  57. import com.minpay.db.table.mapper.DwFileDetail98Mapper;
  58. import com.minpay.db.table.mapper.DwFileDetail99Mapper;
  59. import com.minpay.db.table.mapper.DwFileInfMapper;
  60. import com.minpay.db.table.mapper.DwReporttypeFiletypeRelMapper;
  61. import com.minpay.db.table.mapper.ImUserMapper;
  62. import com.minpay.db.table.model.DwFileDetail00;
  63. import com.minpay.db.table.model.DwFileDetail00Example;
  64. import com.minpay.db.table.model.DwFileDetail01;
  65. import com.minpay.db.table.model.DwFileDetail01Example;
  66. import com.minpay.db.table.model.DwFileDetail02;
  67. import com.minpay.db.table.model.DwFileDetail02Example;
  68. import com.minpay.db.table.model.DwFileDetail03;
  69. import com.minpay.db.table.model.DwFileDetail03Example;
  70. import com.minpay.db.table.model.DwFileDetail04;
  71. import com.minpay.db.table.model.DwFileDetail04Example;
  72. import com.minpay.db.table.model.DwFileDetail05;
  73. import com.minpay.db.table.model.DwFileDetail05Example;
  74. import com.minpay.db.table.model.DwFileDetail07;
  75. import com.minpay.db.table.model.DwFileDetail07Example;
  76. import com.minpay.db.table.model.DwFileDetail09;
  77. import com.minpay.db.table.model.DwFileDetail09Example;
  78. import com.minpay.db.table.model.DwFileDetail10;
  79. import com.minpay.db.table.model.DwFileDetail10Example;
  80. import com.minpay.db.table.model.DwFileDetail11;
  81. import com.minpay.db.table.model.DwFileDetail11Example;
  82. import com.minpay.db.table.model.DwFileDetail12;
  83. import com.minpay.db.table.model.DwFileDetail12Example;
  84. import com.minpay.db.table.model.DwFileDetail13;
  85. import com.minpay.db.table.model.DwFileDetail13Example;
  86. import com.minpay.db.table.model.DwFileDetail17;
  87. import com.minpay.db.table.model.DwFileDetail17Example;
  88. import com.minpay.db.table.model.DwFileDetail18;
  89. import com.minpay.db.table.model.DwFileDetail18Example;
  90. import com.minpay.db.table.model.DwFileDetail19;
  91. import com.minpay.db.table.model.DwFileDetail19Example;
  92. import com.minpay.db.table.model.DwFileDetail20;
  93. import com.minpay.db.table.model.DwFileDetail20Example;
  94. import com.minpay.db.table.model.DwFileDetail21;
  95. import com.minpay.db.table.model.DwFileDetail21Example;
  96. import com.minpay.db.table.model.DwFileDetail26;
  97. import com.minpay.db.table.model.DwFileDetail26Example;
  98. import com.minpay.db.table.model.DwFileDetail27Example;
  99. import com.minpay.db.table.model.DwFileDetail33;
  100. import com.minpay.db.table.model.DwFileDetail33Example;
  101. import com.minpay.db.table.model.DwFileDetail34Example;
  102. import com.minpay.db.table.model.DwFileDetail35Example;
  103. import com.minpay.db.table.model.DwFileDetail98;
  104. import com.minpay.db.table.model.DwFileDetail98Example;
  105. import com.minpay.db.table.model.DwFileDetail99;
  106. import com.minpay.db.table.model.DwFileDetail99Example;
  107. import com.minpay.db.table.model.DwFileInf;
  108. import com.minpay.db.table.model.DwReporttypeFiletypeRelExample;
  109. import com.minpay.db.table.model.DwReporttypeFiletypeRelKey;
  110. import com.minpay.db.table.model.ImUser;
  111. import com.minpay.db.table.model.ImUserExample;
  112. import com.minpay.db.table.own.mapper.DataWareManageMapper;
  113. import com.minpay.db.table.own.mapper.IBgfwthzReportMapper;
  114. import com.minpay.db.table.own.mapper.ICommBatchReportMapper;
  115. import com.minpay.db.table.own.mapper.IFqxlgdReportMapper;
  116. import com.minpay.db.table.own.mapper.IGdgdhzReportMapper;
  117. import com.minpay.db.table.own.mapper.IQnmydReportMapper;
  118. import com.minpay.db.table.own.mapper.IQqdkhsqtjgdtzReportMapper;
  119. import com.minpay.db.table.own.mapper.IQxgdUnitManageMapper;
  120. import com.minpay.db.table.own.mapper.IReportBatchMapper;
  121. import com.minpay.db.table.own.mapper.IYtsqkhzReportMapper;
  122. import com.minpay.db.table.own.mapper.SequenceMapper;
  123. import com.startup.minpay.frame.business.IMINAction;
  124. import com.startup.minpay.frame.business.MINHttpServletRequestContext;
  125. import com.startup.minpay.frame.business.res.MINActionResult;
  126. import com.startup.minpay.frame.constant.IMINBusinessConstant;
  127. import com.startup.minpay.frame.constant.IMINTransactionEnum;
  128. import com.startup.minpay.frame.exception.MINBusinessException;
  129. import com.startup.minpay.frame.jdbc.MINRowBounds;
  130. import com.startup.minpay.frame.service.base.IMINDataBaseService;
  131. import com.startup.minpay.frame.service.base.Service;
  132. import com.startup.minpay.frame.session.MINSession;
  133. import com.startup.minpay.frame.target.MINAction;
  134. import com.startup.minpay.frame.target.MINComponent;
  135. import com.startup.minpay.frame.target.MINParam;
  136. import net.sf.json.JSONArray;
  137. @MINComponent
  138. public class DataWareManageAction implements IMINAction {
  139. private IMINDataBaseService db;
  140. /** 原始数据查询 */
  141. public final static String FILE_INF_QUERY = "fileInfQuery";
  142. /** 原始文件上传 */
  143. public final static String FILE_INF_UPLOAD = "fileInfUpload";
  144. /** 原始文件下载 */
  145. public final static String FILE_INF_DOWNLOAD = "fileInfDownload";
  146. /** 原始文件删除 */
  147. public final static String FILE_INF_DELETE = "fileInfDelete";
  148. /** 原始文件详情 */
  149. public final static String FILE_INF_DETAIL = "fileInfDetail";
  150. /** 原始数据下载 */
  151. public final static String FILE_DATA_DOWNLOAD = "fileDataDownload";
  152. /**
  153. * 原始数据查询
  154. * @param page
  155. * @param limit
  156. * @param date
  157. * @param fileName
  158. * @return
  159. * @throws MINBusinessException
  160. * @throws InvocationTargetException
  161. * @throws IllegalArgumentException
  162. * @throws IllegalAccessException
  163. * @throws SecurityException
  164. * @throws NoSuchMethodException
  165. * @throws InstantiationException
  166. */
  167. @MINAction(value = FILE_INF_QUERY)
  168. public MINActionResult fileInfQuery(
  169. @MINParam(key = "page", defaultValue = "1") int page,
  170. @MINParam(key = "limit", defaultValue = "10") int limit,
  171. @MINParam(key = "date") String date,
  172. @MINParam(key = "fileName") String fileName,
  173. @MINParam(key = "notInData") String notInData,
  174. @MINParam(key = "reportType") String reportType,
  175. @MINParam(key = "type") String type,
  176. MINSession session
  177. ) throws MINBusinessException, NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, InstantiationException {
  178. MINActionResult res = new MINActionResult();
  179. db = Service.lookup(IMINDataBaseService.class);
  180. //分页
  181. MINRowBounds rows = new MINRowBounds(page, limit);
  182. rows.setSeparateSql(true);
  183. Map<String, Object> param = new HashMap<String, Object>();
  184. param.put("date", StringUtil.ObjectToString(date).replaceAll("-",""));
  185. param.put("fileName", fileName);
  186. param.put("type", type);
  187. if (!CommonUtil.isEmpty(notInData)) {
  188. JSONArray notInArray = JSONArray.fromObject(notInData);
  189. if (notInArray.size() != 0) {
  190. param.put("notInArray", notInArray);
  191. }
  192. }
  193. // 查询生成报表所需的文件类型
  194. if (!CommonUtil.isEmpty(reportType)) {
  195. DwReporttypeFiletypeRelExample reporttypeFiletypeRelExample = new DwReporttypeFiletypeRelExample();
  196. reporttypeFiletypeRelExample.createCriteria().andReporttypeIdEqualTo(reportType);
  197. List<DwReporttypeFiletypeRelKey> selectByExample = db.selectByExample(DwReporttypeFiletypeRelMapper.class, reporttypeFiletypeRelExample);
  198. if (selectByExample.size() > 0) {
  199. param.put("fileTypeArray", selectByExample);
  200. }
  201. }
  202. User user = session.getUser();
  203. String roleId = user.getRoleId();
  204. // 非系统管理员
  205. if (!Constant.ROLE_ID.equals(roleId)) {
  206. param.put("branchId", user.getBranchid());
  207. }
  208. List<Map<String, String>> list = db.getMybatisMapper(DataWareManageMapper.class)
  209. .selectFileInf(param, rows);
  210. if (list.size() == 0) {
  211. return res;
  212. }
  213. List<String> creatUserIdList = CommonUtil.getIdFromList(list, "creatUser");
  214. ImUserExample userExam = new ImUserExample();
  215. userExam.createCriteria().andIdIn(creatUserIdList);
  216. List<ImUser> userList = db.selectByExample(ImUserMapper.class, userExam);
  217. String[] str1 = {"creatUser"};
  218. String[] str2 = {"id"};
  219. String[] str3 = {"name"};
  220. String[] str4 = {"userName"};
  221. list = ListUtil.mergeList(list, userList, str1, str2, str3, str4);
  222. list = Service.lookup(IFormatService.class).formatDate(list, "uploadDate");
  223. // 设置返回值
  224. res.set(IMINBusinessConstant.F_PAGING_LAY, list);
  225. res.set(IMINBusinessConstant.F_PAGING_COUNT, rows.getCount());
  226. return res;
  227. }
  228. /**
  229. * 上传原始文件
  230. * @param request
  231. * @param fileType
  232. * @param chongfuFlag 重复上传标志 true:重复数据确认上传
  233. * @param session
  234. * @return
  235. * @throws MINBusinessException
  236. * @throws InvalidFormatException
  237. * @throws IOException
  238. */
  239. @MINAction(value = FILE_INF_UPLOAD, transaction = IMINTransactionEnum.CMT)
  240. public MINActionResult fileInfUpload(
  241. MINHttpServletRequestContext request,
  242. @MINParam(key = "fileType") String fileType,
  243. @MINParam(key = "chongfuFlag") boolean chongfuFlag,
  244. MINSession session
  245. ) throws MINBusinessException, InvalidFormatException, IOException, ParseException {
  246. MINActionResult res = new MINActionResult();
  247. db = Service.lookup(IMINDataBaseService.class);
  248. // 获取文件
  249. FileItem fileItem = request.getFile("file");
  250. String fileName = fileItem.getName();
  251. if (!fileName.endsWith(".xlsx") && !fileName.endsWith(".xls")) {
  252. throw new MINBusinessException("文件格式错误!");
  253. }
  254. String fileId = db.getMybatisMapper(SequenceMapper.class).getSequence("FILE_INF_NO");
  255. List<Map<String,String>> list = null;
  256. // 台区停电
  257. if (Constant.FILE_DETAIL_TYPE_00.equals(fileType)) {
  258. // 获取表格信息
  259. String[] titleKey = new String[]{"number","addressNum","addressName","date", "area","comonpanyName","terminalName","terminalNum","terminalAddress","startTime","endTime"};
  260. list = FilesUtil.readExecleasy(fileItem, titleKey, 1);
  261. if (list.size() == 0) {
  262. throw new MINBusinessException("无数据,请添加数据");//无数据,请添加数据
  263. }
  264. // 详情数据存入数据库
  265. for (Map<String,String> excelMap : list) {
  266. // 日期
  267. String date = excelMap.get("date").replaceAll("-", "").replaceAll(":", "").replaceAll(" ", "").substring(0,8);
  268. String startTime = excelMap.get("startTime").replaceAll("-", "").replaceAll(":", "").replaceAll(" ", "");
  269. String endTime = excelMap.get("endTime").replaceAll("-", "").replaceAll(":", "").replaceAll(" ", "");
  270. // 页面确认有重复数据,且点击确认上传,不再判断数据库是否有数据
  271. if (!chongfuFlag) {
  272. // 验证是否有重复数据
  273. DwFileDetail00Example fileDetail00Example = new DwFileDetail00Example();
  274. fileDetail00Example.createCriteria().andAddressNumEqualTo(excelMap.get("addressNum"))
  275. .andAddressNameEqualTo(excelMap.get("addressName"))
  276. .andDateEqualTo(date)
  277. .andAreaEqualTo(excelMap.get("area"))
  278. .andComonpanyNameEqualTo(excelMap.get("comonpanyName"))
  279. .andTerminalNameEqualTo(excelMap.get("terminalName"))
  280. .andTerminalNumEqualTo(excelMap.get("terminalNum"))
  281. .andTerminalAddressEqualTo(excelMap.get("terminalAddress"))
  282. .andStartTimeEqualTo(startTime)
  283. .andEndTimeEqualTo(endTime);
  284. List<DwFileDetail00> selectByExample = db.selectByExample(DwFileDetail00Mapper.class, fileDetail00Example);
  285. if (selectByExample.size() != 0) {
  286. throw new MINBusinessException("chongfu|" + selectByExample.get(0).getAddressNum() + "|" + selectByExample.get(0).getAddressName() + "|" + selectByExample.get(0).getDate());
  287. }
  288. }
  289. String fileDetailId = db.getMybatisMapper(SequenceMapper.class).getSequence("FILE_DETAIL_00_NO");
  290. DwFileDetail00 fileDetail00 = new DwFileDetail00();
  291. fileDetail00.setId(fileDetailId);
  292. fileDetail00.setNumber(excelMap.get("number"));
  293. fileDetail00.setAddressNum(excelMap.get("addressNum"));
  294. fileDetail00.setAddressName(excelMap.get("addressName"));
  295. fileDetail00.setDate(date);
  296. fileDetail00.setArea(excelMap.get("area"));
  297. fileDetail00.setComonpanyName(excelMap.get("comonpanyName"));
  298. fileDetail00.setTerminalName(excelMap.get("terminalName"));
  299. fileDetail00.setTerminalNum(excelMap.get("terminalNum"));
  300. fileDetail00.setTerminalAddress(excelMap.get("terminalAddress"));
  301. fileDetail00.setStartTime(startTime);
  302. fileDetail00.setEndTime(endTime);
  303. fileDetail00.setFileId(fileId);
  304. db.insertSelective(DwFileDetail00Mapper.class, fileDetail00);
  305. }
  306. // 终端投托运
  307. } else if (Constant.FILE_DETAIL_TYPE_01.equals(fileType)) {
  308. String[] titleKey = new String[]{"id","tname","cmode","value", "facname","type","fdid","yxstatus","tytime"};
  309. list = FilesUtil.readExecleasy(fileItem, titleKey, 1);
  310. if (list.size() == 0) {
  311. throw new MINBusinessException("无数据,请添加数据");//无数据,请添加数据
  312. }
  313. // 详情数据存入数据库
  314. for (Map<String,String> excelMap : list) {
  315. DwFileDetail01Example dwFileDetail01 = new DwFileDetail01Example();
  316. dwFileDetail01.createCriteria().andExcelIdEqualTo(excelMap.get("id"))
  317. .andExcelTnameEqualTo(excelMap.get("tname"))
  318. .andExcelCmodeEqualTo(excelMap.get("cmode"))
  319. .andExcelValueEqualTo(excelMap.get("value"))
  320. .andExcelFacnameEqualTo(excelMap.get("facname"))
  321. .andExcelTypeEqualTo(excelMap.get("type"))
  322. .andExcelFdidEqualTo(excelMap.get("fdid"))
  323. .andExcelYxstatusEqualTo(excelMap.get("yxstatus"));
  324. String fileDetailId = db.getMybatisMapper(SequenceMapper.class).getSequence("FILE_DETAIL_01_NO");
  325. DwFileDetail01 fileDetail01 = new DwFileDetail01();
  326. fileDetail01.setId(fileDetailId);
  327. fileDetail01.setExcelId(excelMap.get("id"));
  328. fileDetail01.setExcelTname(excelMap.get("tname"));
  329. fileDetail01.setExcelCmode(excelMap.get("cmode"));
  330. fileDetail01.setExcelValue(excelMap.get("value"));
  331. fileDetail01.setExcelFacname(excelMap.get("facname"));
  332. fileDetail01.setExcelType(excelMap.get("type"));
  333. fileDetail01.setExcelFdid(excelMap.get("fdid"));
  334. fileDetail01.setExcelYxstatus(excelMap.get("yxstatus"));
  335. String tytime = excelMap.get("tytime");
  336. tytime = tytime.replaceAll("-", "").replaceAll(" ", "").replaceAll(":", "");
  337. if (!CommonUtil.isEmpty(tytime) && tytime.length() != 14) {
  338. throw new MINBusinessException(excelMap.get("tytime") + "--时间格式错误");
  339. }
  340. fileDetail01.setExcelTytime(tytime);
  341. fileDetail01.setFileId(fileId);
  342. db.insertSelective(DwFileDetail01Mapper.class, fileDetail01);
  343. }
  344. // FA动作
  345. } else if (Constant.FILE_DETAIL_TYPE_02.equals(fileType)) {
  346. String[] titleKey = new String[]{"no","beginTime","endTime","gdlx", "cxbdz","xlmc","xllx","qdfa","gzqjpd","gzqhdhf","gzgl"};
  347. list = FilesUtil.readExecleasy(fileItem, titleKey, 1);
  348. if (list.size() == 0) {
  349. throw new MINBusinessException("无数据,请添加数据");//无数据,请添加数据
  350. }
  351. // 详情数据存入数据库
  352. for (Map<String,String> excelMap : list) {
  353. String fileDetailId = db.getMybatisMapper(SequenceMapper.class).getSequence("FILE_DETAIL_02_NO");
  354. DwFileDetail02 fileDetail02 = new DwFileDetail02();
  355. fileDetail02.setId(fileDetailId);
  356. fileDetail02.setNo(excelMap.get("no"));
  357. fileDetail02.setBeginTime(excelMap.get("beginTime"));
  358. fileDetail02.setEndTime(excelMap.get("endTime"));
  359. fileDetail02.setGdlx(excelMap.get("gdlx"));
  360. fileDetail02.setCxbdz(excelMap.get("cxbdz"));
  361. fileDetail02.setXlmc(excelMap.get("xlmc"));
  362. fileDetail02.setXllx(excelMap.get("xllx"));
  363. fileDetail02.setQdfa(excelMap.get("qdfa"));
  364. fileDetail02.setGzqjpd(excelMap.get("gzqjpd"));
  365. fileDetail02.setGzqhdhf(excelMap.get("gzqhdhf"));
  366. fileDetail02.setGzgl(excelMap.get("gzgl"));
  367. fileDetail02.setFileId(fileId);
  368. db.insertSelective(DwFileDetail02Mapper.class, fileDetail02);
  369. }
  370. //低电压
  371. } else if(Constant.FILE_DETAIL_TYPE_03.equals(fileType)) {
  372. String[] titleKey = new String[]{"no","sgsmc","xgsmc","bdzmc","xlmc","tqid","byqmc","yhgldw1","yhid","yhmc","yhgldw2","dymax","dymin","dyhgl","csxl","cxxl","dysc","gdlx","ljts","sjrq","gddw"};
  373. list = FilesUtil.readExecleasy(fileItem, titleKey, 3);
  374. if (list.size() == 0) {
  375. throw new MINBusinessException("无数据,请添加数据");//无数据,请添加数据
  376. }
  377. // 详情数据存入数据库
  378. for (Map<String,String> excelMap : list) {
  379. String fileDetailId = db.getMybatisMapper(SequenceMapper.class).getSequence("FILE_DETAIL_03_NO");
  380. String sjrq = excelMap.get("sjrq");
  381. try {
  382. if(sjrq.length()>10){
  383. sjrq = sjrq.substring(0, 8);
  384. }else{
  385. SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
  386. Date date = sdf.parse(sjrq);
  387. SimpleDateFormat todf = new SimpleDateFormat("yyyyMMdd");// 设置日期格式
  388. sjrq = todf.format(date);
  389. }
  390. } catch (Exception ex) {
  391. }
  392. DwFileDetail03 fileDetail03 = new DwFileDetail03();
  393. fileDetail03.setId(fileDetailId);
  394. fileDetail03.setNo(excelMap.get("no"));
  395. fileDetail03.setSgsmc(excelMap.get("sgsmc"));
  396. fileDetail03.setXgsmc(excelMap.get("xgsmc"));
  397. fileDetail03.setBdzmc(excelMap.get("bdzmc"));
  398. fileDetail03.setXlmc(excelMap.get("xlmc"));
  399. fileDetail03.setTqid(excelMap.get("tqid"));
  400. fileDetail03.setByqmc(excelMap.get("byqmc"));
  401. fileDetail03.setYhgldw1(excelMap.get("yhgldw1"));
  402. fileDetail03.setYhid(excelMap.get("yhid"));
  403. fileDetail03.setYhmc(excelMap.get("yhmc"));
  404. fileDetail03.setYhgldw2(excelMap.get("yhgldw2"));
  405. fileDetail03.setDymax(excelMap.get("dymax"));
  406. fileDetail03.setDymin(excelMap.get("dymin"));
  407. fileDetail03.setDyhgl(excelMap.get("dyhgl"));
  408. fileDetail03.setCsxl(excelMap.get("csxl"));
  409. fileDetail03.setCxxl(excelMap.get("cxxl"));
  410. fileDetail03.setDysc(excelMap.get("dysc"));
  411. fileDetail03.setGdlx(excelMap.get("gdlx"));
  412. fileDetail03.setLjts(excelMap.get("ljts"));
  413. fileDetail03.setSjrq(sjrq);
  414. fileDetail03.setGddw(excelMap.get("gddw"));
  415. fileDetail03.setFileId(fileId);
  416. db.insertSelective(DwFileDetail03Mapper.class, fileDetail03);
  417. }
  418. //过电压
  419. } else if(Constant.FILE_DETAIL_TYPE_04.equals(fileType)) {
  420. String[] titleKey = new String[]{"no","sgsmc","xgsmc","bdzmc","xlmc","tqid","byqmc","yhgldw1","yhid","yhmc","yhgldw2","dymax","dymin","dyhgl","csxl","cxxl","gdysc","gdlx","ljts","gddw","sjrq"};
  421. list = FilesUtil.readExecleasy(fileItem, titleKey, 1);
  422. if (list.size() == 0) {
  423. throw new MINBusinessException("无数据,请添加数据");//无数据,请添加数据
  424. }
  425. // 详情数据存入数据库
  426. for (Map<String,String> excelMap : list) {
  427. String fileDetailId = db.getMybatisMapper(SequenceMapper.class).getSequence("FILE_DETAIL_04_NO");
  428. String sjrq = excelMap.get("sjrq");
  429. try {
  430. if(sjrq.length()>10){
  431. sjrq = sjrq.substring(0, 8);
  432. }else{
  433. SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
  434. Date date = sdf.parse(sjrq);
  435. SimpleDateFormat todf = new SimpleDateFormat("yyyyMMdd");// 设置日期格式
  436. sjrq = todf.format(date);
  437. }
  438. } catch (Exception ex) {
  439. }
  440. // DateFormat formater = new SimpleDateFormat("yyyyMMdd");
  441. // String sjrq = formater.format(excelMap.get("sjrq"));
  442. DwFileDetail04 fileDetail04 = new DwFileDetail04();
  443. fileDetail04.setId(fileDetailId);
  444. fileDetail04.setNo(excelMap.get("no"));
  445. fileDetail04.setSgsmc(excelMap.get("sgsmc"));
  446. fileDetail04.setXgsmc(excelMap.get("xgsmc"));
  447. fileDetail04.setBdzmc(excelMap.get("bdzmc"));
  448. fileDetail04.setXlmc(excelMap.get("xlmc"));
  449. fileDetail04.setTqid(excelMap.get("tqid"));
  450. fileDetail04.setByqmc(excelMap.get("byqmc"));
  451. fileDetail04.setYhgldw1(excelMap.get("yhgldw1"));
  452. fileDetail04.setYhid(excelMap.get("yhid"));
  453. fileDetail04.setYhmc(excelMap.get("yhmc"));
  454. fileDetail04.setYhgldw2(excelMap.get("yhgldw2"));
  455. fileDetail04.setDymax(excelMap.get("dymax"));
  456. fileDetail04.setDymin(excelMap.get("dymin"));
  457. fileDetail04.setDyhgl(excelMap.get("dyhgl"));
  458. fileDetail04.setCsxl(excelMap.get("csxl"));
  459. fileDetail04.setCxxl(excelMap.get("cxxl"));
  460. fileDetail04.setGdysc(excelMap.get("gdysc"));
  461. fileDetail04.setGdlx(excelMap.get("gdlx"));
  462. fileDetail04.setLjts(excelMap.get("ljts"));
  463. fileDetail04.setSjrq(sjrq);
  464. fileDetail04.setGddw(excelMap.get("gddw"));
  465. fileDetail04.setFileId(fileId);
  466. db.insertSelective(DwFileDetail04Mapper.class, fileDetail04);
  467. }
  468. // 95598工单原始数据上传
  469. } else if(Constant.FILE_DETAIL_TYPE_05.equals(fileType)) {
  470. String[] titleKey = new String[]{"NO","GDBH","GWGDBH","ZT","DBBS","YWLX","DQBZ","SLRY","SLSJ","SLLR","YHBH","YHMC","LXDZ","LXDH","HFNR","YJFL","EJFL",
  471. "YWZL","SJDW","GDDW","CBD","CLJG","CLDW","CLBM","GDS","BZ","GLGD","WTYYFL","GDFJ","ZRBM","GDSJ","GQSJ","GQYY","FWQD","SJHTZRYY",
  472. "SJHTZRYY2","GDDWG", "CLDWG", "ZBY", "SSDWGS", "XLXGS", "SSDW",
  473. "XLX1", "XLX2", "XLX3", "XLX4", "XLX5", "XLX6", "XLX7", "XLX8", "XLX9", "XLX10",
  474. "DESC"};
  475. list = FilesUtil.readExecleasy(fileItem, titleKey, 1);
  476. if (list.size() == 0) {
  477. throw new MINBusinessException("无数据,请添加数据");//无数据,请添加数据
  478. }
  479. // 详情数据存入数据库
  480. for (Map<String,String> excelMap : list) {
  481. String fileDetailId = db.getMybatisMapper(SequenceMapper.class).getSequence("FILE_DETAIL_05_NO");
  482. DwFileDetail05 fileDetail05 = new DwFileDetail05();
  483. fileDetail05.setId(fileDetailId);
  484. fileDetail05.setNo(excelMap.get("NO"));
  485. fileDetail05.setGdbh(excelMap.get("GDBH"));
  486. fileDetail05.setGwgdbh(excelMap.get("GWGDBH"));
  487. fileDetail05.setZt(excelMap.get("ZT"));
  488. fileDetail05.setDbbs(excelMap.get("DBBS"));
  489. fileDetail05.setYwlx(excelMap.get("YWLX"));
  490. fileDetail05.setDqbz(excelMap.get("DQBZ"));
  491. fileDetail05.setSlry(excelMap.get("SLRY"));
  492. fileDetail05.setSlsj(excelMap.get("SLSJ"));
  493. fileDetail05.setSllr(excelMap.get("SLLR"));
  494. fileDetail05.setYhbh(excelMap.get("YHBH"));
  495. fileDetail05.setYhmc(excelMap.get("YHMC"));
  496. fileDetail05.setLxdz(excelMap.get("LXDZ"));
  497. fileDetail05.setLxdh(excelMap.get("LXDH"));
  498. fileDetail05.setHfnr(excelMap.get("HFNR"));
  499. fileDetail05.setYjfl(excelMap.get("YJFL"));
  500. fileDetail05.setEjfl(excelMap.get("EJFL"));
  501. fileDetail05.setYwzl(excelMap.get("YWZL"));
  502. fileDetail05.setSjdw(excelMap.get("SJDW"));
  503. fileDetail05.setGddw(excelMap.get("GDDW"));
  504. fileDetail05.setCbd(excelMap.get("CBD"));
  505. fileDetail05.setCljg(excelMap.get("CLJG"));
  506. fileDetail05.setCldw(excelMap.get("CLDW"));
  507. fileDetail05.setClbm(excelMap.get("CLBM"));
  508. fileDetail05.setGds(excelMap.get("GDS"));
  509. fileDetail05.setBz(excelMap.get("BZ"));
  510. fileDetail05.setGlgd(excelMap.get("GLGD"));
  511. fileDetail05.setWtyyfl(excelMap.get("WTYYFL"));
  512. fileDetail05.setGdfj(excelMap.get("GDFJ"));
  513. fileDetail05.setZrbm(excelMap.get("ZRBM"));
  514. fileDetail05.setGdsj(excelMap.get("GDSJ"));
  515. fileDetail05.setGqsj(excelMap.get("GQSJ"));
  516. fileDetail05.setGqyy(excelMap.get("GQYY"));
  517. fileDetail05.setFwqd(excelMap.get("FWQD"));
  518. fileDetail05.setSjhtzryy(excelMap.get("SJHTZRYY"));
  519. fileDetail05.setSjhtzryy2(excelMap.get("SJHTZRYY2"));
  520. fileDetail05.setGddwg(excelMap.get("GDDWG"));
  521. fileDetail05.setCldwg(excelMap.get("CLDWG"));
  522. fileDetail05.setZby(excelMap.get("ZBY"));
  523. fileDetail05.setSsdwgs(excelMap.get("SSDWGS"));
  524. fileDetail05.setXlxgs(excelMap.get("XLXGS"));
  525. fileDetail05.setSsdw(excelMap.get("SSDW"));
  526. fileDetail05.setXlx1(excelMap.get("XLX1"));
  527. fileDetail05.setXlx2(excelMap.get("XLX2"));
  528. fileDetail05.setXlx3(excelMap.get("XLX3"));
  529. fileDetail05.setXlx4(excelMap.get("XLX4"));
  530. fileDetail05.setXlx5(excelMap.get("XLX5"));
  531. fileDetail05.setXlx6(excelMap.get("XLX6"));
  532. fileDetail05.setXlx7(excelMap.get("XLX7"));
  533. fileDetail05.setXlx8(excelMap.get("XLX8"));
  534. fileDetail05.setXlx9(excelMap.get("XLX9"));
  535. fileDetail05.setXlx10(excelMap.get("XLX10"));
  536. fileDetail05.setDesc(excelMap.get("DESC"));
  537. fileDetail05.setFileId(fileId);
  538. db.insertSelective(DwFileDetail05Mapper.class, fileDetail05);
  539. }
  540. //计停非计停
  541. }else if(Constant.FILE_DETAIL_TYPE_06.equals(fileType)) {
  542. String[] titleKey = new String[]{"NO","TYPE","UNIT","DEVICE","TIME","EVENTTYPE","FA","TRIPTYPE","CAUSE","CHZDZQK","HANDLE","ERROBRIEF"};
  543. list = FilesUtil.readExecleasy(fileItem, titleKey, 1);
  544. if (list.size() == 0) {
  545. throw new MINBusinessException("无数据,请添加数据");//无数据,请添加数据
  546. }
  547. // 详情数据存入数据库
  548. for (Map<String,String> excelMap : list) {
  549. String fileDetailId = db.getMybatisMapper(SequenceMapper.class).getSequence("FILE_DETAIL_05_NO");
  550. DwFileDetail07 fileDetail07 = new DwFileDetail07();
  551. fileDetail07.setId(fileDetailId);
  552. fileDetail07.setNo(excelMap.get("NO"));
  553. fileDetail07.setType(excelMap.get("TYPE"));
  554. fileDetail07.setUnit(excelMap.get("UNIT"));
  555. fileDetail07.setDevice(excelMap.get("DEVICE"));
  556. fileDetail07.setTime(excelMap.get("TIME"));
  557. fileDetail07.setEventtype(excelMap.get("EVENTTYPE"));
  558. fileDetail07.setFa(excelMap.get("FA"));
  559. fileDetail07.setTriptype(excelMap.get("TRIPTYPE"));
  560. fileDetail07.setCause(excelMap.get("CAUSE"));
  561. fileDetail07.setChzdzqk(excelMap.get("CHZDZQK"));
  562. fileDetail07.setHandle(excelMap.get("HANDLE"));
  563. fileDetail07.setErrobrief(excelMap.get("ERROBRIEF"));
  564. db.insertSelective(DwFileDetail07Mapper.class, fileDetail07);
  565. }
  566. //客户信息明细
  567. }else if(Constant.FILE_DETAIL_TYPE_07.equals(fileType)){
  568. //标题对应key
  569. String[] titleKey = new String[]{
  570. };
  571. String[] titleValue = new String[]{
  572. "所属文件id"
  573. };
  574. //验证模板是否正确
  575. Map<String,Object> header = new HashMap<String, Object>();
  576. List<String[]> headerTitle = new ArrayList<String[]>();
  577. headerTitle.add(titleKey);
  578. headerTitle.add(titleValue);
  579. if(headerTitle == null || headerTitle.isEmpty()){
  580. System.out.println("标题列为空");
  581. } else {
  582. header.put("headerRows",headerTitle.size() - 1);
  583. header.put("header",headerTitle);
  584. header.put("cols",headerTitle.get(headerTitle.size() -1).length);
  585. boolean b = ExcelTemplateUtil.verificationExcelHeadLine(fileItem,header);
  586. if (!b) {
  587. System.out.println("导入模板不一致");
  588. }
  589. //读取excel数据
  590. list = FilesUtil.readExecleasy(fileItem, titleKey, 1);
  591. // 详情数据存入数据库
  592. for (Map<String,String> excelMap : list) {
  593. String fileDetailId = db.getMybatisMapper(SequenceMapper.class).getSequence("FILE_DETAIL_05_NO");
  594. DwFileDetail07 fileDetail07 = new DwFileDetail07();
  595. fileDetail07.setId(fileDetailId);
  596. }
  597. }
  598. //配变过重载
  599. }else if(Constant.FILE_DETAIL_TYPE_08.equals(fileType)){
  600. //标题对应key
  601. String[] titleKey = new String[]{"SEQU","MONTH","UNIT","BZMC","XLMC","GBMC","FZL","ZDFZL","ZDFZLFSSK","EDRL","GZZYYFL","JTYY",
  602. "JJCSFL","JTJJCS","WCSJ","SXBPHL","AXDL","BXDL","CXDL","YHSL","GZSC","ZZSC","PMSID","YXID"};
  603. String[] titleValue = new String[]{
  604. "序号","月份","单位","维护班组","所属线路","公变名称","负载率(%)",
  605. "最大负载率(%)","最大负载率发生时刻时间","额定容量(kVA)","重载原因分类",
  606. "具体原因\n" +
  607. "(详细说明原因情况)","解决措施分类","具体解决措施\n" +
  608. "(详细说明解决措施)",
  609. "完成时间\n" +
  610. "(格式:2020/01/01)","三相不平衡率(%)(最大负荷)","A相电流(A)","B相电流(A)",
  611. "C相电流(A)","用户数量","过载时长","重载时长","PMSID","营销ID"
  612. };
  613. //验证模板是否正确
  614. Map<String,Object> header = new HashMap<String, Object>();
  615. List<String[]> headerTitle = new ArrayList<String[]>();
  616. headerTitle.add(titleValue);
  617. if(headerTitle == null || headerTitle.isEmpty()){
  618. System.out.println("标题列为空");
  619. } else {
  620. header.put("headerRows",headerTitle.size() - 1);
  621. header.put("header",headerTitle);
  622. header.put("cols",headerTitle.get(headerTitle.size() -1).length);
  623. boolean b = ExcelTemplateUtil.verificationExcelHeadLine(fileItem,header);
  624. if (!b) {
  625. throw new MINBusinessException("导入模板不一致,请使用正确模板");//无数据,请添加数据
  626. }
  627. //读取excel数据
  628. list = FilesUtil.readExecleasy(fileItem, titleKey, 1);
  629. if(list == null || list.isEmpty()){
  630. System.out.println("");
  631. throw new MINBusinessException("无数据,请添加数据");//无数据,请添加数据
  632. }
  633. SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");//注意月份是MM
  634. DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
  635. DateTimeFormatter fa = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
  636. List<DwFileDetail09> ll = new ArrayList<DwFileDetail09>();
  637. // 详情数据存入数据库
  638. for (Map<String,String> excelMap : list) {
  639. DwFileDetail09 fileDetail09 = new DwFileDetail09();
  640. fileDetail09.setSequ(Integer.valueOf(StringUtil.ObjToInt(excelMap.get("SEQU"))));
  641. fileDetail09.setId(UUID.randomUUID().toString().replace("-", ""));
  642. fileDetail09.setMonth(Integer.valueOf(StringUtil.ObjToInt(excelMap.get("MONTH"))));
  643. fileDetail09.setUnit(excelMap.get("UNIT"));
  644. fileDetail09.setBzmc(excelMap.get("BZMC"));
  645. fileDetail09.setGbmc(excelMap.get("GBMC"));
  646. fileDetail09.setXlmc(excelMap.get("XLMC"));
  647. fileDetail09.setFzl(Float.valueOf(StringUtil.ObjToFloat(excelMap.get("FZL"))));
  648. fileDetail09.setZdfzl(Float.valueOf(StringUtil.ObjToFloat(excelMap.get("ZDFZL"))));
  649. fileDetail09.setZdfzlfssk(excelMap.get("ZDFZLFSSK"));
  650. fileDetail09.setEdrl(Float.valueOf(StringUtil.ObjToFloat(excelMap.get("EDRL"))));
  651. fileDetail09.setGzzyyfl(excelMap.get("GZZYYFL"));
  652. fileDetail09.setJtyy(excelMap.get("JTYY"));
  653. fileDetail09.setJjcsfl(excelMap.get("JJCSFL"));
  654. fileDetail09.setJtjjcs(excelMap.get("JTJJCS"));
  655. String wcsj = excelMap.get("WCSJ");
  656. if(wcsj != null && !"".equals(wcsj)){
  657. LocalDateTime ldt = LocalDateTime.parse(wcsj,dtf);
  658. String datetime = ldt.format(fa);
  659. fileDetail09.setWcsj(simpleDateFormat.parse(datetime.replaceAll("/","-")));
  660. }
  661. fileDetail09.setSxbphl(Float.valueOf(StringUtil.ObjToFloat(excelMap.get("SXBPHL"))));
  662. fileDetail09.setAxdl(Float.valueOf(StringUtil.ObjToFloat(excelMap.get("AXDL"))));
  663. fileDetail09.setBxdl(Float.valueOf(StringUtil.ObjToFloat(excelMap.get("BXDL"))));
  664. fileDetail09.setCxdl(Float.valueOf(StringUtil.ObjToFloat(excelMap.get("CXDL"))));
  665. System.out.println("负载率:"+excelMap.get("FZL")+",最大负载率:"+excelMap.get("ZDFZL")+",A相:"+excelMap.get("AXDL")+",B相:"+excelMap.get("BXDL")+",C相:"+excelMap.get("CXDL"));
  666. fileDetail09.setGzsc(Float.valueOf(StringUtil.ObjToFloat(excelMap.get("GZSC"))));
  667. fileDetail09.setYhsl(Integer.valueOf(StringUtil.ObjToInt(excelMap.get("YHSL"))));
  668. fileDetail09.setZzsc(Float.valueOf(StringUtil.ObjToFloat(excelMap.get("ZZSC"))));
  669. fileDetail09.setYxid(excelMap.get("YXID"));
  670. fileDetail09.setPmsid(excelMap.get("PMSID"));
  671. fileDetail09.setFileId(fileId);
  672. ll.add(fileDetail09);
  673. }
  674. this.batchReportData(ll,1);
  675. }
  676. //线路过重载
  677. }else if(Constant.FILE_DETAIL_TYPE_09.equals(fileType)){
  678. //标题对应key
  679. String[] titleKey = new String[]{
  680. "SEQU","MONTH","XGSMC","BZMC","BDZMC","XLMC","EDDL","FZL","GZZYY",
  681. "GZZJTYY","JJCSFL","JTJJCS","WCSJ","GZSC","YXDL",
  682. "FSSK","ZDDL","ZDZFSSK","PBSL","PBRL","SFZDH","PMSID"};
  683. String[] titleValue = new String[]{
  684. "序号","月份","所属县公司","管理班组","变电站名称",
  685. "线路名称","额定电流(A)","负载率","过载原因分类","具体原因\n" +
  686. "(详细说明原因情况)",
  687. "解决措施分类","具体解决措施\n" +
  688. "(详细说明解决措施)","完成时间\n" +
  689. "(格式:2020/01/01)",
  690. "过载时长(小时)","运行电流(A)","发生时刻","最大电流(A)","最大值发生时刻",
  691. "配变数量(台)","配变容量(kVA)","是否自动化","PMSID"
  692. };
  693. //验证模板是否正确
  694. Map<String,Object> header = new HashMap<String, Object>();
  695. List<String[]> headerTitle = new ArrayList<String[]>();
  696. headerTitle.add(titleValue);
  697. if(headerTitle == null || headerTitle.isEmpty()){
  698. System.out.println("标题列为空");
  699. } else {
  700. header.put("headerRows",headerTitle.size() - 1);
  701. header.put("header",headerTitle);
  702. header.put("cols",headerTitle.get(headerTitle.size() -1).length);
  703. boolean b = ExcelTemplateUtil.verificationExcelHeadLine(fileItem,header);
  704. if (!b) {
  705. throw new MINBusinessException("导入模板不一致,请使用正确模板");//无数据,请添加数据
  706. }
  707. //读取excel数据
  708. list = FilesUtil.readExecleasy(fileItem, titleKey, 1);
  709. if(list == null || list.isEmpty()){
  710. throw new MINBusinessException("无数据,请添加数据");//无数据,请添加数据
  711. }
  712. List<DwFileDetail10> ll = new ArrayList<DwFileDetail10>();
  713. // 详情数据存入数据库
  714. for (Map<String,String> excelMap : list) {
  715. DwFileDetail10 fileDetail10 = new DwFileDetail10();
  716. fileDetail10.setId(UUID.randomUUID().toString().replace("-", ""));
  717. fileDetail10.setSequ(Integer.valueOf(StringUtil.ObjToInt(excelMap.get("SEQU"))));
  718. fileDetail10.setMonth(Integer.valueOf(StringUtil.ObjToInt(excelMap.get("MONTH"))));
  719. fileDetail10.setXgsmc(excelMap.get("XGSMC"));
  720. fileDetail10.setBzmc(excelMap.get("BZMC"));
  721. fileDetail10.setBdzmc(excelMap.get("BDZMC"));
  722. fileDetail10.setXlmc(excelMap.get("XLMC"));
  723. fileDetail10.setEddl(Float.valueOf(StringUtil.ObjToFloat(excelMap.get("EDDL"))));
  724. fileDetail10.setFzl(Float.valueOf(StringUtil.ObjToFloat(excelMap.get("FZL"))));
  725. fileDetail10.setGzzyy(excelMap.get("GZZYY"));
  726. fileDetail10.setGzzjtyy(excelMap.get("GZZJTYY"));
  727. fileDetail10.setJjcsfl(excelMap.get("JJCSFL"));
  728. fileDetail10.setJtjjcs(excelMap.get("JTJJCS"));
  729. String wcsj = excelMap.get("WCSJ");
  730. if(wcsj != null && !"".equals(wcsj)){
  731. fileDetail10.setWcsj(StringUtil.ObjToDate(wcsj,"1"));
  732. }
  733. fileDetail10.setGzsc(Float.valueOf(StringUtil.ObjToFloat(excelMap.get("GZSC"))));
  734. fileDetail10.setYxdl(Float.valueOf(StringUtil.ObjToFloat(excelMap.get("YXDL"))));
  735. String fssk = excelMap.get("FSSK");
  736. if(fssk != null && !"".equals(fssk)){
  737. fileDetail10.setFssk(StringUtil.ObjToDate(fssk,"2"));
  738. }
  739. fileDetail10.setZddl(Float.valueOf(StringUtil.ObjToFloat(excelMap.get("ZDDL"))));
  740. String zdzfssk = excelMap.get("ZDZFSSK");
  741. if(zdzfssk != null && !"".equals(zdzfssk)){
  742. fileDetail10.setZdzfssk(StringUtil.ObjToDate(zdzfssk,"2"));
  743. }
  744. fileDetail10.setPbsl(Integer.valueOf(StringUtil.ObjToInt(excelMap.get("PBSL"))));
  745. fileDetail10.setPbrl(Integer.valueOf(StringUtil.ObjToInt(excelMap.get("PBRL"))));
  746. fileDetail10.setSfzdh(excelMap.get("SFZDH"));
  747. fileDetail10.setPmsid(excelMap.get("PMSID"));
  748. fileDetail10.setFileId(fileId);
  749. ll.add(fileDetail10);
  750. }
  751. this.batchXlgzzReportData(ll,2);
  752. }
  753. // 故障工单信息
  754. }else if(Constant.FILE_DETAIL_TYPE_11.equals(fileType)){
  755. //标题对应key
  756. String[] titleKey = new String[]{
  757. "GDBH","GWGDBH","YHBH","GDDW","DWXCSJ", "GZPCSJ", "YJFL", "EJFL", "SJFL", "YWLXMC", "SLSH", "PGR",
  758. "PCRY", "SDR", "YHMC", "LXR", "LXDZ", "XCFL", "JJCD", "WHCD", "CQSX", "GZGS", "SLNR", "GDZT", "GZYY",
  759. "GZXX", "DYDJ", "ZDCL", "GZDZ", "LXDH", "CLJG", "HBZD", "QXZSC", "DGSC", "GZPCSC", "GZYPJG", "XCQXJL",
  760. "SCPFQXDSJ", "ZCPFQXDSJ", "ZDJDSJ", "HFSDSJ", "TJSHSJ", "GDSHSJ", "GDSJ", "ZDBM"};
  761. String[] titleValue = new String[]{
  762. "工单编号" , "国网工单号" , "用户编号" , "供电单位" , "到达现场时间" , "故障排除时间" , "一级分类" ,
  763. "二级分类" , "三级分类" , "业务类型名称" , "受理时间" , "派工人 " , "派出人员" , "锁定人 " , "用户名称" ,
  764. "联系人 " , "联系地址" , "现场分类" , "紧急程度" , "危害程度" , "产权属性" , "故障归属" , "受理内容" ,
  765. "工单状态" , "故障原因" , "故障现象" , "电压等级" , "终端处理" , "故障地址" , "联系电话" , "处理结果" ,
  766. "合并主单" , "抢修总时长(分)" , "到岗时长(分) " , "故障排除时长(分) " , "故障研判结果" , "现场抢修记录" ,
  767. "首次派发抢修队时间 " , "再次派发抢修队时间 " , "终端接单时间" , "恢复送电时间" , "提交审核时间" ,
  768. "工单审核时间" ,"归档时间" , "终端编码"
  769. };
  770. //验证模板是否正确
  771. Map<String,Object> header = new HashMap<String, Object>();
  772. List<String[]> headerTitle = new ArrayList<String[]>();
  773. headerTitle.add(titleValue);
  774. if(headerTitle == null || headerTitle.isEmpty()){
  775. System.out.println("标题列为空");
  776. } else {
  777. header.put("headerRows",headerTitle.size() - 1);
  778. header.put("header",headerTitle);
  779. header.put("cols",headerTitle.get(headerTitle.size() -1).length);
  780. boolean b = ExcelTemplateUtil.verificationExcelHeadLine(fileItem,header);
  781. if (!b) {
  782. throw new MINBusinessException("导入模板不一致,请使用正确模板");//无数据,请添加数据
  783. }
  784. //读取excel数据
  785. list = FilesUtil.readExecleasy(fileItem, titleKey, 1);
  786. if(list == null || list.isEmpty()){
  787. throw new MINBusinessException("无数据,请添加数据");//无数据,请添加数据
  788. }
  789. List<DwFileDetail11> ll = new ArrayList<DwFileDetail11>();
  790. // 详情数据存入数据库
  791. for (Map<String,String> excelMap : list) {
  792. DwFileDetail11 fileDetail11 = new DwFileDetail11();
  793. fileDetail11.setId(UUID.randomUUID().toString().replace("-", ""));
  794. fileDetail11.setGdbh(excelMap.get("GDBH"));
  795. fileDetail11.setGwgdbh(excelMap.get("GWGDBH"));
  796. fileDetail11.setYhbh(excelMap.get("YHBH"));
  797. fileDetail11.setGddw(excelMap.get("GDDW"));
  798. String dwxcsj = excelMap.get("DWXCSJ");
  799. if(dwxcsj != null && !"".equals(dwxcsj)){
  800. fileDetail11.setDwxcsj(StringUtil.ObjToDate(dwxcsj,"2"));
  801. }
  802. String gzpcsj = excelMap.get("GZPCSJ");
  803. if(gzpcsj != null && !"".equals(gzpcsj)){
  804. fileDetail11.setGzpcsj(StringUtil.ObjToDate(gzpcsj,"2"));
  805. }
  806. fileDetail11.setYjfl(excelMap.get("YJFL"));
  807. fileDetail11.setEjfl(excelMap.get("EJFL"));
  808. fileDetail11.setSjfl(excelMap.get("SJFL"));
  809. fileDetail11.setYwlxmc(excelMap.get("YWLXMC"));
  810. String slsh = excelMap.get("SLSH");
  811. if(slsh != null && !"".equals(slsh)){
  812. fileDetail11.setSlsh(StringUtil.ObjToDate(slsh,"2"));
  813. }
  814. fileDetail11.setPgr(excelMap.get("PGR"));
  815. fileDetail11.setPcry(excelMap.get("PCRY"));
  816. fileDetail11.setSdr(excelMap.get("SDR"));
  817. fileDetail11.setYhmc(excelMap.get("YHMC"));
  818. fileDetail11.setLxr(excelMap.get("LXR"));
  819. fileDetail11.setLxdz(excelMap.get("LXDZ"));
  820. fileDetail11.setXcfl(excelMap.get("XCFL"));
  821. fileDetail11.setJjcd(excelMap.get("JJCD"));
  822. fileDetail11.setWhcd(excelMap.get("WHCD"));
  823. fileDetail11.setCqsx(excelMap.get("CQSX"));
  824. fileDetail11.setGzgs(excelMap.get("GZGS"));
  825. fileDetail11.setSlnr(excelMap.get("SLNR"));
  826. fileDetail11.setGdzt(excelMap.get("GDZT"));
  827. fileDetail11.setGzyy(excelMap.get("GZYY"));
  828. fileDetail11.setGzxx(excelMap.get("GZXX"));
  829. fileDetail11.setDydj(excelMap.get("DYDJ"));
  830. fileDetail11.setZdcl(excelMap.get("ZDCL"));
  831. fileDetail11.setGzdz(excelMap.get("GZDZ"));
  832. fileDetail11.setLxdh(excelMap.get("LXDH"));
  833. fileDetail11.setCljg(excelMap.get("CLJG"));
  834. fileDetail11.setHbzd(excelMap.get("HBZD"));
  835. fileDetail11.setQxzsc(StringUtil.ObjToFloat(excelMap.get("QXZSC")));
  836. fileDetail11.setDgsc(StringUtil.ObjToFloat(excelMap.get("DGSC")));
  837. fileDetail11.setGzpcsc(StringUtil.ObjToFloat(excelMap.get("GZPCSC")));
  838. fileDetail11.setGzypjg(excelMap.get("GZYPJG"));
  839. fileDetail11.setXcqxjl(excelMap.get("XCQXJL"));
  840. String scpfqxdsj = excelMap.get("SCPFQXDSJ");
  841. if(scpfqxdsj != null && !"".equals(scpfqxdsj)){
  842. fileDetail11.setScpfqxdsj(StringUtil.ObjToDate(scpfqxdsj,"2"));
  843. }
  844. String zcpfqxdsj = excelMap.get("ZCPFQXDSJ");
  845. if(zcpfqxdsj != null && !"".equals(zcpfqxdsj)){
  846. fileDetail11.setZcpfqxdsj(StringUtil.ObjToDate(zcpfqxdsj,"2"));
  847. }
  848. String zdjdsj = excelMap.get("ZDJDSJ");
  849. if(zdjdsj != null && !"".equals(zdjdsj)){
  850. fileDetail11.setZdjdsj(StringUtil.ObjToDate(zdjdsj,"2"));
  851. }
  852. String hfsdsj = excelMap.get("HFSDSJ");
  853. if(hfsdsj != null && !"".equals(hfsdsj)){
  854. fileDetail11.setHfsdsj(StringUtil.ObjToDate(hfsdsj,"2"));
  855. }
  856. String tjshsj = excelMap.get("TJSHSJ");
  857. if(tjshsj != null && !"".equals(tjshsj)){
  858. fileDetail11.setTjshsj(StringUtil.ObjToDate(tjshsj,"2"));
  859. }
  860. String gdshsj = excelMap.get("GDSHSJ");
  861. if(gdshsj != null && !"".equals(gdshsj)){
  862. fileDetail11.setGdshsj(StringUtil.ObjToDate(gdshsj,"2"));
  863. }
  864. String gdsj = excelMap.get("GDSJ");
  865. if(gdsj != null && !"".equals(gdsj)){
  866. fileDetail11.setGdsj(StringUtil.ObjToDate(gdsj,"2"));
  867. }
  868. fileDetail11.setZdbm(excelMap.get("ZDBM"));
  869. fileDetail11.setFileId(fileId);
  870. ll.add(fileDetail11);
  871. }
  872. this.batchGzgdReportData(ll,2);
  873. }
  874. // 95598工单(新)
  875. }else if(Constant.FILE_DETAIL_TYPE_12.equals(fileType)){
  876. //标题对应key
  877. String[] titleKey = ReportConstant.REPORT_955982_TITLEKEY;
  878. String[] titleValue = ReportConstant.REPORT_955982_TITLEVALUE;
  879. //验证模板是否正确
  880. Map<String,Object> header = new HashMap<String, Object>();
  881. List<String[]> headerTitle = new ArrayList<String[]>();
  882. headerTitle.add(titleValue);
  883. if(headerTitle == null || headerTitle.isEmpty()){
  884. System.out.println("标题列为空");
  885. } else {
  886. header.put("headerRows",headerTitle.size() - 1);
  887. header.put("header",headerTitle);
  888. header.put("cols",headerTitle.get(headerTitle.size() -1).length);
  889. boolean b = ExcelTemplateUtil.verificationExcelHeadLine(fileItem,header);
  890. if (!b) {
  891. throw new MINBusinessException("导入模板不一致,请使用正确模板");//无数据,请添加数据
  892. }
  893. //读取excel数据
  894. list = FilesUtil.readExecleasy(fileItem, titleKey, 1);
  895. if(list == null || list.isEmpty()){
  896. throw new MINBusinessException("无数据,请添加数据");//无数据,请添加数据
  897. }
  898. List<DwFileDetail12> ll = new ArrayList<DwFileDetail12>();
  899. // 详情数据存入数据库
  900. for (Map<String,String> excelMap : list) {
  901. DwFileDetail12 fileDetail12 = new DwFileDetail12();
  902. fileDetail12.setId(UUID.randomUUID().toString().replace("-", ""));
  903. fileDetail12.setSequ(StringUtil.ObjToInt(excelMap.get("SEQU")));
  904. fileDetail12.setGdbh(excelMap.get("GDBH"));
  905. fileDetail12.setGwgdbh(excelMap.get("GWGDBH"));
  906. fileDetail12.setZt(excelMap.get("ZT"));
  907. fileDetail12.setDbbs(excelMap.get("DBBS"));
  908. fileDetail12.setYwlx(excelMap.get("YWLX"));
  909. fileDetail12.setDqbz(excelMap.get("DQBZ"));
  910. fileDetail12.setSlry(excelMap.get("SLRY"));
  911. // fileDetail12.setSlsj(excelMap.get("SLSJ"));
  912. fileDetail12.setSlnr(excelMap.get("SLNR"));
  913. fileDetail12.setYhbh(excelMap.get("YHBH"));
  914. fileDetail12.setYhmc(excelMap.get("YHMC"));
  915. fileDetail12.setLxdz(excelMap.get("LXDZ"));
  916. fileDetail12.setLxdh(excelMap.get("LXDH"));
  917. fileDetail12.setHfnr(excelMap.get("HFNR"));
  918. fileDetail12.setYjfl(excelMap.get("YJFL"));
  919. fileDetail12.setEjfl(excelMap.get("EJFL"));
  920. fileDetail12.setYwzl(excelMap.get("YWZL"));
  921. fileDetail12.setSjdw(excelMap.get("SJDW"));
  922. fileDetail12.setGddw(excelMap.get("GDDW"));
  923. fileDetail12.setCbd(excelMap.get("CBD"));
  924. fileDetail12.setCljg(excelMap.get("CLJG"));
  925. fileDetail12.setCldw(excelMap.get("CLDW"));
  926. fileDetail12.setClbm(excelMap.get("CLBM"));
  927. fileDetail12.setGds(excelMap.get("GDS"));
  928. fileDetail12.setSsbz(excelMap.get("SSBZ"));
  929. fileDetail12.setGlgd(excelMap.get("GLGD"));
  930. fileDetail12.setWtyyfl(excelMap.get("WTYYFL"));
  931. fileDetail12.setGdfj(excelMap.get("GDFJ"));
  932. fileDetail12.setZrbm(excelMap.get("ZRBM"));
  933. String gdsj = excelMap.get("GDSJ");
  934. if(gdsj != null && !"".equals(gdsj)){
  935. fileDetail12.setGdsj(StringUtil.ObjToDate(gdsj,"1"));
  936. }
  937. String gqsj = excelMap.get("GQSJ");
  938. if(gqsj != null && !"".equals(gqsj)){
  939. fileDetail12.setGqsj(StringUtil.ObjToDate(gqsj,"1"));
  940. }
  941. fileDetail12.setGqyy(excelMap.get("GQYY"));
  942. fileDetail12.setFwqd(excelMap.get("FWQD"));
  943. fileDetail12.setSjthzryy(excelMap.get("SJTHZRYY"));
  944. fileDetail12.setSjhtzryy2(excelMap.get("SJHTZRYY2"));
  945. fileDetail12.setGddwg(excelMap.get("GDDWG"));
  946. fileDetail12.setCldwg(excelMap.get("CLDWG"));
  947. fileDetail12.setZby(excelMap.get("ZBY"));
  948. fileDetail12.setSsdwgs(excelMap.get("SSDWGS"));
  949. fileDetail12.setXlsgs(excelMap.get("XLSGS"));
  950. fileDetail12.setSsdw(excelMap.get("SSDW"));
  951. fileDetail12.setXlx1(excelMap.get("XLX1"));
  952. fileDetail12.setXls2(excelMap.get("XLS2"));
  953. fileDetail12.setBz(excelMap.get("BZ"));
  954. fileDetail12.setFileId(fileId);
  955. ll.add(fileDetail12);
  956. }
  957. this.batch95598gdReportData(ll,2);
  958. }
  959. //配变重过载-日报周报
  960. }else if(Constant.FILE_DETAIL_TYPE_13.equals(fileType) || Constant.FILE_DETAIL_TYPE_14.equals(fileType)
  961. || Constant.FILE_DETAIL_TYPE_15.equals(fileType) || Constant.FILE_DETAIL_TYPE_16.equals(fileType)){
  962. String ytype = "1";
  963. if(Constant.FILE_DETAIL_TYPE_13.equals(fileType)){
  964. ytype = "1";
  965. }else if(Constant.FILE_DETAIL_TYPE_14.equals(fileType)){
  966. ytype = "2";
  967. }else if(Constant.FILE_DETAIL_TYPE_15.equals(fileType)){
  968. ytype = "3";
  969. }else if(Constant.FILE_DETAIL_TYPE_16.equals(fileType)){
  970. ytype = "4";
  971. }
  972. //标题对应key
  973. String[] titleKey = new String[]{"SEQU","UNIT","XUNIT","BZMC","XLMC","GBMC","FZL","ZDFZL","ZDFZLFSSK",
  974. "EDRL","SXBPHL","AXDL","BXDL","CXDL","AXDY","BXDY","CXDY","YGGL","WGGL","YHSL","GZSC",
  975. "ZZSC","GLYS","SFMGD","PMSID","YXID","DATA_SOURCE", "DATA_TYPE","JTYY","JTJJCS"};
  976. String[] titleValue = new String[]{
  977. "序号", "供电单位", "直供/县公司", "维护班组", "所属线路", "公变名称", "负载率(%)", "最大负载率(%)",
  978. "最大负载率发生时刻时间", "额定容量(kVA)", "三相不平衡率(%)(最大负荷)", "A相电流(A)", "B相电流(A)",
  979. "C相电流(A)", "A相电压(V)", "B相电压(V)", "C相电压(V)", "有功功率(kw)", "无功功率(kVar)", "用户数量",
  980. "过载时长", "重载时长", "功率因数", "是否煤改电", "PMSID", "营销ID", "数据来源", "原因", "措施"
  981. };
  982. //验证模板是否正确
  983. Map<String,Object> header = new HashMap<String, Object>();
  984. List<String[]> headerTitle = new ArrayList<String[]>();
  985. headerTitle.add(titleValue);
  986. if(headerTitle == null || headerTitle.isEmpty()){
  987. System.out.println("标题列为空");
  988. } else {
  989. header.put("headerRows",headerTitle.size() - 1);
  990. header.put("header",headerTitle);
  991. header.put("cols",headerTitle.get(headerTitle.size() -1).length);
  992. // boolean b = ExcelTemplateUtil.verificationExcelHeadLine(fileItem,header);
  993. // if (!b) {
  994. // throw new MINBusinessException("导入模板不一致,请使用正确模板");//无数据,请添加数据
  995. // }
  996. //读取excel数据
  997. list = FilesUtil.readExecleasy(fileItem, titleKey, 1);
  998. if(list == null || list.isEmpty()){
  999. System.out.println("");
  1000. throw new MINBusinessException("无数据,请添加数据");//无数据,请添加数据
  1001. }
  1002. List<DwFileDetail13> ll = new ArrayList<DwFileDetail13>();
  1003. // 详情数据存入数据库
  1004. for (Map<String,String> excelMap : list) {
  1005. DwFileDetail13 fileDetail13 = new DwFileDetail13();
  1006. fileDetail13.setId(UUID.randomUUID().toString().replace("-", ""));
  1007. fileDetail13.setSequ(StringUtil.ObjToInt(excelMap.get("SEQU")));
  1008. fileDetail13.setUnit(excelMap.get("UNIT"));
  1009. fileDetail13.setXunit(excelMap.get("XUNIT"));
  1010. fileDetail13.setBzmc(excelMap.get("BZMC"));
  1011. fileDetail13.setXlmc(excelMap.get("XLMC"));
  1012. fileDetail13.setGbmc(excelMap.get("GBMC"));
  1013. fileDetail13.setFzl(StringUtil.ObjToFloat(excelMap.get("FZL")));
  1014. fileDetail13.setZdfzl(StringUtil.ObjToFloat(excelMap.get("ZDFZL")));
  1015. fileDetail13.setZdfzlfssk(excelMap.get("ZDFZLFSSK"));
  1016. fileDetail13.setEdrl(StringUtil.ObjToFloat(excelMap.get("EDRL")));
  1017. fileDetail13.setJtyy(excelMap.get("JTYY"));
  1018. fileDetail13.setJtjjcs(excelMap.get("JTJJCS"));
  1019. fileDetail13.setSxbphl(StringUtil.ObjToFloat(excelMap.get("SXBPHL")));
  1020. fileDetail13.setAxdl(StringUtil.ObjToFloat(excelMap.get("AXDL")));
  1021. fileDetail13.setBxdl(StringUtil.ObjToFloat(excelMap.get("BXDL")));
  1022. fileDetail13.setCxdl(StringUtil.ObjToFloat(excelMap.get("CXDL")));
  1023. fileDetail13.setAxdy(StringUtil.ObjToFloat(excelMap.get("AXDY")));
  1024. fileDetail13.setBxdy(StringUtil.ObjToFloat(excelMap.get("BXDY")));
  1025. fileDetail13.setCxdy(StringUtil.ObjToFloat(excelMap.get("CXDY")));
  1026. fileDetail13.setYggl(StringUtil.ObjToFloat(excelMap.get("YGGL")));
  1027. fileDetail13.setWggl(StringUtil.ObjToFloat(excelMap.get("WGGL")));
  1028. fileDetail13.setGzsc(StringUtil.ObjToFloat(excelMap.get("GZSC")));
  1029. fileDetail13.setYhsl(StringUtil.ObjToInt(excelMap.get("YHSL")));
  1030. fileDetail13.setZzsc(StringUtil.ObjToFloat(excelMap.get("ZZSC")));
  1031. fileDetail13.setGlys(StringUtil.ObjToFloat(excelMap.get("GLYS")));
  1032. fileDetail13.setSfmgd(excelMap.get("SFMGD"));
  1033. fileDetail13.setYxid(excelMap.get("YXID"));
  1034. fileDetail13.setPmsid(excelMap.get("PMSID"));
  1035. fileDetail13.setDataSource(excelMap.get("DATA_SOURCE"));
  1036. fileDetail13.setDataType(excelMap.get("DATA_TYPE"));
  1037. fileDetail13.setDataType(ytype);
  1038. fileDetail13.setFileId(fileId);
  1039. ll.add(fileDetail13);
  1040. }
  1041. this.batchPbzgzReportData(ll,1);
  1042. }
  1043. }else if(Constant.FILE_DETAIL_TYPE_17.equals(fileType) || Constant.FILE_DETAIL_TYPE_18.equals(fileType)
  1044. || Constant.FILE_DETAIL_TYPE_19.equals(fileType) || Constant.FILE_DETAIL_TYPE_20.equals(fileType)){
  1045. String ytype = "1";
  1046. if(Constant.FILE_DETAIL_TYPE_17.equals(fileType)){
  1047. ytype = "1";
  1048. }else if(Constant.FILE_DETAIL_TYPE_18.equals(fileType)){
  1049. ytype = "2";
  1050. }else if(Constant.FILE_DETAIL_TYPE_19.equals(fileType)){
  1051. ytype = "3";
  1052. }else if(Constant.FILE_DETAIL_TYPE_20.equals(fileType)){
  1053. ytype = "4";
  1054. }
  1055. //标题对应key
  1056. String[] titleKey = new String[]{
  1057. "SEQU","SSSGS","XGSMC","BZMC","BDZMC","XLMC","EDDL","FZL","GZSC","YXDL",
  1058. "FSSK","ZDDL","ZDZFSSK","PBSL","PBRL","SFZDH","PMSID","GZZJTYY","JTJJCS"};
  1059. String[] titleValue = new String[]{
  1060. "序号","所属市公司","所属县公司","管理班组","变电站名称", "线路名称","额定电流(A)","负载率",
  1061. "过载时长(小时)","运行电流(A)","发生时刻","最大电流(A)","最大值发生时刻",
  1062. "配变数量(台)","配变容量(kVA)","是否自动化","PMSID","原因", "措施"
  1063. };
  1064. //验证模板是否正确
  1065. Map<String,Object> header = new HashMap<String, Object>();
  1066. List<String[]> headerTitle = new ArrayList<String[]>();
  1067. headerTitle.add(titleValue);
  1068. if(headerTitle == null || headerTitle.isEmpty()){
  1069. System.out.println("标题列为空");
  1070. } else {
  1071. header.put("headerRows",headerTitle.size() - 1);
  1072. header.put("header",headerTitle);
  1073. header.put("cols",headerTitle.get(headerTitle.size() -1).length);
  1074. // boolean b = ExcelTemplateUtil.verificationExcelHeadLine(fileItem,header);
  1075. // if (!b) {
  1076. // throw new MINBusinessException("导入模板不一致,请使用正确模板");//无数据,请添加数据
  1077. // }
  1078. //读取excel数据
  1079. list = FilesUtil.readExecleasy(fileItem, titleKey, 1);
  1080. if(list == null || list.isEmpty()){
  1081. throw new MINBusinessException("无数据,请添加数据");//无数据,请添加数据
  1082. }
  1083. List<DwFileDetail17> ll = new ArrayList<DwFileDetail17>();
  1084. // 详情数据存入数据库
  1085. for (Map<String,String> excelMap : list) {
  1086. DwFileDetail17 fileDetail17 = new DwFileDetail17();
  1087. fileDetail17.setId(UUID.randomUUID().toString().replace("-", ""));
  1088. fileDetail17.setSequ(StringUtil.ObjToInt(excelMap.get("SEQU")));
  1089. fileDetail17.setSssgs(StringUtil.ObjectToString(excelMap.get("SSSGS")));
  1090. fileDetail17.setXgsmc(excelMap.get("XGSMC"));
  1091. fileDetail17.setBzmc(excelMap.get("BZMC"));
  1092. fileDetail17.setBdzmc(excelMap.get("BDZMC"));
  1093. fileDetail17.setXlmc(excelMap.get("XLMC"));
  1094. fileDetail17.setEddl(StringUtil.ObjToFloat(excelMap.get("EDDL")));
  1095. fileDetail17.setFzl(StringUtil.ObjToFloat(excelMap.get("FZL")));
  1096. fileDetail17.setGzzjtyy(excelMap.get("GZZJTYY"));
  1097. fileDetail17.setJtjjcs(excelMap.get("JTJJCS"));
  1098. fileDetail17.setGzsc(StringUtil.ObjToFloat(excelMap.get("GZSC")));
  1099. fileDetail17.setYxdl(StringUtil.ObjToFloat(excelMap.get("YXDL")));
  1100. String fssk = excelMap.get("FSSK");
  1101. if(fssk != null && !"".equals(fssk)){
  1102. fileDetail17.setFssk(StringUtil.ObjToDate(fssk,"2"));
  1103. }
  1104. fileDetail17.setZddl(StringUtil.ObjToFloat(excelMap.get("ZDDL")));
  1105. String zdzfssk = excelMap.get("ZDZFSSK");
  1106. if(zdzfssk != null && !"".equals(zdzfssk)){
  1107. fileDetail17.setZdzfssk(StringUtil.ObjToDate(zdzfssk,"2"));
  1108. }
  1109. fileDetail17.setPbsl(StringUtil.ObjToInt(excelMap.get("PBSL")));
  1110. fileDetail17.setPbrl(StringUtil.ObjToInt(excelMap.get("PBRL")));
  1111. fileDetail17.setSfzdh(excelMap.get("SFZDH"));
  1112. fileDetail17.setPmsid(excelMap.get("PMSID"));
  1113. fileDetail17.setDataType(ytype);
  1114. fileDetail17.setFileId(fileId);
  1115. ll.add(fileDetail17);
  1116. }
  1117. this.batchXlzgzReportData(ll,2);
  1118. }
  1119. }else if(Constant.FILE_DETAIL_TYPE_22.equals(fileType) ){
  1120. //标题对应key
  1121. String[] titleKey = FilesUtil.REPORT_KEY_22;
  1122. String[] titleValue =FilesUtil.REPORT_TITLE_22;
  1123. Map<String,String> param = new HashMap<>();
  1124. param.put("fileType",fileType);
  1125. param.put("fileId",fileId);
  1126. //验证模板是否正确
  1127. Map<String,Object> header = new HashMap<String, Object>();
  1128. List<String[]> headerTitle = new ArrayList<String[]>();
  1129. headerTitle.add(titleValue);
  1130. if(headerTitle == null || headerTitle.isEmpty()){
  1131. System.out.println("标题列为空");
  1132. } else {
  1133. header.put("headerRows",headerTitle.size() - 1);
  1134. header.put("header",headerTitle);
  1135. header.put("cols",headerTitle.get(headerTitle.size() -1).length);
  1136. //读取excel数据
  1137. list = FilesUtil.readExecleasy(fileItem, titleKey, 1);
  1138. if(list == null || list.isEmpty()){
  1139. throw new MINBusinessException("无数据,请添加数据");//无数据,请添加数据
  1140. }
  1141. this.comBatchReportData(param,list);
  1142. }
  1143. }else if(Constant.FILE_DETAIL_TYPE_23.equals(fileType) ){
  1144. //标题对应key
  1145. String[] titleKey = FilesUtil.REPORT_KEY_23;
  1146. String[] titleValue =FilesUtil.REPORT_TITLE_23;
  1147. Map<String,String> param = new HashMap<>();
  1148. param.put("fileType",fileType);
  1149. param.put("fileId",fileId);
  1150. //验证模板是否正确
  1151. Map<String,Object> header = new HashMap<String, Object>();
  1152. List<String[]> headerTitle = new ArrayList<String[]>();
  1153. headerTitle.add(titleValue);
  1154. if(headerTitle == null || headerTitle.isEmpty()){
  1155. System.out.println("标题列为空");
  1156. } else {
  1157. header.put("headerRows",headerTitle.size() - 1);
  1158. header.put("header",headerTitle);
  1159. header.put("cols",headerTitle.get(headerTitle.size() -1).length);
  1160. //读取excel数据
  1161. list = FilesUtil.readExecleasy(fileItem, titleKey, 3);
  1162. if(list == null || list.isEmpty()){
  1163. throw new MINBusinessException("无数据,请添加数据");//无数据,请添加数据
  1164. }
  1165. this.comBatchReportData(param,list);
  1166. }
  1167. }else if(Constant.FILE_DETAIL_TYPE_24.equals(fileType) ){
  1168. //标题对应key
  1169. String[] titleKey = FilesUtil.REPORT_KEY_24;
  1170. String[] titleValue =FilesUtil.REPORT_TITLE_24;
  1171. Map<String,String> param = new HashMap<>();
  1172. param.put("fileType",fileType);
  1173. param.put("fileId",fileId);
  1174. //验证模板是否正确
  1175. Map<String,Object> header = new HashMap<String, Object>();
  1176. List<String[]> headerTitle = new ArrayList<String[]>();
  1177. headerTitle.add(titleValue);
  1178. if(headerTitle == null || headerTitle.isEmpty()){
  1179. System.out.println("标题列为空");
  1180. } else {
  1181. header.put("headerRows",headerTitle.size() - 1);
  1182. header.put("header",headerTitle);
  1183. header.put("cols",headerTitle.get(headerTitle.size() -1).length);
  1184. //读取excel数据
  1185. list = FilesUtil.readExecleasy(fileItem, titleKey, 1);
  1186. if(list == null || list.isEmpty()){
  1187. throw new MINBusinessException("无数据,请添加数据");//无数据,请添加数据
  1188. }
  1189. this.comBatchReportData(param,list);
  1190. }
  1191. }else if(Constant.FILE_DETAIL_TYPE_21.equals(fileType) ||
  1192. Constant.FILE_DETAIL_TYPE_27.equals(fileType) ||
  1193. Constant.FILE_DETAIL_TYPE_28.equals(fileType) ||
  1194. Constant.FILE_DETAIL_TYPE_29.equals(fileType) ||
  1195. Constant.FILE_DETAIL_TYPE_30.equals(fileType) ||
  1196. Constant.FILE_DETAIL_TYPE_31.equals(fileType) ||
  1197. Constant.FILE_DETAIL_TYPE_32.equals(fileType)
  1198. ){
  1199. //标题对应key
  1200. String[] titleKey = FilesUtil.REPORT_KEY_21;
  1201. String[] titleValue =FilesUtil.REPORT_TITLE_21;
  1202. Map<String,String> param = new HashMap<>();
  1203. param.put("fileType",fileType);
  1204. param.put("fileId",fileId);
  1205. //验证模板是否正确
  1206. Map<String,Object> header = new HashMap<String, Object>();
  1207. List<String[]> headerTitle = new ArrayList<String[]>();
  1208. headerTitle.add(titleValue);
  1209. if(headerTitle == null || headerTitle.isEmpty()){
  1210. System.out.println("标题列为空");
  1211. } else {
  1212. header.put("headerRows",headerTitle.size() - 1);
  1213. header.put("header",headerTitle);
  1214. header.put("cols",headerTitle.get(headerTitle.size() -1).length);
  1215. //读取excel数据
  1216. list = FilesUtil.readExecleasy(fileItem, titleKey, 1);
  1217. if(list == null || list.isEmpty()){
  1218. throw new MINBusinessException("无数据,请添加数据");//无数据,请添加数据
  1219. }
  1220. this.comBatchReportData(param,list);
  1221. }
  1222. }else if(Constant.FILE_DETAIL_TYPE_26.equals(fileType) ){
  1223. //标题对应key
  1224. String[] titleKey = FilesUtil.REPORT_KEY_26;
  1225. String[] titleValue =FilesUtil.REPORT_TITLE_26;
  1226. Map<String,String> param = new HashMap<>();
  1227. param.put("fileType",fileType);
  1228. param.put("fileId",fileId);
  1229. //验证模板是否正确
  1230. Map<String,Object> header = new HashMap<String, Object>();
  1231. List<String[]> headerTitle = new ArrayList<String[]>();
  1232. headerTitle.add(titleValue);
  1233. if(headerTitle == null || headerTitle.isEmpty()){
  1234. System.out.println("标题列为空");
  1235. } else {
  1236. header.put("headerRows",headerTitle.size() - 1);
  1237. header.put("header",headerTitle);
  1238. header.put("cols",headerTitle.get(headerTitle.size() -1).length);
  1239. //读取excel数据
  1240. list = FilesUtil.readExecleasy(fileItem, titleKey, 1);
  1241. if(list == null || list.isEmpty()){
  1242. throw new MINBusinessException("无数据,请添加数据");//无数据,请添加数据
  1243. }
  1244. this.comBatchReportData(param,list);
  1245. }
  1246. }else if(Constant.FILE_DETAIL_TYPE_33.equals(fileType) ){
  1247. //标题对应key
  1248. String[] titleKey = FilesUtil.REPORT_KEY_33;
  1249. String[] titleValue =FilesUtil.REPORT_TITLE_33;
  1250. Map<String,String> param = new HashMap<>();
  1251. param.put("fileType",fileType);
  1252. param.put("fileId",fileId);
  1253. //验证模板是否正确
  1254. Map<String,Object> header = new HashMap<String, Object>();
  1255. List<String[]> headerTitle = new ArrayList<String[]>();
  1256. headerTitle.add(titleValue);
  1257. if(headerTitle == null || headerTitle.isEmpty()){
  1258. System.out.println("标题列为空");
  1259. } else {
  1260. header.put("headerRows",headerTitle.size() - 1);
  1261. header.put("header",headerTitle);
  1262. header.put("cols",headerTitle.get(headerTitle.size() -1).length);
  1263. //读取excel数据
  1264. list = FilesUtil.readExecleasy(fileItem, titleKey, 1);
  1265. if(list == null || list.isEmpty()){
  1266. throw new MINBusinessException("无数据,请添加数据");//无数据,请添加数据
  1267. }
  1268. this.comBatchReportData(param,list);
  1269. }
  1270. }else if(Constant.FILE_DETAIL_TYPE_34.equals(fileType) ){
  1271. //标题对应key
  1272. String[] titleKey = FilesUtil.REPORT_KEY_34;
  1273. String[] titleValue =FilesUtil.REPORT_TITLE_34;
  1274. Map<String,String> param = new HashMap<>();
  1275. param.put("fileType",fileType);
  1276. param.put("fileId",fileId);
  1277. //验证模板是否正确
  1278. Map<String,Object> header = new HashMap<String, Object>();
  1279. List<String[]> headerTitle = new ArrayList<String[]>();
  1280. headerTitle.add(titleValue);
  1281. if(headerTitle == null || headerTitle.isEmpty()){
  1282. System.out.println("标题列为空");
  1283. } else {
  1284. header.put("headerRows",headerTitle.size() - 1);
  1285. header.put("header",headerTitle);
  1286. header.put("cols",headerTitle.get(headerTitle.size() - 1).length);
  1287. //读取excel数据
  1288. list = FilesUtil.readExecleasy(fileItem, titleKey, 4);
  1289. if(list == null || list.isEmpty()){
  1290. throw new MINBusinessException("无数据,请添加数据");//无数据,请添加数据
  1291. }
  1292. this.comBatchReportData(param,list);
  1293. }
  1294. }else if(Constant.FILE_DETAIL_TYPE_35.equals(fileType) ){
  1295. //标题对应key
  1296. String[] titleKey = FilesUtil.REPORT_KEY_35;
  1297. String[] titleValue =FilesUtil.REPORT_TITLE_35;
  1298. Map<String,String> param = new HashMap<>();
  1299. param.put("fileType",fileType);
  1300. param.put("fileId",fileId);
  1301. //验证模板是否正确
  1302. Map<String,Object> header = new HashMap<String, Object>();
  1303. List<String[]> headerTitle = new ArrayList<String[]>();
  1304. headerTitle.add(titleValue);
  1305. if(headerTitle == null || headerTitle.isEmpty()){
  1306. System.out.println("标题列为空");
  1307. } else {
  1308. header.put("headerRows",headerTitle.size() - 1);
  1309. header.put("header",headerTitle);
  1310. header.put("cols",headerTitle.get(headerTitle.size() -1).length);
  1311. //读取excel数据
  1312. list = FilesUtil.readExecleasy(fileItem, titleKey, 1);
  1313. if(list == null || list.isEmpty()){
  1314. throw new MINBusinessException("无数据,请添加数据");//无数据,请添加数据
  1315. }
  1316. this.comBatchReportData(param,list);
  1317. }
  1318. // 线路台账(供服)
  1319. } else if(Constant.FILE_DETAIL_TYPE_98.equals(fileType) ){
  1320. String[] titleKey = new String[]{"num","tyrq","ccbh","zcxz", "yhsl", "gbID","sskxId","sbbh","azfs","sszf","glbz","sfgsb","gdlx","gddw","sbbs","gbmc","dxt","edrl","sskx","fhqx","yxzt","xh"};
  1321. list = FilesUtil.readExecleasy(fileItem, titleKey, 1);
  1322. if (list.size() == 0) {
  1323. throw new MINBusinessException("无数据,请添加数据");//无数据,请添加数据
  1324. }
  1325. for (Map<String, String> d : list) {
  1326. DwFileDetail98 dwFileDetail98 = new DwFileDetail98();
  1327. dwFileDetail98.setId(UUID.randomUUID().toString().replace("-", ""));
  1328. dwFileDetail98.setNum(d.get("num"));
  1329. dwFileDetail98.setTyrq(d.get("tyrq"));
  1330. dwFileDetail98.setCcbh(d.get("ccbh"));
  1331. dwFileDetail98.setZcxz(d.get("zcxz"));
  1332. dwFileDetail98.setYhsl(d.get("yhsl"));
  1333. dwFileDetail98.setGbid(d.get("gbID"));
  1334. dwFileDetail98.setSskxid(d.get("sskxId"));
  1335. dwFileDetail98.setSbbh(d.get("sbbh"));
  1336. dwFileDetail98.setAzfs(d.get("azfs"));
  1337. dwFileDetail98.setSszf(d.get("sszf"));
  1338. dwFileDetail98.setGlbz(d.get("glbz"));
  1339. dwFileDetail98.setSfgsb(d.get("sfgsb"));
  1340. dwFileDetail98.setGdlx(d.get("gdlx"));
  1341. dwFileDetail98.setGddw(d.get("gddw"));
  1342. dwFileDetail98.setSbbs(d.get("sbbs"));
  1343. dwFileDetail98.setGbmc(d.get("gbmc"));
  1344. dwFileDetail98.setDxt(d.get("dxt"));
  1345. dwFileDetail98.setEdrl(d.get("edrl"));
  1346. dwFileDetail98.setSskx(d.get("sskx"));
  1347. dwFileDetail98.setFhqx(d.get("fhqx"));
  1348. dwFileDetail98.setYxzt(d.get("yxzt"));
  1349. dwFileDetail98.setXh(d.get("xh"));
  1350. dwFileDetail98.setFileid(fileId);
  1351. db.getMybatisMapper(DwFileDetail98Mapper.class).insert(dwFileDetail98);
  1352. }
  1353. // 线路台账(营销)
  1354. }else if(Constant.FILE_DETAIL_TYPE_99.equals(fileType) ){
  1355. String[] titleKey = new String[]{"num","gddw","tqbh","tq", "gdlx","zt","rl","xlbh","xlmc","sfgftq"};
  1356. list = FilesUtil.readExecleasy(fileItem, titleKey, 1);
  1357. if (list.size() == 0) {
  1358. throw new MINBusinessException("无数据,请添加数据");//无数据,请添加数据
  1359. }
  1360. for (Map<String, String> d : list) {
  1361. DwFileDetail99 dwFileDetail99 = new DwFileDetail99();
  1362. dwFileDetail99.setId(UUID.randomUUID().toString().replace("-", ""));
  1363. dwFileDetail99.setNum(d.get("num"));
  1364. dwFileDetail99.setGddw(d.get("gddw"));
  1365. dwFileDetail99.setTqbh(d.get("tqbh"));
  1366. dwFileDetail99.setTq(d.get("tq"));
  1367. dwFileDetail99.setGdlx(d.get("gdlx"));
  1368. dwFileDetail99.setZt(d.get("zt"));
  1369. dwFileDetail99.setRl(d.get("rl"));
  1370. dwFileDetail99.setXlbh(d.get("xlbh"));
  1371. dwFileDetail99.setXlmc(d.get("xlmc"));
  1372. dwFileDetail99.setSfgftq(d.get("sfgftq"));
  1373. dwFileDetail99.setFileid(fileId);
  1374. db.getMybatisMapper(DwFileDetail99Mapper.class).insert(dwFileDetail99);
  1375. }
  1376. }
  1377. // 文件名
  1378. String filePath = Service.lookup(IPropertiesService.class).getSystemProperties().get("FILE_SERVER_BASE_PATH").getKey();
  1379. String saveName = UUID.randomUUID().toString().replaceAll("-", "");
  1380. String[] fileNameArray = fileName.split("\\.");
  1381. saveName = saveName + "." + fileNameArray[fileNameArray.length - 1];
  1382. // 保存文件数据
  1383. String currentDate = DateUtil.getCurrentDateString();
  1384. User user = (User)session.getUser();
  1385. DwFileInf fileInf = new DwFileInf();
  1386. fileInf.setId(fileId);
  1387. fileInf.setUploadDate(currentDate);
  1388. fileInf.setFileName(fileName);
  1389. fileInf.setCreatUser(user.getId());
  1390. fileInf.setBranch(user.getBranchid());
  1391. fileInf.setDataNum(list.size() + "");
  1392. fileInf.setType(fileType);
  1393. fileInf.setSavePath(filePath + saveName);
  1394. db.insertSelective(DwFileInfMapper.class, fileInf);
  1395. // 保存文件到本地
  1396. FilesUtil.uploadFile(fileItem, filePath, "", saveName, 0);
  1397. return res;
  1398. }
  1399. /**
  1400. * 处理数据-入库
  1401. * @param param
  1402. * @param list
  1403. */
  1404. private void comBatchReportData(Map<String, String> param, List<Map<String, String>> list) throws MINBusinessException {
  1405. String fileId = param.get("fileId");
  1406. String fileType = param.get("fileType");
  1407. String dw = "",yf = "",qxzgdtjdw = "";
  1408. String startRq = "",endRq = "";
  1409. boolean b = false;
  1410. List<Map<String,String>> qxgdUnit = null;//抢修单位修正list
  1411. if(Constant.FILE_DETAIL_TYPE_34.equals(fileType)){//抢修单位修正
  1412. Map<String,String> param2 = new HashMap<>();
  1413. MINRowBounds rows = new MINRowBounds();
  1414. rows.setSeparateSql(false);
  1415. qxgdUnit = db.getMybatisMapper(IQxgdUnitManageMapper.class).selectTzInf(param2,rows);
  1416. }
  1417. if(list != null && list.size() > 0){
  1418. List<Map<String,String>> tempList = new ArrayList<Map<String,String>>();
  1419. int cou = 0;
  1420. for (int i = 0; i < list.size() ; i++) {
  1421. Map<String,String> temp = list.get(i);
  1422. if(Constant.FILE_DETAIL_TYPE_21.equals(fileType) ||
  1423. Constant.FILE_DETAIL_TYPE_27.equals(fileType) ||
  1424. Constant.FILE_DETAIL_TYPE_28.equals(fileType) ||
  1425. Constant.FILE_DETAIL_TYPE_29.equals(fileType) ||
  1426. Constant.FILE_DETAIL_TYPE_30.equals(fileType) ||
  1427. Constant.FILE_DETAIL_TYPE_31.equals(fileType) ||
  1428. Constant.FILE_DETAIL_TYPE_32.equals(fileType)){
  1429. //计算特殊行-取统计时段
  1430. String xfcls = StringUtil.ObjectToString(temp.get("XFCLS"));
  1431. if(i == 0){
  1432. if(xfcls.indexOf("统计时间段") >= 0){
  1433. xfcls = xfcls.substring(xfcls.indexOf("至") + 1,xfcls.length() -1);
  1434. }else{
  1435. xfcls = "";
  1436. }
  1437. if(Constant.FILE_DETAIL_TYPE_21.equals(fileType)){
  1438. if(!"".equals(xfcls)){
  1439. yf = xfcls.split("-")[1];
  1440. }
  1441. }else{
  1442. yf = xfcls;
  1443. }
  1444. }
  1445. if(!"".equals(yf)){
  1446. temp.put("YF",yf);
  1447. }
  1448. if("".equals(dw) || (!"".equals(temp.get("DW")) && !dw.equals(temp.get("DW")))){
  1449. dw = StringUtil.ObjectToString(temp.get("DW"));
  1450. }
  1451. temp.put("DW",dw);
  1452. } else if(Constant.FILE_DETAIL_TYPE_34.equals(fileType)){//抢修单位修正
  1453. if(b){
  1454. break;
  1455. }
  1456. String xh = StringUtil.ObjectToString(temp.get("XH"));
  1457. if("总计".equals(xh)){
  1458. temp.put("XH",(i + 1) + "_总计");
  1459. b = true;
  1460. }else{
  1461. temp.put("XH",(i + 1) + "");
  1462. }
  1463. //获取总计行
  1464. String qxbz = StringUtil.ObjectToString(temp.get("QXBZ"));
  1465. for (Map<String,String> mm:qxgdUnit) {
  1466. if("".equals(qxzgdtjdw)){
  1467. qxzgdtjdw = temp.get("DW");
  1468. } else{
  1469. if(!StringUtil.isEmpty(temp.get("DW")) && !qxzgdtjdw.equals(temp.get("DW"))){
  1470. qxzgdtjdw = temp.get("DW");
  1471. }
  1472. }
  1473. temp.put("DW",qxzgdtjdw);
  1474. if(!"".equals(qxbz) && qxbz.equals(mm.get("MAPP_BZ_NAME"))) {
  1475. temp.put("dwxz",mm.get("MAPP_UNIT_NAME"));
  1476. }
  1477. }
  1478. } else if(Constant.FILE_DETAIL_TYPE_35.equals(fileType)){//取统计时间段
  1479. if(i == 0){
  1480. String sjd = StringUtil.ObjectToString(temp.get("ZCSJ"));
  1481. if(!"".equals(sjd)){
  1482. sjd = sjd.substring(sjd.indexOf(":")+1,sjd.length());
  1483. startRq = sjd.split("至")[0];
  1484. endRq = sjd.split("至")[1].replaceAll("至","");
  1485. }
  1486. }
  1487. boolean flag = false;
  1488. for (int j = 0; j < FilesUtil.REPORT_TITLE_35.length; j++) {
  1489. if(temp.containsValue(FilesUtil.REPORT_TITLE_35[j])){
  1490. flag = true;
  1491. }
  1492. }
  1493. if(flag){
  1494. continue;
  1495. }
  1496. temp.put("startRq",startRq);
  1497. temp.put("endRq",endRq);
  1498. }
  1499. temp.put("index",(i + 1) + "");
  1500. temp.put("fileType",fileType);
  1501. temp.put("fileId",fileId);
  1502. temp.put("id",UUID.randomUUID().toString().replace("-", ""));
  1503. if((list.size() - i) >= 1000){
  1504. tempList.add(temp);
  1505. cou += 1;
  1506. if(cou == 1000){
  1507. this.excuteReportData(tempList,param);
  1508. cou = 0;
  1509. tempList = new ArrayList<Map<String,String>>();
  1510. }
  1511. }
  1512. if((list.size() - i) < 1000){
  1513. tempList.add(temp);
  1514. }
  1515. }
  1516. this.excuteReportData(tempList,param);
  1517. }
  1518. }
  1519. private void excuteReportData(List<Map<String, String>> tempList, Map<String, String> param) {
  1520. String type = param.get("fileType");
  1521. try {
  1522. if(Constant.FILE_DETAIL_TYPE_22.equals(type)){
  1523. db.getMybatisMapper(ICommBatchReportMapper.class).insertQqdkhsqtjgd(tempList);
  1524. } else if(Constant.FILE_DETAIL_TYPE_23.equals(type)){
  1525. db.getMybatisMapper(ICommBatchReportMapper.class).insertQnmydhzb(tempList);
  1526. } else if(Constant.FILE_DETAIL_TYPE_24.equals(type)){
  1527. db.getMybatisMapper(ICommBatchReportMapper.class).insertGdgdhzb(tempList);
  1528. } else if(Constant.FILE_DETAIL_TYPE_21.equals(type)){
  1529. db.getMybatisMapper(ICommBatchReportMapper.class).insertYtsqk(tempList);
  1530. } else if(Constant.FILE_DETAIL_TYPE_26.equals(type)){
  1531. db.getMybatisMapper(ICommBatchReportMapper.class).insertBgfwt(tempList);
  1532. } else if(Constant.FILE_DETAIL_TYPE_27.equals(type) ||
  1533. Constant.FILE_DETAIL_TYPE_28.equals(type) ||
  1534. Constant.FILE_DETAIL_TYPE_29.equals(type) ||
  1535. Constant.FILE_DETAIL_TYPE_30.equals(type) ||
  1536. Constant.FILE_DETAIL_TYPE_31.equals(type) ||
  1537. Constant.FILE_DETAIL_TYPE_32.equals(type)){
  1538. db.getMybatisMapper(ICommBatchReportMapper.class).insertGlxgdhztj(tempList);
  1539. } else if(Constant.FILE_DETAIL_TYPE_33.equals(type)){
  1540. db.getMybatisMapper(ICommBatchReportMapper.class).insertFqxlgd(tempList);
  1541. } else if(Constant.FILE_DETAIL_TYPE_34.equals(type)){
  1542. db.getMybatisMapper(ICommBatchReportMapper.class).insertQxbzgdtjb(tempList);
  1543. } else if(Constant.FILE_DETAIL_TYPE_35.equals(type)){
  1544. db.getMybatisMapper(ICommBatchReportMapper.class).insertQsgzxfsjtj(tempList);
  1545. }
  1546. } catch (MINBusinessException e) {
  1547. e.printStackTrace();
  1548. }
  1549. }
  1550. /**
  1551. *
  1552. * @param list
  1553. * @param type
  1554. */
  1555. private void batchXlzgzReportData(List<DwFileDetail17> list, int type) {
  1556. if(list != null && list.size() > 0){
  1557. List<DwFileDetail17> tempList = new ArrayList<DwFileDetail17>();
  1558. int cou = 0;
  1559. for (int i = 0; i < list.size() ; i++) {
  1560. if((list.size() - i) >= 1000){
  1561. tempList.add( list.get(i));
  1562. cou += 1;
  1563. if(cou == 1000){
  1564. try {
  1565. db.getMybatisMapper(IReportBatchMapper.class).insertXlzgzReport(tempList);
  1566. } catch (MINBusinessException e) {
  1567. e.printStackTrace();
  1568. }
  1569. cou = 0;
  1570. tempList = new ArrayList<DwFileDetail17>();
  1571. }
  1572. }
  1573. if((list.size() - i) < 1000){
  1574. tempList.add(list.get(i));
  1575. }
  1576. }
  1577. try {
  1578. db.getMybatisMapper(IReportBatchMapper.class).insertXlzgzReport(tempList);
  1579. } catch (MINBusinessException e) {
  1580. e.printStackTrace();
  1581. }
  1582. }
  1583. }
  1584. /**
  1585. * 批处理配变重过载数据
  1586. * @param list
  1587. * @param ttt
  1588. */
  1589. private void batchPbzgzReportData(List<DwFileDetail13> list, int ttt) {
  1590. if(list != null && list.size() > 0){
  1591. List<DwFileDetail13> tempList = new ArrayList<DwFileDetail13>();
  1592. int cou = 0;
  1593. for (int i = 0; i < list.size() ; i++) {
  1594. if((list.size() - i) >= 1000){
  1595. tempList.add((DwFileDetail13) list.get(i));
  1596. cou += 1;
  1597. if(cou == 1000){
  1598. try {
  1599. db.getMybatisMapper(IReportBatchMapper.class).insertPbzgzgdReport(tempList);
  1600. } catch (MINBusinessException e) {
  1601. e.printStackTrace();
  1602. }
  1603. cou = 0;
  1604. tempList = new ArrayList<DwFileDetail13>();
  1605. }
  1606. }
  1607. if((list.size() - i) < 1000){
  1608. tempList.add((DwFileDetail13) list.get(i));
  1609. }
  1610. }
  1611. try {
  1612. db.getMybatisMapper(IReportBatchMapper.class).insertPbzgzgdReport(tempList);
  1613. } catch (MINBusinessException e) {
  1614. e.printStackTrace();
  1615. }
  1616. }
  1617. }
  1618. private void batch95598gdReportData(List<DwFileDetail12> list, int type) {
  1619. {
  1620. if(list != null && list.size() > 0){
  1621. List<DwFileDetail12> tempList = new ArrayList<DwFileDetail12>();
  1622. int cou = 0;
  1623. for (int i = 0; i < list.size() ; i++) {
  1624. if((list.size() - i) >= 1000){
  1625. tempList.add((DwFileDetail12) list.get(i));
  1626. cou += 1;
  1627. if(cou == 1000){
  1628. try {
  1629. db.getMybatisMapper(IReportBatchMapper.class).insert95598gdReport(tempList);
  1630. } catch (MINBusinessException e) {
  1631. e.printStackTrace();
  1632. }
  1633. cou = 0;
  1634. tempList = new ArrayList<DwFileDetail12>();
  1635. }
  1636. }
  1637. if((list.size() - i) < 1000){
  1638. tempList.add((DwFileDetail12) list.get(i));
  1639. }
  1640. }
  1641. try {
  1642. db.getMybatisMapper(IReportBatchMapper.class).insert95598gdReport(tempList);
  1643. } catch (MINBusinessException e) {
  1644. e.printStackTrace();
  1645. }
  1646. }
  1647. }
  1648. }
  1649. /**
  1650. * @param list
  1651. * @param type
  1652. */
  1653. private void batchGzgdReportData(List<DwFileDetail11> list, int type) {
  1654. if(list != null && list.size() > 0){
  1655. List<DwFileDetail11> tempList = new ArrayList<DwFileDetail11>();
  1656. int cou = 0;
  1657. for (int i = 0; i < list.size() ; i++) {
  1658. if((list.size() - i) >= 1000){
  1659. tempList.add((DwFileDetail11) list.get(i));
  1660. cou += 1;
  1661. if(cou == 1000){
  1662. try {
  1663. db.getMybatisMapper(IReportBatchMapper.class).insertGzgdReport(tempList);
  1664. } catch (MINBusinessException e) {
  1665. e.printStackTrace();
  1666. }
  1667. cou = 0;
  1668. tempList = new ArrayList<DwFileDetail11>();
  1669. }
  1670. }
  1671. if((list.size() - i) < 1000){
  1672. tempList.add((DwFileDetail11) list.get(i));
  1673. }
  1674. }
  1675. try {
  1676. db.getMybatisMapper(IReportBatchMapper.class).insertGzgdReport(tempList);
  1677. } catch (MINBusinessException e) {
  1678. e.printStackTrace();
  1679. }
  1680. }
  1681. }
  1682. /**
  1683. * 批处理-配变过重载
  1684. * @param list
  1685. */
  1686. @Transactional
  1687. protected void batchReportData(List<DwFileDetail09> list,int type) throws MINBusinessException {
  1688. if(list != null && list.size() > 0){
  1689. List<DwFileDetail09> tempList = new ArrayList<DwFileDetail09>();
  1690. int cou = 0;
  1691. for (int i = 0; i < list.size() ; i++) {
  1692. if((list.size() - i) >= 1000){
  1693. tempList.add( list.get(i));
  1694. cou += 1;
  1695. if(cou == 1000){
  1696. try {
  1697. db.getMybatisMapper(IReportBatchMapper.class).insertPbgzzReport(tempList);
  1698. } catch (MINBusinessException e) {
  1699. e.printStackTrace();
  1700. }
  1701. cou = 0;
  1702. tempList = new ArrayList<DwFileDetail09>();
  1703. }
  1704. }
  1705. if((list.size() - i) < 1000){
  1706. tempList.add(list.get(i));
  1707. }
  1708. }
  1709. try {
  1710. db.getMybatisMapper(IReportBatchMapper.class).insertPbgzzReport(tempList);
  1711. } catch (MINBusinessException e) {
  1712. e.printStackTrace();
  1713. }
  1714. }
  1715. }
  1716. /**
  1717. * 批处理 线路过重载
  1718. * @param list
  1719. */
  1720. @Transactional
  1721. protected void batchXlgzzReportData(List<DwFileDetail10> list,int type) throws MINBusinessException {
  1722. if(list != null && list.size() > 0){
  1723. List<DwFileDetail10> tempList = new ArrayList<DwFileDetail10>();
  1724. int cou = 0;
  1725. for (int i = 0; i < list.size() ; i++) {
  1726. if((list.size() - i) >= 1000){
  1727. tempList.add( list.get(i));
  1728. cou += 1;
  1729. if(cou == 1000){
  1730. try {
  1731. db.getMybatisMapper(IReportBatchMapper.class).insertXlgzzReport(tempList);
  1732. } catch (MINBusinessException e) {
  1733. e.printStackTrace();
  1734. }
  1735. cou = 0;
  1736. tempList = new ArrayList<DwFileDetail10>();
  1737. }
  1738. }
  1739. if((list.size() - i) < 1000){
  1740. tempList.add(list.get(i));
  1741. }
  1742. }
  1743. try {
  1744. db.getMybatisMapper(IReportBatchMapper.class).insertXlgzzReport(tempList);
  1745. } catch (MINBusinessException e) {
  1746. e.printStackTrace();
  1747. }
  1748. }
  1749. }
  1750. /**
  1751. * 原始数据文件下载
  1752. * @param fileId
  1753. * @param response
  1754. * @return
  1755. * @throws MINBusinessException
  1756. * @throws IOException
  1757. */
  1758. @MINAction(value = FILE_INF_DOWNLOAD)
  1759. public HttpServletResponse fileInfDownload(
  1760. @MINParam(key = "fileId") String fileId,
  1761. HttpServletResponse response
  1762. ) throws MINBusinessException, IOException {
  1763. db = Service.lookup(IMINDataBaseService.class);
  1764. DwFileInf fileInf = db.selectByPrimaryKey(DwFileInfMapper.class, fileId);
  1765. String type = fileInf.getType();
  1766. // FilesUtil.writeFile2Response(response, fileInf.getSavePath(), fileInf.getFileName());
  1767. OutputStream os = null;
  1768. ServletOutputStream ros = null;
  1769. ros = response.getOutputStream();
  1770. os = new BufferedOutputStream(ros);
  1771. // 台区停电
  1772. if(Constant.FILE_DETAIL_TYPE_00.equals(type)) {
  1773. response.setContentType("application/application/vnd.ms-excel");
  1774. response.setHeader("Content-disposition","attachment;filename=" + URLEncoder.encode("台区停电数据.xls", "UTF-8"));
  1775. DwFileDetail00Example example = new DwFileDetail00Example();
  1776. example.createCriteria().andFileIdEqualTo(fileId);
  1777. List<DwFileDetail00> selectByExample = db.getMybatisMapper(DwFileDetail00Mapper.class).selectByExample(example);
  1778. ExportExcelUtil<DwFileDetail00> util = new ExportExcelUtil<DwFileDetail00>();
  1779. String[] header = {"系统编号","原EXCEL编号","台区编号","台区名称","数据日期","单位","供电所名称","终端名称","终端编号","终端地址码","停电时间","来电时间","所属文件id"};
  1780. util.exportExcel("台区停电", selectByExample, os, "2007", header);
  1781. } else if (Constant.FILE_DETAIL_TYPE_01.equals(type)) {
  1782. response.setContentType("application/application/vnd.ms-excel");
  1783. response.setHeader("Content-disposition","attachment;filename=" + URLEncoder.encode("终端投退运数据.xls", "UTF-8"));
  1784. DwFileDetail01Example example = new DwFileDetail01Example();
  1785. example.createCriteria().andFileIdEqualTo(fileId);
  1786. List<DwFileDetail01> selectByExample = db.getMybatisMapper(DwFileDetail01Mapper.class).selectByExample(example);
  1787. ExportExcelUtil<DwFileDetail01> util = new ExportExcelUtil<DwFileDetail01>();
  1788. String[] header = {"系统编号","编号","名称","台区名称","数据日期","单位","供电所名称","终端名称","终端编号","时间","所属文件id"};
  1789. util.exportExcel("终端投退运数据", selectByExample, os, "2007", header);
  1790. } else if (Constant.FILE_DETAIL_TYPE_02.equals(type)) {
  1791. response.setContentType("application/application/vnd.ms-excel");
  1792. response.setHeader("Content-disposition","attachment;filename=" + URLEncoder.encode("FA动作数据.xls", "UTF-8"));
  1793. DwFileDetail02Example example = new DwFileDetail02Example();
  1794. example.createCriteria().andFileIdEqualTo(fileId);
  1795. List<DwFileDetail02> selectByExample = db.getMybatisMapper(DwFileDetail02Mapper.class).selectByExample(example);
  1796. ExportExcelUtil<DwFileDetail02> util = new ExportExcelUtil<DwFileDetail02>();
  1797. String[] header = {"系统编号","原EXCEL编号","故障停电开始时间","故障停电结束时间","供电类型","出线变电站","线路名称","线路类型","启动FA","故障区间判断","故障前后段恢复","故障隔离","所属文件id"};
  1798. util.exportExcel("FA动作数据", selectByExample, os, "2007", header);
  1799. } else if (Constant.FILE_DETAIL_TYPE_03.equals(type)) {
  1800. response.setContentType("application/application/vnd.ms-excel");
  1801. response.setHeader("Content-disposition","attachment;filename=" + URLEncoder.encode("低电压数据.xls", "UTF-8"));
  1802. DwFileDetail03Example example = new DwFileDetail03Example();
  1803. example.createCriteria().andFileIdEqualTo(fileId);
  1804. List<DwFileDetail03> selectByExample = db.getMybatisMapper(DwFileDetail03Mapper.class).selectByExample(example);
  1805. ExportExcelUtil<DwFileDetail03> util = new ExportExcelUtil<DwFileDetail03>();
  1806. String[] header = {"系统编号","原EXCEL编号","市公司名称","县公司名称","变电站名称","线路名称","台区id","变压器名称","用户管理单位名称1","用户编号","用户名称","用户管理单位名称2","电压最大值","电压最小值","电压合格率","超上限率","超下限率","低压时长","供电类型","累计天数","数据日期","供电单位","所属文件id"};
  1807. util.exportExcel("低电压数据", selectByExample, os, "2007", header);
  1808. } else if (Constant.FILE_DETAIL_TYPE_04.equals(type)) {
  1809. response.setContentType("application/application/vnd.ms-excel");
  1810. response.setHeader("Content-disposition","attachment;filename=" + URLEncoder.encode("过电压数据.xls", "UTF-8"));
  1811. DwFileDetail04Example example = new DwFileDetail04Example();
  1812. example.createCriteria().andFileIdEqualTo(fileId);
  1813. List<DwFileDetail04> selectByExample = db.getMybatisMapper(DwFileDetail04Mapper.class).selectByExample(example);
  1814. ExportExcelUtil<DwFileDetail04> util = new ExportExcelUtil<DwFileDetail04>();
  1815. String[] header = {"系统编号","原EXCEL编号","市公司名称","县公司名称","变电站名称","线路名称","台区id","变压器名称","用户管理单位名称1","用户编号","用户名称","用户管理单位名称2","电压最大值","电压最小值","电压合格率","超上限率","超下限率","过电压时长","供电类型","累计天数","供电单位","数据日期","所属文件id"};
  1816. util.exportExcel("过电压数据", selectByExample, os, "2007", header);
  1817. } else if (Constant.FILE_DETAIL_TYPE_05.equals(type)) {
  1818. response.setContentType("application/application/vnd.ms-excel");
  1819. response.setHeader("Content-disposition","attachment;filename=" + URLEncoder.encode("95598工单数据.xls", "UTF-8"));
  1820. DwFileDetail05Example example = new DwFileDetail05Example();
  1821. example.createCriteria().andFileIdEqualTo(fileId);
  1822. List<DwFileDetail05> selectByExample = db.getMybatisMapper(DwFileDetail05Mapper.class).selectByExample(example);
  1823. ExportExcelUtil<DwFileDetail05> util = new ExportExcelUtil<DwFileDetail05>();
  1824. String[] header = {"系统编号","原EXCEL编号","工单编号","国网工单编号","状态","业务类型","当前步骤","受理人员",
  1825. "受理时间","受理内容","用户编号","用户名称","联系地址","联系电话","回访内容","一级分类","二级分类","业务子类",
  1826. "上级单位","供电单位","抄表段","处理结果","处理单位","处理部门","关联工单","问题原因分类","工单分级","责任部门",
  1827. "归档时间","挂起时间","挂起原因","服务渠道","省级回退责任原因","所属文件id","供电所","班组","督办标识","省级回退责任原因2",
  1828. "供电单位-改 ","处理单位-改","指标月","所属单位-公式","新类型-公式","所属单位","新类型1","新类型2","新类型3",
  1829. "新类型4","新类型5","新类型6","新类型7","新类型8","新类型9","新类型10","备注"};
  1830. util.exportExcel("95598工单数据", selectByExample, os, "2007", header);
  1831. } else if (Constant.FILE_DETAIL_TYPE_06.equals(type)) {
  1832. response.setContentType("application/application/vnd.ms-excel");
  1833. response.setHeader("Content-disposition","attachment;filename=" + URLEncoder.encode("计停非计停数据.xls", "UTF-8"));
  1834. DwFileDetail07Example example = new DwFileDetail07Example();
  1835. example.createCriteria().andFileIdEqualTo(fileId);
  1836. List<DwFileDetail07> selectByExample = db.getMybatisMapper(DwFileDetail07Mapper.class).selectByExample(example);
  1837. ExportExcelUtil<DwFileDetail07> util = new ExportExcelUtil<DwFileDetail07>();
  1838. String[] header = {"系统编号","类型","单位","设备名称","发生时间","事项类型","馈线自动化动作情况","跳闸类型","故障原因","重合闸动作情况","处理纪事","异常概况","所属文件id","原EXCEL编号"};
  1839. util.exportExcel("计停非计停数据", selectByExample, os, "2007", header);
  1840. }else if (Constant.FILE_DETAIL_TYPE_07.equals(type)) {//客户明细
  1841. }else if (Constant.FILE_DETAIL_TYPE_08.equals(type)) {//配变过重载
  1842. response.setContentType("application/application/vnd.ms-excel");
  1843. response.setHeader("Content-disposition","attachment;filename=" + URLEncoder.encode("配变过重载数据.xls", "UTF-8"));
  1844. DwFileDetail09Example example = new DwFileDetail09Example();
  1845. example.createCriteria().andFileIdEqualTo(fileId);
  1846. example.setOrderByClause("dfd9_sequ");
  1847. List<DwFileDetail09> selectByExample = db.getMybatisMapper(DwFileDetail09Mapper.class).selectByExample(example);
  1848. ExportExcelUtil<DwFileDetail09> util = new ExportExcelUtil<DwFileDetail09>();
  1849. String[] header = {"系统编号","原EXCEL编号","月份", "单位", "班组名称", "公变名称", "线路名称", "负载率(%) ",
  1850. "最大负载率(%)", "最大负载率发生时刻时间", "额定容量(kVA) ", "过(重)载原因分类 ", "具体原因(详细说明原因情况)", "解决措施分类 ",
  1851. "具体解决措施(详细说明解决措施)", "完成时间",
  1852. "三相不平衡率(%)(最大负荷) ", "A相电流(A)", "B相电流(A)", "C相电流(A)", "过载时长(小时)", "用户数量", "重载时长",
  1853. "营销ID", "PMSID", "所属文件ID",""};
  1854. util.exportExcel("配变过重载数据清单", selectByExample, os, "2007", header);
  1855. }else if (Constant.FILE_DETAIL_TYPE_09.equals(type)) {//线路过重载
  1856. response.setContentType("application/application/vnd.ms-excel");
  1857. response.setHeader("Content-disposition","attachment;filename=" + URLEncoder.encode("线路过重载数据.xls", "UTF-8"));
  1858. DwFileDetail10Example example = new DwFileDetail10Example();
  1859. example.createCriteria().andFileIdEqualTo(fileId);
  1860. example.setOrderByClause("dfd10_sequ");
  1861. List<DwFileDetail10> selectByExample = db.getMybatisMapper(DwFileDetail10Mapper.class).selectByExample(example);
  1862. ExportExcelUtil<DwFileDetail10> util = new ExportExcelUtil<DwFileDetail10>();
  1863. String[] header = {"系统编号", "原EXCEL编号","月份", "所属县公司", "班组名称 ", "变电站名称", "线路名称 ", "额定电流(A)",
  1864. "负载率(%) ", "过(重)载原因分类", "具体原因(详细说明原因情况) ", "解决措施分类 ", "具体解决措施(详细说明解决措施) ",
  1865. "完成时间 ", "过载时长(小时) ", "运行电流(A)", "发生时刻 ", "最大电流(A)", "最大值发生时刻", "配变数量(台)",
  1866. "配变容量(kVA)", "是否自动化", "PMSID", "所属文件ID", ""};
  1867. util.exportExcel("线路过重载数据清单", selectByExample, os, "2007", header);
  1868. }else if (Constant.FILE_DETAIL_TYPE_11.equals(type)) {//故障工单信息
  1869. response.setContentType("application/application/vnd.ms-excel");
  1870. response.setHeader("Content-disposition","attachment;filename=" + URLEncoder.encode("故障工单数据.xls", "UTF-8"));
  1871. DwFileDetail11Example example = new DwFileDetail11Example();
  1872. example.createCriteria().andFileIdEqualTo(fileId);
  1873. example.setOrderByClause("dfd11_sequ");
  1874. List<DwFileDetail11> selectByExample = db.getMybatisMapper(DwFileDetail11Mapper.class).selectByExample(example);
  1875. ExportExcelUtil<DwFileDetail11> util = new ExportExcelUtil<DwFileDetail11>();
  1876. String[] header = {"系统编号", "原EXCEL编号", "工单编号", "国网工单号", "用户编号", "供电单位", "到达现场时间", "故障排除时间", "一级分类",
  1877. "二级分类", "三级分类", "业务类型名称", "受理时间", "派工人", "派出人员", "锁定人", "用户名称", "联系人", "联系地址",
  1878. "现场分类", "紧急程度", "危害程度", "产权属性", "故障归属", "受理内容", "工单状态", "故障原因", "故障现象", "电压等级",
  1879. "终端处理", "故障地址", "联系电话", "处理结果", "合并主单", "抢修总时长(分)", "到岗时长(分)", "故障排除时长(分)",
  1880. "故障研判结果", "现场抢修记录", "首次派发抢修队时间", "再次派发抢修队时间", "终端接单时间", "恢复送电时间",
  1881. "提交审核时间", "工单审核时间", "归档时间", "终端编码", "所属文件ID", ""};
  1882. util.exportExcel("故障工单信息数据清单", selectByExample, os, "2007", header);
  1883. }else if (Constant.FILE_DETAIL_TYPE_12.equals(type)) {//95598工单-新
  1884. response.setContentType("application/application/vnd.ms-excel");
  1885. response.setHeader("Content-disposition","attachment;filename=" + URLEncoder.encode("故障工单数据.xls", "UTF-8"));
  1886. DwFileDetail12Example example = new DwFileDetail12Example();
  1887. example.createCriteria().andFileIdEqualTo(fileId);
  1888. example.setOrderByClause("dfd12_sequ");
  1889. List<DwFileDetail12> selectByExample = db.getMybatisMapper(DwFileDetail12Mapper.class).selectByExample(example);
  1890. ExportExcelUtil<DwFileDetail12> util = new ExportExcelUtil<DwFileDetail12>();
  1891. String[] header = {"系统编号", "原EXCEL编号","工单编号", "国网工单编号", "状态", "督办标识", "业务类型", "当前步骤", "受理人员", "受理时间", "受理内容",
  1892. "用户编号", "用户名称", "联系地址", "联系电话", "回访内容", "一级分类", "二级分类", "业务子类", "上级单位",
  1893. "供电单位", "抄表段", "处理结果", "处理单位", "处理部门", "供电所", "班组", "关联工单", "问题原因分类",
  1894. "工单分级", "责任部门", "归档时间", "挂起时间", "挂起原因", "服务渠道", "省级回退责任原因", "省级回退责任原因",
  1895. "供电单位-改", "处理单位-改", "指标月", "所属单位-公式", "新类型-公式", "所属单位", "新类型1", "新类型2(子类)", "备注","所属文件",""};
  1896. util.exportExcel("95598工单数据清单", selectByExample, os, "2007", header);
  1897. }else if (Constant.FILE_DETAIL_TYPE_13.equals(type) || Constant.FILE_DETAIL_TYPE_14.equals(type)
  1898. || Constant.FILE_DETAIL_TYPE_15.equals(type) || Constant.FILE_DETAIL_TYPE_16.equals(type)
  1899. ) {//配变重过载-新
  1900. response.setContentType("application/application/vnd.ms-excel");
  1901. response.setHeader("Content-disposition","attachment;filename=" + URLEncoder.encode("重过载明细数据.xls", "UTF-8"));
  1902. DwFileDetail13Example example = new DwFileDetail13Example();
  1903. example.createCriteria().andFileIdEqualTo(fileId);
  1904. example.setOrderByClause("dfd13_sequ");
  1905. String title = "";
  1906. if(Constant.FILE_DETAIL_TYPE_13.equals(type)){
  1907. example.createCriteria().andDataTypeEqualTo("1");
  1908. title = "配变重载日报";
  1909. }else if(Constant.FILE_DETAIL_TYPE_14.equals(type)){
  1910. example.createCriteria().andDataTypeEqualTo("2");
  1911. title = "配变重载周报";
  1912. }else if(Constant.FILE_DETAIL_TYPE_15.equals(type)){
  1913. example.createCriteria().andDataTypeEqualTo("3");
  1914. title = "配变过载日报";
  1915. }else if(Constant.FILE_DETAIL_TYPE_16.equals(type)){
  1916. example.createCriteria().andDataTypeEqualTo("4");
  1917. title = "配变过载周报";
  1918. }
  1919. List<DwFileDetail13> selectByExample = db.getMybatisMapper(DwFileDetail13Mapper.class).selectByExample(example);
  1920. ExportExcelUtil<DwFileDetail13> util = new ExportExcelUtil<DwFileDetail13>();
  1921. String[] header = {"系统编号", "原EXCEL编号","月份", "单位", "直供县公司", "班组名称", "线路名称", "公变名称", "负载率(%)",
  1922. "最大负载率(%)", "最大负载率发生时刻时间", "额定容量(KVA)", "过(重)载原因分类", "具体原因(详细说明原因情况)-原因", "解决措施分类",
  1923. "具体解决措施(详细说明解决措施)-措施", "完成时间", "三相不平衡率(%)(最大负荷)", "A相电流(A)", "B相电流(A)", "C相电流(A)",
  1924. "A相电压(V)", "B相电压(V)", "C相电压(V)", "有功功率(kw)", "无功功率(kVar)", "过载时长(小时)", "用户数量", "重载时长", "功率因数",
  1925. "是否煤改电", "营销ID", "PMSID", "数据来源", "1=重载日报,2=重载周报,3=过载日报,4=过载周报", "所属文件ID"};
  1926. util.exportExcel(title, selectByExample, os, "2007", header);
  1927. }else if (Constant.FILE_DETAIL_TYPE_21.equals(type)){//
  1928. response.setContentType("application/application/vnd.ms-excel");
  1929. response.setHeader("Content-disposition","attachment;filename=" + URLEncoder.encode("月投诉情况汇总.xls", "UTF-8"));
  1930. List<DwFileDetail21> list = new ArrayList<>();
  1931. MINRowBounds rows = new MINRowBounds();
  1932. rows.setSeparateSql(false);
  1933. list = db.getMybatisMapper(IYtsqkhzReportMapper.class).selectYtsqkhz(fileId,rows);
  1934. String title = "月投诉情况汇总";
  1935. ExportExcelUtil<DwFileDetail21> util = new ExportExcelUtil<DwFileDetail21>();
  1936. String[] header = {"系统编号", "单位 ", "一级分类 ", "受理数", "直接处理数 ", "直接处理比例",
  1937. "下发处理数 ", "下发处理比例", "平均受理时间(分)", "月份 ", "序号 "
  1938. };
  1939. util.exportExcel(title, list, os, "2007", header);
  1940. }else if (Constant.FILE_DETAIL_TYPE_22.equals(type)){//
  1941. response.setContentType("application/application/vnd.ms-excel");
  1942. response.setHeader("Content-disposition","attachment;filename=" +
  1943. URLEncoder.encode("全渠道客户诉求提级工单台账.xls", "UTF-8"));
  1944. List<DwFileDetail18> list = new ArrayList<>();
  1945. MINRowBounds rows = new MINRowBounds();
  1946. rows.setSeparateSql(false);
  1947. Map<String,String> param = new HashMap<>();
  1948. param.put("fileId",fileId);
  1949. list = db.getMybatisMapper(IQqdkhsqtjgdtzReportMapper.class).selectQqdkhsqtjgdtz(param,rows);
  1950. String title = "全渠道客户诉求提级工单台账";
  1951. ExportExcelUtil<DwFileDetail18> util = new ExportExcelUtil<DwFileDetail18>();
  1952. String[] header = {"系统编号", "原EXCEL编号 ", "国网工单编号 ", "提级类型 ", "业务类型 ", "受理时间 ", "受理内容 ",
  1953. "用户编号(需人工补齐)", "用户名称 ", "联系地址 ", "联系电话 ", "一级分类 ", "二级分类 ", "业务子类 ",
  1954. "供电单位 ", "处理结果 ", "责任班所 ", "客户所在台区编号(需人工补齐)",
  1955. "客户所在小区/行政村(需人工补齐-标准化格式便于进行工单甄别)XX区/县XX街道/镇XX小区/村庄",
  1956. "是否回复 ", "是否催办 ", "首次回访情况 ", "客户满意情况 "
  1957. };
  1958. util.exportExcel(title, list, os, "2007", header);
  1959. }else if (Constant.FILE_DETAIL_TYPE_23.equals(type)){//
  1960. response.setContentType("application/application/vnd.ms-excel");
  1961. response.setHeader("Content-disposition","attachment;filename=" + URLEncoder.encode("满意度汇总.xls", "UTF-8"));
  1962. List<DwFileDetail19> list = new ArrayList<>();
  1963. MINRowBounds rows = new MINRowBounds();
  1964. rows.setSeparateSql(false);
  1965. list = db.getMybatisMapper(IQnmydReportMapper.class).selectYtsqkhz(fileId,rows);
  1966. String title = "满意度汇总";
  1967. ExportExcelUtil<DwFileDetail19> util = new ExportExcelUtil<DwFileDetail19>();
  1968. String[] header = {"系统编号","月份", "单位", "报修", "咨询", "投诉", "举报", "建议",
  1969. "意见", "服务申请", "合计", "非常满意+满意", "满意度调查总数", "满意度"
  1970. };
  1971. util.exportExcel(title, list, os, "2007", header);
  1972. }else if (Constant.FILE_DETAIL_TYPE_24.equals(type)){//归档工单
  1973. response.setContentType("application/application/vnd.ms-excel");
  1974. response.setHeader("Content-disposition","attachment;filename=" + URLEncoder.encode("归档工单汇总.xls", "UTF-8"));
  1975. List<DwFileDetail20> list = new ArrayList<>();
  1976. MINRowBounds rows = new MINRowBounds();
  1977. rows.setSeparateSql(false);
  1978. Map<String,String> param = new HashMap<>();
  1979. param.put("fileId",fileId);
  1980. list = db.getMybatisMapper(IGdgdhzReportMapper.class).selectGdgdmx(param,rows);
  1981. String title = "归档工单汇总";
  1982. ExportExcelUtil<DwFileDetail20> util = new ExportExcelUtil<DwFileDetail20>();
  1983. String[] header = {"系统编号","申请编号", "当前环节", "单位名称(省)", "单位名称(地市)", "供电单位", "旧单位",
  1984. "单位修正", "业务类型", "受理时间", "一级类型", "二级类型", "三级类型", "受理人员", "受理内容", "客户编号",
  1985. "客户名称", "联系人", "联系地址", "联系电话", "现场地址", "现场地址参照物", "工单下发时间", "归档时间",
  1986. "省接单人员", "省处理人员", "省回单确认人员", "处理结果", "处理情况", "服务语种", "客户意见", "是否属实",
  1987. "是否电力公司责任", "是否业务处理超时", "是否最终答复", "是否回访退单", "回访退单原因", "是否催办",
  1988. "关联工单", "关联停电信息", "联系电话2", "受理内容2", "处理满意度", "不满意原因"
  1989. };
  1990. util.exportExcel(title, list, os, "2007", header);
  1991. }else if (Constant.FILE_DETAIL_TYPE_26.equals(type)){//不规范问题
  1992. response.setContentType("application/application/vnd.ms-excel");
  1993. response.setHeader("Content-disposition","attachment;filename=" + URLEncoder.encode("不规范问题汇总.xls", "UTF-8"));
  1994. List<DwFileDetail26> list = new ArrayList<>();
  1995. MINRowBounds rows = new MINRowBounds();
  1996. rows.setSeparateSql(false);
  1997. list = db.getMybatisMapper(IBgfwthzReportMapper.class).selectBgfwthz(fileId,rows);
  1998. String title = "不规范问题汇总";
  1999. ExportExcelUtil<DwFileDetail26> util = new ExportExcelUtil<DwFileDetail26>();
  2000. String[] header = {"系统编号","原EXCEL编号 ","时间", "单位", "问题类型", "不规范问题", "不规范问题", "问题"};
  2001. util.exportExcel(title, list, os, "2007", header);
  2002. }else if (Constant.FILE_DETAIL_TYPE_33.equals(type)){//非抢修类工单明细
  2003. response.setContentType("application/application/vnd.ms-excel");
  2004. response.setHeader("Content-disposition","attachment;filename=" + URLEncoder.encode("非抢修类工单明细.xls", "UTF-8"));
  2005. List<DwFileDetail33> list = new ArrayList<>();
  2006. MINRowBounds rows = new MINRowBounds();
  2007. rows.setSeparateSql(false);
  2008. list = db.getMybatisMapper(IFqxlgdReportMapper.class).selectFqxlgdmx(fileId,rows);
  2009. String title = "非抢修类工单明细";
  2010. ExportExcelUtil<DwFileDetail33> util = new ExportExcelUtil<DwFileDetail33>();
  2011. String[] header = {"系统编号","原EXCEL编号","工作单编号","国网工单编号","状态","组号","业务类型","当前步骤","受理人员",
  2012. "受理时间","受理内容","用户编号","用户名称","故障地址","联系地址","联系电话","回访内容","一级分类","二级分类",
  2013. "业务子类","供电单位","抄表段","处理结果","处理单位","处理部门","关联工单","问题原因分类","工单分级","责任部门",
  2014. "归档时间","挂起时间","挂起原因","满意度考核","服务渠道","省级回退责任原因"};
  2015. util.exportExcel(title, list, os, "2007", header);
  2016. } else if (Constant.FILE_DETAIL_TYPE_98.equals(type)) {
  2017. response.setContentType("application/application/vnd.ms-excel");
  2018. response.setHeader("Content-disposition","attachment;filename=" + URLEncoder.encode("线路台账(供服).xls", "UTF-8"));
  2019. DwFileDetail98Example example = new DwFileDetail98Example();
  2020. example.createCriteria().andFileidEqualTo(fileId);
  2021. example.setOrderByClause("CONVERT(DFD98_NUM, UNSIGNED INTEGER) asc");
  2022. List<DwFileDetail98> selectByExample = db.selectByExample(DwFileDetail98Mapper.class, example);
  2023. ExportExcelUtil<DwFileDetail98> util = new ExportExcelUtil<DwFileDetail98>();
  2024. String title = "线路台账(供服)";
  2025. String[] header = {"系统编号", "序号", "投运日期","出厂编号", "资产性质", "用户数量", "公变ID", "所属馈线ID", "设备编码", "安装方式",
  2026. "所属站房", "管理班组", "是否高损变", "供电类型", "供电单位", "设备标识",
  2027. "公变名称", "单线图", "额定容量", "所属馈线", "负荷曲线", "运行状态",
  2028. "型号","所属文件id"};
  2029. util.exportExcel(title, selectByExample, os, "2007", header);
  2030. } else if (Constant.FILE_DETAIL_TYPE_99.equals(type)) {
  2031. response.setContentType("application/application/vnd.ms-excel");
  2032. response.setHeader("Content-disposition","attachment;filename=" + URLEncoder.encode("线路台账(营销).xls", "UTF-8"));
  2033. DwFileDetail99Example example = new DwFileDetail99Example();
  2034. example.createCriteria().andFileidEqualTo(fileId);
  2035. example.setOrderByClause("CONVERT(DFD99_NUM, UNSIGNED INTEGER) asc");
  2036. List<DwFileDetail99> selectByExample = db.selectByExample(DwFileDetail99Mapper.class, example);
  2037. ExportExcelUtil<DwFileDetail99> util = new ExportExcelUtil<DwFileDetail99>();
  2038. String title = "线路台账(营销)";
  2039. String[] header = {"系统编号", "编号", "供电单位","台区编号", "台区", "供电类型", "状态", "容量", "设备编码", "线路名称",
  2040. "是否光伏台区","所属文件id"};
  2041. util.exportExcel(title, selectByExample, os, "2007", header);
  2042. }
  2043. return response;
  2044. }
  2045. /**
  2046. * 原始文件删除
  2047. * @param fileId
  2048. * @param fileType
  2049. * @return
  2050. * @throws MINBusinessException
  2051. */
  2052. @MINAction(value = FILE_INF_DELETE, transaction = IMINTransactionEnum.CMT)
  2053. public MINActionResult fileInfDelete(
  2054. @MINParam(key = "fileId") String fileId,
  2055. @MINParam(key = "fileType") String fileType
  2056. ) throws MINBusinessException {
  2057. MINActionResult res = new MINActionResult();
  2058. db = Service.lookup(IMINDataBaseService.class);
  2059. // 删除原始文件--逻辑删除
  2060. DwFileInf fileInf = new DwFileInf();
  2061. fileInf.setState(Constant.FILE_INF_STATE_1);
  2062. fileInf.setId(fileId);
  2063. db.updateByPrimaryKeySelective(DwFileInfMapper.class, fileInf);
  2064. /** 删除明细 */
  2065. if (Constant.FILE_DETAIL_TYPE_00.equals(fileType)) {// 台区停电
  2066. DwFileDetail00Example fileDetail00Example = new DwFileDetail00Example();
  2067. fileDetail00Example.createCriteria().andFileIdEqualTo(fileId);
  2068. db.deleteByExample(DwFileDetail00Mapper.class, fileDetail00Example);
  2069. } else if (Constant.FILE_DETAIL_TYPE_01.equals(fileType)) {// 低电压
  2070. } else if (Constant.FILE_DETAIL_TYPE_02.equals(fileType)) {
  2071. } else if(Constant.FILE_DETAIL_TYPE_03.equals(fileType)){//低电压
  2072. DwFileDetail03Example DwFileDetail03Example = new DwFileDetail03Example();
  2073. DwFileDetail03Example.createCriteria().andFileIdEqualTo(fileId);
  2074. db.deleteByExample(DwFileDetail03Mapper.class,DwFileDetail03Example);
  2075. } else if(Constant.FILE_DETAIL_TYPE_04.equals(fileType)){//过电压
  2076. DwFileDetail04Example DwFileDetail04Example = new DwFileDetail04Example();
  2077. DwFileDetail04Example.createCriteria().andFileIdEqualTo(fileId);
  2078. db.deleteByExample(DwFileDetail04Mapper.class,DwFileDetail04Example);
  2079. } else if(Constant.FILE_DETAIL_TYPE_05.equals(fileType)){//95598工单
  2080. DwFileDetail05Example DwFileDetail05Example = new DwFileDetail05Example();
  2081. DwFileDetail05Example.createCriteria().andFileIdEqualTo(fileId);
  2082. db.deleteByExample(DwFileDetail05Mapper.class,DwFileDetail05Example);
  2083. } else if(Constant.FILE_DETAIL_TYPE_06.equals(fileType)){//计停非计停
  2084. DwFileDetail07Example DwFileDetail07Example = new DwFileDetail07Example();
  2085. DwFileDetail07Example.createCriteria().andFileIdEqualTo(fileId);
  2086. db.deleteByExample(DwFileDetail07Mapper.class,DwFileDetail07Example);
  2087. } else if(Constant.FILE_DETAIL_TYPE_07.equals(fileType)){//客户信息明细
  2088. } else if(Constant.FILE_DETAIL_TYPE_08.equals(fileType)){//配变过重载
  2089. DwFileDetail09Example DwFileDetail09Example = new DwFileDetail09Example();
  2090. DwFileDetail09Example.createCriteria().andFileIdEqualTo(fileId);
  2091. db.deleteByExample(DwFileDetail09Mapper.class,DwFileDetail09Example);
  2092. } else if(Constant.FILE_DETAIL_TYPE_09.equals(fileType)){//线路过重载
  2093. DwFileDetail10Example DwFileDetail10Example = new DwFileDetail10Example();
  2094. DwFileDetail10Example.createCriteria().andFileIdEqualTo(fileId);
  2095. db.deleteByExample(DwFileDetail10Mapper.class,DwFileDetail10Example);
  2096. }else if(Constant.FILE_DETAIL_TYPE_11.equals(fileType)){
  2097. DwFileDetail11Example DwFileDetail11Example = new DwFileDetail11Example();
  2098. DwFileDetail11Example.createCriteria().andFileIdEqualTo(fileId);
  2099. db.deleteByExample(DwFileDetail11Mapper.class,DwFileDetail11Example);
  2100. }else if(Constant.FILE_DETAIL_TYPE_12.equals(fileType)){//95598工单
  2101. DwFileDetail11Example DwFileDetail11Example = new DwFileDetail11Example();
  2102. DwFileDetail11Example.createCriteria().andFileIdEqualTo(fileId);
  2103. db.deleteByExample(DwFileDetail11Mapper.class,DwFileDetail11Example);
  2104. }else if(Constant.FILE_DETAIL_TYPE_13.equals(fileType) || Constant.FILE_DETAIL_TYPE_14.equals(fileType)
  2105. || Constant.FILE_DETAIL_TYPE_15.equals(fileType) || Constant.FILE_DETAIL_TYPE_16.equals(fileType)){
  2106. DwFileDetail13Example DwFileDetail13Example = new DwFileDetail13Example();
  2107. DwFileDetail13Example.createCriteria().andFileIdEqualTo(fileId);
  2108. db.deleteByExample(DwFileDetail13Mapper.class,DwFileDetail13Example);
  2109. }else if(Constant.FILE_DETAIL_TYPE_17.equals(fileType) || Constant.FILE_DETAIL_TYPE_18.equals(fileType)
  2110. || Constant.FILE_DETAIL_TYPE_19.equals(fileType) || Constant.FILE_DETAIL_TYPE_20.equals(fileType)){
  2111. DwFileDetail17Example DwFileDetail17Example = new DwFileDetail17Example();
  2112. DwFileDetail17Example.createCriteria().andFileIdEqualTo(fileId);
  2113. db.deleteByExample(DwFileDetail17Mapper.class,DwFileDetail17Example);
  2114. }else if(Constant.FILE_DETAIL_TYPE_21.equals(fileType) ){//月投诉情况
  2115. DwFileDetail21Example DwFileDetail21Example = new DwFileDetail21Example();
  2116. DwFileDetail21Example.createCriteria().andFileidEqualTo(fileId);
  2117. db.deleteByExample(DwFileDetail21Mapper.class,DwFileDetail21Example);
  2118. }else if(Constant.FILE_DETAIL_TYPE_22.equals(fileType) ){//全渠道客户诉求提级工单台账
  2119. DwFileDetail18Example DwFileDetail18Example = new DwFileDetail18Example();
  2120. DwFileDetail18Example.createCriteria().andFileidEqualTo(fileId);
  2121. db.deleteByExample(DwFileDetail18Mapper.class,DwFileDetail18Example);
  2122. }else if(Constant.FILE_DETAIL_TYPE_23.equals(fileType) ){//全年满意度汇总表
  2123. DwFileDetail19Example DwFileDetail19Example = new DwFileDetail19Example();
  2124. DwFileDetail19Example.createCriteria().andFileidEqualTo(fileId);
  2125. db.deleteByExample(DwFileDetail19Mapper.class,DwFileDetail19Example);
  2126. }else if(Constant.FILE_DETAIL_TYPE_24.equals(fileType) ){//归档工单汇总表
  2127. DwFileDetail20Example DwFileDetail20Example = new DwFileDetail20Example();
  2128. DwFileDetail20Example.createCriteria().andFileidEqualTo(fileId);
  2129. db.deleteByExample(DwFileDetail20Mapper.class,DwFileDetail20Example);
  2130. }else if(Constant.FILE_DETAIL_TYPE_26.equals(fileType) ){//不规范问题
  2131. DwFileDetail26Example DwFileDetail26Example = new DwFileDetail26Example();
  2132. DwFileDetail26Example.createCriteria().andFileidEqualTo(fileId);
  2133. db.deleteByExample(DwFileDetail26Mapper.class,DwFileDetail26Example);
  2134. }else if(Constant.FILE_DETAIL_TYPE_27.equals(fileType) ||
  2135. Constant.FILE_DETAIL_TYPE_28.equals(fileType) ||
  2136. Constant.FILE_DETAIL_TYPE_29.equals(fileType) ||
  2137. Constant.FILE_DETAIL_TYPE_30.equals(fileType) ||
  2138. Constant.FILE_DETAIL_TYPE_31.equals(fileType) ||
  2139. Constant.FILE_DETAIL_TYPE_32.equals(fileType) ){//
  2140. DwFileDetail27Example DwFileDetail27Example = new DwFileDetail27Example();
  2141. DwFileDetail27Example.createCriteria().andFileidEqualTo(fileId);
  2142. db.deleteByExample(DwFileDetail27Mapper.class,DwFileDetail27Example);
  2143. }else if(Constant.FILE_DETAIL_TYPE_33.equals(fileType) ){//
  2144. DwFileDetail33Example DwFileDetail33Example = new DwFileDetail33Example();
  2145. DwFileDetail33Example.createCriteria().andFileidEqualTo(fileId);
  2146. db.deleteByExample(DwFileDetail33Mapper.class,DwFileDetail33Example);
  2147. }else if(Constant.FILE_DETAIL_TYPE_34.equals(fileType) ){//
  2148. DwFileDetail34Example DwFileDetail34Example = new DwFileDetail34Example();
  2149. DwFileDetail34Example.createCriteria().andFileidEqualTo(fileId);
  2150. db.deleteByExample(DwFileDetail34Mapper.class,DwFileDetail34Example);
  2151. }else if(Constant.FILE_DETAIL_TYPE_35.equals(fileType) ){//
  2152. DwFileDetail35Example DwFileDetail35Example = new DwFileDetail35Example();
  2153. DwFileDetail35Example.createCriteria().andFileidEqualTo(fileId);
  2154. db.deleteByExample(DwFileDetail35Mapper.class,DwFileDetail35Example);
  2155. }else if(Constant.FILE_DETAIL_TYPE_98.equals(fileType) ){//
  2156. DwFileDetail98Example DwFileDetail98Example = new DwFileDetail98Example();
  2157. DwFileDetail98Example.createCriteria().andFileidEqualTo(fileId);
  2158. db.deleteByExample(DwFileDetail98Mapper.class,DwFileDetail98Example);
  2159. }else if(Constant.FILE_DETAIL_TYPE_99.equals(fileType) ){//
  2160. DwFileDetail99Example DwFileDetail99Example = new DwFileDetail99Example();
  2161. DwFileDetail99Example.createCriteria().andFileidEqualTo(fileId);
  2162. db.deleteByExample(DwFileDetail99Mapper.class,DwFileDetail99Example);
  2163. }
  2164. return res;
  2165. }
  2166. /**
  2167. * 原始文件明细查询
  2168. * @param fileId
  2169. * @param fileIdListStr
  2170. * @param fileType
  2171. * @return
  2172. * @throws MINBusinessException
  2173. */
  2174. @MINAction(value = FILE_INF_DETAIL)
  2175. public MINActionResult fileInfDetail(
  2176. @MINParam(key = "fileId") String fileId,
  2177. @MINParam(key = "fileIdListStr") String fileIdListStr,
  2178. @MINParam(key = "fileType") String fileType,
  2179. @MINParam(key = "page", defaultValue = "1") int page,
  2180. @MINParam(key = "limit", defaultValue = "100") int limit
  2181. ) throws MINBusinessException {
  2182. MINActionResult res = new MINActionResult();
  2183. db = Service.lookup(IMINDataBaseService.class);
  2184. MINRowBounds rows = new MINRowBounds(page, limit);
  2185. rows.setSeparateSql(true);
  2186. Map<String, String> param = new HashMap<String, String>();
  2187. param.put("fileId", fileId);
  2188. param.put("fileIdListStr", fileIdListStr);
  2189. param.put("fileType", fileType);
  2190. // 查询明细信息
  2191. List fileInfDetailList = Service.lookup(IDianwangService.class).queryFileInfDetail(param, rows);
  2192. res.set(IMINBusinessConstant.F_PAGING_LAY, fileInfDetailList);
  2193. res.set(IMINBusinessConstant.F_PAGING_COUNT, rows.getCount());
  2194. return res;
  2195. }
  2196. /**
  2197. * 原始数据文件下载
  2198. * @param type
  2199. * @param response
  2200. * @return
  2201. * @throws MINBusinessException
  2202. * @throws IOException
  2203. */
  2204. @MINAction(value = FILE_DATA_DOWNLOAD)
  2205. public HttpServletResponse fileDataDownload(
  2206. @MINParam(key = "type") String type,
  2207. @MINParam(key = "date") String date,
  2208. HttpServletResponse response
  2209. ) throws MINBusinessException, IOException, ParseException {
  2210. db = Service.lookup(IMINDataBaseService.class);
  2211. date = date.replaceAll(" ", "");
  2212. date = date.replaceAll("-", "");
  2213. OutputStream os = null;
  2214. ServletOutputStream ros = null;
  2215. ros = response.getOutputStream();
  2216. os = new BufferedOutputStream(ros);
  2217. // 台区停电
  2218. if(Constant.FILE_DETAIL_TYPE_00.equals(type)) {
  2219. response.setContentType("application/application/vnd.ms-excel");
  2220. response.setHeader("Content-disposition","attachment;filename=" + URLEncoder.encode(date + "台区停电数据.xls", "UTF-8"));
  2221. DwFileDetail00Example example = new DwFileDetail00Example();
  2222. example.createCriteria().andDateGreaterThanOrEqualTo(date.substring(0, 8)).andDateLessThanOrEqualTo(date.substring(8, 16));
  2223. List<DwFileDetail00> selectByExample = db.getMybatisMapper(DwFileDetail00Mapper.class).selectByExample(example);
  2224. ExportExcelUtil<DwFileDetail00> util = new ExportExcelUtil<DwFileDetail00>();
  2225. String[] header = {"系统编号","原EXCEL编号","台区编号","台区名称","数据日期","单位","供电所名称","终端名称","终端编号","终端地址码","停电时间","来电时间","所属文件id"};
  2226. util.exportExcel(date, selectByExample, os, "2007", header);
  2227. } else if (Constant.FILE_DETAIL_TYPE_01.equals(type)) {
  2228. response.setContentType("application/application/vnd.ms-excel");
  2229. response.setHeader("Content-disposition","attachment;filename=" + URLEncoder.encode(date + "终端投退运数据.xls", "UTF-8"));
  2230. DwFileDetail01Example example = new DwFileDetail01Example();
  2231. example.createCriteria().andExcelTytimeGreaterThanOrEqualTo(date.substring(0, 8) + "000000").andExcelTytimeLessThanOrEqualTo(date.substring(8, 16) + "235959");
  2232. List<DwFileDetail01> selectByExample = db.getMybatisMapper(DwFileDetail01Mapper.class).selectByExample(example);
  2233. ExportExcelUtil<DwFileDetail01> util = new ExportExcelUtil<DwFileDetail01>();
  2234. String[] header = {"系统编号","ID","TNAME","CMODE","VALUE","facname","type","fdid","yxstatus","tytime","所属文件id"};
  2235. util.exportExcel(date, selectByExample, os, "2007", header);
  2236. } else if (Constant.FILE_DETAIL_TYPE_02.equals(type)) {
  2237. response.setContentType("application/application/vnd.ms-excel");
  2238. response.setHeader("Content-disposition","attachment;filename=" + URLEncoder.encode(date + "FA动作数据.xls", "UTF-8"));
  2239. DwFileDetail02Example example = new DwFileDetail02Example();
  2240. example.createCriteria().andBeginTimeGreaterThanOrEqualTo(date.substring(0, 8) + "000000").andEndTimeLessThanOrEqualTo(date.substring(8, 16) + "235959");
  2241. List<DwFileDetail02> selectByExample = db.getMybatisMapper(DwFileDetail02Mapper.class).selectByExample(example);
  2242. ExportExcelUtil<DwFileDetail02> util = new ExportExcelUtil<DwFileDetail02>();
  2243. String[] header = {"系统编号","原EXCEL编号","故障停电开始时间","故障停电结束时间","供电类型","出线变电站","线路名称","线路类型","启动FA","故障区间判断","故障前后段恢复","故障隔离","所属文件id"};
  2244. util.exportExcel(date, selectByExample, os, "2007", header);
  2245. } else if (Constant.FILE_DETAIL_TYPE_03.equals(type)) {
  2246. response.setContentType("application/application/vnd.ms-excel");
  2247. response.setHeader("Content-disposition","attachment;filename=" + URLEncoder.encode(date + "低电压数据.xls", "UTF-8"));
  2248. DwFileDetail03Example example = new DwFileDetail03Example();
  2249. example.createCriteria().andSjrqGreaterThanOrEqualTo(date.substring(0, 8)).andSjrqLessThanOrEqualTo(date.substring(8, 16));
  2250. List<DwFileDetail03> selectByExample = db.getMybatisMapper(DwFileDetail03Mapper.class).selectByExample(example);
  2251. ExportExcelUtil<DwFileDetail03> util = new ExportExcelUtil<DwFileDetail03>();
  2252. String[] header = {"系统编号","原EXCEL编号","市公司名称","县公司名称","变电站名称","线路名称","台区id","变压器名称","用户管理单位名称1","用户编号","用户名称","用户管理单位名称2","电压最大值","电压最小值","电压合格率","超上限率","超下限率","低压时长","供电类型","累计天数","数据日期","供电单位","所属文件id"};
  2253. util.exportExcel(date, selectByExample, os, "2007", header);
  2254. } else if (Constant.FILE_DETAIL_TYPE_04.equals(type)) {
  2255. response.setContentType("application/application/vnd.ms-excel");
  2256. response.setHeader("Content-disposition","attachment;filename=" + URLEncoder.encode(date + "过电压数据.xls", "UTF-8"));
  2257. DwFileDetail04Example example = new DwFileDetail04Example();
  2258. example.createCriteria().andSjrqGreaterThanOrEqualTo(date.substring(0, 8)).andSjrqLessThanOrEqualTo(date.substring(8, 16));
  2259. List<DwFileDetail04> selectByExample = db.getMybatisMapper(DwFileDetail04Mapper.class).selectByExample(example);
  2260. ExportExcelUtil<DwFileDetail04> util = new ExportExcelUtil<DwFileDetail04>();
  2261. String[] header = {"系统编号","原EXCEL编号","市公司名称","县公司名称","变电站名称","线路名称","台区id","变压器名称","用户管理单位名称1","用户编号","用户名称","用户管理单位名称2","电压最大值","电压最小值","电压合格率","超上限率","超下限率","过电压时长","供电类型","累计天数","供电单位","数据日期","所属文件id"};
  2262. util.exportExcel(date, selectByExample, os, "2007", header);
  2263. } else if (Constant.FILE_DETAIL_TYPE_05.equals(type)) {
  2264. response.setContentType("application/application/vnd.ms-excel");
  2265. response.setHeader("Content-disposition","attachment;filename=" + URLEncoder.encode(date + "95598工单数据.xls", "UTF-8"));
  2266. DwFileDetail05Example example = new DwFileDetail05Example();
  2267. example.createCriteria().andSlsjGreaterThanOrEqualTo(date.substring(0, 8)).andSlsjLessThanOrEqualTo(date.substring(8, 16));
  2268. List<DwFileDetail05> selectByExample = db.getMybatisMapper(DwFileDetail05Mapper.class).selectByExample(example);
  2269. ExportExcelUtil<DwFileDetail05> util = new ExportExcelUtil<DwFileDetail05>();
  2270. String[] header = {"系统编号","原EXCEL编号","工单编号","国网工单编号","状态","业务类型","当前步骤","受理人员","受理时间","受理内容","用户编号","用户名称","联系地址","联系电话","回访内容","一级分类","二级分类","业务子类","上级单位","供电单位","抄表段","处理结果","处理单位","处理部门","关联工单","问题原因分类","工单分级","责任部门","归档时间","挂起时间","挂起原因","服务渠道","省级回退责任原因","所属文件id"};
  2271. util.exportExcel(date, selectByExample, os, "2007", header);
  2272. } else if (Constant.FILE_DETAIL_TYPE_06.equals(type)) {
  2273. response.setContentType("application/application/vnd.ms-excel");
  2274. response.setHeader("Content-disposition","attachment;filename=" + URLEncoder.encode(date + "计停非计停数据.xls", "UTF-8"));
  2275. DwFileDetail07Example example = new DwFileDetail07Example();
  2276. example.createCriteria().andTimeGreaterThanOrEqualTo(date.substring(0, 8) + "000000").andTimeLessThanOrEqualTo(date.substring(8, 16) + "235959");
  2277. List<DwFileDetail07> selectByExample = db.getMybatisMapper(DwFileDetail07Mapper.class).selectByExample(example);
  2278. ExportExcelUtil<DwFileDetail07> util = new ExportExcelUtil<DwFileDetail07>();
  2279. String[] header = {"系统编号","原EXCEL编号","类型","单位","设备名称","发生时间","事项类型","馈线自动化动作情况","跳闸类型","故障原因","重合闸动作情况","处理纪事","异常概况","所属文件id"};
  2280. util.exportExcel(date, selectByExample, os, "2007", header);
  2281. }else if (Constant.FILE_DETAIL_TYPE_07.equals(type)) {//客户明细
  2282. }else if (Constant.FILE_DETAIL_TYPE_08.equals(type)) {//配变过重载
  2283. response.setContentType("application/application/vnd.ms-excel");
  2284. response.setHeader("Content-disposition","attachment;filename=" + URLEncoder.encode("配变过重载数据.xls", "UTF-8"));
  2285. DwFileDetail09Example example = new DwFileDetail09Example();
  2286. example.createCriteria().andWcsjGreaterThanOrEqualTo(StringUtil.ObjNumToDate(date.substring(0, 8) + "000000"))
  2287. .andWcsjLessThanOrEqualTo(StringUtil.ObjNumToDate(date.substring(8, 16) + "235959"));
  2288. example.setOrderByClause("dfd9_sequ");
  2289. List<DwFileDetail09> selectByExample = db.getMybatisMapper(DwFileDetail09Mapper.class).selectByExample(example);
  2290. ExportExcelUtil<DwFileDetail09> util = new ExportExcelUtil<DwFileDetail09>();
  2291. String[] header = {"系统编号","原EXCEL编号","月份",
  2292. "单位","班组名称","公变名称","线路名称","负载率(%) ","最大负载率(%)","最大负载率发生时刻时间",
  2293. "额定容量(kVA) ","过(重)载原因分类 ","具体原因(详细说明原因情况)","解决措施分类 ","具体解决措施(详细说明解决措施)",
  2294. "完成时间","三相不平衡率(%)(最大负荷) ","A相电流(A)","B相电流(A)","C相电流(A)","过载时长(小时)",
  2295. "用户数量","重载时长","营销ID","PMSID","所属文件ID",""};
  2296. util.exportExcel("配变过重载数据", selectByExample, os, "2007", header);
  2297. }else if (Constant.FILE_DETAIL_TYPE_09.equals(type)) {//线路过重载
  2298. response.setContentType("application/application/vnd.ms-excel");
  2299. response.setHeader("Content-disposition","attachment;filename=" + URLEncoder.encode("线路过重载数据.xls", "UTF-8"));
  2300. DwFileDetail10Example example = new DwFileDetail10Example();
  2301. example.createCriteria().andWcsjGreaterThanOrEqualTo(StringUtil.ObjNumToDate(date.substring(0, 8) + "000000"))
  2302. .andWcsjLessThanOrEqualTo(StringUtil.ObjNumToDate(date.substring(8, 16) + "235959"));
  2303. example.setOrderByClause("dfd10_sequ");
  2304. List<DwFileDetail10> selectByExample = db.getMybatisMapper(DwFileDetail10Mapper.class).selectByExample(example);
  2305. ExportExcelUtil<DwFileDetail10> util = new ExportExcelUtil<DwFileDetail10>();
  2306. String[] header = {"系统编号","原EXCEL编号","月份",
  2307. "所属县公司","班组名称 ","变电站名称","线路名称 ","额定电流(A)","负载率(%) ","过(重)载原因分类",
  2308. "具体原因(详细说明原因情况) ","解决措施分类 ","具体解决措施(详细说明解决措施) ","完成时间 ",
  2309. "过载时长(小时) ","运行电流(A)","发生时刻 ","最大电流(A)","最大值发生时刻","配变数量(台)",
  2310. "配变容量(kVA)","是否自动化","PMSID","所属文件ID",""};
  2311. util.exportExcel("线路过重载数据", selectByExample, os, "2007", header);
  2312. }
  2313. return response;
  2314. }
  2315. }