Преглед изворни кода

财务结算-列表添加用户角色

yangzian пре 4 година
родитељ
комит
bf6466d44b

+ 27 - 1
jeecg-boot-finance/src/main/java/org/jeecg/ctop/finance/settlement/controller/SettlementController.java

@@ -3,14 +3,20 @@ package org.jeecg.ctop.finance.settlement.controller;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.ctop.finance.policy.utils.Check;
 import org.jeecg.ctop.finance.settlement.entity.pojo.ctopCwjsSettlementInfo;
 
 
 import org.jeecg.ctop.finance.settlement.service.ISettlementInfoService;
+import org.jeecg.modules.ctop.service.IMaterialReportOverViewService;
+import org.jeecg.modules.system.service.ISysRoleService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.util.HashSet;
+import java.util.Set;
+
 
 /**
  * Administrator
@@ -25,12 +31,32 @@ public class SettlementController {
     @Autowired
     private ISettlementInfoService settlementInfoService;
 
+    @Autowired
+    private ISysRoleService sysRoleService;
+
+
+    @Autowired
+    private IMaterialReportOverViewService materialReportOverViewService;
+
     @ApiOperation(value="财务结算-账户列表查询", notes="财务结算-账户列表查询")
     @GetMapping(value = "/getSettlementList")
     public Result getSettlementList(ctopCwjsSettlementInfo settlementInfo,
                                                                       @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                                                       @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
-        //TODO 根据用户角色查询列表
+        //查询用户角色
+        String roleCode = sysRoleService.getRoleCodeByUserId(settlementInfo.getCreateUserId());
+        //普通用户
+        settlementInfo.setUserIds(new HashSet<String>(){{
+            add(settlementInfo.getCreateUserId());
+        }});
+        if ("admin".equals(roleCode)){
+            settlementInfo.setUserIds(null);
+            //销售总监
+        }else if ("saleDirector".equals(roleCode)){
+            //查询所有包含自己的下级
+            Set<String> subordinates= materialReportOverViewService.recursiveQuerySubordinate(settlementInfo.getCreateUserId());
+            settlementInfo.setUserIds(subordinates);
+        }
        return settlementInfoService.getSettlementList(settlementInfo,pageNo,pageSize);
     }
 

+ 40 - 2
jeecg-boot-finance/src/main/java/org/jeecg/ctop/finance/settlement/controller/SettlementFileController.java

@@ -10,12 +10,16 @@ import org.jeecg.ctop.finance.settlement.entity.pojo.ctopCwjsSettlementInfo;
 import org.jeecg.ctop.finance.settlement.entity.vo.SettlementFileParamsVo;
 import org.jeecg.ctop.finance.settlement.service.ISettlementFileInfoService;
 import org.jeecg.ctop.finance.settlement.service.ISettlementInfoService;
+import org.jeecg.modules.ctop.service.IMaterialReportOverViewService;
+import org.jeecg.modules.system.service.ISysRoleService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 
 /**
@@ -31,17 +35,51 @@ public class SettlementFileController {
     @Autowired
     private ISettlementFileInfoService settlementFileInfoService;
 
+
+    @Autowired
+    private ISysRoleService sysRoleService;
+
+
+    @Autowired
+    private IMaterialReportOverViewService materialReportOverViewService;
+
+
+
     @ApiOperation(value="结算单-结算单列表查询", notes="结算单-结算单列表查询")
     @GetMapping(value = "/getSettlementSheetList")
     public Result<PageInfo<Map<String,String>>> getSettlementSheetList(SettlementFileParamsVo paramsVo,
                                                                        @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                                                        @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
-        //TODO 根据用户角色查询列表
+        //查询用户角色
+        String roleCode = sysRoleService.getRoleCodeByUserId(paramsVo.getCreateUserId());
+
+        if ("admin".equals(roleCode)){
+            paramsVo.setOperatorUserIds(null);
+            paramsVo.setSaleUserIds(null);
+         //运营经理   touTiaoOperationManager-头条运营经理   kuaishouOperationManager-快手运营经理
+        }else if (roleCode.contains("OperationManager")){
+            //查询所有包含自己的下级
+            Set<String> operatorUserIds= materialReportOverViewService.recursiveQuerySubordinate(paramsVo.getCreateUserId());
+            paramsVo.setOperatorUserIds(operatorUserIds);
+        //运营助理 || 运营专员
+        }else if("operationAssistant".equals(roleCode) || "operator".equals(roleCode)){
+            paramsVo.setOperatorUserIds(new HashSet<String>(){{
+                add(paramsVo.getCreateUserId());
+            }});
+        //销售总监 || 销售支持经理
+        }else if("saleDirector".equals(roleCode) || "salesSupportManager".equals(roleCode)){
+            Set<String> saleUserIds= materialReportOverViewService.recursiveQuerySubordinate(paramsVo.getCreateUserId());
+            paramsVo.setSaleUserIds(saleUserIds);
+            //外部销售 || 销售AM || 销售助理 || 销售
+        }else if ("externalSale".equals(roleCode) || "saleAm".equals(roleCode) || "saleAssistant".equals(roleCode) || "sale".equals(roleCode)){
+            paramsVo.setSaleUserIds(new HashSet<String>(){{
+                add(paramsVo.getCreateUserId());
+            }});
+        }
        return settlementFileInfoService.getSettlementSheetList(paramsVo,pageNo,pageSize);
     }
 
 
-
     @ApiOperation(value="结算单-删除", notes="结算单-删除")
     @GetMapping(value = "/deleteSettlementFile")
     public Result deleteSettlementFile(SettlementFileParamsVo paramsVo) {

+ 4 - 0
jeecg-boot-finance/src/main/java/org/jeecg/ctop/finance/settlement/entity/pojo/ctopCwjsSettlementInfo.java

@@ -8,6 +8,7 @@ import org.jeecg.common.aspect.annotation.Dict;
 
 import java.io.Serializable;
 import java.util.Date;
+import java.util.Set;
 
 /**
  * 财务结算 账户信息
@@ -103,4 +104,7 @@ public class ctopCwjsSettlementInfo implements Serializable {
      */
     private Date updateTime;
 
