| | |
| | | package com.ruoyi.procurementrecord.dto; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | private Integer purchaseLedgerId; |
| | | private Long qualityInspectId; |
| | | |
| | | @ApiModelProperty("入库时间") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss ") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | private LocalDateTime inboundTime; |
| | | |
| | | } |
| | |
| | | .eq(ProcurementRecordStorage::getType, procurementDto.getType()); |
| | | Long aLong = procurementRecordMapper.selectCount(procurementRecordLambdaQueryWrapper); |
| | | SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectById(detail.getId()); |
| | | if (ObjectUtils.isNull(detail.getProductModelId())){ |
| | | if (ObjectUtils.isNotEmpty(salesLedgerProduct)){ |
| | | detail.setProductModelId(salesLedgerProduct.getProductModelId()); |
| | | } |
| | | ProcurementRecordStorage.ProcurementRecordStorageBuilder procurementRecordBuilder = ProcurementRecordStorage.builder() |
| | |
| | | .warnNum(detail.getWarnNum()) |
| | | .unitPrice(detail.getUnitPrice()) |
| | | // .totalPrice(detail.getInboundQuantity().multiply(detail.getUnitPrice())) |
| | | .createTime(LocalDateTime.now()) |
| | | .createTime(procurementDto.getInboundTime()) |
| | | .createUser(loginUser.getUserId()) |
| | | .updateTime(LocalDateTime.now()) |
| | | .updateUser(loginUser.getUserId()) |
| | |
| | | List<Details> details = new ArrayList<>(); |
| | | Details details1 = new Details(); |
| | | details1.setInboundQuantity(dto.getQuantity()); |
| | | // details1.setId(Math.toIntExact(salesLedgerProduct.getId())); |
| | | details1.setId(Math.toIntExact(productModel.getId())); |
| | | // details1.setUnitPrice(salesLedgerProduct.getTaxInclusiveUnitPrice()); |
| | | // details1.setTotalPrice(salesLedgerProduct.getTaxInclusiveTotalPrice()); |
| | | // details1.setProductModelId(salesLedgerProduct.getProductModelId()); |
| | | details1.setProductModelId(productModel.getId()); |
| | | details.add(details1); |
| | | procurementRecordOutAdd.setDetails(details); |
| | | // procurementRecordOutAdd.setQualityInspectId(qualityInspect.getId()); |
| | |
| | | Long salesLedgerId = salesLedgerProduct.getSalesLedgerId(); |
| | | if (salesLedgerProduct.getId() == null) { |
| | | result = salesLedgerProductMapper.insert(salesLedgerProduct); |
| | | addProductionData(salesLedgerProduct); |
| | | // addProductionData(salesLedgerProduct,2); |
| | | } else { |
| | | //查询原本的产品型号id |
| | | salesLedgerProduct.setFutureTickets(salesLedgerProduct.getQuantity()); |
| | | result = salesLedgerProductMapper.updateById(salesLedgerProduct); |
| | | /*删除对应的生产数据并重新新增*/ |
| | | deleteProductionData(Arrays.asList(salesLedgerProduct.getId())); |
| | | // 删除生产核算数据 |
| | | LambdaQueryWrapper<SalesLedgerProductionAccounting> reportWrapper = new LambdaQueryWrapper<>(); |
| | | reportWrapper.in(SalesLedgerProductionAccounting::getSalesLedgerId, salesLedgerId); |
| | | salesLedgerProductionAccountingMapper.delete(reportWrapper); |
| | | addProductionData(salesLedgerProduct); |
| | | // deleteProductionData(Arrays.asList(salesLedgerProduct.getId())); |
| | | // // 删除生产核算数据 |
| | | // LambdaQueryWrapper<SalesLedgerProductionAccounting> reportWrapper = new LambdaQueryWrapper<>(); |
| | | // reportWrapper.in(SalesLedgerProductionAccounting::getSalesLedgerId, salesLedgerId); |
| | | // salesLedgerProductionAccountingMapper.delete(reportWrapper); |
| | | // addProductionData(salesLedgerProduct,2); |
| | | } |
| | | |
| | | // 如果插入或更新成功,并且有 salesLedgerId,才继续更新主表金额 |
| | |
| | | |
| | | /** |
| | | * 新增生产数据 |
| | | * @param salesLedgerProduct |
| | | * @param type 1=生产 2=销售 |
| | | */ |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void addProductionData(SalesLedgerProduct salesLedgerProduct) { |