From 59099ec96f7a2da11df4b0b1593092b0aff38e90 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期四, 23 十月 2025 13:45:52 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpProcurementController.java          |   23 +++++++++++++++++++++++
 ruoyi-system/src/main/resources/mapper/system/TErpClinicWarehousingMapper.xml                  |    4 ++--
 ruoyi-system/src/main/resources/mapper/system/TErpGoodsMapper.xml                              |    2 +-
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpGoodsServiceImpl.java             |    5 ++++-
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpClinicWarehousingServiceImpl.java |   15 +++++++++++++++
 5 files changed, 45 insertions(+), 4 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpProcurementController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpProcurementController.java
index 08ad50e..9e7124c 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpProcurementController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpProcurementController.java
@@ -167,6 +167,29 @@
         return R.ok();
     }
 
+    @ApiOperation(value = "删除采购")
+    @DeleteMapping(value = "/delProcurement/{id}")
+    public R<String> delProcurement(@PathVariable String id) {
+        SysUser user = tokenService.getLoginUser().getUser();
+        Integer roleType = user.getRoleType();
+        String clinicSupplierId=null;
+        if(roleType == 5){
+            // 诊所
+            TCrmClinic crmClinic = crmClinicService.getOne(Wrappers.lambdaQuery(TCrmClinic.class)
+                    .eq(TCrmClinic::getUserId, user.getUserId())
+                    .last("LIMIT 1"));
+            clinicSupplierId = crmClinic.getId();
+        }
+        TErpProcurement tErpProcurement = erpProcurementService.getById(id);
+        if(tErpProcurement.getClinicId().equals(clinicSupplierId)){
+            erpProcurementService.removeById( id);
+            return R.ok();
+        }else {
+            return R.fail("无权限");
+        }
+    }
+
+
 
 
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpClinicWarehousingServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpClinicWarehousingServiceImpl.java
index 1af98b4..c43fcec 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpClinicWarehousingServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpClinicWarehousingServiceImpl.java
@@ -46,6 +46,7 @@
     @Resource
     private TCrmClinicMapper crmClinicMapper;
 
+
     @Resource
     private TErpClinicInventoryGoodsMapper erpClinicInventoryGoodsMapper;
 
@@ -297,6 +298,20 @@
                 tErpGoodsVO.setTypeName(tErpGoodsVO.getTypeName());
             }
         }
+        List<String> unitIds = list.stream().map(TErpGoods::getPackingUnitId).collect(Collectors.toList());
+        if (!unitIds.isEmpty()) {
+            List<TErpGoodsUnit> unitList = erpGoodsUnitMapper.selectBatchIds(unitIds);
+            for (TErpGoodsVO tErpGoodsVO : list) {
+                unitList.stream().filter(t -> t.getId().equals(tErpGoodsVO.getPackingUnitId())).findFirst().ifPresent(t -> tErpGoodsVO.setPackingUnitName(t.getUnitName()));
+            }
+        }
+        List<String> supplierIds = list.stream().map(TErpGoods::getSupplierClinicId).collect(Collectors.toList());
+        if (!supplierIds.isEmpty()) {
+            List<TCrmSupplier> supplierClinicList = crmSupplierMapper.selectBatchIds(supplierIds);
+            for (TErpGoodsVO tErpGoodsVO : list) {
+                supplierClinicList.stream().filter(t -> tErpGoodsVO.getGoodsSource()==1 && t.getId().equals(tErpGoodsVO.getSupplierClinicId())).findFirst().ifPresent(t -> tErpGoodsVO.setSupplierName(t.getSupplierName()));
+            }
+        }
         pageInfo.setRecords(list);
         return pageInfo;
     }
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 5993bcd..c5a4451 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
@@ -502,10 +502,13 @@
             List<TErpClinicOutboundGoods> tErpClinicOutboundGoods2 = erpClinicOutboundGoodsMapper.selectList(new LambdaQueryWrapper<TErpClinicOutboundGoods>().eq(TErpClinicOutboundGoods::getWarehousingBatchId, outboundGoods.getWarehousingBatchId()));
             int sum = tErpClinicOutboundGoods2.stream().mapToInt(TErpClinicOutboundGoods::getOutboundCount).sum();
 
