Prechádzať zdrojové kódy

refactor(contract): 重构合同处理逻辑并添加新功能

-优化了 ContractC 和 ContractB 类的属性结构,移除了不必要的大写金额字段
- 在 AContractInfoServiceImpl 中添加了新的合同编号生成和金额大写转换方法- 新增了 ASimplifiedHouseInfoDto 类用于房屋信息查询
- 在 ASimplifiedHouseInfoService 和 Mapper 中实现了新的房屋信息查询接口- 添加了 EDepartmentEmployeeStatsController 和 EEnterpriseBasicInfoController 用于处理部门员工统计和企业信息
林仔 10 mesiacov pred
rodič
commit
f432b65069
22 zmenil súbory, kde vykonal 737 pridanie a 139 odobranie
  1. 75 0
      src/main/java/com/zksy/controller/info/EDepartmentEmployeeStatsController.java
  2. 75 0
      src/main/java/com/zksy/controller/info/EEnterpriseBasicInfoController.java
  3. 75 0
      src/main/java/com/zksy/controller/info/EEnterpriseGasAnnualStatisticsController.java
  4. 7 0
      src/main/java/com/zksy/controller/property/ASimplifiedHouseInfoController.java
  5. 21 0
      src/main/java/com/zksy/controller/property/dto/ASimplifiedHouseInfoDto.java
  6. 85 0
      src/main/java/com/zksy/controller/property/vo/ASimplifiedHouseInfoVo.java
  7. 15 15
      src/main/java/com/zksy/info/domain/EEnterpriseElectricityAnnualStatistics.java
  8. 15 15
      src/main/java/com/zksy/info/domain/EEnterpriseGasAnnualStatistics.java
  9. 23 19
      src/main/java/com/zksy/info/domain/EEnterpriseWaterAnnualStatistics.java
  10. 5 0
      src/main/java/com/zksy/info/service/EEnterpriseGasAnnualStatisticsService.java
  11. 28 0
      src/main/java/com/zksy/info/service/impl/EEnterpriseGasAnnualStatisticsServiceImpl.java
  12. 2 1
      src/main/java/com/zksy/property/domain/ASimplifiedHouseInfo.java
  13. 0 12
      src/main/java/com/zksy/property/domain/bo/ContractB.java
  14. 0 4
      src/main/java/com/zksy/property/domain/bo/ContractC.java
  15. 2 1
      src/main/java/com/zksy/property/domain/vo/HouseInfoVo.java
  16. 5 1
      src/main/java/com/zksy/property/mapper/ASimplifiedHouseInfoMapper.java
  17. 4 0
      src/main/java/com/zksy/property/service/ASimplifiedHouseInfoService.java
  18. 144 60
      src/main/java/com/zksy/property/service/impl/AContractInfoServiceImpl.java
  19. 10 0
      src/main/java/com/zksy/property/service/impl/ASimplifiedHouseInfoServiceImpl.java
  20. 12 1
      src/main/java/com/zksy/utils/ExcelImportUtil.java
  21. 37 1
      src/main/resources/mapper/property/ASimplifiedHouseInfoMapper.xml
  22. 97 9
      src/test/java/com/zksy/property/service/impl/AContractInfoServiceImplTest.java

+ 75 - 0
src/main/java/com/zksy/controller/info/EDepartmentEmployeeStatsController.java

@@ -0,0 +1,75 @@
+package com.zksy.controller.info;
+
+import com.zksy.info.domain.EAdminLicenseInfo;
+import com.zksy.info.domain.EDepartmentEmployeeStats;
+import com.zksy.info.service.EAdminLicenseInfoService;
+import com.zksy.info.service.EDepartmentEmployeeStatsService;
+import com.zksy.utils.AjaxResult;
+import com.zksy.utils.ExcelExportUtil;
+import com.zksy.utils.ExcelImportUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.time.LocalDateTime;
+import java.util.Arrays;
+
+/**
+ * @author Administrator
+ * @version 1.0
+ * @project enterprise-assets-service
+ * @description 部门员工统计控制层
+ * @date 2025/6/24 14:33:13
+ */
+@RestController
+@RequestMapping("/edepartmentEmployeeStats")
+@Api(tags = "部门员工统计信息",description = "部门员工统计信息desc")
+public class EDepartmentEmployeeStatsController {
+    @Autowired
+    private EDepartmentEmployeeStatsService service;
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "部门员工统计信息查询分页")
+    public AjaxResult findByPage(long pageNum, long pageSize, String departmentName){
+        return AjaxResult.success(service.findByPage(pageNum, pageSize, departmentName));
+    }
+    @GetMapping("/getEDepartmentEmployeeStatsList")
+    @ApiOperation(value = "部门员工统计信息查询")
+    public AjaxResult getEDepartmentEmployeeStatsList(String departmentName){
+        return AjaxResult.success(service.getEDepartmentEmployeeStatsList(departmentName));
+    }
+    @GetMapping("/getById/{id}")
+    @ApiOperation(value = "根据Id查询部门员工统计信息")
+    public AjaxResult getById(@PathVariable String id){
+        return AjaxResult.success(service.getById(id));
+    }
+    @PostMapping("/save")
+    @ApiOperation(value = "部门员工统计信息保存")
+    public AjaxResult save(@RequestBody EDepartmentEmployeeStats entity) {
+        return service.save(entity) ? AjaxResult.success(entity): AjaxResult.error("保存失败");
+    }
+    @PostMapping("/update")
+    @ApiOperation(value = "部门员工统计信息修改")
+    public AjaxResult update(@RequestBody EDepartmentEmployeeStats entity) {
+        entity.setUpdateTime(LocalDateTime.now());
+        return service.updateById(entity) ? AjaxResult.success(entity): AjaxResult.error("修改失败");
+    }
+    @PostMapping("/deleteBatch")
+    @ApiOperation(value = "部门员工统计信息删除")
+    public AjaxResult delete(@RequestBody String[] ids) {
+        return service.removeBatchByIds(Arrays.asList(ids)) ? AjaxResult.success("删除成功") : AjaxResult.error("删除失败");
+    }
+    @PostMapping("/importData")
+    @ApiOperation(value = "导入数据")
+    public AjaxResult importData(MultipartFile file) {
+        return AjaxResult.success(service.saveOrUpdateBatch(ExcelImportUtil.importExcel(file, EDepartmentEmployeeStats.class)));
+    }
+    @GetMapping("/exportData")
+    @ApiOperation(value = "导出数据")
+    public void exportData(HttpServletResponse response,String departmentName) {
+        ExcelExportUtil.exportExcel(response,service.getEDepartmentEmployeeStatsList(departmentName), EDepartmentEmployeeStats.class, "部门员工统计信息","部门员工统计信息");
+    }
+
+}

+ 75 - 0
src/main/java/com/zksy/controller/info/EEnterpriseBasicInfoController.java

@@ -0,0 +1,75 @@
+package com.zksy.controller.info;
+
+import com.zksy.info.domain.EDepartmentEmployeeStats;
+import com.zksy.info.domain.EEnterpriseBasicInfo;
+import com.zksy.info.service.EDepartmentEmployeeStatsService;
+import com.zksy.info.service.EEnterpriseBasicInfoService;
+import com.zksy.utils.AjaxResult;
+import com.zksy.utils.ExcelExportUtil;
+import com.zksy.utils.ExcelImportUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.time.LocalDateTime;
+import java.util.Arrays;
+
+/**
+ * @author Administrator
+ * @version 1.0
+ * @project enterprise-assets-service
+ * @description 企业信息控制层
+ * @date 2025/6/24 14:33:13
+ */
+@RestController
+@RequestMapping("/eenterpriseBasicInfo")
+@Api(tags = "企业信息信息",description = "企业信息信息desc")
+public class EEnterpriseBasicInfoController {
+    @Autowired
+    private EEnterpriseBasicInfoService service;
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "企业信息信息查询分页")
+    public AjaxResult findByPage(long pageNum, long pageSize, String enterpriseName,String unifiedSocialCreditCode,String isAboveDesignatedSize,String isHighTech){
+        return AjaxResult.success(service.findByPage(pageNum, pageSize, enterpriseName, unifiedSocialCreditCode, isAboveDesignatedSize, isHighTech));
+    }
+    @GetMapping("/getEEnterpriseBasicInfoList")
+    @ApiOperation(value = "企业信息信息查询")
+    public AjaxResult getEEnterpriseBasicInfoList(String enterpriseName,String unifiedSocialCreditCode,String isAboveDesignatedSize,String isHighTech){
+        return AjaxResult.success(service.getEEnterpriseBasicInfoList(enterpriseName, unifiedSocialCreditCode, isAboveDesignatedSize, isHighTech));
+    }
+    @GetMapping("/getById/{id}")
+    @ApiOperation(value = "根据Id查询企业信息信息")
+    public AjaxResult getById(@PathVariable String id){
+        return AjaxResult.success(service.getById(id));
+    }
+    @PostMapping("/save")
+    @ApiOperation(value = "企业信息信息保存")
+    public AjaxResult save(@RequestBody EEnterpriseBasicInfo entity) {
+        return service.save(entity) ? AjaxResult.success(entity): AjaxResult.error("保存失败");
+    }
+    @PostMapping("/update")
+    @ApiOperation(value = "企业信息信息修改")
+    public AjaxResult update(@RequestBody EEnterpriseBasicInfo entity) {
+        entity.setUpdateTime(LocalDateTime.now());
+        return service.updateById(entity) ? AjaxResult.success(entity): AjaxResult.error("修改失败");
+    }
+    @PostMapping("/deleteBatch")
+    @ApiOperation(value = "企业信息信息删除")
+    public AjaxResult delete(@RequestBody String[] ids) {
+        return service.removeBatchByIds(Arrays.asList(ids)) ? AjaxResult.success("删除成功") : AjaxResult.error("删除失败");
+    }
+    @PostMapping("/importData")
+    @ApiOperation(value = "导入数据")
+    public AjaxResult importData(MultipartFile file) {
+        return AjaxResult.success(service.saveOrUpdateBatch(ExcelImportUtil.importExcel(file, EEnterpriseBasicInfo.class)));
+    }
+    @GetMapping("/exportData")
+    @ApiOperation(value = "导出数据")
+    public void exportData(HttpServletResponse response,String enterpriseName,String unifiedSocialCreditCode,String isAboveDesignatedSize,String isHighTech) {
+        ExcelExportUtil.exportExcel(response,service.getEEnterpriseBasicInfoList(enterpriseName, unifiedSocialCreditCode, isAboveDesignatedSize, isHighTech), EEnterpriseBasicInfo.class, "企业信息信息","企业信息信息");
+    }
+
+}

