using HH.WCS.Hexafluo;
|
using HH.WCS.Hexafluo.util;
|
using HH.WCS.SJML.Dto;
|
using HH.WCS.ZCQTJ.Entitys;
|
using Newtonsoft.Json;
|
using Newtonsoft.Json.Linq;
|
using System;
|
using System.Collections.Generic;
|
|
namespace HH.WCS.ZCQTJ.dispatch
|
{
|
public class MesTask
|
{
|
private static readonly HttpHelper apiHelper = new HttpHelper();
|
private static readonly string baseUrl = Settings.MesHelperList;
|
|
/// <summary>
|
/// 任务取消
|
/// </summary>
|
/// <param name="mst"></param>
|
/// <returns></returns>
|
public OperateResult MesTaskEntity(ZCReceivePriorityEntity mst)
|
{
|
|
List<JObject> sendParams = new List<JObject>();
|
JObject sendParam = new JObject();
|
JObject sendData = new JObject
|
{
|
// 任务编码
|
{ "taskNo", mst.taskNo },
|
// 任务执行状态
|
{ "taskStatus", mst.Data_status },
|
//目的库位
|
{ "endStock", mst.End_big },
|
//创建人
|
{ "updater", "WMS" },
|
//创建时间
|
{ "updateTime", DateTime.Now.ToString() }
|
};
|
//sendData.Add("TOOLS_NO", mst.TOOLS_NO);
|
sendParams.Add(sendParam);
|
|
string sendDatas = JsonConvert.SerializeObject(sendParams);
|
LogHelper.Info("发送给MES", "任务取消===>:" + sendData.ToString());
|
LogHelper.Info("发送给MES", "任务取消===>调用接口:" + sendData.ToString());
|
string result;
|
result = apiHelper.Post(baseUrl + "/jfly.openapi/agv/updateTask", sendData.ToString());
|
LogHelper.Info("发送给MES", "任务取消===>MES返回结果:" + result);
|
|
if (result == "")
|
return OperateResult.Error("请检查MES访问地址!");
|
try
|
{
|
MesResponseResult s = JsonConvert.DeserializeObject<MesResponseResult>(result);
|
if (s.code == 0)
|
{
|
return OperateResult.Succeed();
|
}
|
else
|
{
|
return OperateResult.Error(s.message);
|
}
|
}
|
catch (Exception ex)
|
{
|
LogHelper.Info("发送给MES", "任务取消===>MES返回结果异常" + ex.Message);
|
return OperateResult.Error("MES返回结果异常");
|
}
|
}
|
|
/// <summary>
|
/// 错误反馈
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
public OperateResult RollMesAllocation(ZCReceivePriorityEntity model)
|
{
|
List<JObject> sendParams = new List<JObject>();
|
JObject sendParam = new JObject();
|
JObject sendData = new JObject
|
{
|
// 任务号
|
{ "taskNo", model.taskNo },
|
// 时间
|
{ "updateTime", model.operattime },
|
// 错误原因
|
{ "remark", model.remark }
|
};
|
sendParams.Add(sendParam);
|
string sendDatas = JsonConvert.SerializeObject(sendData);
|
LogHelper.Info("发送给MES", "错误反馈===>" + sendDatas);
|
string result;
|
result = apiHelper.Post(baseUrl + "/jfly.openapi/agv/updateTask", sendData.ToString());
|
LogHelper.Info("发送给MES", "错误反馈===>MES返回结果:" + result);
|
if (string.IsNullOrEmpty(result))
|
return OperateResult.Error("请检查MES访问地址!");
|
try
|
{
|
MesResponseResult s = JsonConvert.DeserializeObject<MesResponseResult>(result);
|
if (s.code == 0)
|
{
|
return OperateResult.Succeed();
|
}
|
else
|
{
|
return OperateResult.Error(s.message);
|
}
|
}
|
catch (Exception ex)
|
{
|
LogHelper.Info("发送给MES", "错误反馈===>MES返回结果异常" + ex.Message);
|
return OperateResult.Error("MES返回结果异常");
|
}
|
}
|
|
/// <summary>
|
/// 获取工装物料信息
|
/// </summary>
|
/// <returns></returns>
|
public MesResponseResultTwo SelectItemList(string stToolsNo, string taskNo)
|
{
|
List<JObject> sendParams = new List<JObject>();
|
JObject sendParam = new JObject();
|
JObject sendData = new JObject();
|
MesResponseResultTwo res = new MesResponseResultTwo();
|
// 工装编号
|
sendData.Add("stToolsNo", stToolsNo);
|
sendData.Add("taskNo", taskNo);//任务号
|
string sendDatas = JsonConvert.SerializeObject(sendData);
|
LogHelper.Info("发送给MES", "获取工装物料信息===>" + sendDatas);
|
LogHelper.Info("发送给MES", "获取工装物料信息===> 接口" + baseUrl + "/jfly.openapi/job/toolTCardQuery/v2");
|
var result = apiHelper.Post(baseUrl + "/jfly.openapi/job/toolTCardQuery/v2", sendData.ToString());
|
|
LogHelper.Info("发送给MES", "获取工装物料信息 ===> 获取的参数" + JsonConvert.SerializeObject(result));
|
try
|
{
|
return JsonConvert.DeserializeObject<MesResponseResultTwo>(result);
|
}
|
catch (Exception ex)
|
{
|
LogHelper.Info("发送给MES", "获取工装物料信息===>MES返回结果异常" + ex.Message);
|
res.message = ex.Message;
|
res.success = false;
|
return res;
|
}
|
}
|
}
|
|
public class MesResponseResult
|
{
|
/// <summary>
|
/// 是否成功
|
/// </summary>
|
public bool success { get; set; }
|
/// <summary>
|
/// 接口反馈码
|
/// </summary>
|
|
public int code { get; set; }
|
/// <summary>
|
/// 时间
|
/// </summary>
|
public DateTime lastTime { get; set; }
|
/// <summary>
|
/// 消息
|
/// </summary>
|
public string message { get; set; }
|
|
public ZCReceiveTaskEntity data { get; set; }
|
}
|
|
public class MesResponseResultTwo
|
{
|
/// <summary>
|
/// 是否成功
|
/// </summary>
|
public bool success { get; set; }
|
/// <summary>
|
/// 接口反馈码
|
/// </summary>
|
|
public string code { get; set; }
|
/// <summary>
|
/// 时间
|
/// </summary>
|
public DateTime lastTime { get; set; }
|
/// <summary>
|
/// 消息
|
/// </summary>
|
public string message { get; set; }
|
|
public ZCReceiveTaskEntityTwo data { get; set; }
|
}
|
|
|
public class ZCReceiveTaskEntity
|
{
|
/// <summary>
|
/// 任务号
|
/// </summary>
|
public string task_no { get; set; }
|
/// <summary>
|
/// 任务类型1:入库;2:出库;3-空桶任务
|
/// </summary>
|
public int Task_type { get; set; }
|
/// <summary>
|
/// 周转卡号
|
/// </summary>
|
public string TurnCardNum { get; set; }
|
/// <summary>
|
/// 标准重量
|
/// </summary>
|
public float standardWeight { get; set; }
|
/// <summary>
|
/// 工装类型
|
/// </summary>
|
public string TOOLS_TPYE { get; set; }
|
/// <summary>
|
/// 制品编号
|
/// </summary>
|
public string PROD_NO { get; set; }
|
/// <summary>
|
/// 工艺编号
|
/// </summary>
|
public string PROD_TECH { get; set; }
|
/// <summary>
|
/// 制品规格
|
/// </summary>
|
public string PROD_SPEC { get; set; }
|
/// <summary>
|
/// 制品类型
|
/// </summary>
|
public string PROD_BOM { get; set; }
|
/// <summary>
|
/// 制品特征值
|
/// </summary>
|
public string PROD_Feature { get; set; }
|
/// <summary>
|
/// 工装编号
|
/// </summary>
|
public string TOOLS_NO { get; set; }
|
/// <summary>
|
/// 载料数量
|
/// </summary>
|
public float ST_AMOUNT { get; set; }
|
/// <summary>
|
/// 当前数量
|
/// </summary>
|
public float CURRENT_AMOUNT { get; set; }
|
/// <summary>
|
/// 起始库位编号
|
/// </summary>
|
public string Location_From { get; set; }
|
/// <summary>
|
/// 目的库位编号
|
/// </summary>
|
public string Location_To { get; set; }
|
/// <summary>
|
/// 生产时间
|
/// </summary>
|
public DateTime PRODUCE_TIME { get; set; }
|
/// <summary>
|
/// 生效时间
|
/// </summary>
|
public DateTime SHELF_LIFE_TIME { get; set; }
|
/// <summary>
|
/// 失效时间
|
/// </summary>
|
public DateTime EXPIRED_TIME { get; set; }
|
/// <summary>
|
/// 缩短报告时间
|
/// </summary>
|
public float SHELF_REP { get; set; }
|
/// <summary>
|
/// 延长报告时间
|
/// </summary>
|
public float EXPIRED_REP { get; set; }
|
/// <summary>
|
/// 质检状态代码
|
/// </summary>
|
public string CHECK_CODE { get; set; }
|
/// <summary>
|
/// 质检状态
|
/// </summary>
|
public string CHECK_INFO { get; set; }
|
/// <summary>
|
/// 优先级0-普通:任务生成时,均为此级别;1-加急;2-紧急
|
/// </summary>
|
public int Priority { get; set; }
|
/// <summary>
|
/// 任务状态0-初始状态;1-进行中;2-完成;3-任务取消
|
/// </summary>
|
public int Data_status { get; set; }
|
/// <summary>
|
/// 业务类型
|
/// 1 半成品满托入库
|
/// 2 成型机半桶回库
|
/// 3 成型机空桶回库
|
/// 4 成型机满托出库
|
/// 5 成型机带束回库
|
/// 6 成型机带束满托出库
|
/// 7 半成品空托出库
|
/// 8 胶料入库
|
/// 9 呼叫胶料
|
/// 10 叠盘机空托入库
|
/// 11 胶料半桶回库
|
/// 100 绑定
|
/// 200 解绑
|
/// </summary>
|
public string BUSI_TYPE { get; set; }
|
public string Task_PDA { get; set; }
|
|
/// <summary>
|
/// 用于mes调wms库位查询接口使用
|
/// </summary>
|
public string Location_Area { get; set; }
|
|
/// <summary>
|
/// 绑定的货位
|
/// </summary>
|
public string LOCATION_CODE { get; set; }
|
|
}
|
|
public class ZCReceiveTaskEntityTwo
|
{
|
/// <summary>
|
/// 工单号
|
/// </summary>
|
public string planNo { get; set; }
|
/// <summary>
|
/// 制品类型
|
/// </summary>
|
public string prodName { get; set; }
|
/// <summary>
|
/// 物料编码
|
/// </summary>
|
public string prodNo { get; set; }
|
/// <summary>
|
/// 质检状态
|
/// </summary>
|
public string prodSelfCheck { get; set; }
|
/// <summary>
|
/// 物料规格型号
|
/// </summary>
|
public string prodSpec { get; set; }
|
/// <summary>
|
/// 报产时间
|
/// </summary>
|
public DateTime produceTime { get; set; }
|
/// <summary>
|
/// 生效时间
|
/// </summary>
|
public DateTime shelfLifeTime { get; set; }
|
/// <summary>
|
/// 过期时间
|
/// </summary>
|
public DateTime expiredTime { get; set; }
|
/// <summary>
|
/// 工装
|
/// </summary>
|
public string stToolsNo { get; set; }
|
/// <summary>
|
/// 总数量
|
/// </summary>
|
public float stAmount { get; set; }
|
/// <summary>
|
/// 当前余量
|
/// </summary>
|
public float currentAmount { get; set; }
|
/// <summary>
|
/// 周转卡号
|
/// </summary>
|
public string turnoverNo { get; set; }
|
public string applyProdSpecList { get; set; }
|
}
|
}
|