ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java
@@ -200,6 +200,7 @@ tContractRentType.setCycleTime(dto.getCycleTime()); contractRentTypeService.save(tContractRentType); if (dto.getStatus().equals("2")){ //发起合同新增审批 ProcessStartBO processStartBO = new ProcessStartBO(); processStartBO.setCategory(ProcessCategoryEnum.CATEGORY1.getValue().toString()); @@ -214,6 +215,7 @@ processStartBO.setVariable(variable); //开启工作流程 stateProcessTemplateService.start(processStartBO); } } return R.ok(); } @@ -252,7 +254,6 @@ @ApiOperation(value = "查询合同信息信息") @GetMapping(value = "/getContractById") @PreAuthorize("@ss.hasPermi('system:contract:detail')") public R<TContractVO> getContractById(@RequestParam String id) { TContractVO res = new TContractVO(); TContract contract = contractService.getById(id); ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/IndexController.java
@@ -7,6 +7,8 @@ import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.constant.DictConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.core.domain.model.LoginUserApplet; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.DateUtils; @@ -28,10 +30,13 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; /** @@ -63,6 +68,10 @@ private TCheckAcceptRecordService checkAcceptRecordService; @Autowired private TTenantService tenantService; @Autowired private ISysUserService sysUserService; @Autowired private TContractRentTypeService contractRentTypeService; /** * 获取轮播图管理列表 */ @@ -337,9 +346,51 @@ } @ApiOperation(value = "管理员-我的审批分页列表") @PostMapping("/listExamine") public R examineList(@RequestBody TExamineAppletQuery dto){ public R<PageInfo<ExamineVO>> examineList(@RequestBody TExamineAppletQuery dto){ LoginUser loginUser = tokenService.getLoginUser(); if (loginUser==null){ return R.fail(401,"登录失效"); } SysUser sysUser = sysUserService.selectUserById(loginUser.getUserId()); dto.setUserName(sysUser.getUserName()); PageInfo<ExamineVO> pageInfo = tenantService.examineList(dto); return R.ok(pageInfo); } @ApiOperation(value = "管理员-审批详情") @GetMapping("/examineDetail") public R<TContractVO> examineDetail(@RequestParam String id){ TContractVO res = new TContractVO(); TContract contract = contractService.getById(id); BeanUtils.copyProperties(contract,res); res.setPayType(DictUtils.getDictLabel(DictConstants.DICT_TYPE_CONTRACT_PAY_TYPE,res.getPayType())); res.setStatus(DictUtils.getDictLabel(DictConstants.DICT_TYPE_CONTRACT_STATUS,res.getStatus())); 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); List<TBill> list = billService.lambdaQuery() .eq(TBill::getContractId, id) .in(TBill::getPayFeesStatus, Arrays.asList("1,4")) .list(); BigDecimal payMoney = new BigDecimal("0"); for (TBill tBill : list) { payMoney = payMoney.add(tBill.getPayFeesMoney()).add(tBill.getPayableFeesPenalty()); } TCheckAcceptRecord tCheckAcceptRecord = checkAcceptRecordService.lambdaQuery().eq(TCheckAcceptRecord::getContractId, id).one(); res.setCheckResult(Objects.nonNull(tCheckAcceptRecord)?tCheckAcceptRecord.getCheckResult():false); res.setPayMoney(payMoney); return R.ok(); return R.ok(res); } @ApiOperation(value = "管理员-我的审批-撤销") @GetMapping("/cancel") ruoyi-system/src/main/java/com/ruoyi/system/mapper/TTenantMapper.java
@@ -4,8 +4,10 @@ import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.model.TTenant; import com.ruoyi.system.query.TBillAppletQuery; import com.ruoyi.system.query.TExamineAppletQuery; import com.ruoyi.system.query.TTenantAppletQuery; import com.ruoyi.system.query.TTenantQuery; import com.ruoyi.system.vo.ExamineVO; import com.ruoyi.system.vo.TBillVO; import com.ruoyi.system.vo.TenantVO; import org.apache.ibatis.annotations.Param; @@ -34,4 +36,6 @@ List<TBillVO> listBill(@Param("query") TBillAppletQuery query,@Param("pageInfo") PageInfo<TBillVO> pageInfo); List<ExamineVO> examineList(@Param("query")TExamineAppletQuery dto, @Param("pageInfo")PageInfo<ExamineVO> pageInfo); } ruoyi-system/src/main/java/com/ruoyi/system/query/TExamineAppletQuery.java
@@ -12,9 +12,9 @@ @ApiModel(value = "我的审批查询query") public class TExamineAppletQuery extends BasePage { /** * 状态全部不传 1待审批 2已审批 3我发起的 * 1待审批 2已审批 3我发起的 */ @ApiModelProperty("状态全部不传 1待审批 2已审批 3我发起的") @ApiModelProperty("1待审批 2已审批 3我发起的") private Integer status; /** * 时间 1最近1天 2最近7天 3最近30天 @@ -24,8 +24,10 @@ /** * 1倒序 2正序 首次默认倒序排 */ @ApiModelProperty("1倒序 2正序 首次默认倒序排") @ApiModelProperty("最新到达1倒序 最早到达2正序 首次默认倒序排") private Integer sort; @ApiModelProperty("登陆人名称 前端忽略") private String userName; ruoyi-system/src/main/java/com/ruoyi/system/service/TTenantService.java
@@ -6,10 +6,12 @@ import com.ruoyi.system.model.TContract; import com.ruoyi.system.model.THouse; import com.ruoyi.system.query.TBillAppletQuery; import com.ruoyi.system.query.TExamineAppletQuery; import com.ruoyi.system.query.TTenantAppletQuery; import com.ruoyi.system.utils.wx.pojo.AppletUserDecodeData; import com.ruoyi.system.model.TTenant; import com.ruoyi.system.query.TTenantQuery; import com.ruoyi.system.vo.ExamineVO; import com.ruoyi.system.vo.TBillVO; import com.ruoyi.system.vo.TenantVO; @@ -40,4 +42,7 @@ List<TContract> listContract(String id); PageInfo<TBillVO> listBill(TBillAppletQuery query); PageInfo<ExamineVO> examineList(TExamineAppletQuery dto); } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTenantServiceImpl.java
@@ -6,6 +6,7 @@ import com.ruoyi.common.constant.DictConstants; import com.ruoyi.common.utils.DictUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.system.mapper.TContractMapper; import com.ruoyi.system.mapper.THouseMapper; import com.ruoyi.system.mapper.TTenantMapper; @@ -13,16 +14,20 @@ import com.ruoyi.system.model.THouse; import com.ruoyi.system.model.TTenant; import com.ruoyi.system.query.TBillAppletQuery; import com.ruoyi.system.query.TExamineAppletQuery; import com.ruoyi.system.query.TTenantAppletQuery; import com.ruoyi.system.query.TTenantQuery; import com.ruoyi.system.service.TTenantService; import com.ruoyi.system.utils.wx.pojo.AppletUserDecodeData; import com.ruoyi.system.vo.ExamineVO; import com.ruoyi.system.vo.TBillVO; import com.ruoyi.system.vo.TenantVO; import com.sun.corba.se.spi.ior.IdentifiableFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.token.TokenService; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -42,6 +47,10 @@ private THouseMapper houseMapper; @Autowired private TContractMapper contractMapper; @Autowired private SysUserMapper sysUserMapper; @Autowired private TokenService tokenService; @Override public PageInfo<TenantVO> pageList(TTenantQuery query) { PageInfo<TenantVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); @@ -98,4 +107,12 @@ pageInfo.setRecords(list); return pageInfo; } @Override public PageInfo<ExamineVO> examineList(TExamineAppletQuery dto) { PageInfo<ExamineVO> pageInfo = new PageInfo<>(dto.getPageNum(), dto.getPageSize()); List<ExamineVO> list = this.baseMapper.examineList(dto,pageInfo); pageInfo.setRecords(list); return pageInfo; } } ruoyi-system/src/main/java/com/ruoyi/system/vo/ExamineVO.java
New file @@ -0,0 +1,31 @@ package com.ruoyi.system.vo; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.system.model.TBill; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.time.LocalDateTime; @Data @ApiModel(value = "我的审批分页列表VO") public class ExamineVO{ @ApiModelProperty(value = "合同id") private String id; @ApiModelProperty(value = "合同编号") private String contractNumber; @ApiModelProperty(value = "合同名称") private String contractName; @ApiModelProperty(value = "租户信息") private String partyTwoName; @ApiModelProperty(value = "提交人") private String createBy; @ApiModelProperty(value = "提交时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime createTime; @ApiModelProperty(value = "合同状态") private String status; } ruoyi-system/src/main/resources/mapper/system/TTenantMapper.xml
@@ -70,5 +70,47 @@ </if> AND t1.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} </select> <select id="examineList" resultType="com.ruoyi.system.vo.ExamineVO"> select t1.* from t_contract t1 <where> <if test="query.status == 1"> AND t1.status = 2 </if> <if test="query.status == 2"> AND (t1.status !=1 and t1.status !=2) </if> <if test="query.status == 3"> AND t1.create_by = #{query.userName} </if> <if test="query.time != null and query.time != ''"> <choose> <when test="query.time == 1"> AND t1.create_time >= DATE_SUB(NOW(), INTERVAL 1 DAY) </when> <when test="query.time == 2"> AND t1.create_time >= DATE_SUB(NOW(), INTERVAL 7 DAY) </when> <when test="query.time == 3"> AND t1.create_time >= DATE_SUB(NOW(), INTERVAL 30 DAY) </when> </choose> </if> </where> <choose> <when test="query.sort != null and query.sort != ''"> <choose> <when test="query.sort == 1"> ORDER BY t1.create_time DESC </when> <when test="query.sort == 2"> ORDER BY t1.create_time ASC </when> </choose> </when> <otherwise> ORDER BY t1.create_time DESC </otherwise> </choose> </select> </mapper>