erp转库单同步
This commit is contained in:
@@ -318,6 +318,10 @@
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public const string AdministratorOrgId = "25193668006933";
|
public const string AdministratorOrgId = "25193668006933";
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
/// ERPId(天益4厂)
|
||||||
|
/// </summary>
|
||||||
|
public const string ErpUserId = "34995305856535";
|
||||||
|
/// <summary>
|
||||||
/// 盘点任务计算状态-未结算
|
/// 盘点任务计算状态-未结算
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const string CLOSINGSTATUS_WJS_ID = "27674058079509";
|
public const string CLOSINGSTATUS_WJS_ID = "27674058079509";
|
||||||
|
|||||||
@@ -77,11 +77,6 @@ namespace Tnb.WarehouseMgr.Entities.Dto.ErpInputs
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string? material_code { get; set; }
|
public string? material_code { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 规格型号
|
|
||||||
/// </summary>
|
|
||||||
public string material_specification { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 单位代码
|
/// 单位代码
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -101,10 +96,5 @@ namespace Tnb.WarehouseMgr.Entities.Dto.ErpInputs
|
|||||||
/// 应转主数量
|
/// 应转主数量
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public decimal? qty { get; set; }
|
public decimal? qty { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 物料描述
|
|
||||||
/// </summary>
|
|
||||||
public string? material_ex { get; set; }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -124,4 +124,14 @@ public partial class WmsMaterialTransfer : BaseEntity<string>
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public int? remainbindracknum { get; set; }
|
public int? remainbindracknum { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// erp转库单号
|
||||||
|
/// </summary>
|
||||||
|
public string? erp_bill_code { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 转库类型
|
||||||
|
/// </summary>
|
||||||
|
public string? transfer_type { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ using Tnb.WarehouseMgr.Entities;
|
|||||||
using Tnb.WarehouseMgr.Entities.Consts;
|
using Tnb.WarehouseMgr.Entities.Consts;
|
||||||
using Tnb.WarehouseMgr.Entities.Dto.ErpInputs;
|
using Tnb.WarehouseMgr.Entities.Dto.ErpInputs;
|
||||||
using Tnb.WarehouseMgr.Entities.Entity;
|
using Tnb.WarehouseMgr.Entities.Entity;
|
||||||
|
using Top.Api;
|
||||||
|
|
||||||
namespace Tnb.WarehouseMgr
|
namespace Tnb.WarehouseMgr
|
||||||
{
|
{
|
||||||
@@ -287,6 +288,26 @@ namespace Tnb.WarehouseMgr
|
|||||||
public async Task MaterialTransfer(MaterialTransferInput input)
|
public async Task MaterialTransfer(MaterialTransferInput input)
|
||||||
{
|
{
|
||||||
var db = _repository.AsSugarClient();
|
var db = _repository.AsSugarClient();
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
BasWarehouse warehouse_outstock = await db.Queryable<BasWarehouse>().Where(r => r.whcode == input.warehouse_outstock).FirstAsync();
|
||||||
|
BasWarehouse warehouse_instock = await db.Queryable<BasWarehouse>().Where(r => r.whcode == input.warehouse_instock).FirstAsync();
|
||||||
|
if (warehouse_outstock == null)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
WmsMaterialTransfer wmsMaterialTransfer = new WmsMaterialTransfer();
|
WmsMaterialTransfer wmsMaterialTransfer = new WmsMaterialTransfer();
|
||||||
string Code = await _billRuleService.GetBillNumber("MaterialTransfer");
|
string Code = await _billRuleService.GetBillNumber("MaterialTransfer");
|
||||||
wmsMaterialTransfer.bill_code = Code;
|
wmsMaterialTransfer.bill_code = Code;
|
||||||
@@ -300,26 +321,24 @@ namespace Tnb.WarehouseMgr
|
|||||||
wmsMaterialTransfer.depart_in = input.depart_in;
|
wmsMaterialTransfer.depart_in = input.depart_in;
|
||||||
wmsMaterialTransfer.deliver_date = input.deliver_date;
|
wmsMaterialTransfer.deliver_date = input.deliver_date;
|
||||||
wmsMaterialTransfer.arrival_date = input.arrival_date;
|
wmsMaterialTransfer.arrival_date = input.arrival_date;
|
||||||
wmsMaterialTransfer.create_id = "";
|
wmsMaterialTransfer.create_id = WmsWareHouseConst.ErpUserId;
|
||||||
wmsMaterialTransfer.create_time = DateTime.Now;
|
wmsMaterialTransfer.create_time = DateTime.Now;
|
||||||
wmsMaterialTransfer.org_id = WmsWareHouseConst.AdministratorOrgId;
|
wmsMaterialTransfer.org_id = WmsWareHouseConst.AdministratorOrgId;
|
||||||
|
wmsMaterialTransfer.erp_bill_code = input.bill_code;
|
||||||
|
|
||||||
await db.Insertable(wmsMaterialTransfer).ExecuteCommandAsync();
|
await db.Insertable(wmsMaterialTransfer).ExecuteCommandAsync();
|
||||||
|
|
||||||
|
|
||||||
List<WmsMaterialTransferD> wmsMaterialTransferDs = new List<WmsMaterialTransferD>();
|
List<WmsMaterialTransferD> wmsMaterialTransferDs = new List<WmsMaterialTransferD>();
|
||||||
foreach (var detail in input.details)
|
foreach (var detail in input.details)
|
||||||
{
|
{
|
||||||
WmsMaterialTransferD wmsMaterialTransferD = new WmsMaterialTransferD();
|
WmsMaterialTransferD wmsMaterialTransferD = new WmsMaterialTransferD();
|
||||||
wmsMaterialTransferD.lineno = detail.lineno;
|
wmsMaterialTransferD.lineno = detail.lineno;
|
||||||
wmsMaterialTransferD.material_code = detail.material_code;
|
wmsMaterialTransferD.material_code = detail.material_code;
|
||||||
wmsMaterialTransferD.material_specification = detail.material_specification;
|
|
||||||
wmsMaterialTransferD.unit_code = detail.unit_code;
|
wmsMaterialTransferD.unit_code = detail.unit_code;
|
||||||
wmsMaterialTransferD.code_batch = detail.code_batch;
|
wmsMaterialTransferD.code_batch = detail.code_batch;
|
||||||
wmsMaterialTransferD.station_code = detail.station_code;
|
wmsMaterialTransferD.station_code = detail.station_code;
|
||||||
wmsMaterialTransferD.qty = detail.qty;
|
wmsMaterialTransferD.qty = detail.qty;
|
||||||
wmsMaterialTransferD.bill_id = "";
|
wmsMaterialTransferD.bill_id = "";
|
||||||
wmsMaterialTransferD.material_specification = detail.material_ex;
|
|
||||||
|
|
||||||
var material = await db.Queryable<BasMaterial>().Where(p => p.code == detail.material_code).FirstAsync();
|
var material = await db.Queryable<BasMaterial>().Where(p => p.code == detail.material_code).FirstAsync();
|
||||||
if (material != null)
|
if (material != null)
|
||||||
|
|||||||
@@ -658,6 +658,13 @@ namespace Tnb.WarehouseMgr
|
|||||||
|
|
||||||
List<WmsMaterialTransferD> wmsMaterialTransferds = _db.Queryable<WmsMaterialTransferD>().Where(r => r.bill_id == input.source_id).ToList();
|
List<WmsMaterialTransferD> wmsMaterialTransferds = _db.Queryable<WmsMaterialTransferD>().Where(r => r.bill_id == input.source_id).ToList();
|
||||||
|
|
||||||
|
int count = wmsMaterialTransferds.Where(r => string.IsNullOrEmpty(r.station_code)).Count();
|
||||||
|
if (count > 0)
|
||||||
|
{
|
||||||
|
Logger.LogWarning($@"转库单{wmsMaterialTransfer.bill_code}表体存在未填写工位的明细!");
|
||||||
|
throw new AppFriendlyException($@"转库单{wmsMaterialTransfer.bill_code}表体存在未填写工位的明细!", 500);
|
||||||
|
}
|
||||||
|
|
||||||
// 转库单载具子表
|
// 转库单载具子表
|
||||||
List<WmsMaterialTransferCarry> wmsMaterialTransferCarrys = new List<WmsMaterialTransferCarry>();
|
List<WmsMaterialTransferCarry> wmsMaterialTransferCarrys = new List<WmsMaterialTransferCarry>();
|
||||||
|
|
||||||
|
|||||||
@@ -318,7 +318,8 @@ public class BillRuleService : IBillRullService, IDynamicApiController, ITransie
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private async Task<string> GetNumber(string enCode)
|
private async Task<string> GetNumber(string enCode)
|
||||||
{
|
{
|
||||||
ISqlSugarClient db = _repository.CopyNew();
|
using (ISqlSugarClient db = _repository.CopyNew())
|
||||||
|
{
|
||||||
StringBuilder strNumber = new StringBuilder();
|
StringBuilder strNumber = new StringBuilder();
|
||||||
var entity = db.Queryable<BillRuleEntity>().Where(m => m.EnCode == enCode && m.DeleteMark == null).ToList()[0];
|
var entity = db.Queryable<BillRuleEntity>().Where(m => m.EnCode == enCode && m.DeleteMark == null).ToList()[0];
|
||||||
//var entity = await _repository.GetFirstAsync(m => m.EnCode == enCode && m.DeleteMark == null);
|
//var entity = await _repository.GetFirstAsync(m => m.EnCode == enCode && m.DeleteMark == null);
|
||||||
@@ -363,5 +364,6 @@ public class BillRuleService : IBillRullService, IDynamicApiController, ITransie
|
|||||||
|
|
||||||
return strNumber.ToString();
|
return strNumber.ToString();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user