From 28d40a97ffa0acfda8e3766b0edd08e24c8dd21f Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期五, 04 四月 2025 00:55:09 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCheckAcceptRecordController.java | 152 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 150 insertions(+), 2 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCheckAcceptRecordController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCheckAcceptRecordController.java index 6cdd012..11f61d4 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCheckAcceptRecordController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCheckAcceptRecordController.java @@ -1,9 +1,29 @@ package com.ruoyi.web.controller.api; -import org.springframework.web.bind.annotation.RequestMapping; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.basic.PageInfo; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.system.model.*; +import com.ruoyi.system.query.TCheckAcceptRecordQuery; +import com.ruoyi.system.service.*; +import com.ruoyi.system.vo.TCheckAcceptRecordVO; +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.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; -import org.springframework.web.bind.annotation.RestController; +import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.List; +import java.util.Objects; /** * <p> @@ -13,9 +33,137 @@ * @author xiaochen * @since 2025-01-17 */ +@Api(tags = "验收记录管理") @RestController @RequestMapping("/t-check-accept-record") public class TCheckAcceptRecordController { + private final TCheckAcceptRecordService checkAcceptRecordService; + private final TContractService contractService; + private final THouseService houseService; + @Autowired + private TBillService billService; + @Autowired + private TTenantService tenantService; + @Autowired + public TCheckAcceptRecordController(TCheckAcceptRecordService checkAcceptRecordService, TContractService contractService, THouseService houseService) { + this.checkAcceptRecordService = checkAcceptRecordService; + this.contractService = contractService; + this.houseService = houseService; + } + + /** + * 获取验收记录管理列表 + */ + @PreAuthorize("@ss.hasPermi('houseManage:check')") + @ApiOperation(value = "获取验收记录分页列表") + @PostMapping(value = "/pageList") + public R<PageInfo<TCheckAcceptRecordVO>> pageList(@RequestBody TCheckAcceptRecordQuery query) { + return R.ok(checkAcceptRecordService.pageList(query)); + } + + /** + * 通过合同id查询房屋信息 + */ + @ApiOperation(value = "通过合同id查询房屋信息") + @PostMapping(value = "/getHouseByContractId") + public R<THouse> getHouseByContractId(@RequestParam String contractId) { + TContract contract = contractService.getById(contractId); + THouse house = houseService.getById(contract.getHouseId()); + TTenant tenant = tenantService.getById(contract.getTenantId()); + if(Objects.nonNull(tenant)){ + house.setTenantType(tenant.getTenantType()); + } + return R.ok(house); + } + + /** + * 通过房屋id查询合同信息 + */ + @ApiOperation(value = "通过房屋id查询合同信息") + @PostMapping(value = "/getContractByHouseId") + public R<TContract> getContractByHouseId(@RequestParam String houseId) { + TContract contract = contractService.getOne(Wrappers.lambdaQuery(TContract.class) + .eq(TContract::getHouseId, houseId) + .orderByDesc(TContract::getCreateTime) + .in(TContract::getStatus, 4, 6, 7) + .last("LIMIT 1")); + return R.ok(contract); + } + + /** + * 添加验收记录管理 + */ + @PreAuthorize("@ss.hasPermi('houseManage:check:add')") + @Log(title = "验收记录信息-新增验收记录", businessType = BusinessType.INSERT) + @ApiOperation(value = "添加验收记录") + @PostMapping(value = "/add") + public R<Boolean> add(@Validated @RequestBody TCheckAcceptRecord dto) { + dto.setAcceptanceTime(dto.getCheckTime()); + LocalDate now = LocalDate.now(); + String replace = (now + "").replace("-", ""); + int size = checkAcceptRecordService.list(new LambdaQueryWrapper<TCheckAcceptRecord>() + .likeRight(TCheckAcceptRecord::getAcceptanceTime, LocalDate.now())).size(); + dto.setCode(replace.substring(2)+String.format("%03d", size+1)); + // 添加验收记录 + checkAcceptRecordService.save(dto); + if (dto.getCheckMoney()!=null&&(dto.getCheckMoney().compareTo(new BigDecimal("0"))!=0)){ + TContract contract = contractService.getById(dto.getContractId()); + // TODO 生成结算帐单 + TBill tBill = new TBill(); + tBill.setContractId(dto.getContractId()); + tBill.setContractNumber(contract.getContractNumber()); + tBill.setPayableFeesMoney(dto.getCheckMoney()); + tBill.setOutstandingMoney(dto.getCheckMoney()); + tBill.setPayableFeesTime(LocalDate.now()); + tBill.setPayFeesStatus("1"); + tBill.setBillType("4"); + tBill.setSmsStatus(0); + tBill.setBusinessDeptId(contract.getBusinessDeptId()); + billService.save(tBill); + } + + return R.ok(); + } + + /** + * 查看验收记录详情 + */ + @PreAuthorize("@ss.hasPermi('houseManage:check:detail')") + @ApiOperation(value = "查看验收记录详情") + @GetMapping(value = "/getDetailById") + public R<TCheckAcceptRecordVO> getDetailById(@RequestParam String id) { + TCheckAcceptRecord checkAcceptRecord = checkAcceptRecordService.getById(id); + TCheckAcceptRecordVO checkAcceptRecordVO = new TCheckAcceptRecordVO(); + BeanUtils.copyProperties(checkAcceptRecord, checkAcceptRecordVO); + // 查询合同信息 + checkAcceptRecordVO.setContract(contractService.getById(checkAcceptRecord.getContractId())); + // 查询房屋信息 + checkAcceptRecordVO.setHouse(houseService.getById(checkAcceptRecord.getHouseId())); + return R.ok(checkAcceptRecordVO); + } + + /** + * 删除验收记录 + */ + @PreAuthorize("@ss.hasPermi('houseManage:check:delete')") + @Log(title = "验收记录信息-删除验收记录", businessType = BusinessType.DELETE) + @ApiOperation(value = "删除验收记录") + @DeleteMapping(value = "/deleteById") + public R<Boolean> deleteById(@RequestParam String id) { + return R.ok(checkAcceptRecordService.removeById(id)); + } + + /** + * 批量删除验收记录 + */ + @PreAuthorize("@ss.hasPermi('houseManage:check:delete')") + @Log(title = "验收记录信息-删除验收记录", businessType = BusinessType.DELETE) + @ApiOperation(value = "批量删除验收记录") + @DeleteMapping(value = "/deleteByIds") + public R<Boolean> deleteByIds(@RequestBody List<String> ids) { + return R.ok(checkAcceptRecordService.removeByIds(ids)); + } + } -- Gitblit v1.7.1