蔡德晨 5 سال پیش
والد
کامیت
b8339c5c93

+ 10 - 170
src/main/java/com/jeeplus/modules/sg/overheadline/service/OverheadLineService.java

@@ -44,173 +44,7 @@ public class OverheadLineService {
        return overheadLineMapper.getList(id,type);
    }
 
-//   public List<JkxlDetailFee> findList(String id,String type){
-//       List<JkxlDetailFee> list = overheadLineMapper.findList(id,type);
-//       JkxlAdjustFee jkxlAdjustFee = new JkxlAdjustFee();
-//       jkxlAdjustFee.setId(id);
-//       jkxlAdjustFee.setType(BashInfo.CE);
-//       List<JkxlAdjustFee> jkxlAdjustFees = feeAdjustService.getTzFee(jkxlAdjustFee);
-//       JkxlAdjustFee jkxlAdjustFee1 = jkxlAdjustFees.get(0);
-//       double cFee = jkxlAdjustFee1.getFee();
-//       double btTotal = 0.00;
-//       double qtTotal = 0.00;
-//       double azTotal = 0.00;
-//       double otherTotal = 0.00;
-//       for(JkxlDetailFee jkxlDetailFee : list){
-//           double measuresFee1 = jkxlDetailFee.getMeasuresFee1()!=null? jkxlDetailFee.getMeasuresFee1():0.00;
-//           double measuresFee2 = jkxlDetailFee.getMeasuresFee2()!=null? jkxlDetailFee.getMeasuresFee2():0.00;
-//           double measuresFee3 = jkxlDetailFee.getMeasuresFee3()!=null? jkxlDetailFee.getMeasuresFee3():0.00;
-//           double Tex = jkxlDetailFee.getTex()!=null? jkxlDetailFee.getTex():0.00;
-//           double otherCost = jkxlDetailFee.getOtherCost()!=null? jkxlDetailFee.getOtherCost():0.00;
-//           double Fees = jkxlDetailFee.getFees()!=null? jkxlDetailFee.getFees():0.00;
-//           double qtFee = measuresFee1 + measuresFee2 + measuresFee3 + otherCost + Fees + Tex;
-//           double rgFee = jkxlDetailFee.getRgCost()!=null? jkxlDetailFee.getRgCost():0.00;
-//           double cbrFee = jkxlDetailFee.getCbrCost()!=null? jkxlDetailFee.getCbrCost():0.00;
-//           double fbrFee = jkxlDetailFee.getFbrCost()!=null? jkxlDetailFee.getFbrCost():0.00;
-//           double jxFee = jkxlDetailFee.getJxCost()!=null? jkxlDetailFee.getJxCost():0.00;
-//           double azFee = rgFee + cbrFee + jxFee;
-//           if(jkxlDetailFee.getWbsCode().substring(0,2).equals("21") || jkxlDetailFee.getWbsCode().substring(0,3).equals("491")){
-//               jkxlDetailFee.setJzFee(azFee);
-//               jkxlDetailFee.setSbgzFee(qtFee);
-//           } else if(jkxlDetailFee.getWbsCode().substring(0,2).equals("23") || jkxlDetailFee.getWbsCode().substring(0,3).equals("493") || jkxlDetailFee.getWbsCode().substring(0,2).equals("39")){
-//               jkxlDetailFee.setQtFee(qtFee);
-//               jkxlDetailFee.setAzFee(azFee);
-//           }
-//       }
-//       //变电站导出
-//       if(type.equals("3")) {
-//           double jz1 = 0.00;
-//           double az1 = 0.00;
-//           double jz2 = 0.00;
-//           double az2 = 0.00;
-//           double jz3 = 0.00;
-//           double az3 = 0.00;
-//           for (JkxlDetailFee jkxlDetailFee : list) {
-//               if (jkxlDetailFee.getWbsCode().equals("21000000")) {
-//                   jz1 = jkxlDetailFee.getTotalFee();
-//                   jz2 = jkxlDetailFee.getJzFee();
-//                   jz3 = jkxlDetailFee.getSbgzFee();
-//               }
-//               if (jkxlDetailFee.getWbsCode().equals("23000000")) {
-//                   az1 = jkxlDetailFee.getTotalFee();
-//                   az2 = jkxlDetailFee.getAzFee();
-//                   az3 = jkxlDetailFee.getQtFee();
-//               }
-//               if (jkxlDetailFee.getOriginalTotalCost() == null && jkxlDetailFee.getTotalFee() != null) {
-//                   qtTotal += jkxlDetailFee.getTotalFee();
-//               }
-//           }
-//           for (JkxlDetailFee jkxlDetailFee : list) {
-//               if(jkxlDetailFee.getWbsCode().equals("20000000")){
-//                   jkxlDetailFee.setJzFee(jz2);
-//                   jkxlDetailFee.setAzFee(az2);
-//                   jkxlDetailFee.setSbgzFee(jz3);
-//                   jkxlDetailFee.setQtFee(az3);
-//                   jkxlDetailFee.setTotalFee(jz1+az1);
-//                   jkxlDetailFee.setcFee(cFee);
-//                   jkxlDetailFee.setJsFee(jz1+az1+cFee);
-//               }
-//               if(jkxlDetailFee.getWbsCode().equals("24000000")){
-//                   jkxlDetailFee.setTotalFee(qtTotal);
-//               }
-//           }
-//       }
-//       //电缆导出
-//       if(type.equals("2")){
-//           double jz1 = 0.00;
-//           double az1 = 0.00;
-//           double jz2 = 0.00;
-//           double az2 = 0.00;
-//           double jz3 = 0.00;
-//           double az3 = 0.00;
-//           for (JkxlDetailFee jkxlDetailFee : list) {
-//               String wbs = jkxlDetailFee.getWbsCode().substring(0,3);
-//               String wbs1 = jkxlDetailFee.getWbsCode().substring(3,4);
-//               if(wbs.equals("491") && !wbs1.equals("0")){
-//                   jz1 += jkxlDetailFee.getTotalFee();
-//                   jz2 += jkxlDetailFee.getJzFee();
-//                   jz3 += jkxlDetailFee.getSbgzFee();
-//               }
-//               if(wbs.equals("493") && !wbs1.equals("0")){
-//                   az1 += jkxlDetailFee.getTotalFee();
-//                   az2 += jkxlDetailFee.getAzFee();
-//                   az3 += jkxlDetailFee.getQtFee();
-//               }
-//               if (jkxlDetailFee.getOriginalTotalCost() == null && jkxlDetailFee.getTotalFee() != null) {
-//                   qtTotal += jkxlDetailFee.getTotalFee();
-//               }
-//           }
-//           for (JkxlDetailFee jkxlDetailFee : list) {
-//               if(jkxlDetailFee.getWbsCode().equals("40000000")){
-//                   jkxlDetailFee.setJzFee(jz2);
-//                   jkxlDetailFee.setAzFee(az2);
-//                   jkxlDetailFee.setSbgzFee(jz3);
-//                   jkxlDetailFee.setQtFee(az3);
-//                   jkxlDetailFee.setTotalFee(jz1+az1);
-//                   jkxlDetailFee.setcFee(cFee);
-//                   jkxlDetailFee.setJsFee(jz1+az1+cFee);
-//               }
-//               if(jkxlDetailFee.getWbsCode().equals("49100000")){
-//                   jkxlDetailFee.setTotalFee(jz1);
-//                   jkxlDetailFee.setJzFee(jz2);
-//                   jkxlDetailFee.setSbgzFee(jz3);
-//               }
-//               if(jkxlDetailFee.getWbsCode().equals("49300000")){
-//                   jkxlDetailFee.setTotalFee(az1);
-//                   jkxlDetailFee.setAzFee(az2);
-//                   jkxlDetailFee.setQtFee(az3);
-//               }
-//               if(jkxlDetailFee.getWbsCode().equals("49000000")){
-//                   jkxlDetailFee.setJzFee(jz2);
-//                   jkxlDetailFee.setAzFee(az2);
-//                   jkxlDetailFee.setSbgzFee(jz3);
-//                   jkxlDetailFee.setQtFee(az3);
-//                   jkxlDetailFee.setTotalFee(jz1+az1);
-//               }
-//               if(jkxlDetailFee.getWbsCode().equals("44000000")){
-//                   jkxlDetailFee.setTotalFee(qtTotal);
-//               }
-//           }
-//
-//       }
-//       //架空导出
-//       if(type.equals("1")) {
-//           for (JkxlDetailFee jkxlDetailFee : list) {
-//               //本体费用求和
-//               if (jkxlDetailFee.getOriginalTotalCost() != null) {
-//                   btTotal += jkxlDetailFee.getTotalFee();
-//                   azTotal += jkxlDetailFee.getAzFee();
-//                   otherTotal += jkxlDetailFee.getQtFee();
-//               }
-//               //其他费用求和
-//               if (jkxlDetailFee.getOriginalTotalCost() == null && jkxlDetailFee.getTotalFee() != null) {
-//                   qtTotal += jkxlDetailFee.getTotalFee();
-//               }
-//           }
-//           for (JkxlDetailFee jkxlDetailFee : list) {
-//               if(jkxlDetailFee.getWbsCode().equals("30000000")){
-//                  jkxlDetailFee.setTotalFee(btTotal+qtTotal);
-//                  jkxlDetailFee.setAzFee(azTotal);
-//                  jkxlDetailFee.setQtFee(otherTotal);
-//                  jkxlDetailFee.setcFee(cFee);
-//                  jkxlDetailFee.setJsFee(btTotal+qtTotal+cFee);
-//               }
-//               if(jkxlDetailFee.getWbsCode().equals("39000000")){
-//                  jkxlDetailFee.setTotalFee(btTotal);
-//                  jkxlDetailFee.setAzFee(azTotal);
-//                  jkxlDetailFee.setQtFee(otherTotal);
-//               }
-//              if(jkxlDetailFee.getWbsCode().equals("34000000")){
-//               jkxlDetailFee.setTotalFee(qtTotal);
-//               }
-//              }
-//         }
-//       for (int i=0;i<list.size();i++){
-//           list.get(i).setIndex(i+1);
-//       }
-//       return list;
-//
-//   }
+
 public List<JkxlDetailFee> findList(String id,String type){
     List<JkxlDetailFee> list = overheadLineMapper.findList(id,type);
     for(JkxlDetailFee jkxlDetailFee : list){
@@ -427,6 +261,7 @@ public List<JkxlDetailFee> findList(String id,String type){
        double texRate = ExcelUtil.getTexRate(total); //获取税率
         double rgRate = ExcelUtil.getRgRate(zyrg);   //获取人工调差系数
        double totalFee = ExcelUtil.getDouble(importExcel,BashInfo.PROJECTNAME,2,12);  //获取架空线路合计金额
+       double totalRgFee = ExcelUtil.getDouble(importExcel,BashInfo.PROJECTNAME,2,13);  //获取人工费合计金额
        double[] csRate = BashInfo.getCsRate(csqd); //获取措施费率
        double[] gfRate = BashInfo.getGfRate(gf);  //获取规费率
        double[] qtFees = BashInfo.getQtFees(qt);  //获取其他费用
@@ -441,6 +276,8 @@ public List<JkxlDetailFee> findList(String id,String type){
             jxsl = 0.00;
         }
        boolean flag = BashInfo.getFlag(originalTotalFees,zjgcFees);
+       double csFees = BashInfo.getCsFee(csqd); //措施费
+       double gfFees = ExcelUtil.getDouble(gf,BashInfo.QT_HJ,0,4); //规费
        //结算汇总
         List<Settlement> settlements=SettementUtil.getComparison(settlementList,builtTotal,divisiontotal,wordtotal1,wordtotal2,otherTotal,feescount,cbperson,flag);
         settlementService.save(settlements,id);
@@ -456,6 +293,7 @@ public List<JkxlDetailFee> findList(String id,String type){
            double otherFee = qtFees[2]*otherRate;  //其他费用
            double zjgcFee = zjgcFees[i];//直接工程费
            double originalRgCost = originalFees[i][0];// 原人工费
+           double rgfRate = originalRgCost/totalRgFee; //人工费比例
            double rgCost = originalRgCost/(1+tcRate[0]);  //后人工费
            double originalCbrCost = originalFees[i][1];  //原承包人采购
            double cbrCost = originalCbrCost/(1+tcRate[1]);  //后承包人采购
@@ -463,10 +301,12 @@ public List<JkxlDetailFee> findList(String id,String type){
            double fbrCost = originalFbrCost/(1+jxsl); //后发包人采购
            double originalJxrCost = originalFees[i][3];   //原机械费
            double jxCost = originalJxrCost/(1+tcRate[2]); //后机械费
-           double measuresFee1 = (zjgcFee-fbrCost*jxsl)*csRate[0]; //措施费一(2)
-           double measuresFee2 = rgCost*csRate[1];   //措施费一(1)
+           double measuresFee1 = (zjgcFee-fbrCost*jxsl)*csRate[0]; //措施费一(1)
+//           double measuresFee2 = rgCost*csRate[1];   //措施费一(2)
+           double measuresFee2 = csFees*rgfRate;
            double measuresFee3 = csFees2*otherRate; //措施费二
-           double fees = rgCost*gfRate[1]*1.12+rgCost*gfRate[0];  //规费
+//           double fees = rgCost*gfRate[1]*1.12+rgCost*gfRate[0];  //规费
+           double fees = gfFees*rgfRate;  //规费
            if(flag){
                 tax = (originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee-originalFbrCost)*texRate; //税金
                 totalfee = originalTotalCost+measuresFee1+measuresFee2+measuresFee3+fees+otherFee+tax-originalFbrCost; //合计

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

@@ -176,6 +176,31 @@ public class BashInfo {
     }
 
     /**
+     * 获取架线工程措施费除两项和
+     */
+    public static double getCsFee(ImportExcel importExcel){
+        int lastRow = importExcel.getLastDataRowNum();
+        double lsRate = 0.00;
+        double aqRate = 0.00;
+        double totalRate = 0.00;
+        for(int i=2;i<lastRow;i++){
+            String type = importExcel.getValue(i+1,1);
+            String type1 = importExcel.getValue(i+1,0);
+            if(type.equals(CS_LS)){
+                lsRate = importExcel.getDouble(i+1,4);
+            }
+            if(type.equals(CS_AQWM)){
+                aqRate = importExcel.getDouble(i+1,4);
+            }
+            if(type1.equals(QT_HJ)){
+                totalRate = importExcel.getDouble(i+1,4);
+            }
+        }
+        double d = totalRate-lsRate-aqRate;
+        return d;
+    }
+
+    /**
      * 获取电缆建筑工程措施费率
      */
      public static double getJzRate(ImportExcel importExcel){