kazelee
2025-05-21 5ad394cf1708a4629f90f40bfd9b48d9a9f6f0c8
wms/LocationHelper.cs
File was renamed from Helpers/LocationHelper.cs
@@ -2,15 +2,14 @@
using System.Collections.Generic;
using System.Linq;
using HH.WCS.Mobox3.DSZSH.Models;
using HH.WCS.Mobox3.DSZSH.models;
using HH.WCS.Mobox3.DSZSH.util;
using Newtonsoft.Json;
using SqlSugar;
using static HH.WCS.Mobox3.DSZSH.Dtos.Response.MoboxResponse;
namespace HH.WCS.Mobox3.DSZSH.Helpers {
namespace HH.WCS.Mobox3.DSZSH.wms {
    /// <summary>
    /// 货位帮助类(包含货位-容器关系的处理)
    /// </summary>
@@ -56,7 +55,7 @@
        /// <returns></returns>
        internal static List<TN_Location> GetAllLocList()
        {
            var db = DbHelper.GetDbClient();
            var db = new SqlHelper<object>().GetInstance();
            return db.Queryable<TN_Location>().ToList();
        }
@@ -123,8 +122,31 @@
        internal static TN_Location GetLoc(string code)
        {
            var db = DbHelper.GetDbClient();
            var db = new SqlHelper<object>().GetInstance();
            return db.Queryable<TN_Location>().Where(a => a.S_CODE.Trim() == code).First();
        }
        /// <summary>
        /// 入库锁定终点,出库锁定起点
        /// 你创建任务锁定货位的时候,把锁的来源就是任务号也写上去(加锁的方法加个参数,可空的参数),解锁的时候把来源置空。
        /// </summary>
        /// <param name="loc"></param>
        /// <param name="lockState">1:入库锁、2:出库锁、2:其它锁</param>
        /// <param name="lockSource">锁的来源=任务号</param>
        /// <returns></returns>
        public static bool LockLoc(ref TN_Location loc, int lockState, string lockSource = "") {
            if (loc == null || loc.N_LOCK_STATE != 0) {
                return false;
            }
            if (loc != null && loc.N_LOCK_STATE == 0) {
                loc.N_LOCK_STATE = lockState;
                loc.S_LOCK_STATE = TN_Location.GetLockStateStr(lockState);
                loc.S_LOCK_OP = lockSource;
                loc.T_MODIFY = System.DateTime.Now;
            }
            return true;
        }
        /// <summary>
@@ -140,7 +162,7 @@
        public static bool LockLoc(string loc, int lockState, string lockSource = "")
        {
            var res = false;
            var db = DbHelper.GetDbClient();
            var db = new SqlHelper<object>().GetInstance();
            var model = db.Queryable<TN_Location>().Where(a => a.S_CODE == loc).First();
            LogHelper.Info($"锁货位{loc},状态{lockState},信息" + JsonConvert.SerializeObject(model));
            if (model != null && model.N_LOCK_STATE == 0)
@@ -165,7 +187,7 @@
        {
            LogHelper.Info("UnLockLoc:" + loc);
            var res = false;
            var db = DbHelper.GetDbClient();
            var db = new SqlHelper<object>().GetInstance();
            var model = db.Queryable<TN_Location>().Where(a => a.S_CODE == loc).First();
            if (model != null)
            {
@@ -191,7 +213,7 @@
        /// <returns></returns>
        public static string UnBindingLoc(string loc, List<string> cntrs)
        {
            var db = DbHelper.GetDbClient();
            var db = new SqlHelper<object>().GetInstance();
            var logs = $"货位:{loc},容器:{JsonConvert.SerializeObject(cntrs)}";
            try
            {
@@ -264,7 +286,7 @@
        /// <returns></returns>
        public static string BindingLoc(string loc, List<string> cntrs)
        {
            var db = DbHelper.GetDbClient();
            var db = new SqlHelper<object>().GetInstance();
            var logs = $"货位:{loc},容器:{JsonConvert.SerializeObject(cntrs)}";
            try
            {