改bug
This commit is contained in:
@@ -628,27 +628,95 @@ namespace Tnb.WarehouseMgr
|
||||
_LoggerErp2Mes.LogWarning($"【PurchaseOrderUpdateInput】未找到采购订单,erp_pk:{input.erp_pk}");
|
||||
throw new AppFriendlyException($@"未找到采购订单,erp_pk:{input.erp_pk}!", 500);
|
||||
}
|
||||
//先删除所有的子表数据
|
||||
await db.Deleteable<WmsPurchaseOrderD>().Where(r => r.fk_wms_purchase_order_id == wmsPurchaseOrderH.id).ExecuteCommandAsync();
|
||||
|
||||
if(input.details!=null && input.details.Count > 0)
|
||||
{
|
||||
foreach(var item in input.details)
|
||||
|
||||
List<WmsPurchaseOrderD> wmsPurchaseOrderDs = new List<WmsPurchaseOrderD>();
|
||||
foreach (var detail in input.details)
|
||||
{
|
||||
WmsPurchaseOrderD wmsPurchaseOrderD = await db.Queryable<WmsPurchaseOrderD>().Where(r => r.fk_wms_purchase_order_id == wmsPurchaseOrderH.id && r.erp_line_pk == item.erp_line_pk).FirstAsync();
|
||||
if(wmsPurchaseOrderD==null)
|
||||
WmsPurchaseOrderD wmsPurchaseOrderD = new WmsPurchaseOrderD();
|
||||
|
||||
wmsPurchaseOrderD.fk_wms_purchase_order_id = wmsPurchaseOrderH.id;
|
||||
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) => a.cunitid == detail.unit_code).Select((a, b) => b).FirstAsync();
|
||||
if (erpExtendField != null)
|
||||
{
|
||||
_LoggerErp2Mes.LogWarning($"【PurchaseOrderUpdateInput】未找到采购订单明细数据,erp_pk:{input.erp_pk},erp_line_pk:{item.erp_line_pk}");
|
||||
throw new AppFriendlyException($@"未找到采购订单明细数据,erp_pk:{input.erp_pk},erp_line_pk{item.erp_line_pk}!", 500);
|
||||
wmsPurchaseOrderD.unit_id = erpExtendField.Id;
|
||||
wmsPurchaseOrderD.unit = erpExtendField.EnCode;
|
||||
}
|
||||
else
|
||||
{
|
||||
await db.Updateable<WmsPurchaseOrderD>()
|
||||
.SetColumns(r => r.net_price == item.net_price)
|
||||
.SetColumns(r => r.purchase_quantity == item.purchase_quantity)
|
||||
.SetColumns(r => r.actual_quantity == item.actual_quantity)
|
||||
.Where(r => r.id == wmsPurchaseOrderD.id).ExecuteCommandAsync();
|
||||
_LoggerErp2Mes.LogWarning($@"【PurchaseOrder】表体明细中单位{detail.unit_code}在wms系统中未找到!");
|
||||
throw new AppFriendlyException($@"表体明细中单位{detail.unit_code}在wms系统中未找到!", 500);
|
||||
}
|
||||
|
||||
wmsPurchaseOrderD.purchase_quantity = detail.purchase_quantity;
|
||||
wmsPurchaseOrderD.stock_location = detail.stock_location;
|
||||
wmsPurchaseOrderD.code_batch = detail.code_batch;
|
||||
wmsPurchaseOrderD.delivery_date = detail.delivery_date.Value.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
wmsPurchaseOrderD.erp_line_pk = detail.erp_line_pk;
|
||||
wmsPurchaseOrderD.create_id = WmsWareHouseConst.ErpUserId;
|
||||
wmsPurchaseOrderD.create_time = DateTime.Now;
|
||||
wmsPurchaseOrderD.actual_quantity = 0;
|
||||
wmsPurchaseOrderD.lineno = detail.lineno;
|
||||
wmsPurchaseOrderD.gift = detail.gift;
|
||||
wmsPurchaseOrderD.production_unit = detail.production_unit;
|
||||
|
||||
var material = await db.Queryable<BasMaterial>().Where(p => p.code == detail.material_code).FirstAsync();
|
||||
if (material != null)
|
||||
{
|
||||
wmsPurchaseOrderD.matcode_id = material.id;
|
||||
wmsPurchaseOrderD.material_specification = material.material_specification;
|
||||
wmsPurchaseOrderD.material_standard = material.material_standard;
|
||||
}
|
||||
|
||||
var gys_erpExtendField = await db.Queryable<ErpExtendField>().Where(a => a.supplier_id == detail.auxprop_gys).FirstAsync();
|
||||
if (gys_erpExtendField != null)
|
||||
{
|
||||
wmsPurchaseOrderD.auxprop_gys = gys_erpExtendField.table_id;
|
||||
}
|
||||
else
|
||||
{
|
||||
_LoggerErp2Mes.LogWarning($@"【PurchaseOrder】表体明细中组织{detail.auxprop_gys}在wms系统中未找到!");
|
||||
throw new AppFriendlyException($@"表体明细中组织{detail.auxprop_gys}在wms系统中未找到!", 500);
|
||||
}
|
||||
|
||||
wmsPurchaseOrderDs.Add(wmsPurchaseOrderD);
|
||||
}
|
||||
|
||||
await db.Insertable(wmsPurchaseOrderDs).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
|
||||
|
||||
////查出现有的所有子表数据
|
||||
//var nowWmsPurchaseOrderDs = await db.Queryable<WmsPurchaseOrderD>().Where(r => r.fk_wms_purchase_order_id == wmsPurchaseOrderH.id).ToListAsync();
|
||||
|
||||
//if(input.details!=null && input.details.Count > 0)
|
||||
//{
|
||||
// foreach(var item in input.details)
|
||||
// {
|
||||
// WmsPurchaseOrderD wmsPurchaseOrderD = await db.Queryable<WmsPurchaseOrderD>().Where(r => r.fk_wms_purchase_order_id == wmsPurchaseOrderH.id && r.erp_line_pk == item.erp_line_pk).FirstAsync();
|
||||
// if(wmsPurchaseOrderD==null)
|
||||
// {
|
||||
// _LoggerErp2Mes.LogWarning($"【PurchaseOrderUpdateInput】未找到采购订单明细数据,erp_pk:{input.erp_pk},erp_line_pk:{item.erp_line_pk}");
|
||||
// throw new AppFriendlyException($@"未找到采购订单明细数据,erp_pk:{input.erp_pk},erp_line_pk{item.erp_line_pk}!", 500);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// await db.Updateable<WmsPurchaseOrderD>()
|
||||
// .SetColumns(r => r.net_price == item.net_price)
|
||||
// .SetColumns(r => r.purchase_quantity == item.purchase_quantity)
|
||||
// .SetColumns(r => r.actual_quantity == item.actual_quantity)
|
||||
// .Where(r => r.id == wmsPurchaseOrderD.id).ExecuteCommandAsync();
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
await db.Ado.CommitTranAsync();
|
||||
|
||||
return await ToApiResult(HttpStatusCode.OK, "成功");
|
||||
|
||||
Reference in New Issue
Block a user