From ef7506eb3af65ad2c054ed4e44b24fc297790a61 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期五, 28 二月 2025 11:51:46 +0800 Subject: [PATCH] 权限 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java | 77 +++++++++++++++++++++----------------- 1 files changed, 43 insertions(+), 34 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 3053ff9..48feee9 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 @@ -3,6 +3,8 @@ import cn.afterturn.easypoi.excel.ExcelExportUtil; import cn.afterturn.easypoi.excel.entity.ExportParams; +import cn.hutool.core.util.ObjectUtil; +import com.aizuda.bpm.engine.core.FlowCreator; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.basic.PageInfo; @@ -10,10 +12,9 @@ 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.DateUtils; -import com.ruoyi.common.utils.DictUtils; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.common.utils.WebUtils; +import com.ruoyi.common.enums.ProcessCategoryEnum; +import com.ruoyi.common.utils.*; +import com.ruoyi.system.bo.ProcessStartBO; import com.ruoyi.system.dto.*; import com.ruoyi.system.export.ContractExport; import com.ruoyi.system.export.OpticalInspectionExport; @@ -71,29 +72,42 @@ private TBillService billService; @Autowired private TCheckAcceptRecordService checkAcceptRecordService; + @Autowired + private StateProcessTemplateService stateProcessTemplateService; - @ApiOperation(value = "测试生成账单") - @PostMapping(value = "/testBill") - public R testBill(String id) { - SignContractDTO signContractDTO = new SignContractDTO(); - signContractDTO.setId(id); - contractService.signContract(signContractDTO); - return R.ok(); - } @ApiOperation(value = "获取合同分页列表") @PostMapping(value = "/contractList") - @PreAuthorize("@ss.hasPermi('system:contract:list')") - + @PreAuthorize("@ss.hasPermi('contract:list')") public R<PageInfo<TContract>> contractList(@RequestBody TContractQuery query) { return R.ok(contractService.contractList(query)); } @Log(title = "合同管理-新增合同", businessType = BusinessType.INSERT) @ApiOperation(value = "新增合同") @PostMapping(value = "/addContract") - @PreAuthorize("@ss.hasPermi('system:contract:add')") + @PreAuthorize("@ss.hasPermi('contract:list:add')") public R<Boolean> addContract(@Validated @RequestBody TContractDTO dto) { + long count = contractService.count(new LambdaQueryWrapper<TContract>().eq(TContract::getContractNumber, dto.getContractNumber())); + if (count!=0){ + return R.fail("合同编号不可重复"); + } dto.setChangeRent(dto.getMonthRent()); contractService.save(dto); + 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); + } if (dto.getIsIncreasing()){ TContractRentType tContractRentType = new TContractRentType(); tContractRentType.setContractId(dto.getId()); @@ -109,8 +123,7 @@ @Log(title = "合同管理-编辑合同", businessType = BusinessType.UPDATE) @ApiOperation(value = "编辑合同") @PostMapping(value = "/updateContract") - @PreAuthorize("@ss.hasPermi('system:contract:update')") - + @PreAuthorize("@ss.hasPermi('contract:list:edit')") public R<Boolean> updateContract(@Validated @RequestBody TContractDTO dto) { contractService.updateById(dto); contractRentTypeService.remove(new LambdaQueryWrapper<TContractRentType>() @@ -129,8 +142,7 @@ } @Log(title = "合同管理-批量删除合同", businessType = BusinessType.DELETE) @ApiOperation(value = "批量删除合同") - @PreAuthorize("@ss.hasPermi('system:contract:delete')") - + @PreAuthorize("@ss.hasPermi('contract:list:delete')") @DeleteMapping(value = "/deleteContractByIds") public R<Boolean> deleteContractByIds(@RequestParam String ids) { if (StringUtils.isNotEmpty(ids)){ @@ -141,8 +153,7 @@ @ApiOperation(value = "查询合同信息信息") @GetMapping(value = "/getContractById") - @PreAuthorize("@ss.hasPermi('system:contract:detail')") - + @PreAuthorize("@ss.hasPermi('contract:list:detail')") public R<TContractVO> getContractById(@RequestParam String id) { TContractVO res = new TContractVO(); TContract contract = contractService.getById(id); @@ -179,17 +190,18 @@ } @Log(title = "合同管理-撤销审批", businessType = BusinessType.UPDATE) @ApiOperation(value = "撤销审批") - @PreAuthorize("@ss.hasPermi('system:contract:revoke')") - - @GetMapping(value = "/updateContractStatus") - public R<Boolean> updateContractStatus(String id) { - TContract contract = contractService.getById(id); + @PreAuthorize("@ss.hasPermi('contract:list:cancel')") + @PostMapping(value = "/updateContractStatus") + public R<Boolean> updateContractStatus(@RequestBody RevokeDTO dto) { + TContract contract = contractService.getById(dto.getContractId()); contract.setStatus("1"); contractService.updateById(contract); + // 撤销审批实例 + stateProcessTemplateService.revoke(dto.getInstanceId()); + return R.ok(); } - @PreAuthorize("@ss.hasPermi('system:contract:confirm')") - + @PreAuthorize("@ss.hasPermi('contract:list:settlement')") @Log(title = "合同管理-确认结算", businessType = BusinessType.UPDATE) @ApiOperation(value = "确认结算") @PostMapping(value = "/confirmSettlement") @@ -202,21 +214,18 @@ } @ApiOperation(value = "终止合同剩余未缴费账单列表") @PostMapping(value = "/contractBillList") - @PreAuthorize("@ss.hasPermi('system:contract:billList')") public R<PageInfo<BillVO>> contractBillList(@RequestBody TContractBillQuery query) { return R.ok(contractService.contractBillList(query)); } @ApiOperation(value = "终止合同") @PostMapping(value = "/terminateContract") - @PreAuthorize("@ss.hasPermi('system:contract:terminate')") + @PreAuthorize("@ss.hasPermi('contract:list:break')") public R terminateContract(@RequestBody TerminateContractDTO dto) { contractService.terminateContract(dto); - // 生成房屋验收记录 待验收 return R.ok(); } @ApiOperation(value = "根据合同id查看验收记录") @GetMapping(value = "/getCheckByContractId") - @PreAuthorize("@ss.hasPermi('system:contract:checkDetail')") public R<CheckAcceptRecordVO> getCheckByContractId(String id) { return R.ok(contractService.getCheckByContractId(id)); } @@ -225,7 +234,7 @@ @ApiOperation(value = "生成合同附件") @PostMapping("/set") @Log(title = "生成合同附件", businessType = BusinessType.EXPORT) - @PreAuthorize("@ss.hasPermi('system:contract:set')") + @PreAuthorize("@ss.hasPermi('contract:list:generate')") public R<List<String>> set(@RequestBody SetContractDto dto,HttpServletResponse response){ List<TContract> list = contractService.lambdaQuery().in(TContract::getId, dto.getIds()).list(); List<String> res = new ArrayList<>(); @@ -265,7 +274,7 @@ * 导出 */ @ApiOperation(value = "导出") - @PreAuthorize("@ss.hasPermi('system:contract:export')") + @PreAuthorize("@ss.hasPermi('contract:list:export')") @Log(title = "导出", businessType = BusinessType.EXPORT) @PostMapping("/export") public void exportOpticalInspection(@RequestBody TContractQuery query) -- Gitblit v1.7.1