1
zxx
2025-07-07 14418bf90619163acb85da349a3f1bd7809014d7
1
3个文件已修改
5个文件已删除
325 ■■■■ 已修改文件
.vs/HH.WCS.XiaoMi/FileContentIndex/37d7396f-518e-43c3-b0c1-30ccf729eafc.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
.vs/HH.WCS.XiaoMi/FileContentIndex/81c01aa5-5c55-4d77-9c5a-dc6930820a29.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
.vs/HH.WCS.XiaoMi/FileContentIndex/9af7476d-40d3-41e9-b899-299a661be901.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
.vs/HH.WCS.XiaoMi/FileContentIndex/c5c9718c-4f52-48de-9047-30704395312a.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
.vs/HH.WCS.XiaoMi/FileContentIndex/c9c95b20-3edf-4c0d-ab79-3caa54d0597e.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/models/bigMaterial.cs 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/models/smallMaterial.cs 69 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/process/TaskProcess.cs 227 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.vs/HH.WCS.XiaoMi/FileContentIndex/37d7396f-518e-43c3-b0c1-30ccf729eafc.vsidx
Binary files differ
.vs/HH.WCS.XiaoMi/FileContentIndex/81c01aa5-5c55-4d77-9c5a-dc6930820a29.vsidx
Binary files differ
.vs/HH.WCS.XiaoMi/FileContentIndex/9af7476d-40d3-41e9-b899-299a661be901.vsidx
Binary files differ
.vs/HH.WCS.XiaoMi/FileContentIndex/c5c9718c-4f52-48de-9047-30704395312a.vsidx
Binary files differ
.vs/HH.WCS.XiaoMi/FileContentIndex/c9c95b20-3edf-4c0d-ab79-3caa54d0597e.vsidx
Binary files differ
HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/models/bigMaterial.cs
@@ -1,45 +1,32 @@
using HH.WCS.XiaoMi.models;
using SqlSugar;
using System;
using System.Collections.Generic;
namespace HH.WCS.XiaoMi
{
    public class smallMaterial : BaseModel
    public class bigMaterial : BaseModel
    {
        //订单TS名字
        public string ts_name { get; set; }
        public string createdNamne { get; set; }
        public string routeType { get; set; }
        //订单优先级
        public string priority { get; set; }
        //任务类型 自动,人工
        public string taskType { get; set; }
        //料架编码
        public string rackCode { get; set; }
        //TS订单参数
        public List<Parameters> parameters { get; set; }
        public parameters parameters { get; set; }
        public string taskID { get; set; }
        //任务明细号
        public string order_name { get; set; }
        //订单创建时间(传时间戳)
        public DateTime dead_line { get; set; }
        
    }
    public class Parameters
    public class parameters
    {
        //立库起点、大件起点
        public string src { get; set; }
        //料架仓位明细
        public string trayCode { get; set; }
        //流利料架位置
        public string src_area { get; set; }
        public string dst { get; set; }
        //零件类
        public string dst_area { get; set; }
        public string sku { get; set; }
        //任务号
        public string BatchNo { get; set; }
        public string issueMode { get; set; }
        public int num { get; set; }
HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/models/smallMaterial.cs
@@ -1,34 +1,67 @@
using HH.WCS.XiaoMi.models;
using SqlSugar;
using System;
using System.Collections.Generic;
namespace HH.WCS.XiaoMi
{
    public class bigMaterial : BaseModel
    public class smallMaterial : BaseModel
    {
        public string ts_name { get; set; }
        public string createdNamne { get; set; }
        public parameters parameters { get; set; }
        //料架编号
        public string rackNumber { get; set; }
        //配送路径
        public string shippingRoute { get; set; }
        //料架编号
        public List<smallTaskList> taskList { get; set; }
        public string taskID { get; set; }
        public string order_name { get; set; }
        public DateTime dead_line { get; set; }
        
    }
    public class parameters
    public class smallTaskList
    {
        public string src { get; set; }
        public string src_area { get; set; }
        public string dst { get; set; }
        public string dst_area { get; set; }
        public string sku { get; set; }
        public string BatchNo { get; set; }
        public string issueMode { get; set; }
        public int num { get; set; }
        //任务明细号
        public string taskName { get; set; }
        //订单优先级
        public string priority { get; set; }
        //截止时间
        public DateTime dead_line { get; set; }
        //脚本名称
        public string ts_name { get; set; }
        //创建者名称
        public string createdName { get; set; }
        //任务编号
        public string taskID { get; set; }
        //料架库位
        public string rackPosition { get; set; }
        //TS订单参数
        public List<Parameters> parameters { get; set; }
        //public string routeType { get; set; }
        ////任务类型 自动,人工
        //public string taskType { get; set; }
        ////料架编码
        //public string rackCode { get; set; }
        ////任务明细号
        //public string order_name { get; set; }
    }
    public class Parameters
    {
        //任务号
        public string BatchNo { get; set; }
        //起点
        public string src { get; set; }
        //起点缓存区
        public string src_area { get; set; }
        //终点
        public string dst { get; set; }
        //终点缓存区
        public string dst_area { get; set; }
        //零件类
        public string sku { get; set; }
        //起点缓存区发料方式
        public string issueMode { get; set; }
        //数量
        public int num { get; set; }
    }
}
HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/process/TaskProcess.cs
@@ -385,7 +385,7 @@
                {
                    string src = $"\"src\":\"{mst.S_START_LOC}\",";
                    string dst = $"\"dst\":\"{mst.S_END_LOC}\",";
                    string carrier_type_id = $"\"carrier_type_id\":\"-99\"";
                    string carrier_type_id = $"\"carrier_type_id\":\"1\"";
                    string parmeS = "{";
                    string parmeD = "}";
                    string parme = parmeS + src + dst + carrier_type_id + parmeD;
@@ -1076,125 +1076,124 @@
        }
        
