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 | 85 ++++++++++++++++++++++++------------------ 1 files changed, 48 insertions(+), 37 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 69d0364..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,28 +72,42 @@ private TBillService billService; @Autowired private TCheckAcceptRecordService checkAcceptRecordService; - @ApiOperation(value = "测试生成账单") - @PostMapping(value = "/testBill") - public R testBill(String id) { - SignContractDTO signContractDTO = new SignContractDTO(); - signContractDTO.setId(id); - contractService.signContract(signContractDTO); - return R.ok(); - } + @Autowired + private StateProcessTemplateService stateProcessTemplateService; + @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()); @@ -108,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>() @@ -128,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)){ @@ -140,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); @@ -178,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") @@ -201,20 +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)); } @@ -223,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<>(); @@ -263,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) @@ -276,12 +287,13 @@ contractExport.setContractName(contract.getContractName()); contractExport.setPartyOneName(contract.getPartyOneName()); contractExport.setPartyTwoName(contract.getPartyTwoName()); - contractExport.setCreate_time(contract.getCreateTime()); - contractExport.setStartTime(contract.getStartTime()); - contractExport.setEndTime(contract.getEndTime()); + contractExport.setCreateTime(DateUtils.localDateTimeToStringYear(contract.getCreateTime())); + contractExport.setStartTime(DateUtils.localDateTimeToStringYear(contract.getStartTime())); + contractExport.setEndTime(DateUtils.localDateTimeToStringYear(contract.getEndTime())); contractExport.setPayType(DictUtils.getDictLabel(DictConstants.DICT_TYPE_CONTRACT_PAY_TYPE,contract.getPayType())); contractExport.setDeposit(contract.getDeposit()+""); contractExport.setStatus(DictUtils.getDictLabel(DictConstants.DICT_TYPE_CONTRACT_STATUS,contract.getStatus())); + contractExports.add(contractExport); } Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), ContractExport.class, contractExports); HttpServletResponse response = WebUtils.response(); @@ -298,7 +310,6 @@ workbook.write(outputStream); } catch (IOException e) { e.printStackTrace(); - System.err.println("合同列表信息导出失败"); } finally { try { outputStream.close(); -- Gitblit v1.7.1