Selaa lähdekoodia

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/main/java/com/jeeplus/modules/sg/overheadline/service/OverheadLineService.java
蔡德晨 5 vuotta sitten
vanhempi
commit
30c2cdbe4e

+ 9 - 1
src/main/java/com/jeeplus/common/utils/excel/ImportExcel.java

@@ -195,7 +195,7 @@ public class ImportExcel {
 
 	public ImportExcel(String fileName, InputStream is, int headerNum, String[] sheetName)
 			throws InvalidFormatException, IOException {
-		int i = 0;
+		int i = 100;
 		if (StringUtils.isBlank(fileName)){
 			throw new RuntimeException("导入文档为空!");
 		}else if(fileName.toLowerCase().endsWith("xls")){
@@ -211,6 +211,9 @@ public class ImportExcel {
                   break;
 			}
 		}
+		if(i==100){
+			throw new RuntimeException("缺少"+sheetName[0]);
+		}
 		this.sheet = this.wb.getSheet(sheetName[i]);
 		this.headerNum = headerNum;
 		log.debug("Initialize success.");
@@ -476,6 +479,11 @@ public class ImportExcel {
 		return dataList;
 	}
 
+
+	public static Sheet getSheet(ImportExcel importExcel){
+		return importExcel.sheet;
+	}
+
 //	/**
 //	 * 导入测试
 //	 */

+ 289 - 123
src/main/java/com/jeeplus/modules/sg/overheadline/service/OverheadLineService.java

@@ -153,7 +153,7 @@ public class OverheadLineService {
        tcRate[2] = ruleRatioService.getValueByName(BashInfo.RATIO_JXTC).getValue()/100;
        //读取表格
        ImportExcel importExcel = new ImportExcel(file,1,BashInfo.SHEET_FBFXJJ);  //分部分项工程量清单计价表
-       ImportExcel csqd = new ImportExcel(file,1,BashInfo.SHEET_CSB);  // 措施项目清单计价表(一)
+       ImportExcel csqd = new ImportExcel(file,1,new String[]{BashInfo.SHEET_CSB,BashInfo.SHEET_CSB1});  // 措施项目清单计价表(一)
        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 );  //工程项目竣工结算汇总表
@@ -305,152 +305,318 @@ public class OverheadLineService {
         tcRate[1] = ruleRatioService.getValueByName(BashInfo.RATIO_CLTC).getValue()/100;
         tcRate[2] = ruleRatioService.getValueByName(BashInfo.RATIO_JXTC).getValue()/100;
         //读取表格
-        ImportExcel jzqd = new ImportExcel(file,1,BashInfo.SHEET_JZFBFXJJ);  //建筑分部分项工程量清单计价表
-        ImportExcel azqd = new ImportExcel(file,1,BashInfo.SHEET_AZFBFXJJ);  //安装分部分项工程量清单计价表
-        ImportExcel csqd = new ImportExcel(file,1,BashInfo.SHEET_CSB);  // 措施项目清单计价表(一)
+        ImportExcel total = new ImportExcel(file,1,new String[]{BashInfo.SHEET_HZB,BashInfo.SHEET_HZB1} );  //工程项目竣工结算汇总表
+        ImportExcel csqd = new ImportExcel(file,1,new String[]{BashInfo.SHEET_CSB,BashInfo.SHEET_CSB1});  // 措施项目清单计价表(一)
         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 jzhz = new ImportExcel(file,1,BashInfo.SHEET_JZHZB );   //电缆线路建筑工程费用汇总表
-        ImportExcel azhz = new ImportExcel(file,1,BashInfo.SHEET_HZHZB );   //电缆线路安装工程费用汇总表
-        ImportExcel fbrcg = new ImportExcel(file,1,new String[]{BashInfo.SHEET_FBRCG,BashInfo.SHEET_FBRCG1});   //发包人采购材料设备计价表
+        ImportExcel fbrcg = new ImportExcel(file,1,new String[]{BashInfo.SHEET_FBRCG,BashInfo.SHEET_FBRCG1,BashInfo.SHEET_FBRCG2});   //发包人采购材料设备计价表
         List<Settlement> settlementList =  SettementUtil.getComparison(total);
-        double built1Total = ExcelUtil.getDouble(jzhz,BashInfo.QT_HJ,0,2);//建筑分布分项工程量清单计价表合计
-        double built2Total = ExcelUtil.getDouble(azhz,BashInfo.QT_HJ,0,2);//安装分部分项工程量清单计合计
-        double[] builtTotal={built1Total,built2Total};
-        List<Settlement> settlementDLList =  SettementUtil.getComparison(total);
-        double wordtotal1 =  ExcelUtil.getDouble(csqd,BashInfo.QT_HJ,0,4);//获取措施费清单计价表
-        double otherTotal =  ExcelUtil.getDouble(qt,BashInfo.QT_HJ,0,2);//获取其他项目费合计
         double cbperson = 0.0;
         double word1total =  ExcelUtil.getDouble(csqd,BashInfo.QT_HJ,0,4);//获取措施费清单计价表一
         double word2total=0.0;
-        double world2total=0.0;//措施费二
         double otherDlTotal =  ExcelUtil.getDouble(qt,BashInfo.QT_HJ,0,2);//获取其他项目费合计
         double feesDlCount =  ExcelUtil.getDouble(gf,BashInfo.QT_HJ,0,4);//获取规费合计
         int[] comlumn2 = {12,15};//定义所要数组
-        double[] division1total=ExcelUtil.getDoubleArray(jzqd,BashInfo.DLJZ,2,comlumn2);//建筑分部分项比对数据清单合计
-        double[] division2total=ExcelUtil.getDoubleArray(azqd,BashInfo.DLAZ,2,comlumn2);//安装分部分项比对数据清单合计
-        double[] division = {division1total[0],division1total[1],division2total[0],division2total[1]};
-        double feescount =  ExcelUtil.getDouble(gf,BashInfo.QT_HJ,0,4);//获取规费合计
-        List<Settlement> dlSettlements = SettementUtil.getDLComparison(settlementList,builtTotal,division,word1total,word2total,otherDlTotal,feesDlCount,cbperson);
-        //数据核验并保存数据库
-        settlementService.save(dlSettlements,id);
         //获取补增值税税率调整差额和扣减甲供材超供材料费
         double wsbFees = ExcelUtil.getDouble(total, BashInfo.KJYJSG,1,2);
-//        double csFee = ExcelUtil.getDouble(gzhz,BashInfo.HZ_CH,1,2);  //措施项目费
-        double[] originalTotalJzFees = ExcelUtil.getDoubleArray(jzhz,BashInfo.HZ_JZ,1,2); //获取建筑合计费
-        double[] originalTotalAzFees = ExcelUtil.getDoubleArray(azhz,BashInfo.HZ_AZ,1,2); //获取安装合计费
-        double[] zjgcJzFees = ExcelUtil.getDoubleArray(jzhz,BashInfo.HZ_JZ,1,3);  //获取建筑直接工程费
-        double[][] zjgcAzFees = ExcelUtil.getDoubleArrays(azhz,BashInfo.HZ_AZ,1,new int[]{3,4});  //获取安装直接工程费和人工费
-        double[][] originalJzFees = ExcelUtil.getDoubleArrays(jzqd,BashInfo.MX_JZ,2, new int[]{13, 14, 15, 17}); //获取建筑原始费用
-        double[][] originalAzFees = ExcelUtil.getDoubleArrays(azqd,BashInfo.MX_AZ,2, new int[]{13, 14, 15, 17}); //获取安装原始费用
+        double jzgc = ExcelUtil.getDouble(total,BashInfo.HZ_JZGC,1,2);//汇总表建筑金额
+        double azgc = ExcelUtil.getDouble(total,BashInfo.HZ_AZGC,1,2);//汇总表安装金额
         double texRate = ExcelUtil.getTexRate(total); //获取税率
         double fbfxFee = ExcelUtil.getDouble(total,BashInfo.JS_FBFX,1,2);  //分部分项工程费
-        double totalJzFee = ExcelUtil.getDouble(jzqd,BashInfo.DLJZ,2,12);  //获取电缆建筑合计金额
-        double totalAzFee = ExcelUtil.getDouble(jzqd,BashInfo.DLAZ,2,12);  //获取电缆安装合计金额
-//        double totalFee = totalJzFee + totalAzFee;
         double jzcsRate = BashInfo.getJzRate(csqd); //获取建筑措施费率
         double[] azcsRate = BashInfo.getAzRate(csqd); //获取安装措施费率
         double[] jzgfRate = BashInfo.getJzGfRate(gf);  //获取建筑规费率
         double[] azgfRate = BashInfo.getAzGfRate(gf);  //获取安装规费率
         double[] qtFees = BashInfo.getQtFees(qt);  //获取其他费用
         double gcjsFee = BashInfo.getGcjsFee(total);  //获取工程结算价
-        double fbrJzFee = ExcelUtil.getDouble(fbrcg,BashInfo.QT_XJ,0,6); //建筑发包人采购计价表合计金额
-        double fbrAzFee = BashInfo.getFbrAzFee(fbrcg);  //安装发包人采购计价表合计金额
-        double zjgcJzTotal = ExcelUtil.getDouble(jzhz,BashInfo.QT_HJ,0,3);//建筑直接工程费合计
-        double zjgcAzTotal = ExcelUtil.getDouble(azhz,BashInfo.QT_HJ,0,3);//安装直接工程费合计
-        double[] aqwmJzFees = ExcelUtil.getDoubleArray(csqd,BashInfo.CS_AQWM,1, new int[]{3, 4});  //建筑安全文明施工费
-        double[] aqwmAzFees = BashInfo.getAqwfAzFee(csqd);  //建筑安全文明施工费
-        double zgJz = zjgcJzTotal-(aqwmJzFees[1]/(aqwmJzFees[0]/100));
-        double zgAz = zjgcAzTotal-(aqwmAzFees[1]/(aqwmAzFees[0]/100));
-        double jxslJz = new BigDecimal(zgJz/(fbrJzFee-zgJz)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); //建筑进项税率
-        double jxslAz = new BigDecimal(zgAz/(fbrAzFee-zgAz)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); //安装进项税率
-        //将本体工程费用明细存入集合
         List<JkxlDetailFee> list = new ArrayList<>();
-        for(int i=0;i<originalTotalJzFees.length;i++){
-            JkxlDetailFee jkxlDetailFee = new JkxlDetailFee();
-            double originalTotalCost = originalTotalJzFees[i]; //原合计
+        if(jzgc !=0.00 && azgc == 0.00){
+            ImportExcel jzqd = new ImportExcel(file,1,BashInfo.SHEET_JZFBFXJJ);  //建筑分部分项工程量清单计价表
+            ImportExcel jzhz = new ImportExcel(file,1,BashInfo.SHEET_JZHZB );   //电缆线路建筑工程费用汇总表
+            double built1Total = ExcelUtil.getDouble(jzhz,BashInfo.QT_HJ,0,2);//建筑分布分项工程量清单计价表合计
+            double[] builtTotal={built1Total,0.00};
+            double[] division1total=ExcelUtil.getDoubleArray(jzqd,BashInfo.DLJZ,2,comlumn2);//建筑分部分项比对数据清单合计
+            double[] division = {division1total[0],division1total[1],0.00,0.00};
+            List<Settlement> dlSettlements = SettementUtil.getDLComparison(settlementList,builtTotal,division,word1total,word2total,otherDlTotal,feesDlCount,cbperson);
+            //数据核验并保存数据库
+            settlementService.save(dlSettlements,id);
+            double[] originalTotalJzFees = ExcelUtil.getDoubleArray(jzhz,BashInfo.HZ_JZ,1,2); //获取建筑合计费
+            double[] zjgcJzFees = ExcelUtil.getDoubleArray(jzhz,BashInfo.HZ_JZ,1,3);  //获取建筑直接工程费
+            double[][] originalJzFees = ExcelUtil.getDoubleArrays(jzqd,BashInfo.MX_JZ,2, new int[]{13, 14, 15, 17}); //获取建筑原始费用
+            double fbrJzFee = ExcelUtil.getDouble(fbrcg,BashInfo.QT_XJ,0,6); //建筑发包人采购计价表合计金额
+            double zjgcJzTotal = ExcelUtil.getDouble(jzhz,BashInfo.QT_HJ,0,3);//建筑直接工程费合计
+            double[] aqwmJzFees = ExcelUtil.getDoubleArray(csqd,BashInfo.CS_AQWM,1, new int[]{3, 4});  //建筑安全文明施工费
+            double[] aqwmAzFees = BashInfo.getAqwfAzFee(csqd);  //建筑安全文明施工费
+            double zgJz = zjgcJzTotal-(aqwmJzFees[1]/(aqwmJzFees[0]/100));
+            double jxslJz = new BigDecimal(zgJz/(fbrJzFee-zgJz)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); //建筑进项税率
+            for(int i=0;i<originalTotalJzFees.length;i++){
+                JkxlDetailFee jkxlDetailFee = new JkxlDetailFee();
+                double originalTotalCost = originalTotalJzFees[i]; //原合计
 //            double otherRate = originalTotalCost/totalFee;   //其他费用分摊比例
 //            double orRate = new BigDecimal(otherRate).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); //四舍五入
-            double otherFee = qtFees[2]/fbfxFee*originalTotalCost;  //其他费用
-            double zjgcJzFee = zjgcJzFees[i];//直接工程费
-            double originalRgCost = originalJzFees[i][0];// 原人工费
-            double rgCost = originalRgCost/(1+tcRate[0]);  //后人工费
-            double originalCbrCost = originalJzFees[i][1];  //原承包人采购
-            double cbrCost = originalCbrCost/(1+tcRate[1]);  //后承包人采购
-            double originalFbrCost = originalJzFees[i][2];  //原发包人采购
-            double fbrCost = originalFbrCost/(1+jxslJz); //后发包人采购
-            double originalJxrCost = originalJzFees[i][3];   //原机械费
-            double jxCost = originalJxrCost/(1+tcRate[2]); //后机械费
-            double measuresFee1 = (zjgcJzFee-originalFbrCost)*jzcsRate; //措施费一(2)
-            double measuresFee2 = 0.00;   //措施费一(1)
-            double measuresFee3 = 0.00; //措施费二
-            double fees = (zjgcJzFee-originalFbrCost)*jzgfRate[0]+(zjgcJzFee-originalFbrCost)*jzgfRate[1]*0.2;  //规费
-            double tax = (originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee)*texRate; //税金
-            double totalfee = originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee+tax; //合计
-            jkxlDetailFee.setOriginalTotalCost(originalTotalCost);
+                double otherFee = qtFees[2]/fbfxFee*originalTotalCost;  //其他费用
+                double zjgcJzFee = zjgcJzFees[i];//直接工程费
+                double originalRgCost = originalJzFees[i][0];// 原人工费
+                double rgCost = originalRgCost/(1+tcRate[0]);  //后人工费
+                double originalCbrCost = originalJzFees[i][1];  //原承包人采购
+                double cbrCost = originalCbrCost/(1+tcRate[1]);  //后承包人采购
+                double originalFbrCost = originalJzFees[i][2];  //原发包人采购
+                double fbrCost = originalFbrCost/(1+jxslJz); //后发包人采购
+                double originalJxrCost = originalJzFees[i][3];   //原机械费
+                double jxCost = originalJxrCost/(1+tcRate[2]); //后机械费
+                double measuresFee1 = (zjgcJzFee-originalFbrCost)*jzcsRate; //措施费一(2)
+                double measuresFee2 = 0.00;   //措施费一(1)
+                double measuresFee3 = 0.00; //措施费二
+                double fees = (zjgcJzFee-originalFbrCost)*jzgfRate[0]+(zjgcJzFee-originalFbrCost)*jzgfRate[1]*0.2;  //规费
+                double tax = (originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee)*texRate; //税金
+                double totalfee = originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee+tax; //合计
+                jkxlDetailFee.setOriginalTotalCost(originalTotalCost);
 //            jkxlDetailFee.setOriginalRate(orRate);
-            jkxlDetailFee.setOriginalRgCost(originalRgCost);
-            jkxlDetailFee.setRgCost(rgCost);
-            jkxlDetailFee.setOriginalCbrCost(originalCbrCost);
-            jkxlDetailFee.setCbrCost(cbrCost);
-            jkxlDetailFee.setOriginalFbrCost(originalFbrCost);
-            jkxlDetailFee.setFbrCost(fbrCost);
-            jkxlDetailFee.setOriginalJxCost(originalJxrCost);
-            jkxlDetailFee.setJxCost(jxCost);
-            jkxlDetailFee.setMeasuresFee1(measuresFee1);
-            jkxlDetailFee.setMeasuresFee2(measuresFee2);
-            jkxlDetailFee.setMeasuresFee3(measuresFee3);
-            jkxlDetailFee.setFees(fees);
-            jkxlDetailFee.setOtherCost(otherFee);
-            jkxlDetailFee.setTex(tax);
-            jkxlDetailFee.setTotalFee(totalfee);
-            jkxlDetailFee.setZjgcFee(zjgcJzFee);
-            jkxlDetailFee.setWbsCode(BashInfo.JZWBSIDS [i]);
-            jkxlDetailFee.setId(id);
-            list.add(jkxlDetailFee);
-        }
-        for(int i=0;i<originalTotalAzFees.length;i++){
-            JkxlDetailFee jkxlDetailFee = new JkxlDetailFee();
-            double originalTotalCost = originalTotalAzFees[i]; //原合计
-            double otherFee = qtFees[2]/fbfxFee*originalTotalCost;  //其他费用
-            double zjgcAzFee = zjgcAzFees[i][0];//直接工程费
-            double rgAzFee = zjgcAzFees[i][1];//人工费
-            double originalRgCost = originalAzFees[i][0];// 原人工费
-            double rgCost = originalRgCost/(1+tcRate[0]);  //后人工费
-            double originalCbrCost = originalAzFees[i][1];  //原承包人采购
-            double cbrCost = originalCbrCost/(1+tcRate[1]);  //后承包人采购
-            double originalFbrCost = originalAzFees[i][2];  //原发包人采购
-            double fbrCost = originalFbrCost/(1+jxslJz); //后发包人采购
-            double originalJxrCost = originalAzFees[i][3];   //原机械费
-            double jxCost = originalJxrCost/(1+tcRate[2]); //后机械费
-            double measuresFee1 = (zjgcAzFee-originalFbrCost/(1+jxslAz)*jxslAz)*azcsRate[0]+(rgAzFee/(1+tcRate[0])*azcsRate[1]); //措施费一(2)
-            double measuresFee2 = 0.00;   //措施费一(1)
-            double measuresFee3 = 0.00; //措施费二
-            double fees = rgAzFee/(1+tcRate[0])*azgfRate[0]+rgAzFee/(1+tcRate[0])*azgfRate[1]*1.2;  //规费
-            double tax = (originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee)*texRate; //税金
-            double totalfee = originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee+tax; //合计
-            jkxlDetailFee.setOriginalTotalCost(originalTotalCost);
-            jkxlDetailFee.setOriginalRgCost(originalRgCost);
-            jkxlDetailFee.setRgCost(rgCost);
-            jkxlDetailFee.setOriginalCbrCost(originalCbrCost);
-            jkxlDetailFee.setCbrCost(cbrCost);
-            jkxlDetailFee.setOriginalFbrCost(originalFbrCost);
-            jkxlDetailFee.setFbrCost(fbrCost);
-            jkxlDetailFee.setOriginalJxCost(originalJxrCost);
-            jkxlDetailFee.setJxCost(jxCost);
-            jkxlDetailFee.setMeasuresFee1(measuresFee1);
-            jkxlDetailFee.setMeasuresFee2(measuresFee2);
-            jkxlDetailFee.setMeasuresFee3(measuresFee3);
-            jkxlDetailFee.setFees(fees);
-            jkxlDetailFee.setOtherCost(otherFee);
-            jkxlDetailFee.setTex(tax);
-            jkxlDetailFee.setTotalFee(totalfee);
-            jkxlDetailFee.setZjgcFee(zjgcAzFee);
-            jkxlDetailFee.setWbsCode(BashInfo.AZWBSIDS[i]);
-            jkxlDetailFee.setId(id);
-            list.add(jkxlDetailFee);
+                jkxlDetailFee.setOriginalRgCost(originalRgCost);
+                jkxlDetailFee.setRgCost(rgCost);
+                jkxlDetailFee.setOriginalCbrCost(originalCbrCost);
+                jkxlDetailFee.setCbrCost(cbrCost);
+                jkxlDetailFee.setOriginalFbrCost(originalFbrCost);
+                jkxlDetailFee.setFbrCost(fbrCost);
+                jkxlDetailFee.setOriginalJxCost(originalJxrCost);
+                jkxlDetailFee.setJxCost(jxCost);
+                jkxlDetailFee.setMeasuresFee1(measuresFee1);
+                jkxlDetailFee.setMeasuresFee2(measuresFee2);
+                jkxlDetailFee.setMeasuresFee3(measuresFee3);
+                jkxlDetailFee.setFees(fees);
+                jkxlDetailFee.setOtherCost(otherFee);
+                jkxlDetailFee.setTex(tax);
+                jkxlDetailFee.setTotalFee(totalfee);
+                jkxlDetailFee.setZjgcFee(zjgcJzFee);
+                jkxlDetailFee.setWbsCode(BashInfo.JZWBSIDS [i]);
+                jkxlDetailFee.setId(id);
+                list.add(jkxlDetailFee);
+            }
+
+        } else if(jzgc ==0.00 && azgc != 0.00){
+            ImportExcel azqd = new ImportExcel(file,1,BashInfo.SHEET_AZFBFXJJ);  //安装分部分项工程量清单计价表
+            ImportExcel azhz = new ImportExcel(file,1,BashInfo.SHEET_HZHZB );   //电缆线路安装工程费用汇总表
+            double built2Total = ExcelUtil.getDouble(azhz,BashInfo.QT_HJ,0,2);//安装分部分项工程量清单计合计
+            double[] builtTotal={0.00,built2Total};
+            double[] division2total=ExcelUtil.getDoubleArray(azqd,BashInfo.DLAZ,2,comlumn2);//安装分部分项比对数据清单合计
+            double[] division = {0.00,0.00,division2total[0],division2total[1]};
+            List<Settlement> dlSettlements = SettementUtil.getDLComparison(settlementList,builtTotal,division,word1total,word2total,otherDlTotal,feesDlCount,cbperson);
+            //数据核验并保存数据库
+            settlementService.save(dlSettlements,id);
+            double[] originalTotalAzFees = ExcelUtil.getDoubleArray(azhz,BashInfo.HZ_AZ,1,2); //获取安装合计费
+            double[][] zjgcAzFees = ExcelUtil.getDoubleArrays(azhz,BashInfo.HZ_AZ,1,new int[]{3,4});  //获取安装直接工程费和人工费
+            double[][] originalAzFees = ExcelUtil.getDoubleArrays(azqd,BashInfo.MX_AZ,2, new int[]{13, 14, 15, 17}); //获取安装原始费用
+            double fbrAzFee = BashInfo.getFbrAzFee(fbrcg);  //安装发包人采购计价表合计金额
+            double zjgcAzTotal = ExcelUtil.getDouble(azhz,BashInfo.QT_HJ,0,3);//安装直接工程费合计
+            double[] aqwmAzFees = BashInfo.getAqwfAzFee(csqd);  //建筑安全文明施工费
+            double zgAz = zjgcAzTotal-(aqwmAzFees[1]/(aqwmAzFees[0]/100));
+            double jxslAz = new BigDecimal(zgAz/(fbrAzFee-zgAz)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); //安装进项税率
+            for(int i=0;i<originalTotalAzFees.length;i++){
+                JkxlDetailFee jkxlDetailFee = new JkxlDetailFee();
+                double originalTotalCost = originalTotalAzFees[i]; //原合计
+                double otherFee = qtFees[2]/fbfxFee*originalTotalCost;  //其他费用
+                double zjgcAzFee = zjgcAzFees[i][0];//直接工程费
+                double rgAzFee = zjgcAzFees[i][1];//人工费
+                double originalRgCost = originalAzFees[i][0];// 原人工费
+                double rgCost = originalRgCost/(1+tcRate[0]);  //后人工费
+                double originalCbrCost = originalAzFees[i][1];  //原承包人采购
+                double cbrCost = originalCbrCost/(1+tcRate[1]);  //后承包人采购
+                double originalFbrCost = originalAzFees[i][2];  //原发包人采购
+                double fbrCost = originalFbrCost/(1+jxslAz); //后发包人采购
+                double originalJxrCost = originalAzFees[i][3];   //原机械费
+                double jxCost = originalJxrCost/(1+tcRate[2]); //后机械费
+                double measuresFee1 = (zjgcAzFee-originalFbrCost/(1+jxslAz)*jxslAz)*azcsRate[0]+(rgAzFee/(1+tcRate[0])*azcsRate[1]); //措施费一(2)
+                double measuresFee2 = 0.00;   //措施费一(1)
+                double measuresFee3 = 0.00; //措施费二
+                double fees = rgAzFee/(1+tcRate[0])*azgfRate[0]+rgAzFee/(1+tcRate[0])*azgfRate[1]*1.2;  //规费
+                double tax = (originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee)*texRate; //税金
+                double totalfee = originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee+tax; //合计
+                jkxlDetailFee.setOriginalTotalCost(originalTotalCost);
+                jkxlDetailFee.setOriginalRgCost(originalRgCost);
+                jkxlDetailFee.setRgCost(rgCost);
+                jkxlDetailFee.setOriginalCbrCost(originalCbrCost);
+                jkxlDetailFee.setCbrCost(cbrCost);
+                jkxlDetailFee.setOriginalFbrCost(originalFbrCost);
+                jkxlDetailFee.setFbrCost(fbrCost);
+                jkxlDetailFee.setOriginalJxCost(originalJxrCost);
+                jkxlDetailFee.setJxCost(jxCost);
+                jkxlDetailFee.setMeasuresFee1(measuresFee1);
+                jkxlDetailFee.setMeasuresFee2(measuresFee2);
+                jkxlDetailFee.setMeasuresFee3(measuresFee3);
+                jkxlDetailFee.setFees(fees);
+                jkxlDetailFee.setOtherCost(otherFee);
+                jkxlDetailFee.setTex(tax);
+                jkxlDetailFee.setTotalFee(totalfee);
+                jkxlDetailFee.setZjgcFee(zjgcAzFee);
+                jkxlDetailFee.setWbsCode(BashInfo.AZWBSIDS[i]);
+                jkxlDetailFee.setId(id);
+                list.add(jkxlDetailFee);
+            }
+
+        } else {
+            ImportExcel jzqd = new ImportExcel(file, 1, BashInfo.SHEET_JZFBFXJJ);  //建筑分部分项工程量清单计价表
+            ImportExcel azqd = new ImportExcel(file, 1, BashInfo.SHEET_AZFBFXJJ);  //安装分部分项工程量清单计价表
+            ImportExcel jzhz = new ImportExcel(file, 1, BashInfo.SHEET_JZHZB);   //电缆线路建筑工程费用汇总表
+            ImportExcel azhz = new ImportExcel(file, 1, BashInfo.SHEET_HZHZB);   //电缆线路安装工程费用汇总表
+            double built1Total = ExcelUtil.getDouble(jzhz,BashInfo.QT_HJ,0,2);//建筑分布分项工程量清单计价表合计
+            double built2Total = ExcelUtil.getDouble(azhz,BashInfo.QT_HJ,0,2);//安装分部分项工程量清单计合计
+            double[] builtTotal={built1Total,built2Total};
+            double[] division1total=ExcelUtil.getDoubleArray(jzqd,BashInfo.DLJZ,2,comlumn2);//建筑分部分项比对数据清单合计
+            double[] division2total=ExcelUtil.getDoubleArray(azqd,BashInfo.DLAZ,2,comlumn2);//安装分部分项比对数据清单合计
+            double[] division = {division1total[0],division1total[1],division2total[0],division2total[1]};
+            List<Settlement> dlSettlements = SettementUtil.getDLComparison(settlementList,builtTotal,division,word1total,word2total,otherDlTotal,feesDlCount,cbperson);
+            //数据核验并保存数据库
+            settlementService.save(dlSettlements,id);
+            double[] originalTotalJzFees = ExcelUtil.getDoubleArray(jzhz,BashInfo.HZ_JZ,1,2); //获取建筑合计费
+            double[] originalTotalAzFees = ExcelUtil.getDoubleArray(azhz,BashInfo.HZ_AZ,1,2); //获取安装合计费
+            double[] zjgcJzFees = ExcelUtil.getDoubleArray(jzhz,BashInfo.HZ_JZ,1,3);  //获取建筑直接工程费
+            double[][] zjgcAzFees = ExcelUtil.getDoubleArrays(azhz,BashInfo.HZ_AZ,1,new int[]{3,4});  //获取安装直接工程费和人工费
+            double[][] originalJzFees = ExcelUtil.getDoubleArrays(jzqd,BashInfo.MX_JZ,2, new int[]{13, 14, 15, 17}); //获取建筑原始费用
+            double[][] originalAzFees = ExcelUtil.getDoubleArrays(azqd,BashInfo.MX_AZ,2, new int[]{13, 14, 15, 17}); //获取安装原始费用
+            double fbrJzFee = ExcelUtil.getDouble(fbrcg,BashInfo.QT_XJ,0,6); //建筑发包人采购计价表合计金额
+            double fbrAzFee = BashInfo.getFbrAzFee(fbrcg);  //安装发包人采购计价表合计金额
+            double zjgcJzTotal = ExcelUtil.getDouble(jzhz,BashInfo.QT_HJ,0,3);//建筑直接工程费合计
+            double zjgcAzTotal = ExcelUtil.getDouble(azhz,BashInfo.QT_HJ,0,3);//安装直接工程费合计
+            double[] aqwmJzFees = ExcelUtil.getDoubleArray(csqd,BashInfo.CS_AQWM,1, new int[]{3, 4});  //建筑安全文明施工费
+            double[] aqwmAzFees = BashInfo.getAqwfAzFee(csqd);  //建筑安全文明施工费
+            double zgJz = zjgcJzTotal-(aqwmJzFees[1]/(aqwmJzFees[0]/100));
+            double zgAz = zjgcAzTotal-(aqwmAzFees[1]/(aqwmAzFees[0]/100));
+            double jxslJz = new BigDecimal(zgJz/(fbrJzFee-zgJz)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); //建筑进项税率
+            double jxslAz = new BigDecimal(zgAz/(fbrAzFee-zgAz)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); //安装进项税率
+            //将本体工程费用明细存入集合
+            for(int i=0;i<originalTotalJzFees.length;i++){
+                JkxlDetailFee jkxlDetailFee = new JkxlDetailFee();
+                double originalTotalCost = originalTotalJzFees[i]; //原合计
+//            double otherRate = originalTotalCost/totalFee;   //其他费用分摊比例
+//            double orRate = new BigDecimal(otherRate).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); //四舍五入
+                double otherFee = qtFees[2]/fbfxFee*originalTotalCost;  //其他费用
+                double zjgcJzFee = zjgcJzFees[i];//直接工程费
+                double originalRgCost = originalJzFees[i][0];// 原人工费
+                double rgCost = originalRgCost/(1+tcRate[0]);  //后人工费
+                double originalCbrCost = originalJzFees[i][1];  //原承包人采购
+                double cbrCost = originalCbrCost/(1+tcRate[1]);  //后承包人采购
+                double originalFbrCost = originalJzFees[i][2];  //原发包人采购
+                double fbrCost = originalFbrCost/(1+jxslJz); //后发包人采购
+                double originalJxrCost = originalJzFees[i][3];   //原机械费
+                double jxCost = originalJxrCost/(1+tcRate[2]); //后机械费
+                double measuresFee1 = (zjgcJzFee-originalFbrCost)*jzcsRate; //措施费一(2)
+                double measuresFee2 = 0.00;   //措施费一(1)
+                double measuresFee3 = 0.00; //措施费二
+                double fees = (zjgcJzFee-originalFbrCost)*jzgfRate[0]+(zjgcJzFee-originalFbrCost)*jzgfRate[1]*0.2;  //规费
+                double tax = (originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee)*texRate; //税金
+                double totalfee = originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee+tax; //合计
+                jkxlDetailFee.setOriginalTotalCost(originalTotalCost);
+//            jkxlDetailFee.setOriginalRate(orRate);
+                jkxlDetailFee.setOriginalRgCost(originalRgCost);
+                jkxlDetailFee.setRgCost(rgCost);
+                jkxlDetailFee.setOriginalCbrCost(originalCbrCost);
+                jkxlDetailFee.setCbrCost(cbrCost);
+                jkxlDetailFee.setOriginalFbrCost(originalFbrCost);
+                jkxlDetailFee.setFbrCost(fbrCost);
+                jkxlDetailFee.setOriginalJxCost(originalJxrCost);
+                jkxlDetailFee.setJxCost(jxCost);
+                jkxlDetailFee.setMeasuresFee1(measuresFee1);
+                jkxlDetailFee.setMeasuresFee2(measuresFee2);
+                jkxlDetailFee.setMeasuresFee3(measuresFee3);
+                jkxlDetailFee.setFees(fees);
+                jkxlDetailFee.setOtherCost(otherFee);
+                jkxlDetailFee.setTex(tax);
+                jkxlDetailFee.setTotalFee(totalfee);
+                jkxlDetailFee.setZjgcFee(zjgcJzFee);
+                jkxlDetailFee.setWbsCode(BashInfo.JZWBSIDS [i]);
+                jkxlDetailFee.setId(id);
+                list.add(jkxlDetailFee);
+            }
+            for(int i=0;i<originalTotalAzFees.length;i++){
+                JkxlDetailFee jkxlDetailFee = new JkxlDetailFee();
+                double originalTotalCost = originalTotalAzFees[i]; //原合计
+                double otherFee = qtFees[2]/fbfxFee*originalTotalCost;  //其他费用
+                double zjgcAzFee = zjgcAzFees[i][0];//直接工程费
+                double rgAzFee = zjgcAzFees[i][1];//人工费
+                double originalRgCost = originalAzFees[i][0];// 原人工费
+                double rgCost = originalRgCost/(1+tcRate[0]);  //后人工费
+                double originalCbrCost = originalAzFees[i][1];  //原承包人采购
+                double cbrCost = originalCbrCost/(1+tcRate[1]);  //后承包人采购
+                double originalFbrCost = originalAzFees[i][2];  //原发包人采购
+                double fbrCost = originalFbrCost/(1+jxslAz); //后发包人采购
+                double originalJxrCost = originalAzFees[i][3];   //原机械费
+                double jxCost = originalJxrCost/(1+tcRate[2]); //后机械费
+                double measuresFee1 = (zjgcAzFee-originalFbrCost/(1+jxslAz)*jxslAz)*azcsRate[0]+(rgAzFee/(1+tcRate[0])*azcsRate[1]); //措施费一(2)
+                double measuresFee2 = 0.00;   //措施费一(1)
+                double measuresFee3 = 0.00; //措施费二
+                double fees = rgAzFee/(1+tcRate[0])*azgfRate[0]+rgAzFee/(1+tcRate[0])*azgfRate[1]*1.2;  //规费
+                double tax = (originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee)*texRate; //税金
+                double totalfee = originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee+tax; //合计
+                jkxlDetailFee.setOriginalTotalCost(originalTotalCost);
+                jkxlDetailFee.setOriginalRgCost(originalRgCost);
+                jkxlDetailFee.setRgCost(rgCost);
+                jkxlDetailFee.setOriginalCbrCost(originalCbrCost);
+                jkxlDetailFee.setCbrCost(cbrCost);
+                jkxlDetailFee.setOriginalFbrCost(originalFbrCost);
+                jkxlDetailFee.setFbrCost(fbrCost);
+                jkxlDetailFee.setOriginalJxCost(originalJxrCost);
+                jkxlDetailFee.setJxCost(jxCost);
+                jkxlDetailFee.setMeasuresFee1(measuresFee1);
+                jkxlDetailFee.setMeasuresFee2(measuresFee2);
+                jkxlDetailFee.setMeasuresFee3(measuresFee3);
+                jkxlDetailFee.setFees(fees);
+                jkxlDetailFee.setOtherCost(otherFee);
+                jkxlDetailFee.setTex(tax);
+                jkxlDetailFee.setTotalFee(totalfee);
+                jkxlDetailFee.setZjgcFee(zjgcAzFee);
+                jkxlDetailFee.setWbsCode(BashInfo.AZWBSIDS[i]);
+                jkxlDetailFee.setId(id);
+                list.add(jkxlDetailFee);
+            }
         }
+//        ImportExcel fbrcg = new ImportExcel(file,1,new String[]{BashInfo.SHEET_FBRCG,BashInfo.SHEET_FBRCG1,BashInfo.SHEET_FBRCG2});   //发包人采购材料设备计价表
+//        List<Settlement> settlementList =  SettementUtil.getComparison(total);
+//        double built1Total = ExcelUtil.getDouble(jzhz,BashInfo.QT_HJ,0,2);//建筑分布分项工程量清单计价表合计
+//        double built2Total = ExcelUtil.getDouble(azhz,BashInfo.QT_HJ,0,2);//安装分部分项工程量清单计合计
+//        double[] builtTotal={built1Total,built2Total};
+//        double cbperson = 0.0;
+//        double word1total =  ExcelUtil.getDouble(csqd,BashInfo.QT_HJ,0,4);//获取措施费清单计价表一
+//        double word2total=0.0;
+//        double otherDlTotal =  ExcelUtil.getDouble(qt,BashInfo.QT_HJ,0,2);//获取其他项目费合计
+//        double feesDlCount =  ExcelUtil.getDouble(gf,BashInfo.QT_HJ,0,4);//获取规费合计
+//        int[] comlumn2 = {12,15};//定义所要数组
+//        double[] division1total=ExcelUtil.getDoubleArray(jzqd,BashInfo.DLJZ,2,comlumn2);//建筑分部分项比对数据清单合计
+//        double[] division2total=ExcelUtil.getDoubleArray(azqd,BashInfo.DLAZ,2,comlumn2);//安装分部分项比对数据清单合计
+//        double[] division = {division1total[0],division1total[1],division2total[0],division2total[1]};
+//        List<Settlement> dlSettlements = SettementUtil.getDLComparison(settlementList,builtTotal,division,word1total,word2total,otherDlTotal,feesDlCount,cbperson);
+//        //数据核验并保存数据库
+//        settlementService.save(dlSettlements,id);
+//        //获取补增值税税率调整差额和扣减甲供材超供材料费
+//        double wsbFees = ExcelUtil.getDouble(total, BashInfo.KJYJSG,1,2);
+//        double[] originalTotalJzFees = ExcelUtil.getDoubleArray(jzhz,BashInfo.HZ_JZ,1,2); //获取建筑合计费
+//        double[] originalTotalAzFees = ExcelUtil.getDoubleArray(azhz,BashInfo.HZ_AZ,1,2); //获取安装合计费
+//        double[] zjgcJzFees = ExcelUtil.getDoubleArray(jzhz,BashInfo.HZ_JZ,1,3);  //获取建筑直接工程费
+//        double[][] zjgcAzFees = ExcelUtil.getDoubleArrays(azhz,BashInfo.HZ_AZ,1,new int[]{3,4});  //获取安装直接工程费和人工费
+//        double[][] originalJzFees = ExcelUtil.getDoubleArrays(jzqd,BashInfo.MX_JZ,2, new int[]{13, 14, 15, 17}); //获取建筑原始费用
+//        double[][] originalAzFees = ExcelUtil.getDoubleArrays(azqd,BashInfo.MX_AZ,2, new int[]{13, 14, 15, 17}); //获取安装原始费用
+//        double texRate = ExcelUtil.getTexRate(total); //获取税率
+//        double fbfxFee = ExcelUtil.getDouble(total,BashInfo.JS_FBFX,1,2);  //分部分项工程费
+//        double totalJzFee = ExcelUtil.getDouble(jzqd,BashInfo.DLJZ,2,12);  //获取电缆建筑合计金额
+//        double totalAzFee = ExcelUtil.getDouble(jzqd,BashInfo.DLAZ,2,12);  //获取电缆安装合计金额
+////        double totalFee = totalJzFee + totalAzFee;
+//        double jzcsRate = BashInfo.getJzRate(csqd); //获取建筑措施费率
+//        double[] azcsRate = BashInfo.getAzRate(csqd); //获取安装措施费率
+//        double[] jzgfRate = BashInfo.getJzGfRate(gf);  //获取建筑规费率
+//        double[] azgfRate = BashInfo.getAzGfRate(gf);  //获取安装规费率
+//        double[] qtFees = BashInfo.getQtFees(qt);  //获取其他费用
+//        double gcjsFee = BashInfo.getGcjsFee(total);  //获取工程结算价
+//        double fbrJzFee = ExcelUtil.getDouble(fbrcg,BashInfo.QT_XJ,0,6); //建筑发包人采购计价表合计金额
+//        double fbrAzFee = BashInfo.getFbrAzFee(fbrcg);  //安装发包人采购计价表合计金额
+//        double zjgcJzTotal = ExcelUtil.getDouble(jzhz,BashInfo.QT_HJ,0,3);//建筑直接工程费合计
+//        double zjgcAzTotal = ExcelUtil.getDouble(azhz,BashInfo.QT_HJ,0,3);//安装直接工程费合计
+//        double[] aqwmJzFees = ExcelUtil.getDoubleArray(csqd,BashInfo.CS_AQWM,1, new int[]{3, 4});  //建筑安全文明施工费
+//        double[] aqwmAzFees = BashInfo.getAqwfAzFee(csqd);  //建筑安全文明施工费
+//        double zgJz = zjgcJzTotal-(aqwmJzFees[1]/(aqwmJzFees[0]/100));
+//        double zgAz = zjgcAzTotal-(aqwmAzFees[1]/(aqwmAzFees[0]/100));
+//        double jxslJz = new BigDecimal(zgJz/(fbrJzFee-zgJz)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); //建筑进项税率
+//        double jxslAz = new BigDecimal(zgAz/(fbrAzFee-zgAz)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); //安装进项税率
+
+
         double tz = 0.00; //总合计金额
         for(JkxlDetailFee jkxlDetailFee : list){
             tz += jkxlDetailFee.getTotalFee();

+ 5 - 0
src/main/java/com/jeeplus/modules/sg/overheadline/util/BashInfo.java

@@ -12,12 +12,15 @@ public class BashInfo {
     public static final String PROJECTNAME = "架空线路";
     public static final String SHEET_FBFXJJ = "分部分项工程量清单计价表";
     public static final String SHEET_HZB = "工程项目竣工结算汇总表";
+    public static final String SHEET_HZB1 = "工程项目投标报价汇总表";
     public static final String SHEET_CSB = "措施项目清单计价表(一)";
+    public static final String SHEET_CSB1 = "措施项目清单计价表一";
     public static final String SHEET_QTFY = "其他项目清单计价表";
     public static final String SHEET_GFQD = "规费项目清单计价表";
     public static final String SHEET_GCHZ = "架空线路工程费用汇总表";
     public static final String SHEET_FBRCG = "发包人采购材料设备计价表";
     public static final String SHEET_FBRCG1 = "发包人采购材料(设备)计价表";
+    public static final String SHEET_FBRCG2 = "发包人采购材料计价表";
     public static final String SHEET_CBRCG = "承包人采购设备计价表";
     public static final String SHEET_JZFBFXJJ = "建筑分部分项工程量清单计价表";
     public static final String SHEET_AZFBFXJJ = "安装分部分项工程量清单计价表";
@@ -87,6 +90,8 @@ public class BashInfo {
     public static final String HZ_DLFH= "电缆防火";
     public static final String HZ_TSJSY = "调试及试验";
     public static final String HZ_DLJC = "电缆监测(控)系统";
+    public static final String HZ_JZGC = "建筑工程";
+    public static final String HZ_AZGC = "安装工程";
 
 
     public static final String TZ_RGF = "人工费";

+ 1 - 0
src/main/java/com/jeeplus/modules/sg/project/web/ProjectController.java

@@ -40,6 +40,7 @@ public class ProjectController extends BaseController {
     private OverheadLineService overheadLineService;
 
 
+
     @RequestMapping(value = {"list", ""})
     public String list(WbsSelection wbsSelection, HttpServletRequest request, HttpServletResponse response, Model model) {
        List<WbsProject> list =  projectService.findList(wbsSelection);

+ 4 - 2
src/main/java/com/jeeplus/modules/sg/project/web/ProjectTemController.java

@@ -16,6 +16,7 @@ import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.servlet.mvc.support.RedirectAttributes;
@@ -59,9 +60,10 @@ public class ProjectTemController extends BaseController {
      *数据导入
      */
     @RequestMapping("/import")
-    public String importFile(@RequestBody MultipartFile[] file, RedirectAttributes redirectAttributes, HttpServletRequest request, Model model) {
+    public String importFile(@RequestParam(value = "itemNames[]")MultipartFile[] file, @RequestParam(value = "itemNames[]")String[] itemName,
+                             RedirectAttributes redirectAttributes, HttpServletRequest request, Model model) {
         String projectName = request.getParameter("projectName");     //项目名称
-        String[] itemName = request.getParameterValues("itemNames");     //项目名称
+//        String[] itemName = request.getParameterValues("itemNames");     //项目名称
         String[] type = request.getParameterValues("types");     //工程类型
         String id = getId();
         WbsProject wbsProject = new WbsProject();

+ 17 - 15
src/main/webapp/webpage/modules/sg/free/wbslist.jsp

@@ -32,22 +32,28 @@
     .layui-icon-file{
         display: none;
     }
-
+    .layui-meself-img1{
+        width: 15px;height:15px;
+        /*padding: 2px;*/
+        margin-bottom: 3px;
+    }
+    .layui-btn-meself{
+        width: 70px;
+        padding: 4px 7px;
+    }
      .layui-table-view .layui-table {width:100%}
 </style>
 <body style="background-color: white ;height: 100%">
     <sys:message content="${message}"/>
-    <div style="margin-right: 20px">
-<c:forEach items="${map.list1}" var="data1" varStatus="index">
-    <c:if test="${ empty data1.projectId}">
-        <a class="layui-btn" href="${ctx}/project/tolist">返回</a>
-    </c:if>
-    <c:if test="${ not empty data1.projectId}">
-        <a class="layui-btn" href="${ctx}/project/tem/tolist?projectId=${data1.projectId}">返回</a>
-    </c:if>
-</c:forEach>
+    <div class="" style="margin-right: 30px;float: right;margin-top: 20px">
+        <div class="layui-btn-group">
+            <a class="layui-btn layui-btn-meself" href="${ctx}/project/tolist"><img class="layui-meself-img1" src="${ctxp}/icon/back.png" alt="">&nbsp;返回</a>
+            <c:forEach items="${map.list1}" var="data1" varStatus="index">
+                <a class="layui-btn layui-btn-warm layui-btn-meself" href="${ctx}/jkxl/export?id=${data1.id}&type=${data1.type}"><img class="layui-meself-img1" src="${ctxp}/icon/daochu.png" alt="">&nbsp;导出</a>
+            </c:forEach>
+        </div>
     </div>
-    <fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;">
+    <fieldset class="layui-elem-field layui-field-title" style="width: 100%">
         <legend>结算汇总表</legend>
     </fieldset>
     <div class="" style="margin-left: 10px;margin-right: 10px;">
@@ -58,10 +64,6 @@
         <legend>本体部分</legend>
     </fieldset>
     <div class="" style="margin-left: 10px;margin-right: 10px;margin-top: 10px;">
-       <c:forEach items="${map.list1}" var="data1" varStatus="index">
-           <input id="type" hidden value="${data1.type}">
-         <a class="layui-btn" href="${ctx}/jkxl/export?id=${data1.id}&type=${data1.type}">导出</a>
-       </c:forEach>
             <%--<table:importExcel url="${ctx}/propertycostreminder/propertyCostReminder/import"></table:importExcel>--%>
         <table id="table1" class="layui-table" lay-filter="table1"></table>
     </div>

+ 8 - 2
src/main/webapp/webpage/modules/sg/project/addItem2Form.jsp

@@ -14,6 +14,7 @@
 <script src="${ctxp}/static/plugin/assets/layui/layui.js"></script>
 <html>
 <head>
+    <meta http-equiv="Content-Type" content="multipart/form-data;charset=utf-8" />
     <title>添加工程</title>
     <style>
         .layui-input{
@@ -61,6 +62,7 @@
 <div style="padding: 10px; background-color: #F2F2F2;">
     <div class="layui-main-bgc">
         <%--<sys:message content="${message}"/>--%>
+        <form enctype="multipart/form-data" action="${ctx}/project/tem/import">
         <div class="layui-row layui-col-space15">
             <div class="layui-col-md12">
                 <div class="layui-card">
@@ -97,11 +99,14 @@
                                 </div>
 
                             </div>
-                            <button type="button" class="layui-btn" onclick="okSubmit()">确定</button>
+                            <%--<button type="button" class="layui-btn" onclick="okSubmit()">确定</button>--%>
+                            <input type="submit"class="layui-btn">
                 </div>
             </div>
+
         </div>
     </div>
+        </form>
 </body>
 <script>
     // var files;
@@ -180,12 +185,13 @@
             3/项目类型selectval
          */
         $.ajax({
-            type: "get",
+            type: "post",
             url: "${ctx}/project/tem/import",
             data: {
                 "projectName": inputval,
                 "flie":array,
                 "itemNames":divvalue,
+                // "itemNames":array1,
                 "types":selectval
             },
             dataType : 'json',