/// <summary>
        /// 更新位置
        /// </summary>
        /// <param name="start"></param>
        /// <param name="end"></param>
        /// <param name="cra"></param>
        public CON_POS_INFO UpdatePos(string start, string end, string cra)
        {
            CON_POS_INFO info = ValidateStartPos(start);

            ValidateEndPos(end);
            if (info != null)
            {
                info.WST_NUM      = end;
                info.ROUTE       += $"-->{end}";
                info.ROUTE_DETAIL = $"-->({end},{cra},{DateTime.Now})";
                info.UPDATE_TIME  = DateTime.Now;
                CalculateWeightService.Instance.UpdatePos(info);
            }
            else
            {
                info = new CON_POS_INFO()
                {
                    WST_NUM      = end,
                    UPDATE_TIME  = DateTime.Now,
                    ROUTE        = end,
                    ROUTE_DETAIL = $"({end},{cra},{DateTime.Now})",
                    CREATE_TIME  = DateTime.Now
                };
                CalculateWeightService.Instance.InsertPos(info);
            }
            return(info);
        }
        /// <summary>
        /// 更新位置
        /// </summary>
        /// <param name="start"></param>
        /// <param name="spa"></param>
        /// <param name="xEnd"></param>
        /// <param name="yEnd"></param>
        /// <param name="cra"></param>
        /// <returns></returns>
        public CON_POS_INFO UpdatePos(string start, string spa, int xEnd, int yEnd, string cra)
        {
            CON_POS_INFO info = ValidateStartPos(start);

            ValidateEndPos(spa, xEnd, yEnd);
            if (info != null)
            {
                info.WST_NUM      = null;
                info.X_COORD      = xEnd;
                info.Y_COORD      = yEnd;
                info.SPA_NUM      = spa;
                info.ROUTE       += $"-->({xEnd},{yEnd})";
                info.ROUTE_DETAIL = $"-->(({xEnd},{yEnd}),{cra},{DateTime.Now})";
                info.UPDATE_TIME  = DateTime.Now;
                CalculateWeightService.Instance.UpdatePos(info);
            }
            else
            {
                info = new CON_POS_INFO()
                {
                    WST_NUM      = null,
                    X_COORD      = xEnd,
                    Y_COORD      = yEnd,
                    SPA_NUM      = spa,
                    UPDATE_TIME  = DateTime.Now,
                    ROUTE        = $"({xEnd},{yEnd})",
                    ROUTE_DETAIL = $"(({xEnd},{yEnd}),{cra},{DateTime.Now})",
                    CREATE_TIME  = DateTime.Now
                };
                CalculateWeightService.Instance.InsertPos(info);
            }
            return(info);
        }
        /// <summary>
        /// 开始位置
        /// </summary>
        /// <param name="wst"></param>
        /// <param name="cra"></param>
        public CON_POS_INFO StartPos(string wst, string cra)
        {
            ValidateEndPos(wst);
            CON_POS_INFO info = new CON_POS_INFO()
            {
                WST_NUM      = wst,
                UPDATE_TIME  = DateTime.Now,
                ROUTE        = wst,
                ROUTE_DETAIL = $"({wst},{cra},{DateTime.Now})",
                CREATE_TIME  = DateTime.Now
            };

            CalculateWeightService.Instance.InsertPos(info);
            return(info);
        }
 /// <summary>
 /// 删除位置
 /// </summary>
 /// <param name="info"></param>
 public void DeletePos(CON_POS_INFO info)
 {
     CalculateWeightService.Instance.DeletePos(info);
 }
 /// <summary>
 /// 更新容器位置信息
 /// </summary>
 /// <param name="iNFO"></param>
 public void UpdatePos(CON_POS_INFO info)
 {
     OracleDataHelper.Update(info);
 }
 /// <summary>
 /// 删除容器位置信息
 /// </summary>
 /// <param name="info"></param>
 public void DeletePos(CON_POS_INFO info)
 {
     OracleDataHelper.Delete(info);
 }
 /// <summary>
 /// 插入容器位置信息
 /// </summary>
 /// <param name="info"></param>
 public void InsertPos(CON_POS_INFO info)
 {
     OracleDataHelper.Add(info);
 }