|
@@ -8,6 +8,7 @@ import org.jeecg.modules.dataSourceSwitch.annotation.TargetDataSource;
|
|
|
import org.jeecg.modules.dataSourceSwitch.enums.DataSourceType;
|
|
|
import org.jeecg.modules.projectCost.entity.ProjectCost;
|
|
|
import org.jeecg.modules.projectCostHuiji.entity.ProjectCostHuiji;
|
|
|
+import org.jeecg.modules.projectCostHuiji.entity.ProjectCostHuijiCompare;
|
|
|
import org.jeecg.modules.projectCostHuiji.mapper.ProjectCostHuijiMapper;
|
|
|
import org.jeecg.modules.projectCostHuiji.service.IProjectCostHuijiService;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -15,6 +16,11 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
|
|
+import java.io.ByteArrayOutputStream;
|
|
|
+import java.io.ObjectOutputStream;
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.math.RoundingMode;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
@@ -41,8 +47,43 @@ public class ProjectCostHuijiServiceImpl extends ServiceImpl<ProjectCostHuijiMap
|
|
|
/**
|
|
|
* 对比
|
|
|
*/
|
|
|
- public List<ProjectCostHuiji> compareListByIds(List<String> ids){
|
|
|
- return huijiMapper.compareListByIds(ids);
|
|
|
+// public List<ProjectCostHuiji> compareListByIds(List<String> ids){
|
|
|
+// return huijiMapper.compareListByIds(ids);
|
|
|
+// }
|
|
|
+ //sl修改添加每台的对比
|
|
|
+ public ProjectCostHuijiCompare compareListByIds(List<String> ids){
|
|
|
+ ProjectCostHuijiCompare projectCostHuijiCompare = new ProjectCostHuijiCompare();
|
|
|
+ List<ProjectCostHuiji> listAll = huijiMapper.compareListByIds(ids);
|
|
|
+ List<ProjectCostHuiji> listOne = new ArrayList<>();
|
|
|
+ for(ProjectCostHuiji projectCostHuiji:listAll){
|
|
|
+ ProjectCostHuiji projectCostHuiji1 = (ProjectCostHuiji)projectCostHuiji.clone();
|
|
|
+ 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));//燃动费
|
|
|
+
|
|
|
+ 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));//内部试验
|
|
|
+ if(projectCostHuiji1.getWorkhour() != null) projectCostHuiji1.setWorkhour(projectCostHuiji1.getWorkhour().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//工时
|
|
|
+ }
|
|
|
+ listOne.add(projectCostHuiji1);
|
|
|
+ }
|
|
|
+ projectCostHuijiCompare.setCompareAll(listAll);//总的数据对比
|
|
|
+ projectCostHuijiCompare.setCompareOne(listOne);//单个研制数量的数据对比
|
|
|
+
|
|
|
+ return projectCostHuijiCompare;
|
|
|
}
|
|
|
|
|
|
/**计算项目成本汇集的总和*/
|