Переглянути джерело

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

lw 1 рік тому
батько
коміт
de34cd4076

+ 1 - 1
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,
-        businessManName,sjgs,scgs,status,ywfzrname
+        business_man_name,sjgs,scgs,status,ywfzrname
              )
         VALUES
         <foreach collection="productPriceList" item="productPrice" index="index" separator=",">

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

@@ -1,9 +1,6 @@
 package org.jeecg.modules.projectCost.entity;
 
 import java.io.Serializable;
-import java.io.UnsupportedEncodingException;
-import java.util.Date;
-import java.math.BigDecimal;
 import java.util.List;
 
 import com.baomidou.mybatisplus.annotation.*;
@@ -11,7 +8,6 @@ import lombok.Data;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import org.springframework.format.annotation.DateTimeFormat;
 import org.jeecgframework.poi.excel.annotation.Excel;
-import org.jeecg.common.aspect.annotation.Dict;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.EqualsAndHashCode;
@@ -204,7 +200,6 @@ public class ProjectCost implements Serializable, Cloneable {
 	/**业务员/来自科研任务*/
 	@Excel(name = "业务员/来自科研任务", width = 15)
     @ApiModelProperty(value = "业务员/来自科研任务")
-    @TableField("businessManName")
     private java.lang.String businessManName;
 	/**设计工时*/
 	@Excel(name = "设计工时", width = 15)

+ 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.businessManName,c.sjgs,c.scgs,c.status,c.proportion,c.ywfzrname,
+               c.reftaskno,c.pcCode,c.bcCode,c.blCode,c.business_man_name,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.businessManName,c.sjgs,c.scgs,c.status,c.proportion,c.ywfzrname,
+               c.reftaskno,c.pcCode,c.bcCode,c.blCode,c.business_man_name,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

+ 34 - 22
module_kzks/src/main/java/org/jeecg/modules/projectCostHuiji/controller/ProjectCostHuijiController.java

@@ -130,27 +130,26 @@ public class ProjectCostHuijiController extends JeecgController<ProjectCostHuiji
                                         HttpServletRequest req) {
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         String role = commonMethod.getRole(sysUser.getUsername());
-       // if (AuthMark.BOSS.equals(role)) role = AuthMark.DEPT_LEADER;
+        //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());
+        List<String> departNames = new ArrayList<>();
         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);
-                    }
-                });
+            departNames = sysDepartMapper.getDepNameByIds(deptIds);
+            List<String> finalDepartNames = departNames;
+            queryWrapper.lambda().and(i -> {
+                for (String departName : finalDepartNames) {
+                    i.or().like(StringUtils.isNotBlank(departName), ProjectCostHuiji::getJycs, departName)
+                            .or().like(StringUtils.isNotBlank(departName), ProjectCostHuiji::getZrbm, departName);
+                }
+            });
             projectCostHuiji.setDeptNames(departNames);
+            System.out.println(departNames.toString());
         }
 
         if (AuthMark.BOSS.equals(role)) {
@@ -160,13 +159,17 @@ public class ProjectCostHuijiController extends JeecgController<ProjectCostHuiji
 
         queryWrapper.lambda().like(StringUtils.isNotBlank(projectCostHuiji.getTaskno()), ProjectCostHuiji::getTaskno, projectCostHuiji.getTaskno());
         queryWrapper.lambda().like(StringUtils.isNotBlank(projectCostHuiji.getTaskname()), ProjectCostHuiji::getTaskname, projectCostHuiji.getTaskname());
-
-
+        if (AuthMark.STAFF.equals(role)) {
+            queryWrapper.lambda().and(i -> {
+                i.eq(ProjectCostHuiji::getBusinessManName, sysUser.getRealname()).or()
+                        .eq(ProjectCostHuiji::getYwfzrname, sysUser.getRealname());
+            });
+        }
         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);
+        ProjectCostHuijiSumVO cacheResultOne = (ProjectCostHuijiSumVO) redisUtil.get(CacheKey.PROJECT_COST_HUIJI + ":" + role + ":" + departNames + ":" + sysUser.getRealname() + ":" + ObjectMd5 + ":" + superQueryParamsMd5 + ":" + pageNo + "&" + pageSize);
+        ProjectCostSumVo cacheResultTwo = (ProjectCostSumVo) redisUtil.get(CacheKey.PROJECT_COST + ":" + role + ":" + departNames + ":" + sysUser.getRealname() + ":" + ObjectMd5 + ":" + superQueryParamsMd5 + ":" + pageNo + "&" + pageSize);
         if (cacheResultOne != null) return Result.ok(cacheResultOne);
         if (cacheResultTwo != null) return Result.ok(cacheResultTwo);
 
