kazelee
2025-05-21 a8627a98b82d2364cbe849ca746e72fbab9916e5
wms/LocationHelper.cs
File was renamed from Helpers/LocationHelper.cs
@@ -1,4 +1,4 @@
using HH.WCS.Mobox3.AnGang.Models;
using HH.WCS.Mobox3.AnGang.models;
using HH.WCS.Mobox3.AnGang.config;
using Newtonsoft.Json;
using SqlSugar;
@@ -7,11 +7,10 @@
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static HH.WCS.Mobox3.AnGang.Controllers.ApiModel;
using HH.WCS.Mobox3.AnGang.Helpers;
using static HH.WCS.Mobox3.AnGang.Dtos.Response.MoboxResponse;
using static HH.WCS.Mobox3.AnGang.api.ApiModel;
using HH.WCS.Mobox3.AnGang.util;
namespace HH.WCS.Mobox3.AnGang.Helper {
namespace HH.WCS.Mobox3.AnGang.wms {
    public class LocationHelper
    {
        private static Dictionary<string, TN_Location> Locations = null;
@@ -54,7 +53,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();
        }
@@ -131,8 +130,29 @@
        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;
            //}
            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>
@@ -146,7 +166,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)
@@ -171,7 +191,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)
            {
@@ -197,7 +217,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
            {
@@ -270,7 +290,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
            {
@@ -379,7 +399,7 @@
            LogHelper.Info("触发API:货位容器重置" + JsonConvert.SerializeObject(model), "API");
            var result = new SimpleResult();
            var db = DbHelper.GetDbClient();
            var db = new SqlHelper<object>().GetInstance();
            try
            {