From 7401b4b696bf8469150aa45f65f91ed33e5bd76e Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期四, 16 十月 2025 13:56:47 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpGoodsServiceImpl.java |   58 ++++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 48 insertions(+), 10 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpGoodsServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpGoodsServiceImpl.java
index 4cbca8e..f0478aa 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpGoodsServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpGoodsServiceImpl.java
@@ -13,13 +13,13 @@
 import com.ruoyi.system.dto.InventoryGoodsDto;
 import com.ruoyi.system.mapper.*;
 import com.ruoyi.system.model.*;
-import com.ruoyi.system.query.TClinicGoodsWarehouseQuery;
-import com.ruoyi.system.query.TErpGoodsInventoryQuery;
-import com.ruoyi.system.query.TErpGoodsQuery;
+import com.ruoyi.system.query.*;
 import com.ruoyi.system.service.TErpGoodsService;
 import com.ruoyi.system.service.TErpSupplierInventoryGoodsService;
 import com.ruoyi.system.vo.*;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
@@ -52,31 +52,37 @@
 
     @Resource
     private TErpSupplierInventoryMapper erpSupplierInventoryMapper;
+
     @Resource
     private TErpClinicInventoryMapper erpClinicInventoryMapper;
 
     @Resource
     private TErpSupplierInventoryGoodsMapper erpSupplierInventoryGoodsMapper;
+
     @Resource
     private TErpClinicInventoryGoodsMapper erpClinicInventoryGoodsMapper;
 
     @Resource
     private TErpSupplierWarehousingMapper erpSupplierWarehousingMapper;
+
     @Resource
     private TErpClinicWarehousingMapper erpClinicWarehousingMapper;
 
     @Resource
     private TErpSupplierWarehousingBatchMapper erpSupplierWarehousingBatchMapper;
+
     @Resource
     private TErpClinicWarehousingBatchMapper erpClinicWarehousingBatchMapper;
 
     @Resource
     private TErpSupplierOutboundMapper erpSupplierOutboundMapper;
+
     @Resource
     private TErpClinicOutboundMapper erpClinicOutboundMapper;
 
     @Resource
     private TErpSupplierOutboundGoodsMapper erpSupplierOutboundGoodsMapper;
+
     @Resource
     private TErpClinicOutboundGoodsMapper erpClinicOutboundGoodsMapper;
 
@@ -85,6 +91,10 @@
 
     @Resource
     private  TCrmSupplierMapper crmSupplierMapper;
+
+    @Resource
+    private TErpProcurementMapper erpProcurementMapper;
+
 
 
     @Override
@@ -132,6 +142,29 @@
     }
 
     @Override
