فهرست منبع

Merge remote-tracking branch 'origin/test' into test

Qchen 2 سال پیش
والد
کامیت
6e9235a561
37فایلهای تغییر یافته به همراه1396 افزوده شده و 150 حذف شده
  1. 3 1
      src/main/java/com/ydtech/core/page/HttpResult.java
  2. 38 1
      src/main/java/com/ydtech/modules/admin/controller/SysAgencyLeaderController.java
  3. 25 2
      src/main/java/com/ydtech/modules/admin/controller/SysPartnerController.java
  4. 106 0
      src/main/java/com/ydtech/modules/admin/controller/SysUserLinkDxUserIdController.java
  5. 7 0
      src/main/java/com/ydtech/modules/admin/dao/SysAgencyLeaderMapper.java
  6. 29 0
      src/main/java/com/ydtech/modules/admin/dao/SysUserLinkDxUserIdMapper.java
  7. 30 0
      src/main/java/com/ydtech/modules/admin/model/dto/AgencyUserInsAreaDto.java
  8. 3 0
      src/main/java/com/ydtech/modules/admin/model/dto/TaskStatisticsDto.java
  9. 104 0
      src/main/java/com/ydtech/modules/admin/model/po/SysUserLinkDxUserId.java
  10. 88 0
      src/main/java/com/ydtech/modules/admin/model/po/Uuser.java
  11. 3 0
      src/main/java/com/ydtech/modules/admin/model/report/company/CompanyQutationCountDataQueryDto.java
  12. 10 0
      src/main/java/com/ydtech/modules/admin/model/report/company/OrdersDataDto.java
  13. 48 0
      src/main/java/com/ydtech/modules/admin/model/vo/AgencyUserInsAreaVo.java
  14. 35 0
      src/main/java/com/ydtech/modules/admin/model/vo/UserQueryVo.java
  15. 6 0
      src/main/java/com/ydtech/modules/admin/service/SysAgencyLeaderService.java
  16. 4 0
      src/main/java/com/ydtech/modules/admin/service/SysPartnerService.java
  17. 47 0
      src/main/java/com/ydtech/modules/admin/service/SysUserLinkDxUserIdService.java
  18. 22 0
      src/main/java/com/ydtech/modules/admin/service/impl/CompanyDataReportServiceImpl.java
  19. 208 78
      src/main/java/com/ydtech/modules/admin/service/impl/SysAgencyLeaderServiceImpl.java
  20. 165 27
      src/main/java/com/ydtech/modules/admin/service/impl/SysPartnerServiceImpl.java
  21. 202 0
      src/main/java/com/ydtech/modules/admin/service/impl/SysUserLinkDxUserIdServiceImpl.java
  22. 6 0
      src/main/java/com/ydtech/modules/admin/utils/DxApiConfigurationProperties.java
  23. 3 3
      src/main/java/com/ydtech/modules/customer/controller/CustomerController.java
  24. 32 0
      src/main/java/com/ydtech/modules/customer/entity/vo/ReturnMessageVo.java
  25. 3 2
      src/main/java/com/ydtech/modules/customer/service/CustomerService.java
  26. 6 8
      src/main/java/com/ydtech/modules/customer/service/impl/CustomerServiceImpl.java
  27. 1 1
      src/main/java/com/ydtech/modules/fee/dto/vo/RuleAttrMappingVo.java
  28. 11 0
      src/main/java/com/ydtech/modules/order/dao/InsAreaCompanyMapper.java
  29. 2 1
      src/main/java/com/ydtech/modules/order/entity/BasePageResult.java
  30. 3 1
      src/main/resources/application-pre.yml
  31. 2 1
      src/main/resources/application-prod.yml
  32. 2 1
      src/main/resources/application-test.yml
  33. 21 0
      src/main/resources/mapper/modules/admin/SysAgencyLeaderMapper.xml
  34. 49 0
      src/main/resources/mapper/modules/admin/SysUserLinkDxUserIdMapper.xml
  35. 1 0
      src/main/resources/mapper/modules/admin/SysUserLinkZgdUserIdMapper.xml
  36. 1 0
      src/main/resources/mapper/modules/admin/SysUserLinkZzbUserIdMapper.xml
  37. 70 23
      src/main/resources/mapper/modules/order/InsAreaCompanyMapper.xml

+ 3 - 1
src/main/java/com/ydtech/core/page/HttpResult.java

@@ -4,6 +4,8 @@ package com.ydtech.core.page;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
+import java.io.Serializable;
+
 /**
  * HTTP结果封装
  *
@@ -11,7 +13,7 @@ import io.swagger.annotations.ApiModelProperty;
  * @date Jun 29, 2019
  */
 @ApiModel("HTTP结果")
