From e6fc35920ded81df2642ad4b79a74ab3092d449f Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 23 一月 2025 11:51:20 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java | 113 +++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 95 insertions(+), 18 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java index 175648d..4476610 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java @@ -1,18 +1,36 @@ package com.ruoyi.web.controller.api; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; +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.core.domain.R; +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.TTenant; -import com.ruoyi.system.query.TTenantQuery; +import com.ruoyi.system.model.TContractRentType; +import com.ruoyi.system.model.THouse; +import com.ruoyi.system.query.TContractQuery; +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 io.swagger.annotations.Api; +import com.ruoyi.system.vo.TContractVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.time.LocalDateTime; +import java.util.Arrays; import java.util.List; /** @@ -27,24 +45,83 @@ @RestController @RequestMapping("/t-contract") public class TContractController { - - private final TContractService contractService; - @Autowired - public TContractController(TContractService contractService) { - this.contractService = contractService; + private TContractService contractService; + @Autowired + private TContractRentTypeService contractRentTypeService; + @Autowired + private THouseService houseService; + @ApiOperation(value = "获取合同分页列表") + @PostMapping(value = "/contractList") + public R<PageInfo<TContract>> contractList(@RequestBody TContractQuery query) { + return R.ok(contractService.contractList(query)); + } + @Log(title = "合同管理-新增合同", businessType = BusinessType.INSERT) + @ApiOperation(value = "新增合同") + @PostMapping(value = "/addContract") + public R<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 R.ok(); + } + @Log(title = "合同管理-编辑合同", businessType = BusinessType.UPDATE) + @ApiOperation(value = "编辑合同") + @PostMapping(value = "/updateContract") + public R<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 R.ok(); + } + @Log(title = "合同管理-批量删除合同", businessType = BusinessType.DELETE) + @ApiOperation(value = "批量删除合同") + @DeleteMapping(value = "/deleteContractByIds") + public R<Boolean> deleteContractByIds3 + (@RequestParam String ids) { + if (StringUtils.isNotEmpty(ids)){ + contractService.removeBatchByIds(Arrays.asList(ids.split(","))); + } + return R.ok(); } - - /** - * 查询用户合同列表 - */ - @ApiOperation(value = "查询用户合同列表") - @GetMapping(value = "/queryListByTenantId") - public AjaxResult<PageInfo<TTenant>> queryListByTenantId(@RequestParam String tenantId) { - List<TContract> list = contractService.list(Wrappers.lambdaQuery(TContract.class) - .eq(TContract::getTenantId, tenantId)); - return AjaxResult.success(list); + @ApiOperation(value = "查询合同信息信息") + @GetMapping(value = "/getContractById") + public R<TContractVO> getContractById(@RequestParam String id) { + TContractVO res = new TContractVO(); + TContract contract = contractService.getById(id); + BeanUtils.copyProperties(contract,res); + TContractRentType contractRentType = contractRentTypeService.lambdaQuery().eq(TContractRentType::getContractId, id).one(); + if (contractRentType!=null){ + BeanUtils.copyProperties(contractRentType,res); + } + TContract oldContract = contractService.getOne(new LambdaQueryWrapper<TContract>() + .eq(TContract::getHouseId,contract.getHouseId()) + .eq(TContract::getStatus, 4) + .le(TContract::getStartTime, LocalDateTime.now()) + .ge(TContract::getEndTime, LocalDateTime.now())); + THouse house = houseService.getById(contract.getHouseId()); + if (oldContract!=null){ + house.setTenantType(oldContract.getPayType()); + } + res.setHouse(house); + return R.ok(res); } } -- Gitblit v1.7.1