杨张扬
2025-05-23 d23feff4aef10e539e9f5926dd0e496c0612b4e6
api/ApiHelper.cs
@@ -116,13 +116,13 @@
        }
        /// <summary>
        /// PDA满托抽检判断
        /// PDA满托复检判断
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        internal static SimpleResult PDAFullCheckIn(PDAFullCheckInfo model)
        {
            LogHelper.Info("触发API:PDA满托抽检判断" + JsonConvert.SerializeObject(model), "API");
            LogHelper.Info("触发API:PDA满托复检判断" + JsonConvert.SerializeObject(model), "API");
            var db = new SqlHelper<object>().GetInstance();
            var result = new SimpleResult();//返回结果
            try
@@ -150,7 +150,7 @@
                if (startLoc == null)
                {
                    result.resultCode = 3;
                    result.resultMsg = $"起点货位{locCnt.S_LOC_CODE}未解锁,或者不属于抽检区";
                    result.resultMsg = $"起点货位{locCnt.S_LOC_CODE}未解锁,或者不属于复检区";
                    LogHelper.Info(result.resultMsg);
                    return result;
                }
@@ -164,6 +164,14 @@
                            Where(o => o.S_AREA_CODE == Settings.Areas[1] && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "无" && o.C_ENABLE == "Y" && o.N_CURRENT_NUM == 0).
                            OrderBy(o => o.T_MODIFY, OrderByType.Asc).First();//查询合适的终点货位
                }
                else if (model.cgState == 4)//技术合格回库
                {
                    cG_Detail.N_ITEM_STATE = 4;
                    cG_Detail.S_ITEM_STATE = "技术合格";
                    endLoc = db.Queryable<TN_Location>().
                            Where(o => o.S_AREA_CODE == Settings.Areas[8] && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "无" && o.C_ENABLE == "Y" && o.N_CURRENT_NUM == 0).
                            OrderBy(o => o.T_MODIFY, OrderByType.Asc).First();//查询合适的终点货位
                }
                else if (model.cgState == 2)//不合格回炉
                {
                    cG_Detail.N_ITEM_STATE = 2;
@@ -172,10 +180,18 @@
                            Where(o => o.S_AREA_CODE == Settings.Areas[8] && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "无" && o.C_ENABLE == "Y" && o.N_CURRENT_NUM == 0).
                            OrderBy(o => o.T_MODIFY, OrderByType.Asc).First();//查询合适的终点货位
                }
                else if (model.cgState == 5)//混合也回库,通过点对点再发线边
                {
                    cG_Detail.N_ITEM_STATE = 5;
                    cG_Detail.S_ITEM_STATE = "混合";
                    endLoc = db.Queryable<TN_Location>().
                            Where(o => o.S_AREA_CODE == Settings.Areas[2] && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "无" && o.C_ENABLE == "Y" && o.N_CURRENT_NUM == 0).
                            OrderBy(o => o.T_MODIFY, OrderByType.Asc).First();//查询合适的终点货位
                }
                else
                {
                    result.resultCode = 6;
                    result.resultMsg = $"物料状态只能为0或2,即参数cgState = 2 或 = 0,如果为其他值,则不处理,0合格,2不合格";
                    result.resultMsg = $"物料状态只能为0、2、4、5,如果为其他值,则不处理,0合格,2不合格,4技术合格,5混合";
                    LogHelper.Info(result.resultMsg);
                    return result;
                }