        public static TaskResponse smallMaterial(smallMaterial model) {
            var db = new SqlHelper<Location>().GetInstance();
        //public static TaskResponse smallMaterial(smallMaterial model) {
        //    var db = new SqlHelper<Location>().GetInstance();
            string Message = null;
        //    string Message = null;
            //拆分成两条任务,一条是料架到指定的缓存区,二是料架上的托盘到指定的工位(小米wcs传)一对多
            var startFrame = db.Queryable<LocFrameRel>().Where(a => a.S_LOC_CODE == model.parameters[0].src).First();
        //    //拆分成两条任务,一条是料架到指定的缓存区,二是料架上的托盘到指定的工位(小米wcs传)一对多
        //    var startFrame = db.Queryable<LocFrameRel>().Where(a => a.S_LOC_CODE == model.taskList[0].parameters[0].src).First();
            var startLoc = db.Queryable<Location>().Where(a => a.S_CODE == startFrame.S_FRAME_CODE).First();
            if (startLoc == null || startLoc.N_LOCK_STATE != 0)
            {
                return new TaskResponse
                {
                    header = new ResponseHead { code = 0, desc = $"{model.parameters[0].src}库位已被锁定!" }
                };
            }
            var endReservoirs = Settings.ReservoirAreas.Where(s => s.areaName == model.routeType).FirstOrDefault();
            var endLoc = TaskProcess.InWorkTransport(endReservoirs.areaCode);
            if (endLoc != null)
            {
                //创建到缓存区任务
                var locCntrRel = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == startLoc.S_CODE).First();
                //创建任务
                LogHelper.Info($"创建任务 起点:{startLoc.S_CODE}终点:{endLoc.S_CODE}", model.ts_name);
                var res = TaskProcess.CreateTransportHj(startLoc.S_CODE, endLoc.S_CODE, model.ts_name, locCntrRel.S_FRAME_CODE, 1, 1);
                if (!res)
                {
                    return new TaskResponse
                    {
                        header = new ResponseHead { code = 0, desc = "自动上线任务创建失败" }
                    };
                }
            }
            //料架上的托盘到指定的工位
            foreach (var parameter in model.parameters)
            {
                var startLocHj = db.Queryable<Location>().Where(a => a.S_CODE == parameter.src).First();
                if (startLocHj == null || startLocHj.N_LOCK_STATE != 0)
                {
                     Message = Message==null? $"{model.parameters[0].src}库位已被锁定!": Message+ $"{model.parameters[0].src}库位已被锁定!";
                }
                else
                {
                    //货架上的货判断一下货架有没有锁
                    var startFrameParent = db.Queryable<LocFrameRel>().Where(a => a.S_LOC_CODE == parameter.src).First();
                    if (startFrameParent != null)
                    {
                        var startLocParent = db.Queryable<Location>().Where(a => a.S_CODE == startFrameParent.S_FRAME_CODE).First();
                        if (startLocParent == null || startLocParent.N_LOCK_STATE != 0)
                        {
                            return new TaskResponse
                            {
                                header = new ResponseHead { code = 0, desc = $"{startFrameParent.S_FRAME_CODE}货架已被锁定!" }
                            };
                        }
                    }
                    var endLocHj = db.Queryable<Location>().Where(a => a.S_CODE == parameter.dst).First();
                    if (endLocHj == null || endLocHj.N_LOCK_STATE != 0 || endLocHj.C_ENABLE != "Y")
                    {
                        //应该绕路
        //    var startLoc = db.Queryable<Location>().Where(a => a.S_CODE == startFrame.S_FRAME_CODE).First();
        //    if (startLoc == null || startLoc.N_LOCK_STATE != 0)
        //    {
        //        return new TaskResponse
        //        {
        //            header = new ResponseHead { code = 0, desc = $"{model.taskList[0].parameters[0].src}库位已被锁定!" }
        //        };
        //    }
        //    var endLoc = TaskProcess.InWorkTransport(model.shippingRoute);
        //    if (endLoc != null)
        //    {
        //        //创建到缓存区任务
        //        var locCntrRel = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == startLoc.S_CODE).First();
        //        //创建任务
        //        LogHelper.Info($"创建任务 起点:{startLoc.S_CODE}终点:{endLoc.S_CODE}", model.ts_name);
        //        var res = TaskProcess.CreateTransportHj(startLoc.S_CODE, endLoc.S_CODE, model.ts_name, locCntrRel.S_FRAME_CODE, 1, 1);
        //        if (!res)
        //        {
        //            return new TaskResponse
        //            {
        //                header = new ResponseHead { code = 0, desc = "自动上线任务创建失败" }
        //            };
        //        }
        //    }
        //    //料架上的托盘到指定的工位
        //    foreach (var parameter in model.parameters)
        //    {
        //        var startLocHj = db.Queryable<Location>().Where(a => a.S_CODE == parameter.src).First();
        //        if (startLocHj == null || startLocHj.N_LOCK_STATE != 0)
        //        {
        //             Message = Message==null? $"{model.parameters[0].src}库位已被锁定!": Message+ $"{model.parameters[0].src}库位已被锁定!";
        //        }
        //        else
        //        {
        //            //货架上的货判断一下货架有没有锁
        //            var startFrameParent = db.Queryable<LocFrameRel>().Where(a => a.S_LOC_CODE == parameter.src).First();
        //            if (startFrameParent != null)
        //            {
        //                var startLocParent = db.Queryable<Location>().Where(a => a.S_CODE == startFrameParent.S_FRAME_CODE).First();
        //                if (startLocParent == null || startLocParent.N_LOCK_STATE != 0)
        //                {
        //                    return new TaskResponse
        //                    {
        //                        header = new ResponseHead { code = 0, desc = $"{startFrameParent.S_FRAME_CODE}货架已被锁定!" }
        //                    };
        //                }
        //            }
        //            var endLocHj = db.Queryable<Location>().Where(a => a.S_CODE == parameter.dst).First();
        //            if (endLocHj == null || endLocHj.N_LOCK_STATE != 0 || endLocHj.C_ENABLE != "Y")
        //            {
        //                //应该绕路
                        Message = Message == null ? $"{parameter.dst}库位已被锁定!" : Message + $"{parameter.dst}库位已被锁定!";
                    }
                    else
                    {
                        //货架上的货判断一下货架有没有锁
                        var endFrameParent = db.Queryable<LocFrameRel>().Where(a => a.S_LOC_CODE == parameter.dst).First();
                        if (endFrameParent != null)
                        {
                            var endLocParent = db.Queryable<Location>().Where(a => a.S_CODE == endFrameParent.S_FRAME_CODE).First();
                            if (endLocParent == null || endLocParent.N_LOCK_STATE != 0)
                            {
                                return new TaskResponse
                                {
                                    header = new ResponseHead { code = 0, desc = $"{endFrameParent.S_FRAME_CODE}货架已被锁定!" }
                                };
                            }
                        }
                        //创建到缓存区任务
                        var locCntrRel1 = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == startLocHj.S_CODE).First();
                        //创建任务
                        LogHelper.Info($"创建任务 起点:{startLocHj.S_CODE}终点:{endLocHj.S_CODE}", model.ts_name);
                        var res = TaskProcess.CreateTransport(startLocHj.S_CODE, endLocHj.S_CODE, model.ts_name, locCntrRel1.S_CNTR_CODE, 1, 1);
                        if (!res)
                        {
                            return new TaskResponse
                            {
                                header = new ResponseHead { code = 0, desc = "自动上线任务2创建失败" }
                            };
                        }
        //                Message = Message == null ? $"{parameter.dst}库位已被锁定!" : Message + $"{parameter.dst}库位已被锁定!";
        //            }
        //            else
        //            {
        //                //货架上的货判断一下货架有没有锁
        //                var endFrameParent = db.Queryable<LocFrameRel>().Where(a => a.S_LOC_CODE == parameter.dst).First();
        //                if (endFrameParent != null)
        //                {
        //                    var endLocParent = db.Queryable<Location>().Where(a => a.S_CODE == endFrameParent.S_FRAME_CODE).First();
        //                    if (endLocParent == null || endLocParent.N_LOCK_STATE != 0)
        //                    {
        //                        return new TaskResponse
        //                        {
        //                            header = new ResponseHead { code = 0, desc = $"{endFrameParent.S_FRAME_CODE}货架已被锁定!" }
        //                        };
        //                    }
        //                }
        //                //创建到缓存区任务
        //                var locCntrRel1 = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == startLocHj.S_CODE).First();
        //                //创建任务
        //                LogHelper.Info($"创建任务 起点:{startLocHj.S_CODE}终点:{endLocHj.S_CODE}", model.ts_name);
        //                var res = TaskProcess.CreateTransport(startLocHj.S_CODE, endLocHj.S_CODE, model.ts_name, locCntrRel1.S_CNTR_CODE, 1, 1);
        //                if (!res)
        //                {
        //                    return new TaskResponse
        //                    {
        //                        header = new ResponseHead { code = 0, desc = "自动上线任务2创建失败" }
        //                    };
        //                }
                    }
        //            }
                    
                }
            }
            var result = new TaskResponse();
            if (Message != null)
            {
                result = new TaskResponse
                {
                    header = new ResponseHead { code = 0, desc = Message }
                };
            }
            else
            {
                result = new TaskResponse
                {
                    header = new ResponseHead { code = 200, desc = "SUCCESS" },
                    body = new ResponseBody
                    {
                        msg = "success",
                        app_name = "Guozi client",
                        data = new List<ResponseData> { new ResponseData { in_order_id = model.taskID } },
                        version = ""
                    }
                };
            }
            return result;
        }
        //        }
        //    }
        //    var result = new TaskResponse();
        //    if (Message != null)
        //    {
        //        result = new TaskResponse
        //        {
        //            header = new ResponseHead { code = 0, desc = Message }
        //        };
        //    }
        //    else
        //    {
        //        result = new TaskResponse
        //        {
        //            header = new ResponseHead { code = 200, desc = "SUCCESS" },
        //            body = new ResponseBody
        //            {
        //                msg = "success",
        //                app_name = "Guozi client",
        //                data = new List<ResponseData> { new ResponseData { in_order_id = model.taskID } },
        //                version = ""
        //            }
        //        };
        //    }
        //    return result;
        //}