Jelajahi Sumber

财务管理中费用校验管理中待审核订单中添加判断如果是出单员将结算的费用结算给该出单员所管理的团队长,其他不做处理

hxl13994548489 2 tahun lalu
induk
melakukan
1052e18ca2

+ 8 - 1
src/main/java/com/ydtech/modules/admin/dao/SysUserMapper.java

@@ -28,7 +28,7 @@ import java.util.List;
 @Repository
 public interface SysUserMapper extends BaseMapper<SysUser> {
 
-    String userSql = "select t1.id as userId,t1.name as name,t1.sex as sex,t1.mobile as mobile,t1.`status` as `status`,t2.id as deptId,t2.`name` as deptName,sd2.id as pDeptId,sd2.`name` as pDeptName,t4.id as roleId,t4.`name` as roleName " +
+    String userSql = "select t1.id as userId,t1.name as name,t1.mobile as mobile,t1.`status` as `status`,t2.id as deptId,t2.`name` as deptName,sd2.id as pDeptId,sd2.`name` as pDeptName,t4.id as roleId,t4.`name` as roleName " +
             "            from sys_user t1 " +
             "			 left join sys_dept t2 on t1.dept_id=t2.id " +
             "            left join sys_dept sd2 on sd2.id=t2.parent_id  " +
@@ -288,6 +288,13 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
      *  @Description:  通过角色id和部门id查询是否存在团队长
      */
     int getCountByDeptAndRoleId(@Param("user") SysUser sysUserVo);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/5/7 11:46
+     *  @Description: 查询该部门的渠道团队长
+     */
+    String findTDZUserIdByDeptId(@Param("deptId") String deptId);
 }
 
 

+ 7 - 0
src/main/java/com/ydtech/modules/admin/service/SysUserService.java

@@ -167,6 +167,13 @@ public interface SysUserService extends IService<SysUser> {
      *  @Description:  通过角色人id和部门查询是否存在团队长
      */
     int getCountByDeptAndRoleId(SysUser sysUserVo);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/5/7 11:43
+     *  @Description:  通过部门id查询团队长用户的id
+     */
+    String findTDZUserIdByDeptId(String deptId);
 }
 
 

+ 10 - 0
src/main/java/com/ydtech/modules/admin/service/impl/SysUserServiceImpl.java

@@ -1307,6 +1307,16 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     public int getCountByDeptAndRoleId(SysUser sysUserVo) {
         return sysUserMapper.getCountByDeptAndRoleId(sysUserVo);
     }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/5/7 11:44
+     *  @Description: 查询该部门的团队长
+     */
+    @Override
+    public String findTDZUserIdByDeptId(String deptId) {
+        return sysUserMapper.findTDZUserIdByDeptId(deptId);
+    }
 }
 
 

+ 17 - 1
src/main/java/com/ydtech/modules/fnc/service/impl/InsFeeAuditServiceImpl.java

@@ -3,11 +3,13 @@ package com.ydtech.modules.fnc.service.impl;
 import cn.dev33.satoken.stp.StpUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ydtech.constants.enums.dict.ins.InsFeeAuditDistributionStatusEnum;
+import com.ydtech.exception.SystemException;
 import com.ydtech.modules.admin.model.SysDept;
 import com.ydtech.modules.admin.model.SysDeptAccount;
 import com.ydtech.modules.admin.model.SysDeptAccountHistory;
 import com.ydtech.modules.admin.model.SysUser;
 import com.ydtech.modules.admin.model.po.SysUserAccount;
+import com.ydtech.modules.admin.model.vo.SysUserBaseVO;
 import com.ydtech.modules.admin.service.*;
 import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.esm.service.EsmUserReferrerService;
@@ -151,8 +153,22 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
         if(StringUtils.isNotEmpty(order.getUserid())){
 //            用戶賬戶表
             SysUserAccount sysUserAccount = new SysUserAccount();
+            //add  by  hxl  2024-05-07  begin   ==========
+            //判断当前用户是否是出单员,如果是直接给团队长结算   角色id为19为出单员
+            String userId="";
+            SysUserBaseVO sysUserBaseVO = sysUserService.selectUserById(order.getUserid());
+            if("19".equals(sysUserBaseVO.getRoleId())){
+               //查找该机构的团队长
+                userId = sysUserService.findTDZUserIdByDeptId(sysUserBaseVO.getDeptId());
+                if(userId==null || "".equals(userId)){
+                    throw new SystemException("出单员"+sysUserBaseVO.getName()+"所在机构缺少团队长,请设置!!!");
+                }
 
-            sysUserAccount.setUserId(order.getUserid());
+            }else{
+                userId = order.getUserid();
+            }
+            sysUserAccount.setUserId(userId);
+            // add by  hxl   2024-05-07  end ==================
             if (ObjectUtils.isNotEmpty(insFeeOrderNew) ) {
 //                手续非佣金  =  交强监管费用 + 商业监管费用 + 非车监管费用
 //                非跟单费用  = 交强非跟单费用 + 商业非跟单费用 + 非车非跟单费用

+ 13 - 0
src/main/resources/mapper/modules/admin/SysUserMapper.xml

@@ -936,4 +936,17 @@
             su.dept_id =  #{user.deptId}
           AND t4.id = #{user.roleId}
     </select>
+
+
+    <select id="findTDZUserIdByDeptId" resultType="String">
+        SELECT
+            su.id
+        FROM
+            sys_user su
+                LEFT JOIN sys_user_role t3 ON su.id = t3.user_id
+                LEFT JOIN sys_role t4 ON t3.role_id = t4.id
+        WHERE
+            su.dept_id =  #{deptId}
+          AND t4.id = 21
+    </select>
 </mapper>