-public class HttpResult<T> {
+public class HttpResult<T> implements Serializable {
 
     @ApiModelProperty("状态码")
     private int code = 200;

+ 38 - 1
src/main/java/com/ydtech/modules/admin/controller/SysAgencyLeaderController.java

@@ -1,5 +1,6 @@
 package com.ydtech.modules.admin.controller;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.admin.model.SysUser;
 import com.ydtech.modules.admin.model.dto.*;
@@ -142,7 +143,7 @@ public class SysAgencyLeaderController extends BaseController {
     /**
      * 查询所有机构负责人的保费抽成明细
      */
-    @PostMapping("/queryExtractFeeAll")
+    @PostMapping("/queryExtractFeeList")
     @ApiOperation(value = "查询所有机构负责人的保费抽成明细")
     public HttpResult<BasePageResult<AgencyExtractFeeVo>> queryExtractFeeAll(@RequestBody SysAgencyLeaderPageDto sysAgencyLeaderPageDto) {
         if (sysAgencyLeaderPageDto.getPageNum() == 0) {
@@ -154,6 +155,18 @@ public class SysAgencyLeaderController extends BaseController {
         return HttpResult.ok("success", this.sysAgencyLeaderService.queryExtractFeeAll(sysAgencyLeaderPageDto));
     }
 
+    @PostMapping("/queryExtractFeeAll")
+    @ApiOperation(value = "优化查询所有机构负责人的保费抽成明细")
+    public HttpResult<BasePageResult<AgencyExtractFeeVo>> queryExtractFeeList(@RequestBody SysAgencyLeaderPageDto sysAgencyLeaderPageDto) {
+        if (sysAgencyLeaderPageDto.getPageNum() == 0) {
+            sysAgencyLeaderPageDto.setPageNum(1);
+        }
+        if (sysAgencyLeaderPageDto.getPageSize() == 0) {
+            sysAgencyLeaderPageDto.setPageSize(10);
+        }
+        return HttpResult.ok("success", this.sysAgencyLeaderService.queryExtractFeeList(sysAgencyLeaderPageDto));
+    }
+
 
     /**
      * 分页查询机构下所有团队的信息
@@ -198,5 +211,29 @@ public class SysAgencyLeaderController extends BaseController {
         return HttpResult.ok("success", this.sysAgencyLeaderService.queryAgencyLeader(getUserId()));
     }
 
+    /**
+     * 查询机构下的员工
+     * @param deptId
+     * @return
+     */
+    @GetMapping("/queryAgencyUser")
+    @ApiOperation(value = "查询机构下的员工")
+    public HttpResult<List<SysUser>> queryAgencyUser(@RequestParam("deptId") String deptId){
+
+        return HttpResult.ok("success", this.sysAgencyLeaderService.queryAgencyUser(deptId));
+    }
+
+    @PostMapping("/queryAgencyUserInsAreaPage")
+    @ApiOperation(value = "查询机构下的单个员工的子订单费用")
+    public HttpResult<IPage<AgencyUserInsAreaVo>> queryAgencyUserInsAreaPage(@RequestBody AgencyUserInsAreaDto agencyUserInsAreaDto){
+        if (agencyUserInsAreaDto.getPageNum() == 0) {
+            agencyUserInsAreaDto.setPageNum(1);
+        }
+        if (agencyUserInsAreaDto.getPageSize() == 0) {
+            agencyUserInsAreaDto.setPageSize(10);
+        }
+        return HttpResult.ok("success", this.sysAgencyLeaderService.queryAgencyUserInsAreaPage(agencyUserInsAreaDto));
+    }
+
 
 }

+ 25 - 2
src/main/java/com/ydtech/modules/admin/controller/SysPartnerController.java

@@ -1,11 +1,13 @@
 package com.ydtech.modules.admin.controller;
 
 import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.admin.model.SysAgencyLeader;
 import com.ydtech.modules.admin.model.SysPartner;
 import com.ydtech.modules.admin.model.dto.SysPartnerAPPPageDto;
 import com.ydtech.modules.admin.model.dto.SysPartnerDto;
 import com.ydtech.modules.admin.model.dto.SysPartnerPageDto;
 import com.ydtech.modules.admin.model.vo.AgencyExtractFeeVo;
+import com.ydtech.modules.admin.model.vo.SysAgencyLeaderVo;
 import com.ydtech.modules.admin.model.vo.SysPartnerAPPPageVo;
 import com.ydtech.modules.admin.model.vo.SysUserPartner;
 import com.ydtech.modules.admin.service.SysPartnerService;
@@ -115,7 +117,7 @@ public class SysPartnerController extends BaseController {
     /**
      * 所有合伙人的抽层费用
      */
-    @PostMapping("/queryPartnerByPage")
+    @PostMapping("/queryPartnerByPages")
     @ApiOperation(value = "所有合伙人的抽层费用信息")
     public HttpResult<BasePageResult<AgencyExtractFeeVo>> queryPartnerByPage(@RequestBody SysPartnerPageDto sysPartnerPageDto) {
         if (sysPartnerPageDto.getPageNum() == 0) {
@@ -126,13 +128,24 @@ public class SysPartnerController extends BaseController {
         }
         return HttpResult.ok(this.sysPartnerService.queryPartnerByPage(sysPartnerPageDto));
     }
+    @PostMapping("/queryPartnerByPage")
+    @ApiOperation(value = "优化所有合伙人的抽层费用信息")
+    public HttpResult<BasePageResult<AgencyExtractFeeVo>> queryPartnerByPages(@RequestBody SysPartnerPageDto sysPartnerPageDto) {
+        if (sysPartnerPageDto.getPageNum() == 0) {
+            sysPartnerPageDto.setPageNum(1);
+        }
+        if (sysPartnerPageDto.getPageSize() == 0) {
+            sysPartnerPageDto.setPageSize(10);
+        }
+        return HttpResult.ok(this.sysPartnerService.queryPartnerByPages(sysPartnerPageDto));
+    }
 
     /**
      * 合伙人查看直接合伙人、间接合伙人分页查询
      *
      */
     @PostMapping("/querySysPartnerAPPPage")
-    @ApiOperation(value = "合伙人查看直接合伙人、间接合伙人分页查询")
+    @ApiOperation(value = "APP合伙人查看直接合伙人、间接合伙人分页查询")
     public HttpResult<BasePageResult<SysPartnerAPPPageVo>> SysPartnerAPPPage(@RequestBody SysPartnerAPPPageDto sysPartnerAPPPageDto) {
         if (sysPartnerAPPPageDto.getPageNum() == 0) {
             sysPartnerAPPPageDto.setPageNum(1);
@@ -143,6 +156,16 @@ public class SysPartnerController extends BaseController {
         return HttpResult.ok(this.sysPartnerService.SysPartnerAPPPage(sysPartnerAPPPageDto));
     }
 
+    /**
+     * 根据合伙人id查询推荐的工作室管理员
+     */
+    @GetMapping("/queryAgencyLeaderById/{userId}")
+    @ApiOperation(value = "根据合伙人id查询推荐的工作室管理员")
+    public HttpResult<List<SysAgencyLeader>> queryAgencyLeaderById(@PathVariable("userId") String userId){
+
+        return HttpResult.ok("success", this.sysPartnerService.queryAgencyLeaderById(userId));
+    }
+
 
 
 

+ 106 - 0
src/main/java/com/ydtech/modules/admin/controller/SysUserLinkDxUserIdController.java

@@ -0,0 +1,106 @@
+package com.ydtech.modules.admin.controller;
+
+
+import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.admin.model.dto.SysUserLinkQueryUserDto;
+import com.ydtech.modules.admin.model.dto.SysUserLinkUserDto;
+import com.ydtech.modules.admin.model.dto.SysUserLinkZzbUserIdDto;
+import com.ydtech.modules.admin.model.po.SysUserZzbOrZgd;
+import com.ydtech.modules.admin.model.po.Uuser;
+import com.ydtech.modules.admin.model.vo.SysUserLinkZzbUserIdVo;
+import com.ydtech.modules.admin.service.SysUserLinkDxUserIdService;
+import com.ydtech.modules.admin.service.SysUserLinkZzbUserIdService;
+import com.ydtech.modules.base.controller.BaseController;
+import com.ydtech.modules.order.entity.BasePageResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/9/6 18:52
+ *  @Description: 电销用户关联
+ */
+@Api(tags = "系统关联用户表")
+@RequestMapping("/sysUserLinkDxUser")
+@RestController
+public class SysUserLinkDxUserIdController extends BaseController {
+
+
+    @Autowired
+    private SysUserLinkDxUserIdService sysUserLinkDxUserIdService;
+
+
+    @PostMapping("addOrUpdate")
+    @ApiOperation("添加修改")
+    public HttpResult<Object> addOrUpdate(@RequestBody SysUserLinkZzbUserIdVo sysUserLinkZzbUserIdVo) {
+        if(StringUtils.isBlank(sysUserLinkZzbUserIdVo.getUserId())) {
+            return HttpResult.error("用户工号不能为空");
+        }
+        if(StringUtils.isBlank(sysUserLinkZzbUserIdVo.getLinkUserId())) {
+            return HttpResult.error("关联系统用户id不能为空");
+        }
+        try{
+            sysUserLinkDxUserIdService.addOrUpdate(sysUserLinkZzbUserIdVo);
+            return HttpResult.ok("操作成功");
+        }catch (Exception e){
+            return HttpResult.error("操作失败"+e.getMessage());
+        }
+    }
+
+    @PostMapping("delete")
+    @ApiOperation("系统关联清空")
+    public HttpResult<Object> delete(@RequestBody SysUserLinkZzbUserIdVo sysUserLinkZzbUserIdVo) {
+        if(StringUtils.isBlank(sysUserLinkZzbUserIdVo.getUserId())) {
+            return HttpResult.error("用户工号不能为空");
+        }
+        try{
+            sysUserLinkDxUserIdService.deleteByUserId(sysUserLinkZzbUserIdVo);
+            return HttpResult.ok("删除成功");
+        }catch (Exception e){
+            return HttpResult.error("删除失败"+e.getMessage());
+        }
+    }
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/9 09:50
+     *  @Description: 查询掌中保的用户关联掌中宝的用户id
+     */
+    @PostMapping("queryUserPage")
+    @ApiOperation(value = "查询用户关联数据集合")
+    public HttpResult<BasePageResult<SysUserLinkUserDto>> queryUserPage(@RequestBody  SysUserLinkQueryUserDto sysUserLinkQueryUserDto) {
+
+        try{
+            BasePageResult<SysUserLinkUserDto> result = sysUserLinkDxUserIdService.queryUserPage(sysUserLinkQueryUserDto);
+            return HttpResult.ok("查询数据成功", result);
+        }catch (Exception e){
+            return HttpResult.error("查询错误"+e.getMessage());
+        }
+    }
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/9 09:50
+     *  @Description: 查询掌中保的用户
+     */
+    @PostMapping("queryUserDxPage")
+    @ApiOperation(value = "查询用户关联数据集合")
+    public HttpResult<BasePageResult<Uuser>> queryUserDxPage(@RequestBody  SysUserLinkQueryUserDto sysUserLinkQueryUserDto) {
+
+        try{
+            BasePageResult<Uuser> result = sysUserLinkDxUserIdService.queryUserDxPage(sysUserLinkQueryUserDto);
+            return HttpResult.ok("查询数据成功", result);
+        }catch (Exception e){
+            return HttpResult.error("查询错误"+e.getMessage());
+        }
+    }
+}

+ 7 - 0
src/main/java/com/ydtech/modules/admin/dao/SysAgencyLeaderMapper.java

@@ -5,10 +5,14 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ydtech.modules.admin.model.SysAgencyLeader;
 import com.ydtech.modules.admin.model.dto.DeptBalanceDto;
+import com.ydtech.modules.admin.model.dto.SysAgencyLeaderPageDto;
+import com.ydtech.modules.admin.model.vo.AgencyExtractFeeVo;
 import com.ydtech.modules.admin.model.vo.DeptBalanceVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.math.BigDecimal;
+import java.util.HashMap;
 import java.util.List;
 
 /**
@@ -28,5 +32,8 @@ public interface SysAgencyLeaderMapper extends BaseMapper<SysAgencyLeader> {
      *  @Description: 分页查询机构负责人
      */
     IPage<DeptBalanceDto> queryPage(Page page, @Param("vo") DeptBalanceVo deptBalanceVo);
+
+
+    HashMap<String, BigDecimal> getBigDecimalNum(@Param("deptId") String deptId, @Param("createTime")  String createTime,@Param("beginTime") String beginTime,@Param("endTime") String endTime);
 }
 

+ 29 - 0
src/main/java/com/ydtech/modules/admin/dao/SysUserLinkDxUserIdMapper.java

@@ -0,0 +1,29 @@
+package com.ydtech.modules.admin.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ydtech.modules.admin.model.dto.SysUserLinkQueryUserDto;
+import com.ydtech.modules.admin.model.dto.SysUserLinkUserDto;
+import com.ydtech.modules.admin.model.po.SysUserLinkDxUserId;
+import com.ydtech.modules.admin.model.po.SysUserZzbOrZgd;
+import org.apache.ibatis.annotations.Param;
+
+/**
+* @author Administrator
+* @description 针对表【sys_user(用户信息表)】的数据库操作Mapper
+* @createDate 2024-09-06 18:13:19
+* @Entity generator.domain.SysUser
+*/
+public interface SysUserLinkDxUserIdMapper extends BaseMapper<SysUserLinkDxUserId> {
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/10 14:39
+     *  @Description: 查询数据
+     */
+    Page<SysUserLinkUserDto> queryPage(@Param("page") Page<SysUserLinkUserDto> page, @Param("vo") SysUserLinkQueryUserDto sysUserLinkQueryUserDto);
+}
+
+
+
+

+ 30 - 0
src/main/java/com/ydtech/modules/admin/model/dto/AgencyUserInsAreaDto.java

@@ -0,0 +1,30 @@
+package com.ydtech.modules.admin.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+@Data
+@ApiModel(value = "个人分页查询子订单")
+public class AgencyUserInsAreaDto {
+
+    @ApiModelProperty(value = "页数")
+    private int pageNum;
+    @ApiModelProperty(value = "每页条数")
+    private int pageSize;
+
+    @ApiModelProperty(value = "机构ID")
+    private String deptId;
+
+    @ApiModelProperty(value = "人员ID")
+    private String userId;
+
+    @ApiModelProperty(value = "保费提层计算开始时间")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private String startTime;
+
+
+
+
+}

+ 3 - 0
src/main/java/com/ydtech/modules/admin/model/dto/TaskStatisticsDto.java

@@ -141,4 +141,7 @@ public class TaskStatisticsDto {
     @ApiModelProperty(value = "保险公司名称")
     private String inscompany;
 
+    @ApiModelProperty(value = "性别")
+    private String sex;
+
 }

+ 104 - 0
src/main/java/com/ydtech/modules/admin/model/po/SysUserLinkDxUserId.java

@@ -0,0 +1,104 @@
+package com.ydtech.modules.admin.model.po;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 掌柜用户关联客户管理掌中宝用户关联表
+ * @TableName sys_user_link_dx_user_id
+ */
+@TableName(value ="sys_user_link_dx_user_id")
+@Data
+public class SysUserLinkDxUserId implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 掌柜系统id
+     */
+    private String userId;
+
+    /**
+     * 电销系统用户id
+     */
+    private String dxUserId;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 创建人
+     */
+    private String createUserId;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        SysUserLinkDxUserId other = (SysUserLinkDxUserId) that;
+        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
+            && (this.getUserId() == null ? other.getUserId() == null : this.getUserId().equals(other.getUserId()))
+            && (this.getDxUserId() == null ? other.getDxUserId() == null : this.getDxUserId().equals(other.getDxUserId()))
+            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
+            && (this.getCreateUserId() == null ? other.getCreateUserId() == null : this.getCreateUserId().equals(other.getCreateUserId()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
+        result = prime * result + ((getUserId() == null) ? 0 : getUserId().hashCode());
+        result = prime * result + ((getDxUserId() == null) ? 0 : getDxUserId().hashCode());
+        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
+        result = prime * result + ((getCreateUserId() == null) ? 0 : getCreateUserId().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", userId=").append(userId);
+        sb.append(", dxUserId=").append(dxUserId);
+        sb.append(", createTime=").append(createTime);
+        sb.append(", createUserId=").append(createUserId);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+
+    public SysUserLinkDxUserId() {
+    }
+
+    public SysUserLinkDxUserId(Long id, String userId, String dxUserId, Date createTime, String createUserId) {
+        this.id = id;
+        this.userId = userId;
+        this.dxUserId = dxUserId;
+        this.createTime = createTime;
+        this.createUserId = createUserId;
+    }
+}

+ 88 - 0
src/main/java/com/ydtech/modules/admin/model/po/Uuser.java

@@ -0,0 +1,88 @@
+package com.ydtech.modules.admin.model.po;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@TableName(value ="u_user")
+@Data
+public class Uuser implements Serializable {
+
+    @TableField(value = "id")
+    private Integer id;
+
+    @TableField(value = "name")
+    private String  name;
+
+    @TableField(value = "upass")
+    private String  upass;
+
+    @TableField(value = "privid")
+    private Integer  privid;
+
+    @TableField(value = "deptid")
+    private Integer  deptid;
+
+    @TableField(value = "mobile")
+    private String  mobile;
+
+    @TableField(value = "email")
+    private String  email;
+
+    @TableField(value = "nickname")
+    private String  nickname;
+
+    @TableField(value = "sex")
+    private String  sex;
+
+    @TableField(value = "extension")
+    private Integer  extension;
+
+    @TableField(value = "openpop")
+    private Integer  openpop;
+
+    @TableField(value = "repace")
+    private Integer  repace;
+
+    @TableField(value = "status")
+    private Long  status;
+
+    @TableField(value = "hiddenphone")
+    private String  hiddenphone;
+
+    @TableField(value = "remarks")
+    private String  remarks;
+
+
+    @TableField(value = "ico")
+    private String  ico;
+
+    @TableField(value = "heart_time")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    private  Date   heartTime;
+
+    @TableField(value = "ec_name")
+    private String   ecName;
+
+    @TableField(value = "ec_num")
+    private String ecNum;
+
+    @TableField(value = "app_online")
+    private Integer   appOnline;
+
+    @TableField(value = "cfphone")
+    private String   cfphone;
+
+    @TableField(value = "tekon")
+    private String   tekon;
+
+
+    public Uuser() {
+    }
+
+
+}

+ 3 - 0
src/main/java/com/ydtech/modules/admin/model/report/company/CompanyQutationCountDataQueryDto.java

@@ -52,5 +52,8 @@ public class CompanyQutationCountDataQueryDto {
     @ApiModelProperty("员工工号")
     private String  userId;
 
+    @ApiModelProperty("部门id")
+    private String  deptId;
+
 
 }

+ 10 - 0
src/main/java/com/ydtech/modules/admin/model/report/company/OrdersDataDto.java

@@ -38,4 +38,14 @@ public class OrdersDataDto  implements Serializable {
 
     @ApiModelProperty("分组code")
     private String groupByCode;
+    /***
+     *  开始时间
+     */
+    @ApiModelProperty("开始时间")
+    private String  beginDate;
+    /***
+     *  结束时间
+     */
+    @ApiModelProperty("结束时间")
+    private String endDate;
 }

+ 48 - 0
src/main/java/com/ydtech/modules/admin/model/vo/AgencyUserInsAreaVo.java

@@ -0,0 +1,48 @@
+package com.ydtech.modules.admin.model.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@ApiModel(value = "个人分页查询子订单实体")
+public class AgencyUserInsAreaVo {
+
+    @ApiModelProperty(value = "员工id")
+    private String userId;
+
+    @ApiModelProperty(value = "员工姓名")
+    private String userName;
+
+    @ApiModelProperty(value = "车牌号")
+    private String licenseno;
+
+    @ApiModelProperty(value = "子订单id")
+    private String companyId;
+
+    @ApiModelProperty(value = "交强险费用")
+    private BigDecimal jqpremium;
+
+    @ApiModelProperty(value = "商业险费用")
+    private BigDecimal sypremium;
+
+    @ApiModelProperty(value = "驾意险费用")
+    private BigDecimal jypremium;
+
+    @ApiModelProperty(value = "总保费")
+    private BigDecimal sumpremium;
+
+    @ApiModelProperty(value = "订单状态(0 报价中 1 待核保 2 已核保待缴费 3已承保 4 核保退回)")
+    private String orderstatus;
+
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    @ApiModelProperty(value = "子订单创建时间")
+    private Date createtime;
+
+
+
+}

+ 35 - 0
src/main/java/com/ydtech/modules/admin/model/vo/UserQueryVo.java

@@ -0,0 +1,35 @@
+package com.ydtech.modules.admin.model.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/9/6 11:51
+ *  @Description:
+ */
+@Data
+public class UserQueryVo implements Serializable {
+
+    private   String  userName;
+
+
+    private  String mobile;
+
+
+    private int pageSize;
+
+    private int pageNum;
+
+    public UserQueryVo() {
+    }
+
+    public UserQueryVo(String userName, String mobile, int pageSize, int pageNum) {
+        this.userName = userName;
+        this.mobile = mobile;
+        this.pageSize = pageSize;
+        this.pageNum = pageNum;
+    }
+}

+ 6 - 0
src/main/java/com/ydtech/modules/admin/service/SysAgencyLeaderService.java

@@ -1,5 +1,6 @@
 package com.ydtech.modules.admin.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ydtech.modules.admin.model.SysAgencyLeader;
 import com.ydtech.modules.admin.model.SysDept;
@@ -43,6 +44,7 @@ public interface SysAgencyLeaderService extends IService<SysAgencyLeader> {
     AgencyExtractFee queryExtractFee(String userId);
 
     BasePageResult<AgencyExtractFeeVo> queryExtractFeeAll(SysAgencyLeaderPageDto sysAgencyLeaderPageDto);
+    BasePageResult<AgencyExtractFeeVo> queryExtractFeeList(SysAgencyLeaderPageDto sysAgencyLeaderPageDto);
 
     BasePageResult<TeamUserInfoVo> queryTeamUser(TeamUserInfoDto teamUserInfoDto);
 
@@ -54,4 +56,8 @@ public interface SysAgencyLeaderService extends IService<SysAgencyLeader> {
     List<SysUser> getLevelUser(String id);
 
     List<SysAgencyLeader> getByUserIdList(List<String> collect);
+
+    List<SysUser> queryAgencyUser(String deptId);
+
+    IPage<AgencyUserInsAreaVo> queryAgencyUserInsAreaPage(AgencyUserInsAreaDto agencyUserInsAreaDto);
 }

+ 4 - 0
src/main/java/com/ydtech/modules/admin/service/SysPartnerService.java

@@ -2,6 +2,7 @@ package com.ydtech.modules.admin.service;
 
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.modules.admin.model.SysAgencyLeader;
 import com.ydtech.modules.admin.model.SysPartner;
 import com.ydtech.modules.admin.model.SysUser;
 import com.ydtech.modules.admin.model.dto.SysPartnerAPPPageDto;
@@ -36,8 +37,11 @@ public interface SysPartnerService extends IService<SysPartner> {
     boolean deleteById(String id);
 
     BasePageResult<AgencyExtractFeeVo> queryPartnerByPage(SysPartnerPageDto sysPartnerPageDto);
+    BasePageResult<AgencyExtractFeeVo> queryPartnerByPages(SysPartnerPageDto sysPartnerPageDto);
 
     BasePageResult<SysPartnerAPPPageVo> SysPartnerAPPPage(SysPartnerAPPPageDto sysPartnerAPPPageDto);
 
     boolean edit(SysPartnerDto sysPartnerDto);
+
+    List<SysAgencyLeader> queryAgencyLeaderById(String userId);
 }

+ 47 - 0
src/main/java/com/ydtech/modules/admin/service/SysUserLinkDxUserIdService.java

@@ -0,0 +1,47 @@
+package com.ydtech.modules.admin.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.modules.admin.model.dto.SysUserLinkQueryUserDto;
+import com.ydtech.modules.admin.model.dto.SysUserLinkUserDto;
+import com.ydtech.modules.admin.model.dto.SysUserLinkZzbUserIdDto;
+import com.ydtech.modules.admin.model.po.SysUserLinkDxUserId;
+import com.ydtech.modules.admin.model.po.SysUserZzbOrZgd;
+import com.ydtech.modules.admin.model.po.Uuser;
+import com.ydtech.modules.admin.model.vo.SysUserLinkZzbUserIdVo;
+import com.ydtech.modules.order.entity.BasePageResult;
+
+/**
+* @author Administrator
+* @description 针对表【sys_user_link_zgb_user_id(掌柜用户关联客户管理掌中宝用户关联表)】的数据库操作Service
+* @createDate 2024-09-06 18:01:18
+*/
+public interface SysUserLinkDxUserIdService extends IService<SysUserLinkDxUserId> {
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/6 19:05
+     *  @Description: 添加或者修改系統用戶id
+     */
+    void addOrUpdate(SysUserLinkZzbUserIdVo sysUserLinkZzbUserIdVo);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/6 19:07
+     *  @Description: 清空
+     */
+    void deleteByUserId(SysUserLinkZzbUserIdVo sysUserLinkZzbUserIdVo);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/9 9:59
+     *  @Description: 通过用户数据相关数据查询用户集合
+     */
+    BasePageResult<SysUserLinkUserDto> queryUserPage(SysUserLinkQueryUserDto sysUserLinkQueryUserDto);
+     /**
+      *  @version
+      *  @author: hxl
+      *  @Date: 2024/9/10 14:35
+      *  @Description:  查询掌中保用户数据
+      */
+    BasePageResult<Uuser> queryUserDxPage(SysUserLinkQueryUserDto sysUserLinkQueryUserDto);
+}

+ 22 - 0
src/main/java/com/ydtech/modules/admin/service/impl/CompanyDataReportServiceImpl.java

@@ -138,6 +138,28 @@ public class CompanyDataReportServiceImpl implements CompanyDataReportService {
         ordersDataVo.setBeginDate(dateMapByType.get("startDate"));
         ordersDataVo.setEndDate(dateMapByType.get("endDate"));
         Page<OrdersDataDto> resultSubOrder = insAreaCompanyMapper.querOrdersDataPage(ordersDataVo, page);
+        List<OrdersDataDto> records = resultSubOrder.getRecords();
+        if(!records.isEmpty()){
+            OrdersDataDto ordersDataDto = new OrdersDataDto();
+            ordersDataDto.setBeginDate(dateMapByType.get("startDate"));
+            ordersDataDto.setEndDate(dateMapByType.get("endDate"));
+            for (OrdersDataDto record : records) {
+                String licenseno = record.getLicenseno();  //车牌号
+                String frameno = record.getFrameno();   //车牌号
+                ordersDataDto.setLicenseno(licenseno);
+                ordersDataDto.setFrameno(frameno);
+                OrdersDataDto dto = insAreaCompanyMapper.getSumBigOrderCount(ordersDataDto);
+                String orderNumber = dto.getOrderNumber();
+                BigDecimal num1 = new BigDecimal(orderNumber);
+                BigDecimal num2 = new BigDecimal(record.getOrderNumber());
+                BigDecimal result = num1.divide(num2, 2, RoundingMode.HALF_UP);
+                record.setCloseRate(result.toString());
+                record.setNamesimple(dto.getNamesimple());
+
+            }
+
+
+        }
         return new BasePageResult<>(ordersDataVo.getPageNum(), page.getSize(), resultSubOrder.getTotal(), page.getPages(),
                 resultSubOrder.getRecords());
     }

+ 208 - 78
src/main/java/com/ydtech/modules/admin/service/impl/SysAgencyLeaderServiceImpl.java

@@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollectionUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.aop.exception.DescribeException;
@@ -30,10 +31,8 @@ import org.springframework.transaction.annotation.Transactional;
 import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
+import java.text.SimpleDateFormat;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Slf4j
@@ -130,7 +129,7 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
                     sysRelationPerson1.setSuggestId(sysRelation.getSuggestId());
                     sysRelationPerson1.setSource(1);
                     sysRelationPerson1.setType(1);
-                    b =sysRelationPersonMapper.insert(sysRelationPerson1)>0;
+                    b = sysRelationPersonMapper.insert(sysRelationPerson1) > 0;
                 }
 
             }
@@ -162,12 +161,12 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
 
         //工作室管理员: 已是管理员不能再成为管理员,已是合伙人的也不能设置为管理员
         List<SysPartner> sysPartnerList = sysPartnerMapper.selectList(new LambdaQueryWrapper<SysPartner>().eq(SysPartner::getDelFlag, 1));
-        if (sysPartnerList.size()>0) {
+        if (sysPartnerList.size() > 0) {
             List<String> stringList = sysPartnerList.stream().map(SysPartner::getUserId).collect(Collectors.toList());
             sysUserList = sysUserList.stream().filter(SysUser -> !stringList.contains(SysUser.getId())).collect(Collectors.toList());
         }
         List<SysAgencyLeader> sysAgencyLeaders = sysAgencyLeaderMapper.selectList(new LambdaQueryWrapper<SysAgencyLeader>().eq(SysAgencyLeader::getDelFlag, 1));
-        if (sysAgencyLeaders.size()>0) {
+        if (sysAgencyLeaders.size() > 0) {
             List<String> stringList = sysAgencyLeaders.stream().map(SysAgencyLeader::getUserId).collect(Collectors.toList());
             sysUserList = sysUserList.stream().filter(SysUser -> !stringList.contains(SysUser.getId())).collect(Collectors.toList());
         }
@@ -217,7 +216,7 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
             sysAgencyLeader.setUpdateTime(new Date());
             sysAgencyLeader.setUpdateBy(loginId);
             sysAgencyLeaderMapper.updateById(sysAgencyLeader);
-            if (!sysAgencyLeaderDto.getSuggestId().isEmpty()){
+            if (!sysAgencyLeaderDto.getSuggestId().isEmpty()) {
                 //sysRelationPerson1为空是无上级
                 SysRelationPerson sysRelationPerson = new SysRelationPerson();
                 sysRelationPerson.setAgencyLeaderId(sysAgencyLeader.getUserId());
@@ -241,19 +240,19 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
                         sysRelationPerson1.setSuggestId(sysRelation.getSuggestId());
                         sysRelationPerson1.setSource(1);
                         sysRelationPerson1.setType(1);
-                        b = sysRelationPersonMapper.insert(sysRelationPerson1)>0;
+                        b = sysRelationPersonMapper.insert(sysRelationPerson1) > 0;
                     }
 
                 }
             }
 
 
-        }else {
+        } else {
             if (StringUtils.isNullOrEmpty(sysAgencyLeader1.getSuggestId()) && !sysAgencyLeaderDto.getSuggestId().isEmpty()) {
                 //之前推荐人为空。可以修改
                 SysAgencyLeader sysAgencyLeader = BeanUtil.copyProperties(sysAgencyLeaderDto, SysAgencyLeader.class);
                 sysAgencyLeader.setUpdateBy(loginId);
-                b = sysAgencyLeaderMapper.updateById(sysAgencyLeader)>0;
+                b = sysAgencyLeaderMapper.updateById(sysAgencyLeader) > 0;
 
                 //sysRelationPerson1为空是无上级
                 SysRelationPerson sysRelationPerson = new SysRelationPerson();
@@ -278,18 +277,18 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
                         sysRelationPerson1.setSuggestId(sysRelation.getSuggestId());
                         sysRelationPerson1.setSource(1);
                         sysRelationPerson1.setType(1);
-                        b = sysRelationPersonMapper.insert(sysRelationPerson1)>0;
+                        b = sysRelationPersonMapper.insert(sysRelationPerson1) > 0;
                     }
 
                 }
 
-            }else {
+            } else {
 
                 SysAgencyLeader sysAgencyLeader = new SysAgencyLeader();
                 sysAgencyLeader.setId(sysAgencyLeaderDto.getId());
                 sysAgencyLeader.setProportional(sysAgencyLeaderDto.getProportional());
                 sysAgencyLeader.setUpdateBy(loginId);
-                b = sysAgencyLeaderMapper.updateById(sysAgencyLeader)>0;
+                b = sysAgencyLeaderMapper.updateById(sysAgencyLeader) > 0;
             }
 
         }
@@ -320,7 +319,7 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
     @Override
     public List<SysAgencyLeaderVo> queryInfo(String id) {
         List<SysAgencyLeader> sysAgencyLeaders = sysAgencyLeaderMapper.selectList(new LambdaQueryWrapper<SysAgencyLeader>()
-                .eq(SysAgencyLeader::getDelFlag, 1).likeRight(StringUtils.isNotEmpty(id),SysAgencyLeader::getDeptId,id));
+                .eq(SysAgencyLeader::getDelFlag, 1).likeRight(StringUtils.isNotEmpty(id), SysAgencyLeader::getDeptId, id));
 
         return BeanUtil.copyToList(sysAgencyLeaders, SysAgencyLeaderVo.class);
     }
@@ -383,7 +382,7 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
             BigDecimal historyFee = new BigDecimal("0.00");
             //合伙人信息
             SysPartner sysPartner = sysPartnerMapper.selectOne(new LambdaQueryWrapper<SysPartner>()
-                    .eq(SysPartner::getUserId, userId).eq(SysPartner::getDelFlag,1));
+                    .eq(SysPartner::getUserId, userId).eq(SysPartner::getDelFlag, 1));
             //填充查询人的姓名和机构
             agencyExtractFee.setUserId(sysPartner.getUserId());
             agencyExtractFee.setUserName(sysPartner.getUserName());
@@ -405,36 +404,52 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
                             .eq(SysAgencyLeader::getDelFlag, 1));
                     if (sysAgencyLeaders != null) {
                         agencyExtractFee.setProportional(sysPartner.getProportional());
-                        List<InsOrders> insOrderList;
                         //筛选订单,选择时间
                         Date updateTime = sysAgencyLeaders.getUpdateTime();
-                        if (updateTime == null) {
-                            //机构下所有订单
-                            insOrderList = insOrdersMapper.selectList(new LambdaQueryWrapper<InsOrders>()
-                                    .likeRight(StringUtils.isNotEmpty(sysAgencyLeaders.getDeptId()), InsOrders::getDeptid, sysAgencyLeaders.getDeptId())
-                                    .ge(InsOrders::getCreatetime, sysAgencyLeaders.getCreateTime()));
-                            agencyExtractFee.setStartTime(sysAgencyLeaders.getCreateTime());
-                        } else {
-                            insOrderList = insOrdersMapper.selectList(new LambdaQueryWrapper<InsOrders>()
-                                    .likeRight(StringUtils.isNotEmpty(sysAgencyLeaders.getDeptId()), InsOrders::getDeptid, sysAgencyLeaders.getDeptId())
-                                    .ge(InsOrders::getCreatetime, updateTime));
+                        Date createTime = sysAgencyLeaders.getCreateTime();
+                        String dateStr = "";
+                        if (updateTime != null) {
+                            dateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(updateTime);
                             agencyExtractFee.setStartTime(updateTime);
+                        } else {
+                            dateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(createTime);
+                            agencyExtractFee.setStartTime(createTime);
                         }
-                        if (insOrderList.size() > 0) {
-                            List<String> collect = insOrderList.stream().map(InsOrders::getOrderno).collect(Collectors.toList());
-                            //查询订单下的所有子订单
-                            List<InsAreaCompany> insAreaCompanies = insAreaCompanyMapper.selectList(new LambdaQueryWrapper<InsAreaCompany>()
-                                    .in(InsAreaCompany::getOrderno, collect)
-                                    .eq(InsAreaCompany::getOrderstatus, 3));
-                            if (insAreaCompanies.size() > 0) {
-                                //累加每一个子订单的交强险费用+商业险费用+驾意险费用
-                                BigDecimal jqpremium = insAreaCompanies.stream().map(InsAreaCompany::getJqpremium).reduce(BigDecimal.ZERO, BigDecimal::add);
-                                BigDecimal sypremium = insAreaCompanies.stream().map(InsAreaCompany::getSypremium).reduce(BigDecimal.ZERO, BigDecimal::add);
-                                BigDecimal jypremium = insAreaCompanies.stream().map(InsAreaCompany::getJypremium).reduce(BigDecimal.ZERO, BigDecimal::add);
-
-                                bigDecimal = jqpremium.add(sypremium).add(jypremium);
-                            }
+                        HashMap<String, BigDecimal> map = baseMapper.getBigDecimalNum(sysAgencyLeaders.getDeptId(), dateStr,null,null);
+                        if (CollectionUtil.isNotEmpty(map)) {
+                            bigDecimal = bigDecimal.add(map.get("bigDecimal") == null ? BigDecimal.ZERO : map.get("bigDecimal"));
                         }
+
+//                        List<InsOrders> insOrderList;
+//                        //筛选订单,选择时间
+//                        Date updateTime = sysAgencyLeaders.getUpdateTime();
+//                        if (updateTime == null) {
+//                            //机构下所有订单
+//                            insOrderList = insOrdersMapper.selectList(new LambdaQueryWrapper<InsOrders>()
+//                                    .likeRight(StringUtils.isNotEmpty(sysAgencyLeaders.getDeptId()), InsOrders::getDeptid, sysAgencyLeaders.getDeptId())
+//                                    .ge(InsOrders::getCreatetime, sysAgencyLeaders.getCreateTime()));
+//                            agencyExtractFee.setStartTime(sysAgencyLeaders.getCreateTime());
+//                        } else {
+//                            insOrderList = insOrdersMapper.selectList(new LambdaQueryWrapper<InsOrders>()
+//                                    .likeRight(StringUtils.isNotEmpty(sysAgencyLeaders.getDeptId()), InsOrders::getDeptid, sysAgencyLeaders.getDeptId())
+//                                    .ge(InsOrders::getCreatetime, updateTime));
+//                            agencyExtractFee.setStartTime(updateTime);
+//                        }
+//                        if (insOrderList.size() > 0) {
+//                            List<String> collect = insOrderList.stream().map(InsOrders::getOrderno).collect(Collectors.toList());
+//                            //查询订单下的所有子订单
+//                            List<InsAreaCompany> insAreaCompanies = insAreaCompanyMapper.selectList(new LambdaQueryWrapper<InsAreaCompany>()
+//                                    .in(InsAreaCompany::getOrderno, collect)
+//                                    .eq(InsAreaCompany::getOrderstatus, 3));
+//                            if (insAreaCompanies.size() > 0) {
+//                                //累加每一个子订单的交强险费用+商业险费用+驾意险费用
+//                                BigDecimal jqpremium = insAreaCompanies.stream().map(InsAreaCompany::getJqpremium).reduce(BigDecimal.ZERO, BigDecimal::add);
+//                                BigDecimal sypremium = insAreaCompanies.stream().map(InsAreaCompany::getSypremium).reduce(BigDecimal.ZERO, BigDecimal::add);
+//                                BigDecimal jypremium = insAreaCompanies.stream().map(InsAreaCompany::getJypremium).reduce(BigDecimal.ZERO, BigDecimal::add);
+//
+//                                bigDecimal = jqpremium.add(sypremium).add(jypremium);
+//                            }
+//                        }
                     }
                 }
                 agencyExtractFee.setSumpremium(bigDecimal);
@@ -486,35 +501,52 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
                 BigDecimal historyFee = new BigDecimal("0.00");
 
                 agencyExtractFee.setProportional(sysAgencyLeaders.getProportional());
-                List<InsOrders> insOrderList;
+
                 //筛选订单,选择时间
                 Date updateTime = sysAgencyLeaders.getUpdateTime();
-                if (updateTime == null) {
-                    //机构下所有订单
-                    insOrderList = insOrdersMapper.selectList(new LambdaQueryWrapper<InsOrders>()
-                            .likeRight(StringUtils.isNotEmpty(sysAgencyLeaders.getDeptId()), InsOrders::getDeptid, sysAgencyLeaders.getDeptId())
-                            .ge(InsOrders::getCreatetime, sysAgencyLeaders.getCreateTime()));
-                    agencyExtractFee.setStartTime(sysAgencyLeaders.getCreateTime());
-                } else {
-                    insOrderList = insOrdersMapper.selectList(new LambdaQueryWrapper<InsOrders>()
-                            .likeRight(StringUtils.isNotEmpty(sysAgencyLeaders.getDeptId()), InsOrders::getDeptid, sysAgencyLeaders.getDeptId())
-                            .ge(InsOrders::getCreatetime, updateTime));
+                Date createTime = sysAgencyLeaders.getCreateTime();
+                String dateStr = "";
+                if (updateTime != null) {
+                    dateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(updateTime);
                     agencyExtractFee.setStartTime(updateTime);
+                } else {
+                    dateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(createTime);
+                    agencyExtractFee.setStartTime(createTime);
                 }
-                if (insOrderList.size() > 0) {
-                    List<String> collect = insOrderList.stream().map(InsOrders::getOrderno).collect(Collectors.toList());
-                    //查询订单下的所有子订单
-                    List<InsAreaCompany> insAreaCompanies = insAreaCompanyMapper.selectList(new LambdaQueryWrapper<InsAreaCompany>()
-                            .in(InsAreaCompany::getOrderno, collect)
-                            .eq(InsAreaCompany::getOrderstatus, 3));
-                    if (insAreaCompanies.size() > 0) {
-                        BigDecimal jqpremium = insAreaCompanies.stream().map(InsAreaCompany::getJqpremium).reduce(BigDecimal.ZERO, BigDecimal::add);
-                        BigDecimal sypremium = insAreaCompanies.stream().map(InsAreaCompany::getSypremium).reduce(BigDecimal.ZERO, BigDecimal::add);
-                        BigDecimal jypremium = insAreaCompanies.stream().map(InsAreaCompany::getJypremium).reduce(BigDecimal.ZERO, BigDecimal::add);
-
-                        bigDecimal = jqpremium.add(sypremium).add(jypremium);
-                    }
+                HashMap<String, BigDecimal> map = baseMapper.getBigDecimalNum(sysAgencyLeaders.getDeptId(), dateStr,null,null);
+                if (CollectionUtil.isNotEmpty(map)) {
+                    bigDecimal = bigDecimal.add(map.get("bigDecimal") == null ? BigDecimal.ZERO : map.get("bigDecimal"));
                 }
+
+//                List<InsOrders> insOrderList;
+//                //筛选订单,选择时间
+//                Date updateTime = sysAgencyLeaders.getUpdateTime();
+//                if (updateTime == null) {
+//                    //机构下所有订单
+//                    insOrderList = insOrdersMapper.selectList(new LambdaQueryWrapper<InsOrders>()
+//                            .likeRight(StringUtils.isNotEmpty(sysAgencyLeaders.getDeptId()), InsOrders::getDeptid, sysAgencyLeaders.getDeptId())
+//                            .ge(InsOrders::getCreatetime, sysAgencyLeaders.getCreateTime()));
+//                    agencyExtractFee.setStartTime(sysAgencyLeaders.getCreateTime());
+//                } else {
+//                    insOrderList = insOrdersMapper.selectList(new LambdaQueryWrapper<InsOrders>()
+//                            .likeRight(StringUtils.isNotEmpty(sysAgencyLeaders.getDeptId()), InsOrders::getDeptid, sysAgencyLeaders.getDeptId())
+//                            .ge(InsOrders::getCreatetime, updateTime));
+//                    agencyExtractFee.setStartTime(updateTime);
+//                }
+//                if (insOrderList.size() > 0) {
+//                    List<String> collect = insOrderList.stream().map(InsOrders::getOrderno).collect(Collectors.toList());
+//                    //查询订单下的所有子订单
+//                    List<InsAreaCompany> insAreaCompanies = insAreaCompanyMapper.selectList(new LambdaQueryWrapper<InsAreaCompany>()
+//                            .in(InsAreaCompany::getOrderno, collect)
+//                            .eq(InsAreaCompany::getOrderstatus, 3));
+//                    if (insAreaCompanies.size() > 0) {
+//                        BigDecimal jqpremium = insAreaCompanies.stream().map(InsAreaCompany::getJqpremium).reduce(BigDecimal.ZERO, BigDecimal::add);
+//                        BigDecimal sypremium = insAreaCompanies.stream().map(InsAreaCompany::getSypremium).reduce(BigDecimal.ZERO, BigDecimal::add);
+//                        BigDecimal jypremium = insAreaCompanies.stream().map(InsAreaCompany::getJypremium).reduce(BigDecimal.ZERO, BigDecimal::add);
+//
+//                        bigDecimal = jqpremium.add(sypremium).add(jypremium);
+//                    }
+//                }
                 agencyExtractFee.setSumpremium(bigDecimal);
                 BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional())
                         .divide(new BigDecimal("100"))).setScale(2, RoundingMode.DOWN);
@@ -634,6 +666,81 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
                 agencyExtractFeeList);
     }
 
+    @Override
+    public BasePageResult<AgencyExtractFeeVo> queryExtractFeeList(SysAgencyLeaderPageDto sysAgencyLeaderPageDto) {
+        List<AgencyExtractFeeVo> agencyExtractFeeList = new ArrayList<>();
+
+        Page<SysAgencyLeader> page = new Page<>(sysAgencyLeaderPageDto.getPageNum(), sysAgencyLeaderPageDto.getPageSize());
+        LambdaQueryWrapper<SysAgencyLeader> wrapper = new LambdaQueryWrapper<>();
+        wrapper.like(StringUtils.isNotEmpty(sysAgencyLeaderPageDto.getUserId()), SysAgencyLeader::getUserId, sysAgencyLeaderPageDto.getUserId());
+        wrapper.like(StringUtils.isNotEmpty(sysAgencyLeaderPageDto.getUserName()), SysAgencyLeader::getUserName, sysAgencyLeaderPageDto.getUserName());
+        wrapper.eq(SysAgencyLeader::getDelFlag, 1);
+        wrapper.orderByDesc(SysAgencyLeader::getId);
+
+        Page<SysAgencyLeader> insOrdersPage = page(page, wrapper);
+        List<SysAgencyLeader> records = insOrdersPage.getRecords();
+        if (records.size() > 0) {
+            for (SysAgencyLeader sysAgencyLeaders : records) {
+                AgencyExtractFeeVo agencyExtractFee = new AgencyExtractFeeVo();
+                //总保费
+                BigDecimal bigDecimal = BigDecimal.ZERO;
+                //已提现抽成费用
+                BigDecimal historyFee = BigDecimal.ZERO;
+
+                agencyExtractFee.setUserId(sysAgencyLeaders.getUserId());
+                agencyExtractFee.setUserName(sysAgencyLeaders.getUserName());
+                agencyExtractFee.setDeptId(sysAgencyLeaders.getDeptId());
+                agencyExtractFee.setDeptName(sysAgencyLeaders.getDeptName());
+                agencyExtractFee.setProportional(sysAgencyLeaders.getProportional());
+                //筛选订单,选择时间
+                Date updateTime = sysAgencyLeaders.getUpdateTime();
+                Date createTime = sysAgencyLeaders.getCreateTime();
+                String dateStr = "";
+                if (updateTime != null) {
+                    dateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(updateTime);
+                    agencyExtractFee.setStartTime(updateTime);
+                } else {
+                    dateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(createTime);
+                    agencyExtractFee.setStartTime(createTime);
+                }
+                HashMap<String, BigDecimal> map = baseMapper.getBigDecimalNum(sysAgencyLeaders.getDeptId(), dateStr,null,null);
+                if (CollectionUtil.isNotEmpty(map)) {
+
+                    bigDecimal = bigDecimal.add(map.get("bigDecimal") == null ? BigDecimal.ZERO : map.get("bigDecimal"));
+                }
+                agencyExtractFee.setSumpremium(bigDecimal);
+                BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional())
+                        .divide(new BigDecimal("100"))).setScale(2, RoundingMode.DOWN);
+                agencyExtractFee.setExtractFee(multiply);
+                // 填充 已提现抽成费用和可提现抽成费用
+                List<SysAgencyFeeApproval> sysAgencyFeeApprovals = sysAgencyFeeApprovalMapper.selectList(new LambdaQueryWrapper<SysAgencyFeeApproval>()
+                        .eq(SysAgencyFeeApproval::getUserId, sysAgencyLeaders.getUserId())
+                        .eq(SysAgencyFeeApproval::getStatus, 1));
+                if (sysAgencyFeeApprovals.size() > 0) {
+                    for (SysAgencyFeeApproval sysAgencyFeeApproval : sysAgencyFeeApprovals) {
+                        historyFee = historyFee.add(sysAgencyFeeApproval.getHistoryFee());
+                    }
+                }
+
+                if (!bigDecimal.equals(BigDecimal.ZERO)) {
+                    //已提现
+                    agencyExtractFee.setHistoryFee(historyFee);
+                    //可提现 = 总抽成-已提现
+                    agencyExtractFee.setCashFee(multiply.subtract(historyFee));
+                } else {
+                    agencyExtractFee.setHistoryFee(BigDecimal.ZERO);
+                    agencyExtractFee.setCashFee(multiply.subtract(BigDecimal.ZERO));
+                }
+                agencyExtractFeeList.add(agencyExtractFee);
+
+            }
+
+        }
+
+        return new BasePageResult<>(sysAgencyLeaderPageDto.getPageNum(), page.getSize(), insOrdersPage.getTotal(), page.getPages(),
+                agencyExtractFeeList);
+    }
+
 
     @Override
     public BasePageResult<TeamInformation> queryTeamInfoPage(TeamInformationDto teamInformationDto) {
@@ -689,19 +796,19 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
                 }
 
                 if (insOrderList.size() > 0) {
-                        List<String> collect = insOrderList.stream().map(InsOrders::getOrderno).collect(Collectors.toList());
-                        //查询订单下的所有子订单
-                        List<InsAreaCompany> insAreaCompanies = insAreaCompanyMapper.selectList(new LambdaQueryWrapper<InsAreaCompany>()
-                                .in(InsAreaCompany::getOrderno, collect)
-                                .eq(InsAreaCompany::getOrderstatus, 3));
-                        if (insAreaCompanies.size() > 0) {
-                                //累加每一个子订单的交强险费用+商业险费用+驾意险费用
-                                BigDecimal jqpremium = insAreaCompanies.stream().map(InsAreaCompany::getJqpremium).reduce(BigDecimal.ZERO, BigDecimal::add);
-                                BigDecimal sypremium = insAreaCompanies.stream().map(InsAreaCompany::getSypremium).reduce(BigDecimal.ZERO, BigDecimal::add);
-                                BigDecimal jypremium = insAreaCompanies.stream().map(InsAreaCompany::getJypremium).reduce(BigDecimal.ZERO, BigDecimal::add);
+                    List<String> collect = insOrderList.stream().map(InsOrders::getOrderno).collect(Collectors.toList());
+                    //查询订单下的所有子订单
+                    List<InsAreaCompany> insAreaCompanies = insAreaCompanyMapper.selectList(new LambdaQueryWrapper<InsAreaCompany>()
+                            .in(InsAreaCompany::getOrderno, collect)
+                            .eq(InsAreaCompany::getOrderstatus, 3));
+                    if (insAreaCompanies.size() > 0) {
+                        //累加每一个子订单的交强险费用+商业险费用+驾意险费用
+                        BigDecimal jqpremium = insAreaCompanies.stream().map(InsAreaCompany::getJqpremium).reduce(BigDecimal.ZERO, BigDecimal::add);
+                        BigDecimal sypremium = insAreaCompanies.stream().map(InsAreaCompany::getSypremium).reduce(BigDecimal.ZERO, BigDecimal::add);
+                        BigDecimal jypremium = insAreaCompanies.stream().map(InsAreaCompany::getJypremium).reduce(BigDecimal.ZERO, BigDecimal::add);
 
-                                bigDecimal = jqpremium.add(sypremium).add(jypremium);
-                        }
+                        bigDecimal = jqpremium.add(sypremium).add(jypremium);
+                    }
 
                 }
                 teamInformation.setSumpremium(bigDecimal);
