Browse Source

添加坐标

wuweihao 3 years ago
parent
commit
f2fcbfff4b

+ 8 - 2
gis_cms/src/main/java/com/gis/cms/controller/HotelController.java

@@ -17,7 +17,7 @@ import javax.validation.Valid;
 /**
  * Created by owen on 2022/3/24 0008 9:54
  */
-@Api(tags = "v0.1-酒店管理")
+@Api(tags = "v0.2-酒店管理")
 @RestController
 @RequestMapping("/cms/hotel")
 public class HotelController {
@@ -60,13 +60,19 @@ public class HotelController {
     }
 
 
-    @ApiOperation("v0.1-房间数据-编辑")
+    @ApiOperation("v0.2-房间数据-编辑")
     @PostMapping("roomEdit")
     public Result<HotelEntity> roomEdit(@Valid @RequestBody RoomDto param) {
         return entityService.roomEdit(param);
     }
 
 
+    @ApiOperation("v0.2-导出数据")
+    @GetMapping("/exportExcel")
+    public Result exportExcel() {
+        return entityService.exportExcel();
+    }
+
 
 
 

+ 3 - 0
gis_cms/src/main/java/com/gis/cms/entity/dto/RoomDto.java

@@ -32,4 +32,7 @@ public class RoomDto {
 
     @ApiModelProperty(value = "次密人数数")
     private Integer touchSecond;
+
+    @ApiModelProperty(value = "预订数")
+    private Integer book;
 }

+ 77 - 0
gis_cms/src/main/java/com/gis/cms/entity/vo/HotelExcel.java

@@ -0,0 +1,77 @@
+package com.gis.cms.entity.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * 酒店
+ */
+@Data
+public class HotelExcel implements Serializable {
+
+
+    private static final long serialVersionUID = 7757696085922846L;
+
+    @ApiModelProperty(value = "对象ID")
+    private Long id;
+
+    @ApiModelProperty(value = "管理单位")
+    private String unit;
+
+    @ApiModelProperty(value = "酒店名称")
+    private String name;
+
+    @ApiModelProperty(value = "房间总数")
+    private Integer total;
+
+    @ApiModelProperty(value = "隔离房间数")
+    private Integer roomIsolation;
+
+    @ApiModelProperty(value = "房间已使用")
+    private Integer used;
+
+    @ApiModelProperty(value = "房间可用")
+    private Integer usable;
+
+    @ApiModelProperty(value = "密接人数")
+    private Integer touch;
+
+    @ApiModelProperty(value = "次密人数数")
+    private Integer touchSecond;
+
+    @ApiModelProperty(value = "联系人, 允许多个")
+    private String contact;
+
+    @ApiModelProperty(value = "备注")
+    private String remark;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}

+ 4 - 0
gis_cms/src/main/java/com/gis/cms/mapper/HotelMapper.java

@@ -4,6 +4,7 @@ package com.gis.cms.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.gis.cms.entity.po.HotelEntity;
+import com.gis.cms.entity.vo.HotelExcel;
 import com.gis.cms.entity.vo.HotelVo;
 import com.gis.common.base.mapper.provider.BaseProvider;
 import org.apache.ibatis.annotations.Mapper;
@@ -26,4 +27,7 @@ public interface HotelMapper extends BaseMapper<HotelEntity> {
 
     @Select("select * from tb_hotel")
     List<HotelVo> apiList();
+
+    @Select("select * from tb_hotel where is_delete=0")
+    List<HotelExcel> getExcelList();
 }

+ 2 - 0
gis_cms/src/main/java/com/gis/cms/service/HotelService.java

@@ -34,4 +34,6 @@ public interface HotelService extends IService<HotelEntity> {
 
     Result<List<HotelVo>> apiList();
 
+    Result exportExcel();
+
 }

+ 37 - 0
gis_cms/src/main/java/com/gis/cms/service/impl/HotelServiceImpl.java

@@ -11,14 +11,18 @@ import com.gis.cms.entity.dto.HotelDto;
 import com.gis.cms.entity.dto.HotelPageDto;
 import com.gis.cms.entity.dto.RoomDto;
 import com.gis.cms.entity.po.HotelEntity;
+import com.gis.cms.entity.vo.HotelExcel;
 import com.gis.cms.entity.vo.HotelVo;
 import com.gis.cms.mapper.HotelMapper;
 import com.gis.cms.service.HotelService;
 import com.gis.cms.zhengyuan.ZhengYuanService;
 import com.gis.common.base.exception.BaseRuntimeException;
 import com.gis.common.base.service.impl.IBaseService;
+import com.gis.common.constant.ConfigConstant;
 import com.gis.common.constant.ErrorEnum;
 import com.gis.common.util.BaseUtil;
+import com.gis.common.util.DateUtils;
+import com.gis.common.util.ExcelUtils;
 import com.gis.common.util.Result;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
@@ -26,6 +30,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.HashMap;
+import java.util.LinkedHashMap;
 import java.util.List;
 
 
@@ -46,6 +51,9 @@ public class HotelServiceImpl extends ServiceImpl<HotelMapper, HotelEntity> impl
     @Autowired
     ZhengYuanService zhengYuanService;
 
+    @Autowired
+    ConfigConstant configConstant;
+
 
 
     @Override
@@ -239,6 +247,35 @@ public class HotelServiceImpl extends ServiceImpl<HotelMapper, HotelEntity> impl
         return Result.success();
     }
 
