platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteServiceImpl.java
@@ -57,24 +57,33 @@
      QueryWrapper<ContractItem> queryWrapper = new QueryWrapper<>();
      queryWrapper.eq("contract_id",contract.getId());
      List<ContractItem> list = contractItemMapper.selectList(queryWrapper);
      //比较设备种类是否一致
      if (list.size()!=entity.getNoteItemList().size()){
         return R.failed("合同中设备种类与验收明细中不一致");
      }
//
//      //比较设备种类是否一致
//      if (list.size()!=entity.getNoteItemList().size()){
//         return R.failed("合同中设备种类与验收明细中不一致");
//      }
//
      //比较单个设备台账数量是否与合同中一致
      for (ContractItem contractItem:list
      ) {
         for (ReceivingNoteItem item:entity.getNoteItemList()
         ) {
            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<ReceivingNoteItem> queryWrapperNoteItem = new QueryWrapper<>();
               queryWrapperNoteItem.eq("contract_id",contract.getId());
               queryWrapperNoteItem.eq("device_id",contractItem.getDeviceId());
               List<ReceivingNoteItem> noteItemList = itemMapper.selectList(queryWrapperNoteItem);
               if (noteItemList != null&&noteItemList.size()>0) {
                  Integer deviceNum = noteItemList.stream().mapToInt(ReceivingNoteItem::getNum).sum();
                  if (contractItem.getNum()>=(item.getNum()+deviceNum)) {
                     return R.failed("合同中"+item.getDeviceName()+"设备数量与实际验收明细中不一致");
                  }
               }
            }
            //设备序列号检查是否有相同的存在
            List<String> serialArr = Arrays.stream(item.getSerialNos().split(",")).collect(Collectors.toList());
            for (String serialNo:serialArr
@@ -144,6 +153,23 @@
         }
      }
      //合同明细中与实际验收对比
      for (ContractItem contractItem:list
      ) {
         //查询实际验收情况
         QueryWrapper<ReceivingNoteItem> queryWrapperNoteItem = new QueryWrapper<>();
         queryWrapperNoteItem.eq("contract_id",contract.getId());
         queryWrapperNoteItem.eq("device_id",contractItem.getDeviceId());
         List<ReceivingNoteItem> noteItemList = itemMapper.selectList(queryWrapperNoteItem);
         if (noteItemList != null&&noteItemList.size()>0) {
            Integer deviceNum = noteItemList.stream().mapToInt(ReceivingNoteItem::getNum).sum();
            if (contractItem.getNum()!=deviceNum) {
               return R.ok();
            }
         }else {
            return R.ok();
         }
      }
      //更新合同状态为完成
      contract.setStatus(2);
      contractMapper.updateById(contract);