Просмотр исходного кода

项目成本导出 将数据都换成万元保留两位小数

sl 1 год назад
Родитель
Сommit
071be5036e

+ 7 - 6
module_kzks/src/main/java/org/jeecg/modules/projectCostHuiji/mapper/ProjectCostHuijiMapper.java

@@ -6,6 +6,7 @@ import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.projectCost.entity.ProjectCost;
 import org.jeecg.modules.projectCost.vo.ProjectCostVO;
 import org.jeecg.modules.projectCostHuiji.entity.ProjectCostHuiji;
+import org.jeecg.modules.projectCostHuiji.vo.ProjectCostHuijiExportVO;
 import org.jeecg.modules.projectCostHuiji.vo.ProjectCostHuijiListVO;
 
 import java.util.List;
@@ -54,24 +55,24 @@ public interface ProjectCostHuijiMapper extends BaseMapper<ProjectCostHuiji> {
     ProjectCostHuiji costHJSumIsStaff(@Param("huiji") ProjectCostHuiji finalProjectCostHuiji,@Param("realname") String realname);
 
     /**
-     *   根据部门查询汇集表
+     *   查询汇集表
      */
-    List<ProjectCostHuijiListVO> getProjectCostHuiji();
+    List<ProjectCostHuijiExportVO> getProjectCostHuiji();
 
     /**
      *   根据部门查询汇集表
      */
-    List<ProjectCostHuijiListVO> getProjectCostHuijiByDep(@Param("departNames") List<String> departNames);
+    List<ProjectCostHuijiExportVO> getProjectCostHuijiByDep(@Param("departNames") List<String> departNames);
 
     /**
      *   根据业务员、科研任务负责人、主管设计师查询汇集表
      */
-    List<ProjectCostHuijiListVO> getProjectCostHuijiByRealName(@Param("realName") String realName);
+    List<ProjectCostHuijiExportVO> getProjectCostHuijiByRealName(@Param("realName") String realName);
 
     /**根据任务号查询项目成本的主任务及组批后的主任务*/
-    List<ProjectCostHuijiListVO> costListByTaskNoMainTwo(String taskno);
+    List<ProjectCostHuijiExportVO> costListByTaskNoMainTwo(String taskno);
 
     /**根据任务号查询项目成本的子任务及组批后的子任务*/
-    List<ProjectCostHuijiListVO> costListByTaskNoSubTwo(String taskno);
+    List<ProjectCostHuijiExportVO> costListByTaskNoSubTwo(String taskno);
 
 }

+ 83 - 33
module_kzks/src/main/java/org/jeecg/modules/projectCostHuiji/mapper/xml/ProjectCostHuijiMapper.xml

@@ -123,57 +123,107 @@
     </update>
 
     <!-- 查询汇集表 -->
-    <select id="getProjectCostHuiji" parameterType="String" resultType="org.jeecg.modules.projectCostHuiji.vo.ProjectCostHuijiListVO">
-        select *, 1 as ji from kzks_project_cost_huiji order by id desc
+    <select id="getProjectCostHuiji" parameterType="String" resultType="org.jeecg.modules.projectCostHuiji.vo.ProjectCostHuijiExportVO">
+        SELECT c.id, 1 as ji, c.taskno, c.taskname, c.xhname, c.jhwcsj, c.yzjdname, CONCAT(ROUND(c.processPercent, 0), '%') as processpercent,
+               CONCAT(ROUND(c.cost_percent * 100.0, 0), '%') as costPercent, ROUND(c.TaskMoney /10000, 2) as taskmoney,
+               ROUND(c.contractfpe /10000, 2) as contractfpe, ROUND(c.EstimationCoat, 2) as estimationcoat, ROUND(c.zcb /10000, 2) as zcb,
+               ROUND(c.lre /10000, 2) as lre, CONCAT(ROUND(lrl * 100.0, 1), '%') as lrl, c.yzsl, ROUND(c.one_profit /10000, 2) as oneProfit,
+               ROUND(c.one_income /10000, 2) as oneIncome, ROUND(c.one_cost /10000, 2) as oneCost, ROUND(c.clys, 2) as clys,
+               ROUND(c.clf /10000, 2) as clf, ROUND(c.zyys, 2) as zyys, ROUND(c.zyf /10000, 2) as zyf, ROUND(c.swys, 2) as swys,
+               ROUND(c.swf /10000, 2) as swf, ROUND(c.wxys, 2) as wxys, ROUND(c.wxf /10000, 2) as wxf, ROUND(c.jjys, 2) as jjys,
+               ROUND(c.rldlf /10000, 2) as rldlf, ROUND(c.gdzczj /10000, 2) as gdzczj, ROUND(c.gzjlwf /10000, 2) as gzjlwf,
+               ROUND(c.glf /10000, 2) as glf, ROUND(c.sxf /10000, 2) as sxf, ROUND(IFNULL(c.zjcb,m.value) / 10000, 2) as zjcb,
+               c.lbsy, c.workhour, c.zrbm, c.jycsid, c.jycs, c.hxzxid, c.hxzxname, c.tasktype, c.AuditPrice as auditprice, c.iflag,
+               c.Brief as brief, c.reftaskno, c.pcCode as pccode, c.bcCode as bccode, c.blCode as blcode, c.business_man_name as businessManName,
+               c.ywfzrname, c.xhzzrname, c.sjgs, c.scgs
+        FROM kzks_project_cost_huiji c
+        LEFT JOIN mes_info_installationcost m on m.taskno = c.taskno
+        ORDER BY c.id DESC
     </select>
 
     <!-- 根据部门查询汇集表 -->
