|
@@ -2,15 +2,22 @@ package com.fjhx.sale.service.contract.impl;
|
|
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
import com.fjhx.account.entity.account.po.AccountPayment;
|
|
|
import com.fjhx.account.entity.account.vo.AccountPaymentVo;
|
|
|
+import com.fjhx.common.enums.FlowStatusEnum1;
|
|
|
+import com.fjhx.customer.service.customer.CustomerService;
|
|
|
import com.fjhx.file.utils.ObsFileUtil;
|
|
|
+import com.fjhx.sale.entity.contract.dto.ContractSelectDto;
|
|
|
+import com.fjhx.sale.entity.contract.enums.DocumentaryTypeEnum;
|
|
|
import com.fjhx.sale.entity.contract.po.Contract;
|
|
|
import com.fjhx.sale.entity.contract.po.ContractDocumentary;
|
|
|
+import com.fjhx.sale.entity.contract.vo.ContractVo;
|
|
|
import com.fjhx.sale.mapper.contract.ContractDocumentaryMapper;
|
|
|
import com.fjhx.sale.service.contract.ContractDocumentaryService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.ruoyi.system.utils.UserUtil;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.fjhx.sale.entity.contract.vo.ContractDocumentaryVo;
|
|
@@ -19,7 +26,10 @@ import com.ruoyi.common.utils.wrapper.IWrapper;
|
|
|
import com.fjhx.sale.entity.contract.dto.ContractDocumentaryDto;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
|
@@ -33,6 +43,9 @@ import java.util.List;
|
|
|
@Service
|
|
|
public class ContractDocumentaryServiceImpl extends ServiceImpl<ContractDocumentaryMapper, ContractDocumentary> implements ContractDocumentaryService {
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private CustomerService customerService;
|
|
|
+
|
|
|
|
|
|
* 分页
|
|
|
* @param dto
|
|
@@ -79,4 +92,51 @@ public class ContractDocumentaryServiceImpl extends ServiceImpl<ContractDocument
|
|
|
this.removeById(id);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ * 统计数量
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Map<String,Integer> getSumCount(ContractSelectDto dto) {
|
|
|
+ List<Long> authIdList = customerService.getAuthIdList();
|
|
|
+ if (authIdList.size() == 0) {
|
|
|
+ return new HashMap<>();
|
|
|
+ }
|
|
|
+ IWrapper<Contract> wrapper = IWrapper.getWrapper();
|
|
|
+ wrapper.in("t1", Contract::getBuyCorporationId, authIdList);
|
|
|
+ wrapper.orderByDesc("t1", Contract::getCreateTime);
|
|
|
+ wrapper.eq("t1", Contract::getIsChange, "0");
|
|
|
+ wrapper.ne("t1",Contract::getIsShow,1);
|
|
|
+ wrapper.eq("t1", Contract::getStatus, FlowStatusEnum1.PASS.getKey());
|
|
|
+ wrapper.eq("t1.orderStatus", dto.getOrderStatus());
|
|
|
+ if(dto.getDocumentarySearch()==1&&ObjectUtil.isNotEmpty(dto.getDocumentaryType())){
|
|
|
+ wrapper.eq("t1.documentaryCount",0);
|
|
|
+ }
|
|
|
+ if(dto.getDocumentarySearch()==2&&ObjectUtil.isNotEmpty(dto.getDocumentaryType())){
|
|
|
+ wrapper.gt("t1.documentaryCount",0);
|
|
|
+ }
|
|
|
+ wrapper.groupBy("t3.documentary_type");
|
|
|
+ List<ContractDocumentary> list = baseMapper.getSumCount(wrapper,dto.getDocumentaryType());
|
|
|
+ Map<String,Integer> countMap = setCount(list);
|
|
|
+ return countMap;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private Map<String,Integer> setCount(List<ContractDocumentary> list){
|
|
|
+ Map<String,Integer> map = list.stream().collect(Collectors.toMap(ContractDocumentary::getDocumentaryType,ContractDocumentary::getCount));
|
|
|
+ map.put(DocumentaryTypeEnum.TYPE_1.getKey(),map.getOrDefault(DocumentaryTypeEnum.TYPE_1.getKey(),0));
|
|
|
+ map.put(DocumentaryTypeEnum.TYPE_2.getKey(),map.getOrDefault(DocumentaryTypeEnum.TYPE_2.getKey(),0));
|
|
|
+ map.put(DocumentaryTypeEnum.TYPE_3.getKey(),map.getOrDefault(DocumentaryTypeEnum.TYPE_3.getKey(),0));
|
|
|
+ map.put(DocumentaryTypeEnum.TYPE_4.getKey(),map.getOrDefault(DocumentaryTypeEnum.TYPE_4.getKey(),0));
|
|
|
+ map.put(DocumentaryTypeEnum.TYPE_5.getKey(),map.getOrDefault(DocumentaryTypeEnum.TYPE_5.getKey(),0));
|
|
|
+ map.put(DocumentaryTypeEnum.TYPE_6.getKey(),map.getOrDefault(DocumentaryTypeEnum.TYPE_6.getKey(),0));
|
|
|
+ map.put(DocumentaryTypeEnum.TYPE_7.getKey(),map.getOrDefault(DocumentaryTypeEnum.TYPE_7.getKey(),0));
|
|
|
+ map.put(DocumentaryTypeEnum.TYPE_8.getKey(),map.getOrDefault(DocumentaryTypeEnum.TYPE_8.getKey(),0));
|
|
|
+ map.put(DocumentaryTypeEnum.TYPE_9.getKey(),map.getOrDefault(DocumentaryTypeEnum.TYPE_9.getKey(),0));
|
|
|
+ map.put(DocumentaryTypeEnum.TYPE_10.getKey(),map.getOrDefault(DocumentaryTypeEnum.TYPE_10.getKey(),0));
|
|
|
+ map.put(DocumentaryTypeEnum.TYPE_11.getKey(),map.getOrDefault(DocumentaryTypeEnum.TYPE_11.getKey(),0));
|
|
|
+ map.put(DocumentaryTypeEnum.TYPE_12.getKey(),map.getOrDefault(DocumentaryTypeEnum.TYPE_12.getKey(),0));
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
}
|