diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDABindService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDABindService.cs
index 992a852b..39f177a7 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDABindService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDABindService.cs
@@ -50,13 +50,13 @@ namespace Tnb.WarehouseMgr
}
///
- /// 更换载具
+ /// PDA绑定操作
///
///
/// 输入参数:
///
{
- ///
old_carry_id:老载具id
- ///
new_carry_id:新载具ID
+ ///
old_carry_id: 载具料箱ID
+ ///
new_carry_id:载具小车ID
///
}
///
///
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryReplaceService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryReplaceService.cs
index d6d4373f..e3f3b9a9 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryReplaceService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryReplaceService.cs
@@ -24,7 +24,7 @@ using Tnb.WarehouseMgr.Interfaces;
namespace Tnb.WarehouseMgr
{
///
- /// 载具服务
+ /// PDA载具更换
///
[OverideVisualDev(ModuleConsts.MODULE_WMSCARRYREPLACEPDA_ID)]
public class WmsPDACarryService : BaseWareHouseService, IWmsCarryService, IPdaStroage
@@ -50,12 +50,12 @@ namespace Tnb.WarehouseMgr
}
///
- /// 更换载具
+ /// PDA载具更换
///
///
/// 输入参数:
///
{
- ///
old_carry_id:老载具id
+ ///
old_carry_id:老载具ID
///
new_carry_id:新载具ID
///
}
///
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs
index 8541d41e..0809c924 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs
@@ -9,11 +9,11 @@ using JNPF.FriendlyException;
using JNPF.Logging;
using JNPF.Systems.Interfaces.System;
using JNPF.VisualDev;
+using JNPF.VisualDev.Entitys;
+using JNPF.VisualDev.Interfaces;
using Mapster;
using Microsoft.AspNetCore.Mvc;
-using Senparc.Weixin.Work.AdvancedAPIs.OaDataOpen;
using SqlSugar;
-using Tnb.BasicData.Entities;
using Tnb.Common.Utils;
using Tnb.WarehouseMgr.Entities;
using Tnb.WarehouseMgr.Entities.Consts;
@@ -24,85 +24,101 @@ using Tnb.WarehouseMgr.Interfaces;
namespace Tnb.WarehouseMgr
{
///
- /// 载具服务
+ /// PDA投料记录
///
[OverideVisualDev(ModuleConsts.MODULE_WMSFEEDINGRECORDPDA_ID)]
- public class WmsPDAFeedingService : BaseWareHouseService, IWmsCarryService, IWmsFeedingService
+ public class WmsPDAFeedingService : BaseWareHouseService, IWmsCarryService, IPdaStroage
{
- //private const string ModuleId = "26496913096981";
private readonly ISqlSugarClient _db;
private readonly IUserManager _userManager;
private readonly IBillRullService _billRullService;
- private readonly WmsCarryService _wmsCarryService;
- private static Dictionary dicMaterial = new Dictionary();
- public WmsPDAFeedingService(ISqlSugarRepository repository, IUserManager userManager, IBillRullService billRullService, WmsCarryService wmsCarryService)
+ private readonly IRunService _runService;
+ private readonly IVisualDevService _visualDevService;
+ public WmsPDAFeedingService(
+ ISqlSugarRepository repository,
+ IUserManager userManager,
+ IBillRullService billRullService,
+ IRunService runService,
+ IVisualDevService visualDevService)
{
_db = repository.AsSugarClient();
_userManager = userManager;
_billRullService = billRullService;
- _wmsCarryService = wmsCarryService;
- OverideFuncs.CreateAsync = WmsPDAFeeding;
+ _runService = runService;
+ _visualDevService = visualDevService;
+ OverideFuncs.CreateAsync = WmsPDABind;
}
- private async Task WmsPDAFeeding(VisualDevModelDataCrInput input)
+ ///
+ /// PDA投料记录
+ ///
+ ///
+ /// 输入参数:
+ ///
{
+ ///
old_carry_id: 料箱ID
+ ///
new_carry_id:新载具ID
+ ///
}
+ ///
+ ///
+ ///
+ private async Task WmsPDABind(VisualDevModelDataCrInput input)
{
+
+
var isOk = false;
try
{
await _db.Ado.BeginTranAsync();
- var carryId = input.data.ContainsKey("carry_id") ? input.data["carry_id"]?.ToString() : "";
- var feedBoxCode = input.data.ContainsKey("feedbox_code") ? input.data["feedbox_code"]?.ToString() : "";
- var carry = await _db.Queryable().FirstAsync(it => it.id == carryId);
- var feedBox = await _db.Queryable().FirstAsync(it => it.feedbox_code == feedBoxCode);
- var citem = await _db.Queryable().FirstAsync(it => it.carry_id == carryId);
- if (carry != null && feedBox != null)
- {
- feedBox.material_id = citem.material_id;
- feedBox.material_code = citem.material_code;
- feedBox.qty = citem.qty;
- feedBox.batch = citem?.code_batch!;
- var row = await _db.Updateable(feedBox).UpdateColumns(it => new
- {
- it.material_id,
- it.material_code,
- it.qty,
- it.batch
- }).ExecuteCommandAsync();
- /* var row = await _db.Updateable(feedBox).SetColumns(it => new
- {
- it.material_id == item.material_id,it.material_code
- }
- )*/
- var items = await _db.Queryable().Where(it => it.carry_id == carryId).ToListAsync();
- foreach (var item in items)
- {
- WmsFeedingrecordCode wmsFeedingRecordCode = new();
- wmsFeedingRecordCode.id = SnowflakeIdHelper.NextId();
- wmsFeedingRecordCode.org_id = carry?.org_id!;
- wmsFeedingRecordCode.record_id = input.data["ReturnIdentity"]?.ToString()!;
- wmsFeedingRecordCode.material_id = item.material_id;
- wmsFeedingRecordCode.material_code = item.material_code;
- wmsFeedingRecordCode.barcode = item.barcode;
- wmsFeedingRecordCode.code_batch = item.code_batch;
- wmsFeedingRecordCode.codeqty = item.codeqty;
- wmsFeedingRecordCode.unit_id = item.unit_id;
- wmsFeedingRecordCode.unit_code = item.unit_code;
- wmsFeedingRecordCode.create_id = _userManager.UserId;
- wmsFeedingRecordCode.create_time = DateTime.Now;
- row = await _db.Insertable(wmsFeedingRecordCode).ExecuteCommandAsync();
- }
- row = await UpdateNullCarry(carry);
+ VisualDevEntity? templateEntity = await _visualDevService.GetInfoById(ModuleConsts.MODULE_WMSFEEDINGRECORDPDA_ID, true);
+ await _runService.Create(templateEntity, input);
+
+ var oldCarryId = input.data.ContainsKey("carry_id") ? input.data["carry_id"]?.ToString() : "";
+ var newCarryId = input.data.ContainsKey("newcarry_id") ? input.data["newcarry_id"]?.ToString() : "";
+ var oldCarry = await _db.Queryable().FirstAsync(it => it.id == oldCarryId);
+ var newCarry = await _db.Queryable().FirstAsync(it => it.id == newCarryId);
+ if (oldCarry != null && newCarry != null)
+ {
+ ExChangeCarryInput carryInput = new() { old_carry_id = oldCarry.id, new_carry_id = newCarry.id };
+ isOk = await _updateSubCarry(carryInput);
+ isOk = await _updateSubCarry(carryInput);
+ isOk = await _updateSubCarry(carryInput);
+
+ newCarry.status = oldCarry.status;
+ newCarry.carry_status = oldCarry.carry_status;
+ newCarry.location_id = oldCarry.location_id;
+ newCarry.location_code = oldCarry.location_code;
+ newCarry.is_lock = oldCarry.is_lock;
+ newCarry.out_status = oldCarry.out_status;
+ newCarry.is_check = oldCarry.is_check;
+ newCarry.bale_num = oldCarry.bale_num;
+ newCarry.collocation_scheme_id = oldCarry.collocation_scheme_id;
+ newCarry.collocation_scheme_code = oldCarry.collocation_scheme_code;
+ newCarry.source_id = oldCarry.source_id;
+ newCarry.source_code = oldCarry.source_code;
+ newCarry.create_id = _userManager.UserId;
+ newCarry.create_time = DateTime.Now;
+ var row = await _db.Updateable(newCarry).ExecuteCommandAsync();
+ WmsCarryReplaceH wmsCarryReplaceH = oldCarry.Adapt();
+ wmsCarryReplaceH.id = SnowflakeIdHelper.NextId();
+ wmsCarryReplaceH.org_id = oldCarry.org_id;
+ wmsCarryReplaceH.bill_code = await _billRullService.GetBillNumber(WmsCarryConst.WMS_CARRY_REPLACE_ENCODE);
+ wmsCarryReplaceH.carry_id = oldCarry.id;
+ wmsCarryReplaceH.carry_code = oldCarry.carry_code;
+ wmsCarryReplaceH.newcarry_id = newCarry.id;
+ wmsCarryReplaceH.newcarry_code = newCarry.carry_code;
+ row = await _db.Insertable(wmsCarryReplaceH).ExecuteCommandAsync();
+ row = await UpdateNullCarry(oldCarry);
isOk = (row > 0);
if (!isOk) throw Oops.Oh(ErrorCode.COM1001);
}
else
{
- if (carry == null)
+ if (oldCarry == null)
{
throw new AppFriendlyException("没有可用的旧载具", 500);
}
- if (feedBox == null)
+ if (newCarry == null)
{
throw new AppFriendlyException("没有可用的新载具", 500);
}
@@ -137,6 +153,7 @@ namespace Tnb.WarehouseMgr
carryObj.source_id = null;
carryObj.source_code = null;
row = await _db.Updateable(carryObj).ExecuteCommandAsync();
+ //删除对应明细表
//删除载具明细
await _db.Deleteable().Where(it => it.carry_id == carryObj.id).ExecuteCommandHasChangeAsync();
//删除载具分拣物料明细
@@ -175,34 +192,5 @@ namespace Tnb.WarehouseMgr
}
return (row > 0);
}
-
-
-
- ///
- /// 根据载具Id获取载具条码记录
- ///
- ///
- ///
- [HttpGet]
- public async Task GetCarryCodeList([FromRoute] string carryId)
- {
- if (dicMaterial.Count < 1)
- {
- dicMaterial = await _db.Queryable().ToDictionaryAsync(x => x.id, x => x.name);
- }
- var items = await _db.Queryable().Where(a => a.carry_id == carryId)
- .Select(a => new CarryCodeDetailOutput
- {
- barcode = a.barcode,
- code_batch = a.code_batch,
- codeqty = a.codeqty,
- material_code = a.material_code,
- material_id = a.material_id,
- unit_id = a.unit_id,
- })
- .Mapper(it => it.material_name = dicMaterial.ContainsKey(it.material_id) ? dicMaterial[it.material_id].ToString()! : "")
- .ToListAsync();
- return items;
- }
}
-}
+}
\ No newline at end of file