Browse Source

账本查询部分修改

xda 2 years ago
parent
commit
0bbe088d0c

+ 8 - 0
src/main/java/com/winhc/repal/controller/RepalBillController.java

@@ -2,9 +2,11 @@ package com.winhc.repal.controller;
 
 
 import com.winhc.common.base.BeanResponse;
 import com.winhc.common.base.BeanResponse;
 import com.winhc.common.enums.CodeMsg;
 import com.winhc.common.enums.CodeMsg;
+import com.winhc.common.model.base.VOPage;
 import com.winhc.repal.model.dto.*;
 import com.winhc.repal.model.dto.*;
 import com.winhc.repal.model.vo.RepalBillDetailVO;
 import com.winhc.repal.model.vo.RepalBillDetailVO;
 import com.winhc.repal.model.vo.RepalBillInfoVO;
 import com.winhc.repal.model.vo.RepalBillInfoVO;
+import com.winhc.repal.model.vo.RepalBillPageVO;
 import com.winhc.repal.service.RepalBillService;
 import com.winhc.repal.service.RepalBillService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
@@ -33,6 +35,12 @@ public class RepalBillController {
         return BeanResponse.success(CodeMsg.SUCCESS, repalBillService.getRepalBillPage(dto));
         return BeanResponse.success(CodeMsg.SUCCESS, repalBillService.getRepalBillPage(dto));
     }
     }
 
 
+    @ApiOperation("搜索账款")
+    @RequestMapping(value = "/search", method = RequestMethod.GET)
+    public BeanResponse<VOPage<RepalBillPageVO>> searchBill(SearchBillDTO dto) {
+        return BeanResponse.success(CodeMsg.SUCCESS, repalBillService.searchBill(dto));
+    }
+
     @ApiOperation("账款详情")
     @ApiOperation("账款详情")
     @RequestMapping(value = "/{repalBillId}", method = RequestMethod.GET)
     @RequestMapping(value = "/{repalBillId}", method = RequestMethod.GET)
     public BeanResponse<RepalBillDetailVO> getRepalBillDetail(@PathVariable("repalBillId")Long repalBillId) {
     public BeanResponse<RepalBillDetailVO> getRepalBillDetail(@PathVariable("repalBillId")Long repalBillId) {

+ 8 - 0
src/main/java/com/winhc/repal/controller/RepalMemberController.java

@@ -2,11 +2,13 @@ package com.winhc.repal.controller;
 
 
 import com.winhc.common.base.BeanResponse;
 import com.winhc.common.base.BeanResponse;
 import com.winhc.common.enums.CodeMsg;
 import com.winhc.common.enums.CodeMsg;
+import com.winhc.repal.model.dto.UpdateMemberRoleDTO;
 import com.winhc.repal.model.vo.GroupRoleMemberVO;
 import com.winhc.repal.model.vo.GroupRoleMemberVO;
 import com.winhc.repal.service.RepalGroupMemberService;
 import com.winhc.repal.service.RepalGroupMemberService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
@@ -31,4 +33,10 @@ public class RepalMemberController {
     public BeanResponse<List<GroupRoleMemberVO>> getGroupRoleMemberList() {
     public BeanResponse<List<GroupRoleMemberVO>> getGroupRoleMemberList() {
         return BeanResponse.success(CodeMsg.SUCCESS, repalGroupMemberService.getGroupRoleMemberList());
         return BeanResponse.success(CodeMsg.SUCCESS, repalGroupMemberService.getGroupRoleMemberList());
     }
     }
+
+    @ApiOperation("修改当前成员的角色")
+    @RequestMapping(value = "/updateMemberRole/", method = RequestMethod.POST)
+    public BeanResponse<Boolean> updateMemberRole(@RequestBody UpdateMemberRoleDTO dto) {
+        return BeanResponse.success(CodeMsg.SUCCESS, repalGroupMemberService.updateMemberRole(dto));
+    }
 }
 }

+ 0 - 1
src/main/java/com/winhc/repal/controller/RepalRoleController.java

@@ -58,5 +58,4 @@ public class RepalRoleController {
     }
     }
 
 
 
 
-
 }
 }

+ 1 - 1
src/main/java/com/winhc/repal/entity/RepalBill.java

