From 02b28d44a693845f2c6d5acd505fd6d0781be843 Mon Sep 17 00:00:00 2001
From: du <1725534722@qq.com>
Date: Mon, 7 Apr 2025 14:37:09 +0800
Subject: [PATCH] bugfix

---
 .../ruoyi/gysl/controller/CybqController.java | 37 +++++++++++++++-
 .../ruoyi/gysl/controller/MlController.java   | 11 +++++
 .../gysl/controller/XfcyglController.java     | 10 +++++
 .../ruoyi/gysl/entity/BasicInformation.java   |  2 +-
 .../ruoyi/gysl/entity/QyrzInformation.java    |  5 +--
 .../ruoyi/gysl/entity/request/MlPageReq.java  | 15 +++----
 .../com/ruoyi/gysl/mapper/CybqMapper.java     |  2 +
 .../com/ruoyi/gysl/service/CybqService.java   | 12 +++++-
 .../gysl/service/impl/CybqServiceImpl.java    | 13 ++++++
 .../gysl/service/impl/XmpjqdServiceImpl.java  | 42 ++++++++++---------
 .../mapper/BasicInformationMapper.xml         |  4 +-
 11 files changed, 119 insertions(+), 34 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/gysl/controller/CybqController.java b/ruoyi-admin/src/main/java/com/ruoyi/gysl/controller/CybqController.java
index 37dfcd1..4dfebd0 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/gysl/controller/CybqController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/gysl/controller/CybqController.java
@@ -1,18 +1,22 @@
 package com.ruoyi.gysl.controller;
 
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.gysl.entity.Cybq;
 import com.ruoyi.gysl.entity.request.CybqRequest;
 import com.ruoyi.gysl.service.CybqService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
 import java.io.Serializable;
 import java.util.List;
 
@@ -92,5 +96,36 @@ public class CybqController extends BaseController {
     public AjaxResult delete(@RequestParam("idList") List<Long> idList) {
         return success(cybqService.removeByIds(idList));
     }
+
+    /**
+     * 产业标签批量导入
+     */
+    @ApiOperation(value = "产业标签批量导入")
+//    @PreAuthorize("@ss.hasAnyRoles('admin,common')")
+    @PostMapping(value = "/import", consumes = "multipart/form-data")
+    @Transactional(rollbackFor = Exception.class)
+    public AjaxResult importTemplateProject(@RequestPart("file") MultipartFile file) throws Exception {
+        ExcelUtil<Cybq> util = new ExcelUtil<>(Cybq.class);
+        List<Cybq> proList = util.importExcel(file.getInputStream());
+        StringBuilder successMsg = new StringBuilder();
+        if (proList == null || proList.isEmpty()) {
+            throw new ServiceException("产业标签导入数据不能为空");
+        } else {
+            cybqService.saveBatch(proList);
+            successMsg.append("导入成功");
+        }
+        return AjaxResult.success(successMsg);
+    }
+
+    /**
+     * 根据条件导出所有产业标签
+     */
+    @ApiOperation(value = "根据条件导出所有产业标签")
+    @PostMapping(value = "/export")
+    public void exportMl(HttpServletResponse response, CybqRequest req){
+        List<Cybq> filteredList = cybqService.page(req);
+        ExcelUtil<Cybq> util = new ExcelUtil<>(Cybq.class);
+        util.exportExcel(response, filteredList, "产业标签");
+    }
 }
 
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/gysl/controller/MlController.java b/ruoyi-admin/src/main/java/com/ruoyi/gysl/controller/MlController.java
index bf8b947..41bff77 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/gysl/controller/MlController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/gysl/controller/MlController.java
@@ -7,6 +7,7 @@ import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.gysl.entity.Ml;
+import com.ruoyi.gysl.entity.Xfcygl;
 import com.ruoyi.gysl.entity.request.MlPageReq;
 import com.ruoyi.gysl.service.MlService;
 import io.swagger.annotations.Api;
@@ -125,5 +126,15 @@ public class MlController extends BaseController {
         }
         return AjaxResult.success(successMsg);
     }
+    /**
+     * 模板信息
+     */
+    @ApiOperation("目录管理模板")
+    @PostMapping("/importTemplate")
+    public void importTemplate(HttpServletResponse response) {
+        ExcelUtil<Ml> util = new ExcelUtil<>(Ml.class);
+        util.importTemplateExcel(response, "目录管理模板");
+    }
+
 }
 
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/gysl/controller/XfcyglController.java b/ruoyi-admin/src/main/java/com/ruoyi/gysl/controller/XfcyglController.java
index 8daab10..a56f315 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/gysl/controller/XfcyglController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/gysl/controller/XfcyglController.java
@@ -127,5 +127,15 @@ public class XfcyglController extends BaseController {
         }
         return AjaxResult.success(successMsg);
     }
