林豪 左 преди 3 години
родител
ревизия
3b36d355b5

+ 16 - 10
Projects/永冠OPP/WCS.Service/Extensions/DeviceExtension.cs

@@ -817,7 +817,7 @@ namespace WCS.Service.Extensions
         /// <param name="goodsnum">货物数量</param>
         public void WriteTask1(Task task, short goodsnum)
         {
-            InfoLog.INFO_SRMINFO($"写入堆垛机[{Entity.CODE}]1工位-开始:[{Data.TaskID_1}][{Data.SLine_1}][{Data.SCol_1}][{Data.SLayer_1}][{Data.ELine_1}][{Data.VoucherNo_1}]");
+            InfoLog.INFO_SRMINFO($"出库--写入堆垛机[{Entity.CODE}]1工位-开始:[{Data.TaskID_1}][{Data.SLine_1}][{Data.SCol_1}][{Data.SLayer_1}][{Data.ELine_1}][{Data.VoucherNo_1}]");
             Data.TaskID_1 = task.ID;
             Data.SLine_1 = task.Line;
             Data.SCol_1 = task.Col;
@@ -827,7 +827,7 @@ namespace WCS.Service.Extensions
             Data.ELayer_1 = 0;
             Data.RES1_1 = goodsnum;
             Data.VoucherNo_1++;
-            InfoLog.INFO_SRMINFO($"写入堆垛机[{Entity.CODE}]1工位-结束:[{Data.TaskID_1}][{Data.SLine_1}][{Data.SCol_1}][{Data.SLayer_1}][{Data.ELine_1}][{Data.VoucherNo_1}]");
+            InfoLog.INFO_SRMINFO($"出库--写入堆垛机[{Entity.CODE}]1工位-结束:[{Data.TaskID_1}][{Data.SLine_1}][{Data.SCol_1}][{Data.SLayer_1}][{Data.ELine_1}][{Data.VoucherNo_1}]");
         }
 
         /// <summary>
@@ -837,7 +837,7 @@ namespace WCS.Service.Extensions
         /// <param name="goodsnum">货物数量</param>
         public void WriteTask2(Task task, short goodsnum)
         {
-            InfoLog.INFO_SRMINFO($"写入堆垛机[{Entity.CODE}]2工位-开始:[{Data.TaskID_2}][{Data.SLine_2}][{Data.SCol_2}][{Data.SLayer_2}][{Data.ELine_2}][{Data.VoucherNo_2}]");
+            InfoLog.INFO_SRMINFO($"出库--写入堆垛机[{Entity.CODE}]2工位-开始:[{Data.TaskID_2}][{Data.SLine_2}][{Data.SCol_2}][{Data.SLayer_2}][{Data.ELine_2}][{Data.VoucherNo_2}]");
             Data.TaskID_2 = task.ID;
             Data.SLine_2 = task.Line;
             Data.SCol_2 = task.Col;
@@ -847,7 +847,7 @@ namespace WCS.Service.Extensions
             Data.ELayer_2 = 0;
             Data.RES1_2 = goodsnum;
             Data.VoucherNo_2++;
-            InfoLog.INFO_SRMINFO($"写入堆垛机[{Entity.CODE}]2工位-结束:[{Data.TaskID_2}][{Data.SLine_2}][{Data.SCol_2}][{Data.SLayer_2}][{Data.ELine_2}][{Data.VoucherNo_2}]");
+            InfoLog.INFO_SRMINFO($"出库--写入堆垛机[{Entity.CODE}]2工位-结束:[{Data.TaskID_2}][{Data.SLine_2}][{Data.SCol_2}][{Data.SLayer_2}][{Data.ELine_2}][{Data.VoucherNo_2}]");
         }
 
         /// <summary>
