齐套出库
This commit is contained in:
@@ -69,7 +69,7 @@ namespace Tnb.ProductionMgr
|
||||
private Timer? Floor2timer移走下升降区未生成预任务且空托的料架;
|
||||
|
||||
// 7号线补充空料箱
|
||||
private Timer? SSX7Supplementtimer;
|
||||
//private Timer? SSX7Supplementtimer;
|
||||
|
||||
public static SemaphoreSlim s_taskExecuteFloor2UpMachinecodetimer = new(1);
|
||||
public static SemaphoreSlim s_task送空托到上升降区 = new(1);
|
||||
@@ -431,7 +431,7 @@ where carry_code = '{coderesult}' and status = '{WmsWareHouseConst.TASK_BILL_STA
|
||||
|
||||
})).CreateLogger(this.GetType());
|
||||
|
||||
protected ILogger LoggerYCLGLDPJInstock => LoggerFactory.Create(builder => builder.AddFile($"{AppContext.BaseDirectory}/logs/customBGWCarrySupplement{DateTime.Now:yyyyMMdd}.log", cfgOpts =>
|
||||
protected ILogger LoggerYCLGLDPJInstock => LoggerFactory.Create(builder => builder.AddFile($"{AppContext.BaseDirectory}/logs/customYCLGLDPJInstock{DateTime.Now:yyyyMMdd}.log", cfgOpts =>
|
||||
{
|
||||
//cfgOpts.DateFormat = "yyyy-MM-dd HH:mm:ss.fff";
|
||||
cfgOpts.MessageFormat = (logMsg) =>
|
||||
@@ -609,84 +609,84 @@ where carry_code = '{coderesult}' and status = '{WmsWareHouseConst.TASK_BILL_STA
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 7号输送线空料箱补充
|
||||
/// </summary>
|
||||
private async void SSX7Supplement(object? state)
|
||||
{
|
||||
Dictionary<string, string[]> getdic = new Dictionary<string, string[]>();
|
||||
getdic.Add("SSX-021-007", new string[] { "东面提升机输送线", "出库输送线7呼叫CTU" });
|
||||
///// <summary>
|
||||
///// 7号输送线空料箱补充 (弃用)
|
||||
///// </summary>
|
||||
//private async void SSX7Supplement(object? state)
|
||||
//{
|
||||
// Dictionary<string, string[]> getdic = new Dictionary<string, string[]>();
|
||||
// getdic.Add("SSX-021-007", new string[] { "东面提升机输送线", "出库输送线7呼叫CTU" });
|
||||
|
||||
foreach (var key in getdic.Keys)
|
||||
{
|
||||
try
|
||||
{
|
||||
var strs = getdic.Where(p => p.Key == key).First().Value;
|
||||
string data = await _redisData.GetHash(strs[0], strs[1]);
|
||||
if (data == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
JObject? res = JsonConvert.DeserializeObject<JObject>(data);
|
||||
// foreach (var key in getdic.Keys)
|
||||
// {
|
||||
// try
|
||||
// {
|
||||
// var strs = getdic.Where(p => p.Key == key).First().Value;
|
||||
// string data = await _redisData.GetHash(strs[0], strs[1]);
|
||||
// if (data == null)
|
||||
// {
|
||||
// continue;
|
||||
// }
|
||||
// JObject? res = JsonConvert.DeserializeObject<JObject>(data);
|
||||
|
||||
bool result = res != null && res["Value"] != null ? res.Value<bool>("Value") : false;
|
||||
if (result)
|
||||
{
|
||||
LoggerBGWCarrySupplement.LogInformation($"【SSX7Supplement】 7号输送线 {key} {strs[1]}采集到 {res["Value"]}");
|
||||
// bool result = res != null && res["Value"] != null ? res.Value<bool>("Value") : false;
|
||||
// if (result)
|
||||
// {
|
||||
// LoggerBGWCarrySupplement.LogInformation($"【SSX7Supplement】 7号输送线 {key} {strs[1]}采集到 {res["Value"]}");
|
||||
|
||||
BasLocation endLocation = _repository.AsSugarClient().Queryable<BasLocation>().Where(r => r.location_code == key).First();
|
||||
if (endLocation == null)
|
||||
{
|
||||
LoggerBGWCarrySupplement.LogWarning($"【SSX7Supplement】 {key}未维护库位信息");
|
||||
continue;
|
||||
}
|
||||
if (endLocation.is_lock == 1)
|
||||
{
|
||||
LoggerBGWCarrySupplement.LogInformation($"【SSX7Supplement】 7号输送线 {key} 已锁定");
|
||||
continue;
|
||||
}
|
||||
// BasLocation endLocation = _repository.AsSugarClient().Queryable<BasLocation>().Where(r => r.location_code == key).First();
|
||||
// if (endLocation == null)
|
||||
// {
|
||||
// LoggerBGWCarrySupplement.LogWarning($"【SSX7Supplement】 {key}未维护库位信息");
|
||||
// continue;
|
||||
// }
|
||||
// if (endLocation.is_lock == 1)
|
||||
// {
|
||||
// LoggerBGWCarrySupplement.LogInformation($"【SSX7Supplement】 7号输送线 {key} 已锁定");
|
||||
// continue;
|
||||
// }
|
||||
|
||||
BasLocation location = await _repository.AsSugarClient().Queryable<BasLocation>().SingleAsync(it => it.location_code == key && it.is_type != EnumLocationType.存储库位.ToString()) ?? throw new AppFriendlyException("无此库位或为存储库位", 500);
|
||||
//锁定起点库位
|
||||
await _repository.AsSugarClient().Updateable<BasLocation>().SetColumns(r => r.is_lock == 1).Where(r => r.id == location.id).ExecuteCommandAsync();
|
||||
// BasLocation location = await _repository.AsSugarClient().Queryable<BasLocation>().SingleAsync(it => it.location_code == key && it.is_type != EnumLocationType.存储库位.ToString()) ?? throw new AppFriendlyException("无此库位或为存储库位", 500);
|
||||
// //锁定起点库位
|
||||
// await _repository.AsSugarClient().Updateable<BasLocation>().SetColumns(r => r.is_lock == 1).Where(r => r.id == location.id).ExecuteCommandAsync();
|
||||
|
||||
Dictionary<string, object> dic = new()
|
||||
{
|
||||
[nameof(WmsEmptyOutstockH.id)] = SnowflakeIdHelper.NextId(),
|
||||
[nameof(WmsEmptyOutstockH.org_id)] = WmsWareHouseConst.AdministratorOrgId,
|
||||
[nameof(WmsEmptyOutstockH.location_id)] = location.id,
|
||||
[nameof(WmsEmptyOutstockH.carrystd_id)] = WmsWareHouseConst.LIAOXIANGID,
|
||||
[nameof(WmsEmptyOutstockH.bill_code)] = _billRullService.GetBillNumber(WmsWareHouseConst.WMS_EMPTYOUTSTK_ENCODE).GetAwaiter().GetResult(),
|
||||
[nameof(WmsEmptyOutstockH.status)] = WmsWareHouseConst.BILLSTATUS_ADD_ID,
|
||||
[nameof(WmsEmptyOutstockH.qty)] = 1,
|
||||
[nameof(WmsEmptyOutstockH.biz_type)] = WmsWareHouseConst.BIZTYPE_WMSEPTYOUTSTK_ID,
|
||||
["warehouse_id"] = WmsWareHouseConst.WAREHOUSE_ZC_ID,
|
||||
[nameof(WmsEmptyOutstockH.create_id)] = WmsWareHouseConst.AdministratorUserId,
|
||||
[nameof(WmsEmptyOutstockH.create_time)] = DateTime.Now
|
||||
};
|
||||
// Dictionary<string, object> dic = new()
|
||||
// {
|
||||
// [nameof(WmsEmptyOutstockH.id)] = SnowflakeIdHelper.NextId(),
|
||||
// [nameof(WmsEmptyOutstockH.org_id)] = WmsWareHouseConst.AdministratorOrgId,
|
||||
// [nameof(WmsEmptyOutstockH.location_id)] = location.id,
|
||||
// [nameof(WmsEmptyOutstockH.carrystd_id)] = WmsWareHouseConst.LIAOXIANGID,
|
||||
// [nameof(WmsEmptyOutstockH.bill_code)] = _billRullService.GetBillNumber(WmsWareHouseConst.WMS_EMPTYOUTSTK_ENCODE).GetAwaiter().GetResult(),
|
||||
// [nameof(WmsEmptyOutstockH.status)] = WmsWareHouseConst.BILLSTATUS_ADD_ID,
|
||||
// [nameof(WmsEmptyOutstockH.qty)] = 1,
|
||||
// [nameof(WmsEmptyOutstockH.biz_type)] = WmsWareHouseConst.BIZTYPE_WMSEPTYOUTSTK_ID,
|
||||
// ["warehouse_id"] = WmsWareHouseConst.WAREHOUSE_ZC_ID,
|
||||
// [nameof(WmsEmptyOutstockH.create_id)] = WmsWareHouseConst.AdministratorUserId,
|
||||
// [nameof(WmsEmptyOutstockH.create_time)] = DateTime.Now
|
||||
// };
|
||||
|
||||
VisualDevModelDataCrInput visualDevModelDataCrInput = new()
|
||||
{
|
||||
data = dic,
|
||||
};
|
||||
var result_WmsEmptyOut = await _wmsEmptyOutstockService.WmsEmptyOut(visualDevModelDataCrInput);
|
||||
// VisualDevModelDataCrInput visualDevModelDataCrInput = new()
|
||||
// {
|
||||
// data = dic,
|
||||
// };
|
||||
// var result_WmsEmptyOut = await _wmsEmptyOutstockService.WmsEmptyOut(visualDevModelDataCrInput);
|
||||
|
||||
if (result_WmsEmptyOut.code2 != "200")
|
||||
{
|
||||
LoggerBGWCarrySupplement.LogWarning($"【SSX7Supplement】 预任务生成失败 {result_WmsEmptyOut.msg}");
|
||||
continue;
|
||||
}
|
||||
LoggerBGWCarrySupplement.LogWarning($"【SSX7Supplement】 预任务生成成功");
|
||||
// if (result_WmsEmptyOut.code2 != "200")
|
||||
// {
|
||||
// LoggerBGWCarrySupplement.LogWarning($"【SSX7Supplement】 预任务生成失败 {result_WmsEmptyOut.msg}");
|
||||
// continue;
|
||||
// }
|
||||
// LoggerBGWCarrySupplement.LogWarning($"【SSX7Supplement】 预任务生成成功");
|
||||
|
||||
_ = _wareHouseService.GenTaskExecute();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LoggerBGWCarrySupplement.LogInformation($"【SSX7Supplement】 7号输送线空料箱补充发生异常:{ex}");
|
||||
}
|
||||
}
|
||||
}
|
||||
// _ = _wareHouseService.GenTaskExecute();
|
||||
// }
|
||||
// }
|
||||
// catch (Exception ex)
|
||||
// {
|
||||
// LoggerBGWCarrySupplement.LogInformation($"【SSX7Supplement】 7号输送线空料箱补充发生异常:{ex}");
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
||||
/// <summary>
|
||||
/// 供料叠盘机空托盘自动入库
|
||||
@@ -694,7 +694,7 @@ where carry_code = '{coderesult}' and status = '{WmsWareHouseConst.TASK_BILL_STA
|
||||
private async void YCLGLDPJInstock(object? state)
|
||||
{
|
||||
Dictionary<string, string[]> getdic = new Dictionary<string, string[]>();
|
||||
getdic.Add("SGW-YCL", new string[] { "CP3-3", "AllowGetFullBox" });
|
||||
getdic.Add("SGW-YCL", new string[] { "CP3-5", "AllowGetFullBox" });
|
||||
|
||||
foreach (var key in getdic.Keys)
|
||||
{
|
||||
@@ -713,45 +713,48 @@ where carry_code = '{coderesult}' and status = '{WmsWareHouseConst.TASK_BILL_STA
|
||||
{
|
||||
LoggerYCLGLDPJInstock.LogInformation($"【YCLGLDPJInstock】 三工位叠盘机 {key} {strs[1]}采集到 {res["Value"]}");
|
||||
|
||||
BasLocation startLocation = _repository.AsSugarClient().Queryable<BasLocation>().Where(r => r.location_code == key).First();
|
||||
if (startLocation == null)
|
||||
using (var db = _repository.AsSugarClient().CopyNew())
|
||||
{
|
||||
LoggerYCLGLDPJInstock.LogWarning($"【YCLGLDPJInstock】 {key}未维护库位信息");
|
||||
continue;
|
||||
BasLocation startLocation = db.Queryable<BasLocation>().Where(r => r.location_code == key).First();
|
||||
if (startLocation == null)
|
||||
{
|
||||
LoggerYCLGLDPJInstock.LogWarning($"【YCLGLDPJInstock】 {key}未维护库位信息");
|
||||
continue;
|
||||
}
|
||||
if (startLocation.is_lock == 1)
|
||||
{
|
||||
LoggerYCLGLDPJInstock.LogInformation($"【YCLGLDPJInstock】 三工位叠盘机 {key} 已锁定");
|
||||
continue;
|
||||
}
|
||||
|
||||
// 找到未锁定且未占用的库位
|
||||
var endLocations = db.Queryable<BasLocation>()
|
||||
.Where(a => a.is_lock == 0 && a.is_use == "0" && a.wh_id == WmsWareHouseConst.WAREHOUSE_YCL_ID && a.location_code.Contains("YCL-") && a.is_type == "0");
|
||||
|
||||
LoggerYCLGLDPJInstock.LogInformation($"【YCLGLDPJInstock】 sql {endLocations.ToSqlString()}");
|
||||
|
||||
if (endLocations.Count() == 0)
|
||||
{
|
||||
LoggerYCLGLDPJInstock.LogWarning($"【YCLGLDPJInstock】 当前没有空库位可以入库");
|
||||
continue;
|
||||
}
|
||||
|
||||
BasLocation endLocation = endLocations.First();
|
||||
|
||||
//锁定起点库位 更新为空闲
|
||||
await db.Updateable<BasLocation>().SetColumns(r => new BasLocation { is_lock = 1, is_use = "0" }).Where(r => r.id == startLocation.id).ExecuteCommandAsync();
|
||||
//锁定终点库位
|
||||
await db.Updateable<BasLocation>().SetColumns(r => new BasLocation { is_lock = 1 }).Where(r => r.id == endLocation.id).ExecuteCommandAsync();
|
||||
|
||||
bool result_createPretask = await createPretask(startLocation.id, endLocation.id, "", "", LoggerYCLGLDPJInstock);
|
||||
if (!result_createPretask)
|
||||
{
|
||||
LoggerYCLGLDPJInstock.LogWarning($"【YCLGLDPJInstock】 {startLocation.location_code} 到 {endLocation.location_code} 预任务生成失败");
|
||||
continue;
|
||||
}
|
||||
LoggerYCLGLDPJInstock.LogWarning($"【YCLGLDPJInstock】 {startLocation.location_code} 到 {endLocation.location_code} 预任务生成成功");
|
||||
|
||||
}
|
||||
if (startLocation.is_lock == 1)
|
||||
{
|
||||
LoggerYCLGLDPJInstock.LogInformation($"【YCLGLDPJInstock】 三工位叠盘机 {key} 已锁定");
|
||||
continue;
|
||||
}
|
||||
|
||||
// 找到未锁定且未占用的库位
|
||||
var endLocations = _repository.AsSugarClient().Queryable<BasLocation>()
|
||||
.Where(a => a.is_lock == 0 && a.is_use == "0" && a.wh_id == WmsWareHouseConst.WAREHOUSE_YCL_ID && a.location_code.Contains("YCL-"));
|
||||
|
||||
LoggerYCLGLDPJInstock.LogInformation($"【YCLGLDPJInstock】 sql {endLocations.ToSqlString()}");
|
||||
|
||||
if (endLocations.Count() == 0)
|
||||
{
|
||||
LoggerYCLGLDPJInstock.LogWarning($"【YCLGLDPJInstock】 当前没有空库位可以入库");
|
||||
continue;
|
||||
}
|
||||
|
||||
BasLocation endLocation = endLocations.First();
|
||||
|
||||
//锁定起点库位 更新为空闲
|
||||
await _repository.AsSugarClient().Updateable<BasLocation>().SetColumns(r => new BasLocation { is_lock = 1, is_use = "0" }).Where(r => r.id == startLocation.id).ExecuteCommandAsync();
|
||||
//锁定终点库位
|
||||
await _repository.AsSugarClient().Updateable<BasLocation>().SetColumns(r => new BasLocation { is_lock = 1 }).Where(r => r.id == endLocation.id).ExecuteCommandAsync();
|
||||
|
||||
bool result_createPretask = await createPretask(startLocation.id, endLocation.id, "", "", LoggerYCLGLDPJInstock);
|
||||
if (!result_createPretask)
|
||||
{
|
||||
LoggerYCLGLDPJInstock.LogWarning($"【YCLGLDPJInstock】 {startLocation.location_code} 到 {endLocation.location_code} 预任务生成失败");
|
||||
continue;
|
||||
}
|
||||
LoggerYCLGLDPJInstock.LogWarning($"【YCLGLDPJInstock】 {startLocation.location_code} 到 {endLocation.location_code} 预任务生成成功");
|
||||
|
||||
|
||||
_ = _wareHouseService.GenTaskExecute();
|
||||
}
|
||||
@@ -802,8 +805,8 @@ where carry_code = '{coderesult}' and status = '{WmsWareHouseConst.TASK_BILL_STA
|
||||
|
||||
// 找到未锁定且未占用的库位
|
||||
var endLocations = _repository.AsSugarClient().Queryable<BasLocation>()
|
||||
.Where(a => a.is_lock == 0 && a.is_use == "0" && a.wh_id == WmsWareHouseConst.WAREHOUSE_YCL_ID && a.location_code.Contains("YCL-"));
|
||||
|
||||
.Where(a => a.is_lock == 0 && a.is_use == "0" && a.wh_id == WmsWareHouseConst.WAREHOUSE_YCL_ID && a.location_code.Contains("YCL-") && a.is_type == "0");
|
||||
|
||||
LoggerYCLGLDPJInstock.LogInformation($"【YCLWXDPJInstock】 sql {endLocations.ToSqlString()}");
|
||||
|
||||
if (endLocations.Count() == 0)
|
||||
@@ -951,7 +954,7 @@ where carry_code = '{coderesult}' and status = '{WmsWareHouseConst.TASK_BILL_STA
|
||||
YCLGLDPJInstocktimer?.Dispose();
|
||||
YCLWXDPJInstocktimer?.Dispose();
|
||||
|
||||
SSX7Supplementtimer?.Dispose();
|
||||
//SSX7Supplementtimer?.Dispose();
|
||||
}
|
||||
|
||||
#region 二楼上升降机机械臂
|
||||
@@ -992,30 +995,25 @@ where carry_code = '{coderesult}' and status = '{WmsWareHouseConst.TASK_BILL_STA
|
||||
}
|
||||
LoggerFloor2UpDownMachine.LogInformation($@"【上升降机】扫描到有效条码 {barcode}");
|
||||
|
||||
// 获取下到输送线9和10的未完成的出库单
|
||||
List<WmsEmptyOutstockH> WmsEmptyOutstockHs = db.Queryable<WmsEmptyOutstockH>()
|
||||
.InnerJoin<WmsEmptyOutstockD>((a, b) => a.id == b.bill_id)
|
||||
.Where((a, b) => (a.location_id == "32609238573589" || a.location_id == "32609229889045") && (string.IsNullOrEmpty(a.bindrackcomplete) || a.bindrackcomplete != WmsWareHouseConst.BILLSTATUS_COMPLETE_ID)
|
||||
// 获取下到输送线9和10的未完成的转库单
|
||||
List<WmsMaterialTransfer> WmsMaterialTransfers = db.Queryable<WmsMaterialTransfer>()
|
||||
.InnerJoin<WmsMaterialTransferCarry>((a, b) => a.id == b.bill_id)
|
||||
.Where((a, b) => a.warehouse_instock == "33780009364245" && a.warehouse_outstock == "2" && a.remainbindracknum > 0
|
||||
&& b.carry_code == barcode).ToList();
|
||||
|
||||
string ss = db.Queryable<WmsEmptyOutstockH>()
|
||||
.InnerJoin<WmsEmptyOutstockD>((a, b) => a.id == b.bill_id)
|
||||
.Where((a, b) => (a.location_id == "32609238573589" || a.location_id == "32609229889045") && (string.IsNullOrEmpty(a.bindrackcomplete) || a.bindrackcomplete != WmsWareHouseConst.BILLSTATUS_COMPLETE_ID)
|
||||
&& b.carry_code == barcode).ToSqlString();
|
||||
|
||||
if (WmsEmptyOutstockHs.Count() == 0)
|
||||
if (WmsMaterialTransfers.Count() == 0)
|
||||
{
|
||||
LoggerFloor2UpDownMachine.LogWarning($@"【上升降机】未找到条码{barcode}的输送线为9、10的出库单");
|
||||
LoggerFloor2UpDownMachine.LogWarning($@"【上升降机】未找到条码{barcode}的输送线为9、10的转库单");
|
||||
return;
|
||||
}
|
||||
// 出库单
|
||||
WmsEmptyOutstockH WmsEmptyOutstockH = WmsEmptyOutstockHs.OrderByDescending(r => r.create_time).First();
|
||||
// 转库单
|
||||
WmsMaterialTransfer WmsMaterialTransfer = WmsMaterialTransfers.OrderByDescending(r => r.create_time).First();
|
||||
|
||||
// 找到条码在的出库单
|
||||
string ckdCode = WmsEmptyOutstockH.bill_code;
|
||||
int ckdRemainBindRackNum = (int)(WmsEmptyOutstockH.remainbindracknum != null ? WmsEmptyOutstockH.remainbindracknum : 0);
|
||||
// 找到条码在的转库单
|
||||
string ckdCode = WmsMaterialTransfer.bill_code;
|
||||
int ckdRemainBindRackNum = (int)(WmsMaterialTransfer.remainbindracknum != null ? WmsMaterialTransfer.remainbindracknum : 0);
|
||||
|
||||
//扫描到的料箱 a.对应出库单的b.码垛计数未达到满托数量的料架区
|
||||
//扫描到的料箱 a.对应转库单的b.码垛计数未达到满托数量的料架区
|
||||
IEnumerable<WmsMechanicalArmH> targetConfigs = WmsMechanicalArmHs.Where(r => r.outbill == ckdCode && r.stackingcount < r.maxnum);
|
||||
|
||||
WmsMechanicalArmH target;
|
||||
@@ -1032,8 +1030,8 @@ where carry_code = '{coderesult}' and status = '{WmsWareHouseConst.TASK_BILL_STA
|
||||
// 计算当前料架区的满托数量
|
||||
int? maxnum = ckdRemainBindRackNum > target.maxracknum ? ckdRemainBindRackNum % target.maxracknum : ckdRemainBindRackNum;
|
||||
|
||||
// 更新 出库单、满托数量
|
||||
LoggerFloor2UpDownMachine.LogInformation($@"【上升降机】为条码 {barcode} 所在的出库单 {ckdCode} 占用了一个空闲料架");
|
||||
// 更新 转库单、满托数量
|
||||
LoggerFloor2UpDownMachine.LogInformation($@"【上升降机】为条码 {barcode} 所在的转库单 {ckdCode} 占用了一个空闲料架");
|
||||
await db.Updateable<WmsMechanicalArmH>().SetColumns(r => new WmsMechanicalArmH
|
||||
{
|
||||
outbill = ckdCode,
|
||||
@@ -1056,13 +1054,13 @@ where carry_code = '{coderesult}' and status = '{WmsWareHouseConst.TASK_BILL_STA
|
||||
}
|
||||
else
|
||||
{
|
||||
LoggerFloor2UpDownMachine.LogError($@"【上升降机】条码{barcode}找不到绑定出库单{ckdCode}的料架区,且没有空闲的料架区可以用于绑定此出库单!");
|
||||
LoggerFloor2UpDownMachine.LogError($@"【上升降机】条码{barcode}找不到绑定转库单{ckdCode}的料架区,且没有空闲的料架区可以用于绑定此转库单!");
|
||||
await db.Ado.RollbackTranAsync();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
//如有多个料架绑定同个出库单则取第一个未满托的料架
|
||||
//如有多个料架绑定同个转库单则取第一个未满托的料架
|
||||
target = targetConfigs.First();
|
||||
LoggerFloor2UpDownMachine.LogInformation($@"【上升降机】当前条码目标料架区为 {JsonConvert.SerializeObject(target)}");
|
||||
|
||||
@@ -1088,12 +1086,12 @@ where carry_code = '{coderesult}' and status = '{WmsWareHouseConst.TASK_BILL_STA
|
||||
}).Where(r => r.id == target.id).ExecuteCommandAsync();
|
||||
LoggerFloor2UpDownMachine.LogInformation($@"【上升降机】回写料箱条码、码垛计数");
|
||||
|
||||
// 回写出库单的剩余可绑定料架数量
|
||||
await db.Updateable<WmsEmptyOutstockH>().SetColumns(r => new WmsEmptyOutstockH
|
||||
// 回写转库单的剩余可绑定料架数量
|
||||
await db.Updateable<WmsMaterialTransfer>().SetColumns(r => new WmsMaterialTransfer
|
||||
{
|
||||
remainbindracknum = r.remainbindracknum - 1
|
||||
}).Where(r => r.id == WmsEmptyOutstockH.id).ExecuteCommandAsync();
|
||||
LoggerFloor2UpDownMachine.LogInformation($@"【上升降机】回写出库单的剩余可绑定料架数量");
|
||||
}).Where(r => r.id == WmsMaterialTransfer.id).ExecuteCommandAsync();
|
||||
LoggerFloor2UpDownMachine.LogInformation($@"【上升降机】回写转库单的剩余可绑定料架数量");
|
||||
|
||||
// 绑定料箱到料架
|
||||
CarryBindFloor2UpDownMachineInput carryBindFloor2UpDownMachineInput = new() { };
|
||||
@@ -1602,26 +1600,26 @@ where carry_code = '{coderesult}' and status = '{WmsWareHouseConst.TASK_BILL_STA
|
||||
|
||||
private async Task<bool> Floor2UpDownMachinecode_SetTag(string tag, string value)
|
||||
{
|
||||
//string DevName = "东面提升机输送线";
|
||||
//Dictionary<string, string> dicCommand = new(StringComparer.OrdinalIgnoreCase)
|
||||
//{
|
||||
// ["DevName"] = DevName,
|
||||
// ["token"] = _eleCtlCfg.token,
|
||||
// ["TagName"] = tag,
|
||||
// ["Value"] = value,
|
||||
//};
|
||||
//string result = await HttpClientHelper.GetRequestAsync(_eleCtlCfg.WriteTagUrl, dicCommand);
|
||||
string DevName = "东面提升机输送线";
|
||||
Dictionary<string, string> dicCommand = new(StringComparer.OrdinalIgnoreCase)
|
||||
{
|
||||
["DevName"] = DevName,
|
||||
["token"] = _eleCtlCfg.token,
|
||||
["TagName"] = tag,
|
||||
["Value"] = value,
|
||||
};
|
||||
string result = await HttpClientHelper.GetRequestAsync(_eleCtlCfg.WriteTagUrl, dicCommand);
|
||||
|
||||
//return result.Contains("Ok");
|
||||
return result.Contains("Ok");
|
||||
|
||||
// 测试
|
||||
string DevName = "东面提升机输送线";
|
||||
//string DevName = "东面提升机输送线";
|
||||
|
||||
JObject valueJson = new JObject();
|
||||
valueJson["Value"] = value;
|
||||
//JObject valueJson = new JObject();
|
||||
//valueJson["Value"] = value;
|
||||
|
||||
bool res = await _redisData.HSet(DevName, tag, valueJson.ToString());
|
||||
return true;
|
||||
//bool res = await _redisData.HSet(DevName, tag, valueJson.ToString());
|
||||
//return true;
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -1642,17 +1640,17 @@ where carry_code = '{coderesult}' and status = '{WmsWareHouseConst.TASK_BILL_STA
|
||||
//YCLWXDPJInstocktimer = new Timer(YCLWXDPJInstock, null, TimeSpan.Zero, TimeSpan.FromSeconds(100000));
|
||||
|
||||
// 二楼上升降机
|
||||
Floor2UpMachinecodetimer = new Timer(Floor2UpMachinecode, null, TimeSpan.Zero, TimeSpan.FromSeconds(1));
|
||||
Floor2UpMachinecodetimer = new Timer(Floor2UpMachinecode, null, TimeSpan.Zero, TimeSpan.FromSeconds(20));
|
||||
|
||||
// 二楼料架配送
|
||||
Floor2timer送空托到上升降区 = new Timer(送空托到上升降区, null, TimeSpan.Zero, TimeSpan.FromSeconds(10));
|
||||
Floor2timer送满托到下升降区 = new Timer(送满托到下升降区, null, TimeSpan.Zero, TimeSpan.FromSeconds(10));
|
||||
Floor2timer移走上升降区未生成预任务且满托的料架 = new Timer(移走上升降区未生成预任务且满托的料架, null, TimeSpan.Zero, TimeSpan.FromSeconds(10));
|
||||
Floor2timer移走下升降区未生成预任务且空托的料架 = new Timer(移走下升降区未生成预任务且空托的料架, null, TimeSpan.Zero, TimeSpan.FromSeconds(10));
|
||||
Floor2timer送空托到上升降区 = new Timer(送空托到上升降区, null, TimeSpan.Zero, TimeSpan.FromSeconds(60));
|
||||
Floor2timer送满托到下升降区 = new Timer(送满托到下升降区, null, TimeSpan.Zero, TimeSpan.FromSeconds(60));
|
||||
Floor2timer移走上升降区未生成预任务且满托的料架 = new Timer(移走上升降区未生成预任务且满托的料架, null, TimeSpan.Zero, TimeSpan.FromSeconds(60));
|
||||
Floor2timer移走下升降区未生成预任务且空托的料架 = new Timer(移走下升降区未生成预任务且空托的料架, null, TimeSpan.Zero, TimeSpan.FromSeconds(60));
|
||||
|
||||
BGWCarrySupplementtimer = new Timer(BGWCarrySupplement, null, TimeSpan.Zero, TimeSpan.FromSeconds(30));
|
||||
// 7号线补充空料箱
|
||||
SSX7Supplementtimer = new Timer(SSX7Supplement, null, TimeSpan.Zero, TimeSpan.FromSeconds(30));
|
||||
// 7号线补充空料箱 (弃用)
|
||||
//SSX7Supplementtimer = new Timer(SSX7Supplement, null, TimeSpan.Zero, TimeSpan.FromSeconds(30));
|
||||
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user