@@ -829,7 +936,7 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
                         BigDecimal multiply = bigDecimal.multiply(new BigDecimal(sysAgencyLeader.getProportional())
                                 .divide(new BigDecimal("100"))).setScale(2, RoundingMode.DOWN);
                         agencyTeamVo.setExtractFee(multiply);
-                    }else {
+                    } else {
                         agencyTeamVo.setExtractFee(new BigDecimal("0.00"));
                     }
                     agencyTeamVoList.add(agencyTeamVo);
@@ -932,5 +1039,28 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
                 teamUserInfoVoList);
     }
 
+    @Override
+    public List<SysUser> queryAgencyUser(String deptId) {
+
+        return sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>()
+                .eq(SysUser::getStatus, 1)
+                .likeRight(StringUtils.isNotEmpty(deptId), SysUser::getId, deptId));
+    }
+
+    @Override
+    public IPage<AgencyUserInsAreaVo> queryAgencyUserInsAreaPage(AgencyUserInsAreaDto agencyUserInsAreaDto) {
+        Page page = new Page(agencyUserInsAreaDto.getPageNum(), agencyUserInsAreaDto.getPageSize());
+
+        IPage<AgencyUserInsAreaVo> agencyUserInsAreaVoIPage = insAreaCompanyMapper.queryAgencyUserInsAreaPage(page, agencyUserInsAreaDto);
+        List<AgencyUserInsAreaVo> records = agencyUserInsAreaVoIPage.getRecords();
+        if (records.size() > 0) {
+            for (AgencyUserInsAreaVo record : records) {
+                record.setSumpremium(record.getJqpremium().add(record.getJypremium()).add(record.getSypremium()));
+            }
+        }
+
+        return agencyUserInsAreaVoIPage;
+    }
+
 
 }

