|
@@ -1,5 +1,10 @@
|
|
|
package com.ruoyi.web.controller.zhdd;
|
|
|
|
|
|
+import cn.afterturn.easypoi.entity.vo.NormalExcelConstants;
|
|
|
+import cn.afterturn.easypoi.excel.entity.ExportParams;
|
|
|
+import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
|
|
|
+import cn.afterturn.easypoi.view.PoiBaseView;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.ruoyi.common.annotation.Log;
|
|
|
import com.ruoyi.common.annotation.RepeatSubmit;
|
|
|
import com.ruoyi.common.core.controller.BaseController;
|
|
@@ -9,15 +14,19 @@ import com.ruoyi.common.core.validate.AddGroup;
|
|
|
import com.ruoyi.common.core.validate.EditGroup;
|
|
|
import com.ruoyi.common.core.validate.QueryGroup;
|
|
|
import com.ruoyi.common.enums.BusinessType;
|
|
|
-import com.ruoyi.common.utils.poi.ExcelUtil;
|
|
|
+import com.ruoyi.zhdd.domain.Resource;
|
|
|
+import com.ruoyi.zhdd.domain.ResourceDetail;
|
|
|
import com.ruoyi.zhdd.domain.bo.ResourceDetailBo;
|
|
|
+import com.ruoyi.zhdd.domain.vo.ResourceDetailExport;
|
|
|
import com.ruoyi.zhdd.domain.vo.ResourceDetailVo;
|
|
|
import com.ruoyi.zhdd.domain.vo.ResourceVo;
|
|
|
import com.ruoyi.zhdd.service.IResourceDetailService;
|
|
|
+import com.ruoyi.zhdd.service.IResourceService;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.ui.ModelMap;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
import org.springframework.web.bind.annotation.DeleteMapping;
|
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
@@ -28,11 +37,15 @@ import org.springframework.web.bind.annotation.RequestBody;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import javax.validation.constraints.NotEmpty;
|
|
|
import javax.validation.constraints.NotNull;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* 应急资源明细Controller
|
|
@@ -48,6 +61,7 @@ import java.util.List;
|
|
|
public class ResourceDetailController extends BaseController {
|
|
|
|
|
|
private final IResourceDetailService iResourceDetailService;
|
|
|
+ private final IResourceService resourceService;
|
|
|
|
|
|
/**
|
|
|
* 查询应急资源明细列表
|
|
@@ -65,10 +79,36 @@ public class ResourceDetailController extends BaseController {
|
|
|
@ApiOperation("导出应急资源明细列表")
|
|
|
// @PreAuthorize("@ss.hasPermi('zhdd:resourceDetail:export')")
|
|
|
@Log(title = "应急资源明细", businessType = BusinessType.EXPORT)
|
|
|
- @GetMapping("/export")
|
|
|
- public void export(@Validated ResourceDetailBo bo, HttpServletResponse response) {
|
|
|
- List<ResourceDetailVo> list = iResourceDetailService.queryList(bo);
|
|
|
- ExcelUtil.exportExcel(list, "应急资源明细", ResourceDetailVo.class, response);
|
|
|
+ @GetMapping("/export/{ids}")
|
|
|
+ public void export(@PathVariable String[] ids, HttpServletResponse response, HttpServletRequest request, ModelMap modelMap) {
|
|
|
+ List<ResourceDetailVo> list = iResourceDetailService.listVo(Wrappers.<ResourceDetail>lambdaQuery()
|
|
|
+ .in(ResourceDetail::getResourceId, Arrays.asList(ids)).orderByAsc(ResourceDetail::getResourceId));
|
|
|
+ // 查询仓库名称
|
|
|
+ List<Resource> list1 = resourceService.list(Wrappers.<Resource>lambdaQuery().in(Resource::getId, Arrays.asList(ids)));
|
|
|
+ Map<String, Resource> collect = list1.stream().collect(Collectors.toMap(Resource::getId, a -> a));
|
|
|
+
|
|
|
+ Map<String, List<ResourceDetailVo>> collect1 = list.stream().collect(Collectors.groupingBy(ResourceDetailVo::getResourceId));
|
|
|
+
|
|
|
+ List<ResourceDetailExport> exportList = new ArrayList<>();
|
|
|
+ for (Map.Entry<String, List<ResourceDetailVo>> stringListEntry : collect1.entrySet()) {
|
|
|
+ ResourceDetailExport bean = new ResourceDetailExport();
|
|
|
+ Resource resource = collect.get(stringListEntry.getKey());
|
|
|
+ bean.setAdminOrgName(resource.getAdminOrgName());
|
|
|
+ bean.setResourceName(resource.getName());
|
|
|
+ bean.setManageUnit(resource.getManageUnit());
|
|
|
+ bean.setContactName(resource.getContactName());
|
|
|
+ bean.setContactPhone(resource.getContactPhone());
|
|
|
+ bean.setAddress(resource.getAddress());
|
|
|
+ bean.setDetail(stringListEntry.getValue());
|
|
|
+ exportList.add(bean);
|
|
|
+ }
|
|
|
+ ExportParams params = new ExportParams("仓库物资明细", "仓库物资", ExcelType.XSSF);
|
|
|
+ params.setFreezeCol(5);
|
|
|
+ modelMap.put(NormalExcelConstants.DATA_LIST, exportList);
|
|
|
+ modelMap.put(NormalExcelConstants.CLASS, ResourceDetailExport.class);
|
|
|
+ modelMap.put(NormalExcelConstants.PARAMS, params);
|
|
|
+ modelMap.put(NormalExcelConstants.FILE_NAME, "仓库物资明细");
|
|
|
+ PoiBaseView.render(modelMap, request, response, NormalExcelConstants.EASYPOI_EXCEL_VIEW);
|
|
|
}
|
|
|
|
|
|
/**
|