2025-04-15 | Rodney Chen | ![]() |
2025-04-15 | Rodney Chen | ![]() |
Tiger.Business.WMS/Transaction/Yada/Count_BIZ_U9_ASN.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_RECEIPT.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Tiger.Controllers.WMS/Controllers/WMSController.In_BIZ_U9_RECEIPT.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Tiger.IBusiness.WMS/Transaction/IIn_BIZ_U9_RECEIPT.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Tiger.Model.Net/Entitys/WMS/Api/Output_Entitys.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Tiger.Model.Net/Entitys/WMS/BIZ_U9_RECEIPT.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Tiger.Business.WMS/Transaction/Yada/Count_BIZ_U9_ASN.cs
@@ -440,8 +440,7 @@ var receipt = new BIZ_U9_RECEIPT(); receipt.Details = new(); receipt.SnList = new(); DbClient U9Cdb = Biz.DataSource["YadaU9C"].Client; var list = U9Cdb.Queryable<mes_ReturnedDocInfo>().Where(x => x.RcvId == result.Data[0].ID.ToDouble() && x.DocNo == result.Data[0].Code && x.SplitFlag != 1).ToList(); var list = Biz.DataSource["YadaU9C"].Client.Queryable<mes_ReturnedDocInfo>().Where(x => x.RcvId == result.Data[0].ID.ToDouble() && x.DocNo == result.Data[0].Code && x.SplitFlag != 1).ToList(); if (list != null && list.Count > 0) { @@ -455,6 +454,8 @@ receipt.RECEIVE_DATE = DateTime.Now; receipt.ASN_ID = order.ID; receipt.ASN_NO = order.ORDER_NO; receipt.ERP_STATUS_CODE = list.First().Status.ToString(); receipt.ERP_STATUS_NAME = list.First().StatusName; receipt.ORDER_DATE = list.First().ModifiedOn; receipt.HANDLED = 0; receipt.HANDLED_DATE = DateTime.Now; Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_RECEIPT.cs
@@ -13,7 +13,6 @@ using Tiger.Business.WMS.Sharetronic.Shelf; using Tiger.Model.Entitys.MES.U9C; using Tiger.Model.MES.Yada; using static IronPython.Modules._ast; namespace Tiger.Business.WMS.Transaction { @@ -22,6 +21,7 @@ /// </summary> public class In_BIZ_U9_RECEIPT : WmsTask, IIn_BIZ_U9_RECEIPT { public IIn_BIZ_U9_RECEIPT Init(string id, string userCode, string apiHost, string orgCode) { base.Init(id, userCode, apiHost, orgCode); @@ -30,7 +30,7 @@ } #region Propertys & Variables public string CurOrderNo { get; set; } #endregion #region Functions @@ -216,6 +216,8 @@ return SetOutPutMqttMsg(action, input.Locale); } CurOrderNo = receipt.ORDER_NO; //执行上架数据处理 foreach (var item in CurInvItem.Items) { @@ -314,13 +316,18 @@ }); //完成所有处理后使用事务保存数据 action = DoIfFinish(action, input.Locale, () => { action = DoIfFinish(action, input.Locale, () => { //设置当前物料的默认储位 if (CurInvItem.ItemInfo.DEFAULT_LOCATION.IsNullOrEmpty()) { SetDefaultLocation(MainDB, CurInvItem.ItemInfo, nLocation); } }); //if (!action.Data.Data.IsNullOrEmpty() && action.Data.Data is DefaultInStoreOutput) //{ // (action.Data.Data as DefaultInStoreOutput).OrderInfo = receipt; //} } catch (Exception ex) { @@ -461,6 +468,38 @@ return SetOutPutMqttMsg(action, locale); } /// <summary> /// 获取需要上架的收货单列表(带分页) /// </summary> /// <returns></returns> public async Task<ApiAction<PageAble<BIZ_U9_RECEIPT>>> GetOrderList(BaseInputWithPage input) { var action = new ApiAction<PageAble<BIZ_U9_RECEIPT>>(); var query = Biz.DataSource["YadaU9C"].Client.Queryable<mes_ReturnedDocInfo>().Where(q => q.Status == 3) .WhereIF(!input.OrderNo.IsNullOrEmpty(), q => q.DocNo.Contains(input.OrderNo)) .OrderBy(q => q.DocNo).ToPage(input.pageIndex, input.pageSize); action.Data = await MainDB.Queryable<BIZ_U9_RECEIPT>().Where(q => query.data.Select(o => o.DocNo).Contains(q.ORDER_NO)).ToPageAsync(input.pageIndex, input.pageSize); foreach (var order in action.Data.data) { order.ERP_STATUS_CODE = query.data.FirstOrDefault(q => q.DocNo == order.ORDER_NO)?.Status.ToString(); order.ERP_STATUS_NAME = query.data.FirstOrDefault(q => q.DocNo == order.ORDER_NO)?.StatusName; } MainDB.Updateable(action.Data.data, UserCode).UpdateColumns(q => new { q.UPDATE_TIME, q.UPDATE_USER, q.ERP_STATUS_CODE, q.ERP_STATUS_NAME }).ExecuteCommand(); return action; } /// <summary> /// 获取当前收货单信息 /// </summary> /// <returns></returns> public async Task<ApiAction<BIZ_U9_RECEIPT>> GetCurOrder() { var action = new ApiAction<BIZ_U9_RECEIPT>(); action.Data = MainDB.Queryable<BIZ_U9_RECEIPT>().Where(q => q.ORDER_NO == CurOrderNo).IncludesAllFirstLayer().First(); return action; } #endregion /// <summary> Tiger.Controllers.WMS/Controllers/WMSController.In_BIZ_U9_RECEIPT.cs
@@ -137,5 +137,97 @@ return Ok(response); } /// <summary> /// GetOrderList(ApiAction(BasePageInput)) /// 获取需要上架的收货单列表(带分页) /// </summary> /// <param name="action"></param> /// <returns></returns> [HttpPost] [Route("api/[controller]/In_U9Receipt/GetOrderList")] public async Task<IActionResult> In_BIZ_U9_RECEIPT_GetOrderListAsync([FromBody] ApiAction<BaseInputWithPage> action) { ApiAction response; IIn_BIZ_U9_RECEIPT trans = null; try { if (iBiz.WMS.Context.GetTransDic().ContainsKey(action.ID)) { trans = iBiz.WMS.Context.GetTransDic()[action.ID] as IIn_BIZ_U9_RECEIPT; if (!trans.IsFinished) { if (action.IsAsync) { response = action.GetResponse(await trans.GetOrderList(action.Data)); } else { lock (trans.TransLock) { response = action.GetResponse(trans.GetOrderList(action.Data).Result); } } } else { response = action.GetResponse($"Transaction Error: 收货单(U9)上架事务[ID:{action.ID}]已经关闭,请重新打开收货单(U9)上架功能", false); } } else { response = action.GetResponse($"Transaction Error: 收货单(U9)上架事务[ID:{action.ID}]数据丢失,请重新打开收货单(U9)上架功能", false); } } catch (System.Exception ex) { response = action.GetResponse().CatchExceptionWithLog(ex); } trans?.AddHistory(Request, action); return Ok(response); } /// <summary> /// GetCurOrder(ApiAction) /// 获取当前收货单信息 /// </summary> /// <param name="action"></param> /// <returns></returns> [HttpPost] [Route("api/[controller]/In_U9Receipt/GetCurOrder")] public async Task<IActionResult> In_BIZ_U9_RECEIPT_GetCurOrderAsync([FromBody] ApiAction<BaseInput> action) { ApiAction response; IIn_BIZ_U9_RECEIPT trans = null; try { if (iBiz.WMS.Context.GetTransDic().ContainsKey(action.ID)) { trans = iBiz.WMS.Context.GetTransDic()[action.ID] as IIn_BIZ_U9_RECEIPT; if (!trans.IsFinished) { if (action.IsAsync) { response = action.GetResponse(await trans.GetCurOrder()); } else { lock (trans.TransLock) { response = action.GetResponse(trans.GetCurOrder().Result); } } } else { response = action.GetResponse($"Transaction Error: 收货单(U9)上架事务[ID:{action.ID}]已经关闭,请重新打开收货单(U9)上架功能", false); } } else { response = action.GetResponse($"Transaction Error: 收货单(U9)上架事务[ID:{action.ID}]数据丢失,请重新打开收货单(U9)上架功能", false); } } catch (System.Exception ex) { response = action.GetResponse().CatchExceptionWithLog(ex); } trans?.AddHistory(Request, action); return Ok(response); } } } Tiger.IBusiness.WMS/Transaction/IIn_BIZ_U9_RECEIPT.cs
@@ -5,6 +5,7 @@ using System.Text; using System.Threading.Tasks; using Tiger.Model; using Tiger.Model.MES.Yada; namespace Tiger.IBusiness { @@ -20,6 +21,18 @@ /// </summary> public Task<ApiAction<ScanOutput>> Scan(BaseInput input); /// <summary> /// 获取需要上架的收货单列表(带分页) /// </summary> /// <returns></returns> public Task<ApiAction<PageAble<BIZ_U9_RECEIPT>>> GetOrderList(BaseInputWithPage input); /// <summary> /// 获取当前收货单信息 /// </summary> /// <returns></returns> public Task<ApiAction<BIZ_U9_RECEIPT>> GetCurOrder(); public bool Close(bool needSaveHistoryLog = false); } } Tiger.Model.Net/Entitys/WMS/Api/Output_Entitys.cs
@@ -77,5 +77,6 @@ public string RegionCode { get; set; } public string ShelfCode { get; set; } public string LocationCode { get; set; } public object OrderInfo { get; set; } } } Tiger.Model.Net/Entitys/WMS/BIZ_U9_RECEIPT.cs
@@ -68,10 +68,20 @@ /// </summary> [DisplayName("送货单号")] public string ASN_NO { get; set; } /// <summary> /// 备注 /// </summary> [DisplayName("备注")] /// <summary> /// ERP单据状态 /// </summary> [DisplayName("ERP单据状态")] public string ERP_STATUS_CODE { get; set; } /// <summary> /// ERP单据状态名称 /// </summary> [DisplayName("ERP单据状态名称")] public string ERP_STATUS_NAME { get; set; } /// <summary> /// 备注 /// </summary> [DisplayName("备注")] public string REMARK { get; set; } /// <summary> /// -1:未处理,0:同步处理完,>0:同步处理失败次数