+    @Override
+    public Result exportExcel(){
+        List<HotelExcel> rows = baseMapper.getExcelList();
+        String filePath = "/excel/" + DateUtils.getDateTime() +  ".xlsx";
+
+        //LinkedHashMap 中的数据是根据put先后顺序来的,HashMap数据时无序的
+        LinkedHashMap<String, String> rowTitle = new LinkedHashMap<>();
+
+        rowTitle.put("id", "序号");
+        rowTitle.put("unit", "管理单位");
+        rowTitle.put("name", "酒店名称");
+        rowTitle.put("total", "房间总数");
+        rowTitle.put("roomIsolation", "隔离房间数");
+        rowTitle.put("used", "房间已使用");
+        rowTitle.put("usable", "房间可用");
+        rowTitle.put("touch", "密接人数");
+        rowTitle.put("touchSecond", "次密人数数");
+        rowTitle.put("contact", "联系人");
+        rowTitle.put("remark", "备注");
+
+        ExcelUtils.createExcel(rows, configConstant.serverBasePath + filePath, rowTitle);
+
+        HashMap<String, Object> result = new HashMap<>();
+        result.put("size", rows.size());
+        result.put("filePath", filePath);
+
+        return  Result.success(result);
+    }
+
 
 
 }

+ 6 - 0
gis_cms/src/main/java/com/gis/cms/zhengyuan/ZhengYuanUtil.java

@@ -92,6 +92,12 @@ public class ZhengYuanUtil {
 
     }
 
