| | |
| | | db.Updateable<TN_EquipProDetail>(targetEPD).UpdateColumns(it => new { it.ITEMSTATE }).ExecuteCommand(); |
| | | |
| | | var cginfo = db.Queryable<TN_CG_Detail>().First(a => a.S_ID == targetEPD.S_ID); |
| | | |
| | | if (cginfo != null) |
| | | { |
| | | cginfo.S_ITEM_STATE = "过期"; |
| | | cginfo.N_ITEM_STATE = 3; |
| | | db.Updateable<TN_CG_Detail>(cginfo).UpdateColumns(it => new { it.S_ITEM_STATE, it.N_ITEM_STATE }).ExecuteCommand(); |
| | | } |
| | | } |
| | | |
| | | // 同步 TN_InventoryM 与 TN_CG_Detail |
| | |
| | | db.Updateable<TN_InventoryM>(targetInM).UpdateColumns(it => new { it.ITEMSTATE }).ExecuteCommand(); |
| | | |
| | | var cginfo = db.Queryable<TN_CG_Detail>().First(a => a.S_ID == targetInM.S_ID); |
| | | |
| | | if (cginfo != null) |
| | | { |
| | | cginfo.S_ITEM_STATE = "过期"; |
| | | cginfo.N_ITEM_STATE = 3; |
| | | db.Updateable<TN_CG_Detail>(cginfo).UpdateColumns(it => new { it.S_ITEM_STATE, it.N_ITEM_STATE }).ExecuteCommand(); |
| | | } |
| | | } |
| | | |
| | | targetInM = db.Queryable<TN_InventoryM>().LeftJoin<TN_CG_Detail>((o, i) => o.S_ID == i.S_ID). |
| | | var targetInMList = db.Queryable<TN_InventoryM>().LeftJoin<TN_CG_Detail>((o, i) => o.S_ID == i.S_ID). |
| | | Where((o, i) => System.DateTime.Now < o.EXPIRATION |
| | | && ((i.S_ITEM_STATE == "待检" && i.N_ITEM_STATE == 1) |
| | | || (i.S_ITEM_STATE == "合格" && i.N_ITEM_STATE == 0)) |
| | | ).First(); |
| | | ).ToList(); |
| | | |
| | | if (targetInM != null)//检测出快过期的货品 |
| | | if (targetInMList.Count > 0)//检测出快过期的货品 |
| | | { |
| | | targetInM.EXPIRATION_DAY = SpecHelper.CalculateDaysDifference(System.DateTime.Now,targetInM.EXPIRATION).ToString(); |
| | | db.Updateable<TN_InventoryM>(targetInM).UpdateColumns(it => new { it.EXPIRATION_DAY }).ExecuteCommand(); |
| | | foreach (var item in targetInMList) |
| | | { |
| | | item.EXPIRATION_DAY = SpecHelper.CalculateDaysDifference(System.DateTime.Now, item.EXPIRATION).ToString(); |
| | | } |
| | | db.Updateable<TN_InventoryM>(targetInMList).UpdateColumns(it => new { it.EXPIRATION_DAY }).ExecuteCommand(); |
| | | } |
| | | |
| | | targetInM = db.Queryable<TN_InventoryM>().First(a => Convert.ToInt32(a.EXPIRATION_DAY) > 0 && a.ITEMSTATE == "过期"); |
| | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Error($"发生了异常,同步TN_EquipProDetail异常,{ex.Message}", ex); |
| | | // 获取最内层异常(通常是实际引发问题的异常) |
| | | Exception innerEx = ex; |
| | | while (innerEx.InnerException != null) |
| | | { |
| | | innerEx = innerEx.InnerException; |
| | | } |
| | | |
| | | // 获取堆栈帧信息 |
| | | var stackTrace = new System.Diagnostics.StackTrace(innerEx, true); |
| | | var stackFrame = stackTrace.GetFrame(0); // 获取最顶层的堆栈帧 |
| | | |
| | | // 获取文件名和行号 |
| | | string fileName = stackFrame.GetFileName(); |
| | | int lineNumber = stackFrame.GetFileLineNumber(); |
| | | |
| | | LogHelper.Error($"发生了异常,同步TN_EquipProDetail异常,文件:{fileName}, 行号:{lineNumber}, 错误:{ex.Message}\r\n{ex.StackTrace}", ex); |
| | | } |
| | | } |
| | | |