|
@@ -1,13 +1,12 @@
|
|
package com.jeeplus.modules.sg.substation.util;
|
|
package com.jeeplus.modules.sg.substation.util;
|
|
|
|
|
|
|
|
+import com.jeeplus.common.utils.StringUtils;
|
|
import com.jeeplus.common.utils.excel.ImportExcel;
|
|
import com.jeeplus.common.utils.excel.ImportExcel;
|
|
import com.jeeplus.common.utils.sg.ExcelUtil;
|
|
import com.jeeplus.common.utils.sg.ExcelUtil;
|
|
import com.jeeplus.modules.sg.overheadline.entity.JkxlDetailFee;
|
|
import com.jeeplus.modules.sg.overheadline.entity.JkxlDetailFee;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
|
-import java.util.LinkedHashMap;
|
|
|
|
-import java.util.List;
|
|
|
|
-import java.util.Map;
|
|
|
|
|
|
+import java.lang.reflect.Array;
|
|
|
|
+import java.util.*;
|
|
|
|
|
|
public class SubstationInfo {
|
|
public class SubstationInfo {
|
|
public static final String SHEET_JZHZB = "变电站建筑工程费用汇总表";
|
|
public static final String SHEET_JZHZB = "变电站建筑工程费用汇总表";
|
|
@@ -117,6 +116,7 @@ public class SubstationInfo {
|
|
public static final String JZMX_XFSC= "消防水池";
|
|
public static final String JZMX_XFSC= "消防水池";
|
|
public static final String JZMX_XFSCBW= "消防水池标外";
|
|
public static final String JZMX_XFSCBW= "消防水池标外";
|
|
|
|
|
|
|
|
+
|
|
public static final String JZMX_FZSCGC= "辅助生产工程";
|
|
public static final String JZMX_FZSCGC= "辅助生产工程";
|
|
public static final String JZMX_FZSCJZ= "辅助生产建筑";
|
|
public static final String JZMX_FZSCJZ= "辅助生产建筑";
|
|
public static final String JZMX_ZHL= "综合楼";
|
|
public static final String JZMX_ZHL= "综合楼";
|
|
@@ -293,6 +293,11 @@ public class SubstationInfo {
|
|
public static String[] DETWBS = {"21121100","21121200","21121300","21121400","21121500","2112B100","2112B200","2112B300","2112B400","2112B500","2112C100","2112C200"
|
|
public static String[] DETWBS = {"21121100","21121200","21121300","21121400","21121500","2112B100","2112B200","2112B300","2112B400","2112B500","2112C100","2112C200"
|
|
,"2112C300","2112C400","2112G100","2112G200","2112H100","2112H200"};
|
|
,"2112C300","2112C400","2112G100","2112G200","2112H100","2112H200"};
|
|
|
|
|
|
|
|
+ public static String[] PDZZALLSTR = {JZMX_ZBYQXT,JZMX_GYDKQXT,JZMX_CLBCXT,JZMX_DYDRQ,JZMX_DYDKQ,JZMX_JZWGBC,JZMX_ZYBYQXT,JZMX_BLZT,JZMX_DLGD,JZMX_LGJDP,JZMX_PDZZQY,
|
|
|
|
+ JZMX_1000JGJC,JZMX_1000SBZJ,JZMX_750JGJC,JZMX_750SBZJ,JZMX_500JGJC,JZMX_500SBZJ,JZMX_330JGJC,JZMX_330SBZJ,JZMX_220JGJC,JZMX_220SBZJ,
|
|
|
|
+ JZMX_110JGJC,JZMX_110SBZJ,JZMX_66JGJC,JZMX_66SBZJ,JZMX_35JGJC,JZMX_35SBZJ,JZMX_10JGJC,JZMX_10SBZJ,JZMX_GZJJJC, JZMX_ZBYQJC,JZMX_ZBYQYK,JZMX_FHQ,JZMX_SGYC,JZMX_JGSBJC
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -551,11 +556,9 @@ public class SubstationInfo {
|
|
public static JkxlDetailFee getBashInfo(ImportExcel importExcel,ImportExcel importExcel1,String wbs,String str){
|
|
public static JkxlDetailFee getBashInfo(ImportExcel importExcel,ImportExcel importExcel1,String wbs,String str){
|
|
double[] doubles = ExcelUtil.getBashArray(importExcel,str,2,new int[]{12,13, 14, 15, 17});
|
|
double[] doubles = ExcelUtil.getBashArray(importExcel,str,2,new int[]{12,13, 14, 15, 17});
|
|
double d = ExcelUtil.getDouble(importExcel1,str,1,3); //直接工程费
|
|
double d = ExcelUtil.getDouble(importExcel1,str,1,3); //直接工程费
|
|
-// double e = ExcelUtil.getDouble(importExcel1,str,1,2); //合计金额
|
|
|
|
JkxlDetailFee jkxlDetailFee = new JkxlDetailFee();
|
|
JkxlDetailFee jkxlDetailFee = new JkxlDetailFee();
|
|
jkxlDetailFee.setWbsCode(wbs);
|
|
jkxlDetailFee.setWbsCode(wbs);
|
|
jkxlDetailFee.setOriginalTotalCost(doubles[0]);
|
|
jkxlDetailFee.setOriginalTotalCost(doubles[0]);
|
|
-// jkxlDetailFee.setOriginalTotalCost(e);
|
|
|
|
jkxlDetailFee.setOriginalRgCost(doubles[1]);
|
|
jkxlDetailFee.setOriginalRgCost(doubles[1]);
|
|
jkxlDetailFee.setOriginalFbrCost(doubles[3]);
|
|
jkxlDetailFee.setOriginalFbrCost(doubles[3]);
|
|
jkxlDetailFee.setOriginalCbrCost(doubles[2]);
|
|
jkxlDetailFee.setOriginalCbrCost(doubles[2]);
|
|
@@ -574,10 +577,8 @@ public class SubstationInfo {
|
|
JkxlDetailFee jkxlDetailFee = null;
|
|
JkxlDetailFee jkxlDetailFee = null;
|
|
for(int i=0;i<str.length;i++){
|
|
for(int i=0;i<str.length;i++){
|
|
double d = ExcelUtil.getDouble(importExcel1,str[i],1,3); //直接工程费
|
|
double d = ExcelUtil.getDouble(importExcel1,str[i],1,3); //直接工程费
|
|
-// double e = ExcelUtil.getDouble(importExcel1,str[i],1,3); //合计
|
|
|
|
jkxlDetailFee = new JkxlDetailFee();
|
|
jkxlDetailFee = new JkxlDetailFee();
|
|
jkxlDetailFee.setWbsCode(wbs[i]);
|
|
jkxlDetailFee.setWbsCode(wbs[i]);
|
|
-// jkxlDetailFee.setOriginalTotalCost(e);
|
|
|
|
jkxlDetailFee.setOriginalTotalCost(doubles[i][0]);
|
|
jkxlDetailFee.setOriginalTotalCost(doubles[i][0]);
|
|
jkxlDetailFee.setZjgcFee(d);
|
|
jkxlDetailFee.setZjgcFee(d);
|
|
jkxlDetailFee.setOriginalRgCost(doubles[i][1]);
|
|
jkxlDetailFee.setOriginalRgCost(doubles[i][1]);
|
|
@@ -592,10 +593,20 @@ public class SubstationInfo {
|
|
/**
|
|
/**
|
|
*获得基础数据,工程费分摊
|
|
*获得基础数据,工程费分摊
|
|
*/
|
|
*/
|
|
- public static List<JkxlDetailFee> getBashInfos(ImportExcel importExcel,ImportExcel importExcel1,String[] wbs,String[] str){
|
|
|
|
|
|
+ public static List<JkxlDetailFee> getBashInfos(ImportExcel importExcel,ImportExcel importExcel1,String[] wbs,String[] str ,String types){
|
|
double[][] doubles = ExcelUtil.getBashArray(importExcel,str,2,new int[]{12,13, 14, 15, 17});
|
|
double[][] doubles = ExcelUtil.getBashArray(importExcel,str,2,new int[]{12,13, 14, 15, 17});
|
|
double d = ExcelUtil.getDouble(importExcel1,str[0],1,3); //直接工程费
|
|
double d = ExcelUtil.getDouble(importExcel1,str[0],1,3); //直接工程费
|
|
- double e = ExcelUtil.getDouble(importExcel1,str[0],1,2); //合计
|
|
|
|
|
|
+ String index = ExcelUtil.getIndex(importExcel,str[0],2); //获取角标
|
|
|
|
+ if(StringUtils.isNotBlank(index)){
|
|
|
|
+ double[][] doubles1 = getUnidentification(importExcel,index,str,types);
|
|
|
|
+ for(int k=0;k<doubles1.length;k++){
|
|
|
|
+ doubles[1][0] = doubles[1][0] + doubles1[k][0];
|
|
|
|
+ doubles[1][1] = doubles[1][1] + doubles1[k][1];
|
|
|
|
+ doubles[1][2] = doubles[1][2] + doubles1[k][2];
|
|
|
|
+ doubles[1][3] = doubles[1][3] + doubles1[k][3];
|
|
|
|
+ doubles[1][4] = doubles[1][4] + doubles1[k][4];
|
|
|
|
+ }
|
|
|
|
+ }
|
|
double total = doubles[0][0];
|
|
double total = doubles[0][0];
|
|
int len = str.length;
|
|
int len = str.length;
|
|
double[] zjgc = new double[len];
|
|
double[] zjgc = new double[len];
|
|
@@ -607,13 +618,11 @@ public class SubstationInfo {
|
|
}
|
|
}
|
|
zjgc[i] = d*rate;
|
|
zjgc[i] = d*rate;
|
|
}
|
|
}
|
|
-// doubles[0][0] = e;
|
|
|
|
List<JkxlDetailFee> jkxlDetailFees = new ArrayList<>();
|
|
List<JkxlDetailFee> jkxlDetailFees = new ArrayList<>();
|
|
JkxlDetailFee jkxlDetailFee = null;
|
|
JkxlDetailFee jkxlDetailFee = null;
|
|
for(int j=0;j<str.length;j++){
|
|
for(int j=0;j<str.length;j++){
|
|
jkxlDetailFee = new JkxlDetailFee();
|
|
jkxlDetailFee = new JkxlDetailFee();
|
|
jkxlDetailFee.setOriginalTotalCost(doubles[j][0]);
|
|
jkxlDetailFee.setOriginalTotalCost(doubles[j][0]);
|
|
-// jkxlDetailFee.setOriginalTotalCost(e);
|
|
|
|
jkxlDetailFee.setZjgcFee(zjgc[j]);
|
|
jkxlDetailFee.setZjgcFee(zjgc[j]);
|
|
jkxlDetailFee.setOriginalRgCost(doubles[j][1]);
|
|
jkxlDetailFee.setOriginalRgCost(doubles[j][1]);
|
|
jkxlDetailFee.setOriginalFbrCost(doubles[j][3]);
|
|
jkxlDetailFee.setOriginalFbrCost(doubles[j][3]);
|
|
@@ -625,6 +634,39 @@ public class SubstationInfo {
|
|
return jkxlDetailFees;
|
|
return jkxlDetailFees;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ *获得基础数据,工程费分摊
|
|
|
|
+ */
|
|
|
|
+ public static List<JkxlDetailFee> getBashInfos(ImportExcel importExcel,ImportExcel importExcel1,String[] wbs,String[] str){
|
|
|
|
+ double[][] doubles = ExcelUtil.getBashArray(importExcel,str,2,new int[]{12,13, 14, 15, 17});
|
|
|
|
+ double d = ExcelUtil.getDouble(importExcel1,str[0],1,3); //直接工程费
|
|
|
|
+ double total = doubles[0][0];
|
|
|
|
+ int len = str.length;
|
|
|
|
+ double[] zjgc = new double[len];
|
|
|
|
+ zjgc[0] = d;
|
|
|
|
+ for(int i=1;i<len;i++){
|
|
|
|
+ double rate = 0.00;
|
|
|
|
+ if(total != 0.00){
|
|
|
|
+ rate = doubles[i][0]/total;
|
|
|
|
+ }
|
|
|
|
+ zjgc[i] = d*rate;
|
|
|
|
+ }
|
|
|
|
+ List<JkxlDetailFee> jkxlDetailFees = new ArrayList<>();
|
|
|
|
+ JkxlDetailFee jkxlDetailFee = null;
|
|
|
|
+ for(int j=0;j<str.length;j++){
|
|
|
|
+ jkxlDetailFee = new JkxlDetailFee();
|
|
|
|
+ jkxlDetailFee.setOriginalTotalCost(doubles[j][0]);
|
|
|
|
+ jkxlDetailFee.setZjgcFee(zjgc[j]);
|
|
|
|
+ jkxlDetailFee.setOriginalRgCost(doubles[j][1]);
|
|
|
|
+ jkxlDetailFee.setOriginalFbrCost(doubles[j][3]);
|
|
|
|
+ jkxlDetailFee.setOriginalCbrCost(doubles[j][2]);
|
|
|
|
+ jkxlDetailFee.setOriginalJxCost(doubles[j][4]);
|
|
|
|
+ jkxlDetailFee.setWbsCode(wbs[j]);
|
|
|
|
+ jkxlDetailFees.add(jkxlDetailFee);
|
|
|
|
+ }
|
|
|
|
+ return jkxlDetailFees;
|
|
|
|
+ }
|
|
|
|
+
|
|
public static List<JkxlDetailFee> getBashInfoss(ImportExcel importExcel,ImportExcel importExcel1,String[] wbs,String[] str){
|
|
public static List<JkxlDetailFee> getBashInfoss(ImportExcel importExcel,ImportExcel importExcel1,String[] wbs,String[] str){
|
|
double[][] doubles = ExcelUtil.getBashArray(importExcel,str,2,new int[]{12,13, 14, 15, 17});
|
|
double[][] doubles = ExcelUtil.getBashArray(importExcel,str,2,new int[]{12,13, 14, 15, 17});
|
|
double[][] doubless = ExcelUtil.getBashArray(importExcel,JZMX_OTH ,2,new int[]{12,13, 14, 15, 17});
|
|
double[][] doubless = ExcelUtil.getBashArray(importExcel,JZMX_OTH ,2,new int[]{12,13, 14, 15, 17});
|
|
@@ -646,13 +688,11 @@ public class SubstationInfo {
|
|
}
|
|
}
|
|
zjgc[i] = d*rate;
|
|
zjgc[i] = d*rate;
|
|
}
|
|
}
|
|
-// doubles[0][0] = e;
|
|
|
|
List<JkxlDetailFee> jkxlDetailFees = new ArrayList<>();
|
|
List<JkxlDetailFee> jkxlDetailFees = new ArrayList<>();
|
|
JkxlDetailFee jkxlDetailFee = null;
|
|
JkxlDetailFee jkxlDetailFee = null;
|
|
for(int j=0;j<str.length;j++){
|
|
for(int j=0;j<str.length;j++){
|
|
jkxlDetailFee = new JkxlDetailFee();
|
|
jkxlDetailFee = new JkxlDetailFee();
|
|
jkxlDetailFee.setOriginalTotalCost(doubles[j][0]);
|
|
jkxlDetailFee.setOriginalTotalCost(doubles[j][0]);
|
|
-// jkxlDetailFee.setOriginalTotalCost(e);
|
|
|
|
jkxlDetailFee.setZjgcFee(zjgc[j]);
|
|
jkxlDetailFee.setZjgcFee(zjgc[j]);
|
|
jkxlDetailFee.setOriginalRgCost(doubles[j][1]);
|
|
jkxlDetailFee.setOriginalRgCost(doubles[j][1]);
|
|
jkxlDetailFee.setOriginalFbrCost(doubles[j][3]);
|
|
jkxlDetailFee.setOriginalFbrCost(doubles[j][3]);
|
|
@@ -669,7 +709,6 @@ public class SubstationInfo {
|
|
double[][] doubles = ExcelUtil.getBashArray(importExcel,str,2,new int[]{12,13, 14, 15, 17});
|
|
double[][] doubles = ExcelUtil.getBashArray(importExcel,str,2,new int[]{12,13, 14, 15, 17});
|
|
double[] doubles1 = ExcelUtil.getBashArray(importExcel,JZMX_XFSBFBW ,2,new int[]{12,13, 14, 15, 17});
|
|
double[] doubles1 = ExcelUtil.getBashArray(importExcel,JZMX_XFSBFBW ,2,new int[]{12,13, 14, 15, 17});
|
|
double[] doubles2 = ExcelUtil.getBashArray(importExcel,JZMX_XFSBFSD ,2,new int[]{12,13, 14, 15, 17});
|
|
double[] doubles2 = ExcelUtil.getBashArray(importExcel,JZMX_XFSBFSD ,2,new int[]{12,13, 14, 15, 17});
|
|
-// double[] doubles3 = ExcelUtil.getBashArray(importExcel,JZMX_ZQXFGDBW,2,new int[]{12,13, 14, 15, 17});
|
|
|
|
double[] doubles4 = ExcelUtil.getBashArray(importExcel,JZMX_XFQCBW,2,new int[]{12,13, 14, 15, 17});
|
|
double[] doubles4 = ExcelUtil.getBashArray(importExcel,JZMX_XFQCBW,2,new int[]{12,13, 14, 15, 17});
|
|
double[] doubles5 = ExcelUtil.getBashArray(importExcel,JZMX_XFSCBW ,2,new int[]{12,13, 14, 15, 17});
|
|
double[] doubles5 = ExcelUtil.getBashArray(importExcel,JZMX_XFSCBW ,2,new int[]{12,13, 14, 15, 17});
|
|
double d = ExcelUtil.getDouble(importExcel1,str[0],1,3); //直接工程费
|
|
double d = ExcelUtil.getDouble(importExcel1,str[0],1,3); //直接工程费
|
|
@@ -679,21 +718,6 @@ public class SubstationInfo {
|
|
doubles[1][2] = doubles[1][2]+ doubles1[2]+ doubles2[2]+ doubles4[2]+ doubles5[2];
|
|
doubles[1][2] = doubles[1][2]+ doubles1[2]+ doubles2[2]+ doubles4[2]+ doubles5[2];
|
|
doubles[1][3] = doubles[1][3]+ doubles1[3]+ doubles2[3]+ doubles4[3]+ doubles5[3];
|
|
doubles[1][3] = doubles[1][3]+ doubles1[3]+ doubles2[3]+ doubles4[3]+ doubles5[3];
|
|
doubles[1][4] = doubles[1][4]+ doubles1[4]+ doubles2[4]+ doubles4[4]+ doubles5[4];
|
|
doubles[1][4] = doubles[1][4]+ doubles1[4]+ doubles2[4]+ doubles4[4]+ doubles5[4];
|
|
-// doubles[3][0] = doubles[3][0]+ doubles3[0];
|
|
|
|
-// doubles[3][1] = doubles[3][1]+ doubles3[1];
|
|
|
|
-// doubles[3][2] = doubles[3][2]+ doubles3[2];
|
|
|
|
-// doubles[3][3] = doubles[3][3]+ doubles3[3];
|
|
|
|
-// doubles[3][4] = doubles[3][4]+ doubles3[4];
|
|
|
|
-// doubles[4][0] = doubles[4][0]+ doubles4[0];
|
|
|
|
-// doubles[4][1] = doubles[4][1]+ doubles4[1];
|
|
|
|
-// doubles[4][2] = doubles[4][2]+ doubles4[2];
|
|
|
|
-// doubles[4][3] = doubles[4][3]+ doubles4[3];
|
|
|
|
-// doubles[4][4] = doubles[4][4]+ doubles4[4];
|
|
|
|
-// doubles[6][0] = doubles[6][0]+ doubles5[0];
|
|
|
|
-// doubles[6][1] = doubles[6][1]+ doubles5[1];
|
|
|
|
-// doubles[6][2] = doubles[6][2]+ doubles5[2];
|
|
|
|
-// doubles[6][3] = doubles[6][3]+ doubles5[3];
|
|
|
|
-// doubles[6][4] = doubles[6][4]+ doubles5[4];
|
|
|
|
|
|
|
|
double total = doubles[0][0];
|
|
double total = doubles[0][0];
|
|
int len = str.length;
|
|
int len = str.length;
|
|
@@ -837,14 +861,19 @@ public class SubstationInfo {
|
|
public static List<JkxlDetailFee> getPdzzjz(ImportExcel importExcel,ImportExcel importExcel1){
|
|
public static List<JkxlDetailFee> getPdzzjz(ImportExcel importExcel,ImportExcel importExcel1){
|
|
JkxlDetailFee total = getBashInfo(importExcel,importExcel1,"21120000",JZMX_PDZZJZ);//配电装置
|
|
JkxlDetailFee total = getBashInfo(importExcel,importExcel1,"21120000",JZMX_PDZZJZ);//配电装置
|
|
List<JkxlDetailFee> total1 = getBashInfo(importExcel,importExcel1,PDZZJZWBS,PDZZJZSTR);
|
|
List<JkxlDetailFee> total1 = getBashInfo(importExcel,importExcel1,PDZZJZWBS,PDZZJZSTR);
|
|
- double[] doubles = ExcelUtil.getBashArray(importExcel,JZMX_DLGDBW ,2,new int[]{12,13, 14, 15, 17});
|
|
|
|
- for(JkxlDetailFee jkxlDetailFee2 : total1){
|
|
|
|
- if(jkxlDetailFee2.getWbsCode().equals("2112K000")){
|
|
|
|
- jkxlDetailFee2.setOriginalTotalCost(jkxlDetailFee2.getOriginalTotalCost()+doubles[0]);
|
|
|
|
- jkxlDetailFee2.setOriginalRgCost(jkxlDetailFee2.getOriginalRgCost()+doubles[1]);
|
|
|
|
- jkxlDetailFee2.setOriginalFbrCost(jkxlDetailFee2.getOriginalFbrCost()+doubles[2]);
|
|
|
|
- jkxlDetailFee2.setOriginalCbrCost(jkxlDetailFee2.getOriginalCbrCost()+doubles[3]);
|
|
|
|
- jkxlDetailFee2.setOriginalJxCost(jkxlDetailFee2.getOriginalJxCost()+doubles[4]);
|
|
|
|
|
|
+ String index1 = ExcelUtil.getIndex(importExcel,JZMX_PDZZJZ,2); //获取角标
|
|
|
|
+ if(StringUtils.isNotBlank(index1)){
|
|
|
|
+ double[][] doubles1 = getUnidentification(importExcel,index1,PDZZALLSTR,"1");
|
|
|
|
+ for(JkxlDetailFee jkxlDetailFee2 : total1){
|
|
|
|
+ if(jkxlDetailFee2.getWbsCode().equals("2112K000")){
|
|
|
|
+ for(int k=0;k<doubles1.length;k++) {
|
|
|
|
+ jkxlDetailFee2.setOriginalTotalCost(jkxlDetailFee2.getOriginalTotalCost() + doubles1[k][0]);
|
|
|
|
+ jkxlDetailFee2.setOriginalRgCost(jkxlDetailFee2.getOriginalRgCost() + doubles1[k][1]);
|
|
|
|
+ jkxlDetailFee2.setOriginalFbrCost(jkxlDetailFee2.getOriginalFbrCost() + doubles1[k][2]);
|
|
|
|
+ jkxlDetailFee2.setOriginalCbrCost(jkxlDetailFee2.getOriginalCbrCost() + doubles1[k][3]);
|
|
|
|
+ jkxlDetailFee2.setOriginalJxCost(jkxlDetailFee2.getOriginalJxCost() + doubles1[k][4]);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
List<JkxlDetailFee> kvjg = getBashInfo(importExcel,importExcel1,KFJGSBWBS,KFJGSBSTR);//构架及设备基础无3级表头
|
|
List<JkxlDetailFee> kvjg = getBashInfo(importExcel,importExcel1,KFJGSBWBS,KFJGSBSTR);//构架及设备基础无3级表头
|
|
@@ -1125,7 +1154,6 @@ public class SubstationInfo {
|
|
public static List<JkxlDetailFee> getKzzl(ImportExcel importExcel,ImportExcel importExcel1){
|
|
public static List<JkxlDetailFee> getKzzl(ImportExcel importExcel,ImportExcel importExcel1){
|
|
String[] str = KZZLSTR;
|
|
String[] str = KZZLSTR;
|
|
String[] wbs = KZZLWBS;
|
|
String[] wbs = KZZLWBS;
|
|
-// double[][] doubles = new double[5][];
|
|
|
|
double[][] doubles = ExcelUtil.getBashArray(importExcel,str,2,new int[]{12,13, 14, 15, 17});
|
|
double[][] doubles = ExcelUtil.getBashArray(importExcel,str,2,new int[]{12,13, 14, 15, 17});
|
|
double d = ExcelUtil.getDouble(importExcel1,str[0],1,3); //直接工程费
|
|
double d = ExcelUtil.getDouble(importExcel1,str[0],1,3); //直接工程费
|
|
double total = doubles[0][0];
|
|
double total = doubles[0][0];
|
|
@@ -1283,124 +1311,167 @@ public class SubstationInfo {
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- public static boolean getFlag(List<JkxlDetailFee> list){
|
|
|
|
- for(JkxlDetailFee jkxlDetailFee:list){
|
|
|
|
- if(jkxlDetailFee.getOriginalTotalCost()<jkxlDetailFee.getZjgcFee()){
|
|
|
|
- return false;
|
|
|
|
|
|
+ public static double[][] getUnidentification(ImportExcel importExcel,String st,String[] strs,String types){
|
|
|
|
+ int startRow = 0;
|
|
|
|
+ int lastRow = importExcel.getLastDataRowNum();
|
|
|
|
+ if(types.equals("1")) {
|
|
|
|
+ for (int i = 0; i < lastRow; i++) {
|
|
|
|
+ String type = importExcel.getValue(i + 1, 2);
|
|
|
|
+ if (type.contains(JZMX_FZSCGC)) {
|
|
|
|
+ lastRow = i + 1;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- }
|
|
|
|
- return true;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- /*
|
|
|
|
- 获取《工程项目竣工结算汇总表》匹配数据
|
|
|
|
- */
|
|
|
|
- public static Map<String,Object[]> getCompletionWorks(ImportExcel importExcel){
|
|
|
|
- Map<String,Object[]> map = new LinkedHashMap<String, Object[]>();
|
|
|
|
- int lastDataRowNum = importExcel.getLastDataRowNum();
|
|
|
|
- String key="";
|
|
|
|
- double val=0.0;
|
|
|
|
- String text = "";
|
|
|
|
- Object[] objects;
|
|
|
|
- for (int i = 2; i < lastDataRowNum; i++) {
|
|
|
|
- objects = new Object[2];
|
|
|
|
- key = importExcel.getValue(i+1,1);
|
|
|
|
- if(key.contains(SubstationInfo.JS_SJ)){
|
|
|
|
- key= SubstationInfo.JS_SJ;
|
|
|
|
|
|
+ if(lastRow == importExcel.getLastDataRowNum()){
|
|
|
|
+ for (int i = 0; i < lastRow; i++) {
|
|
|
|
+ String type = importExcel.getValue(i + 1, 2);
|
|
|
|
+ if (type.contains(JZMX_ZZDXGC)) {
|
|
|
|
+ lastRow = i + 1;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- switch (key){
|
|
|
|
- case SubstationInfo.JS_FBFX:
|
|
|
|
- val = importExcel.getDouble(i+1,2);
|
|
|
|
- text=importExcel.getValue(i+1,3);
|
|
|
|
- objects[0] = val;
|
|
|
|
- objects[1] = text;
|
|
|
|
- map.put(key, objects);
|
|
|
|
- break;
|
|
|
|
- case SubstationInfo.JS_CBRF:
|
|
|
|
- val = importExcel.getDouble(i+1,2);
|
|
|
|
- text=importExcel.getValue(i+1,3);
|
|
|
|
- objects[0] = val;
|
|
|
|
- objects[1] = text;
|
|
|
|
- map.put(key, objects);
|
|
|
|
- break;
|
|
|
|
- case SubstationInfo.JS_CSXM:
|
|
|
|
- val = importExcel.getDouble(i+1,2);
|
|
|
|
- text=importExcel.getValue(i+1,3);
|
|
|
|
- objects[0] = val;
|
|
|
|
- objects[1] = text;
|
|
|
|
- map.put(key, objects);
|
|
|
|
|
|
+ }
|
|
|
|
+ if(types.equals("2")){
|
|
|
|
+ for (int i = 0; i < lastRow; i++) {
|
|
|
|
+ String type = importExcel.getValue(i + 1, 2);
|
|
|
|
+ if (type.contains(JZMX_FZSCGC)) {
|
|
|
|
+ startRow = i + 1;
|
|
break;
|
|
break;
|
|
- case SubstationInfo.JS_QTXM:
|
|
|
|
- val = importExcel.getDouble(i+1,2);
|
|
|
|
- text=importExcel.getValue(i+1,3);
|
|
|
|
- objects[0] = val;
|
|
|
|
- objects[1] = text;
|
|
|
|
- map.put(key, objects);
|
|
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ for (int i = 0; i < lastRow; i++) {
|
|
|
|
+ String type = importExcel.getValue(i + 1, 2);
|
|
|
|
+ if (type.contains(JZMX_ZZDXGC)) {
|
|
|
|
+ lastRow = i + 1;
|
|
break;
|
|
break;
|
|
- case SubstationInfo.JS_GF:
|
|
|
|
- val = importExcel.getDouble(i+1,2);
|
|
|
|
- text=importExcel.getValue(i+1,3);
|
|
|
|
- objects[0] = val;
|
|
|
|
- objects[1] = text;
|
|
|
|
- map.put(key, objects);
|
|
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(types.equals("3")){
|
|
|
|
+ for (int i = 0; i < lastRow; i++) {
|
|
|
|
+ String type = importExcel.getValue(i + 1, 2);
|
|
|
|
+ if (type.contains(JZMX_ZZDXGC)) {
|
|
|
|
+ startRow = i + 1;
|
|
break;
|
|
break;
|
|
- case SubstationInfo.JS_SJ:
|
|
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ int len1 = st.length();
|
|
|
|
+ List<String> list = new ArrayList();
|
|
|
|
+ for(int i=startRow;i<lastRow;i++){
|
|
|
|
+ String type = importExcel.getValue(i+1,2);
|
|
|
|
+ if(type.equals("")){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ if(type.length()<len1){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ String newtype = type.substring(0,len1);
|
|
|
|
+ ArrayList<String> strings = new ArrayList<>();
|
|
|
|
+ for(int k=0;k<strs.length;k++){
|
|
|
|
+ strings.add(strs[k].trim());
|
|
|
|
+ }
|
|
|
|
+ if(newtype.equals(st)){
|
|
|
|
+ int in = type.indexOf(" ");
|
|
|
|
+ String s = type.substring(in,type.length()).trim();
|
|
|
|
+ boolean bol = strings.contains(s);
|
|
|
|
+ if(strs[0].equals(JZMX_ZQXJZ) && in>3){
|
|
|
|
+ bol=true;
|
|
|
|
+ }
|
|
|
|
+ if(strs[0].equals(JZMX_ZYSCJZ) && in==3 && (s.contains("继电器室") || s.contains("配电装置室"))){
|
|
|
|
+ bol=true;
|
|
|
|
+ }
|
|
|
|
+ if(!bol){
|
|
|
|
+ list.add(type);
|
|
|
|
+ }
|
|
|
|
|
|
- val = importExcel.getDouble(i+1,2);
|
|
|
|
- text=importExcel.getValue(i+1,3);
|
|
|
|
- objects[0] = val;
|
|
|
|
- objects[1] = text;
|
|
|
|
- map.put(key, objects);
|
|
|
|
- break;
|
|
|
|
- case SubstationInfo.JS_FBRF:
|
|
|
|
- val = importExcel.getDouble(i+1,2);
|
|
|
|
- text=importExcel.getValue(i+1,3);
|
|
|
|
- objects[0] = val;
|
|
|
|
- objects[1] = text;
|
|
|
|
- map.put(key, objects);
|
|
|
|
- break;
|
|
|
|
- case SubstationInfo.JS_JGJS:
|
|
|
|
- val = importExcel.getDouble(i+1,2);
|
|
|
|
- text=importExcel.getValue(i+1,3);
|
|
|
|
- objects[0] = val;
|
|
|
|
- objects[1] = text;
|
|
|
|
- map.put(key, objects);
|
|
|
|
- break;
|
|
|
|
- case SubstationInfo.JS_BZZS:
|
|
|
|
- val = importExcel.getDouble(i+1,2);
|
|
|
|
- text=importExcel.getValue(i+1,3);
|
|
|
|
- objects[0] = val;
|
|
|
|
- objects[1] = text;
|
|
|
|
- map.put(key, objects);
|
|
|
|
- break;
|
|
|
|
- case SubstationInfo.JS_KJJG:
|
|
|
|
- val = importExcel.getDouble(i+1,2);
|
|
|
|
- text=importExcel.getValue(i+1,3);
|
|
|
|
- objects[0] = val;
|
|
|
|
- objects[1] = text;
|
|
|
|
- map.put(key, objects);
|
|
|
|
- break;
|
|
|
|
- case SubstationInfo.JS_GCJS:
|
|
|
|
- val = importExcel.getDouble(i+1,2);
|
|
|
|
- text=importExcel.getValue(i+1,3);
|
|
|
|
- objects[0] = val;
|
|
|
|
- objects[1] = text;
|
|
|
|
- map.put(key, objects);
|
|
|
|
- break;
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- return map;
|
|
|
|
|
|
+ double[][] d = new double[list.size()][5];
|
|
|
|
+ for(int j=0;j<list.size();j++){
|
|
|
|
+ String str = list.get(j);
|
|
|
|
+ d[j][0] = ExcelUtil.getDouble(importExcel,str,2,12);
|
|
|
|
+ d[j][1] = ExcelUtil.getDouble(importExcel,str,2,13);
|
|
|
|
+ d[j][2] = ExcelUtil.getDouble(importExcel,str,2,14);
|
|
|
|
+ d[j][3] = ExcelUtil.getDouble(importExcel,str,2,15);
|
|
|
|
+ d[j][4] = ExcelUtil.getDouble(importExcel,str,2,17);
|
|
|
|
+ }
|
|
|
|
+ return d;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ public static List<JkxlDetailFee> getDxInfo(ImportExcel importExcel,ImportExcel importExcel1,String[] wbs,String[] str){
|
|
|
|
+ int startRow = 0;
|
|
|
|
+ int lastRow = importExcel.getLastDataRowNum();
|
|
|
|
+ List<String> list = new ArrayList();
|
|
|
|
+ for (int i = 0; i < lastRow; i++) {
|
|
|
|
+ String type = importExcel.getValue(i + 1, 2);
|
|
|
|
+ if (type.contains(JZMX_ZZDXGC)) {
|
|
|
|
+ startRow = i + 1;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ for(int i=startRow;i<lastRow;i++){
|
|
|
|
+ String type = importExcel.getValue(i+1,2);
|
|
|
|
+ if(type.contains(" ")){
|
|
|
|
+ int in = type.indexOf(" ");
|
|
|
|
+ if(in == 1) {
|
|
|
|
+ String s = type.substring(in, type.length()).trim();
|
|
|
|
+ boolean b = Arrays.asList(str).contains(s);
|
|
|
|
+ if(!b){
|
|
|
|
+ list.add(type);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ double[][] d = new double[list.size()][5];
|
|
|
|
+ for(int j=0;j<list.size();j++){
|
|
|
|
+ String strs = list.get(j);
|
|
|
|
+ d[j][0] = ExcelUtil.getDouble(importExcel,strs,2,12);
|
|
|
|
+ d[j][1] = ExcelUtil.getDouble(importExcel,strs,2,13);
|
|
|
|
+ d[j][2] = ExcelUtil.getDouble(importExcel,strs,2,14);
|
|
|
|
+ d[j][3] = ExcelUtil.getDouble(importExcel,strs,2,15);
|
|
|
|
+ d[j][4] = ExcelUtil.getDouble(importExcel,strs,2,17);
|
|
|
|
+ }
|
|
|
|
+ double[] d2 = new double[list.size()];
|
|
|
|
+ for(int m=0;m<list.size();m++){
|
|
|
|
+ d2[m] = ExcelUtil.getDouble(importExcel1,list.get(m).substring(2,list.get(m).length()).trim(),1,3);
|
|
|
|
+ }
|
|
|
|
+ double[][] doubles = ExcelUtil.getBashArray(importExcel,str,2,new int[]{12,13, 14, 15, 17});
|
|
|
|
+ for(int k=0;k<d.length;k++){
|
|
|
|
+ doubles[1][0] = doubles[1][0] + d[k][0];
|
|
|
|
+ doubles[1][1] = doubles[1][1] + d[k][1];
|
|
|
|
+ doubles[1][2] = doubles[1][2] + d[k][2];
|
|
|
|
+ doubles[1][3] = doubles[1][3] + d[k][3];
|
|
|
|
+ doubles[1][4] = doubles[1][4] + d[k][4];
|
|
|
|
+ }
|
|
|
|
+ List<JkxlDetailFee> jkxlDetailFees = new ArrayList<>();
|
|
|
|
+ JkxlDetailFee jkxlDetailFee = null;
|
|
|
|
+ for(int i=0;i<str.length;i++){
|
|
|
|
+ double d1 = ExcelUtil.getDouble(importExcel1,str[i],1,3); //直接工程费
|
|
|
|
+ jkxlDetailFee = new JkxlDetailFee();
|
|
|
|
+ jkxlDetailFee.setWbsCode(wbs[i]);
|
|
|
|
+ jkxlDetailFee.setOriginalTotalCost(doubles[i][0]);
|
|
|
|
+ jkxlDetailFee.setZjgcFee(d1);
|
|
|
|
+ jkxlDetailFee.setOriginalRgCost(doubles[i][1]);
|
|
|
|
+ jkxlDetailFee.setOriginalFbrCost(doubles[i][3]);
|
|
|
|
+ jkxlDetailFee.setOriginalCbrCost(doubles[i][2]);
|
|
|
|
+ jkxlDetailFee.setOriginalJxCost(doubles[i][4]);
|
|
|
|
+ jkxlDetailFees.add(jkxlDetailFee);
|
|
|
|
+ }
|
|
|
|
+ for(JkxlDetailFee jkxlDetailFee1 : jkxlDetailFees){
|
|
|
|
+ if(jkxlDetailFee1.getWbsCode().equals("21310000")){
|
|
|
|
+ for(int n=0;n<d2.length;n++) {
|
|
|
|
+ jkxlDetailFee1.setZjgcFee(jkxlDetailFee1.getZjgcFee() + d2[n]);
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return jkxlDetailFees;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
}
|
|
}
|