@@ -998,12 +998,6 @@ namespace WCS.Service.Extensions
         static StationLocation()
         {
             ALLlocations.AddRange(new List<StationLocation>() {
-                //new StationLocation("G1187",0,"RGV1",0),
-                //new StationLocation("G1196",0,"RGV1",0),
-                //new StationLocation("G1205",0,"RGV1",0),
-                //new StationLocation("G1214",0,"RGV1",0),
-                //new StationLocation("G1222",0,"RGV1",0),
-                //new StationLocation("G1164",0,"RGV1",0),
                 new StationLocation("G1",486326,"RGV3",1567770),
                 new StationLocation("G2",693631,"RGV3",1567770),
                 new StationLocation("G3",789931,"RGV3",1567770),
@@ -1015,6 +1009,18 @@ namespace WCS.Service.Extensions
                 new StationLocation("G9",1256875,"RGV3",1567770),
                 new StationLocation("G10",1313239,"RGV3",1567770),
                 new StationLocation("G11",1369970,"RGV3",1567770),
+                //new StationLocation("G12",636770,"RGV1",3000000),
+                //new StationLocation("G13",749520,"RGV1",3000000),
+                //new StationLocation("G14",879930,"RGV1",3000000),
+                //new StationLocation("G15",936310,"RGV1",3000000),
+                //new StationLocation("G16",988000,"RGV1",3000000),
+                //new StationLocation("G17",2335849,"RGV1",3000000),
+                //new StationLocation("G18",2415849,"RGV1",3000000),
+                //new StationLocation("G19",2495849,"RGV1",3000000),
+                //new StationLocation("G20",2548012,"RGV1",3000000),
+                //new StationLocation("G21",2606033,"RGV1",3000000),
+                //new StationLocation("G22",2660833,"RGV1",3000000),
+                //new StationLocation("G23",2715603,"RGV1",3000000),
             });
         }
 

+ 18 - 0
Projects/永冠OPP/WCS.Service/Extensions/TaskExtension.cs

@@ -4,6 +4,7 @@ using System.Collections.Generic;
 using System.Linq;
 using WCS.Core;
 using WCS.Entity;
+using WCS.Service.Helpers;
 
 namespace WCS.Service.Extensions
 {
@@ -89,6 +90,23 @@ namespace WCS.Service.Extensions
             //开始检查任务数是否匹配
             if (executable != taskCount) throw new WarnException($"可执行数{executable},任务组任务数{taskCount},数量不匹配,{task.ID}-{task.TaskGroupKey}");
         }
+
+        /// <summary>
+        /// 有效任务数是否符合任务组任务数  临时
+        /// </summary>
+        /// <param name="tasks"></param>
+        /// <param name="executable"></param>
+        /// <param name="db"></param>
+        public static List<WCS_TASK> ValidTaskCheck(this List<FinishTaskList<string>> devs, DB db)
+        {
+            var taskIds = devs.Select(v => v.Station.Data2.Tasknum).ToList();
+            var taskList = db.Default.Set<WCS_TASK>().Where(v => taskIds.Contains(v.ID)).ToList();
+            var task = taskList.FirstOrDefault() ?? throw new WarnException($"ValidTaskCheck 无任务"); ;
+            var taskCount = db.Default.Set<WCS_TASK>().Count(v => v.TaskGroupKey == task.TaskGroupKey && v.TYPE == TaskType.入库);
+            //开始检查任务数是否匹配
+            if (devs.Count != taskCount) throw new WarnException($"可执行数{devs.Count},任务组任务数{taskCount},数量不匹配,{task.ID}-{task.TaskGroupKey}");
+            return taskList;
+        }
     }
 
     public enum SrmIndex

+ 58 - 85
Projects/永冠OPP/WCS.Service/Works/Station/BOPP入库.cs

@@ -7,9 +7,9 @@ using WCS.Core;
 using WCS.Entity;
 using WCS.Entity.Protocol;
 using WCS.Entity.Protocol.SRM;
-using WCS.Service.Entity;
 using WCS.Service.Extensions;
 using WCS.Service.Handlers;
