From 2a959177f1adcd36f790e14718bbd116752e5c64 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期六, 12 十月 2024 17:19:10 +0800
Subject: [PATCH] 2024-10-12 朱宝民 优化交易明细导出、取水口导出、阀控器导出

---
 pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeCtrl.java |  104 ++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 76 insertions(+), 28 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeCtrl.java
index 032631f..57b5513 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeCtrl.java
@@ -1,16 +1,20 @@
 package com.dy.pipIrrProject.intake;
 
 import com.alibaba.excel.EasyExcel;
-import com.alibaba.excel.support.ExcelTypeEnum;
 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.pojoPr.PrIntake;
 import com.dy.pipIrrGlobal.voPr.VoIntake;
+import com.dy.pipIrrGlobal.voPr.VoOnLineIntake;
 import com.dy.pipIrrGlobal.voSe.VoActiveCard;
+import com.dy.pipIrrProject.intake.qo.OnLineIntakesQO;
 import com.dy.pipIrrProject.result.ProjectResultCode;
+import com.taobao.api.ApiException;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.media.Content;
@@ -32,6 +36,7 @@
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.net.URLEncoder;
+import java.time.LocalDate;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
 
@@ -49,6 +54,11 @@
 @RequiredArgsConstructor
 public class IntakeCtrl {
     private final IntakeSv intakeSv;
+
+    @GetMapping("/test")
+    public String sendMessage(String message) throws ApiException {
+        return intakeSv.sendMessage(message);
+    }
 
     /**
      * 瀹㈡埛绔姹傚緱鍒版墍鏈夊彇姘村彛鍚嶅瓧
@@ -70,7 +80,7 @@
         try {
             QueryResultVo<List<PrIntake>> res = this.intakeSv.selectAll();
             if (res == null) {
-                return BaseResponseUtils.buildFail(ProjectResultCode.NO_INTAKES.getMessage());
+                return BaseResponseUtils.buildErrorMsg(ProjectResultCode.NO_INTAKES.getMessage());
             } else {
                 return BaseResponseUtils.buildSuccess(res);
             }
@@ -98,7 +108,7 @@
     @SsoAop()
     public BaseResponse<PrIntake> one(@PathVariable("id") Long id) {
         if (this.intakeSv.selectById(id) == null) {
-            return BaseResponseUtils.buildFail(ProjectResultCode.NO_INTAKES.getMessage());
+            return BaseResponseUtils.buildErrorMsg(ProjectResultCode.NO_INTAKES.getMessage());
         } else {
             return BaseResponseUtils.buildSuccess(this.intakeSv.selectById(id));
         }
@@ -119,7 +129,7 @@
         try {
             QueryResultVo<List<VoIntake>> res = intakeSv.getIntakes(vo);
             if (res == null) {
-                return BaseResponseUtils.buildFail(ProjectResultCode.NO_INTAKES.getMessage());
+                return BaseResponseUtils.buildErrorMsg(ProjectResultCode.NO_INTAKES.getMessage());
             }
             return BaseResponseUtils.buildSuccess(res);
         } catch (Exception e) {
@@ -140,18 +150,20 @@
     @PostMapping(path = "add", consumes = MediaType.APPLICATION_JSON_VALUE)
     @Transactional(rollbackFor = Exception.class)
     @SsoAop()
-    public BaseResponse<Boolean> add(@RequestBody  @Valid PrIntake po, @Parameter(hidden = true) BindingResult bindingResult) {
+    public BaseResponse<Boolean> add(@RequestBody @Valid PrIntake po, @Parameter(hidden = true) BindingResult bindingResult) {
         DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
         if (bindingResult != null && bindingResult.hasErrors()) {
-            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
         }
-
-        Date operateTime = new Date();
-        po.setOperateDt(operateTime);
-        po.setDeleted((byte)0);
+        List<Long> ids = intakeSv.getIntakeIdsByName(po.getName());
+        if (ids.size() > 0) {
+            return BaseResponseUtils.buildErrorMsg(ProjectResultCode.INTAKE_NAME_EXIST.getMessage());
+        }
+        po.setOperateDt(new Date());
+        po.setDeleted((byte) 0);
         Integer rec = Optional.ofNullable(intakeSv.addIntake(po)).orElse(0);
         if (rec == 0) {
-            return BaseResponseUtils.buildFail(ProjectResultCode.ADD_INTAKE_FAIL.getMessage());
+            return BaseResponseUtils.buildErrorMsg(ProjectResultCode.ADD_INTAKE_FAIL.getMessage());
         }
         return BaseResponseUtils.buildSuccess(true);
     }
@@ -175,19 +187,22 @@
     @SsoAop()
     public BaseResponse<Boolean> update(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) @Valid PrIntake po, @Parameter(hidden = true) BindingResult bindingResult) {
         if (bindingResult != null && bindingResult.hasErrors()) {
-            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+        }
+        List<Long> ids = intakeSv.getIntakeIdByNameExcludeId(po.getId(), po.getName());
+        if (ids.size() > 0) {
+            return BaseResponseUtils.buildErrorMsg(ProjectResultCode.INTAKE_NAME_EXIST.getMessage());
         }
         int count;
-        Date operateTime = new Date();
-        po.setOperateDt(operateTime);
+        po.setOperateDt(new Date());
         try {
             count = this.intakeSv.update(po);
         } catch (Exception e) {
-            log.error("淇濆瓨鍒嗘按鍙e紓甯�", e);
+            log.error("淇濆瓨鍙栨按鍙e紓甯�", e);
             return BaseResponseUtils.buildException(e.getMessage());
         }
         if (count <= 0) {
-            return BaseResponseUtils.buildFail(ProjectResultCode.UPDATE_INTAKE.getMessage());
+            return BaseResponseUtils.buildErrorMsg(ProjectResultCode.UPDATE_INTAKE.getMessage());
         } else {
             return BaseResponseUtils.buildSuccess(true);
         }
@@ -212,14 +227,14 @@
     @SsoAop()
     public BaseResponse<Boolean> delete(@RequestBody Map map) {
         if (map == null || map.size() <= 0) {
-            return BaseResponseUtils.buildFail(ProjectResultCode.PLEASE_INPUT_INTAKE_ID.getMessage());
+            return BaseResponseUtils.buildErrorMsg(ProjectResultCode.PLEASE_INPUT_INTAKE_ID.getMessage());
         }
         Long id = Long.parseLong(map.get("id").toString());
         try {
             //鍙栨按鍙D
             Integer recordCount = Optional.ofNullable(intakeSv.delete(id)).orElse(0);
             if (recordCount == 0) {
-                return BaseResponseUtils.buildFail(ProjectResultCode.DELETE_INTAKE_FAIL.getMessage());
+                return BaseResponseUtils.buildErrorMsg(ProjectResultCode.DELETE_INTAKE_FAIL.getMessage());
             } else {
                 return BaseResponseUtils.buildSuccess(true);
             }
@@ -227,8 +242,6 @@
             log.error("淇濆瓨鍒嗘按鍙e紓甯�", e);
             return BaseResponseUtils.buildException(e.getMessage());
         }
-
-
     }
 
     /**
@@ -239,16 +252,15 @@
      */
     @SneakyThrows(IOException.class)
     @GetMapping(value = "exportIntakes")
+    @SsoAop()
     public void exportIntakes(HttpServletResponse response, QueryVo vo) {
-        setExcelRespProp(response, "鍙栨按鍙e垪琛�");
-        //List<VoDivide> memberList = LocalJsonUtil.getListFromJson("json/members.json", VoDivide.class);
-        List<VoIntake> memberList = intakeSv.exportIntakes(vo);
+        List<VoIntake> intakeList = intakeSv.exportIntakes(vo);
 
-        EasyExcel.write(response.getOutputStream())
-                .head(VoIntake.class)
-                .excelType(ExcelTypeEnum.XLSX)
-                .sheet("鍙栨按鍙e垪琛�")
-                .doWrite(memberList);
+        ExcelUtil.setExcelRespProp(response, "鍙栨按鍙e垪琛�" + LocalDate.now());
+        EasyExcel.write(response.getOutputStream(), VoIntake.class)
+                .registerWriteHandler(new CellWriteHandler("鍙栨按鍙e垪琛�"))
+                .sheet("鍙栨按鍙�")
+                .doWrite(intakeList);
     }
 
     /**
@@ -276,4 +288,40 @@
         String fileName = URLEncoder.encode(rawFileName, "UTF-8").replaceAll("\\+", "%20");
         response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
     }
+
+    /**
+     * 鑾峰彇鍙栨按鍙e垪琛紙鍦ㄧ嚎鍜屼笉鍦ㄧ嚎锛�
+     *
+     * @param qo
+     * @return
+     */
+    @GetMapping(path = "all_intakes")
+    @SsoAop()
+    public BaseResponse<QueryResultVo<List<VoOnLineIntake>>> getAllIntakes(OnLineIntakesQO qo) {
+        try {
+            QueryResultVo<List<VoOnLineIntake>> res = intakeSv.selectOnLineIntakes(qo);
+            return BaseResponseUtils.buildSuccess(res);
+        } catch (Exception e) {
+            log.error("鏌ヨ鍙栨按鍙e紓甯�", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+    }
+
+    /**
+     * 鏍规嵁鎿嶄綔鍛樿幏鍙栧父鐢ㄥ彇姘村彛锛堝湪绾垮拰涓嶅湪绾匡級
+     *
+     * @param operator
+     * @return
+     */
+    @GetMapping(path = "used_intakes")
+    @SsoAop()
+    public BaseResponse<List<VoOnLineIntake>> getUsedIntakes(Long operator) {
+        try {
+            List<VoOnLineIntake> res = intakeSv.getUsedIntakes(operator);
+            return BaseResponseUtils.buildSuccess(res);
+        } catch (Exception e) {
+            log.error("鏌ヨ鍙栨按鍙e紓甯�", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+    }
 }

--
Gitblit v1.8.0