Bladeren bron

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

hxl13994548489 2 jaren geleden
bovenliggende
commit
ec5bb5dd45
21 gewijzigde bestanden met toevoegingen van 266 en 146 verwijderingen
  1. 8 6
      src/main/java/com/ydtech/modules/admin/constants/UserWorkStatus.java
  2. 0 4
      src/main/java/com/ydtech/modules/admin/controller/SysAgencyFeeApprovalController.java
  3. 16 19
      src/main/java/com/ydtech/modules/admin/controller/SysUserController.java
  4. 1 3
      src/main/java/com/ydtech/modules/admin/dao/SysUserMapper.java
  5. 19 0
      src/main/java/com/ydtech/modules/admin/model/SysAgencyFeeApproval.java
  6. 22 0
      src/main/java/com/ydtech/modules/admin/model/SysAgencyFeeApprovalRecord.java
  7. 42 9
      src/main/java/com/ydtech/modules/admin/model/SysUserTrack.java
  8. 15 43
      src/main/java/com/ydtech/modules/admin/model/dto/SysAgencyFeeApprovalAddDto.java
  9. 2 0
      src/main/java/com/ydtech/modules/admin/model/dto/TeamInformationDto.java
  10. 6 1
      src/main/java/com/ydtech/modules/admin/model/vo/AgencyExtractFee.java
  11. 5 0
      src/main/java/com/ydtech/modules/admin/model/vo/AgencyExtractFeeVo.java
  12. 1 0
      src/main/java/com/ydtech/modules/admin/model/vo/TeamInformation.java
  13. 41 2
      src/main/java/com/ydtech/modules/admin/service/impl/SysAgencyFeeApprovalServiceImpl.java
  14. 23 6
      src/main/java/com/ydtech/modules/admin/service/impl/SysAgencyLeaderServiceImpl.java
  15. 2 1
      src/main/java/com/ydtech/modules/admin/service/impl/SysPartnerServiceImpl.java
  16. 26 28
      src/main/java/com/ydtech/modules/admin/service/impl/SysUserServiceImpl.java
  17. 1 1
      src/main/java/com/ydtech/modules/fnc/service/impl/InsFeeAuditServiceImpl.java
  18. 3 0
      src/main/java/com/ydtech/modules/order/entity/vo/OrderQueryVo.java
  19. 21 19
      src/main/resources/mapper/modules/admin/SysUserMapper.xml
  20. 2 4
      src/main/resources/mapper/modules/admin/SysUserTrackMapper.xml
  21. 10 0
      src/main/resources/mapper/modules/order/InsOrdersMapper.xml

+ 8 - 6
src/main/java/com/ydtech/modules/admin/constants/UserWorkStatus.java