@@ -188,7 +204,9 @@
                    LogHelper.Info(result.resultMsg);
                    return result;
                }
                var typeName = (model.cgState == 0) ? "人工抽检回库" : "人工抽检回炉";
                var typeName = (model.cgState == 0) ? "人工复检回库" : "人工复检回炉";
                //创建人工拆盘出库任务
                if (WCSHelper.CreateTask(startLoc.S_CODE, endLoc.S_CODE, typeName, 3, locCnt.S_CNTR_CODE,out string taskNo,cG_Detail.S_SPE))//创建搬送任务,起点终点容器
                {
@@ -209,17 +227,36 @@
                        {
                            var target = new TN_RemeltDetail()
                            {
                                CntCode = locCnt.S_CNTR_CODE,
                                StartLoc = startLoc.S_CODE,
                                LoginName = model.staff,
                                ItemCode = cG_Detail.S_ITEM_CODE,
                                Spec = cG_Detail.S_SPE,
                                CarCode = cG_Detail.S_CAR_CODE,
                                Weight = cG_Detail.F_QTY,
                                RemeltTime = DateTime.Now,
                                TaskNo = taskNo
                                CNTCODE = locCnt.S_CNTR_CODE,
                                STARTLOC = startLoc.S_CODE,
                                LOGINNAME = model.staff,
                                ITEMCODE = cG_Detail.S_ITEM_CODE,
                                SPEC = cG_Detail.S_SPE,
                                CARCODE = cG_Detail.S_CAR_CODE,
                                WEIGHT = cG_Detail.F_QTY,
                                REMELTTIME = DateTime.Now,
                                TASKNO = taskNo
                            };
                            SpecHelper.InsertRemeltDetail(target);
                        }
                    });
                    Task task27 = Task.Run(() =>
                    {
                        if (model.cgState != 2)
                        {
                            var target = new TN_InventoryM()
                            {
                                S_ID = cG_Detail.S_ID,
                                RFID = cG_Detail.S_CNTR_CODE,
                                SPEC = cG_Detail.S_SPE,
                                WEIGHT = cG_Detail.F_QTY,
                                ITEMSTATE = cG_Detail.S_ITEM_STATE,
                                ITEMCODE = cG_Detail.S_ITEM_CODE,
                                LOGINNAME = model.staff,
                                SHIFT = "None",
                            };
                            SpecHelper.InsertInventoryM(target);
                        }
                    });
@@ -234,7 +271,6 @@
                    LogHelper.Info(result.resultMsg);
                    return result;
                }
            }
            catch (Exception ex)
            {
@@ -365,18 +401,34 @@
                            WMSHelper.InsertOpInfo(model.staff, "人工次品回炉", locCnt.S_CNTR_CODE);
                        });
                        Task task2 = Task.Run(() =>
                        {
                            var target = new TN_RemeltDetail()
                            {
                                TASKNO = task1.S_CODE,
                                CNTCODE = model.rfId,
                                STARTLOC = model.startLoc,
                                LOGINNAME = model.staff,
                                ITEMCODE = cgInfo.S_ITEM_CODE,
                                SPEC = cgInfo.S_SPE,
                                CARCODE = cgInfo.S_CAR_CODE,
                                WEIGHT = cgInfo.F_QTY,
                                REMELTTIME = DateTime.Now
                            };
                            SpecHelper.InsertRemeltDetail(target);
                        });
                        tran.CommitTran();
                        result.resultCode = 0;
                        result.resultMsg = "成功";
                        LogHelper.Info($"生成满托下线入库任务成功,容器:{model.rfId},起点:{model.startLoc},终点:{endLoc.S_CODE}");
                        LogHelper.Info($"生成人工次品回炉任务成功,容器:{model.rfId},起点:{model.startLoc},终点:{endLoc.S_CODE}");
                        return result;
                    }
                    else
                    {
                        tran.RollbackTran();
                        result.resultCode = 7;
                        result.resultMsg = $"生成满托下线入库任务失败,容器:{model.rfId},起点:{model.startLoc},终点:{endLoc.S_CODE}";
                        result.resultMsg = $"生成人工次品回炉任务失败,容器:{model.rfId},起点:{model.startLoc},终点:{endLoc.S_CODE}";
                        LogHelper.Info(result.resultMsg);
                        return result;
                    }
@@ -386,7 +438,7 @@
            catch(Exception ex)
            {
                result.resultCode = -1;
                result.resultMsg = $"发生了异常:{ex.Message}";
                result.resultMsg = $"生成人工次品回炉任务失败,发生了异常:{ex.Message}";
                LogHelper.Info(result.resultMsg);
                return result;
            }
