Kaynağa Gözat

项目成本所领导,部门领导,普通员工分别查看该权限所属数据

lw 1 yıl önce
ebeveyn
işleme
3fda1b46b6

+ 2 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysDepartMapper.java

@@ -128,4 +128,6 @@ public interface SysDepartMapper extends BaseMapper<SysDepart> {
 	*   date: 2023/11/22
 	*/
 	public List<String> getXdbmDepartList();
+
+	List<String> getDepNameByIds(@Param("deptIds") String[] deptIds);
 }

+ 6 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysDepartMapper.xml

@@ -65,4 +65,10 @@
     <select id="getXdbmDepartList" resultMap="xdbmList">
         select depart_name from sys_depart where kpideparttype = '1'
     </select>
+    <select id="getDepNameByIds" resultType="java.lang.String">
+        select depart_name from sys_depart where id in
+        <foreach collection="deptIds" index="index" item="id" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </select>
 </mapper>

+ 5 - 1
module_kzks/src/main/java/org/jeecg/modules/costModelProductPrice/entity/KzksCostModelProductPrice.java

@@ -289,7 +289,11 @@ public class KzksCostModelProductPrice implements Serializable {
      */
     @Excel(name = "业务员/来自科研任务", width = 15)
     @ApiModelProperty(value = "业务员/来自科研任务")
-    private java.lang.String businessman;
+    private java.lang.String businessManName ;
+
+    @Excel(name = "主管设计师/来自科研任务", width = 15)
+    @ApiModelProperty(value = "主管设计师/来自科研任务")
+    private java.lang.String ywfzrname;
     /**
      * 设计工时
      */

+ 5 - 4
module_kzks/src/main/java/org/jeecg/modules/costModelProductPrice/mapper/xml/KzksCostModelProductPriceMapper.xml

@@ -11,7 +11,7 @@
              one_income,one_cost,one_profit,lre,lrl,EstimationCoat,contractfpe,TaskMoney,
              zcb,clf,zyf,swf,wxf,rldlf,gdzczj,gzjlwf,glf,zjcb,lbsy,workhour,zrbm,jycsid,jycs,
              hxzxid,hxzxname,tasktype,AuditPrice,iflag,Brief,reftaskno,pcCode,bcCode,blCode,
-             BusinessMan,sjgs,scgs,status
+        businessManName,sjgs,scgs,status,ywfzrname
              )
         VALUES
         <foreach collection="productPriceList" item="productPrice" index="index" separator=",">
@@ -57,10 +57,11 @@
              #{productPrice.pccode},
              #{productPrice.bccode},
              #{productPrice.blcode},
-             #{productPrice.businessman},
+             #{productPrice.businessManName},
              #{productPrice.sjgs},
              #{productPrice.scgs},
-             #{productPrice.status}
+             #{productPrice.status},
+             #{productPrice.ywfzrname}
             )
         </foreach>
     </insert>
@@ -81,4 +82,4 @@
             #{item}
         </foreach>
     </select>
-</mapper>
+</mapper>

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

@@ -4,10 +4,9 @@ import java.io.Serializable;
 import java.io.UnsupportedEncodingException;
 import java.util.Date;
 import java.math.BigDecimal;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableLogic;