+ 75 - 0
src/main/java/com/zksy/controller/info/EEnterpriseGasAnnualStatisticsController.java

@@ -0,0 +1,75 @@
+package com.zksy.controller.info;
+
+import com.zksy.info.domain.EEnterpriseGasAnnualStatistics;
+import com.zksy.info.domain.EEnterpriseWaterAnnualStatistics;
+import com.zksy.info.service.EEnterpriseGasAnnualStatisticsService;
+import com.zksy.info.service.EEnterpriseWaterAnnualStatisticsService;
+import com.zksy.utils.AjaxResult;
+import com.zksy.utils.ExcelExportUtil;
+import com.zksy.utils.ExcelImportUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.time.LocalDateTime;
+import java.util.Arrays;
+
+/**
+ * @author Administrator
+ * @version 1.0
+ * @project enterprise-assets-service
+ * @description 用气控制层
+ * @date 2025/6/24 14:33:13
+ */
+@RestController
+@RequestMapping("/eenterpriseGasAnnualStatistics")
+@Api(tags = "企业年度用气",description = "企业年度用气desc")
+public class EEnterpriseGasAnnualStatisticsController {
+    @Autowired
+    private EEnterpriseGasAnnualStatisticsService service;
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "企业年度用气查询分页")
+    public AjaxResult findByPage(long pageNum, long pageSize, String enterpriseName,String unifiedSocialCreditCode,String accountNumber,String year){
+        return AjaxResult.success(service.findByPage(pageNum, pageSize, enterpriseName,unifiedSocialCreditCode,accountNumber,year));
+    }
+    @GetMapping("/getList")
+    @ApiOperation(value = "企业年度用气查询")
+    public AjaxResult getEEnterpriseGasAnnualStatisticsList(String enterpriseName,String unifiedSocialCreditCode,String accountNumber,String year){
+        return AjaxResult.success(service.getEEnterpriseGasAnnualStatisticsList(enterpriseName,unifiedSocialCreditCode,accountNumber,year));
+    }
+    @GetMapping("/getById/{id}")
+    @ApiOperation(value = "根据Id查询企业年度用气")
+    public AjaxResult getById(@PathVariable String id){
+        return AjaxResult.success(service.getById(id));
+    }
+    @PostMapping("/save")
+    @ApiOperation(value = "企业年度用气保存")
+    public AjaxResult save(@RequestBody EEnterpriseGasAnnualStatistics entity) {
+        return service.save(entity) ? AjaxResult.success(entity) : AjaxResult.error("保存失败");
+    }
+    @PostMapping("/update")
+    @ApiOperation(value = "企业年度用气修改")
+    public AjaxResult update(@RequestBody EEnterpriseGasAnnualStatistics entity) {
+        entity.setUpdateTime(LocalDateTime.now());
+        return service.updateById(entity) ? AjaxResult.success(entity) : AjaxResult.error("修改失败");
+    }
+    @PostMapping("/deleteBatch")
+    @ApiOperation(value = "企业年度用气删除")
+    public AjaxResult delete(@RequestBody String[] ids) {
+        return service.removeBatchByIds(Arrays.asList(ids)) ? AjaxResult.success("删除成功") : AjaxResult.error("删除失败");
+    }
+    @PostMapping("/importData")
+    @ApiOperation(value = "导入数据")
+    public AjaxResult importData(MultipartFile file) {
+        return AjaxResult.success(service.saveOrUpdateBatch(ExcelImportUtil.importExcel(file, EEnterpriseGasAnnualStatistics.class)));
+    }
+    @GetMapping("/exportData")
+    @ApiOperation(value = "导出数据")
+    public void exportData(HttpServletResponse response,String enterpriseName,String unifiedSocialCreditCode,String accountNumber,String year) {
+        ExcelExportUtil.exportExcel(response,service.getEEnterpriseGasAnnualStatisticsList(enterpriseName,unifiedSocialCreditCode,accountNumber,year), EEnterpriseGasAnnualStatistics.class, "企业年度用气","企业年度用气");
+    }
+
+}

+ 7 - 0
src/main/java/com/zksy/controller/property/ASimplifiedHouseInfoController.java

@@ -1,5 +1,7 @@
 package com.zksy.controller.property;
 package com.zksy.controller.property;
 
 
+import com.zksy.controller.property.dto.ASimplifiedHouseInfoDto;
+import com.zksy.property.domain.AMaintenanceRecords;
 import com.zksy.property.domain.ASimplifiedHouseInfo;
 import com.zksy.property.domain.ASimplifiedHouseInfo;
 import com.zksy.property.service.ASimplifiedHouseInfoService;
 import com.zksy.property.service.ASimplifiedHouseInfoService;
 import com.zksy.utils.AjaxResult;
 import com.zksy.utils.AjaxResult;