-    <select id="getProjectCostHuijiByDep" parameterType="String" resultType="org.jeecg.modules.projectCostHuiji.vo.ProjectCostHuijiListVO">
-        select *, 1 as ji from kzks_project_cost_huiji
-        where zrbm in
+    <select id="getProjectCostHuijiByDep" parameterType="String" resultType="org.jeecg.modules.projectCostHuiji.vo.ProjectCostHuijiExportVO">
+        SELECT c.id, 1 as ji, c.taskno, c.taskname, c.xhname, c.jhwcsj, c.yzjdname, CONCAT(ROUND(c.processPercent, 0), '%') as processpercent,
+        CONCAT(ROUND(c.cost_percent * 100.0, 0), '%') as costPercent, ROUND(c.TaskMoney /10000, 2) as taskmoney,
+        ROUND(c.contractfpe /10000, 2) as contractfpe, ROUND(c.EstimationCoat, 2) as estimationcoat, ROUND(c.zcb /10000, 2) as zcb,
+        ROUND(c.lre /10000, 2) as lre, CONCAT(ROUND(lrl * 100.0, 1), '%') as lrl, c.yzsl, ROUND(c.one_profit /10000, 2) as oneProfit,
+        ROUND(c.one_income /10000, 2) as oneIncome, ROUND(c.one_cost /10000, 2) as oneCost, ROUND(c.clys, 2) as clys,
+        ROUND(c.clf /10000, 2) as clf, ROUND(c.zyys, 2) as zyys, ROUND(c.zyf /10000, 2) as zyf, ROUND(c.swys, 2) as swys,
+        ROUND(c.swf /10000, 2) as swf, ROUND(c.wxys, 2) as wxys, ROUND(c.wxf /10000, 2) as wxf, ROUND(c.jjys, 2) as jjys,
+        ROUND(c.rldlf /10000, 2) as rldlf, ROUND(c.gdzczj /10000, 2) as gdzczj, ROUND(c.gzjlwf /10000, 2) as gzjlwf,
+        ROUND(c.glf /10000, 2) as glf, ROUND(c.sxf /10000, 2) as sxf, ROUND(IFNULL(c.zjcb,m.value) / 10000, 2) as zjcb,
+        c.lbsy, c.workhour, c.zrbm, c.jycsid, c.jycs, c.hxzxid, c.hxzxname, c.tasktype, c.AuditPrice as auditprice, c.iflag,
+        c.Brief as brief, c.reftaskno, c.pcCode as pccode, c.bcCode as bccode, c.blCode as blcode, c.business_man_name as businessManName,
+        c.ywfzrname, c.xhzzrname, c.sjgs, c.scgs
+        FROM kzks_project_cost_huiji c
+        LEFT JOIN mes_info_installationcost m on m.taskno = c.taskno
+        where c.zrbm in
         <foreach collection="departNames" index="index" item="item" open="(" separator="," close=")">
             #{item}
         </foreach>
-        or jycs in
+        or c.jycs in
         <foreach collection="departNames" index="index" item="item" open="(" separator="," close=")">
             #{item}
         </foreach>
-        order by id desc
+        ORDER BY c.id DESC
     </select>
 
     <!-- 根据业务员、科研任务负责人、主管设计师查询汇集表 -->
-    <select id="getProjectCostHuijiByRealName" parameterType="String" resultType="org.jeecg.modules.projectCostHuiji.vo.ProjectCostHuijiListVO">
-        select *, 1 as ji from kzks_project_cost_huiji
-        where business_man_name=#{realName} or ywfzrname=#{realName} or xhzzrname=#{realName}
-        order by id desc
+    <select id="getProjectCostHuijiByRealName" parameterType="String" resultType="org.jeecg.modules.projectCostHuiji.vo.ProjectCostHuijiExportVO">
+        SELECT c.id, 1 as ji, c.taskno, c.taskname, c.xhname, c.jhwcsj, c.yzjdname, CONCAT(ROUND(c.processPercent, 0), '%') as processpercent,
+               CONCAT(ROUND(c.cost_percent * 100.0, 0), '%') as costPercent, ROUND(c.TaskMoney /10000, 2) as taskmoney,
+               ROUND(c.contractfpe /10000, 2) as contractfpe, ROUND(c.EstimationCoat, 2) as estimationcoat, ROUND(c.zcb /10000, 2) as zcb,
+               ROUND(c.lre /10000, 2) as lre, CONCAT(ROUND(lrl * 100.0, 1), '%') as lrl, c.yzsl, ROUND(c.one_profit /10000, 2) as oneProfit,
+               ROUND(c.one_income /10000, 2) as oneIncome, ROUND(c.one_cost /10000, 2) as oneCost, ROUND(c.clys, 2) as clys,
+               ROUND(c.clf /10000, 2) as clf, ROUND(c.zyys, 2) as zyys, ROUND(c.zyf /10000, 2) as zyf, ROUND(c.swys, 2) as swys,
+               ROUND(c.swf /10000, 2) as swf, ROUND(c.wxys, 2) as wxys, ROUND(c.wxf /10000, 2) as wxf, ROUND(c.jjys, 2) as jjys,
+               ROUND(c.rldlf /10000, 2) as rldlf, ROUND(c.gdzczj /10000, 2) as gdzczj, ROUND(c.gzjlwf /10000, 2) as gzjlwf,
+               ROUND(c.glf /10000, 2) as glf, ROUND(c.sxf /10000, 2) as sxf, ROUND(IFNULL(c.zjcb,m.value) / 10000, 2) as zjcb,
+               c.lbsy, c.workhour, c.zrbm, c.jycsid, c.jycs, c.hxzxid, c.hxzxname, c.tasktype, c.AuditPrice as auditprice, c.iflag,
+               c.Brief as brief, c.reftaskno, c.pcCode as pccode, c.bcCode as bccode, c.blCode as blcode, c.business_man_name as businessManName,
+               c.ywfzrname, c.xhzzrname, c.sjgs, c.scgs
+        FROM kzks_project_cost_huiji c
+        LEFT JOIN mes_info_installationcost m on m.taskno = c.taskno
+        where c.business_man_name=#{realName} or c.ywfzrname=#{realName} or c.xhzzrname=#{realName}
+        ORDER BY c.id DESC
     </select>
 
     <!--根据任务号查询项目成本的主任务及组批后的主任务 -->
