ctu存放

This commit is contained in:
qianjiawei
2023-12-15 16:37:13 +08:00
parent 6ce793ea5c
commit 0cca20b0ff
3 changed files with 87 additions and 27 deletions

View File

@@ -1,14 +1,24 @@
using Aop.Api.Domain;
using System;
using System.Dynamic;
using System.Security.Policy;
using Aop.Api.Domain;
using JNPF;
using JNPF.Common.Cache;
using JNPF.FriendlyException;
using Microsoft.Extensions.Hosting;
using NetTaste;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Qiniu.Util;
using SqlSugar;
using Tnb.Common.Redis;
using Tnb.Common.Utils;
using Tnb.ProductionMgr.Entities;
using Tnb.ProductionMgr.Entities.Dto;
using Tnb.ProductionMgr.Entities.Enums;
using Tnb.ProductionMgr.Interfaces;
using Tnb.WarehouseMgr.Entities;
using Tnb.WarehouseMgr.Entities.Consts;
namespace Tnb.ProductionMgr
{
@@ -16,6 +26,7 @@ namespace Tnb.ProductionMgr
public class RedisBackGround : IHostedService, IDisposable
{
private Timer? Readtimer;
private Timer? CheckGettimer;
private readonly RedisData _redisData;
private readonly IPrdInstockService _prdInstockService;
private readonly ISqlSugarRepository<RedisReadConfig> _repository;
@@ -101,7 +112,45 @@ namespace Tnb.ProductionMgr
break;
}
}
//获取注塑装箱状态
//ctu取货
private void CheckGet(object state)
{
Dictionary<string, string[]> getdic = new Dictionary<string, string[]>();
getdic.Add("SSX-021-005", new string[] { "CS05", "FullBoxAllowGet", "Code" });
getdic.Add("SSX-021-006", new string[] { "CS06", "FullBoxAllowGet", "Code" });
foreach (var key in getdic.Keys)
{
try
{
var strs = getdic.Where(p => p.Key == key).First().Value;
bool flag = _redisData.HashExist(strs[0], strs[1]).Result;
string data = _redisData.GetHash(strs[0], strs[1]).Result;
JObject? res = JsonConvert.DeserializeObject<JObject>(data);
bool result = res != null && res["Value"] != null ? res.Value<bool>("Value") : false;
if (result)
{
string codedata = _redisData.GetHash(strs[0], strs[2]).Result;
JObject? coderes = JsonConvert.DeserializeObject<JObject>(codedata);
string coderesult = coderes != null && coderes["Value"] != null ? coderes.Value<string>("Value")! : "";
var DistaskH= _repository.AsSugarClient().Queryable<WmsDistaskH>().Where(p => p.carry_code == coderesult && p.status == WmsWareHouseConst.TASK_BILL_STATUS_RUNING_ID).First();
dynamic reqBody = new ExpandoObject();
reqBody.taskCode = DistaskH.bill_code;
reqBody.slotCode = key;
reqBody.containerCode = coderesult;
CancellationTokenSource Ctu = new();
//{"code":500,"msg":"成功!"}
dynamic respBody = HttpClientHelper.PostStreamAsync("http://192.168.11.104:1880/wcs/notify/cargo", reqBody, Ctu.Token).Result;
Ctu.Dispose();
}
}
catch (Exception)
{
}
}
}
//获取注塑装箱状态
private void GetZSPackStatus(object state)
{
try
@@ -217,10 +266,12 @@ namespace Tnb.ProductionMgr
public void Dispose()
{
Readtimer?.Dispose();
CheckGettimer?.Dispose();
}
public Task StartAsync(CancellationToken cancellationToken)
{
Readtimer = new Timer(GetRedisData, null, TimeSpan.Zero, TimeSpan.FromSeconds(300));
// Readtimer = new Timer(GetRedisData, null, TimeSpan.Zero, TimeSpan.FromSeconds(300));
CheckGettimer = new Timer(CheckGet, null, TimeSpan.Zero, TimeSpan.FromSeconds(300));
return Task.CompletedTask;
}
public Task StopAsync(CancellationToken cancellationToken)

View File

@@ -9,12 +9,26 @@ namespace Tnb.WarehouseMgr.Entities.Dto.Inputs
{
public class CheckPutInput
{
public string point_code { get; set; }
public int type { get; set; }
}
public enum exectype
{
= 0,
= 1
/// <summary>
/// 任务链编号
/// </summary>
public string taskChainCode { get; set; }
/// <summary>
/// 子任务编号
/// </summary>
public string taskCode { get; set; }
/// <summary>
/// 起点编号
/// </summary>
public string sourceName { get; set; }
/// <summary>
/// 终点编号
/// </summary>
public string targetName { get; set; }
/// <summary>
/// 料箱code
/// </summary>
public string containerCode { get; set; }
}
}

View File

@@ -13,6 +13,7 @@ using JNPF.Common.Security;
using JNPF.FriendlyException;
using JNPF.Systems.Interfaces.System;
using Mapster;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Rendering;
using Microsoft.CodeAnalysis;
@@ -241,37 +242,31 @@ namespace Tnb.WarehouseMgr
/// </summary>
/// <returns></returns>
[HttpPost]
[AllowAnonymous]
public async Task CheckPut(CheckPutInput input)
{
Dictionary<string, string[]> putdic = new Dictionary<string, string[]>();
putdic.Add("SSX-021-005", new string[] { "CS05", "ConveyorAllowPutEmptyBox" });
putdic.Add("SSX-021-006", new string[] { "CS06", "ConveyorAllowPutEmptyBox" });
Dictionary<string, string[]> getdic = new Dictionary<string, string[]>();
getdic.Add("SSX-021-005", new string[] { "CS05", "FullBoxAllowGet" });
getdic.Add("SSX-021-006", new string[] { "CS06", "FullBoxAllowGet" });
// Dictionary<string, string[]> getdic = new Dictionary<string, string[]>();
// getdic.Add("SSX-021-005", new string[] { "CS05", "FullBoxAllowGet" });
// getdic.Add("SSX-021-006", new string[] { "CS06", "FullBoxAllowGet" });
var strs = new string[] { };
if (input.type == (int)exectype.)
{
if (!putdic.ContainsKey(input.point_code))
throw new AppFriendlyException("点位" + input.point_code + "不存在", 500);
strs = putdic.Where(p => p.Key == input.point_code).First().Value;
}
else if (input.type == (int)exectype.)
{
if (!getdic.ContainsKey(input.point_code))
throw new AppFriendlyException("点位" + input.point_code + "不存在", 500);
strs = getdic.Where(p => p.Key == input.point_code).First().Value;
}
if (!putdic.ContainsKey(input.targetName))
throw new AppFriendlyException("点位" + input.targetName + "不存在", 500);
strs = putdic.Where(p => p.Key == input.targetName).First().Value;
bool flag = await _redisData.HashExist(strs[0], strs[1]);
if (!flag)
{
throw new AppFriendlyException("点位" + input.point_code + "不存在", 500);
throw new AppFriendlyException("点位" + input.targetName + "不存在", 500);
}
string data = await _redisData.GetHash(strs[0], strs[1]);
JObject? res = JsonConvert.DeserializeObject<JObject>(data);
bool result = res != null && res["Value"] != null ? res.Value<bool>("Value") : false;
if (!result)
throw new AppFriendlyException("点位" + input.point_code + "不可放", 500);
throw new AppFriendlyException("点位" + input.targetName + "不可放", 500);
}
/// <summary>