From 6b07eb90a0e03bf203315131ee3cfa727c6c46ff Mon Sep 17 00:00:00 2001 From: maven <2163098428@qq.com> Date: 星期二, 08 七月 2025 11:57:14 +0800 Subject: [PATCH] yys 1.入库管理-删除 2.入库管理-导出 --- src/main/java/com/ruoyi/procurementrecord/controller/ProcurementRecordController.java | 17 ++++++++ src/main/java/com/ruoyi/procurementrecord/service/ProcurementRecordService.java | 5 ++ src/main/java/com/ruoyi/procurementrecord/mapper/ProcurementRecordMapper.java | 2 + src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml | 23 +++++++++++ src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDto.java | 8 ++-- src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java | 57 ++++++++++++++++++++++------ src/main/java/com/ruoyi/procurementrecord/dto/ProcurementUpdateDto.java | 3 + 7 files changed, 98 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/ruoyi/procurementrecord/controller/ProcurementRecordController.java b/src/main/java/com/ruoyi/procurementrecord/controller/ProcurementRecordController.java index b522be4..078a489 100644 --- a/src/main/java/com/ruoyi/procurementrecord/controller/ProcurementRecordController.java +++ b/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); + } + } diff --git a/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDto.java b/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDto.java index cfa078b..37ab99e 100644 --- a/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDto.java +++ b/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; /** diff --git a/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementUpdateDto.java b/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementUpdateDto.java index 2e122b9..153884e 100644 --- a/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementUpdateDto.java +++ b/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; + } diff --git a/src/main/java/com/ruoyi/procurementrecord/mapper/ProcurementRecordMapper.java b/src/main/java/com/ruoyi/procurementrecord/mapper/ProcurementRecordMapper.java index e1c7f28..c472256 100644 --- a/src/main/java/com/ruoyi/procurementrecord/mapper/ProcurementRecordMapper.java +++ b/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(); } diff --git a/src/main/java/com/ruoyi/procurementrecord/service/ProcurementRecordService.java b/src/main/java/com/ruoyi/procurementrecord/service/ProcurementRecordService.java index 7343054..d0806c4 100644 --- a/src/main/java/com/ruoyi/procurementrecord/service/ProcurementRecordService.java +++ b/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); } diff --git a/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java b/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java index 112e168..c67cec1 100644 --- a/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java +++ b/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; } diff --git a/src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml b/src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml index 0af090e..d5f8046 100644 --- a/src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml +++ b/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> \ No newline at end of file -- Gitblit v1.9.3