Tjiny
7 天以前 6d40f7c8b19efc612f824ee7e778d5be9f8382f5
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
using System;
using System.Collections.Generic;
using System.Linq;
using HH.WCS.Mobox3.RiDong.generalMethod;
using HH.WCS.Mobox3.RiDong.models;
using HH.WCS.Mobox3.RiDong.util;
 
namespace HH.WCS.Mobox3.RiDong.dispatch;
 
public class NDCHelper
{
    public static void Test()
    {
        //dic.Add("Ext1", ""); dic.Add("Ext2", ""); dic.Add("N_CNTR_COUNT", "");
        //var r = callClient.AddNewOrderAsync(new AddNewOrderRequest() { bufin = "<Req><Order Pri='1' TS='1' From='1' To='2' No='123471118_1'  Ext1='1' Ext2='CALLADDAGV'  N_CNTR_COUNT='' /></Req>" });
        //r.Wait();
 
        var dic = new Dictionary<string, string>();
        dic.Add("Pri", "1"); dic.Add("From", "1"); dic.Add("To", "1"); dic.Add("No", "12311411718_2");// dic.Add("Ext1", "1"); dic.Add("Ext2", "CALLADDAGV"); dic.Add("N_CNTR_COUNT", "");
        var result = NDC.AddNewOrder(1, dic);
 
        var dic1 = new Dictionary<string, string>();
        var no = "3454566666";
        dic1.Add("From", "1"); dic1.Add("To", "0"); dic1.Add("No", no);
        result = NDC.AddNewOrder(101, dic1);
 
        var dic2 = new Dictionary<string, string>();
        dic2.Add("ExtDeviceNo", "1"); dic2.Add("From", "2"); dic2.Add("To", "2"); dic2.Add("No", DateTime.Now.Ticks.ToString()); dic2.Add("CtrlVal", "1");
        result = NDC.AddNewOrder(39, dic2);
 
        var dic3 = new Dictionary<string, string>();
        dic3.Add("From", "1"); dic3.Add("To", "9"); dic3.Add("No", no);
        result = NDC.CancelOrder(101, dic3);
 
        var dic4 = new Dictionary<string, string>();
        dic4.Add("ExtDeviceNo", "1"); dic4.Add("CtrlVal", "1"); dic4.Add("DispInfo", "AAAAAAAA"); dic4.Add("No", DateTime.Now.Ticks.ToString());
        result = NDC.StartNewOrderWithQCmd(41, dic4);
 
        var dic5 = new Dictionary<string, string>();
        dic5.Add("ExtDeviceNo", "1"); dic5.Add("CtrlVal", "1"); dic5.Add("No", DateTime.Now.Ticks.ToString());
        result = NDC.StartNewOrderWithQCmd(170, dic5);
 
        var dic6 = new Dictionary<string, string>();
        dic6.Add("ExtDeviceNo", "11"); dic6.Add("From", "2"); dic6.Add("To", "2"); dic6.Add("No", DateTime.Now.Ticks.ToString());
        result = NDC.StartNewOrderWithQCmd(164, dic6);
 
        var dic7 = new Dictionary<string, string>();
        dic7.Add("Param1", "50"); dic7.Add("No", DateTime.Now.Ticks.ToString());
        result = NDC.ChangeOrder(dic7);
    }
 
    public static bool ChangeParam(string taskNo, int param1, int paramNo = 0)
    {
        bool bResult = false;
        var dic = new Dictionary<string, string>();
        dic.Add("No", taskNo);
        if (paramNo >= 0)
        {
            dic.Add("ParamNo", paramNo.ToString());
        }
        dic.Add("Param1", param1.ToString());
        var result = NDC.ChangeOrder(dic);
        return bResult;
    }
    
    /// <summary>
    /// 提升优先级
    /// </summary>
    /// <param name="taskNo"></param>
    /// <param name="param1"></param>
    /// <returns></returns>
    public static bool ChangePri(string taskNo, int param1)
    {
        bool bResult = false;
        var dic = new Dictionary<string, string>();
        dic.Add("No", taskNo);
        dic.Add("Pri", param1.ToString());
        var result = NDC.ChangeOrder(dic);
        return bResult;
    }
 
    public static bool Traffic(string lockNo)
    {
        bool bResult = false;
        var dic = new Dictionary<string, string>();
        dic.Add("ExtDeviceNo", lockNo);
        dic.Add("From", "2");
        dic.Add("To", "2"); dic.Add("No", DateTime.Now.Ticks.ToString());
 
        var result = NDC.StartNewOrderWithQCmd(164, dic);
        return bResult;
    }
 
    public static bool Cancel(string taskNo)
    {
        bool bResult = false;
        var dic = new Dictionary<string, string>();
        dic.Add("No", taskNo);
        dic.Add("IsForce", "1");
 
        var task = AdoSqlMethod<Task>.QueryFirst(p => p.S_CODE == taskNo);
 
        // 判断任务的类型决定巷道的编号
        if (task.N_TYPE == 1 || task.N_TYPE == 3)
        {
            var location = AdoSqlMethod<Location>.QueryFirst(p => p.S_CODE == task.S_END_LOC);
            var roadwayCorrespondingNo = Settings.RoadwayCorrespondingNos.First(p => p.roadway == location.N_ROADWAY);
            dic.Add("ForkliftNo", roadwayCorrespondingNo.no.ToString());
        }
        else if (task.N_TYPE == 2 || task.N_TYPE == 4 || task.N_TYPE == 5 || task.N_TYPE == 6)
        {
            var location = AdoSqlMethod<Location>.QueryFirst(p => p.S_CODE == task.S_START_LOC);
            var roadwayCorrespondingNo = Settings.RoadwayCorrespondingNos.First(p => p.roadway == location.N_ROADWAY);
            dic.Add("ForkliftNo", roadwayCorrespondingNo.no.ToString());
        }
 
        var result = NDC.CancelOrder(1, dic);
        return bResult;
    }
}