using Newtonsoft.Json;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Web;
|
using System.Web.Mvc;
|
using WebWIPAPI.Properties;
|
using WebWIPAPI.Utils;
|
|
|
namespace WebWIPAPI.Controllers
|
{
|
public class WcsIntegrController : Controller
|
{
|
/// <summary>
|
/// 1获取ECM料道口状态
|
/// WCS>>WIP:获取ECM料道口状态
|
/// </summary>
|
/// <param name="sysCode"></param>
|
/// <param name="equipId"></param>
|
/// <returns></returns>
|
[HttpPost]
|
public ActionResult getLoadingTableStatus(string sysCode, string equipId, DateTime timestamp)
|
{
|
var obj = new
|
{
|
sysCode = sysCode,
|
equipId = equipId,
|
timestamp = timestamp
|
};
|
var responseMessage = new
|
{
|
resCode = "00000",
|
resData = new { equipId = equipId, status = "1" },
|
resMsg = "保存成功"
|
};
|
//将对象转化为json格式
|
var requestStr = JsonConvert.SerializeObject(obj);
|
var responseStr = JsonConvert.SerializeObject(responseMessage);
|
LogTextHelper.WriteLine(Resources.LogDir, "WIPAPI:{0},{1},{2}", "getLoadingTableStatus", "请求参数:" + requestStr, "响应信息;" + responseStr);
|
return Json(responseMessage, JsonRequestBehavior.DenyGet);
|
}
|
|
|
/// <summary>
|
/// 1获取ECM料道口状态
|
/// WCS>>WIP:获取ECM料道口状态
|
/// </summary>
|
/// <param name="sysCode"></param>
|
/// <param name="equipId"></param>
|
/// <returns></returns>
|
[HttpPost]
|
public ActionResult getEcmtableStatus(string line, string equipId)
|
{
|
var obj = new
|
{
|
line = line,
|
equipId = equipId
|
};
|
var responseMessage = new
|
{
|
resCode = "00000",
|
resData = new { equipId = equipId, status = "Y" },
|
resMsg = "成功"
|
};
|
//将对象转化为json格式
|
var requestStr = JsonConvert.SerializeObject(obj);
|
var responseStr = JsonConvert.SerializeObject(responseMessage);
|
LogTextHelper.WriteLine(Resources.LogDir, "WIPAPI:{0},{1},{2}", "getEcmtableStatus", "请求参数:" + requestStr, "响应信息;" + responseStr);
|
return Json(responseMessage, JsonRequestBehavior.DenyGet);
|
}
|
|
|
|
/// <summary>
|
/// 2任何集成系统>>WIP:集成的系统发生错误或异常时推送
|
/// 任务异常
|
/// </summary>
|
/// <param name="taskNo"></param>
|
/// <param name="taskType"></param>
|
/// <param name="processCardNumber"></param>
|
/// <param name="syscode"></param>
|
/// <param name="exceptionCode"></param>
|
/// <param name="exceptionMsg"></param>
|
/// <param name="qaStatus"></param>
|
/// <param name="materialStatus"></param>
|
/// <param name="materialCode"></param>
|
/// <param name="partName"></param>
|
/// <param name="partNumber"></param>
|
/// <param name="quantity"></param>
|
/// <param name="timestamp"></param>
|
/// <returns></returns>
|
[HttpPost]
|
public ActionResult businessException(string taskNo, string taskType, string processCardNumber,
|
string sysCode, string exceptionCode, string exceptionMsg, int? qaStatus, int? materialStatus,
|
string materialCode, string partName, string partNumber, int? quantity, DateTime timestamp)
|
{
|
var obj = new
|
{
|
sysCode = sysCode,
|
taskNo = taskNo,
|
processCardNumber = processCardNumber,
|
taskType = taskType,
|
exceptionCode = exceptionCode,
|
exceptionMsg = exceptionMsg,
|
qaStatus = qaStatus,
|
materialStatus = materialStatus,
|
materialCode = materialCode,
|
partName = partName,
|
partNumber = partNumber,
|
quantity = quantity,
|
timestamp = timestamp
|
};
|
var responseMessage = new
|
{
|
resCode = "00000",
|
resData = new { success = "Y", Msg = "11111" },
|
resMsg = "保存成功"
|
};
|
//将对象转化为json格式
|
var requestStr = JsonConvert.SerializeObject(obj);
|
var responseStr = JsonConvert.SerializeObject(responseMessage);
|
LogTextHelper.WriteLine(Resources.LogDir, "WIPAPI:{0},{1},{2}", "businessException", "请求参数:" + requestStr, "响应信息;" + responseStr);
|
return Json(responseMessage, JsonRequestBehavior.DenyGet);
|
}
|
|
/// <summary>
|
/// 3提交故障设备信息
|
/// 任何集成系统>>WIP : 设备发生故障时提交
|
/// </summary>
|
/// <param name="equipId"></param>
|
/// <param name="sysCode"></param>
|
/// <param name="timestamp"></param>
|
/// <param name="warnCode"></param>
|
/// <param name="warnInfo"></param>
|
/// <param name="eventCode"></param>
|
/// <returns></returns>
|
[HttpPost]
|
public ActionResult equipWarn(string equipId, string sysCode, string timestamp, string warnCode, string warnInfo, string eventCode)
|
{
|
var obj = new
|
{
|
sysCode = sysCode,
|
equipId = equipId,
|
timestamp = timestamp,
|
warnCode = warnCode,
|
warnInfo = warnInfo,
|
eventCode = eventCode
|
};
|
|
var responseMessage = new
|
{
|
resCode = "00000",
|
resData = new { success = "Y", Msg = "11111" },
|
resMsg = "保存成功"
|
};
|
//将对象转化为json格式
|
var requestStr = JsonConvert.SerializeObject(obj);
|
var responseStr = JsonConvert.SerializeObject(responseMessage);
|
LogTextHelper.WriteLine(Resources.LogDir, "WIPAPI:{0},{1},{2}", "equipWarn", "请求参数:" + requestStr, "响应信息;" + responseStr);
|
return Json(responseMessage, JsonRequestBehavior.DenyGet);
|
}
|
|
/// <summary>
|
/// 4立库小车设备状态
|
/// 任何集成系统>>WIP:设备状态提交
|
/// </summary>
|
/// <param name="sysCode"></param>
|
/// <param name="timestamp"></param>
|
/// <param name="equipStatusList"></param>
|
/// <param name="equipId"></param>
|
/// <param name="equipStatus"></param>
|
/// <returns></returns>
|
[HttpPost]
|
public ActionResult equipStatus(string sysCode, string timestamp, List<EquipStatus> equipStatusList)
|
{
|
var obj = new
|
{
|
sysCode = sysCode,
|
|
timestamp = timestamp,
|
equipStatusList = equipStatusList,
|
|
};
|
var responseMessage = new
|
{
|
resCode = "00000",
|
resData = new { success = "Y", Msg = "11111" },
|
resMsg = "保存成功"
|
};
|
//将对象转化为json格式
|
var requestStr = JsonConvert.SerializeObject(obj);
|
var responseStr = JsonConvert.SerializeObject(responseMessage);
|
LogTextHelper.WriteLine(Resources.LogDir, "WIPAPI:{0},{1},{2}", "equipStatus", "请求参数:" + requestStr, "响应信息;" + responseStr);
|
return Json(responseMessage, JsonRequestBehavior.DenyGet);
|
}
|
|
/// <summary>
|
/// 5小车实时位置提交
|
/// [RCS、AGVS]>>WIP : 小车实时位置提交
|
/// </summary>
|
/// <param name="sysCode"></param>
|
/// <param name="timestamp"></param>
|
/// <param name="agvLocationList"></param>
|
/// <param name="equipId"></param>
|
/// <param name="xLocation"></param>
|
/// <param name="yLoaction"></param>
|
/// <param name="xLocationMax"></param>
|
/// <param name="xLocationMin"></param>
|
/// <param name="yLocationMax"></param>
|
/// <param name="yLocationMin"></param>
|
/// <returns></returns>
|
[HttpPost]
|
public ActionResult agvRealTimeLocation(string sysCode, string timestamp, List<AgvInfoStruct> agvLocationList)
|
{
|
var obj = new
|
{
|
sysCode = sysCode,
|
timestamp = timestamp,
|
agvLocationList = agvLocationList
|
};
|
|
var responseMessage = new
|
{
|
resCode = "00000",
|
resData = new { success = "Y", Msg = "11111" },
|
resMsg = "保存成功"
|
};
|
//将对象转化为json格式
|
var requestStr = JsonConvert.SerializeObject(obj);
|
var responseStr = JsonConvert.SerializeObject(responseMessage);
|
LogTextHelper.WriteLine(Resources.LogDir, "WIPAPI:{0},{1},{2}", "agvRealTimeLocation", "请求参数:" + requestStr, "响应信息;" + responseStr);
|
return Json(responseMessage, JsonRequestBehavior.DenyGet);
|
}
|
|
/// <summary>
|
/// 6WCS>>WIP:物料状态更新
|
/// 物料状态修改
|
/// </summary>
|
/// <param name="sysCode"></param>
|
/// <param name="processCardNumber"></param>
|
/// <param name="materialStatus"></param>
|
/// <param name="equipId"></param>
|
/// <param name="wareHousePlaceId"></param>
|
/// <returns></returns>
|
[HttpPost]
|
public ActionResult materialStateModify(string sysCode, string processCardNumber, int? materialStatus, string equipId, string wareHousePlaceId, DateTime timestamp)
|
{
|
var obj = new
|
{
|
sysCode = sysCode,
|
processCardNumber = processCardNumber,
|
materialStatus = materialStatus,
|
equipId = equipId,
|
wareHousePlaceId = wareHousePlaceId,
|
timestamp = timestamp
|
};
|
var responseMessage = new
|
{
|
resCode = "00000",
|
resData = new { success = "Y", Msg = "11111" },
|
resMsg = "保存成功"
|
};
|
//将对象转化为json格式
|
var requestStr = JsonConvert.SerializeObject(obj);
|
var responseStr = JsonConvert.SerializeObject(responseMessage);
|
LogTextHelper.WriteLine(Resources.LogDir, "WIPAPI:{0},{1},{2}", "materialStateModify", "请求参数:" + requestStr, "响应信息;" + responseStr);
|
return Json(responseMessage, JsonRequestBehavior.DenyGet);
|
}
|
|
|
|
|
/// <summary>
|
/// 同步立库的物料信息
|
/// WCS>>WIP:每天定时WCS推送立库里的物料信息
|
/// </summary>
|
/// <param name="sysCode"></param>
|
/// <param name="wareHouseInfo"></param>
|
/// <param name="processCardNumber"></param>
|
/// <param name="wareHouseId"></param>
|
/// <param name="timestamp"></param>
|
/// <returns></returns>
|
[HttpPost]
|
public ActionResult syncMaterialInfo(string sysCode, List<WareHouseInfo> wareHouseInfo, DateTime timestamp)
|
{
|
var obj = new
|
{
|
sysCode = sysCode,
|
timestamp = timestamp,
|
wareHouseInfo = wareHouseInfo
|
};
|
var responseMessage = new
|
{
|
resCode = "00000",
|
resData = new { success = "Y", Msg = "11111" },
|
resMsg = "保存成功"
|
};
|
//将对象转化为json格式
|
var requestStr = JsonConvert.SerializeObject(obj);
|
var responseStr = JsonConvert.SerializeObject(responseMessage);
|
LogTextHelper.WriteLine(Resources.LogDir, "WIPAPI:{0},{1}, {2}", "syncMaterialInfo", "请求参数:" + requestStr, "响应信息;" + responseStr);
|
return Json(responseMessage, JsonRequestBehavior.DenyGet);
|
}
|
|
/// <summary>
|
/// 4WCS>>WIP:发送出库物料信息
|
/// </summary>
|
/// <param name="sysCode"></param>
|
/// <param name="processCardNumber"></param>
|
/// <param name="outStorageReason"></param>
|
/// <param name="equipId"></param>
|
/// <param name="transType"></param>
|
/// <param name="timestamp"></param>
|
/// <param name="quantity"></param>
|
/// <returns></returns>
|
[HttpPost]
|
public ActionResult outStorageCompleted(string sysCode, string processCardNumber, string outStorageReason, string equipId, int? transType, DateTime timestamp, int? quantity)
|
{
|
var obj = new
|
{
|
sysCode = sysCode,
|
outStorageReason = outStorageReason,
|
equipId = equipId,
|
transType = transType,
|
processCardNumber = processCardNumber,
|
quantity = quantity,
|
timestamp = timestamp
|
};
|
|
var responseMessage = new
|
{
|
resCode = "00000",
|
resData = new { success = "Y", Msg = "11111" },
|
resMsg = "保存成功"
|
};
|
|
//将对象转化为json格式
|
var requestStr = JsonConvert.SerializeObject(obj);
|
var responseStr = JsonConvert.SerializeObject(responseMessage);
|
LogTextHelper.WriteLine(Resources.LogDir, "WIPAPI:{0},{1},{2}", "outStorageCompleted", "请求参数:" + requestStr, "响应信息;" + responseStr);
|
return Json(responseMessage, JsonRequestBehavior.DenyGet);
|
|
}
|
|
|
/// <summary>
|
/// WCS>>WIP:移库任务完成,WCS通知WIP,更新库位信息
|
/// </summary>
|
/// <param name="sysCode"></param>
|
/// <param name="processCardNumber"></param>
|
/// <param name="outStorageReason"></param>
|
/// <param name="equipId"></param>
|
/// <param name="transType"></param>
|
/// <param name="timestamp"></param>
|
/// <param name="quantity"></param>
|
/// <returns></returns>
|
[HttpPost]
|
public ActionResult moveStorageCompleted(string sysCode, string processCardNumber, string equipId, string oldWareHousePlaceId, string wareHousePlaceId, DateTime timestamp)
|
{
|
var obj = new
|
{
|
sysCode = sysCode,
|
equipId = equipId,
|
oldWareHousePlaceId = oldWareHousePlaceId,
|
wareHousePlaceId = wareHousePlaceId,
|
processCardNumber = processCardNumber,
|
timestamp = timestamp
|
};
|
|
var responseMessage = new
|
{
|
resCode = processCardNumber == "A" ? "00001" : "00000",
|
resData = new { success = "Y", Msg = "11111" },
|
resMsg = processCardNumber == "A" ? "失败,流转卡不能为A": "保存成功"
|
};
|
|
//将对象转化为json格式
|
var requestStr = JsonConvert.SerializeObject(obj);
|
var responseStr = JsonConvert.SerializeObject(responseMessage);
|
LogTextHelper.WriteLine(Resources.LogDir, "WIPAPI:{0},{1},{2}", "moveStorageCompleted", "请求参数:" + requestStr, "响应信息;" + responseStr);
|
return Json(responseMessage, JsonRequestBehavior.DenyGet);
|
|
}
|
|
/// <summary>
|
/// 缓存区和热后出库滚道下料
|
/// </summary>
|
/// <param name="sysCode"></param>
|
/// <param name="processCardNumber"></param>
|
/// <param name="equipId"></param>
|
/// <param name="timestamp"></param>
|
/// <returns></returns>
|
[HttpPost]
|
public ActionResult bufferLayingOffCompleted(string sysCode, string processCardNumber, string equipId, DateTime timestamp)
|
{
|
var obj = new
|
{
|
sysCode = sysCode,
|
equipId = equipId,
|
processCardNumber = processCardNumber,
|
timestamp = timestamp
|
};
|
|
var responseMessage = new
|
{
|
resCode = "00000",
|
resData = new { success = "Y", Msg = "11111" },
|
resMsg = "保存成功"
|
};
|
|
//将对象转化为json格式
|
var requestStr = JsonConvert.SerializeObject(obj);
|
var responseStr = JsonConvert.SerializeObject(responseMessage);
|
LogTextHelper.WriteLine(Resources.LogDir, "WIPAPI:{0},{1},{2}", "bufferLayingOffCompleted", "请求参数:" + requestStr, "响应信息;" + responseStr);
|
return Json(responseMessage, JsonRequestBehavior.DenyGet);
|
|
}
|
|
|
/// <summary>
|
/// 人工入库(热前入库)
|
/// WCS>>WIP:1、热前入库结束,物料入库(外协料和内部料)2、返修料入库 3、其他料入库 4、试制品入库5、跟踪料入库
|
/// </summary>
|
/// <param name="intoWareHouseReason">入库缘由</param>
|
/// <param name="logisticsLibraryNo">物料来源</param>
|
/// <param name="sysCode"></param>
|
/// <param name="processCardNumber"></param>
|
/// <param name="timestamp"></param>
|
/// <param name="warehouse"></param>
|
/// <param name="transType"></param>
|
/// <param name="materialStatus"></param>
|
/// <returns></returns>
|
[HttpPost]
|
public ActionResult artificialWarehousing(string intoWareHouseReason, string logisticsLibraryNo, string sysCode, string processCardNumber, DateTime timestamp, string wareHousePlaceId, int transType, int? materialStatus, int? qaStatus, int quantity, string remark, string okReason)
|
{
|
var obj = new
|
{
|
intoWareHouseReason = intoWareHouseReason,
|
logisticsLibraryNo = logisticsLibraryNo,
|
sysCode = sysCode,
|
materialStatus = materialStatus,
|
processCardNumber = processCardNumber,
|
wareHousePlaceId = wareHousePlaceId,
|
transType = transType,
|
timestamp = timestamp,
|
qaStatus = qaStatus,
|
quantity = quantity,
|
remark = remark,
|
okReason = okReason
|
};
|
|
var responseMessage = new
|
{
|
resCode = "00000",
|
resData = new { success = "Y", Msg = "11111" },
|
resMsg = "保存成功"
|
};
|
|
//将对象转化为json格式
|
var requestStr = JsonConvert.SerializeObject(obj);
|
var responseStr = JsonConvert.SerializeObject(responseMessage);
|
LogTextHelper.WriteLine(Resources.LogDir, "WIPAPI:{0},{1},{2}", "artificialWarehousing", "请求参数:" + requestStr, "响应信息;" + responseStr);
|
return Json(responseMessage, JsonRequestBehavior.DenyGet);
|
|
}
|
|
[HttpPost]
|
public ActionResult processCardForWCS(string sysCode, string processCardNumber, string whGate, string title, DateTime timestamp)
|
{
|
var obj = new
|
{
|
sysCode = sysCode,
|
processCardNumber = processCardNumber,
|
whGate = whGate,
|
title = title,
|
timestamp = timestamp
|
};
|
|
var responseMessage = new
|
{
|
resCode = processCardNumber == "fuck" ? "00001" : "00000",
|
resData = new { success = "Y", Msg = "11111" },
|
resMsg = "保存成功"
|
};
|
|
//将对象转化为json格式
|
var requestStr = JsonConvert.SerializeObject(obj);
|
var responseStr = JsonConvert.SerializeObject(responseMessage);
|
LogTextHelper.WriteLine(Resources.LogDir, "WIPAPI:{0},{1},{2}", "processCardForWCS", "请求参数:" + requestStr, "响应信息;" + responseStr);
|
return Json(responseMessage, JsonRequestBehavior.DenyGet);
|
}
|
|
|
|
|
[HttpPost]
|
public ActionResult resetProcessCardPrintQueue(string sysCode, string equipId, List<QueueStruct> queueList, DateTime timestamp)
|
{
|
var obj = new
|
{
|
sysCode = sysCode,
|
equipId = equipId,
|
queueList = queueList,
|
timestamp = timestamp
|
};
|
|
var responseMessage = new
|
{
|
resCode = "00000",
|
resData = new { success = "Y", Msg = "11111" },
|
resMsg = "保存成功"
|
};
|
|
//将对象转化为json格式
|
var requestStr = JsonConvert.SerializeObject(obj);
|
var responseStr = JsonConvert.SerializeObject(responseMessage);
|
LogTextHelper.WriteLine(Resources.LogDir, "WIPAPI:{0},{1},{2}", "resetProcessCardPrintQueue", "请求参数:" + requestStr, "响应信息;" + responseStr);
|
return Json(responseMessage, JsonRequestBehavior.DenyGet);
|
|
|
}
|
|
[HttpPost]
|
public ActionResult validateInStore(string sysCode, string equipId, string processCardNumber, DateTime timestamp)
|
{
|
var obj = new
|
{
|
sysCode = sysCode,
|
equipId = equipId,
|
processCardNumber = processCardNumber,
|
timestamp = timestamp
|
};
|
|
var responseMessage = new
|
{
|
errorMsg = "",
|
resCode = "00000",
|
resData = new { result = "Y", Msg = "允许入库" },
|
resMsg = "成功"
|
};
|
|
//将对象转化为json格式
|
var requestStr = JsonConvert.SerializeObject(obj);
|
var responseStr = JsonConvert.SerializeObject(responseMessage);
|
LogTextHelper.WriteLine(Resources.LogDir, "WIPAPI:{0},{1},{2}", "resetProcessCardPrintQueue", "请求参数:" + requestStr, "响应信息;" + responseStr);
|
return Json(responseMessage, JsonRequestBehavior.DenyGet);
|
|
|
}
|
|
/// 库存信息
|
/// </summary>
|
public class WareHouseInfo
|
{
|
public string processCardNumber { get; set; }
|
public string wareHousePlaceId { get; set; }
|
public string packageNumber { get; set; }
|
public string materialCode { get; set; }
|
public int? quantity { get; set; }
|
|
public int flag { get; set; }
|
|
}
|
|
public class AgvInfoStruct
|
{
|
public string equipId { get; set; }
|
public decimal? xLocation { get; set; }
|
public decimal? yLocation { get; set; }
|
public decimal? xLocationMax { get; set; }
|
public decimal? xLocationMin { get; set; }
|
public decimal? yLocationMax { get; set; }
|
public decimal? yLocationMin { get; set; }
|
|
}
|
|
public class EquipStatus
|
{
|
public string equipId { get; set; }
|
|
public int equipStatus { get; set; }
|
}
|
|
|
public class QueueStruct
|
{
|
public string processCardNumber {get; set;}
|
|
public int no {get; set;}
|
}
|
}
|
}
|