示例#1
0
 /// <summary>
 /// 更新邮寄方式
 /// </summary>
 internal static void UpdatePostTypes()
 {
     try
     {
         var systemSetting = GetSystemSetting();
         using (var db = new OrderSortingDBEntities())
         {
             var now        = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd"));
             var loginCount = db.LoginLog.Count(ll => ll.LoginTime > now);
             if (loginCount > 0)
             {
                 return;
             }
             //获取OA的全部邮寄方式
             DataTable dt = null;
             if (systemSetting.InterfaceType == InterfaceType.SigleFlyt)
             {
                 var content = API_Helper.GetPostListBySingleFlyt();
                 if (content != null && content.Count > 1)
                 {
                     foreach (var row in content)
                     {
                         Posttypes post = new Posttypes();
                         post.PostID     = row.Id;
                         post.CnPostName = row.Type;
                         post.EnPostCode = row.Id;
                         db.Posttypes.AddOrUpdate(post);
                     }
                     db.SaveChangesAsync();
                 }
             }
             else
             {
                 dt = API_Helper.GetPostList();
                 if (dt != null && dt.Rows.Count > 1)
                 {
                     foreach (DataRow row in dt.Rows)
                     {
                         Posttypes post = new Posttypes();
                         post.PostID     = row["id"].ToString();
                         post.CnPostName = row["type"].ToString();
                         post.EnPostCode = row["entype"].ToString();
                         db.Posttypes.AddOrUpdate(post);
                     }
                     db.SaveChangesAsync();
                 }
             }
         }
     }
     catch (Exception)
     {
         throw;
     }
 }
示例#2
0
 /// <summary>
 /// 定时清理/迁移旧数据
 /// </summary>
 /// <param name="logStorageDays">1:一天;2:三天;3:一周;4:一个月;5:三个月;6:半年;7:一年;8:两年;9:五年</param>
 internal static void ClearData(int logStorageDays)
 {
     //参数
     oldTime = GetLogStorageDateTime(logStorageDays);
     using (var db = new OrderSortingDBEntities())
     {
         ClearOldOrderSortingLog(db);
         ClearOldPackingLog(db);
         ClearOldOrderInfo(db);
         db.SaveChangesAsync();
     }
 }
示例#3
0
 internal void SolutionZipType(SolutionZipType solutionZipType)
 {
     try
     {
         using (var db = new OrderSortingDBEntities())
         {
             db.SolutionZipType.AddOrUpdate(solutionZipType);
             db.SaveChangesAsync();
         }
     }
     catch (Exception ex)
     {
         SaveErrLogHelper.SaveErrorLog(string.Empty, ex.ToString());
     }
 }
示例#4
0
 /// <summary>
 /// 清除格口内快件的分拣记录
 /// </summary>
 internal void ClearLatticeOrdersCache()
 {
     try
     {
         using (var db = new OrderSortingDBEntities())
         {
             db.Database.ExecuteSqlCommandAsync("DELETE FROM LatticeOrdersCache", new List <SQLiteParameter>());
             db.SaveChangesAsync();
         }
     }
     catch (Exception)
     {
         throw;
     }
 }
示例#5
0
 /// <summary>
 /// 根据订单号获取订单信息
 /// </summary>
 /// <param name="orderId">订单号</param>
 /// <param name="userInfo">用户信息</param>
 internal override OrderInfo GetOrderInfoById(string orderId, UserInfo userInfo)
 {
     using (var db = new OrderSortingDBEntities())
     {
         //var info = db.OrderInfo.Find(orderId);
         //if (info != null)
         //{
         //    return info;
         //}
         var info = CreateOrderInfo(orderId);
         if (info != null)
         {
             db.OrderInfo.AddOrUpdate(info);
             db.SaveChangesAsync();
         }
         return(info);
     }
 }
