电梯优化
This commit is contained in:
@@ -382,7 +382,7 @@ namespace Tnb.WarehouseMgr
|
||||
await db.Insertable(wmsPurchaseOrderH).ExecuteCommandAsync();
|
||||
|
||||
List<WmsPurchaseOrderD> wmsPurchaseOrderDs = new List<WmsPurchaseOrderD>();
|
||||
foreach (var detail in input.details)
|
||||
foreach (var detail in details)
|
||||
{
|
||||
WmsPurchaseOrderD wmsPurchaseOrderD = new WmsPurchaseOrderD();
|
||||
|
||||
@@ -470,11 +470,11 @@ namespace Tnb.WarehouseMgr
|
||||
await db.Insertable(wmsPurchaseReturnH).ExecuteCommandAsync();
|
||||
|
||||
List<WmsPurchaseReturnD> wmsPurchaseReturnDs = new List<WmsPurchaseReturnD>();
|
||||
foreach (var detail in input.details)
|
||||
foreach (var detail in details_return)
|
||||
{
|
||||
WmsPurchaseReturnD wmsPurchaseReturnD = new WmsPurchaseReturnD();
|
||||
|
||||
wmsPurchaseReturnD.bill_id = wmsPurchaseReturnD.id;
|
||||
wmsPurchaseReturnD.bill_id = wmsPurchaseReturnH.id;
|
||||
wmsPurchaseReturnD.matcode = detail.material_code;
|
||||
wmsPurchaseReturnD.unit = detail.unit_code;
|
||||
|
||||
@@ -490,7 +490,7 @@ namespace Tnb.WarehouseMgr
|
||||
throw new AppFriendlyException($@"表体明细中单位{detail.unit_code}在wms系统中未找到!", 500);
|
||||
}
|
||||
|
||||
wmsPurchaseReturnD.qty = detail.purchase_quantity;
|
||||
wmsPurchaseReturnD.qty = -detail.purchase_quantity;
|
||||
wmsPurchaseReturnD.code_batch = detail.code_batch;
|
||||
wmsPurchaseReturnD.erp_line_pk = detail.erp_line_pk;
|
||||
wmsPurchaseReturnD.create_id = WmsWareHouseConst.ErpUserId;
|
||||
@@ -733,70 +733,142 @@ namespace Tnb.WarehouseMgr
|
||||
}
|
||||
|
||||
await db.Ado.BeginTranAsync();
|
||||
WmsMaterialTransfer wmsMaterialTransfer = new WmsMaterialTransfer();
|
||||
string Code = await _billRuleService.GetBillNumber("MaterialTransfer");
|
||||
wmsMaterialTransfer.bill_code = Code;
|
||||
wmsMaterialTransfer.status = WmsWareHouseConst.BILLSTATUS_ADD_ID;
|
||||
wmsMaterialTransfer.bill_date = DateTime.Now;
|
||||
wmsMaterialTransfer.warehouse_outstock = warehouse_outstock.id;
|
||||
wmsMaterialTransfer.warehouse_instock = warehouse_instock.id;
|
||||
wmsMaterialTransfer.biller_out = input.biller_out;
|
||||
wmsMaterialTransfer.depart_out = input.depart_out;
|
||||
wmsMaterialTransfer.biller_in = input.biller_in;
|
||||
wmsMaterialTransfer.depart_in = input.depart_in;
|
||||
wmsMaterialTransfer.deliver_date = input.deliver_date;
|
||||
wmsMaterialTransfer.arrival_date = input.arrival_date;
|
||||
wmsMaterialTransfer.create_id = WmsWareHouseConst.ErpUserId;
|
||||
wmsMaterialTransfer.create_time = DateTime.Now;
|
||||
wmsMaterialTransfer.org_id = WmsWareHouseConst.AdministratorOrgId;
|
||||
wmsMaterialTransfer.erp_bill_code = input.bill_code;
|
||||
wmsMaterialTransfer.transfer_type = transfer_type;
|
||||
wmsMaterialTransfer.erp_pk = input.erp_pk;
|
||||
|
||||
await db.Insertable(wmsMaterialTransfer).ExecuteCommandAsync();
|
||||
List<MaterialTransferDetail> details = input.details.Where(r => r.qty > 0).ToList();
|
||||
List<MaterialTransferDetail> details_return = input.details.Where(r => r.qty < 0).ToList();
|
||||
|
||||
List<WmsMaterialTransferD> wmsMaterialTransferDs = new List<WmsMaterialTransferD>();
|
||||
foreach (var detail in input.details)
|
||||
if (details.Count > 0)
|
||||
{
|
||||
WmsMaterialTransferD wmsMaterialTransferD = new WmsMaterialTransferD();
|
||||
wmsMaterialTransferD.lineno = detail.lineno;
|
||||
wmsMaterialTransferD.material_code = detail.material_code;
|
||||
wmsMaterialTransferD.code_batch = detail.code_batch;
|
||||
wmsMaterialTransferD.station_code = detail.station_code;
|
||||
wmsMaterialTransferD.qty = detail.qty;
|
||||
wmsMaterialTransferD.bill_id = wmsMaterialTransfer.id;
|
||||
WmsMaterialTransfer wmsMaterialTransfer = new WmsMaterialTransfer();
|
||||
string Code = await _billRuleService.GetBillNumber("MaterialTransfer");
|
||||
wmsMaterialTransfer.bill_code = Code;
|
||||
wmsMaterialTransfer.status = WmsWareHouseConst.BILLSTATUS_ADD_ID;
|
||||
wmsMaterialTransfer.bill_date = DateTime.Now;
|
||||
wmsMaterialTransfer.warehouse_outstock = warehouse_outstock.id;
|
||||
wmsMaterialTransfer.warehouse_instock = warehouse_instock.id;
|
||||
wmsMaterialTransfer.biller_out = input.biller_out;
|
||||
wmsMaterialTransfer.depart_out = input.depart_out;
|
||||
wmsMaterialTransfer.biller_in = input.biller_in;
|
||||
wmsMaterialTransfer.depart_in = input.depart_in;
|
||||
wmsMaterialTransfer.deliver_date = input.deliver_date;
|
||||
wmsMaterialTransfer.arrival_date = input.arrival_date;
|
||||
wmsMaterialTransfer.create_id = WmsWareHouseConst.ErpUserId;
|
||||
wmsMaterialTransfer.create_time = DateTime.Now;
|
||||
wmsMaterialTransfer.org_id = WmsWareHouseConst.AdministratorOrgId;
|
||||
wmsMaterialTransfer.erp_bill_code = input.bill_code;
|
||||
wmsMaterialTransfer.transfer_type = transfer_type;
|
||||
wmsMaterialTransfer.erp_pk = input.erp_pk;
|
||||
|
||||
wmsMaterialTransferD.yxfqty = 0;
|
||||
wmsMaterialTransferD.yzqty = 0;
|
||||
wmsMaterialTransferD.erp_line_pk = detail.erp_line_pk;
|
||||
await db.Insertable(wmsMaterialTransfer).ExecuteCommandAsync();
|
||||
|
||||
var material = await db.Queryable<BasMaterial>().Where(p => p.code == detail.material_code).FirstAsync();
|
||||
if (material != null)
|
||||
List<WmsMaterialTransferD> wmsMaterialTransferDs = new List<WmsMaterialTransferD>();
|
||||
foreach (var detail in input.details)
|
||||
{
|
||||
wmsMaterialTransferD.material_id = material.id;
|
||||
wmsMaterialTransferD.material_specification = material.material_specification;
|
||||
WmsMaterialTransferD wmsMaterialTransferD = new WmsMaterialTransferD();
|
||||
wmsMaterialTransferD.lineno = detail.lineno;
|
||||
wmsMaterialTransferD.material_code = detail.material_code;
|
||||
wmsMaterialTransferD.code_batch = detail.code_batch;
|
||||
wmsMaterialTransferD.station_code = detail.station_code;
|
||||
wmsMaterialTransferD.qty = detail.qty;
|
||||
wmsMaterialTransferD.bill_id = wmsMaterialTransfer.id;
|
||||
|
||||
wmsMaterialTransferD.yxfqty = 0;
|
||||
wmsMaterialTransferD.yzqty = 0;
|
||||
wmsMaterialTransferD.erp_line_pk = detail.erp_line_pk;
|
||||
|
||||
var material = await db.Queryable<BasMaterial>().Where(p => p.code == detail.material_code).FirstAsync();
|
||||
if (material != null)
|
||||
{
|
||||
wmsMaterialTransferD.material_id = material.id;
|
||||
wmsMaterialTransferD.material_specification = material.material_specification;
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
wmsMaterialTransferD.unit_id = erpExtendField.Id;
|
||||
wmsMaterialTransferD.unit_code = erpExtendField.EnCode;
|
||||
}
|
||||
else
|
||||
{
|
||||
_LoggerErp2Mes.LogWarning($@"【MaterialTransfer】表体明细中单位{detail.unit_code}在wms系统中未找到!");
|
||||
throw new AppFriendlyException($@"表体明细中单位{detail.unit_code}在wms系统中未找到!", 500);
|
||||
}
|
||||
|
||||
wmsMaterialTransferDs.Add(wmsMaterialTransferD);
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
wmsMaterialTransferD.unit_id = erpExtendField.Id;
|
||||
wmsMaterialTransferD.unit_code = erpExtendField.EnCode;
|
||||
}
|
||||
else
|
||||
{
|
||||
_LoggerErp2Mes.LogWarning($@"【MaterialTransfer】表体明细中单位{detail.unit_code}在wms系统中未找到!");
|
||||
throw new AppFriendlyException($@"表体明细中单位{detail.unit_code}在wms系统中未找到!", 500);
|
||||
}
|
||||
|
||||
wmsMaterialTransferDs.Add(wmsMaterialTransferD);
|
||||
await db.Insertable(wmsMaterialTransferDs).ExecuteCommandAsync();
|
||||
LoggerErp2Mes.LogInformation($"【MaterialTransfer】成功生成单据:{Code}");
|
||||
}
|
||||
|
||||
await db.Insertable(wmsMaterialTransferDs).ExecuteCommandAsync();
|
||||
if (details_return.Count > 0)
|
||||
{
|
||||
//WmsPrdReturnH wmsPrdReturnH = new WmsPrdReturnH();
|
||||
//string Code = await _billRuleService.GetBillNumber("WMSPRDRETURN");
|
||||
//wmsPrdReturnH.bill_code = Code;
|
||||
//wmsPrdReturnH.status = WmsWareHouseConst.BILLSTATUS_ADD_ID;
|
||||
//wmsPrdReturnH.bill_date = DateTime.Now;
|
||||
//wmsPrdReturnH.warehouse_outstock = warehouse_outstock.id;
|
||||
//wmsPrdReturnH.warehouse_instock = warehouse_instock.id;
|
||||
//wmsPrdReturnH.biller_out = input.biller_out;
|
||||
//wmsPrdReturnH.depart_out = input.depart_out;
|
||||
//wmsPrdReturnH.biller_in = input.biller_in;
|
||||
//wmsPrdReturnH.depart_in = input.depart_in;
|
||||
//wmsPrdReturnH.deliver_date = input.deliver_date;
|
||||
//wmsPrdReturnH.arrival_date = input.arrival_date;
|
||||
//wmsPrdReturnH.create_id = WmsWareHouseConst.ErpUserId;
|
||||
//wmsPrdReturnH.create_time = DateTime.Now;
|
||||
//wmsPrdReturnH.org_id = WmsWareHouseConst.AdministratorOrgId;
|
||||
//wmsPrdReturnH.erp_bill_code = input.bill_code;
|
||||
//wmsPrdReturnH.transfer_type = transfer_type;
|
||||
//wmsPrdReturnH.erp_pk = input.erp_pk;
|
||||
|
||||
//await db.Insertable(wmsPrdReturnH).ExecuteCommandAsync();
|
||||
|
||||
//List<WmsPrdReturnD> wmsPrdReturnDs = new List<WmsPrdReturnD>();
|
||||
//foreach (var detail in input.details)
|
||||
//{
|
||||
// WmsPrdReturnD wmsPrdReturnD = new WmsPrdReturnD();
|
||||
// wmsPrdReturnD.lineno = detail.lineno;
|
||||
// wmsPrdReturnD.material_code = detail.material_code;
|
||||
// wmsPrdReturnD.code_batch = detail.code_batch;
|
||||
// wmsPrdReturnD.station_code = detail.station_code;
|
||||
// wmsPrdReturnD.qty = detail.qty;
|
||||
// wmsPrdReturnD.bill_id = wmsMaterialTransfer.id;
|
||||
|
||||
// wmsPrdReturnD.yxfqty = 0;
|
||||
// wmsPrdReturnD.yzqty = 0;
|
||||
// wmsPrdReturnD.erp_line_pk = detail.erp_line_pk;
|
||||
|
||||
// var material = await db.Queryable<BasMaterial>().Where(p => p.code == detail.material_code).FirstAsync();
|
||||
// if (material != null)
|
||||
// {
|
||||
// wmsPrdReturnD.material_id = material.id;
|
||||
// wmsPrdReturnD.material_code = material.code;
|
||||
// wmsPrdReturnD.material_name = material.name;
|
||||
// }
|
||||
|
||||
// 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)
|
||||
// {
|
||||
// wmsPrdReturnD.unit_id = erpExtendField.Id;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// _LoggerErp2Mes.LogWarning($@"【MaterialTransfer】表体明细中单位{detail.unit_code}在wms系统中未找到!");
|
||||
// throw new AppFriendlyException($@"表体明细中单位{detail.unit_code}在wms系统中未找到!", 500);
|
||||
// }
|
||||
|
||||
// wmsPrdReturnDs.Add(wmsPrdReturnD);
|
||||
//}
|
||||
|
||||
//await db.Insertable(wmsPrdReturnDs).ExecuteCommandAsync();
|
||||
//LoggerErp2Mes.LogInformation($"【MaterialTransfer】成功生成单据:{Code}");
|
||||
}
|
||||
|
||||
await db.Ado.CommitTranAsync();
|
||||
|
||||
LoggerErp2Mes.LogInformation($"【MaterialTransfer】成功生成单据:{Code}");
|
||||
return await ToApiResult(HttpStatusCode.OK, "成功");
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
||||
Reference in New Issue
Block a user