| | |
| | | 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&¬eItemList.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 |
| | |
| | | } |
| | | } |
| | | |
| | | //合同明细中与实际验收对比 |
| | | 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&¬eItemList.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); |