-            int count = tErpClinicWarehousingBatch.getPurchaseCount() - sum;
+            int count = tErpClinicWarehousingBatch.getWarehousingNumber() - sum;
             outboundGoodsDetailNextVo.setSurplusCount(count);
 
             outboundGoodsDetailNextVo.setUnitAmount(tErpClinicWarehousingBatch.getUnitAmount());
+            if(outboundGoodsDetailNextVo.getUnitAmount()==null){
+                outboundGoodsDetailNextVo.setUnitAmount(tErpClinicWarehousingBatch.getSalesAmount());
+            }
             outboundGoodsDetailNextVo.setOutboundCount(outboundGoods.getOutboundCount());
             outboundGoodsDetailNextVo.setExpiryDate(tErpClinicWarehousingBatch.getExpiryDate());
             outboundGoodsDetailNextVo.setTotalAmount(outboundGoodsDetailNextVo.getUnitAmount().multiply(new BigDecimal(outboundGoods.getOutboundCount())));
diff --git a/ruoyi-system/src/main/resources/mapper/system/TErpClinicWarehousingMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TErpClinicWarehousingMapper.xml
index b7d350a..ad4eb78 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TErpClinicWarehousingMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TErpClinicWarehousingMapper.xml
@@ -83,13 +83,13 @@
     </select>
 
     <sql id="Base_Column_List1">
-        t1.id, t1.supplier_clinic_id, t1.goods_source, t1.goods_name, t1.goods_id_code, t1.quasi_number, t1.manufacturer, t1.formulation_spec, t1.packing_spec, t1.type_id, t1.goods_yards, t1.maintenance_interval, t1.low_purchase_quantity, t1.low_unit_id, t1.is_prescription_drug, t1.goods_spec, t1.warning_inventory, t1.sales_amount, t1.packing_unit_id, t1.instructions_use, t1.side_effect, t1.clinic_purchase_price, t1.platform_commission_price, t1.create_time, t1.update_time, t1.create_by,t1.`state`, t1.update_by, t1.disabled,
+        t1.id, t1.supplier_clinic_id, t1.goods_source, t1.goods_name, t1.goods_id_code, t1.quasi_number, t1.manufacturer, t1.formulation_spec, t1.packing_spec, t1.type_id, t1.goods_yards, t1.maintenance_interval, t1.low_purchase_quantity, t1.low_unit_id, t1.is_prescription_drug, t1.goods_spec, t1.warning_inventory, t1.sales_amount, t1.packing_unit_id, t1.instructions_use, t1.side_effect, t1.clinic_purchase_price, t1.platform_commission_price, t1.create_time, t1.update_time, t1.create_by,t1.`state`, t1.update_by, t1.disabled,t1.supplier_name,
     </sql>
     <select id="pageList" resultType="com.ruoyi.system.vo.TErpGoodsVO">
         select * from (
         select <include refid="Base_Column_List1"/>
         COALESCE(sum(t2.warehousing_number), 0) - COALESCE(sum(t3.outbound_count), 0) as allNum,
-        SUM(t2.unit_amount * (t2.warehousing_number - COALESCE(t3.outbound_count, 0))) as allTotalPrice,
+        SUM(t2.sales_amount * (t2.warehousing_number - COALESCE(t3.outbound_count, 0))) as allTotalPrice,
         t3.outbound_count,
         COALESCE(sum(t3.outbound_count), 0) as outNum,t4.create_time as createTime1
         from t_erp_goods t1  left join  t_erp_clinic_warehousing_batch t2  on t1.id = t2.goods_id
diff --git a/ruoyi-system/src/main/resources/mapper/system/TErpGoodsMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TErpGoodsMapper.xml
index dd983ac..5a28c41 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TErpGoodsMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TErpGoodsMapper.xml
@@ -212,7 +212,7 @@
         LEFT JOIN t_crm_supplier t4 on t3.supplier_clinic_id = t4.id
         left join (
             select warehousing_batch_id, sum(outbound_count) as outbound_count
-            from t_erp_supplier_outbound_goods
+            from t_erp_clinic_outbound_goods
             group by warehousing_batch_id
         ) t5 on t5.warehousing_batch_id =t1.id
         where t2.disabled = 0  and t2.clinic_id =#{supplierClinicId}

--
Gitblit v1.7.1