platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceLeasingLedgerServiceImpl.java
@@ -68,8 +68,19 @@
         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&&noteItemList.size()>0) {
                  Integer deviceNum = noteItemList.stream().mapToInt(DeviceLeasingLedgerItem::getNum).sum();
                  if (contractItem.getNum()<(item.getNum()+deviceNum)) {
                     return R.failed("合同中"+item.getDeviceName()+"设备数量出租台账已超出设备库存,无法建立台账");
                  }
               }
            }
         }
@@ -124,7 +135,23 @@
            }
         }
      }
      //合同明细中与台账对比
      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);