/// <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; } }
/// <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(); } }
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()); } }
/// <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; } }
/// <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); } }
/// <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; } }
/// <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); } }
/// <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); } }
/// <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()); } }