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 { /// /// 1获取ECM料道口状态 /// WCS>>WIP:获取ECM料道口状态 /// /// /// /// [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); } /// /// 1获取ECM料道口状态 /// WCS>>WIP:获取ECM料道口状态 /// /// /// /// [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); } /// /// 2任何集成系统>>WIP:集成的系统发生错误或异常时推送 /// 任务异常 /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// [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); } /// /// 3提交故障设备信息 /// 任何集成系统>>WIP : 设备发生故障时提交 /// /// /// /// /// /// /// /// [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); } /// /// 4立库小车设备状态 /// 任何集成系统>>WIP:设备状态提交 /// /// /// /// /// /// /// [HttpPost] public ActionResult equipStatus(string sysCode, string timestamp, List 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); } /// /// 5小车实时位置提交 /// [RCS、AGVS]>>WIP : 小车实时位置提交 /// /// /// /// /// /// /// /// /// /// /// /// [HttpPost] public ActionResult agvRealTimeLocation(string sysCode, string timestamp, List 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); } /// /// 6WCS>>WIP:物料状态更新 /// 物料状态修改 /// /// /// /// /// /// /// [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); } /// /// 同步立库的物料信息 /// WCS>>WIP:每天定时WCS推送立库里的物料信息 /// /// /// /// /// /// /// [HttpPost] public ActionResult syncMaterialInfo(string sysCode, List 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); } /// /// 4WCS>>WIP:发送出库物料信息 /// /// /// /// /// /// /// /// /// [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); } /// /// WCS>>WIP:移库任务完成,WCS通知WIP,更新库位信息 /// /// /// /// /// /// /// /// /// [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); } /// /// 缓存区和热后出库滚道下料 /// /// /// /// /// /// [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); } /// /// 人工入库(热前入库) /// WCS>>WIP:1、热前入库结束,物料入库(外协料和内部料)2、返修料入库 3、其他料入库 4、试制品入库5、跟踪料入库 /// /// 入库缘由 /// 物料来源 /// /// /// /// /// /// /// [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 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); } /// 库存信息 /// 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;} } } }