+ 165 - 27
src/main/java/com/ydtech/modules/admin/service/impl/SysPartnerServiceImpl.java

@@ -15,6 +15,7 @@ import com.ydtech.modules.admin.model.dto.SysPartnerAPPPageDto;
 import com.ydtech.modules.admin.model.dto.SysPartnerDto;
 import com.ydtech.modules.admin.model.dto.SysPartnerPageDto;
 import com.ydtech.modules.admin.model.vo.AgencyExtractFeeVo;
+import com.ydtech.modules.admin.model.vo.SysAgencyLeaderVo;
 import com.ydtech.modules.admin.model.vo.SysPartnerAPPPageVo;
 import com.ydtech.modules.admin.model.vo.SysUserPartner;
 import com.ydtech.modules.admin.service.SysPartnerService;
@@ -32,8 +33,10 @@ import org.springframework.transaction.annotation.Transactional;
 import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
@@ -360,6 +363,109 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
         return new BasePageResult<>(sysPartnerPageDto.getPageNum(), page.getSize(), insOrdersPage.getTotal(), page.getPages(),
                 agencyExtractFeeList);
 
+    }
+    @Override
+    public BasePageResult<AgencyExtractFeeVo> queryPartnerByPages(SysPartnerPageDto sysPartnerPageDto) {
+        List<AgencyExtractFeeVo> agencyExtractFeeList = new ArrayList<>();
+
+        Page<SysPartner> page = new Page<>(sysPartnerPageDto.getPageNum(), sysPartnerPageDto.getPageSize());
+        LambdaQueryWrapper<SysPartner> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(SysPartner::getDelFlag, 1);
+        wrapper.like(StringUtils.isNotEmpty(sysPartnerPageDto.getUserId()), SysPartner::getUserId, sysPartnerPageDto.getUserId());
+        wrapper.like(StringUtils.isNotEmpty(sysPartnerPageDto.getUserName()), SysPartner::getUserName, sysPartnerPageDto.getUserName());
+        wrapper.orderByDesc(SysPartner::getId);
+
+        Page<SysPartner> insOrdersPage = page(page, wrapper);
+        List<SysPartner> sysPartnerList = insOrdersPage.getRecords();
+        if (sysPartnerList.size() > 0) {
+            for (SysPartner sysPartner : sysPartnerList) {
+                AgencyExtractFeeVo agencyExtractFee = new AgencyExtractFeeVo();
+                //总保费
+                BigDecimal bigDecimal = BigDecimal.ZERO;
+                BigDecimal extractFee = BigDecimal.ZERO;
+                //已提现抽成费用
+                BigDecimal historyFee = BigDecimal.ZERO;
+                //填充查询人的姓名和机构
+                agencyExtractFee.setProportional(sysPartner.getProportional());
+                agencyExtractFee.setUserId(sysPartner.getUserId());
+                agencyExtractFee.setUserName(sysPartner.getUserName());
+                SysUser sysUser = sysUserMapper.selectOne(new LambdaQueryWrapper<SysUser>()
+                        .eq(SysUser::getId, sysPartner.getUserId())
+                        .eq(SysUser::getStatus, 1));
+                agencyExtractFee.setDeptId(sysUser.getDeptId());
+                SysDept sysDept = sysDeptMapper.selectOne(new LambdaQueryWrapper<SysDept>()
+                        .eq(SysDept::getId, sysUser.getDeptId()).eq(SysDept::getDelFlag, 0));
+                agencyExtractFee.setDeptName(sysDept.getName());
+                //查询所有推荐的机构负责人核算总保费
+                List<SysRelationPerson> sysRelationPeople = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
+                        .eq(SysRelationPerson::getSuggestId, sysPartner.getUserId()).eq(SysRelationPerson::getType, 1));
+                if (sysRelationPeople.size() > 0) {
+                    List<String> agencyLeaderIds = sysRelationPeople.stream().map(SysRelationPerson::getAgencyLeaderId).collect(Collectors.toList());
+                    for (String agencyLeaderId : agencyLeaderIds) {
+
+                        SysAgencyLeader sysAgencyLeaders = sysAgencyLeaderMapper.selectOne(new LambdaQueryWrapper<SysAgencyLeader>()
+                                .eq(SysAgencyLeader::getUserId, agencyLeaderId)
+                                .eq(SysAgencyLeader::getDelFlag, 1));
+                        if (sysAgencyLeaders != null) {
+                            agencyExtractFee.setProportional(sysPartner.getProportional());
+
+                            //筛选订单,选择时间
+                            Date updateTime = sysAgencyLeaders.getUpdateTime();
+                            Date createTime = sysAgencyLeaders.getCreateTime();
+                            String dateStr = "";
+                            if (updateTime != null) {
+                                dateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(updateTime);
+                                agencyExtractFee.setStartTime(updateTime);
+                            } else {
+                                dateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(createTime);
+                                agencyExtractFee.setStartTime(createTime);
+                            }
+                            HashMap<String, BigDecimal> map = sysAgencyLeaderMapper.getBigDecimalNum(sysAgencyLeaders.getDeptId(), dateStr,null,null);
+                            if (CollectionUtil.isNotEmpty(map)) {
+                                bigDecimal = bigDecimal.add(map.get("bigDecimal") == null ? BigDecimal.ZERO : map.get("bigDecimal"));
+                            }
+                        }
+                    }
+                    // 填充 已提现抽成费用和可提现抽成费用
+                    List<SysAgencyFeeApproval> sysAgencyFeeApprovals = sysAgencyFeeApprovalMapper.selectList(new LambdaQueryWrapper<SysAgencyFeeApproval>()
+                            .eq(SysAgencyFeeApproval::getUserId, sysPartner.getUserId())
+                            .eq(SysAgencyFeeApproval::getStatus, 1));
+                    if (sysAgencyFeeApprovals.size() > 0) {
+                        for (SysAgencyFeeApproval sysAgencyFeeApproval : sysAgencyFeeApprovals) {
+                            historyFee = historyFee.add(sysAgencyFeeApproval.getHistoryFee());
+                        }
+                    }
+                    agencyExtractFee.setSumpremium(bigDecimal);
+                    if (!bigDecimal.equals(BigDecimal.ZERO)) {
+
+                        BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional())
+                                .divide(new BigDecimal("100"))).setScale(2, RoundingMode.DOWN);
+                        agencyExtractFee.setExtractFee(multiply);
+                        //已提现
+                        agencyExtractFee.setHistoryFee(historyFee);
+                        extractFee = agencyExtractFee.getExtractFee();
+                        //可提现 = 总抽成-已提现
+                        agencyExtractFee.setCashFee(extractFee.subtract(historyFee));
+                    } else {
+                        agencyExtractFee.setExtractFee(BigDecimal.ZERO);
+                        agencyExtractFee.setHistoryFee(BigDecimal.ZERO);
+                        agencyExtractFee.setCashFee(extractFee);
+                    }
+
+                } else {
+                    agencyExtractFee.setSumpremium(BigDecimal.ZERO);
+                    agencyExtractFee.setExtractFee(BigDecimal.ZERO);
+                    agencyExtractFee.setHistoryFee(BigDecimal.ZERO);
+                    agencyExtractFee.setCashFee(BigDecimal.ZERO);
+                }
+                agencyExtractFeeList.add(agencyExtractFee);
+
+            }
+        }
+
+        return new BasePageResult<>(sysPartnerPageDto.getPageNum(), page.getSize(), insOrdersPage.getTotal(), page.getPages(),
+                agencyExtractFeeList);
+
     }
 
     @Override
