蔡德晨 5 years atrás
parent
commit
067d055716

+ 9 - 0
src/main/java/com/jeeplus/modules/sg/entity/JkxlData.java

@@ -6,6 +6,7 @@ public class JkxlData {
     private String id;
     private String wbsCode;
     private Double originalTotalCost;
+    private Double zjgcFee;
     private Double originalRgCost;
     private Double originalCbrCost;
     private Double originalFbrCost;
@@ -148,6 +149,14 @@ public class JkxlData {
         this.originalTotalCost = originalTotalCost;
     }
 
+    public Double getZjgcFee() {
+        return zjgcFee;
+    }
+
+    public void setZjgcFee(Double zjgcFee) {
+        this.zjgcFee = zjgcFee;
+    }
+
     public Double getOriginalRate() {
         return originalRate;
     }

+ 5 - 2
src/main/java/com/jeeplus/modules/sg/mapper/xml/JkxlMapper.xml

@@ -29,6 +29,7 @@
          b.other_cost as otherCost,
          b.tex as tex,
          b.fees as fees,
+         b.zjgc_fee as zjgcFee,
          b.total_fee as totalFee,
          b.original_rate as originalRate,
          b.bz_fee as bzFee,
@@ -75,7 +76,8 @@
 		 tex,
 		 total_fee,
 		 bz_fee,
-		 jk_fee
+		 jk_fee,
+		 zjgc_fee
 		) values (
 		 #{id},
 		 #{wbsCode},
@@ -96,7 +98,8 @@
 		 #{tex},
 		 #{totalFee},
 		 #{bzFee},
-		 #{jkFee}
+		 #{jkFee},
+		 #{zjgcFee}
 		)
 	</insert>
 

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

@@ -7,6 +7,7 @@ public class BashInfo {
     public static final String SHEET_CSB = "措施项目清单计价表(一)";
     public static final String SHEET_QTFY = "其他项目清单计价表";
     public static final String SHEET_GFQD = "规费项目清单计价表";
+    public static final String SHEET_GCHZ = "架空线路工程费用汇总表";
     public static final String JCGC = "1 基础工程";
     public static final String GTGC = "2 杆塔工程";
     public static final String JDGC = "3 接地工程";
@@ -27,6 +28,14 @@ public class BashInfo {
     public static final String QT_HJ = "合计";
     public static final String BZZSSL = "补增值税税率调整差额";
     public static final String KJJGCC = "扣减甲供材超供材料费";
+    public static final String HZ_JCGC = "基础工程";
+    public static final String HZ_GTGC = "杆塔工程";
+    public static final String HZ_JDGC = "接地工程";
+    public static final String HZ_JXGC = "架线工程";
+    public static final String HZ_FJAZGC = "附件安装工程";
+    public static final String HZ_FZ = "辅助工程";
+
+
     public static final String[] ids = {"39100000","39200000","39300000","39400000","39500000","39600000"};
 
 

+ 45 - 1
src/main/java/com/jeeplus/modules/sg/web/JkxlController.java

@@ -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 );