蔡德晨 5 år sedan
förälder
incheckning
cacb5f7d12

+ 30 - 6
src/main/java/com/jeeplus/modules/sg/overheadline/service/OverheadLineService.java

@@ -409,9 +409,17 @@ public List<JkxlDetailFee> findList(String id,String type){
             gftotal  += jkxlDetailFee2.getFees();
         }
         for(JkxlDetailFee jkxlDetailFee1 : list){
+            double csftRate = 0.00;
+            if(cstotal1 != 0.00) {
+                csftRate = jkxlDetailFee1.getMeasuresFee1() / cstotal1;
+            }
+            double gfRate = 0.00;
+            if(gftotal != 0.00) {
+                gfRate = jkxlDetailFee1.getFees() / gftotal;
+            }
            double ftRate = jkxlDetailFee1.getZjgcFee()/zjgcTotal;
-           double csft = (jsCs-(cstotal1+cstotal2+cstotal3))*ftRate;
-           double gfft = (jsGf-gftotal)*ftRate;
+           double csft = (jsCs-(cstotal1+cstotal2+cstotal3))*csftRate;
+           double gfft = (jsGf-gftotal)*gfRate;
            double sgft = (csft+gfft)*texRate;
            jkxlDetailFee1.setMeasuresFee1(jkxlDetailFee1.getMeasuresFee1()+csft);
            jkxlDetailFee1.setFees(jkxlDetailFee1.getFees()+gfft);
@@ -942,9 +950,17 @@ public List<JkxlDetailFee> findList(String id,String type){
             zjgcTotal += jkxlDetailFee2.getZjgcFee();
         }
         for(JkxlDetailFee jkxlDetailFee1 : list){
+            double csftRate = 0.00;
+            if(cstotal1 != 0.00) {
+                csftRate = jkxlDetailFee1.getMeasuresFee1() / cstotal1;
+            }
+            double gfRate = 0.00;
+            if(gftotal != 0.00) {
+                gfRate = jkxlDetailFee1.getFees() / gftotal;
+            }
             double ftRate = jkxlDetailFee1.getZjgcFee()/zjgcTotal;
-            double csft = (jsCs-(cstotal1+cstotal2+cstotal3))*ftRate;
-            double gfft = (jsGf-gftotal)*ftRate;
+            double csft = (jsCs-(cstotal1+cstotal2+cstotal3))*csftRate;
+            double gfft = (jsGf-gftotal)*gfRate;
             double sgft = (csft+gfft)*texRate;
             jkxlDetailFee1.setMeasuresFee1(jkxlDetailFee1.getMeasuresFee1()+csft);
             jkxlDetailFee1.setFees(jkxlDetailFee1.getFees()+gfft);
@@ -1393,9 +1409,17 @@ public List<JkxlDetailFee> findList(String id,String type){
             zjgcTotal += jkxlDetailFee2.getZjgcFee();
         }
         for(JkxlDetailFee jkxlDetailFee1 : list){
+            double csftRate = 0.00;
+            if(cstotal1 != 0.00) {
+                csftRate = jkxlDetailFee1.getMeasuresFee1() / cstotal1;
+            }
+            double gfRate = 0.00;
+            if(gftotal != 0.00) {
+                gfRate = jkxlDetailFee1.getFees() / gftotal;
+            }
             double ftRate = jkxlDetailFee1.getZjgcFee()/zjgcTotal;
-            double csft = (jsCs-(cstotal1+cstotal2+cstotal3))*ftRate;
-            double gfft = (jsGf-gftotal)*ftRate;
+            double csft = (jsCs-(cstotal1+cstotal2+cstotal3))*csftRate;
+            double gfft = (jsGf-gftotal)*gfRate;
             double sgft = (csft+gfft)*texRate;
             jkxlDetailFee1.setMeasuresFee1(jkxlDetailFee1.getMeasuresFee1()+csft);
             jkxlDetailFee1.setFees(jkxlDetailFee1.getFees()+gfft);

+ 1 - 1
src/main/java/com/jeeplus/modules/sg/overheadline/web/OverheadLineController.java

@@ -997,7 +997,7 @@ public class OverheadLineController extends BaseController {
         settlement.setTotalFee(otherCost+qt);
         settlement.setDifference(new BigDecimal(ce).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
       }
-      if(settlement.getEntryName().contains("结算") || settlement.getEntryName().contains("报价")){
+      if(settlement.getEntryName().contains("结算") || settlement.getEntryName().contains("报价") || settlement.getEntryName().contains("下浮后") || settlement.getEntryName().contains("最高")){
 //        double ce = Math.abs(settlement.getMoney() - totalFee);
         settlement.setTotalFee(totalFee);
         settlement.setDifference(new BigDecimal(ce1).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());

+ 41 - 9
src/main/java/com/jeeplus/modules/sg/substation/service/SubstationService.java

@@ -355,8 +355,16 @@ public class SubstationService {
 
             for(JkxlDetailFee jkxlDetailFee1 : jzTotal){
                 double ftRate = jkxlDetailFee1.getZjgcFee()/zjgcTotal;
-                double csft = (jsCs-(cstotal1+cstotal2+cstotal3))*ftRate;
-                double gfft = (jsGf-gftotal)*ftRate;
+                double csftRate = 0.00;
+                if(cstotal1 != 0.00) {
+                    csftRate = jkxlDetailFee1.getMeasuresFee1() / cstotal1;
+                }
+                double gfRate = 0.00;
+                if(gftotal != 0.00) {
+                    gfRate = jkxlDetailFee1.getFees() / gftotal;
+                }
+                double csft = (jsCs-(cstotal1+cstotal2+cstotal3))*csftRate;
+                double gfft = (jsGf-gftotal)*gfRate;
                 double texft = (csft+gfft)*texRate;
                 jkxlDetailFee1.setMeasuresFee1(jkxlDetailFee1.getMeasuresFee1()+csft);
                 jkxlDetailFee1.setFees(jkxlDetailFee1.getFees()+gfft);
@@ -365,8 +373,16 @@ public class SubstationService {
             }
             for(JkxlDetailFee jkxlDetailFee1 : azTotal){
                 double ftRate = jkxlDetailFee1.getZjgcFee()/zjgcTotal;
-                double csft = (jsCs-(cstotal1+cstotal2+cstotal3))*ftRate;
-                double gfft = (jsGf-gftotal)*ftRate;
+                double csftRate = 0.00;
+                if(cstotal1 != 0.00) {
+                    csftRate = jkxlDetailFee1.getMeasuresFee1() / cstotal1;
+                }
+                double gfRate = 0.00;
+                if(gftotal != 0.00) {
+                    gfRate = jkxlDetailFee1.getFees() / gftotal;
+                }
+                double csft = (jsCs-(cstotal1+cstotal2+cstotal3))*csftRate;
+                double gfft = (jsGf-gftotal)*gfRate;
                 double texft = (csft+gfft)*texRate;
                 jkxlDetailFee1.setMeasuresFee1(jkxlDetailFee1.getMeasuresFee1()+csft);
                 jkxlDetailFee1.setFees(jkxlDetailFee1.getFees()+gfft);
@@ -490,7 +506,7 @@ public class SubstationService {
             jzTotal.addAll(tsgzw);
             jzTotal.add(zqlh);
             jzTotal.addAll(dxgc);
-            boolean flagJz = SubstationInfo.getFlag(jzTotal);
+//            boolean flagJz = SubstationInfo.getFlag(jzTotal);
             //结算汇总保存
             List<Settlement> settlementBdzs = SettementUtil.getDLComparison(settlementsBdz,builtTotal,division,word1total,word2total,otherBdzTotal,feesBdzCount,cbperson);
             settlementService.save(settlementBdzs,id);
@@ -564,9 +580,17 @@ public class SubstationService {
             double gftotal = jzTotal.get(0).getFees();
 
             for(JkxlDetailFee jkxlDetailFee1 : jzTotal){
+                double csftRate = 0.00;
+                if(cstotal1 != 0.00) {
+                    csftRate = jkxlDetailFee1.getMeasuresFee1() / cstotal1;
+                }
+                double gfRate = 0.00;
+                if(gftotal != 0.00) {
+                    gfRate = jkxlDetailFee1.getFees() / gftotal;
+                }
                 double ftRate = jkxlDetailFee1.getZjgcFee()/zjgcJzTotal;
-                double csft = (jsCs-(cstotal1+cstotal2+cstotal3))*ftRate;
-                double gfft = (jsGf-gftotal)*ftRate;
+                double csft = (jsCs-(cstotal1+cstotal2+cstotal3))*csftRate;
+                double gfft = (jsGf-gftotal)*gfRate;
                 double texft = (csft+gfft)*texRate;
                 jkxlDetailFee1.setMeasuresFee1(jkxlDetailFee1.getMeasuresFee1()+csft);
                 jkxlDetailFee1.setFees(jkxlDetailFee1.getFees()+gfft);
@@ -755,9 +779,17 @@ public class SubstationService {
             double gftotal = azTotal.get(0).getFees();
 
             for(JkxlDetailFee jkxlDetailFee1 : azTotal){
+                double csftRate = 0.00;
+                if(cstotal1 != 0.00) {
+                    csftRate = jkxlDetailFee1.getMeasuresFee1() / cstotal1;
+                }
+                double gfRate = 0.00;
+                if(gftotal != 0.00) {
+                    gfRate = jkxlDetailFee1.getFees() / gftotal;
+                }
                 double ftRate = jkxlDetailFee1.getZjgcFee()/zjgcAzTotal;
-                double csft = (jsCs-(cstotal1+cstotal2+cstotal3))*ftRate;
-                double gfft = (jsGf-gftotal)*ftRate;
+                double csft = (jsCs-(cstotal1+cstotal2+cstotal3))*csftRate;
+                double gfft = (jsGf-gftotal)*gfRate;
                 double texft = (csft+gfft)*texRate;
                 jkxlDetailFee1.setMeasuresFee1(jkxlDetailFee1.getMeasuresFee1()+csft);
                 jkxlDetailFee1.setFees(jkxlDetailFee1.getFees()+gfft);