فهرست منبع

1.添加电销组员不能提现逻辑
2.添加电销组员钱给组长
3.添加机构设置负责人

hxl13994548489 1 سال پیش
والد
کامیت
9eb723b15c
28فایلهای تغییر یافته به همراه363 افزوده شده و 33 حذف شده
  1. 3 0
      src/main/java/com/ydtech/modules/admin/constants/SwitchConfig.java
  2. 26 1
      src/main/java/com/ydtech/modules/admin/controller/SysDeptController.java
  3. 1 0
      src/main/java/com/ydtech/modules/admin/controller/SysUserAccountController.java
  4. 8 1
      src/main/java/com/ydtech/modules/admin/dao/SysUserAccountMapper.java
  5. 15 0
      src/main/java/com/ydtech/modules/admin/dao/SysUserMapper.java
  6. 6 0
      src/main/java/com/ydtech/modules/admin/model/SysDept.java
  7. 9 0
      src/main/java/com/ydtech/modules/admin/model/dto/MyCollectInAdvanceQueryNewDto.java
  8. 4 0
      src/main/java/com/ydtech/modules/admin/model/dto/MyInsuranceQueryDto.java
  9. 5 0
      src/main/java/com/ydtech/modules/admin/model/dto/MyInsuranceTgQueryDto.java
  10. 5 0
      src/main/java/com/ydtech/modules/admin/model/dto/MySumAmountQueryDto.java
  11. 18 0
      src/main/java/com/ydtech/modules/admin/model/vo/DeptLeadVo.java
  12. 15 1
      src/main/java/com/ydtech/modules/admin/service/SysDeptService.java
  13. 7 1
      src/main/java/com/ydtech/modules/admin/service/SysSwitchConfigService.java
  14. 8 0
      src/main/java/com/ydtech/modules/admin/service/SysUserService.java
  15. 25 0
      src/main/java/com/ydtech/modules/admin/service/impl/SysDeptServiceImpl.java
  16. 10 0
      src/main/java/com/ydtech/modules/admin/service/impl/SysSwitchConfigServiceImpl.java
  17. 81 8
      src/main/java/com/ydtech/modules/admin/service/impl/SysUserAccountServiceImpl.java
  18. 3 0
      src/main/java/com/ydtech/modules/fnc/controller/CarSettleController.java
  19. 19 6
      src/main/java/com/ydtech/modules/fnc/service/impl/InsFeeAuditServiceImpl.java
  20. 1 1
      src/main/java/com/ydtech/modules/protocols/dao/InsFeeOrderNewMapper.java
  21. 1 1
      src/main/java/com/ydtech/modules/protocols/service/InsFeeOrderNewService.java
  22. 2 2
      src/main/java/com/ydtech/modules/protocols/service/impl/InsFeeOrderNewServiceImpl.java
  23. 2 1
      src/main/resources/mapper/modules/admin/SysDeptMapper.xml
  24. 8 1
      src/main/resources/mapper/modules/admin/SysUserAccountHistoryMapper.xml
  25. 5 0
      src/main/resources/mapper/modules/admin/SysUserAccountMapper.xml
  26. 14 0
      src/main/resources/mapper/modules/admin/SysUserMapper.xml
  27. 60 7
      src/main/resources/mapper/modules/ins/InsFeeOrderNewMapper.xml
  28. 2 2
      src/main/resources/mapper/modules/order/InsOrdersMapper.xml

+ 3 - 0
src/main/java/com/ydtech/modules/admin/constants/SwitchConfig.java

