1
czw
2025-06-17 fa0426311c6984388d3c15928e1a687836c19b24
1
4个文件已修改
63 ■■■■ 已修改文件
HH.WCS.QingXiNongfu/core/Monitor.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.QingXiNongfu/core/TaskCore.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.QingXiNongfu/process/TaskProcess.cs 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.QingXiNongfu/wms/TaskHelper.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.QingXiNongfu/core/Monitor.cs
@@ -1018,7 +1018,7 @@
            //InworkLock = false;
            var usingSpace = new List<string> { "入库接驳区", "库内接驳区", "出库接驳区", "提升机退料口" };
            //usingSpace = new List<string> { "YWLRGDD", "YWLWJJB", "YWLYLTKQ", "YWLTKKTQ", "YWLKTDDQ", "YWLT1TSJ", "YWLT1TSJCD", "YWLT2TSJ", "YWLT2TSJCD" };
            usingSpace = new List<string> { "YWLRGDD", "YWLWJJB", "YWLYLTKQ", "YWLTKKTQ", "YWLT1TSJ", "YWLT2TSJ" };
            usingSpace = new List<string> {  "YWLWJJB", "YWLYLTKQ", "YWLTKKTQ", "YWLRGDD", "YWLT1TSJ", "YWLT2TSJ" };
            foreach (var area in usingSpace)
            {
                try
@@ -3669,7 +3669,7 @@
                                }
                                else
                                {
                                    Endbit = LocationHelper.GetAreaNormalLocList(PLC.areaPriy[0]).Find(x => x.N_CURRENT_NUM == 0);
                                    Endbit = LocationHelper.GetAreaNormalLocList(PLC.areaPriy[0]).Find(x =>x.S_LOCK_STATE=="无" && x.N_CURRENT_NUM == 0);
                                }
                                if (StartBit != null && Endbit != null)
