1
zxx
2025-07-04 32a9985c4a3a326d4c30432374247cca5e172c93
HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/process/TaskProcess.cs
@@ -379,12 +379,12 @@
            {
                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)
                //var startLoc = LocationHelper.GetLoc(mst.S_START_LOC);
                //var endLoc = LocationHelper.GetLoc(mst.S_END_LOC);
                if (mst.S_START_LOC != null && mst.S_END_LOC != null)
                {
                    string src = $"\"src\":\"{startLoc.S_AGV_SITE}\",";
                    string dst = $"\"dst\":\"{endLoc.S_AGV_SITE}\"";
                    string src = $"\"src\":\"{mst.S_START_LOC}\",";
                    string dst = $"\"dst\":\"{mst.S_END_LOC}\",";
                    string carrier_type_id = $"\"carrier_type_id\":\"-99\"";
                    string parmeS = "{";
                    string parmeD = "}";
@@ -396,7 +396,12 @@
                    model.priority = 1;
                    model.dead_line = DateTime.Now.ToString();
                    model.ts_name = mst.S_TYPE;
                    model.parameters = parme;
                    //model.parameters = new AntsParasModel {
                    //    src = mst.S_START_LOC,
                    //    dst = mst.S_END_LOC,
                    //    carrier_type_id="-99"
                    //};
                    var res = RcsHelper.CreateAntsOrder(model);
                    if (res)
                    {
@@ -963,65 +968,66 @@
                switch (model.ts_name)
                {
                    case "p2p":
                        startLoc = db.Queryable<Location>().Where(a => a.S_CODE == model.parameter.src).First();
                        startLoc = db.Queryable<Location>().Where(a => a.S_CODE == model.parameters.src).First();
                        if (startLoc == null || startLoc.N_LOCK_STATE != 0 || startLoc.C_ENABLE != "Y")
                        {
                            Message = $"{model.parameter.src}库位已被锁定!";
                            Message = $"{model.parameters.src}库位已被锁定!";
                        }
                        endLocStr = model.parameter.dst;
                        endLocStr = model.parameters.dst;
                        
                        break;
                    case "p2a":
                        startLoc = db.Queryable<Location>().Where(a => a.S_CODE == model.parameter.src).First();
                        startLoc = db.Queryable<Location>().Where(a => a.S_CODE == model.parameters.src).First();
                        if (startLoc == null || startLoc.N_LOCK_STATE != 0 || startLoc.C_ENABLE != "Y")
                        {
                            Message = $"{model.parameter.src}库位已被锁定!";
                            Message = $"{model.parameters.src}库位已被锁定!";
                        }
                        var endLoc = InWorkTransport(model.parameter.dst_area);
                        var endLoc = InWorkTransport(model.parameters.dst_area);
                        if (endLoc==null)
                        {
                            //如果没找到就等第一条
                            endLocStr = db.Queryable<Location>().Where(a => a.S_AREA_CODE.Trim() == model.parameter.dst).OrderByDescending(a => a.N_ROW).ToList()[0].S_CODE;
                            endLocStr = db.Queryable<Location>().Where(a => a.S_AREA_CODE.Trim() == model.parameters.dst).OrderByDescending(a => a.N_ROW).ToList()[0].S_CODE;
                        }
                        break;
                    case "a2p":
                        startLoc = OutWorkTransport(model.parameter.src_area);
                        startLoc = OutWorkTransport(model.parameters.src_area);
                        if (startLoc==null)
                        {
                            Message = $"{model.parameter.dst}库区没有可出货位!";
                            Message = $"{model.parameters.dst}库区没有可出货位!";
                        }
                        endLocStr = model.parameter.dst;
                        endLocStr = model.parameters.dst;
                        break;
                    case "a2a":
                        startLoc = OutWorkTransport(model.parameter.src_area);
                        startLoc = OutWorkTransport(model.parameters.src_area);
                        if (startLoc == null)
                        {
                            Message = $"{model.parameter.src}库区没有可出货位!";
                            Message = $"{model.parameters.src}库区没有可出货位!";
                        }
                        var endLoc1 = InWorkTransport(model.parameter.dst_area);
                        var endLoc1 = InWorkTransport(model.parameters.dst_area);
                        if (endLoc1 == null)
                        {
                            //如果没找到就等第一条
                            endLocStr = db.Queryable<Location>().Where(a => a.S_AREA_CODE.Trim() == model.parameter.dst).OrderByDescending(a => a.N_ROW).ToList()[0].S_CODE;
                            endLocStr = db.Queryable<Location>().Where(a => a.S_AREA_CODE.Trim() == model.parameters.dst).OrderByDescending(a => a.N_ROW).ToList()[0].S_CODE;
                        }
                        break;
                    case "p2u":
                        startLoc = OutWorkTransport(model.parameter.src);
                        startLoc = OutWorkTransport(model.parameters.src);
                        if (startLoc == null)
                        {
                            Message = $"{model.parameter.src}库区没有可出货位!";
                            Message = $"{model.parameters.src}库区没有可出货位!";
                        }
                        endLocStr = "";
                        break;
                }
                LogHelper.Info($"bigMaterial  接收参数{JsonConvert.SerializeObject(model) }");
                //创建托盘货位绑定关系
                string trayCode = ContainerHelper.GenerateCntrNo();
                //绑定起点货位(产线)和物料
                ContainerHelper.BindLocCntrsXm(startLoc.S_CODE, trayCode, model.parameter.sku, "", model.parameter.BatchNo, model.parameter.issueMode, model.parameter.num);
                ContainerHelper.BindLocCntrsXm(startLoc.S_CODE, trayCode, model.parameters.sku, "", model.parameters.BatchNo, model.parameters.issueMode, model.parameters.num);
                var locCntrRel = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == startLoc.S_CODE).First();
                //创建任务
@@ -1070,7 +1076,7 @@
        }
        
        public static TaskResponse autoSmallMaterial(smallMaterial model) {
        public static TaskResponse smallMaterial(smallMaterial model) {
            var db = new SqlHelper<Location>().GetInstance();
            string Message = null;