| | |
| | | } |
| | | return purchaseLedgerMapper.selectList(queryWrapper); |
| | | } |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public int addPurchaseTemplate(PurchaseLedgerDto purchaseLedgerDto)throws IOException { |
| | | //录入人 |
| | | SysUser sysUser = userMapper.selectUserById(purchaseLedgerDto.getRecorderId()); |
| | | |
| | | SupplierManage supplierManage = supplierManageMapper.selectById(purchaseLedgerDto.getSupplierId()); |
| | | PurchaseLedger purchaseLedger = new PurchaseLedger(); |
| | | // BeanUtils.copyProperties(purchaseLedger,purchaseLedgerDto); |
| | | LoginUser loginUser = SecurityUtils.getLoginUser(); |
| | | if(ObjectUtils.isNotEmpty(loginUser) && null != loginUser.getTenantId()) { |
| | | purchaseLedger.setTenantId(loginUser.getTenantId()); |
| | | } |
| | | purchaseLedger.setPaymentMethod(purchaseLedgerDto.getPaymentMethod()); |
| | | purchaseLedger.setRecorderId(purchaseLedgerDto.getRecorderId()); |
| | | purchaseLedger.setSupplierId(purchaseLedgerDto.getSupplierId()); |
| | | purchaseLedger.setTemplateName(purchaseLedgerDto.getTemplateName()); |
| | | // purchaseLedger.setSalesLedgerPId(purchaseLedgerDto.getSalesLedgerId()); |
| | | purchaseLedger.setApprovalStatus(3); |
| | | purchaseLedger.setSupplierName(supplierManage.getSupplierName()); |
| | | purchaseLedger.setRecorderName(sysUser.getNickName()); |
| | | purchaseLedger.setPhoneNumber(sysUser.getPhonenumber()); |
| | | purchaseLedger.setPurchaseContractNumber(UUID.randomUUID().toString().replaceAll("-", "")); |
| | | purchaseLedger.setEntryDate(Date.from(LocalDate.now().atStartOfDay(ZoneId.systemDefault()).toInstant())); |
| | | int insert = purchaseLedgerMapper.insert(purchaseLedger); |
| | | |
| | | LambdaQueryWrapper<PurchaseLedger> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(PurchaseLedger::getSupplierName, purchaseLedger.getSupplierName()) |
| | | .eq(PurchaseLedger::getPurchaseContractNumber, purchaseLedger.getPurchaseContractNumber()) |
| | | .eq(PurchaseLedger::getApprovalStatus,3); |
| | | PurchaseLedger purchaseLedger1 = purchaseLedgerMapper.selectOne(queryWrapper); |
| | | |
| | | if(ObjectUtils.isNotEmpty(purchaseLedgerDto.getProductData())) { |
| | | // 4. 处理子表数据 |
| | | List<SalesLedgerProduct> salesLedgerProductList = purchaseLedgerDto.getProductData(); |
| | | salesLedgerProductList.forEach(salesLedgerProduct -> { |
| | | salesLedgerProduct.setSalesLedgerId(purchaseLedger1.getId()); |
| | | salesLedgerProduct.setType(2); |
| | | }); |
| | | salesLedgerProductList.forEach(salesLedgerProductMapper::insert); |
| | | } |
| | | return insert; |
| | | } |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public int addOrEditPurchase(PurchaseLedgerDto purchaseLedgerDto) throws IOException { |
| | |
| | | PurchaseLedger purchaseLedgerDB = purchaseLedgerMapper.selectById(purchaseLedger.getId()); |
| | | List<AccountExpense> accountExpenseDBs = accountExpenseService.getByInvoiceNumberList(purchaseLedger.getPurchaseContractNumber()); |
| | | if (!CollectionUtils.isEmpty(accountExpenseDBs)) { |
| | | accountExpenseDBs.forEach(accountExpenseDB -> { |
| | | accountExpenseDBs.forEach(accountExpenseDB ->{ |
| | | accountExpenseDB.setExpenseDate(purchaseLedgerDB.getEntryDate()); |
| | | accountExpenseDB.setExpenseType("0"); |
| | | accountExpenseDB.setSupplierName(purchaseLedgerDB.getSupplierName()); |
| | |
| | | @Override |
| | | public int deletePurchaseLedgerByIds(Long[] ids) { |
| | | if (ids == null || ids.length == 0) { |
| | | throw new BaseException("请选中至少一条数据"); |
| | | throw new BaseException("请选中至少一条数据"); |
| | | } |
| | | // 批量删除关联的采购台账产品 |
| | | LambdaQueryWrapper<SalesLedgerProduct> queryWrapper = new LambdaQueryWrapper<>(); |
| | |
| | | salesLedgerProductMapper.delete(queryWrapper); |
| | | // 批量删除关联的采购台账的来票登记 |
| | | LambdaQueryWrapper<TicketRegistration> ticketRegistrationLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | ticketRegistrationLambdaQueryWrapper.in(TicketRegistration::getPurchaseLedgerId, ids); |
| | | ticketRegistrationLambdaQueryWrapper.in(TicketRegistration::getSalesLedgerId,ids); |
| | | ticketRegistrationMapper.delete(ticketRegistrationLambdaQueryWrapper); |
| | | // 批量删除关联的采购台账的来票登记记录 |
| | | LambdaQueryWrapper<ProductRecord> productRecordLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | productRecordLambdaQueryWrapper.in(ProductRecord::getPurchaseLedgerId, ids); |
| | | productRecordLambdaQueryWrapper.in(ProductRecord::getPurchaseLedgerId,ids); |
| | | productRecordMapper.delete(productRecordLambdaQueryWrapper); |
| | | // 批量删除付款登记 |
| | | LambdaQueryWrapper<PaymentRegistration> paymentRegistrationLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | |
| | | .map(QualityInspect::getId) |
| | | .collect(Collectors.toList()); |
| | | |
| | | LambdaQueryWrapper<QualityInspectParam> qualityStandardLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | qualityStandardLambdaQueryWrapper.in(QualityInspectParam::getInspectId, inspectIds); |
| | | qualityInspectParamMapper.delete(qualityStandardLambdaQueryWrapper); |
| | | if (inspectIds.size() > 0) { |
| | | LambdaQueryWrapper<QualityInspectParam> qualityStandardLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | qualityStandardLambdaQueryWrapper.in(QualityInspectParam::getInspectId, inspectIds); |
| | | qualityInspectParamMapper.delete(qualityStandardLambdaQueryWrapper); |
| | | } |
| | | |
| | | //批量删除原材料检验数据 |
| | | qualityInspectMapper.delete(materialInspectLambdaQueryWrapper); |
| | | // 批量删除采购台账 |
| | |
| | | // 3.查询上传文件 |
| | | LambdaQueryWrapper<CommonFile> salesLedgerFileWrapper = new LambdaQueryWrapper<>(); |
| | | salesLedgerFileWrapper.eq(CommonFile::getCommonId, purchaseLedger.getId()) |
| | | .eq(CommonFile::getType, FileNameType.PURCHASE.getValue()); |
| | | .eq(CommonFile::getType,FileNameType.PURCHASE.getValue()); |
| | | List<CommonFile> salesLedgerFiles = commonFileMapper.selectList(salesLedgerFileWrapper); |
| | | |
| | | // 4. 转换 DTO |