1
pulg
2025-06-13 ee4b91745630afdc875983794d0ee54a7fb6a4a8
HH.WCS.QingXiNongfu/wms/TaskHelper.cs
@@ -82,7 +82,7 @@
            var db = new SqlHelper<WMSTask>().GetInstance();
            return db.Queryable<WMSTask>().Where(a => a.S_TYPE.Trim() == taskType).ToList();
        }
        internal static bool CreateTask(string no, string from, string to, string taskType, int pri, string cntrInfo, int cntrCount = 1, int startLayer = 1, int endLayer = 1, string note = "", bool lockLoc = false)
        internal static bool CreateTask(string no, string from, string to, string taskType, int pri, string cntrInfo, int cntrCount = 1, int startLayer = 1, int endLayer = 1, string note = "", bool lockLoc = false, string TwoEndLoc = "")
        {
            var fromLoc = LocationHelper.GetLoc(from);
            var endLoc = LocationHelper.GetLoc(to);
@@ -136,6 +136,7 @@
                S_SRC_NO = no,
                N_PRIORITY = pri,
                S_NOTE = note,
                S_TWO_END_LOC = TwoEndLoc,
                S_WORK_MODE = "agv",
                S_B_STATE = "未执行",
                S_CNTRS = cntrInfo,
@@ -232,9 +233,26 @@
                task.T_END_TIME = DateTime.Now;
                db.Updateable(task).UpdateColumns(it => new { it.S_B_STATE, it.T_END_TIME }).ExecuteCommand();
            }
            if (task.S_END_LAREA == "YWLWJJB")
            //plg 2025年6月13日 10:42:24
            if (task.S_END_LAREA == "YWLWJJB" && task.S_START_LAREA != "YWLRGDD")
            {
                var b = TaskProcess.CreateTransport(task.S_SRC_NO, task.S_END_LOC, task.S_NOTE, "原物料搬运-纸箱", task.S_CNTRS.Split(',').ToList(), task.N_START_LAYER, 1, task.N_CNTR_COUNT, task.N_PRIORITY);
                var model = db.Queryable<Location>().Where(a => a.S_LOC_CODE == task.S_TWO_END_LOC).First();
                //先解锁终点 在锁定
                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);
                }
                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)
@@ -283,12 +301,10 @@
                    LogHelper.Info(wmsTask.S_START_LOC + "LockLoc:锁结果" + res);
                    model = db.Queryable<Location>().Where(a => a.S_LOC_CODE == wmsTask.S_END_LOC).First();
                    if (wmsTask.S_START_LAREA != "YWLWJJB")
                    {
                        model.S_LOCK_STATE = "入库锁";
                        res = db.Updateable(model).UpdateColumns(it => new { it.S_LOCK_STATE }).ExecuteCommand() > 0;
                        LogHelper.Info(wmsTask.S_END_LOC + "LockLoc:锁结果" + res);
                    }
                    model.S_LOCK_STATE = "入库锁";
                    res = db.Updateable(model).UpdateColumns(it => new { it.S_LOCK_STATE }).ExecuteCommand() > 0;
                    LogHelper.Info(wmsTask.S_END_LOC + "LockLoc:锁结果" + res);
                }
                db.Insertable(wmsTask).ExecuteCommand();
                db.Ado.CommitTran();