yangzian 4 роки тому
батько
коміт
eee141bb6a

+ 16 - 31
jeecg-boot-finance/src/main/java/org/jeecg/ctop/finance/settlement/controller/SettlementFileController.java

@@ -8,6 +8,7 @@ import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.entity.SysUser;
 import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.ctop.finance.policy.service.impl.CwjsSaleAssistantInfoServiceImpl;
 import org.jeecg.ctop.finance.policy.utils.Check;
 import org.jeecg.ctop.finance.settlement.entity.pojo.CtopCwjsSettlementFileInfo;
 import org.jeecg.ctop.finance.settlement.entity.vo.SettlementFileParamsVo;
@@ -17,9 +18,7 @@ import org.jeecg.modules.system.service.ISysRoleService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 
 
 /**
@@ -38,6 +37,11 @@ public class SettlementFileController {
     @Autowired
     private IMaterialReportOverViewService materialReportOverViewService;
 
+
+    @Autowired
+    private CwjsSaleAssistantInfoServiceImpl cwjsSaleAssistantInfoService;
+
+
     @ApiOperation(value="结算单-结算单列表查询", notes="结算单-结算单列表查询")
     @GetMapping(value = "/getSettlementSheetList")
     public Result<PageInfo<Map<String,String>>> getSettlementSheetList(SettlementFileParamsVo paramsVo,
@@ -45,36 +49,17 @@ public class SettlementFileController {
                                                                        @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
         //查询用户角色
         String roleCode = sysRoleService.getRoleCodeByUserId(paramsVo.getCreateUserId());
-
+        List<String> userIds = new ArrayList<>();
         //管理员 || 财务
         if ("admin".equals(roleCode) || "finance".equals(roleCode)){
-            paramsVo.setOperatorUserIds(null);
-            paramsVo.setSaleUserIds(null);
-         //运营经理
-        }else if ("kuaishou_operations_director".equals(roleCode) || //快手运营总监
-                "toutiao_operations_manager".equals(roleCode) || // 头条运营经理
-                "externalOperationManager".equals(roleCode) || //外部运营经理
-                "genera_manager_of_operations".equals(roleCode) || //运营总经理
-                "toutiao_operations_director".equals(roleCode) || //头条运营总监
-                "kuaishou_operations_manager".equals(roleCode)) //快手运营经理
-         {
-            //查询所有包含自己的下级
-            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());
-            }});
+            paramsVo.setSaleUserIds(new HashSet<>(userIds));
+        }else {
+            //查询 销售及助理 关联对应的人员
+            userIds = cwjsSaleAssistantInfoService.getCwSaleAndAssistantListStr(paramsVo.getCreateUserId());
+            /*if (Check.isNull(userIds)){
+                return Result.errorMsg("该用户暂无结算数据。");
+            }*/
+            paramsVo.setSaleUserIds(new HashSet<>(userIds));
         }
        return settlementFileInfoService.getSettlementSheetList(paramsVo,pageNo,pageSize);
     }

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

@@ -142,21 +142,38 @@
             <if test="createUserName !=null and createUserName != ''">
                 AND operateUserId like concat ('%',#{createUserName},'%')
             </if>
-            <if test="operatorUserIds !=null and operatorUserIds != ''">
+            <!--
+            <if test="operatorUserIds !=null and operatorUserIds.size() >0 ">
                 AND operateUserId in
                 <foreach collection="operatorUserIds" item="item" separator=","
                          open="(" close=")">
                     #{item}
                 </foreach>
             </if>
-
-            <if test="saleUserIds !=null and saleUserIds != ''">
+            <if test="saleUserIds !=null and saleUserIds.size() > 0">
                 AND saleUserId in
                 <foreach collection="saleUserIds" item="item" separator=","
                          open="(" close=")">
                     #{item}
                 </foreach>
             </if>
+        -->
+            <if test="saleUserIds !=null and saleUserIds.size() >0 ">
+                AND (operateUserId in
+                <foreach collection="saleUserIds" item="item" separator=","
+                         open="(" close=")">
+                    #{item}
+                </foreach>
+                or saleUserId in
+                <foreach collection="saleUserIds" item="item" separator=","
+                         open="(" close=")">
+                    #{item}
+                </foreach>
+                )
+            </if>
+            <if test="createUserId !=null and createUserId != ''">
+                AND (operateUserId = #{createUserId} or saleUserId = #{createUserId})
+            </if>
         </where>
         ORDER BY t.update_time DESC,t.projectId
     </select>