+
+    private Set<String> userIds;
+
 }

+ 5 - 0
jeecg-boot-finance/src/main/java/org/jeecg/ctop/finance/settlement/entity/vo/SettlementFileParamsVo.java

@@ -7,6 +7,7 @@ import lombok.Data;
 
 import java.io.Serializable;
 import java.util.Date;
+import java.util.Set;
 
 /**
  * 财务结算 结算单信息
@@ -75,4 +76,8 @@ public class SettlementFileParamsVo implements Serializable {
     private String endTime;
 
 
+
+    private Set<String> operatorUserIds;
+    private Set<String> saleUserIds;
+
 }

+ 18 - 3
jeecg-boot-finance/src/main/java/org/jeecg/ctop/finance/settlement/mapper/xml/SettlementFileInfoMapper.xml

@@ -56,9 +56,6 @@
             <if test="createUserId !=null and createUserId != ''">
                 AND saleUserId = #{createUserId}
             </if>
-
-
-
             <if test="mediaId !=null and mediaId != ''">
                 AND media_id = #{mediaId}
             </if>
@@ -68,6 +65,24 @@
             <if test="endTime !=null and endTime != ''">
                 AND imageCreateTIme &lt;= #{endTime}
             </if>
+
+            <if test="operatorUserIds !=null and operatorUserIds != ''">
+                AND operateUserId in
+                <foreach collection="operatorUserIds" item="item" separator=","
+                         open="(" close=")">
+                    #{item}
+                </foreach>
+            </if>
+
+            <if test="saleUserIds !=null and saleUserIds != ''">
+                AND saleUserId in
+                <foreach collection="saleUserIds" item="item" separator=","
+                         open="(" close=")">
+                    #{item}
+                </foreach>
+            </if>
+
+
         </where>
 
         GROUP BY t.advertiserId,t.productId,t.uploadYears,t.operateUserId

+ 7 - 0
jeecg-boot-finance/src/main/java/org/jeecg/ctop/finance/settlement/mapper/xml/SettlementInfoMapper.xml

@@ -53,6 +53,13 @@
             <if test="endTime !=null and endTime != ''">
                 AND create_time &lt;= #{endTime}
             </if>
+            <if test="userIds !=null and userIds != ''">
+                AND create_user_id in
+              <foreach collection="userIds" item="item" separator=","
+                       open="(" close=")">
+                    #{item}
+                </foreach>
+            </if>
         </where>
     </select>