@@ -3691,7 +3691,6 @@
                                    var b = TaskProcess.CreateTransport(od.SQL_WorkNo, StartBit.S_LOC_CODE, EndBit, "原物料搬运-纸箱", crs, StartBit.N_CURRENT_NUM - crs.Count + 1, 1, crs.Count, PLC.taskPri, "", Endbit.S_LOC_CODE);
                                    if (b)
                                    {
                                        var r = new RowLock { S_LOCK_SRC = od.SQL_ItemCode, T_LOCK_TIME = DateTime.Now, S_LOCK_STATE = "出库锁", S_AREA_CODE = StartBit.S_AREA_CODE, N_ROW = StartBit.N_ROW };
                                        var db = new SqlHelper<object>().GetInstance();
                                        //给终点锁定住
HH.WCS.QingXiNongfu/core/TaskCore.cs
@@ -385,7 +385,7 @@
                    var totalX = 0;
                    var totalRows = 0;
                    var list = new List<KuRong>();
                    var areas = db.Queryable<Location>().Select(x => x.S_AREA_CODE).ToList().FindAll(x => System.Text.RegularExpressions.Regex.IsMatch(x, @"QX-\d+_[A-Z]+")).Select(x => x.Split('_')[0]).Distinct().ToList(); //GetAreas();
                    var areas = db.Queryable<Location>().Select(x => x.S_AREA_CODE).ToList().FindAll(x => x != null && System.Text.RegularExpressions.Regex.IsMatch(x, @"QX-\d+_[A-Z]+")).Select(x => x.Split('_')[0]).Distinct().ToList(); //GetAreas();
                    areas.ForEach(area =>
                    {
                        totalX += db.Queryable<Location>().Count(b => b.S_AREA_CODE.StartsWith(area) && b.S_AREA_CODE.Contains("_X"));
HH.WCS.QingXiNongfu/process/TaskProcess.cs
@@ -387,25 +387,18 @@
                }
                //终点货位为 YWLT1TSJCD  或者 YWLT2TSJCD 的 要取货完成解锁起点,解绑起点,绑定终点,卸货完成,解锁终点  2025年6月10日  Plg
                if (mst.S_END_LOC?.Trim() == "YWLT1TSJCD" || mst.S_END_LOC?.Trim() == "YWLT2TSJCD")
                {
                    //解绑起点
                    CacheBitUpdate(mst, load: true);
                    //绑定终点
                    CacheBitUpdate(mst, load: false);
                }
                //if (mst.S_END_LOC?.Trim() == "YWLT1TSJCD" || mst.S_END_LOC?.Trim() == "YWLT2TSJCD")
                //{
                //    //解绑起点
                //    CacheBitUpdate(mst, load: true);
                //    //绑定终点
                //    CacheBitUpdate(mst, load: false);
                //}
                LocationHelper.UnLockLoc(mst.S_START_LOC.Trim());
            }
            //new List<string> { "成品满框-入库", "" }
            if (state == 6 || state == 5)
            {
                ///只需要释放货位就行了
                if (mst.S_END_LOC?.Trim() == "YWLT1TSJCD" || mst.S_END_LOC?.Trim() == "YWLT2TSJCD")
                {
                    LocationHelper.UnLockLoc(mst.S_END_LOC.Trim());
                    return r;
                }
                LogHelper.Info($"任务类型:{mst.S_TYPE}- 动作:{state}. 是否5算6?{mst.S_TYPE.Contains("成品满框") || mst.S_TYPE.Contains("备货")} ");
                if (mst.S_TYPE.Contains("备货"))
                {
@@ -413,6 +406,13 @@
                }
                else if (state == 5) goto vvv;
                ///只需要释放货位就行了
                //if (mst.S_END_LOC?.Trim() == "YWLT1TSJCD" || mst.S_END_LOC?.Trim() == "YWLT2TSJCD")
                //{
                //    LocationHelper.UnLockLoc(mst.S_END_LOC.Trim());
                //    return r;
                //}
                if (mst.S_TYPE.Trim() == "J空瓶坯-出库")
                {
                    mst.S_CNTRS = "J" + Settings.GetTimeStamp();
HH.WCS.QingXiNongfu/wms/TaskHelper.cs
@@ -239,20 +239,24 @@
            {
                var model = db.Queryable<Location>().Where(a => a.S_LOC_CODE == task.S_TWO_END_LOC).First();
                //先解锁终点 在锁定
                db.Ado.BeginTran();
                try
                //db.Ado.BeginTran();
                //try
                //{
                //    model.S_LOCK_STATE = "无";
                //    var res = db.Updateable(model).UpdateColumns(it => new { it.S_LOCK_STATE }).ExecuteCommand() > 0;
                //    LogHelper.Info(task.S_TWO_END_LOC + "LockLoc:锁结果" + res);
                //    db.Ado.CommitTran();
                //}
                //catch (Exception ex)
                //{
                //    db.Ado.RollbackTran();
                //    LogHelper.Info("CreateTask 失败 " + ex.Message);
                //}
                if (model != null)
                {
                    model.S_LOCK_STATE = "无";
                    var res = db.Updateable(model).UpdateColumns(it => new { it.S_LOCK_STATE }).ExecuteCommand() > 0;
                    LogHelper.Info(task.S_TWO_END_LOC + "LockLoc:锁结果" + res);
                    db.Ado.CommitTran();
                    LogHelper.Info(task.S_TWO_END_LOC + "二段任务 开始。 ");
                    var b = TaskProcess.CreateTransport(task.S_SRC_NO, task.S_END_LOC, task.S_TWO_END_LOC, "原物料搬运-纸箱", task.S_CNTRS.Split(',').ToList(), task.N_START_LAYER, 1, task.N_CNTR_COUNT, task.N_PRIORITY);
                }
                catch (Exception ex)
                {
                    db.Ado.RollbackTran();
                    LogHelper.Info("CreateTask 失败 " + ex.Message);
                }
                var b = TaskProcess.CreateTransport(task.S_SRC_NO, task.S_END_LOC, task.S_TWO_END_LOC, "原物料搬运-纸箱", task.S_CNTRS.Split(',').ToList(), task.N_START_LAYER, 1, task.N_CNTR_COUNT, task.N_PRIORITY);
            }
        }
        internal static void Fail(WMSTask task)