New file |
| | |
| | | { |
| | | "Version": 1, |
| | | "WorkspaceRootPath": "C:\\software\\A-\u5DE5\u4F5C\\\u6E90\u7801\\GIT\\\u519C\u592B\u6797\u829D\\HH.WCS.Mobox3.NongFuLinZhi\\", |
| | | "Documents": [], |
| | | "DocumentGroupContainers": [ |
| | | { |
| | | "Orientation": 0, |
| | | "VerticalTabListWidth": 256, |
| | | "DocumentGroups": [ |
| | | { |
| | | "DockedWidth": 200, |
| | | "SelectedChildIndex": -1, |
| | | "Children": [ |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:0:0:{eefa5220-e298-11d0-8f78-00a0c9110057}" |
| | | }, |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:0:0:{3ae79031-e1bc-11d0-8f78-00a0c9110057}" |
| | | }, |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:130:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}" |
| | | }, |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:128:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}" |
| | | }, |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:0:0:{b1e99781-ab81-11d0-b683-00aa00a3ee26}" |
| | | }, |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:129:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}" |
| | | }, |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}" |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | "DockedWidth": 22, |
| | | "SelectedChildIndex": -1, |
| | | "Children": [ |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:0:0:{d78612c7-9962-4b83-95d9-268046dad23a}" |
| | | }, |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:0:0:{34e76e81-ee4a-11d0-ae2e-00a0c90fffc3}" |
| | | }, |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:1:0:{e8034f19-ab72-4f06-83fd-f6832b41aa63}" |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |
New file |
| | |
| | | |
| | | Microsoft Visual Studio Solution File, Format Version 12.00 |
| | | # Visual Studio Version 17 |
| | | VisualStudioVersion = 17.12.35707.178 d17.12 |
| | | MinimumVisualStudioVersion = 10.0.40219.1 |
| | | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HH.WCS.Mobox3.NFLZ", "HH.WCS.Mobox3.NFLZ.csproj", "{2C0C3BD1-8DCF-4417-8C6B-E67EC9314F4E}" |
| | | EndProject |
| | | Global |
| | | GlobalSection(SolutionConfigurationPlatforms) = preSolution |
| | | Debug|Any CPU = Debug|Any CPU |
| | | Release|Any CPU = Release|Any CPU |
| | | EndGlobalSection |
| | | GlobalSection(ProjectConfigurationPlatforms) = postSolution |
| | | {2C0C3BD1-8DCF-4417-8C6B-E67EC9314F4E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
| | | {2C0C3BD1-8DCF-4417-8C6B-E67EC9314F4E}.Debug|Any CPU.Build.0 = Debug|Any CPU |
| | | {2C0C3BD1-8DCF-4417-8C6B-E67EC9314F4E}.Release|Any CPU.ActiveCfg = Release|Any CPU |
| | | {2C0C3BD1-8DCF-4417-8C6B-E67EC9314F4E}.Release|Any CPU.Build.0 = Release|Any CPU |
| | | EndGlobalSection |
| | | GlobalSection(SolutionProperties) = preSolution |
| | | HideSolutionNode = FALSE |
| | | EndGlobalSection |
| | | EndGlobal |
| | |
| | | //添加自定义线程 |
| | | |
| | | //tasks.Add(GetTask(Monitor.CheckDevice)); |
| | | tasks.Add(GetTask(Monitor.BottleBlankTransportation)); //瓶盖转运 |
| | | tasks.Add(GetTask(Monitor.BottleBlankTransportation)); //接驳位入库 |
| | | //tasks.Add(GetTask(Monitor.BCPWorkSurveillance)); //半成品工单监控 |
| | | |
| | | Task.WaitAll(tasks.ToArray()); |
| | |
| | | using HH.WCS.Mobox3.NFLZ.wms; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Configuration; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading; |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 瓶盖转运 |
| | | /// 转运任务 |
| | | /// </summary> |
| | | internal static void BottleBlankTransportation() |
| | | { |
| | | var db = new SqlHelper<object>().GetInstance(); |
| | | var jbwInfo = Settings.areaInfos.Where(a => a.areaName == "瓶盖入库接驳位" && a.enable == 1).FirstOrDefault(); |
| | | if (jbwInfo != null) |
| | | #region 瓶盖满托入库 |
| | | var areaInfo = Settings.areaInfos.Where(a => a.areaName == "瓶盖入库接驳" && a.enable == 1).FirstOrDefault(); |
| | | if (areaInfo != null) |
| | | { |
| | | var locInfo = db.Queryable<Location>().Where(a => a.S_AREA_CODE == jbwInfo.areaCode && a.N_CURRENT_NUM > 0 && a.S_LOCK_STATE == "无").Includes(a => a.LocCntrRel).First(); |
| | | var locInfo = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM > 0 && a.S_LOCK_STATE == "无").Includes(a => a.LocCntrRel).First(); |
| | | if (locInfo != null) |
| | | { |
| | | LogHelper.Info($"【瓶盖转运】瓶坯接驳位查询到需入库的瓶坯,货位编码:{locInfo.S_CODE}"); |
| | | LogHelper.Info($"【瓶盖满托转运】瓶坯接驳位查询到需入库的瓶坯,货位编码:{locInfo.S_CODE}"); |
| | | if (locInfo.LocCntrRel != null) |
| | | { |
| | | //创建作业 |
| | | WMSHelper.CreateOpTask(locInfo.S_CODE, "", "入库", "瓶盖转运", locInfo.LocCntrRel.S_CNTR_CODE, "瓶盖"); |
| | | WMSHelper.CreateOpTask(locInfo.S_CODE, "", "入库", "接驳位入库", locInfo.LocCntrRel.S_CNTR_CODE, "瓶盖"); |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info($"【瓶盖转运】当前货位未绑定托盘码,货位编码:{locInfo.S_CODE}"); |
| | | LogHelper.Info($"【瓶盖满托转运】当前货位未绑定托盘码,货位编码:{locInfo.S_CODE}"); |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info("【瓶盖转运】瓶坯接驳位未配置"); |
| | | LogHelper.Info("【瓶盖满托转运】瓶盖入库接驳 未配置"); |
| | | } |
| | | #endregion |
| | | |
| | | #region 瓶坯空托入库 |
| | | areaInfo = Settings.areaInfos.Where(a => a.areaName == "瓶盖非即产空框" && a.enable == 1).FirstOrDefault(); |
| | | if(areaInfo != null) |
| | | { |
| | | var locInfo = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM == a.N_CAPACITY && a.S_LOCK_STATE == "无").Includes(a => a.LocCntrRel).First(); |
| | | if(locInfo != null && locInfo.LocCntrRel != null) |
| | | { |
| | | //创建作业 |
| | | WMSHelper.CreateOpTask(locInfo.S_CODE, "", "入库", "瓶盖空托入库", locInfo.LocCntrRel.S_CNTR_CODE, "瓶盖"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info("【瓶盖空托转运】瓶盖非即产空框 未配置"); |
| | | } |
| | | #endregion |
| | | |
| | | #region 瓶坯满托入库 |
| | | areaInfo = Settings.areaInfos.Where(a => a.areaName == "瓶胚入库接驳" && a.enable == 1).FirstOrDefault(); |
| | | if (areaInfo != null) |
| | | { |
| | | var locInfo = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM == a.N_CAPACITY && a.S_LOCK_STATE == "无").First(); |
| | | if (locInfo != null) |
| | | { |
| | | string cntr = ""; |
| | | var cntrList = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == locInfo.S_CODE).ToList(); |
| | | if (cntrList.Count > 0) |
| | | { |
| | | foreach (var a in cntrList) |
| | | { |
| | | cntr = cntr + a.S_CNTR_CODE + ","; |
| | | } |
| | | } |
| | | cntr = cntr.TrimEnd(','); |
| | | //创建作业 |
| | | WMSHelper.CreateOpTask(locInfo.S_CODE, "", "入库", "接驳位入库", cntr, "瓶坯"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info("【瓶坯满托转运】瓶胚入库接驳 未配置"); |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | |
| | | } |
| | | |
| | | |
| | | internal static void JBDEIN() |
| | | { |
| | | var db = new SqlHelper<object>().GetInstance(); |
| | | var areaInfo = Settings.areaInfos.Where(a => a.areaName == "瓶胚入库接驳" && a.enable == 1).FirstOrDefault(); |
| | | if(areaInfo != null) |
| | | { |
| | | var locInfo = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM == a.N_CAPACITY && a.S_LOCK_STATE == "无").First(); |
| | | if(locInfo != null) |
| | | { |
| | | string cntr = ""; |
| | | var cntrList = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == locInfo.S_CODE).ToList(); |
| | | if(cntrList.Count > 0) |
| | | { |
| | | foreach(var a in cntrList) |
| | | { |
| | | cntr = cntr + a.S_CNTR_CODE + ","; |
| | | } |
| | | } |
| | | cntr = cntr.TrimEnd(','); |
| | | //创建作业 |
| | | WMSHelper.CreateOpTask(locInfo.S_CODE, "", "入库", "接驳位入库", cntr, "瓶坯"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info("瓶胚入库接驳 未配置"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | LocationHelper.LockLoc(end.S_CODE, 1); |
| | | var startinfo = db.Queryable<Location>().Where(it => it.S_CODE == a.S_START_LOC).First(); |
| | | var endinfo = db.Queryable<Location>().Where(it => it.S_CODE == end.S_CODE).First(); |
| | | int startLayer = startinfo.N_CURRENT_NUM; |
| | | int endlayer = endinfo.N_CURRENT_NUM + 1; |
| | | if (a.S_OP_DEF_NAME == "接驳位入库" || a.S_OP_DEF_NAME == "瓶盖空托入库") |
| | | { |
| | | startLayer = 1; |
| | | endlayer = 1; |
| | | } |
| | | var wcsTask = new WCSTask |
| | | { |
| | | S_OP_CODE = a.S_CODE, |
| | |
| | | taskType = $"注塑库存空托上线({machine})"; |
| | | } |
| | | |
| | | Location startLoca = TaskProcess.getMStartLoc(db); |
| | | Location startLoca = TaskProcess.getMStartLoc(db,workInfo.S_UsingNow); |
| | | if (startLoca != null) |
| | | { |
| | | //创建作业 |
| | |
| | | { |
| | | 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}"); |
| | | LocationHelper.UnBindingLoc(mst.S_START_LOC, mst.S_CNTR_CODE.Split(',').ToList()); |
| | | LocationHelper.UnBindingLoc(mst.S_START_LOC, mst.S_CNTR_CODE.Split(',').ToList(),mst.S_TYPE); |
| | | } |
| | | else |
| | | { |
| | | Console.WriteLine($"任务{mst.S_CODE} 货位{mst.S_END_LOC}卸货完成,终点绑定容器{mst.S_CNTR_CODE}"); |
| | | LogHelper.Info($"任务{mst.S_CODE} 货位{mst.S_END_LOC}卸货完成,终点绑定容器{mst.S_CNTR_CODE}"); |
| | | LocationHelper.BindingLoc(mst.S_END_LOC, mst.S_CNTR_CODE.Split(',').ToList()); |
| | | LocationHelper.BindingLoc(mst.S_END_LOC, mst.S_CNTR_CODE.Split(',').ToList(),mst.S_TYPE); |
| | | } |
| | | |
| | | } |
| | |
| | | return result; |
| | | } |
| | | |
| | | internal static Location getMStartLoc(SqlSugarClient db) |
| | | internal static Location getMStartLoc(SqlSugarClient db, string usingNow) |
| | | { |
| | | Location result = null; |
| | | var areaInfo = Settings.areaInfos.Where(a => a.areaName == "瓶坯注塑机空托" && a.enable == 1).FirstOrDefault(); |
| | | if(areaInfo != null) |
| | | if(usingNow == "Y") |
| | | { |
| | | var locInfo = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM > 0 && a.S_LOCK_STATE == "无").Includes(a => a.LocCntrRel).First(); |
| | | if(locInfo != null) |
| | | //即产即用 |
| | | var areaInfo = Settings.areaInfos.Where(a => a.areaName == "瓶胚即产空框" && a.enable == 1).FirstOrDefault(); |
| | | if (areaInfo != null) |
| | | { |
| | | result = locInfo; |
| | | var locInfo = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM > 0 && a.S_LOCK_STATE == "无").Includes(a => a.LocCntrRel).First(); |
| | | if (locInfo != null) |
| | | { |
| | | result = locInfo; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info("瓶胚即产空框未配置"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info("瓶坯注塑机空托未配置"); |
| | | //非即产即用 |
| | | var areaInfo = Settings.areaInfos.Where(a => a.areaName == "瓶胚非即产空框" && a.enable == 1).FirstOrDefault(); |
| | | if (areaInfo != null) |
| | | { |
| | | var locList = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM > 0).OrderBy(a => a.N_ROW).OrderByDescending(a => a.N_COL).Take(1).PartitionBy(a => a.N_ROW).Includes(a => a.LocCntrRel).ToList(); |
| | | if(locList.Count > 0) |
| | | { |
| | | foreach(var a in locList) |
| | | { |
| | | int row = a.N_ROW; |
| | | var lockInfo = db.Queryable<Location>().Where(b => b.S_AREA_CODE == areaInfo.areaCode && b.N_ROW == row && b.S_LOCK_STATE.Contains("锁")).First(); |
| | | if(lockInfo == null) |
| | | { |
| | | result = a; |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info("瓶胚非即产空框未配置"); |
| | | } |
| | | } |
| | | |
| | | return result; |
| | | } |
| | | |
| | |
| | | LogHelper.Info($"瓶坯注塑满托下线:类型:{taskName},物料编码:{itemCode}"); |
| | | if (taskName.Contains("即产")) |
| | | { |
| | | //即产即用工单,下线到即产即用库区 |
| | | //即产即用库区有两个线边库,如果即产即用A库区满,则放到即产即用B库区,若即产即用库区都满,则放到瓶坯库区 |
| | | var areaInfo = Settings.areaInfos.Where(a => a.areaName == "瓶坯即产即用A" && a.enable == 1).FirstOrDefault(); |
| | | //注塑机急产即用下线,首先下线到即产即用满框线边,满眶线边满了,下到即产即用满框缓存区,满框缓存区满了,下到入库接驳堆叠位 |
| | | var areaInfo = Settings.areaInfos.Where(a => a.areaName == "瓶胚即产满框" && a.enable == 1).FirstOrDefault(); |
| | | if(areaInfo != null) |
| | | { |
| | | var locInfo = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM < a.N_CAPACITY && a.S_LOCK_STATE == "无").OrderBy(a => a.N_COL).First(); |
| | | var locInfo = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM < a.N_CAPACITY && a.S_LOCK_STATE == "无").OrderBy(a => a.N_ROW).First(); |
| | | if(locInfo != null) |
| | | { |
| | | result = locInfo; |
| | | } |
| | | |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info($"瓶坯注塑满托下线:瓶坯即产即用A 未配置"); |
| | | LogHelper.Info($"瓶坯注塑满托下线:瓶胚即产满框 未配置"); |
| | | } |
| | | if (result == null) |
| | | { |
| | | result = TaskProcess.BCPInOrOut(db, true, "瓶坯即产即用B", itemCode); |
| | | result = TaskProcess.BCPInOrOut(db, true, "瓶胚即产满框缓存区", itemCode); |
| | | } |
| | | if(result == null) |
| | | { |
| | | result = TaskProcess.BCPInOrOut(db, true, "瓶坯库区", itemCode); |
| | | //result = TaskProcess.BCPInOrOut(db, true, "瓶坯库区", itemCode); |
| | | result = getJBLoc(db, result); |
| | | } |
| | | |
| | | } |
| | | else |
| | | { |
| | | //非即产即用工单,下线到非即产即用库区 |
| | | //非即产即用库区只有一个线边库,如果线边库满,则放到瓶坯库区 |
| | | var areaInfo = Settings.areaInfos.Where(a => a.areaName == "瓶坯非即产即用" && a.enable == 1).FirstOrDefault(); |
| | | if (areaInfo != null) |
| | | { |
| | | var locInfo = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM < a.N_CAPACITY && a.S_LOCK_STATE == "无").OrderBy(a => a.N_COL).First(); |
| | | if (locInfo != null) |
| | | { |
| | | result = locInfo; |
| | | } |
| | | result = getJBLoc(db, result); |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | private static Location getJBLoc(SqlSugarClient db, Location result) |
| | | { |
| | | //注塑机非即产即用下线,下到入库接驳堆叠位 |
| | | var areaInfo = Settings.areaInfos.Where(a => a.areaName == "瓶胚入库接驳" && a.enable == 1).FirstOrDefault(); |
| | | if (areaInfo != null) |
| | | { |
| | | var locInfo = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM < a.N_CAPACITY && a.S_LOCK_STATE == "无").OrderBy(a => a.N_COL).First(); |
| | | if (locInfo != null) |
| | | { |
| | | result = locInfo; |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info($"瓶坯注塑满托下线:瓶坯非即产即用 未配置"); |
| | | } |
| | | if (result == null) |
| | | { |
| | | result = TaskProcess.BCPInOrOut(db, true, "瓶坯库区", itemCode); |
| | | LogHelper.Info("瓶坯注塑满托下线:瓶坯入库接驳位暂时未查询到可用货位"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info($"瓶坯注塑满托下线:瓶胚入库接驳 未配置"); |
| | | } |
| | | |
| | | return result; |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | |
| | | /// <param name="loc"></param> |
| | | /// <param name="cntrs"></param> |
| | | /// <returns></returns> |
| | | public static bool UnBindingLoc(string loc, List<string> cntrs) |
| | | public static bool UnBindingLoc(string loc, List<string> cntrs, string type) |
| | | { |
| | | var res = false; |
| | | var db = new SqlHelper<object>().GetInstance(); |
| | |
| | | { |
| | | location.N_CURRENT_NUM = 0; |
| | | } |
| | | |
| | | if (type == "接驳位入库" || type == "瓶盖空托入库") |
| | | { |
| | | location.N_CURRENT_NUM = 0; |
| | | } |
| | | |
| | | location.S_LOCK_STATE = "无"; |
| | | location.N_LOCK_STATE = 0; |
| | | db.Updateable(location).UpdateColumns(it => new { it.N_CURRENT_NUM, it.S_LOCK_STATE, it.N_LOCK_STATE }).ExecuteCommand(); |
| | |
| | | /// <param name="loc"></param> |
| | | /// <param name="cntrs"></param> |
| | | /// <returns></returns> |
| | | public static bool BindingLoc(string loc, List<string> cntrs) |
| | | public static bool BindingLoc(string loc, List<string> cntrs, string type) |
| | | { |
| | | var res = false; |
| | | var db = new SqlHelper<object>().GetInstance(); |
| | |
| | | } |
| | | }); |
| | | location.N_CURRENT_NUM = lcrList.Count + count; |
| | | |
| | | |
| | | |
| | | if(type == "接驳位入库" || type == "瓶盖空托入库") |
| | | { |
| | | location.N_CURRENT_NUM = location.N_CAPACITY; |
| | | } |
| | | |
| | | location.N_LOCK_STATE = 0; |
| | | location.S_LOCK_STATE = "无"; |
| | |
| | | LogHelper.Info($"作业终点不为接驳位 查找库区{a.S_END_AREA} 可用货位"); |
| | | |
| | | //其他库区 |
| | | //var endlist = db.Queryable<Location>() |
| | | //.Where(it => it.S_AREA_CODE == a.S_END_AREA && it.N_CURRENT_NUM < it.N_CAPACITY) |
| | | //.OrderBy(it => it.N_COL) |
| | | //.PartitionBy(it => it.N_ROW) |
| | | //.Take(1) |
| | | //.ToList(); |
| | | //LogHelper.Info($"符合条件的数量{endlist.Count}"); |
| | | //foreach (var item in endlist) |
| | | //{ |
| | | // var lockinfo = db.Queryable<Location>().Where(it => it.N_LOCK_STATE != 0 && it.S_AREA_CODE == item.S_AREA_CODE && it.N_ROW == item.N_ROW).First(); |
| | | // if (lockinfo == null) |
| | | // { |
| | | // result = item; |
| | | // a.S_END_LOC = item.S_CODE; |
| | | // break; |
| | | // } |
| | | // else LogHelper.Info($"货位{lockinfo.S_CODE} 有锁 当前排不可使用"); |
| | | //} |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info($"入库任务 计算终点,任务类型:{a.S_OP_DEF_NAME}"); |
| | | if (a.S_OP_DEF_NAME == "瓶盖转运") |
| | | if (a.S_OP_DEF_NAME == "接驳位入库" || a.S_OP_DEF_NAME == "瓶盖空托入库") |
| | | { |
| | | string itemCode = ""; |
| | | var cntrInfo = db.Queryable<LocCntrRel>().Where(b => b.S_LOC_CODE == a.S_START_LOC).First(); |
| | | if(cntrInfo != null) |
| | | { |
| | | var itemInfo = db.Queryable<CntrItemRel>().Where(b => b.S_CNTR_CODE == cntrInfo.S_CNTR_CODE).First(); |
| | | if(itemInfo != null) |
| | | { |
| | | result = TaskProcess.BCPInOrOut(db, true, a.S_NOTE + "库区",itemInfo.S_ITEM_CODE ); |
| | | itemCode = itemInfo.S_ITEM_CODE; |
| | | } |
| | | } |
| | | result = TaskProcess.BCPInOrOut(db, true, a.S_NOTE + "库区", itemCode); |
| | | } |
| | | if (a.S_OP_DEF_NAME.Contains("注塑") && a.S_OP_DEF_NAME.Contains("满托下线(瓶坯)")) |
| | | { |