电梯逻辑变更 erp同步调整 生成条码变更等
This commit is contained in:
@@ -338,25 +338,44 @@ namespace Tnb.WarehouseMgr
|
||||
|
||||
await db.Ado.BeginTranAsync();
|
||||
|
||||
// 判断是否为重复传输的采购订单
|
||||
WmsPurchaseOrderH wmsPurchaseOrderRep = await db.Queryable<WmsPurchaseOrderH>().Where(r => r.erp_pk == input.erp_pk).FirstAsync();
|
||||
if (wmsPurchaseOrderRep != null)
|
||||
{
|
||||
// 判断收货单是否已经生成
|
||||
WmsPurchaseH wmsPurchaseH = await db.Queryable<WmsPurchaseH>().Where(r => r.source_id == wmsPurchaseOrderRep.id).FirstAsync();
|
||||
if (wmsPurchaseH != null)
|
||||
{
|
||||
_LoggerErp2Mes.LogWarning($@"【PurchaseOrderInput】wms已创建收货单{wmsPurchaseH.bill_code}!");
|
||||
throw new AppFriendlyException($@"wms已创建收货单{wmsPurchaseH.bill_code}!", 500);
|
||||
}
|
||||
else // 删除数据重新插入
|
||||
{
|
||||
await db.Deleteable<WmsPurchaseOrderH>().Where(r => r.id == wmsPurchaseOrderRep.id).ExecuteCommandAsync();
|
||||
await db.Deleteable<WmsPurchaseOrderD>().Where(r => r.fk_wms_purchase_order_id == wmsPurchaseOrderRep.id).ExecuteCommandAsync();
|
||||
}
|
||||
}
|
||||
|
||||
// 判断是否为重复传输的采购退料订单
|
||||
WmsPurchaseReturnH wmsPurchaseReturnRep = await db.Queryable<WmsPurchaseReturnH>().Where(r => r.erp_pk == input.erp_pk).FirstAsync();
|
||||
if (wmsPurchaseReturnRep != null)
|
||||
{
|
||||
// 判断采购退货是否已经下发
|
||||
List<WmsPurchaseReturnD> wmsPurchaseReturnDReps = await db.Queryable<WmsPurchaseReturnD>().Where(r => r.bill_id == wmsPurchaseReturnRep.id).ToListAsync();
|
||||
if (wmsPurchaseReturnDReps.Where(r => r.actual_qty > 0).Count() > 0)
|
||||
{
|
||||
_LoggerErp2Mes.LogWarning($@"【PurchaseOrderInput】wms采购退货单{wmsPurchaseReturnRep.bill_code}已下发,不能退回!");
|
||||
throw new AppFriendlyException($@"wms采购退货单{wmsPurchaseReturnRep.bill_code}已下发,不能退回!", 500);
|
||||
}
|
||||
else // 删除数据重新插入
|
||||
{
|
||||
await db.Deleteable<WmsPurchaseReturnH>().Where(r => r.id == wmsPurchaseReturnRep.id).ExecuteCommandAsync();
|
||||
await db.Deleteable<WmsPurchaseReturnD>().Where(r => r.bill_id == wmsPurchaseReturnRep.id).ExecuteCommandAsync();
|
||||
}
|
||||
}
|
||||
|
||||
if (details.Count > 0)
|
||||
{
|
||||
// 判断是否为重复传输的采购订单
|
||||
WmsPurchaseOrderH wmsPurchaseOrderRep = await db.Queryable<WmsPurchaseOrderH>().Where(r => r.erp_pk == input.erp_pk).FirstAsync();
|
||||
if (wmsPurchaseOrderRep != null)
|
||||
{
|
||||
// 判断收货单是否已经生成
|
||||
WmsPurchaseH wmsPurchaseH = await db.Queryable<WmsPurchaseH>().Where(r => r.source_id == wmsPurchaseOrderRep.id).FirstAsync();
|
||||
if (wmsPurchaseH != null)
|
||||
{
|
||||
_LoggerErp2Mes.LogWarning($@"【PurchaseOrderInput】wms已创建收货单{wmsPurchaseH.bill_code}!");
|
||||
throw new AppFriendlyException($@"wms已创建收货单{wmsPurchaseH.bill_code}!", 500);
|
||||
}
|
||||
else // 删除数据重新插入
|
||||
{
|
||||
await db.Deleteable<WmsPurchaseOrderH>().Where(r => r.id == wmsPurchaseOrderRep.id).ExecuteCommandAsync();
|
||||
await db.Deleteable<WmsPurchaseOrderD>().Where(r => r.fk_wms_purchase_order_id == wmsPurchaseOrderRep.id).ExecuteCommandAsync();
|
||||
}
|
||||
}
|
||||
|
||||
WmsPurchaseOrderH wmsPurchaseOrderH = new WmsPurchaseOrderH();
|
||||
string Code = await _billRuleService.GetBillNumber("Purchase");
|
||||
@@ -389,7 +408,7 @@ namespace Tnb.WarehouseMgr
|
||||
wmsPurchaseOrderD.matcode = detail.material_code;
|
||||
wmsPurchaseOrderD.unit = detail.unit_code;
|
||||
|
||||
var erpExtendField = await db.Queryable<ErpExtendField>().InnerJoin<DictionaryDataEntity>((a, b) => a.table_id == b.Id).Where((a, b) => b.EnCode == detail.unit_code).Select((a, b) => b).FirstAsync();
|
||||
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)
|
||||
{
|
||||
wmsPurchaseOrderD.unit_id = erpExtendField.Id;
|
||||
@@ -428,23 +447,6 @@ namespace Tnb.WarehouseMgr
|
||||
|
||||
if (details_return.Count > 0)
|
||||
{
|
||||
// 判断是否为重复传输的采购退料订单
|
||||
WmsPurchaseReturnH wmsPurchaseReturnRep = await db.Queryable<WmsPurchaseReturnH>().Where(r => r.erp_pk == input.erp_pk).FirstAsync();
|
||||
if (wmsPurchaseReturnRep != null)
|
||||
{
|
||||
// 判断采购退货是否已经下发
|
||||
List<WmsPurchaseReturnD> wmsPurchaseReturnDReps = await db.Queryable<WmsPurchaseReturnD>().Where(r => r.bill_id == wmsPurchaseReturnRep.id).ToListAsync();
|
||||
if (wmsPurchaseReturnDReps.Where(r => r.actual_qty > 0).Count() > 0)
|
||||
{
|
||||
_LoggerErp2Mes.LogWarning($@"【PurchaseOrderInput】wms采购退货单{wmsPurchaseReturnRep.bill_code}已下发,不能退回!");
|
||||
throw new AppFriendlyException($@"wms采购退货单{wmsPurchaseReturnRep.bill_code}已下发,不能退回!", 500);
|
||||
}
|
||||
else // 删除数据重新插入
|
||||
{
|
||||
await db.Deleteable<WmsPurchaseReturnH>().Where(r => r.id == wmsPurchaseReturnRep.id).ExecuteCommandAsync();
|
||||
await db.Deleteable<WmsPurchaseReturnD>().Where(r => r.bill_id == wmsPurchaseReturnRep.id).ExecuteCommandAsync();
|
||||
}
|
||||
}
|
||||
|
||||
WmsPurchaseReturnH wmsPurchaseReturnH = new WmsPurchaseReturnH();
|
||||
string Code = await _billRuleService.GetBillNumber("WmsPurchaseReturn");
|
||||
@@ -478,7 +480,7 @@ namespace Tnb.WarehouseMgr
|
||||
wmsPurchaseReturnD.unit = detail.unit_code;
|
||||
|
||||
|
||||
var erpExtendField = await db.Queryable<ErpExtendField>().InnerJoin<DictionaryDataEntity>((a, b) => a.table_id == b.Id).Where((a, b) => b.EnCode == detail.unit_code).Select((a, b) => b).FirstAsync();
|
||||
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)
|
||||
{
|
||||
wmsPurchaseReturnD.unit = erpExtendField.EnCode;
|
||||
@@ -569,7 +571,7 @@ namespace Tnb.WarehouseMgr
|
||||
await db.Ado.BeginTranAsync();
|
||||
|
||||
// 判断是否为重复传输
|
||||
WmsOutsourceOrderH wmsOutsourceOrderHRep = await db.Queryable<WmsOutsourceOrderH>().Where(r => r.erp_pk == input.erp_pk).FirstAsync();
|
||||
WmsOutsourceOrderH wmsOutsourceOrderHRep = await db.Queryable<WmsOutsourceOrderH>().Where(r => r.erp_bill_code == input.outsource_order).FirstAsync();
|
||||
if (wmsOutsourceOrderHRep != null)
|
||||
{
|
||||
// 判断是否已经下发
|
||||
@@ -620,6 +622,7 @@ namespace Tnb.WarehouseMgr
|
||||
var erpExtendField = await db.Queryable<ErpExtendField>().InnerJoin<DictionaryDataEntity>((a, b) => a.table_id == b.Id).Where((a, b) => b.EnCode == detail.unit_code).Select((a, b) => b).FirstAsync();
|
||||
if (erpExtendField != null)
|
||||
{
|
||||
wmsOutsourceOrderD.unit_id = erpExtendField.Id;
|
||||
wmsOutsourceOrderD.unit = erpExtendField.EnCode;
|
||||
}
|
||||
else
|
||||
@@ -776,7 +779,7 @@ namespace Tnb.WarehouseMgr
|
||||
await db.Ado.BeginTranAsync();
|
||||
|
||||
// 判断是否重复传输
|
||||
WmsMaterialTransfer wmsMaterialTransferRep = await db.Queryable<WmsMaterialTransfer>().Where(r => r.erp_pk == input.erp_pk).FirstAsync();
|
||||
WmsMaterialTransfer wmsMaterialTransferRep = await db.Queryable<WmsMaterialTransfer>().Where(r => r.erp_bill_code == input.bill_code).FirstAsync();
|
||||
if (wmsMaterialTransferRep != null)
|
||||
{
|
||||
// 判断单据是否已经下发
|
||||
@@ -1142,30 +1145,66 @@ namespace Tnb.WarehouseMgr
|
||||
// throw new AppFriendlyException($@"表体存在物料和批号重复的明细!", 500);
|
||||
//}
|
||||
await db.Ado.BeginTranAsync();
|
||||
// 判断是否重复传输
|
||||
WmsRawmatTransferinstockH wmsRawmatTransferinstockHRep = await db.Queryable<WmsRawmatTransferinstockH>().Where(r => r.erp_bill_code == input.transfer_order).FirstAsync();
|
||||
if (wmsRawmatTransferinstockHRep != null)
|
||||
{
|
||||
// 判断单据是否已经下发
|
||||
List<WmsRawmatTransferinstockD> wmsRawmatTransferinstockHs = await db.Queryable<WmsRawmatTransferinstockD>().Where(r => r.bill_id == wmsRawmatTransferinstockHRep.id).ToListAsync();
|
||||
bool isxf = wmsRawmatTransferinstockHs.Where(r => r.bind_qty > 0).Any();
|
||||
if (isxf)
|
||||
{
|
||||
_LoggerErp2Mes.LogWarning($@"【TransferOutstock】wms已下发使用调拨出库单{input.transfer_order}!");
|
||||
throw new AppFriendlyException($@"wms已下发使用调拨出库单{input.transfer_order}!", 500);
|
||||
}
|
||||
else // 删除数据重新插入
|
||||
{
|
||||
await db.Deleteable<WmsRawmatTransferinstockH>().Where(r => r.id == wmsRawmatTransferinstockHRep.id).ExecuteCommandAsync();
|
||||
await db.Deleteable<WmsRawmatTransferinstockD>().Where(r => r.bill_id == wmsRawmatTransferinstockHRep.id).ExecuteCommandAsync();
|
||||
}
|
||||
}
|
||||
// 判断是否重复传输
|
||||
WmsTransferInstockH wmsTransferInstockHRep = await db.Queryable<WmsTransferInstockH>().Where(r => r.erp_bill_code == input.transfer_order).FirstAsync();
|
||||
if (wmsTransferInstockHRep != null)
|
||||
{
|
||||
// 判断单据是否已经下发
|
||||
List<WmsTransferInstockD> _wmsTransferInstockDs = await db.Queryable<WmsTransferInstockD>().Where(r => r.bill_id == wmsTransferInstockHRep.id).ToListAsync();
|
||||
bool isxf = _wmsTransferInstockDs.Where(r => r.xf_qty > 0).Any();
|
||||
if (isxf)
|
||||
{
|
||||
_LoggerErp2Mes.LogWarning($@"【TransferOutstock】wms已下发使用调拨出库单{input.transfer_order}!");
|
||||
throw new AppFriendlyException($@"wms已下发使用调拨出库单{input.transfer_order}!", 500);
|
||||
}
|
||||
else // 删除数据重新插入
|
||||
{
|
||||
await db.Deleteable<WmsTransferInstockH>().Where(r => r.id == wmsTransferInstockHRep.id).ExecuteCommandAsync();
|
||||
await db.Deleteable<WmsTransferInstockD>().Where(r => r.bill_id == wmsTransferInstockHRep.id).ExecuteCommandAsync();
|
||||
}
|
||||
}
|
||||
|
||||
// 判断是否重复传输
|
||||
WmsPackInstockH wmsPackInstockHRep = await db.Queryable<WmsPackInstockH>().Where(r => r.erp_bill_code == input.transfer_order).FirstAsync();
|
||||
if (wmsPackInstockHRep != null)
|
||||
{
|
||||
// 判断单据是否已经下发
|
||||
List<WmsPackInstockD> _wmsPackInstocDs = await db.Queryable<WmsPackInstockD>().Where(r => r.bill_id == wmsPackInstockHRep.id).ToListAsync();
|
||||
bool isxf = _wmsPackInstocDs.Where(r => r.xf_qty > 0).Any();
|
||||
if (isxf)
|
||||
{
|
||||
_LoggerErp2Mes.LogWarning($@"【TransferOutstock】wms已下发使用调拨出库单{input.transfer_order}!");
|
||||
throw new AppFriendlyException($@"wms已下发使用调拨出库单{input.transfer_order}!", 500);
|
||||
}
|
||||
else // 删除数据重新插入
|
||||
{
|
||||
await db.Deleteable<WmsPackInstockH>().Where(r => r.id == wmsPackInstockHRep.id).ExecuteCommandAsync();
|
||||
await db.Deleteable<WmsPackInstockD>().Where(r => r.bill_id == wmsPackInstockHRep.id).ExecuteCommandAsync();
|
||||
}
|
||||
}
|
||||
string Code = "";
|
||||
switch (warehouse_instock.id)
|
||||
{
|
||||
case WmsWareHouseConst.WAREHOUSE_YCL_ID:
|
||||
{
|
||||
// 判断是否重复传输
|
||||
WmsRawmatTransferinstockH wmsRawmatTransferinstockHRep = await db.Queryable<WmsRawmatTransferinstockH>().Where(r => r.erp_pk == input.erp_pk).FirstAsync();
|
||||
if (wmsRawmatTransferinstockHRep != null)
|
||||
{
|
||||
// 判断单据是否已经下发
|
||||
List<WmsRawmatTransferinstockD> wmsRawmatTransferinstockHs = await db.Queryable<WmsRawmatTransferinstockD>().Where(r => r.bill_id == wmsRawmatTransferinstockHRep.id).ToListAsync();
|
||||
bool isxf = wmsRawmatTransferinstockHs.Where(r => r.bind_qty > 0).Any();
|
||||
if (isxf)
|
||||
{
|
||||
_LoggerErp2Mes.LogWarning($@"【TransferOutstock】wms已下发使用调拨出库单{input.transfer_order}!");
|
||||
throw new AppFriendlyException($@"wms已下发使用调拨出库单{input.transfer_order}!", 500);
|
||||
}
|
||||
else // 删除数据重新插入
|
||||
{
|
||||
await db.Deleteable<WmsRawmatTransferinstockH>().Where(r => r.id == wmsRawmatTransferinstockHRep.id).ExecuteCommandAsync();
|
||||
await db.Deleteable<WmsRawmatTransferinstockD>().Where(r => r.bill_id == wmsRawmatTransferinstockHRep.id).ExecuteCommandAsync();
|
||||
}
|
||||
}
|
||||
|
||||
WmsRawmatTransferinstockH wmsRawmatTransferinstockH = new WmsRawmatTransferinstockH();
|
||||
Code = await _billRuleService.GetBillNumber("WmsRawMatTransferInstock");
|
||||
|
||||
@@ -1239,25 +1278,6 @@ namespace Tnb.WarehouseMgr
|
||||
}
|
||||
case WmsWareHouseConst.WAREHOUSE_CP_ID:
|
||||
{
|
||||
// 判断是否重复传输
|
||||
WmsTransferInstockH wmsTransferInstockHRep = await db.Queryable<WmsTransferInstockH>().Where(r => r.erp_pk == input.erp_pk).FirstAsync();
|
||||
if (wmsTransferInstockHRep != null)
|
||||
{
|
||||
// 判断单据是否已经下发
|
||||
List<WmsTransferInstockD> _wmsTransferInstockDs = await db.Queryable<WmsTransferInstockD>().Where(r => r.bill_id == wmsTransferInstockHRep.id).ToListAsync();
|
||||
bool isxf = _wmsTransferInstockDs.Where(r => r.xf_qty > 0).Any();
|
||||
if (isxf)
|
||||
{
|
||||
_LoggerErp2Mes.LogWarning($@"【TransferOutstock】wms已下发使用调拨出库单{input.transfer_order}!");
|
||||
throw new AppFriendlyException($@"wms已下发使用调拨出库单{input.transfer_order}!", 500);
|
||||
}
|
||||
else // 删除数据重新插入
|
||||
{
|
||||
await db.Deleteable<WmsTransferInstockH>().Where(r => r.id == wmsTransferInstockHRep.id).ExecuteCommandAsync();
|
||||
await db.Deleteable<WmsTransferInstockD>().Where(r => r.bill_id == wmsTransferInstockHRep.id).ExecuteCommandAsync();
|
||||
}
|
||||
}
|
||||
|
||||
WmsTransferInstockH wmsTransferInstockH = new WmsTransferInstockH();
|
||||
Code = await _billRuleService.GetBillNumber("transferInstock");
|
||||
|
||||
@@ -1329,95 +1349,144 @@ namespace Tnb.WarehouseMgr
|
||||
}
|
||||
case WmsWareHouseConst.WAREHOUSE_JXK_ID:
|
||||
{
|
||||
// 判断是否重复传输
|
||||
WmsPackInstockH wmsPackInstockHRep = await db.Queryable<WmsPackInstockH>().Where(r => r.erp_pk == input.erp_pk).FirstAsync();
|
||||
if (wmsPackInstockHRep != null)
|
||||
{
|
||||
// 判断单据是否已经下发
|
||||
List<WmsPackInstockD> _wmsPackInstocDs = await db.Queryable<WmsPackInstockD>().Where(r => r.bill_id == wmsPackInstockHRep.id).ToListAsync();
|
||||
bool isxf = _wmsPackInstocDs.Where(r => r.xf_qty > 0).Any();
|
||||
if (isxf)
|
||||
{
|
||||
_LoggerErp2Mes.LogWarning($@"【TransferOutstock】wms已下发使用调拨出库单{input.transfer_order}!");
|
||||
throw new AppFriendlyException($@"wms已下发使用调拨出库单{input.transfer_order}!", 500);
|
||||
}
|
||||
else // 删除数据重新插入
|
||||
{
|
||||
await db.Deleteable<WmsPackInstockH>().Where(r => r.id == wmsPackInstockHRep.id).ExecuteCommandAsync();
|
||||
await db.Deleteable<WmsPackInstockD>().Where(r => r.bill_id == wmsPackInstockHRep.id).ExecuteCommandAsync();
|
||||
}
|
||||
}
|
||||
WmsTransferInstockH wmsTransferInstockH = new WmsTransferInstockH();
|
||||
Code = await _billRuleService.GetBillNumber("transferInstock");
|
||||
|
||||
WmsPackInstockH wmsPackInstockH = new WmsPackInstockH();
|
||||
Code = await _billRuleService.GetBillNumber("WMSPACKINSTOCK");
|
||||
|
||||
wmsPackInstockH.bill_code = Code;
|
||||
wmsPackInstockH.erp_bill_code = input.transfer_order;
|
||||
wmsTransferInstockH.bill_code = Code;
|
||||
wmsTransferInstockH.erp_bill_code = input.transfer_order;
|
||||
var org_erpExtendField = await db.Queryable<ErpExtendField>().Where(a => a.pk_org == input.outstockorg_id).FirstAsync();
|
||||
if (org_erpExtendField != null)
|
||||
{
|
||||
wmsPackInstockH.outstockorg_id = org_erpExtendField.pk_org_v;
|
||||
wmsPackInstockH.outstockorg_code = org_erpExtendField.pk_org;
|
||||
wmsTransferInstockH.outstockorg_id = org_erpExtendField.pk_org_v;
|
||||
wmsTransferInstockH.outstockorg_code = org_erpExtendField.pk_org;
|
||||
}
|
||||
else
|
||||
{
|
||||
_LoggerErp2Mes.LogWarning($@"【TransferOutstock】表头明细中组织{input.outstockorg_id}在wms系统中未找到!");
|
||||
throw new AppFriendlyException($@"表头明细中组织{input.outstockorg_id}在wms系统中未找到!", 500);
|
||||
}
|
||||
wmsPackInstockH.incoming_ware = warehouse_instock.id;
|
||||
wmsPackInstockH.org_id = WmsWareHouseConst.AdministratorOrgId;
|
||||
wmsPackInstockH.erp_pk = input.erp_pk;
|
||||
wmsPackInstockH.create_id = WmsWareHouseConst.ErpUserId;
|
||||
wmsPackInstockH.bill_date = DateTime.Now;
|
||||
wmsPackInstockH.create_time = DateTime.Now;
|
||||
wmsPackInstockH.erp_wh_type = input.warehouse_instock;
|
||||
await db.Insertable(wmsPackInstockH).ExecuteCommandAsync();
|
||||
wmsTransferInstockH.incoming_ware = warehouse_instock.id;
|
||||
wmsTransferInstockH.org_id = WmsWareHouseConst.AdministratorOrgId;
|
||||
wmsTransferInstockH.erp_pk = input.erp_pk;
|
||||
wmsTransferInstockH.create_id = WmsWareHouseConst.ErpUserId;
|
||||
wmsTransferInstockH.create_time = DateTime.Now;
|
||||
wmsTransferInstockH.dept_code = input.dept_code;
|
||||
wmsTransferInstockH.biller = input.biller;
|
||||
wmsTransferInstockH.erp_wh_type = input.warehouse_instock;
|
||||
await db.Insertable(wmsTransferInstockH).ExecuteCommandAsync();
|
||||
|
||||
List<WmsPackInstockD> wmsPackInstockDs = new List<WmsPackInstockD>();
|
||||
List<WmsTransferInstockD> wmsTransferInstockDs = new List<WmsTransferInstockD>();
|
||||
foreach (var detail in input.details)
|
||||
{
|
||||
WmsPackInstockD wmsPackInstockD = new WmsPackInstockD();
|
||||
WmsTransferInstockD wmsTransferInstockD = new WmsTransferInstockD();
|
||||
|
||||
wmsPackInstockD.bill_id = wmsPackInstockH.id;
|
||||
wmsPackInstockD.material_code = detail.material_code;
|
||||
wmsTransferInstockD.bill_id = wmsTransferInstockH.id;
|
||||
wmsTransferInstockD.material_code = detail.material_code;
|
||||
|
||||
var erpExtendField = await db.Queryable<ErpExtendField>().InnerJoin<DictionaryDataEntity>((a, b) => a.table_id == b.Id).Where((a, b) => b.EnCode == detail.unit_code).Select((a, b) => b).FirstAsync();
|
||||
if (erpExtendField != null)
|
||||
{
|
||||
wmsPackInstockD.unit_id = erpExtendField.Id;
|
||||
wmsPackInstockD.unit_code = erpExtendField.EnCode;
|
||||
wmsTransferInstockD.unit_id = erpExtendField.Id;
|
||||
wmsTransferInstockD.unit_code = erpExtendField.EnCode;
|
||||
}
|
||||
else
|
||||
{
|
||||
_LoggerErp2Mes.LogWarning($@"【TransferOutstock】表体明细中单位{detail.unit_code}在wms系统中未找到!");
|
||||
throw new AppFriendlyException($@"表体明细中单位{detail.unit_code}在wms系统中未找到!", 500);
|
||||
}
|
||||
wmsPackInstockD.pr_qty = detail.qty;
|
||||
wmsPackInstockD.pi_code = detail.code_batch;
|
||||
wmsPackInstockD.erp_line_pk = detail.erp_line_pk;
|
||||
wmsPackInstockD.create_id = WmsWareHouseConst.ErpUserId;
|
||||
wmsPackInstockD.create_time = DateTime.Now;
|
||||
wmsPackInstockD.xf_qty = 0;
|
||||
wmsPackInstockD.qty = 0;
|
||||
wmsPackInstockD.lineno = detail.lineno;
|
||||
wmsTransferInstockD.qty = 0;
|
||||
wmsTransferInstockD.stock_location = detail.stock_location;
|
||||
wmsTransferInstockD.pi_code = detail.code_batch;
|
||||
wmsTransferInstockD.erp_line_pk = detail.erp_line_pk;
|
||||
wmsTransferInstockD.create_id = WmsWareHouseConst.ErpUserId;
|
||||
wmsTransferInstockD.create_time = DateTime.Now;
|
||||
wmsTransferInstockD.xf_qty = 0;
|
||||
wmsTransferInstockD.pr_qty = detail.qty;
|
||||
wmsTransferInstockD.lineno = detail.lineno;
|
||||
var material = await db.Queryable<BasMaterial>().Where(p => p.code == detail.material_code).FirstAsync();
|
||||
if (material != null)
|
||||
{
|
||||
wmsPackInstockD.material_id = material.id;
|
||||
wmsPackInstockD.material_code = material.code;
|
||||
wmsPackInstockD.material_desc = material.material_specification;
|
||||
wmsTransferInstockD.material_id = material.id;
|
||||
wmsTransferInstockD.material_code = material.code;
|
||||
wmsTransferInstockD.material_desc = material.material_specification;
|
||||
}
|
||||
|
||||
wmsPackInstockDs.Add(wmsPackInstockD);
|
||||
wmsTransferInstockDs.Add(wmsTransferInstockD);
|
||||
}
|
||||
|
||||
await db.Insertable(wmsPackInstockDs).ExecuteCommandAsync();
|
||||
await db.Insertable(wmsTransferInstockDs).ExecuteCommandAsync();
|
||||
|
||||
break;
|
||||
|
||||
//WmsPackInstockH wmsPackInstockH = new WmsPackInstockH();
|
||||
//Code = await _billRuleService.GetBillNumber("WMSPACKINSTOCK");
|
||||
|
||||
//wmsPackInstockH.bill_code = Code;
|
||||
//wmsPackInstockH.erp_bill_code = input.transfer_order;
|
||||
//var org_erpExtendField = await db.Queryable<ErpExtendField>().Where(a => a.pk_org == input.outstockorg_id).FirstAsync();
|
||||
//if (org_erpExtendField != null)
|
||||
//{
|
||||
// wmsPackInstockH.outstockorg_id = org_erpExtendField.pk_org_v;
|
||||
// wmsPackInstockH.outstockorg_code = org_erpExtendField.pk_org;
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// _LoggerErp2Mes.LogWarning($@"【TransferOutstock】表头明细中组织{input.outstockorg_id}在wms系统中未找到!");
|
||||
// throw new AppFriendlyException($@"表头明细中组织{input.outstockorg_id}在wms系统中未找到!", 500);
|
||||
//}
|
||||
//wmsPackInstockH.incoming_ware = warehouse_instock.id;
|
||||
//wmsPackInstockH.org_id = WmsWareHouseConst.AdministratorOrgId;
|
||||
//wmsPackInstockH.erp_pk = input.erp_pk;
|
||||
//wmsPackInstockH.create_id = WmsWareHouseConst.ErpUserId;
|
||||
//wmsPackInstockH.bill_date = DateTime.Now;
|
||||
//wmsPackInstockH.create_time = DateTime.Now;
|
||||
//wmsPackInstockH.erp_wh_type = input.warehouse_instock;
|
||||
//await db.Insertable(wmsPackInstockH).ExecuteCommandAsync();
|
||||
|
||||
//List<WmsPackInstockD> wmsPackInstockDs = new List<WmsPackInstockD>();
|
||||
//foreach (var detail in input.details)
|
||||
//{
|
||||
// WmsPackInstockD wmsPackInstockD = new WmsPackInstockD();
|
||||
|
||||
// wmsPackInstockD.bill_id = wmsPackInstockH.id;
|
||||
// wmsPackInstockD.material_code = detail.material_code;
|
||||
|
||||
// var erpExtendField = await db.Queryable<ErpExtendField>().InnerJoin<DictionaryDataEntity>((a, b) => a.table_id == b.Id).Where((a, b) => b.EnCode == detail.unit_code).Select((a, b) => b).FirstAsync();
|
||||
// if (erpExtendField != null)
|
||||
// {
|
||||
// wmsPackInstockD.unit_id = erpExtendField.Id;
|
||||
// wmsPackInstockD.unit_code = erpExtendField.EnCode;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// _LoggerErp2Mes.LogWarning($@"【TransferOutstock】表体明细中单位{detail.unit_code}在wms系统中未找到!");
|
||||
// throw new AppFriendlyException($@"表体明细中单位{detail.unit_code}在wms系统中未找到!", 500);
|
||||
// }
|
||||
// wmsPackInstockD.pr_qty = detail.qty;
|
||||
// wmsPackInstockD.pi_code = detail.code_batch;
|
||||
// wmsPackInstockD.erp_line_pk = detail.erp_line_pk;
|
||||
// wmsPackInstockD.create_id = WmsWareHouseConst.ErpUserId;
|
||||
// wmsPackInstockD.create_time = DateTime.Now;
|
||||
// wmsPackInstockD.xf_qty = 0;
|
||||
// wmsPackInstockD.qty = 0;
|
||||
// wmsPackInstockD.lineno = detail.lineno;
|
||||
// var material = await db.Queryable<BasMaterial>().Where(p => p.code == detail.material_code).FirstAsync();
|
||||
// if (material != null)
|
||||
// {
|
||||
// wmsPackInstockD.material_id = material.id;
|
||||
// wmsPackInstockD.material_code = material.code;
|
||||
// wmsPackInstockD.material_desc = material.material_specification;
|
||||
// }
|
||||
|
||||
// wmsPackInstockDs.Add(wmsPackInstockD);
|
||||
//}
|
||||
|
||||
//await db.Insertable(wmsPackInstockDs).ExecuteCommandAsync();
|
||||
|
||||
//break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
await db.Ado.CommitTranAsync();
|
||||
|
||||
LoggerErp2Mes.LogInformation($"【TransferOutstock】成功生成单据:{Code}");
|
||||
@@ -1473,6 +1542,16 @@ namespace Tnb.WarehouseMgr
|
||||
|
||||
|
||||
await db.Ado.BeginTranAsync();
|
||||
|
||||
// 判断是否重复传输
|
||||
WmsTransferOrderH wmsTransferOrderHRep = await db.Queryable<WmsTransferOrderH>().Where(r => r.erp_bill_code == input.transfer_order).FirstAsync();
|
||||
if (wmsTransferOrderHRep != null)
|
||||
{
|
||||
await db.Deleteable<WmsTransferOrderH>().Where(r => r.id == wmsTransferOrderHRep.id).ExecuteCommandAsync();
|
||||
await db.Deleteable<WmsTransferOrderD>().Where(r => r.bill_id == wmsTransferOrderHRep.id).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
|
||||
WmsTransferOrderH wmsTransferOrderH = new WmsTransferOrderH();
|
||||
string Code = await _billRuleService.GetBillNumber("WmsTransferOrder");
|
||||
|
||||
@@ -1581,27 +1660,47 @@ namespace Tnb.WarehouseMgr
|
||||
|
||||
await db.Insertable(wmsTransferOrderDs).ExecuteCommandAsync();
|
||||
|
||||
|
||||
// 判断是否重复传输
|
||||
WmsRawmatTransferoutstockH wmsRawmatTransferoutstockHRep = await db.Queryable<WmsRawmatTransferoutstockH>().Where(r => r.erp_bill_code == input.transfer_order).FirstAsync();
|
||||
if (wmsRawmatTransferoutstockHRep != null)
|
||||
{
|
||||
// 判断单据是否已经下发
|
||||
List<WmsRawmatTransferoutstockD> _wmsRawmatTransferoutstockDs = await db.Queryable<WmsRawmatTransferoutstockD>().Where(r => r.bill_id == wmsRawmatTransferoutstockHRep.id).ToListAsync();
|
||||
bool isxf = _wmsRawmatTransferoutstockDs.Where(r => r.actual_qty > 0).Any();
|
||||
if (isxf)
|
||||
{
|
||||
_LoggerErp2Mes.LogWarning($@"【TransferOutstock】wms已下发使用调拨订单{input.transfer_order}!");
|
||||
throw new AppFriendlyException($@"wms已下发使用调拨订单{input.transfer_order}!", 500);
|
||||
}
|
||||
else // 删除数据重新插入
|
||||
{
|
||||
await db.Deleteable<WmsRawmatTransferoutstockH>().Where(r => r.id == wmsRawmatTransferoutstockHRep.id).ExecuteCommandAsync();
|
||||
await db.Deleteable<WmsRawmatTransferoutstockD>().Where(r => r.bill_id == wmsRawmatTransferoutstockHRep.id).ExecuteCommandAsync();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 判断是否重复传输
|
||||
WmsTransferOutstockH wmsTransferOutstockHRep = await db.Queryable<WmsTransferOutstockH>().Where(r => r.erp_bill_code == input.transfer_order).FirstAsync();
|
||||
if (wmsTransferOutstockHRep != null)
|
||||
{
|
||||
// 判断单据是否已经下发
|
||||
List<WmsTransferOutstockD> _wmsTransferOutstockDs = await db.Queryable<WmsTransferOutstockD>().Where(r => r.bill_id == wmsTransferOutstockHRep.id).ToListAsync();
|
||||
bool isxf = _wmsTransferOutstockDs.Where(r => r.xf_qty > 0).Any();
|
||||
if (isxf)
|
||||
{
|
||||
_LoggerErp2Mes.LogWarning($@"【TransferOutstock】wms已下发使用调拨订单{input.transfer_order}!");
|
||||
throw new AppFriendlyException($@"wms已下发使用调拨订单{input.transfer_order}!", 500);
|
||||
}
|
||||
else // 删除数据重新插入
|
||||
{
|
||||
await db.Deleteable<WmsTransferOutstockH>().Where(r => r.id == wmsTransferOutstockHRep.id).ExecuteCommandAsync();
|
||||
await db.Deleteable<WmsTransferOutstockD>().Where(r => r.bill_id == wmsTransferOutstockHRep.id).ExecuteCommandAsync();
|
||||
}
|
||||
}
|
||||
|
||||
if (details_WAREHOUSE_YCL_ID.Count > 0)
|
||||
{
|
||||
// 判断是否重复传输
|
||||
WmsRawmatTransferoutstockH wmsRawmatTransferoutstockHRep = await db.Queryable<WmsRawmatTransferoutstockH>().Where(r => r.erp_pk == input.erp_pk).FirstAsync();
|
||||
if (wmsRawmatTransferoutstockHRep != null)
|
||||
{
|
||||
// 判断单据是否已经下发
|
||||
List<WmsRawmatTransferoutstockD> _wmsRawmatTransferoutstockDs = await db.Queryable<WmsRawmatTransferoutstockD>().Where(r => r.bill_id == wmsRawmatTransferoutstockHRep.id).ToListAsync();
|
||||
bool isxf = _wmsRawmatTransferoutstockDs.Where(r => r.actual_qty > 0).Any();
|
||||
if (isxf)
|
||||
{
|
||||
_LoggerErp2Mes.LogWarning($@"【TransferOutstock】wms已下发使用调拨订单{input.transfer_order}!");
|
||||
throw new AppFriendlyException($@"wms已下发使用调拨订单{input.transfer_order}!", 500);
|
||||
}
|
||||
else // 删除数据重新插入
|
||||
{
|
||||
await db.Deleteable<WmsRawmatTransferoutstockH>().Where(r => r.id == wmsRawmatTransferoutstockHRep.id).ExecuteCommandAsync();
|
||||
await db.Deleteable<WmsRawmatTransferoutstockD>().Where(r => r.bill_id == wmsRawmatTransferoutstockHRep.id).ExecuteCommandAsync();
|
||||
}
|
||||
}
|
||||
|
||||
WmsRawmatTransferoutstockH wmsRawmatTransferoutstockH = new WmsRawmatTransferoutstockH();
|
||||
string code = await _billRuleService.GetBillNumber("RawmatTransferoutstock");
|
||||
@@ -1663,25 +1762,6 @@ namespace Tnb.WarehouseMgr
|
||||
}
|
||||
if(details_WAREHOUSE_CP_ID.Count > 0)
|
||||
{
|
||||
// 判断是否重复传输
|
||||
WmsTransferOutstockH wmsTransferOutstockHRep = await db.Queryable<WmsTransferOutstockH>().Where(r => r.erp_pk == input.erp_pk).FirstAsync();
|
||||
if (wmsTransferOutstockHRep != null)
|
||||
{
|
||||
// 判断单据是否已经下发
|
||||
List<WmsTransferOutstockD> _wmsTransferOutstockDs = await db.Queryable<WmsTransferOutstockD>().Where(r => r.bill_id == wmsTransferOutstockHRep.id).ToListAsync();
|
||||
bool isxf = _wmsTransferOutstockDs.Where(r => r.xf_qty > 0).Any();
|
||||
if (isxf)
|
||||
{
|
||||
_LoggerErp2Mes.LogWarning($@"【TransferOutstock】wms已下发使用调拨订单{input.transfer_order}!");
|
||||
throw new AppFriendlyException($@"wms已下发使用调拨订单{input.transfer_order}!", 500);
|
||||
}
|
||||
else // 删除数据重新插入
|
||||
{
|
||||
await db.Deleteable<WmsTransferOutstockH>().Where(r => r.id == wmsTransferOutstockHRep.id).ExecuteCommandAsync();
|
||||
await db.Deleteable<WmsTransferOutstockD>().Where(r => r.bill_id == wmsTransferOutstockHRep.id).ExecuteCommandAsync();
|
||||
}
|
||||
}
|
||||
|
||||
WmsTransferOutstockH wmsTransferOutstockH = new WmsTransferOutstockH();
|
||||
string code = await _billRuleService.GetBillNumber("WmsTransferOutstock");
|
||||
wmsTransferOutstockH.erp_bill_code = input.transfer_order;
|
||||
@@ -1794,7 +1874,7 @@ namespace Tnb.WarehouseMgr
|
||||
|
||||
await db.Ado.BeginTranAsync();
|
||||
// 判断是否重复传输
|
||||
WmsRawmatOutstockH wmsRawmatOutstockHRep = await db.Queryable<WmsRawmatOutstockH>().Where(r => r.erp_pk == input.erp_pk).FirstAsync();
|
||||
WmsRawmatOutstockH wmsRawmatOutstockHRep = await db.Queryable<WmsRawmatOutstockH>().Where(r => r.erp_bill_code == input.outstock_order).FirstAsync();
|
||||
if (wmsRawmatOutstockHRep != null)
|
||||
{
|
||||
// 判断单据是否已经下发
|
||||
|
||||
Reference in New Issue
Block a user