| | |
| | | if (CollectionUtils.isEmpty(idList)) { |
| | | return 0; |
| | | } |
| | | // 校验:已审核的订单不能删除 |
| | | List<SalesLedger> ledgers = salesLedgerMapper.selectBatchIds(idList); |
| | | for (SalesLedger ledger : ledgers) { |
| | | if (ledger.getReviewStatus() != null && ledger.getReviewStatus() == 1) { |
| | | throw new ServiceException("已审核的订单不能删除:" + ledger.getSalesContractNo()); |
| | | } |
| | | } |
| | | // 删除销售管理数据 |
| | | LambdaQueryWrapper<SalesLedgerProduct> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.in(SalesLedgerProduct::getSalesLedgerId, idList).select(SalesLedgerProduct::getId); |
| | |
| | | if (salesLedger.getDeliveryStatus() == 5) { |
| | | throw new ServiceException("订单已发货,禁止编辑"); |
| | | } |
| | | // 查询数据库中的原始记录用于校验 |
| | | SalesLedger existingLedger = salesLedgerMapper.selectById(salesLedger.getId()); |
| | | if (salesLedger.getReviewStatus() != null && salesLedger.getReviewStatus() == 1) { |
| | | // 审核操作:校验审核人不能是录入人(仅对未审核→已审核的转换) |
| | | if (existingLedger != null && existingLedger.getReviewStatus() != null && existingLedger.getReviewStatus() == 0) { |
| | | Long currentUserId = SecurityUtils.getUserId(); |
| | | String entryPerson = existingLedger.getEntryPerson(); |
| | | if (entryPerson != null && entryPerson.equals(String.valueOf(currentUserId))) { |
| | | throw new ServiceException("不能审核本人录入的订单"); |
| | | } |
| | | } |
| | | salesLedger.setReviewStatus(salesLedgerDto.getReviewStatus()); |
| | | } else if (salesLedger.getReviewStatus() != null && salesLedger.getReviewStatus() == 2) { |
| | | handleCounterReview(salesLedger); |
| | | } else { |
| | | // 未审核状态的编辑操作:校验已审核的订单不能编辑 |
| | | if (existingLedger != null && existingLedger.getReviewStatus() != null && existingLedger.getReviewStatus() == 1) { |
| | | throw new ServiceException("已审核的订单不能编辑"); |
| | | } |
| | | salesLedger.setReviewStatus(0); |
| | | } |
| | | salesLedgerMapper.updateById(salesLedger); |