@@ -35,6 +37,11 @@ public class ASimplifiedHouseInfoController {
     public AjaxResult getASimplifiedHouseInfoList(String assetType,String building,String houseName,String status){
     public AjaxResult getASimplifiedHouseInfoList(String assetType,String building,String houseName,String status){
         return AjaxResult.success(service.getASimplifiedHouseInfoList(assetType,building,houseName, status));
         return AjaxResult.success(service.getASimplifiedHouseInfoList(assetType,building,houseName, status));
     }
     }
+    @GetMapping("/getList")
+    @ApiOperation(value = "房屋查询")
+    public AjaxResult getList(ASimplifiedHouseInfoDto entity){
+        return AjaxResult.success(service.getList( entity));
+    }
     @GetMapping("/getById/{id}")
     @GetMapping("/getById/{id}")
     @ApiOperation(value = "根据Id查询房屋信息")
     @ApiOperation(value = "根据Id查询房屋信息")
     public AjaxResult getById(@PathVariable String id){
     public AjaxResult getById(@PathVariable String id){

+ 21 - 0
src/main/java/com/zksy/controller/property/dto/ASimplifiedHouseInfoDto.java

@@ -0,0 +1,21 @@
+package com.zksy.controller.property.dto;
+
+import lombok.Data;
+
+/**
+ * @author Administrator
+ * @version 1.0
+ * @project enterprise-assets-service
+ * @description 房屋信息DTO
+ * @date 2025/7/15 15:03:18
+ */
+@Data
+public class ASimplifiedHouseInfoDto {
+    private String building;
+    private String floor;
+    private String sortSearch;
+    private String rentRangeMin;
+    private String rentRangeMax;
+    private String areaMin;
+    private String areaMax;
+}

+ 85 - 0
src/main/java/com/zksy/controller/property/vo/ASimplifiedHouseInfoVo.java

@@ -0,0 +1,85 @@
+package com.zksy.controller.property.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * @author Administrator
+ * @version 1.0
+ * @project enterprise-assets-service
+ * @description 房屋信息返回
+ * @date 2025/7/15 16:57:14
+ */
+@Data
+public class ASimplifiedHouseInfoVo {
+    /**
+     * 主键
+     */
+    @TableId(type = IdType.ASSIGN_UUID)
+    @ApiModelProperty("主键")
+    private String id;
+
+    /**
+     * 资产类型(公租房/厂房)
+     */
+    @ApiModelProperty("资产类型(公租房/厂房)")
+    private String assetType;
+
+    /**
+     * 楼栋
+     */
+    @ApiModelProperty("楼栋")
+    private String building;
+
+    /**
+     * 楼层
+     */
+    @ApiModelProperty("楼层")
+    private String floor;
+
+    /**
+     * 房间名称 (A栋101)
+     */
+    @ApiModelProperty("房间名称 (如:A栋101)")
+    private String houseName;
+
+    /**
+     * 地址
+     */
+    @ApiModelProperty("地址")
+    private String address;
+
+    /**
+     * 状态 (空闲/已租)
+     */
+    @ApiModelProperty("状态 (空闲/已租)")
+    private String status;
+
+    /**
+     * 租金范围
+     */
+    @ApiModelProperty("租金范围")
+    private BigDecimal rentRange;
+
+    /**
+     * 创建时间
+     */
+    @ApiModelProperty("创建时间")
+    private LocalDateTime createTime;
+
+    /**
+     * 更新时间
+     */
+    @ApiModelProperty("更新时间")
+    private LocalDateTime updateTime;
+    /**
+     * 面积
+     */
+    @ApiModelProperty("面积")
+    private String area;
+}

+ 15 - 15
src/main/java/com/zksy/info/domain/EEnterpriseElectricityAnnualStatistics.java

@@ -35,28 +35,28 @@ public class EEnterpriseElectricityAnnualStatistics implements Serializable {
      * 企业名称
      * 企业名称
      */
      */
     @ApiModelProperty("企业名称")
     @ApiModelProperty("企业名称")
-    @ExcelProperty("企业名称")
+    @ExcelProperty(value = "企业名称", index = 0)
     private String enterpriseName;
     private String enterpriseName;
 
 
     /**
     /**
      * 统一社会信用代码
      * 统一社会信用代码
      */
      */
     @ApiModelProperty("统一社会信用代码")
     @ApiModelProperty("统一社会信用代码")
-    @ExcelProperty("统一社会信用代码")
+    @ExcelProperty(value = "统一社会信用代码", index = 1)
     private String unifiedSocialCreditCode;
     private String unifiedSocialCreditCode;
 
 
     /**
     /**
      * 户号信息
      * 户号信息
      */
      */
     @ApiModelProperty("户号信息")
     @ApiModelProperty("户号信息")
-    @ExcelProperty("户号信息")
+    @ExcelProperty(value = "户号信息", index = 2)
     private String accountNumber;
     private String accountNumber;
 
 
     /**
     /**
      * 开户日期
      * 开户日期
      */
      */
     @ApiModelProperty("开户日期")
     @ApiModelProperty("开户日期")
-    @ExcelProperty("开户日期")
+    @ExcelProperty(value = "开户日期", index = 3)
     @JsonFormat(pattern = "yyyy-MM-dd")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private LocalDate openingDate;
     private LocalDate openingDate;
 
 
@@ -64,77 +64,77 @@ public class EEnterpriseElectricityAnnualStatistics implements Serializable {
      * 年度
      * 年度
      */
      */
     @ApiModelProperty("年度")
     @ApiModelProperty("年度")
-    @ExcelProperty("年度")
+    @ExcelProperty(value = "年度", index = 4)
     private Integer year;
     private Integer year;
 
 
     /**
     /**
      * 第一季度度数
      * 第一季度度数
      */
      */
     @ApiModelProperty("第一季度度数")
     @ApiModelProperty("第一季度度数")
-    @ExcelProperty({"第一季度", "度数"})
+    @ExcelProperty(value = {"第一季度", "度数"}, index = 5)
     private BigDecimal q1Degree;
     private BigDecimal q1Degree;
 
 
     /**
     /**
      * 第一季度费用
      * 第一季度费用
      */
      */
     @ApiModelProperty("第一季度费用")
     @ApiModelProperty("第一季度费用")
-    @ExcelProperty({"第一季度", "费用"})
+    @ExcelProperty(value = {"第一季度", "费用"}, index = 6)
     private BigDecimal q1Cost;
     private BigDecimal q1Cost;
 
 
     /**
     /**
      * 第二季度度数
      * 第二季度度数
      */
      */
     @ApiModelProperty("第二季度度数")
     @ApiModelProperty("第二季度度数")
-    @ExcelProperty({"第二季度", "度数"})
+    @ExcelProperty(value = {"第二季度", "度数"}, index = 7)
     private BigDecimal q2Degree;
     private BigDecimal q2Degree;
 
 
     /**
     /**
      * 第二季度费用
      * 第二季度费用
      */
      */
     @ApiModelProperty("第二季度费用")
     @ApiModelProperty("第二季度费用")
-    @ExcelProperty({"第二季度", "费用"})
+    @ExcelProperty(value = {"第二季度", "费用"}, index = 8)
     private BigDecimal q2Cost;
     private BigDecimal q2Cost;
 
 
     /**
     /**
      * 第三季度度数
      * 第三季度度数
      */
      */
     @ApiModelProperty("第三季度度数")
     @ApiModelProperty("第三季度度数")
-    @ExcelProperty({"第三季度", "度数"})
+    @ExcelProperty(value = {"第三季度", "度数"}, index = 9)
     private BigDecimal q3Degree;
     private BigDecimal q3Degree;
 
 
     /**
     /**
      * 第三季度费用
      * 第三季度费用
      */
      */
     @ApiModelProperty("第三季度费用")
     @ApiModelProperty("第三季度费用")
-    @ExcelProperty({"第三季度", "费用"})
+    @ExcelProperty(value = {"第三季度", "费用"}, index = 10)
     private BigDecimal q3Cost;
     private BigDecimal q3Cost;
 
 
     /**
     /**
      * 第四季度度数
      * 第四季度度数
      */
      */
     @ApiModelProperty("第四季度度数")
     @ApiModelProperty("第四季度度数")
-    @ExcelProperty({"第四季度", "度数"})
+    @ExcelProperty(value = {"第四季度", "度数"}, index = 11)
     private BigDecimal q4Degree;
     private BigDecimal q4Degree;
 
 
     /**
     /**
      * 第四季度费用
      * 第四季度费用
      */
      */
     @ApiModelProperty("第四季度费用")
     @ApiModelProperty("第四季度费用")
-    @ExcelProperty({"第四季度", "费用"})
+    @ExcelProperty(value = {"第四季度", "费用"}, index = 12)
     private BigDecimal q4Cost;
     private BigDecimal q4Cost;
 
 
     /**
     /**
      * 年度总度数
      * 年度总度数
      */
      */
     @ApiModelProperty("年度总度数")
     @ApiModelProperty("年度总度数")
-    @ExcelProperty({"年度总", "度数"})
+    @ExcelProperty(value = {"年度总", "度数"}, index = 13)
     private BigDecimal annualTotalDegree;
     private BigDecimal annualTotalDegree;
 
 
     /**
     /**
      * 年度总费用
      * 年度总费用
      */
      */
     @ApiModelProperty("年度总费用")
     @ApiModelProperty("年度总费用")
-    @ExcelProperty({"年度总", "费用"})
+    @ExcelProperty(value = {"年度总", "费用"}, index = 14)
     private BigDecimal annualTotalCost;
     private BigDecimal annualTotalCost;
 
 
     /**
     /**

+ 15 - 15
src/main/java/com/zksy/info/domain/EEnterpriseGasAnnualStatistics.java

@@ -35,28 +35,28 @@ public class EEnterpriseGasAnnualStatistics implements Serializable {
      * 企业名称
      * 企业名称
      */
      */
     @ApiModelProperty("企业名称")
     @ApiModelProperty("企业名称")
-    @ExcelProperty("企业名称")
+    @ExcelProperty(value = "企业名称", index = 0)
     private String enterpriseName;
     private String enterpriseName;
 
 
     /**
     /**
      * 统一社会信用代码
      * 统一社会信用代码
      */
      */
     @ApiModelProperty("统一社会信用代码")
     @ApiModelProperty("统一社会信用代码")
-    @ExcelProperty("统一社会信用代码")
+    @ExcelProperty(value = "统一社会信用代码", index = 1)
     private String unifiedSocialCreditCode;
     private String unifiedSocialCreditCode;
 
 
     /**
     /**
      * 户号信息
      * 户号信息
      */
      */
     @ApiModelProperty("户号信息")
     @ApiModelProperty("户号信息")
-    @ExcelProperty("户号信息")
+    @ExcelProperty(value = "户号信息", index = 2)
     private String accountNumber;
     private String accountNumber;
 
 
     /**
     /**
      * 开户日期
      * 开户日期
      */
      */
     @ApiModelProperty("开户日期")
     @ApiModelProperty("开户日期")
-    @ExcelProperty("开户日期")
+    @ExcelProperty(value = "开户日期", index = 3)
     @JsonFormat(pattern = "yyyy-MM-dd")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private LocalDate openingDate;
     private LocalDate openingDate;
 
 
@@ -64,77 +64,77 @@ public class EEnterpriseGasAnnualStatistics implements Serializable {
      * 年度
      * 年度
      */
      */
     @ApiModelProperty("年度")
     @ApiModelProperty("年度")
-    @ExcelProperty("年度")
+    @ExcelProperty(value = "年度", index = 4)
     private Integer year;
     private Integer year;
 
 
     /**
     /**
      * 第一季度立方米数
      * 第一季度立方米数
      */
      */
     @ApiModelProperty("第一季度立方米")
     @ApiModelProperty("第一季度立方米")
-    @ExcelProperty({"第一季度", "立方米"})
+    @ExcelProperty(value = {"第一季度", "立方米"}, index = 5)
     private BigDecimal q1CubicMeter;
     private BigDecimal q1CubicMeter;
 
 
     /**
     /**
      * 第一季度费用
      * 第一季度费用
      */
      */
     @ApiModelProperty("第一季度费用")
     @ApiModelProperty("第一季度费用")
-    @ExcelProperty({"第一季度", "费用"})
+    @ExcelProperty(value = {"第一季度", "费用"}, index = 6)
     private BigDecimal q1Cost;
     private BigDecimal q1Cost;
 
 
     /**
     /**
      * 第二季度立方米数
      * 第二季度立方米数
      */
      */
     @ApiModelProperty("第二季度立方米")
     @ApiModelProperty("第二季度立方米")
-    @ExcelProperty({"第二季度", "立方米"})
+    @ExcelProperty(value = {"第二季度", "立方米"}, index = 7)
     private BigDecimal q2CubicMeter;
     private BigDecimal q2CubicMeter;
 
 
     /**
     /**
      * 第二季度费用
      * 第二季度费用
      */
      */
     @ApiModelProperty("第二季度费用")
     @ApiModelProperty("第二季度费用")
-    @ExcelProperty({"第二季度", "费用"})
+    @ExcelProperty(value = {"第二季度", "费用"}, index = 8)
     private BigDecimal q2Cost;
     private BigDecimal q2Cost;
 
 
     /**
     /**
      * 第三季度立方米数
      * 第三季度立方米数
      */
      */
     @ApiModelProperty("第三季度立方米")
     @ApiModelProperty("第三季度立方米")
-    @ExcelProperty({"第三季度", "立方米"})
+    @ExcelProperty(value = {"第三季度", "立方米"}, index = 9)
     private BigDecimal q3CubicMeter;
     private BigDecimal q3CubicMeter;
 
 
     /**
     /**
      * 第三季度费用
      * 第三季度费用
      */
      */
     @ApiModelProperty("第三季度费用")
     @ApiModelProperty("第三季度费用")
-    @ExcelProperty({"第三季度", "费用"})
+    @ExcelProperty(value = {"第三季度", "费用"}, index = 10)
     private BigDecimal q3Cost;
     private BigDecimal q3Cost;
 
 
     /**
     /**
      * 第四季度立方米数
      * 第四季度立方米数
      */
      */
     @ApiModelProperty("第四季度立方米")
     @ApiModelProperty("第四季度立方米")
-    @ExcelProperty({"第四季度", "立方米"})
+    @ExcelProperty(value = {"第四季度", "立方米"}, index = 11)
     private BigDecimal q4CubicMeter;
     private BigDecimal q4CubicMeter;
 
 
     /**
     /**
      * 第四季度费用
      * 第四季度费用
      */
      */
     @ApiModelProperty("第四季度费用")
     @ApiModelProperty("第四季度费用")
-    @ExcelProperty({"第四季度", "费用"})
+    @ExcelProperty(value = {"第四季度", "费用"}, index = 12)
     private BigDecimal q4Cost;
     private BigDecimal q4Cost;
 
 
     /**
     /**
      * 年度总立方米数
      * 年度总立方米数
      */
      */
     @ApiModelProperty("年度总立方米")
     @ApiModelProperty("年度总立方米")
-    @ExcelProperty({"年度总", "立方米"})
+    @ExcelProperty(value = {"年度总", "立方米"}, index = 13)
     private BigDecimal annualTotalCubicMeter;
     private BigDecimal annualTotalCubicMeter;
 
 
     /**
     /**
      * 年度总费用
      * 年度总费用
      */
      */
     @ApiModelProperty("年度总费用")
     @ApiModelProperty("年度总费用")
-    @ExcelProperty({"年度总", "费用"})
+    @ExcelProperty(value = {"年度总", "费用"}, index = 14)
     private BigDecimal annualTotalCost;
     private BigDecimal annualTotalCost;
 
 
     /**
     /**

+ 23 - 19
src/main/java/com/zksy/info/domain/EEnterpriseWaterAnnualStatistics.java

@@ -2,19 +2,22 @@ package com.zksy.info.domain;
 
 
 import com.alibaba.excel.annotation.ExcelIgnore;
 import com.alibaba.excel.annotation.ExcelIgnore;
 import com.alibaba.excel.annotation.ExcelProperty;
 import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
 import java.io.Serializable;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
 import java.util.Date;
 import java.util.Date;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
+import java.util.Optional;
 
 
 /**
 /**
  * 企业年度用水统计表
  * 企业年度用水统计表
@@ -35,28 +38,28 @@ public class EEnterpriseWaterAnnualStatistics implements Serializable {
      * 企业名称
      * 企业名称
      */
      */
     @ApiModelProperty("企业名称")
     @ApiModelProperty("企业名称")
-    @ExcelProperty("企业名称")
+    @ExcelProperty(value = "企业名称", index = 0)
     private String enterpriseName;
     private String enterpriseName;
 
 
     /**
     /**
      * 统一社会信用代码
      * 统一社会信用代码
      */
      */
     @ApiModelProperty("统一社会信用代码")
     @ApiModelProperty("统一社会信用代码")
-    @ExcelProperty("统一社会信用代码")
+    @ExcelProperty(value = "统一社会信用代码", index = 1)
     private String unifiedSocialCreditCode;
     private String unifiedSocialCreditCode;
 
 
     /**
     /**
      * 户号信息
      * 户号信息
      */
      */
     @ApiModelProperty("户号信息")
     @ApiModelProperty("户号信息")
-    @ExcelProperty("户号信息")
+    @ExcelProperty(value = "户号信息", index = 2)
     private String accountNumber;
     private String accountNumber;
 
 
     /**
     /**
      * 开户日期
      * 开户日期
      */
      */
     @ApiModelProperty("开户日期")
     @ApiModelProperty("开户日期")
-    @ExcelProperty("开户日期")
+    @ExcelProperty(value = "开户日期", index = 3)
     @JsonFormat(pattern = "yyyy-MM-dd")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private LocalDate openingDate;
     private LocalDate openingDate;
 
 
@@ -64,77 +67,77 @@ public class EEnterpriseWaterAnnualStatistics implements Serializable {
      * 年度
      * 年度
      */
      */
     @ApiModelProperty("年度")
     @ApiModelProperty("年度")
-    @ExcelProperty("年度")
+    @ExcelProperty(value = "年度", index = 4)
     private Integer year;
     private Integer year;
 
 
     /**
     /**
      * 第一季度吨数
      * 第一季度吨数
      */
      */
     @ApiModelProperty("第一季度吨数")
     @ApiModelProperty("第一季度吨数")
-    @ExcelProperty({"第一季度", "吨数"})
+    @ExcelProperty(value = {"第一季度", "吨数"}, index = 5)
     private BigDecimal q1Ton;
     private BigDecimal q1Ton;
 
 
     /**
     /**
      * 第一季度费用
      * 第一季度费用
      */
      */
     @ApiModelProperty("第一季度费用")
     @ApiModelProperty("第一季度费用")
-    @ExcelProperty({"第一季度", "费用"})
+    @ExcelProperty(value = {"第一季度", "费用"}, index = 6)
     private BigDecimal q1Cost;
     private BigDecimal q1Cost;
 
 
     /**
     /**
      * 第二季度吨数
      * 第二季度吨数
      */
      */
     @ApiModelProperty("第二季度吨数")
     @ApiModelProperty("第二季度吨数")
-    @ExcelProperty({"第二季度", "吨数"})
+    @ExcelProperty(value = {"第二季度", "吨数"}, index = 7)
     private BigDecimal q2Ton;
     private BigDecimal q2Ton;
 
 
     /**
     /**
      * 第二季度费用
      * 第二季度费用
      */
      */
     @ApiModelProperty("第二季度费用")
     @ApiModelProperty("第二季度费用")
-    @ExcelProperty({"第二季度", "费用"})
+    @ExcelProperty(value = {"第二季度", "费用"}, index = 8)
     private BigDecimal q2Cost;
     private BigDecimal q2Cost;
 
 
     /**
     /**
      * 第三季度吨数
      * 第三季度吨数
      */
      */
     @ApiModelProperty("第三季度吨数")
     @ApiModelProperty("第三季度吨数")
-    @ExcelProperty({"第三季度", "吨数"})
+    @ExcelProperty(value = {"第三季度", "吨数"}, index = 9)
     private BigDecimal q3Ton;
     private BigDecimal q3Ton;
 
 
     /**
     /**
      * 第三季度费用
      * 第三季度费用
      */
      */
     @ApiModelProperty("第三季度费用")
     @ApiModelProperty("第三季度费用")
-    @ExcelProperty({"第三季度", "费用"})
+    @ExcelProperty(value = {"第三季度", "费用"}, index = 10)
     private BigDecimal q3Cost;
     private BigDecimal q3Cost;
 
 
     /**
     /**
      * 第四季度吨数
      * 第四季度吨数
      */
      */
     @ApiModelProperty("第四季度吨数")
     @ApiModelProperty("第四季度吨数")
-    @ExcelProperty({"第四季度", "吨数"})
+    @ExcelProperty(value = {"第四季度", "吨数"}, index = 11)
     private BigDecimal q4Ton;
     private BigDecimal q4Ton;
 
 
     /**
     /**
      * 第四季度费用
      * 第四季度费用
      */
      */
     @ApiModelProperty("第四季度费用")
     @ApiModelProperty("第四季度费用")
-    @ExcelProperty({"第四季度", "费用"})
+    @ExcelProperty(value = {"第四季度", "费用"}, index = 12)
     private BigDecimal q4Cost;
     private BigDecimal q4Cost;
 
 
     /**
     /**
      * 年度总吨数
      * 年度总吨数
      */
      */
     @ApiModelProperty("年度总吨数")
     @ApiModelProperty("年度总吨数")
-    @ExcelProperty({"年度总", "吨数"})
+    @ExcelProperty(value = {"年度总", "吨数"}, index = 13)
     private BigDecimal annualTotalTon;
     private BigDecimal annualTotalTon;
 
 
     /**
     /**
      * 年度总费用
      * 年度总费用
      */
      */
     @ApiModelProperty("年度总费用")
     @ApiModelProperty("年度总费用")
-    @ExcelProperty({"年度总", "费用"})
+    @ExcelProperty(value = {"年度总", "费用"}, index = 14)
     private BigDecimal annualTotalCost;
     private BigDecimal annualTotalCost;
 
 
     /**
     /**
@@ -155,4 +158,5 @@ public class EEnterpriseWaterAnnualStatistics implements Serializable {
 
 
     @TableField(exist = false)
     @TableField(exist = false)
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
+
 }
 }

+ 5 - 0
src/main/java/com/zksy/info/service/EEnterpriseGasAnnualStatisticsService.java

@@ -1,13 +1,18 @@
 package com.zksy.info.service;
 package com.zksy.info.service;
 
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.zksy.info.domain.EEnterpriseGasAnnualStatistics;
 import com.zksy.info.domain.EEnterpriseGasAnnualStatistics;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 
+import java.util.List;
+
 /**
 /**
 * @author Administrator
 * @author Administrator
 * @description 针对表【e_enterprise_gas_annual_statistics(企业年度用气统计表)】的数据库操作Service
 * @description 针对表【e_enterprise_gas_annual_statistics(企业年度用气统计表)】的数据库操作Service
 * @createDate 2025-07-10 10:06:31
 * @createDate 2025-07-10 10:06:31
 */
 */
 public interface EEnterpriseGasAnnualStatisticsService extends IService<EEnterpriseGasAnnualStatistics> {
 public interface EEnterpriseGasAnnualStatisticsService extends IService<EEnterpriseGasAnnualStatistics> {
+    Page<EEnterpriseGasAnnualStatistics> findByPage(long pageNum, long pageSize, String enterpriseName, String unifiedSocialCreditCode, String accountNumber, String year);
+    List<EEnterpriseGasAnnualStatistics> getEEnterpriseGasAnnualStatisticsList(String enterpriseName, String unifiedSocialCreditCode, String accountNumber, String year);
 
 
 }
 }

+ 28 - 0
src/main/java/com/zksy/info/service/impl/EEnterpriseGasAnnualStatisticsServiceImpl.java

@@ -1,11 +1,15 @@
 package com.zksy.info.service.impl;
 package com.zksy.info.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zksy.info.domain.EEnterpriseGasAnnualStatistics;
 import com.zksy.info.domain.EEnterpriseGasAnnualStatistics;
 import com.zksy.info.service.EEnterpriseGasAnnualStatisticsService;
 import com.zksy.info.service.EEnterpriseGasAnnualStatisticsService;
 import com.zksy.info.mapper.EEnterpriseGasAnnualStatisticsMapper;
 import com.zksy.info.mapper.EEnterpriseGasAnnualStatisticsMapper;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.util.List;
+
 /**
 /**
 * @author Administrator
 * @author Administrator
 * @description 针对表【e_enterprise_gas_annual_statistics(企业年度用气统计表)】的数据库操作Service实现
 * @description 针对表【e_enterprise_gas_annual_statistics(企业年度用气统计表)】的数据库操作Service实现
@@ -15,6 +19,30 @@ import org.springframework.stereotype.Service;
 public class EEnterpriseGasAnnualStatisticsServiceImpl extends ServiceImpl<EEnterpriseGasAnnualStatisticsMapper, EEnterpriseGasAnnualStatistics>
 public class EEnterpriseGasAnnualStatisticsServiceImpl extends ServiceImpl<EEnterpriseGasAnnualStatisticsMapper, EEnterpriseGasAnnualStatistics>
     implements EEnterpriseGasAnnualStatisticsService{
     implements EEnterpriseGasAnnualStatisticsService{
 
 
+    @Override
+    public Page<EEnterpriseGasAnnualStatistics> findByPage(long pageNum, long pageSize, String enterpriseName, String unifiedSocialCreditCode, String accountNumber, String year) {
+        Page<EEnterpriseGasAnnualStatistics> page = new Page<>(pageNum,pageSize);
+        LambdaQueryWrapper<EEnterpriseGasAnnualStatistics> queryWrapper = new LambdaQueryWrapper();
+        queryWrapper.like(enterpriseName != null,EEnterpriseGasAnnualStatistics::getEnterpriseName,enterpriseName);
+        queryWrapper.like(unifiedSocialCreditCode != null,EEnterpriseGasAnnualStatistics::getUnifiedSocialCreditCode,unifiedSocialCreditCode);
+        queryWrapper.like(accountNumber != null,EEnterpriseGasAnnualStatistics::getAccountNumber,accountNumber);
+        queryWrapper.like(year != null,EEnterpriseGasAnnualStatistics::getYear,year);
+        queryWrapper.orderByDesc(EEnterpriseGasAnnualStatistics::getUpdateTime);
+        Page<EEnterpriseGasAnnualStatistics> page1 = this.page(page, queryWrapper);
+        return page1;
+    }
+
+    @Override
+    public List<EEnterpriseGasAnnualStatistics> getEEnterpriseGasAnnualStatisticsList(String enterpriseName, String unifiedSocialCreditCode, String accountNumber, String year) {
+        LambdaQueryWrapper<EEnterpriseGasAnnualStatistics> queryWrapper = new LambdaQueryWrapper();
+        queryWrapper.like(enterpriseName != null,EEnterpriseGasAnnualStatistics::getEnterpriseName,enterpriseName);
+        queryWrapper.like(unifiedSocialCreditCode != null,EEnterpriseGasAnnualStatistics::getUnifiedSocialCreditCode,unifiedSocialCreditCode);
+        queryWrapper.like(accountNumber != null,EEnterpriseGasAnnualStatistics::getAccountNumber,accountNumber);
+        queryWrapper.like(year != null,EEnterpriseGasAnnualStatistics::getYear,year);
+        queryWrapper.orderByDesc(EEnterpriseGasAnnualStatistics::getUpdateTime);
+        List<EEnterpriseGasAnnualStatistics> list = this.list(queryWrapper);
+        return list;
+    }
 }
 }
 
 
 
 

+ 2 - 1
src/main/java/com/zksy/property/domain/ASimplifiedHouseInfo.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.io.Serializable;
 import java.io.Serializable;
+import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
 import java.util.Date;
 import java.util.Date;
@@ -66,7 +67,7 @@ public class ASimplifiedHouseInfo implements Serializable {
      * 租金范围
      * 租金范围
      */
      */
     @ApiModelProperty("租金范围")
     @ApiModelProperty("租金范围")
-    private String rentRange;
+    private BigDecimal rentRange;
 
 
     /**
     /**
      * 创建时间
      * 创建时间

+ 0 - 12
src/main/java/com/zksy/property/domain/bo/ContractB.java

@@ -20,9 +20,6 @@ public class ContractB extends Contract {
     private String who;//谁
     private String who;//谁
     private String whatTime;//何时
     private String whatTime;//何时
     private String title;//标题
     private String title;//标题
-//    private String factoryBuildingNo;//标准化厂房编号
-//    private String factoryBuildingFloor;//厂房楼层
-//    private String factoryBuildingArea;//厂房面积(㎡)
     private String supportingRoomArea;//配套用房面积(㎡)
     private String supportingRoomArea;//配套用房面积(㎡)
     private String officeArea;//办公室面积(㎡)
     private String officeArea;//办公室面积(㎡)
     private String canteenArea;//食堂面积(㎡)
     private String canteenArea;//食堂面积(㎡)
@@ -41,27 +38,18 @@ public class ContractB extends Contract {
     private String factorySpecificFloor2;//标准化厂房另一楼层
     private String factorySpecificFloor2;//标准化厂房另一楼层
     private String rentPerSqmFloor2;//该楼层租金(元/㎡/月)
     private String rentPerSqmFloor2;//该楼层租金(元/㎡/月)
     private String factoryAnnualRent;//厂房年租金(元)
     private String factoryAnnualRent;//厂房年租金(元)
-    private String factoryAnnualRentUpper;//厂房年租金(大写)
     private String supportingRoomRentPerSqm;//配套用房租金(元/㎡/月)
     private String supportingRoomRentPerSqm;//配套用房租金(元/㎡/月)
     private String supportingRoomAnnualRent;//配套用房年租金(元)
     private String supportingRoomAnnualRent;//配套用房年租金(元)
-    private String supportingRoomAnnualRentUpper;//配套用房年租金(大写)
     private String dormSmallRoomRent;//宿舍楼普通单间月租金(元)
     private String dormSmallRoomRent;//宿舍楼普通单间月租金(元)
     private String dormLargeRoomRent;//宿舍楼大单间月租金(元)
     private String dormLargeRoomRent;//宿舍楼大单间月租金(元)
     private String dormAnnualRent;//宿舍楼年租金(元)
     private String dormAnnualRent;//宿舍楼年租金(元)
-    private String dormAnnualRentUpper;//宿舍楼年租金(大写)
     private String totalAnnualRent;//总租金(元)
     private String totalAnnualRent;//总租金(元)
-    private String totalAnnualRentUpper;//总租金(大写)
     private String propertyFeePerSqm;//标准化厂房和配套用房物业费(元/㎡/月)
     private String propertyFeePerSqm;//标准化厂房和配套用房物业费(元/㎡/月)
     private String factorySupportingPropertyFee;//标准化厂房和配套用房年物业费(元)
     private String factorySupportingPropertyFee;//标准化厂房和配套用房年物业费(元)
-    private String factorySupportingPropertyFeeUpper;//标准化厂房和配套用房年物业费(大写)
     private String dormSmallRoomPropertyFee;//宿舍楼普通单间月物业费(元)
     private String dormSmallRoomPropertyFee;//宿舍楼普通单间月物业费(元)
     private String dormLargeRoomPropertyFee;//宿舍楼大单间月物业费(元)
     private String dormLargeRoomPropertyFee;//宿舍楼大单间月物业费(元)
     private String dormAnnualPropertyFee;//宿舍楼年物业费(元)
     private String dormAnnualPropertyFee;//宿舍楼年物业费(元)
-    private String dormAnnualPropertyFeeUpper;//宿舍楼年物业费(大写)
     private String totalAnnualPropertyFee;//年物业管理费(元)
     private String totalAnnualPropertyFee;//年物业管理费(元)
-    private String totalAnnualPropertyFeeUpper;//年物业管理费(大写)
     private String annualTotalRentAndPropertyFee;//年租金和物业费用总计(元)
     private String annualTotalRentAndPropertyFee;//年租金和物业费用总计(元)
-    private String annualTotalRentAndPropertyFeeUpper;//年租金和物业费用总计(大写)
     private String depositAmount;//租赁押金金额(元)
     private String depositAmount;//租赁押金金额(元)
-    private String depositAmountUpper;//租赁押金(大写)
 }
 }

+ 0 - 4
src/main/java/com/zksy/property/domain/bo/ContractC.java

@@ -8,7 +8,6 @@ import lombok.NoArgsConstructor;
 @AllArgsConstructor
 @AllArgsConstructor
 @NoArgsConstructor
 @NoArgsConstructor
 public class ContractC extends Contract {
 public class ContractC extends Contract {
-    private String contractNumber;//合同编号
     private String lessorName;//出租方(甲方)名称
     private String lessorName;//出租方(甲方)名称
     private String lessorLegalRep;//出租方法定代表人
     private String lessorLegalRep;//出租方法定代表人
     private String lessorUniCode;//出租方统一社会信用代码
     private String lessorUniCode;//出租方统一社会信用代码
@@ -29,10 +28,7 @@ public class ContractC extends Contract {
     private String renovationStartDate;//装修期起始日
     private String renovationStartDate;//装修期起始日
     private String renovationEndDate;//装修期终止日
     private String renovationEndDate;//装修期终止日
     private String officialLeaseStartDate;//正式起租时间
     private String officialLeaseStartDate;//正式起租时间
-    private String annualRentUpper;//年租金(大写)
     private String annualRentLower;//年租金(小写)
     private String annualRentLower;//年租金(小写)
-    private String annualPropertyFeeUpper;//年物业服务费(大写)
     private String annualPropertyFeeLower;//年物业服务费(小写)
     private String annualPropertyFeeLower;//年物业服务费(小写)
     private String depositAmount;//租赁保证金金额
     private String depositAmount;//租赁保证金金额
-    private String depositAmountUpper;//租赁保证金(大写)
 }
 }

+ 2 - 1
src/main/java/com/zksy/property/domain/vo/HouseInfoVo.java

@@ -4,6 +4,7 @@ import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.NoArgsConstructor;
 
 
+import java.math.BigDecimal;
 import java.util.List;
 import java.util.List;
 
 
 @Data
 @Data
@@ -13,7 +14,7 @@ public class HouseInfoVo {
     private String houseName;//房间名称 (A栋101)
     private String houseName;//房间名称 (A栋101)
     private String address;//地址
     private String address;//地址
     private String status ;//状态 (未租/已租)
     private String status ;//状态 (未租/已租)
-    private String rentRange ;//租金范围
+    private BigDecimal rentRange ;//租金范围
     private TenantInfo tenantInfo;//租户信息
     private TenantInfo tenantInfo;//租户信息
     private HouseInfo houseInfo;//房间详细信息
     private HouseInfo houseInfo;//房间详细信息
     private List<DeviceInfo> deviceInfo;//设备信息
     private List<DeviceInfo> deviceInfo;//设备信息

+ 5 - 1
src/main/java/com/zksy/property/mapper/ASimplifiedHouseInfoMapper.java

@@ -1,8 +1,12 @@
 package com.zksy.property.mapper;
 package com.zksy.property.mapper;
 
 
+import com.zksy.controller.property.dto.ASimplifiedHouseInfoDto;
+import com.zksy.controller.property.vo.ASimplifiedHouseInfoVo;
 import com.zksy.property.domain.ASimplifiedHouseInfo;
 import com.zksy.property.domain.ASimplifiedHouseInfo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 
+import java.util.List;
+
 /**
 /**
 * @author Administrator
 * @author Administrator
 * @description 针对表【a_simplified_house_info(房屋信息表)】的数据库操作Mapper
 * @description 针对表【a_simplified_house_info(房屋信息表)】的数据库操作Mapper
@@ -10,7 +14,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 * @Entity com.zksy.property.domain.ASimplifiedHouseInfo
 * @Entity com.zksy.property.domain.ASimplifiedHouseInfo
 */
 */
 public interface ASimplifiedHouseInfoMapper extends BaseMapper<ASimplifiedHouseInfo> {
 public interface ASimplifiedHouseInfoMapper extends BaseMapper<ASimplifiedHouseInfo> {
-
+    public List<ASimplifiedHouseInfoVo> getList(ASimplifiedHouseInfoDto entity);
 }
 }
 
 
 
 

+ 4 - 0
src/main/java/com/zksy/property/service/ASimplifiedHouseInfoService.java

@@ -1,6 +1,9 @@
 package com.zksy.property.service;
 package com.zksy.property.service;
 
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.controller.property.dto.ASimplifiedHouseInfoDto;
+import com.zksy.controller.property.vo.ASimplifiedHouseInfoVo;
+import com.zksy.property.domain.ASimplifiedHouseInfo;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.zksy.property.domain.ASimplifiedHouseInfo;
 import com.zksy.property.domain.ASimplifiedHouseInfo;
 import com.zksy.property.domain.vo.HouseInfoVo;
 import com.zksy.property.domain.vo.HouseInfoVo;
@@ -15,6 +18,7 @@ import java.util.List;
 public interface ASimplifiedHouseInfoService extends IService<ASimplifiedHouseInfo> {
 public interface ASimplifiedHouseInfoService extends IService<ASimplifiedHouseInfo> {
     Page<ASimplifiedHouseInfo> findByPage(long pageNum, long pageSize, String assetType,String building,String houseName,String status);
     Page<ASimplifiedHouseInfo> findByPage(long pageNum, long pageSize, String assetType,String building,String houseName,String status);
     List<ASimplifiedHouseInfo> getASimplifiedHouseInfoList(String assetType,String building,String houseName,String status);
     List<ASimplifiedHouseInfo> getASimplifiedHouseInfoList(String assetType,String building,String houseName,String status);
+    List<ASimplifiedHouseInfoVo> getList(ASimplifiedHouseInfoDto entity);
 
 
     HouseInfoVo getHouseDetailInfo(String simplifiedHouseId);
     HouseInfoVo getHouseDetailInfo(String simplifiedHouseId);
 }
 }

+ 144 - 60
src/main/java/com/zksy/property/service/impl/AContractInfoServiceImpl.java

@@ -88,7 +88,7 @@ public class AContractInfoServiceImpl extends ServiceImpl<AContractInfoMapper, A
         var resPath = "";
         var resPath = "";
 
 
 
 
-        var contractnumber = generateAssetNumber();
+        var contractNumber = generateAssetNumber();
         if (baseContract instanceof ContractA) {
         if (baseContract instanceof ContractA) {
             processContractA((ContractA) baseContract, aSimplifiedHouseInfo, houseInfoDetail, bo);
             processContractA((ContractA) baseContract, aSimplifiedHouseInfo, houseInfoDetail, bo);
             resPath = fillContractData(bo, aSimplifiedHouseInfo.getAssetType());
             resPath = fillContractData(bo, aSimplifiedHouseInfo.getAssetType());
@@ -96,11 +96,11 @@ public class AContractInfoServiceImpl extends ServiceImpl<AContractInfoMapper, A
             processContractB((ContractB) baseContract, aSimplifiedHouseInfo, houseInfoDetail, bo);
             processContractB((ContractB) baseContract, aSimplifiedHouseInfo, houseInfoDetail, bo);
             resPath = fillContractData(bo, aSimplifiedHouseInfo.getAssetType());
             resPath = fillContractData(bo, aSimplifiedHouseInfo.getAssetType());
         } else if (baseContract instanceof ContractC) {
         } else if (baseContract instanceof ContractC) {
-            processContractC((ContractC) baseContract, bo);
+            processContractC((ContractC) baseContract, bo,contractNumber);
             resPath = fillContractData(bo, aSimplifiedHouseInfo.getAssetType());
             resPath = fillContractData(bo, aSimplifiedHouseInfo.getAssetType());
         }
         }
 
 
-        aSimplifiedHouseInfo.setStatus("已租");
+        /*aSimplifiedHouseInfo.setStatus("已租");
         aSimplifiedHouseInfoService.updateById(aSimplifiedHouseInfo);
         aSimplifiedHouseInfoService.updateById(aSimplifiedHouseInfo);
 
 
         ATenantInfo aTenantInfo = new ATenantInfo();
         ATenantInfo aTenantInfo = new ATenantInfo();
@@ -113,41 +113,41 @@ public class AContractInfoServiceImpl extends ServiceImpl<AContractInfoMapper, A
         aTenantInfo.setSimplifiedHouseId(dto.getHouseId());
         aTenantInfo.setSimplifiedHouseId(dto.getHouseId());
         aTenantInfo.setCreateTime(LocalDateTime.now());
         aTenantInfo.setCreateTime(LocalDateTime.now());
         aTenantInfo.setUpdateTime(LocalDateTime.now());
         aTenantInfo.setUpdateTime(LocalDateTime.now());
-        aTenantInfoService.save(aTenantInfo);
+        aTenantInfoService.save(aTenantInfo);*/
 
 
         return resPath;
         return resPath;
     }
     }
 
 
-    private static void processContractC(ContractC baseContract, RentalTempBo bo) {
+    private static void processContractC(ContractC baseContract, RentalTempBo bo,String contractNumber) {
         ContractC contractC = baseContract;
         ContractC contractC = baseContract;
         //todo 处理bo
         //todo 处理bo
-        bo.setC1("");
-        bo.setC2("");
-        bo.setC3("");
-        bo.setC4("");
-        bo.setC5("");
-        bo.setC6("");
-        bo.setC7("");
-        bo.setC8("");
-        bo.setC9("");
-        bo.setC10("");
-        bo.setC11("");
-        bo.setC12("");
-        bo.setC13("");
-        bo.setC14("");
-        bo.setC15("");
-        bo.setC16("");
-        bo.setC17("");
-        bo.setC18("");
-        bo.setC19("");
-        bo.setC20("");
-        bo.setC21("");
-        bo.setC22("");
-        bo.setC23("");
-        bo.setC24("");
-        bo.setC25("");
-        bo.setC26("");
-        bo.setC27("");
+        bo.setC1(contractNumber);
+        bo.setC2(contractC.getLessorName());
+        bo.setC3(contractC.getLessorLegalRep());
+        bo.setC4(contractC.getLessorUniCode());
+        bo.setC5(contractC.getLesseeName());
+        bo.setC6(contractC.getLesseeLegalRep());
+        bo.setC7(contractC.getLesseeIdCode());
+        bo.setC8(contractC.getPropertyLocation());
+        bo.setC9(contractC.getRentableArea());
+        bo.setC10(contractC.getUsableArea());
+        bo.setC11(contractC.getSharedArea());
+        bo.setC12(contractC.getPropertyUseNature());
+        bo.setC13(contractC.getStoreName());
+        bo.setC14(contractC.getBrand());
+        bo.setC15(contractC.getBusinessScope());
+        bo.setC16(contractC.getLeaseTermMonths());
+        bo.setC17(contractC.getLeaseStartDate());
+        bo.setC18(contractC.getLeaseEndDate());
+        bo.setC19(contractC.getRenovationStartDate());
+        bo.setC20(contractC.getRenovationEndDate());
+        bo.setC21(contractC.getOfficialLeaseStartDate());
+        bo.setC22(convertToUppercase(contractC.getAnnualRentLower()));
+        bo.setC23(contractC.getAnnualRentLower());
+        bo.setC24(convertToUppercase(contractC.getAnnualPropertyFeeLower()));
+        bo.setC25(contractC.getAnnualPropertyFeeLower());
+        bo.setC26(contractC.getDepositAmount());
+        bo.setC27(convertToUppercase(contractC.getDepositAmount()));
     }
     }
 
 
     private static void processContractB(ContractB baseContract, ASimplifiedHouseInfo aSimplifiedHouseInfo, AHouseInfoDetail houseDetailInfo, RentalTempBo bo) {
     private static void processContractB(ContractB baseContract, ASimplifiedHouseInfo aSimplifiedHouseInfo, AHouseInfoDetail houseDetailInfo, RentalTempBo bo) {
@@ -181,34 +181,34 @@ public class AContractInfoServiceImpl extends ServiceImpl<AContractInfoMapper, A
         bo.setB26(contractB.getLeaseStartDate());
         bo.setB26(contractB.getLeaseStartDate());
         bo.setB27(contractB.getLeaseEndDate());
         bo.setB27(contractB.getLeaseEndDate());
         bo.setB28(contractB.getRenewNoticeMonths());
         bo.setB28(contractB.getRenewNoticeMonths());
-        bo.setB29("");
-        bo.setB30("");
-        bo.setB31("");
-        bo.setB32("");
-        bo.setB33("");
-        bo.setB34("");
-        bo.setB35("");
-        bo.setB36("");
-        bo.setB37("");
-        bo.setB38("");
-        bo.setB39("");
-        bo.setB40("");
-        bo.setB41("");
-        bo.setB42("");
-        bo.setB43("");
-        bo.setB44("");
-        bo.setB45("");
-        bo.setB46("");
-        bo.setB47("");
-        bo.setB48("");
-        bo.setB49("");
-        bo.setB50("");
-        bo.setB51("");
-        bo.setB52("");
-        bo.setB53("");
-        bo.setB54("");
-        bo.setB55("");
-        bo.setB56("");
+        bo.setB29(contractB.getFactorySpecificFloor1());
+        bo.setB30(contractB.getRentPerSqmFloor1());
+        bo.setB31(contractB.getFactorySpecificFloor2());
+        bo.setB32(contractB.getRentPerSqmFloor2());
+        bo.setB33(contractB.getFactoryAnnualRent());
+        bo.setB34(convertToUppercase(contractB.getFactoryAnnualRent()));
+        bo.setB35(contractB.getSupportingRoomRentPerSqm());
+        bo.setB36(contractB.getSupportingRoomAnnualRent());
+        bo.setB37(convertToUppercase(contractB.getSupportingRoomAnnualRent()));
+        bo.setB38(contractB.getDormSmallRoomRent());
+        bo.setB39(contractB.getDormLargeRoomRent());
+        bo.setB40(contractB.getDormAnnualRent());
+        bo.setB41(convertToUppercase(contractB.getDormAnnualRent()));
+        bo.setB42(contractB.getTotalAnnualRent());
+        bo.setB43(convertToUppercase(contractB.getTotalAnnualRent()));
+        bo.setB44(contractB.getPropertyFeePerSqm());
+        bo.setB45(contractB.getFactorySupportingPropertyFee());
+        bo.setB46(convertToUppercase(contractB.getFactorySupportingPropertyFee()));
+        bo.setB47(contractB.getDormSmallRoomPropertyFee());
+        bo.setB48(contractB.getDormLargeRoomPropertyFee());
+        bo.setB49(contractB.getDormAnnualPropertyFee());
+        bo.setB50(convertToUppercase(contractB.getDormAnnualPropertyFee()));
+        bo.setB51(contractB.getTotalAnnualPropertyFee());
+        bo.setB52(convertToUppercase(contractB.getTotalAnnualPropertyFee()));
+        bo.setB53(contractB.getAnnualTotalRentAndPropertyFee());
+        bo.setB54(convertToUppercase(contractB.getAnnualTotalRentAndPropertyFee()));
+        bo.setB55(contractB.getDepositAmount());
+        bo.setB56(convertToUppercase(contractB.getDepositAmount()));
     }
     }
 
 
     private static void processContractA(ContractA baseContract, ASimplifiedHouseInfo aSimplifiedHouseInfo, AHouseInfoDetail houseDetailInfo, RentalTempBo bo) {
     private static void processContractA(ContractA baseContract, ASimplifiedHouseInfo aSimplifiedHouseInfo, AHouseInfoDetail houseDetailInfo, RentalTempBo bo) {
@@ -245,6 +245,90 @@ public class AContractInfoServiceImpl extends ServiceImpl<AContractInfoMapper, A
         }
         }
         return aRentalContractService.generatorRental(String.valueOf(f), bo);
         return aRentalContractService.generatorRental(String.valueOf(f), bo);
     }
     }
+    public static String convertToUppercase(String numberStr) {
+        // 输入验证
+        if (numberStr == null || numberStr.trim().isEmpty()) {
+            throw new IllegalArgumentException("输入不能为空");
+        }
+        numberStr = numberStr.trim();
+        // 处理负号
+        boolean isNegative = false;
+        if (numberStr.startsWith("-")) {
+            isNegative = true;
+            numberStr = numberStr.substring(1);
+        }
+        // 验证数字格式
+        if (!numberStr.matches("\\d+(\\.\\d{1,2})?")) {
+            throw new IllegalArgumentException("输入格式错误,需为合法数字");
+        }
+        // 转换为double类型(注意:使用BigDecimal可避免精度问题,但此处保持与原方法一致)
+        double number = Double.parseDouble(numberStr);
+        // 调用原有的转换方法
+        String result = convertToUppercase(number);
+
+        // 添加负号前缀
+        return isNegative ? "负" + result : result;
+    }
+
+    // 数字转中文大写的主方法
+    public static String convertToUppercase(double number) {
+        if (number < 0) {
+            return "负" + convertToUppercase(-number);
+        }
+
+        String[] units = {"", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾", "佰", "仟", "兆"};
+        String[] digits = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};
+
+        long integerPart = (long) number;
+        long decimalPart = Math.round((number - integerPart) * 100);
+
+        StringBuilder result = new StringBuilder();
+        String integerStr = String.valueOf(integerPart);
+
+        // 处理整数部分
+        boolean zeroFlag = false;
+        for (int i = 0; i < integerStr.length(); i++) {
+            int digit = integerStr.charAt(i) - '0';
+            int unitIndex = integerStr.length() - i - 1;
+
+            if (digit == 0) {
+                zeroFlag = true;
+                // 处理单位:万、亿、兆
+                if (unitIndex % 4 == 0) {
+                    result.append(units[unitIndex]);
+                }
+            } else {
+                if (zeroFlag) {
+                    result.append("零");
+                    zeroFlag = false;
+                }
+                result.append(digits[digit]).append(units[unitIndex]);
+            }
+        }
+
+        if (result.length() == 0) {
+            result.append("零");
+        }
+
+        result.append("元");
+
+        // 处理小数部分
+        long jiao = decimalPart / 10;
+        long fen = decimalPart % 10;
+
+        if (jiao == 0 && fen == 0) {
+            result.append("整");
+        } else {
+            if (jiao != 0) {
+                result.append(digits[(int) jiao]).append("角");
+            }
+            if (fen != 0) {
+                result.append(digits[(int) fen]).append("分");
+            }
+        }
+
+        return result.toString();
+    }
 }
 }
 
 
 
 

+ 10 - 0
src/main/java/com/zksy/property/service/impl/ASimplifiedHouseInfoServiceImpl.java

@@ -5,6 +5,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zksy.property.domain.*;
 import com.zksy.property.domain.*;
 import com.zksy.property.domain.vo.HouseInfoVo;
 import com.zksy.property.domain.vo.HouseInfoVo;
+import com.zksy.controller.property.dto.ASimplifiedHouseInfoDto;
+import com.zksy.controller.property.vo.ASimplifiedHouseInfoVo;
+import com.zksy.property.domain.ASimplifiedHouseInfo;
+import com.zksy.property.service.ASimplifiedHouseInfoService;
 import com.zksy.property.mapper.ASimplifiedHouseInfoMapper;
 import com.zksy.property.mapper.ASimplifiedHouseInfoMapper;
 import com.zksy.property.service.*;
 import com.zksy.property.service.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -46,6 +50,12 @@ public class ASimplifiedHouseInfoServiceImpl extends ServiceImpl<ASimplifiedHous
         return list;
         return list;
     }
     }
 
 
