From 30e858fa504b268b9b436afca0a1259cf6e8c488 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期二, 19 八月 2025 11:01:40 +0800
Subject: [PATCH] 优化

---
 server/src/main/java/com/doumee/api/business/WorkorderController.java |  113 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 110 insertions(+), 3 deletions(-)

diff --git a/server/src/main/java/com/doumee/api/business/WorkorderController.java b/server/src/main/java/com/doumee/api/business/WorkorderController.java
index a3c17a1..f8aaa44 100644
--- a/server/src/main/java/com/doumee/api/business/WorkorderController.java
+++ b/server/src/main/java/com/doumee/api/business/WorkorderController.java
@@ -1,21 +1,33 @@
 package com.doumee.api.business;
 
 import com.doumee.api.BaseController;
+import com.doumee.config.annotation.EncryptionReq;
+import com.doumee.config.annotation.EncryptionResp;
 import com.doumee.core.annotation.excel.ExcelExporter;
 import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.constants.Constants;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
 import com.doumee.core.model.ApiResponse;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.model.PageData;
+import com.doumee.core.utils.DateUtil;
 import com.doumee.dao.business.model.Workorder;
+import com.doumee.dao.business.vo.*;
+import com.doumee.dao.web.dto.OrderDataDTO;
+import com.doumee.dao.web.vo.WorkOrderDataVO;
 import com.doumee.service.business.WorkorderService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;    
+import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.ObjectUtils;
 import org.springframework.web.bind.annotation.*;
 import javax.servlet.http.HttpServletResponse;
-
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -32,6 +44,8 @@
 
     @PreventRepeat
     @ApiOperation("鏂板缓")
+    @EncryptionReq
+    @EncryptionResp
     @PostMapping("/create")
     @RequiresPermissions("business:workorder:create")
     public ApiResponse create(@RequestBody Workorder workorder) {
@@ -61,9 +75,25 @@
         workorderService.updateById(workorder);
         return ApiResponse.success(null);
     }
+    @ApiOperation("宸ヤ綔鍙扮粺璁℃暟鎹�")
+    @PostMapping("/getIndexData")
+    @EncryptionReq
+    @EncryptionResp
+    public ApiResponse<WorkorderIndexNumVO> getIndexData(@RequestBody Workorder workorder) {
+        return ApiResponse.success( workorderService.getIndexData(workorder));
+    }
+    @ApiOperation("宸ヤ綔鍙扮粺璁℃姤琛ㄦ暟鎹�")
+    @PostMapping("/getWorkOrderData")
+    @EncryptionReq
+    @EncryptionResp
+    public ApiResponse<List<WorkOrderDataVO>> getWorkOrderData(@RequestBody OrderDataDTO workorder) {
+        return ApiResponse.success( workorderService.getWorkOrderData(workorder));
+    }
 
     @ApiOperation("鍒嗛〉鏌ヨ")
     @PostMapping("/page")
