| | |
| | | for (DeviceLeasingLedgerItem item:deviceLeasingLedger.getLedgerItemList() |
| | | ) { |
| | | if (contractItem.getDeviceId().equals(item.getDeviceId())){ |
| | | if (contractItem.getNum()!=item.getNum()) { |
| | | return R.failed("合同中"+item.getDeviceName()+"设备数量与台账明细中不一致"); |
| | | if (contractItem.getNum()<item.getNum()) { |
| | | return R.failed("合同中"+item.getDeviceName()+"设备数量与台账明细中不一致,无法建立台账"); |
| | | } |
| | | //查询是否有历史出账 |
| | | QueryWrapper<DeviceLeasingLedgerItem> queryWrapperLedgerItem = new QueryWrapper<>(); |
| | | queryWrapperLedgerItem.eq("contract_id",contract.getId()); |
| | | queryWrapperLedgerItem.eq("device_id",contractItem.getDeviceId()); |
| | | List<DeviceLeasingLedgerItem> noteItemList = itemMapper.selectList(queryWrapperLedgerItem); |
| | | if (noteItemList != null&¬eItemList.size()>0) { |
| | | Integer deviceNum = noteItemList.stream().mapToInt(DeviceLeasingLedgerItem::getNum).sum(); |
| | | if (contractItem.getNum()<(item.getNum()+deviceNum)) { |
| | | return R.failed("合同中"+item.getDeviceName()+"设备数量出租台账已超出设备库存,无法建立台账"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | //合同明细中与台账对比 |
| | | for (ContractItem contractItem:list |
| | | ) { |
| | | //查询实际台账情况 |
| | | QueryWrapper<DeviceLeasingLedgerItem> queryWrapperLedgerItem = new QueryWrapper<>(); |
| | | queryWrapperLedgerItem.eq("contract_id",contract.getId()); |
| | | queryWrapperLedgerItem.eq("device_id",contractItem.getDeviceId()); |
| | | List<DeviceLeasingLedgerItem> ledgerItemList = itemMapper.selectList(queryWrapperLedgerItem); |
| | | if (ledgerItemList != null&&ledgerItemList.size()>0) { |
| | | Integer deviceNum = ledgerItemList.stream().mapToInt(DeviceLeasingLedgerItem::getNum).sum(); |
| | | if (contractItem.getNum()!=deviceNum) { |
| | | return R.ok(); |
| | | } |
| | | }else { |
| | | return R.ok(); |
| | | } |
| | | } |
| | | //更新合同状态为完成 |
| | | contract.setStatus(2); |
| | | contractMapper.updateById(contract); |