Browse Source

租住管理导出功能

huZhiHao 5 years ago
parent
commit
d1e85c2934

+ 2 - 0
src/main/java/platform/config/shiro/ShiroConfig.java

@@ -135,6 +135,7 @@ public class ShiroConfig {
         filterChainDefinitionMap.put("/community/*", "industry");
         filterChainDefinitionMap.put("/carrier/*", "industry");
         filterChainDefinitionMap.put("/map/api/investments/*", "industry");
+        filterChainDefinitionMap.put("/contract/export", "anon");
         filterChainDefinitionMap.put("/contract/*", "industry");
         filterChainDefinitionMap.put("/investment/*", "industry");
         filterChainDefinitionMap.put("/investment", "industry");
@@ -142,6 +143,7 @@ public class ShiroConfig {
         filterChainDefinitionMap.put("/intention/*", "industry");
         filterChainDefinitionMap.put("/rental", "industry");
         filterChainDefinitionMap.put("/rental/**", "industry");
+
 //        filterChainDefinitionMap.put("/rentals", "industry");
 
         //filterChainDefinitionMap.put("/*", "authc");

+ 40 - 0
src/main/java/platform/modules/carrier/dto/IcContractExportDto.java

@@ -0,0 +1,40 @@
+package platform.modules.carrier.dto;
+
+import lombok.Data;
+import platform.common.annotation.ExcelField;
+import platform.modules.carrier.entity.ContractFloor;
+import platform.modules.government.entity.FileDown;
+
+import javax.persistence.Transient;
+import java.util.List;
+
+/**
+ * 租住管理导出
+ */
+@Data
+public class IcContractExportDto {
+
+    @ExcelField(title = "园区名称", align = 2, sort = 5)
+    private String park_name;
+
+    @ExcelField(title = "企业名称", align = 2, sort = 5)
+    private String company_name;
+
+    @ExcelField(title = "楼栋", align = 2, sort = 5)
+    private String building_name;
+
+    @ExcelField(title = "楼层", align = 2, sort = 5)
+    private String floor;
+
+    @ExcelField(title = "租住生效日", align = 2, sort = 5)
+    private String contract_start;
+
+    @ExcelField(title = "租住到期日", align = 2, sort = 5)
+    private String contract_end;
+
+    @ExcelField(title = "租赁面积(㎡)", align = 2, sort = 5)
+    private Double area;
+
+    @ExcelField(title = "状态", align = 2, sort = 5)
+    private String status_desc;
+}

+ 44 - 0
src/main/java/platform/modules/carrier/service/IcContractService.java

@@ -287,6 +287,50 @@ public class IcContractService extends BaseService<Contract> {
         return new PageInfo<>(list);
     }
 
+    /**
+     * 后台列表页
+     *
+     * @param param
+     * @return
+     * @throws Exception
+     */
+    public List<ContractFloor> findList(CustomSearchCondition param) {
+
+        if (Constant.UserType.STREET.equals(ShiroUtils.getUserType())) {
+            param.setStreet_id(ShiroUtils.getStreetId() + "");
+        } else if (Constant.UserType.BUILD.equals(ShiroUtils.getUserType())) {
+            if (param.getPark_id() == null || param.getPark_id().equals("")) {
+                //判断是否是父级园区
+                List<SubPark> parks = parkService.findParentParkById(ShiroUtils.getBuildId().toString());
+                if (parks != null && parks.size() > 0) {
+                    param.setIs_parent("1");
+                }
+                param.setPark_id(ShiroUtils.getBuildId() + "");
+            }
+        }
+
+        if (param.getFloor_id() != null) {
+            BuildFloor floor = floorService.findById(param.getFloor_id());
+            param.setFloor(floor.getFloor());
+        }
+
+        List<ContractFloor> list = contractDao.findContractList(param);
+        List<DictionaryItem> typeList = dictionaryItemService.findListByTypeName(Constant.DictionaryType.CONTRACT);
+        for (ContractFloor contract : list) {
+            if (null != typeList && typeList.size() > 0) {
+                for (DictionaryItem dictionaryItem : typeList) {
+                    if (Objects.equals(contract.getStatus()+"", dictionaryItem.getValue())) {
+                        contract.setStatus_desc(dictionaryItem.getName());
+                    }
+                }
+            }
+            if (contract.getStatus().equals(Constant.CONTRACT_STATUS.TERMINATE_FREED)) {
+                contract.setState_code(contract.getStatus().toString());
+            }
+        }
+        return list;
+    }
+
     /**
      * 获取详情
      *

+ 36 - 4
src/main/java/platform/modules/carrier/web/IcContractController.java

@@ -5,14 +5,21 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import platform.common.Constant;
 import platform.common.base.controller.BaseController;
+import platform.common.util.DateUtil;
+import platform.common.util.ExportExcel;
 import platform.common.util.ShiroUtils;
+import platform.modules.build.entity.Company;
 import platform.modules.carrier.dto.*;
 import platform.modules.carrier.entity.Contract;
 import platform.modules.carrier.entity.ContractFloor;
 import platform.modules.carrier.service.IcContractService;
+import platform.modules.company.dto.CompanyInfoExportDto;
+import platform.modules.company.dto.CompanyInfoManageDto;
 import platform.modules.government.entity.Street;
+import platform.modules.sys.report.ContractExport;
 import platform.modules.sys.web.ResponseMessage;
 
+import javax.servlet.http.HttpServletResponse;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
@@ -109,13 +116,38 @@ public class IcContractController extends BaseController {
     @PostMapping(value = "/contracts")
     public ResponseMessage list(@RequestBody CustomSearchCondition condition) throws Exception {
 
-        log.info("分页查询招商信息,pageNum = {},condition = {}", condition.getPageNum(), condition.toString(), false);
+        log.info("分页查询租住信息,pageNum = {},condition = {}", condition.getPageNum(), condition.toString(), false);
         PageInfo<ContractFloor> pageInfo = contractService.findContractList(condition.getPageNum(), condition.getPageSize(), condition);
-        log.info("分页查询招商信息列表结果! pageInfo = {}", pageInfo);
+        log.info("分页查询租住信息列表结果! pageInfo = {}", pageInfo);
 
         return ResponseMessage.success("success", pageInfo);
     }
 
+    /**
+     * 后台管理导出
+     *
+     * @return
+     * @throws Exception
+     */
+    @GetMapping(value = "/contract/export")
+    public void export(
+            HttpServletResponse response,
+            @RequestParam(required = false) String park_id,
+            @RequestParam(required = false) String street_id,
+            @RequestParam(required = false) String status,
+            @RequestParam(required = false) String title
+    ) throws Exception {
+
+        CustomSearchCondition condition = new CustomSearchCondition();
+        condition.setPark_id(park_id);
+        condition.setStreet_id(street_id);
+        condition.setStatus(status);
+        condition.setTitle(title);
+        List<ContractFloor> list = contractService.findList(condition);
+        String fileName = "租住信息 " + DateUtil.getCurrentDateString("yyyy-MM-dd") + ".xlsx";
+        new ExportExcel("租住信息 " + DateUtil.getCurrentDateString("yyyy-MM-dd"), IcContractExportDto.class).setDataList(list).write(response, fileName).dispose();
+    }
+
     /**
      * 获取详情
      *
@@ -138,7 +170,7 @@ public class IcContractController extends BaseController {
     public Object getStreetAreaStatistic(
             @RequestParam(defaultValue = "1", required = false) Integer pageNum,
             @RequestParam(defaultValue = "10", required = false) Integer pageSize
-    ){
+    ) {
         PageInfo<CarrierLibraryResult> pageInfo = contractService.getStreetAreaStatistic(pageNum, pageSize);
         return ResponseMessage.success("success", pageInfo);
     }
@@ -150,7 +182,7 @@ public class IcContractController extends BaseController {
      */
     @GetMapping(value = "/contract/park/list")
     public ResponseMessage getParkList() {
-        if (Objects.equals(Constant.UserType.GOVERNMENT, ShiroUtils.getUserType())){
+        if (Objects.equals(Constant.UserType.GOVERNMENT, ShiroUtils.getUserType())) {
             List<StreetTree> streetList = contractService.findStreetBuildingList();
             return ResponseMessage.success("success", streetList);
         }

+ 1 - 1
src/main/java/platform/modules/sys/shiro/filter/TokenFilter.java

@@ -102,7 +102,7 @@ public class TokenFilter implements Filter {
             User entity = ShiroUtils.getUserEntity();
             if (entity.getId() == -1) {
                 logger.info("用户未登录");
-                printWriter(rep, "用户未登录");
+//                printWriter(rep, "用户未登录");
             }
         }
         if (StringUtils.isEmpty(authorization)) {