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;
}
}
}