diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/CarryBarCodeInput.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/CarryBarCodeInput.cs
new file mode 100644
index 00000000..667cc688
--- /dev/null
+++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/CarryBarCodeInput.cs
@@ -0,0 +1,20 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tnb.WarehouseMgr.Entities.Dto.Inputs
+{
+ public class CarryBarCodeInput
+ {
+ ///
+ /// 打印条码集合
+ ///
+ public List barCodes { get; set; }
+ ///
+ /// 打印份数
+ ///
+ public int copies { get; set; } = 2;
+ }
+}
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs b/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs
index 2154f966..a51c8936 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs
@@ -213,9 +213,10 @@ namespace Tnb.WarehouseMgr
/// 条码打印
///
/// 条码
+ /// 打印份数
///
[NonAction]
- protected void BarCodePrint(List barCodes)
+ protected void BarCodePrint(List barCodes,int copies)
{
TaskCompletionSource tcs = new();
// open port.
@@ -308,18 +309,21 @@ namespace Tnb.WarehouseMgr
foreach (string code in barCodes)
{
- //print text, true type text.
- _ = PPLBUtility.B_Prn_Text(200, 50, 0, 2, 2, 2, 'N', code);
- //barcode.
- _ = PPLBUtility.B_Prn_Barcode(50, 100, 0, "1", 3, 5, 70, 'B', code);//have a counter
- // output.
- _ = PPLBUtility.B_Print_Out(1);// copy 2.
+ for (int i = 0; i < copies; i++)
+ {
+ //print text, true type text.
+ _ = PPLBUtility.B_Prn_Text(150, 50, 0, 2, 2, 2, 'N', code);
+ //barcode.
+ _ = PPLBUtility.B_Prn_Barcode(50, 100, 0, "1", 3, 5, 70, 'N', code);//have a counter
+ // output.
+ _ = PPLBUtility.B_Print_Out(1);// copy 2.
+ }
}
}
catch (Exception ex)
{
tcs.SetException(ex);
- JNPF.Logging.Log.Error("条码打印时出现错误", ex);
+ Logger.Error("条码打印时出现错误", ex);
}
finally
{
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/DeviceProviderService.cs b/WarehouseMgr/Tnb.WarehouseMgr/DeviceProviderService.cs
index 86a60422..d1e943df 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr/DeviceProviderService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr/DeviceProviderService.cs
@@ -307,13 +307,15 @@ namespace Tnb.WarehouseMgr
[HttpPost, NonUnify, AllowAnonymous]
public async Task TaskCallback(TaskCallBackInput input)
{
- Log.Information($"接收参数:{JsonConvert.SerializeObject(input)}");
+ Log.Information($"任务状态上报->接收参数:{JsonConvert.SerializeObject(input)}");
try
{
List disTasks = await _db.Queryable().Where(it => it.bill_code.Contains(input.taskCode)).ToListAsync();
if (input.action == "LOAD")
{
+ Logger.Information("----------Load Begin----------");
+
TaskExecuteAfterUpInput taskExecuteAfterUpInput = new()
{
disTaskIds = disTasks.Select(x => x.id).ToList()
@@ -333,9 +335,13 @@ namespace Tnb.WarehouseMgr
}
}
+ Logger.Information("----------Load End----------");
+
}
else if (input.action == "UNLOAD")
{
+ Logger.Information("----------UnLoad Begin----------");
+
TaskCompleUpInput taskCompleUpInput = new()
{
disTaskIds = disTasks.Select(x => x.id).ToList()
@@ -343,6 +349,7 @@ namespace Tnb.WarehouseMgr
Logger.Information($"taskCompleUpInput json parameter:{JsonConvert.SerializeObject(taskCompleUpInput)}");
await _wareHouseService.TaskComplate(taskCompleUpInput);
+ Logger.Information("----------UnLoad end----------");
}
}
catch (Exception ex)
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/ElevatorControlService.cs b/WarehouseMgr/Tnb.WarehouseMgr/ElevatorControlService.cs
index 7a54fecc..9aefd605 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr/ElevatorControlService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr/ElevatorControlService.cs
@@ -39,7 +39,8 @@ namespace Tnb.WarehouseMgr
public async Task CallLiftTest(string devName, int floor)
{
bool isSuccefuly = false;
- (int sysStatus, int runStatus, _, int doorStatus, int agvStatus) = await GetElevatorStatus(devName, CancellationToken.None);
+ var tags = new[] { "SysStatus", "RunStatus", "FloorNo", "DoorStatus", "AGVStatus" };
+ (int sysStatus, int runStatus, _, int doorStatus, int agvStatus) = await GetElevatorStatus(devName, tags, CancellationToken.None);
//判断当前楼层是否是放货楼层,如不是则呼叫电梯到当前楼层
if (sysStatus.ToEnum() == EnumSysStatus.正常状态 && runStatus.ToEnum() == EnumRunStatus.停梯 &&
agvStatus.ToEnum() != EnumAgvStatus.AGV运行状态)
@@ -364,7 +365,7 @@ namespace Tnb.WarehouseMgr
{
dynamic result = await WriteTagAsync(devName, ElevatorConsts.AGVControl, 1);
JObject jo = JObject.Parse(result);
- if (jo != null && jo.Value("Result").Equals("Ok", StringComparison.OrdinalIgnoreCase))
+ if (jo != null && jo!.Value("Result")!.Equals("Ok", StringComparison.OrdinalIgnoreCase))
{
isInAgvStatus = true;
}
@@ -402,10 +403,4 @@ namespace Tnb.WarehouseMgr
return isSuccefuly;
}
}
-
- public class ElevatorData
- {
- public string? name { get; set; }
- public string? value { get; set; }
- }
}
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryService.cs
index 6718c9fd..8288169b 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryService.cs
@@ -236,8 +236,9 @@ namespace Tnb.WarehouseMgr
[HttpPost, AllowAnonymous]
public async Task BatchAdd(CarryBatchAddInput input)
{
- int i = 0, r = 0, num = 0;
- var nonZeroPattern = @"[1-9]+";
+ int r = 0, num = 0;
+ //var nonZeroPattern = @"[1-9]+";
+ var nonZeroPattern = @"\d+";
var code = input.carry_code.Match(@"\D+");
if (input.carry_code.IsMatch(@"\d+"))
{
@@ -246,26 +247,33 @@ namespace Tnb.WarehouseMgr
var carrys = await _db.Queryable().Where(it => it.carry_code.Contains(code)).ToListAsync();
if (carrys?.Count < 1)
{
- i = Math.Max(num, 1);
+ num = Math.Max(num, 1);
}
else
{
var lastCarry = carrys?.OrderByDescending(o => o.carry_code).FirstOrDefault() ?? default;
num = lastCarry?.carry_code.Match(nonZeroPattern).ParseToInt() ?? -1;
- i = num + 1;
+ num = num + 1;
}
- var batchCarrys = new List();
- for (; i <= input.quantity; i++)
+ var batchCarrys = new List(input.quantity);
+
+ for (var i = 1; i <= input.quantity; i++)
{
+ if (i != 1)
+ {
+ num += 1;
+ }
var sb = new StringBuilder();
sb.Append(code);
- sb.Append(i.ToString().PadLeft(4, '0'));
+ sb.Append(num.ToString().PadLeft(5, '0'));
var carryCode = sb.ToString();
WmsCarryH carry = input.Adapt();
carry.id = SnowflakeIdHelper.NextId();
carry.carry_name = carryCode;
carry.carry_code = carryCode;
+ carry.is_check = 1;
+ carry.status = 1;
carry.create_id = "25398501929509";
carry.create_time = DateTime.Now;
batchCarrys.Add(carry);
@@ -280,10 +288,11 @@ namespace Tnb.WarehouseMgr
///
///
[HttpPost]
- public new void BarCodePrint(List barCodes)
+ public new void BarCodePrint(CarryBarCodeInput input)
{
- base.BarCodePrint(barCodes);
-
+ if (input.barCodes == null || input.barCodes.Count < 1) throw new ArgumentNullException(nameof(input.barCodes));
+ input.barCodes = input.barCodes.OrderBy(o => o).ToList();
+ base.BarCodePrint(input.barCodes, input.copies);
}
}
}
\ No newline at end of file
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsFeedingService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsFeedingService.cs
index 098f8871..e773e92b 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr/WmsFeedingService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsFeedingService.cs
@@ -46,7 +46,7 @@ namespace Tnb.WarehouseMgr
.Mapper(it => it.material_name = (it.material_id != null && dicMaterial.ContainsKey(it.material_id)) ? dicMaterial[it.material_id].ToString() : "")
.ToListAsync();
- return items ?? Enumerable.Empty();
+ return items ?? Enumerable.Empty();
}
}
}
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPurchaseAndSaleCommonService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPurchaseAndSaleCommonService.cs
index eaef030d..a558483d 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPurchaseAndSaleCommonService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPurchaseAndSaleCommonService.cs
@@ -47,8 +47,8 @@ namespace Tnb.WarehouseMgr
if (input == null) throw new ArgumentNullException("input");
if (input.details == null) throw new ArgumentNullException(nameof(input.details));
- var materialIds = input.details.Select(x => x.material_id).ToList();
- var purchaseDs = await _db.Queryable().Where(it => materialIds.Contains(it.material_id)).ToListAsync();
+ var ids = input.details.Select(x => x.id).ToList();
+ var purchaseDs = await _db.Queryable().Where(it => ids.Contains(it.id)).ToListAsync();
if (purchaseDs?.Count > 0)
{
@@ -56,7 +56,7 @@ namespace Tnb.WarehouseMgr
foreach (var pd in purchaseDs)
{
- var pdInput = input.details.Find(x => x.material_id == pd.material_id);
+ var pdInput = input.details.Find(x => x.id == pd.id);
if (pdInput != null)
{
pd.purchase_prqty += pdInput.purchase_arriveqty;
@@ -112,7 +112,7 @@ namespace Tnb.WarehouseMgr
if (s_materialMap.Count == 0)
{
//物料+规格型号+批次+箱号
- //s_materialMap = await _db.Queryable().ToDictionaryAsync(x => $"{}{}{}{}", x => x.name);
+ ////s_materialMap = await _db.Queryable().ToDictionaryAsync(x => x.id, x => x.name);
}
var list = await _db.Queryable().Where(it => it.bill_id == pkId)
.Mapper(it => it.material_name = s_materialMap.ContainsKey(it.material_id) ? s_materialMap[it.material_id]?.ToString() ?? "" : "")
diff --git a/apihost/Tnb.API.Entry/Startup.cs b/apihost/Tnb.API.Entry/Startup.cs
index 2196fe41..049b470c 100644
--- a/apihost/Tnb.API.Entry/Startup.cs
+++ b/apihost/Tnb.API.Entry/Startup.cs
@@ -59,7 +59,7 @@ public class Startup : AppStartup
services.AddHostedService();
//services.AddHostedService();
-
+
}