+using WCS.Service.Helpers;
 using TaskStatus = WCS.Entity.TaskStatus;
 
 namespace WCS.Service.Works.Station
@@ -27,51 +27,24 @@ namespace WCS.Service.Works.Station
                 //设备组无论单卷还是双卷都必须满足的条件
                 if (obj.Items.Any(v => v.Data.VoucherNo != v.Data2.VoucherNo)) throw new WarnException($"等待任务执行--凭证号不一致");
                 if (obj.Items.Any(v => v.Data3.Status.HasFlag(StationStatus.运行状态位))) throw new WarnException($"设备运行中");
-                if (obj.Items.Any(v => !v.Data3.Status.HasFlag(StationStatus.低位))) throw new DoException("不在低位");
 
                 //成功创建的任务
-                var finishTaskList = new List<Tuple<int, StationDevice>>();
+                var finishTaskList = new List<FinishTaskList<int>>();
 
                 //创建对应的任务
                 DB.Do(db =>
                 {
-                    var devs = new List<Tuple<StationDevice, string>>();
-
-                    //获取需要执行的设备信息
-                    foreach (var dev in obj.Items)
-                    {
-                        if (dev.Data2.Request != IstationRequest.扫码入库) continue; //没有请求
-                        if (dev.Data2.Tasknum > 10000) continue; //没有任务号
-                        if (!dev.Data2.Status.HasFlag(IstationStatus.光电状态)) continue; //没有光电
-
-                        var bcr = dev.Entity.BCR();
-                        var barcode = bcr.Content.Trim('\r');
-                        if (barcode == "") continue; //扫码失败
-                        devs.Add(new Tuple<StationDevice, string>(dev.Entity.Create<StationDevice>(), barcode));
-                    }
-
-                    if (!devs.Any()) return;
-                    var items = devs.ToArray();
-                    List<I_WCS_GetInTaskResponseItem> Infos = items.Length switch
-                    {
-                        1 => WMS.I_WCS_GetInTask(items[0].Item2, items[0].Item1.Entity.CODE),
-                        2 => WMS.I_WCS_GetInTask(items[0].Item2, items[0].Item1.Entity.CODE, items[1].Item2, items[1].Item1.Entity.CODE),
-                        _ => throw new WarnException($"一组任务数量最大为2,当前{items.Length}"),
-                    };
-                    var agvTask = db.Default.Set<WCS_AGVTask>().Where(v => v.ID == items[0].Item1.Data.Goodscode).FirstOrDefault() ?? throw new WarnException("无完成AGV任务");
-
-                    if (agvTask.Status != AGVTaskStatus.完成扫码)
-                    {
-                        agvTask.Status = AGVTaskStatus.完成扫码;
-                        agvTask.UpdateTime = DateTime.Now;
-                    }
+                    var devs = obj.GetBcrValid();
+                    devs.Valid();
+                    var infos = devs.GetWMSInTask();
 
                     foreach (var item in devs)
                     {
-                        var dev = item.Item1;
+                        var dev = item.Station;
                         var next = dev.Entity.GetPath("SRM");
-                        var info = Infos.FirstOrDefault(v => item.Item2.Contains(v.ContainerCode));
-                        if (db.Default.Set<WCS_TASK>().AsNoTracking().Any(v => v.BARCODE == info.ContainerCode && v.STATUS < TaskStatus.已完成 && v.TYPE == TaskType.入库)) continue;
+                        var info = infos.FirstOrDefault(v => item.FinishCode.Contains(v.ContainerCode));
+                        if (db.Default.Set<WCS_TASK>().AsNoTracking().Any(v => v.BARCODE == info.ContainerCode && v.STATUS < TaskStatus.已完成 && v.TYPE == TaskType.入库))
+                            throw new WarnException($"生产条码{info.ContainerCode}存在未完成任务,请检查是否为标签卡重复使用");
 
                         var task = new WCS_TASK();
                         task.BARCODE = info.ContainerCode;
@@ -86,10 +59,13 @@ namespace WCS.Service.Works.Station
                         task.TaskGroupKey = info.TaskGroupKey;
                         task.ADDRNEXT = next.CODE;
                         task.HEIGHT = dev.Data2.GoodsSize;
-                        task.AgvTask = agvTask.ID;
 
                         db.Default.Set<WCS_TASK>().Add(task);
-                        finishTaskList.Add(new Tuple<int, StationDevice>(task.WMSTASK, dev.Entity.Create<StationDevice>()));
+                        finishTaskList.Add(new FinishTaskList<int>()
+                        {
+                            FinishCode = task.WMSTASK,
+                            Station = item.Station
+                        });
 
                         var msg = $"下达从{dev.Entity.CODE}移动至{next}的PLC指令。";
                         msg += $"[{dev.Data.Tasknum}][{dev.Data.Goodsstart}][{dev.Data.Goodsend}][{dev.Data.VoucherNo}[{dev.Data2.VoucherNo}]";
@@ -104,15 +80,15 @@ namespace WCS.Service.Works.Station
                 {
                     foreach (var finishTask in finishTaskList)
                     {
-                        var task = db.Default.Set<WCS_TASK>().FirstOrDefault(v => v.WMSTASK == finishTask.Item1);
+                        var task = db.Default.Set<WCS_TASK>().FirstOrDefault(v => v.WMSTASK == finishTask.FinishCode);
                         if (task == null) continue;
 
-                        finishTask.Item2.Data.Tasknum = task.ID;
-                        finishTask.Item2.Data.Goodsstart = task.ADDRFROM.ToShort();
-                        finishTask.Item2.Data.Goodsend = task.ADDRNEXT.ToShort();
-                        finishTask.Item2.Data.Goodsnum = (short)finishTaskList.Count;
-                        finishTask.Item2.Data.CmdType = IstationCmdType.扫码入库;
-                        finishTask.Item2.Data.VoucherNo++;
+                        finishTask.Station.Data.Tasknum = task.ID;
+                        finishTask.Station.Data.Goodsstart = task.ADDRFROM.ToShort();
+                        finishTask.Station.Data.Goodsend = task.ADDRNEXT.ToShort();
+                        finishTask.Station.Data.Goodsnum = finishTaskList.Count.ToShort();
+                        finishTask.Station.Data.CmdType = IstationCmdType.扫码入库;
+                        finishTask.Station.Data.VoucherNo++;
                     }
                 });
             });