@@ -275,7 +278,7 @@ public class ProjectCostHuijiController extends JeecgController<ProjectCostHuiji
             sumVO.setProjectCostHuijiSum(resultHuiJiVo);
             sumVO.setPageList(pageList1);
 
-            redisUtil.set(CacheKey.PROJECT_COST_HUIJI + ":" + ObjectMd5 + ":" + superQueryParamsMd5 + ":" + pageNo + "&" + pageSize, sumVO, 1000L * 60 * 60 * 10);
+            redisUtil.set(CacheKey.PROJECT_COST_HUIJI + ":" + role + ":" + departNames + ":" + sysUser.getRealname() + ":" + ObjectMd5 + ":" + superQueryParamsMd5 + ":" + pageNo + "&" + pageSize, sumVO, 1000L * 60 * 60 * 10);
 
             return Result.OK(sumVO);
         } else {
@@ -290,9 +293,10 @@ public class ProjectCostHuijiController extends JeecgController<ProjectCostHuiji
 
             if (AuthMark.DEPT_LEADER.equals(role)) {
                 String[] deptIds = sysUser.getDepartIds().split(",");
-                List<String> departNames = sysDepartMapper.getDepNameByIds(deptIds);
+                departNames = sysDepartMapper.getDepNameByIds(deptIds);
+                List<String> finalDepartNames1 = departNames;
                 query.lambda().and(i -> {
-                    for (String departName : departNames) {
+                    for (String departName : finalDepartNames1) {
                         i.or().like(StringUtils.isNotBlank(departName), ProjectCost::getClys, departName)
                                 .or().like(StringUtils.isNotBlank(departName), ProjectCost::getZrbm, departName);
                     }
@@ -302,9 +306,17 @@ public class ProjectCostHuijiController extends JeecgController<ProjectCostHuiji
 
             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());       }
+                        .or().like(StringUtils.isNotBlank(projectCost.getZrbm()), ProjectCost::getZrbm, projectCost.getZrbm());
+            }
+            if (AuthMark.STAFF.equals(role)) {
+                query.lambda().and(i -> {
+                    i.eq(ProjectCost::getBusinessManName, sysUser.getRealname()).or()
+                            .eq(ProjectCost::getYwfzrname, sysUser.getRealname());
+                });
+            }
+           // QueryWrapper<ProjectCost> query1 = query;
 
-            //根据条件分页查询任务
+                    //根据条件分页查询任务
             CompletableFuture<Page<ProjectCost>> pageCompletableFuture = CompletableFuture.supplyAsync(() -> {
                 Page<ProjectCost> page1 = new Page<ProjectCost>(pageNo, pageSize);
                 return costService.getCostListPage(page1, query);
@@ -406,7 +418,7 @@ public class ProjectCostHuijiController extends JeecgController<ProjectCostHuiji
             projectCostSumVo.setProjectCostHuijiSum(resultHuiJiVo);
             projectCostSumVo.setPageList(projectCostListVOPage);
 
-            redisUtil.set(CacheKey.PROJECT_COST + ":" + ObjectMd5 + ":" + superQueryParamsMd5 + ":" + pageNo + "&" + pageSize, projectCostSumVo, 1000L * 60 * 60 * 10);
+            redisUtil.set(CacheKey.PROJECT_COST + ":" + role + ":" + departNames + ":" + sysUser.getRealname() + ":" + ObjectMd5 + ":" + superQueryParamsMd5 + ":" + pageNo + "&" + pageSize, projectCostSumVo, 1000L * 60 * 60 * 10);
 
             return Result.OK(projectCostSumVo);
         }

+ 0 - 6
module_kzks/src/main/java/org/jeecg/modules/projectCostHuiji/entity/ProjectCostHuiji.java

@@ -1,18 +1,13 @@
 package org.jeecg.modules.projectCostHuiji.entity;
 
 import java.io.Serializable;
-import java.io.UnsupportedEncodingException;
-import java.util.Date;
-import java.math.BigDecimal;
 import java.util.List;
 
 import com.baomidou.mybatisplus.annotation.*;
 import lombok.Data;
 import com.fasterxml.jackson.annotation.JsonFormat;
-import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.format.annotation.DateTimeFormat;
 import org.jeecgframework.poi.excel.annotation.Excel;
-import org.jeecg.common.aspect.annotation.Dict;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.EqualsAndHashCode;
@@ -291,7 +286,6 @@ public class ProjectCostHuiji implements Serializable, Cloneable {
      */
     @Excel(name = "业务员/来自科研任务", width = 15)
     @ApiModelProperty(value = "业务员/来自科研任务")
-    @TableField("businessManName")
     private java.lang.String businessManName;
     /**
      * 设计工时