| | |
| | | |
| | | import com.ruoyi.cwgl.mapper.ReceivableBillManagementMapper; |
| | | import com.ruoyi.cwgl.domain.ReceivableBillManagement; |
| | | import com.ruoyi.cwgl.domain.ReceivableFeeManagement; |
| | | import com.ruoyi.cwgl.service.IReceivableBillManagementService; |
| | | import com.ruoyi.cwgl.service.IReceivableFeeManagementService; |
| | | import com.ruoyi.common.core.text.Convert; |
| | | import com.ruoyi.common.exception.ServiceException; |
| | | |
| | | /** |
| | | * 应收账单管理Service业务层处理 |
| | |
| | | protected final Logger logger = LoggerFactory.getLogger(getClass()); |
| | | @Resource |
| | | private ReceivableBillManagementMapper receivableBillManagementMapper; |
| | | |
| | | @Resource |
| | | private IReceivableFeeManagementService receivableFeeManagementService; |
| | | |
| | | |
| | | /** |
| | |
| | | { |
| | | return receivableBillManagementMapper.deleteReceivableBillManagementById(id); |
| | | } |
| | | |
| | | /** |
| | | * 作废应收账单管理记录 |
| | | * |
| | | * @param id 应收账单管理ID |
| | | * @return 结果 |
| | | */ |
| | | @Override |
| | | public int voidReceivableBillManagement(Integer id) { |
| | | // 1. 查询应收账单记录 |
| | | ReceivableBillManagement billManagement = receivableBillManagementMapper.selectReceivableBillManagementById(id); |
| | | if (billManagement == null) { |
| | | throw new ServiceException("应收账单记录不存在"); |
| | | } |
| | | |
| | | // 2. 判断状态是否为0(未结算),只有状态为0才能作废 |
| | | if (!"0".equals(billManagement.getStatus())) { |
| | | throw new ServiceException("只有状态为未结算的账单才能作废"); |
| | | } |
| | | |
| | | // 3. 设置状态为作废 |
| | | billManagement.setStatus("2"); |
| | | billManagement.setUpdateTime(DateUtils.getNowDate()); |
| | | |
| | | // 4. 更新应收账单记录 |
| | | int result = receivableBillManagementMapper.updateReceivableBillManagement(billManagement); |
| | | |
| | | // 5. 如果更新成功,清除关联应收费用的账单编号并更新状态 |
| | | if (result > 0) { |
| | | // 获取账单系统编号 |
| | | String billSystemNo = billManagement.getSystemNo(); |
| | | if (billSystemNo != null && !billSystemNo.trim().isEmpty()) { |
| | | // 查询关联该账单的应收费用记录 |
| | | ReceivableFeeManagement queryFee = new ReceivableFeeManagement(); |
| | | queryFee.setRelatedBillNo(billSystemNo); |
| | | List<ReceivableFeeManagement> feeList = receivableFeeManagementService.selectReceivableFeeManagementList(queryFee); |
| | | |
| | | // 清除关联账单编号并将状态改为0(待生成账单) |
| | | receivableFeeManagementService.updateReceivableFeeManagementByRelatedBillNo(billSystemNo); |
| | | } |
| | | } |
| | | |
| | | return result; |
| | | } |
| | | } |