+    @EncryptionReq
+    @EncryptionResp
     @RequiresPermissions("business:workorder:query")
     public ApiResponse<PageData<Workorder>> findPage (@RequestBody PageWrap<Workorder> pageWrap) {
         return ApiResponse.success(workorderService.findPage(pageWrap));
@@ -71,14 +101,91 @@
 
     @ApiOperation("瀵煎嚭Excel")
     @PostMapping("/exportExcel")
+    @EncryptionReq
     @RequiresPermissions("business:workorder:exportExcel")
     public void exportExcel (@RequestBody PageWrap<Workorder> pageWrap, HttpServletResponse response) {
-        ExcelExporter.build(Workorder.class).exportData(workorderService.findPage(pageWrap).getRecords(), "宸ュ崟淇℃伅琛�", response);
+        //0SHE浜嬩欢 1DCA浜嬩欢鎻愪氦璁板綍 2DCA宸ュ崟 3璺岀粖婊戜簨浠�
+        long index = 1;
+        if(Constants.equalsInteger(pageWrap.getModel().getType(),Constants.ZERO)){
+            List<Workorder> records = workorderService.findPage(pageWrap).getRecords();
+            List<WorkorderSheDto> list = new ArrayList<>();
+            if(records!=null){
+                for(Workorder model : records){
+                    WorkorderSheDto t = new WorkorderSheDto();
+                    t.setIndex(index++);
+                    BeanUtils.copyProperties(model,t);
+                    if(Constants.equalsInteger(model.getOutJiuyi(),Constants.ONE)){
+                        t.setJiuyiInfo("澶栭儴灏卞尰");
+                    }else{
+                        t.setJiuyiInfo("闈炲閮ㄥ氨鍖�");
+                        if(Constants.equalsInteger(model.getIsYiwushi(),Constants.ONE)){
+                            t.setJiuyiInfo(t.getJiuyiInfo() + "-鍖诲姟瀹�");
+                        }else{
+                            t.setJiuyiInfo(t.getJiuyiInfo() + "-闈炲尰鍔″");
+                            if(Constants.equalsInteger(model.getIsHurted(),Constants.ONE)){
+                                t.setJiuyiInfo(t.getJiuyiInfo() + "-鍙椾激");
+                            }else{
+                                t.setJiuyiInfo(t.getJiuyiInfo() + "-鏈彈浼�");
+                            }
+                        }
+                    }
+                    t.setMemberNames("鏈汉");
+                    if(Constants.equalsInteger(model.getMemberType(),Constants.ONE)){
+                        t.setMemberNames( "鍚屼簨-"+StringUtils.defaultString(model.getMemberNames(),""));
+                    }else  if(Constants.equalsInteger(model.getMemberType(),Constants.TWO)){
+                        t.setMemberNames("渚涘簲鍟�");
+                        t.setMemberNames( "渚涘簲鍟�-"+StringUtils.defaultString(model.getMemberNames(),""));
+                    }
+                    list.add(t);
+                }
+            }
+            ExcelExporter.build(WorkorderSheDto.class).export(list, "SHE浜嬩欢宸ュ崟鎶ヨ〃_"+ DateUtil.formatDate(new Date(),"yyyyMMddHHmmss"), response);
+        }else if(Constants.equalsInteger(pageWrap.getModel().getType(),Constants.ONE)){
+            List<Workorder> records = workorderService.findPage(pageWrap).getRecords();
+            List<WorkorderDcaDto> list = new ArrayList<>();
+            if(records!=null){
+                for(Workorder model : records){
+                    WorkorderDcaDto t = new WorkorderDcaDto();
+                    t.setIndex(index++);
+                    BeanUtils.copyProperties(model,t);
+                    list.add(t);
+                }
+            }
+            ExcelExporter.build(WorkorderDcaDto.class).export(list, "DCA浜嬩欢宸ュ崟鎻愪氦璁板綍鎶ヨ〃_"+ DateUtil.formatDate(new Date(),"yyyyMMddHHmmss"), response);
+          }else if(Constants.equalsInteger(pageWrap.getModel().getType(),Constants.TWO)){
+            List<Workorder> records = workorderService.findPage(pageWrap).getRecords();
+            List<WorkorderDcaChildDto> list = new ArrayList<>();
+            if(records!=null){
+                for(Workorder model : records){
+                    WorkorderDcaChildDto t = new WorkorderDcaChildDto();
+                    t.setIndex(index++);
+                    BeanUtils.copyProperties(model,t);
+                    list.add(t);
+                }
+            }
+            ExcelExporter.build(WorkorderDcaChildDto.class).export(list, "DCA浜嬩欢宸ュ崟鎶ヨ〃_"+ DateUtil.formatDate(new Date(),"yyyyMMddHHmmss"), response);
+        }else if(Constants.equalsInteger(pageWrap.getModel().getType(),Constants.THREE)){
+            List<Workorder> records = workorderService.findPage(pageWrap).getRecords();
+            List<WorkorderDbhDto> list = new ArrayList<>();
+            if(records!=null){
+                for(Workorder model : records){
+                    WorkorderDbhDto t = new WorkorderDbhDto();
+                    t.setIndex(index++);
+                    BeanUtils.copyProperties(model,t);
+                    list.add(t);
+                }
+            }
+            ExcelExporter.build(WorkorderDbhDto.class).export(list, "璺岀粖婊戜簨浠跺伐鍗曟姤琛╛"+ DateUtil.formatDate(new Date(),"yyyyMMddHHmmss"), response);
+        }else{
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
     }
 
     @ApiOperation("鏍规嵁ID鏌ヨ")
     @GetMapping("/{id}")
     @RequiresPermissions("business:workorder:query")
+    @EncryptionResp
+    @EncryptionReq
     public ApiResponse findById(@PathVariable Integer id) {
         return ApiResponse.success(workorderService.getDetail(id,null));
     }

--
Gitblit v1.9.3