杨前锦
2025-06-19 d42ad8b01195def2a9309930e14f90ff13ad47b1
HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_PT/process/TaskProcess.cs
@@ -20,7 +20,6 @@
        /// <param name="mst"></param>
        /// <param name="v"></param>
        internal static void CacheBitUpdate(WCSTask mst, bool load) {
            var trayCarryCount = mst.N_CNTR_COUNT > 0 ? mst.N_CNTR_COUNT : 1;
            if (load) {
                Console.WriteLine($"任务{mst.S_CODE} 货位{mst.S_START_LOC}取货完成,起点解绑容器{mst.S_CNTR_CODE}");
                LogHelper.Info($"任务{mst.S_CODE} 货位{mst.S_START_LOC}取货完成,起点解绑容器{mst.S_CNTR_CODE}");
@@ -245,79 +244,7 @@
                var endLoc = LocationHelper.GetLocation(mst.S_END_LOC);
                if (mst.S_SCHEDULE_TYPE == "NDC") {
                    Console.WriteLine($"SendTask {mst.S_CODE}");
                    var dic = new Dictionary<string, string>();
                    dic.Add("No", mst.S_CODE);
                    dic.Add("Pri", mst.N_PRIORITY.ToString());
                    dic.Add("From", startLoc.S_AGV_SITE);
                    dic.Add("To", endLoc.S_AGV_SITE);
                    if (mst.S_TYPE == "移库")
                    {
                        dic.Add("FUNC", "32");
                    }
                    else
                    {
                        dic.Add("FUNC", "0");
                    }
                    var data = mst.N_END_LAYER + 16 * mst.N_START_LAYER;
                    // 参数4
                    dic.Add("DATA", data.ToString());
                    //物料信息中获取
                    //先获取托盘信息
                    var itemInfo = LocationHelper.GetCntrItem(mst.S_CNTR_CODE);
                    if (itemInfo != null) {
                        // 参数5
                        dic.Add("ItemHeight", itemInfo.N_TS_HEIGHT);
                        //参数6 默认值
                        string[] parts = itemInfo.Item_Spec.Split('*');
                        if (parts.Length > 1)
                        {
                            if (parts[1].Equals("1200"))
                            {
                                dic.Add("TrayType", "1");
                            }
                            else if (parts[1].Equals("1210"))
                            {
                                dic.Add("TrayType", "2");
                            }
                        }
                    }
                    //获取参数7和8
                    dic.Add("FromCol", "0");
                    dic.Add("ToCol", "0");
                    //改起点
                    var flb1 = GetFreeLineBit(startLoc.S_AREA_CODE, startLoc.N_ROW, startLoc.N_COL);
                    if (flb1 != null) {
                        dic["FromCol"] = (startLoc.N_COL - flb1.minCol).ToString();
                        if (mst.N_START_LAYER == 1) {
                            dic["From"] = flb1.bit1.ToString();
                        }
                        else {
                            dic["From"] = flb1.bit2.ToString();
                        }
                    }
                    //改终点
                    var flb = GetFreeLineBit(endLoc.S_AREA_CODE, endLoc.N_ROW, endLoc.N_COL);
                    if (flb != null) {
                        dic["ToCol"] = (endLoc.N_COL - flb.minCol).ToString();
                        if (mst.N_END_LAYER == 1) {
                            dic["To"] = flb.bit1.ToString();
                        }
                        else {
                            dic["To"] = flb.bit2.ToString();
                        }
                    }
                    var res = NDC.AddNewOrderNew(5, mst.N_PRIORITY, mst.S_CODE, dic);
                    if (res != null && (res.Res.ErrCode == 0 || res.Res.ErrCode == 50009)) {
                        //推送成功,修改任务优先级
                        mst.N_B_STATE = 1;
                        WCSHelper.UpdateStatus(mst);
                        result = true;
                    }
                }
                else if (mst.S_SCHEDULE_TYPE == "杭奥") {
                    //调第三方接口