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 | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 111 insertions(+), 4 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 28822c1..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,15 +101,92 @@ @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)); + return ApiResponse.success(workorderService.getDetail(id,null)); } } -- Gitblit v1.9.3