@@ -19,6 +19,9 @@ public enum SwitchConfig {
     FEE_01("feeViewAgent", "掌柜币显示(代理人启动)"),
     FEE_02("feeViewChannel", "掌柜币显示(渠道启动)"),
 
+    // add by  hxl  2024-09-26   电销组员提现限制
+    DX_01("dxtxFlag", "电销提现(组员提现)"),
+
     // 是否显示费用
     FDA_01("feeDisplayAgent", "费用显示(代理人启动)"),
     FDA_02("feeDisplayChannel", "费用显示(渠道启动)");

+ 26 - 1
src/main/java/com/ydtech/modules/admin/controller/SysDeptController.java

@@ -257,7 +257,32 @@ public class SysDeptController extends BaseController {
     public HttpResult<KztUserDeptTreeDto> getUserDeptTree(@RequestBody  SysDeptVo sysDeptVo) {
         return HttpResult.ok(sysDeptService.getUserDeptTree(sysDeptVo));
     }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/26 18:08
+     *  @Description: 查询机构下的负责人
+     */
+    @GetMapping(value = "/getLeadListDeptId")
+    public HttpResult getLeadListDeptId(String deptId) {
+        List<SysUser> userList= sysDeptService.getLeadListDeptId(deptId);
+        return HttpResult.ok(userList);
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/26 18:08
+     *  @Description: 查询机构下的负责人
+     */
+    @PostMapping(value = "/saveLeadId")
+    public HttpResult saveLeadId(@RequestBody  DeptLeadVo  deptLeadVo) {
+        try{
+            sysDeptService.saveLeadId(deptLeadVo);
+        }catch(Exception e){
+            return HttpResult.error("设置失败");
+        }
 
-
+        return HttpResult.ok();
+    }
 
 }

+ 1 - 0
src/main/java/com/ydtech/modules/admin/controller/SysUserAccountController.java

@@ -227,6 +227,7 @@ public class SysUserAccountController extends BaseController {
     @PostMapping("exportMyInsuranceByUserId")
     @ApiOperation("查询导出车险明细")
     public HttpResult<List<ExportExpenditureTypeDetalsDto>> exportMyInsuranceByUserId(@RequestBody MyInsuranceQueryDto myInsuranceQueryDto) {
+
         List<ExportExpenditureTypeDetalsDto> exportIncomeTypeDetalsList = sysUserAccountService.exportMyInsuranceByUserId(myInsuranceQueryDto);
         ExcelUtils<ExportExpenditureTypeDetalsDto> excelUtils = new ExcelUtils<>(ExportExpenditureTypeDetalsDto.class);
         String fileName = "车险明细" + System.currentTimeMillis() + ".xlsx";

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

@@ -8,6 +8,7 @@ import com.ydtech.modules.order.entity.InsOrders;
 import com.ydtech.modules.protocols.entity.po.InsFeeOrderNew;
 import org.apache.ibatis.annotations.Param;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -23,7 +24,13 @@ public interface SysUserAccountMapper extends BaseMapper<SysUserAccount> {
     List<SysUserAccount> queryPageOrder1(@Param("sysUserAccountVo") SysUserAccountVo sysUserAccountVo);
 
     SysUserAccount getById(String userId);
-
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/25 18:32
+     *  @Description: 查询组长下的组员信息账户总金额
+     */
+    BigDecimal getGroupById(@Param("userId") String userId);
 }
 
 

+ 15 - 0
src/main/java/com/ydtech/modules/admin/dao/SysUserMapper.java

@@ -494,6 +494,21 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
     List<Map<String,String>> selectHxUserList(@Param("sysUserDto") SysUserDto sysUserDto);
 
     Integer cancelManagementPersonnel(@Param("managementDto") UpdateManagementDto managementDto);
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/25 19:25
+     *  @Description: 通过用户id查询电销组下的用户id
+     */
+    List<String> getGroupByUserId(@Param("userId") String userId);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/26 18:11
+     *  @Description:  通过机构id查询后线用户数据
+     */
+    List<SysUser> getLeadListDeptId(@Param("deptId") String deptId);
 }
 
 

+ 6 - 0
src/main/java/com/ydtech/modules/admin/model/SysDept.java

@@ -163,6 +163,12 @@ public class SysDept implements Serializable {
     // 机构绑定标识
     @TableField(exist = false)
     private boolean flag;
+    /***
+     * 添加负责人id
+     */
+    @TableField(value = "leader_id")
+    @ApiModelProperty(value = "负责人id")
+    private String leaderId;
 
 }
 

+ 9 - 0
src/main/java/com/ydtech/modules/admin/model/dto/MyCollectInAdvanceQueryNewDto.java

@@ -4,6 +4,9 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  *  @version
  *  @author: hxl
@@ -76,4 +79,10 @@ public class MyCollectInAdvanceQueryNewDto {
     @ApiModelProperty(value = "签单结束时间")
     private String signEndDate;
 
+
+    /***
+     * 电销组长数据
+     */
+    private Boolean  groupFlag=false;
+
 }

+ 4 - 0
src/main/java/com/ydtech/modules/admin/model/dto/MyInsuranceQueryDto.java

@@ -115,4 +115,8 @@ public class MyInsuranceQueryDto {
 
     @ApiModelProperty(value = "商业保单号")
     private String syapplyno;
+
+    @ApiModelProperty(value = "电销组长")
+    private boolean groupFlag;
+
 }

+ 5 - 0
src/main/java/com/ydtech/modules/admin/model/dto/MyInsuranceTgQueryDto.java

@@ -62,4 +62,9 @@ public class MyInsuranceTgQueryDto {
      */
     @ApiModelProperty(value = "代理人姓名")
     private String userDLName;
+
+    /***
+     *  电销组长判断
+     */
+    private Boolean groupFlag =false;
 }

+ 5 - 0
src/main/java/com/ydtech/modules/admin/model/dto/MySumAmountQueryDto.java

@@ -40,4 +40,9 @@ public class MySumAmountQueryDto {
 
     private String deptId;
 
+    /***
+     *  电销组长判断
+     */
+    private Boolean groupFlag =false;
+
 }

+ 18 - 0
src/main/java/com/ydtech/modules/admin/model/vo/DeptLeadVo.java

@@ -0,0 +1,18 @@
+package com.ydtech.modules.admin.model.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+@ApiModel("设置机构负责人")
+public class DeptLeadVo implements Serializable {
+
+    @ApiModelProperty(value = "机构id")
+    private String deptId;
+
+    @ApiModelProperty(value = "负责人id")
+    private String leadId;
+}

+ 15 - 1
src/main/java/com/ydtech/modules/admin/service/SysDeptService.java

@@ -7,6 +7,7 @@ import com.ydtech.core.page.PageRequest;
 import com.ydtech.core.page.PageResult;
 import com.ydtech.modules.admin.model.SysArea;
 import com.ydtech.modules.admin.model.SysDept;
+import com.ydtech.modules.admin.model.SysUser;
 import com.ydtech.modules.admin.model.vo.*;
 import org.apache.ibatis.annotations.Param;
 
@@ -131,7 +132,20 @@ public interface SysDeptService extends IService<SysDept> {
     List<SysDeptTreeVo> getFiveLevelDept(SysDeptVo sysDeptVo);
 
     KztUserDeptTreeDto getUserDeptTree(SysDeptVo sysDeptVo);
-
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/26 18:10
+     *  @Description: 通过部门查询下级的后线人员
+     */
+    List<SysUser> getLeadListDeptId(String deptId);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/26 18:30
+     *  @Description:  设置领导人
+     */
+    void saveLeadId(DeptLeadVo deptLeadVo);
 }
 
 

+ 7 - 1
src/main/java/com/ydtech/modules/admin/service/SysSwitchConfigService.java

@@ -74,5 +74,11 @@ public interface SysSwitchConfigService extends BaseIService<SysSwitchConfig> {
      * @return
      */
     boolean feeDisplaySwitches();
-
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/26 15:09
+     *  @Description:  电销组员开关
+     */
+    boolean dxtxDisplaySwitches();
 }

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

@@ -268,6 +268,14 @@ public interface SysUserService extends BaseIService<SysUser> {
     List<Map<String,String>>  selectHxUserList(SysUserDto sysUserDto);
 
     HttpResult cancelManagementPersonnel(UpdateManagementDto managementDto);
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/25 19:23
+     *  @Description: 查询用户管理的电销组员
+     */
+    List<String> getGroupByUserId(String userId);
 }
 
 

+ 25 - 0
src/main/java/com/ydtech/modules/admin/service/impl/SysDeptServiceImpl.java

@@ -892,6 +892,31 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept>
             user.setChildren(children);
         }
     }
+
+    @Override
+    public List<SysUser> getLeadListDeptId(String deptId) {
+        return sysUserMapper.getLeadListDeptId(deptId);
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/26 18:31
+     *  @Description: 设置领导人
+     */
+    @Override
+    public void saveLeadId(DeptLeadVo deptLeadVo) {
+        SysDept dept = baseMapper.selectById(deptLeadVo.getDeptId());
+        if(StringUtils.isBlank(deptLeadVo.getLeadId())){
+            dept.setLeaderId("");
+            dept.setLeadername("");
+            baseMapper.updateById(dept);
+        }else{
+            SysUser sysUser = sysUserMapper.selectById(deptLeadVo.getLeadId());
+            dept.setLeaderId(deptLeadVo.getLeadId());
+            dept.setLeadername(sysUser.getName());
+        }
+        baseMapper.updateById(dept);
+    }
 }
 
 

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

@@ -144,6 +144,16 @@ public class SysSwitchConfigServiceImpl extends ServiceImpl<SysSwitchConfigMappe
         }
         return false;
     }
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/26 15:05
+     *  @Description: 电销组员提现开关
+     */
+    public boolean dxtxDisplaySwitches() {
+      return isEnabled(SwitchConfig.DX_01.getCode());
+    }
 }
 
 

