Browse Source

中西部进出口总值排名

qzy 8 months ago
parent
commit
9868482a24
21 changed files with 804 additions and 7 deletions
  1. 90 0
      zhbsq-admin/src/main/java/com/hjy/modlue/auxiliary/AuxiliaryVideoController.java
  2. 90 0
      zhbsq-admin/src/main/java/com/hjy/modlue/midwest/TbMidwestController.java
  3. 25 0
      zhbsq-admin/src/main/java/com/hjy/modlue/portalAPI/Common.java
  4. 5 1
      zhbsq-common/pom.xml
  5. 12 0
      zhbsq-common/src/main/java/com/hjy/common/utils/VideoUtils.java
  6. 66 0
      zhbsq-modlue/src/main/java/com/hjy/module/domain/auxiliary/AuxiliaryVideo.java
  7. 16 0
      zhbsq-modlue/src/main/java/com/hjy/module/domain/midwest/NeighborProvince.java
  8. 49 0
      zhbsq-modlue/src/main/java/com/hjy/module/domain/midwest/TbMidwest.java
  9. 13 0
      zhbsq-modlue/src/main/java/com/hjy/module/domain/report/ReportDTO.java
  10. 3 1
      zhbsq-modlue/src/main/java/com/hjy/module/domain/template/ExcelOutInTotal.java
  11. 26 0
      zhbsq-modlue/src/main/java/com/hjy/module/mapper/auxiliary/AuxiliaryVideoMapper.java
  12. 26 0
      zhbsq-modlue/src/main/java/com/hjy/module/mapper/midwest/TbMidwestMapper.java
  13. 42 0
      zhbsq-modlue/src/main/java/com/hjy/module/service/auxiliary/IAuxiliaryVideoService.java
  14. 38 0
      zhbsq-modlue/src/main/java/com/hjy/module/service/auxiliary/impl/AuxiliaryVideoServiceImpl.java
  15. 42 0
      zhbsq-modlue/src/main/java/com/hjy/module/service/midwest/ITbMidwestService.java
  16. 39 0
      zhbsq-modlue/src/main/java/com/hjy/module/service/midwest/impl/TbMidwestServiceImpl.java
  17. 65 5
      zhbsq-modlue/src/main/java/com/hjy/module/service/template/impl/ExcelOutInTotalServiceImpl.java
  18. 21 0
      zhbsq-modlue/src/main/java/com/hjy/module/vo/auxiliary/AuxiliaryVideoVo.java
  19. 21 0
      zhbsq-modlue/src/main/java/com/hjy/module/vo/midwest/TbMidwestVo.java
  20. 71 0
      zhbsq-modlue/src/main/resources/mapper/auxiliary/AuxiliaryVideoVoMapper.xml
  21. 44 0
      zhbsq-modlue/src/main/resources/mapper/midwest/TbMidwestMapper.xml

+ 90 - 0
zhbsq-admin/src/main/java/com/hjy/modlue/auxiliary/AuxiliaryVideoController.java