@@ -722,16 +774,16 @@
                                                    var target = new TN_EquipProDetail()
                                                    {
                                                        S_ID = tN_CG_Detail.S_ID,
                                                        TaskType = "PDA满托下线入库",
                                                        TASKTYPE = "PDA满托下线入库",
                                                        RFID = model.RfId,
                                                        Spec = woInfo.S_ITEM_SPEC,
                                                        CarCode = model.CarCode,
                                                        Weight = modelWeight,
                                                        ItemState = "待检",
                                                        ItemCode = woInfo.S_ITEM_CODE,
                                                        LoginName = model.staff,
                                                        Shift = "None",
                                                        StartLoc = startLoc.S_CODE,
                                                        SPEC = woInfo.S_ITEM_SPEC,
                                                        CARCODE = model.CarCode,
                                                        WEIGHT = modelWeight,
                                                        ITEMSTATE = "待检",
                                                        ITEMCODE = woInfo.S_ITEM_CODE,
                                                        LOGINNAME = model.staff,
                                                        SHIFT = "None",
                                                        STARTLOC = startLoc.S_CODE,
                                                    };
                                                    SpecHelper.InsertEquipProDetail(target);
                                                });
@@ -742,12 +794,12 @@
                                                    {
                                                        S_ID = tN_CG_Detail.S_ID,
                                                        RFID = model.RfId,
                                                        Spec = woInfo.S_ITEM_SPEC,
                                                        Weight = modelWeight,
                                                        ItemState = "待检",
                                                        ItemCode = woInfo.S_ITEM_CODE,
                                                        LoginName = model.staff,
                                                        Shift = "None",
                                                        SPEC = woInfo.S_ITEM_SPEC,
                                                        WEIGHT = modelWeight,
                                                        ITEMSTATE = "待检",
                                                        ITEMCODE = woInfo.S_ITEM_CODE,
                                                        LOGINNAME = model.staff,
                                                        SHIFT = "None",
                                                    };
                                                    SpecHelper.InsertInventoryM(target);
                                                });
@@ -923,16 +975,28 @@
                var waitTime = SpecHelper.GetWaitTime(model.Spe);
                //查询符合规格的物料所在的未锁定已启用指定货区的货位,起点
                //优先技术合格
                var startLoc = db.Queryable<TN_Location>().
                    LeftJoin<TN_Loc_Container>((o, i) => o.S_CODE == i.S_LOC_CODE).
                    LeftJoin<TN_CG_Detail>((o, i, s) => i.S_CNTR_CODE == s.S_CNTR_CODE).
                    Where((o, i, s) => o.N_CURRENT_NUM > 0 && o.S_AREA_CODE == Settings.Areas[1] && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "无" && o.C_ENABLE == "Y"
                    && (s.S_ITEM_SPEC == model.Spe || s.S_SPE == model.Spe)//指定规格
                    && s.N_ITEM_STATE == 0 && s.S_ITEM_STATE == "合格" //合格的
                    && s.T_MODIFY.AddMinutes(waitTime) <= System.DateTime.Now).//根据规格的不同静置不同分钟才能出库
                    OrderBy((o, i, s) => s.T_CREATE, OrderByType.Asc).//先进先出
                    && s.N_ITEM_STATE == 4 && s.S_ITEM_STATE == "技术合格"). //技术合格
                    First();//筛选有容器货位关系表信息,筛选有容器货品明细表信息
                if (startLoc == null)//其次合格
                {
                    //查询符合规格的物料所在的未锁定已启用指定货区的货位,起点
                    startLoc = db.Queryable<TN_Location>().
                       LeftJoin<TN_Loc_Container>((o, i) => o.S_CODE == i.S_LOC_CODE).
                       LeftJoin<TN_CG_Detail>((o, i, s) => i.S_CNTR_CODE == s.S_CNTR_CODE).
                       Where((o, i, s) => o.N_CURRENT_NUM > 0 && o.S_AREA_CODE == Settings.Areas[1] && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "无" && o.C_ENABLE == "Y"
                       && (s.S_ITEM_SPEC == model.Spe || s.S_SPE == model.Spe)//指定规格
                       && s.N_ITEM_STATE == 0 && s.S_ITEM_STATE == "合格" //合格的
                       && s.T_MODIFY.AddMinutes(waitTime) <= System.DateTime.Now).//根据规格的不同静置不同分钟才能出库
                       OrderBy((o, i, s) => s.T_CREATE, OrderByType.Asc).//先进先出
                       First();//筛选有容器货位关系表信息,筛选有容器货品明细表信息
                }
                if (startLoc == null)
                {
@@ -970,15 +1034,21 @@
                    {
                        var target = new TN_Component_Detail()
                        {
                           ItemCode = cgInfo.S_ITEM_CODE,
                           CntrCode = container,
                           EndLoc = endLoc.S_CODE,
                           Staff = model.staff,
                           Weight = cgInfo.F_QTY,
                           Spec = model.Spe,
                           TaskNo = taskNo,
                           ITEMCODE = cgInfo.S_ITEM_CODE,
                           CNTRCODE = container,
                           CARCODE = cgInfo.S_CAR_CODE,
                           ENDLOC = endLoc.S_CODE,
                           STAFF = model.staff,
                           WEIGHT = cgInfo.F_QTY,
                           SPEC = model.Spe,
                           TASKNO = taskNo,
                        };
                        SpecHelper.InsertComponentDetail(target);
                    });
                    Task task27 = Task.Run(() =>
                    {
                        SpecHelper.DeleteInventoryM(cgInfo.S_ID);
                    });
                }
                else
