Pārlūkot izejas kodu

归一化展示(项目汇集表修改bug,项目成本表增加单台对比)

sl 1 gadu atpakaļ
vecāks
revīzija
09538e2cf3

+ 10 - 4
module_kzks/src/main/java/org/jeecg/modules/projectCost/controller/ProjectCostController.java

@@ -11,8 +11,10 @@ import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.modules.projectCost.entity.ProjectCost;
+import org.jeecg.modules.projectCost.entity.ProjectCostCompare;
 import org.jeecg.modules.projectCost.service.IProjectCostService;
 import org.jeecg.modules.projectCost.vo.ProjectCostListVO;
+import org.jeecg.modules.projectCostHuiji.entity.ProjectCostHuijiCompare;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
@@ -112,13 +114,17 @@ public class ProjectCostController extends JeecgController<ProjectCost, IProject
 	}
 
 	/**
-	* 对比
+	* 对比        sl修改添加每台的对比
 	*/
 	@ApiOperation(value="项目成本——对比", notes="项目成本——对比")
 	@GetMapping(value = "/compareList")
-	public List<ProjectCost> compareList(String ids) {
-		List<ProjectCost> list = projectCostService.compareListByIds(Arrays.asList(ids.split(",")));
-		return list;
+//	public List<ProjectCost> compareList(String ids) {
+//		List<ProjectCost> list = projectCostService.compareListByIds(Arrays.asList(ids.split(",")));
+//		return list;
+//	}
+	public ProjectCostCompare compareList(String ids){
+		return projectCostService.compareListByIds(Arrays.asList(ids.split(",")));
+
 	}
 
 	/**

+ 11 - 1
module_kzks/src/main/java/org/jeecg/modules/projectCost/entity/ProjectCost.java

@@ -29,7 +29,7 @@ import lombok.experimental.Accessors;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = false)
 @ApiModel(value="kzks_project_cost对象", description="项目成本")
-public class ProjectCost implements Serializable {
+public class ProjectCost implements Serializable, Cloneable {
     private static final long serialVersionUID = 1L;
 
 	/**主键*/
@@ -230,4 +230,14 @@ public class ProjectCost implements Serializable {
     @Excel(name = "外协预算", width = 15)
     @ApiModelProperty(value = "外协预算")
     private java.math.BigDecimal wxys;
+
+    @Override
+    public ProjectCost clone() {
+        try {
+            // TODO: copy mutable state here, so the clone can't change the internals of the original
+            return (ProjectCost) super.clone();
+        } catch (CloneNotSupportedException e) {
+            throw new AssertionError();
+        }
+    }
 }

+ 23 - 0
module_kzks/src/main/java/org/jeecg/modules/projectCost/entity/ProjectCostCompare.java

@@ -0,0 +1,23 @@
+package org.jeecg.modules.projectCost.entity;
+
+import lombok.Data;
+import org.jeecg.modules.projectCostHuiji.entity.ProjectCostHuiji;
+
+import java.util.List;
+
+/**
+ * ClassName: ProjectCostCompare
+ * Package: org.jeecg.modules.projectCost.entity
+ * Description:
+ *
+ * @Author sl
+ * @Create 2023/10/27 10:55
+ * @Version 1.0
+ */
+@Data
+public class ProjectCostCompare {
+    //对比  总的
+    private List<ProjectCost> compareAll;
+    //对比  每台
+    private List<ProjectCost> compareOne;
+}

+ 5 - 1
module_kzks/src/main/java/org/jeecg/modules/projectCost/service/IProjectCostService.java

@@ -5,8 +5,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.modules.projectCost.entity.ProjectCost;
+import org.jeecg.modules.projectCost.entity.ProjectCostCompare;
 import org.jeecg.modules.projectCost.vo.ProjectCostListVO;
 import org.jeecg.modules.projectCost.vo.ProjectCostVO;
+import org.jeecg.modules.projectCostHuiji.entity.ProjectCostHuijiCompare;
 
 import java.math.BigDecimal;
 import java.util.List;
@@ -34,7 +36,9 @@ public interface IProjectCostService extends IService<ProjectCost> {
     /**
      * 对比
      */
-    public List<ProjectCost> compareListByIds(List<String> ids);
+//    public List<ProjectCost> compareListByIds(List<String> ids);
+    //sl修改添加每台的对比
+    public ProjectCostCompare compareListByIds(List<String> ids);
 
 
     /**根据任务号查询项目成本中的相应数据*/

+ 38 - 2
module_kzks/src/main/java/org/jeecg/modules/projectCost/service/impl/ProjectCostServiceImpl.java

@@ -8,14 +8,19 @@ import org.jeecg.modules.dataSourceSwitch.annotation.TargetDataSource;
 import org.jeecg.modules.dataSourceSwitch.enums.DataSourceType;
 import org.jeecg.modules.projectCost.convert.ProjectCostConvert;
 import org.jeecg.modules.projectCost.entity.ProjectCost;
+import org.jeecg.modules.projectCost.entity.ProjectCostCompare;
 import org.jeecg.modules.projectCost.mapper.ProjectCostMapper;
 import org.jeecg.modules.projectCost.service.IProjectCostService;
 import org.jeecg.modules.projectCost.vo.ProjectCostListVO;
 import org.jeecg.modules.projectCost.vo.ProjectCostVO;
+import org.jeecg.modules.projectCostHuiji.entity.ProjectCostHuiji;
+import org.jeecg.modules.projectCostHuiji.entity.ProjectCostHuijiCompare;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -66,8 +71,39 @@ public class ProjectCostServiceImpl extends ServiceImpl<ProjectCostMapper, Proje
     /**
      * 对比
      */
-    public List<ProjectCost> compareListByIds(List<String> ids){
-        return projectCostMapper.compareListByIds(ids);
+//    public List<ProjectCost> compareListByIds(List<String> ids){
+//        return projectCostMapper.compareListByIds(ids);
+//    }
+    //sl修改添加每台的对比
+    public ProjectCostCompare compareListByIds(List<String> ids){
+        ProjectCostCompare projectCostCompare = new ProjectCostCompare();
+        List<ProjectCost> listAll = projectCostMapper.compareListByIds(ids);
+        List<ProjectCost> listOne = new ArrayList<>();
+        for(ProjectCost projectCost:listAll){
+            ProjectCost projectCost1 = (ProjectCost)projectCost.clone();
+            if(projectCost1.getYzsl() != null && projectCost1.getYzsl() != 0){
+                int yzsl = projectCost1.getYzsl();//获取研制数量
+                BigDecimal yzslBigDec = BigDecimal.valueOf(yzsl);
+                if(projectCost1.getGlf() != null) projectCost1.setGlf(projectCost1.getGlf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//管理费
+                if(projectCost1.getSwf() != null) projectCost1.setSwf(projectCost1.getSwf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//事务费
+                if(projectCost1.getWxf() != null) projectCost1.setWxf(projectCost1.getWxf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//外协费
+                if(projectCost1.getZyf() != null) projectCost1.setZyf(projectCost1.getZyf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//专用费
+                if(projectCost1.getGzjlwf() != null) projectCost1.setGzjlwf(projectCost1.getGzjlwf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//工资费
+                if(projectCost1.getGdzczj() != null) projectCost1.setGdzczj(projectCost1.getGdzczj().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//固资费
+                if(projectCost1.getClf() != null) projectCost1.setClf(projectCost1.getClf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//材料费
+                if(projectCost1.getRldlf() != null) projectCost1.setRldlf(projectCost1.getRldlf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//燃动费
+
+                if(projectCost1.getZjcb() != null) projectCost1.setZjcb(projectCost1.getZjcb().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//装机成本
+                if(projectCost1.getLbsy() != null) projectCost1.setLbsy(projectCost1.getLbsy().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//内部试验
+                if(projectCost1.getWorkhour() != null) projectCost1.setWorkhour(projectCost1.getWorkhour().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//工时
+            }
+            listOne.add(projectCost1);
+
+        }
+        projectCostCompare.setCompareAll(listAll);//总的数据对比
+        projectCostCompare.setCompareOne(listOne);//单个研制数量的数据对比
+
+        return projectCostCompare;
     }
 
     /**根据任务号查询项目成本中的相应数据*/

+ 10 - 13
module_kzks/src/main/java/org/jeecg/modules/projectCostHuiji/service/impl/ProjectCostHuijiServiceImpl.java

@@ -67,19 +67,16 @@ public class ProjectCostHuijiServiceImpl extends ServiceImpl<ProjectCostHuijiMap
             if(projectCostHuiji1.getYzsl() != null && projectCostHuiji1.getYzsl() != 0){
                 int yzsl = projectCostHuiji1.getYzsl();//获取研制数量
                 BigDecimal yzslBigDec = BigDecimal.valueOf(yzsl);
-                projectCostHuiji1.setYzsl(1);//研制数量
-                if(projectCostHuiji1.getOneCost() != null) projectCostHuiji1.setOneCost(projectCostHuiji1.getOneCost().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//单台成本
-                if(projectCostHuiji1.getOneIncome() != null) projectCostHuiji1.setOneIncome(projectCostHuiji1.getOneIncome().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//单台收入
-                if(projectCostHuiji1.getOneProfit() != null) projectCostHuiji1.setOneProfit(projectCostHuiji1.getOneProfit().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//单台利润
-
-                if(projectCostHuiji1.getGlf() != null) projectCostHuiji1.setOneCost(projectCostHuiji1.getGlf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//管理费
-                if(projectCostHuiji1.getSwf() != null) projectCostHuiji1.setOneCost(projectCostHuiji1.getSwf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//事务费
-                if(projectCostHuiji1.getWxf() != null) projectCostHuiji1.setOneCost(projectCostHuiji1.getWxf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//外协费
-                if(projectCostHuiji1.getZyf() != null) projectCostHuiji1.setOneCost(projectCostHuiji1.getZyf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//专用费
-                if(projectCostHuiji1.getGzjlwf() != null) projectCostHuiji1.setOneCost(projectCostHuiji1.getGzjlwf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//工资费
-                if(projectCostHuiji1.getGdzczj() != null) projectCostHuiji1.setOneCost(projectCostHuiji1.getGdzczj().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//固资费
-                if(projectCostHuiji1.getClf() != null) projectCostHuiji1.setOneCost(projectCostHuiji1.getClf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//材料费
-                if(projectCostHuiji1.getRldlf() != null) projectCostHuiji1.setOneCost(projectCostHuiji1.getRldlf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//燃动费
+                System.out.println("研制数量为");
+                System.out.println(yzslBigDec);
+                if(projectCostHuiji1.getGlf() != null) projectCostHuiji1.setGlf(projectCostHuiji1.getGlf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//管理费
+                if(projectCostHuiji1.getSwf() != null) projectCostHuiji1.setSwf(projectCostHuiji1.getSwf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//事务费
+                if(projectCostHuiji1.getWxf() != null) projectCostHuiji1.setWxf(projectCostHuiji1.getWxf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//外协费
+                if(projectCostHuiji1.getZyf() != null) projectCostHuiji1.setZyf(projectCostHuiji1.getZyf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//专用费
+                if(projectCostHuiji1.getGzjlwf() != null) projectCostHuiji1.setGzjlwf(projectCostHuiji1.getGzjlwf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//工资费
+                if(projectCostHuiji1.getGdzczj() != null) projectCostHuiji1.setGdzczj(projectCostHuiji1.getGdzczj().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//固资费
+                if(projectCostHuiji1.getClf() != null) projectCostHuiji1.setClf(projectCostHuiji1.getClf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//材料费
+                if(projectCostHuiji1.getRldlf() != null) projectCostHuiji1.setRldlf(projectCostHuiji1.getRldlf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//燃动费
 
                 if(projectCostHuiji1.getZjcb() != null) projectCostHuiji1.setZjcb(projectCostHuiji1.getZjcb().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//装机成本
                 if(projectCostHuiji1.getLbsy() != null) projectCostHuiji1.setLbsy(projectCostHuiji1.getLbsy().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//内部试验