JkxlExcel.java 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. package com.jeeplus.modules.sg.util;
  2. import com.jeeplus.common.utils.excel.ImportExcel;
  3. import com.jeeplus.modules.sg.entity.JkxlData;
  4. import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
  5. import org.springframework.web.multipart.MultipartFile;
  6. import java.io.IOException;
  7. import java.util.ArrayList;
  8. import java.util.List;
  9. public class JkxlExcel {
  10. public static List<JkxlData> getData(String file) throws IOException, InvalidFormatException {
  11. ImportExcel importExcel = new ImportExcel(file,1,3);
  12. List<JkxlData> list = new ArrayList<>();
  13. int lastRow = importExcel.getLastDataRowNum();
  14. int[] row = new int[6];
  15. double totalFee = 0.00;
  16. for(int i=0;i<lastRow;i++){
  17. String type = importExcel.getValue(i+1,2);
  18. if(type.equals(BashInfo.PROJECTNAME)){
  19. totalFee = importExcel.getDouble(i+1,12);
  20. }
  21. if(type.equals("1 基础工程")){
  22. row[0] = i+1;
  23. continue;
  24. }
  25. if(type.equals("2 杆塔工程")){
  26. row[1] = i+1;
  27. continue;
  28. }
  29. if(type.equals("3 接地工程")){
  30. row[2] = i+1;
  31. continue;
  32. }
  33. if(type.equals("4 架线工程")){
  34. row[3] = i+1;
  35. continue;
  36. }
  37. if(type.equals("5 附件安装工程")){
  38. row[4] = i+1;
  39. continue;
  40. }
  41. if(type.equals("6 辅助工程")){
  42. row[5] = i+1;
  43. break;
  44. }
  45. }
  46. for(int i=0;i<6;i++){
  47. JkxlData jkxlData = new JkxlData();
  48. Double originalRgCost = importExcel.getDouble(row[i],13);
  49. // Double rgCost = originalRgCost/(1+rate[0]);
  50. Double originalCbrCost = importExcel.getDouble(row[i],14);
  51. // Double cbrCost = originalCbrCost/(1+rate[1]);
  52. Double originalFbrCost = importExcel.getDouble(row[i],15);
  53. // Double fbrCost = originalFbrCost/(1+0.17);
  54. Double originalJxrCost = importExcel.getDouble(row[i],17);
  55. // Double jxCost = originalJxrCost/(1+rate[2]);
  56. jkxlData.setOriginalTotalCost(importExcel.getDouble(row[i],12));
  57. jkxlData.setOriginalRgCost(originalRgCost);
  58. // jkxlData.setRgCost(rgCost);
  59. jkxlData.setOriginalCbrCost(originalCbrCost);
  60. // jkxlData.setCbrCost(cbrCost);
  61. jkxlData.setOriginalFbrCost(originalFbrCost);
  62. // jkxlData.setFbrCost(fbrCost);
  63. jkxlData.setOriginalJxCost(originalJxrCost);
  64. // jkxlData.setJxCost(jxCost);
  65. list.add(jkxlData);
  66. }
  67. return list;
  68. }
  69. // public static double get(String file) throws IOException, InvalidFormatException {
  70. // ImportExcel importExcel = new ImportExcel(file,1,1);
  71. // int lastRow = importExcel.getLastDataRowNum();
  72. // double lsRate = 0.00;
  73. // double aqRate = 0.00;
  74. // double totalRate = 0.00;
  75. // for(int i=2;i<lastRow;i++){
  76. // String type = importExcel.getValue(i+1,1);
  77. // if(type.equals(BashInfo.CS_LS)){
  78. // lsRate = importExcel.getDouble(i+1,3);
  79. // }
  80. // if(type.equals(BashInfo.CS_AQWM)){
  81. // aqRate = importExcel.getDouble(i+1,3);
  82. // }
  83. // totalRate += importExcel.getDouble(i+1,3);
  84. // }
  85. // double[] rate = new double[2];
  86. // rate[0] = (lsRate+aqRate)/100;
  87. // rate[1] = (totalRate-lsRate-aqRate)/100;
  88. // return rate;
  89. // double totalRate = 0.00;
  90. // double wxzyRate = 0.00;
  91. // for (int i = 2; i < lastRow; i++) {
  92. // String type = importExcel.getValue(i + 1, 1);
  93. // if (type.equals(BashInfo.GF_WXZY)) {
  94. // wxzyRate = importExcel.getDouble(i + 1, 3);
  95. // }
  96. // if (!importExcel.getValue(i + 1, 2).equals("")) {
  97. // totalRate += importExcel.getDouble(i + 1, 3);
  98. // }
  99. // }
  100. // double[] rate = new double[2];
  101. // rate[0] = wxzyRate / 100;
  102. // rate[1] = (totalRate - wxzyRate) / 100;
  103. // return rate;
  104. // double cdFree = 0.00;
  105. // double zbFree = 0.00;
  106. // double totalFree = 0.00;
  107. // for(int i=2;i<lastRow;i++){
  108. // String type = importExcel.getValue(i+1,1);
  109. // String type1 = importExcel.getValue(i+1,0);
  110. // if(type.equals(BashInfo.QT_SGCDZY)){
  111. // cdFree = importExcel.getDouble(i+1,2);
  112. // }
  113. // if(type.equals(BashInfo.QT_ZBDL)){
  114. // zbFree = importExcel.getDouble(i+1,2);
  115. // }
  116. //// totalFree += importExcel.getDouble(i+1,2);
  117. // if(type1.equals(BashInfo.QT_HJ)){
  118. // totalFree = importExcel.getDouble(i+1,2);
  119. // }
  120. // }
  121. // double[] rate = new double[3];
  122. // rate[0] = cdFree;
  123. // rate[1] = zbFree;
  124. // rate[2] = totalFree-cdFree-zbFree;
  125. // return rate;
  126. // double bzFree = 0.00;
  127. // double kcFree = 0.00;
  128. // for(int i=0;i<lastRow;i++){
  129. // String type = importExcel.getValue(i+1,1);
  130. // if(type.equals(BashInfo.BZZSSL)){
  131. // bzFree = importExcel.getDouble(i+1,2);
  132. // continue;
  133. // }
  134. // if(type.equals(BashInfo.KJJGCC)){
  135. // kcFree = importExcel.getDouble(i+1,2);
  136. // break;
  137. // }
  138. // }
  139. //
  140. // return bzFree+kcFree;
  141. // }
  142. }