|
|
@@ -0,0 +1,147 @@
|
|
|
+package org.springblade.land.controller;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
|
|
+import io.swagger.annotations.Api;
|
|
|
+import io.swagger.annotations.ApiOperation;
|
|
|
+import lombok.AllArgsConstructor;
|
|
|
+import org.springblade.client.entity.CorpsDesc;
|
|
|
+import org.springblade.client.feign.ICorpsDescClient;
|
|
|
+import org.springblade.core.excel.util.ExcelUtil;
|
|
|
+import org.springblade.core.mp.support.Condition;
|
|
|
+import org.springblade.core.mp.support.Query;
|
|
|
+import org.springblade.core.secure.utils.AuthUtil;
|
|
|
+import org.springblade.core.tool.api.R;
|
|
|
+import org.springblade.core.tool.utils.BeanUtil;
|
|
|
+import org.springblade.land.entity.LandOrder;
|
|
|
+import org.springblade.land.excel.DataAnalysisDetailsExcel;
|
|
|
+import org.springblade.land.excel.DataAnalysisEXcel;
|
|
|
+import org.springblade.land.service.IOrderService;
|
|
|
+import org.springblade.land.vo.DataAnalysisVO;
|
|
|
+import org.springframework.web.bind.annotation.GetMapping;
|
|
|
+import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
+import org.springframework.web.bind.annotation.RestController;
|
|
|
+
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+
|
|
|
+@RestController
|
|
|
+@AllArgsConstructor
|
|
|
+@RequestMapping("/statisticsAnalysis")
|
|
|
+@Api(value = "统计分析", tags = "统计分析接口")
|
|
|
+public class StatisticsAnalysisController {
|
|
|
+
|
|
|
+ private final IOrderService orderService;
|
|
|
+
|
|
|
+ private final ICorpsDescClient corpsDescClient;
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 数据分析(应收,应付)
|
|
|
+ */
|
|
|
+ @GetMapping("/dataAnalysis")
|
|
|
+ @ApiOperationSupport(order = 2)
|
|
|
+ @ApiOperation(value = "统计分析", notes = "传入orderAcctVO")
|
|
|
+ public R<IPage<DataAnalysisVO>> dataAnalysis(DataAnalysisVO dataAnalysisVO, Query query) {
|
|
|
+ IPage<DataAnalysisVO> pages = orderService.getDataAnalysis(Condition.getPage(query), dataAnalysisVO);
|
|
|
+ for (DataAnalysisVO dataAnalysisVO_ : pages.getRecords()) {
|
|
|
+ dataAnalysisVO_.setPlatformBuy(0);
|
|
|
+ }
|
|
|
+ return R.data(pages);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 数据分析(应收,应付)导出
|
|
|
+ */
|
|
|
+ @GetMapping("/dataAnalysisExport")
|
|
|
+ @ApiOperationSupport(order = 2)
|
|
|
+ @ApiOperation(value = "统计分析", notes = "传入orderAcctVO")
|
|
|
+ public void dataAnalysisExport(DataAnalysisVO dataAnalysisVO, HttpServletResponse response) {
|
|
|
+ List<DataAnalysisVO> list = orderService.dataAnalysisExport(dataAnalysisVO);
|
|
|
+ for (DataAnalysisVO dataAnalysisVO_ : list) {
|
|
|
+ dataAnalysisVO_.setPlatformBuy(0);
|
|
|
+ }
|
|
|
+ ExcelUtil.export(response, "导出箱档案信息", "导出数据表", BeanUtil.copy(list, DataAnalysisEXcel.class), DataAnalysisEXcel.class);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 明细列表
|
|
|
+ */
|
|
|
+ @GetMapping("/detailsList")
|
|
|
+ @ApiOperationSupport(order = 2)
|
|
|
+ @ApiOperation(value = "统计分析", notes = "传入orderAcctVO")
|
|
|
+ public R<IPage<DataAnalysisVO>> detailsList(DataAnalysisVO dataAnalysisVO, Query query) {
|
|
|
+ LambdaQueryWrapper<LandOrder> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.eq(LandOrder::getIsDeleted, 0)
|
|
|
+ .eq(LandOrder::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(LandOrder::getCorpId, dataAnalysisVO.getCorpId());
|
|
|
+ if (dataAnalysisVO.getBsDateList() != null && dataAnalysisVO.getBsDateList().size() > 1) {
|
|
|
+ lambdaQueryWrapper.ge(LandOrder::getBsDate, dataAnalysisVO.getBsDateList().get(0));
|
|
|
+ lambdaQueryWrapper.le(LandOrder::getBsDate, dataAnalysisVO.getBsDateList().get(1));
|
|
|
+ }
|
|
|
+ IPage<LandOrder> pages = orderService.page(Condition.getPage(query), lambdaQueryWrapper);
|
|
|
+ List<DataAnalysisVO> dataAnalysisVOList = new ArrayList<>();
|
|
|
+ for (LandOrder landOrder : pages.getRecords()) {
|
|
|
+ DataAnalysisVO DataAnalysisVO_ = new DataAnalysisVO();
|
|
|
+ CorpsDesc corpsDesc = corpsDescClient.getCorpId(landOrder.getCorpId());
|
|
|
+ if (ObjectUtils.isNotNull(corpsDesc)) {
|
|
|
+ DataAnalysisVO_.setCorpName(corpsDesc.getCname());
|
|
|
+ }
|
|
|
+ DataAnalysisVO_.setBsDate(landOrder.getBsDate());
|
|
|
+ DataAnalysisVO_.setBillNo(landOrder.getBillNo());
|
|
|
+ DataAnalysisVO_.setOrderNo(landOrder.getOrderNo());
|
|
|
+ DataAnalysisVO_.setPlateNo(landOrder.getPlateNo());
|
|
|
+ DataAnalysisVO_.setFreightCollect(landOrder.getFreightCollect());
|
|
|
+ DataAnalysisVO_.setFreightPay(landOrder.getFreightPay());
|
|
|
+ dataAnalysisVOList.add(DataAnalysisVO_);
|
|
|
+ }
|
|
|
+ IPage<DataAnalysisVO> newPage = new Page<>();
|
|
|
+ newPage.setRecords(dataAnalysisVOList);
|
|
|
+ newPage.setPages(pages.getPages());
|
|
|
+ newPage.setSize(pages.getSize());
|
|
|
+ newPage.setCurrent(pages.getCurrent());
|
|
|
+ newPage.setTotal(pages.getTotal());
|
|
|
+ return R.data(newPage);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 明细列表导出
|
|
|
+ */
|
|
|
+ @GetMapping("/detailsListExport")
|
|
|
+ @ApiOperationSupport(order = 2)
|
|
|
+ @ApiOperation(value = "统计分析", notes = "传入orderAcctVO")
|
|
|
+ public void detailsListExport(DataAnalysisVO dataAnalysisVO, HttpServletResponse response) {
|
|
|
+ LambdaQueryWrapper<LandOrder> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.eq(LandOrder::getIsDeleted, 0)
|
|
|
+ .eq(LandOrder::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(LandOrder::getCorpId, dataAnalysisVO.getCorpId());
|
|
|
+ if (dataAnalysisVO.getBsDateList() != null && dataAnalysisVO.getBsDateList().size() > 1) {
|
|
|
+ lambdaQueryWrapper.ge(LandOrder::getBsDate, dataAnalysisVO.getBsDateList().get(0));
|
|
|
+ lambdaQueryWrapper.le(LandOrder::getBsDate, dataAnalysisVO.getBsDateList().get(1));
|
|
|
+ }
|
|
|
+ List<LandOrder> landOrderList = orderService.list(lambdaQueryWrapper);
|
|
|
+ List<DataAnalysisVO> dataAnalysisVOList = new ArrayList<>();
|
|
|
+ for (LandOrder landOrder : landOrderList) {
|
|
|
+ DataAnalysisVO DataAnalysisVO_ = new DataAnalysisVO();
|
|
|
+ CorpsDesc corpsDesc = corpsDescClient.getCorpId(landOrder.getCorpId());
|
|
|
+ if (ObjectUtils.isNotNull(corpsDesc)) {
|
|
|
+ DataAnalysisVO_.setCorpName(corpsDesc.getCname());
|
|
|
+ }
|
|
|
+ DataAnalysisVO_.setBsDate(landOrder.getBsDate());
|
|
|
+ DataAnalysisVO_.setBillNo(landOrder.getBillNo());
|
|
|
+ DataAnalysisVO_.setOrderNo(landOrder.getOrderNo());
|
|
|
+ DataAnalysisVO_.setPlateNo(landOrder.getPlateNo());
|
|
|
+ DataAnalysisVO_.setFreightCollect(landOrder.getFreightCollect());
|
|
|
+ DataAnalysisVO_.setFreightPay(landOrder.getFreightPay());
|
|
|
+ dataAnalysisVOList.add(DataAnalysisVO_);
|
|
|
+ }
|
|
|
+ ExcelUtil.export(response, "导出应收明细信息", "导出数据表", BeanUtil.copy(dataAnalysisVOList, DataAnalysisDetailsExcel.class), DataAnalysisDetailsExcel.class);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+}
|