zxx
2025-07-04 c119ea611cc0e3704cc3be71b5009795323982be
xiaomi
6个文件已修改
110 ■■■■■ 已修改文件
HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/Program.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/core/WCSCore.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/models/WCSTask.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/process/TaskProcess.cs 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/wms/ContainerHelper.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/wms/WCSHelper.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/Program.cs
@@ -77,7 +77,7 @@
                tasks.Add(GetTask(WCSCore.Dispatch));
                //大件呼叫空箱
                tasks.Add(GetTask(WMSCore.bigMateriala2a));
                //tasks.Add(GetTask(WMSCore.bigMateriala2a));
                Task.WaitAll(tasks.ToArray());
            }
HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/core/WCSCore.cs
@@ -74,7 +74,9 @@
                    if (!TaskProcess.Intercept(task))
                    {
                        //使用自定义任务推送
                        TaskProcess.SendGZTask(task);
                        //TaskProcess.SendGZTask(task);
                        TaskProcess.SendXmTask(task);
                    }
                });
HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/models/WCSTask.cs
@@ -53,6 +53,8 @@
        public string S_OP_NAME { get; set; }
        public string S_WORKSHOP_NO { get; set; }
        //存小米任务号
        public string S_WORKSHOP_NAME { get; set; }
        //public int N_START_LAYER { get; internal set; }
        //public int N_END_LAYER { get; internal set; }
HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/process/TaskProcess.cs
@@ -27,6 +27,8 @@
using Newtonsoft.Json.Linq;
using S7.Net;
using System.Threading.Tasks;
using HH.WCS.XiaoMi.LISTA.dispatch;
using static HH.WCS.XiaoMi.LISTA.dispatch.RcsHelper;
namespace HH.WCS.XiaoMi.process
{
@@ -368,7 +370,56 @@
            else { result = true; }
            return result;
        }
        //小米推送任务
        internal static bool SendXmTask(WCSTask mst)
        {
            var result = false;
            var taskState = mst.N_B_STATE;
            if (taskState == 0)
            {
                Console.WriteLine($"任务mst {JsonConvert.SerializeObject(mst)}");
                LogHelper.Info($"任务mst {JsonConvert.SerializeObject(mst)}", "任务");
                var startLoc = LocationHelper.GetLoc(mst.S_START_LOC);
                var endLoc = LocationHelper.GetLoc(mst.S_END_LOC);
                if (startLoc != null && endLoc != null)
                {
                    string src = $"\"src\":\"{startLoc.S_AGV_SITE}\",";
                    string dst = $"\"dst\":\"{endLoc.S_AGV_SITE}\"";
                    string carrier_type_id = $"\"carrier_type_id\":\"-99\"";
                    string parmeS = "{";
                    string parmeD = "}";
                    string parme = parmeS + src + dst + carrier_type_id + parmeD;
                    LogHelper.Info($"推送任务参数{parme}", "任务");
                    AntsTaskModel model = new AntsTaskModel();
                    model.order_name = mst.S_CODE;
                    model.priority = 1;
                    model.dead_line = DateTime.Now.ToString();
                    model.ts_name = mst.S_TYPE;
                    var res = RcsHelper.CreateAntsOrder(model);
                    if (res)
                    {
                        //更新任务状态
                        mst.N_B_STATE = 1;
                        //mst.S_EQ_TASK_CODE = res.ToString();
                        WCSHelper.UpdateStatus(mst);
                        WCSHelper.UpdateEQNo(mst);
                        ////推送成功,修改任务状态
                        //TaskHelper.UpdateStatus(mst, "已推送");
                        ////推送成功,修改国自ID
                        //TaskHelper.UpdateGzId(mst, res);
                        LogHelper.Info($"任务mst {mst.S_CODE}推送成功", "任务");
                        result = true;
                    }
                }
            }
            else { result = true; }
            return result;
        }
        /// <summary>
        /// 创建搬运任务
