From 694128f7b11bd27c2c7dd3869c3ae50926cb9b6b Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期五, 21 二月 2025 14:37:05 +0800 Subject: [PATCH] 小程序管理员接口 --- ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/IndexController.java | 55 +++++++++++++ ruoyi-system/src/main/java/com/ruoyi/system/vo/ExamineVO.java | 31 +++++++ ruoyi-system/src/main/java/com/ruoyi/system/query/TExamineAppletQuery.java | 8 + ruoyi-system/src/main/java/com/ruoyi/system/service/TTenantService.java | 5 + ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java | 27 +++--- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTenantServiceImpl.java | 17 ++++ ruoyi-system/src/main/java/com/ruoyi/system/mapper/TTenantMapper.java | 4 + ruoyi-system/src/main/resources/mapper/system/TTenantMapper.xml | 42 ++++++++++ 8 files changed, 171 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 0de8a23..c35b38a 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 @@ -200,20 +200,22 @@ tContractRentType.setCycleTime(dto.getCycleTime()); contractRentTypeService.save(tContractRentType); - //发起合同新增审批 - ProcessStartBO processStartBO = new ProcessStartBO(); - processStartBO.setCategory(ProcessCategoryEnum.CATEGORY1.getValue().toString()); - processStartBO.setModuleName("合同新增审批"); - processStartBO.setName(dto.getContractName()); - //需要显示发起申请人所在单位 + if (dto.getStatus().equals("2")){ + //发起合同新增审批 + ProcessStartBO processStartBO = new ProcessStartBO(); + processStartBO.setCategory(ProcessCategoryEnum.CATEGORY1.getValue().toString()); + processStartBO.setModuleName("合同新增审批"); + processStartBO.setName(dto.getContractName()); + //需要显示发起申请人所在单位 // String cedName = SecurityUtils.getLoginUser().getUser().getDept().getDeptName(); // String remark = String.format("【镇/街】:%s,【征收实施单位】:%s,【申请金额】:%s万元", stateProject.getStreet(), cedName, stateApplyRecord.getAmount()); - processStartBO.setRemark(""); - Map<String, Object> variable = new HashMap<>(); - variable.put("projectId", dto.getId()); - processStartBO.setVariable(variable); - //开启工作流程 - stateProcessTemplateService.start(processStartBO); + processStartBO.setRemark(""); + Map<String, Object> variable = new HashMap<>(); + variable.put("projectId", dto.getId()); + 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); diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/IndexController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/IndexController.java index 23e8f91..699d80c 100644 --- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/IndexController.java +++ b/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") diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TTenantMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TTenantMapper.java index 969a401..e0812d5 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TTenantMapper.java +++ b/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); + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/TExamineAppletQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/TExamineAppletQuery.java index 5a4cc0e..e2d4612 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/query/TExamineAppletQuery.java +++ b/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; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TTenantService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TTenantService.java index ae73b87..989de6c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TTenantService.java +++ b/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); + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTenantServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTenantServiceImpl.java index aabf126..51fa743 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTenantServiceImpl.java +++ b/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; + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/ExamineVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/ExamineVO.java new file mode 100644 index 0000000..63d54e3 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/ExamineVO.java @@ -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; + + +} diff --git a/ruoyi-system/src/main/resources/mapper/system/TTenantMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TTenantMapper.xml index 832d505..112f54f 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TTenantMapper.xml +++ b/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> -- Gitblit v1.7.1