@@ -140,18 +116,14 @@ namespace WCS.Service.Works.Station
                 if (obj.Items.Any(v => v.Data3.Status.HasFlag(StationStatus.运行状态位))) return;
 
                 //成功分配巷道的任务的任务
-                var finishTaskList = new List<Tuple<int, StationDevice>>();
+                var finishTaskList = new List<FinishTaskList<int>>();
 
                 //变更数据库信息
                 DB.Do(db =>
                 {
-                    var devs = obj.Items.Where(v => v.Data2.Status.HasFlag(IstationStatus.光电状态) && v.Data2.Request == IstationRequest.请求分配目标地址)
-                                           .Where(v => v.Data2.Tasknum > 10000 && v.Data2.Goodsend != 0);
+                    var devs = obj.GetAddressValid();
                     if (!devs.Any()) return; //无可执行任务
-                    var taskIds = devs.Select(dev => dev.Data2.Tasknum).ToList();
-                    var taskList = db.Default.Set<WCS_TASK>().Where(v => taskIds.Contains(v.ID)).ToList();
-
-                    taskList.ValidTaskCheck(devs.Count(), db);
+                    var taskList = devs.ValidTaskCheck(db);
 
                     var res = WMS.GetTunnelList(taskList.Select(v => v.WMSTASK.ToString()).ToList(), code);
                     if (string.IsNullOrEmpty(res.TunnelNum)) throw new WarnException($"WMS未返回巷道");
@@ -176,10 +148,9 @@ namespace WCS.Service.Works.Station
                         var taskInStation = Device.Where(p => p.CODE.StartsWith("G") && p.DEVICEGROUP.Any(d => d.MEMBER == putStation.Entity)).OrderBy(p => p.CODE).FirstOrDefault();
                         //RGV是否有正在前往这个地址的任务
                         var rgvList = Device.Where(v => v.Is(DF.涂布RGV)).Select(v => v.Create<RGVDevice>());
-                        if (rgvList.Any(v => !v.Data2.SystemStatus.HasFlag(WCS.Entity.Protocol.RGV.RGVRunStatus.空闲)
-                                          && !v.Data2.WorkMode.HasFlag(WCS.Entity.Protocol.RGV.RGVMode.自动)
-                                          && v.Data2.TaskType_1 == WCS.Entity.Protocol.RGV.RGVTaskType.放货
-                                          && v.Data2.DestPosition_1 == taskInStation.CODE.Replace("G", "").ToShort())) continue;
+                        if (rgvList.Any(v => (!v.Data2.SystemStatus.HasFlag(WCS.Entity.Protocol.RGV.RGVRunStatus.空闲) || !v.Data2.WorkMode.HasFlag(WCS.Entity.Protocol.RGV.RGVMode.自动))
+                                            && v.Data2.TaskType_1 == WCS.Entity.Protocol.RGV.RGVTaskType.放货
+                                            && v.Data2.DestPosition_1 == taskInStation.CODE.Replace("G", "").ToShort())) continue;
                         tunnelInfos.Add(new TunnelInfo
                         {
                             Tunnel = item,
@@ -196,7 +167,7 @@ namespace WCS.Service.Works.Station
                     //开始变更任务信息
                     foreach (var item in devs)
                     {
-                        var dev = Device.Find(item.Entity.CODE).Create<StationDevice>();
+                        var dev = Device.Find(item.Station.Entity.CODE).Create<StationDevice>();
                         var task = taskList.FirstOrDefault(p => p.ID == dev.Data2.Tasknum);
                         if (task == null) throw new WarnException($"WCS无该任务{dev.Data2.Tasknum}--{dev.Entity.CODE}");
 
@@ -205,10 +176,14 @@ namespace WCS.Service.Works.Station
                         task.ADDRNEXT = tunnelInfo.taskIN.CODE;
                         task.TaskGroupKey = res.WMSTaskGroupKey;
                         task.ADDRTO = task.DEVICE;
-                        var msg = $"下达从G1030移动至{dev.Data.Goodsend}的PLC指令。同时将任务分配至[{ task.TUNNEL }]-[{task.DEVICE}]";
+                        var msg = $"下达从G1030移动至{dev.Data.Goodsend}的PLC指令。同时将任务分配至[{task.TUNNEL}]-[{task.DEVICE}]";
                         msg += $"[{dev.Data.Tasknum}][G1030][{dev.Data.Goodsend}][{tunnelInfo.SRM.Entity.CODE}][{dev.Data.VoucherNo}[{dev.Data2.VoucherNo}]";
                         task.CreateStatusLog(db, msg, this.GetType());
-                        finishTaskList.Add(new Tuple<int, StationDevice>(task.ID, item.Entity.Create<StationDevice>()));
+                        finishTaskList.Add(new FinishTaskList<int>()
+                        {
+                            FinishCode = task.ID,
+                            Station = item.Station
+                        });
                     }
                     db.Default.SaveChanges();
                 });
@@ -218,15 +193,14 @@ namespace WCS.Service.Works.Station
                 {
                     foreach (var finishTask in finishTaskList)
                     {
-                        var task = db.Default.Set<WCS_TASK>().Find(finishTask.Item1);
+                        var task = db.Default.Set<WCS_TASK>().Find(finishTask.FinishCode);
                         if (task == null) continue;
-
-                        finishTask.Item2.Data.Tasknum = task.ID;
-                        finishTask.Item2.Data.Goodsstart = obj.Entity.CODE.Replace("G", "").ToShort();
-                        finishTask.Item2.Data.Goodsend = task.ADDRNEXT.Replace("G", "").ToShort();
-                        finishTask.Item2.Data.Goodsnum = (short)finishTaskList.Count;
-                        finishTask.Item2.Data.CmdType = IstationCmdType.分配目标地址;
-                        finishTask.Item2.Data.VoucherNo++;
+                        finishTask.Station.Data.Tasknum = task.ID;
+                        finishTask.Station.Data.Goodsstart = obj.Entity.CODE.Replace("G", "").ToShort();
+                        finishTask.Station.Data.Goodsend = task.ADDRNEXT.Replace("G", "").ToShort();
+                        finishTask.Station.Data.Goodsnum = finishTaskList.Count.ToShort();
+                        finishTask.Station.Data.CmdType = IstationCmdType.分配目标地址;
+                        finishTask.Station.Data.VoucherNo++;
                     }
                 });
             });