@@ -0,0 +1,90 @@
+package com.hjy.modlue.auxiliary;
+
+import com.hjy.common.annotation.Log;
+import com.hjy.common.core.controller.BaseController;
+import com.hjy.common.core.domain.AjaxResult;
+import com.hjy.common.enums.BusinessType;
+import com.hjy.common.utils.poi.ExcelUtil;
+
+import com.hjy.module.service.auxiliary.IAuxiliaryVideoService;
+import com.hjy.module.vo.auxiliary.AuxiliaryVideoVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+import com.hjy.common.core.page.TableDataInfo;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * 通关视频Controller
+ *
+ * @author Tellsea
+ * @date 2024-06-18
+ */
+@Api(tags = "通关视频Controller")
+@RestController
+@RequestMapping("/video/AUXILIARYVIDEO")
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+public class AuxiliaryVideoController extends BaseController {
+
+    private final IAuxiliaryVideoService auxiliaryVideoService;
+
+    @ApiOperation("查询通关视频列表")
+    @PreAuthorize("@ss.hasPermi('video:AUXILIARYVIDEO:list')")
+    @GetMapping("/list")
+    public TableDataInfo<AuxiliaryVideoVo> list(AuxiliaryVideoVo entity) {
+        return auxiliaryVideoService.queryList(entity);
+    }
+
+    @ApiOperation("查询通关视频所有列表")
+    @GetMapping("/listAll")
+    public AjaxResult listAll(AuxiliaryVideoVo entity) {
+        return AjaxResult.success("查询成功", auxiliaryVideoService.queryAll(entity));
+    }
+
+    @ApiOperation("导出通关视频列表")
+    @PreAuthorize("@ss.hasPermi('video:AUXILIARYVIDEO:export')")
+    @Log(title = "通关视频", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, AuxiliaryVideoVo entity) {
+        List<AuxiliaryVideoVo> list = auxiliaryVideoService.queryAll(entity);
+        ExcelUtil<AuxiliaryVideoVo> util = new ExcelUtil<>(AuxiliaryVideoVo.class);
+        util.exportExcel(response, list, "通关视频数据");
+    }
+
+    @ApiOperation("获取通关视频详细信息")
+    @PreAuthorize("@ss.hasPermi('video:AUXILIARYVIDEO:query')")
+    @GetMapping(value = "/getInfo/{id}")
+    public AjaxResult getInfo(@PathVariable("id") String id) {
+        return AjaxResult.success("查询成功", auxiliaryVideoService.queryById(id));
+    }
+
+    @ApiOperation("新增通关视频")
+    @PreAuthorize("@ss.hasPermi('video:AUXILIARYVIDEO:add')")
+    @Log(title = "通关视频", businessType = BusinessType.INSERT)
+    @PostMapping("add")
+    public AjaxResult add(@RequestBody AuxiliaryVideoVo entity) {
+        return toAjax(auxiliaryVideoService.save(entity));
+    }
+
+    @ApiOperation("修改通关视频")
+    @PreAuthorize("@ss.hasPermi('video:AUXILIARYVIDEO:edit')")
+    @Log(title = "通关视频", businessType = BusinessType.UPDATE)
+    @PostMapping("edit")
+    public AjaxResult edit(@RequestBody AuxiliaryVideoVo entity) {
+        return toAjax(auxiliaryVideoService.updateById(entity));
+    }
+
+    @ApiOperation("删除通关视频")
+    @PreAuthorize("@ss.hasPermi('video:AUXILIARYVIDEO:remove')")
+    @Log(title = "通关视频", businessType = BusinessType.DELETE)
+    @GetMapping("/remove/{ids}")
+    public AjaxResult remove(@PathVariable String[] ids) {
+        return toAjax(auxiliaryVideoService.removeByIds(Arrays.asList(ids)) ? 1 : 0);
+    }
+}

+ 90 - 0
zhbsq-admin/src/main/java/com/hjy/modlue/midwest/TbMidwestController.java

@@ -0,0 +1,90 @@
+package com.hjy.modlue.midwest;
+
+import com.hjy.common.annotation.Log;
+import com.hjy.common.core.controller.BaseController;
+import com.hjy.common.core.domain.AjaxResult;
+import com.hjy.common.enums.BusinessType;
+import com.hjy.common.utils.poi.ExcelUtil;
+
+import com.hjy.module.service.midwest.ITbMidwestService;
+import com.hjy.module.vo.midwest.TbMidwestVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+import com.hjy.common.core.page.TableDataInfo;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * 中西部综保区Controller
+ *
+ * @author Tellsea
+ * @date 2024-06-24
+ */
+@Api(tags = "中西部综保区Controller")
+@RestController
+@RequestMapping("/midwest/MIDWEST")
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+public class TbMidwestController extends BaseController {
+
+    private final ITbMidwestService tbMidwestService;
+
+    @ApiOperation("查询中西部综保区列表")
+    @PreAuthorize("@ss.hasPermi('midwest:MIDWEST:list')")
+    @GetMapping("/list")
+    public TableDataInfo<TbMidwestVo> list(TbMidwestVo entity) {
+        return tbMidwestService.queryList(entity);
+    }
+
+    @ApiOperation("查询中西部综保区所有列表")
+    @GetMapping("/listAll")
+    public AjaxResult listAll(TbMidwestVo entity) {
+        return AjaxResult.success("查询成功", tbMidwestService.queryAll(entity));
+    }
+
+    @ApiOperation("导出中西部综保区列表")
+    @PreAuthorize("@ss.hasPermi('midwest:MIDWEST:export')")
+    @Log(title = "中西部综保区", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, TbMidwestVo entity) {
+        List<TbMidwestVo> list = tbMidwestService.queryAll(entity);
+        ExcelUtil<TbMidwestVo> util = new ExcelUtil<>(TbMidwestVo.class);
+        util.exportExcel(response, list, "中西部综保区数据");
+    }
+
+    @ApiOperation("获取中西部综保区详细信息")
+    @PreAuthorize("@ss.hasPermi('midwest:MIDWEST:query')")
+    @GetMapping(value = "/getInfo/{id}")
+    public AjaxResult getInfo(@PathVariable("id") String id) {
+        return AjaxResult.success("查询成功", tbMidwestService.queryById(id));
+    }
+
+    @ApiOperation("新增中西部综保区")
+    @PreAuthorize("@ss.hasPermi('midwest:MIDWEST:add')")
+    @Log(title = "中西部综保区", businessType = BusinessType.INSERT)
+    @PostMapping("add")
+    public AjaxResult add(@RequestBody TbMidwestVo entity) {
+        return toAjax(tbMidwestService.save(entity));
+    }
+
+    @ApiOperation("修改中西部综保区")
+    @PreAuthorize("@ss.hasPermi('midwest:MIDWEST:edit')")
+    @Log(title = "中西部综保区", businessType = BusinessType.UPDATE)
+    @PostMapping("edit")
+    public AjaxResult edit(@RequestBody TbMidwestVo entity) {
+        return toAjax(tbMidwestService.updateById(entity));
+    }
+
+    @ApiOperation("删除中西部综保区")
+    @PreAuthorize("@ss.hasPermi('midwest:MIDWEST:remove')")
+    @Log(title = "中西部综保区", businessType = BusinessType.DELETE)
+	@GetMapping("/remove/{ids}")
+    public AjaxResult remove(@PathVariable String[] ids) {
+        return toAjax(tbMidwestService.removeByIds(Arrays.asList(ids)) ? 1 : 0);
+    }
+}