+    public PageInfo<TErpGoodsVO> pageAdminList(TErpGoodsAdminQuery query) {
+        PageInfo<TErpGoodsVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
+        List<TErpGoodsVO> list = this.baseMapper.pageAdminList(query, pageInfo);
+        if (list.isEmpty()) {
+            return pageInfo;
+        }
+        List<String> typeIds = list.stream().map(TErpGoods::getTypeId).collect(Collectors.toList());
+        if (!typeIds.isEmpty()) {
+            List<TErpGoodsType> typeList = erpGoodsTypeMapper.selectBatchIds(typeIds);
+            for (TErpGoodsVO tErpGoodsVO : list) {
+                typeList.stream().filter(t -> t.getId().equals(tErpGoodsVO.getTypeId())).findFirst().ifPresent(t -> tErpGoodsVO.setTypeName(t.getTypeName()));
+            }
+        }
+        pageInfo.setRecords( list);
+        return pageInfo;
+    }
+
+    @Override
+    public List<TErpGoods> pageAddList(Page<TErpGoods> tErpGoodsPage, String clinicSupplierId, PageAddListQuery query) {
+        return this.baseMapper.pageAddList(tErpGoodsPage, clinicSupplierId, query);
+    }
+
+    @Override
     public List<TErpGoodsVO> listExport(TErpGoodsQuery query, SysUser user) {
         List<TErpGoodsVO> list = this.baseMapper.listExport(query, user);
         if (list.isEmpty()) {
@@ -164,7 +197,7 @@
 
     @Override
     public boolean isExit(String goodsIdCode, String quasiNumber,String id) {
-        Long size = this.baseMapper.selectCount(new LambdaQueryWrapper<>(TErpGoods.class).ne(id!=null,TErpGoods::getId, id).and(q -> q.eq(TErpGoods::getGoodsIdCode, goodsIdCode).or().eq(TErpGoods::getQuasiNumber, quasiNumber)));
+        Long size = this.baseMapper.selectCount(new LambdaQueryWrapper<>(TErpGoods.class).eq(TErpGoods::getGoodsSource,1).ne(id!=null,TErpGoods::getId, id).and(q -> q.eq(TErpGoods::getGoodsIdCode, goodsIdCode).or().eq(TErpGoods::getQuasiNumber, quasiNumber)));
         if (size > 0) {
             return true;
         }
@@ -389,8 +422,8 @@
         warehouseGoodsDetailVo.setCreateTime(tErpClinicWarehousing.getCreateTime());
         warehouseGoodsDetailVo.setCreateBy(tErpClinicWarehousing.getCreateBy());
         if(tErpClinicWarehousing.getType()==1){
-            TErpClinicInventory tErpClinicInventory = erpClinicInventoryMapper.selectById(tErpClinicWarehousing.getInventoryId());
-            warehouseGoodsDetailVo.setInventoryNumber(tErpClinicInventory.getInventoryNumber());
+            TErpProcurement tErpProcurement = erpProcurementMapper.selectById(tErpClinicWarehousing.getProcurementId());
+            warehouseGoodsDetailVo.setInventoryNumber(tErpProcurement.getProcurementCode());
         }
 
         List<TErpClinicWarehousingBatch> tErpClinicWarehousingBatches = erpClinicWarehousingBatchMapper.selectList(new LambdaQueryWrapper<TErpClinicWarehousingBatch>().eq(TErpClinicWarehousingBatch::getWarehousingId, id));
@@ -460,6 +493,7 @@
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
     public void inventoryGoods(InventoryDto dto, SysUser user) {
         Integer roleType = user.getRoleType();
         String supplierClinicId = null;
@@ -501,8 +535,8 @@
                 tErpSupplierWarehousing.setGoodsId(tErpSupplierWarehousing1.getGoodsId());
                 tErpSupplierWarehousing.setGoodsName(erpGoods.getGoodsName());
                 tErpSupplierWarehousing.setGoodsCount(inventoryGoodsDto.getInventoryCount() - inventoryGoodsDto.getNum());
-                tErpSupplierWarehousing.setUnitAmount(erpGoods.getSalesAmount());
-                tErpSupplierWarehousing.setTotalPrice(erpGoods.getSalesAmount().multiply(new BigDecimal(tErpSupplierWarehousing.getGoodsCount())));
+                tErpSupplierWarehousing.setUnitAmount(tErpSupplierWarehousing1.getUnitAmount());
+                tErpSupplierWarehousing.setTotalPrice(tErpSupplierWarehousing1.getUnitAmount().multiply(new BigDecimal(tErpSupplierWarehousing.getGoodsCount())));
                 // 当前年月日时分秒
                 String time = DateUtils.dateTimeNow();
                 tErpSupplierWarehousing.setWarehouseNo("G" + time);
@@ -532,6 +566,9 @@
 
             } else {
 
+                TErpSupplierWarehousingBatch tErpSupplierWarehousingBatch1 = erpSupplierWarehousingBatchMapper.selectById(inventoryGoodsDto.getId());
+                String warehousingId1 = tErpSupplierWarehousingBatch1.getWarehousingId();
+                TErpSupplierWarehousing tErpSupplierWarehousing2 = erpSupplierWarehousingMapper.selectById(warehousingId1);
 
                 TErpSupplierOutbound tErpSupplierOutbound = new TErpSupplierOutbound();
                 tErpSupplierOutbound.setWarehouseId(dto.getWarehouseId());
@@ -539,7 +576,8 @@
                 tErpSupplierOutbound.setOutboundType(6);
                 tErpSupplierOutbound.setOutboundNumber("G" + s);
                 int count = inventoryGoodsDto.getNum() - inventoryGoodsDto.getInventoryCount();
-                tErpSupplierOutbound.setTotalMoney(erpGoods.getSalesAmount().multiply(new BigDecimal(count)));
+                tErpSupplierOutbound.setTotalMoney(tErpSupplierWarehousing1.getUnitAmount().multiply(new BigDecimal(count)));
+                tErpSupplierOutbound.setGoodsId(tErpSupplierWarehousing2.getGoodsId());
                 erpSupplierOutboundMapper.insert(tErpSupplierOutbound);
 
 
@@ -548,7 +586,7 @@
                 tErpSupplierOutboundGoods.setWarehousingId(tErpSupplierWarehousing1.getId());
                 tErpSupplierOutboundGoods.setWarehousingBatchId(tErpSupplierWarehousingBatch.getId());
                 tErpSupplierOutboundGoods.setOutboundCount(count);
-                tErpSupplierOutboundGoods.setTotalPrice(erpGoods.getSalesAmount().multiply(new BigDecimal(count)));
+                tErpSupplierOutboundGoods.setTotalPrice(tErpSupplierWarehousing1.getUnitAmount().multiply(new BigDecimal(count)));
                 erpSupplierOutboundGoodsMapper.insert(tErpSupplierOutboundGoods);
 
 

--
Gitblit v1.7.1