222
schangxiang@126.com
2025-09-29 f782248da68c035aae12f902f29d828e9867abb0
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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
using FineUIPro;
using iWareCommon.Common.Entity;
using iWareDataCore.BASE.Service;
using iWareDataCore.TASK.Entity;
using iWareDataCore.TASK.Service;
using iWareWms;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
 
 
namespace iWareWms.View.TASK.MainTaskView
{
    public partial class NewMainTask : PageBase
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //var screenWidth = (int)Session[_screenWidth];
                //GridMainTask.Width = new System.Web.UI.WebControls.Unit((int)screenWidth * 0.85);
                tbTaskNo.Text = DateTime.Now.ToFileTime().ToString();
            }
        }
        /// <summary>
        /// 点击重置按钮后触发的事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnCancel_Click(object sender, EventArgs e)
        {
         
            tbTaskNo.Text = DateTime.Now.ToFileTime().ToString();
            tbMateriaCode.Text = string.Empty;
            tbMateriaCode.Focus();
 
        }
        /// <summary>
        /// 生成主任务
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            string mcode = tbMateriaCode.Text.Trim();
            if (string.IsNullOrEmpty(tbTaskNo.Text.Trim()))
            {
            Alert.ShowInTop("未获取到主任务号!");
                return;
            }
            if (string.IsNullOrEmpty(mcode))
            {
                Alert.ShowInTop("未获取到物料号!");
                return;
            }
            string msg;
            var materialViews = MaterialViewService.GetInstance().QueryByParam(new QueryParam
            {
                Search = new Dictionary<string, object> { { "Code", mcode } }
            }, out msg);
            if (!string.IsNullOrEmpty(msg))
            {
                Alert.ShowInTop(msg);
                return;
            }
            if (materialViews.Count < 0)
            {
                Alert.ShowInTop("此物料不存在,请先录入!");
            }
            //出库任务时,判断库存是否有此物料
            var list = new List<string>();
            var placeMaterial = PlaceMaterialViewService.GetInstance().QueryByParam(new QueryParam
            {
                Search = new Dictionary<string, object> { { "Code", mcode } }
            }, out msg);
 
            var placeviewlst =PlaceService.GetInstance().GetEmptyAndInOutGate();
            //入库任务时,判断库存是否有空库位
            var sourcePlaceCode = "";
            var toPlaceCode = "";
            if (ddlTaskType.SelectedValue == "0")//入库任务
            {
                var plave = placeviewlst.FirstOrDefault(x => x.PlaceTypeName == "普通库位");
                var toplace = placeviewlst.FirstOrDefault(x => x.PlaceTypeName == "gate11");
                sourcePlaceCode =toplace.Code;
                toPlaceCode = plave.Code;
            }
            else//出库任务
            {
                var pm = placeMaterial.FirstOrDefault(x => x.MaterialCode == mcode);
                if (pm!=null)
                {
                    var toplace = placeviewlst.FirstOrDefault(x => x.PlaceTypeName == "gate22");
                    sourcePlaceCode = pm.PlaceCode;
                    toPlaceCode =toplace.Code;
                }
                else
                {
                    Alert.ShowInTop("库存中不存在该物料!");
                }
            }
            var mainTask = MainTaskService.GetInstance().Save(new MainTaskEntity
            {
                TaskNo = tbTaskNo.Text.Trim(),
                TaskType = int.Parse(ddlTaskType.SelectedValue),
                MaterialCode = tbMateriaCode.Text.ToString(),
                SysCode = "1",
                SendTime = DateTime.Now,
                SourcePlace = sourcePlaceCode,
                ToPlace = toPlaceCode,
                ProcessCardNumber = "",
                Quantity = 1,
                Status = 0,
                DecompositionTime = DateTime.Now,
                WipStatus = 0,
                DecompositionTimes = 0,
                PackageNo = "",
                IsLots = 0,
                Priority = 0,
            }, out msg);
            if (!string.IsNullOrEmpty(msg))
            {
                Alert.ShowInTop(msg);
                return;
            }
            Alert.ShowInTop("生成成功!");
            btnCancel_Click(null, null);
        }
    }
}