+ 25 - 0
zhbsq-admin/src/main/java/com/hjy/modlue/portalAPI/Common.java

@@ -8,6 +8,7 @@ import com.hjy.common.utils.StringUtils;
 import com.hjy.common.utils.file.FileUploadUtils;
 import com.hjy.common.utils.file.FileUtils;
 import com.hjy.framework.config.ServerConfig;
+import io.humble.video.Demuxer;
 import io.swagger.annotations.ApiOperation;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -116,6 +117,30 @@ public class Common {
     }
 
     /**
+     * 门户通用上传请求(单个)
+     */
+    @ApiOperation("通用上传请求(单个)")
+    @PostMapping("/uploadVideo")
+    public AjaxResult uploadVideo(MultipartFile file) throws Exception {
+        try {
+            // 上传文件路径
+            String filePath = ZhbsqConfig.getUploadPath();
+            // 上传并返回新文件名称
+            String fileName ="/video"+FileUploadUtils.upload(filePath, file);
+            Demuxer demuxer=Demuxer.make();
+            String url = serverConfig.getUrl() + fileName;
+            AjaxResult ajax = AjaxResult.success();
+            ajax.put("url", url);
+            ajax.put("fileName", fileName);
+            ajax.put("newFileName", FileUtils.getName(fileName));
+            ajax.put("originalFilename", file.getOriginalFilename());
+            return ajax;
+        } catch (Exception e) {
+            return AjaxResult.error(e.getMessage());
+        }
+    }
+
+    /**
      * 门户通用上传请求(多个)
      */
     @PortalAuth

+ 5 - 1
zhbsq-common/pom.xml

@@ -34,7 +34,11 @@
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-security</artifactId>
         </dependency>
-
+        <dependency>
+            <groupId>io.humble</groupId>
+            <artifactId>humble-video-all</artifactId>
+            <version>0.3.0</version>
+        </dependency>
         <!-- pagehelper 分页插件 -->
         <dependency>
             <groupId>com.github.pagehelper</groupId>

+ 12 - 0
zhbsq-common/src/main/java/com/hjy/common/utils/VideoUtils.java

@@ -0,0 +1,12 @@
+package com.hjy.common.utils;
+
+import io.humble.video.*;
+
+import java.awt.*;
+
+public class VideoUtils {
+
+    public static void gethumble(String videoPath,String imagePath) {
+
+    }
+}

+ 66 - 0
zhbsq-modlue/src/main/java/com/hjy/module/domain/auxiliary/AuxiliaryVideo.java

@@ -0,0 +1,66 @@
+package com.hjy.module.domain.auxiliary;
+
+import com.hjy.common.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.hjy.common.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+/**
+ * 通关视频对象 TB_AUXILIARY_VIDEO
+ *
+ * @author Tellsea
+ * @date 2024-06-18
+ */
+@Data
+@Accessors(chain = true)
+@ToString(callSuper = true)
+@EqualsAndHashCode(callSuper = true)
+public class AuxiliaryVideo extends BaseEntity {
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private String id;
+
+    /**
+     * 标题
+     */
+    @Excel(name = "标题")
+    private String title;
+
+    /**
+     * 封面
+     */
+    @Excel(name = "封面")
+    private String cover;
+
+    /**
+     * 视频地址
+     */
+    @Excel(name = "视频地址")
+    private String sourcePath;
+
+    /**
+     * 是否置顶 0 1
+     */
+    @Excel(name = "是否置顶")
+    private Integer topFlat;
+
+    /**
+     * 排序
+     */
+    @Excel(name = "排序")
+    private Integer sort;
+
+    /**
+     * 来源
+     */
+    @Excel(name = "来源")
+    private String sourceFrom;
+
+}

+ 16 - 0
zhbsq-modlue/src/main/java/com/hjy/module/domain/midwest/NeighborProvince.java

