kazelee
2025-06-10 570a2d760cc1f2b78922d91d941ef81f01199e4c
core/WCSCore.cs
@@ -133,25 +133,27 @@
            var info = "";
            try {
                var cgDetail = new TN_CG_Detail();
                var cgDetail = new TN_CG_Detail(); // 如果没有信息,默认就是空值,可以直接填入,不需要判断
                
                var emptyTask = false;
                //var emptyTask = false; // 空托/空箱任务
                if (task.S_TYPE != TaskName.H好运箱_空箱上线 && task.S_TYPE != TaskName.H好运箱_空箱入库 &&
                    task.S_TYPE != TaskName.T托盘_空托上线 && task.S_TYPE != TaskName.T托盘_空托入库) {
                    // 非空托任务(空托任务无法在CGDetail查到物料信息)
                    emptyTask= true;
                    // 非空托/空箱任务(空托/空箱任务无法在CGDetail查到物料信息)
                    //emptyTask= true;
                    cgDetail = db.Queryable<TN_CG_Detail>()
                        .Where(d => d.S_CNTR_CODE == task.S_CNTR_CODE)
                        .First();
                    if (cgDetail == null) {
                        info = $"任务{task.S_CODE}完成,记录出入库失败:无法在容器货品明细表中找到托盘{task.S_CNTR_CODE}对应的物料";
                        info = $"任务{task.S_CODE}完成,记录出入库存在问题:无法在容器货品明细表中找到托盘{task.S_CNTR_CODE}对应的物料";
                        LogHelper.Info(info);
                        return;
                        //return;
                        cgDetail = new TN_CG_Detail() ;
                        cgDetail.S_ITEM_CODE = "异常";
                    }
                }
                var isInbound = false;
                var isInbound = false; // 入库类型的任务(包括移库类任务)
                var inboundTasks = new List<string> {
                    TaskName.H好运箱_满箱下线入库, TaskName.H好运箱_空箱入库, TaskName.T托盘_满托下线入库, TaskName.T托盘_空托入库,
                    TaskName.C抽检_合格回库, TaskName.C抽检_不合格移库, TaskName.Y移库
@@ -173,9 +175,12 @@
                    S_TASK_NO = task.S_CODE,
                    T_RECORD_TIME = DateTime.Now,
                    S_TYPE = task.S_TYPE,
                    S_BS_CODE = task.S_BS_TYPE,
                    S_BS_CODE = task.S_BS_NO, // ERP单号,默认为空
                    N_QTY = cgDetail.N_ITEM_NUM,
                    S_NO = task.S_OP_CODE, // 出库/抽检/移库单
                };
                // 数据库操作
                if (db.Insertable<TN_Record_Table>(record).ExecuteCommand() <= 0) {
                    info = "插入出入库记录表失败:" + JsonConvert.SerializeObject(record);
@@ -191,6 +196,11 @@
            }
        }
        /// <summary>
        /// AGV产线安全交互逻辑实现
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public static ReturnResult SafetyInteraction(SafetyInteractionInfo model) {
            var db = new SqlHelper<object>().GetInstance();
            var info = "";
@@ -358,8 +368,6 @@
            else {
                LogHelper.Info("暂无任务");
            }
        }
    }
}