From ce7582bd007b671dc311ee8511cc409230ef1b1c Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期二, 08 七月 2025 17:49:29 +0800
Subject: [PATCH] yys  1.出库管理-分页查询      2.出库管理-导出      3.出库管理-领用      4.出库台账-分页查询      5.出库台账-导出      6.出库台账-删除      7.库存管理-分页查询      8.库存管理-导出      9.库存管理-删除

---
 src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordOutServiceImpl.java |   92 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 92 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordOutServiceImpl.java b/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordOutServiceImpl.java
new file mode 100644
index 0000000..078d8f9
--- /dev/null
+++ b/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordOutServiceImpl.java
@@ -0,0 +1,92 @@
+package com.ruoyi.procurementrecord.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+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.ProcurementPageDto;
+import com.ruoyi.procurementrecord.dto.ProcurementRecordOutAdd;
+import com.ruoyi.procurementrecord.dto.ProcurementRecordOutPageDto;
+import com.ruoyi.procurementrecord.dto.ProcurementUpdateDto;
+import com.ruoyi.procurementrecord.mapper.ProcurementRecordOutMapper;
+import com.ruoyi.procurementrecord.pojo.ProcurementRecord;
+import com.ruoyi.procurementrecord.pojo.ProcurementRecordOut;
+import com.ruoyi.procurementrecord.service.ProcurementRecordOutService;
+import com.ruoyi.project.system.domain.SysUser;
+import com.ruoyi.project.system.mapper.SysUserMapper;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+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;
+import java.util.stream.Collectors;
+
+/**
+ * @author :yys
+ * @date : 2025/7/8 13:29
+ */
+@Service
+@RequiredArgsConstructor
+@Slf4j
+public class ProcurementRecordOutServiceImpl extends ServiceImpl<ProcurementRecordOutMapper, ProcurementRecordOut> implements ProcurementRecordOutService {
+
+    public final ProcurementRecordOutMapper procurementRecordOutMapper;
+
+    public final SysUserMapper sysUserMapper;
+
+    @Override
+    public int stockout(ProcurementRecordOutAdd procurementRecordOutAdd) {
+        SysUser sysUser = sysUserMapper.selectUserById(Long.valueOf(procurementRecordOutAdd.getUserId().toString()));
+        if(sysUser == null){
+            throw new RuntimeException("鍑哄簱浜轰笉瀛樺湪");
+        }
+        // 鏌ヨ閲囪喘鍑哄簱鏁伴噺
+        LambdaQueryWrapper<ProcurementRecordOut> procurementRecordLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        procurementRecordLambdaQueryWrapper.eq(ProcurementRecordOut::getProcurementRecordStorageId, procurementRecordOutAdd.getId());
+        Long aLong = procurementRecordOutMapper.selectCount(procurementRecordLambdaQueryWrapper);
+        ProcurementRecordOut.ProcurementRecordOutBuilder procurementRecordOut = ProcurementRecordOut.builder()
+                .procurementRecordStorageId(procurementRecordOutAdd.getId())
+                .salesLedgerProductId(procurementRecordOutAdd.getSalesLedgerProductId())
+                .inboundBatches(aLong.equals(0L) ? "绗�1鎵规" : "绗�"+ (aLong + 1) + "鎵规")
+                .inboundNum(new BigDecimal(procurementRecordOutAdd.getQuantity()))
+                .createDate(LocalDateTime.now())
+                .userId(procurementRecordOutAdd.getUserId())
+                .createBy(sysUser.getNickName())
+                .tenantId(sysUser.getTenantId());
+        this.save(procurementRecordOut.build());
+        return 0;
+    }
+
+    @Override
+    public IPage<ProcurementRecordOutPageDto> listPage(Page page, ProcurementRecordOutPageDto procurementDto) {
+        return procurementRecordOutMapper.listPage(page, procurementDto);
+    }
+
+    public List<ProcurementRecordOut> getProcurementRecordOutByIds(List<Integer> id) {
+        return procurementRecordOutMapper.selectBatchIds(id);
+    }
+
+    @Override
+    public int deletePro(ProcurementUpdateDto procurementDto) {
+        List<ProcurementRecordOut> procurementRecordOutByIds = getProcurementRecordOutByIds(procurementDto.getIds());
+        if(CollectionUtils.isEmpty(procurementRecordOutByIds)){
+            throw new RuntimeException("鏈煡璇㈠埌閫変腑鐨勪汉");
+        }
+        procurementRecordOutMapper.deleteBatchIds(procurementRecordOutByIds.stream().map(ProcurementRecordOut::getId).collect(Collectors.toList()));
+        return 0;
+    }
+
+    @Override
+    public void export(HttpServletResponse response) {
+        List<ProcurementRecordOutPageDto> list =procurementRecordOutMapper.list();
+        ExcelUtil<ProcurementRecordOutPageDto> util = new ExcelUtil<>(ProcurementRecordOutPageDto.class);
+        util.exportExcel(response, list, "鍑哄簱鍙拌处");
+    }
+}

--
Gitblit v1.9.3