+ 81 - 8
src/main/java/com/ydtech/modules/admin/service/impl/SysUserAccountServiceImpl.java

@@ -90,6 +90,10 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
     @Autowired
     private FeeDisplayService feeDisplayService;
 
+    @Autowired
+    private SysSwitchConfigService sysSwitchConfigService;
+
+
     @Override
     @Transactional
     public void addOrUpdate(SysUserAccount sysUserAccount) {
@@ -256,7 +260,17 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
     @Transactional
     public HttpResult<Object> inert(SysUserAccountVo sysUserAccountVo) {
         String userId = BaseController.getUser().getId();
-
+        //add  by  hxl   2024-09-26 添加电销组员开关
+        boolean flag = sysSwitchConfigService.dxtxDisplaySwitches();
+        if(flag){
+            // add  by  hxl   2024-09-25 电销组员无法提现
+            SysUser user = sysUserService.getById(userId);
+            SysUserBaseVO sysUserBaseVO = sysUserService.selectUserById(userId);
+            SysDept dept = sysDeptService.getById(user.getDeptId());
+            if("3".equals(sysUserBaseVO.getRoleId()) && "3".equals(dept.getManagementSource())){
+                throw new SystemException("电销组员不能提现");
+            }
+        }
         // add  by hxl 2024-09-12  =============== 添加提现用户是渠道的话,只能提现100的整数金额
         BigDecimal amount = sysUserAccountVo.getAmount();
        // judgeAmount(amount, userId);   注释掉  2024-09-18
@@ -372,6 +386,17 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
     @Transactional
     public HttpResult withdraw(SysUserAccountVo sysUserAccountVo) {
         String userId = sysUserAccountVo.getUserId();
+        //add  by  hxl   2024-09-26 添加电销组员开关
+        boolean flag = sysSwitchConfigService.dxtxDisplaySwitches();
+        if(flag){
+            // add  by  hxl   2024-09-25 电销组员无法提现
+            SysUser user = sysUserService.getById(userId);
+            SysUserBaseVO sysUserBaseVO = sysUserService.selectUserById(userId);
+            SysDept dept = sysDeptService.getById(user.getDeptId());
+            if("3".equals(sysUserBaseVO.getRoleId()) && "3".equals(dept.getManagementSource())){
+                throw new SystemException("电销组员不能提现");
+            }
+        }
         // add  by hxl 2024-09-12  =============== 添加提现用户是渠道的话,只能提现100的整数金额
         BigDecimal amount = sysUserAccountVo.getAmount();
         // judgeAmount(amount, userId);   注释掉  2024-09-18
@@ -1221,6 +1246,13 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
         if (StringUtils.isNotBlank(myInsuranceQueryDto.getEndDate())) {
             myInsuranceQueryDto.setEndDate(myInsuranceQueryDto.getEndDate() + " 23:59:59");
         }
+        //如果是电销组长,统计电销组长和他组员的信息
+        SysUserBaseVO sysUserBaseVO = sysUserService.selectUserById(myInsuranceQueryDto.getUserId());
+        SysUser user = sysUserService.getById(myInsuranceQueryDto.getUserId());
+        SysDept dept = sysDeptService.getById(user.getDeptId());
+        if ("72".equals(sysUserBaseVO.getRoleId()) && "3".equals(dept.getManagementSource())) {
+            userList = sysUserService.getGroupByUserId(myInsuranceQueryDto.getUserId());
+        }
         Page<ExportExpenditureTypeDetalsDto> pageList = insFeeOrderNewService.findMyInsuranceByUserId(page, myInsuranceQueryDto, userList);
         boolean b = feeDisplayService.setCarInsurance(pageList.getRecords());
         return new MyIncomeAndExpensesNewPageVo<>(myInsuranceQueryDto.getPageNum(), myInsuranceQueryDto.getPageSize(), pageList.getTotal(),
@@ -1266,6 +1298,13 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
         if (StringUtils.isNotBlank(myInsuranceTgQueryDto.getEndDate())) {
             myInsuranceTgQueryDto.setEndDate(myInsuranceTgQueryDto.getEndDate() + " 23:59:59");
         }
+        //如果是电销组长,统计电销组长和他组员的信息
+        SysUserBaseVO sysUserBaseVO = sysUserService.selectUserById(myInsuranceTgQueryDto.getUserId());
+        SysUser user = sysUserService.getById(myInsuranceTgQueryDto.getUserId());
+        SysDept dept = sysDeptService.getById(user.getDeptId());
+        if ("72".equals(sysUserBaseVO.getRoleId()) && "3".equals(dept.getManagementSource())) {
+            myInsuranceTgQueryDto.setGroupFlag(true);
+        }
         Page<ExportExpenditureTypeDetalsTGDto> pageList = insFeeOrderNewService.findMyInsuranceTGByUserId(page, myInsuranceTgQueryDto);
         BasePageResult<ExportExpenditureTypeDetalsTGDto> result = new BasePageResult<>(myInsuranceTgQueryDto.getPageNum(), myInsuranceTgQueryDto.getPageSize(), pageList.getTotal(),
                 pageList.getPages()
@@ -1289,6 +1328,13 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
         if (StringUtils.isNotBlank(myInsuranceQueryDto.getEndDate())) {
             myInsuranceQueryDto.setEndDate(myInsuranceQueryDto.getEndDate() + " 23:59:59");
         }
+        //如果是电销组长,统计电销组长和他组员的信息
+        SysUserBaseVO sysUserBaseVO = sysUserService.selectUserById(myInsuranceQueryDto.getUserId());
+        SysUser user = sysUserService.getById(myInsuranceQueryDto.getUserId());
+        SysDept dept = sysDeptService.getById(user.getDeptId());
+        if ("72".equals(sysUserBaseVO.getRoleId()) && "3".equals(dept.getManagementSource())) {
+            userList = sysUserService.getGroupByUserId(myInsuranceQueryDto.getUserId());
+        }
         return insFeeOrderNewService.exportMyInsuranceByUserId(myInsuranceQueryDto, userList);
     }
 
@@ -1321,6 +1367,14 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
         //校验数据
         myCollectInAdvanceQueryNewDto = checkData(myCollectInAdvanceQueryNewDto);
         Page<ExportExpenditureTypeDetalsSZDto> page = new Page<>(myCollectInAdvanceQueryNewDto.getPageNum(), myCollectInAdvanceQueryNewDto.getPageSize());
+        //判断如果是电销组长查询组员数据
+        SysUserBaseVO sysUserBaseVO = sysUserService.selectUserById(myCollectInAdvanceQueryNewDto.getUserId());
+        SysUser user = sysUserService.getById(myCollectInAdvanceQueryNewDto.getUserId());
+        SysDept dept = sysDeptService.getById(user.getDeptId());
+        //如果是电销组长,将组员的数据算进来
+        if ("72".equals(sysUserBaseVO.getRoleId()) && "3".equals(dept.getManagementSource())) {
+            myCollectInAdvanceQueryNewDto.setGroupFlag(true);
+        }
         Page<ExportExpenditureTypeDetalsSZDto> orderVoPage = sysUserAccountHistoryService.findMyIncomeAndExpensesAmountNewByUserId(page, myCollectInAdvanceQueryNewDto);
         List<ExportExpenditureTypeDetalsSZDto> recordsNew = new ArrayList<>();
         //格式化数据
@@ -1432,6 +1486,15 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
     public List<ExportExpenditureTypeDetalsSZDto> exportMyIncomeAndExpensesNewByUserId(MyCollectInAdvanceQueryNewDto myCollectInAdvanceQueryNewDto) {
         //校验数据
         myCollectInAdvanceQueryNewDto = checkData(myCollectInAdvanceQueryNewDto);
+        String userId = myCollectInAdvanceQueryNewDto.getUserId();
+        //添加预收明细 如果是渠道团队长查询管理下级的出单员
+        SysUserBaseVO sysUserBaseVO = sysUserService.selectUserById(userId);
+        SysUser user = sysUserService.getById(userId);
+        SysDept dept = sysDeptService.getById(user.getDeptId());
+        //如果是电销组长,将组员的数据算进来
+        if ("72".equals(sysUserBaseVO.getRoleId()) && "3".equals(dept.getManagementSource())) {
+            myCollectInAdvanceQueryNewDto.setGroupFlag(true);
+        }
         //查询数据
         List<ExportExpenditureTypeDetalsSZDto> list = sysUserAccountHistoryService.exportMyIncomeAndExpensesAmountNewByUserId(myCollectInAdvanceQueryNewDto);
         List<ExportExpenditureTypeDetalsSZDto> recordsNew = new ArrayList<>();
@@ -1456,7 +1519,7 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
                     dto.setBusinessSegmentsType("退款");
                     //提现
                 } else if ("6".equals(dto.getTransactionType()) && "1".equals(dto.getIncomeAndExpensesType())) {
-                    dto.setIncomeAndExpensesType("收入");
+                    dto.setIncomeAndExpensesType("支出");
                     dto.setTransactionType("提现");
                     dto.setBusinessSegmentsType("车险");
                 }
@@ -1492,6 +1555,10 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
             deptId = dept.getId();
             mySumAmountQueryDto.setDeptId(deptId);
         }
+        //如果是电销组长,将组员的数据算进来
+        if ("72".equals(sysUserBaseVO.getRoleId()) && "3".equals(dept.getManagementSource())) {
+            mySumAmountQueryDto.setGroupFlag(true);
+        }
         //查询预收和实收的总金额
         mySumAmountQueryDto.setAuditstatus("0");
         BigDecimal ysAmount = insFeeOrderNewService.findMyAmountYSOrSSCXAmount(mySumAmountQueryDto);
@@ -1506,16 +1573,22 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
         BigDecimal ysAndSsTGAmount = ysTGAmount.add(ssTGAmount);
 
         // 已提现金额   查询历史表中的审核状态为3的数据
-        BigDecimal ysTXAmount = insFeeOrderNewService.findMyAmountYTXmount(mySumAmountQueryDto.getUserId(), "3");
+        BigDecimal ysTXAmount = insFeeOrderNewService.findMyAmountYTXmount(mySumAmountQueryDto.getUserId(), "3",mySumAmountQueryDto.getGroupFlag());
         // 可提现金额    查询账户的钱
         mySumAmountQueryDto.setAuditstatus("1");
         SysUserAccount sysUserAccountEntity = baseMapper.getById(mySumAmountQueryDto.getUserId());
-
-        BigDecimal txzTXAmount = insFeeOrderNewService.findMyAmountYTXmount(mySumAmountQueryDto.getUserId(), "2");
+        // 提现中
+        BigDecimal txzTXAmount = insFeeOrderNewService.findMyAmountYTXmount(mySumAmountQueryDto.getUserId(), "2",mySumAmountQueryDto.getGroupFlag());
+        // 可提现
         BigDecimal ssKTAmount = BigDecimal.ZERO;
-        if (sysUserAccountEntity != null) {
-            ssKTAmount = sysUserAccountEntity.getSumAmount() == null ? BigDecimal.ZERO : sysUserAccountEntity.getSumAmount();
-        }
+        //if(mySumAmountQueryDto.getGroupFlag()){
+        //    ssKTAmount = baseMapper.getGroupById(mySumAmountQueryDto.getUserId());
+        //}else {
+            if (sysUserAccountEntity != null) {
+                ssKTAmount = sysUserAccountEntity.getSumAmount() == null ? BigDecimal.ZERO : sysUserAccountEntity.getSumAmount();
+            }
+        //}
+        //总的 =  已提现金额+  可提现金额 +  提现中
         BigDecimal sumAmount = ysTXAmount.add(ssKTAmount).add(txzTXAmount);
 
         return new MySumAmountDto(ysAmount, ssAmount, ysAndSsAmount, ysTGAmount, ssTGAmount, ysAndSsTGAmount, ysTXAmount, ssKTAmount, sumAmount, txzTXAmount);

+ 3 - 0
src/main/java/com/ydtech/modules/fnc/controller/CarSettleController.java

@@ -133,11 +133,14 @@ public class CarSettleController extends BaseController {
 
                 //审核通过
                 if (auditOrderFeeVo.getAuditStatus().equals("1")) {
+
                     insFeeAuditService.feeAudit(orderNo, areaList.get(0).getId(), false, FeeAuditAuditstatus.PASSED.getCode());
                 } else if (auditOrderFeeVo.getAuditStatus().equals("0") || auditOrderFeeVo.getAuditStatus().equals("2")) {
                     insFeeAuditService.saveDefaultInsFeeAuditAndHistory(orderNo, areaList.get(0).getId(),
                             auditOrderFeeVo.getAuditStatus(), auditOrderFeeVo.getRejectinfo());
                 }
+            }catch (SystemException e) {
+                return HttpResult.error(e.getMessage());
             } catch (Exception e) {
                 e.printStackTrace();
                 return HttpResult.error("系统异常");

+ 19 - 6
src/main/java/com/ydtech/modules/fnc/service/impl/InsFeeAuditServiceImpl.java

@@ -139,7 +139,17 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
     @Override
     @Transactional
     public void feeAudit(String orderNo, String insOrderNo, boolean isAutoAudit, String auditStatus) {
-
+        // add by  2024-09-25  强制配置电销组长逻辑
+         InsOrders order = insOrdersMapper.selectById(orderNo);
+         SysUserBaseVO sysUserBaseVO = sysUserService.selectUserById(order.getUserid());
+         SysUser user = sysUserService.getById(order.getUserid());
+         SysDept dept = sysDeptService.getById(user.getDeptId());
+         if("3".equals(sysUserBaseVO.getRoleId()) && "3".equals(dept.getManagementSource())){
+            //查找电销组长,没有的话提示
+            if (StringUtils.isBlank(user.getManagerId())) {
+                throw new SystemException("电销组员未配置电销管理人");
+            }
+        }
         RLock locked = redisson.getLock("feeAudit." + insOrderNo);
         try {
             boolean isLock = locked.tryLock(60, 10, TimeUnit.SECONDS);
@@ -149,7 +159,7 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
             //添加费用审核表及轨迹信息
             InsFeeAudit insFeeAudit = saveInsFeeAuditAndHistory(orderNo, insOrderNo, isAutoAudit, auditStatus);
 
-            InsOrders order = insOrdersMapper.selectById(orderNo);
+            //InsOrders order = insOrdersMapper.selectById(orderNo);
             InsAreaCompany insAreaCompany = insAreaCompanyMapper.selectById(insFeeAudit.getInsOrderNo());
 
             //获取该订单的费用
@@ -168,9 +178,9 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
                 //add  by  hxl  2024-05-07  begin   ==========
                 //判断当前用户是否是出单员,如果是直接给团队长结算   角色id为19为出单员
                 String userId = "";
-                SysUserBaseVO sysUserBaseVO = sysUserService.selectUserById(order.getUserid());
-                SysUser user = sysUserService.getById(order.getUserid());
-                SysDept dept = sysDeptService.getById(user.getDeptId());
+               // SysUserBaseVO sysUserBaseVO = sysUserService.selectUserById(order.getUserid());
+               // SysUser user = sysUserService.getById(order.getUserid());
+               // SysDept dept = sysDeptService.getById(user.getDeptId());
                 //出单员是19 且是渠道的话,给渠道团队长
                 if ("19".equals(sysUserBaseVO.getRoleId()) && "1".equals(dept.getManagementSource())) {
                     //查找该出单员的的团队长
@@ -179,7 +189,10 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
                     //if (userId == null || "".equals(userId)) {
                     //    throw new SystemException("出单员" + sysUserBaseVO.getName() + "所在机构缺少团队长,请设置!!!");
                     //}
-
+                    //添加电销出单员出去单给电销组长结算
+                } else if("3".equals(sysUserBaseVO.getRoleId()) && "3".equals(dept.getManagementSource())){
+                    //查找电销组长
+                    userId = user.getManagerId();
                 } else {
                     userId = order.getUserid();
                 }

+ 1 - 1
src/main/java/com/ydtech/modules/protocols/dao/InsFeeOrderNewMapper.java

@@ -150,7 +150,7 @@ public interface InsFeeOrderNewMapper extends BaseMapper<InsFeeOrderNew> {
      *  @Date: 2024/6/30 19:59
      *  @Description:  查询可提现的金额
      */
-    BigDecimal findMyAmountYTXmount(@Param("userId") String userId,@Param("status") String status);
+    BigDecimal findMyAmountYTXmount(@Param("userId") String userId,@Param("status") String status,@Param("groupFlag")  boolean groupFlag);
     /**
      *  @version
      *  @author: hxl

+ 1 - 1
src/main/java/com/ydtech/modules/protocols/service/InsFeeOrderNewService.java

@@ -179,7 +179,7 @@ public interface InsFeeOrderNewService extends IService<InsFeeOrderNew> {
      * @Date: 2024/6/30 19:58
      * @Description: 查询用户已提现的金额
      */
-    BigDecimal findMyAmountYTXmount(String userId, String status);
+    BigDecimal findMyAmountYTXmount(String userId, String status,boolean groupFlag);
 
     /**
      * 获取费用结算导出表的数据

+ 2 - 2
src/main/java/com/ydtech/modules/protocols/service/impl/InsFeeOrderNewServiceImpl.java

@@ -193,8 +193,8 @@ public class InsFeeOrderNewServiceImpl extends ServiceImpl<InsFeeOrderNewMapper,
      *  @Description: 查询用户已提现的金额
      */
     @Override
-    public BigDecimal findMyAmountYTXmount(String userId,String status) {
-        return baseMapper.findMyAmountYTXmount(userId,status);
+    public BigDecimal findMyAmountYTXmount(String userId,String status,boolean groupFlag) {
+        return baseMapper.findMyAmountYTXmount(userId,status,groupFlag);
     }
 
     @Override

+ 2 - 1
src/main/resources/mapper/modules/admin/SysDeptMapper.xml

@@ -27,6 +27,7 @@
         <result property="area" column="area" jdbcType="VARCHAR"/>
         <result property="house" column="house" jdbcType="VARCHAR"/>
         <result property="deptType" column="dept_type" jdbcType="VARCHAR"/>
+        <result property="leaderId" column="leader_id" jdbcType="VARCHAR"/>
     </resultMap>
 
     <sql id="Base_Column_List">
@@ -37,7 +38,7 @@
         leadername,leaderphone,comattribute,
         isstop,dept_code,province,
         city,area,house,
-        dept_type,management_fee
+        dept_type,management_fee,leader_id
     </sql>
 
     <select id="getMaxId" resultType="java.lang.String">

+ 8 - 1
src/main/resources/mapper/modules/admin/SysUserAccountHistoryMapper.xml

@@ -240,7 +240,14 @@
         <if test="vo.incomeAndExpensesType !=null and vo.incomeAndExpensesType != '' and vo.incomeAndExpensesType != '0' ">
             AND  his.documentary=#{ vo.incomeAndExpensesType}
         </if>
-        and his.user_id = #{vo.userId}
+        <choose>
+            <when test="vo.groupFlag">
+                AND his.user_id in  ( select id from  sys_user  where manager_id = #{vo.userId}  or id = #{vo.userId}  )
+            </when>
+            <otherwise>
+                AND his.user_id =  #{vo.userId}
+            </otherwise>
+        </choose>
         <if test="vo.startDate !=null and vo.startDate != '' and vo.endDate !=null and vo.endDate != '' ">
             AND   date(his.create_time)  BETWEEN #{vo.startDate} AND #{vo.endDate}
         </if>

+ 5 - 0
src/main/resources/mapper/modules/admin/SysUserAccountMapper.xml

@@ -159,6 +159,11 @@
             </if>
         </where>
     </select>
+    <select id="getGroupById" resultType="java.math.BigDecimal">
+        select sum(sum_amount) from   sys_user_account WHERE user_id in (
+            select id from  sys_user  where manager_id = #{userId}   or id = #{userId}
+            )
+    </select>
 
 
 </mapper>

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

@@ -1769,4 +1769,18 @@
         </where>
     </select>
 
+    <select id="getGroupByUserId" resultType="java.lang.String">
+        select id from  sys_user  where (manager_id = #{userId}  or id = #{userId}  )
+    </select>
+
+    <select id="getLeadListDeptId" resultType="com.ydtech.modules.admin.model.SysUser">
+        SELECT
+            t1.id AS id,
+            t1.NAME AS NAME
+        FROM
+            sys_user t1
+        WHERE
+            t1.`status` = 1
+          AND t1.id NOT LIKE '%M%'
+    </select>
 </mapper>

+ 60 - 7
src/main/resources/mapper/modules/ins/InsFeeOrderNewMapper.xml

@@ -991,7 +991,14 @@
         LEFT JOIN ins_orders o ON o.orderno = iac.orderno
         WHERE
         iac.orderstatus = '3'
-        AND a.first_level_user_id = #{vo.userId}
+        <choose>
+            <when test="vo.groupFlag">
+                AND a.first_level_user_id  in  ( select id from  sys_user  where manager_id = #{vo.userId}  or id = #{vo.userId}  )
+            </when>
+            <otherwise>
+                AND a.first_level_user_id =  #{vo.userId}
+            </otherwise>
+        </choose>
         <if test="vo.subOrderNo!=null and  vo.subOrderNo!= ''">
             AND iac.id =  #{vo.subOrderNo}
         </if>
@@ -1033,7 +1040,15 @@
         WHERE
         iac.orderstatus = '3'
         AND iff.auditstatus = 0
-        AND a.three_level_user_id = #{vo.userId}
+        <choose>
+            <when test="vo.groupFlag">
+                AND a.three_level_user_id  in  ( select id from  sys_user  where manager_id = #{vo.userId}  or id = #{vo.userId}  )
+            </when>
+            <otherwise>
+                AND a.three_level_user_id = #{vo.userId}
+            </otherwise>
+        </choose>
+
         <if test="vo.subOrderNo!=null and  vo.subOrderNo!= ''">
             AND iac.id =  #{vo.subOrderNo}
         </if>
@@ -1074,7 +1089,14 @@
         LEFT JOIN ins_orders o ON o.orderno = iac.orderno
         WHERE
         iac.orderstatus = '3'
-        AND a.two_level_user_id = #{vo.userId}
+        <choose>
+            <when test="vo.groupFlag">
+               AND a.two_level_user_id  in  ( select id from  sys_user  where manager_id = #{vo.userId}  or id = #{vo.userId}  )
+            </when>
+            <otherwise>
+                AND a.two_level_user_id = #{vo.userId}
+            </otherwise>
+        </choose>
         <if test="vo.subOrderNo!=null and  vo.subOrderNo!= ''">
             AND iac.id =  #{vo.subOrderNo}
         </if>
@@ -1120,6 +1142,9 @@
             <when test="vo.deptId!=null and  vo.deptId!= '' ">
                 and  io.deptid  like "${vo.deptId}%"
             </when>
+            <when test="vo.groupFlag">
+                AND a.user_id in  ( select id from  sys_user  where manager_id = #{vo.userId}  or id = #{vo.userId}  )
+            </when>
             <otherwise>
                 AND a.user_id =  #{vo.userId}
             </otherwise>
@@ -1138,7 +1163,14 @@
                         LEFT JOIN ins_area_company iac ON iac.id = a.ins_order_no
                 WHERE
                     iac.orderstatus = '3'
-                  AND a.first_level_user_id =  #{vo.userId}
+                    <choose>
+                        <when test="vo.groupFlag">
+                            AND a.first_level_user_id  in  ( select id from  sys_user  where manager_id = #{vo.userId}  or id = #{vo.userId}  )
+                        </when>
+                        <otherwise>
+                            AND a.first_level_user_id =  #{vo.userId}
+                        </otherwise>
+                    </choose>
                   and iff.auditstatus = #{vo.auditstatus}
                   <if test="vo.startDate!=null and  vo.startDate!= '' and vo.endDate!=null and  vo.endDate!= ''">
                         AND iac.signing_time  BETWEEN #{vo.startDate} AND #{vo.endDate}
@@ -1152,7 +1184,14 @@
                         LEFT JOIN ins_area_company iac ON iac.id = a.ins_order_no
                 WHERE
                     iac.orderstatus = '3'
-                  AND a.three_level_user_id = #{vo.userId}
+                    <choose>
+                        <when test="vo.groupFlag">
+                            AND a.three_level_user_id  in  ( select id from  sys_user  where manager_id = #{vo.userId}  or id = #{vo.userId}  )
+                        </when>
+                        <otherwise>
+                            AND a.three_level_user_id = #{vo.userId}
+                        </otherwise>
+                    </choose>
                   and iff.auditstatus = #{vo.auditstatus}
                 <if test="vo.startDate!=null and  vo.startDate!= '' and vo.endDate!=null and  vo.endDate!= ''">
                     AND iac.signing_time  BETWEEN #{vo.startDate} AND #{vo.endDate}
@@ -1166,7 +1205,14 @@
                         LEFT JOIN ins_area_company iac ON iac.id = a.ins_order_no
                 WHERE
                     iac.orderstatus = '3'
-                  AND a.two_level_user_id = #{vo.userId}
+                    <choose>
+                        <when test="vo.groupFlag">
+                            AND  a.two_level_user_id in  ( select id from  sys_user  where manager_id = #{vo.userId}  or id = #{vo.userId}  )
+                        </when>
+                        <otherwise>
+                            AND a.two_level_user_id = #{vo.userId}
+                        </otherwise>
+                    </choose>
                   and iff.auditstatus = #{vo.auditstatus}
                  <if test="vo.startDate!=null and  vo.startDate!= '' and vo.endDate!=null and  vo.endDate!= ''">
                     AND iac.signing_time  BETWEEN #{vo.startDate} AND #{vo.endDate}
@@ -1180,7 +1226,14 @@
         FROM
             sys_amount_auditing au
         WHERE
-            au.user_id = #{userId}
+            <choose>
+                <when test="groupFlag">
+                    au.user_id in ( select id from  sys_user  where manager_id = #{userId}   or id = #{userId}  )
+                </when>
+                <otherwise>
+                    au.user_id = #{userId}
+                </otherwise>
+            </choose>
           AND auditing_status = #{status}
     </select>
 

+ 2 - 2
src/main/resources/mapper/modules/order/InsOrdersMapper.xml

@@ -331,7 +331,7 @@
                     </when>
                     <when test="isDxFlag">
                         <if test="orderQueryVo.userId != null and orderQueryVo.userId != '' ">
-                            and  ( exists ( select id from  sys_user  where manager_id = #{orderQueryVo.userId})  or io.userid = #{orderQueryVo.userId}  )
+                            and io.userid in ( select id from sys_user where manager_id = #{orderQueryVo.userId} or id = #{orderQueryVo.userId} )
                         </if>
                     </when>
                     <otherwise>
@@ -400,7 +400,7 @@
                 </when>
                 <when test="isDxFlag">
                     <if test="orderQueryVo.userId != null and orderQueryVo.userId != '' ">
-                        and  ( exists ( select id from  sys_user  where manager_id = #{orderQueryVo.userId})  or io.userid = #{orderQueryVo.userId}  )
+                        and io.userid in ( select id from sys_user where manager_id = #{orderQueryVo.userId} or id = #{orderQueryVo.userId} )
                     </if>
                 </when>
                 <otherwise>