From 4fe39e9df868a8fdd40549f169adbea2e8bd622a Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期三, 27 十一月 2024 15:34:09 +0800
Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV

---
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/general/GeneralCtrl.java |   78 ++++++++++++++++++++++++++++++--------
 1 files changed, 61 insertions(+), 17 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/general/GeneralCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/general/GeneralCtrl.java
index 7c177b2..1a4f417 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/general/GeneralCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/general/GeneralCtrl.java
@@ -1,14 +1,18 @@
 package com.dy.pipIrrSell.general;
 
+import com.alibaba.excel.EasyExcel;
 import com.dy.common.aop.SsoAop;
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.common.webUtil.QueryResultVo;
 import com.dy.common.webUtil.ResultCodeMsg;
+import com.dy.pipIrrGlobal.excel.CellWriteHandler;
+import com.dy.pipIrrGlobal.excel.ExcelUtil;
 import com.dy.pipIrrGlobal.pojoBa.BaClient;
 import com.dy.pipIrrGlobal.pojoSe.SeAudits;
 import com.dy.pipIrrGlobal.pojoSe.SeGeneral;
 import com.dy.pipIrrGlobal.voSe.VoGeneral;
+import com.dy.pipIrrGlobal.voSe.VoTradeDetails;
 import com.dy.pipIrrSell.general.dto.DtoGeneral;
 import com.dy.pipIrrSell.general.qo.QoGeneral;
 import com.dy.pipIrrSell.general.qo.QoSummary;
@@ -20,14 +24,18 @@
 import io.swagger.v3.oas.annotations.responses.ApiResponse;
 import io.swagger.v3.oas.annotations.responses.ApiResponses;
 import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.servlet.http.HttpServletResponse;
 import jakarta.validation.Valid;
 import lombok.RequiredArgsConstructor;
+import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.http.MediaType;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.*;
 
+import java.io.IOException;
+import java.time.LocalDate;
 import java.util.*;
 
 /**
@@ -66,15 +74,29 @@
         try {
             add_general();
             QueryResultVo<List<VoGeneral>> res = generalSv.getGenerals(vo);
-            if(res.itemTotal > 0) {
-                return BaseResponseUtils.buildSuccess(res);
-            }else {
-                return BaseResponseUtils.buildFail(SellResultCode.No_GENERALS.getMessage());
-            }
+            return BaseResponseUtils.buildSuccess(res);
         } catch (Exception e) {
             log.error("鏌ヨ浜ゆ槗璁板綍寮傚父", e);
             return BaseResponseUtils.buildException(e.getMessage()) ;
         }
+    }
+
+    /**
+     * 瀵煎嚭鎬昏处璁板綍
+     * @param response
+     * @param vo
+     */
+    @SneakyThrows(IOException.class)
+    @RequestMapping(value = "/export_general", method = RequestMethod.GET)
+    @SsoAop()
+    public void exportGeneral(HttpServletResponse response, QoGeneral vo) {
+        ExcelUtil.setExcelRespProp(response, "鎬昏处" + LocalDate.now());
+        List<VoGeneral> generalList = generalSv.exportGenerals(vo).getObj();
+
+        EasyExcel.write(response.getOutputStream(), VoGeneral.class)
+                .registerWriteHandler(new CellWriteHandler("璐㈠姟瀵硅处-鎬昏处"))
+                .sheet("鎬昏处")
+                .doWrite(generalList);
     }
 
     /**
@@ -84,6 +106,8 @@
      * @return
      */
     public void add_general(){
+        //鍒犻櫎浠婂ぉ鐨勬�昏处
+        generalSv.deleteTodayGeneral();
         // 鑾峰彇鏈敓鎴愭�昏处鐨勪氦鏄撴棩鏈熷垪琛紙褰撳ぉ鐨勪氦鏄撹褰曚笉鐢熸垚鎬昏处锛�
         List<Map<String, Object>> list_operateDate = Optional.ofNullable(generalSv.getDatesOfNotInGenerals()).orElse(new ArrayList<>());
         if(list_operateDate.size() > 0) {
@@ -190,14 +214,13 @@
     })
     @GetMapping(path = "getSummaries")
     @SsoAop()
-    public BaseResponse<Map> getSummaries(QoSummary vo){
+    public BaseResponse<Map> getSummaries( @Valid QoSummary vo, BindingResult bindingResult){
+        if(bindingResult != null && bindingResult.hasErrors()){
+            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+        }
         try {
             Map res = generalSv.getSummaries(vo);
-            if(res.size() > 0) {
-                return BaseResponseUtils.buildSuccess(res);
-            }else {
-                return BaseResponseUtils.buildFail(SellResultCode.No_TRADE_SUMMARIES.getMessage());
-            }
+            return BaseResponseUtils.buildSuccess(res);
         } catch (Exception e) {
             log.error("鏌ヨ浜ゆ槗姹囨�昏褰曞紓甯�", e);
             return BaseResponseUtils.buildException(e.getMessage()) ;
@@ -222,15 +245,36 @@
     @SsoAop()
     public BaseResponse<Map> getTradeDetails(QoToAudit vo){
         try {
-            Map res = Optional.ofNullable(generalSv.getTradeDetails(vo)).orElse(new HashMap());
-            if(res.size() > 0) {
-                return BaseResponseUtils.buildSuccess(res);
-            }else {
-                return BaseResponseUtils.buildFail(SellResultCode.No_TRADE_DETAILS.getMessage());
-            }
+            return BaseResponseUtils.buildSuccess(generalSv.getTradeDetails(vo));
         } catch (Exception e) {
             log.error("鏌ヨ浜ゆ槗璁板綍寮傚父", e);
             return BaseResponseUtils.buildException(e.getMessage()) ;
         }
     }
+
+    /**
+     * 瀵煎嚭璐㈠姟瀵硅处_浜ゆ槗鏄庣粏
+     * @param response
+     * @param vo
+     */
+    @SneakyThrows(IOException.class)
+    @RequestMapping(value = "/export_trade_details", method = RequestMethod.GET)
+    @SsoAop()
+    public void exportTradeDetails(HttpServletResponse response, QoToAudit vo) {
+        ExcelUtil.setExcelRespProp(response, "浜ゆ槗鏄庣粏" + LocalDate.now());
+
+        Map map_result = generalSv.exportTradeDetails(vo);
+        Map map_record = (Map) map_result.get("records");
+        List<VoTradeDetails> list = (List<VoTradeDetails>) map_record.get("list");
+        Double totalTradeAmount = Double.parseDouble(map_result.get("totalTradeAmount").toString());
+        VoTradeDetails po = new VoTradeDetails();
+        po.setTradeAmount(totalTradeAmount);
+        list.add(po);
+
+        EasyExcel.write(response.getOutputStream(), VoTradeDetails.class)
+                .registerWriteHandler(new CellWriteHandler("璐㈠姟瀵硅处-浜ゆ槗鏄庣粏"))
+                .sheet("浜ゆ槗鏄庣粏")
+                .doWrite(list);
+    }
+
 }

--
Gitblit v1.8.0