|
|
@@ -1,32 +1,52 @@
|
|
|
package com.jzg.console.service.impl;
|
|
|
|
|
|
|
|
|
-import com.alibaba.excel.annotation.ExcelProperty;
|
|
|
-import com.alibaba.excel.annotation.write.style.ColumnWidth;
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
+import cn.hutool.json.JSONUtil;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
-import com.fasterxml.jackson.annotation.JsonFormat;
|
|
|
+import com.jzg.commons.core.base.BaseController;
|
|
|
+import com.jzg.commons.core.page.HttpResult;
|
|
|
+import com.jzg.commons.entity.orders.vo.FeeAuditSummaryParam;
|
|
|
+import com.jzg.commons.entity.orders.vo.FeeAuditSummaryVO;
|
|
|
import com.jzg.commons.entity.report.dto.*;
|
|
|
import com.jzg.commons.entity.report.vo.ReportSearchCommonVo;
|
|
|
+import com.jzg.commons.entity.user.vo.UserInfoWithPhone;
|
|
|
+import com.jzg.console.client.FeeAuditClient;
|
|
|
+import com.jzg.console.client.OrganizationClient;
|
|
|
import com.jzg.console.service.ReportPersonCheckDataService;
|
|
|
-import com.jzg.console.service.ReportReceivableDataService;
|
|
|
-import io.swagger.v3.oas.annotations.media.Schema;
|
|
|
-import org.springframework.format.annotation.DateTimeFormat;
|
|
|
+import org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import java.math.BigDecimal;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
- * @version
|
|
|
- * @author: hxl
|
|
|
- * @Date: 2025/9/22 16:45
|
|
|
- * @Description: 财务数据-人员审核
|
|
|
+ * 财务数据-人员审核
|
|
|
+ *
|
|
|
+ * @author hxl
|
|
|
+ * @Date 2025/9/22 16:45
|
|
|
*/
|
|
|
@Service
|
|
|
public class ReportPersonCheckDataServiceImpl extends ReportBaseServiceImpl implements ReportPersonCheckDataService {
|
|
|
+
|
|
|
+ private static final Logger log = LoggerFactory.getLogger(ReportPersonCheckDataServiceImpl.class);
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private BaseController baseController;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private OrganizationClient organizationClient;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private FeeAuditClient feeAuditClient;
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* @version
|
|
|
* @author: hxl
|
|
|
@@ -35,11 +55,60 @@ public class ReportPersonCheckDataServiceImpl extends ReportBaseServiceImpl impl
|
|
|
*/
|
|
|
@Override
|
|
|
public IPage<?> getPageListByParams(ReportSearchCommonVo reportSearchCommonVo) {
|
|
|
- Page<ReportPersonCheckDataDto> page = new Page<>(reportSearchCommonVo.getPageNo(), reportSearchCommonVo.getPageSize());
|
|
|
+ String systemCode = baseController.getSystemCode();
|
|
|
+ log.info("getPageListByParams. reportSearchCommonVo=[{}].systemCode=[{}]", JSONUtil.toJsonStr(reportSearchCommonVo), systemCode);
|
|
|
+
|
|
|
+ HttpResult<Map<String, UserInfoWithPhone>> mapHttpResult = organizationClient.queryUserInfo(systemCode);
|
|
|
+ Map<String, UserInfoWithPhone> userInfoMap = mapHttpResult.getData();
|
|
|
+
|
|
|
+ FeeAuditSummaryParam feeAuditSummaryParam = new FeeAuditSummaryParam();
|
|
|
+
|
|
|
+ feeAuditSummaryParam.setSystemCode(systemCode);
|
|
|
+ feeAuditSummaryParam.setSignTimeStart(reportSearchCommonVo.getSignTimeBegin());
|
|
|
+ feeAuditSummaryParam.setSignTimeEnd(reportSearchCommonVo.getSignTimeEnd());
|
|
|
+ feeAuditSummaryParam.setPages(reportSearchCommonVo.getPageNo());
|
|
|
+ feeAuditSummaryParam.setSize(reportSearchCommonVo.getPageSize());
|
|
|
+ HttpResult<List<FeeAuditSummaryVO>> pageHttpResult = feeAuditClient.queryAuditSummary(feeAuditSummaryParam);
|
|
|
+ List<FeeAuditSummaryVO> records = pageHttpResult.getData();
|
|
|
+ Map<String, List<FeeAuditSummaryVO>> collect = records.stream().collect(Collectors.groupingBy(FeeAuditSummaryVO::getReceiveUser));
|
|
|
+ List<ReportPersonCheckDataDto> list = new ArrayList<>();
|
|
|
+ for (String s : collect.keySet()) {
|
|
|
+ List<FeeAuditSummaryVO> feeAuditSummaryVOS = collect.get(s);
|
|
|
+ UserInfoWithPhone userInfoWithPhone = userInfoMap.get(s);
|
|
|
+ String deptname = null;
|
|
|
+ String name = null;
|
|
|
+ if(userInfoWithPhone != null){
|
|
|
+ deptname = userInfoWithPhone.getDeptName();
|
|
|
+ name = userInfoWithPhone.getName();
|
|
|
+ }
|
|
|
+ Long checkOrderNum = 0L;
|
|
|
+ Long pendingReviewOrderNum = 0L;
|
|
|
+ Long avgReviewDuration = 0L;
|
|
|
+ Long rejectOrderNum = 0L;
|
|
|
+ Long updateOrderNum = 0L;
|
|
|
+ if(CollUtil.isNotEmpty(feeAuditSummaryVOS)){
|
|
|
+ checkOrderNum = feeAuditSummaryVOS.stream().filter(action-> "2".equals(action.getAuditStatus()) || "1".equals(action.getAuditStatus())).map(FeeAuditSummaryVO::getNum).reduce(Long::sum).orElse(0L);
|
|
|
+ if(checkOrderNum != 0){
|
|
|
+ avgReviewDuration = feeAuditSummaryVOS.stream().filter(action-> "2".equals(action.getAuditStatus()) || "1".equals(action.getAuditStatus())).map(FeeAuditSummaryVO::getCostTime).reduce(Long::sum).orElse(0L);
|
|
|
+ }
|
|
|
+ pendingReviewOrderNum = feeAuditSummaryVOS.stream().filter(action-> "0".equals(action.getAuditStatus()) && !"0".equals(action.getProblemIdentify())).map(FeeAuditSummaryVO::getNum).reduce(Long::sum).orElse(0L);
|
|
|
+ rejectOrderNum = feeAuditSummaryVOS.stream().filter(action-> "2".equals(action.getAuditStatus())).map(FeeAuditSummaryVO::getNum).reduce(Long::sum).orElse(0L);
|
|
|
+ updateOrderNum = feeAuditSummaryVOS.stream().map(FeeAuditSummaryVO::getCalFee).reduce(Long::sum).orElse(0L);
|
|
|
+ }
|
|
|
+ ReportPersonCheckDataDto dto = ReportPersonCheckDataDto.builder()
|
|
|
+ .salesmanName(name).salesmanPhone(s).deptName(deptname)
|
|
|
+ .checkOrderNum(checkOrderNum).pendingReviewOrderNum(pendingReviewOrderNum).avgReviewDuration(avgReviewDuration)
|
|
|
+ .rejectOrderNum(rejectOrderNum).updateOrderNum(updateOrderNum)
|
|
|
+ .build();
|
|
|
+ list.add(dto);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ log.info("查询出[{}]个业务员的审核记录",CollUtil.size(list));
|
|
|
+ //Page<ReportPersonCheckDataDto> page = new Page<>(reportSearchCommonVo.getPageNo(), reportSearchCommonVo.getPageSize());
|
|
|
IPage<ReportPersonCheckDataDto> pageList = new Page<ReportPersonCheckDataDto>();
|
|
|
- List<ReportPersonCheckDataDto> list = getList();
|
|
|
pageList.setRecords(list);
|
|
|
- pageList.setTotal(1l);
|
|
|
+ pageList.setTotal(CollUtil.size(collect));
|
|
|
pageList.setCurrent(reportSearchCommonVo.getPageNo());
|
|
|
pageList.setPages(reportSearchCommonVo.getPageNo());
|
|
|
pageList.setPages(reportSearchCommonVo.getPageSize());
|
|
|
@@ -53,7 +122,8 @@ public class ReportPersonCheckDataServiceImpl extends ReportBaseServiceImpl impl
|
|
|
*/
|
|
|
@Override
|
|
|
public void downloadListByParams(ReportSearchCommonVo reportSearchCommonVo) {
|
|
|
- List<ReportPersonCheckDataDto> list = getList();
|
|
|
+ IPage<?> pageListByParams = getPageListByParams(reportSearchCommonVo);
|
|
|
+ List<ReportPersonCheckDataDto> list = (List<ReportPersonCheckDataDto>)pageListByParams.getRecords();
|
|
|
upLoadFile(reportSearchCommonVo, ReportPersonCheckDataDto.class,list,"财务数据-人员审核-列表导出-"+ reportSearchCommonVo.getUserId());
|
|
|
}
|
|
|
/**
|
|
|
@@ -64,6 +134,8 @@ public class ReportPersonCheckDataServiceImpl extends ReportBaseServiceImpl impl
|
|
|
*/
|
|
|
@Override
|
|
|
public IPage<?> getPageDetailListByParams(ReportSearchCommonVo reportSearchCommonVo) {
|
|
|
+ log.info("财务数据-人员审核-明细查询:reportSearchCommonVo=[{}]", JSONUtil.toJsonStr(reportSearchCommonVo));
|
|
|
+
|
|
|
Page<ReportPersonCheckDataDetailDto> page = new Page<>(reportSearchCommonVo.getPageNo(), reportSearchCommonVo.getPageSize());
|
|
|
IPage<ReportPersonCheckDataDetailDto> detailPageList = new Page<ReportPersonCheckDataDetailDto>();
|
|
|
List<ReportPersonCheckDataDetailDto> detailList = getDetailList();
|
|
|
@@ -86,23 +158,6 @@ public class ReportPersonCheckDataServiceImpl extends ReportBaseServiceImpl impl
|
|
|
upLoadFile(reportSearchCommonVo, ReportPersonCheckDataDetailDto.class,detailList,"财务数据-人员审核-明细导出-"+ reportSearchCommonVo.getUserId());
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * @version
|
|
|
- * @author: hxl
|
|
|
- * @Date: 2025/9/24 10:42
|
|
|
- * @Description: 模拟数据
|
|
|
- */
|
|
|
- public List<ReportPersonCheckDataDto> getList(){
|
|
|
- List<ReportPersonCheckDataDto> list =new ArrayList<>();
|
|
|
- ReportPersonCheckDataDto reportPersonCheckDataDto = ReportPersonCheckDataDto.builder()
|
|
|
- .salesmanName("张三").salesmanPhone("18811459985").deptName("众安财险科技营销部")
|
|
|
- .checkOrderNum(100L).pendingReviewOrderNum(100L).avgReviewDuration(100L)
|
|
|
- .rejectOrderNum(100L).updateOrderNum(100L)
|
|
|
- .build();
|
|
|
- list.add(reportPersonCheckDataDto);
|
|
|
- return list;
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* @version
|
|
|
* @author: hxl
|