调拨订单同步生成原材料/成品调拨出库 物料签收接口
This commit is contained in:
@@ -1047,22 +1047,68 @@ namespace Tnb.WarehouseMgr
|
||||
if (warehouse_outstock.id == WmsWareHouseConst.WAREHOUSE_YCL_ID)
|
||||
{
|
||||
WmsRawmatTransferoutstockH wmsRawmatTransferoutstockH = new WmsRawmatTransferoutstockH();
|
||||
string code = await _billRuleService.GetBillNumber("WmsRawmatTransferoutstockH");
|
||||
wmsRawmatTransferoutstockH.bill_code = code;
|
||||
wmsRawmatTransferoutstockH.create_id = WmsWareHouseConst.ErpUserId;
|
||||
wmsRawmatTransferoutstockH.create_time = DateTime.Now;
|
||||
wmsRawmatTransferoutstockH.biller = input.biller;
|
||||
wmsRawmatTransferoutstockH.dept_code = input.dept_code;
|
||||
wmsRawmatTransferoutstockH.warehouse_code = warehouse_outstock.whcode;
|
||||
wmsRawmatTransferoutstockH.erp_pk = input.erp_pk;
|
||||
wmsRawmatTransferoutstockH.transfer_order_id = wmsTransferOrderH.bill_code;
|
||||
List<WmsRawmatTransferoutstockD> wmsRawmatTransferoutstockDs = new List <WmsRawmatTransferoutstockD>();
|
||||
foreach (var detail in input.details)
|
||||
{
|
||||
WmsRawmatTransferoutstockD wmsRawmatTransferoutstockD = new WmsRawmatTransferoutstockD();
|
||||
wmsRawmatTransferoutstockD.bill_id = wmsRawmatTransferoutstockH.id;
|
||||
wmsRawmatTransferoutstockD.unit = detail.unit_code;
|
||||
var erpExtendField = await db.Queryable<ErpExtendField>().InnerJoin<DictionaryDataEntity>((a, b) => a.table_id == b.Id).Where((a, b) => a.cunitid == detail.unit_code).Select((a, b) => b).FirstAsync();
|
||||
if (erpExtendField != null)
|
||||
{
|
||||
wmsRawmatTransferoutstockD.unit = erpExtendField.EnCode;
|
||||
}
|
||||
else
|
||||
{
|
||||
_LoggerErp2Mes.LogWarning($@"【TransferOrder】表体明细中单位{detail.unit_code}在wms系统中未找到!");
|
||||
throw new AppFriendlyException($@"表体明细中单位{detail.unit_code}在wms系统中未找到!", 500);
|
||||
}
|
||||
|
||||
|
||||
List<WmsRawmatTransferoutstockD> wmsRawmatTransferoutstockD = new List <WmsRawmatTransferoutstockD>();
|
||||
wmsRawmatTransferoutstockD.qty = detail.qty;
|
||||
wmsRawmatTransferoutstockD.code_batch = detail.code_batch;
|
||||
wmsRawmatTransferoutstockD.erp_line_pk = detail.erp_line_pk;
|
||||
wmsRawmatTransferoutstockD.create_id = WmsWareHouseConst.ErpUserId;
|
||||
wmsRawmatTransferoutstockD.create_time = DateTime.Now;
|
||||
wmsRawmatTransferoutstockD.lineno = detail.lineno;
|
||||
|
||||
var material = await db.Queryable<BasMaterial>().Where(p => p.code == detail.material_code).FirstAsync();
|
||||
if (material != null)
|
||||
{
|
||||
wmsRawmatTransferoutstockD.matcode_id = material.id;
|
||||
wmsRawmatTransferoutstockD.matcode = material.code;
|
||||
wmsRawmatTransferoutstockD.matspecification = material.material_specification;
|
||||
}
|
||||
|
||||
wmsRawmatTransferoutstockDs.Add(wmsRawmatTransferoutstockD);
|
||||
}
|
||||
|
||||
await db.Insertable(wmsRawmatTransferoutstockH).ExecuteCommandAsync();
|
||||
await db.Insertable(wmsRawmatTransferoutstockD).ExecuteCommandAsync();
|
||||
await db.Insertable(wmsRawmatTransferoutstockDs).ExecuteCommandAsync();
|
||||
}
|
||||
else if(warehouse_outstock.id == WmsWareHouseConst.WAREHOUSE_CP_ID)
|
||||
{
|
||||
WmsTransferInstockH wmsTransferInstockH = new WmsTransferInstockH();
|
||||
WmsTransferOutstockH wmsTransferOutstockH = new WmsTransferOutstockH();
|
||||
string code = await _billRuleService.GetBillNumber("WmsTransferOutstockH");
|
||||
wmsTransferOutstockH.bill_code = code;
|
||||
wmsTransferOutstockH.create_id = WmsWareHouseConst.ErpUserId;
|
||||
wmsTransferOutstockH.create_time = DateTime.Now;
|
||||
wmsTransferOutstockH.warehouse_code = warehouse_outstock.whcode;
|
||||
wmsTransferOutstockH.erp_pk = input.erp_pk;
|
||||
wmsTransferOutstockH.transfer_order_id = wmsTransferOrderH.bill_code;
|
||||
List<WmsTransferOutstockD> wmsTransferOutstockDs = new List<WmsTransferOutstockD>();
|
||||
|
||||
List<WmsTransferInstockD> wmsTransferInstockD = new List<WmsTransferInstockD>();
|
||||
|
||||
await db.Insertable(wmsTransferInstockH).ExecuteCommandAsync();
|
||||
await db.Insertable(wmsTransferInstockD).ExecuteCommandAsync();
|
||||
await db.Insertable(wmsTransferOutstockH).ExecuteCommandAsync();
|
||||
await db.Insertable(wmsTransferOutstockDs).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
await db.Ado.CommitTranAsync();
|
||||
|
||||
Reference in New Issue
Block a user