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;}
}
}
}