蔡德晨 5 سال پیش
والد
کامیت
8587bfc880
1فایلهای تغییر یافته به همراه249 افزوده شده و 5 حذف شده
  1. 249 5
      src/main/java/com/jeeplus/modules/sg/web/JkxlController.java

+ 249 - 5
src/main/java/com/jeeplus/modules/sg/web/JkxlController.java

@@ -5,6 +5,7 @@ import com.jeeplus.common.utils.StringUtils;
 import com.jeeplus.common.utils.excel.ExportExcel;
 import com.jeeplus.common.utils.excel.ImportExcel;
 import com.jeeplus.core.web.BaseController;
+import com.jeeplus.modules.sg.entity.FtData;
 import com.jeeplus.modules.sg.entity.JkxlData;
 import com.jeeplus.modules.sg.entity.TzData;
 import com.jeeplus.modules.sg.entity.WbsProject;
@@ -80,11 +81,254 @@ public class JkxlController extends BaseController {
     return list1;
   }
 
-//  @RequestMapping("/fttz")
-//  public String reList(HttpServletRequest request){
-//
-//
-//  }
+
+  @RequestMapping("/fttz")
+  public String reList(FtData ftData, Model model,RedirectAttributes redirectAttributes){
+      String id = ftData.getId();
+      String code = ftData.getCode();
+      String state = ftData.getState();
+      double fee = ftData.getFee();
+      double total = 0.00;
+      try {
+        List<JkxlData> jkxl = jkxlService.getList(id);
+        List<JkxlData> jkxlDatas = new ArrayList<>();
+        for(JkxlData jkxlData: jkxl){
+          if(jkxlData.getOriginalTotalCost() != null){
+            jkxlDatas.add(jkxlData);
+          }
+        }
+        if(code.equals("1")){
+            for(JkxlData jkxlData: jkxlDatas) {
+                total += jkxlData.getRgCost();
+          }
+            for(JkxlData jkxlData1: jkxlDatas){
+              JkxlData jkxlData = new JkxlData();
+              jkxlData.setId(id);
+              jkxlData.setWbsCode(jkxlData1.getWbsCode());
+              double rgFee = jkxlData1.getRgCost();
+              double totalFee = jkxlData1.getTotalFee();
+              double ftFee = rgFee/total*fee;
+              jkxlData.setRgFtFee(ftFee);
+              if(state.equals("1")){
+                double zFee = totalFee+ftFee;
+                jkxlData.setTotalFee(zFee);
+              }else {
+                double zFee = totalFee-ftFee;
+                jkxlData.setTotalFee(zFee);
+              }
+              jkxlService.updataDate(jkxlData);
+            }
+        }
+        if(code.equals("2")){
+          for(JkxlData jkxlData: jkxlDatas) {
+            total += jkxlData.getCbrCost();
+          }
+          for(JkxlData jkxlData1: jkxlDatas){
+            JkxlData jkxlData = new JkxlData();
+            jkxlData.setId(id);
+            jkxlData.setWbsCode(jkxlData1.getWbsCode());
+            double rgFee = jkxlData1.getCbrCost();
+            double totalFee = jkxlData1.getTotalFee();
+            double ftFee = rgFee/total*fee;
+            jkxlData.setCbrFtFee(ftFee);
+            if(state.equals("1")){
+              double zFee = totalFee+ftFee;
+              jkxlData.setTotalFee(zFee);
+            }else {
+              double zFee = totalFee-ftFee;
+              jkxlData.setTotalFee(zFee);
+            }
+            jkxlService.updataDate(jkxlData);
+          }
+        }
+        if(code.equals("3")){
+          for(JkxlData jkxlData: jkxlDatas) {
+            total += jkxlData.getFbrCost();
+          }
+          for(JkxlData jkxlData1: jkxlDatas){
+            JkxlData jkxlData = new JkxlData();
+            jkxlData.setId(id);
+            jkxlData.setWbsCode(jkxlData1.getWbsCode());
+            double rgFee = jkxlData1.getFbrCost();
+            double totalFee = jkxlData1.getTotalFee();
+            double ftFee = rgFee/total*fee;
+            jkxlData.setFbrFtFee(ftFee);
+            if(state.equals("1")){
+              double zFee = totalFee+ftFee;
+              jkxlData.setTotalFee(zFee);
+            }else {
+              double zFee = totalFee-ftFee;
+              jkxlData.setTotalFee(zFee);
+            }
+            jkxlService.updataDate(jkxlData);
+          }
+        }
+        if(code.equals("4")){
+          for(JkxlData jkxlData: jkxlDatas) {
+            total += jkxlData.getJxCost();
+          }
+          for(JkxlData jkxlData1: jkxlDatas){
+            JkxlData jkxlData = new JkxlData();
+            jkxlData.setId(id);
+            jkxlData.setWbsCode(jkxlData1.getWbsCode());
+            double rgFee = jkxlData1.getJxCost();
+            double totalFee = jkxlData1.getTotalFee();
+            double ftFee = rgFee/total*fee;
+            jkxlData.setJxFtFee(ftFee);
+            if(state.equals("1")){
+              double zFee = totalFee+ftFee;
+              jkxlData.setTotalFee(zFee);
+            }else {
+              double zFee = totalFee-ftFee;
+              jkxlData.setTotalFee(zFee);
+            }
+            jkxlService.updataDate(jkxlData);
+          }
+        }
+        if(code.equals("5")){
+          for(JkxlData jkxlData: jkxlDatas) {
+            total += jkxlData.getMeasuresFee1();
+          }
+          for(JkxlData jkxlData1: jkxlDatas){
+            JkxlData jkxlData = new JkxlData();
+            jkxlData.setId(id);
+            jkxlData.setWbsCode(jkxlData1.getWbsCode());
+            double rgFee = jkxlData1.getMeasuresFee1();
+            double totalFee = jkxlData1.getTotalFee();
+            double ftFee = rgFee/total*fee;
+            if(state.equals("1")){
+              double zFee = totalFee+ftFee;
+              jkxlData.setMeasuresFee1(rgFee+ftFee);
+              jkxlData.setTotalFee(zFee);
+            }else {
+              double zFee = totalFee-ftFee;
+              jkxlData.setMeasuresFee1(rgFee-ftFee);
+              jkxlData.setTotalFee(zFee);
+            }
+            jkxlService.updataDate(jkxlData);
+          }
+        }
+        if(code.equals("6")){
+          for(JkxlData jkxlData: jkxlDatas) {
+            total += jkxlData.getMeasuresFee2();
+          }
+          for(JkxlData jkxlData1: jkxlDatas){
+            JkxlData jkxlData = new JkxlData();
+            jkxlData.setId(id);
+            jkxlData.setWbsCode(jkxlData1.getWbsCode());
+            double rgFee = jkxlData1.getMeasuresFee2();
+            double totalFee = jkxlData1.getTotalFee();
+            double ftFee = rgFee/total*fee;
+            if(state.equals("1")){
+              double zFee = totalFee+ftFee;
+              jkxlData.setMeasuresFee1(rgFee+ftFee);
+              jkxlData.setTotalFee(zFee);
+            }else {
+              double zFee = totalFee-ftFee;
+              jkxlData.setMeasuresFee1(rgFee-ftFee);
+              jkxlData.setTotalFee(zFee);
+            }
+            jkxlService.updataDate(jkxlData);
+          }
+        }
+        if(code.equals("7")){
+          for(JkxlData jkxlData: jkxlDatas) {
+            total += jkxlData.getMeasuresFee3();
+          }
+          for(JkxlData jkxlData1: jkxlDatas){
+            JkxlData jkxlData = new JkxlData();
+            jkxlData.setId(id);
+            jkxlData.setWbsCode(jkxlData1.getWbsCode());
+            double rgFee = jkxlData1.getMeasuresFee3();
+            double totalFee = jkxlData1.getTotalFee();
+            double ftFee = rgFee/total*fee;
+            if(state.equals("1")){
+              double zFee = totalFee+ftFee;
+              jkxlData.setMeasuresFee1(rgFee+ftFee);
+              jkxlData.setTotalFee(zFee);
+            }else {
+              double zFee = totalFee-ftFee;
+              jkxlData.setMeasuresFee1(rgFee-ftFee);
+              jkxlData.setTotalFee(zFee);
+            }
+            jkxlService.updataDate(jkxlData);
+          }
+        }
+        if(code.equals("8")){
+          for(JkxlData jkxlData: jkxlDatas) {
+            total += jkxlData.getOtherCost();
+          }
+          for(JkxlData jkxlData1: jkxlDatas){
+            JkxlData jkxlData = new JkxlData();
+            jkxlData.setId(id);
+            jkxlData.setWbsCode(jkxlData1.getWbsCode());
+            double rgFee = jkxlData1.getOtherCost();
+            double totalFee = jkxlData1.getTotalFee();
+            double ftFee = rgFee/total*fee;
+            if(state.equals("1")){
+              double zFee = totalFee+ftFee;
+              jkxlData.setMeasuresFee1(rgFee+ftFee);
+              jkxlData.setTotalFee(zFee);
+            }else {
+              double zFee = totalFee-ftFee;
+              jkxlData.setMeasuresFee1(rgFee-ftFee);
+              jkxlData.setTotalFee(zFee);
+            }
+            jkxlService.updataDate(jkxlData);
+          }
+        }
+        if(code.equals("9")){
+          for(JkxlData jkxlData: jkxlDatas) {
+            total += jkxlData.getFees();
+          }
+          for(JkxlData jkxlData1: jkxlDatas){
+            JkxlData jkxlData = new JkxlData();
+            jkxlData.setId(id);
+            jkxlData.setWbsCode(jkxlData1.getWbsCode());
+            double rgFee = jkxlData1.getFees();
+            double totalFee = jkxlData1.getTotalFee();
+            double ftFee = rgFee/total*fee;
+            if(state.equals("1")){
+              double zFee = totalFee+ftFee;
+              jkxlData.setMeasuresFee1(rgFee+ftFee);
+              jkxlData.setTotalFee(zFee);
+            }else {
+              double zFee = totalFee-ftFee;
+              jkxlData.setMeasuresFee1(rgFee-ftFee);
+              jkxlData.setTotalFee(zFee);
+            }
+            jkxlService.updataDate(jkxlData);
+          }
+        }
+        if(code.equals("10")){
+          for(JkxlData jkxlData: jkxlDatas) {
+            total += jkxlData.getTex();
+          }
+          for(JkxlData jkxlData1: jkxlDatas){
+            JkxlData jkxlData = new JkxlData();
+            jkxlData.setId(id);
+            jkxlData.setWbsCode(jkxlData1.getWbsCode());
+            double rgFee = jkxlData1.getTex();
+            double totalFee = jkxlData1.getTotalFee();
+            double ftFee = rgFee/total*fee;
+            if(state.equals("1")){
+              double zFee = totalFee+ftFee;
+              jkxlData.setMeasuresFee1(rgFee+ftFee);
+              jkxlData.setTotalFee(zFee);
+            }else {
+              double zFee = totalFee-ftFee;
+              jkxlData.setMeasuresFee1(rgFee-ftFee);
+              jkxlData.setTotalFee(zFee);
+            }
+            jkxlService.updataDate(jkxlData);
+          }
+        }
+      } catch (Exception e){
+        addMessage(redirectAttributes, "调整失败");
+      }
+    addMessage(redirectAttributes, "调整成功");
+    return "redirect:/a/jkxl/list?id="+id;
+  }