|
@@ -1,7 +1,9 @@
|
|
|
package com.fjhx.form.service.impl;
|
|
|
|
|
|
+import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.fjhx.common.utils.excel.util.ExcelUtil;
|
|
|
import com.fjhx.form.entity.*;
|
|
|
import com.fjhx.form.mapper.ReportMapper;
|
|
|
import com.fjhx.form.service.ReportService;
|
|
@@ -16,6 +18,7 @@ import com.ruoyi.system.utils.UserUtil;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
import java.util.ArrayList;
|
|
@@ -155,9 +158,10 @@ public class ReportServiceImpl implements ReportService {
|
|
|
return waitShipmentReportBoPage;
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public Page<OrderSummaryBo> orderSummary(OrderSummarySelectDto dto) {
|
|
|
- IWrapper<Object> wrapper = IWrapper.getWrapper();
|
|
|
+ /**
|
|
|
+ * 订单汇总查询条件
|
|
|
+ */
|
|
|
+ private void setOrderSummaryWrapper(OrderSummarySelectDto dto, IWrapper<Object> wrapper) {
|
|
|
if (ObjectUtil.isNotEmpty(dto.getAccountAge())) {
|
|
|
wrapper.having("accountAge = {0}", dto.getAccountAge());
|
|
|
}
|
|
@@ -170,11 +174,91 @@ public class ReportServiceImpl implements ReportService {
|
|
|
new SqlField("cu.short_name")
|
|
|
);
|
|
|
wrapper.orderByDesc("c.create_time", "c.id");
|
|
|
- Page<OrderSummaryBo> page = reportMapper.orderSummary(dto.getPage(), dto, wrapper);
|
|
|
+ }
|
|
|
|
|
|
- List<OrderSummaryBo> records = page.getRecords();
|
|
|
+ /**
|
|
|
+ * 订单汇总数据处理
|
|
|
+ */
|
|
|
+ private void setOrderSummaryInfo(List<OrderSummaryBo> records) {
|
|
|
UserUtil.assignmentNickName(records, OrderSummaryBo::getSalesmanId, OrderSummaryBo::setSalesmanName);
|
|
|
UserUtil.assignmentNickName(records, OrderSummaryBo::getMerchUserId, OrderSummaryBo::setMerchUserName);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Page<OrderSummaryBo> orderSummary(OrderSummarySelectDto dto) {
|
|
|
+ IWrapper<Object> wrapper = IWrapper.getWrapper();
|
|
|
+ //赋值查询条件
|
|
|
+ setOrderSummaryWrapper(dto, wrapper);
|
|
|
+ Page<OrderSummaryBo> page = reportMapper.orderSummary(dto.getPage(), dto, wrapper);
|
|
|
+ List<OrderSummaryBo> records = page.getRecords();
|
|
|
+ //赋值信息
|
|
|
+ setOrderSummaryInfo(records);
|
|
|
return page;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void orderSummaryExcelExport(OrderSummarySelectDto dto, HttpServletResponse httpServletResponse) {
|
|
|
+ IWrapper<Object> wrapper = IWrapper.getWrapper();
|
|
|
+ //赋值查询条件
|
|
|
+ setOrderSummaryWrapper(dto, wrapper);
|
|
|
+ List<OrderSummaryBo> records = reportMapper.orderSummary(dto, wrapper);
|
|
|
+ //赋值信息
|
|
|
+ setOrderSummaryInfo(records);
|
|
|
+
|
|
|
+ //Excel数据处理
|
|
|
+ for (OrderSummaryBo record : records) {
|
|
|
+ //订单类型处理
|
|
|
+ String contractType = record.getContractType();
|
|
|
+ switch (contractType) {
|
|
|
+ case "1":
|
|
|
+ contractType = "外贸订单(退税)";
|
|
|
+ break;
|
|
|
+ case "2":
|
|
|
+ contractType = "内销订单";
|
|
|
+ break;
|
|
|
+ case "3":
|
|
|
+ contractType = "打样订单";
|
|
|
+ break;
|
|
|
+ case "4":
|
|
|
+ contractType = "外贸订单(不退税)";
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ record.setContractType(contractType);
|
|
|
+
|
|
|
+ //订单性质处理
|
|
|
+ String belongType = record.getBelongType();
|
|
|
+ switch (belongType) {
|
|
|
+ case "1":
|
|
|
+ belongType = "归属工厂";
|
|
|
+ break;
|
|
|
+ case "2":
|
|
|
+ belongType = "归属业务";
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ record.setBelongType(belongType);
|
|
|
+
|
|
|
+ //是否可结算
|
|
|
+ String isSettlement = record.getIsSettlement();
|
|
|
+ switch (isSettlement) {
|
|
|
+ case "0":
|
|
|
+ isSettlement = "否";
|
|
|
+ break;
|
|
|
+ case "1":
|
|
|
+ isSettlement = "是";
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ record.setIsSettlement(isSettlement);
|
|
|
+
|
|
|
+ //是否已结算处理
|
|
|
+ String settleStart = DateUtil.format(record.getSettleStartDate(), "yyyy-MM-dd");
|
|
|
+ String settleEnd = DateUtil.format(record.getSettleEndDate(), "yyyy-MM-dd");
|
|
|
+ record.setSettleDateStr(String.format("%s~%s ", ObjectUtil.isEmpty(settleStart) ? "" : settleStart, ObjectUtil.isEmpty(settleEnd) ? "" : settleEnd));
|
|
|
+
|
|
|
+ //出货日期处理
|
|
|
+ record.setFirstTruckDateStr(DateUtil.format(record.getFirstTruckDate(), "yyyy-MM-dd"));
|
|
|
+ }
|
|
|
+
|
|
|
+ //导出Excel
|
|
|
+ ExcelUtil.export(httpServletResponse, records, OrderSummaryBo.class);
|
|
|
+ }
|
|
|
}
|