lss
2025-05-30 38eff4fc0100131b180ffa872009b502629743f5
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
using HH.WCS.JingyuNongfu.util;
using System;
using System.Collections.Generic;
using System.Text;
 
namespace HH.WCS.JingyuNongfu.dispatch
{
    public class NDCHelper
    {
        //private static NDC NDC = new NDC("http://10.122.160.200:9988/HostToAGV.cgi");
        //private static NDC NDC1 = new NDC("http://10.122.160.200:9989/HostToAGV.cgi");//10.122.160.200:9989    192.168.1.146:9988
        private static NDC NDC = new NDC(Settings.HostToAgvServerUrl);
        private static NDC NDC1 = new NDC(Settings.HostToAgvServerUrl);
        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);
        }
 
        /// <summary>
        /// 安全请求默认是二期的
        /// </summary>
        /// <param name="taskNo"></param>
        /// <param name="param1"></param>
        /// <param name="paramNo"></param>
        public static void ChangeParam(string taskNo, int param1, int paramNo = 0) {
            var dic = new Dictionary<string, string>();
            dic.Add("No", taskNo);
            if (paramNo >= 0) {
                dic.Add("ParamNo", paramNo.ToString());
            }
            dic.Add("Param1", param1.ToString());
            NDC.ChangeOrder(dic);
        }
 
        public static void Traffic(string unit, string lockNo, bool first = false) {
            var dic = new Dictionary<string, string>();
            dic.Add("From", lockNo);
            dic.Add("To", unit); 
            dic.Add("No", DateTime.Now.Ticks.ToString());
            if (first) {
                NDC.StartNewOrderWithQCmd(164, dic);
            }
            else {
                NDC1.StartNewOrderWithQCmd(164, dic);
            }
        }
        public static void Traffic(string lockNo,bool first = false) {
            var dic = new Dictionary<string, string>();
            dic.Add("From", lockNo);           
            dic.Add("No", DateTime.Now.Ticks.ToString());
            if (first) {
                NDC.StartNewOrderWithQCmd(164, dic);
            }
            else {
                NDC1.StartNewOrderWithQCmd(164, dic);
            }
        }
 
        public static NDC.AGVResult Cancel(string taskNo, bool first = true, int ts = 1) {
            var dic = new Dictionary<string, string>();
            dic.Add("No", taskNo);
            dic.Add("IsForce", "1");
            if (first) {
                return NDC.CancelOrder(ts, dic);
            }
            else {
                return NDC1.CancelOrder(ts, dic);
            }
        }
 
        /// <summary>
        /// 默认二期的任务下发
        /// </summary>
        /// <param name="ts"></param>
        /// <param name="dic"></param>
        /// <returns></returns>
        public static bool AddTask(int ts, Dictionary<string, string> dic) {
            var res = NDC1.AddNewOrder(ts, dic);
            if (res != null && (res.Res.ErrCode == 0 || res.Res.ErrCode == 50009)) {
                return true;
            }
            else {
                return false;
            }
        }
        public static bool AddTaskNew(int ts, int pri, string taskNo, Dictionary<string, string> dic) {
            var res = NDC1.AddNewOrderNew(ts, pri, taskNo, dic);
            if (res != null && (res.Res.ErrCode == 0 || res.Res.ErrCode == 50009)) {
                return true;
            }
            else {
                return false;
            }
        }
    }
}