From d8e76c8e094c2312284b5dc7b4207d049f27262b Mon Sep 17 00:00:00 2001
From: wjli <591616088@qq.com>
Date: 星期二, 16 五月 2023 09:25:44 +0800
Subject: [PATCH] 1.完善excel导出
---
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/OrderStatusCount.java | 28 ++++++++++---
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/ISignCountServiceImpl.java | 51 ++++++++++++++++++++++++-
xboot-modules/xboot-your/src/main/resources/mapper/SignCountMapper.xml | 1
3 files changed, 70 insertions(+), 10 deletions(-)
diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/OrderStatusCount.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/OrderStatusCount.java
index f85d9b6..780d760 100644
--- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/OrderStatusCount.java
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/OrderStatusCount.java
@@ -15,14 +15,22 @@
@Data
//@Excel("绛炬敹鐘舵�佺粺璁℃姤琛�")
public class OrderStatusCount {
- // @ContentLoopMerge(eachRow = 5)
- @ExcelProperty("杞﹀彿")
+ @ContentLoopMerge(eachRow = 5)
+ @ExcelProperty(value = "杞﹀彿")
@TableField(value = "carName")
private String carName;
+
+ @ContentLoopMerge(eachRow = 5)
+ @ExcelProperty("濮撳悕")
+ @TableField(value = "userName")
+ //@ExcelIgnore
+ private String userName;
// @ContentLoopMerge(eachRow = 5)
+ @ContentLoopMerge(eachRow = 5)
@ExcelProperty("绾胯矾")
@TableField(value = "line")
private String line;
+
@ExcelProperty("鎵规")
@TableField(value = "batch")
private String batch;
@@ -41,7 +49,14 @@
@ExcelProperty("绛炬敹鐜�")
@TableField(value = "proportion")
private String proportion;
- @ExcelProperty("鏃ユ湡")
+
+ @ContentLoopMerge(eachRow = 5)
+ @ExcelProperty("骞冲潎绛炬敹鐜�")
+ @TableField(value = "name")
+ //@ExcelIgnore
+ private String name;
+ //@ExcelProperty("鏃ユ湡")
+ @ExcelIgnore
@ColumnWidth(20)
private String sendDate;
// 1 鎸夋棩鏌ヨ 3鎸夋湀鏌ヨ
@@ -61,10 +76,9 @@
private String carId;
@ExcelIgnore
private String carNo;
- @ExcelIgnore
- private String name;
- @ExcelIgnore
- private String userName;
+ /* @ExcelIgnore
+ private String name;*/
+
@ExcelIgnore
private String carTime;
diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/ISignCountServiceImpl.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/ISignCountServiceImpl.java
index 74f3c25..35c9a38 100644
--- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/ISignCountServiceImpl.java
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/ISignCountServiceImpl.java
@@ -5,6 +5,7 @@
import cn.exrick.xboot.your.mapper.SignCountMapper;
import cn.exrick.xboot.your.entity.SignCount;
import cn.exrick.xboot.your.service.ISignCountService;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -15,6 +16,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
@@ -105,25 +107,55 @@
for (int i=0;i<records.size();i++) {
for (OrderStatusCount statusCountx: recordsAll) {
if(records.get(i).getCarName().equals(statusCountx.getCarName())){
- records.get(i).setSendMonth(statusCountx.getProportion());
+ if(statusCountx.getProportion().length()>6){
+ String ss = statusCountx.getProportion().replace("%","");
+ BigDecimal bigDecimal = new BigDecimal(ss);
+ double sss = bigDecimal.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
+ records.get(i).setName(sss + "%");
+ }else{
+ records.get(i).setName(statusCountx.getProportion());
+ }
break;
}
+ }
+ if(!StrUtil.isEmpty(records.get(i).getSignCount()) && !StrUtil.isEmpty(records.get(i).getAmount()) && !StrUtil.isEmpty(records.get(i).getNotSignCount())){
+ int abnormalSign = Integer.parseInt(records.get(i).getAmount())-Integer.parseInt(records.get(i).getSignCount())-Integer.parseInt(records.get(i).getNotSignCount());
+ if(abnormalSign<0){
+ abnormalSign = 0;
+ }
+ records.get(i).setAbnormalSign(abnormalSign + "");
+ }
+ if(records.get(i).getProportion().length()>6){
+ String ss = records.get(i).getProportion().replace("%","");
+ BigDecimal bigDecimal = new BigDecimal(ss);
+ double sss = bigDecimal.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
+ records.get(i).setProportion(sss+ "%");
}
//"oneBatch":"01娈�","twoBatch":"0","threeBatch":"0","fourBatch":"0","fiveBatch":"0"
if("0".equals(records.get(i).getOneBatch())){
records.get(i).setOneBatch(null);
+ }else{
+ records.get(i).setBatch("01娈�");
}
if("0".equals(records.get(i).getTwoBatch())){
records.get(i).setTwoBatch(null);
+ }else{
+ records.get(i).setBatch("02娈�");
}
if("0".equals(records.get(i).getThreeBatch())){
records.get(i).setThreeBatch(null);
+ }else{
+ records.get(i).setBatch("03娈�");
}
if("0".equals(records.get(i).getFourBatch())){
records.get(i).setFourBatch(null);
+ }else{
+ records.get(i).setBatch("04娈�");
}
if("0".equals(records.get(i).getFiveBatch())){
records.get(i).setFiveBatch(null);
+ }else{
+ records.get(i).setBatch("05娈�");
}
}
return records;
@@ -146,9 +178,22 @@
for (int i=0;i<records.size();i++) {
for (OrderStatusCount statusCountx: recordsAll) {
if(records.get(i).getCarName().equals(statusCountx.getCarName())){
- records.get(i).setSendMonth(statusCountx.getProportion());
+ if(statusCountx.getProportion().length()>6){
+ String ss = statusCountx.getProportion().replace("%","");
+ BigDecimal bigDecimal = new BigDecimal(ss);
+ double sss = bigDecimal.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
+ records.get(i).setSendMonth(sss + "%");
+ }else{
+ records.get(i).setSendMonth(statusCountx.getProportion());
+ }
break;
}
+ }
+ if(records.get(i).getProportion().length()>6){
+ String ss = records.get(i).getProportion().replace("%","");
+ BigDecimal bigDecimal = new BigDecimal(ss);
+ double sss = bigDecimal.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
+ records.get(i).setProportion(sss+ "%");
}
//"oneBatch":"01娈�","twoBatch":"0","threeBatch":"0","fourBatch":"0","fiveBatch":"0"
if("0".equals(records.get(i).getOneBatch())){
@@ -171,4 +216,4 @@
orderStatusCountIPage.setRecords(records);
return orderStatusCountIPage;
}
-}
+}
\ No newline at end of file
diff --git a/xboot-modules/xboot-your/src/main/resources/mapper/SignCountMapper.xml b/xboot-modules/xboot-your/src/main/resources/mapper/SignCountMapper.xml
index 7d4e14f..bcc1401 100644
--- a/xboot-modules/xboot-your/src/main/resources/mapper/SignCountMapper.xml
+++ b/xboot-modules/xboot-your/src/main/resources/mapper/SignCountMapper.xml
@@ -238,6 +238,7 @@
user_name as userName,
car_name,SUM(sign_count) as signCount,
SUM(amount) as amount,
+ SUM(not_sign_count) as not_sign_count,
CONCAT_WS( '',( FORMAT((SUM( sign_count ) / SUM( amount )),4 ) *100), '%') as proportion,
(CASE `batch` WHEN '01娈�' THEN batch ELSE 0 END) as 'oneBatch',
(CASE `batch` WHEN '02娈�' THEN batch ELSE 0 END) as 'twoBatch',
--
Gitblit v1.9.1