@@ -254,18 +228,14 @@ namespace WCS.Service.Works.Station
                 if (obj.Items.Any(v => v.Data.VoucherNo != v.Data2.VoucherNo)) return;
                 if (obj.Items.Any(v => v.Data3.Status.HasFlag(StationStatus.运行状态位))) return;
                 //成功分配巷道的任务的任务
-                var finishTaskList = new List<Tuple<int, StationDevice>>();
+                var finishTaskList = new List<FinishTaskList<int>>();
 
                 //变更数据库信息
                 DB.Do(db =>
                 {
-                    var devs = obj.Items.Where(v => v.Data2.Status.HasFlag(IstationStatus.光电状态) && v.Data2.Request == IstationRequest.请求分配目标地址)
-                                           .Where(v => v.Data2.Tasknum > 10000 && v.Data2.Goodsend != 0);
+                    var devs = obj.GetAddressValid();
                     if (!devs.Any()) return; //无可执行任务
-                    var taskIds = devs.Select(dev => dev.Data2.Tasknum).ToList();
-                    var taskList = db.Default.Set<WCS_TASK>().Where(v => taskIds.Contains(v.ID)).ToList();
-
-                    taskList.ValidTaskCheck(devs.Count(), db);
+                    var taskList = devs.ValidTaskCheck(db);
 
                     var res = WMS.GetTunnelList(taskList.Select(v => v.WMSTASK.ToString()).ToList(), code);
                     if (string.IsNullOrEmpty(res.TunnelNum)) throw new WarnException($"WMS未返回巷道");
@@ -298,14 +268,13 @@ namespace WCS.Service.Works.Station
                     }
                     //筛选出优先级最高的可用巷道
                     var tunnelInfo = tunnelInfos.Where(v => { try { return v.SRM.Data3.SCAlarm == 0 && v.SRM.Data2.SRMMode == SCMode.远程 && v.SRM.Data2.SRMStatus == SCRunStatus.空闲; } catch { return false; } })
-                                                .Where(v => !db.Default.Set<WCS_TASK>().Any(p => p.Priority > 0 && p.DEVICE == v.SRM.Entity.CODE && p.STATUS < TaskStatus.堆垛机完成))
                                                 .OrderBy(v => tunnelNo.IndexOf(v.Tunnel.CODE)).FirstOrDefault();
                     if (tunnelInfo == null) throw new WarnException("无可用巷道");
 
                     //开始变更任务信息
                     foreach (var item in devs)
                     {
-                        var dev = Device.Find(item.Entity.CODE).Create<StationDevice>();
+                        var dev = Device.Find(item.Station.Entity.CODE).Create<StationDevice>();
                         var task = taskList.FirstOrDefault(p => p.ID == dev.Data2.Tasknum);
                         if (task == null) throw new WarnException($"WCS无该任务{dev.Data2.Tasknum}--{dev.Entity.CODE}");
 
@@ -314,10 +283,14 @@ namespace WCS.Service.Works.Station
                         task.ADDRNEXT = tunnelInfo.taskIN.CODE;
                         task.TaskGroupKey = res.WMSTaskGroupKey;
                         task.ADDRTO = task.DEVICE;
-                        var msg = $"下达从{obj.Entity.CODE}移动至{dev.Data.Goodsend}的PLC指令。同时将任务分配至[{ task.TUNNEL }]-[{task.DEVICE}]";
+                        var msg = $"下达从{obj.Entity.CODE}移动至{dev.Data.Goodsend}的PLC指令。同时将任务分配至[{task.TUNNEL}]-[{task.DEVICE}]";
                         msg += $"[{dev.Data.Tasknum}][{obj.Entity.CODE}][{dev.Data.Goodsend}][{tunnelInfo.SRM.Entity.CODE}][{dev.Data.VoucherNo}[{dev.Data2.VoucherNo}]";
                         task.CreateStatusLog(db, msg, this.GetType());
-                        finishTaskList.Add(new Tuple<int, StationDevice>(task.ID, item.Entity.Create<StationDevice>()));
+                        finishTaskList.Add(new FinishTaskList<int>()
+                        {
+                            FinishCode = task.ID,
+                            Station = item.Station
+                        });
                     }
                     db.Default.SaveChanges();
                 });