+
+    /**
+     * 模板信息
+     */
+    @ApiOperation("导细分产业管理模板")
+    @PostMapping("/importTemplate")
+    public void importTemplate(HttpServletResponse response) {
+        ExcelUtil<Xfcygl> util = new ExcelUtil<>(Xfcygl.class);
+        util.importTemplateExcel(response, "细分产业管理");
+    }
 }
 
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/BasicInformation.java b/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/BasicInformation.java
index c3537b9..bdda484 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/BasicInformation.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/BasicInformation.java
@@ -54,7 +54,7 @@ public class BasicInformation extends BaseModel {
 
 
     @NotBlank
-    @Excel(name = "项目法人单位", sort = 4)
+    @Excel(name = "项目法人单位", sort = 4,required = true)
     @ApiModelProperty("项目法人单位")
     private String xmfrdwxz;
 
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/QyrzInformation.java b/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/QyrzInformation.java
index cff361f..d1fea36 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/QyrzInformation.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/QyrzInformation.java
@@ -2,10 +2,9 @@ package com.ruoyi.gysl.entity;
 
 
 import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.ruoyi.common.core.domain.BaseEntity;
+import com.ruoyi.gysl.entity.baseModel.BaseModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -22,7 +21,7 @@ import java.math.BigDecimal;
 @EqualsAndHashCode(callSuper = true)
 @Data
 @TableName("gysl_qyrz_information")
-public class QyrzInformation extends BaseEntity implements Serializable {
+public class QyrzInformation extends BaseModel implements Serializable {
     @TableId(type = IdType.AUTO)
     private Long id;
 
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/request/MlPageReq.java b/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/request/MlPageReq.java
index 5f3ff5d..42f1012 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/request/MlPageReq.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/gysl/entity/request/MlPageReq.java
@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 
 /**
@@ -24,13 +25,13 @@ public class MlPageReq {
     @ApiModelProperty("产业")
     private String cy;
 
-    @ApiModelProperty(value = "更新开始时间 yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "更新开始时间 yyyy-MM-dd")
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
     @DateTimeFormat(pattern = "yyyy-MM-dd")
-    private LocalDateTime startTime;
+    private LocalDate startTime;
 
-    @ApiModelProperty(value = "更新结束时间 yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private LocalDateTime endTime;
+    @ApiModelProperty(value = "更新结束时间 yyyy-MM-dd")
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private LocalDate endTime;
 }
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/gysl/mapper/CybqMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/gysl/mapper/CybqMapper.java
index 90a153b..b01a6a5 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/gysl/mapper/CybqMapper.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/gysl/mapper/CybqMapper.java
@@ -25,5 +25,7 @@ public interface CybqMapper extends BaseMapper<Cybq> {
      * @return 所有数据
      */
     Page<Cybq> page(Page<Cybq> page, @Param("req") CybqRequest gyslCybq);
+
+    List<Cybq> page(@Param("req") CybqRequest gyslCybq);
 }
 
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/gysl/service/CybqService.java b/ruoyi-admin/src/main/java/com/ruoyi/gysl/service/CybqService.java
index 91237f1..eb73c67 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/gysl/service/CybqService.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/gysl/service/CybqService.java
@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.gysl.entity.Cybq;
 import com.ruoyi.gysl.entity.request.CybqRequest;
 
+import java.util.List;
+
 /**
  * 产业标签(GyslCybq)表服务接口
  *
@@ -17,10 +19,18 @@ public interface CybqService extends IService<Cybq> {
     /**
      * 分页查询所有数据
      *
-     * @param page 分页对象
+     * @param page     分页对象
      * @param gyslCybq 查询实体
      * @return 所有数据
      */
     Page<Cybq> page(Page<Cybq> page, CybqRequest gyslCybq);
+
+    /**
+     * 查询所有数据
+     *
+     * @param gyslCybq 查询实体
+     * @return 所有数据
+     */
+    List<Cybq> page(CybqRequest gyslCybq);
 }
 
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/gysl/service/impl/CybqServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/gysl/service/impl/CybqServiceImpl.java
index 43f8430..0b68896 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/gysl/service/impl/CybqServiceImpl.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/gysl/service/impl/CybqServiceImpl.java
@@ -8,6 +8,8 @@ import com.ruoyi.gysl.entity.Cybq;
 import com.ruoyi.gysl.service.CybqService;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * 产业标签(GyslCybq)表服务实现类
  *
@@ -29,5 +31,16 @@ public class CybqServiceImpl extends ServiceImpl<CybqMapper, Cybq> implements Cy
     public Page<Cybq> page(Page<Cybq> page, CybqRequest gyslCybq) {
         return baseMapper.page(page,gyslCybq);
     }
+
+    /**
+     * 查询所有数据
+     *
+     * @param gyslCybq 查询实体
+     * @return 所有数据
+     */
+    @Override
+    public List<Cybq> page(CybqRequest gyslCybq) {
+        return baseMapper.page(gyslCybq);
+    }
 }
 
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/gysl/service/impl/XmpjqdServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/gysl/service/impl/XmpjqdServiceImpl.java
index a8f0323..295f623 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/gysl/service/impl/XmpjqdServiceImpl.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/gysl/service/impl/XmpjqdServiceImpl.java
@@ -144,25 +144,29 @@ public class XmpjqdServiceImpl extends ServiceImpl<XmpjqdMapper, Xmpjqd> impleme
                 .eq(BuildingInformation::getXmId, id)
                 .eq(BuildingInformation::getSfwzyld, 1)
                 .groupBy(BuildingInformation::getXmId).one();