+    @Override
+    public List<ASimplifiedHouseInfoVo> getList(ASimplifiedHouseInfoDto entity) {
+        List<ASimplifiedHouseInfoVo> list = this.baseMapper.getList(entity);
+        return list;
+    }
+
     @Autowired
     @Autowired
     private AHouseInfoDetailService aHouseInfoDetailService;
     private AHouseInfoDetailService aHouseInfoDetailService;
     @Autowired
     @Autowired

+ 12 - 1
src/main/java/com/zksy/utils/ExcelImportUtil.java

@@ -3,6 +3,8 @@ package com.zksy.utils;
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.context.AnalysisContext;
 import com.alibaba.excel.context.AnalysisContext;
 import com.alibaba.excel.read.listener.ReadListener;
 import com.alibaba.excel.read.listener.ReadListener;
+import lombok.extern.slf4j.Slf4j;
+import org.slf4j.Logger;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartFile;
 
 
 import java.io.IOException;
 import java.io.IOException;
@@ -10,6 +12,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
 import java.util.function.Consumer;
 import java.util.function.Consumer;
 
 
+@Slf4j
 public class ExcelImportUtil {
 public class ExcelImportUtil {
 
 
     /**
     /**
@@ -31,7 +34,15 @@ public class ExcelImportUtil {
 
 
                 @Override
                 @Override
                 public void doAfterAllAnalysed(AnalysisContext context) {
                 public void doAfterAllAnalysed(AnalysisContext context) {
-                    // 所有数据解析完成后的操作
+                    log.info("Excel数据解析完成,共解析 {} 条记录", dataList.size());
+                }
+
+                @Override
+                public void onException(Exception exception, AnalysisContext context) {
+                    log.error("解析Excel行 {} 时发生异常: {}",
+                            context.readRowHolder().getRowIndex(), exception.getMessage());
+                    // 可以选择跳过当前行继续解析
+                    throw new RuntimeException("Excel解析异常", exception);
                 }
                 }
             }).sheet().doRead();
             }).sheet().doRead();
         } catch (IOException e) {
         } catch (IOException e) {

+ 37 - 1
src/main/resources/mapper/property/ASimplifiedHouseInfoMapper.xml

@@ -12,7 +12,7 @@
             <result property="houseName" column="house_name" jdbcType="VARCHAR"/>
             <result property="houseName" column="house_name" jdbcType="VARCHAR"/>
             <result property="address" column="address" jdbcType="VARCHAR"/>
             <result property="address" column="address" jdbcType="VARCHAR"/>
             <result property="status" column="status" jdbcType="VARCHAR"/>
             <result property="status" column="status" jdbcType="VARCHAR"/>
-            <result property="rentRange" column="rent_range" jdbcType="VARCHAR"/>
+            <result property="rentRange" column="rent_range" jdbcType="DECIMAL"/>
             <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
             <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
             <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
             <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
     </resultMap>
     </resultMap>
@@ -23,4 +23,40 @@
         status,rent_range,create_time,
         status,rent_range,create_time,
         update_time
         update_time
     </sql>
     </sql>
+    <select id="getList" resultType="com.zksy.controller.property.vo.ASimplifiedHouseInfoVo">
+        select a.*,b.area from a_simplified_house_info a LEFT JOIN a_house_info_detail b ON a.id = b.simplified_house_id
+        <where>
+            <if test="entity.building != null and entity.building != ''">
+                and a.building = #{entity.building}
+            </if>
+            <if test="entity.houseName != null and entity.houseName != ''">
+                and a.floor like concat('%',#{entity.floor},'%')
+            </if>
+            <if test="entity.rentRangeMin != null and entity.rentRangeMin != ''" >
+               and a.rent_range >= #{entity.rentRangeMin}
+            </if>
+            <if test="entity.rentRangeMax != null and entity.rentRangeMax != ''">
+                and a.rent_range &lt;= #{entity.rentRangeMax}
+            </if>
+            <if test="entity.areaMin != null and entity.areaMin != ''">
+                and b.area >= #{entity.areaMin}
+            </if>
+            <if test="entity.areaMax != null and entity.areaMax != ''">
+                and b.area &lt;= #{entity.areaMax}
+            </if>
+        </where>
+        <if test="entity.sortSearch != null and entity.sortSearch != '' and entity.sortSearch = '1'">
+            order by a.rent_range  desc
+        </if>
+        <if test="entity.sortSearch != null and entity.sortSearch != '' and entity.sortSearch = '2'">
+            order by a.rent_range  asc
+        </if>
+        <if test="entity.sortSearch != null and entity.sortSearch != '' and entity.sortSearch = '3'">
+            order by b.area  desc
+        </if>
+        <if test="entity.sortSearch != null and entity.sortSearch != '' and entity.sortSearch = '4'">
+            order by b.area  asc
+        </if>
+
+    </select>
 </mapper>
 </mapper>

+ 97 - 9
src/test/java/com/zksy/property/service/impl/AContractInfoServiceImplTest.java

@@ -7,6 +7,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.boot.test.context.SpringBootTest;
 
 
 import java.util.HashMap;
 import java.util.HashMap;
+import java.util.Map;
 
 
 @SpringBootTest
 @SpringBootTest
 class AContractInfoServiceImplTest {
 class AContractInfoServiceImplTest {
@@ -14,21 +15,108 @@ class AContractInfoServiceImplTest {
 
 
     @Autowired
     @Autowired
     private AContractInfoService aContractInfoService;
     private AContractInfoService aContractInfoService;
+
     @Test
     @Test
     void signContract() {
     void signContract() {
         ContractFormDTO dto = new ContractFormDTO();
         ContractFormDTO dto = new ContractFormDTO();
         dto.setHouseId("637a5298e3a076ab80fd695f5435a3a9");
         dto.setHouseId("637a5298e3a076ab80fd695f5435a3a9");
-        var map = new HashMap<String,Object>();
-        map.put("tenantName","123");
-        map.put("landlordName","123");
-        map.put("tenantTimeStart","123");
-        map.put("tenantTime","123");
-        map.put("tenantTimeEnd","123");
-        map.put("tenantRent","123");
-        map.put("tenantDeposit","123");
-        map.put("tenantDepositAmount","123");
+        var map = new HashMap<String, Object>();
+        map.put("tenantName", "123");
+        map.put("landlordName", "123");
+        map.put("tenantTimeStart", "123");
+        map.put("tenantTime", "123");
+        map.put("tenantTimeEnd", "123");
+        map.put("tenantRent", "123");
+        map.put("tenantDeposit", "123");
+        map.put("tenantDepositAmount", "123");
         dto.setContractData(map);
         dto.setContractData(map);
 
 
         aContractInfoService.signContract(dto);
         aContractInfoService.signContract(dto);
     }
     }
+
+    @Test
+    void LeaseAgreement() {
+        ContractFormDTO dto = new ContractFormDTO();
+        dto.setHouseId("e23a5d808fd71d2ec5b0b5867b379bc9");
+            Map<String, Object> leaseMap = new HashMap<>();
+            leaseMap.put("purpose", "123");
+            leaseMap.put("landlordName", "123");
+            leaseMap.put("landlordUniCode", "123");
+            leaseMap.put("landlordLegalRepresentative", "123");
+            leaseMap.put("landlordDuty", "123");
+            leaseMap.put("tenantName", "123");
+            leaseMap.put("tenantUniCode", "123");
+            leaseMap.put("tenantLegalRepresentative", "123");
+            leaseMap.put("tenantDuty", "123");
+            leaseMap.put("who", "123");
+            leaseMap.put("whatTime", "123");
+            leaseMap.put("title", "123");
+            leaseMap.put("supportingRoomArea", "123");
+            leaseMap.put("officeArea", "123");
+            leaseMap.put("canteenArea", "123");
+            leaseMap.put("totalLeasedArea", "123");
+            leaseMap.put("dormTotalRooms", "123");
+            leaseMap.put("dormSmallRooms", "123");
+            leaseMap.put("dormLargeRooms", "123");
+            leaseMap.put("deliveryDate", "123");
+            leaseMap.put("productionProject", "123");
+            leaseMap.put("leaseTermYears", "123");
+            leaseMap.put("leaseStartDate", "123");
+            leaseMap.put("leaseEndDate", "123");
+            leaseMap.put("renewNoticeMonths", "123");
+            leaseMap.put("factorySpecificFloor1", "123");
+            leaseMap.put("rentPerSqmFloor1", "123");
+            leaseMap.put("factorySpecificFloor2", "123");
+            leaseMap.put("rentPerSqmFloor2", "123");
+            leaseMap.put("factoryAnnualRent", "123");
+            leaseMap.put("supportingRoomRentPerSqm", "123");
+            leaseMap.put("supportingRoomAnnualRent", "123");
+            leaseMap.put("dormSmallRoomRent", "123");
+            leaseMap.put("dormLargeRoomRent", "123");
+            leaseMap.put("dormAnnualRent", "123");
+            leaseMap.put("totalAnnualRent", "123");
+            leaseMap.put("propertyFeePerSqm", "123");
+            leaseMap.put("factorySupportingPropertyFee", "123");
+            leaseMap.put("dormSmallRoomPropertyFee", "123");
+            leaseMap.put("dormLargeRoomPropertyFee", "123");
+            leaseMap.put("dormAnnualPropertyFee", "123");
+            leaseMap.put("totalAnnualPropertyFee", "123");
+            leaseMap.put("annualTotalRentAndPropertyFee", "123");
+            leaseMap.put("depositAmount", "123");
+            dto.setContractData(leaseMap);
+
+        aContractInfoService.signContract(dto);
+    }
+    @Test
+    void LeaseAgreementC() {
+        ContractFormDTO dto = new ContractFormDTO();
+        dto.setHouseId("36dfa5c6672273740f0ce88e1c966af0");
+            Map<String, Object> leaseMap = new HashMap<>();
+            leaseMap.put("contractNumber", "123");
+            leaseMap.put("lessorName", "123");
+            leaseMap.put("lessorLegalRep", "123");
+            leaseMap.put("lessorUniCode", "123");
+            leaseMap.put("lesseeName", "123");
+            leaseMap.put("lesseeLegalRep", "123");
+            leaseMap.put("lesseeIdCode", "123");
+            leaseMap.put("propertyLocation", "123");
+            leaseMap.put("rentableArea", "123");
+            leaseMap.put("usableArea", "123");
+            leaseMap.put("sharedArea", "123");
+            leaseMap.put("propertyUseNature", "123");
+            leaseMap.put("storeName", "123");
+            leaseMap.put("brand", "123");
+            leaseMap.put("businessScope", "123");
+            leaseMap.put("leaseTermMonths", "123");
+            leaseMap.put("leaseStartDate", "123");
+            leaseMap.put("leaseEndDate", "123");
+            leaseMap.put("renovationStartDate", "123");
+            leaseMap.put("renovationEndDate", "123");
+            leaseMap.put("officialLeaseStartDate", "123");
+            leaseMap.put("annualRentLower", "123");
+            leaseMap.put("annualPropertyFeeLower", "123");
+            leaseMap.put("depositAmount", "123");
+            dto.setContractData(leaseMap);
+        aContractInfoService.signContract(dto);
+    }
 }
 }