@@ -432,38 +538,52 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
 
                                 for (SysDept sysDept1 : sysDeptList) {
 
-                                    List<InsOrders> insOrderList;
+//                                    List<InsOrders> insOrderList;
+//                                    //筛选订单,选择时间
+//                                    Date updateTime = sysAgencyLeader.getUpdateTime();
+//                                    if (updateTime == null) {
+//                                        //机构下所有订单
+//                                        insOrderList = insOrdersMapper.selectList(new LambdaQueryWrapper<InsOrders>()
+//                                                .likeRight(InsOrders::getDeptid, sysDept1.getId())
+//                                                .ge(InsOrders::getCreatetime, sysAgencyLeader.getCreateTime()));
+//                                        sysPartnerAPPPageVo.setStartTime(sysAgencyLeader.getCreateTime());
+//
+//                                    } else {
+//                                        insOrderList = insOrdersMapper.selectList(new LambdaQueryWrapper<InsOrders>()
+//                                                .likeRight(InsOrders::getDeptid, sysDept1.getId())
+//                                                .ge(InsOrders::getCreatetime, updateTime));
+//                                        sysPartnerAPPPageVo.setStartTime(updateTime);
+//                                    }
+//
+//                                    if (insOrderList.size() > 0) {
+//                                        List<String> collect = insOrderList.stream().map(InsOrders::getOrderno).collect(Collectors.toList());
+//                                        //查询订单下的所有子订单
+//                                        List<InsAreaCompany> insAreaCompanies = insAreaCompanyMapper.selectList(new LambdaQueryWrapper<InsAreaCompany>()
+//                                                .in(InsAreaCompany::getOrderno, collect)
+//                                                .eq(InsAreaCompany::getOrderstatus, 3));
+//                                        if (insAreaCompanies.size() > 0) {
+//                                            BigDecimal jqpremium = insAreaCompanies.stream().map(InsAreaCompany::getJqpremium).reduce(BigDecimal.ZERO, BigDecimal::add);
+//                                            BigDecimal sypremium = insAreaCompanies.stream().map(InsAreaCompany::getSypremium).reduce(BigDecimal.ZERO, BigDecimal::add);
+//                                            BigDecimal jypremium = insAreaCompanies.stream().map(InsAreaCompany::getJypremium).reduce(BigDecimal.ZERO, BigDecimal::add);
+//
+//                                            bigDecimal = jqpremium.add(sypremium).add(jypremium);
+//                                        }
+//                                    }
                                     //筛选订单,选择时间
                                     Date updateTime = sysAgencyLeader.getUpdateTime();
-                                    if (updateTime == null) {
-                                        //机构下所有订单
-                                        insOrderList = insOrdersMapper.selectList(new LambdaQueryWrapper<InsOrders>()
-                                                .likeRight(InsOrders::getDeptid, sysDept1.getId())
-                                                .ge(InsOrders::getCreatetime, sysAgencyLeader.getCreateTime()));
-                                        sysPartnerAPPPageVo.setStartTime(sysAgencyLeader.getCreateTime());
-
-                                    } else {
-                                        insOrderList = insOrdersMapper.selectList(new LambdaQueryWrapper<InsOrders>()
-                                                .likeRight(InsOrders::getDeptid, sysDept1.getId())
-                                                .ge(InsOrders::getCreatetime, updateTime));
+                                    Date createTime = sysAgencyLeader.getCreateTime();
+                                    String dateStr = "";
+                                    if (updateTime != null) {
+                                        dateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(updateTime);
                                         sysPartnerAPPPageVo.setStartTime(updateTime);
+                                    } else {
+                                        dateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(createTime);
+                                        sysPartnerAPPPageVo.setStartTime(createTime);
                                     }
-
-                                    if (insOrderList.size() > 0) {
-                                        List<String> collect = insOrderList.stream().map(InsOrders::getOrderno).collect(Collectors.toList());
-                                        //查询订单下的所有子订单
-                                        List<InsAreaCompany> insAreaCompanies = insAreaCompanyMapper.selectList(new LambdaQueryWrapper<InsAreaCompany>()
-                                                .in(InsAreaCompany::getOrderno, collect)
-                                                .eq(InsAreaCompany::getOrderstatus, 3));
-                                        if (insAreaCompanies.size() > 0) {
-                                            BigDecimal jqpremium = insAreaCompanies.stream().map(InsAreaCompany::getJqpremium).reduce(BigDecimal.ZERO, BigDecimal::add);
-                                            BigDecimal sypremium = insAreaCompanies.stream().map(InsAreaCompany::getSypremium).reduce(BigDecimal.ZERO, BigDecimal::add);
-                                            BigDecimal jypremium = insAreaCompanies.stream().map(InsAreaCompany::getJypremium).reduce(BigDecimal.ZERO, BigDecimal::add);
-
-                                            bigDecimal = jqpremium.add(sypremium).add(jypremium);
-                                        }
+                                    HashMap<String, BigDecimal> map = sysAgencyLeaderMapper.getBigDecimalNum(sysDept1.getId(), dateStr,null,null);
+                                    if (CollectionUtil.isNotEmpty(map)) {
+                                        bigDecimal = bigDecimal.add(map.get("bigDecimal") == null ? BigDecimal.ZERO : map.get("bigDecimal"));
                                     }
-
                                 }
                             }
                         }
