| | |
| | | return null; |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void resetPurchaseRequestStatus(Long id) { |
| | | ErpPurchaseRequestDO purchaseRequest = validatePurchaseRequestExists(id); |
| | | Integer status = purchaseRequest.getStatus(); |
| | | // 兼容数据不一致:BPM 已驳回但业务表 status 未更新(仍为审批中) |
| | | if (!ErpPurchaseRequestStatusEnum.REJECT.getStatus().equals(status) |
| | | && !ErpPurchaseRequestStatusEnum.PROCESS.getStatus().equals(status)) { |
| | | throw exception(PURCHASE_REQUEST_RESET_FAIL_NOT_REJECT); |
| | | } |
| | | purchaseRequestMapper.updateById(new ErpPurchaseRequestDO() |
| | | .setId(id) |
| | | .setStatus(ErpPurchaseRequestStatusEnum.DRAFT.getStatus()) |
| | | .setProcessInstanceId("")); |
| | | } |
| | | |
| | | private ErpPurchaseRequestDO validatePurchaseRequestExists(Long id) { |
| | | ErpPurchaseRequestDO purchaseRequest = purchaseRequestMapper.selectById(id); |
| | | if (purchaseRequest == null) { |