示例#6
0
 /// <summary>
 /// 方案重命名
 /// </summary>
 /// <param name="sortingSolutionId">方案Id</param>
 /// <param name="solutionName">方案新名称</param>
 internal void RenameSolution(string sortingSolutionId, string solutionName)
 {
     try
     {
         using (var db = new OrderSortingDBEntities())
         {
             var solution = db.SortingSolutions.Find(sortingSolutionId);
             if (solution != null)
             {
                 solution.Name = solutionName;
                 db.SaveChangesAsync();
             }
         }
     }
     catch (Exception)
     {
         throw;
     }
 }
示例#7
0
 /// <summary>
 /// 创建装箱记录(operationType:1自动满格,2手动满格,3打印包牌号)
 /// </summary>
 /// <param name="lattice">柜格</param>
 /// <param name="userInfo">用户信息</param>
 /// <param name="boxWeight">箱子重量</param>
 /// <param name="operationType">操作类型:1自动满格,2手动满格,3打印包牌号</param>
 /// <returns></returns>
 internal override PackingLog CreatePackingLog(LatticeSetting lattice, UserInfo userInfo, decimal boxWeight, out List <LatticeOrdersCache> latticeInfo, int operationType = 3)
 {
     Debug.WriteLine("CreatePackingLog begin 1");
     using (var db = new OrderSortingDBEntities())
     {
         var logCache = db.LatticeOrdersCache.Where(o => o.LatticesettingId == lattice.ID);
         if (logCache == null || logCache.Count() < 1)
         {
             latticeInfo = null;
             return(null);
         }
         var logList = logCache.ToList();
         latticeInfo = logList;
         PackingLog pkgLog = NewPackingLog(lattice, userInfo, operationType, logList, boxWeight);
         db.PackingLog.Add(pkgLog);
         db.LatticeOrdersCache.RemoveRange(logList);
         db.SaveChangesAsync();
         return(pkgLog);
     }
 }
示例#8
0
 /// <summary>
 /// 创建装箱记录(多格口打印一个PKG标签)
 /// </summary>
 /// <param name="latticeIdArray">格口号</param>
 /// <param name="userInfo">用户信息</param>
 /// <param name="criticalWeight">临界重量</param>
 /// <param name="boxWeight">箱子重量</param>
 /// <returns></returns>
 internal override PackingLog CreatePackingLog(string[] latticeIdArray, UserInfo userInfo, decimal criticalWeight, decimal boxWeight, out List <LatticeOrdersCache> latticeInfo, int operationType = 3)
 {
     using (var db = new OrderSortingDBEntities())
     {
         var LatticesettingIds = db.LatticeSetting.Where(ls => latticeIdArray.Contains(ls.LatticeId)).Select(ls => ls.ID);
         var logCache          = db.LatticeOrdersCache.Where(o => LatticesettingIds.Contains(o.LatticesettingId));
         if (logCache == null || logCache.Count() < 1)
         {
             throw new Exception("没有分拣记录,装箱记录生成失败!");
         }
         var logList = logCache.ToList();
         latticeInfo = logList;
         PackingLog pkgLog = NewPackingLog(null, userInfo, operationType, logList, boxWeight);
         if (pkgLog.Weight > criticalWeight)
         {
             throw new Exception(string.Format("总重量{0}Kg,临界重量{1}Kg,装箱记录生成失败!", pkgLog.Weight, criticalWeight));
         }
         db.PackingLog.Add(pkgLog);
         db.LatticeOrdersCache.RemoveRange(logList);
         db.SaveChangesAsync();
         return(pkgLog);
     }
 }
示例#9
0
 /// <summary>
 /// 添加登录记录
 /// </summary>
 /// <param name="userName">用户名</param>
 internal void AddLoginLog(string userName)
 {
     try
     {
         if (string.IsNullOrWhiteSpace(userName))
         {
             return;
         }
         using (var db = new OrderSortingDBEntities())
         {
             LoginLog log = new LoginLog();
             log.Id        = Guid.NewGuid().ToString();
             log.UserName  = userName;
             log.LoginTime = DateTime.Now;
             db.LoginLog.Add(log);
             db.SaveChangesAsync();
         }
     }
     catch (Exception ex)
     {
         SaveErrLogHelper.SaveErrorLog(string.Empty, ex.ToString());
     }
 }