JkxlExcel.java 5.6 KB

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