From 1d915922d8197aa5d5dc3e40e3088d983dd6e141 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 13 三月 2026 17:57:59 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New_kthg' into dev_New_kthg
---
src/main/java/com/ruoyi/consumables/service/impl/ConsumablesOutRecordServiceImpl.java | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 116 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/consumables/service/impl/ConsumablesOutRecordServiceImpl.java b/src/main/java/com/ruoyi/consumables/service/impl/ConsumablesOutRecordServiceImpl.java
new file mode 100644
index 0000000..e4c9238
--- /dev/null
+++ b/src/main/java/com/ruoyi/consumables/service/impl/ConsumablesOutRecordServiceImpl.java
@@ -0,0 +1,116 @@
+package com.ruoyi.consumables.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.enums.StockInUnQualifiedRecordTypeEnum;
+import com.ruoyi.common.enums.StockOutQualifiedRecordTypeEnum;
+import com.ruoyi.common.exception.base.BaseException;
+import com.ruoyi.common.utils.EnumUtil;
+import com.ruoyi.common.utils.OrderUtils;
+import com.ruoyi.common.utils.bean.BeanUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.consumables.dto.ConsumablesInventoryDto;
+import com.ruoyi.consumables.dto.ConsumablesOutRecordDto;
+import com.ruoyi.consumables.dto.ConsumablesUnInventoryDto;
+import com.ruoyi.consumables.execl.ConsumablesOutRecordExportData;
+import com.ruoyi.consumables.mapper.ConsumablesInventoryMapper;
+import com.ruoyi.consumables.mapper.ConsumablesOutRecordMapper;
+import com.ruoyi.consumables.mapper.ConsumablesUnInventoryMapper;
+import com.ruoyi.consumables.pojo.ConsumablesInRecord;
+import com.ruoyi.consumables.pojo.ConsumablesInventory;
+import com.ruoyi.consumables.pojo.ConsumablesOutRecord;
+import com.ruoyi.consumables.pojo.ConsumablesUnInventory;
+import com.ruoyi.consumables.service.ConsumablesOutRecordService;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * <p>
+ * 鍑哄簱璁板綍琛� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-01-21 05:27:04
+ */
+@Service
+@AllArgsConstructor
+public class ConsumablesOutRecordServiceImpl extends ServiceImpl<ConsumablesOutRecordMapper, ConsumablesOutRecord> implements ConsumablesOutRecordService {
+ private ConsumablesOutRecordMapper consumablesOutRecordMapper;
+ private ConsumablesInventoryMapper consumablesInventoryMapper;
+ private ConsumablesUnInventoryMapper consumablesUnInventoryMapper;
+
+ @Override
+ public IPage<ConsumablesOutRecordDto> listPage(Page page, ConsumablesOutRecordDto ConsumablesOutRecordDto) {
+ return consumablesOutRecordMapper.listPage(page, ConsumablesOutRecordDto);
+ }
+
+ @Override
+ public int add(ConsumablesOutRecordDto ConsumablesOutRecordDto) {
+ String no = OrderUtils.countTodayByCreateTime(consumablesOutRecordMapper, "CK");
+ ConsumablesOutRecordDto.setOutboundBatches(no);
+ ConsumablesInRecord ConsumablesInRecord = new ConsumablesInRecord();
+ BeanUtils.copyProperties(ConsumablesOutRecordDto, ConsumablesInRecord);
+ return consumablesOutRecordMapper.insert(ConsumablesOutRecordDto);
+ }
+
+ @Override
+ public int update(Long id, ConsumablesOutRecordDto ConsumablesOutRecordDto) {
+ // 鍒ゆ柇瀵硅薄鏄惁瀛樺湪
+ ConsumablesOutRecord ConsumablesOutRecord = consumablesOutRecordMapper.selectById(id);
+ if (ConsumablesOutRecord == null){
+ throw new BaseException("璇ュ嚭搴撹褰曚笉瀛樺湪,鏃犳硶鏇存柊!!!");
+ }
+
+ String[] ignoreProperties = {"id", "outbound_batches"};//鎺掗櫎id灞炴��
+ BeanUtils.copyProperties(ConsumablesOutRecordDto, ConsumablesOutRecord, ignoreProperties);
+ return consumablesOutRecordMapper.updateById(ConsumablesOutRecord);
+ }
+
+ @Override
+ public int batchDelete(List<Long> ids) {
+ for (Long id : ids) {
+ ConsumablesOutRecord consumablesOutRecord = consumablesOutRecordMapper.selectById(id);
+ if (consumablesOutRecord.getType().equals("0")) {
+ ConsumablesInventory consumablesInventory = consumablesInventoryMapper.selectOne(new LambdaQueryWrapper<ConsumablesInventory>().eq(ConsumablesInventory::getProductModelId, consumablesOutRecord.getProductModelId()));
+ if (consumablesInventory == null) {
+ throw new BaseException("搴撳瓨璁板綍涓病鏈夊搴旂殑浜у搧,鏃犳硶鍒犻櫎!!!");
+ }else {
+ ConsumablesInventoryDto consumablesInRecordDto = new ConsumablesInventoryDto();
+ consumablesInRecordDto.setProductModelId(consumablesInventory.getProductModelId());
+ consumablesInRecordDto.setQualitity(consumablesOutRecord.getConsumablesOutNum());
+ consumablesInventoryMapper.updateAddConsumablesInventory(consumablesInRecordDto);
+ }
+ }else if (consumablesOutRecord.getType().equals("1")) {
+ ConsumablesUnInventory consumablesUnInventory = consumablesUnInventoryMapper.selectOne(new LambdaQueryWrapper<ConsumablesUnInventory>().eq(ConsumablesUnInventory::getProductModelId, consumablesOutRecord.getProductModelId()));
+ if (consumablesUnInventory == null) {
+ throw new BaseException("搴撳瓨璁板綍涓病鏈夊搴旂殑浜у搧,鏃犳硶鍒犻櫎!!!");
+ }else {
+ ConsumablesUnInventoryDto consumablesUnInventoryDto = new ConsumablesUnInventoryDto();
+ consumablesUnInventoryDto.setProductModelId(consumablesUnInventory.getProductModelId());
+ consumablesUnInventoryDto.setQualitity(consumablesOutRecord.getConsumablesOutNum());
+ consumablesUnInventoryMapper.updateAddConsumablesUnInventory(consumablesUnInventoryDto);
+ }
+ }
+ }
+ return consumablesOutRecordMapper.deleteBatchIds(ids);
+ }
+
+ @Override
+ public void exportConsumablesOutRecord(HttpServletResponse response, ConsumablesOutRecordDto ConsumablesOutRecordDto) {
+ List<ConsumablesOutRecordExportData> list = consumablesOutRecordMapper.listConsumablesOutRecordExportData(ConsumablesOutRecordDto);
+ for (ConsumablesOutRecordExportData consumablesInRecordExportData : list) {
+ if (consumablesInRecordExportData.getType().equals("0")) {
+ consumablesInRecordExportData.setRecordType(EnumUtil.fromCode(StockOutQualifiedRecordTypeEnum.class, Integer.parseInt(consumablesInRecordExportData.getRecordType())).getValue());
+ }else {
+ consumablesInRecordExportData.setRecordType(EnumUtil.fromCode(StockInUnQualifiedRecordTypeEnum.class, Integer.parseInt(consumablesInRecordExportData.getRecordType())).getValue());
+ }
+ }
+ ExcelUtil<ConsumablesOutRecordExportData> util = new ExcelUtil<>(ConsumablesOutRecordExportData.class);
+ util.exportExcel(response,list, "鍑哄簱璁板綍淇℃伅");
+ }
+}
--
Gitblit v1.9.3