@@ -90,7 +90,7 @@ public class RepalBill implements Serializable {
 
 
     @ApiModelProperty(value = "客户id")
     @ApiModelProperty(value = "客户id")
     @TableField("CUSTOMER_ID")
     @TableField("CUSTOMER_ID")
-    private String customerId;
+    private Long customerId;
 
 
     @ApiModelProperty(value = "客户name")
     @ApiModelProperty(value = "客户name")
     @TableField("CUSTOMER_NAME")
     @TableField("CUSTOMER_NAME")

+ 27 - 0
src/main/java/com/winhc/repal/model/bo/SearchBillPageBO.java

@@ -0,0 +1,27 @@
+package com.winhc.repal.model.bo;
+
+import lombok.Data;
+
+/**
+ * @Description: SearchBillPageBO
+ * @Author: xda
+ * @Date: 2022/5/11 14:18
+ */
+@Data
+public class SearchBillPageBO {
+
+
+    private Boolean receivableFlag;
+
+    private Boolean receiptFlag;
+
+    private String keyword;
+
+    private Long repalGroupId;
+
+    private Long repalBookId;
+
+    private Long userId;
+
+
+}

+ 1 - 1
src/main/java/com/winhc/repal/model/dto/AddRepalBillDTO.java

@@ -40,7 +40,7 @@ public class AddRepalBillDTO {
     private String billRemark;
     private String billRemark;
 
 
     @ApiModelProperty(required = true, value = "客户id")
     @ApiModelProperty(required = true, value = "客户id")
-    private String customerId;
+    private Long customerId;
 
 
     @ApiModelProperty(value = "合同name")
     @ApiModelProperty(value = "合同name")
     private String contractName;
     private String contractName;

+ 0 - 4
src/main/java/com/winhc/repal/model/dto/GetRepalBillPageDTO.java

@@ -48,10 +48,6 @@ public class GetRepalBillPageDTO extends PageRequest {
     @ApiModelProperty(value = "账款类型。[1]应收,[2]应付", required = true)
     @ApiModelProperty(value = "账款类型。[1]应收,[2]应付", required = true)
     private Integer repalBillType;
     private Integer repalBillType;
 
 
-    @ApiModelProperty(value = "关键词")
-    private String keyword;
-
-
 
 
 
 
 
 

+ 23 - 0
src/main/java/com/winhc/repal/model/dto/SearchBillDTO.java

@@ -0,0 +1,23 @@
+package com.winhc.repal.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * @Description: SearchBillDTO
+ * @Author: xda
+ * @Date: 2022/5/11 14:01
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+@ApiModel("查找账本")
+public class SearchBillDTO extends PageDTO {
+
+    @ApiModelProperty("关键词")
+    private String keyword;
+
+    @ApiModelProperty("账本id")
+    private Long repalBookId;
+}

+ 21 - 0
src/main/java/com/winhc/repal/model/dto/UpdateMemberRoleDTO.java

@@ -0,0 +1,21 @@
+package com.winhc.repal.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Description: UpdateMemberRoleDTO
+ * @Author: xda
+ * @Date: 2022/5/11 13:19
+ */
+@Data
+@ApiModel("修改成员角色")
+public class UpdateMemberRoleDTO {
+
+    @ApiModelProperty("成员的用户id")
+    private Long userId;
+
+    @ApiModelProperty("该组织角色id")
+    private Long roleId;
+}

+ 10 - 0
src/main/java/com/winhc/repal/repository/RepalBillMapper.java

@@ -32,6 +32,16 @@ public interface RepalBillMapper extends BaseMapper<RepalBill> {
      */
      */
     Page<RepalBill> getRepalBillPage(Page<RepalBill> page, BillPageBO billPageBO);
     Page<RepalBill> getRepalBillPage(Page<RepalBill> page, BillPageBO billPageBO);
 
 
+    /**
+     * 首页查找账本
+     * @param page page
+     * @param searchBillPageBO searchBillPageBO
+     * @return com.baomidou.mybatisplus.extension.plugins.pagination.Page<com.winhc.repal.entity.RepalBill>
+     * @author xda
+     * @date 2022/5/11 14:20
+     */
+    Page<RepalBill> searchPage(Page<RepalBill> page, SearchBillPageBO searchBillPageBO);
+
 
 
     /**
     /**
      * 获取对应类型的总金额和笔数
      * 获取对应类型的总金额和笔数

+ 10 - 0
src/main/java/com/winhc/repal/service/RepalBillService.java

@@ -6,6 +6,7 @@ import com.winhc.repal.entity.RepalBill;
 import com.winhc.repal.model.bo.HomeReceivableBO;
 import com.winhc.repal.model.bo.HomeReceivableBO;
 import com.winhc.repal.model.dto.*;
 import com.winhc.repal.model.dto.*;
 import com.winhc.repal.model.vo.*;
 import com.winhc.repal.model.vo.*;
+import io.swagger.annotations.ApiModelProperty;
 
 
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
 import java.util.List;
 import java.util.List;
@@ -27,6 +28,15 @@ public interface RepalBillService extends IService<RepalBill> {
      */
      */
     RepalBillInfoVO getRepalBillPage(GetRepalBillPageDTO dto);
     RepalBillInfoVO getRepalBillPage(GetRepalBillPageDTO dto);
 
 
+    /**
+     * 搜索账本
+     * @param dto dto
+     * @return com.winhc.common.model.base.VOPage<com.winhc.repal.model.vo.RepalBillPageVO>
+     * @author xda
+     * @date 2022/5/11 14:03
+     */
+    VOPage<RepalBillPageVO> searchBill(SearchBillDTO dto);
+
 
 
     /**
     /**
      * 获取账款详情
      * 获取账款详情

+ 10 - 0
src/main/java/com/winhc/repal/service/RepalGroupMemberService.java

@@ -2,6 +2,7 @@ package com.winhc.repal.service;
 
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.winhc.repal.entity.RepalGroupMember;
 import com.winhc.repal.entity.RepalGroupMember;
+import com.winhc.repal.model.dto.UpdateMemberRoleDTO;
 import com.winhc.repal.model.vo.GroupRoleMemberVO;
 import com.winhc.repal.model.vo.GroupRoleMemberVO;
 
 
 import java.util.List;
 import java.util.List;
@@ -64,5 +65,14 @@ public interface RepalGroupMemberService extends IService<RepalGroupMember> {
      */
      */
     List<GroupRoleMemberVO> getGroupRoleMemberList();
     List<GroupRoleMemberVO> getGroupRoleMemberList();
 
 
+    /**
+     * 修改成员角色
+     * @param dto dto
+     * @return java.lang.Boolean
+     * @author xda
+     * @date 2022/5/11 13:21
+     */
+    Boolean updateMemberRole(UpdateMemberRoleDTO dto);
+
 
 
 }
 }

+ 96 - 7
src/main/java/com/winhc/repal/service/impl/RepalBillServiceImpl.java

@@ -112,7 +112,6 @@ public class RepalBillServiceImpl extends ServiceImpl<RepalBillMapper, RepalBill
     @Autowired
     @Autowired
     private RepalVipService repalVipService;
     private RepalVipService repalVipService;
 
 
-
     @Override
     @Override
     public RepalBillInfoVO getRepalBillPage(GetRepalBillPageDTO dto) {
     public RepalBillInfoVO getRepalBillPage(GetRepalBillPageDTO dto) {
         long userId = UserContextUtil.getUser().getUserId();
         long userId = UserContextUtil.getUser().getUserId();
@@ -192,15 +191,27 @@ public class RepalBillServiceImpl extends ServiceImpl<RepalBillMapper, RepalBill
             unreadMap.put(repalBill.getId(), readVO);
             unreadMap.put(repalBill.getId(), readVO);
         });
         });
         Map<Long, List<String>> nameMap = repalResponsiblePersonService.getResponsiblePersonNameList(billIdList);
         Map<Long, List<String>> nameMap = repalResponsiblePersonService.getResponsiblePersonNameList(billIdList);