@@ -1215,17 +1285,33 @@
                    {
                        var target = new TN_SurplusDetail()
                        {
                            CntCode = model.cntID,
                            StartLoc = startLoc_New.S_CODE,
                            LoginName = model.staff,
                            ItemCode = cG_Detail.S_ITEM_CODE,
                            Spec = cG_Detail.S_SPE,
                            CarCode = cG_Detail.S_CAR_CODE,
                            Weight = cG_Detail.F_QTY,
                            RemeltTime = DateTime.Now,
                            TaskNo = taksNo
                            CNTCODE = model.cntID,
                            STARTLOC = startLoc_New.S_CODE,
                            LOGINNAME = model.staff,
                            ITEMCODE = cG_Detail.S_ITEM_CODE,
                            SPEC = cG_Detail.S_SPE,
                            CARCODE = cG_Detail.S_CAR_CODE,
                            WEIGHT = cG_Detail.F_QTY,
                            REMELTTIME = DateTime.Now,
                            TASKNO = taksNo
                        };
                        SpecHelper.InsertSurplusDetail(target);
                    });
                    Task task27 = Task.Run(() =>
                    {
                        var target = new TN_InventoryM()
                        {
                            S_ID = cG_Detail.S_ID,
                            RFID = cG_Detail.S_CNTR_CODE,
                            SPEC = cG_Detail.S_SPE,
                            WEIGHT = cG_Detail.F_QTY,
                            ITEMSTATE = cG_Detail.S_ITEM_STATE,
                            ITEMCODE = cG_Detail.S_ITEM_CODE,
                            LOGINNAME = model.staff,
                            SHIFT = "None",
                        };
                        SpecHelper.InsertInventoryM(target);
                    });
                }
                else