-    <select id="costListByTaskNoMainTwo" resultType="org.jeecg.modules.projectCostHuiji.vo.ProjectCostHuijiListVO">
-        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.sxf,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.business_man_name,c.sjgs,c.scgs,c.status,c.proportion,c.ywfzrname,
-               c.clys,c.wxys,c.xhzzrname,c.zyys,c.swys,c.jjys,
-               2 as ji
-        from kzks_project_cost c
-                 left join mes_info_installationcost m on  m.taskno = #{taskno}
-        where c.taskno = #{taskno} order by status
+    <select id="costListByTaskNoMainTwo" resultType="org.jeecg.modules.projectCostHuiji.vo.ProjectCostHuijiExportVO">
+        SELECT c.id, 2 as ji, c.taskno, c.taskname, c.xhname, c.jhwcsj, c.yzjdname, CONCAT(ROUND(c.processPercent, 0), '%') as processpercent,
+               CONCAT(ROUND(c.cost_percent * 100.0, 0), '%') as costPercent, ROUND(c.TaskMoney /10000, 2) as taskmoney,
+               ROUND(c.contractfpe /10000, 2) as contractfpe, ROUND(c.EstimationCoat, 2) as estimationcoat, ROUND(c.zcb /10000, 2) as zcb,
+               ROUND(c.lre /10000, 2) as lre, CONCAT(ROUND(lrl * 100.0, 1), '%') as lrl, c.yzsl, ROUND(c.one_profit /10000, 2) as oneProfit,
+               ROUND(c.one_income /10000, 2) as oneIncome, ROUND(c.one_cost /10000, 2) as oneCost, ROUND(c.clys, 2) as clys,
+               ROUND(c.clf /10000, 2) as clf, ROUND(c.zyys, 2) as zyys, ROUND(c.zyf /10000, 2) as zyf, ROUND(c.swys, 2) as swys,
+               ROUND(c.swf /10000, 2) as swf, ROUND(c.wxys, 2) as wxys, ROUND(c.wxf /10000, 2) as wxf, ROUND(c.jjys, 2) as jjys,
+               ROUND(c.rldlf /10000, 2) as rldlf, ROUND(c.gdzczj /10000, 2) as gdzczj, ROUND(c.gzjlwf /10000, 2) as gzjlwf,
+               ROUND(c.glf /10000, 2) as glf, ROUND(c.sxf /10000, 2) as sxf, ROUND(IFNULL(c.zjcb,m.value) / 10000, 2) as zjcb,
+               c.lbsy, c.workhour, c.zrbm, c.jycsid, c.jycs, c.hxzxid, c.hxzxname, c.tasktype, c.AuditPrice as auditprice, c.iflag,
+               c.Brief as brief, c.reftaskno, c.pcCode as pccode, c.bcCode as bccode, c.blCode as blcode, c.business_man_name as businessManName,
+               c.ywfzrname, c.xhzzrname, c.sjgs, c.scgs
+        FROM kzks_project_cost c
+        LEFT JOIN mes_info_installationcost m on m.taskno = #{taskno}
+        where c.taskno = #{taskno} order by c.status
     </select>
 
     <!--根据任务号查询项目成本的子任务及组批后的子任务 -->
