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
|
{
|
/// <summary>
|
/// Srm 数据接口,对外提供数据
|
/// </summary>
|
/// <param name="param"></param>
|
/// <returns></returns>
|
public async Task<ApiAction> 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<BIZ_SRM_DLVY>().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<iSrmDlvy> iSrmDlvies = new List<iSrmDlvy>();
|
foreach (var item in dlvyList) {
|
//送货单明细
|
List<BookDeliveryItems> bookDeliveryItems = new List<BookDeliveryItems>();
|
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> barcodeDetailDatas = new List<BarcodeDetailDatas>();
|
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;
|
}
|
}
|
}
|