Browse Source

fix项目成本

LLL 1 year ago
parent
commit
6845a074b3

+ 12 - 0
module_kzks/src/main/java/org/jeecg/modules/projectCost/entity/ProjectCost.java

@@ -218,4 +218,16 @@ public class ProjectCost implements Serializable {
     @Excel(name = "是否是汇集之后的数据:0汇集计算之前的;1汇集计算之后的", width = 15)
     @ApiModelProperty(value = "是否是汇集之后的数据:0汇集计算之前的;1汇集计算之后的")
     private java.lang.String status;
+    /**占组批百分比*/
+    @Excel(name = "占组批百分比", width = 15)
+    @ApiModelProperty(value = "占组批百分比")
+    private java.math.BigDecimal proportion;
+    /**材料预算*/
+    @Excel(name = "材料预算", width = 15)
+    @ApiModelProperty(value = "材料预算")
+    private java.math.BigDecimal clys;
+    /**外协预算*/
+    @Excel(name = "外协预算", width = 15)
+    @ApiModelProperty(value = "外协预算")
+    private java.math.BigDecimal wxys;
 }

+ 6 - 0
module_kzks/src/main/java/org/jeecg/modules/projectCost/mapper/ProjectCostMapper.java

@@ -15,6 +15,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface ProjectCostMapper extends BaseMapper<ProjectCost> {
 
+    /**根据任务号查询项目成本的主任务及组批后的主任务*/
+    public List<ProjectCost> costListByTaskNoMain(String taskno);
+
+    /**根据任务号查询项目成本的子任务及组批后的子任务*/
+    public List<ProjectCost> costListByTaskNoSub(String taskno);
+
     /**
      * 对比
      */

+ 24 - 0
module_kzks/src/main/java/org/jeecg/modules/projectCost/mapper/xml/ProjectCostMapper.xml

@@ -2,6 +2,30 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.projectCost.mapper.ProjectCostMapper">
 
+    <!--根据任务号查询项目成本的主任务及组批后的主任务 -->
+    <select id="costListByTaskNoMain" resultType="org.jeecg.modules.projectCost.entity.ProjectCost">
+        select c.id,c.taskno,c.taskname,c.xhname,c.jhwcsj,c.yzjdname,c.processPercent,c.cost_percent,c.yzsl,
+               c.one_income,c.one_cost,c.one_profit,c.lre,c.lrl,c.EstimationCoat,c.contractfpe,c.TaskMoney,c.zcb,
+               c.clf ,c.zyf,c.swf,c.wxf,c.rldlf,c.gdzczj,c.gzjlwf,c.glf,IFNULL(c.zjcb,m.value) AS zjcb,c.lbsy ,
+               c.workhour,c.zrbm,c.jycsid,c.jycs ,c.hxzxid,c. hxzxname ,c.tasktype,c.AuditPrice,c.iflag,c.Brief,
+               c.reftaskno,c.pcCode,c.bcCode,c.blCode,c.BusinessMan,c.sjgs,c.scgs,c.status,c.proportion,c.clys,c.wxys
+        from kzks_project_cost c
+        left join mes_info_installationcost m on m.taskno = #{taskno}
+        where c.taskno = #{taskno} order by status
+    </select>
+
+    <!--根据任务号查询项目成本的子任务及组批后的子任务 -->
+    <select id="costListByTaskNoSub" resultType="org.jeecg.modules.projectCost.entity.ProjectCost">
+        select c.id,c.taskno,c.taskname,c.xhname,c.jhwcsj,c.yzjdname,c.processPercent,c.cost_percent,c.yzsl,
+               c.one_income,c.one_cost,c.one_profit,c.lre,c.lrl,c.EstimationCoat,c.contractfpe,c.TaskMoney,c.zcb,
+               c.clf ,c.zyf,c.swf,c.wxf,c.rldlf,c.gdzczj,c.gzjlwf,c.glf,IFNULL(c.zjcb,m.value) AS zjcb,c.lbsy ,
+               c.workhour,c.zrbm,c.jycsid,c.jycs ,c.hxzxid,c. hxzxname ,c.tasktype,c.AuditPrice,c.iflag,c.Brief,
+               c.reftaskno,c.pcCode,c.bcCode,c.blCode,c.BusinessMan,c.sjgs,c.scgs,c.status,c.proportion,c.clys,c.wxys
+        from kzks_project_cost c
+                 left join mes_info_installationcost m on m.taskno = #{taskno}
+        where c.reftaskno = #{taskno} order by taskno ,status
+    </select>
+
     <!-- 项目成本对比 -->
     <select id="compareListByIds" resultType="org.jeecg.modules.projectCost.entity.ProjectCost">
         select * from kzks_project_cost where id in

+ 6 - 0
module_kzks/src/main/java/org/jeecg/modules/projectCost/service/IProjectCostService.java

@@ -13,6 +13,12 @@ import java.util.List;
  */
 public interface IProjectCostService extends IService<ProjectCost> {
 
+    /**根据任务号查询项目成本的主任务及组批后的主任务*/
+    public List<ProjectCost> costListByTaskNoMain(String taskno);
+
+    /**根据任务号查询项目成本的子任务及组批后的子任务*/
+    public List<ProjectCost> costListByTaskNoSub(String taskno);
+
     /**
      * 对比
      */

+ 13 - 0
module_kzks/src/main/java/org/jeecg/modules/projectCost/service/impl/ProjectCostServiceImpl.java

@@ -1,5 +1,7 @@
 package org.jeecg.modules.projectCost.service.impl;
 
+import com.baomidou.dynamic.datasource.annotation.DS;
+import org.jeecg.modules.dataSourceSwitch.type.DataSourceSwitch;
 import org.jeecg.modules.projectCost.entity.ProjectCost;
 import org.jeecg.modules.projectCost.mapper.ProjectCostMapper;
 import org.jeecg.modules.projectCost.service.IProjectCostService;
@@ -16,6 +18,7 @@ import java.util.List;
  * @Date:   2023-08-15
  * @Version: V1.0
  */
+@DS(value = DataSourceSwitch.ds2)
 @Service
 public class ProjectCostServiceImpl extends ServiceImpl<ProjectCostMapper, ProjectCost> implements IProjectCostService {
 
@@ -23,6 +26,16 @@ public class ProjectCostServiceImpl extends ServiceImpl<ProjectCostMapper, Proje
     @SuppressWarnings("all")
     private ProjectCostMapper projectCostMapper;
 
+    /**根据任务号查询项目成本的主任务及组批后的主任务*/
+    public List<ProjectCost> costListByTaskNoMain(String taskno){
+        return projectCostMapper.costListByTaskNoMain(taskno);
+    }
+
+    /**根据任务号查询项目成本的子任务及组批后的子任务*/
+    public List<ProjectCost> costListByTaskNoSub(String taskno){
+        return projectCostMapper.costListByTaskNoSub(taskno);
+    }
+
     /**
      * 对比
      */

+ 2 - 42
module_kzks/src/main/java/org/jeecg/modules/projectCostHuiji/controller/ProjectCostHuijiController.java

@@ -71,53 +71,13 @@ public class ProjectCostHuijiController extends JeecgController<ProjectCostHuiji
 		Page<ProjectCostHuiji> pageList = projectCostHuijiService.page(page, queryWrapper);
 		if(pageList != null ){
 			List<ProjectCostHuijiListVO> list=pageList.getRecords().stream().map(i -> {
-				QueryWrapper<ProjectCost> queryWrapper1 = new QueryWrapper<>();
-				queryWrapper1.eq("taskno",i.getTaskno());
-				queryWrapper1.eq("status",'1');//1汇集计算之后(批产任务)
-				queryWrapper1.isNotNull("pcCode");//批产号不为空
-				List<ProjectCost> children1 = costService.list(queryWrapper1); //批产的主任务
 
-				queryWrapper1 = new QueryWrapper<>();
-				queryWrapper1.eq("taskno",i.getTaskno());
-				queryWrapper1.eq("status",'0');//0汇集计算之前(非批产任务)
-				queryWrapper1.isNull("pcCode");//批产号为空
-				List<ProjectCost> children2 = costService.list(queryWrapper1); //非批产的主任务
-				for (ProjectCost cost :children2){
-					String taskno = cost.getTaskno();
-					if(!taskno.equals("") && taskno!=null){
-						QueryWrapper<MesInfoInstallationcost> wrapper = new QueryWrapper<>();
-						wrapper.eq("taskno",taskno);
-						List<MesInfoInstallationcost> mesList = mesInfoInstallationcostService.list(wrapper);
-						if(mesList!=null && !mesList.isEmpty()) cost.setZjcb(mesList.get(0).getValue());
-					}
-				}
-
-				QueryWrapper<ProjectCost> queryWrapper2 = new QueryWrapper<>();
-				queryWrapper2.eq("reftaskno",i.getTaskno());
-				queryWrapper2.eq("status",'1');//1汇集计算之后的(批产任务)
-				queryWrapper2.isNotNull("pcCode");//批产号不为空
-				List<ProjectCost> children3 = costService.list(queryWrapper2); //批产的子任务
-
-				queryWrapper2 = new QueryWrapper<>();
-				queryWrapper2.eq("reftaskno",i.getTaskno());
-				queryWrapper2.eq("status",'0');//0汇集计算之前(非批产任务)
-				queryWrapper2.isNull("pcCode");//批产号为空
-				List<ProjectCost> children4 = costService.list(queryWrapper2); //非批产的子任务
-				for (ProjectCost cost :children4){
-					String taskno = cost.getTaskno();
-					if(!taskno.equals("") && taskno!=null){
-						QueryWrapper<MesInfoInstallationcost> wrapper = new QueryWrapper<>();
-						wrapper.eq("taskno",taskno);
-						List<MesInfoInstallationcost> mesList = mesInfoInstallationcostService.list(wrapper);
-						if(mesList!=null && !mesList.isEmpty()) cost.setZjcb(mesList.get(0).getValue());
-					}
-				}
+				List<ProjectCost> children1 = costService.costListByTaskNoMain(i.getTaskno()); //主任务及批产的主任务
+				List<ProjectCost> children2 = costService.costListByTaskNoSub(i.getTaskno()); //子任务及批产的子任务
 
 				List<ProjectCost> children =new ArrayList<>();
 				children.addAll(children1);
 				children.addAll(children2);
-				children.addAll(children3);
-				children.addAll(children4);
 				return ProjectCostHuijiConvert.INSTANCE.toHuijiListVO(i,children);
 			}).collect(Collectors.toList());
 			return Result.OK(ProjectCostHuijiConvert.INSTANCE.toHuijiListVOPage(pageList,list));