-    <select id="costListByTaskNoSubTwo" resultType="org.jeecg.modules.projectCostHuiji.vo.ProjectCostHuijiListVO">
-        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.sxf,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.business_man_name,c.sjgs,c.scgs,c.status,c.proportion,c.ywfzrname,
-               c.clys,c.wxys,c.xhzzrname,
-               2 as ji
-        from kzks_project_cost c
-                 left join mes_info_installationcost m on m.taskno = c.taskno
-        where c.reftaskno = #{taskno} order by taskno ,status
+    <select id="costListByTaskNoSubTwo" resultType="org.jeecg.modules.projectCostHuiji.vo.ProjectCostHuijiExportVO">
+        SELECT c.id, 2 as ji, c.taskno, c.taskname, c.xhname, c.jhwcsj, c.yzjdname, CONCAT(ROUND(c.processPercent, 0), '%') as processpercent,
+               CONCAT(ROUND(c.cost_percent * 100.0, 0), '%') as costPercent, ROUND(c.TaskMoney /10000, 2) as taskmoney,
+               ROUND(c.contractfpe /10000, 2) as contractfpe, ROUND(c.EstimationCoat, 2) as estimationcoat, ROUND(c.zcb /10000, 2) as zcb,
+               ROUND(c.lre /10000, 2) as lre, CONCAT(ROUND(lrl * 100.0, 1), '%') as lrl, c.yzsl, ROUND(c.one_profit /10000, 2) as oneProfit,
+               ROUND(c.one_income /10000, 2) as oneIncome, ROUND(c.one_cost /10000, 2) as oneCost, ROUND(c.clys, 2) as clys,
+               ROUND(c.clf /10000, 2) as clf, ROUND(c.zyys, 2) as zyys, ROUND(c.zyf /10000, 2) as zyf, ROUND(c.swys, 2) as swys,
+               ROUND(c.swf /10000, 2) as swf, ROUND(c.wxys, 2) as wxys, ROUND(c.wxf /10000, 2) as wxf, ROUND(c.jjys, 2) as jjys,
+               ROUND(c.rldlf /10000, 2) as rldlf, ROUND(c.gdzczj /10000, 2) as gdzczj, ROUND(c.gzjlwf /10000, 2) as gzjlwf,
+               ROUND(c.glf /10000, 2) as glf, ROUND(c.sxf /10000, 2) as sxf, ROUND(IFNULL(c.zjcb,m.value) / 10000, 2) as zjcb,
+               c.lbsy, c.workhour, c.zrbm, c.jycsid, c.jycs, c.hxzxid, c.hxzxname, c.tasktype, c.AuditPrice as auditprice, c.iflag,
+               c.Brief as brief, c.reftaskno, c.pcCode as pccode, c.bcCode as bccode, c.blCode as blcode, c.business_man_name as businessManName,
+               c.ywfzrname, c.xhzzrname, c.sjgs, c.scgs
+        FROM kzks_project_cost c
+        left join mes_info_installationcost m on m.taskno = c.taskno
+        where c.reftaskno = #{taskno} order by c.taskno ,c.status
     </select>
 
 

+ 19 - 18
module_kzks/src/main/java/org/jeecg/modules/projectCostHuiji/service/impl/ProjectCostHuijiServiceImpl.java

@@ -27,6 +27,7 @@ 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.jeecg.modules.projectCostHuiji.vo.ProjectCostHuijiExportVO;
 import org.jeecg.modules.projectCostHuiji.vo.ProjectCostHuijiListVO;
 import org.jeecg.modules.system.mapper.SysDepartMapper;
 import org.jeecg.modules.system.service.ISysUserService;
@@ -176,31 +177,31 @@ public class ProjectCostHuijiServiceImpl extends ServiceImpl<ProjectCostHuijiMap
     }
 
     /**
-     *   根据部门查询汇集表
+     *   查询汇集表
      */
