schangxiang@126.com
2025-09-10 3d43ffa3152110b7823f9fa6320c08a6ae02358a
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using wcftest.EnumDefine;
using wcftest.orm;
 
namespace wcftest.BussinessExtension.Handle
{
    /// <summary>
    /// 出入库记录处理类
    /// </summary>
    public class OutInStockTaskHandler
    {
        /// <summary>
        /// 新增出入库记录
        /// </summary>
        /// <param name="plateCode">托盘号</param>
        /// <param name="mod"></param>
        /// <param name="_taskName">任务名称</param>
        /// <param name="_orderCode">来源单号</param>
        /// <param name="_trackNumber">跟踪号</param>
        /// <param name="_materialNumber">物料编号</param>
        /// <param name="_materialName">物料名称</param>
        /// <param name="_unit">单位</param>
        /// <param name="_quantity">变化数量,注意:出库任务记录的数量是负数![EditBy shaocx,2022-03-07]</param>
        /// <param name="_PositionName">库位号</param>
        /// <param name="_remark">说明</param>
        public static void AddOutInStockTask(string plateCode, dbModel mod, OutInStockTaskName _taskName, string _orderCode, string _trackNumber
            , string _materialNumber, string _materialName, string _unit, decimal? _quantity, string _PositionName, string _remark, string _Creator)
        {
            OutInStockTask addOutTask = new OutInStockTask();
            addOutTask.taskName = _taskName.ToString();
            addOutTask.orderCode = _orderCode;
            addOutTask.trackNumber = _trackNumber;
            addOutTask.materialNumber = _materialNumber;
            addOutTask.materialName = _materialName;
            addOutTask.unit = _unit;
            addOutTask.quantity = _quantity;//注意:出库任务记录的数量是负数![EditBy shaocx,2022-03-07]
 
            //增加字段 【EditBy shaocx,2022-03-06】
            addOutTask.PositionName = _PositionName;
            decimal cghw_ProductStorage = 0;
            decimal zcq__ProductStorage = 0;
            decimal dqkw_ProductStorage = 0;
            decimal dqkw_trackNumber_ProductStorage = 0;
            BussinessExtension.GetCurrentProductStorage(mod, addOutTask.materialNumber, addOutTask.PositionName, out cghw_ProductStorage, out zcq__ProductStorage, out dqkw_ProductStorage, addOutTask.trackNumber, out dqkw_trackNumber_ProductStorage);
            addOutTask.CGHW_ProductStorage = cghw_ProductStorage;
            addOutTask.ZCG_ProductStorage = zcq__ProductStorage;
            addOutTask.ext2 = dqkw_ProductStorage.ToString();
            addOutTask.ext3 = dqkw_trackNumber_ProductStorage.ToString();
 
            addOutTask.Remark = _remark;
            addOutTask.creatDate = DateTime.Now;
            addOutTask.Creator = _Creator;
 
            addOutTask.ext1 = plateCode;//托盘号
 
            mod.OutInStockTask.Add(addOutTask);//增加出库记录
        }
 
        /// <summary>
        /// 新增出入库记录
        /// </summary>
        /// <param name="mod"></param>
        /// <param name="_taskName">任务名称</param>
        /// <param name="changeQty">变化数量</param>
        /// <param name="productPosition">库存对象</param>
        /// <param name="_remark">说明</param>
        public static void AddOutInStockTask22(string _Creator,dbModel mod, OutInStockTaskName _taskName, decimal? changeQty, Base_ProductPosition productPosition, string _remark,
            string _orderCode,
            string myPositionName = "")
        {
            OutInStockTask addOutTask = new OutInStockTask();
            addOutTask.taskName = _taskName.ToString();
            addOutTask.orderCode = _orderCode;//来源单号不知道??
            addOutTask.trackNumber = productPosition.ExtendField04;//跟踪号
            addOutTask.materialNumber = productPosition.ProductCode;
            addOutTask.materialName = productPosition.ProductName;
            addOutTask.unit = productPosition.SmallUnit;
 
            if (_taskName == OutInStockTaskName.清库任务 || _taskName == OutInStockTaskName.出库任务 || _taskName == OutInStockTaskName.退货任务)
            {
                changeQty = -changeQty;
            }
            addOutTask.quantity = changeQty;//注意:出库任务记录的数量是负数![EditBy shaocx,2022-03-07]
 
            //增加字段 【EditBy shaocx,2022-03-06】
            addOutTask.PositionName = productPosition.PositionName;
            if (!string.IsNullOrEmpty(myPositionName))
            {//增加适用 移库场景的情况 【Editby shaocx,2022-10-20】
                addOutTask.PositionName = myPositionName;
            }
            decimal cghw_ProductStorage = 0;
            decimal zcq__ProductStorage = 0;
            decimal dqkw_ProductStorage = 0;
            decimal dqkw_trackNumber_ProductStorage = 0;
            BussinessExtension.GetCurrentProductStorage(mod, addOutTask.materialNumber, addOutTask.PositionName, out cghw_ProductStorage, out zcq__ProductStorage, out dqkw_ProductStorage, addOutTask.trackNumber, out dqkw_trackNumber_ProductStorage);
            addOutTask.CGHW_ProductStorage = cghw_ProductStorage;
            addOutTask.ZCG_ProductStorage = zcq__ProductStorage;
            addOutTask.ext2 = dqkw_ProductStorage.ToString();
            addOutTask.ext3 = dqkw_trackNumber_ProductStorage.ToString();
 
            addOutTask.Remark = _remark;
            addOutTask.creatDate = DateTime.Now;
            addOutTask.Creator = _Creator;
 
            addOutTask.ext1 = productPosition.PlateCode;//托盘号
 
 
            mod.OutInStockTask.Add(addOutTask);//增加出库记录
        }
    }
}