@@ -327,15 +300,15 @@ namespace WCS.Service.Works.Station
                 {
                     foreach (var finishTask in finishTaskList)
                     {
-                        var task = db.Default.Set<WCS_TASK>().Find(finishTask.Item1);
+                        var task = db.Default.Set<WCS_TASK>().Find(finishTask.FinishCode);
                         if (task == null) continue;
 
-                        finishTask.Item2.Data.Tasknum = task.ID;
-                        finishTask.Item2.Data.Goodsstart = obj.Entity.CODE.Replace("G", "").ToShort();
-                        finishTask.Item2.Data.Goodsend = task.ADDRNEXT.Replace("G", "").ToShort();
-                        finishTask.Item2.Data.Goodsnum = (short)finishTaskList.Count;
-                        finishTask.Item2.Data.CmdType = IstationCmdType.分配目标地址;
-                        finishTask.Item2.Data.VoucherNo++;
+                        finishTask.Station.Data.Tasknum = task.ID;
+                        finishTask.Station.Data.Goodsstart = obj.Entity.CODE.Replace("G", "").ToShort();
+                        finishTask.Station.Data.Goodsend = task.ADDRNEXT.Replace("G", "").ToShort();
+                        finishTask.Station.Data.Goodsnum = finishTaskList.Count.ToShort();
+                        finishTask.Station.Data.CmdType = IstationCmdType.分配目标地址;
+                        finishTask.Station.Data.VoucherNo++;
                     }
                 });
             });

+ 1 - 1
Projects/永冠OPP/WCS.Service/appsettings.json

@@ -10,6 +10,6 @@
     //"WCSDB": "Data Source=192.168.251.12;User ID=sa;Password=abc.123;Initial Catalog=WCS_MW;Integrated Security=False"
     //"WCSDB": "Data Source=192.168.249.120;User ID=sa;Password=password@123$%^;Initial Catalog=WCS_MW;Integrated Security=False;"
     "WCSDB": "Data Source=192.168.249.151;User ID=sa;Password=Password@123;Initial Catalog=WCS_OPP;Integrated Security=False;",
-    "WMSDB": "Data Source=192.168.249.151;User ID=sa;Password=Password@123;Initial Catalog=yongguanwms_opp;Integrated Security=False;"
+    //"WMSDB": "Data Source=192.168.249.151;User ID=sa;Password=Password@123;Initial Catalog=yongguanwms_opp;Integrated Security=False;"
   }
 }