kazelee
2025-05-20 ef839d119eec2c28fac5f5ba175d71f926afae44
Helpers/WCSHelper.cs
@@ -7,6 +7,7 @@
using System.Text;
using System.Threading.Tasks;
using HH.WCS.Mobox3.AnGang.Helpers;
using HH.WCS.Mobox3.AnGang.Consts;
namespace HH.WCS.Mobox3.AnGang.Helper {
    internal class WCSHelper {
@@ -60,11 +61,25 @@
        {
            var fromLoc = LocationHelper.GetLocation(from);
            var endLoc = LocationHelper.GetLocation(to);
            var endArea = "";
            if (endLoc == null) {
                if (taskType == TaskName.产品入库) {
                    endArea = "HJQ"; // 货架区
                }
                else {
                    LogHelper.Info("终点货位不存在,且任务类型不是PDA货品入库");
                }
            }
            else {
                endArea = endLoc.S_AREA_CODE;
            }
            TN_Task TN_Task = new TN_Task()
            {
                S_CODE = GenerateTaskNo(),
                S_START_AREA = fromLoc.S_AREA_CODE,
                S_END_AREA = endLoc?.S_AREA_CODE ?? "", // 如果为null返回空字符串
                S_END_AREA = endArea,
                S_START_LOC = from,
                S_END_LOC = to,
                S_TYPE = taskType,
@@ -83,43 +98,6 @@
            }
            else
            {
                LogHelper.Info($"插入任务失败,{log}");
            }
            return res;
        }
        /// <summary>
        /// 根据终点Area创建搬送任务
        /// </summary>
        /// <param name="from"></param>
        /// <param name="toArea"></param>
        /// <param name="taskType"></param>
        /// <param name="pri"></param>
        /// <param name="cntrInfo"></param>
        /// <returns></returns>
        internal static bool CreateTaskWithArea(string from, string toArea, string taskType, int pri, string cntrInfo) {
            var fromLoc = LocationHelper.GetLocation(from);
            //var endLoc = LocationHelper.GetLocation(to);
            TN_Task TN_Task = new TN_Task() {
                S_CODE = GenerateTaskNo(),
                S_START_AREA = fromLoc.S_AREA_CODE,
                S_END_AREA = toArea,
                S_START_LOC = from,
                S_END_LOC = "", // 不指定终点货位
                S_TYPE = taskType,
                N_PRIORITY = pri,
                N_SCHEDULE_TYPE = 3, // 国自
                N_B_STATE = 0,
                S_CNTR_CODE = cntrInfo,
            };
            var log = JsonConvert.SerializeObject(TN_Task);
            var db = DbHelper.GetDbClient();
            var res = db.Insertable(TN_Task).ExecuteCommand() > 0;
            if (res) {
                LogHelper.Info($"插入任务成功,{log}");
            }
            else {
                LogHelper.Info($"插入任务失败,{log}");
            }
            return res;