杨张扬
昨天 7b3b60e8e01a1cf2fb97af695639b18210a160c0
去线边的,取消任务收到4后直接删除物料容器
4个文件已修改
31 ■■■■ 已修改文件
Program.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
core/Monitor.cs 补丁 | 查看 | 原始文档 | blame | 历史
process/TaskProcess.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wms/WCSHelper.cs 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Program.cs
@@ -147,7 +147,7 @@
                tasks.Add(GetTask(Monitor.CGOkCheck));// 在复检区检测物品合格,合格的物品自动回库
                //tasks.Add(GetTask(Monitor.XBChekcFull));//线边满托货位自动解绑
                tasks.Add(GetTask(Monitor.XBChekcFull));//线边满托货位自动解绑
                Task.WaitAll(tasks.ToArray());
            }
core/Monitor.cs
process/TaskProcess.cs
@@ -51,26 +51,21 @@
                CacheBitUpdate(mst, false);
                WCSHelper.End(mst);//任务状态改成结束
            }
            else
            else   // 没有开始卸货
            {
                // 没有开始卸货
                WCSHelper.Fail(mst);//任务状态改成错误
                var db = new SqlHelper<object>().GetInstance();
                var cginfo = db.Queryable<TN_CG_Detail>().First(a => a.S_CNTR_CODE == mst.S_CNTR_CODE);
                if (cginfo!= null)
                {
                    db.Deleteable<TN_InventoryM>().Where(it => it.S_ID == cginfo.S_ID || it.RFID == mst.S_CNTR_CODE).ExecuteCommand();
                }
                else
                {
                db.Deleteable<TN_CG_Detail>().Where(it => it.S_CNTR_CODE == mst.S_CNTR_CODE).ExecuteCommand();
                    db.Deleteable<TN_InventoryM>().Where(it => it.RFID == mst.S_CNTR_CODE).ExecuteCommand();
                }
                db.Deleteable<TN_Loc_Container>().Where(it => it.S_CNTR_CODE == mst.S_CNTR_CODE).ExecuteCommand();
                db.Deleteable<TN_Container>().Where(it => it.S_CODE == mst.S_CNTR_CODE).ExecuteCommand();
                //必须删掉
                LocationHelper.ErrorLocCntReset(new ErrorLocCntResetInfo() { locID = mst.S_START_LOC, reqCode = 1 });
            }
            if (!WCSHelper.CheckActionRecordExist(mst.S_CODE, 4))
            {
                LocationHelper.UnLockLoc(mst.S_START_LOC);//解锁起点
                LocationHelper.ErrorLocCntReset(new ErrorLocCntResetInfo() { locID = mst.S_START_LOC, reqCode = 1 });
            }
           
            LocationHelper.UnLockLoc(mst.S_END_LOC);//解锁终点
wms/WCSHelper.cs
@@ -236,6 +236,7 @@
        public static void CancleTaskInfo(TN_Task tN_Task)
        {
            var HJ = Settings.Areas[1];
            var db = new SqlHelper<object>().GetInstance();
            if (tN_Task.S_END_AREA == HJ || tN_Task.S_TYPE.Contains("满托下线入库"))//终点是满托缓存库区
            {
                LogHelper.Info($"取消任务: {tN_Task.S_CODE} 终点是满托缓存库区: {tN_Task.S_END_AREA}");
@@ -256,9 +257,16 @@
                {
                    WCSHelper.End(tN_Task);//任务状态改成结束
                    if (tN_Task.S_END_AREA != Settings.Areas[2])//去线边的不绑定终点
                    if (tN_Task.S_END_AREA != Settings.Areas[2])//不去线边的绑定终点
                    {
                        LocationHelper.BindingLoc(tN_Task.S_END_LOC, tN_Task.S_CNTR_CODE.Split(',').ToList());// 绑定终点容器货位
                    }
                    else//去线边的全部删除
                    {
                        db.Deleteable<TN_CG_Detail>().Where(it => it.S_CNTR_CODE == tN_Task.S_CNTR_CODE).ExecuteCommand();
                        db.Deleteable<TN_InventoryM>().Where(it => it.RFID == tN_Task.S_CNTR_CODE).ExecuteCommand();
                        db.Deleteable<TN_Loc_Container>().Where(it => it.S_CNTR_CODE == tN_Task.S_CNTR_CODE).ExecuteCommand();
                        db.Deleteable<TN_Container>().Where(it => it.S_CODE == tN_Task.S_CNTR_CODE).ExecuteCommand();
                    }
                    LogHelper.Info($"取消任务: {tN_Task.S_CODE} 取货完成,任务状态改成结束,绑定终点容器货位");
@@ -278,7 +286,7 @@
                {
                    WCSHelper.Fail(tN_Task);//任务状态改成错误
                    var db = new SqlHelper<object>().GetInstance();
                    var cginfo = db.Queryable<TN_CG_Detail>().First(a => a.S_CNTR_CODE == tN_Task.S_CNTR_CODE);
                    if (cginfo != null)
                    {