From 4b544975c973a27cd789cb23d0ac29da2890fd96 Mon Sep 17 00:00:00 2001
From: cjl <276999030@qq.com>
Date: Wed, 27 Sep 2023 14:49:24 +0800
Subject: [PATCH] feat:附件补充提交

---
 screen-api/src/main/java/com/moral/api/controller/AllocationController.java |   83 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 83 insertions(+), 0 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 32958bf..67e7547 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,6 +1,12 @@
 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.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.moral.api.pojo.ext.allocation.AllocationExt;
 import com.moral.api.pojo.ext.allocation.AllocationPageExt;
@@ -13,14 +19,24 @@
 import org.springframework.beans.factory.annotation.Autowired;
 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;
 
@@ -153,4 +169,71 @@
         return allocationService.applyFor(allocationExtensionAddCond) ? ResultMessage.ok() : ResultMessage.fail();
     }
 
+
+    /**
+     * ������������������
+     * @return
+     */
+    @GetMapping("selectUnitView")
+    public ResultMessage selectUnitView(HttpServletRequest request){
+        Map<String, Object> params = WebUtils.getParametersStartingWith(request, null);
+        Map<String, Object> map1 = allocationService.selectUnitView(params);
+        return ResultMessage.ok(map1);
+    }
+
+
+    @GetMapping("unitExel")
+    public void unitExel(HttpServletResponse response,HttpServletRequest request){
+        Map<String, Object> params = WebUtils.getParametersStartingWith(request, null);
+        //������������
+        Map<String, Object> map1 = allocationService.selectUnitView(params);
+        List<AllocationUnitViewDto> unitView = (List<AllocationUnitViewDto>) map1.get("unitView");
+
+
+        ArrayList<Map<String, Object>> mapArrayList = new ArrayList<>();
+        for (AllocationUnitViewDto allocationUnitViewDto : unitView) {
+            Map<String, Object> map = entityToMap(allocationUnitViewDto);
+            mapArrayList.add(map);
+        }
+        if (CollectionUtils.isEmpty(mapArrayList)) {
+            return;
+        }
+        Map<String, Object> map = mapArrayList.get(0);
+        List<String> list = new ArrayList<>();
+        for (String key : map.keySet()) {
+            list.add(key);
+        }
+        String[] s2 = new String[list.size()];
+        list.toArray(s2);
+        NoModelWriteData d = new NoModelWriteData();
+        d.setFileName("������������");
+        d.setHeadMap(s2);
+        d.setDataStrMap(s2);
+        d.setDataList(mapArrayList);
+        try {
+            EasyExcelUtils easyExcelUtils = new EasyExcelUtils();
+            easyExcelUtils.noModleWrite(d, response);
+        } catch (Exception e) {
+            int i = 0;
+        }
+    }
+
+    /**
+     ������������Map
+     */
+    public static Map<String, Object> entityToMap(Object object) {
+        Map<String, Object> map = new HashMap<>();
+        for (Field field : object.getClass().getDeclaredFields()) {
+            try {
+                boolean flag = field.isAccessible();
+                field.setAccessible(true);
+                Object o = field.get(object);
+                map.put(field.getName(), o);
+                field.setAccessible(flag);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        return map;
+    }
 }

--
Gitblit v1.8.0