From 6992aaf0587c09f7c511c1afd12e1519d91363d3 Mon Sep 17 00:00:00 2001 From: cjl <276999030@qq.com> Date: Thu, 14 Dec 2023 15:38:45 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/cjl' into qa --- screen-api/src/main/java/com/moral/api/controller/AllocationController.java | 142 +++++++++++++++++++++++++++++++--------------- 1 files changed, 95 insertions(+), 47 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/controller/AllocationController.java b/screen-api/src/main/java/com/moral/api/controller/AllocationController.java index b59de2e..07c8d6e 100644 --- a/screen-api/src/main/java/com/moral/api/controller/AllocationController.java +++ b/screen-api/src/main/java/com/moral/api/controller/AllocationController.java @@ -1,54 +1,56 @@ package com.moral.api.controller; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; -import org.apache.commons.collections4.CollectionUtils; -import org.aspectj.apache.bcel.generic.RET; +import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.moral.api.entity.AllocationLog; +import com.moral.api.entity.ResponsibilityUnit; +import com.moral.api.pojo.enums.AllocationApproveEnum; +import com.moral.api.pojo.enums.ChangeEnum; +import com.moral.api.pojo.enums.YesOrNo; +import com.moral.api.pojo.ext.allocation.AllocationExcelExt; import com.moral.api.pojo.ext.allocation.AllocationExt; import com.moral.api.pojo.ext.allocation.AllocationPageExt; import com.moral.api.pojo.query.allocation.*; import com.moral.api.pojo.query.allocationextension.AllocationExtensionAddCond; -import com.moral.api.pojo.vo.allocation.AllocationFindVo; +import com.moral.api.pojo.vo.allocation.AllocationListExcelVo; import com.moral.api.pojo.vo.allocation.AllocationPageVo; import com.moral.api.pojo.vo.allocation.AllocationVo; -import com.moral.api.utils.BeanConverts; +import com.moral.api.pojo.vo.file.FileAddressVo; +import com.moral.api.service.AllocationService; +import com.moral.api.utils.*; +import com.moral.constant.Constants; import com.moral.constant.PageResult; +import com.moral.constant.ResultMessage; +import com.moral.util.DateUtils; +import com.moral.util.WebUtils; import io.swagger.annotations.*; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; -import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; - -import com.moral.api.entity.Allocation; -import com.moral.api.entity.ResponsibilityUnit; -import com.moral.api.pojo.dto.allocation.AllocationUnitViewDto; -import com.moral.api.service.AllocationService; -import com.moral.api.utils.EasyExcelUtils; -import com.moral.api.utils.NoModelWriteData; -import com.moral.constant.Constants; -import com.moral.constant.ResultMessage; -import com.moral.util.WebUtils; - import javax.validation.Valid; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.net.URL; +import java.net.URLEncoder; +import java.util.*; +import java.util.concurrent.atomic.AtomicReference; @Api(tags = {"������������"}) @RestController @RequestMapping("allocation") +@Slf4j public class AllocationController { + @Value("${file.path}") + private String basePath; @Autowired private AllocationService allocationService; @@ -97,6 +99,7 @@ */ @PostMapping("update") @ApiOperation("������") + public ResultMessage update(@Valid @RequestBody AllocationUpdateCond allocationUpdateCond){ allocationService.updateAll(allocationUpdateCond); return ResultMessage.ok(); @@ -134,6 +137,7 @@ allocationVo.setFileChangeList(allocationext.getFileChangeList()); allocationVo.setFileApproveList(allocationext.getFileApproveList()); allocationVo.setApproveList(allocationext.getApproveList()); + allocationVo.setTime(DateUtils.dateToDateString(allocationVo.getEscalationTime(), DateUtils.yyyy_MM_dd_CN)); return ResultMessage.ok(allocationVo); } @GetMapping("remove") @@ -169,7 +173,6 @@ return ResultMessage.ok(ObjectUtils.isEmpty(map1)? "0":map1); } - @GetMapping("unitExel") public void unitExel(HttpServletResponse response,HttpServletRequest request){ Map<String, Object> params = WebUtils.getParametersStartingWith(request, null); @@ -198,32 +201,77 @@ } } - - - @GetMapping("selectSmallRoutine") - @ApiOperation("���������������") - public ResultMessage selectSmallRoutine(@RequestParam @ApiParam(value = "state",name = "������") Integer state, - @RequestParam @ApiParam(value = "startTime",name = "������������") String startTime, - @RequestParam @ApiParam(value = "endTime",name = "������������") String endTime){ - List<AllocationFindVo> allocationFindVos = allocationService.selectSmallRoutine(state,startTime,endTime); - return ResultMessage.ok(ObjectUtils.isEmpty(allocationFindVos)? "0":allocationFindVos); - } - - - @PostMapping("changeRoutine") - @ApiOperation("���������������") - public ResultMessage changeSmallRoutine(@Valid @RequestBody AllocationChangeCond changeCond){ - allocationService.changeSmallRoutine(changeCond); + @GetMapping("updataUnit") + @ApiOperation("������������������") + public ResultMessage updataUnit(@RequestParam @ApiParam(value = "id",name = "������id") Integer id, + @RequestParam @ApiParam(value = "unitId",name = "������������Id") Integer unitId, + @RequestParam @ApiParam(value = "polluteType",name = "������������Id") Integer polluteType){ + allocationService.updataUnit(id,unitId,polluteType); return ResultMessage.ok(); } - @PostMapping("checkRoutine") - @ApiOperation("���������������") - public ResultMessage checkSmallRoutine(@Valid @RequestBody AllocationCheckCond checkCond){ - allocationService.checkSmallRoutine(checkCond); - return ResultMessage.ok(); + + @GetMapping("getLog") + @ApiOperation("������������") + public ResultMessage getLog(@RequestParam @ApiParam(value = "allocationNum",name = "������������") String allocationNum){ + List<AllocationLog> log = allocationService.getLog(allocationNum); + return ResultMessage.ok(log); } + + @GetMapping("listExcel") + @ApiOperation("������������") + public void listExcel(@RequestParam @ApiParam(value = "id",name = "������id") List<Integer> id,HttpServletResponse response){ + + List<AllocationExcelExt> extList = allocationService.listExcel(id); + try { + genImageExcel(extList,response); + }catch (Exception e){ + log.error("error result ",e); + } + + } + + + private void genImageExcel(List<AllocationExcelExt> list, HttpServletResponse response) throws IOException { + if (CollectionUtils.isEmpty(list)) { + return; + } + List<AllocationListExcelVo> demoDataList = new ArrayList<>(); + for(int i = 0;i<list.size();i++){ + AllocationExcelExt excelExt = list.get(i); + AllocationListExcelVo item = AllocationListExcelVo.convert(excelExt); + List<String> urls = new ArrayList<>(); + for(FileAddressVo z : excelExt.getFileBaseList()){ + urls.add(handleFileRealPath(z.getFileAddress())); + } + item.setChangeTypeStr(Objects.isNull(excelExt.getChangeType())?" ":ChangeEnum.getByValue(excelExt.getChangeType()).getName()); + item.setChangeStr(Objects.isNull(excelExt.getIsChange())?"���": YesOrNo.getByValue(excelExt.getIsChange()).getName()); + item.setWriteCellDataFile(urls); + List<String> urlsAfter = new ArrayList<>(); + for(FileAddressVo z : excelExt.getFileChangeList()){ + urlsAfter.add(handleFileRealPath(z.getFileAddress())); + } + item.setWriteCellDataFileResult(urlsAfter); + item.setEscalationTimeStr(DateUtils.dateToDateString(excelExt.getEscalationTime(),DateUtils.yyyy_MM_dd_EN)); + item.setChangeTimeStr(Objects.isNull(excelExt.getChangeTime())?" ":DateUtils.dateToDateString(excelExt.getChangeTime(),DateUtils.yyyy_MM_dd_EN)); + demoDataList.add(item); + } + try { + response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + + URLEncoder.encode("���������������", "utf-8") + ".xlsx"); + response.setHeader("Access-Control-Expose-Headers", "Content-Disposition"); + EasyExcel.write(response.getOutputStream(), AllocationListExcelVo.class) + .registerWriteHandler(new CustomImageModifyHandler()).sheet("���������").doWrite(demoDataList); + response.getOutputStream().close(); + }catch (Exception e){ + log.error("error result ",e); + } + } + private String handleFileRealPath(String path) { + return basePath.replaceAll(StringUtils.BACKSLASH.concat(StringUtils.BACKSLASH), StringUtils.SLASH).concat(StringUtils.SLASH).concat(path); + } + } -- Gitblit v1.8.0