-    List<ProjectCostHuijiListVO> getProjectCostHuiji(){
+    List<ProjectCostHuijiExportVO> getProjectCostHuiji(){
         return huijiMapper.getProjectCostHuiji();
     }
 
     /**
      *   根据部门查询汇集表
      */
-    List<ProjectCostHuijiListVO> getProjectCostHuijiByDep(List<String> departNames){
+    List<ProjectCostHuijiExportVO> getProjectCostHuijiByDep(List<String> departNames){
         return huijiMapper.getProjectCostHuijiByDep(departNames);
     }
 
     /**
      *   根据业务员、科研任务负责人、主管设计师查询汇集表
      */
-    List<ProjectCostHuijiListVO> getProjectCostHuijiByRealName(@Param("realName") String realName){
+    List<ProjectCostHuijiExportVO> getProjectCostHuijiByRealName(@Param("realName") String realName){
         return huijiMapper.getProjectCostHuijiByRealName(realName);
     }
 
-    public List<ProjectCostHuijiListVO> children1(String taskno) {
+    public List<ProjectCostHuijiExportVO> children1(String taskno) {
         return huijiMapper.costListByTaskNoMainTwo(taskno); //主任务及批产的主任务
     }
 
-    public List<ProjectCostHuijiListVO> children2(String taskno) {
+    public List<ProjectCostHuijiExportVO> children2(String taskno) {
         return huijiMapper.costListByTaskNoSubTwo(taskno); //子任务及批产的子任务
     }
 
@@ -213,8 +214,8 @@ public class ProjectCostHuijiServiceImpl extends ServiceImpl<ProjectCostHuijiMap
         String role = commonMethod.getRole(sysUser.getUsername());
 
         //查询需要导出的数据
-        List<ProjectCostHuijiListVO> projectCostHuijiListVOAll = new ArrayList<>();//父级加子集 最后导入excel中的数据
-        List<ProjectCostHuijiListVO> projectCostHuijiListVOS = new ArrayList<>();//父级数据
+        List<ProjectCostHuijiExportVO> projectCostHuijiListVOAll = new ArrayList<>();//父级加子集 最后导入excel中的数据
+        List<ProjectCostHuijiExportVO> projectCostHuijiListVOS = new ArrayList<>();//父级数据
 //        List<ProjectCost> projectCostList = new ArrayList<>();//子集数据
         if(role.equals(AuthMark.ADMIN) || role.equals(AuthMark.BOSS)){//管理员或者boss查询所有数据导出
             projectCostHuijiListVOS = getProjectCostHuiji();//汇集层数据
@@ -222,9 +223,9 @@ public class ProjectCostHuijiServiceImpl extends ServiceImpl<ProjectCostHuijiMap
                 projectCostHuijiListVOAll.addAll(projectCostHuijiListVOS);
             }else if(isFolding.equals("1")){//展开,导出汇集+子集
                 if(projectCostHuijiListVOS.size()!=0){
-                    for(ProjectCostHuijiListVO projectCostHuijiListVO:projectCostHuijiListVOS){
-                        List<ProjectCostHuijiListVO> projectCostHuijiListVOS1 = children1(projectCostHuijiListVO.getTaskno());//主任务及批产的主任务
-                        List<ProjectCostHuijiListVO> projectCostHuijiListVOS2 = children2(projectCostHuijiListVO.getTaskno());//子任务及批产的子任务
+                    for(ProjectCostHuijiExportVO projectCostHuijiListVO:projectCostHuijiListVOS){
+                        List<ProjectCostHuijiExportVO> projectCostHuijiListVOS1 = children1(projectCostHuijiListVO.getTaskno());//主任务及批产的主任务
+                        List<ProjectCostHuijiExportVO> projectCostHuijiListVOS2 = children2(projectCostHuijiListVO.getTaskno());//子任务及批产的子任务
                         projectCostHuijiListVOAll.add(projectCostHuijiListVO);//父级数据
                         projectCostHuijiListVOAll.addAll(projectCostHuijiListVOS1);//主任务及批产的主任务
                         projectCostHuijiListVOAll.addAll(projectCostHuijiListVOS2);//子任务及批产的子任务
@@ -241,9 +242,9 @@ public class ProjectCostHuijiServiceImpl extends ServiceImpl<ProjectCostHuijiMap
                 projectCostHuijiListVOAll.addAll(projectCostHuijiListVOS);
             }else if(isFolding.equals("1")){//展开,导出汇集+子集
                 if(projectCostHuijiListVOS.size()!=0){
-                    for(ProjectCostHuijiListVO projectCostHuijiListVO:projectCostHuijiListVOS){
-                        List<ProjectCostHuijiListVO> projectCostHuijiListVOS1 = children1(projectCostHuijiListVO.getTaskno());//主任务及批产的主任务
-                        List<ProjectCostHuijiListVO> projectCostHuijiListVOS2 = children2(projectCostHuijiListVO.getTaskno());//子任务及批产的子任务
+                    for(ProjectCostHuijiExportVO projectCostHuijiListVO:projectCostHuijiListVOS){
+                        List<ProjectCostHuijiExportVO> projectCostHuijiListVOS1 = children1(projectCostHuijiListVO.getTaskno());//主任务及批产的主任务
+                        List<ProjectCostHuijiExportVO> projectCostHuijiListVOS2 = children2(projectCostHuijiListVO.getTaskno());//子任务及批产的子任务
                         projectCostHuijiListVOAll.add(projectCostHuijiListVO);//父级数据
                         projectCostHuijiListVOAll.addAll(projectCostHuijiListVOS1);//主任务及批产的主任务
                         projectCostHuijiListVOAll.addAll(projectCostHuijiListVOS2);//子任务及批产的子任务
@@ -259,9 +260,9 @@ public class ProjectCostHuijiServiceImpl extends ServiceImpl<ProjectCostHuijiMap
                 projectCostHuijiListVOAll.addAll(projectCostHuijiListVOS);
             }else if(isFolding.equals("1")){//展开,导出汇集+子集
                 if(projectCostHuijiListVOS.size()!=0){
-                    for(ProjectCostHuijiListVO projectCostHuijiListVO:projectCostHuijiListVOS){
-                        List<ProjectCostHuijiListVO> projectCostHuijiListVOS1 = children1(projectCostHuijiListVO.getTaskno());//主任务及批产的主任务
-                        List<ProjectCostHuijiListVO> projectCostHuijiListVOS2 = children2(projectCostHuijiListVO.getTaskno());//子任务及批产的子任务
+                    for(ProjectCostHuijiExportVO projectCostHuijiListVO:projectCostHuijiListVOS){
+                        List<ProjectCostHuijiExportVO> projectCostHuijiListVOS1 = children1(projectCostHuijiListVO.getTaskno());//主任务及批产的主任务
+                        List<ProjectCostHuijiExportVO> projectCostHuijiListVOS2 = children2(projectCostHuijiListVO.getTaskno());//子任务及批产的子任务
                         projectCostHuijiListVOAll.add(projectCostHuijiListVO);//父级数据
                         projectCostHuijiListVOAll.addAll(projectCostHuijiListVOS1);//主任务及批产的主任务
                         projectCostHuijiListVOAll.addAll(projectCostHuijiListVOS2);//子任务及批产的子任务
@@ -279,7 +280,7 @@ public class ProjectCostHuijiServiceImpl extends ServiceImpl<ProjectCostHuijiMap
 
         List<Map<String, Object>> list = new ArrayList<>();
         Map<String, Object> map = new HashMap<>();
-        map.put(NormalExcelConstants.CLASS, ProjectCostHuijiListVO.class);
+        map.put(NormalExcelConstants.CLASS, ProjectCostHuijiExportVO.class);
         map.put(NormalExcelConstants.PARAMS, new ExportParams("项目成本表", "导出人:" + sysUser.getRealname(), "项目成本表"));
         map.put(NormalExcelConstants.DATA_LIST, projectCostHuijiListVOAll);
         list.add(map);

+ 271 - 0
module_kzks/src/main/java/org/jeecg/modules/projectCostHuiji/vo/ProjectCostHuijiExportVO.java

@@ -0,0 +1,271 @@
+package org.jeecg.modules.projectCostHuiji.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import org.jeecg.modules.projectCost.vo.ProjectCostVO;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * ClassName: ProjectCostHuijiExportVO
+ * Package: org.jeecg.modules.projectCostHuiji.vo
+ * Description: 项目成本导出VO
+ *
+ * @Author sl
+ * @Create 2024/3/14 10:37
+ * @Version 1.0
+ */
+@Data
+@Accessors(chain = true)
+public class ProjectCostHuijiExportVO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**主键*/
+    @TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "主键")
+    private java.lang.String id;
+
+    /**用于判断是一级还是二级*/
+    @Excel(name = "层级", width = 15)
+    @ApiModelProperty(value = "用于判断是一级还是二级")
+    private java.lang.Integer ji;
+
+    /**任务号/来自科研任务*/
+    @Excel(name = "任务号", width = 15)
+    @ApiModelProperty(value = "任务号/来自科研任务")
+    private java.lang.String taskno;
+    /**任务名称/来自科研任务*/
+    @Excel(name = "任务名称", width = 15)
+    @ApiModelProperty(value = "任务名称/来自科研任务")
+    private java.lang.String taskname;
+    /**型号/来自科研报工*/
+    @Excel(name = "型号", width = 15)
+    @ApiModelProperty(value = "型号/来自科研报工")
+    private java.lang.String xhname;
+    /**计划完成时间(进度要求)来自科研任务*/
+    @Excel(name = "计划完成时间", width = 15, format = "yyyy-MM-dd")
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "计划完成时间(进度要求)来自科研任务")
+    private java.util.Date jhwcsj;
+    /**阶段/来自科研报工*/
+    @Excel(name = "阶段", width = 15)
+    @ApiModelProperty(value = "阶段/来自科研报工")
+    private java.lang.String yzjdname;
+
+    /**项目进度/来自科研任务*/
+    @Excel(name = "项目进度", width = 15)
+    @ApiModelProperty(value = "项目进度/来自科研任务")
+    private java.lang.String processpercent;
+    /**成本进度*/
+    @Excel(name = "成本进度", width = 15)
+    @ApiModelProperty(value = "成本进度")
+    private java.lang.String costPercent;
+
+    /**已收款/ 来自合同收款详细的任务收款额*/
+    @Excel(name = "已收款", width = 15)
+    @ApiModelProperty(value = "已收款/ 来自合同收款详细的任务收款额")
+    private java.math.BigDecimal taskmoney;
+    /**合同额/来自收款合同的合同分配额 */
+    @Excel(name = "合同额 ", width = 15)
+    @ApiModelProperty(value = "合同额/来自收款合同的合同分配额 ")
+    private java.math.BigDecimal contractfpe;
+    /**预估价/来自财务预算*/
+    @Excel(name = "预估价", width = 15)
+    @ApiModelProperty(value = "预估价/来自财务预算")
+    private java.math.BigDecimal estimationcoat;
+    /**总成本/ 直接成本+间接费用/直接成本=材料费(出库)+外协费+专用费+事务费/间接费用=工资费+管理费+燃动费+固资费*/
+    @Excel(name = "总成本", width = 15)
+    @ApiModelProperty(value = "总成本/ 直接成本+间接费用/直接成本=材料费(出库)+外协费+专用费+事务费/间接费用=工资费+管理费+燃动费+固资费")
+    private java.math.BigDecimal zcb;
+
+    /**利润额/(合同额or预估价)-总成本额*/
+    @Excel(name = "利润额", width = 15)
+    @ApiModelProperty(value = "利润额/(合同额or预估价)-总成本额")
+    private java.math.BigDecimal lre;
+    /**利润率/ 利润额/(合同额or预估价)*100%*/
+    @Excel(name = "利润率", width = 15)
+    @ApiModelProperty(value = "利润率/ 利润额/(合同额or预估价)*100%")
+    private java.lang.String lrl;
+    /**研制数量/来自科研任务*/
+    @Excel(name = "研制数量", width = 15)
+    @ApiModelProperty(value = "研制数量/来自科研任务")
+    private java.lang.Integer yzsl;
+
+    /**单台利润/  利润额/研制数量*/
+    @Excel(name = "单台利润", width = 15)
+    @ApiModelProperty(value = "单台利润/  利润额/研制数量")
+    private java.math.BigDecimal oneProfit;
+    /**单台收入/(合同额or预估价)/研制数量*/
+    @Excel(name = "单台收入", width = 15)
+    @ApiModelProperty(value = "单台收入/(合同额or预估价)/研制数量")
+    private java.math.BigDecimal oneIncome;
+    /**单台成本/  总成本额/研制数量*/
+    @Excel(name = "单台成本", width = 15)
+    @ApiModelProperty(value = "单台成本/  总成本额/研制数量")
+    private java.math.BigDecimal oneCost;
+
+    /**材料预算*/
+    @Excel(name = "材料预算", width = 15)
+    @ApiModelProperty(value = "材料预算")
+    private java.math.BigDecimal clys;
+    /**材料费/物资出库单明细 实发主数量*采购单价*/
+    @Excel(name = "材料费", width = 15)
+    @ApiModelProperty(value = "材料费/物资出库单明细 实发主数量*采购单价")
+    private java.math.BigDecimal clf;
+
+    /**专用费预算*/
+    @Excel(name = "专用预算", width = 15)
+    @ApiModelProperty(value = "专用费预算")
+    private java.math.BigDecimal zyys;
+    /**专用费*/
+    @Excel(name = "专用费", width = 15)
+    @ApiModelProperty(value = "专用费")
+    private java.math.BigDecimal zyf;
+
+    /**事务费预算*/
+    @Excel(name = "事务预算", width = 15)
+    @ApiModelProperty(value = "事务费预算")
+    private java.math.BigDecimal swys;
+    /**事务费*/
+    @Excel(name = "事务费", width = 15)
+    @ApiModelProperty(value = "事务费")
+    private java.math.BigDecimal swf;
+
+    /**外协预算*/
+    @Excel(name = "外协预算", width = 15)
+    @ApiModelProperty(value = "外协预算")
+    private java.math.BigDecimal wxys;
+    /**外协费*/
+    @Excel(name = "外协费", width = 15)
+    @ApiModelProperty(value = "外协费")
+    private java.math.BigDecimal wxf;
+
+    /**间接费预算*/
+    @Excel(name = "间接预算", width = 15)
+    @ApiModelProperty(value = "间接费预算")
+    private java.math.BigDecimal jjys;
+
+    /**燃料动力费/(材料费+外协费+事务费+专用费)×1.5%*/
+    @Excel(name = "燃动费", width = 15)
+    @ApiModelProperty(value = "燃料动力费/(材料费+外协费+事务费+专用费)×1.5%")
+    private java.math.BigDecimal rldlf;
+    /**固定资产折旧/(材料费+外协费+事务费+专用费)×2.5%*/
+    @Excel(name = "固资费", width = 15)
+    @ApiModelProperty(value = "固定资产折旧/(材料费+外协费+事务费+专用费)×2.5%")
+    private java.math.BigDecimal gdzczj;
+    /**工资及劳务费/(材料费+外协费+事务费+专用费)×17%*/
+    @Excel(name = "人工费", width = 15)
+    @ApiModelProperty(value = "工资及劳务费/(材料费+外协费+事务费+专用费)×17%")
+    private java.math.BigDecimal gzjlwf;
+    /**管理费/(材料费+外协费+事务费+专用费)×5%*/
+    @Excel(name = "管理费", width = 15)
+    @ApiModelProperty(value = "管理费/(材料费+外协费+事务费+专用费)×5%")
+    private java.math.BigDecimal glf;
+    /**筛选费*/
+    @Excel(name = "筛选费", width = 15)
+    @ApiModelProperty(value = "筛选费")
+    private java.math.BigDecimal sxf;
+
+    /**装机成本/ mes装机信息卡的采购单价*数量*/
+    @Excel(name = "装机成本", width = 15)
+    @ApiModelProperty(value = "装机成本/ mes装机信息卡的采购单价*数量")
+    private java.math.BigDecimal zjcb;
+    /**内部试验*/
+    @Excel(name = "内部试验", width = 15)
+    @ApiModelProperty(value = "内部试验")
+    private java.math.BigDecimal lbsy;
+    /**工时(h)/来自科研报工,每次科研报工累加计时*/
+    @Excel(name = "工时(h)", width = 15)
+    @ApiModelProperty(value = "工时(h)/来自科研报工,每次科研报工累加计时")
+    private java.math.BigDecimal workhour;
+    /**责任部门/来自科研任务*/
+    @Excel(name = "责任部门", width = 15)
+    @ApiModelProperty(value = "责任部门/来自科研任务")
+    private java.lang.String zrbm;
+    /**下达部门id/来自科研任务*/
+//    @Excel(name = "下达部门id", width = 15)
+    @ApiModelProperty(value = "下达部门id/来自科研任务")
+    private java.lang.Integer jycsid;
+    /**下达部门/来自科研任务*/
+    @Excel(name = "下达部门", width = 15)
+    @ApiModelProperty(value = "下达部门/来自科研任务")
+    private java.lang.String jycs;
+    /**1:横向 2:纵向/来自科研任务*/
+//    @Excel(name = "1:横向 2:纵向/来自科研任务", width = 15)
+    @ApiModelProperty(value = "1:横向 2:纵向/来自科研任务")
+    private java.lang.Integer hxzxid;
+    /**横向纵向/来自科研任务*/
+    @Excel(name = "横向纵向", width = 15)
+    @ApiModelProperty(value = "横向纵向/来自科研任务")
+    private java.lang.String hxzxname;
+    /**任务类型/来自科研任务*/
+    @Excel(name = "任务类型", width = 15)
+    @ApiModelProperty(value = "任务类型/来自科研任务")
+    private java.lang.String tasktype;
+    /**审计审价/来自科研任务*/
+    @Excel(name = "审计审价", width = 15)
+    @ApiModelProperty(value = "审计审价/来自科研任务")
+    private java.lang.String auditprice;
+    /**任务状态/来自科研任务*/
+    @Excel(name = "任务状态", width = 15)
+    @ApiModelProperty(value = "任务状态/来自科研任务")
+    private java.lang.String iflag;
+    /**提出单位简称/来自科研任务*/
+    @Excel(name = "提出单位简称", width = 15)
+    @ApiModelProperty(value = "提出单位简称/来自科研任务")
+    private java.lang.String brief;
+    /**父级任务/来自科研任务*/
+    @Excel(name = "父级任务", width = 15)
+    @ApiModelProperty(value = "父级任务/来自科研任务")
+    private java.lang.String reftaskno;
+    /**批产任务号/来自科研任务*/
+    @Excel(name = "批产任务号", width = 15)
+    @ApiModelProperty(value = "批产任务号/来自科研任务")
+    private java.lang.String pccode;
+    /**备产任务号/来自科研任务*/
+    @Excel(name = "备产任务号", width = 15)
+    @ApiModelProperty(value = "备产任务号/来自科研任务")
+    private java.lang.String bccode;
+    /**备料任务号/来自科研任务*/
+    @Excel(name = "备料任务号", width = 15)
+    @ApiModelProperty(value = "备料任务号/来自科研任务")
+    private java.lang.String blcode;
+    /**业务员/来自科研任务*/
+    @Excel(name = "业务员", width = 15)
+    @ApiModelProperty(value = "业务员/来自科研任务")
+    private java.lang.String businessManName;
+    @Excel(name = "主管设计师", width = 15)
+    @ApiModelProperty(value = "主管设计师/来自科研任务")
+    private java.lang.String ywfzrname;
+    @Excel(name = "科研任务责任人", width = 15)
+    @ApiModelProperty(value = "科研任务责任人/来自科研任务")
+    private java.lang.String xhzzrname;
+    /**设计工时*/
+    @Excel(name = "设计工时", width = 15)
+    @ApiModelProperty(value = "设计工时")
+    private java.math.BigDecimal sjgs;
+    /**生产工时*/
+    @Excel(name = "生产工时", width = 15)
+    @ApiModelProperty(value = "生产工时")
+    private java.math.BigDecimal scgs;
+    /**子集*/
+    @ApiModelProperty(value = "子集")
+    private List<ProjectCostVO> children;
+
+    /** 汇集状态 */
+//    @Excel(name = "状态", width = 15)
+    @ApiModelProperty(value = "状态")
+    private java.lang.String hjstatus;
+
+
+
+}

+ 28 - 22
module_kzks/src/main/java/org/jeecg/modules/projectCostHuiji/vo/ProjectCostHuijiListVO.java

@@ -108,22 +108,48 @@ public class ProjectCostHuijiListVO implements Serializable {
     @Excel(name = "总成本", width = 15)
     @ApiModelProperty(value = "总成本/ 直接成本+间接费用/直接成本=材料费(出库)+外协费+专用费+事务费/间接费用=工资费+管理费+燃动费+固资费")
     private java.math.BigDecimal zcb;
+
+    /**材料预算*/
+    @Excel(name = "材料预算", width = 15)
+    @ApiModelProperty(value = "材料预算")
+    private java.math.BigDecimal clys;
     /**材料费/物资出库单明细 实发主数量*采购单价*/
     @Excel(name = "材料费", width = 15)
     @ApiModelProperty(value = "材料费/物资出库单明细 实发主数量*采购单价")
     private java.math.BigDecimal clf;
+
+    /**专用费预算*/
+    @Excel(name = "专用费预算", width = 15)
+    @ApiModelProperty(value = "专用费预算")
+    private java.math.BigDecimal zyys;
     /**专用费*/
     @Excel(name = "专用费", width = 15)
     @ApiModelProperty(value = "专用费")
     private java.math.BigDecimal zyf;
+
+    /**事务费预算*/
+    @Excel(name = "事务费预算", width = 15)
+    @ApiModelProperty(value = "事务费预算")
+    private java.math.BigDecimal swys;
     /**事务费*/
     @Excel(name = "事务费", width = 15)
     @ApiModelProperty(value = "事务费")
     private java.math.BigDecimal swf;
+
+    /**外协预算*/
+    @Excel(name = "外协预算", width = 15)
+    @ApiModelProperty(value = "外协预算")
+    private java.math.BigDecimal wxys;
     /**外协费*/
     @Excel(name = "外协费", width = 15)
     @ApiModelProperty(value = "外协费")
     private java.math.BigDecimal wxf;
+
+    /**间接费预算*/
+    @Excel(name = "间接费预算", width = 15)
+    @ApiModelProperty(value = "间接费预算")
+    private java.math.BigDecimal jjys;
+
     /**筛选费*/
     @Excel(name = "筛选费", width = 15)
     @ApiModelProperty(value = "筛选费")
@@ -228,14 +254,8 @@ public class ProjectCostHuijiListVO implements Serializable {
     @ApiModelProperty(value = "子集")
     private List<ProjectCostVO> children;
 
-    /**材料预算*/
-    @Excel(name = "材料预算", width = 15)
-    @ApiModelProperty(value = "材料预算")
-    private java.math.BigDecimal clys;
-    /**外协预算*/
-    @Excel(name = "外协预算", width = 15)
-    @ApiModelProperty(value = "外协预算")
-    private java.math.BigDecimal wxys;
+
+
 
     /** 汇集状态 */
     @Excel(name = "状态", width = 15)
@@ -247,20 +267,6 @@ public class ProjectCostHuijiListVO implements Serializable {
     private java.lang.String xhzzrname;
 
 
-    /**专用费预算*/
-    @Excel(name = "专用费预算", width = 15)
-    @ApiModelProperty(value = "专用费预算")
-    private java.math.BigDecimal zyys;
-    /**事务费预算*/
-    @Excel(name = "事务费预算", width = 15)
-    @ApiModelProperty(value = "事务费预算")
-    private java.math.BigDecimal swys;
-    /**间接费预算*/
-    @Excel(name = "间接费预算", width = 15)
-    @ApiModelProperty(value = "间接费预算")
-    private java.math.BigDecimal jjys;
-
-
     public String getXhzzrname() {
         return xhzzrname;
     }