@@ -1432,7 +1518,7 @@
                var locCntrRel_New1 = db.Queryable<TN_Loc_Container>().First(a => a.S_CNTR_CODE == model.new_CntIds);
                if (locCntrRel_New1 != null)
                {
                    LocationHelper.ErrorLocCntReset(new ErrorLocCntResetInfo() { cntID = model.new_CntIds ,reqCode=2});
                    LocationHelper.PdaUnBind(new PdaUnBindInfo() { cntID = model.new_CntIds ,reqCode=1});
                    result.resultCode = 6;
                    result.resultMsg = $"拆分后的新托盘存在残留的货位容器关系表,已解绑重置,容器号{model.new_CntIds},货位{locCntrRel_New1.S_LOC_CODE}";
                    LogHelper.Info(result.resultMsg);
@@ -1441,7 +1527,7 @@
                var locCntrRel_Old1 = db.Queryable<TN_Loc_Container>().First(a => a.S_CNTR_CODE == model.old_CntId);
                if (locCntrRel_Old1 != null)
                {
                    LocationHelper.ErrorLocCntReset(new ErrorLocCntResetInfo() { cntID = model.old_CntId, reqCode = 2 });
                    LocationHelper.PdaUnBind(new PdaUnBindInfo() { cntID = model.old_CntId, reqCode = 1 });
                    result.resultCode = 6;
                    result.resultMsg = $"被拆的旧托盘存在残留的货位容器关系表,已解绑重置,容器号{model.old_CntId},货位{locCntrRel_Old1.S_LOC_CODE}";
                    LogHelper.Info(result.resultMsg);
@@ -1599,15 +1685,15 @@
                                {
                                    var target = new TN_RemeltDetail()
                                    {
                                        TaskNo = oldTaskCreate.taskNo,
                                        CntCode = cG_old_Detail.S_CNTR_CODE,
                                        StartLoc = startLoc_Old.S_CODE,
                                        LoginName = model.staff,
                                        ItemCode = cG_old_Detail.S_ITEM_CODE,
                                        Spec = cG_old_Detail.S_SPE,
                                        CarCode = cG_old_Detail.S_CAR_CODE,
                                        Weight = cG_old_Detail.F_QTY,
                                        RemeltTime = DateTime.Now
                                        TASKNO = oldTaskCreate.taskNo,
                                        CNTCODE = cG_old_Detail.S_CNTR_CODE,
                                        STARTLOC = startLoc_Old.S_CODE,
                                        LOGINNAME = model.staff,
                                        ITEMCODE = cG_old_Detail.S_ITEM_CODE,
                                        SPEC = cG_old_Detail.S_SPE,
                                        CARCODE = cG_old_Detail.S_CAR_CODE,
                                        WEIGHT = cG_old_Detail.F_QTY,
                                        REMELTTIME = DateTime.Now
                                    };
                                    SpecHelper.InsertRemeltDetail(target);
                                }
@@ -1615,17 +1701,51 @@
                                {
                                    var target = new TN_RemeltDetail()
                                    {
                                        TaskNo = newTaskCreate.taskNo,
                                        CntCode = cG_new_Detail_Ins.S_CNTR_CODE,
                                        StartLoc = startLoc_New.S_CODE,
                                        LoginName = model.staff,
                                        ItemCode = cG_new_Detail_Ins.S_ITEM_CODE,
                                        Spec = cG_new_Detail_Ins.S_SPE,
                                        CarCode = cG_new_Detail_Ins.S_CAR_CODE,
                                        Weight = cG_new_Detail_Ins.F_QTY,
                                        RemeltTime = DateTime.Now
                                        TASKNO = newTaskCreate.taskNo,
                                        CNTCODE = cG_new_Detail_Ins.S_CNTR_CODE,
                                        STARTLOC = startLoc_New.S_CODE,
                                        LOGINNAME = model.staff,
                                        ITEMCODE = cG_new_Detail_Ins.S_ITEM_CODE,
                                        SPEC = cG_new_Detail_Ins.S_SPE,
                                        CARCODE = cG_new_Detail_Ins.S_CAR_CODE,
                                        WEIGHT = cG_new_Detail_Ins.F_QTY,
                                        REMELTTIME = DateTime.Now
                                    };
                                    SpecHelper.InsertRemeltDetail(target);
                                }
                            });
                            Task task27 = Task.Run(() =>
                            {
                                if (model.old_IsOK == 1)
                                {
                                    var target = new TN_InventoryM()
                                    {
                                        S_ID = cG_old_Detail.S_ID,
                                        RFID = cG_old_Detail.S_CNTR_CODE,
                                        SPEC = cG_old_Detail.S_SPE,
                                        WEIGHT = cG_old_Detail.F_QTY,
                                        ITEMSTATE = cG_old_Detail.S_ITEM_STATE,
                                        ITEMCODE = cG_old_Detail.S_ITEM_CODE,
                                        LOGINNAME = model.staff,
                                        SHIFT = "None",
                                    };
                                    SpecHelper.InsertInventoryM(target);
                                }
                                if (model.new_IsOK == 1)
                                {
                                    var target = new TN_InventoryM()
                                    {
                                        S_ID = cG_new_Detail_Ins.S_ID,
                                        RFID = cG_new_Detail_Ins.S_CNTR_CODE,
                                        SPEC = cG_new_Detail_Ins.S_SPE,
                                        WEIGHT = cG_new_Detail_Ins.F_QTY,
                                        ITEMSTATE = cG_new_Detail_Ins.S_ITEM_STATE,
                                        ITEMCODE = cG_new_Detail_Ins.S_ITEM_CODE,
                                        LOGINNAME = model.staff,
                                        SHIFT = "None",
                                    };
                                    SpecHelper.InsertInventoryM(target);
                                }
                            });
                        }
