kazelee
2025-07-30 0ed390381862dea0c7fd0210d16017eb09f12da4
api/ApiHelper.cs
@@ -27,6 +27,7 @@
        public static SimpleResult GoodpackOffline(GoodpackOfflineInfo model) {
            var db = new SqlHelper<object>().GetInstance();
            var (ok, msg) = (false, string.Empty);
            var obj = new CreateTaskObj();
            var taskInfo = ETask.M满箱下线入库.Info();
            const string preLog = "API:满箱下线入库:";
@@ -53,10 +54,9 @@
                }
                // 和满托下线入库的逻辑一致,由于容器移动不会更改绑定信息,所以必须删除旧数据
                var old = WCSHelper.GetLocCntrCg(cgDetail.S_CNTR_CODE, skipCgDetail: true);
                WMSHelper.FindCntrOldInfo(obj, cgDetail.S_CNTR_CODE, skipCgDetail: true);
                var locCntrRel = WCSHelper.BindLocCntr(startLoc, cgDetail.S_CNTR_CODE);
                locCntrRel.S_CNTR_TYPE = cntrType;
                var locCntrRel = WMSHelper.BindLocCntr(obj, startLoc, cgDetail.S_CNTR_CODE, cntrType);
                var endLoc = db.Queryable<TN_Location>().Where(DbExpr.EndLoc(areas: taskInfo.EndAreas))
                    .OrderBy(l => new { l.N_LAYER }).First();
@@ -64,20 +64,12 @@
                    return NewSimpleResult(3, preLog + LogMsg.EndLocNotFound(areas: taskInfo.EndAreas));
                }
                var task = WCSHelper.BuildTaskWithLocLock(startLoc, endLoc, locCntrRel.S_CNTR_CODE, taskInfo.TaskName);
                (ok, msg) = DbTran.CreateTask(new CreateTaskObj {
                    Old = old,
                    New = new LocCntrCg { LocCntrRel = locCntrRel },
                    StartLocToUpdate = startLoc,
                    EndLocToUpdate = endLoc,
                    TaskToInsert = task,
                });
                WMSHelper.CreateTask(obj, startLoc, endLoc, locCntrRel.S_CNTR_CODE, taskInfo.TaskName);
                (ok, msg) = DbTran.CreateTask(obj);
                return NewSimpleResult(ok ? 0 : 500, preLog + msg);
            }
            catch (Exception ex) {
                return NewSimpleResult(ex, preLog);
            }
        }
@@ -239,16 +231,11 @@
                var task = WCSHelper.BuildTaskWithLocLock(startLoc, endLoc, model.CntId, taskInfo.TaskName);
                if (needUpdateContainer) {
                    cntr.S_SOURCE = task.S_CODE; // 用任务号作为容器更新的依据
                    cntr.T_MODIFY = DateTime.Now;
                }
                else {
                    cntr = null;
                }
                cntr.S_SOURCE = task.S_CODE; // 用任务号作为容器更新的依据
                cntr.T_MODIFY = DateTime.Now;
                (ok, msg) = DbTran.CreateTask(new CreateTaskObj {
                    ContainerToUpdate = cntr,
                    ContainerToUpdate = needUpdateContainer ? cntr : null,
                    StartLocToUpdate = startLoc,
                    EndLocToUpdate = endLoc,
                    TaskToInsert = task,
@@ -659,9 +646,10 @@
        }
        private static string GenerateOrderNo(string snType, string prefix) {
            var id = SYSHelper.GetSerialNumber(snType, prefix);
            var date = DateTime.Now.ToString("yyMMdd");
            return $"{prefix}{date}-{id.ToString().PadLeft(4, '0')}";
            //var id = SYSHelper.GetSerialNumberResetByDay(snType, prefix);
            //var date = DateTime.Now.ToString("yyMMdd");
            //return $"{prefix}{date}-{id.ToString().PadLeft(4, '0')}";
            return SYSHelper.GenerateSN(snType, prefix, "yyMMdd");
        }
        /// <summary>