|
@@ -131,10 +131,12 @@ public class JkxlController extends BaseController {
|
|
|
ImportExcel gf = new ImportExcel(file,1,BashInfo.SHEET_GFQD); //规费项目清单计价表
|
|
|
ImportExcel qt = new ImportExcel(file,1,BashInfo.SHEET_QTFY); //其他项目清单计价表
|
|
|
ImportExcel total = new ImportExcel(file,1,BashInfo.SHEET_HZB ); //工程项目竣工结算汇总表
|
|
|
+ ImportExcel gzhz = new ImportExcel(file,1,BashInfo.SHEET_GCHZ ); //架空线路工程费用汇总表
|
|
|
double[] csRate = getCsRate(csqd);
|
|
|
double[] gfRate = getGfRate(gf);
|
|
|
double[] qtFees = getQtFees(qt);
|
|
|
double[] wsbFees = getFees(total);
|
|
|
+ int[] zjgcFee = getZjgcFee(gzhz);
|
|
|
double totalFee = 0.00;
|
|
|
List<JkxlData> list = new ArrayList<>();
|
|
|
int lastRow = importExcel.getLastDataRowNum();
|
|
@@ -178,6 +180,7 @@ public class JkxlController extends BaseController {
|
|
|
double btc = wsbFees[0]*orRate; //补调差额
|
|
|
double jcl = wsbFees[1]*orRate; //减材料费
|
|
|
double otherFee = qtFees[2]*otherRate; //其他费用
|
|
|
+ double zjgcFees = gzhz.getDouble(zjgcFee[i],3);//直接工程费
|
|
|
double originalRgCost = importExcel.getDouble(row[i],13); //原人工费
|
|
|
double rgCost = originalRgCost/(1+rate[0]); //后人工费
|
|
|
double originalCbrCost = importExcel.getDouble(row[i],14); //原承包人采购
|
|
@@ -186,7 +189,8 @@ public class JkxlController extends BaseController {
|
|
|
double fbrCost = originalFbrCost/(1+sl); //后发包人采购
|
|
|
double originalJxrCost = importExcel.getDouble(row[i],17); //原机械费
|
|
|
double jxCost = originalJxrCost/(1+rate[2]); //后机械费
|
|
|
- double measuresFee1 = (rgCost+cbrCost+fbrCost+jxCost)*csRate[0]; //措施费1
|
|
|
+ double measuresFee1 = ((zjgcFees-fbrCost)/(1+sl)*sl)*csRate[0]; //措施费1
|
|
|
+// double measuresFee1 = (rgCost+cbrCost+fbrCost+jxCost)*csRate[0]; //措施费1
|
|
|
double measuresFee2 = rgCost*csRate[1]; //措施费2
|
|
|
double fees = rgCost*gfRate[1]*1.12+rgCost*gfRate[0]; //规费
|
|
|
double tax = (originalTotalCost+measuresFee1+measuresFee2+fees+otherFee)*0.09; //税金
|
|
@@ -209,6 +213,7 @@ public class JkxlController extends BaseController {
|
|
|
jkxlData.setTotalFee(totalfee);
|
|
|
jkxlData.setBzFee(btc);
|
|
|
jkxlData.setJkFee(jcl);
|
|
|
+ jkxlData.setZjgcFee(zjgcFees);
|
|
|
jkxlData.setWbsCode(BashInfo.ids[i]);
|
|
|
jkxlData.setId(id);
|
|
|
list.add(jkxlData);
|
|
@@ -228,6 +233,8 @@ public class JkxlController extends BaseController {
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
*获取措施费率
|
|
|
*/
|
|
@@ -339,6 +346,43 @@ public class JkxlController extends BaseController {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ *获取直接工程费
|
|
|
+ */
|
|
|
+ public int[] getZjgcFee(ImportExcel importExcel) {
|
|
|
+ int lastRow = importExcel.getLastDataRowNum();
|
|
|
+ int[] row = new int[6];
|
|
|
+ for(int i=0;i<lastRow;i++){
|
|
|
+ String type = importExcel.getValue(i+1,1);
|
|
|
+ if(type.equals(BashInfo.HZ_JCGC)){
|
|
|
+ row[0] = i+1;
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if(type.equals(BashInfo.HZ_GTGC)){
|
|
|
+ row[1] = i+1;
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if(type.equals(BashInfo.HZ_JDGC)){
|
|
|
+ row[2] = i+1;
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if(type.equals(BashInfo.HZ_JXGC)){
|
|
|
+ row[3] = i+1;
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if(type.equals(BashInfo.HZ_FJAZGC)){
|
|
|
+ row[4] = i+1;
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if(type.equals(BashInfo.HZ_FZ)){
|
|
|
+ row[5] = i+1;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return row;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
public double[] getTzFee(MultipartFile file) throws IOException, InvalidFormatException {
|
|
|
ImportExcel total = new ImportExcel(file,1,BashInfo.SHEET_HZB );
|