@@ -0,0 +1,16 @@
+package com.hjy.module.domain.midwest;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+import net.sf.jsqlparser.statement.create.table.Index;
+
+import java.io.Serializable;
+
+@Data
+@Accessors(chain = true)
+public class NeighborProvince implements Serializable {
+    private static final long serialVersionUID = 1L;
+    private String provinceName;
+    private Long total;
+    private Integer index;
+}

+ 49 - 0
zhbsq-modlue/src/main/java/com/hjy/module/domain/midwest/TbMidwest.java

@@ -0,0 +1,49 @@
+package com.hjy.module.domain.midwest;
+
+import com.hjy.common.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.hjy.common.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+/**
+ * 中西部综保区对象 TB_MIDWEST
+ *
+ * @author Tellsea
+ * @date 2024-06-24
+ */
+@Data
+@Accessors(chain = true)
+@ToString(callSuper = true)
+@EqualsAndHashCode(callSuper = true)
+public class TbMidwest extends BaseEntity {
+
+    /**
+     * 主键
+     */
+    @Excel(name = "主键")
+    private String id;
+
+    /**
+     * 综保区名称
+     */
+    @Excel(name = "综保区名称")
+    private String name;
+
+    /**
+     * 编号
+     */
+    @Excel(name = "编号")
+    private String code;
+
+    /**
+     * 相邻
+     */
+    @Excel(name = "相邻")
+    private Integer neighbor;
+    private String province;
+
+}

+ 13 - 0
zhbsq-modlue/src/main/java/com/hjy/module/domain/report/ReportDTO.java

@@ -128,5 +128,18 @@ public class ReportDTO implements Serializable {
      */
     private String inoutCentralWestCompare;
 
+    /**
+     * 全国综保区分析描述
+     */
+    private String allAsyncDesc;
+    /**
+     * 邻省排名
+     */
+    private String neighborProvinceDesc;
+    /**
+     * 中西部排名
+     */
+    private String midwestSortDesc;
+
 
 }

+ 3 - 1
zhbsq-modlue/src/main/java/com/hjy/module/domain/template/ExcelOutInTotal.java