@@ -1658,5 +1778,111 @@
            return result;
        }
        /// <summary>
        /// 人工创建点到点任务
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        internal static SimpleResult CreateP2PTask(CreateP2PTaskInfo model)
        {
            LogHelper.Info("触发API:人工创建点到点任务" + JsonConvert.SerializeObject(model), "API");
            var result = new SimpleResult();
            var db = new SqlHelper<object>().GetInstance();
            try
            {
                var startLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.startLoc);
                if(!(startLoc != null && startLoc.N_CURRENT_NUM > 0 && startLoc.N_LOCK_STATE == 0 && startLoc.S_LOCK_STATE == "无"))
                {
                    result.resultCode = 1;
                    result.resultMsg = $"起始位置{model.startLoc}不满足条件:startLoc != null && startLoc.N_CURRENT_NUM > 0 && startLoc.N_LOCK_STATE == 0 && startLoc.S_LOCK_STATE == 无";
                    LogHelper.Info(result.resultMsg);
                    return result;
                }
                var endLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.endLoc);
                if (!(endLoc != null && endLoc.N_CURRENT_NUM == 0 && endLoc.N_LOCK_STATE == 0 && endLoc.S_LOCK_STATE == "无"))
                {
                    result.resultCode = 2;
                    result.resultMsg = $"终点位置{model.endLoc}不满足条件:endLoc != null && endLoc.N_CURRENT_NUM == 0 && endLoc.N_LOCK_STATE == 0 && endLoc.S_LOCK_STATE == 无";
                    LogHelper.Info(result.resultMsg);
                    return result;
                }
                var startLocCnt = db.Queryable<TN_Loc_Container>().First(a => a.S_LOC_CODE == model.startLoc);
                if (startLocCnt == null)
                {
                    result.resultCode = 3;
                    result.resultMsg = $"起始位置{model.startLoc}未绑定容器";
                    LogHelper.Info(result.resultMsg);
                    return result;
                }
                //创建点对点任务
                if (WCSHelper.CreateTask(startLoc.S_CODE, endLoc.S_CODE, "点对点", 3, startLocCnt.S_CNTR_CODE))//创建搬送任务,起点终点容器
                {
                    LocationHelper.LockLoc(startLoc.S_CODE, 2);//起点出库锁,
                    LocationHelper.LockLoc(endLoc.S_CODE, 1);//终点入库锁
                    LogHelper.Info($"生成点对点任务成功,容器号{startLocCnt.S_CNTR_CODE},起点{startLoc.S_CODE},终点{endLoc.S_CODE}");
                    Task task1 = Task.Run(() =>
                    {
                        WMSHelper.InsertOpInfo(model.staff, "点对点", startLocCnt.S_CNTR_CODE);
                    });
                    var cginfo = db.Queryable<TN_CG_Detail>().First(a => a.S_CNTR_CODE == startLocCnt.S_CNTR_CODE);
                    Task task27 = Task.Run(() =>
                    {
                        if (endLoc.S_AREA_CODE == Settings.Areas[2] && cginfo != null)
                        {
                            var target = new TN_InventoryM()
                            {
                                S_ID = cginfo.S_ID,
                                RFID = cginfo.S_CNTR_CODE,
                                SPEC = cginfo.S_SPE,
                                WEIGHT = cginfo.F_QTY,
                                ITEMSTATE = cginfo.S_ITEM_STATE,
                                ITEMCODE = cginfo.S_ITEM_CODE,
                                LOGINNAME = model.staff,
                                SHIFT = "None",
                            };
                            SpecHelper.InsertInventoryM(target);
                        }
                    });
                    Task task26 = Task.Run(() =>
                    {
                        if (startLoc.S_AREA_CODE == Settings.Areas[2] && cginfo != null)
                        {
                            SpecHelper.DeleteInventoryM(cginfo.S_ID);
                        }
                    });
                    result.resultCode = 0;
                    result.resultMsg =  "成功";
                    LogHelper.Info($"生成点对点失败,容器号{ startLocCnt.S_CNTR_CODE},起点{startLoc.S_CODE},终点{endLoc.S_CODE}");
                    return result;
                }
                else
                {
                    result.resultCode = 9;
                    result.resultMsg = $"生成点对点失败,容器号{ startLocCnt.S_CNTR_CODE},起点{startLoc.S_CODE},终点{endLoc.S_CODE}";
                    LogHelper.Info(result.resultMsg);
                    return result;
                }
            }
            catch (Exception ex)
            {
                result.resultCode = -1;
                result.resultMsg = $"人工创建点到点任务,发生了异常,{ex.Message}";
                LogHelper.Error(result.resultMsg, ex);
                return result;
            }
        }
    }
}