@@ -390,6 +441,24 @@
            var res = WCSHelper.CreateTask(taskNo, start.Trim(), end.Trim(), taskType, priority, trayCodes, trayCarryCount, startLayer, endLayer);
            if (res)
            {
                result = true;
                //任务创建成功,起点货位出库锁定,终点货位入库锁定
                LocationHelper.LockLoc(start, 2);
                LocationHelper.LockLoc(end, 1);
            }
            return result;
        }
        //小米大件
        public static bool CreateTransportDj(string start, string end, string taskType, string cntrs,string orderName, int startLayer, int endLayer, int trayCarryCount = 1, int priority = 1)
        {
            var result = false;
            var trayCodes = cntrs;
            var taskNo = DateTime.Now.Ticks.ToString();
            var res = WCSHelper.CreateTaskDj(taskNo, start.Trim(), end.Trim(), taskType, priority, trayCodes, orderName,trayCarryCount, startLayer, endLayer);
            if (res)
            {
                result = true;
@@ -957,7 +1026,7 @@
                var locCntrRel = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == startLoc.S_CODE).First();
                //创建任务
                LogHelper.Info($"创建任务 起点:{startLoc.S_CODE}终点:{endLocStr}", model.ts_name);
                var res = TaskProcess.CreateTransport(startLoc.S_CODE, endLocStr, model.ts_name, locCntrRel.S_CNTR_CODE, 1, 1);
                var res = TaskProcess.CreateTransportDj(startLoc.S_CODE, endLocStr, model.ts_name, locCntrRel.S_CNTR_CODE, model.order_name, 1, 1);
                if (!res)
                {
                    return new TaskResponse
HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/wms/ContainerHelper.cs
@@ -685,7 +685,7 @@
            {
                LogHelper.Info($"BindCntrItem=============");
                db.BeginTran();
                var cir = new CntrItemDetail { S_CNTR_CODE = trayCode, S_ITEM_CODE = itemCode, S_ITEM_NAME = itemName, S_BATCH_NO = itemName, F_QTY = num, S_ITEM_SPEC = issueMode };
                var cir = new CntrItemDetail { S_CNTR_CODE = trayCode, S_ITEM_CODE = itemCode, S_ITEM_NAME = itemName, S_BATCH_NO = BatchNo, F_QTY = num, S_ITEM_SPEC = issueMode };
                db.Insertable<CntrItemDetail>(cir).ExecuteCommand();
                db.Ado.CommitTran();
                res = true;
HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/wms/WCSHelper.cs
@@ -105,7 +105,36 @@
                N_SCHEDULE_TYPE = 1,
                N_B_STATE = 0,
                S_B_STATE = WCSTask.GetStateStr(0),
                S_CNTR_CODE = cntrInfo
                //N_START_LAYER = startLayer,
                //N_END_LAYER = endLayer,
                //N_CNTR_COUNT = cntrCount
            };
            return CreateTask(TN_Task);
        }
        //小米大件
        internal static bool CreateTaskDj(string no, string from, string to, string taskType, int pri, string cntrInfo,string orderName, int cntrCount = 1, int startLayer = 1, int endLayer = 1)
        {
            var fromLoc = LocationHelper.GetLocation(from);
            var endLoc = LocationHelper.GetLocation(to);
            WCSTask TN_Task = new WCSTask()
            {
                S_CODE = GenerateTaskNo(),
                S_START_AREA = fromLoc.S_AREA_CODE,
                S_END_AREA = endLoc.S_AREA_CODE,
                S_START_LOC = from,
                S_END_LOC = to,
                S_TYPE = taskType,
                S_OP_CODE = no,
                N_PRIORITY = pri,
                N_SCHEDULE_TYPE = 1,
                N_B_STATE = 0,
                S_B_STATE = WCSTask.GetStateStr(0),
                S_CNTR_CODE = cntrInfo,
                //存小米任务号
                S_WORKSHOP_NO = orderName
                //N_START_LAYER = startLayer,
                //N_END_LAYER = endLayer,
                //N_CNTR_COUNT = cntrCount