@@ -8,12 +8,14 @@ import lombok.Getter;
 @AllArgsConstructor
 public enum UserWorkStatus {
 
-    UWS_0(0,"在职"),
-    UWS_1(1,"正常"),
-    UWS_2(2,"入司待审核"),
-    UWS_3(3,"入司审核驳回"),
-    UWS_4(4,"离司待审核"),
-    UWS_5(5,"离司审核驳回");
+    UWS_0(0, "离司"),
+    UWS_1(1, "在职"),
+    UWS_2(2, "入司待审核"),
+    UWS_3(3, "入司审核驳回"),
+    UWS_4(4, "离司待审核"),
+    UWS_5(5, "离司审核驳回"),
+    UWS_6(6, "修改待审核"),
+    UWS_7(7, "修改审核驳回");
 
     private final Integer code;
 

+ 0 - 4
src/main/java/com/ydtech/modules/admin/controller/SysAgencyFeeApprovalController.java

@@ -76,10 +76,6 @@ public class SysAgencyFeeApprovalController extends BaseController {
     @ApiOperation(value = "提现申请保存")
     @PostMapping("/add")
     public HttpResult add(@RequestBody SysAgencyFeeApprovalAddDto sysAgencyFeeApprovalAddDto) {
-        BigDecimal cashFee = sysAgencyFeeApprovalAddDto.getCashFee();
-        if (cashFee.equals(new BigDecimal("0.00"))) {
-            throw new SystemException("无可提现金额!");
-        }
         return this.sysAgencyFeeApprovalService.insert(sysAgencyFeeApprovalAddDto);
     }
 

+ 16 - 19
src/main/java/com/ydtech/modules/admin/controller/SysUserController.java

@@ -452,7 +452,6 @@ public class SysUserController extends BaseController {
         return HttpResult.ok("", sysUserService.getQuTeamByCompany(quTeamNumDto));
     }
 
-
     @ApiOperation(value = "(重构)审批通过")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "userId", value = "用户ID")
@@ -460,16 +459,16 @@ public class SysUserController extends BaseController {
     @GetMapping(value = "/approvalPass")
     public HttpResult approvalPass(@RequestParam String userId) {
         SysUser sysUser = sysUserService.getById(userId);
-        if (sysUser.getStatus() == UserWorkStatus.UWS_2.getCode()) {
+        if (Objects.equals(sysUser.getStatus(), UserWorkStatus.UWS_2.getCode())) {
             sysUser.setStatus(UserWorkStatus.UWS_1.getCode());
-        } else if (sysUser.getStatus() == UserWorkStatus.UWS_4.getCode()) {
+        } else if (Objects.equals(sysUser.getStatus(), UserWorkStatus.UWS_4.getCode())) {
             sysUser.setStatus(UserWorkStatus.UWS_0.getCode());
+        } else if (Objects.equals(sysUser.getStatus(), UserWorkStatus.UWS_6.getCode())) {
+            sysUser.setStatus(UserWorkStatus.UWS_1.getCode());
         }
-        SysUserTrack sysUserTrack = new SysUserTrack();
-        sysUserTrack.setUserId(userId);
-        sysUserTrack.setApproveBy(getUserName());
-        sysUserTrack.setStatus(sysUser.getStatus());
-        sysUserTrack.setApproveTime(new Date());
+
+        SysUserTrack sysUserTrack = new SysUserTrack(sysUser);
+
         sysUserTrackService.save(sysUserTrack);
         return HttpResult.ok(sysUserService.updateById(sysUser));
 
@@ -484,21 +483,19 @@ public class SysUserController extends BaseController {
     @GetMapping(value = "/approvalNotPass")
     public HttpResult<Boolean> approvalNotPass(@RequestParam String userId, @RequestParam String reason) {
 
-
         SysUser sysUser = sysUserService.getById(userId);
         if (Objects.equals(sysUser.getStatus(), UserWorkStatus.UWS_2.getCode())) {
             sysUser.setStatus(UserWorkStatus.UWS_3.getCode());
         } else if (Objects.equals(sysUser.getStatus(), UserWorkStatus.UWS_4.getCode())) {
             sysUser.setStatus(UserWorkStatus.UWS_5.getCode());
+        } else if (Objects.equals(sysUser.getStatus(), UserWorkStatus.UWS_6.getCode())) {
+            sysUser.setStatus(UserWorkStatus.UWS_7.getCode());
         }
-        sysUser.setApprovalOpinion(reason);
-        SysUserTrack sysUserTrack = new SysUserTrack();
-        sysUserTrack.setUserId(userId);
-        sysUserTrack.setApproveBy(getUserName());
-        sysUserTrack.setStatus(sysUser.getStatus());
+
+        SysUserTrack sysUserTrack = new SysUserTrack(sysUser);
         sysUserTrack.setApproveMess(reason);
-        sysUserTrack.setApproveTime(new Date());
         sysUserTrackService.save(sysUserTrack);
+
         return HttpResult.ok(sysUserService.updateById(sysUser));
 
     }
@@ -709,6 +706,7 @@ public class SysUserController extends BaseController {
         if ("1".equals(dto.getFlag())) {
             sysUser.setOperatorCode(recommenderid);
         }
+        sysUser.setIdentity(dto.getIdentity());
         sysUser.setFactorVerify(response != null && "00".equals(response.getRespCode())? 1:0);
         sysUserService.save(sysUser);
 
@@ -921,11 +919,10 @@ public class SysUserController extends BaseController {
         return sysUserService.departApply(sysUserVO) ? HttpResult.ok("离职申请提交成功") : HttpResult.error("离职申请提交失败");
     }
 
-
     @ApiOperation(value = "离职恢复")
-    @PostMapping("/separationReinstatement/{id}")
-    public HttpResult separationReinstatement(@PathVariable String id) {
-        sysUserService.separationReinstatement(id);
+    @GetMapping("/separationReinstatement/{userId}")
+    public HttpResult separationReinstatement(@PathVariable String userId) {
+        sysUserService.separationReinstatement(userId);
         return HttpResult.ok("恢复成功");
     }
 

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

@@ -112,9 +112,7 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
     @Select(internalUserByDeptIdSql)
     SysUserVO gainInternalUserByDeptId(@Param("deptId") String deptId);
 
-    @Select("SELECT u.id,u.name,r.id roleId,r.name roleName FROM sys_user u " +
-            "LEFT JOIN sys_user_role sur ON sur.user_id = u.id " +
-            "LEFT JOIN sys_role r ON r.id = sur.role_id WHERE r.id IN ('21') and u.status=1 and u.dept_id=#{deptId}")
+
     List<SysUserVO> findByReferrerId(@Param("deptId") String deptId);
 
 

+ 19 - 0
src/main/java/com/ydtech/modules/admin/model/SysAgencyFeeApproval.java

@@ -1,6 +1,7 @@
 package com.ydtech.modules.admin.model;
 
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
@@ -52,6 +53,24 @@ public class SysAgencyFeeApproval implements Serializable {
     @ApiModelProperty(value = "机构name")
     private String deptName;
 
+    /**
+     * 银行卡号
+     */
+    @TableField(value = "bank_number")
+    private String bankNumber;
+
+    /**
+     * 开户行
+     */
+    @TableField(value = "bank_account")
+    private String bankAccount;
+
+    /**
+     * 开户行地址
+     */
+    @TableField(value = "bank_address")
+    private String bankAddress;
+
     @ApiModelProperty(value = "提现编号")
     private String number;
     /**

+ 22 - 0
src/main/java/com/ydtech/modules/admin/model/SysAgencyFeeApprovalRecord.java

@@ -1,6 +1,7 @@
 package com.ydtech.modules.admin.model;
 
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -43,6 +44,27 @@ public class SysAgencyFeeApprovalRecord {
      */
     @ApiModelProperty(value = "机构name")
     private String deptName;
+
+    /**
+     * 银行卡号
+     */
+    @TableField(value = "bank_number")
+    private String bankNumber;
+
+    /**
+     * 开户行
+     */
+    @TableField(value = "bank_account")
+    private String bankAccount;
+
+    /**
+     * 开户行地址
+     */
+    @TableField(value = "bank_address")
+    private String bankAddress;
+
+    @ApiModelProperty(value = "提现编号")
+    private String number;
     /**
      * 总保费
      */

+ 42 - 9
src/main/java/com/ydtech/modules/admin/model/SysUserTrack.java

@@ -1,47 +1,80 @@
 package com.ydtech.modules.admin.model;
 
-import cn.dev33.satoken.stp.StpUtil;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+
+import com.ydtech.modules.base.controller.BaseController;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
-import java.util.Date;
-
-@Data
+/**
+ * 系统用户审核轨迹表
+ * @TableName sys_user_track
+ */
 @AllArgsConstructor
 @NoArgsConstructor
-public class SysUserTrack {
+@TableName(value ="sys_user_track")
+@Data
+public class SysUserTrack implements Serializable {
     /**
-     * id
+     * 主键id
      */
-    private Integer id;
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
     /**
      * 用户id
      */
+    @TableField(value = "user_id")
     private String userId;
+
     /**
-     * 用户状态 0,"离司",1,"正常",2,"入司待审核",3,"入司审核驳回",4,"离司待审核",5,"离司审核驳回"
+     * 状态  1:正常   0:删除 2:审批中  3:审批不通过
      */
+    @TableField(value = "status")
     private Integer status;
+
     /**
      * 审核人
      */
+    @TableField(value = "approve_by")
     private String approveBy;
+
+    /**
+     * 审核人id
+     */
+    @TableField(value = "approve_by_id")
+    private String approveById;
+
     /**
      * 审核时间
      */
+    @TableField(value = "approve_time")
     private Date approveTime;
+
     /**
      * 审核信息
      */
+    @TableField(value = "approve_mess")
     private String approveMess;
 
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
 
     public SysUserTrack(SysUser sysUser) {
         this.userId = sysUser.getId();
         this.status = sysUser.getStatus();
-        this.approveBy = StpUtil.getLoginId().toString();
+        SysUser user = BaseController.getUser();
+        this.approveBy = user.getName();
+        this.approveById = user.getId();
         this.approveTime = new Date();
     }
 
+
 }

+ 15 - 43
src/main/java/com/ydtech/modules/admin/model/dto/SysAgencyFeeApprovalAddDto.java

@@ -1,5 +1,6 @@
 package com.ydtech.modules.admin.model.dto;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -12,55 +13,26 @@ import java.util.Date;
 @Data
 @ApiModel(value = "机构保费抽成提交审批入参")
 public class SysAgencyFeeApprovalAddDto {
-
-    /**
-     * 员工id
-     */
-    @ApiModelProperty(value = "员工id")
-    private String userId;
     /**
-     * 员工姓名
+     * 银行卡号
      */
-    @ApiModelProperty(value = "员工姓名")
-    private String userName;
+    @ApiModelProperty(value = "银行卡号")
+    private String bankNumber;
 
-    @ApiModelProperty(value = "机构id")
-    private String deptId;
-    /**
-     * 机构name
-     */
-    @ApiModelProperty(value = "机构name")
-    private String deptName;
-    /**
-     * 总保费
-     */
-    @ApiModelProperty(value = "总保费")
-    private BigDecimal sumpremium;
-    /**
-     * 抽成比例(总保费抽成)
-     */
-    @ApiModelProperty(value = "抽成比例(总保费抽成)")
-    private String proportional;
-    /**
-     * 总保费抽成费用
-     */
-    @ApiModelProperty(value = "总保费抽成费用")
-    private BigDecimal extractFee;
     /**
-     * 已提现抽成费用
+     * 开户行
      */
-    @ApiModelProperty(value = "已提现抽成费用")
-    private BigDecimal historyFee;
+    @ApiModelProperty(value = "开户行")
+    private String bankAccount;
+
     /**
-     * 可提现抽成费用
+     * 开户行地址
      */
-    @ApiModelProperty(value = "可提现抽成费用")
+    @ApiModelProperty(value = "开户行地址")
+    private String bankAddress;
+
+    @ApiModelProperty(value = "实际提现费用")
     @JsonFormat(pattern = "0.00")
-    private BigDecimal cashFee;
-    /**
-     * 提层计算时间
-     */
-    @ApiModelProperty(value = "提层计算开始时间")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private String startTime;
+    private BigDecimal actualFee;
+
 }

+ 2 - 0
src/main/java/com/ydtech/modules/admin/model/dto/TeamInformationDto.java

@@ -8,6 +8,8 @@ import org.springframework.format.annotation.DateTimeFormat;
 @Data
 @ApiModel(value = "查询机构下团队信息")
 public class TeamInformationDto {
+    @ApiModelProperty(value = "首页为1,详情为2")
+    private Integer type;
 
     @ApiModelProperty(value = "用户id")
     private String deptName;

+ 6 - 1
src/main/java/com/ydtech/modules/admin/model/vo/AgencyExtractFee.java

@@ -30,18 +30,23 @@ public class AgencyExtractFee {
     private String deptName;
 
     @ApiModelProperty(value = "总保费")
+    @JsonFormat(pattern = "0.00")
     private BigDecimal sumpremium;
 
     @ApiModelProperty(value = "抽成比例(总保费抽成)")
+    @JsonFormat(pattern = "0.00")
     private String proportional;
 
-    @ApiModelProperty(value = "总保费抽成费用")
+    @ApiModelProperty(value = "保费抽成费用")
+    @JsonFormat(pattern = "0.00")
     private BigDecimal extractFee;
 
     @ApiModelProperty(value = "已提现抽成费用")
+    @JsonFormat(pattern = "0.00")
     private BigDecimal historyFee;
 
     @ApiModelProperty(value = "可提现抽成费用")
+    @JsonFormat(pattern = "0.00")
     private BigDecimal cashFee;
 
     @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")

+ 5 - 0
src/main/java/com/ydtech/modules/admin/model/vo/AgencyExtractFeeVo.java

@@ -28,18 +28,23 @@ public class AgencyExtractFeeVo {
     private String deptName;
 
     @ApiModelProperty(value = "总保费")
+    @JsonFormat(pattern = "0.00")
     private BigDecimal sumpremium;
 
     @ApiModelProperty(value = "抽成比例(总保费抽成)")
+    @JsonFormat(pattern = "0.00")
     private String proportional;
 
     @ApiModelProperty(value = "总保费抽成费用")
+    @JsonFormat(pattern = "0.00")
     private BigDecimal extractFee;
 
     @ApiModelProperty(value = "已提现抽成费用")
+    @JsonFormat(pattern = "0.00")
     private BigDecimal historyFee;
 
     @ApiModelProperty(value = "可提现抽成费用")
+    @JsonFormat(pattern = "0.00")
     private BigDecimal cashFee;
 
     @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")

+ 1 - 0
src/main/java/com/ydtech/modules/admin/model/vo/TeamInformation.java

@@ -28,6 +28,7 @@ public class TeamInformation {
      * 团队总保费
      */
     @ApiModelProperty(value = "团队总保费")
+    @JsonFormat(pattern = "0.00")
     private BigDecimal sumpremium;
 
     /**

+ 41 - 2
src/main/java/com/ydtech/modules/admin/service/impl/SysAgencyFeeApprovalServiceImpl.java

@@ -7,15 +7,20 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.aop.exception.DescribeException;
 import com.ydtech.core.page.HttpResult;
+import com.ydtech.exception.SystemException;
 import com.ydtech.modules.admin.dao.SysAgencyFeeApprovalMapper;
 import com.ydtech.modules.admin.dao.SysAgencyFeeApprovalRecordMapper;
 import com.ydtech.modules.admin.model.SysAgencyFeeApproval;
 import com.ydtech.modules.admin.model.SysAgencyFeeApprovalRecord;
+import com.ydtech.modules.admin.model.SysUser;
 import com.ydtech.modules.admin.model.dto.SysAgencyFeeApprovalAddDto;
 import com.ydtech.modules.admin.model.dto.SysAgencyFeeApprovalDto;
 import com.ydtech.modules.admin.model.dto.SysAgencyFeeApprovalEditDto;
 import com.ydtech.modules.admin.model.dto.SysAgencyFeeApprovalPageDto;
+import com.ydtech.modules.admin.model.vo.AgencyExtractFee;
 import com.ydtech.modules.admin.service.SysAgencyFeeApprovalService;
+import com.ydtech.modules.admin.service.SysAgencyLeaderService;
+import com.ydtech.modules.admin.service.SysUserService;
 import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.order.entity.BasePageResult;
 import com.ydtech.modules.order.entity.InsOrders;
@@ -25,6 +30,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 
@@ -43,15 +49,48 @@ public class SysAgencyFeeApprovalServiceImpl extends ServiceImpl<SysAgencyFeeApp
     @Resource
     private SysAgencyFeeApprovalRecordMapper sysAgencyFeeApprovalRecordMapper;
 
+    @Resource
+    private SysAgencyLeaderService sysAgencyLeaderService;
+
+
 
 
     @Override
     @Transactional(rollbackFor = Exception.class)
     public HttpResult insert(SysAgencyFeeApprovalAddDto sysAgencyFeeApprovalAddDto) {
+        BigDecimal actualFee = sysAgencyFeeApprovalAddDto.getActualFee();
+        if (actualFee == null || actualFee.equals(new BigDecimal("0.00"))) {
+            throw new SystemException("请输入提现金额");
+        }
+        //当前登录用户
+        SysUser user = BaseController.getUser();
+        //查询当前用户可提现金额
+        AgencyExtractFee agencyExtractFee = sysAgencyLeaderService.queryExtractFee(user.getId());
+
+        BigDecimal cashFee = agencyExtractFee.getCashFee();
+        int compare = cashFee.compareTo(actualFee);
+        if (compare < 0) {
+            throw new SystemException("提现金额不能超过可提现金额");
+        }
+
         SysAgencyFeeApproval sysAgencyFeeApproval = BeanUtil.copyProperties(sysAgencyFeeApprovalAddDto, SysAgencyFeeApproval.class);
-        sysAgencyFeeApproval.setCreateTime(new Date());
+        sysAgencyFeeApproval.setUserId(user.getId());
+        sysAgencyFeeApproval.setUserName(user.getName());
+        sysAgencyFeeApproval.setDeptId(user.getDeptId());
+        sysAgencyFeeApproval.setDeptName(user.getDeptName());
         sysAgencyFeeApproval.setNumber(IdGenerate.nextId());
-        sysAgencyFeeApproval.setCreateBy(BaseController.getUser().getName());
+        //总保费
+        sysAgencyFeeApproval.setSumpremium(agencyExtractFee.getSumpremium());
+        //总保费抽成费用
+        sysAgencyFeeApproval.setExtractFee(agencyExtractFee.getExtractFee());
+        //已提现抽成费用
+        sysAgencyFeeApproval.setHistoryFee(agencyExtractFee.getHistoryFee());
+        //可提现抽成费用
+        sysAgencyFeeApproval.setCashFee(actualFee);
+        sysAgencyFeeApproval.setStartTime(agencyExtractFee.getStartTime());
+        sysAgencyFeeApproval.setProportional(agencyExtractFee.getProportional());
+        sysAgencyFeeApproval.setCreateBy(user.getName());
+        sysAgencyFeeApproval.setCreateTime(new Date());
         //提交审核信息
         save(sysAgencyFeeApproval);
         //保存添加记录

+ 23 - 6
src/main/java/com/ydtech/modules/admin/service/impl/SysAgencyLeaderServiceImpl.java

@@ -29,6 +29,8 @@ import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.text.DecimalFormat;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
@@ -361,7 +363,8 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
                     }
                 }
                 agencyExtractFee.setSumpremium(bigDecimal);
-                BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional()).divide(new BigDecimal("100")));
+                //总保费*比例/100  保留两位小数
+                BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional()).divide(new BigDecimal("100"))).setScale(2, RoundingMode.HALF_UP);
                 agencyExtractFee.setExtractFee(multiply);
                 // 填充 已提现抽成费用和可提现抽成费用
                 List<SysAgencyFeeApproval> sysAgencyFeeApprovals = sysAgencyFeeApprovalMapper.selectList(new LambdaQueryWrapper<SysAgencyFeeApproval>()
@@ -436,7 +439,7 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
                     }
                 }
                 agencyExtractFee.setSumpremium(bigDecimal);
-                BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional()).divide(new BigDecimal("100")));
+                BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional()).divide(new BigDecimal("100"))).setScale(2, RoundingMode.HALF_UP);
                 agencyExtractFee.setExtractFee(multiply);
                 // 填充 已提现抽成费用和可提现抽成费用
                 List<SysAgencyFeeApproval> sysAgencyFeeApprovals = sysAgencyFeeApprovalMapper.selectList(new LambdaQueryWrapper<SysAgencyFeeApproval>()
@@ -518,7 +521,7 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
                     }
                 }
                 agencyExtractFee.setSumpremium(bigDecimal);
-                BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional()).divide(new BigDecimal("100")));
+                BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional()).divide(new BigDecimal("100"))).setScale(2, RoundingMode.HALF_UP);
                 agencyExtractFee.setExtractFee(multiply);
                 // 填充 已提现抽成费用和可提现抽成费用
                 List<SysAgencyFeeApproval> sysAgencyFeeApprovals = sysAgencyFeeApprovalMapper.selectList(new LambdaQueryWrapper<SysAgencyFeeApproval>()
@@ -556,8 +559,7 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
         //合伙人
         boolean c = sysPartnerService.checkPartner(userId);
         if (c) {
-            extracted(userId, informationList,teamInformationDto);
-            return informationList;
+            return extracted(userId, informationList,teamInformationDto);
         }
         //校验当前用户是否为机构负责人
         boolean b = this.checkUserId(userId);
@@ -632,6 +634,13 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
                     }
                     teamInformation.setOrderManNum(num);
                     informationList.add(teamInformation);
+                    Integer type = teamInformationDto.getType();
+                    if (type == 1) {
+                        int size = informationList.size();
+                        if (size == 2) {
+                            return informationList;
+                        }
+                    }
                 }
 
             }
@@ -642,7 +651,7 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
         return informationList;
     }
 
-    private void extracted(String userId, List<TeamInformation> informationList,TeamInformationDto teamInformationDto) {
+    private List<TeamInformation> extracted(String userId, List<TeamInformation> informationList,TeamInformationDto teamInformationDto) {
         //查询所有推荐的机构负责人核算总保费
         List<SysRelationPerson> sysRelationPeople = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
                 .eq(SysRelationPerson::getSuggestId, userId).eq(SysRelationPerson::getType, 1));
@@ -727,10 +736,18 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
                         }
                         teamInformation.setOrderManNum(num);
                         informationList.add(teamInformation);
+                        Integer type = teamInformationDto.getType();
+                        if (type == 1) {
+                            int size = informationList.size();
+                            if (size == 2) {
+                                return informationList;
+                            }
+                        }
                     }
                 }
             }
         }
+        return informationList;
     }
 
 

+ 2 - 1
src/main/java/com/ydtech/modules/admin/service/impl/SysPartnerServiceImpl.java

@@ -24,6 +24,7 @@ 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.Date;
 import java.util.List;
@@ -242,7 +243,7 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
                         }
                     }
                     agencyExtractFee.setSumpremium(bigDecimal);
-                    BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional()));
+                    BigDecimal multiply = bigDecimal.multiply(new BigDecimal(agencyExtractFee.getProportional()).divide(new BigDecimal("100"))).setScale(2, RoundingMode.HALF_UP);
                     agencyExtractFee.setExtractFee(multiply);
                     // 填充 已提现抽成费用和可提现抽成费用
                     List<SysAgencyFeeApproval> sysAgencyFeeApprovals = sysAgencyFeeApprovalMapper.selectList(new LambdaQueryWrapper<SysAgencyFeeApproval>()

+ 26 - 28
src/main/java/com/ydtech/modules/admin/service/impl/SysUserServiceImpl.java

@@ -33,6 +33,7 @@ import com.ydtech.modules.esm.model.EsmUserReferrer;
 import com.ydtech.modules.esm.model.vo.EsmUserImageVo;
 import com.ydtech.modules.esm.service.EsmUserImageService;
 import com.ydtech.modules.esm.service.EsmUserReferrerService;
+import com.ydtech.modules.ins.model.yc.ruote.Base;
 import com.ydtech.security.utils.PasswordUtils;
 import com.ydtech.utils.StringUtils;
 import com.ydtech.utils.idgen.IdGenerate;
@@ -638,13 +639,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         List<EsmUserImageVo> esmUserImageVo = sysUserVo.getEsmUserImageVo();
         List<EsmUserImage> esmUserImages = esmUserImageVo.stream().map(x -> new EsmUserImage(x, userId)).collect(Collectors.toList());
         esmUserImageService.saveBatch(esmUserImages);
-        //添加轨迹
-        SysUserTrack sysUserTrack = new SysUserTrack();
-        sysUserTrack.setUserId(sysUser.getId());
-        sysUserTrack.setApproveBy(StpUtil.getLoginId().toString());
-        sysUserTrack.setStatus(sysUser.getStatus());
-        sysUserTrack.setApproveTime(new Date());
-        sysUserTrackService.save(sysUserTrack);
 
         return HttpResult.ok("新增成功");
     }
@@ -687,14 +681,19 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         SysUser sysUser = sysUserVo.getSysUser();
         int beStatus = sysUser.getStatus();
         //如果审核驳回则 重新修改为 审核状态
-        if(sysUserVo.getSysUser().getStatus() == UserWorkStatus.UWS_3.getCode()){
+        if (sysUserVo.getSysUser().getStatus().equals(UserWorkStatus.UWS_3.getCode())) {
             sysUserVo.getSysUser().setStatus(UserWorkStatus.UWS_2.getCode());
         }
 
-        if(sysUserVo.getSysUser().getStatus() == UserWorkStatus.UWS_5.getCode()){
+        if (Objects.equals(sysUserVo.getSysUser().getStatus(), UserWorkStatus.UWS_5.getCode())) {
             sysUserVo.getSysUser().setStatus(UserWorkStatus.UWS_4.getCode());
         }
 
+        if (Objects.equals(sysUserVo.getSysUser().getStatus(), UserWorkStatus.UWS_7.getCode())
+                || Objects.equals(sysUserVo.getSysUser().getStatus(), UserWorkStatus.UWS_1.getCode())) {
+            sysUserVo.getSysUser().setStatus(UserWorkStatus.UWS_6.getCode());
+        }
+
         //修改用户不能修改密码
         if (StringUtils.isEmpty(sysUser.getPassword())) {
             return HttpResult.error("密码不能为空");
@@ -716,7 +715,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             String pwd = PasswordUtils.encode(sysUser.getPassword(), salt);
             sysUser.setPassword(pwd);
             sysUser.setSalt(salt);
-        }else {
+        } else {
             sysUser.setPassword(sysUser_org.getPassword());
             sysUser.setSalt(sysUser_org.getSalt());
         }
@@ -724,6 +723,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         if ("19".equals(sysUser.getRoleId())) {//19 出单员 校验机构和业务员机构是否一致
             return checkChuDanUser(sysUser);
         }
+
+        sysUser.setStatus(sysUserVo.getSysUser().getStatus());
         updateById(sysUser);
 
         //角色配置
@@ -755,15 +756,19 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         esmUserImageService.saveBatch(esmUserImages);
 
         if (UserWorkStatus.UWS_5.getCode() == beStatus ||
-                UserWorkStatus.UWS_3.getCode() == beStatus) {
+                UserWorkStatus.UWS_3.getCode() == beStatus ||
+                UserWorkStatus.UWS_7.getCode() == beStatus) {
             //添加轨迹
             SysUserTrack sysUserTrack = new SysUserTrack();
             sysUserTrack.setUserId(sysUser.getId());
-            sysUserTrack.setApproveBy(StpUtil.getLoginId().toString());
+            SysUser user = BaseController.getUser();
+            sysUserTrack.setApproveBy(user.getName());
+            sysUserTrack.setApproveById(user.getId());
             sysUserTrack.setStatus(sysUserVo.getSysUser().getStatus());
             sysUserTrack.setApproveTime(new Date());
             sysUserTrackService.save(sysUserTrack);
         }
+
         return HttpResult.ok("修改成功");
     }
 
@@ -1488,10 +1493,10 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     }
 
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2024/7/11 16:08
-     *  @Description:  查询所有的后线人员
+     * @version
+     * @author: hxl
+     * @Date: 2024/7/11 16:08
+     * @Description: 查询所有的后线人员
      */
     @Override
     public List<SysUser> findHxUserList() {
@@ -1500,16 +1505,17 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 
     /**
      * 离职申请
+     *
      * @param sysUserVO
      * @return
      */
     @Override
     @Transactional
     public boolean departApply(SysUser2Vo sysUserVO) {
-        if(Objects.isNull(sysUserVO.getSysUser().getLogoutTime())){
+        if (Objects.isNull(sysUserVO.getSysUser().getLogoutTime())) {
             throw new SystemException("请填写离职时间");
         }
-        if(Objects.isNull(sysUserVO.getEsmUserImageVo()) &&  sysUserVO.getEsmUserImageVo().isEmpty()){
+        if (Objects.isNull(sysUserVO.getEsmUserImageVo()) && sysUserVO.getEsmUserImageVo().isEmpty()) {
             throw new SystemException("请上传离职证明");
         }
         SysUser byId = this.getById(sysUserVO.getSysUser().getId());
@@ -1520,15 +1526,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         //添加离职证明
         EsmUserImageVo esmUserImageVo = sysUserVO.getEsmUserImageVo().get(0);
         esmUserImageVo.setType(InsuranceImageEnum.LZ_01.getCode());
-        EsmUserImage esmUserImage = new EsmUserImage(esmUserImageVo,sysUserVO.getSysUser().getId());
+        EsmUserImage esmUserImage = new EsmUserImage(esmUserImageVo, sysUserVO.getSysUser().getId());
         esmUserImageService.save(esmUserImage);
 
         //添加轨迹
-        SysUserTrack sysUserTrack = new SysUserTrack();
-        sysUserTrack.setUserId(byId.getId());
-        sysUserTrack.setApproveBy(StpUtil.getLoginId().toString());
-        sysUserTrack.setStatus(byId.getStatus());
-        sysUserTrack.setApproveTime(new Date());
+        SysUserTrack sysUserTrack = new SysUserTrack(byId);
         sysUserTrackService.save(sysUserTrack);
         return true;
     }
@@ -1544,10 +1546,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         SysUser sysUser = getByIdExist(userid, "离职用户未查询到");
         sysUser.setStatus(UserWorkStatus.UWS_2.getCode());
         this.updateById(sysUser);
-
-        //添加轨迹
-        SysUserTrack sysUserTrack = new SysUserTrack(sysUser);
-        sysUserTrackService.save(sysUserTrack);
     }
 
     @Override

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

@@ -767,7 +767,7 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
     @Transactional
     public InsFeeAudit saveInsFeeAuditAndHistory(String orderNo, String insOrderNo, boolean isAutoAudit, String auditstatus) {
         //查询费用审核表
-        InsFeeAudit insFeeAudit = getOne(new LambdaQueryWrapper<InsFeeAudit>().eq(InsFeeAudit::getOrderno, orderNo));
+        InsFeeAudit insFeeAudit = getOne(new LambdaQueryWrapper<InsFeeAudit>().eq(InsFeeAudit::getInsOrderNo, insOrderNo));
         if(insFeeAudit != null && insFeeAudit.getAuditstatus().equals("1")){
             throw new SystemException("该订单费用已审核,请刷新页面");
         }

+ 3 - 0
src/main/java/com/ydtech/modules/order/entity/vo/OrderQueryVo.java

@@ -153,6 +153,9 @@ public class OrderQueryVo {
     @ApiModelProperty(value = "非车保单号")
     private String noPolicyNo;
 
+    @ApiModelProperty(value = "业务来源")
+    private String source;
+
     public LocalDate getEndDatePlusOneDay() {
         if(ObjectUtils.isEmpty(endDate)){
             return endDate;

+ 21 - 19
src/main/resources/mapper/modules/admin/SysUserMapper.xml

@@ -88,16 +88,14 @@
         psd.name as pDeptName,
         t4.id as roleId,
         t4.name as roleName,
-        su.create_time as submitTime,
-        sut.approveTime as approveTime
+        (select approve_by from sys_user_track  where user_id = su.id ORDER BY approve_time desc LIMIT 1) as approveBy,
+        (select approve_time from sys_user_track  where user_id = su.id ORDER BY approve_time desc LIMIT 1) as approveTime
         from sys_user su
         left join sys_dept sd on su.dept_id=sd.id
         left join sys_dept psd on sd.parent_id=psd.id
         left join sys_user_info info on info.id=su.id
         left join sys_user_role t3 on su.id=t3.user_id
         left join sys_role t4 on t3.role_id=t4.id
-        left join (select user_id,MAX(approve_time) approveTime
-        from sys_user_track group by user_id ) sut on sut.user_id = su.id
         where 1=1
         AND sd.id &lt;&gt; ''
         <if test='user !=null  '>
@@ -138,7 +136,8 @@
         psd.id as pDeptId,
         psd.name as pDeptName,
         su.create_time as submitTime,
-        sut.approveTime as approveTime
+        (select approve_by from sys_user_track  where user_id = su.id ORDER BY approve_time desc LIMIT 1) as approveBy,
+        (select approve_time from sys_user_track  where user_id = su.id ORDER BY approve_time desc LIMIT 1) as approveTime
         FROM
         sys_user su
         LEFT JOIN sys_user_info info ON info.id = su.id
@@ -146,8 +145,6 @@
         left join sys_dept psd on psd.id = sd.parent_id
         LEFT JOIN sys_user_role t3 ON su.id = t3.user_id
         LEFT JOIN sys_role t4 ON t3.role_id = t4.id
-        left join (select user_id,MAX(approve_time) approveTime
-        from sys_user_track group by user_id ) sut on sut.user_id = su.id
         AND sd.del_flag = '0'
         WHERE
         1=1
@@ -248,8 +245,8 @@
         psd.id as pDeptId,
         psd.name as pDeptName,
         su.create_time as submitTime,
-        sut.approveTime as approveTime,
-        sut.approve_by as approvBy
+        (select approve_by from sys_user_track  where user_id = su.id ORDER BY approve_time desc LIMIT 1) as approveBy,
+        (select approve_time from sys_user_track  where user_id = su.id ORDER BY approve_time desc LIMIT 1) as approveTime
         FROM
         sys_user su
         LEFT JOIN sys_user_info info ON info.id = su.id
@@ -257,8 +254,6 @@
         left join sys_dept psd on psd.id = sd.parent_id
         LEFT JOIN sys_user_role t3 ON su.id = t3.user_id
         LEFT JOIN sys_role t4 ON t3.role_id = t4.id
-        left join (select user_id, approve_by, MAX(approve_time) approveTime
-        from sys_user_track group by user_id, approve_by ) sut on sut.user_id = su.id
         AND sd.del_flag = '0'
         WHERE
         1=1
@@ -1356,28 +1351,35 @@
 
     <select id="getByIdsList" resultType="com.ydtech.modules.admin.model.dto.QxFrontlineAgentDto">
         SELECT
-            su.name as "name",
-            sd.name as "deptName",
-            su.id  as "userId",
-            su.dept_id  as "deptId"
+        su.name as "name",
+        sd.name as "deptName",
+        su.id as "userId",
+        su.dept_id as "deptId"
         FROM
-            sys_user su
-                LEFT JOIN sys_dept sd ON sd.id = su.dept_id
+        sys_user su
+        LEFT JOIN sys_dept sd ON sd.id = su.dept_id
         <where>
-            su.id  LIKE '%M%'
+            su.id LIKE '%M%'
             and su.status = '1'
             <if test="vo.ids  != null  and  vo.ids.size()>0 ">
                 AND su.id IN
-                <foreach item="item"  collection="vo.ids" open="(" separator="," close=")">
+                <foreach item="item" collection="vo.ids" open="(" separator="," close=")">
                     #{item}
                 </foreach>
             </if>
         </where>
     </select>
+
     <select id="getByUserId" resultType="com.ydtech.modules.admin.model.SysUser">
         select t.id id,t.name name,t.mobile mobile,t2.management_source managementSource
         from sys_user t left join sys_dept t2 on t.dept_id=t2.id
         where t.id=#{id}
     </select>
 
+    <select id="findByReferrerId" resultType="com.ydtech.modules.admin.model.vo.SysUserVO">
+        SELECT u.id, u.name
+        FROM sys_user u
+        where u.dept_id = #{deptId}
+    </select>
+
 </mapper>

+ 2 - 4
src/main/resources/mapper/modules/admin/SysUserTrackMapper.xml

@@ -6,16 +6,14 @@
         <result column="user_id" property="userId" javaType="java.lang.String"/>
         <result column="status" property="status" javaType="java.lang.Integer"/>
         <result column="approve_by" property="approveBy" javaType="java.lang.String"/>
+        <result column="approve_by_id" property="approveById" javaType="java.lang.String"/>
         <result column="approve_time" property="approveTime" javaType="java.util.Date"/>
         <result column="approve_mess" property="approveMess" javaType="java.lang.String"/>
     </resultMap>
-    <insert id="insert">
-        insert into sys_user_track (user_id,status,approve_by,approve_time,approve_mess)
-        values (#{userId},#{status},#{approveBy}, #{approveTime},#{approveMess})
-    </insert>
 
     <select id="getLastTime" resultMap="sysUserTrackMap">
         select  approve_by,approve_time from sys_user_track
         where user_id = #{userId} order by approve_time desc limit 1
     </select>
+
 </mapper>

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

@@ -950,6 +950,11 @@
             <if test="orderQueryVo.orderNo != null and orderQueryVo.orderNo != ''">
                 and iac.id = #{orderQueryVo.orderNo}
             </if>
+
+            <if test="orderQueryVo.source != null and orderQueryVo.source != ''">
+                and dept.management_source = #{orderQueryVo.orderNo.source}
+            </if>
+
             <if test="orderQueryVo.deptId != null and orderQueryVo.deptId != ''">
                 and io.deptid like "${orderQueryVo.deptId}%"
             </if>
@@ -1072,6 +1077,11 @@
             <if test="orderQueryVo.orderNo != null and orderQueryVo.orderNo != ''">
                 and iac.id = #{orderQueryVo.orderNo}
             </if>
+
+            <if test="orderQueryVo.source != null and orderQueryVo.source != ''">
+                and dept.management_source = #{orderQueryVo.orderNo.source}
+            </if>
+
             <if test="orderQueryVo.deptId != null and orderQueryVo.deptId != ''">
                 and io.deptid like "${orderQueryVo.deptId}%"
             </if>