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, 67 insertions(+), 11 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 b50c13e..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,16 +1,21 @@
 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;
 import com.dy.pipIrrSell.general.qo.QoToAudit;
 import com.dy.pipIrrSell.result.SellResultCode;
 import io.swagger.v3.oas.annotations.Operation;
@@ -19,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.*;
 
 /**
@@ -73,12 +82,32 @@
     }
 
     /**
+     * 瀵煎嚭鎬昏处璁板綍
+     * @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);
+    }
+
+    /**
      * 鐢熸垚鎬昏处
      *      鑾峰彇鏈敓鎴愭�昏处鐨勪氦鏄撴棩鏈熷垪琛紙褰撳ぉ鐨勪氦鏄撹褰曚笉鐢熸垚鎬昏处锛�
      *      灏嗘寚瀹氭棩鏈熺殑浜ゆ槗璁板綍姹囨�诲埌鎬昏处琛�
      * @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) {
@@ -166,12 +195,15 @@
         return BaseResponseUtils.buildSuccess() ;
     }
 
+
     /**
-     * 鑾峰緱寰呭鏍镐氦鏄撴眹鎬昏褰�
+     * 寮�鍗$郴缁熶氦鏄撴眹鎬绘煡璇笌瀵硅处绯荤粺浜ゆ槗姹囨�绘煡璇㈠叡鐢ㄦ帴鍙�
+     * 寮�鍗$郴缁熷弬鏁帮細鏀堕摱鍛業D銆佹煡璇㈣捣姝㈡棩鏈�
+     * 瀵硅处绯荤粺鍙傛暟锛氭敹閾跺憳ID銆佷氦鏄撴棩鏈�
      * @param vo
      * @return
      */
-    @Operation(summary = "鑾峰緱寰呭鏍镐氦鏄撴眹鎬昏褰�", description = "杩斿洖寰呭鏍镐氦鏄撴眹鎬昏褰�")
+    @Operation(summary = "鑾峰緱寮�鍗$郴缁熶氦鏄撶粺璁¤褰�", description = "杩斿洖寮�鍗$郴缁熶氦鏄撶粺璁¤褰�")
     @ApiResponses(value = {
             @ApiResponse(
                     responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
@@ -180,11 +212,14 @@
                             schema = @Schema(implementation = BaClient.class))}
             )
     })
-    @GetMapping(path = "getToAudit")
+    @GetMapping(path = "getSummaries")
     @SsoAop()
-    public BaseResponse<Map> getToAudit(QoToAudit 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.getToAudit(vo);
+            Map res = generalSv.getSummaries(vo);
             return BaseResponseUtils.buildSuccess(res);
         } catch (Exception e) {
             log.error("鏌ヨ浜ゆ槗姹囨�昏褰曞紓甯�", e);
@@ -210,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