+    /**
+     * 酒店列表
+     * @param token
+     * @param param
+     * @return
+     */
     public static JSONObject listHotel(String token, PageDto param){
         HashMap<String, String> header = new HashMap<>();
         header.put("Authorization", "Bearer " + token);

+ 6 - 5
gis_common/pom.xml

@@ -90,11 +90,12 @@
             <artifactId>pinyin4j</artifactId>
         </dependency>
 
-        <!--&lt;!&ndash; 二维码 &ndash;&gt;-->
-        <!--<dependency>-->
-            <!--<groupId>com.google.zxing</groupId>-->
-            <!--<artifactId>core</artifactId>-->
-        <!--</dependency>-->
+        <!--excel 依赖工具包, hutool需要用的-->
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi-ooxml</artifactId>
+        </dependency>
+
 
         <!--httpclient-->
         <dependency>

+ 0 - 3
gis_common/src/main/java/com/gis/common/base/service/SysIpService.java

@@ -16,7 +16,6 @@ public interface SysIpService extends IService<SysIpEntity> {
 
 
 
-//    List<String> findByProjectId(String projectId);
 
     Result getList(PageDto param);
 
@@ -24,7 +23,5 @@ public interface SysIpService extends IService<SysIpEntity> {
 
     Result saveEntity(IpDto param);
 
-//    SysIpEntity findByIdentifier(String appId);
-
     List<String> findByType(String appId);
 }

+ 69 - 0
gis_common/src/main/java/com/gis/common/util/DateUtils.java

@@ -0,0 +1,69 @@
+package com.gis.common.util;
+
+import cn.hutool.core.date.DateUtil;
+import org.junit.Test;
+
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+
+/**
+ * Created by owen on 2022/4/8 0008 14:32
+ */
+public class DateUtils extends DateUtil {
+
+    private static String YYYY_MM = "yyyy-MM";
+
+    private static String YYYYMM = "yyyyMM";
+
+    private static String YYYY_MM_DD = "yyyy-MM-dd";
+
+    private static String YYYY_MM_DD_HH_MM = "yyyy-MM-dd HH:mm";
+
+
+    private static String YYYYMMDDHHMMSS = "yyyyMMddHHmmss";
+
+    private static String YYYYMMDD_HHMMSSSSS = "yyyyMMdd_HHmmssSSS";
+
+    private static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
+
+
+    /**
+     * 获取当前月
+     * @return
+     */
+    public static String getMonth(){
+        return format(LocalDateTime.now(), YYYYMM);
+    }
+
+    /**
+     * 获取当前月份的前几个月
+     * @param month
+     * @return
+     */
+    public static String minusMonths(int month){
+        return format(LocalDateTime.now().minusMonths(month), YYYYMM);
+    }
+
+    /**
+     * 获取当前时间戳
+     * @return
+     */
+    public static String getDateTime(){
+        return format(LocalDateTime.now(), YYYYMMDD_HHMMSSSSS);
+    }
+
+
+    /**
+     * 字符串转LocalDateTime
+     * @param time 字符串
+     * @return LocalDateTime
+     */
+    public static LocalDateTime srtToLocalDateTime(String time){
+        return LocalDateTime.parse(time, DateTimeFormatter.ofPattern(YYYY_MM_DD_HH_MM));
+    }
+
+    @Test
+    public void test(){
+        System.out.println(srtToLocalDateTime("2022-02-16 12:26"));
+    }
+}

+ 43 - 0
gis_common/src/main/java/com/gis/common/util/ExcelUtils.java

@@ -0,0 +1,43 @@
+package com.gis.common.util;
+
+import cn.hutool.poi.excel.ExcelUtil;
+import cn.hutool.poi.excel.ExcelWriter;
+import lombok.extern.slf4j.Slf4j;
+
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Created by owen on 2022/5/25 0008 15:50
+ * 参考:https://www.cnblogs.com/exmyth/p/16046125.html
+ */
+@Slf4j
+public class ExcelUtils {
+
+    /**
+     *
+     * @param rows 每行数据
+     * @param savePath 保存地址 xxx.xlsx
+     * @param rowTitle 标题
+     */
+    public static void createExcel(List rows, String savePath, LinkedHashMap<String, String> rowTitle) {
+        log.info("rows size: {}", rows.size());
+        ExcelWriter writer = ExcelUtil.getWriter(savePath);
+
+        //自定义标题别名
+        if (rowTitle != null) {
+            for (Map.Entry<String, String> a : rowTitle.entrySet()) {
+                log.info("顺序: {}, {}", a.getKey(), a.getValue());
+                writer.addHeaderAlias(a.getKey(), a.getValue());
+            }
+        }
+
+        // 一次性写出内容,使用默认样式,强制输出标题
+        writer.write(rows, true);
+        // 关闭writer,释放内存
+        writer.close();
+        log.info("excel完成:" +  savePath);
+
+    }
+}

+ 9 - 0
pom.xml

@@ -35,6 +35,7 @@
     <hutool.version>5.3.3</hutool.version>
     <pinyin4j.version>2.5.1</pinyin4j.version>
     <zxing.version>3.3.3</zxing.version>
+    <poi.version>3.17</poi.version>
     <lombok.version>1.18.2</lombok.version>
     <fastjson.version>1.2.75</fastjson.version>
     <lang3.version>3.7</lang3.version>
@@ -175,6 +176,14 @@
         <version>${pinyin4j.version}</version>
       </dependency>
 
+
+      <!--excel 依赖工具包, hutool需要用的-->
+      <dependency>
+        <groupId>org.apache.poi</groupId>
+        <artifactId>poi-ooxml</artifactId>
+        <version>${poi.version}</version>
+      </dependency>
+
       <!-- 二维码 -->
       <dependency>
         <groupId>com.google.zxing</groupId>