schangxiang@126.com
2025-09-17 ff43ddf18764629ff875478e4e47a7281cbd230a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
using Admin.NET.Core.ReceivingModule.Enum;
using iWareSql.MyDbContext;
using System;
 
namespace Admin.NET.Application
{
    /// <summary>
    /// 采购订单 帮助类
    /// </summary>
    public class PurchaseOrderHelper
    {
 
        /// <summary>
        /// 设置采购订单的状态
        /// </summary>
        /// <param name="purchaseOrderDetail"></param>
        /// <param name="purchaseOrderNo"></param>
        public static void SetSignstatusForPurchaseOrder(ware_purchase_order_details purchaseOrderDetail, string purchaseOrderNo)
        {
            if (purchaseOrderDetail.GoodsQuantity == 0)
            {
                purchaseOrderDetail.SignStatus = (int)EnumSignStatus.待收货;
            }
            else if (purchaseOrderDetail.GoodsQuantity < 0)
            {
                throw new Exception($"采购单号{purchaseOrderNo},行号{purchaseOrderDetail.EBELP},物料号{purchaseOrderDetail.WareMaterialCode}收货数量{purchaseOrderDetail.GoodsQuantity}不能小于0");
            }
            else
            {
                if (purchaseOrderDetail.GoodsQuantity == purchaseOrderDetail.DeliveryQuantity)
                {
                    purchaseOrderDetail.SignStatus = (int)EnumSignStatus.收货完成;
                }
                else if (purchaseOrderDetail.GoodsQuantity < purchaseOrderDetail.DeliveryQuantity)
                {
                    purchaseOrderDetail.SignStatus = (int)EnumSignStatus.收货中;
                }
                else
                {
                    throw new Exception($"采购单号{purchaseOrderNo},行号{purchaseOrderDetail.EBELP},物料号{purchaseOrderDetail.WareMaterialCode}收货数量{purchaseOrderDetail.GoodsQuantity}不能大于总数量{purchaseOrderDetail.DeliveryQuantity}");
                }
            }
        }
    }
}