maven
2 天以前 6b07eb90a0e03bf203315131ee3cfa727c6c46ff
yys  1.入库管理-删除
2.入库管理-导出
已修改7个文件
115 ■■■■ 文件已修改
src/main/java/com/ruoyi/procurementrecord/controller/ProcurementRecordController.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDto.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/procurementrecord/dto/ProcurementUpdateDto.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/procurementrecord/mapper/ProcurementRecordMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/procurementrecord/service/ProcurementRecordService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java 57 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/procurementrecord/controller/ProcurementRecordController.java
@@ -13,10 +13,12 @@
import com.ruoyi.procurementrecord.dto.ProcurementUpdateDto;
import com.ruoyi.procurementrecord.service.ProcurementRecordService;
import com.ruoyi.purchase.dto.InvoicePurchaseReportDto;
import com.ruoyi.quality.pojo.QualityInspect;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
@@ -51,6 +53,12 @@
        return AjaxResult.success(procurementRecordService.updatePro(procurementDto));
    }
    @PostMapping("/del")
    @Log(title = "采购入库-入库管理-删除入库", businessType = BusinessType.DELETE)
    public AjaxResult deletePro(@RequestBody ProcurementUpdateDto procurementDto) {
        return AjaxResult.success(procurementRecordService.deletePro(procurementDto));
    }
    @GetMapping("/listPage")
    @Log(title = "采购入库-入库管理-入库查询", businessType = BusinessType.OTHER)
    public AjaxResult listPage(Page page, ProcurementPageDto procurementDto) {
@@ -58,5 +66,14 @@
        return AjaxResult.success(result);
    }
    /**
     * 导出
     * @param response
     */
    @PostMapping("/export")
    public void export(HttpServletResponse response) {
        procurementRecordService.export(response);
    }
}
src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDto.java
@@ -30,20 +30,20 @@
    /**
     * 出入库数量
     */
    @Excel(name = "出入库数量")
    @Excel(name = "入库数量")
    private BigDecimal inboundNum;
    /**
     * 出入库时间
     */
    @Excel(name = "出入库时间")
    @Excel(name = "入库时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createDate;
    /**
     * 出入库用户
     */
    @Excel(name = "出入库用户")
    @Excel(name = "入库人")
    private String createBy;
    /**
@@ -74,7 +74,7 @@
    /**
     * 税率
     */
    @Excel(name = "税率")
    @Excel(name = "税率(%)")
    private BigDecimal taxRate;
    /**
src/main/java/com/ruoyi/procurementrecord/dto/ProcurementUpdateDto.java
@@ -3,6 +3,7 @@
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
/**
 * @author :yys
@@ -15,4 +16,6 @@
    private BigDecimal quantityStock;
    private List<Integer> ids;
}
src/main/java/com/ruoyi/procurementrecord/mapper/ProcurementRecordMapper.java
@@ -25,4 +25,6 @@
    List<ProcurementDto> listProcurementBySalesLedgerId(@Param("req") ProcurementDto procurementDto);
    IPage<ProcurementPageDto> listPage(Page page,@Param("req")  ProcurementPageDto procurementDto);
    List<ProcurementPageDto> list();
}
src/main/java/com/ruoyi/procurementrecord/service/ProcurementRecordService.java
@@ -9,6 +9,7 @@
import com.ruoyi.procurementrecord.dto.ProcurementUpdateDto;
import com.ruoyi.procurementrecord.pojo.ProcurementRecord;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
@@ -23,4 +24,8 @@
    IPage<ProcurementPageDto> listPage(Page page, ProcurementPageDto procurementDto);
    int updatePro(ProcurementUpdateDto procurementDto);
    int deletePro(ProcurementUpdateDto procurementDto);
    void export(HttpServletResponse response);
}
src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java
@@ -5,11 +5,13 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.security.LoginUser;
import com.ruoyi.procurementrecord.dto.*;
import com.ruoyi.procurementrecord.mapper.ProcurementRecordMapper;
import com.ruoyi.procurementrecord.pojo.ProcurementRecord;
import com.ruoyi.procurementrecord.service.ProcurementRecordService;
import com.ruoyi.quality.pojo.QualityInspect;
import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
import com.ruoyi.sales.pojo.SalesLedgerProduct;
import lombok.RequiredArgsConstructor;
@@ -17,6 +19,7 @@
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
@@ -58,6 +61,7 @@
            
            // 如果没有相关的入库记录,跳过该条数据
            if(CollectionUtils.isEmpty(collect1)){
                dto.setQuantity0(dto.getQuantity());
                continue;
            }
            
@@ -72,14 +76,41 @@
        return procurementDtos;
    }
    @Override
    public int updatePro(ProcurementUpdateDto procurementDto) {
        ProcurementRecord procurementRecord = procurementRecordMapper.selectById(procurementDto.getId());
    public ProcurementRecord getProcurementRecordById(Integer id){
        ProcurementRecord procurementRecord = procurementRecordMapper.selectById(id);
        if(procurementRecord == null) {
            throw new RuntimeException("未找到该采购入库记录");
        }
        procurementRecord.setInboundNum(procurementDto.getQuantityStock());
        return procurementRecordMapper.updateById(procurementRecord);
        return procurementRecord;
    }
    public List<ProcurementRecord> getProcurementRecordByIds(List<Integer> id){
        List<ProcurementRecord> procurementRecord = procurementRecordMapper.selectBatchIds(id);
        if(procurementRecord == null) {
            throw new RuntimeException("未找到该采购入库记录");
        }
        return procurementRecord;
    }
    @Override
    public int updatePro(ProcurementUpdateDto procurementDto) {
        ProcurementRecord procurementRecordById = getProcurementRecordById(procurementDto.getId());
        procurementRecordById.setInboundNum(procurementDto.getQuantityStock());
        return procurementRecordMapper.updateById(procurementRecordById);
    }
    @Override
    public int deletePro(ProcurementUpdateDto procurementDto) {
        List<ProcurementRecord> procurementRecordById = getProcurementRecordByIds(procurementDto.getIds());
        procurementRecordMapper.deleteBatchIds(procurementRecordById.stream().map(ProcurementRecord::getId).collect(Collectors.toList()));
        return 0;
    }
    @Override
    public void export(HttpServletResponse response) {
        List<ProcurementPageDto> list =procurementRecordMapper.list();
        ExcelUtil<ProcurementPageDto> util = new ExcelUtil<ProcurementPageDto>(ProcurementPageDto.class);
        util.exportExcel(response, list, "入库台账");
    }
    @Override
@@ -103,14 +134,14 @@
                    .createBy(procurementDto.getNickName());
            this.save(procurementRecordBuilder.build());
            // 入库成功减掉采购数量
            LambdaQueryWrapper<SalesLedgerProduct> salesLedgerProductLambdaQueryWrapper = new LambdaQueryWrapper<>();
            salesLedgerProductLambdaQueryWrapper.eq(SalesLedgerProduct::getId, detail.getId());
            SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectOne(salesLedgerProductLambdaQueryWrapper);
            if(salesLedgerProduct == null){
               throw new RuntimeException("未找到该商品");
            }
            salesLedgerProduct.setQuantity(salesLedgerProduct.getQuantity().subtract(detail.getInboundQuantity()));
            salesLedgerProductMapper.updateById(salesLedgerProduct);
//            LambdaQueryWrapper<SalesLedgerProduct> salesLedgerProductLambdaQueryWrapper = new LambdaQueryWrapper<>();
//            salesLedgerProductLambdaQueryWrapper.eq(SalesLedgerProduct::getId, detail.getId());
//            SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectOne(salesLedgerProductLambdaQueryWrapper);
//            if(salesLedgerProduct == null){
//               throw new RuntimeException("未找到该商品");
//            }
//            salesLedgerProduct.setQuantity(salesLedgerProduct.getQuantity().subtract(detail.getInboundQuantity()));
//            salesLedgerProductMapper.updateById(salesLedgerProduct);
        }
        return 1;
    }
src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml
@@ -11,6 +11,7 @@
            t2.specification_model,
            t2.unit,
            t2.quantity,
            t2.quantity as quantity0,
            t2.tax_rate,
            t2.tax_inclusive_unit_price,
            t2.tax_inclusive_total_price,
@@ -53,4 +54,26 @@
            </if>
        </where>
    </select>
    <select id="list" resultType="com.ruoyi.procurementrecord.dto.ProcurementPageDto">
        select
            t3.supplier_name,
            t3.purchase_contract_number,
            t2.product_category,
            t1.id,
            t2.specification_model,
            t2.unit,
            t2.quantity,
            t2.quantity as quantity0,
            t2.tax_rate,
            t2.tax_inclusive_unit_price,
            t2.tax_inclusive_total_price,
            t2.tax_exclusive_total_price,
            t1.inbound_batches,
            t1.inbound_num,
            t1.create_date,
            t1.create_by
        from  procurement_record t1
                  left join sales_ledger_product t2 on t2.id = t1.sales_ledger_product_id
                  left join purchase_ledger t3 on t3.id = t2.sales_ledger_id
    </select>
</mapper>