ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-system/src/main/java/com/ruoyi/system/dto/TContractDTO.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-system/src/main/java/com/ruoyi/system/model/TContract.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-system/src/main/java/com/ruoyi/system/model/TContractRentType.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-system/src/main/java/com/ruoyi/system/model/THouse.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/THouseServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-system/src/main/java/com/ruoyi/system/vo/TContractVO.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java
@@ -1,22 +1,31 @@ package com.ruoyi.web.controller.api; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.dto.TContractDTO; import com.ruoyi.system.dto.THouseDTO; import com.ruoyi.system.model.TContract; import com.ruoyi.system.model.TContractRentType; import com.ruoyi.system.model.THouse; import com.ruoyi.system.query.THouseQuery; import com.ruoyi.system.query.TUserHistoryQuery; import com.ruoyi.system.service.TContractRentTypeService; import com.ruoyi.system.service.TContractService; import com.ruoyi.system.service.THouseService; import com.ruoyi.system.vo.HouseVO; import com.ruoyi.system.vo.TContractVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.Arrays; /** * <p> @@ -32,39 +41,58 @@ public class TContractController { @Autowired private TContractService contractService; // @Log(title = "房屋基础信息管理-新增房屋", businessType = BusinessType.INSERT) // @ApiOperation(value = "新增房屋") // @PostMapping(value = "/addHouse") // public AjaxResult<Boolean> addHouse(@Validated @RequestBody THouseDTO dto) { // return AjaxResult.success(contractService.save(dto)); // } // @Log(title = "房屋基础信息管理-编辑房屋", businessType = BusinessType.UPDATE) // @ApiOperation(value = "编辑房屋") // @PostMapping(value = "/updateHouse") // public AjaxResult<Boolean> updateHouse(@Validated @RequestBody THouseDTO dto) { // return AjaxResult.success(contractService.updateById(dto)); // } // @Log(title = "房屋基础信息管理-查询房屋信息", businessType = BusinessType.DELETE) // @ApiOperation(value = "查询房屋信息") // @GetMapping(value = "/getHouseById") // public AjaxResult<THouse> getHouseById(@RequestParam Long id) { // return AjaxResult.success(contractService.getById(id)); // } // @Log(title = "房屋基础信息管理-删除房屋", businessType = BusinessType.DELETE) // @ApiOperation(value = "删除房屋") // @DeleteMapping(value = "/deleteHouseById") // public AjaxResult<Boolean> deleteHouseById(@RequestParam Long id) { // return AjaxResult.success(contractService.removeById(id)); // } // @ApiOperation(value = "获取房屋分页列表") // @PostMapping(value = "/houseList") // public AjaxResult<PageInfo<THouse>> houseList(@RequestBody THouseQuery query) { // return AjaxResult.success(contractService.houseList(query)); // } // @ApiOperation(value = "历史租户列表") // @PostMapping(value = "/userHistoryList") // public AjaxResult<PageInfo<HouseVO>> userHistoryList(@RequestBody TUserHistoryQuery query) { // return AjaxResult.success(contractService.userHistoryList(query)); // } @Autowired private TContractRentTypeService contractRentTypeService; @Log(title = "合同管理-新增合同", businessType = BusinessType.INSERT) @ApiOperation(value = "新增合同") @PostMapping(value = "/addContract") public AjaxResult<Boolean> addContract(@Validated @RequestBody TContractDTO dto) { contractService.save(dto); if (dto.getIsIncreasing()==1){ TContractRentType tContractRentType = new TContractRentType(); tContractRentType.setContractId(dto.getId()); tContractRentType.setIncreasingDecreasing(dto.getIncreasingDecreasing()); tContractRentType.setIncreasingDecreasingType(dto.getIncreasingDecreasingType()); tContractRentType.setNumericalValue(dto.getNumericalValue()); tContractRentType.setChangeTime(dto.getChangeTime()); contractRentTypeService.save(tContractRentType); } return AjaxResult.success(); } @Log(title = "合同管理-编辑合同", businessType = BusinessType.UPDATE) @ApiOperation(value = "编辑合同") @PostMapping(value = "/updateContract") public AjaxResult<Boolean> updateContract(@Validated @RequestBody TContractDTO dto) { contractService.updateById(dto); contractRentTypeService.remove(new LambdaQueryWrapper<TContractRentType>() .eq(TContractRentType::getContractId,dto.getId())); if (dto.getIsIncreasing()==1){ TContractRentType tContractRentType = new TContractRentType(); tContractRentType.setContractId(dto.getId()); tContractRentType.setIncreasingDecreasing(dto.getIncreasingDecreasing()); tContractRentType.setIncreasingDecreasingType(dto.getIncreasingDecreasingType()); tContractRentType.setNumericalValue(dto.getNumericalValue()); tContractRentType.setChangeTime(dto.getChangeTime()); contractRentTypeService.save(tContractRentType); } return AjaxResult.success(); } @Log(title = "合同管理-批量删除合同", businessType = BusinessType.DELETE) @ApiOperation(value = "批量删除合同") @DeleteMapping(value = "/deleteContractByIds") public AjaxResult<Boolean> deleteContractByIds3 (@RequestParam String ids) { if (StringUtils.isNotEmpty(ids)){ contractService.removeBatchByIds(Arrays.asList(ids.split(","))); } return AjaxResult.success(); } @ApiOperation(value = "查询合同信息信息") @GetMapping(value = "/getContractById") public AjaxResult<TContractVO> getContractById(@RequestParam Long id) { return AjaxResult.success(contractService.getById(id)); } } ruoyi-system/src/main/java/com/ruoyi/system/dto/TContractDTO.java
New file @@ -0,0 +1,29 @@ package com.ruoyi.system.dto; import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.system.model.TContract; import com.ruoyi.system.model.TTenant; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDateTime; @Data @ApiModel(value = "合同新增编辑DTO") public class TContractDTO extends TContract { @ApiModelProperty(value = "递增递减 1=递增 2=递减") private Integer increasingDecreasing; @ApiModelProperty(value = "递增递减形式 1=百分比 2=金额元") private Integer increasingDecreasingType; @ApiModelProperty(value = "数值") private BigDecimal numericalValue; @ApiModelProperty(value = "递增或递减时点") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime changeTime; } ruoyi-system/src/main/java/com/ruoyi/system/model/TContract.java
@@ -114,7 +114,7 @@ @TableField("party_two_phone") private String partyTwoPhone; @ApiModelProperty(value = "合同附件") @ApiModelProperty(value = "合同附件,多个逗号拼接") @TableField("contract_file") private String contractFile; @@ -122,7 +122,7 @@ @TableField("remark") private String remark; @ApiModelProperty(value = "状态 1=待审批 2=未签订 3=已签订") @ApiModelProperty(value = "状态 1=待提交 2=待审批 3=未签订 4=已签订") @TableField("status") private Integer status; ruoyi-system/src/main/java/com/ruoyi/system/model/TContractRentType.java
@@ -6,7 +6,9 @@ import com.baomidou.mybatisplus.annotation.TableField; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -47,5 +49,10 @@ @TableField("numerical_value") private BigDecimal numericalValue; @ApiModelProperty(value = "递增或递减时点") @TableField("change_time") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime changeTime; } ruoyi-system/src/main/java/com/ruoyi/system/model/THouse.java
@@ -88,4 +88,7 @@ @TableField("room_number") private String roomNumber; @ApiModelProperty(value = "住户类型 1月租 2季租 3年租") @TableField(exist = false) private Integer tenantType; } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/THouseServiceImpl.java
@@ -1,7 +1,10 @@ package com.ruoyi.system.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.mapper.TContractMapper; import com.ruoyi.system.mapper.THouseMapper; import com.ruoyi.system.model.TContract; import com.ruoyi.system.model.THouse; import com.ruoyi.system.query.THouseQuery; import com.ruoyi.system.query.TUserHistoryQuery; @@ -10,6 +13,8 @@ import com.ruoyi.system.vo.HouseVO; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.List; /** @@ -22,11 +27,22 @@ */ @Service public class THouseServiceImpl extends ServiceImpl<THouseMapper, THouse> implements THouseService { @Resource private TContractMapper contractMapper; @Override public PageInfo<THouse> houseList(THouseQuery query) { PageInfo<THouse> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); List<THouse> list = this.baseMapper.houseList(query,pageInfo); List<TContract> tContracts = contractMapper.selectList(new LambdaQueryWrapper<TContract>() .eq(TContract::getStatus, 4) .le(TContract::getStartTime, LocalDateTime.now()) .ge(TContract::getEndTime, LocalDateTime.now())); for (THouse tHouse : list) { TContract tContract = tContracts.stream().filter(e -> e.getHouseId().equals(tHouse.getId())).findFirst().orElse(null); if (tContract!=null){ tHouse.setTenantType(tContract.getPayType()); } } pageInfo.setRecords(list); return pageInfo; } ruoyi-system/src/main/java/com/ruoyi/system/vo/TContractVO.java
New file @@ -0,0 +1,31 @@ package com.ruoyi.system.vo; import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.system.model.TContract; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDateTime; @Data @ApiModel(value = "合同详情页VO") public class TContractVO extends TContract { @ApiModelProperty(value = "递增递减 1=递增 2=递减") private Integer increasingDecreasing; @ApiModelProperty(value = "递增递减形式 1=百分比 2=金额元") private Integer increasingDecreasingType; @ApiModelProperty(value = "数值") private BigDecimal numericalValue; @ApiModelProperty(value = "递增或递减时点") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime changeTime; }