-        XmhxDetail a1 = new XmhxDetail();
-        a1.setYsmc("层数");
-        a1.setPjpm(String.valueOf(one.getFloor()));
-        XmhxDetail a2 = new XmhxDetail();
-        a2.setYsmc("首层层高");
-        a2.setPjpm(String.valueOf(one.getScgd()));
-        XmhxDetail a3 = new XmhxDetail();
-        a3.setYsmc("二层及以上层高");
-        a3.setPjpm(String.valueOf(one.getTwoAndFourCg()));
-        XmhxDetail a4 = new XmhxDetail();
-        a4.setYsmc("二层及以上楼面荷载");
-        a4.setPjpm(String.valueOf(one.getTwoAndThreeLmhz()));
-        xr1.setType(2);
-        xmhxDetails.add(a1);
-        xmhxDetails.add(a2);
-        xmhxDetails.add(a3);
-        xmhxDetails.add(a4);
-        xr1.setList(xmhxDetails);
-
+        if (one != null) {
+            XmhxDetail a1 = new XmhxDetail();
+            a1.setYsmc("层数");
+            a1.setPjpm(one.getFloor() == null ? "" : String.valueOf(one.getFloor()));
+            XmhxDetail a2 = new XmhxDetail();
+            a2.setYsmc("首层层高");
+            a2.setPjpm(String.valueOf(one.getScgd() == null ? "" : one.getScgd()));
+            XmhxDetail a3 = new XmhxDetail();
+            a3.setYsmc("二层及以上层高");
+            a3.setPjpm(String.valueOf(one.getTwoAndFourCg() == null ? "" : one.getTwoAndFourCg()));
+            XmhxDetail a4 = new XmhxDetail();
+            a4.setYsmc("二层及以上楼面荷载");
+            a4.setPjpm(String.valueOf(one.getTwoAndThreeLmhz() == null ? "" : one.getTwoAndThreeLmhz()));
+            xr1.setType(2);
+            xmhxDetails.add(a1);
+            xmhxDetails.add(a2);
+            xmhxDetails.add(a3);
+            xmhxDetails.add(a4);
+            xr1.setList(xmhxDetails);
+        } else {
+            xr1.setType(2);
+            xr1.setList(new ArrayList<>());
+        }
 
         XmhxResponse xr2 = new XmhxResponse();
         xr2.setType(3);
diff --git a/ruoyi-admin/src/main/resources/mapper/BasicInformationMapper.xml b/ruoyi-admin/src/main/resources/mapper/BasicInformationMapper.xml
index cd88557..7dc3fe3 100644
--- a/ruoyi-admin/src/main/resources/mapper/BasicInformationMapper.xml
+++ b/ruoyi-admin/src/main/resources/mapper/BasicInformationMapper.xml
@@ -258,7 +258,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         delete from copy_gysl_basic_information where id = #{id}
     </delete>
     <delete id="delete2">
-        from copy_gysl_plan_information
+        delete from copy_gysl_plan_information
         where xm_id = #{id}
     </delete>
     <delete id="delete3">
@@ -272,7 +272,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         where xm_id = #{id}
     </delete>
     <delete id="delete5">
-        from copy_gysl_project_other_info
+        delete from copy_gysl_project_other_info
         where xm_id = #{id}
     </delete>
     <select id="select1" resultType="com.ruoyi.gysl.entity.BasicInformation">