From d036da1b4c6b6a5e4fd358562bedda4a41341ff3 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期四, 27 二月 2025 17:07:04 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java | 46 +++++++++++++++++++++++++++++++++------------- 1 files changed, 33 insertions(+), 13 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 391f5dc..ff6b9ed 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,6 +72,8 @@ private TBillService billService; @Autowired private TCheckAcceptRecordService checkAcceptRecordService; + @Autowired + private StateProcessTemplateService stateProcessTemplateService; @ApiOperation(value = "测试生成账单") @PostMapping(value = "/testBill") @@ -177,7 +180,6 @@ @ApiOperation(value = "获取合同分页列表") @PostMapping(value = "/contractList") @PreAuthorize("@ss.hasPermi('system:contract:list')") - public R<PageInfo<TContract>> contractList(@RequestBody TContractQuery query) { return R.ok(contractService.contractList(query)); } @@ -186,8 +188,28 @@ @PostMapping(value = "/addContract") @PreAuthorize("@ss.hasPermi('system:contract: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()); @@ -204,7 +226,6 @@ @ApiOperation(value = "编辑合同") @PostMapping(value = "/updateContract") @PreAuthorize("@ss.hasPermi('system:contract:update')") - public R<Boolean> updateContract(@Validated @RequestBody TContractDTO dto) { contractService.updateById(dto); contractRentTypeService.remove(new LambdaQueryWrapper<TContractRentType>() @@ -236,7 +257,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); @@ -274,16 +294,17 @@ @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); + @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')") - @Log(title = "合同管理-确认结算", businessType = BusinessType.UPDATE) @ApiOperation(value = "确认结算") @PostMapping(value = "/confirmSettlement") @@ -305,7 +326,6 @@ @PreAuthorize("@ss.hasPermi('system:contract:terminate')") public R terminateContract(@RequestBody TerminateContractDTO dto) { contractService.terminateContract(dto); - // 生成房屋验收记录 待验收 return R.ok(); } @ApiOperation(value = "根据合同id查看验收记录") -- Gitblit v1.7.1