using Apache.NMS.ActiveMQ.Commands; using Rhea.Common; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Tiger.IBusiness; using Tiger.Model; using Tiger.Model.Minsun; namespace Tiger.Business.WMS { public class SrmDataToSiHua : ISrmDataToSiHua { /// /// Srm 数据接口,对外提供数据 /// /// /// public async Task GetSrmDlvys(iSrmToShParams param) { var action = new ApiAction(); try { DbClient db = Biz.DataSource["WMS57"].Client; //switch (param.company) //{ // case "XCSJ": // db = Biz.DataSource["Main"].Client; // break; // case "DGXC": // db = Biz.DataSource["DGXC"].Client; // break; // case "AHXC": // db = Biz.DataSource["AHXC"].Client; // break; //} var dlvyList = await db.Queryable().ByAuth(new AuthOption() { ByOrg = true,CurOrg = param.company, OrgCode = param.company,UserId="admin" }).IncludesAllFirstLayer() .WhereIF(!string.IsNullOrEmpty(param.startDate), t => t.CREATE_TIME >= Convert.ToDateTime(param.startDate)) .WhereIF(!string.IsNullOrEmpty(param.endDate), t => t.CREATE_TIME < Convert.ToDateTime(param.endDate)).ToListAsync(); List iSrmDlvies = new List(); foreach (var item in dlvyList) { //送货单明细 List bookDeliveryItems = new List(); foreach (var dtl in item.Dtls) { BookDeliveryItems bookDeliveryItem = new BookDeliveryItems { itemNumber = dtl.PO_LINE_NO.ToString(), orderNumber = dtl.ERP_PO_NO, lotNum = dtl.BATCH_NUMBER, purchaseType = dtl.PO_TYPE.ToString(), materialNumber = dtl.ITEM_CODE, itemStatus = dtl.STATUS.ToString(), orderItemNumber = dtl.LINE_NO.ToString(), deliveryQuantity = dtl.QTY.ToString(), }; bookDeliveryItems.Add(bookDeliveryItem); } //送货条码 List barcodeDetailDatas = new List(); foreach (var b in item.SnList) { BarcodeDetailDatas BarcodeDetailData = new BarcodeDetailDatas { materialNumber = b.ITEM_CODE, packetBarcodeNumber = b.SMALL_BARCODE, bookDeliveryNumber = b.DELIVERY_NO, cartonBarcodeNumber = b.OUTER_BARCODE, materialQuantity = b.QTY.ToString(), mediumBarcodeNumber = b.BIG_BARCODE }; barcodeDetailDatas.Add(BarcodeDetailData); } iSrmDlvy _srmDlvy = new iSrmDlvy { supplierName = item.SUPP_NAME, address = item.ADDRESS, supplierRemark = "", documnetNumber = item.DELIVERY_NO, supplierCode = item.SUPP_CODE, documentStatus = item.STATUS.ToString(), bookDeliveryDate= item.PLANARRIVED_DATE.ToString("yyyy-MM-dd HH:mm:ss"), company = item.AUTH_ORG, bookDeliveryItems = bookDeliveryItems, deliveryDate = item.DELIVERY_DATE.ToString(), barcodeDetailDatas = barcodeDetailDatas, }; iSrmDlvies.Add(_srmDlvy); } action.Data = iSrmDlvies; } catch (System.Exception ex) { return action.GetResponse().CatchExceptionWithLog(ex, $"从WMS拉取Srm数据异常"); } return action; } } }