-        voPage.setDataList(repalBillPage.getRecords().stream().map(t -> {
+        List<RepalCustomer> customerList = repalCustomerService.list(Wrappers.lambdaQuery(RepalCustomer.class).in(RepalCustomer::getCustId,
+                repalBillPage.getRecords().stream().map(RepalBill::getCustomerId).distinct().collect(Collectors.toList())));
+        Map<Long, Integer> custMap = customerList.stream().collect(Collectors.toMap(RepalCustomer::getCustId, RepalCustomer::getCustProperty));
+        voPage.setDataList(repalBillPage.getRecords().stream().map(repalBill -> {
             RepalBillPageVO vo = new RepalBillPageVO();
             RepalBillPageVO vo = new RepalBillPageVO();
-            BeanUtils.copyProperties(t, vo);
-            vo.setRepalBillId(t.getId());
-            vo.setResponsiblePersonNames(String.join("、", nameMap.get(t.getId())));
-            vo.setRepalOverdueStatus(t.getRepalBillStatus() > 1 ? t.getRepalBillStatus() + 1 : t.getRepalBillStatus());
+            BeanUtils.copyProperties(repalBill, vo);
+            vo.setRepalBillId(repalBill.getId());
+            vo.setResponsiblePersonNames(String.join("、", nameMap.get(repalBill.getId())));
+            vo.setRepalOverdueStatus(repalBill.getRepalBillStatus() > 1 ? repalBill.getRepalBillStatus() + 1 : repalBill.getRepalBillStatus());
             if (RepalBillStatusEnum.PROGRESSING.getCode().equals(vo.getRepalOverdueStatus()) && LocalDate.now().plusDays(3).equals(vo.getEndDate())) {
             if (RepalBillStatusEnum.PROGRESSING.getCode().equals(vo.getRepalOverdueStatus()) && LocalDate.now().plusDays(3).equals(vo.getEndDate())) {
                 vo.setRepalOverdueStatus(2);
                 vo.setRepalOverdueStatus(2);
             }
             }
+            vo.setCustName(repalBill.getCustomerName());
+            vo.setCustProperty(custMap.get(repalBill.getCustomerId()));
+            vo.setTotalMoneyStr(repalBill.getTotalMoney().stripTrailingZeros().toPlainString());
+            vo.setReceivableMoneyStr(repalBill.getReceivable().stripTrailingZeros().toPlainString());
+            // 评分趋势
+            vo.setDiagnosisScoreTrend(DiagnosisUtil.getDiagnosisScoreTrend(repalBill.getPreDiagnosisScore(), repalBill.getDiagnosisScore(), repalBill.getPreDiagnosisGrade(), repalBill.getDiagnosisGrade()));
+            if (Objects.nonNull(repalBill.getDiagnosisScore())) {
+                vo.setDiagnosisScore(repalBill.getDiagnosisScore().stripTrailingZeros().toPlainString());
+            }
             RepalBillRemindUnReadVO unReadVO = unreadMap.get(vo.getRepalBillId());
             RepalBillRemindUnReadVO unReadVO = unreadMap.get(vo.getRepalBillId());
             if (Objects.nonNull(unReadVO)) {
             if (Objects.nonNull(unReadVO)) {
                 vo.setDynamicCountList(new ArrayList<Integer>(){{
                 vo.setDynamicCountList(new ArrayList<Integer>(){{
@@ -216,6 +227,72 @@ public class RepalBillServiceImpl extends ServiceImpl<RepalBillMapper, RepalBill
     }
     }
 
 
     @Override
     @Override
+    public VOPage<RepalBillPageVO> searchBill(SearchBillDTO dto) {
+        long userId = UserContextUtil.getUser().getUserId();
+        Long groupId = repalGroupMemberService.getUserGroupId(userId);
+        VOPage<RepalBillPageVO> voPage = new VOPage<>();
+        voPage.setPageSize(dto.getPageSize());
+        voPage.setPageNum(dto.getPageNum());
+        // 分页数据
+        Page<RepalBill> repalBillPage = new Page<>(dto.getPageNum(),dto.getPageSize());
+        SearchBillPageBO searchBillPageBO = new SearchBillPageBO();
+        searchBillPageBO.setReceivableFlag(repalRolePermissionService.checkUserPermission(userId, PermissionEnum.QUERY_ALL_RECEIVABLE.getCode()));
+        searchBillPageBO.setReceiptFlag(repalRolePermissionService.checkUserPermission(userId, PermissionEnum.QUERY_ALL_RECEIPT.getCode()));
+        searchBillPageBO.setUserId(userId);
+        searchBillPageBO.setRepalGroupId(groupId);
+        searchBillPageBO.setRepalBookId(dto.getRepalBookId());
+        repalBillPage = repalBillMapper.searchPage(repalBillPage, searchBillPageBO);
+        voPage.setTotalPage(Math.toIntExact(repalBillPage.getPages()));
+        voPage.setTotalNum(repalBillPage.getTotal());
+        voPage.setDataList(new ArrayList<>());
+        if (CollUtil.isEmpty(repalBillPage.getRecords())) {
+            return voPage;
+        }
+        // 未读消息
+        List<Long> billIdList = repalBillPage.getRecords().stream().map(RepalBill::getId).collect(Collectors.toList());
+        Map<Long, RepalBillRemindUnReadVO> unreadMap = new HashMap<>();
+        repalBillPage.getRecords().parallelStream().forEach(repalBill -> {
+            RepalRemindReadInfo repalRemindReadInfo = repalRemindReadInfoService.getReadInfoByUserId(userId,repalBill.getId(),repalBill.getRepalBookId());
+            RepalBillRemindUnReadVO readVO = repalRemindHistoryService.getBillRemindUnReadVO(repalRemindReadInfo.getRiskRemindId(),
+                    repalRemindReadInfo.getRankRemindId(),repalRemindReadInfo.getOverdueRemindId(),
+                    repalRemindReadInfo.getFinanceRemindId(),repalBill.getRepalBookId(),repalBill.getId(),
+                    null, null);
+            unreadMap.put(repalBill.getId(), readVO);
+        });
+        Map<Long, List<String>> nameMap = repalResponsiblePersonService.getResponsiblePersonNameList(billIdList);
+        List<RepalCustomer> customerList = repalCustomerService.list(Wrappers.lambdaQuery(RepalCustomer.class).in(RepalCustomer::getCustId,
+                repalBillPage.getRecords().stream().map(RepalBill::getCustomerId).distinct().collect(Collectors.toList())));
+        Map<Long, Integer> custMap = customerList.stream().collect(Collectors.toMap(RepalCustomer::getCustId, RepalCustomer::getCustProperty));
+        voPage.setDataList(repalBillPage.getRecords().stream().map(repalBill -> {
+            RepalBillPageVO vo = new RepalBillPageVO();
+            BeanUtils.copyProperties(repalBill, vo);
+            vo.setRepalBillId(repalBill.getId());
+            vo.setResponsiblePersonNames(String.join("、", nameMap.get(repalBill.getId())));
+            vo.setRepalOverdueStatus(repalBill.getRepalBillStatus() > 1 ? repalBill.getRepalBillStatus() + 1 : repalBill.getRepalBillStatus());
+            vo.setCustName(repalBill.getCustomerName());
+            vo.setCustProperty(custMap.get(repalBill.getCustomerId()));
+            vo.setTotalMoneyStr(repalBill.getTotalMoney().stripTrailingZeros().toPlainString());
+            vo.setReceivableMoneyStr(repalBill.getReceivable().stripTrailingZeros().toPlainString());
+            // 评分趋势
+            vo.setDiagnosisScoreTrend(DiagnosisUtil.getDiagnosisScoreTrend(repalBill.getPreDiagnosisScore(), repalBill.getDiagnosisScore(), repalBill.getPreDiagnosisGrade(), repalBill.getDiagnosisGrade()));
+            if (Objects.nonNull(repalBill.getDiagnosisScore())) {
+                vo.setDiagnosisScore(repalBill.getDiagnosisScore().stripTrailingZeros().toPlainString());
+            }
+            RepalBillRemindUnReadVO unReadVO = unreadMap.get(vo.getRepalBillId());
+            if (Objects.nonNull(unReadVO)) {
+                vo.setDynamicCountList(new ArrayList<Integer>(){{
+                    add(unReadVO.getUnreadRiskCount());
+                    add(unReadVO.getUnreadFinanceCount());
+                    add(unReadVO.getUnreadRankCount());
+                    add(unReadVO.getUnreadOverdueCount());
+                }});
+            }
+            return vo;
+        }).collect(Collectors.toList()));
+        return voPage;
+    }
+
+    @Override
     public RepalBillDetailVO getRepalBillDetail(Long repalBillId) {
     public RepalBillDetailVO getRepalBillDetail(Long repalBillId) {
         RepalBill repalBill = this.getById(repalBillId);
         RepalBill repalBill = this.getById(repalBillId);
         // 负责人或高级权限才能查看
         // 负责人或高级权限才能查看
@@ -538,6 +615,9 @@ public class RepalBillServiceImpl extends ServiceImpl<RepalBillMapper, RepalBill
             unreadMap.put(repalBill.getId(), readVO);
             unreadMap.put(repalBill.getId(), readVO);
         });
         });
         Map<Long, List<String>> nameMap = repalResponsiblePersonService.getResponsiblePersonNameList(billIdList);
         Map<Long, List<String>> nameMap = repalResponsiblePersonService.getResponsiblePersonNameList(billIdList);
+        List<RepalCustomer> customerList = repalCustomerService.list(Wrappers.lambdaQuery(RepalCustomer.class).in(RepalCustomer::getCustId,
+                repalBillPage.getRecords().stream().map(RepalBill::getCustomerId).distinct().collect(Collectors.toList())));
+        Map<Long, Integer> custMap = customerList.stream().collect(Collectors.toMap(RepalCustomer::getCustId, RepalCustomer::getCustProperty));
         voPage.setDataList(repalBillPage.getRecords().stream().map(t -> {
         voPage.setDataList(repalBillPage.getRecords().stream().map(t -> {
             RepalBillPageVO vo = new RepalBillPageVO();
             RepalBillPageVO vo = new RepalBillPageVO();
             BeanUtils.copyProperties(t, vo);
             BeanUtils.copyProperties(t, vo);
@@ -549,6 +629,15 @@ public class RepalBillServiceImpl extends ServiceImpl<RepalBillMapper, RepalBill
             if (RepalBillStatusEnum.PROGRESSING.getCode().equals(vo.getRepalOverdueStatus()) && LocalDate.now().plusDays(3).equals(vo.getEndDate())) {
             if (RepalBillStatusEnum.PROGRESSING.getCode().equals(vo.getRepalOverdueStatus()) && LocalDate.now().plusDays(3).equals(vo.getEndDate())) {
                 vo.setRepalOverdueStatus(2);
                 vo.setRepalOverdueStatus(2);
             }
             }
+            vo.setCustName(t.getCustomerName());
+            vo.setCustProperty(custMap.get(t.getCustomerId()));
+            vo.setTotalMoneyStr(t.getTotalMoney().stripTrailingZeros().toPlainString());
+            vo.setReceivableMoneyStr(t.getReceivable().stripTrailingZeros().toPlainString());
+            // 评分趋势
+            vo.setDiagnosisScoreTrend(DiagnosisUtil.getDiagnosisScoreTrend(t.getPreDiagnosisScore(), t.getDiagnosisScore(), t.getPreDiagnosisGrade(), t.getDiagnosisGrade()));
+            if (Objects.nonNull(t.getDiagnosisScore())) {
+                vo.setDiagnosisScore(t.getDiagnosisScore().stripTrailingZeros().toPlainString());
+            }
             RepalBillRemindUnReadVO unReadVO = unreadMap.get(vo.getRepalBillId());
             RepalBillRemindUnReadVO unReadVO = unreadMap.get(vo.getRepalBillId());
             if (Objects.nonNull(unReadVO)) {
             if (Objects.nonNull(unReadVO)) {
                 vo.setDynamicCountList(new ArrayList<Integer>(){{
                 vo.setDynamicCountList(new ArrayList<Integer>(){{
@@ -643,7 +732,7 @@ public class RepalBillServiceImpl extends ServiceImpl<RepalBillMapper, RepalBill
         RepalBill repalBill = this.getById(repalBillId);
         RepalBill repalBill = this.getById(repalBillId);
         RepalManageBillDetailVO vo = new RepalManageBillDetailVO();
         RepalManageBillDetailVO vo = new RepalManageBillDetailVO();
         BeanUtils.copyProperties(repalBill, vo);
         BeanUtils.copyProperties(repalBill, vo);
-        vo.setCustId(Long.parseLong(repalBill.getCustomerId()));
+        vo.setCustId(repalBill.getCustomerId());
         vo.setRepalBillId(repalBill.getId());
         vo.setRepalBillId(repalBill.getId());
         RepalCustomer repalCustomer = repalCustomerService.getById(repalBill.getCustomerId());
         RepalCustomer repalCustomer = repalCustomerService.getById(repalBill.getCustomerId());
         vo.setCompanyId(repalCustomer.getCompanyId());
         vo.setCompanyId(repalCustomer.getCompanyId());

+ 9 - 0
src/main/java/com/winhc/repal/service/impl/RepalGroupMemberServiceImpl.java

@@ -10,6 +10,7 @@ import com.winhc.repal.entity.RepalGroupRole;
 import com.winhc.repal.entity.UserExt;
 import com.winhc.repal.entity.UserExt;
 import com.winhc.repal.enums.DeletedStatusEnum;
 import com.winhc.repal.enums.DeletedStatusEnum;
 import com.winhc.repal.enums.RepalBillTypeEnum;
 import com.winhc.repal.enums.RepalBillTypeEnum;
+import com.winhc.repal.model.dto.UpdateMemberRoleDTO;
 import com.winhc.repal.model.vo.GroupRoleMemberVO;
 import com.winhc.repal.model.vo.GroupRoleMemberVO;
 import com.winhc.repal.repository.RepalGroupMemberMapper;
 import com.winhc.repal.repository.RepalGroupMemberMapper;
 import com.winhc.repal.service.RepalGroupMemberService;
 import com.winhc.repal.service.RepalGroupMemberService;
@@ -110,4 +111,12 @@ public class RepalGroupMemberServiceImpl extends ServiceImpl<RepalGroupMemberMap
         }
         }
         return resultList.stream().sorted(Comparator.comparing(GroupRoleMemberVO::getRoleId)).collect(Collectors.toList());
         return resultList.stream().sorted(Comparator.comparing(GroupRoleMemberVO::getRoleId)).collect(Collectors.toList());
     }
     }
+
+    @Override
+    public Boolean updateMemberRole(UpdateMemberRoleDTO dto) {
+
+
+
+        return true;
+    }
 }
 }

+ 1 - 1
src/main/java/com/winhc/repal/service/impl/RepalRemindHistoryServiceImpl.java

@@ -124,7 +124,7 @@ public class RepalRemindHistoryServiceImpl extends ServiceImpl<RepalRemindHistor
                 changeStr1 = "提高";
                 changeStr1 = "提高";
             }
             }
             RepalRemindHistory accountRemindHistory = new RepalRemindHistory();
             RepalRemindHistory accountRemindHistory = new RepalRemindHistory();
-            accountRemindHistory.setCustId(Long.parseLong(repalBill.getCustomerId()))
+            accountRemindHistory.setCustId(repalBill.getCustomerId())
                     .setRepalBookId(repalBill.getRepalBookId())
                     .setRepalBookId(repalBill.getRepalBookId())
                     .setRepalBillId(repalBill.getId())
                     .setRepalBillId(repalBill.getId())
                     .setTrendId(diagnosis.getId().toString())
                     .setTrendId(diagnosis.getId().toString())

+ 3 - 3
src/main/java/com/winhc/repal/task/SmartRemindTask.java

@@ -168,7 +168,7 @@ public class SmartRemindTask {
                             RepalRemindHistory accountRemindHistory = accountRemindHistoryService.getOne(remindHistoryQueryWrapper, false);
                             RepalRemindHistory accountRemindHistory = accountRemindHistoryService.getOne(remindHistoryQueryWrapper, false);
                             if (accountRemindHistory == null) {
                             if (accountRemindHistory == null) {
                                 RepalRemindHistory newRemind = new RepalRemindHistory();
                                 RepalRemindHistory newRemind = new RepalRemindHistory();
-                                newRemind.setCustId(Long.parseLong(e.getCustomerId()));
+                                newRemind.setCustId(e.getCustomerId());
                                 newRemind.setRepalBookId(e.getRepalBookId());
                                 newRemind.setRepalBookId(e.getRepalBookId());
                                 newRemind.setRepalBillId(e.getId());
                                 newRemind.setRepalBillId(e.getId());
                                 newRemind.setTrendId(e.getDiagnosisId() == null ? "" : e.getDiagnosisId() + "");
                                 newRemind.setTrendId(e.getDiagnosisId() == null ? "" : e.getDiagnosisId() + "");
@@ -222,7 +222,7 @@ public class SmartRemindTask {
                                 dynamics.getDataList().forEach(financeDynamicVO -> {
                                 dynamics.getDataList().forEach(financeDynamicVO -> {
                                     //新增动态提醒
                                     //新增动态提醒
                                     RepalRemindHistory accountRemindHistory = new RepalRemindHistory();
                                     RepalRemindHistory accountRemindHistory = new RepalRemindHistory();
-                                    accountRemindHistory.setCustId(Long.parseLong(e.getCustomerId()))
+                                    accountRemindHistory.setCustId(e.getCustomerId())
                                             .setRepalBookId(e.getRepalBookId())
                                             .setRepalBookId(e.getRepalBookId())
                                             .setRepalBillId(e.getId())
                                             .setRepalBillId(e.getId())
                                             .setTrendId(financeDynamicVO.getId())
                                             .setTrendId(financeDynamicVO.getId())
@@ -291,7 +291,7 @@ public class SmartRemindTask {
                                     //新增动态提醒
                                     //新增动态提醒
                                     String titleString = RISK_MAP.get(type);
                                     String titleString = RISK_MAP.get(type);
                                     RepalRemindHistory accountRemindHistory = new RepalRemindHistory();
                                     RepalRemindHistory accountRemindHistory = new RepalRemindHistory();
-                                    accountRemindHistory.setCustId(Long.parseLong(e.getCustomerId()))
+                                    accountRemindHistory.setCustId(e.getCustomerId())
                                             .setRepalBookId(e.getRepalBookId())
                                             .setRepalBookId(e.getRepalBookId())
                                             .setRepalBillId(e.getId())
                                             .setRepalBillId(e.getId())
                                             .setTrendId(esDynamic.getId())
                                             .setTrendId(esDynamic.getId())

+ 29 - 4
src/main/resources/mapper/RepalBillMapper.xml

@@ -46,9 +46,6 @@
         <if test="param2.endDate != null">
         <if test="param2.endDate != null">
             AND bill.END_DATE <![CDATA[<=]]> #{param2.endDate}
             AND bill.END_DATE <![CDATA[<=]]> #{param2.endDate}
         </if>
         </if>
-        <if test="param2.keyword != null">
-            AND bill.CUSTOMER_NAME LIKE concat('%', #{param2.keyword}, '%')
-        </if>
         <if test="param2.dynamicType != null">
         <if test="param2.dynamicType != null">
             AND EXISTS (SELECT 1 FROM REPAL_REMIND_HISTORY his WHERE
             AND EXISTS (SELECT 1 FROM REPAL_REMIND_HISTORY his WHERE
             <if test="param2.dynamicType == 1">
             <if test="param2.dynamicType == 1">
@@ -84,6 +81,34 @@
             ORDER BY bill.ID DESC
             ORDER BY bill.ID DESC
         </if>
         </if>
     </select>
     </select>
+
+
+    <select id="searchPage" parameterType="com.winhc.repal.model.bo.SearchBillPageBO" resultType="com.winhc.repal.entity.RepalBill">
+        SELECT bill.* FROM REPAL_BILL AS bill
+        <if test="!param2.receivableFlag or !param2.receiptFlag">
+            <if test="!param2.receivableFlag">
+                LEFT JOIN REPAL_RESPONSIBLE_PERSON AS aPerson ON aPerson.REPAL_BILL_ID = bill.ID and bill.REPAL_BILL_TYPE = 1
+            </if>
+            <if test="!param2.receiptFlag">
+                LEFT JOIN REPAL_RESPONSIBLE_PERSON AS bPerson ON bPerson.REPAL_BILL_ID = bill.ID and bill.REPAL_BILL_TYPE = 2
+            </if>
+        </if>
+        <where>
+            <if test="!param2.receivableFlag">
+                aPerson.USER_ID = #{param2.userId} and aPerson.DELETED = 0 AND
+            </if>
+            <if test="!param2.receiptFlag">
+                bPerson.USER_ID = #{param2.userId} and bPerson.DELETED = 0 AND
+            </if>
+        AND bill.REPAL_BOOK_ID = #{param2.repalBookId}
+        AND bill.REPAL_GROUP_ID = #{param2.repalGroupId}
+        AND bill.DELETED = 0
+        <if test="param2.keyword != null and param2.keyword != ''">
+            AND bill.CUSTOMER_NAME LIKE concat('%', #{param2.keyword}, '%')
+        </if>
+        </where>
+        ORDER BY bill.ID DESC
+    </select>
     
     
     
     
     <select id="getTotalMoneyByGroup" resultType="com.winhc.repal.model.bo.TotalMoneyBO">
     <select id="getTotalMoneyByGroup" resultType="com.winhc.repal.model.bo.TotalMoneyBO">
@@ -100,7 +125,7 @@
     </select>
     </select>
 
 
     <select id="getTotalMoneyByUser" resultType="com.winhc.repal.model.bo.TotalMoneyBO">
     <select id="getTotalMoneyByUser" resultType="com.winhc.repal.model.bo.TotalMoneyBO">
-        SELECT COUNT(*) AS totalCount, IFNULL(SUM(bill.RECEIVABLE), 0)  FROM REPAL_RESPONSIBLE_PERSON AS person
+        SELECT COUNT(*) AS totalCount, IFNULL(SUM(bill.RECEIVABLE), 0) AS totalMoney  FROM REPAL_RESPONSIBLE_PERSON AS person
         LEFT JOIN REPAL_BILL AS bill ON person.REPAL_BILL_ID = bill.ID
         LEFT JOIN REPAL_BILL AS bill ON person.REPAL_BILL_ID = bill.ID
         WHERE person.USER_ID = #{userId} AND person.DELETED = 0
         WHERE person.USER_ID = #{userId} AND person.DELETED = 0
         <if test="repalBillStatus == 1">
         <if test="repalBillStatus == 1">

+ 18 - 21
src/main/resources/mapper/RepalBookMapper.xml

@@ -3,28 +3,25 @@
 <mapper namespace="com.winhc.repal.repository.RepalBookMapper">
 <mapper namespace="com.winhc.repal.repository.RepalBookMapper">
 
 
     <select id="getRepalBookInfoList" resultType="com.winhc.repal.model.vo.RepalBookInfoVO">
     <select id="getRepalBookInfoList" resultType="com.winhc.repal.model.vo.RepalBookInfoVO">
-        SELECT tmp.repalBookId, tmp.repalBookName, SUM(tmp.repalBillId) AS repalBillCount FROM
-        (SELECT repalBook.ID AS repalBookId, repalBook.REPAL_BOOK_NAME AS repalBookName, repalBill.ID AS repalBillId FROM REPAL_BILL AS repalBill
-        LEFT JOIN REPAL_RESPONSIBLE_PERSON AS rPerson ON repalBill.ID = rPerson.REPAL_BILL_ID
-        LEFT JOIN REPAL_BOOK AS repalBook ON repalBill.REPAL_BOOK_ID = repalBook.ID
-        WHERE repalBill.REPAL_GROUP_ID = #{repalGroupId} AND
-            <if test="!receivableFlag or !receiptFlag">
-                (
-                <if test="!receivableFlag and !receiptFlag">
-                    rPerson.USER = #{userId} OR
-                </if>
-                <if test="!receiptFlag and receiptFlag">
-                    ((repalBill.REPAL_BILL_TYPE = 1 AND rPerson.USER = #{userId}) or repalBill.REPAL_BILL_TYPE = 2) OR
-                </if>
-                <if test="receiptFlag and !receiptFlag">
-                    ((repalBill.REPAL_BILL_TYPE = 2 AND rPerson.USER = #{userId}) or repalBill.REPAL_BILL_TYPE = 1) OR
-                </if>
-                repalBook.USER_ID = #{userId}) AND
+        SELECT book.ID AS repalBookId, book.REPAL_BOOK_NAME AS repalBookName, count(bill.ID) AS repalBillCount from REPAL_BOOK as book
+        LEFT JOIN REPAL_BILL AS bill ON book.ID = bill.REPAL_BOOK_ID
+        <if test="!receivableFlag or !receiptFlag">
+            LEFT JOIN REPAL_RESPONSIBLE_PERSON AS rPerson ON bill.ID = rPerson.REPAL_BILL_ID
+        </if>
+        WHERE book.REPAL_GROUP_ID = #{repalGroupId}
+        <if test="!receivableFlag or !receiptFlag">
+            <if test="!receivableFlag">
+                AND ((bill.REPAL_BILL_TYPE = 1 AND rPerson.USER_ID = #{userId}) or (book.USER_ID = #{userId}))
             </if>
             </if>
-              repalBill.DELETED = 0)
-        AS tmp
-        GROUP BY tmp.repalBookId, tmp.repalBookName
-        ORDER BY tmp.repalBookId DESC
+            <if test="!receivableFlag">
+                AND ((bill.REPAL_BILL_TYPE = 2 AND rPerson.USER_ID = #{userId}) or (book.USER_ID = #{userId}))
+            </if>
+        </if>
+        <if test="receivableFlag and receiptFlag">
+            AND book.USER_ID = #{userId}
+        </if>
+        GROUP BY book.ID, book.REPAL_BOOK_NAME
+        ORDER BY book.ID DESC
     </select>
     </select>