@@ -39,7 +39,9 @@ public class ExcelOutInTotal extends BaseEntity {
      */
     @Excel(name = "部门id")
     private String deptId;
-
+    /**
+     * 排名
+     */
     private int index;
     /**
      * 名称

+ 26 - 0
zhbsq-modlue/src/main/java/com/hjy/module/mapper/auxiliary/AuxiliaryVideoMapper.java

@@ -0,0 +1,26 @@
+package com.hjy.module.mapper.auxiliary;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
+import com.hjy.module.domain.auxiliary.AuxiliaryVideo;
+import com.hjy.module.vo.auxiliary.AuxiliaryVideoVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 通关视频Mapper接口
+ *
+ * @author Tellsea
+ * @date 2024-06-18
+ */
+public interface AuxiliaryVideoMapper extends BaseMapper<AuxiliaryVideo> {
+
+    Page<AuxiliaryVideoVo> queryList(Page<?> page, @Param("entity") AuxiliaryVideoVo entity);
+
+    List<AuxiliaryVideoVo> queryList(@Param("entity") AuxiliaryVideoVo entity);
+
+    AuxiliaryVideoVo queryById(@Param("id") String id);
+
+}

+ 26 - 0
zhbsq-modlue/src/main/java/com/hjy/module/mapper/midwest/TbMidwestMapper.java

@@ -0,0 +1,26 @@
+package com.hjy.module.mapper.midwest;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
+import com.hjy.module.domain.midwest.TbMidwest;
+import com.hjy.module.vo.midwest.TbMidwestVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 中西部综保区Mapper接口
+ *
+ * @author Tellsea
+ * @date 2024-06-24
+ */
+public interface TbMidwestMapper extends BaseMapper<TbMidwest> {
+
+    Page<TbMidwestVo> queryList(Page<?> page, @Param("entity") TbMidwestVo entity);
+
+    List<TbMidwestVo> queryList(@Param("entity") TbMidwestVo entity);
+
+    TbMidwestVo queryById(@Param("id") String id);
+
+}

+ 42 - 0
zhbsq-modlue/src/main/java/com/hjy/module/service/auxiliary/IAuxiliaryVideoService.java

@@ -0,0 +1,42 @@
+package com.hjy.module.service.auxiliary;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.hjy.common.core.page.TableDataInfo;
+import com.hjy.module.domain.auxiliary.AuxiliaryVideo;
+import com.hjy.module.vo.auxiliary.AuxiliaryVideoVo;
+
+
+import java.util.List;
+
+/**
+ * 通关视频Service接口
+ *
+ * @author Tellsea
+ * @date 2024-06-18
+ */
+public interface IAuxiliaryVideoService extends IService<AuxiliaryVideo> {
+
+    /**
+     * 分页查询
+     *
+     * @param entity
+     * @return
+     */
+    TableDataInfo<AuxiliaryVideoVo> queryList(AuxiliaryVideoVo entity);
+
+    /**
+     * 查询全部
+     *
+     * @param entity
+     * @return
+     */
+    List<AuxiliaryVideoVo> queryAll(AuxiliaryVideoVo entity);
+
+    /**
+     * 根据ID查询
+     *
+     * @param id
+     * @return
+     */
+    AuxiliaryVideoVo queryById(String id);
+}

+ 38 - 0
zhbsq-modlue/src/main/java/com/hjy/module/service/auxiliary/impl/AuxiliaryVideoServiceImpl.java

@@ -0,0 +1,38 @@
+package com.hjy.module.service.auxiliary.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.hjy.common.core.page.TableDataInfo;
+import com.hjy.common.utils.PageUtils;
+
+import com.hjy.module.domain.auxiliary.AuxiliaryVideo;
+import com.hjy.module.mapper.auxiliary.AuxiliaryVideoMapper;
+import com.hjy.module.service.auxiliary.IAuxiliaryVideoService;
+import com.hjy.module.vo.auxiliary.AuxiliaryVideoVo;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 通关视频Service业务层处理
+ *
+ * @author Tellsea
+ * @date 2024-06-18
+ */
+@Service
+public class AuxiliaryVideoServiceImpl extends ServiceImpl<AuxiliaryVideoMapper, AuxiliaryVideo> implements IAuxiliaryVideoService {
+
+    @Override
+    public TableDataInfo<AuxiliaryVideoVo> queryList(AuxiliaryVideoVo entity) {
+        return PageUtils.buildDataInfo(this.baseMapper.queryList(PageUtils.buildPage(), entity));
+    }
+
+    @Override
+    public List<AuxiliaryVideoVo> queryAll(AuxiliaryVideoVo entity) {
+        return this.baseMapper.queryList(entity);
+    }
+
+    @Override
+    public AuxiliaryVideoVo queryById(String id) {
+        return this.baseMapper.queryById(id);
+    }
+}

+ 42 - 0
zhbsq-modlue/src/main/java/com/hjy/module/service/midwest/ITbMidwestService.java

@@ -0,0 +1,42 @@
+package com.hjy.module.service.midwest;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.hjy.common.core.page.TableDataInfo;
+import com.hjy.module.domain.midwest.TbMidwest;
+import com.hjy.module.vo.midwest.TbMidwestVo;
+
+
+import java.util.List;
+
+/**
+ * 中西部综保区Service接口
+ *
+ * @author Tellsea
+ * @date 2024-06-24
+ */
+public interface ITbMidwestService extends IService<TbMidwest> {
+
+    /**
+     * 分页查询
+     *
+     * @param entity
+     * @return
+     */
+    TableDataInfo<TbMidwestVo> queryList(TbMidwestVo entity);
+
+    /**
+     * 查询全部
+     *
+     * @param entity
+     * @return
+     */
+    List<TbMidwestVo> queryAll(TbMidwestVo entity);
+
+    /**
+     * 根据ID查询
+     *
+     * @param id
+     * @return
+     */
+    TbMidwestVo queryById(String id);
+}

+ 39 - 0
zhbsq-modlue/src/main/java/com/hjy/module/service/midwest/impl/TbMidwestServiceImpl.java

@@ -0,0 +1,39 @@
+package com.hjy.module.service.midwest.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.hjy.common.core.page.TableDataInfo;
+import com.hjy.common.utils.PageUtils;
+
+import com.hjy.module.domain.midwest.TbMidwest;
+import com.hjy.module.mapper.midwest.TbMidwestMapper;
+import com.hjy.module.service.midwest.ITbMidwestService;
+import com.hjy.module.vo.midwest.TbMidwestVo;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 中西部综保区Service业务层处理
+ *
+ * @author Tellsea
+ * @date 2024-06-24
+ */
+@Service
+public class TbMidwestServiceImpl extends ServiceImpl<TbMidwestMapper, TbMidwest> implements ITbMidwestService {
+
+    @Override
+    public TableDataInfo<TbMidwestVo> queryList(TbMidwestVo entity) {
+        return PageUtils.buildDataInfo(this.baseMapper.queryList(PageUtils.buildPage(), entity));
+    }
+
+    @Override
+    public List<TbMidwestVo> queryAll(TbMidwestVo entity) {
+        return this.baseMapper.queryList(entity);
+    }
+
+
+    @Override
+    public TbMidwestVo queryById(String id) {
+        return this.baseMapper.queryById(id);
+    }
+}

+ 65 - 5
zhbsq-modlue/src/main/java/com/hjy/module/service/template/impl/ExcelOutInTotalServiceImpl.java

@@ -13,17 +13,21 @@ import com.hjy.common.core.page.TableDataInfo;
 import com.hjy.common.utils.PageUtils;
 import com.hjy.common.utils.file.FileUploadUtils;
 import com.hjy.common.utils.file.FileUtils;
+import com.hjy.module.domain.midwest.NeighborProvince;
+import com.hjy.module.domain.midwest.TbMidwest;
 import com.hjy.module.domain.report.ReportDTO;
 import com.hjy.module.domain.report.ReportRecord;
 import com.hjy.module.domain.report.ReportWord;
 import com.hjy.module.domain.reportsetting.ReportSetting;
 import com.hjy.module.domain.template.ExcelOutInTotal;
 import com.hjy.module.mapper.template.ExcelOutInTotalMapper;
+import com.hjy.module.service.midwest.ITbMidwestService;
 import com.hjy.module.service.report.IReportRecordService;
 import com.hjy.module.service.report.IReportTemplateService;
 import com.hjy.module.service.report.IReportWordService;
 import com.hjy.module.service.reportsetting.IReportSettingService;
 import com.hjy.module.service.template.IExcelOutInTotalService;
+import com.hjy.module.vo.midwest.TbMidwestVo;
 import com.hjy.module.vo.report.ReportRecordVo;
 import com.hjy.module.vo.report.ReportTemplateVo;
 import com.hjy.module.vo.template.ExcelOutInTotalVo;
@@ -59,7 +63,8 @@ public class ExcelOutInTotalServiceImpl extends ServiceImpl<ExcelOutInTotalMappe
     @Resource
     private IReportSettingService reportSettingService;
 
-
+    @Resource
+    private ITbMidwestService tbMidwestService;
 
 
     @Override
@@ -123,11 +128,67 @@ public class ExcelOutInTotalServiceImpl extends ServiceImpl<ExcelOutInTotalMappe
 
         List<String> zongbaoList = arrayList.stream().filter(str -> str.contains("综合保税区")).collect(Collectors.toList());
         List<ExcelOutInTotal> excelDTOList = buildDTO(zongbaoList, currentMonth, cumulativeMonth);
-
         //全国综保区数据
         ExcelOutInTotal totalDTO = excelDTOList.get(0);
+        String allTotalInc = totalDTO.getTotalInc();
+        double inc = new BigDecimal(allTotalInc).doubleValue();
+        String incDesc = inc > 0 ? "增长" : "下降";
+        reportDTO.setAllAsyncDesc("全国综保区进出口总值为" + totalDTO.getTotalCumulativeMonth() + "亿元,同比" + incDesc + Math.abs(inc) + "%。");
         reportRecord.setNactionForeignTrade(totalDTO.getTotalCumulativeMonth())
                 .setNactionForeignTradeInc(totalDTO.getTotalInc());
+        //中西部名单
+        List<TbMidwestVo> tbMidwestVos = tbMidwestService.queryAll(new TbMidwestVo());
+        List<String> midWestNameList = tbMidwestVos.stream().map(TbMidwest::getName).collect(Collectors.toList());
+        //中西部进出口总值列表
+        List<ExcelOutInTotal> midWestList = excelDTOList.stream()
+                .filter(m->midWestNameList.contains(m.getName())).collect(Collectors.toList())
+                .stream().sorted(Comparator.comparingDouble(e -> Double.parseDouble(e.getTotalCumulativeMonth())))
+                .collect(Collectors.toList());
+        //计算排名
+        int i = midWestNameList.size();
+        for (ExcelOutInTotal excelOutInTotal : midWestList) {
+            excelOutInTotal.setIndex(i);
+            i--;
+        }
+        //挑出广西在中西部排名
+        StringBuilder midwestSortDesc=new StringBuilder("中西部综保区排名情况:");
+        midWestList.stream().filter(str->{
+            String name = str.getName();
+            return name.contains(nn) || name.contains(wz) || name.contains(qz) || name.contains(bh) || name.contains(px);
+        }).forEach(excelOutInTotal -> {
+            midwestSortDesc.append(excelOutInTotal.getName())
+                    .append("进出口总值").append(excelOutInTotal.getTotalCumulativeMonth())
+                    .append("亿元,排名第").append(excelOutInTotal.getIndex()).append(";");
+        });
+        reportDTO.setMidwestSortDesc(midwestSortDesc.toString());
+        //临省
+        List<NeighborProvince> neighborProvinces = new ArrayList<>();
+        tbMidwestVos.stream()
+                .filter(w -> w.getNeighbor() == 1)
+                .collect(Collectors.groupingBy(TbMidwest::getProvince))
+                .forEach((province, provinceList) -> {
+                    List<String> nameList = provinceList.stream().map(TbMidwest::getName).collect(Collectors.toList());
+                    List<ExcelOutInTotal> neighborList = midWestList.stream().filter(m->nameList.contains(m.getName())).collect(Collectors.toList());
+                    Long provinceSum = neighborList.stream()
+                            .collect(Collectors.summarizingLong(e -> Long.parseLong(e.getTotalCumulativeMonth())))
+                            .getSum();
+                    NeighborProvince neighborProvince = new NeighborProvince();
+                    neighborProvince.setProvinceName(province).setTotal(provinceSum);
+                    neighborProvinces.add(neighborProvince);
+                });
+        List<NeighborProvince> sortList = neighborProvinces.stream()
+                .sorted(Comparator.comparingLong(NeighborProvince::getTotal))
+                .collect(Collectors.toList());
+        i = sortList.size();
+        StringBuilder sb = new StringBuilder("相邻省份排名情况:");
+        for (NeighborProvince neighborProvince : sortList) {
+            sb.append(neighborProvince.getProvinceName())
+                    .append("进出口总值").append(neighborProvince.getTotal())
+                    .append("亿元,排名").append(i).append(";");
+            neighborProvince.setIndex(i);
+            i--;
+        }
+        reportDTO.setNeighborProvinceDesc(sb.toString());
         List<ExcelOutInTotal> gxList = excelDTOList.stream().filter(str -> {
             String name = str.getName();
             return name.contains(nn) || name.contains(wz) || name.contains(qz) || name.contains(bh) || name.contains(px);
@@ -190,7 +251,7 @@ public class ExcelOutInTotalServiceImpl extends ServiceImpl<ExcelOutInTotalMappe
             BigDecimal tradeTotalMoneyPercent = new BigDecimal(tradeTotalMoney)
                     .divide(tenThousand, 1, RoundingMode.UP)
                     .divide(new BigDecimal(gxTradeTotalMoney), 3, RoundingMode.UP);
-            reportDTO.setTradeTotalMoneyPercent(tradeTotalMoneyPercent.multiply(hundred)+"%");
+            reportDTO.setTradeTotalMoneyPercent(tradeTotalMoneyPercent.multiply(hundred) + "%");
         }
         //同比增长
         double tradeTotalMoneyInc = (BigDecimal.valueOf(tradeTotalMoney).subtract(BigDecimal.valueOf(beforeTotalCumulativeMonth)))
@@ -225,7 +286,6 @@ public class ExcelOutInTotalServiceImpl extends ServiceImpl<ExcelOutInTotalMappe
     }
 
 
-
     private List<ExcelOutInTotal> buildDTO(List<String> list, String currentMonth, String cumulativeMonth) {
         List<ExcelOutInTotal> excelDTOList = new ArrayList<>();
         list.forEach(str -> {
@@ -235,7 +295,7 @@ public class ExcelOutInTotalServiceImpl extends ServiceImpl<ExcelOutInTotalMappe
             excelDTO.setCurrentMonth(currentMonth);
             excelDTO.setCumulativeMonth(cumulativeMonth);
             excelDTO.setTotalCurrentMonth("-".equals(split[1]) ? "0.0" : split[1]);
-            excelDTO.setTotalCumulativeMonth("-".equals(split[2]) ? "0.0" : split[2]);
+            excelDTO.setTotalCumulativeMonth("-".equals(split[2]) ? "0.0" : new BigDecimal(split[2]).divide(BigDecimal.valueOf(10000),2,RoundingMode.HALF_UP)+"");
             excelDTO.setOutCurrentMonth("-".equals(split[3]) ? "0.0" : split[3]);
             excelDTO.setOutCumulativeMonth("-".equals(split[4]) ? "0.0" : split[4]);
             excelDTO.setInCurrentMonth("-".equals(split[5]) ? "0.0" : split[5]);

+ 21 - 0
zhbsq-modlue/src/main/java/com/hjy/module/vo/auxiliary/AuxiliaryVideoVo.java

@@ -0,0 +1,21 @@
+package com.hjy.module.vo.auxiliary;
+
+import com.hjy.module.domain.auxiliary.AuxiliaryVideo;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+/**
+ * 通关视频Vo对象 TB_AUXILIARY_VIDEO
+ *
+ * @author Tellsea
+ * @date 2024-06-18
+ */
+@Data
+@Accessors(chain = true)
+@ToString(callSuper = true)
+@EqualsAndHashCode(callSuper = true)
+public class AuxiliaryVideoVo extends AuxiliaryVideo {
+
+}

+ 21 - 0
zhbsq-modlue/src/main/java/com/hjy/module/vo/midwest/TbMidwestVo.java

@@ -0,0 +1,21 @@
+package com.hjy.module.vo.midwest;
+
+import com.hjy.module.domain.midwest.TbMidwest;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+/**
+ * 中西部综保区Vo对象 TB_MIDWEST
+ *
+ * @author Tellsea
+ * @date 2024-06-24
+ */
+@Data
+@Accessors(chain = true)
+@ToString(callSuper = true)
+@EqualsAndHashCode(callSuper = true)
+public class TbMidwestVo extends TbMidwest {
+
+}

+ 71 - 0
zhbsq-modlue/src/main/resources/mapper/auxiliary/AuxiliaryVideoVoMapper.xml

@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.hjy.module.mapper.auxiliary.AuxiliaryVideoMapper">
+
+    <sql id="querySql">
+        select <include refid="allField"/>
+        from TB_AUXILIARY_VIDEO A
+    </sql>
+
+    <select id="queryList" resultType="com.hjy.module.vo.auxiliary.AuxiliaryVideoVo">
+        <include refid="querySql"/>
+        <trim prefix="where" prefixOverrides="and || or">
+            <if test="entity.id != null and entity.id != ''">
+                and A.ID like concat('%', #{entity.id}, '%')
+            </if>
+            <if test="entity.title != null and entity.title != ''">
+                and A.TITLE like concat('%', #{entity.title}, '%')
+            </if>
+            <if test="entity.cover != null and entity.cover != ''">
+                and A.COVER like concat('%', #{entity.cover}, '%')
+            </if>
+            <if test="entity.sourcePath != null and entity.sourcePath != ''">
+                and A.SOURCE_PATH like concat('%', #{entity.sourcePath}, '%')
+            </if>
+            <if test="entity.topFlat != null and entity.topFlat != ''">
+                and A.TOP_FLAT like concat('%', #{entity.topFlat}, '%')
+            </if>
+            <if test="entity.sort != null and entity.sort != ''">
+                and A.SORT like concat('%', #{entity.sort}, '%')
+            </if>
+            <if test="entity.createTime != null and entity.createTime != ''">
+                and A.CREATE_TIME like concat('%', #{entity.createTime}, '%')
+            </if>
+            <if test="entity.createBy != null and entity.createBy != ''">
+                and A.CREATE_BY like concat('%', #{entity.createBy}, '%')
+            </if>
+            <if test="entity.updateTime != null and entity.updateTime != ''">
+                and A.UPDATE_TIME like concat('%', #{entity.updateTime}, '%')
+            </if>
+            <if test="entity.updateBy != null and entity.updateBy != ''">
+                and A.UPDATE_BY like concat('%', #{entity.updateBy}, '%')
+            </if>
+            <if test="entity.sourceFrom != null and entity.sourceFrom != ''">
+                and A.SOURCE_FROM like concat('%', #{entity.sourceFrom}, '%')
+            </if>
+        </trim>
+        order by A.create_time desc
+    </select>
+
+    <select id="queryById" resultType="com.hjy.module.vo.auxiliary.AuxiliaryVideoVo">
+        <include refid="querySql"/>
+        where A.id = #{id}
+    </select>
+
+    <sql id="allField">
+        A.ID,
+        A.TITLE,
+        A.COVER,
+        A.SOURCE_PATH,
+        A.TOP_FLAT,
+        A.SORT,
+        A.CREATE_TIME,
+        A.CREATE_BY,
+        A.UPDATE_TIME,
+        A.UPDATE_BY,
+        A.SOURCE_FROM
+    </sql>
+
+</mapper>

+ 44 - 0
zhbsq-modlue/src/main/resources/mapper/midwest/TbMidwestMapper.xml

@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.hjy.module.mapper.midwest.TbMidwestMapper">
+
+    <sql id="querySql">
+        select <include refid="allField"/>
+        from TB_MIDWEST A
+    </sql>
+
+    <select id="queryList" resultType="com.hjy.module.vo.midwest.TbMidwestVo">
+        <include refid="querySql"/>
+        <trim prefix="where" prefixOverrides="and || or">
+
+        <if test="entity.id != null and entity.id != ''">
+            and A.ID like concat('%', #{entity.id}, '%')
+        </if>
+        <if test="entity.name != null and entity.name != ''">
+            and A.NAME like concat('%', #{entity.name}, '%')
+        </if>
+        <if test="entity.code != null and entity.code != ''">
+            and A.CODE like concat('%', #{entity.code}, '%')
+        </if>
+        <if test="entity.neighbor != null and entity.neighbor != ''">
+            and A.NEIGHBOR like concat('%', #{entity.neighbor}, '%')
+        </if>
+        </trim>
+    </select>
+
+    <select id="queryById" resultType="com.hjy.module.vo.midwest.TbMidwestVo">
+        <include refid="querySql"/>
+        and A.id = #{id}
+    </select>
+
+    <sql id="allField">
+        A.ID,
+        A.NAME,
+        A.CODE,
+        A.NEIGHBOR,
+        A.PROVINCE
+    </sql>
+
+</mapper>