|
@@ -1,6 +1,7 @@
|
|
|
package com.usky.iot.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
@@ -16,6 +17,7 @@ import com.usky.iot.service.CrmInvoiceInfoService;
|
|
|
import com.usky.common.mybatis.core.AbstractCrudService;
|
|
|
import com.usky.iot.service.vo.CrmInvoiceInfoExportVO;
|
|
|
import com.usky.iot.service.vo.CrmInvoiceInfoRequest;
|
|
|
+import com.usky.iot.service.vo.CrmInvoiceInfoStatisticVO;
|
|
|
import com.usky.iot.service.vo.CrmInvoiceInfoVO;
|
|
|
import org.apache.commons.lang.time.DateFormatUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -25,6 +27,7 @@ import java.time.LocalDateTime;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
/**
|
|
|
* <p>
|
|
@@ -61,6 +64,27 @@ public class CrmInvoiceInfoServiceImpl extends AbstractCrudService<CrmInvoiceInf
|
|
|
return new CommonPage<>(page.getRecords(),page.getTotal(),page.getSize(),page.getCurrent());
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public List<CrmInvoiceInfoStatisticVO> statistic(CrmInvoiceInfoRequest crmInvoiceInfoRequest){
|
|
|
+ List<CrmInvoiceInfoStatisticVO> list = new ArrayList<>();
|
|
|
+ QueryWrapper<CrmInvoiceInfo> queryWrapper = Wrappers.query();
|
|
|
+ queryWrapper.select("count(*) as invoiceApplicantNum","SUM(CASE WHEN invoice_status=1 THEN amount END) as notInvoicedAmount","SUM(invoice_status=1) as notInvoicedNum","SUM(invoice_status=2) as invoicedNum")
|
|
|
+ .between("create_time",crmInvoiceInfoRequest.getStartTime(),crmInvoiceInfoRequest.getEndTime());
|
|
|
+ List<Map<String,Object>> maps = this.listMaps(queryWrapper);
|
|
|
+ if(maps.size() > 0){
|
|
|
+ for (int i = 0; i < maps.size(); i++) {
|
|
|
+ CrmInvoiceInfoStatisticVO statisticVO = new CrmInvoiceInfoStatisticVO();
|
|
|
+ statisticVO.setInvoiceApplicantNum(Integer.parseInt(maps.get(i).get("invoiceApplicantNum").toString()));
|
|
|
+ statisticVO.setNotInvoicedAmount(Double.parseDouble(maps.get(i).get("notInvoicedAmount").toString()));
|
|
|
+ statisticVO.setNotInvoicedNum(Integer.parseInt(maps.get(i).get("notInvoicedNum").toString()));
|
|
|
+ statisticVO.setInvoicedNum(Integer.parseInt(maps.get(i).get("invoicedNum").toString()));
|
|
|
+ list.add(statisticVO);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public List<CrmInvoiceInfoExportVO> export(CrmInvoiceInfoRequest crmInvoiceInfoRequest){
|
|
|
List<CrmInvoiceInfoExportVO> list = new ArrayList<>();
|