生产入库记录增加是否同步bip字段,并且修改新增生产入库记录逻辑

This commit is contained in:
2024-11-12 17:57:58 +08:00
parent 69d700d23c
commit 7397a0286b
5 changed files with 59 additions and 30 deletions

View File

@@ -380,6 +380,7 @@ namespace Tnb.BasicData
foreach (var reqData in requestDatas)
{
var report_id = reqData["report_id"].ToString();
var prd_instock_h_id = reqData["prd_instock_h_id"].ToString();
if (string.IsNullOrEmpty(report_id))
{
Log.Error($"请求记录id{record.id}生产提报记录id为空");
@@ -387,7 +388,7 @@ namespace Tnb.BasicData
}
PrdReport prdReport = await db.Queryable<PrdReport>().SingleAsync(r => r.id == report_id);
#region
#region bip
var wmsPrdInstockD = await db.Queryable<WmsPrdInstockD>().SingleAsync(r => r.prd_report_id == report_id);
if(wmsPrdInstockD==null)
{
@@ -404,25 +405,7 @@ namespace Tnb.BasicData
continue;
}
var prdInstockH = new PrdInstockH();
prdInstockH.id = SnowflakeIdHelper.NextId();
prdInstockH.bill_type = wmsPrdInstockH.type;
prdInstockH.warehouse_id = wmsPrdInstockD.warehouse_id;
prdInstockH.carry_code = wmsPrdInstockD.carry_id;
prdInstockH.location_code = wmsPrdInstockD.startlocation_id;
prdInstockH.create_id = prdReport?.create_id ?? wmsPrdInstockD.create_id;
prdInstockH.org_id = wmsPrdInstockH.org_id;
prdInstockH.station_id = prdMoTask?.workstation_id;
prdInstockH.workline_id = prdMoTask?.workline_id;
//prdInstockH.workshop_id=
//prdInstockH.is_check=
//prdInstockH.status =
prdInstockH.mo_task_id = prdReport?.mo_task_id;
prdInstockH.code = wmsPrdInstockH.bill_code;
await db.Insertable(prdInstockH).ExecuteCommandAsync();
await db.Updateable<PrdInstockH>().SetColumns(r => r.is_sync_bip == 1).Where(r => r.id == prd_instock_h_id).ExecuteCommandAsync();
#endregion
#region
@@ -433,7 +416,7 @@ namespace Tnb.BasicData
{
PrdInstockD prdInstockD = new PrdInstockD();
prdInstockD.id = SnowflakeIdHelper.NextId();
prdInstockD.instock_id = prdInstockH.id;
prdInstockD.instock_id = prd_instock_h_id;
prdInstockD.material_id = wmsPrdInstockH.material_id;
prdInstockD.material_code= wmsPrdInstockH.material_code;
prdInstockD.unit_id = _detail.unit_id;

View File

@@ -31,6 +31,7 @@ namespace Tnb.ProductionMgr.Entities.Dto
/// 起始库位编号
/// </summary>
public string location_code { get; set; } = string.Empty;
public int is_sync_bip { get; set; }
}
public class PrdInstockRecordUpListDownOutPut

View File

@@ -85,5 +85,8 @@ public partial class PrdInstockH : BaseEntity<string>
/// 入库单编号
/// </summary>
public string? code { get; set; }
/// <summary>
/// 是否同步bip
/// </summary>
public int? is_sync_bip { get; set; } = 0;
}

View File

@@ -115,6 +115,7 @@ namespace Tnb.ProductionMgr
location_code = k.location_code,
create_id = y.RealName,
bill_date = x.bill_date == null ? "" : x.bill_date.ToString(DbTimeFormat.SS),
is_sync_bip = x.is_sync_bip.HasValue ? x.is_sync_bip.Value : 0
}),
}).ToPagedListAsync(input.currentPage, input.pageSize);
return PageResult<PrdInstockRecordUpListOutPut>.SqlSugarPageResult(result);

View File

@@ -362,6 +362,46 @@ namespace Tnb.WarehouseMgr
if (prdReport == null) return;
PrdMoTask prdMoTask = await _db.Queryable<PrdMoTask>().SingleAsync(x => x.id == prdReport.mo_task_id);
PrdMo prdMo = await _db.Queryable<PrdMo>().SingleAsync(x => x.id == prdMoTask.mo_id);
#region
var prdInstockH = new PrdInstockH();
prdInstockH = await _db.Queryable<PrdInstockH>().Where(r => r.mo_task_id == prdReport.mo_task_id).FirstAsync();
if (prdInstockH != null)
{
prdInstockH.bill_type = instock.type;
prdInstockH.warehouse_id = wmsPrdInstockD.warehouse_id;
prdInstockH.carry_code = wmsPrdInstockD.carry_id;
prdInstockH.location_code = wmsPrdInstockD.startlocation_id;
prdInstockH.create_id = prdReport?.create_id ?? wmsPrdInstockD.create_id;
prdInstockH.org_id = instock.org_id;
prdInstockH.station_id = prdMoTask?.workstation_id;
prdInstockH.workline_id = prdMoTask?.workline_id;
prdInstockH.mo_task_id = prdReport?.mo_task_id;
prdInstockH.code = instock.bill_code;
prdInstockH.is_sync_bip = 0;
await _db.Updateable(prdInstockH).ExecuteCommandAsync();
}
else
{
prdInstockH.id = SnowflakeIdHelper.NextId();
prdInstockH.bill_type = instock.type;
prdInstockH.warehouse_id = wmsPrdInstockD.warehouse_id;
prdInstockH.carry_code = wmsPrdInstockD.carry_id;
prdInstockH.location_code = wmsPrdInstockD.startlocation_id;
prdInstockH.create_id = prdReport?.create_id ?? wmsPrdInstockD.create_id;
prdInstockH.org_id = instock.org_id;
prdInstockH.station_id = prdMoTask?.workstation_id;
prdInstockH.workline_id = prdMoTask?.workline_id;
prdInstockH.mo_task_id = prdReport?.mo_task_id;
prdInstockH.code = instock.bill_code;
prdInstockH.is_sync_bip = 0;
await _db.Insertable(prdInstockH).ExecuteCommandAsync();
}
#endregion
//来源erp才产成品入库
if (prdMo.mo_source != "1")
{
@@ -428,6 +468,7 @@ namespace Tnb.WarehouseMgr
erpRequestData.Add("vtrantypecode", "46-01");
erpRequestData.Add("csourcebillhid", prdReport?.erp_pk_wr ?? "");
erpRequestData.Add("report_id", prdReport?.id ?? "");
erpRequestData.Add("prd_instock_h_id", prdInstockH.id);
List<Dictionary<string, object>> erpRequestDataDetails = new List<Dictionary<string, object>>();