长管签收自动投料

This commit is contained in:
2024-10-25 17:40:55 +08:00
parent 7b6a2c31aa
commit 611900639c
2 changed files with 81 additions and 8 deletions

View File

@@ -3140,20 +3140,37 @@ namespace Tnb.WarehouseMgr
await db.Updateable<WmsCarryH>()
.SetColumns(x => x.carry_status == carryStatus)
.Where(x => clearCarryIds.Contains(x.id))
.ExecuteCommandAsync();
Logger.Information($"【TaskComplate】 更新载具状态 {JsonConvert.SerializeObject(clearCarryIds)}成功");
await db.Updateable<WmsCarryH>()
.SetColumns(x => x.is_check == isCheck)
.Where(x => clearCarryIds.Contains(x.id))
.ExecuteCommandAsync();
Logger.Information($"【TaskComplate】 更新载具检验 {JsonConvert.SerializeObject(clearCarryIds)}成功");
//await QTRK2BIP(dt, db);
// require_code是任务单
//string mo_task_code = dt.require_code;
}
else if (dt.biz_type ==WmsWareHouseConst.BIZTYPE_WMSMATERIALTRANSFER_ID)//长管签收
{
//自动签收投料更新载具状态
WmsCarryH carry = await db.Queryable<WmsCarryH>().SingleAsync(x => x.id == dt.carry_id);
List<string> clearCarryIds = new List<string>();
clearCarryIds.Add(carry.id);
List<string> memberCarryIds = new List<string>();
if (carry.carrystd_id == WmsWareHouseConst.CARRY_ZYXCSTD_ID ||
carry.carrystd_id == WmsWareHouseConst.CARRY_ZYLJSTD_ID)
{
}
else
{
memberCarryIds = await db.Queryable<WmsCarryD>().Where(x=>x.carry_id==carry.id).Select(x=>x.membercarry_id).ToListAsync();
clearCarryIds.AddRange(memberCarryIds);
}
await db.Updateable<WmsCarryH>()
.SetColumns(x => x.carry_status == carryStatus)
.SetColumns(x => x.is_check == isCheck)
.Where(x => clearCarryIds.Contains(x.id))
.ExecuteCommandAsync();
}
else if (dt.biz_type == "erp_qtrk")
{
//await QTRK2BIP(dt, db);

View File

@@ -2606,6 +2606,8 @@ namespace Tnb.WarehouseMgr
OrganizeEntity workshop = await _organizeService.GetAnyParentByWorkstationId(moTask.workstation_id, DictConst.RegionCategoryWorkshopCode);
List<PrdMaterialReceiptH> insertHList = new List<PrdMaterialReceiptH>();
List<PrdMaterialReceiptD> insertDList = new List<PrdMaterialReceiptD>();
List<PrdFeedingH> insertFHList = new List<PrdFeedingH>();
List<PrdFeedingD> insertFDList = new List<PrdFeedingD>();
string orgId = WmsWareHouseConst.AdministratorOrgId;
// string userId = moTask.worker_id;
string userId = WmsWareHouseConst.AdministratorUserId;
@@ -2636,6 +2638,26 @@ namespace Tnb.WarehouseMgr
};
insertHList.Add(prdMaterialReceiptH);
string feedCode = await _billRullService.GetBillNumber(CodeTemplateConst.FEEDING_CODE);
PrdFeedingH prdFeedingH = new PrdFeedingH()
{
code = feedCode,
station_id = moTask.workstation_id,
mo_task_id = moTask.id,
process_id = moTask.process_id,
// equip_id = input.equip_id,
workshop_id = workshop?.Id,
carry_id = carry.id,
workline_id = moTask.workline_id,
carry_code = carry.carry_code,
// remark = input.remark,
mbom_process_id = moTask.mbom_process_id,
create_id = userId,
create_time = DateTime.Now,
org_id = orgId
};
insertFHList.Add(prdFeedingH);
List<WmsCarryCode> wmsCarryCodes = await _db.Queryable<WmsCarryCode>().Where(x => x.carry_id == carry.id).ToListAsync();
if (wmsCarryCodes != null && wmsCarryCodes.Count > 0)
{
@@ -2643,7 +2665,7 @@ namespace Tnb.WarehouseMgr
foreach (var item in wmsCarryCodes)
{
insertDList.Add(new PrdMaterialReceiptD
PrdMaterialReceiptD dItem = new PrdMaterialReceiptD
{
material_receipt_id = prdMaterialReceiptH.id,
material_id = item.material_id,
@@ -2659,6 +2681,20 @@ namespace Tnb.WarehouseMgr
supplier_id = item.supplier_id,
instock_time = item.instock_time,
// check_conclusion = item.check_conclusion,
};
insertDList.Add(dItem);
insertFDList.Add(new PrdFeedingD
{
feeding_id = prdFeedingH.id,
material_receipt_detail_id = dItem?.id,
material_id = item.material_id,
num = item.codeqty,
batch = item.code_batch,
unit_id = item.unit_id,
carry_id = carry.id,
status = "0",
use_num = 0,
});
}
}
@@ -2667,6 +2703,24 @@ namespace Tnb.WarehouseMgr
throw Oops.Bah("未找到物料明细");
}
if (carry.carrystd_id == WmsWareHouseConst.CARRY_ZYXCSTD_ID || carry.carrystd_id == WmsWareHouseConst.CARRY_ZYLJSTD_ID)
{
Tnb.WarehouseMgr.Entities.Dto.Outputs.Result result = await _wmsCarryUnbindService.CarryCodeUnbindWithoutTran(new CarryCodeUnbindInput()
{
carry_id = carry.id
},_db);
if (result.code != HttpStatusCode.OK)
{
throw Oops.Bah(result.msg);
}
//deleteCarryCodeIds.Add(carry.id);
// int row = await db.Deleteable<WmsCarryCode>().Where(r => r.carry_id == carry.id).ExecuteCommandAsync();
// Log.Information($"载具{carry.id}已解绑,解绑条数{row}");
}
}
if (insertHList.Count <= 0 || insertDList.Count <= 0)
@@ -2676,7 +2730,9 @@ namespace Tnb.WarehouseMgr
int row1 = await _db.Insertable(insertHList).ExecuteCommandAsync();
int row2 = await _db.Insertable(insertDList).ExecuteCommandAsync();
if (row1 <= 0 || row2 <= 0)
int row3 = await _db.Insertable(insertFHList).ExecuteCommandAsync();
int row4 = await _db.Insertable(insertFDList).ExecuteCommandAsync();
if (row1 <= 0 || row2 <= 0 || row3<=0 || row4<=0)
{
throw Oops.Bah(ErrorCode.COM1000);
}