+import java.util.List;
+
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Data;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -205,7 +204,8 @@ public class ProjectCost implements Serializable, Cloneable {
 	/**业务员/来自科研任务*/
 	@Excel(name = "业务员/来自科研任务", width = 15)
     @ApiModelProperty(value = "业务员/来自科研任务")
-    private java.lang.String businessman;
+    @TableField("businessManName")
+    private java.lang.String businessManName;
 	/**设计工时*/
 	@Excel(name = "设计工时", width = 15)
     @ApiModelProperty(value = "设计工时")
@@ -231,6 +231,12 @@ public class ProjectCost implements Serializable, Cloneable {
     @ApiModelProperty(value = "外协预算")
     private java.math.BigDecimal wxys;
 
+    @Excel(name = "主管设计师/来自科研任务", width = 15)
+    @ApiModelProperty(value = "主管设计师/来自科研任务")
+    private java.lang.String ywfzrname;
+
+    @TableField(exist = false)
+    private List<String> deptNames;
     @Override
     public ProjectCost clone() {
         try {

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

@@ -8,7 +8,7 @@
                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.reftaskno,c.pcCode,c.bcCode,c.blCode,c.businessManName,c.sjgs,c.scgs,c.status,c.proportion,c.ywfzrname,
                2 as ji
         from kzks_project_cost c
         left join mes_info_installationcost m on  m.taskno = #{taskno}
@@ -21,7 +21,7 @@
                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.reftaskno,c.pcCode,c.bcCode,c.blCode,c.businessManName,c.sjgs,c.scgs,c.status,c.proportion,c.ywfzrname,
                2 as ji
         from kzks_project_cost c
                  left join mes_info_installationcost m on m.taskno = c.taskno

+ 5 - 1
module_kzks/src/main/java/org/jeecg/modules/projectCost/vo/ProjectCostListVO.java

@@ -189,7 +189,7 @@ public class ProjectCostListVO  implements Serializable {
     /**业务员/来自科研任务*/
     @Excel(name = "业务员/来自科研任务", width = 15)
     @ApiModelProperty(value = "业务员/来自科研任务")
-    private java.lang.String businessman;
+    private java.lang.String businessManName;
     /**设计工时*/
     @Excel(name = "设计工时", width = 15)
     @ApiModelProperty(value = "设计工时")
@@ -214,6 +214,10 @@ public class ProjectCostListVO  implements Serializable {
     @Excel(name = "外协预算", width = 15)
     @ApiModelProperty(value = "外协预算")
     private java.math.BigDecimal wxys;
+
+    @Excel(name = "主管设计师/来自科研任务", width = 15)
+    @ApiModelProperty(value = "主管设计师/来自科研任务")
+    private java.lang.String ywfzrname;
     /**子集*/
     @ApiModelProperty(value = "子集")
     private List<ProjectCost> children;

+ 72 - 30
module_kzks/src/main/java/org/jeecg/modules/projectCostHuiji/controller/ProjectCostHuijiController.java

@@ -1,24 +1,25 @@
 package org.jeecg.modules.projectCostHuiji.controller;
 
-import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
 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.common.system.vo.LoginUser;
 import org.jeecg.common.util.Md5Util;
 import org.jeecg.common.util.RedisUtil;
+import org.jeecg.modules.Index.util.AuthMark;
 import org.jeecg.modules.Index.util.CacheKey;
+import org.jeecg.modules.Index.util.CommonMethod;
 import org.jeecg.modules.mesInfoInstallationcost.service.IMesInfoInstallationcostService;
 import org.jeecg.modules.projectCost.entity.ProjectCost;
 import org.jeecg.modules.projectCost.entity.ProjectCostSumVo;
@@ -34,6 +35,7 @@ import org.jeecg.modules.projectCostHuiji.vo.ProjectCostHuijiListVO;
 import org.jeecg.modules.projectCostHuiji.vo.ProjectCostHuijiSumVO;
 import org.jeecg.modules.projectCostYs.entity.KzksProjectCostYs;
 import org.jeecg.modules.projectCostYs.service.IKzksProjectCostYsService;
+import org.jeecg.modules.system.mapper.SysDepartMapper;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -43,7 +45,6 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
-import java.nio.charset.CharsetEncoder;
 import java.util.*;
 import java.util.concurrent.CompletableFuture;
 import java.util.stream.Collectors;
@@ -78,6 +79,11 @@ public class ProjectCostHuijiController extends JeecgController<ProjectCostHuiji
     @Autowired
     private ProjectCostHuijiConverCustomImpl projectCostHuijiConverCustom;
 
+    @Autowired
+    private CommonMethod commonMethod;
+
+    @Autowired
+    private SysDepartMapper sysDepartMapper;
 
     @ApiOperation(value = "111111111111")
     @GetMapping(value = "/children1")
@@ -101,7 +107,7 @@ public class ProjectCostHuijiController extends JeecgController<ProjectCostHuiji
 //        List<ProjectCostHuiji> list = projectCostHuijiService.compareListByIds(Arrays.asList(ids.split(",")));
 //        return list;
 //    }
-    public ProjectCostHuijiCompare compareList(String ids){
+    public ProjectCostHuijiCompare compareList(String ids) {
         return projectCostHuijiService.compareListByIds(Arrays.asList(ids.split(",")));
 
     }
@@ -122,29 +128,49 @@ public class ProjectCostHuijiController extends JeecgController<ProjectCostHuiji
                                         @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
                                         @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                         HttpServletRequest req) {
+        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String role = commonMethod.getRole(sysUser.getUsername());
+       // if (AuthMark.BOSS.equals(role)) role = AuthMark.DEPT_LEADER;
+        ProjectCostHuijiSumVO sumVO = new ProjectCostHuijiSumVO();
+
+        if (AuthMark.STAFF.equals(role)) {
+            projectCostHuiji.setYwfzrname(sysUser.getRealname());
+            projectCostHuiji.setZrbm(sysUser.getRealname());
+        }
+
+        ProjectCostHuiji huiji1 = new ProjectCostHuiji();
+
+        QueryWrapper<ProjectCostHuiji> queryWrapper = QueryGenerator.initQueryWrapper(huiji1, req.getParameterMap());
+        if (AuthMark.DEPT_LEADER.equals(role)) {
+            String[] deptIds = sysUser.getDepartIds().split(",");
+            List<String> departNames = sysDepartMapper.getDepNameByIds(deptIds);
+                queryWrapper.lambda().and(i -> {
+                    for (String departName : departNames) {
+                        i.or().like(StringUtils.isNotBlank(departName), ProjectCostHuiji::getJycs, departName)
+                                .or().like(StringUtils.isNotBlank(departName), ProjectCostHuiji::getZrbm, departName);
+                    }
+                });
+            projectCostHuiji.setDeptNames(departNames);
+        }
+
+        if (AuthMark.BOSS.equals(role)) {
+            queryWrapper.lambda().like(StringUtils.isNotBlank(projectCostHuiji.getJycs()), ProjectCostHuiji::getJycs, projectCostHuiji.getJycs())
+                    .or().like(StringUtils.isNotBlank(projectCostHuiji.getZrbm()), ProjectCostHuiji::getZrbm, projectCostHuiji.getZrbm());
+        }
+
+        queryWrapper.lambda().like(StringUtils.isNotBlank(projectCostHuiji.getTaskno()), ProjectCostHuiji::getTaskno, projectCostHuiji.getTaskno());
+        queryWrapper.lambda().like(StringUtils.isNotBlank(projectCostHuiji.getTaskname()), ProjectCostHuiji::getTaskname, projectCostHuiji.getTaskname());
 
 
         String superQueryParams = Arrays.toString(req.getParameterMap().get("superQueryParams"));
         String superQueryParamsMd5 = Md5Util.md5Encode(superQueryParams, "utf-8");
         String ObjectMd5 = Md5Util.md5Encode(projectCostHuiji.toString(), "utf-8");
-
         ProjectCostHuijiSumVO cacheResultOne = (ProjectCostHuijiSumVO) redisUtil.get(CacheKey.PROJECT_COST_HUIJI + ":" + ObjectMd5 + ":" + superQueryParamsMd5 + ":" + pageNo + "&" + pageSize);
         ProjectCostSumVo cacheResultTwo = (ProjectCostSumVo) redisUtil.get(CacheKey.PROJECT_COST + ":" + ObjectMd5 + ":" + superQueryParamsMd5 + ":" + pageNo + "&" + pageSize);
         if (cacheResultOne != null) return Result.ok(cacheResultOne);
         if (cacheResultTwo != null) return Result.ok(cacheResultTwo);
 
 
-        ProjectCostHuijiSumVO sumVO = new ProjectCostHuijiSumVO();
-
-        ProjectCostHuiji huiji1 = new ProjectCostHuiji();
-
-        QueryWrapper<ProjectCostHuiji> queryWrapper = QueryGenerator.initQueryWrapper(huiji1, req.getParameterMap());
-        queryWrapper.lambda().like(StringUtils.isNotBlank(projectCostHuiji.getTaskno()), ProjectCostHuiji::getTaskno, projectCostHuiji.getTaskno());
-        queryWrapper.lambda().like(StringUtils.isNotBlank(projectCostHuiji.getTaskname()), ProjectCostHuiji::getTaskname, projectCostHuiji.getTaskname());
-        queryWrapper.lambda().like(StringUtils.isNotBlank(projectCostHuiji.getJycs()), ProjectCostHuiji::getJycs, projectCostHuiji.getJycs());
-        queryWrapper.lambda().like(StringUtils.isNotBlank(projectCostHuiji.getZrbm()), ProjectCostHuiji::getZrbm, projectCostHuiji.getZrbm());
-
-
         //高级查询参数不等于"null"并且有查询条件("[%5B%5D]" 高级查询无查询条件) 则返回true,获取满足查询条件的任务号
         //普通查询有查询条件则returnFlag()返回true,判断条件是ProjectCostHuiji对象有任意属性不为null
         boolean flag = !superQueryParams.equals("null") && !"[%5B%5D]".equals(superQueryParams) || returnFlag(projectCostHuiji);
@@ -255,12 +281,28 @@ public class ProjectCostHuijiController extends JeecgController<ProjectCostHuiji
         } else {
             ProjectCost projectCost = new ProjectCost();
             BeanUtils.copyProperties(projectCostHuiji, projectCost);
+
             ProjectCost projectCost1 = new ProjectCost();
+
             QueryWrapper<ProjectCost> query = QueryGenerator.initQueryWrapper(projectCost1, req.getParameterMap());
-            query.lambda().like(StringUtils.isNotBlank(projectCostHuiji.getTaskno()), ProjectCost::getTaskno, projectCostHuiji.getTaskno());
-            query.lambda().like(StringUtils.isNotBlank(projectCostHuiji.getTaskname()), ProjectCost::getTaskname, projectCostHuiji.getTaskname());
-            query.lambda().like(StringUtils.isNotBlank(projectCostHuiji.getJycs()), ProjectCost::getJycs, projectCostHuiji.getJycs());
-            query.lambda().like(StringUtils.isNotBlank(projectCostHuiji.getZrbm()), ProjectCost::getZrbm, projectCostHuiji.getZrbm());
+            query.lambda().like(StringUtils.isNotBlank(projectCost.getTaskno()), ProjectCost::getTaskno, projectCost.getTaskno());
+            query.lambda().like(StringUtils.isNotBlank(projectCost.getTaskname()), ProjectCost::getTaskname, projectCost.getTaskname());
+
+            if (AuthMark.DEPT_LEADER.equals(role)) {
+                String[] deptIds = sysUser.getDepartIds().split(",");
+                List<String> departNames = sysDepartMapper.getDepNameByIds(deptIds);
+                query.lambda().and(i -> {
+                    for (String departName : departNames) {
+                        i.or().like(StringUtils.isNotBlank(departName), ProjectCost::getClys, departName)
+                                .or().like(StringUtils.isNotBlank(departName), ProjectCost::getZrbm, departName);
+                    }
+                });
+                projectCost.setDeptNames(departNames);
+            }
+
+            if (AuthMark.BOSS.equals(role)) {
+                query.lambda().like(StringUtils.isNotBlank(projectCost.getJycs()), ProjectCost::getJycs, projectCost.getJycs())
+                        .or().like(StringUtils.isNotBlank(projectCost.getZrbm()), ProjectCost::getZrbm, projectCost.getZrbm());       }
 
             //根据条件分页查询任务
             CompletableFuture<Page<ProjectCost>> pageCompletableFuture = CompletableFuture.supplyAsync(() -> {
@@ -387,7 +429,7 @@ public class ProjectCostHuijiController extends JeecgController<ProjectCostHuiji
         return x;
     }
 
-    private ProjectCostHuiji initProjectCostHuiji(){
+    private ProjectCostHuiji initProjectCostHuiji() {
         ProjectCostHuiji huiji = new ProjectCostHuiji();
         huiji.setContractfpe(BigDecimal.ZERO);
         huiji.setEstimationcoat(BigDecimal.ZERO);
@@ -408,7 +450,7 @@ public class ProjectCostHuijiController extends JeecgController<ProjectCostHuiji
         return huiji;
     }
 
-    private boolean returnFlag(ProjectCostHuiji projectCostHuiji){
+    private boolean returnFlag(ProjectCostHuiji projectCostHuiji) {
         JSONObject json = (JSONObject) JSONObject.toJSON(projectCostHuiji);
         for (Map.Entry<String, Object> entry : json.entrySet()) {
             if (entry.getValue() != null) return true;
@@ -519,19 +561,19 @@ public class ProjectCostHuijiController extends JeecgController<ProjectCostHuiji
     }
 
     /**
-    *   author: dzc
-    *   version: 1.0
-    *   des: 将选中的任务号加入到成本模型中 (将汇集表中的status改为4)
-    *   date: 2023/10/24
-    */
+     * author: dzc
+     * version: 1.0
+     * des: 将选中的任务号加入到成本模型中 (将汇集表中的status改为4)
+     * date: 2023/10/24
+     */
     @AutoLog(value = "项目成本汇集表-添加到成本模型中")
     @ApiOperation(value = "项目成本汇集表-添加到成本模型中", notes = "项目成本汇集表-添加到成本模型中")
     @PostMapping(value = "/insertIntoCostModel")
-    public Result<String> insertIntoCostModel(@RequestBody List<ProjectCostHuiji> projectCostHuijis){
+    public Result<String> insertIntoCostModel(@RequestBody List<ProjectCostHuiji> projectCostHuijis) {
         redisUtil.removeAll(CacheKey.PROJECT_COST_HUIJI);
         redisUtil.removeAll(CacheKey.PROJECT_COST);
         Boolean b = projectCostHuijiService.insertIntoCostModel(projectCostHuijis);
-        if ( b ){
+        if (b) {
             return Result.OK("加入成功!");
         }
         return Result.OK("加入失败!");

+ 4 - 2
module_kzks/src/main/java/org/jeecg/modules/projectCostHuiji/convert/impl/ProjectCostHuijiConverCustomImpl.java

@@ -66,9 +66,10 @@ public class ProjectCostHuijiConverCustomImpl implements ProjectCostHuijiCustomC
             projectCostHuijiListVO.setPccode( huiji.getPccode() );
             projectCostHuijiListVO.setBccode( huiji.getBccode() );
             projectCostHuijiListVO.setBlcode( huiji.getBlcode() );
-            projectCostHuijiListVO.setBusinessman( huiji.getBusinessman() );
+            projectCostHuijiListVO.setBusinessManName( huiji.getBusinessManName() );
             projectCostHuijiListVO.setSjgs( huiji.getSjgs() );
             projectCostHuijiListVO.setScgs( huiji.getScgs() );
+            projectCostHuijiListVO.setYwfzrname(huiji.getYwfzrname());
         }
         List<ProjectCostVO> list = children;
         if ( list != null ) {
@@ -130,12 +131,13 @@ public class ProjectCostHuijiConverCustomImpl implements ProjectCostHuijiCustomC
             projectCostHuijiListVO.setPccode( huiji.getPccode() );
             projectCostHuijiListVO.setBccode( huiji.getBccode() );
             projectCostHuijiListVO.setBlcode( huiji.getBlcode() );
-            projectCostHuijiListVO.setBusinessman( huiji.getBusinessman() );
+            projectCostHuijiListVO.setBusinessManName( huiji.getBusinessManName() );
             projectCostHuijiListVO.setSjgs( huiji.getSjgs() );
             projectCostHuijiListVO.setScgs( huiji.getScgs() );
             projectCostHuijiListVO.setWxys(wxysSum);
             projectCostHuijiListVO.setClys(clysSum);
             projectCostHuijiListVO.setHjstatus(huiji.getHjstatus());
+            projectCostHuijiListVO.setYwfzrname(huiji.getYwfzrname());
         }
         List<ProjectCostVO> list = children;
         if ( list != null ) {

+ 10 - 5
module_kzks/src/main/java/org/jeecg/modules/projectCostHuiji/entity/ProjectCostHuiji.java

@@ -4,10 +4,9 @@ import java.io.Serializable;
 import java.io.UnsupportedEncodingException;
 import java.util.Date;
 import java.math.BigDecimal;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableLogic;
+import java.util.List;
+
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Data;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import org.apache.commons.lang3.ObjectUtils;
@@ -292,7 +291,8 @@ public class ProjectCostHuiji implements Serializable, Cloneable {
      */
     @Excel(name = "业务员/来自科研任务", width = 15)
     @ApiModelProperty(value = "业务员/来自科研任务")
-    private java.lang.String businessman;
+    @TableField("businessManName")
+    private java.lang.String businessManName;
     /**
      * 设计工时
      */
@@ -312,7 +312,12 @@ public class ProjectCostHuiji implements Serializable, Cloneable {
     @ApiModelProperty(value = "状态")
     private java.lang.String hjstatus;
 
+    @Excel(name = "主管设计师/来自科研任务", width = 15)
+    @ApiModelProperty(value = "主管设计师/来自科研任务")
+    private java.lang.String ywfzrname;
 
+    @TableField(exist = false)
+    private List<String> deptNames;
     @Override
     public ProjectCostHuiji clone() {
         try {

+ 24 - 11
module_kzks/src/main/java/org/jeecg/modules/projectCostHuiji/mapper/xml/ProjectCostHuijiMapper.xml

@@ -12,22 +12,34 @@
 
     <!-- 计算项目成本汇集的总和 -->
     <select id="costHJSum" resultType="org.jeecg.modules.projectCostHuiji.entity.ProjectCostHuiji">
-        select sum(yzsl) as yzsl, sum(lre) as lre,sum(lre)/sum(COALESCE(contractfpe,EstimationCoat)) as lrl,sum(EstimationCoat) as EstimationCoat,sum(contractfpe) as contractfpe,
-               sum(TaskMoney) as TaskMoney,sum(zcb) as zcb,sum(clf) as clf,sum(zyf) as zyf,sum(swf) as swf,
-               sum(wxf) as wxf,sum(rldlf) as rldlf,sum(gdzczj) as gdzczj,sum(gzjlwf) as gzjlwf,sum(glf) as glf,
-               sum(zjcb) as zjcb,sum(lbsy ) as lbsy,sum(workhour) as workhour,sum(sjgs) as sjgs,
-               sum(scgs) as scgs
+        select sum(yzsl) as yzsl, sum(lre) as lre,sum(lre)/sum(COALESCE(contractfpe,EstimationCoat)) as
+        lrl,sum(EstimationCoat) as EstimationCoat,sum(contractfpe) as contractfpe,
+        sum(TaskMoney) as TaskMoney,sum(zcb) as zcb,sum(clf) as clf,sum(zyf) as zyf,sum(swf) as swf,
+        sum(wxf) as wxf,sum(rldlf) as rldlf,sum(gdzczj) as gdzczj,sum(gzjlwf) as gzjlwf,sum(glf) as glf,
+        sum(zjcb) as zjcb,sum(lbsy ) as lbsy,sum(workhour) as workhour,sum(sjgs) as sjgs,
+        sum(scgs) as scgs
         from kzks_project_cost_huiji
         <where>
             <if test="taskno != null  and taskno != ''">and taskno = #{taskno}</if>
             <if test="processpercent != null  and processpercent != ''">and processPercent = #{processpercent}</if>
             <if test="jycs != null  and jycs != ''">and jycs like concat('%', #{jycs}, '%')</if>
             <if test="zrbm != null  and zrbm != ''">and zrbm like concat('%', #{zrbm}, '%')</if>
+            <if test="deptNames != null">and zrbm in
+                <foreach collection="deptNames" index="index" item="name" open="(" separator="," close=")">
+                    #{name}
+                </foreach>
+            </if>
+            <if test="deptNames != null">and jycs in
+                <foreach collection="deptNames" index="index" item="name" open="(" separator="," close=")">
+                    #{name}
+                </foreach>
+            </if>
         </where>
     </select>
     <select id="costHJSumByProjectCost"
             resultType="org.jeecg.modules.projectCostHuiji.entity.ProjectCostHuiji">
-        select sum(yzsl) as yzsl,sum(lre) as lre,sum(lre)/sum(COALESCE(contractfpe,EstimationCoat)) as lrl,sum(EstimationCoat) as EstimationCoat,sum(contractfpe) as contractfpe,
+        select sum(yzsl) as yzsl,sum(lre) as lre,sum(lre)/sum(COALESCE(contractfpe,EstimationCoat)) as
+        lrl,sum(EstimationCoat) as EstimationCoat,sum(contractfpe) as contractfpe,
         sum(TaskMoney) as TaskMoney,sum(zcb) as zcb,sum(clf) as clf,sum(zyf) as zyf,sum(swf) as swf,
         sum(wxf) as wxf,sum(rldlf) as rldlf,sum(gdzczj) as gdzczj,sum(gzjlwf) as gzjlwf,sum(glf) as glf,
         sum(zjcb) as zjcb,sum(lbsy ) as lbsy,sum(workhour) as workhour,sum(sjgs) as sjgs,
@@ -52,7 +64,8 @@
         ) a
     </select>
     <select id="costHJSumByTaskNoList" resultType="org.jeecg.modules.projectCostHuiji.entity.ProjectCostHuiji">
-        select sum(yzsl) as yzsl, sum(lre) as lre,sum(lre)/sum(COALESCE(contractfpe,EstimationCoat)) as lrl,sum(EstimationCoat) as EstimationCoat,sum(contractfpe) as contractfpe,
+        select sum(yzsl) as yzsl, sum(lre) as lre,sum(lre)/sum(COALESCE(contractfpe,EstimationCoat)) as
+        lrl,sum(EstimationCoat) as EstimationCoat,sum(contractfpe) as contractfpe,
         sum(TaskMoney) as TaskMoney,sum(zcb) as zcb,sum(clf) as clf,sum(zyf) as zyf,sum(swf) as swf,
         sum(wxf) as wxf,sum(rldlf) as rldlf,sum(gdzczj) as gdzczj,sum(gzjlwf) as gzjlwf,sum(glf) as glf,
         sum(zjcb) as zjcb,sum(lbsy ) as lbsy,sum(workhour) as workhour,sum(sjgs) as sjgs,
@@ -66,10 +79,10 @@
     <select id="costHJSumByProjectCostByTaskList"
             resultType="org.jeecg.modules.projectCostHuiji.entity.ProjectCostHuiji">
         select sum(lre) as lre,sum(EstimationCoat) as EstimationCoat,sum(contractfpe) as contractfpe,
-               sum(TaskMoney) as TaskMoney,sum(zcb) as zcb,sum(clf) as clf,sum(zyf) as zyf,sum(swf) as swf,
-               sum(wxf) as wxf,sum(rldlf) as rldlf,sum(gdzczj) as gdzczj,sum(gzjlwf) as gzjlwf,sum(glf) as glf,
-               sum(zjcb) as zjcb,sum(lbsy ) as lbsy,sum(workhour) as workhour,sum(sjgs) as sjgs,
-               sum(scgs) as scgs
+        sum(TaskMoney) as TaskMoney,sum(zcb) as zcb,sum(clf) as clf,sum(zyf) as zyf,sum(swf) as swf,
+        sum(wxf) as wxf,sum(rldlf) as rldlf,sum(gdzczj) as gdzczj,sum(gzjlwf) as gzjlwf,sum(glf) as glf,
+        sum(zjcb) as zjcb,sum(lbsy ) as lbsy,sum(workhour) as workhour,sum(sjgs) as sjgs,
+        sum(scgs) as scgs
         from kzks_project_cost
         where taskno in
         <foreach collection="taskList" index="index" item="taskno" open="(" separator="," close=")">

+ 3 - 2
module_kzks/src/main/java/org/jeecg/modules/projectCostHuiji/service/impl/ProjectCostHuijiServiceImpl.java

@@ -296,8 +296,9 @@ public class ProjectCostHuijiServiceImpl extends ServiceImpl<ProjectCostHuijiMap
             if (projectCostHuiji.getPccode() != null) productPrice.setPccode(projectCostHuiji.getPccode());
             if (projectCostHuiji.getBccode() != null) productPrice.setBccode(projectCostHuiji.getBccode());
             if (projectCostHuiji.getBlcode() != null) productPrice.setBlcode(projectCostHuiji.getBlcode());
-            if (projectCostHuiji.getBusinessman() != null)
-                productPrice.setBusinessman(projectCostHuiji.getBusinessman());
+            if (projectCostHuiji.getBusinessManName() != null)
+                productPrice.setBusinessManName(projectCostHuiji.getBusinessManName());
+            if (projectCostHuiji.getYwfzrname() != null) productPrice.setYwfzrname(projectCostHuiji.getYwfzrname());
             productPrice.setSjgs(oneSjgs);
             productPrice.setScgs(oneScgs);
             String status = Optional.ofNullable(projectCostHuiji.getHjstatus()).orElse("0");

+ 17 - 5
module_kzks/src/main/java/org/jeecg/modules/projectCostHuiji/vo/ProjectCostHuijiListVO.java

@@ -201,7 +201,11 @@ public class ProjectCostHuijiListVO implements Serializable {
     /**业务员/来自科研任务*/
     @Excel(name = "业务员/来自科研任务", width = 15)
     @ApiModelProperty(value = "业务员/来自科研任务")
-    private java.lang.String businessman;
+    private java.lang.String businessManName;
+
+    @Excel(name = "主管设计师/来自科研任务", width = 15)
+    @ApiModelProperty(value = "主管设计师/来自科研任务")
+    private java.lang.String ywfzrname;
     /**设计工时*/
     @Excel(name = "设计工时", width = 15)
     @ApiModelProperty(value = "设计工时")
@@ -579,12 +583,20 @@ public class ProjectCostHuijiListVO implements Serializable {
         this.blcode = blcode;
     }
 
-    public String getBusinessman() {
-        return businessman;
+    public String getBusinessManName() {
+        return businessManName;
+    }
+
+    public void setBusinessManName(String businessManName) {
+        this.businessManName = businessManName;
+    }
+
+    public String getYwfzrname() {
+        return ywfzrname;
     }
 
-    public void setBusinessman(String businessman) {
-        this.businessman = businessman;
+    public void setYwfzrname(String ywfzrname) {
+        this.ywfzrname = ywfzrname;
     }
 
     public BigDecimal getSjgs() {