@@ -544,5 +664,23 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
         return b;
     }
 
+    @Override
+    public List<SysAgencyLeader> queryAgencyLeaderById(String userId) {
+        List<SysRelationPerson> sysRelationPeople = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
+                .eq(SysRelationPerson::getSuggestId, userId).eq(SysRelationPerson::getType, 1));
+
+            //获取所有推荐的机构负责人id
+            List<String> agencyLeaderIds = sysRelationPeople.stream().map(SysRelationPerson::getAgencyLeaderId).collect(Collectors.toList());
+
+            //获取机构负责人信息
+            List<SysAgencyLeader> sysAgencyLeaders = sysAgencyLeaderMapper.selectList(new LambdaQueryWrapper<SysAgencyLeader>()
+                    .in(SysAgencyLeader::getUserId, agencyLeaderIds)
+                    .eq(SysAgencyLeader::getDelFlag, 1)
+                    .orderByDesc(SysAgencyLeader::getId));
+
+            return sysAgencyLeaders;
+
+    }
+
 
 }

+ 202 - 0
src/main/java/com/ydtech/modules/admin/service/impl/SysUserLinkDxUserIdServiceImpl.java

@@ -0,0 +1,202 @@
+package com.ydtech.modules.admin.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.admin.dao.SysUserLinkDxUserIdMapper;
+import com.ydtech.modules.admin.model.dto.*;
+import com.ydtech.modules.admin.model.po.SysUserLinkDxUserId;
+import com.ydtech.modules.admin.model.po.Uuser;
+import com.ydtech.modules.admin.model.vo.DxDataVo;
+import com.ydtech.modules.admin.model.vo.SysUserLinkZzbUserIdVo;
+import com.ydtech.modules.admin.model.vo.UserQueryVo;
+import com.ydtech.modules.admin.service.SysUserLinkDxUserIdService;
+import com.ydtech.modules.admin.utils.DxApiConfigurationProperties;
+import com.ydtech.modules.base.controller.BaseController;
+import com.ydtech.modules.order.entity.BasePageResult;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.ParameterizedTypeReference;
+import org.springframework.http.*;
+import org.springframework.stereotype.Service;
+import org.springframework.web.client.RestTemplate;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author Administrator
+ * @description 针对表【sys_user(用户信息表)】的数据库操作Service实现
+ * @createDate 2024-09-06 18:13:19
+ */
+@Service
+public class SysUserLinkDxUserIdServiceImpl extends ServiceImpl<SysUserLinkDxUserIdMapper, SysUserLinkDxUserId>
+        implements SysUserLinkDxUserIdService {
+
+    @Autowired
+    private SysUserLinkDxUserIdMapper sysUserLinkDxUserIdMapper;
+
+    @Autowired
+    private RestTemplate restTemplate;
+
+    @Autowired
+    private DxApiConfigurationProperties dxApiConfigurationProperties;
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/6 19:47
+     *  @Description:  添加掌柜鼎的绑定的用户id
+     */
+    @Override
+    public void addOrUpdate(SysUserLinkZzbUserIdVo sysUserLinkZzbUserIdVo) {
+        LambdaQueryWrapper<SysUserLinkDxUserId> lqw = new LambdaQueryWrapper<>();
+        lqw.eq( SysUserLinkDxUserId::getUserId, sysUserLinkZzbUserIdVo.getUserId());
+        SysUserLinkDxUserId one = this.getOne(lqw);
+        if(one!=null){
+            one.setDxUserId(sysUserLinkZzbUserIdVo.getLinkUserId());
+            one.setCreateTime(new Date());
+            one.setCreateUserId(new BaseController().getUserId());
+            this.updateById(one);
+        }else{
+            SysUserLinkDxUserId sysUserLinkDxUserId =new SysUserLinkDxUserId(null,sysUserLinkZzbUserIdVo.getUserId(), sysUserLinkZzbUserIdVo.getLinkUserId(), new Date(), new BaseController().getUserId());
+            this.save(sysUserLinkDxUserId);
+        }
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/6 19:46
+     *  @Description: 通过用户id删除数据
+     */
+    @Override
+    public void deleteByUserId(SysUserLinkZzbUserIdVo sysUserLinkZzbUserIdVo) {
+        LambdaQueryWrapper<SysUserLinkDxUserId> lqw = new LambdaQueryWrapper<>();
+        lqw.eq(SysUserLinkDxUserId::getUserId, sysUserLinkZzbUserIdVo.getUserId());
+        int rows = this.baseMapper.delete(lqw);
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/9 8:54
+     *  @Description:  通过用户关联数据查询返回用户集合
+     */
+    @Override
+    public BasePageResult<SysUserLinkUserDto> queryUserPage(SysUserLinkQueryUserDto sysUserLinkQueryUserDto) {
+        Page<SysUserLinkUserDto> page = new Page<>(sysUserLinkQueryUserDto.getPageNum(), sysUserLinkQueryUserDto.getPageSize());
+        Page<SysUserLinkUserDto> sysUserLinkUserDtoBasePageResult = sysUserLinkDxUserIdMapper.queryPage(page, sysUserLinkQueryUserDto);
+        List<SysUserLinkUserDto> records = sysUserLinkUserDtoBasePageResult.getRecords();
+        List<SysUserLinkUserDto> newRecords =  new ArrayList<>();
+        if(records!=null && records.size()>0){
+            for(SysUserLinkUserDto  sysUserLinkUserDto : records){
+                if(StringUtils.isBlank(sysUserLinkUserDto.getLinkUserId())){
+                    sysUserLinkUserDto.setLinkUserName("");
+                }else{
+                    Uuser uuser = getDataByGet(sysUserLinkUserDto.getLinkUserId(), dxApiConfigurationProperties.getFindUserById());
+                    sysUserLinkUserDto.setLinkUserName(uuser ==null? "":uuser.getNickname());
+                }
+                newRecords.add(sysUserLinkUserDto);
+            }
+        }
+        sysUserLinkUserDtoBasePageResult.setRecords(newRecords);
+        return  new BasePageResult<>(sysUserLinkQueryUserDto.getPageNum(), page.getSize(), sysUserLinkUserDtoBasePageResult.getTotal(), page.getPages(),
+                sysUserLinkUserDtoBasePageResult.getRecords());
+    }
+    /**
+     * @version
+     * @author: hxl
+     * @Date: 2024/9/10 14:53
+     * @Description: 查询掌柜鼎数据
+     */
+    @Override
+    public BasePageResult<Uuser> queryUserDxPage(SysUserLinkQueryUserDto sysUserLinkQueryUserDto) {
+        Page<Uuser> page = new Page<>(sysUserLinkQueryUserDto.getPageNum(),
+                sysUserLinkQueryUserDto.getPageSize());
+        UserQueryVo  userQueryVo =new  UserQueryVo(sysUserLinkQueryUserDto.getUserName(),sysUserLinkQueryUserDto.getMobile(),sysUserLinkQueryUserDto.getPageSize(), sysUserLinkQueryUserDto.getPageNum());
+        BasePageResult<Uuser> result = getDataByPost(userQueryVo, dxApiConfigurationProperties.getFindUserListByPage());
+        if(result!=null ){
+            return result;
+        }
+        return  new BasePageResult<>(sysUserLinkQueryUserDto.getPageNum(), page.getSize(), 0, page.getPages(),
+                new ArrayList<Uuser>());
+    }
+
+
+
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/9 14:43
+     *  @Description:  分页查询电销用户数据
+     */
+    public  BasePageResult<Uuser> getDataByPost(UserQueryVo userQueryVo, String  url){
+        HttpHeaders httpHeaders = new HttpHeaders();
+        httpHeaders.setContentType(MediaType.APPLICATION_JSON);
+        HttpEntity<UserQueryVo> requestEntity = new HttpEntity<>(userQueryVo,httpHeaders);
+        ParameterizedTypeReference<HttpResult<BasePageResult<Uuser>>> responseType =
+                new ParameterizedTypeReference<HttpResult<BasePageResult<Uuser>>>() {};
+        ResponseEntity<HttpResult<BasePageResult<Uuser>>> response = restTemplate.exchange(
+                url,
+                HttpMethod.POST,
+                requestEntity,
+                responseType
+        );
+        if(response!=null) {
+            HttpResult<BasePageResult<Uuser>> body =  response.getBody();
+            if (body.getCode() == 200) {
+                BasePageResult<Uuser> data = body.getData();
+                return data;
+            }
+        }
+        return  null;
+    }
+
+    public DxDataDto getDataByPost(DxDataVo dxDataVo, String  url){
+        HttpHeaders httpHeaders = new HttpHeaders();
+        httpHeaders.setContentType(MediaType.APPLICATION_JSON);
+        HttpEntity<DxDataVo> requestEntity = new HttpEntity<>(dxDataVo,httpHeaders);
+        ResponseEntity<HttpResult<DxDataDto>> response =null;
+        ParameterizedTypeReference<HttpResult<DxDataDto>> typeRef = new ParameterizedTypeReference<HttpResult<DxDataDto>>() {};
+        try{
+            response = restTemplate.exchange(url, HttpMethod.POST, requestEntity, typeRef);
+        }catch(Exception e){
+
+        }
+        if(response!=null) {
+            HttpResult<DxDataDto> body =  response.getBody();
+            if (body.getCode() == 200) {
+                DxDataDto data = body.getData();
+                return new DxDataDto(dxDataVo.getDateTime(),data.getExhaleDuration(), data.getOutgoingCallsNumber(), data.getConnectionsNumber(), data.getCallSuccessRate());
+            }
+        }
+        return  new DxDataDto(dxDataVo.getDateTime(),"-", "-", "-", "-");
+    }
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/9 14:43
+     *  @Description:  根据用户id查询用户数据
+     */
+    public Uuser getDataByGet(String userId, String  url){
+        url = url + "?userId=" + userId;
+        ResponseEntity<HttpResult<Uuser>> response =null;
+        ParameterizedTypeReference<HttpResult<Uuser>> typeRef = new ParameterizedTypeReference<HttpResult<Uuser>>() {};
+        try{
+            response = restTemplate.exchange(url, HttpMethod.GET, null, typeRef);
+        }catch(Exception e){
+
+        }
+        if(response!=null) {
+            HttpResult<Uuser> body =  response.getBody();
+            if (body.getCode() == 200) {
+                Uuser data = body.getData();
+                return data;
+            }
+        }
+        return  new Uuser();
+    }
+}

+ 6 - 0
src/main/java/com/ydtech/modules/admin/utils/DxApiConfigurationProperties.java

@@ -19,4 +19,10 @@ public class DxApiConfigurationProperties {
 
     //通过用户id和当天日期查询数据
     private String findDataUserIdAndDayUrl;
+
+    //通过用户id查询电销数据
+    private String findUserById;
+
+    //电销用户数据分页
+    private String findUserListByPage;
 }

+ 3 - 3
src/main/java/com/ydtech/modules/customer/controller/CustomerController.java

@@ -4,6 +4,7 @@ package com.ydtech.modules.customer.controller;
 import com.ydtech.aop.request.RequestSingleParam;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.customer.entity.po.CusChatMessages;
+import com.ydtech.modules.customer.entity.vo.ReturnMessageVo;
 import com.ydtech.modules.customer.service.CustomerService;
 import io.swagger.annotations.Api;
 import lombok.RequiredArgsConstructor;
@@ -22,12 +23,11 @@ public class CustomerController {
     private final CustomerService customerService;
 
     @PostMapping("/ai/sendMessage")
-    public HttpResult<String> sendMessage(@RequestSingleParam(value = "message") String message) {
-        String resultMessage = customerService.sendMessage(message);
+    public HttpResult<ReturnMessageVo> sendMessage(@RequestSingleParam(value = "message") String message) {
+        ReturnMessageVo resultMessage = customerService.sendMessage(message);
         return HttpResult.ok(resultMessage);
     }
 
-
     @PostMapping("/ai/queryMessage")
     public HttpResult<List<CusChatMessages>> queryMessage() {
         List<CusChatMessages> list = customerService.queryMessage();

+ 32 - 0
src/main/java/com/ydtech/modules/customer/entity/vo/ReturnMessageVo.java

@@ -0,0 +1,32 @@
+package com.ydtech.modules.customer.entity.vo;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class ReturnMessageVo implements Serializable {
+
+    private static final long serialVersionUID = -2521321774624902217L;
+
+    @ApiModelProperty(value = "消息")
+    private String message;
+
+    @ApiModelProperty(value = "时间")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date date;
+
+    public ReturnMessageVo(String message) {
+        this.message = message;
+        this.date = new Date();
+    }
+}

+ 3 - 2
src/main/java/com/ydtech/modules/customer/service/CustomerService.java

@@ -1,6 +1,7 @@
 package com.ydtech.modules.customer.service;
 
 import com.ydtech.modules.customer.entity.po.CusChatMessages;
+import com.ydtech.modules.customer.entity.vo.ReturnMessageVo;
 
 import java.util.List;
 
@@ -12,10 +13,10 @@ public interface CustomerService {
      * @param message 消息
      * @return
      */
-    String sendMessage(String message);
+    ReturnMessageVo sendMessage(String message);
 
     /**
-     * 获取
+     * 获取消息
      * @return
      */
     List<CusChatMessages> queryMessage();

+ 6 - 8
src/main/java/com/ydtech/modules/customer/service/impl/CustomerServiceImpl.java

@@ -1,12 +1,14 @@
 package com.ydtech.modules.customer.service.impl;
 
-import cn.hutool.core.util.ArrayUtil;
+
 import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.constants.GroupType;
 import com.ydtech.modules.customer.components.CustomerComponents;
 import com.ydtech.modules.customer.entity.po.CusChatMessages;
 import com.ydtech.modules.customer.service.CusChatMessagesService;
 import com.ydtech.modules.customer.service.CustomerService;
+import com.ydtech.modules.customer.entity.vo.ReturnMessageVo;
+
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -25,7 +27,7 @@ public class CustomerServiceImpl implements CustomerService {
 
     @Override
     @Transactional
-    public String sendMessage(String message) {
+    public ReturnMessageVo sendMessage(String message) {
         String userId = BaseController.getUserId();
         List<CusChatMessages> list = new ArrayList<>();
         CusChatMessages toMessage = CusChatMessages.toAiMessage(userId, message);
@@ -33,18 +35,14 @@ public class CustomerServiceImpl implements CustomerService {
         CusChatMessages receptionMessages = CusChatMessages.receptionAiMessage(userId, message);
         Collections.addAll(list, toMessage, receptionMessages);
         cusChatMessagesService.saveBatch(list);
-        return s;
+        return new ReturnMessageVo(s);
     }
 
 
     @Override
     public List<CusChatMessages> queryMessage() {
         String userId = BaseController.getUserId();
-        cusChatMessagesService
-                .lambdaQuery()
-                .eq(CusChatMessages::getGroupType, GroupType.GT_1.getCode())
-                .and(x -> x.eq(CusChatMessages::getToUserId, userId).or().eq(CusChatMessages::getFromUserId, userId))
-                .orderByDesc(CusChatMessages::getCreatedAt);
+        cusChatMessagesService.lambdaQuery().eq(CusChatMessages::getGroupType, GroupType.GT_1.getCode()).and(x -> x.eq(CusChatMessages::getToUserId, userId).or().eq(CusChatMessages::getFromUserId, userId)).orderByDesc(CusChatMessages::getCreatedAt);
         return Collections.emptyList();
     }
 }

+ 1 - 1
src/main/java/com/ydtech/modules/fee/dto/vo/RuleAttrMappingVo.java

@@ -277,7 +277,7 @@ public class RuleAttrMappingVo {
         // 商业出险次数
         ruleAttrMappingVoList.add(new RuleAttrMappingVo("SyNumberOfClaims", insAreaCompany.getSyClaims() == null ? "0" : insAreaCompany.getSyClaims()));
         // 车牌地区
-        ruleAttrMappingVoList.add(new RuleAttrMappingVo("LicenseArea", insAreaCompany.getLicenseno().substring(0,1)));
+        ruleAttrMappingVoList.add(new RuleAttrMappingVo("LicenseArea", insOrders.getLicenseno().substring(0,1)));
         // 系数
         ruleAttrMappingVoList.add(new RuleAttrMappingVo("Coefficient", getCoefficient(carInfo,insAreaCompany).toString()));
         return ruleAttrMappingVoList;

+ 11 - 0
src/main/java/com/ydtech/modules/order/dao/InsAreaCompanyMapper.java

@@ -3,12 +3,14 @@ package com.ydtech.modules.order.dao;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ydtech.modules.admin.model.SysUser;
 import com.ydtech.modules.admin.model.dto.*;
 import com.ydtech.modules.admin.model.report.company.*;
 import com.ydtech.modules.admin.model.report.opetationData.BusinessDataDto;
 import com.ydtech.modules.admin.model.report.opetationData.BusinessDataQueryDto;
 import com.ydtech.modules.admin.model.report.opetationData.QuotationCountDataDto;
 import com.ydtech.modules.admin.model.report.opetationData.QuotationCountQueryDto;
+import com.ydtech.modules.admin.model.vo.AgencyUserInsAreaVo;
 import com.ydtech.modules.admin.model.vo.OrdersDataVo;
 import com.ydtech.modules.admin.model.vo.SubOrder;
 import com.ydtech.modules.admin.model.vo.TaskStatisticsVo;
@@ -297,6 +299,15 @@ public interface InsAreaCompanyMapper extends BaseMapper<InsAreaCompany> {
      * @date: 2024/9/9
      **/
     List<InsuranceCompanyExcel> insuranceCompanyExcel(@Param("taskStatisticsVo") TaskStatisticsVo taskStatisticsVo);
+
+    IPage<AgencyUserInsAreaVo> queryAgencyUserInsAreaPage(Page page, @Param("dto")AgencyUserInsAreaDto agencyUserInsAreaDto);
+
+    /** 通过 车牌号车架号获取小定单已承保数据
+     *
+     * @param ordersDataDto
+     * @return
+     */
+    OrdersDataDto getSumBigOrderCount(@Param("vo") OrdersDataDto ordersDataDto);
 }
 
 

+ 2 - 1
src/main/java/com/ydtech/modules/order/entity/BasePageResult.java

@@ -4,12 +4,13 @@ import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
+import java.io.Serializable;
 import java.util.List;
 
 @Data
 @AllArgsConstructor
 @NoArgsConstructor
-public class BasePageResult<T> {
+public class BasePageResult<T> implements Serializable {
     /**
      * 当前页码
      */

+ 3 - 1
src/main/resources/application-pre.yml

@@ -111,7 +111,9 @@ resp_json: '{"status":"Z00001","msg":"success","data":{"invoiceType":[],"payWayL
 dx:
   api:
     findDataUserIdUrl: http://172.24.144.220:8008/dxData/listByUserId
-    findDataUserIdAndDayUrl: http://172.24.144.220:8008/dxData/listByUserIdByDay
+    findDataUserIdAndDayUrl: http://172.24.144.220:8088/dxData/listByUserIdByDay
+    findUserById: http://172.24.144.220:8008/uuser/findByUserId
+    findUserListByPage: http://172.24.144.220:8008/uuser/queryUserPage
 
 spring:
   datasource:

+ 2 - 1
src/main/resources/application-prod.yml

@@ -112,7 +112,8 @@ dx:
   api:
     findDataUserIdUrl: http://172.24.144.220:8008/dxData/listByUserId
     findDataUserIdAndDayUrl: http://172.24.144.220:8008/dxData/listByUserIdByDay
-
+    findUserById: http://172.24.144.220:8008/uuser/findByUserId
+    findUserListByPage: http://172.24.144.220:8008/uuser/queryUserPage
 spring:
   datasource:
     dynamic:

+ 2 - 1
src/main/resources/application-test.yml

@@ -126,7 +126,8 @@ dx:
   api:
     findDataUserIdUrl: http://172.24.144.218:8008/dxData/listByUserId
     findDataUserIdAndDayUrl: http://172.24.144.218:8008/dxData/listByUserIdByDay
-
+    findUserById: http://172.24.144.218:8008/uuser/findByUserId
+    findUserListByPage: http://172.24.144.218:8008/uuser/queryUserPage
 spring:
   datasource:
     dynamic:

+ 21 - 0
src/main/resources/mapper/modules/admin/SysAgencyLeaderMapper.xml

@@ -69,5 +69,26 @@
         </where>
     </select>
 
+    <select id="getBigDecimalNum" resultType="java.util.HashMap">
+        SELECT
+        sum(IFNULL(iac.jqpremium,0) + IFNULL(iac.sypremium,0) + IFNULL(iac.jypremium,0))  as bigDecimal
+        FROM
+        ins_area_company iac
+        left join ins_orders io on iac.orderno = io.orderno
+        <where>
+            iac.orderstatus ='3'
+            <if test="deptId  != null  and  deptId !=''">
+                and io.deptid like CONCAT( #{deptId}, '%' )
+            </if>
+            <if test="createTime  != null  and  createTime !=''">
+                and io.createtime >= #{createTime}
+            </if>
+            <if test="beginTime !=null and beginTime != '' and endTime !=null and endTime != ''">
+                AND  io.createtime  BETWEEN  #{beginTime}  AND  #{endTime}
+            </if>
+        </where>
+
+    </select>
+
 </mapper>
 

+ 49 - 0
src/main/resources/mapper/modules/admin/SysUserLinkDxUserIdMapper.xml

@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ydtech.modules.admin.dao.SysUserLinkDxUserIdMapper">
+
+    <resultMap id="BaseResultMap" type="com.ydtech.modules.admin.model.po.SysUserLinkDxUserId">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="userId" column="user_id" jdbcType="VARCHAR"/>
+            <result property="dxUserId" column="dx_user_id" jdbcType="VARCHAR"/>
+            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+            <result property="createUserId" column="create_user_id" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,user_id,dx_user_id,
+        create_time,create_user_id
+    </sql>
+    <select id="queryPage" resultType="com.ydtech.modules.admin.model.dto.SysUserLinkUserDto">
+        SELECT
+            su.id as userId,
+            su.NAME as userName,
+            su.dept_id as  deptId,
+            dept.NAME AS deptName,
+            dx.dx_user_id AS linkUserId,
+            su.mobile  as  mobile
+        FROM
+            sys_user su
+                LEFT JOIN sys_dept dept ON su.dept_id = dept.id
+                LEFT JOIN sys_user_link_dx_user_id  dx ON dx.user_id = su.id
+        <where>
+            su.`status`=1
+            and  dept.management_source = 3
+            <if test="vo.userName != null and vo.userName != ''">
+                AND su.NAME like CONCAT('%', #{vo.userName}, '%')
+            </if>
+            <if test="vo.mobile != null and vo.mobile != ''">
+                AND su.mobile  = #{vo.mobile }
+            </if>
+            <if test="vo.userId != null and vo.userId != ''">
+                AND su.id = #{vo.userId}
+            </if>
+            <if test="vo.deptId != null and vo.deptId != ''">
+                AND su.dept_id like CONCAT('%', #{vo.deptId}, '%')
+            </if>
+        </where>
+          order by su.id
+    </select>
+</mapper>

+ 1 - 0
src/main/resources/mapper/modules/admin/SysUserLinkZgdUserIdMapper.xml

@@ -30,6 +30,7 @@
                 LEFT JOIN sys_user_link_zgd_user_id  zgd ON zgd.user_id = su.id
         <where>
             su.`status`=1
+            and  dept.management_source = 3
             <if test="vo.userName != null and vo.userName != ''">
                 AND su.NAME like CONCAT('%', #{vo.userName}, '%')
             </if>

+ 1 - 0
src/main/resources/mapper/modules/admin/SysUserLinkZzbUserIdMapper.xml

@@ -30,6 +30,7 @@
         LEFT JOIN sys_user_link_zzb_user_id  zzb ON zzb.user_id = su.id
         <where>
             su.`status`=1
+            and  dept.management_source = 3
             <if test="vo.userName != null and vo.userName != ''">
                 AND su.NAME like CONCAT('%', #{vo.userName}, '%')
             </if>

+ 70 - 23
src/main/resources/mapper/modules/order/InsAreaCompanyMapper.xml

@@ -887,6 +887,9 @@
         <if test="vo.userId  != null  and vo.userId !=''">
             AND  io.userid  =#{vo.userId}
         </if>
+        <if test="vo.deptId  != null  and vo.deptId !=''">
+            AND  io.deptId  like concat('%',#{vo.leaderName},'%')
+        </if>
         GROUP BY
         agree.insurance_company,
         iac.company_id,
@@ -946,6 +949,9 @@
         <if test="vo.userId  != null  and vo.userId !=''">
             AND  io.userid  =#{vo.userId}
         </if>
+        <if test="vo.deptId  != null  and vo.deptId !=''">
+            AND  io.deptId  like concat('%',#{vo.leaderName},'%')
+        </if>
         GROUP BY
         agree.partner_companies_id
         ) a
@@ -983,7 +989,9 @@
     </select>
 
     <select id="queryPageTaskStatistics"  resultType="com.ydtech.modules.admin.model.dto.TaskStatisticsDto">
-        select a.*,(select name  from sys_user  where id =a.userId) as "userName",
+        select a.*, su.name  as "userName",
+        inf.url  as "logo",
+        sui.sex as "sex",
         su.leader_name as "leaderName"
         from (
         SELECT
@@ -1056,6 +1064,9 @@
         sd.id
         ) a
         left  join  sys_user su  on su.id =a.userId
+        LEFT JOIN  ins_upload_files   inf on  su.head_sculpture  =inf.id
+        LEFT JOIN sys_user_info  sui  on  sui .id =su.id
+
     </select>
     <select id="queryPageTaskStatisticsTotal"  resultType="java.lang.Long">
         select count(0) from (
@@ -1737,31 +1748,14 @@
     <select id="querOrdersDataPage"  resultType="com.ydtech.modules.admin.model.report.company.OrdersDataDto">
         SELECT
         count( 0 ) AS "orderNumber",
-        SUM( CASE WHEN orderstatus = '3' THEN 1 ELSE 0 END ) / count( 0 )  AS "closeRate",
         b.licenseno as "licenseno",
-        b.frameno as "frameno",
-        b.inscompany as "namesimple"
+        b.frameno as "frameno"
         FROM
         (
         SELECT
         io.orderstatus AS orderstatus,
         io.frameno AS frameno,
-        ifnull(io.licenseno, '') AS licenseno,
-        ifnull(
-        (
-        SELECT
-        ifnull( inscompany, '' )
-        FROM
-        ins_area_company
-        WHERE
-        orderno = io.orderno
-        AND io.orderstatus = 3
-        AND orderstatus = 3
-        ORDER BY
-        createtime DESC
-        LIMIT 1
-        ), ''
-        ) AS inscompany
+        ifnull(io.licenseno, '') AS licenseno
         FROM
         ins_orders io
         LEFT JOIN sys_user  su  on io.userid=su.id
@@ -1797,9 +1791,7 @@
         ) b
         GROUP  BY
         b.licenseno,
-        b.frameno,
-        b.inscompany,
-        b.orderstatus
+        b.frameno
     </select>
 
     <select id="getOrdersGroupByLicenseno"  resultType="com.ydtech.modules.admin.model.report.company.OrdersDataDto">
@@ -2126,4 +2118,59 @@
 
 
     </select>
+
+
+    <select id="getSumBigOrderCount" resultType="com.ydtech.modules.admin.model.report.company.OrdersDataDto">
+        select count(0) as "orderNumber",
+        GROUP_CONCAT(inscompany ORDER BY inscompany SEPARATOR ',') as "namesimple"
+        from ins_area_company iac
+        left join ins_orders io on io.orderno = iac.orderno
+        <where>
+            1=1
+            and  iac.orderstatus ='3'
+            and io.orderstatus ='3'
+            <if test="vo.licenseno !=null  and vo.licenseno!=''">
+                AND io.licenseno =#{vo.licenseno}
+            </if>
+            <if test="vo.frameno !=null  and vo.frameno!=''">
+                AND io.frameno =#{vo.frameno}
+            </if>
+            <if test="vo.beginDate  != null  and  vo.beginDate!=''  and vo.endDate  != null  and  vo.endDate!=''">
+                AND io.createtime BETWEEN #{vo.beginDate} AND #{vo.endDate}
+            </if>
+        </where>
+    </select>
+    <select id="queryAgencyUserInsAreaPage" resultType="com.ydtech.modules.admin.model.vo.AgencyUserInsAreaVo">
+        select
+            io.userid as userId,
+            io.username as userName,
+            io.licenseno as licenseno,
+            iac.id as companyId,
+            iac.jqpremium as jqpremium,
+            iac.sypremium as sypremium,
+            iac.jypremium as jypremium,
+            iac.createtime as createtime,
+            iac.orderstatus as orderstatus
+
+        from ins_area_company iac
+        left join ins_orders io on io.orderno = iac.orderno
+        <where>
+            iac.orderstatus=3
+            <if test="dto.userId !=null  and  dto.userId !=''">
+                and io.userid = #{dto.userId}
+            </if>
+            <if test="dto.deptId !=null  and  dto.deptId !=''">
+                and io.deptid = #{dto.deptId}
+            </if>
+            <if test="dto.startTime !=null  and  dto.startTime !=''">
+                and io.createtime >= #{dto.startTime}
+            </if>
+
+        </where>
+        ORDER BY iac.createtime
+
+    </select>
+
+
+
 </mapper>