BaoKai_202508_WebApi_Jingwa.../API/Controllers/apiController.cs

4398 lines
217 KiB
C#
Raw Normal View History

2025-08-24 22:23:34 +08:00
using DataCommon;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Net;
using System.Net.Http;
using System.Text;
using System.Web.Http;
using System.Data.OracleClient;
using webapi.Data;
using static DataCommon.DatatableToEntity;
using System.Configuration;
using System.Xml;
using webapi.Modle;
using System.Net.Sockets;
using System.Reflection.PortableExecutable;
using webapi.Model;
using static webapi.Model.AGVTaskReport;
using System.Threading.Tasks;
using System.Diagnostics.Metrics;
using System.Threading;
namespace webapi.Controllers
{
public class apiController : ApiController
{
#region
[HttpGet, Route("api/Demo")]
public HttpResponseMessage Asinfo()
{
Log.WriteLog("接受测试接口");
string dataJson = string.Empty;
dataJson = "{\"status\":1211\",\"errorCode\":22222\",\"errorInfo\":555555\" }";
HttpResponseMessage result = new HttpResponseMessage { Content = new StringContent(dataJson, System.Text.Encoding.GetEncoding("UTF-8"), "application/json") };
return result;
}
#endregion
#region
[HttpGet, Route("api/WmsLogin")]
public HttpResponseMessage Login(string userId)
{
lock ("Login")
{
JObject jo = new JObject(
new JProperty("STS", ""),
new JProperty("Result", "")
);
Log.WriteLog("接收RF用户登入数据" + userId);
try
{
string strSql = "select * from T_BASE_USERINFO where user_id='" + userId + "'";
DataSet ds = OracleHelper.ExecuteDataset(OracleHelper.RemoteConnectionString, CommandType.Text, strSql);
if (ds.Tables.Count > 0)
{
DataTable dt = ds.Tables[0];
if (dt != null)
{
if (dt.Rows.Count > 0)
{
jo["STS"] = "S";
jo["Result"] = JsonConvert.SerializeObject(dt);
}
else
{
jo["STS"] = "E";
jo["Result"] = "用户名不存在";
}
}
else
{
jo["STS"] = "E";
jo["Result"] = "用户名不存在";
}
}
else
{
jo["STS"] = "E";
jo["Result"] = "用户名不存在";
}
}
catch (Exception ex)
{
jo["STS"] = "E";
jo["Result"] = ex.Message;
}
HttpResponseMessage result = new HttpResponseMessage
{
Content = new StringContent(jo.ToString(), System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
};
return result;
}
}
//#endregion
//#region 码盘入库
//[HttpPost, Route("api/WmsInvIn")]
//public HttpResponseMessage WmsInvIn([FromBody]JObject WmsInvIn)
//{
// lock ("WmsInvIn")
// {
// JObject jo = new JObject(
// new JProperty("STS", ""),
// new JProperty("Result", "")
// );
// string mesJson = WmsInvIn.ToString().Trim();
// mesJson = mesJson.Replace(" ", "").ToString();
// Log.WriteLog("接收RF入库码盘数据" + mesJson);
// OracleTransaction transaction = OracleHelper.BeginTransaction(OracleHelper.RemoteConnectionString);
// try
// {
// JObject strJo = (JObject)JsonConvert.DeserializeObject(mesJson);
// string userId = strJo["WmsInvIn"]["userId"].ToString().Trim();//用户id
// string formId = strJo["WmsInvIn"]["formId"].ToString().Trim();//组织id
// string locationId = strJo["WmsInvIn"]["LocationId"].ToString().Trim();//货位编号
// string barcodeListStr = strJo["WmsInvIn"]["BarcodeList"].ToString().Trim();//码盘信息storename
// DataTable dt = JsonConvert.DeserializeObject<DataTable>(barcodeListStr);
// Random rd = new Random();
// int next = rd.Next();
// string ctl = "CTL" + DateTime.Now.ToString("yyyymmddhhmmsssss") + next;
// if (dt.Rows.Count > 0)
// {
// for (int i = 0; i < dt.Rows.Count; i++)
// {
// string Lotid = "SJ" + DateTime.Now.ToString("yyyymmddhhmmsssss");
// string outbarcode = dt.Rows[i]["outbarcode"].ToString();
// string sql = "select count(*) from T_ONGOODSSHELF where barcode='" + outbarcode + "'";
// if (int.Parse(OracleHelper.ExecuteScalar(OracleHelper.RemoteConnectionString, CommandType.Text, sql).ToString()) > 0)
// {
// OracleHelper.RollbackTransaction(transaction);
// jo["STS"] = "E";
// jo["Result"] = outbarcode + "存在库存中";
// HttpResponseMessage result1 = new HttpResponseMessage
// {
// Content = new StringContent(jo.ToString(), System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
// };
// return result1;
// }
// else
// {
// string flag = "";
// string itmcode = dt.Rows[i]["itmcode"].ToString();
// string itmversion = dt.Rows[i]["storename"].ToString();
// string itmname = dt.Rows[i]["itmname"].ToString();
// string datecode = dt.Rows[i]["datecode"].ToString();
// string storename = dt.Rows[i]["storename"].ToString();
// string fbgtype = dt.Rows[i]["fbgtype"].ToString();
// string fgbno = dt.Rows[i]["fgbno"].ToString();
// string qty = dt.Rows[i]["qty"].ToString();
// if (storename != "3001" && itmversion != "3003")
// {
// jo["STS"] = "E";
// jo["Result"] = outbarcode + "是" + storename + ",码盘失败";
// OracleHelper.RollbackTransaction(transaction);
// HttpResponseMessage result1 = new HttpResponseMessage
// {
// Content = new StringContent(jo.ToString(), System.Text.Encoding.GetEncoding("UTF-8"), "applicat" +
// "ion/json")
// };
// return result1;
// }
// string SqlStr = "insert into T_ONGOODSSHELF(LOT_ID,CTL,GOODSID,STO_NUM,ACC_NUM,SHELF_NUM,STOCK_NUM,Ondate,Onshelfuserid,Storage_Id,STORAGE_AREA_ID,GOODS_MEASURE_ID,Status,barcode,BAOZHIQI,REMARK,LOCATION_ID,TASKTYPE) values('" + Lotid + "','" + ctl + "','" + itmcode + "'," + qty + "," + qty + "," + qty + "," + qty + ",SYSDATE,'" + userId + "','" + formId + "','" + storename + "','" + itmversion + "','2','" + outbarcode + "','" + fbgtype + "','" + datecode + "','" + locationId + "','" + flag + "')";
// OracleHelper.ExecuteNonQuery(transaction, SqlStr);
// }
// }
// OracleHelper.CommitTransaction(transaction);
// jo["STS"] = "S";
// jo["Result"] = "码盘成功";
// }
// }
// catch (Exception ex)
// {
// jo["STS"] = "E";
// jo["Result"] = ex.Message;
// OracleHelper.RollbackTransaction(transaction);
// }
// HttpResponseMessage result = new HttpResponseMessage
// {
// Content = new StringContent(jo.ToString(), System.Text.Encoding.GetEncoding("UTF-8"), "applicat" +
// "ion/json")
// };
// return result;
// }
//}
//#endregion
//#region 码盘入自动化立体库
//[HttpPost, Route("api/WmsInvInJw")]
//public HttpResponseMessage WmsInvInJw([FromBody]JObject WmsInvIn)
//{
// lock ("WmsInvInJw")
// {
// JObject jo = new JObject(
// new JProperty("STS", ""),
// new JProperty("Result", "")
// );
// string mesJson = WmsInvIn.ToString().Trim();
// mesJson = mesJson.Replace(" ", "").ToString();
// Log.WriteLog("接收RF入库码盘数据" + mesJson);
// OracleTransaction transaction = OracleHelper.BeginTransaction(OracleHelper.RemoteConnectionString);
// try
// {
// JObject strJo = (JObject)JsonConvert.DeserializeObject(mesJson);
// string userId = strJo["WmsInvIn"]["userId"].ToString().Trim();//用户id
// string formId = "JXJW";
// string decid = strJo["WmsInvIn"]["decid"].ToString().Trim();//货位编号
// string barcode = strJo["WmsInvIn"]["Barcode"].ToString().Trim();//码盘信息
// string pallet = strJo["WmsInvIn"]["ctl"].ToString().Trim();//码盘信息
// string sql = "select STS from T_DECNAME where decid='" + decid + "'";
// int mode = int.Parse(OracleHelper.ExecuteScalar(OracleHelper.RemoteConnectionString, CommandType.Text, sql).ToString());
// if (mode == 1)
// {
// sql = "select count(*) from T_ONGOODSSHELF where ctl='" + pallet + "'";
// int rows = int.Parse(OracleHelper.ExecuteScalar(OracleHelper.RemoteConnectionString, CommandType.Text, sql).ToString());
// if (rows == 0)
// {
// sql = "select count(*) from T_ONGOODSSHELF where (STORAGE_ID='JXJW' or STORAGE_ID='JXJWTH') and DECID='" + decid + "' and status=1 ";
// // sql = "select count(*) from T_ONGOODSSHELF where STORAGE_ID='JXJW' and DECID='" + decid + "' and (status=1 or pallet='" + pallet + "') ";
// rows = int.Parse(OracleHelper.ExecuteScalar(OracleHelper.RemoteConnectionString, CommandType.Text, sql).ToString());
// if (rows == 0)
// {
// sql = "select * from T_MI_STOCK where ctl='" + pallet + "'";
// string strSql = "select seq_plc_taskval.nextval from dual";
// string Plcid = OracleHelper.ExecuteScalar(OracleHelper.RemoteConnectionString, CommandType.Text, strSql).ToString();
// DataTable dt = OracleHelper.ExecuteDataset(OracleHelper.RemoteConnectionString, CommandType.Text, sql).Tables[0];
// if (dt.Rows.Count > 0)
// {
// for (int i = 0; i < dt.Rows.Count; i++)
// {
// string Lotid = "SJ" + DateTime.Now.ToString("yyyymmddhhmmsssss");
// string outbarcode = dt.Rows[i]["barcode"].ToString();
// string itmcode = dt.Rows[i]["GOODS_ID"].ToString();
// string itmversion = "";
// //string itmname = dt.Rows[i]["itmname"].ToString();
// string datecode = dt.Rows[i]["REMARK"].ToString();
// string storename = dt.Rows[i]["AREA_ID"].ToString();
// string fbgtype = "";
// string ctl = dt.Rows[i]["CTL"].ToString();
// // string fgbno = dt.Rows[i]["fgbno"].ToString();
// string qty = dt.Rows[i]["SHELVES_NUM"].ToString();
// string SqlStr = "insert into T_ONGOODSSHELF(LOT_ID,GOODSID,STO_NUM,ACC_NUM,SHELF_NUM,STOCK_NUM,Ondate,Onshelfuserid,Storage_Id,STORAGE_AREA_ID,GOODS_MEASURE_ID,Status,barcode,BAOZHIQI,REMARK,DECID,TASKTYPE,CTL,PLCID) values('" + Lotid + "','" + itmcode + "'," + qty + "," + qty + "," + qty + "," + qty + ",SYSDATE,'" + userId + "','" + formId + "','" + storename + "','" + itmversion + "','0','" + outbarcode + "','" + fbgtype + "','" + datecode + "','" + decid + "','1','" + ctl + "','" + Plcid + "')";
// OracleHelper.ExecuteNonQuery(transaction, SqlStr);
// }
// string cpj = "";
// if (decid == "A2")
// {
// cpj = "JW-12-40-01";
// }
// if (decid == "A3")
// {
// cpj = "JW-17-40-01";
// }
// JArray ja = new JArray();
// JObject jo1 = new JObject
// (
// new JProperty("taskId", "TRAN" + Guid.NewGuid().ToString()),
// new JProperty("taskType", "7"),
// new JProperty("startNode", cpj),
// new JProperty("endNode", decid),
// new JProperty("barCode", "1"),
// new JProperty("order", "0")
// );
// ja.Add(jo1);
// JObject joReturn = new JObject
// (
// new JProperty("groupId", "TRAN" + Guid.NewGuid().ToString()),
// new JProperty("msgTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.sss")),
// new JProperty("priorityCode", "1"),
// new JProperty("district", "JXJW"),
// new JProperty("tasks", ja)
// );
// string strJSONsend = joReturn.ToString();
// Log.WriteLog(strJSONsend);
// string errText = "";
// string resJson = PostJSON("http://10.50.68.61:8082/fromWms/taskReceive", strJSONsend, ref errText);
// Log.WriteLog("任务接收接口返回JSON" + resJson);
// JObject strJo2 = (JObject)JsonConvert.DeserializeObject(resJson);
// string returnStatus = strJo2["returnStatus"].ToString().Trim();//请求结果
// string returnInfo = strJo2["returnInfo"].ToString().Trim();//请求结果描述
// if (returnStatus == "0")//成功
// {
// string SqlStrs = "delete from T_MI_STOCK where ctl='" + pallet + "'";
// OracleHelper.ExecuteNonQuery(transaction, SqlStrs);
// SqlStrs = "update T_ONGOODSSHELF set status=1 where ctl='" + pallet + "' ";
// OracleHelper.ExecuteNonQuery(transaction, SqlStrs);
// OracleHelper.CommitTransaction(transaction);
// jo["STS"] = "S";
// jo["Result"] = "码盘成功";
// }
// else
// {
// OracleHelper.RollbackTransaction(transaction);
// jo["STS"] = "S";
// jo["Result"] = "调用WCS接口拆盘接口失败";
// }
// }
// else
// {
// jo["STS"] = "E";
// jo["Result"] = decid + "口正在执行任务,请稍后再试";
// OracleHelper.RollbackTransaction(transaction);
// }
// }
// else
// {
// jo["STS"] = "E";
// jo["Result"] = decid + "口正在执行任务,请稍后再试";
// OracleHelper.RollbackTransaction(transaction);
// }
// }
// else
// {
// jo["STS"] = "E";
// jo["Result"] = pallet + "已存在入库任务";
// OracleHelper.RollbackTransaction(transaction);
// }
// }
// else
// {
// jo["STS"] = "E";
// jo["Result"] = decid + "口,必须是入库模式才能码盘";
// OracleHelper.RollbackTransaction(transaction);
// }
// }
// catch (Exception ex)
// {
// jo["STS"] = "E";
// jo["Result"] = ex.Message;
// OracleHelper.RollbackTransaction(transaction);
// }
// HttpResponseMessage result = new HttpResponseMessage
// {
// Content = new StringContent(jo.ToString(), System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
// };
// return result;
// }
//}
//#endregion
//#region 取消码盘入库
//[HttpPost, Route("api/cancelTaskRk")]
//public HttpResponseMessage cancelTaskRk([FromBody]JObject WmsInvIn)
//{
// lock ("cancelTaskRk")
// {
// JObject jo = new JObject(
// new JProperty("STS", ""),
// new JProperty("Result", "")
// );
// string mesJson = WmsInvIn.ToString().Trim();
// mesJson = mesJson.Replace(" ", "").ToString();
// Log.WriteLog("接收取消码盘数据:" + mesJson);
// OracleTransaction transaction = OracleHelper.BeginTransaction(OracleHelper.RemoteConnectionString);
// try
// {
// JObject strJo = (JObject)JsonConvert.DeserializeObject(mesJson);
// string pallet = strJo["WmsInvIn"]["ctl"].ToString().Trim();//码盘信息
// Log.WriteLog(mesJson);
// string sql = "delete from T_MI_STOCK where ctl='" + pallet + "' and STORAGE_ID!='JXJW'";
// int rows = OracleHelper.ExecuteNonQuery(transaction, sql);
// if (rows > 0)
// {
// jo["STS"] = "S";
// jo["Result"] = "取消组盘成功";
// OracleHelper.CommitTransaction(transaction);
// }
// else
// {
// jo["STS"] = "E";
// jo["Result"] = "取消组盘失败";
// OracleHelper.RollbackTransaction(transaction);
// }
// }
// catch (Exception ex)
// {
// jo["STS"] = "E";
// jo["Result"] = ex.Message;
// OracleHelper.RollbackTransaction(transaction);
// }
// HttpResponseMessage result = new HttpResponseMessage
// {
// Content = new StringContent(jo.ToString(), System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
// };
// return result;
// }
//}
//#endregion
//#region 退货码盘入自动化立体库
//[HttpPost, Route("api/WmsRoallBackInJw")]
//public HttpResponseMessage WmsRoallBackInJw([FromBody]JObject WmsInvIn)
//{
// lock ("WmsRoallBackInJw")
// {
// JObject jo = new JObject(
// new JProperty("STS", ""),
// new JProperty("Result", "")
// );
// string mesJson = WmsInvIn.ToString().Trim();
// mesJson = mesJson.Replace(" ", "").ToString();
// Log.WriteLog("接收RF退货入库码盘数据" + mesJson);
// OracleTransaction transaction = OracleHelper.BeginTransaction(OracleHelper.RemoteConnectionString);
// try
// {
// JObject strJo = (JObject)JsonConvert.DeserializeObject(mesJson);
// string userId = strJo["WmsInvIn"]["userId"].ToString().Trim();//用户id
// string formId = "JXJWTH";
// string decid = strJo["WmsInvIn"]["decid"].ToString().Trim();//货位编号
// string locationId = "";
// string barcodeListStr = strJo["WmsInvIn"]["BarcodeList"].ToString().Trim();//码盘信息storename
// DataTable dt = JsonConvert.DeserializeObject<DataTable>(barcodeListStr);
// string sql = "select STS from T_DECNAME where decid='" + decid + "'";
// int mode = int.Parse(OracleHelper.ExecuteScalar(OracleHelper.RemoteConnectionString, CommandType.Text, sql).ToString());
// if (mode == 1)
// {
// string ctl = "CTL" + DateTime.Now.ToString("yyyymmddhhmmsssss");
// sql = "select count(*) from T_ONGOODSSHELF where (STORAGE_ID='JXJW' or STORAGE_ID='JXJWTH') and DECID='" + decid + "' and status=1 ";
// // sql = "select count(*) from T_ONGOODSSHELF where STORAGE_ID='JXJW' and DECID='" + decid + "' and (status=1 or pallet='" + pallet + "') ";
// int rows = int.Parse(OracleHelper.ExecuteScalar(OracleHelper.RemoteConnectionString, CommandType.Text, sql).ToString());
// if (rows == 0)
// {
// if (dt.Rows.Count > 0)
// {
// for (int i = 0; i < dt.Rows.Count; i++)
// {
// string strSql = "select seq_plc_taskval.nextval from dual";
// string Plcid = OracleHelper.ExecuteScalar(OracleHelper.RemoteConnectionString, CommandType.Text, strSql).ToString();
// string Lotid = "SJ" + DateTime.Now.ToString("yyyymmddhhmmsssss");
// string outbarcode = dt.Rows[i]["outbarcode"].ToString();
// sql = "select count(*) from T_ONGOODSSHELF where barcode='" + outbarcode + "'";
// if (int.Parse(OracleHelper.ExecuteScalar(OracleHelper.RemoteConnectionString, CommandType.Text, sql).ToString()) > 0)
// {
// OracleHelper.RollbackTransaction(transaction);
// jo["STS"] = "E";
// jo["Result"] = outbarcode + "存在库存中";
// HttpResponseMessage result1 = new HttpResponseMessage
// {
// Content = new StringContent(jo.ToString(), System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
// };
// return result1;
// }
// else
// {
// string itmcode = dt.Rows[i]["itmcode"].ToString();
// string itmversion = dt.Rows[i]["itmversion"].ToString();
// string itmname = dt.Rows[i]["itmname"].ToString();
// string datecode = dt.Rows[i]["datecode"].ToString();
// string storename = dt.Rows[i]["storename"].ToString();
// string fbgtype = dt.Rows[i]["fbgtype"].ToString();
// string fgbno = dt.Rows[i]["fgbno"].ToString();
// string qty = dt.Rows[i]["qty"].ToString();
// string SqlStr = "insert into T_ONGOODSSHELF(LOT_ID,CTL,GOODSID,STO_NUM,ACC_NUM,SHELF_NUM,STOCK_NUM,Ondate,Onshelfuserid,Storage_Id,STORAGE_AREA_ID,GOODS_MEASURE_ID,Status,barcode,BAOZHIQI,REMARK,LOCATION_ID,TASKTYPE,storage_mode,DECID,PLCID) values('" + Lotid + "','" + ctl + "','" + itmcode + "'," + qty + "," + qty + "," + qty + "," + qty + ",SYSDATE,'" + userId + "','" + formId + "','" + storename + "','" + itmversion + "','0','" + outbarcode + "','" + fbgtype + "','" + datecode + "','" + locationId + "','1','1','" + decid + "','" + Plcid + "')";
// OracleHelper.ExecuteNonQuery(transaction, SqlStr);
// }
// }
// }
// string cpj = "";
// if (decid == "A2")
// {
// cpj = "JW-12-40-01";
// }
// if (decid == "A3")
// {
// cpj = "JW-17-40-01";
// }
// JArray ja = new JArray();
// JObject jo1 = new JObject
// (
// new JProperty("taskId", "TRAN" + Guid.NewGuid().ToString()),
// new JProperty("taskType", "7"),
// new JProperty("startNode", cpj),
// new JProperty("endNode", decid),
// new JProperty("barCode", "1"),
// new JProperty("order", "0")
// );
// ja.Add(jo1);
// JObject joReturn = new JObject
// (
// new JProperty("groupId", "TRAN" + Guid.NewGuid().ToString()),
// new JProperty("msgTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.sss")),
// new JProperty("priorityCode", "1"),
// new JProperty("district", "JXJW"),
// new JProperty("tasks", ja)
// );
// string strJSONsend = joReturn.ToString();
// Log.WriteLog(strJSONsend);
// string errText = "";
// string resJson = PostJSON("http://10.50.68.61:8082/fromWms/taskReceive", strJSONsend, ref errText);
// Log.WriteLog("任务接收接口返回JSON" + resJson);
// JObject strJo2 = (JObject)JsonConvert.DeserializeObject(resJson);
// string returnStatus = strJo2["returnStatus"].ToString().Trim();//请求结果
// string returnInfo = strJo2["returnInfo"].ToString().Trim();//请求结果描述
// if (returnStatus == "0")//成功
// {
// string SqlStrs = "update T_ONGOODSSHELF set status=1 where ctl='" + ctl + "' ";
// OracleHelper.ExecuteNonQuery(transaction, SqlStrs);
// OracleHelper.CommitTransaction(transaction);
// jo["STS"] = "S";
// jo["Result"] = "码盘成功";
// }
// else
// {
// jo["STS"] = "E";
// jo["Result"] = "调用WCS接口拆盘接口失败";
// OracleHelper.RollbackTransaction(transaction);
// }
// }
// else
// {
// jo["STS"] = "E";
// jo["Result"] = decid + "有入库任务";
// OracleHelper.RollbackTransaction(transaction);
// }
// }
// else
// {
// jo["STS"] = "E";
// jo["Result"] = decid + "不是入库模式";
// OracleHelper.RollbackTransaction(transaction);
// }
// }
// catch (Exception ex)
// {
// jo["STS"] = "E";
// jo["Result"] = ex.Message;
// OracleHelper.RollbackTransaction(transaction);
// }
// HttpResponseMessage result = new HttpResponseMessage
// {
// Content = new StringContent(jo.ToString(), System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
// };
// return result;
// }
//}
//#endregion
//#region 获取条码信息
//[HttpGet, Route("api/GetBarcodeInfo")]
//public HttpResponseMessage GetBarcodeInfo(string Data)
//{
// JObject jo = new JObject(
// new JProperty("STS", "S"),
// new JProperty("Result", "")
// );
// try
// {
// bool ok = true;
// string[] datas = Data.Split(',');
// string Barcode = datas[0];
// string formId = datas[1];
// string strSql = "select count(*) from T_ONGOODSSHELF where BARCODE='" + Barcode + "'";
// int count = int.Parse(OracleHelper.ExecuteScalar(OracleHelper.RemoteConnectionString, CommandType.Text, strSql).ToString());
// if (count > 0)
// {
// ok = false;
// jo["STS"] = "E";
// jo["Result"] = Barcode + "已存在入库任务";
// }
// strSql = "select count(*) from T_MI_STOCK where barcode='" + Barcode + "'";
// count = int.Parse(OracleHelper.ExecuteScalar(OracleHelper.RemoteConnectionString, CommandType.Text, strSql).ToString());
// if (count > 0)
// {
// ok = false;
// jo["STS"] = "E";
// jo["Result"] = Barcode + "已存在库存内";
// }
// //访问景旺EBS条码信息
// if (ok)
// {
// string Barcoderesult = "";
// if (formId == "J02")
// {
// Camstar.CamstarSoapClient camstar = new Camstar.CamstarSoapClient();
// Barcoderesult = camstar.getOutBoxInf(Barcode);
// }
// if (formId == "J01")
// {
// Camstar1.CamstarSoapClient camstar1 = new Camstar1.CamstarSoapClient();
// Barcoderesult = camstar1.getOutBoxInf(Barcode);
// }
// Log.WriteLog(Barcoderesult);
// //Succ:|6000|100|0|0|P3013NLP02074564A|31120170800273-2|BOX|1733||3001|
// //string barcodeResult = "Succ:|6000|100|0|0|P3q13NLP02074564A|31120170800273-2|BOX|1733||3001|";
// string[] sArray = Barcoderesult.Split('|');
// //sArray[0];//结果
// //sArray[1];//查询每包数量
// //sArray[2];//查询包装数量
// //sArray[3];//查询包数量默认为1
// //sArray[4];//查询零包数量
// //sArray[5];//查询包装的产品编码
// //sArray[6];//查询包装销售订单
// //sArray[7];//查询包装层级为BOX
// //sArray[8];//查询周期
// //sArray[9];//查询客户销售订单
// //sArray[10];//查询子库
// //sArray[11];//查询产品名称
// if (sArray[0] == "Succ:")
// {
// jo["STS"] = "S";
// jo["Result"] = string.Join("|", sArray);
// Log.WriteLog(string.Join("|", sArray));
// }
// else
// {
// jo["STS"] = "E";
// jo["Result"] = sArray[0];
// }
// }
// }
// catch (Exception ex)
// {
// jo["STS"] = "E";
// jo["Result"] = ex.Message;
// }
// HttpResponseMessage result = new HttpResponseMessage
// {
// Content = new StringContent(jo.ToString(), System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
// };
// return result;
//}
//#endregion
//#region 获取库存条码信息
//[HttpGet, Route("api/GetCtlStockInfo")]
//public HttpResponseMessage GetCtlStockInfo(string Barcode)
//{
// JObject jo = new JObject(
// new JProperty("STS", "S"),
// new JProperty("Result", "")
// );
// try
// {
// string strSql = "select * from T_MI_STOCK where BARCODE='" + Barcode + "' ";
// DataTable dt = OracleHelper.ExecuteDataset(OracleHelper.RemoteConnectionString, CommandType.Text, strSql).Tables[0];
// if (dt.Rows.Count > 0)
// {
// string ctl = dt.Rows[0]["CTL"].ToString();
// strSql = "select * from T_MI_STOCK where ctl='" + ctl + "' ";
// dt = OracleHelper.ExecuteDataset(OracleHelper.RemoteConnectionString, CommandType.Text, strSql).Tables[0];
// if (dt.Rows.Count > 0)
// {
// jo["STS"] = "S";
// jo["Result"] = JsonConvert.SerializeObject(dt);
// }
// else
// {
// jo["STS"] = "E";
// jo["Result"] = Barcode + "不在库存内";
// }
// }
// else
// {
// jo["STS"] = "E";
// jo["Result"] = Barcode + "不在库存内";
// }
// }
// catch (Exception ex)
// {
// jo["STS"] = "E";
// jo["Result"] = ex.Message;
// }
// HttpResponseMessage result = new HttpResponseMessage
// {
// Content = new StringContent(jo.ToString(), System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
// };
// return result;
//}
//#endregion
//#region 获取库存条码信息
//[HttpGet, Route("api/GetBarcodeStockInfo")]
//public HttpResponseMessage GetBarcodeStockInfo(string Barcode)
//{
// JObject jo = new JObject(
// new JProperty("STS", "S"),
// new JProperty("Result", "")
// );
// try
// {
// string strSql = "select * from T_MI_STOCK where BARCODE='" + Barcode + "' ";
// DataTable dt = OracleHelper.ExecuteDataset(OracleHelper.RemoteConnectionString, CommandType.Text, strSql).Tables[0];
// if (dt.Rows.Count > 0)
// {
// if (dt.Rows.Count > 0)
// {
// jo["STS"] = "S";
// jo["Result"] = JsonConvert.SerializeObject(dt);
// }
// else
// {
// jo["STS"] = "E";
// jo["Result"] = Barcode + "不在库存内";
// }
// }
// else
// {
// jo["STS"] = "E";
// jo["Result"] = Barcode + "不在库存内";
// }
// }
// catch (Exception ex)
// {
// jo["STS"] = "E";
// jo["Result"] = ex.Message;
// }
// HttpResponseMessage result = new HttpResponseMessage
// {
// Content = new StringContent(jo.ToString(), System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
// };
// return result;
//}
//#endregion
//#region 获取出入口模式
//[HttpGet, Route("api/getpattern")]
//public HttpResponseMessage getpattern()
//{
// JObject jo = new JObject(
// new JProperty("STS", "S"),
// new JProperty("Result", "")
// );
// try
// {
// string strSql = "select decid,sts from T_DECNAME t";
// DataTable dt = OracleHelper.ExecuteDataset(OracleHelper.RemoteConnectionString, CommandType.Text, strSql).Tables[0];
// if (dt.Rows.Count > 0)
// {
// jo["STS"] = "S";
// jo["Result"] = JsonConvert.SerializeObject(dt);
// }
// else
// {
// jo["STS"] = "E";
// jo["Result"] = "获取失败";
// }
// }
// catch (Exception ex)
// {
// jo["STS"] = "E";
// jo["Result"] = ex.Message;
// }
// HttpResponseMessage result = new HttpResponseMessage
// {
// Content = new StringContent(jo.ToString(), System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
// };
// return result;
//}
//#endregion
//#region 修改库口模式
//[HttpPost, Route("api/updatepattern")]
//public HttpResponseMessage updatepattern([FromBody]JObject pattren)
//{
// lock ("updatepattern")
// {
// JObject jo = new JObject(
// new JProperty("STS", ""),
// new JProperty("Result", "")
// );
// string mesJson = pattren.ToString().Trim();
// mesJson = mesJson.Replace(" ", "").ToString();
// Log.WriteLog("接收RF入库口模式切换" + mesJson);
// OracleTransaction transaction = OracleHelper.BeginTransaction(OracleHelper.RemoteConnectionString);
// try
// {
// JObject strJo = (JObject)JsonConvert.DeserializeObject(mesJson);
// string userId = strJo["pattren"]["userId"].ToString().Trim();//用户id
// string formId = strJo["pattren"]["formId"].ToString().Trim();//组织id
// string decId = strJo["pattren"]["decId"].ToString().Trim();//设备ID
// string Sts = strJo["pattren"]["Sts"].ToString().Trim();//状态
// string sql = "";
// if (Sts == "0")
// {
// sql = "select count(*) from T_ONGOODSSHELF where DECID='" + decId + "'";
// int rows = int.Parse(OracleHelper.ExecuteScalar(OracleHelper.RemoteConnectionString, CommandType.Text, sql).ToString());
// string sql1 = "select count(*) from T_CK_PICKINGWAVEGOODS where outstand='" + decId + "'";
// int rows1 = int.Parse(OracleHelper.ExecuteScalar(OracleHelper.RemoteConnectionString, CommandType.Text, sql1).ToString());
// if (rows == 0 && rows1 == 0)
// {
// JObject joReturn = new JObject
// (
// new JProperty("fromPort", decId),
// new JProperty("type", "empty")
// );
// string strJSONsend = joReturn.ToString();
// Log.WriteLog(strJSONsend);
// string errText = "";
// string resJson = PostJSON("http://10.50.68.61:8082/fromWms/pattern", strJSONsend, ref errText);
// Log.WriteLog("任务接收接口返回JSON" + resJson);
// JObject strJo2 = (JObject)JsonConvert.DeserializeObject(resJson);
// string returnStatus = strJo2["returnStatus"].ToString().Trim();//请求结果
// string returnInfo = strJo2["returnInfo"].ToString().Trim();//请求结果描述
// if (returnStatus == "0")//成功
// {
// sql = "update T_DECNAME set sts=" + Sts + " where DECID='" + decId + "'";
// OracleHelper.ExecuteNonQuery(transaction, CommandType.Text, sql);
// OracleHelper.CommitTransaction(transaction);
// jo["STS"] = "S";
// jo["Result"] = decId + "成功修改空托入库模式";
// }
// else
// {
// OracleHelper.RollbackTransaction(transaction);
// jo["STS"] = "S";
// jo["Result"] = "调用WCS修改模式接口失败";
// }
// }
// else if (rows > 0)
// {
// OracleHelper.RollbackTransaction(transaction);
// jo["STS"] = "E";
// jo["Result"] = decId + "口,有入库任务,模式修改失败";
// }
// else if (rows1 > 0)
// {
// OracleHelper.RollbackTransaction(transaction);
// jo["STS"] = "E";
// jo["Result"] = decId + "口,有出库任务,模式修改失败";
// }
// }
// if (Sts == "1")
// {
// sql = "select count(*) from T_CK_PICKINGWAVEGOODS where outstand='" + decId + "'";
// int rows = int.Parse(OracleHelper.ExecuteScalar(OracleHelper.RemoteConnectionString, CommandType.Text, sql).ToString());
// if (rows == 0)
// {
// JObject joReturn = new JObject
// (
// new JProperty("fromPort", decId),
// new JProperty("type", "in")
// );
// string strJSONsend = joReturn.ToString();
// Log.WriteLog(strJSONsend);
// string errText = "";
// string resJson = PostJSON("http://10.50.68.61:8082/fromWms/pattern", strJSONsend, ref errText);
// Log.WriteLog("任务接收接口返回JSON" + resJson);
// JObject strJo2 = (JObject)JsonConvert.DeserializeObject(resJson);
// string returnStatus = strJo2["returnStatus"].ToString().Trim();//请求结果
// string returnInfo = strJo2["returnInfo"].ToString().Trim();//请求结果描述
// if (returnStatus == "0")//成功
// {
// sql = "update T_DECNAME set sts=" + Sts + " where DECID='" + decId + "'";
// OracleHelper.ExecuteNonQuery(transaction, CommandType.Text, sql);
// jo["STS"] = "S";
// jo["Result"] = decId + "成功修改入库模式";
// OracleHelper.CommitTransaction(transaction);
// }
// else
// {
// OracleHelper.RollbackTransaction(transaction);
// jo["STS"] = "S";
// jo["Result"] = "调用WCS修改模式接口失败";
// }
// }
// else
// {
// OracleHelper.RollbackTransaction(transaction);
// jo["STS"] = "E";
// jo["Result"] = decId + "口有出库任务,模式修改失败";
// }
// }
// if (Sts == "2")
// {
// sql = "select count(*) from T_ONGOODSSHELF where DECID='" + decId + "'";
// int rows = int.Parse(OracleHelper.ExecuteScalar(OracleHelper.RemoteConnectionString, CommandType.Text, sql).ToString());
// if (rows == 0)
// {
// JObject joReturn = new JObject
// (
// new JProperty("fromPort", decId),
// new JProperty("type", "out")
// );
// string strJSONsend = joReturn.ToString();
// Log.WriteLog(strJSONsend);
// string errText = "";
// string resJson = PostJSON("http://10.50.68.61:8082/fromWms/pattern", strJSONsend, ref errText);
// Log.WriteLog("任务接收接口返回JSON" + resJson);
// JObject strJo2 = (JObject)JsonConvert.DeserializeObject(resJson);
// string returnStatus = strJo2["returnStatus"].ToString().Trim();//请求结果
// string returnInfo = strJo2["returnInfo"].ToString().Trim();//请求结果描述
// if (returnStatus == "0")//成功
// {
// sql = "update T_DECNAME set sts=" + Sts + " where DECID='" + decId + "'";
// OracleHelper.ExecuteNonQuery(transaction, CommandType.Text, sql);
// jo["STS"] = "S";
// jo["Result"] = decId + "成功修改出库模式";
// OracleHelper.CommitTransaction(transaction);
// }
// else
// {
// OracleHelper.RollbackTransaction(transaction);
// jo["STS"] = "S";
// jo["Result"] = "调用WCS修改模式接口失败";
// }
// }
// else
// {
// OracleHelper.RollbackTransaction(transaction);
// jo["STS"] = "E";
// jo["Result"] = decId + "口,有入库任务,模式修改失败";
// }
// }
// }
// catch (Exception ex)
// {
// jo["STS"] = "E";
// jo["Result"] = ex.Message;
// OracleHelper.RollbackTransaction(transaction);
// }
// HttpResponseMessage result = new HttpResponseMessage
// {
// Content = new StringContent(jo.ToString(), System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
// };
// return result;
// }
//}
//#endregion
////#region 拣选
////[HttpGet, Route("api/GetPickingGoods")]
////public HttpResponseMessage GetPickingGoods(string Barcode)
////{
//// JObject jo = new JObject(
//// new JProperty("STS", "S"),
//// new JProperty("Result", "")
//// );
//// try
//// {
//// string strSql = "select * from T_CK_PICKINGWAVEGOODS where CTL='" + Barcode + "'";
//// DataTable dt = OracleHelper.ExecuteDataset(OracleHelper.RemoteConnectionString, CommandType.Text, strSql).Tables[0];
//// if (dt.Rows.Count > 0)
//// {
//// jo["STS"] = "S";
//// jo["Result"] = JsonConvert.SerializeObject(dt);
//// }
//// else
//// {
//// jo["STS"] = "E";
//// jo["Result"] = Barcode + "不在库存内";
//// }
//// }
//// catch (Exception ex)
//// {
//// jo["STS"] = "E";
//// jo["Result"] = ex.Message;
//// }
//// HttpResponseMessage result = new HttpResponseMessage
//// {
//// Content = new StringContent(jo.ToString(), System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
//// };
//// return result;
////}
////#endregion
//#region 移库
//[HttpPost, Route("api/MoveStock")]
//public HttpResponseMessage MoveStock([FromBody]JObject MoveList)
//{
// lock ("MoveStock")
// {
// JObject jo = new JObject(
// new JProperty("STS", ""),
// new JProperty("Result", "")
// );
// List<MovedataModel> movelist = new List<MovedataModel>();
// string mesJson = MoveList.ToString().Trim();
// mesJson = mesJson.Replace(" ", "").ToString();
// Log.WriteLog("接收RF移库数据" + mesJson);
// OracleTransaction transaction = OracleHelper.BeginTransaction(OracleHelper.RemoteConnectionString);
// try
// {
// JObject strJo = (JObject)JsonConvert.DeserializeObject(mesJson);
// string userId = strJo["MoveList"]["userId"].ToString().Trim();//用户id
// string formId = strJo["MoveList"]["formId"].ToString().Trim();//组织id
// string locationId = strJo["MoveList"]["LocationId"].ToString().Trim();//货位编号
// string barcodeListStr = strJo["MoveList"]["BarcodeList"].ToString().Trim();//码盘信息
// DataTable dt = JsonConvert.DeserializeObject<DataTable>(barcodeListStr);
// if (dt.Rows.Count > 0)
// {
// for (int i = 0; i < dt.Rows.Count; i++)
// {
// MovedataModel mm = new MovedataModel();
// mm.OutBarcode = dt.Rows[i]["BARCODE"].ToString();
// mm.Location_Id = locationId;
// mm.Store = "";
// movelist.Add(mm);
// string SqlStr = "update T_MI_STOCK set location_id='" + locationId + "',remark='" + userId + "' where barcode='" + mm.OutBarcode + "' and storage_id='" + formId + "' ";
// OracleHelper.ExecuteNonQuery(transaction, SqlStr);
// }
// string[] msg = SaveData(movelist);
// if (string.Equals(msg[0], "2"))
// {
// OracleHelper.CommitTransaction(transaction);
// jo["STS"] = "S";
// jo["Result"] = "移库成功";
// }
// else
// {
// jo["STS"] = "E";
// jo["Result"] = msg[1].ToString();
// OracleHelper.RollbackTransaction(transaction);
// }
// }
// else
// {
// jo["STS"] = "E";
// jo["Result"] = "移库数据错误!";
// OracleHelper.RollbackTransaction(transaction);
// }
// }
// catch (Exception ex)
// {
// jo["STS"] = "E";
// jo["Result"] = ex.Message;
// OracleHelper.RollbackTransaction(transaction);
// }
// HttpResponseMessage result = new HttpResponseMessage
// {
// Content = new StringContent(jo.ToString(), System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
// };
// return result;
// }
//}
//#endregion
//#region 扫描搬运单
//[HttpPost, Route("api/GetMoveOrders")]
//public HttpResponseMessage GetMoveOrders([FromBody]JObject MoveOrder)
//{
// JObject jo = new JObject(
// new JProperty("STS", ""),
// new JProperty("Result", "")
// );
// string mesJson = MoveOrder.ToString().Trim();
// mesJson = mesJson.Replace(" ", "").ToString();
// Log.WriteLog("接收扫描搬运单数据:" + mesJson);
// try
// {
// JObject strJo = (JObject)JsonConvert.DeserializeObject(mesJson);
// string userId = strJo["MoveOrder"]["userId"].ToString().Trim();//用户id
// string formId = strJo["MoveOrder"]["formId"].ToString().Trim();//组织id
// string bydId = strJo["MoveOrder"]["bydId"].ToString().Trim();//搬运单编号
// if (bydId.IndexOf("-") != -1)
// {
// string[] array = bydId.Split('-');
// string request_number = array[0];
// string line_numer = array[1];
// string strSql = "select * from CUX_WMS_MOVE_ORDER_ISSU_ITF t where REQUEST_NUMBER ='" + request_number + "' and LINE_NUMBER='" + line_numer + "' and ORGANIZATION_CODE='" + formId + "' and STATUS=1";
// Log.WriteLog("sql" + strSql);
// DataTable dt = OracleHelper.ExecuteDataset(OracleHelper.RemoteConnectionString, CommandType.Text, strSql).Tables[0];
// if (dt.Rows.Count > 0)
// {
// jo["STS"] = "S";
// jo["Result"] = JsonConvert.SerializeObject(dt);
// }
// else
// {
// jo["STS"] = "E";
// jo["Result"] = "无订单";
// }
// }
// else
// {
// jo["STS"] = "E";
// jo["Result"] = "搬运单错误";
// }
// }
// catch (Exception ex)
// {
// jo["STS"] = "E";
// jo["Result"] = ex.Message;
// }
// HttpResponseMessage result = new HttpResponseMessage
// {
// Content = new StringContent(jo.ToString(), System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
// };
// return result;
//}
//#endregion
//#region 挑库出库
//[HttpPost, Route("api/WmsOutvOut")]
//public HttpResponseMessage WmsOutvOut([FromBody]JObject WmsOutvOut)
//{
// lock ("WmsOutvOut")
// {
// JObject jo = new JObject(
// new JProperty("STS", ""),
// new JProperty("Result", "")
// );
// string mesJson = WmsOutvOut.ToString().Trim();
// mesJson = mesJson.Replace(" ", "").ToString();
// Log.WriteLog("接收RF挑库数据" + mesJson);
// OracleTransaction transaction = OracleHelper.BeginTransaction(OracleHelper.RemoteConnectionString);
// try
// {
// JObject strJo = (JObject)JsonConvert.DeserializeObject(mesJson);
// string userId = strJo["WmsOutvOut"]["userId"].ToString().Trim();//用户id
// string formId = strJo["WmsOutvOut"]["formId"].ToString().Trim();//组织id
// string locationId = strJo["WmsOutvOut"]["LocationId"].ToString().Trim();//货位编号
// string barcodeListStr = strJo["WmsOutvOut"]["BarcodeList"].ToString().Trim();//码盘信息
// DataTable dt = JsonConvert.DeserializeObject<DataTable>(barcodeListStr);
// decimal sumsty = 0;
// if (dt.Rows.Count > 0)
// {
// for (int i = 0; i < dt.Rows.Count; i++)
// {
// string barcode = dt.Rows[i]["BARCODE"].ToString();
// string strSql = "select * from T_MI_STOCK where barcode='" + barcode + "' and sts=0";
// DataTable stockDt = OracleHelper.ExecuteDataset(OracleHelper.RemoteConnectionString, CommandType.Text, strSql).Tables[0];
// if (stockDt.Rows.Count > 0)
// {
// Random dm = new Random();
// for (int j = 0; j < stockDt.Rows.Count; j++)
// {
// string Lotid = "XJ" + DateTime.Now.ToString("yyyymmddhhmmsssss") + dm.Next();
// List<MIStockModel> goodsinfo = DataCommon.ConvertHelper<MIStockModel>.ConvertToList(stockDt);
// sumsty = +goodsinfo[j].SHELVES_NUM;
// strSql = "insert into T_CK_PICKINGWAVEGOODS(PICKINGID,PUTIN_ID,GOOD_ID,LOC_ID,GOODS_NUM,REMARK,PICKING_NUM,BARCODE,STORAGE_ID,STORAGE_AREA_ID,GOODS_NUM_SJ,STATUS,CK_TYPE,TYPESTS) ";
// strSql += " values('" + Lotid + "','" + locationId + "','" + goodsinfo[j].GOODS_ID + "','" + goodsinfo[j].LOCATION_ID + "','" + goodsinfo[j].SHELVES_NUM + "','" + goodsinfo[j].REMARK + "','" + goodsinfo[j].SHELVES_NUM + "','" + goodsinfo[j].BARCODE + "','" + goodsinfo[j].STORAGE_ID + "','" + goodsinfo[j].AREA_ID + "','" + goodsinfo[j].SHELVES_NUM + "','0','BYCK','1')";
// OracleHelper.ExecuteNonQuery(transaction, strSql);
// strSql = "update T_MI_STOCK set sts=1 where BARCODE='" + goodsinfo[j].BARCODE + "'";
// OracleHelper.ExecuteNonQuery(transaction, strSql);
// }
// }
// else
// {
// OracleHelper.RollbackTransaction(transaction);
// jo["STS"] = "S";
// jo["Result"] = barcode + "不在库存内";
// }
// }
// if (locationId.IndexOf("-") != -1)
// {
// string[] array = locationId.Split('-');
// string request_number = array[0];
// string line_numer = array[1];
// string strSql = "update cux_wms_move_order_issu_itf set status=2,QUANTITY_DELIVERED=" + sumsty + " where request_number='" + request_number + "' and line_number='" + line_numer + "'";
// OracleHelper.ExecuteNonQuery(transaction, strSql);
// OracleHelper.CommitTransaction(transaction);
// jo["STS"] = "S";
// jo["Result"] = "挑货成功";
// }
// else
// {
// jo["STS"] = "E";
// jo["Result"] = "搬运单错误";
// OracleHelper.RollbackTransaction(transaction);
// }
// }
// }
// catch (Exception ex)
// {
// jo["STS"] = "E";
// jo["Result"] = ex.Message;
// OracleHelper.RollbackTransaction(transaction);
// }
// HttpResponseMessage result = new HttpResponseMessage
// {
// Content = new StringContent(jo.ToString(), System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
// };
// return result;
// }
//}
//#endregion
//#region 扫描返修单
//[HttpPost, Route("api/GetFxOrders")]
//public HttpResponseMessage GetFxOrders([FromBody]JObject FxOrders)
//{
// JObject jo = new JObject(
// new JProperty("STS", ""),
// new JProperty("Result", "")
// );
// string mesJson = FxOrders.ToString().Trim();
// mesJson = mesJson.Replace(" ", "").ToString();
// Log.WriteLog("接收扫描搬运单数据:" + mesJson);
// try
// {
// JObject strJo = (JObject)JsonConvert.DeserializeObject(mesJson);
// string userId = strJo["FxOrders"]["userId"].ToString().Trim();//用户id
// string formId = strJo["FxOrders"]["formId"].ToString().Trim();//组织id
// string fixid = strJo["FxOrders"]["fixid"].ToString().Trim();//搬运单编号
// string strSql = "select * from cux_wms_fix_issue_itf where wip_entity_id='" + fixid + "' and organization_code='" + formId + "' and STATUS=1";
// DataTable dt = OracleHelper.ExecuteDataset(OracleHelper.RemoteConnectionString, CommandType.Text, strSql).Tables[0];
// if (dt.Rows.Count > 0)
// {
// jo["STS"] = "S";
// jo["Result"] = JsonConvert.SerializeObject(dt);
// }
// else
// {
// jo["STS"] = "E";
// jo["Result"] = "无订单";
// }
// }
// catch (Exception ex)
// {
// jo["STS"] = "E";
// jo["Result"] = ex.Message;
// }
// HttpResponseMessage result = new HttpResponseMessage
// {
// Content = new StringContent(jo.ToString(), System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
// };
// return result;
//}
//#endregion
//#region 返修出库
//[HttpPost, Route("api/WMSFixOut")]
//public HttpResponseMessage WMSFixOut([FromBody]JObject WMSFixOut)
//{
// lock ("WMSFixOut")
// {
// JObject jo = new JObject(
// new JProperty("STS", ""),
// new JProperty("Result", "")
// );
// string mesJson = WMSFixOut.ToString().Trim();
// mesJson = mesJson.Replace(" ", "").ToString();
// Log.WriteLog("接收返修出库数据:" + mesJson);
// OracleTransaction transaction = OracleHelper.BeginTransaction(OracleHelper.RemoteConnectionString);
// try
// {
// JObject strJo = (JObject)JsonConvert.DeserializeObject(mesJson);
// string userId = strJo["WMSFixOut"]["userId"].ToString().Trim();//用户id
// string formId = strJo["WMSFixOut"]["formId"].ToString().Trim();//组织id
// string locationId = strJo["WMSFixOut"]["LocationId"].ToString().Trim();//货位编号
// string barcodeListStr = strJo["WMSFixOut"]["BarcodeList"].ToString().Trim();//码盘信息
// DataTable dt = JsonConvert.DeserializeObject<DataTable>(barcodeListStr);
// decimal sumsty = 0;
// string strSql = string.Empty;
// if (dt.Rows.Count > 0)
// {
// for (int i = 0; i < dt.Rows.Count; i++)
// {
// string Lotid = "XJ" + DateTime.Now.ToString("yyyymmddhhmmsssss");
// string barcode = dt.Rows[i]["BARCODE"].ToString();
// strSql = "select * from T_MI_STOCK where barcode='" + barcode + "' and sts=0";
// DataTable stockDt = OracleHelper.ExecuteDataset(OracleHelper.RemoteConnectionString, CommandType.Text, strSql).Tables[0];
// if (stockDt.Rows.Count > 0)
// {
// for (int j = 0; j < stockDt.Rows.Count; j++)
// {
// List<MIStockModel> goodsinfo = DataCommon.ConvertHelper<MIStockModel>.ConvertToList(stockDt);
// sumsty = +goodsinfo[j].SHELVES_NUM;
// strSql = "insert into T_CK_PICKINGWAVEGOODS(PICKINGID,PUTIN_ID,GOOD_ID,LOC_ID,GOODS_NUM,REMARK,PICKING_NUM,BARCODE,STORAGE_ID,STORAGE_AREA_ID,GOODS_NUM_SJ,STATUS,CK_TYPE,TYPESTS,CUSTOMERMEMBERID) ";
// strSql += " values('" + Lotid + "','" + locationId + "','" + goodsinfo[j].GOODS_ID + "','" + goodsinfo[j].LOCATION_ID + "','" + goodsinfo[j].SHELVES_NUM + "','" + goodsinfo[j].REMARK + "','" + goodsinfo[j].SHELVES_NUM + "','" + goodsinfo[j].BARCODE + "','" + goodsinfo[j].STORAGE_ID + "','" + goodsinfo[j].AREA_ID + "','" + goodsinfo[j].SHELVES_NUM + "','2','FXCK','2','" + userId + "')";
// OracleHelper.ExecuteNonQuery(transaction, strSql);
// strSql = "update T_MI_STOCK set sts=1 where BARCODE='" + goodsinfo[j].BARCODE + "'";
// OracleHelper.ExecuteNonQuery(transaction, strSql);
// }
// }
// else
// {
// OracleHelper.RollbackTransaction(transaction);
// jo["STS"] = "S";
// jo["Result"] = barcode + "不在库存内";
// }
// }
// strSql = "update cux_wms_fix_issue_itf set status=1 where wip_entity_id='" + locationId + "' and organization_code='" + formId + "'";
// OracleHelper.ExecuteNonQuery(transaction, strSql);
// OracleHelper.CommitTransaction(transaction);
// jo["STS"] = "S";
// jo["Result"] = "返修成功";
// }
// }
// catch (Exception ex)
// {
// jo["STS"] = "E";
// jo["Result"] = ex.Message;
// OracleHelper.RollbackTransaction(transaction);
// }
// HttpResponseMessage result = new HttpResponseMessage
// {
// Content = new StringContent(jo.ToString(), System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
// };
// return result;
// }
//}
//#endregion
//#region 获取拣货信息
//[HttpPost, Route("api/GetPickingGoods")]
//public HttpResponseMessage GetPickingGoods([FromBody]JObject Data)
//{
// JObject jo = new JObject(
// new JProperty("STS", "S"),
// new JProperty("Result", "")
// );
// string mesJson = Data.ToString().Trim();
// mesJson = mesJson.Replace(" ", "").ToString();
// Log.WriteLog("接收RF挑库数据" + mesJson);
// try
// {
// JObject strJo = (JObject)JsonConvert.DeserializeObject(mesJson);
// string userId = strJo["Data"]["userId"].ToString().Trim();//用户id
// string formId = strJo["Data"]["formId"].ToString().Trim();//组织id
// string decId = strJo["Data"]["DecId"].ToString().Trim();//设备编号
// string typeSts = strJo["Data"]["TYPESTS"].ToString().Trim();//出库类型
// string STS = strJo["Data"]["STS"].ToString().Trim();//WCS报完成 拣选状态是3 追加状态是4
// string strSql = "select * from T_CK_PICKINGWAVEGOODS where OUTSTAND='" + decId + "' and TYPESTS='" + typeSts + "' and STATUS='" + STS + "'";
// DataTable dt = OracleHelper.ExecuteDataset(OracleHelper.RemoteConnectionString, CommandType.Text, strSql).Tables[0];
// if (dt.Rows.Count > 0)
// {
// string ctl = dt.Rows[0]["ctl"].ToString();
// int shelves_num = 0;
// if (typeSts == "7")
// {
// strSql = "select count(*) as shelves_num from T_MI_STOCK where ctl='" + ctl + "'";
// shelves_num = int.Parse(OracleHelper.ExecuteScalar(OracleHelper.RemoteConnectionString, CommandType.Text, strSql).ToString());
// jo["STS"] = "S";
// jo["Result"] = "[{ \"CTL\":\"" + ctl + "\",\"SHELVES_NUM\":\"" + shelves_num + "\"}]";
// }
// else
// {
// jo["STS"] = "S";
// jo["Result"] = JsonConvert.SerializeObject(dt);
// }
// }
// else
// {
// jo["STS"] = "E";
// jo["Result"] = decId + "口,没有拣选或追加任务";
// }
// }
// catch (Exception ex)
// {
// jo["STS"] = "E";
// jo["Result"] = ex.Message;
// }
// HttpResponseMessage result = new HttpResponseMessage
// {
// Content = new StringContent(jo.ToString(), System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
// };
// return result;
//}
//#endregion
//#region 拣选回库处理
//[HttpPost, Route("api/JxRollBackhandle")]
//public HttpResponseMessage JxRollBackhandle([FromBody]JObject Data)
//{
// lock ("JxRollBackhandle")
// {
// JObject jo = new JObject(
// new JProperty("STS", "S"),
// new JProperty("Result", "")
// );
// string mesJson = Data.ToString().Trim();
// mesJson = mesJson.Replace(" ", "").ToString();
// Log.WriteLog("接收RF拣选数据" + mesJson);
// OracleTransaction transaction = OracleHelper.BeginTransaction(OracleHelper.RemoteConnectionString);
// try
// {
// JObject strJo = (JObject)JsonConvert.DeserializeObject(mesJson);
// string userId = strJo["WmsInvIn"]["userId"].ToString().Trim();//用户id
// string formId = strJo["WmsInvIn"]["formId"].ToString().Trim();//组织id
// string decId = strJo["WmsInvIn"]["DecId"].ToString().Trim();//设备编号
// string tableList = strJo["WmsInvIn"]["tableList"].ToString().Trim();//条码数据
// DataTable dt = JsonConvert.DeserializeObject<DataTable>(tableList);
// List<MIStockModel> goodsinfo = DataCommon.ConvertHelper<MIStockModel>.ConvertToList(dt);
// string sqlStr = "";
// string ctl = "";
// int rows = 0;
// if (goodsinfo.Count > 0)
// {
// ctl = goodsinfo[0].CTL;
// foreach (var item in goodsinfo)
// {
// string Lotid = "XJ" + DateTime.Now.ToString("yyyymmddhhmmsssss");
// string barcode = item.BARCODE;
// //sqlStr = "select count(*) from T_CK_PICKINGWAVEGOODS where barcode='" + barcode + "' and TYPESTS!=7";
// //rows = int.Parse(OracleHelper.ExecuteScalar(OracleHelper.RemoteConnectionString, CommandType.Text, sqlStr).ToString());
// //if (rows == 0)
// //{
// sqlStr = "insert into T_CK_PICKINGWAVEGOODS(PICKINGID,PUTIN_ID,GOOD_ID,LOC_ID,GOODS_NUM,REMARK,PICKING_NUM,BARCODE,STORAGE_ID,STORAGE_AREA_ID,GOODS_NUM_SJ,STATUS,CK_TYPE,TYPESTS,CTL,OUTSTAND) ";
// sqlStr += " values('" + Guid.NewGuid().ToString() + "','" + Guid.NewGuid().ToString() + "','" + item.GOODS_ID + "','" + item.LOCATION_ID + "','" + item.SHELVES_NUM + "','" + item.REMARK + "','" + item.SHELVES_NUM + "','" + item.BARCODE + "','" + item.STORAGE_ID + "','" + item.AREA_ID + "','" + item.SHELVES_NUM + "','0','JX','1','" + item.CTL + "','" + decId + "')";
// Log.WriteLog(sqlStr);
// OracleHelper.ExecuteNonQuery(transaction, sqlStr);
// //}
// //else
// //{
// // jo["STS"] = "E";
// // jo["Result"] = "该条码已经存在拣选任务列表中";
// // transaction.Rollback();
// // break;
// //}
// }
// transaction.Commit();
// transaction = OracleHelper.BeginTransaction(OracleHelper.RemoteConnectionString);
// sqlStr = "select * from T_MI_STOCK where barcode not in (select barcode from T_CK_PICKINGWAVEGOODS where ctl='" + ctl + "' and typests!=7 ) and ctl='" + ctl + "'";
// Log.WriteLog(sqlStr);
// DataTable StockDt = OracleHelper.ExecuteDataset(OracleHelper.RemoteConnectionString, CommandType.Text, sqlStr).Tables[0];
// goodsinfo = DataCommon.ConvertHelper<MIStockModel>.ConvertToList(StockDt);
// sqlStr = "select seq_plc_taskval.nextval from dual";
// Log.WriteLog(sqlStr);
// string Plcid = OracleHelper.ExecuteScalar(OracleHelper.RemoteConnectionString, CommandType.Text, sqlStr).ToString();
// foreach (var item in goodsinfo)
// {
// string Lotid = "SJ" + DateTime.Now.ToString("yyyymmddhhmmsssss");
// string outbarcode = item.BARCODE;
// string itmcode = item.GOODS_ID;
// string itmversion = "";
// //string itmname = dt.Rows[i]["itmname"].ToString();
// string datecode = item.REMARK;
// string storage_id = "JXJW";
// string storename = item.AREA_ID;
// string fbgtype = "";
// // string fgbno = dt.Rows[i]["fgbno"].ToString();
// string qty = item.SHELVES_NUM.ToString();
// string SqlStr = "insert into T_ONGOODSSHELF(LOT_ID,GOODSID,STO_NUM,ACC_NUM,SHELF_NUM,STOCK_NUM,Ondate,Onshelfuserid,Storage_Id,STORAGE_AREA_ID,GOODS_MEASURE_ID,Status,barcode,BAOZHIQI,REMARK,DECID,TASKTYPE,CTL,PLCID) values('" + Lotid + "','" + itmcode + "'," + qty + "," + qty + "," + qty + "," + qty + ",SYSDATE,'" + userId + "','" + storage_id + "','" + storename + "','" + itmversion + "','1','" + outbarcode + "','" + fbgtype + "','" + datecode + "','" + decId + "','1','" + ctl + "','" + Plcid + "')";
// OracleHelper.ExecuteNonQuery(transaction, SqlStr);
// Log.WriteLog(sqlStr);
// }
// sqlStr = "update T_CK_PICKINGWAVEGOODS set status=2 where ctl='" + ctl + "' and typests='7' and status='3' and outstand='" + decId + "'";
// Log.WriteLog(sqlStr);
// rows = OracleHelper.ExecuteNonQuery(transaction, sqlStr);
// if (rows > 0)
// {
// jo["STS"] = "S";
// jo["Result"] = "拣选成功";
// transaction.Commit();
// }
// else
// {
// jo["STS"] = "E";
// jo["Result"] = "拣选失败";
// transaction.Rollback();
// }
// }
// else
// {
// jo["STS"] = "E";
// jo["Result"] = "数据异常:没有条码数据";
// transaction.Rollback();
// }
// }
// catch (Exception ex)
// {
// jo["STS"] = "E";
// jo["Result"] = ex.Message;
// Log.WriteLog("接收RF拣选任务发生异常"+ex.Message);
// }
// HttpResponseMessage result = new HttpResponseMessage
// {
// Content = new StringContent(jo.ToString(), System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
// };
// return result;
// }
//}
//#endregion
//#region 追加回库处理
//[HttpPost, Route("api/JxAddhandle")]
//public HttpResponseMessage JxAddhandle([FromBody]JObject Data)
//{
// lock ("JxAddhandle")
// {
// JObject jo = new JObject(
// new JProperty("STS", "S"),
// new JProperty("Result", "")
// );
// string mesJson = Data.ToString().Trim();
// mesJson = mesJson.Replace(" ", "").ToString();
// Log.WriteLog("接收RF拣选数据" + mesJson);
// OracleTransaction transaction = OracleHelper.BeginTransaction(OracleHelper.RemoteConnectionString);
// try
// {
// JObject strJo = (JObject)JsonConvert.DeserializeObject(mesJson);
// string userId = strJo["Data"]["userId"].ToString().Trim();//用户id
// string formId = strJo["Data"]["formId"].ToString().Trim();//组织id
// string decId = strJo["Data"]["DecId"].ToString().Trim();//设备编号
// string tableList = strJo["Data"]["tableList"].ToString().Trim();//条码数据
// DataTable dt = JsonConvert.DeserializeObject<DataTable>(tableList);
// List<MIStockModel> goodsinfo = DataCommon.ConvertHelper<MIStockModel>.ConvertToList(dt);
// string sqlStr = "";
// string ctl = "";
// int rows = 0;
// if (goodsinfo.Count > 0)
// {
// ctl = goodsinfo[0].CTL;
// sqlStr = "select seq_plc_taskval.nextval from dual";
// string Plcid = OracleHelper.ExecuteScalar(OracleHelper.RemoteConnectionString, CommandType.Text, sqlStr).ToString();
// foreach (var item in goodsinfo)
// {
// string Lotid = "SJ" + DateTime.Now.ToString("yyyymmddhhmmsssss");
// string outbarcode = item.BARCODE;
// string itmcode = item.GOODS_ID;
// string itmversion = "";
// //string itmname = dt.Rows[i]["itmname"].ToString();
// string datecode = item.REMARK;
// formId = "JXJW";
// string storename = item.AREA_ID;
// string fbgtype = "";
// // string fgbno = dt.Rows[i]["fgbno"].ToString();
// string qty = item.SHELVES_NUM.ToString();
// string SqlStr = "insert into T_ONGOODSSHELF(LOT_ID,GOODSID,STO_NUM,ACC_NUM,SHELF_NUM,STOCK_NUM,Ondate,Onshelfuserid,Storage_Id,STORAGE_AREA_ID,GOODS_MEASURE_ID,Status,barcode,BAOZHIQI,REMARK,DECID,TASKTYPE,CTL,PLCID) values('" + Lotid + "','" + itmcode + "'," + qty + "," + qty + "," + qty + "," + qty + ",SYSDATE,'" + userId + "','" + formId + "','" + storename + "','" + itmversion + "','1','" + outbarcode + "','" + fbgtype + "','" + datecode + "','" + decId + "','1','" + ctl + "','" + Plcid + "')";
// OracleHelper.ExecuteNonQuery(transaction, SqlStr);
// }
// sqlStr = "update T_CK_PICKINGWAVEGOODS set status=2 where ctl='" + ctl + "' and typests='8' and status='4' and outstand='" + decId + "'";
// rows = OracleHelper.ExecuteNonQuery(transaction, sqlStr);
// if (rows > 0)
// {
// jo["STS"] = "S";
// jo["Result"] = "追加成功";
// transaction.Commit();
// }
// else
// {
// jo["STS"] = "E";
// jo["Result"] = "追加失败";
// transaction.Rollback();
// }
// }
// else
// {
// jo["STS"] = "E";
// jo["Result"] = "数据异常:没有条码数据";
// transaction.Rollback();
// }
// }
// catch (Exception ex)
// {
// jo["STS"] = "E";
// jo["Result"] = ex.Message;
// transaction.Rollback();
// }
// HttpResponseMessage result = new HttpResponseMessage
// {
// Content = new StringContent(jo.ToString(), System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
// };
// return result;
// }
//}
//#endregion
//#region 报废
//[HttpPost, Route("api/WMSMoveBf")]
//public HttpResponseMessage WMSMoveBf([FromBody]JObject WMSMoveBf)
//{
// JObject jo = new JObject(
// new JProperty("STS", ""),
// new JProperty("Result", "")
// );
// string mesJson = WMSMoveBf.ToString().Trim();
// mesJson = mesJson.Replace(" ", "").ToString();
// Log.WriteLog("接收报废数据:" + mesJson);
// OracleTransaction transaction = OracleHelper.BeginTransaction(OracleHelper.RemoteConnectionString);
// try
// {
// JObject strJo = (JObject)JsonConvert.DeserializeObject(mesJson);
// string userId = strJo["WMSMoveBf"]["userId"].ToString().Trim();//用户id
// string formId = strJo["WMSMoveBf"]["formId"].ToString().Trim();//组织id
// //string locationId = strJo["WMSMoveBf"]["LocationId"].ToString().Trim();//货位编号
// string barcodeListStr = strJo["WMSMoveBf"]["BarcodeList"].ToString().Trim();//码盘信息
// DataTable dt = JsonConvert.DeserializeObject<DataTable>(barcodeListStr);
// decimal sumsty = 0;
// string strSql = string.Empty;
// if (dt.Rows.Count > 0)
// {
// for (int i = 0; i < dt.Rows.Count; i++)
// {
// string Lotid = "XJ" + DateTime.Now.ToString("yyyymmddhhmmsssss");
// string barcode = dt.Rows[i]["BARCODE"].ToString();
// string[] msg = SaveData(barcode);
// if (string.Equals(msg[0], "2"))
// {
// Log.WriteLog("1");
// strSql = "select * from T_MI_STOCK where barcode='" + barcode + "' and sts=0";
// DataTable stockDt = OracleHelper.ExecuteDataset(OracleHelper.RemoteConnectionString, CommandType.Text, strSql).Tables[0];
// if (stockDt.Rows.Count > 0)
// {
// for (int j = 0; j < stockDt.Rows.Count; j++)
// {
// List<MIStockModel> goodsinfo = DataCommon.ConvertHelper<MIStockModel>.ConvertToList(stockDt);
// sumsty = +goodsinfo[i].SHELVES_NUM;
// strSql = "insert into T_CK_PICKINGWAVEGOODS(PICKINGID,PUTIN_ID,GOOD_ID,LOC_ID,GOODS_NUM,REMARK,PICKING_NUM,BARCODE,STORAGE_ID,STORAGE_AREA_ID,GOODS_NUM_SJ,STATUS,CK_TYPE,TYPESTS,CUSTOMERMEMBERID) ";
// strSql += " values('" + Lotid + "','" + goodsinfo[j].LOCATION_ID + "','" + goodsinfo[j].GOODS_ID + "','" + goodsinfo[j].LOCATION_ID + "','" + goodsinfo[j].SHELVES_NUM + "','" + goodsinfo[j].REMARK + "','" + goodsinfo[j].SHELVES_NUM + "','" + goodsinfo[j].BARCODE + "','" + goodsinfo[j].STORAGE_ID + "','" + goodsinfo[j].AREA_ID + "','" + goodsinfo[j].SHELVES_NUM + "','2','BFCK','2','" + userId + "')";
// OracleHelper.ExecuteNonQuery(transaction, strSql);
// strSql = "update T_MI_STOCK set sts=1 where BARCODE='" + goodsinfo[j].BARCODE + "'";
// OracleHelper.ExecuteNonQuery(transaction, strSql);
// }
// OracleHelper.CommitTransaction(transaction);
// jo["STS"] = "S";
// jo["Result"] = "报废成功";
// }
// else
// {
// OracleHelper.RollbackTransaction(transaction);
// jo["STS"] = "F";
// jo["Result"] = barcode + "不在库存内 无需报废";
// }
// }
// else
// {
// OracleHelper.RollbackTransaction(transaction);
// jo["STS"] = "F";
// jo["Result"] = barcode + "请求EBS报废失败" + msg[1].ToString();
// }
// }
// }
// }
// catch (Exception ex)
// {
// jo["STS"] = "E";
// jo["Result"] = ex.Message;
// OracleHelper.RollbackTransaction(transaction);
// }
// HttpResponseMessage result = new HttpResponseMessage
// {
// Content = new StringContent(jo.ToString(), System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
// };
// return result;
//}
//#endregion
//#region 移库信息xml
//string SetXmlData(List<MovedataModel> mvdt)
//{
// string UsernameToken = ConfigurationManager.AppSettings["UsernameToken"].ToString(); ;
// string PasswordToken = ConfigurationManager.AppSettings["PasswordToken"].ToString(); ;
// string xml = "";
// xml += "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:cux=\"http://xmlns.oracle.com/apps/cux/soaprovider/plsql/cux_dely_ws_pda_api/\" xmlns:call=\"http://xmlns.oracle.com/apps/cux/soaprovider/plsql/cux_dely_ws_pda_api/call_procedure/\">";
// xml += "<soapenv:Header>";
// xml += "<cux:SOAHeader><cux:NLSLanguage>SIMPLIFIED CHINESE</cux:NLSLanguage></cux:SOAHeader>";
// xml += "<wsse:Security xmlns:wsse=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd\" mustUnderstand=\"1\">";
// xml += "<wsse:UsernameToken>";
// xml += "<wsse:Username>" + UsernameToken + "</wsse:Username>";
// xml += "<wsse:Password Type=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText\">" + PasswordToken + "</wsse:Password>";
// xml += "</wsse:UsernameToken></wsse:Security>";
// xml += "</soapenv:Header>";
// xml += "<soapenv:Body>";
// xml += "<call:InputParameters>";
// xml += "<!--Optional:-->";
// xml += "<call:P_DATA_TBL>";
// foreach (MovedataModel md in mvdt)
// {
// xml += "<!--Zero or more repetitions:-->";
// xml += "<call:P_DATA_TBL_ITEM>";
// xml += "<!--Optional:-->";
// xml += "<call:OUT_BAR_CODE>" + md.OutBarcode + "</call:OUT_BAR_CODE>";
// xml += "<!--Optional:-->";
// xml += "<call:SUBINVENTORY_CODE>" + md.Store + "</call:SUBINVENTORY_CODE>";
// xml += "<!--Optional:-->";
// xml += "<call:LOCATION_CODE>" + md.Location_Id + "</call:LOCATION_CODE>";
// xml += "</call:P_DATA_TBL_ITEM>";
// }
// xml += "</call:P_DATA_TBL>";
// xml += "<!--Optional:-->";
// xml += "<call:P_PROCEDURE_NAME>SUBINV_TRANSFER_MAIN</call:P_PROCEDURE_NAME>";
// xml += "</call:InputParameters>";
// xml += "</soapenv:Body>";
// xml += "</soapenv:Envelope>";
// return xml;
//}
//#endregion
//#region 报废信息发送
//private string[] SaveData(string _barcode)
//{
// Log.WriteLog("2");
// string str_xml = SetXmlData(_barcode);
// string url = "http://kwuat.kinwong.com:8000/webservices/SOAProvider/plsql/cux_dely_ws_pda_api/?wsdl";
// string method = "CALL_PROCEDURE";
// try
// {
// str_xml = getXmlData(url, str_xml, method);
// XmlDocument doc = new XmlDocument();
// doc.LoadXml(str_xml);
// XmlElement root = doc.DocumentElement;
// string nameSpace = root.NamespaceURI;
// XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);
// nsmgr.AddNamespace("env", nameSpace);
// nsmgr.AddNamespace("ns1", "http://xmlns.oracle.com/apps/cux/soaprovider/plsql/cux_dely_ws_pda_api/call_procedure/");
// string xpath = "/env:Envelope/env:Body/ns1:OutputParameters";
// XmlNode xn = doc.DocumentElement.SelectSingleNode(xpath, nsmgr);
// System.Collections.Generic.Dictionary<string, string> Msg = new Dictionary<string, string>();
// foreach (XmlElement a in xn.ChildNodes)
// {
// Msg.Add(a.Name, a.InnerText);
// }
// return new string[2] { Msg["X_RETURN_CODE"], Msg["X_MSG_DATA"] };
// Log.WriteLog("3");
// }
// catch (Exception ex)
// {
// throw new Exception(ex.Message);
// }
//}
//#endregion
//#region 移库信息发送
//private string[] SaveData(List<MovedataModel> _movedata)
//{
// string str_xml = SetXmlData(_movedata); ;
// string url = ConfigurationManager.AppSettings["EbsBfUrl"];
// string method = "CALL_PROCEDURE";
// try
// {
// str_xml = getXmlData(url, str_xml, method);
// XmlDocument doc = new XmlDocument();
// doc.LoadXml(str_xml);
// XmlElement root = doc.DocumentElement;
// string nameSpace = root.NamespaceURI;
// XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);
// nsmgr.AddNamespace("env", nameSpace);
// nsmgr.AddNamespace("ns1", "http://xmlns.oracle.com/apps/cux/soaprovider/plsql/cux_dely_ws_pda_api/call_procedure/");
// string xpath = "/env:Envelope/env:Body/ns1:OutputParameters";
// XmlNode xn = doc.DocumentElement.SelectSingleNode(xpath, nsmgr);
// System.Collections.Generic.Dictionary<string, string> Msg = new Dictionary<string, string>();
// foreach (XmlElement a in xn.ChildNodes)
// {
// Msg.Add(a.Name, a.InnerText);
// }
// return new string[2] { Msg["X_RETURN_CODE"], Msg["X_MSG_DATA"] };
// }
// catch (Exception ex)
// {
// throw new Exception(ex.Message);
// }
//}
//#endregion
//#region 报废信息xml
//string SetXmlData(string _barcode)
//{
// string UsernameToken = "OA";
// string PasswordToken = "12345678";
// string xml = "";
// xml += "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:cux=\"http://xmlns.oracle.com/apps/cux/soaprovider/plsql/cux_dely_ws_pda_api/\" xmlns:call=\"http://xmlns.oracle.com/apps/cux/soaprovider/plsql/cux_dely_ws_pda_api/call_procedure/\">";
// xml += "<soapenv:Header>";
// xml += "<cux:SOAHeader><cux:NLSLanguage>SIMPLIFIED CHINESE</cux:NLSLanguage></cux:SOAHeader>";
// xml += "<wsse:Security xmlns:wsse=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd\" mustUnderstand=\"1\">";
// xml += "<wsse:UsernameToken>";
// xml += "<wsse:Username>" + UsernameToken + "</wsse:Username>";
// xml += "<wsse:Password Type=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText\">" + PasswordToken + "</wsse:Password>";
// xml += "</wsse:UsernameToken></wsse:Security>";
// xml += "</soapenv:Header>";
// xml += "<soapenv:Body>";
// xml += "<call:InputParameters>";
// xml += "<!--Optional:-->";
// xml += "<call:P_DATA_TBL>";
// xml += "<!--Zero or more repetitions:-->";
// xml += "<call:P_DATA_TBL_ITEM>";
// xml += "<!--Optional:-->";
// xml += "<call:OUT_BAR_CODE>" + _barcode + "</call:OUT_BAR_CODE>";
// xml += "</call:P_DATA_TBL_ITEM>";
// xml += "</call:P_DATA_TBL>";
// xml += "<!--Optional:-->";
// xml += "<call:P_PROCEDURE_NAME>MISC_OUTBOUND_MAIN</call:P_PROCEDURE_NAME>";
// xml += "</call:InputParameters>";
// xml += "</soapenv:Body>";
// xml += "</soapenv:Envelope>";
// return xml;
//}
//#endregion
//#region 调用EBS Webservice 反馈报废和移库信息
//public static string getXmlData(string url, string xml, string method)
//{
// try
// {
// HttpWebRequest req = (HttpWebRequest)WebRequest.Create(String.Format("{0}/{1}", url, method));
// req.Headers.Add("SOAPAction", url);
// req.ContentType = "text/xml;charset=\"utf-8\"";
// req.Accept = "text/xml";
// req.Method = "POST";
// //是否和请求一起发送
// //req.UseDefaultCredentials = true;
// req.AllowWriteStreamBuffering = true;
// //写数据信息的流对象
// using (StreamWriter swMessages = new StreamWriter(req.GetRequestStream()))
// {
// //写入的流以XMl格式写入
// swMessages.Write(xml);
// swMessages.Flush();
// //关闭写入流
// swMessages.Close();
// }
// HttpWebResponse res;
// try
// {
// res = (HttpWebResponse)req.GetResponse();
// }
// catch (WebException ex)
// {
// res = (HttpWebResponse)ex.Response;
// throw new Exception(ex.Message);
// }
// StreamReader sr = new StreamReader(res.GetResponseStream(), Encoding.GetEncoding("utf-8"));
// String strHtml = sr.ReadToEnd();
// sr.Close();
// return strHtml;
// }
// catch (Exception e)
// {
// throw new Exception(e.ToString());
// }
//}
//#endregion
//#region 接收WCS任务状态信息 上报
///// <summary>
///// 接收WCS任务状态信息
///// </summary>
///// <returns></returns>]
//[HttpPost, Route("wms/executionPhase")]
//public HttpResponseMessage GetTaskFinishData([FromBody]JObject WmsInvIn)
//{
// string errText = string.Empty;
// ArrayList SqlList = new ArrayList();
// string mesJson = WmsInvIn.ToString().Trim();
// mesJson = mesJson.Replace(" ", "").ToString();
// T_Stock_InRequest.ReturnErrorData reerrdata = new T_Stock_InRequest.ReturnErrorData();
// Log.WriteLog("接收WCS任务状态信息" + mesJson);
// try
// {
// JObject strJo = (JObject)JsonConvert.DeserializeObject(mesJson);
// string taskId = strJo["taskId"].ToString().Trim();//任务编号
// string reportTime = strJo["reportTime"].ToString().Trim();//上报时间
// string taskStatus = strJo["taskStatus"].ToString().Trim();//任务状态
// // string reporInfo = strJo["reporInfo"].ToString().Trim();//异常原因
// string sts = "";
// switch (taskStatus)
// {
// case "0":
// sts = "4"; //任务接收
// break;
// case "1":
// sts = "5"; //任务开始
// break;
// case "7":
// sts = "6"; //任务中断
// break;
// case "8":
// sts = "8"; //任务结束
// break;
// default:
// sts = "9"; //默认配置
// break;
// }
// //更新入库出库表
// if (sts == "8")
// {
// sts = "2";
// }
// int Ckflag = 0;
// int Rkflag = 0;
// string sqlStr = "select * from T_CK_PICKINGWAVEGOODS where plcid='" + taskId + "' ";
// DataTable dt = OracleHelper.ExecuteDataset(OracleHelper.RemoteConnectionString, CommandType.Text, sqlStr).Tables[0];
// if (dt.Rows.Count > 0)
// {
// string TYPESTS = dt.Rows[0]["TYPESTS"].ToString();
// if (TYPESTS == "7")
// {
// sts = "3";
// }
// if (TYPESTS == "8")
// {
// sts = "4";
// }
// string strSql = "update T_CK_PICKINGWAVEGOODS set status='" + sts + "' where plcid='" + taskId + "'";
// Ckflag = OracleHelper.ExecuteNonQuery(OracleHelper.RemoteConnectionString, CommandType.Text, strSql);
// }
// sqlStr = "select * from T_ONGOODSSHELF where plcid='" + taskId + "'";
// dt = OracleHelper.ExecuteDataset(OracleHelper.RemoteConnectionString, CommandType.Text, sqlStr).Tables[0];
// if (dt.Rows.Count > 0)
// {
// string strSql1 = "update T_ONGOODSSHELF set status='" + sts + "' where plcid='" + taskId + "'";
// Rkflag = OracleHelper.ExecuteNonQuery(OracleHelper.RemoteConnectionString, CommandType.Text, strSql1);
// }
// if (errText.Length == 0)
// {
// if (Ckflag > 0 || Rkflag > 0)
// {
// reerrdata.returnInfo = "";
// reerrdata.returnStatus = "0";
// reerrdata.msgTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.sss");
// }
// else
// {
// reerrdata.returnInfo = "无效入出库订单号";
// reerrdata.returnStatus = "1";
// reerrdata.msgTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.sss");
// }
// }
// else
// {
// reerrdata.returnInfo = errText;
// reerrdata.returnStatus = "1";
// reerrdata.msgTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.sss");
// }
// }
// catch (Exception ex)
// {
// Log.WriteLog("接收WCS任务状态反馈数据异常" + ex.Message.ToString());
// reerrdata.returnInfo = ex.Message.ToString();
// reerrdata.returnStatus = "0";
// reerrdata.msgTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.sss");
// }
// string strJson2 = JsonConvert.SerializeObject(reerrdata);
// HttpResponseMessage result = new HttpResponseMessage
// {
// Content = new StringContent(strJson2, System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
// };
// return result;
//}
//#endregion
//#region 接收WCS反馈入库口货物高度
///// <summary>
///// 接收WCS反馈入库口货物高度
///// </summary>
///// <returns></returns>]
//[HttpPost, Route("api/GetCtlHeight")]
//public HttpResponseMessage GetCtlHeight([FromBody]JObject WmsInvIn)
//{
// string errText = string.Empty;
// ArrayList SqlList = new ArrayList();
// string mesJson = WmsInvIn.ToString().Trim();
// mesJson = mesJson.Replace(" ", "").ToString();
// T_Stock_InRequest.ReturnErrorData reerrdata = new T_Stock_InRequest.ReturnErrorData();
// Log.WriteLog("接收WCS反馈入库口货物高度" + mesJson);
// try
// {
// //字段待定义
// JObject strJo = (JObject)JsonConvert.DeserializeObject(mesJson);
// string decid = strJo["taskId"].ToString().Trim();//站台号
// string height = strJo["reportTime"].ToString().Trim();//高度 1为1-2层高度 2为三层高度 3 为异常高度 不下发任务
// string taskStatus = strJo["taskStatus"].ToString().Trim();//出库单号
// string reporInfo = strJo["reporInfo"].ToString().Trim();//异常原因
// //插入入库站台高度采集表
// string strSql1 = "update T_DECNAME set HGT='" + height + "' where DECID='" + decid + "'";
// // int Ckflag = OracleHelper.ExecuteNonQuery(CommandType.Text, strSql);
// int Rkflag = OracleHelper.ExecuteNonQuery(CommandType.Text, strSql1);
// if (errText.Length == 0)
// {
// if (Rkflag > 0)
// {
// reerrdata.returnInfo = "";
// reerrdata.returnStatus = "1";
// reerrdata.msgTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.sss");
// }
// else
// {
// reerrdata.returnInfo = "高度更新失败";
// reerrdata.returnStatus = "0";
// reerrdata.msgTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.sss");
// }
// }
// else
// {
// reerrdata.returnInfo = errText;
// reerrdata.returnStatus = "0";
// reerrdata.msgTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.sss");
// }
// }
// catch (Exception ex)
// {
// Log.WriteLog("接收WCS反馈入库口货物高度" + ex.Message.ToString());
// reerrdata.returnInfo = ex.Message.ToString();
// reerrdata.returnStatus = "0";
// reerrdata.msgTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.sss");
// }
// string strJson2 = JsonConvert.SerializeObject(reerrdata);
// HttpResponseMessage result = new HttpResponseMessage
// {
// Content = new StringContent(strJson2, System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
// };
// return result;
//}
//#endregion
//#region 接收WCS拆叠盘入出库信息
///// <summary>
///// 接收WCS拆叠盘入出库信息
///// </summary>
///// <returns></returns>]
//[HttpPost, Route("api/GetCDTask")]
//public HttpResponseMessage GetCDTask([FromBody]JObject WmsInvIn)
//{
// string errText = string.Empty;
// ArrayList SqlList = new ArrayList();
// string mesJson = WmsInvIn.ToString().Trim();
// mesJson = mesJson.Replace(" ", "").ToString();
// T_Stock_InRequest.ReturnErrorData reerrdata = new T_Stock_InRequest.ReturnErrorData();
// Log.WriteLog("接收WCS拆叠盘入出库信息" + mesJson);
// try
// {
// //字段待定义
// JObject strJo = (JObject)JsonConvert.DeserializeObject(mesJson);
// string decid = strJo["taskId"].ToString().Trim();//站台号
// string height = strJo["reportTime"].ToString().Trim();//高度 1为1层高度 2为二层高度 3 为异常高度 不下发任务
// string taskStatus = strJo["taskStatus"].ToString().Trim();//出库单号
// string reporInfo = strJo["reporInfo"].ToString().Trim();//异常原因
// //插入入库站台高度采集表
// string strSql1 = "update T_DECNAME set HGT='" + height + "' where DECID='" + decid + "'";
// // int Ckflag = OracleHelper.ExecuteNonQuery(CommandType.Text, strSql);
// int Rkflag = OracleHelper.ExecuteNonQuery(CommandType.Text, strSql1);
// if (errText.Length == 0)
// {
// if (Rkflag > 0)
// {
// reerrdata.returnInfo = "";
// reerrdata.returnStatus = "1";
// reerrdata.msgTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.sss");
// }
// else
// {
// reerrdata.returnInfo = "高度更新失败";
// reerrdata.returnStatus = "0";
// reerrdata.msgTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.sss");
// }
// }
// else
// {
// reerrdata.returnInfo = errText;
// reerrdata.returnStatus = "0";
// reerrdata.msgTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.sss");
// }
// }
// catch (Exception ex)
// {
// Log.WriteLog("接收WCS拆叠盘入出库信息" + ex.Message.ToString());
// reerrdata.returnInfo = ex.Message.ToString();
// reerrdata.returnStatus = "0";
// reerrdata.msgTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.sss");
// }
// string strJson2 = JsonConvert.SerializeObject(reerrdata);
// HttpResponseMessage result = new HttpResponseMessage
// {
// Content = new StringContent(strJson2, System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
// };
// return result;
//}
//#endregion
//#region 任务入库申请接口
///// <summary>
///// 任务入库申请接口
///// </summary>
///// <returns></returns>]
//[HttpPost, Route("wms/taskApply")]
//public HttpResponseMessage GetTaskApply([FromBody]JObject WmsInvIn)
//{
// lock ("a")
// {
// string errText = string.Empty;
// ArrayList SqlList = new ArrayList();
// string mesJson = WmsInvIn.ToString().Trim();
// mesJson = mesJson.Replace(" ", "").ToString();
// T_Stock_InRequest.ReturnErrorData reerrdata = new T_Stock_InRequest.ReturnErrorData();
// Log.WriteLog("接收WCS任务入库申请" + mesJson);
// try
// {
// JObject strJo = (JObject)JsonConvert.DeserializeObject(mesJson);
// string applyTime = strJo["applyTime"].ToString().Trim();//申请时间
// string fromPort = strJo["fromPort"].ToString().Trim();//入库口编号
// string barCode = strJo["barCode"].ToString().Trim();//托盘码
// string cargoHeight = strJo["cargoHeight"].ToString().Trim();//货物高度
// string cargoWeight = strJo["cargoWeight"].ToString().Trim();//货物重量
// //string height = "";
// //if (cargoHeight == "1")
// //{
// // cargoHeight = "2";
// //}
// //cargoHeight = "3";
// //if (cargoHeight == "3")
// //{
// // if (percent >= locaionheight)
// // {
// // height = "3";
// // }
// // else
// // {
// // height = "2";
// // }
// //}
// //if (cargoHeight == "2")
// //{
// // if (percent >= locaionheight)
// // {
// // height = "3";
// // }
// // else
// // {
// // height = "2";
// // }
// //}
// //if (cargoHeight == "1")
// //{
// // if (percent >= locaionheight)
// // {
// // cargoHeight = "2";
// // percent = locationPercent(cargoHeight);
// // locaionheight = locationSort(cargoHeight);
// // if (percent >= locaionheight)
// // {
// // height = "3";
// // }
// // else
// // {
// // height = "2";
// // }
// // }
// // else
// // {
// // height = "1";
// // }
// //}
// //if (cargoHeight == "2")
// //{
// // if (percent >= locaionheight)
// // {
// // height = "3";
// // }
// // else
// // {
// // height = "2";
// // }
// //}
// //cargoHeight = height;
// string storage_id = string.Empty;
// string location_id = string.Empty;
// string strJSONsend = string.Empty;
// string strSql = "select STS from T_DECNAME where decid='" + fromPort + "'";
// int mode = 0;
// if (fromPort == "A1" || fromPort == "A4")
// {
// mode = 3;
// }
// else
// {
// mode = int.Parse(OracleHelper.ExecuteScalar(OracleHelper.RemoteConnectionString, CommandType.Text, strSql).ToString());
// }
// if (mode == 0)
// {
// string cpj = "";
// if (fromPort == "A2")
// {
// cpj = "JW-12-40-01";
// }
// if (fromPort == "A3")
// {
// cpj = "JW-17-40-01";
// }
// JArray ja = new JArray();
// JObject jo = new JObject
// (
// new JProperty("taskId", "TRAN" + Guid.NewGuid().ToString()),
// new JProperty("taskType", "8"),
// new JProperty("startNode", fromPort),
// new JProperty("endNode", cpj),
// new JProperty("barCode", "1"),
// new JProperty("order", "0")
// );
// ja.Add(jo);
// JObject joReturn = new JObject
// (
// new JProperty("groupId", "TRAN" + Guid.NewGuid().ToString()),
// new JProperty("msgTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.sss")),
// new JProperty("priorityCode", "1"),
// new JProperty("district", "JXJW"),
// new JProperty("tasks", ja)
// );
// strJSONsend = joReturn.ToString();
// Log.WriteLog("发送WCS入库任务" + strJSONsend);
// string resJson = PostJSON("http://10.50.68.61:8082/fromWms/taskReceive", strJSONsend, ref errText);
// Log.WriteLog("WCS任务接收接口返回JSON" + resJson);
// JObject strJo2 = (JObject)JsonConvert.DeserializeObject(resJson);
// string returnStatus = strJo2["returnStatus"].ToString().Trim();//请求结果
// string returnInfo = strJo2["returnInfo"].ToString().Trim();//请求结果描述
// }
// else if (mode == 1 || mode == 3)
// {
// strSql = "select * from T_ONGOODSSHELF where (STORAGE_ID ='JXJW' or STORAGE_ID= 'JXJWTH') and DECID='" + fromPort + "' and status=1 ";
// DataSet decIddt = OracleHelper.ExecuteDataset(OracleHelper.RemoteConnectionString, CommandType.Text, strSql);
// if (decIddt.Tables[0].Rows.Count > 0)
// {
// string STORAGE_ID = decIddt.Tables[0].Rows[0]["STORAGE_ID"].ToString();
// string STORAGE_MODE = decIddt.Tables[0].Rows[0]["STORAGE_MODE"].ToString();
// string STORAGE_AREA_ID = decIddt.Tables[0].Rows[0]["STORAGE_AREA_ID"].ToString();
// string plcid = decIddt.Tables[0].Rows[0]["PLCID"].ToString();
// string getlock = GetLock();
// if (locationPercent(cargoHeight, STORAGE_AREA_ID) > 80)
// {
// cargoHeight = "3";
// }
// if (STORAGE_MODE.Length == 0)
// {
// if (fromPort == "A1" || fromPort == "A4")
// {
// strSql = "select STS from T_DECNAME where decid='A2'";
// int a1 = 0;
// a1 = int.Parse(OracleHelper.ExecuteScalar(OracleHelper.RemoteConnectionString, CommandType.Text, strSql).ToString());
// strSql = "select STS from T_DECNAME where decid='A3'";
// int a4 = 0;
// a4 = int.Parse(OracleHelper.ExecuteScalar(OracleHelper.RemoteConnectionString, CommandType.Text, strSql).ToString());
// if (a1 == 2 && a4 == 2)
// {
// strSql = "select * from T_BASE_STORAGE_AREA_LOCATION where location_height=3 and STORAGE_AREA_ID='" + STORAGE_AREA_ID + "' and STORAGE_ID='" + STORAGE_ID + "' and status='0' and location_id not in " + getlock + " order by sort ";
// }
// else
// {
// strSql = "select * from T_BASE_STORAGE_AREA_LOCATION where location_height='" + cargoHeight + "' and STORAGE_AREA_ID='" + STORAGE_AREA_ID + "' and STORAGE_ID='" + STORAGE_ID + "' and status='0' and location_id not in " + getlock + " order by sort ";
// }
// }
// else
// {
// strSql = "select * from T_BASE_STORAGE_AREA_LOCATION where location_height='" + cargoHeight + "' and STORAGE_AREA_ID='" + STORAGE_AREA_ID + "' and STORAGE_ID='" + STORAGE_ID + "' and status='0' and location_id not in " + getlock + " order by sort ";
// }
// }
// if (STORAGE_MODE == "1")
// {
// strSql = "select * from T_BASE_STORAGE_AREA_LOCATION where location_height=3 and STORAGE_ID='" + STORAGE_ID + "' and status='0' and location_id not in " + getlock + " order by sort ";
// }
// Log.WriteLog("入库申请库位 SQL" + strSql);
// DataSet ds = OracleHelper.ExecuteDataset(OracleHelper.RemoteConnectionString, CommandType.Text, strSql);
// if (ds != null)
// {
// DataTable dt = ds.Tables[0];
// if (dt != null)
// {
// if (dt.Rows.Count == 0)
// {
// cargoHeight = "3";
// strSql = "select * from T_BASE_STORAGE_AREA_LOCATION where location_height='" + cargoHeight + "' and STORAGE_AREA_ID='" + STORAGE_AREA_ID + "' and STORAGE_ID='" + STORAGE_ID + "' and status='0' and location_id not in " + getlock + " order by sort ";
// ds = OracleHelper.ExecuteDataset(OracleHelper.RemoteConnectionString, CommandType.Text, strSql);
// dt = ds.Tables[0];
// }
// if (dt.Rows.Count > 0)
// {
// string cpj = "";
// if (fromPort == "A2")
// {
// cpj = "JW-12-40-01";
// }
// if (fromPort == "A3")
// {
// cpj = "JW-17-40-01";
// }
// storage_id = dt.Rows[0]["storage_id"].ToString();
// location_id = dt.Rows[0]["location_id"].ToString();
// //strSql = "select seq_plc_taskval.nextval from dual";
// //string Plcid = OracleHelper.ExecuteScalar(OracleHelper.RemoteConnectionString, CommandType.Text, strSql).ToString();
// JArray ja = new JArray();
// JObject jo = new JObject
// (
// new JProperty("taskId", plcid),
// new JProperty("taskType", "0"),
// new JProperty("startNode", fromPort),
// new JProperty("endNode", location_id),
// new JProperty("barCode", "1"),
// new JProperty("order", "0")
// );
// //ja.Add(jo1);
// ja.Add(jo);
// JObject joReturn = new JObject
// (
// new JProperty("groupId", plcid),
// new JProperty("msgTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.sss")),
// new JProperty("priorityCode", "1"),
// new JProperty("district", "JXJW"),
// new JProperty("tasks", ja)
// );
// strJSONsend = joReturn.ToString();
// Log.WriteLog(strJSONsend);
// string resJson = PostJSON("http://10.50.68.61:8082/fromWms/taskReceive", strJSONsend, ref errText);
// Log.WriteLog("任务接收接口返回JSON" + resJson);
// JObject strJo2 = (JObject)JsonConvert.DeserializeObject(resJson);
// string returnStatus = strJo2["returnStatus"].ToString().Trim();//请求结果
// string returnInfo = strJo2["returnInfo"].ToString().Trim();//请求结果描述
// OracleTransaction transaction = OracleHelper.BeginTransaction(OracleHelper.RemoteConnectionString);
// if (returnStatus == "0")//成功
// {
// string SqlStr = "update T_BASE_STORAGE_AREA_LOCATION set status='1' where location_id='" + location_id + "' and storage_id='" + storage_id + "' ";
// OracleHelper.ExecuteNonQuery(transaction, SqlStr);
// SqlStr = "update T_ONGOODSSHELF set location_id = '" + location_id + "',status=3 where plcid='" + plcid + "'";
// OracleHelper.ExecuteNonQuery(transaction, SqlStr);
// OracleHelper.CommitTransaction(transaction);
// reerrdata.returnInfo = "";
// reerrdata.returnStatus = "0";
// reerrdata.msgTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.sss");
// }
// else
// {
// OracleHelper.RollbackTransaction(transaction);
// reerrdata.returnInfo = returnInfo;
// reerrdata.returnStatus = "1";
// reerrdata.msgTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.sss");
// }
// }
// else
// {
// reerrdata.returnInfo = "无空库位";
// reerrdata.returnStatus = "1";
// reerrdata.msgTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.sss");
// }
// }
// else
// {
// reerrdata.returnInfo = "无空库位";
// reerrdata.returnStatus = "1";
// reerrdata.msgTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.sss");
// }
// }
// }
// else
// {
// reerrdata.returnInfo = fromPort + "口,没有任务";
// reerrdata.returnStatus = "1";
// reerrdata.msgTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.sss");
// }
// }
// else if (mode == 2)
// {
// string cpj = "";
// if (fromPort == "A2")
// {
// cpj = "JW-12-40-01";
// }
// if (fromPort == "A3")
// {
// cpj = "JW-17-40-01";
// }
// JArray ja = new JArray();
// JObject jo = new JObject
// (
// new JProperty("taskId", "TRAN" + Guid.NewGuid().ToString()),
// new JProperty("taskType", "8"),
// new JProperty("startNode", fromPort),
// new JProperty("endNode", cpj),
// new JProperty("barCode", "1"),
// new JProperty("order", "0")
// );
// ja.Add(jo);
// JObject joReturn = new JObject
// (
// new JProperty("groupId", "TRAN" + Guid.NewGuid().ToString()),
// new JProperty("msgTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.sss")),
// new JProperty("priorityCode", "1"),
// new JProperty("district", "JXJW"),
// new JProperty("tasks", ja)
// );
// strJSONsend = joReturn.ToString();
// Log.WriteLog(strJSONsend);
// string resJson = PostJSON("http://10.50.68.61:8082/fromWms/taskReceive", strJSONsend, ref errText);
// Log.WriteLog("任务接收接口返回JSON" + resJson);
// JObject strJo2 = (JObject)JsonConvert.DeserializeObject(resJson);
// string returnStatus = strJo2["returnStatus"].ToString().Trim();//请求结果
// string returnInfo = strJo2["returnInfo"].ToString().Trim();//请求结果描述
// }
// }
// catch (Exception ex)
// {
// Log.WriteLog("接收任务入库申请" + ex.Message.ToString());
// reerrdata.returnInfo = ex.Message.ToString();
// reerrdata.returnStatus = "1";
// reerrdata.msgTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.sss");
// }
// string strJson2 = JsonConvert.SerializeObject(reerrdata);
// HttpResponseMessage result = new HttpResponseMessage
// {
// Content = new StringContent(strJson2, System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
// };
// return result;
// }
//}
//#endregion
//#region 空托盘入库
///// <summary>
///// 空托盘入库申请接口
///// </summary>
///// <returns></returns>]
//[HttpPost, Route("wms/emptyPalletApply")]
//public HttpResponseMessage emptyPalletApply([FromBody]JObject emptyPalletApply)
//{
// string errText = string.Empty;
// ArrayList SqlList = new ArrayList();
// string mesJson = emptyPalletApply.ToString().Trim();
// mesJson = mesJson.Replace(" ", "").ToString();
// T_Stock_InRequest.ReturnErrorData reerrdata = new T_Stock_InRequest.ReturnErrorData();
// Log.WriteLog("接收任务入库申请:" + mesJson);
// try
// {
// JObject strJo = (JObject)JsonConvert.DeserializeObject(mesJson);
// string applyTime = strJo["applyTime"].ToString().Trim();//申请时间
// string fromPort = strJo["fromPort"].ToString().Trim();//入库口编号
// string taskType = strJo["taskType"].ToString().Trim();//数量
// string palletNum = strJo["palletNum"].ToString().Trim();//货物高度
// string storage_id = string.Empty;
// string location_id = string.Empty;
// string strJSONsend = string.Empty;
// if (taskType == "0")
// {
// string strSql = "select * from T_BASE_STORAGE_AREA_LOCATION where location_height='3' and status='0' and islock='1' order by sort ";
// DataSet ds = OracleHelper.ExecuteDataset(OracleHelper.RemoteConnectionString, CommandType.Text, strSql);
// if (ds != null)
// {
// DataTable dt = ds.Tables[0];
// if (dt != null)
// {
// if (dt.Rows.Count > 0)
// {
// OracleTransaction transaction = OracleHelper.BeginTransaction(OracleHelper.RemoteConnectionString);
// storage_id = dt.Rows[0]["storage_id"].ToString();
// location_id = dt.Rows[0]["location_id"].ToString();
// strSql = "select seq_plc_taskval.nextval from dual";
// string Plcid = OracleHelper.ExecuteScalar(OracleHelper.RemoteConnectionString, CommandType.Text, strSql).ToString();
// string userId = "wcs";//用户id
// string formId = "JXJW";
// string Lotid = "SJ" + DateTime.Now.ToString("yyyymmddhhmmsssss");
// string outbarcode = "";
// string itmcode = "00000";
// string itmversion = "";
// //string itmname = dt.Rows[i]["itmname"].ToString();
// string datecode = "";
// string storename = "";
// string fbgtype = "";
// // string fgbno = dt.Rows[i]["fgbno"].ToString();
// string qty = palletNum;
// JArray ja = new JArray();
// JObject jo = new JObject
// (
// new JProperty("taskId", Plcid),
// new JProperty("taskType", taskType),
// new JProperty("startNode", fromPort),
// new JProperty("endNode", location_id),
// new JProperty("barCode", "1"),
// new JProperty("order", "0")
// );
// ja.Add(jo);
// JObject joReturn = new JObject
// (
// new JProperty("groupId", Plcid),
// new JProperty("msgTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.sss")),
// new JProperty("priorityCode", "1"),
// new JProperty("district", "JXJW"),
// new JProperty("tasks", ja)
// );
// strJSONsend = joReturn.ToString();
// Log.WriteLog(strJSONsend);
// string resJson = PostJSON("http://10.50.68.61:8082/fromWms/taskReceive", strJSONsend, ref errText);
// Log.WriteLog("任务接收接口返回JSON" + resJson);
// JObject strJo2 = (JObject)JsonConvert.DeserializeObject(resJson);
// string returnStatus = strJo2["returnStatus"].ToString().Trim();//请求结果
// string returnInfo = strJo2["returnInfo"].ToString().Trim();//请求结果描述
// if (returnStatus == "0")//成功
// {
// string SqlStr = "insert into T_ONGOODSSHELF(LOT_ID,GOODSID,STO_NUM,ACC_NUM,SHELF_NUM,STOCK_NUM,Ondate,Onshelfuserid,Storage_Id,STORAGE_AREA_ID,GOODS_MEASURE_ID,Status,barcode,BAOZHIQI,REMARK,DECID,TASKTYPE,LOCATION_ID,PLCID) values('" + Lotid + "','" + itmcode + "'," + qty + "," + qty + "," + qty + "," + qty + ",SYSDATE,'" + userId + "','" + formId + "','" + storename + "','" + itmversion + "','0','" + outbarcode + "','" + fbgtype + "','" + datecode + "','" + fromPort + "','1','" + location_id + "','" + Plcid + "')";
// OracleHelper.ExecuteNonQuery(transaction, CommandType.Text, SqlStr);
// SqlStr = "update T_BASE_STORAGE_AREA_LOCATION set status='1' where location_id='" + location_id + "' and storage_id='" + storage_id + "' ";
// OracleHelper.ExecuteNonQuery(transaction, SqlStr);
// OracleHelper.CommitTransaction(transaction);
// reerrdata.returnInfo = "";
// reerrdata.returnStatus = "0";
// reerrdata.msgTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.sss");
// }
// else
// {
// OracleHelper.RollbackTransaction(transaction);
// reerrdata.returnInfo = returnInfo;
// reerrdata.returnStatus = "1";
// reerrdata.msgTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.sss");
// }
// }
// else
// {
// reerrdata.returnInfo = "无空库位";
// reerrdata.returnStatus = "1";
// reerrdata.msgTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.sss");
// }
// }
// else
// {
// reerrdata.returnInfo = "无空库位";
// reerrdata.returnStatus = "1";
// reerrdata.msgTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.sss");
// }
// }
// }
// if (taskType == "1")
// {
// string strSql = "select * from T_MI_STOCK a left join t_base_storage_area_location b on a.location_id=b.location_id where a.GOODS_ID='00000' and a.sts=0 order by b.sort desc ";
// DataSet ds = OracleHelper.ExecuteDataset(OracleHelper.RemoteConnectionString, CommandType.Text, strSql);
// if (ds != null)
// {
// DataTable dt = ds.Tables[0];
// if (dt != null)
// {
// if (dt.Rows.Count > 0)
// {
// storage_id = dt.Rows[0]["storage_id"].ToString();
// location_id = dt.Rows[0]["location_id"].ToString();
// strSql = "select seq_plc_taskval.nextval from dual";
// string Plcid = OracleHelper.ExecuteScalar(OracleHelper.RemoteConnectionString, CommandType.Text, strSql).ToString();
// string Lotid = "CK" + DateTime.Now.ToString("yyyymmddhhmmsssss");
// string qty = palletNum;
// List<MIStockModel> goodsinfo = DataCommon.ConvertHelper<MIStockModel>.ConvertToList(dt);
// OracleTransaction transaction = OracleHelper.BeginTransaction(OracleHelper.RemoteConnectionString);
// strSql = "insert into T_CK_PICKINGWAVEGOODS(PICKINGID,PUTIN_ID,GOOD_ID,LOC_ID,GOODS_NUM,REMARK,PICKING_NUM,BARCODE,STORAGE_ID,STORAGE_AREA_ID,GOODS_NUM_SJ,STATUS,CK_TYPE,TYPESTS,CUSTOMERMEMBERID,PLCID,OUTSTAND) ";
// strSql += " values('" + Lotid + "','" + location_id + "','" + goodsinfo[0].GOODS_ID + "','" + goodsinfo[0].LOCATION_ID + "','" + goodsinfo[0].SHELVES_NUM + "','" + goodsinfo[0].REMARK + "','" + goodsinfo[0].SHELVES_NUM + "','" + goodsinfo[0].BARCODE + "','" + goodsinfo[0].STORAGE_ID + "','" + goodsinfo[0].AREA_ID + "','" + goodsinfo[0].SHELVES_NUM + "','1','FXCK','0','wcs','" + Plcid + "','" + fromPort + "')";
// int returnStatus = OracleHelper.ExecuteNonQuery(transaction, CommandType.Text, strSql);
// if (returnStatus > 0)//成功
// {
// string SqlStr = "update T_MI_STOCK set STS=1 where LOCATION_ID='" + location_id + "' ";
// OracleHelper.ExecuteNonQuery(transaction, SqlStr);
// OracleHelper.CommitTransaction(transaction);
// reerrdata.returnInfo = "";
// reerrdata.returnStatus = "0";
// reerrdata.msgTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.sss");
// }
// else
// {
// OracleHelper.RollbackTransaction(transaction);
// reerrdata.returnInfo = "申请失败";
// reerrdata.returnStatus = "1";
// reerrdata.msgTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.sss");
// }
// }
// else
// {
// reerrdata.returnInfo = "无空库位";
// reerrdata.returnStatus = "1";
// reerrdata.msgTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.sss");
// }
// }
// else
// {
// reerrdata.returnInfo = "无空库位";
// reerrdata.returnStatus = "1";
// reerrdata.msgTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.sss");
// }
// }
// }
// }
// catch (Exception ex)
// {
// Log.WriteLog("接收任务入库申请" + ex.Message.ToString());
// reerrdata.returnInfo = ex.Message.ToString();
// reerrdata.returnStatus = "1";
// reerrdata.msgTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.sss");
// }
// string strJson2 = JsonConvert.SerializeObject(reerrdata);
// HttpResponseMessage result = new HttpResponseMessage
// {
// Content = new StringContent(strJson2, System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
// };
// return result;
//}
//#endregion
//#region HTTP通讯
//private string PostJSON(string url, string strPost, ref string errText)
//{
// errText = string.Empty;
// string result = string.Empty;
// //生成文件流
// byte[] buffer = Encoding.UTF8.GetBytes(strPost);
// //向流中写字符串
// StreamWriter mywriter = null;
// //根据url创建请求对象
// HttpWebRequest objrequest = (HttpWebRequest)WebRequest.Create(url);
// //设置发送方式
// objrequest.Method = "POST";
// //提交长度
// objrequest.ContentLength = buffer.Length;
// //发送内容格式
// objrequest.ContentType = "application/json";
// try
// {
// mywriter = new StreamWriter(objrequest.GetRequestStream());
// mywriter.Write(strPost);
// }
// catch (Exception ex)
// {
// errText = ex.Message;
// result = "发送JSON失败!";
// }
// finally
// {
// mywriter.Close();
// }
// //读取服务器返回信息c
// HttpWebResponse objresponse = (HttpWebResponse)objrequest.GetResponse();
// using (StreamReader sr = new StreamReader(objresponse.GetResponseStream()))
// {
// result = sr.ReadToEnd();
// sr.Close();
// }
// return result;
//}
//#endregion
//#region
//public string GetLock()
//{
// string SqlStr = "('1',";
// string locid = string.Empty;
// try
// {
// string strSql = "select distinct LOCATION_ID from t_ongoodsshelf where (storage_id='JXJW' or storage_id='JXJWTH')";
// string strSqlCk = "select distinct LOC_ID from T_CK_PICKINGWAVEGOODS where (storage_id='JXJW' or storage_id='JXJWTH') and length(pickingid)<21 ";
// string strSqlOutstand = "select distinct outstand from T_CK_PICKINGWAVEGOODS where (storage_id='JXJW' or storage_id='JXJWTH') and substr(outstand,1,1)='J' ";
// #region 排斥正在入库大库位
// DataSet ds = OracleHelper.ExecuteDataset(OracleHelper.RemoteConnectionString, CommandType.Text, strSql);
// if (ds != null)
// {
// DataTable dt = ds.Tables[0];
// if (dt != null)
// {
// if (dt.Rows.Count > 0)
// {
// for (int i = 0; i < dt.Rows.Count; i++)
// {
// locid = dt.Rows[i]["LOCATION_ID"].ToString().Trim();
// if (locid != string.Empty)
// {
// Log.WriteLog("正在入库库位" + locid);
// string lockloc = string.Empty;
// string Xloc = locid.Substring(3, 2).ToString();
// string Yloc = locid.Substring(6, 2).ToString();
// string Zloc = locid.Substring(locid.Length - 1, 1);
// if (int.Parse(Xloc) > 0 && int.Parse(Xloc) < 4)
// {
// for (int j = 1; j < 4; j++)
// {
// lockloc = "JW-" + j.ToString().PadLeft(2, '0') + "-" + Yloc + "-" + Zloc.PadLeft(2, '0');
// SqlStr += "'" + lockloc + "',";
// }
// }
// else if (int.Parse(Xloc) > 4 && int.Parse(Xloc) < 11)
// {
// for (int j = 5; j < 11; j++)
// {
// lockloc = "JW-" + j.ToString().PadLeft(2, '0') + "-" + Yloc + "-" + Zloc.PadLeft(2, '0');
// SqlStr += "'" + lockloc + "',";
// }
// }
// else if (int.Parse(Xloc) > 11 && int.Parse(Xloc) < 18)
// {
// for (int j = 12; j < 18; j++)
// {
// lockloc = "JW-" + j.ToString().PadLeft(2, '0') + "-" + Yloc + "-" + Zloc.PadLeft(2, '0');
// SqlStr += "'" + lockloc + "',";
// }
// }
// else if (int.Parse(Xloc) > 18 && int.Parse(Xloc) < 25)
// {
// for (int j = 19; j < 25; j++)
// {
// lockloc = "JW-" + j.ToString().PadLeft(2, '0') + "-" + Yloc + "-" + Zloc.PadLeft(2, '0');
// SqlStr += "'" + lockloc + "',";
// }
// }
// else if (int.Parse(Xloc) > 25 && int.Parse(Xloc) < 29)
// {
// for (int j = 26; j < 29; j++)
// {
// lockloc = "JW-" + j.ToString().PadLeft(2, '0') + "-" + Yloc + "-" + Zloc.PadLeft(2, '0');
// SqlStr += "'" + lockloc + "',";
// }
// }
// }
// }
// }
// }
// }
// #endregion
// #region 排斥正在出库大库位
// DataSet ckds = OracleHelper.ExecuteDataset(OracleHelper.RemoteConnectionString, CommandType.Text, strSqlCk);
// if (ckds != null)
// {
// DataTable dt2 = ckds.Tables[0];
// if (dt2 != null)
// {
// if (dt2.Rows.Count > 0)
// {
// //排斥正在出库任务与入库寻找货位时 寻找同一大库位的情况
// for (int i = 0; i < dt2.Rows.Count; i++)
// {
// locid = dt2.Rows[i]["LOC_ID"].ToString().Trim();
// if (locid != string.Empty)
// {
// string lockloc = string.Empty;
// string Xloc = locid.Substring(3, 2).ToString();
// string Yloc = locid.Substring(6, 2).ToString();
// string Zloc = locid.Substring(locid.Length - 1, 1);
// if (int.Parse(Xloc) > 0 && int.Parse(Xloc) < 4)
// {
// for (int j = 1; j < 4; j++)
// {
// lockloc = "JW-" + j.ToString().PadLeft(2, '0') + "-" + Yloc + "-" + Zloc.PadLeft(2, '0');
// SqlStr += "'" + lockloc + "',";
// }
// }
// else if (int.Parse(Xloc) > 4 && int.Parse(Xloc) < 11)
// {
// for (int j = 5; j < 11; j++)
// {
// lockloc = "JW-" + j.ToString().PadLeft(2, '0') + "-" + Yloc + "-" + Zloc.PadLeft(2, '0');
// SqlStr += "'" + lockloc + "',";
// }
// }
// else if (int.Parse(Xloc) > 11 && int.Parse(Xloc) < 18)
// {
// for (int j = 12; j < 18; j++)
// {
// lockloc = "JW-" + j.ToString().PadLeft(2, '0') + "-" + Yloc + "-" + Zloc.PadLeft(2, '0');
// SqlStr += "'" + lockloc + "',";
// }
// }
// else if (int.Parse(Xloc) > 18 && int.Parse(Xloc) < 25)
// {
// for (int j = 19; j < 25; j++)
// {
// lockloc = "JW-" + j.ToString().PadLeft(2, '0') + "-" + Yloc + "-" + Zloc.PadLeft(2, '0');
// SqlStr += "'" + lockloc + "',";
// }
// }
// else if (int.Parse(Xloc) > 25 && int.Parse(Xloc) < 29)
// {
// for (int j = 26; j < 29; j++)
// {
// lockloc = "JW-" + j.ToString().PadLeft(2, '0') + "-" + Yloc + "-" + Zloc.PadLeft(2, '0');
// SqlStr += "'" + lockloc + "',";
// }
// }
// }
// }
// }
// }
// }
// #endregion
// #region 排斥正在移库要到的库位
// DataSet ykoutstand = OracleHelper.ExecuteDataset(OracleHelper.RemoteConnectionString, CommandType.Text, strSqlOutstand);
// if (ykoutstand != null)
// {
// DataTable dt3 = ykoutstand.Tables[0];
// if (dt3 != null)
// {
// if (dt3.Rows.Count > 0)
// {
// //排斥正在出库任务与入库寻找货位时 寻找同一大库位的情况
// for (int i = 0; i < dt3.Rows.Count; i++)
// {
// locid = dt3.Rows[i]["OUTSTAND"].ToString().Trim();
// if (locid != string.Empty)
// {
// string lockloc = string.Empty;
// string Xloc = locid.Substring(3, 2).ToString();
// string Yloc = locid.Substring(6, 2).ToString();
// string Zloc = locid.Substring(locid.Length - 1, 1);
// if (int.Parse(Xloc) > 0 && int.Parse(Xloc) < 4)
// {
// for (int j = 1; j < 4; j++)
// {
// lockloc = "JW-" + j.ToString().PadLeft(2, '0') + "-" + Yloc + "-" + Zloc.PadLeft(2, '0');
// SqlStr += "'" + lockloc + "',";
// }
// }
// else if (int.Parse(Xloc) > 4 && int.Parse(Xloc) < 11)
// {
// for (int j = 5; j < 11; j++)
// {
// lockloc = "JW-" + j.ToString().PadLeft(2, '0') + "-" + Yloc + "-" + Zloc.PadLeft(2, '0');
// SqlStr += "'" + lockloc + "',";
// }
// }
// else if (int.Parse(Xloc) > 11 && int.Parse(Xloc) < 18)
// {
// for (int j = 12; j < 18; j++)
// {
// lockloc = "JW-" + j.ToString().PadLeft(2, '0') + "-" + Yloc + "-" + Zloc.PadLeft(2, '0');
// SqlStr += "'" + lockloc + "',";
// }
// }
// else if (int.Parse(Xloc) > 18 && int.Parse(Xloc) < 25)
// {
// for (int j = 19; j < 25; j++)
// {
// lockloc = "JW-" + j.ToString().PadLeft(2, '0') + "-" + Yloc + "-" + Zloc.PadLeft(2, '0');
// SqlStr += "'" + lockloc + "',";
// }
// }
// else if (int.Parse(Xloc) > 25 && int.Parse(Xloc) < 29)
// {
// for (int j = 26; j < 29; j++)
// {
// lockloc = "JW-" + j.ToString().PadLeft(2, '0') + "-" + Yloc + "-" + Zloc.PadLeft(2, '0');
// SqlStr += "'" + lockloc + "',";
// }
// }
// }
// }
// }
// }
// }
// #endregion
// }
// catch
// {
// }
// SqlStr = SqlStr.Substring(0, SqlStr.Length - 1);
// SqlStr += ")";
// return SqlStr;
//}
//private double locationSort(string height)
//{
// string sqlStr = "select t.sort from t_base_storage_area t where storage_id='" + height + "'";
// return double.Parse(OracleHelper.ExecuteScalar(OracleHelper.RemoteConnectionString, CommandType.Text, sqlStr).ToString());
//}
//private double locationPercent(string height, string storage_area_id)
//{
// string sqlStr = "select count(*) from T_BASE_STORAGE_AREA_LOCATION where location_height='" + height + "' AND STORAGE_AREA_ID='" + storage_area_id + "' ";
// double all = double.Parse(OracleHelper.ExecuteScalar(OracleHelper.RemoteConnectionString, CommandType.Text, sqlStr).ToString());
// sqlStr = "select count(*) from T_BASE_STORAGE_AREA_LOCATION where location_height='" + height + "' and location_id in (select location_id from T_MI_STOCK) AND STORAGE_AREA_ID='" + storage_area_id + "' ";
// double occupy = double.Parse(OracleHelper.ExecuteScalar(OracleHelper.RemoteConnectionString, CommandType.Text, sqlStr).ToString());
// return (occupy / all) * 100;
//}
//#endregion
//#region MES-WMS接口
//#region //2.1 物料请求出库
//[HttpPost, Route("Api/Wms/MaterialReq")]
//public HttpResponseMessage MaterialReq([FromBody] JObject MaterialReq)
//{
// lock ("MaterialReq")
// {
// JObject jo = new JObject(
// new JProperty("resultCode", ""),
// new JProperty("resultMessage", "")
// );
// string mesJson = MaterialReq.ToString().Trim();
// mesJson = mesJson.Replace(" ", "").ToString();
// Log.WriteLog("接收MES物料请求出库" + mesJson);
// ArrayList SqlList = new ArrayList();
// try
// {
// string strSqlAdd = "";
// string ORDER_ID = "CK" + DateTime.Now.ToString("yyyymmddhhmmsssss");
// JObject strJo = (JObject)JsonConvert.DeserializeObject(mesJson);
// //string userId = strJo["WmsOutvOut"]["userId"].ToString().Trim();//用户id
// //string formId = strJo["WmsOutvOut"]["formId"].ToString().Trim();//组织id
// //string locationId = strJo["WmsOutvOut"]["LocationId"].ToString().Trim();//货位编号
// string materialReq = strJo["materialReq"].ToString().Trim();//LIST信息
// DataTable dt = JsonConvert.DeserializeObject<DataTable>(materialReq);
// decimal sumsty = 0;
// if (dt.Rows.Count > 0)
// {
// for (int i = 0; i < dt.Rows.Count; i++)
// {
// string GOOD_ID = dt.Rows[i]["materialCode"].ToString();//物料编号
// string quantity= dt.Rows[i]["quantity"].ToString();//出库数量
// string subWarehouse = dt.Rows[i]["subWarehouse"].ToString();
// string STORAGE_AREA_ID = dt.Rows[i]["quantity"].ToString();//子库
// string strSql = "";
// DataSet ds = RegisterConTainer.CreateConTainerProcess.Get_T_MI_STOCK_GOODS_ID(GOOD_ID);
// if (ds!=null && ds.Tables[0].Rows.Count > 0)
// {
// Random dm = new Random();
// strSql = "insert into T_CK_ORDERDETAIL(ORDER_ID,GOOD_ID,GOODS_NUM,STORAGE_AREA_ID,CREATE_DATE)values('" + ORDER_ID + "','"+ GOOD_ID + "',"+ quantity + ",'"+ STORAGE_AREA_ID + "',sysdate)";
// SqlList.Add(strSql);
// }
// else
// {
// jo["resultCode"] = "1";
// jo["resultMessage"] = "物料编号:"+ GOOD_ID + " WMS无库存,不能出库!!!";
// HttpResponseMessage result2 = new HttpResponseMessage
// {
// Content = new StringContent(jo.ToString(), System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
// };
// return result2;
// }
// }
// strSqlAdd = "insert into T_CK_ORDERS(ORDER_ID,REMARK,CREATE_DATE,STATUS)values('" + ORDER_ID + "','2.1物料请求出库',sysdate,'0')";
// SqlList.Add(strSqlAdd);
// }
// string errText = "";
// if (RegisterConTainer.CreateConTainerProcess.ExecuteSqlTran(SqlList, ref errText) > 0)
// {
// jo["resultCode"] = "0";
// jo["resultMessage"] = "接收物料出库任务成功";
// }
// else
// {
// jo["resultCode"] = "1";
// jo["resultMessage"] = "接收物料出库任务失败:"+ errText;
// }
// }
// catch (Exception ex)
// {
// jo["resultCode"] = "1";
// jo["resultMessage"] = ex.Message;
// }
// HttpResponseMessage result = new HttpResponseMessage
// {
// Content = new StringContent(jo.ToString(), System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
// };
// return result;
// }
//}
//#endregion
//#region //2.2 物料冻结
//[HttpPost, Route("Api/Wms/MaterialFreeze")]
//public HttpResponseMessage MaterialFreeze([FromBody] JObject MaterialFreeze)
//{
// lock ("MaterialFreeze")
// {
// JObject jo = new JObject(
// new JProperty("resultCode", ""),
// new JProperty("resultMessage", "")
// );
// string mesJson = MaterialFreeze.ToString().Trim();
// mesJson = mesJson.Replace(" ", "").ToString();
// Log.WriteLog("接收MES物料冻结" + mesJson);
// ArrayList SqlList = new ArrayList();
// try
// {
// string strSqlAdd = "";
// string ORDER_ID = "CK" + DateTime.Now.ToString("yyyymmddhhmmsssss");
// JObject strJo = (JObject)JsonConvert.DeserializeObject(mesJson);
// //string userId = strJo["WmsOutvOut"]["userId"].ToString().Trim();//用户id
// //string formId = strJo["WmsOutvOut"]["formId"].ToString().Trim();//组织id
// //string locationId = strJo["WmsOutvOut"]["LocationId"].ToString().Trim();//货位编号
// string materialFreeze = strJo["materialFreeze"].ToString().Trim();//LIST信息
// DataTable dt = JsonConvert.DeserializeObject<DataTable>(materialFreeze);
// decimal sumsty = 0;
// if (dt.Rows.Count > 0)
// {
// for (int i = 0; i < dt.Rows.Count; i++)
// {
// string GOOD_ID = dt.Rows[i]["materialCode"].ToString();//物料编号
// //string quantity = dt.Rows[i]["quantity"].ToString();//出库数量
// //string subWarehouse = dt.Rows[i]["subWarehouse"].ToString();
// //string STORAGE_AREA_ID = dt.Rows[i]["quantity"].ToString();//子库
// string strSql = "select * from T_MI_STOCK where GOODS_ID='" + GOOD_ID + "' and sts=0";
// DataSet ds = RegisterConTainer.CreateConTainerProcess.Get_T_MI_STOCK_GOODS_ID(GOOD_ID);
// if (ds != null && ds.Tables[0].Rows.Count > 0)
// {
// strSql = "update T_MI_STOCK set sts=2 where GOODS_ID='" + GOOD_ID + "'";
// SqlList.Add(strSql);
// }
// else
// {
// jo["resultCode"] = "1";
// jo["resultMessage"] = "物料编号:" + GOOD_ID + " WMS无库存,不能冻结!!!";
// HttpResponseMessage result2 = new HttpResponseMessage
// {
// Content = new StringContent(jo.ToString(), System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
// };
// return result2;
// }
// }
// }
// string errText = "";
// if (RegisterConTainer.CreateConTainerProcess.ExecuteSqlTran(SqlList, ref errText) > 0)
// {
// jo["resultCode"] = "0";
// jo["resultMessage"] = "接收MES物料冻结成功";
// }
// else
// {
// jo["resultCode"] = "1";
// jo["resultMessage"] = "接收MES物料冻结失败:" + errText;
// }
// }
// catch (Exception ex)
// {
// jo["resultCode"] = "1";
// jo["resultMessage"] = ex.Message;
// }
// HttpResponseMessage result = new HttpResponseMessage
// {
// Content = new StringContent(jo.ToString(), System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
// };
// return result;
// }
//}
//#endregion
//#region //2.3 物料库存查询
//[HttpPost, Route("Api/Wms/GetStockInfo")]
//public HttpResponseMessage GetStockInfo([FromBody] JObject GetStockInfo)
//{
// lock ("GetStockInfo")
// {
// JObject jo = new JObject(
// new JProperty("resultCode", ""),
// new JProperty("resultMessage", ""),
// new JProperty("TotalQuantity", ""),
// new JProperty("FreeQuantity", "")
// );
// string mesJson = GetStockInfo.ToString().Trim();
// mesJson = mesJson.Replace(" ", "").ToString();
// Log.WriteLog("接收MES物料库存查询" + mesJson);
// try
// {
// string ORDER_ID = "CK" + DateTime.Now.ToString("yyyymmddhhmmsssss");
// JObject strJo = (JObject)JsonConvert.DeserializeObject(mesJson);
// string GetStockInfoEntity = strJo["GetStockInfoEntity"].ToString().Trim();//LIST信息
// JObject strJo2 = (JObject)JsonConvert.DeserializeObject(GetStockInfoEntity);
// string GOOD_ID = strJo2["materialCode"].ToString().Trim();//物料编号
// DataSet ds = RegisterConTainer.CreateConTainerProcess.Get_T_MI_STOCK_GOODS_ID(GOOD_ID);
// if (ds != null && ds.Tables[0].Rows.Count > 0)
// {
// DataSet ds2 = RegisterConTainer.CreateConTainerProcess.Get_T_MI_STOCK_GOODS_ID_SUM(GOOD_ID);
// if (ds2 != null && ds2.Tables[0].Rows.Count > 0)
// {
// string TotalQuantity = ds2.Tables[0].Rows[0]["TotalQuantity"].ToString().Trim();
// string FreeQuantity = ds2.Tables[0].Rows[0]["FreeQuantity"].ToString().Trim();
// if (Convert.ToDecimal(TotalQuantity) > 0 && Convert.ToDecimal(FreeQuantity) > 0)
// {
// jo["resultCode"] = "0";
// jo["resultMessage"] = "成功";
// jo["TotalQuantity"] = Convert.ToDouble(TotalQuantity);//总库存
// jo["FreeQuantity"] = Convert.ToDouble(FreeQuantity);//可用库存数量
// }
// else
// {
// jo["resultCode"] = "1";
// jo["resultMessage"] = "物料编号:" + GOOD_ID + ",物料不存在或无库存";
// jo["TotalQuantity"] = Convert.ToDouble(TotalQuantity);//总库存
// jo["FreeQuantity"] = Convert.ToDouble(FreeQuantity);//可用库存数量
// }
// }
// }
// else
// {
// jo["resultCode"] = "1";
// jo["resultMessage"] = "物料编号:" + GOOD_ID + " WMS无库存!!!";
// jo["TotalQuantity"] = 0;//总库存
// jo["FreeQuantity"] = 0;//可用库存数量
// }
// }
// catch (Exception ex)
// {
// jo["resultCode"] = "E";
// jo["resultMessage"] = ex.Message;
// }
// HttpResponseMessage result = new HttpResponseMessage
// {
// Content = new StringContent(jo.ToString(), System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
// };
// return result;
// }
//}
[HttpPost, Route("api/wms/AGVTaskCancel")]
public HttpResponseMessage AGVCANEL([FromBody] JObject jsonData)
{
string errText = string.Empty;
ArrayList SqlList = new ArrayList();
MES_RESULT result_empty = new MES_RESULT();
string mesJson = JsonConvert.SerializeObject(jsonData);
try
{
string taskid = jsonData["taskCode"]?.ToString();//任务号
if (taskid != "" && taskid != null)
{
string sql_on = $"select * from T_ONGOODSSHELF where LOT_ID='{taskid}'";
DataSet data_on = OracleHelper.ExecuteDataset(CommandType.Text, sql_on);
if (data_on.Tables[0].Rows.Count > 0)
{
string strSql = $"delete T_ONGOODSSHELF where LOT_ID='" + taskid + "'AND STATUS=1";
try
{
int row = OracleHelper.ExecuteNonQuery(CommandType.Text, strSql);
if (row == 0)
{
Log.WriteLog($"删除入库任务{taskid}失败");
result_empty.resultCode = "0";
result_empty.resultMessage = "false";
Log.WriteLog($"删除任务失败,任务号{taskid}:" + result_empty);
}
else
{
Log.WriteLog($"删除入库任务{taskid}成功");
result_empty.resultCode = "1";
result_empty.resultMessage = "true";
Log.WriteLog($"删除任务成功,任务号{taskid}:" + result_empty);
}
}
catch (Exception ex)
{
Log.WriteLog(strSql);
}
}
string sql_out = $"select * from T_CK_PICKINGWAVEGOODS_BACK where PICKINGID='{taskid}'";
DataSet data_out = OracleHelper.ExecuteDataset(CommandType.Text, sql_out);
if (data_out.Tables[0].Rows.Count > 0)
{
string strSql = $"update T_CK_PICKINGWAVEGOODS_BACK set STATUS=10 where PICKINGID='" + taskid + "'";
try
{
int row = OracleHelper.ExecuteNonQuery(CommandType.Text, strSql);
if (row == 0)
{
Log.WriteLog($"更新出库任务{taskid}失败");
result_empty.resultCode = "0";
result_empty.resultMessage = "false";
Log.WriteLog($"删除任务失败,任务号{taskid}:" + result_empty);
}
else
{
Log.WriteLog($"更新出库任务{taskid}成功");
result_empty.resultCode = "1";
result_empty.resultMessage = "true";
Log.WriteLog($"删除任务成功,任务号{taskid}:" + result_empty);
}
}
catch (Exception ex)
{
Log.WriteLog(strSql);
}
}
}
else
{
result_empty.resultCode = "0";
result_empty.resultMessage = "false";
Log.WriteLog($"任务号异常,任务号{taskid}:" + result_empty);
}
}
catch (Exception ex)
{
Log.WriteLog("异常:" + ex + "实际接收内容:" + mesJson);
}
string strJson2 = JsonConvert.SerializeObject(result_empty);
HttpResponseMessage result = new HttpResponseMessage
{
Content = new StringContent(strJson2, System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
};
return result;
}
//#endregion
#region
#region MES物料退料退
[HttpPost, Route("Api/Wms/MaterialReturnForTest")]
public HttpResponseMessage MaterialReturn([FromBody] JObject jsonData)
{
string errText = string.Empty;
ArrayList SqlList = new ArrayList();
MES_RESULT result_empty = new MES_RESULT();
string mesJson = JsonConvert.SerializeObject(jsonData);
try
{
string lpnNo = jsonData["lpnNo"]?.ToString();//托盘号
string materialCode = jsonData["materialCode"]?.ToString();//物料号
string model = jsonData["model"]?.ToString();//测试架型号
string totalQuantity = jsonData["totalQuantity"]?.ToString();//总寿命
string usedQuantity = jsonData["usedQuantity"]?.ToString();//当前剩余寿命
string machineNo = jsonData["machineNo"]?.ToString();//地址
string istruereturn = jsonData["isTrueReturn"]?.ToString();//Y-实际退库N-虚拟退库
//string positionNo = jsonData["positionNo"]?.ToString();
Log.WriteLog($"MES-WMS退库任务箱号{lpnNo}测试架{model}:" + mesJson);
if (string.IsNullOrEmpty(lpnNo) ||
string.IsNullOrEmpty(totalQuantity) ||
string.IsNullOrEmpty(machineNo) ||
string.IsNullOrEmpty(usedQuantity))
{
result_empty.resultCode = "0";
result_empty.resultMessage = "异常,有必填项目为空";
Log.WriteLog("MES-WMS下发任务异常:" + result_empty);
}
else
{
//查询当前有没有ru库任务
try
{
if (RegisterConTainer.CreateConTainerProcess.SELECT_ONGOODS(lpnNo))
{
//生成一个任务号
string LOT_ID = "CK" + GenerateTaskId();
DateTime dateTime = DateTime.Now;
Random random = new Random();
string PLCID = random.Next(0, 30000).ToString();
//插入一条状态0的入库任务
if (RegisterConTainer.CreateConTainerProcess.INSERT_T_ONGOODS(LOT_ID, lpnNo, model, model, totalQuantity, usedQuantity, machineNo, "202", dateTime, istruereturn))
{
result_empty.resultCode = "1";
result_empty.resultMessage = "true";
Log.WriteLog($"MES-WMS下发任务成功任务号{LOT_ID}:" + result_empty);
}
}
else
{
result_empty.resultCode = "0";
result_empty.resultMessage = "异常,该托盘号已有入库任务";
Log.WriteLog("MES-WMS下发任务异常:" + result_empty);
}
}
catch
{
}
}
}
catch (Exception ex)
{
Log.WriteLog("异常:" + ex + "实际接收内容:" + mesJson);
}
string strJson2 = JsonConvert.SerializeObject(result_empty);
HttpResponseMessage result = new HttpResponseMessage
{
Content = new StringContent(strJson2, System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
};
return result;
}
[HttpPost, Route("agv.report")]
public HttpResponseMessage Error_Report([FromBody] JObject jsonData)
{
string errText = string.Empty;
ArrayList SqlList = new ArrayList();
ModAskFullCanIn result_empty = new ModAskFullCanIn();
string mesJson = JsonConvert.SerializeObject(jsonData);
try
{
string robotJobId = jsonData["body"]?["event"]?["robotJobId"]?.ToString();//任务号
string agvCode = jsonData["body"]?["event"]?["agvCode"]?.ToString();//AGV编号
string pointCode = jsonData["body"]?["event"]?["pointCode"]?.ToString();//AGV点位
string state = jsonData["body"]?["event"]?["state"]?.ToString();//状态
string errorCode = jsonData["body"]?["event"]?["errorCode"]?.ToString();//错误码
string errorType = jsonData["body"]?["event"]?["errorType"]?.ToString();//错误描述
Log.WriteLog("AGV上报信息:" + mesJson);
if (
string.IsNullOrEmpty(pointCode) ||
string.IsNullOrEmpty(agvCode))
{
result_empty.data = mesJson;
result_empty.success = false;
result_empty.message = "异常,有必填项目为空";
result_empty.code = "success";
Log.WriteLog("AGV上报信息:" + result_empty);
}
else
{
//更新进数据库
if (RegisterConTainer.CreateConTainerProcess.UPDATE_T_PICK_STATUS(agvCode, robotJobId, pointCode, state, errorCode, errorType))
{
Log.WriteLog("AGV上报信息已存入表内:" + mesJson);
result_empty.data = mesJson;
result_empty.success = true;
result_empty.message = "成功";
result_empty.code = "success";
}
}
}
catch (Exception ex)
{
Log.WriteLog("异常:" + ex + "实际接收内容:" + mesJson);
}
string strJson2 = JsonConvert.SerializeObject(result_empty);
HttpResponseMessage result = new HttpResponseMessage
{
Content = new StringContent(strJson2, System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
};
return result;
}
private static int _counter = 0; // 计数器初始值为0
public static string GenerateTaskId()
{
int currentCounter = Interlocked.Increment(ref _counter);
// 如果计数器超过了最大值则重置为0
if (currentCounter > 999999)
{
Interlocked.CompareExchange(ref _counter, 0, 999999); // 重置为0
currentCounter = 0; // 确保返回正确的ID
}
// 格式化为6位数的字符串前面补零
string formattedNumber = currentCounter.ToString("D6");
string date = DateTime.Now.ToString("yyyyMMddHHmmss");
// 返回完整的TaskId
return $"{date}{formattedNumber}";
}
#endregion
//#endregion
public class MES_RESULT
{
public string resultCode { get; set; }
public string resultMessage { get; set; }
}
#region RCS-WMS
//[HttpPost, Route("Api/Wms/CreateInstoreTask")]
public HttpResponseMessage CreateInstoreTask([FromBody] JObject CreateInstoreTask)
{
lock ("CreateInstoreTask")
{
JObject jo = new JObject(
new JProperty("code", ""),
new JProperty("wmstaskid", ""),
new JProperty("palletno", ""),
new JProperty("fromcellno", ""),
new JProperty("tocellno", ""),
new JProperty("message", "")
);
string mesJson = CreateInstoreTask.ToString().Trim();
mesJson = mesJson.Replace(" ", "").ToString();
Log.WriteLog("接收RCS-WMS入库申请货位" + mesJson);
ArrayList SqlList = new ArrayList();
try
{
string strSqlAdd = "";
//string ORDER_ID = "RK" + DateTime.Now.ToString("yyyymmddhhmmsssss");
JObject strJo = (JObject)JsonConvert.DeserializeObject(mesJson);
string requestid = strJo["requestid"].ToString().Trim();//用户id
string key = strJo["key"].ToString().Trim();//组织id
string palletno = strJo["palletno"].ToString().Trim();//托盘号
string fromcellno = strJo["fromcellno"].ToString().Trim();//入库口
string Height = strJo["height"].ToString().Trim();//入库口
DataSet ds = RegisterConTainer.CreateConTainerProcess.Get_T_ONGOODSSHELF_Ctl(palletno);
if (ds!=null && ds.Tables[0].Rows.Count>0)
{
string ORDER_ID= ds.Tables[0].Rows[0]["LOT_ID"].ToString().Trim();
DataSet ds2 = RegisterConTainer.CreateConTainerProcess.Get_T_BASE_STORAGE_AREA_LOCATION_LOCATION_ID(Height);
if (ds2 != null && ds2.Tables[0].Rows.Count > 0)
{
string LOCATION_ID = ds2.Tables[0].Rows[0][0].ToString();//"B19-38-02";//
strSqlAdd = @"UPDATE T_BASE_STORAGE_AREA_LOCATION SET status='1' where LOCATION_ID='" + LOCATION_ID + "'";
SqlList.Add(strSqlAdd);
Log.WriteLog("接收RCS-WMS入库申请SQL" + strSqlAdd);
strSqlAdd = @"UPDATE t_ongoodsshelf SET status='1',LOT_ID='" + ORDER_ID + "', LOCATION_ID='" + LOCATION_ID + "' where CTL='" + palletno + "'";
SqlList.Add(strSqlAdd);
Log.WriteLog("接收RCS-WMS入库申请SQL" + strSqlAdd);
jo["code"] = "200";
jo["wmstaskid"] = ORDER_ID;
jo["palletno"] = palletno;
jo["fromcellno"] = fromcellno;
jo["tocellno"] = LOCATION_ID;
jo["message"] = "成功";
}
else
{
jo["code"] = "400";
jo["wmstaskid"] = ORDER_ID;
jo["palletno"] = palletno;
jo["fromcellno"] = fromcellno;
jo["tocellno"] = "";
jo["message"] = "无可用货位";
}
if (SqlList.Count > 0)
{
string errText = "";
if (RegisterConTainer.CreateConTainerProcess.ExecuteSqlTran(SqlList, ref errText) > 0)
{
Log.WriteLog("接收RCS-WMS入库申请货位成功" + mesJson);
}
else
{
Log.WriteLog("接收MES物料退料" + mesJson);
}
}
else
{
jo["code"] = "400";
jo["wmstaskid"] = "";
jo["palletno"] = palletno;
jo["fromcellno"] = fromcellno;
jo["tocellno"] = "";
jo["message"] = "无可用货位";
Log.WriteLog("接收RCS-WMS入库申请:无可用货位" );
}
}
else
{
jo["code"] = "400";
jo["wmstaskid"] = "";
jo["palletno"] = palletno;
jo["fromcellno"] = fromcellno;
jo["tocellno"] = "";
jo["message"] = "无入库码盘任务";
Log.WriteLog("接收RCS-WMS入库申请:无入库码盘任务");
}
}
catch (Exception ex)
{
jo["code"] = "400";
jo["wmstaskid"] = "";
jo["palletno"] = "";
jo["fromcellno"] = "";
jo["tocellno"] = "";
jo["message"] = "接收RCS-WMS入库申请数据处理异常:" + ex.Message;
Log.WriteLog("接收RCS-WMS入库申请数据处理异常" + ex.Message);
}
HttpResponseMessage result = new HttpResponseMessage
{
Content = new StringContent(jo.ToString(), System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
};
return result;
}
}
#endregion
public class ModAskFullCanIn
{
/// <summary>
///
/// </summary>
public string code { get; set; }
/// <summary>
/// 成功
/// </summary>
public string message { get; set; }
/// <summary>
///
/// </summary>
public string data { get; set; }
/// <summary>
///
/// </summary>
public bool success { get; set; }
}
/// <summary>
/// 海康回告任务完成
/// </summary>
/// <param name="agvCallback"></param>
/// <returns></returns>
//[HttpPost, Route("api/wms/agvCallback")]
//public HttpResponseMessage agvCallback([FromBody] JObject agvCallback)
//{
// string errText = string.Empty;
// ArrayList SqlList = new ArrayList();
// ModAgv mod = new ModAgv();
// string mesJson = agvCallback.ToString().ToString();
// Log.WriteLog("AGV入库任务通知已搬走或已送达:" + mesJson);
// try
// {
// JObject strJo = (JObject)JsonConvert.DeserializeObject(mesJson);
// string reqCode = strJo["reqCode"].ToString().Trim();//请求编号,每个请求都要一个唯一编号 根据MES入库任务号一致
// string reqTime = strJo["reqTime"].ToString();//请求时间戳
// //string clientCode = strJo["clientCode"].ToString().Trim();//客户端编号
// //string tokenCode = strJo["tokenCode"].ToString().Trim();//令牌号, 由调度系统颁发
// //string method = strJo["method"].ToString().Trim();//方法名, 可使用任务类型做为方法名
// string taskCode = strJo["taskCode"].ToString().Trim();//当前任务单号
// string posCode = strJo["currentPositionCode"].ToString().Trim();//出库口102
// //string posCode = strA.Substring(strA.Length-2).ToString().Trim();
// //string lot = strJo["materialLot"].ToString().Trim();//lot
// string currentCallCode = strJo["currentCallCode"].ToString().Trim();//当前到达的机台编号
// string podCode = strJo["podCode"].ToString().Trim() + "ID";//托盘号
// string taskTyp = "";// strJo["taskTyp"].ToString().Trim();
// JObject strJoData = (JObject)JsonConvert.DeserializeObject(strJo["data"].ToString());
// string lot = strJoData["lot"].ToString().Trim();//lot
// string qty = "";// strJoData["qty"].ToString().Trim();//数量
// string nextspec = "";// strJoData["nextspec"].ToString().Trim();//规格
// string materialCode = strJoData["materialCode"].ToString().Trim();//物料编号
// if (currentCallCode == "201")
// {
// if (RegisterConTainer.CreateConTainerProcess.Get_T_ONGOODSSHELF(taskCode))
// {
// //更新任务状态为2
// string Sql = " update T_ONGOODSSHELF set status='2' where LOT_ID='" + taskCode + "'";
// if (RegisterConTainer.CreateConTainerProcess.Add_Table(Sql, ref errText))
// {
// mod.resultCode = "0";
// mod.resultMsg = "托盘送达入库口更新入库任务状态成功,reqCode=" + reqCode + ",taskCode=" + taskCode + ",入库口编号:" + posCode + ",托盘号:" + podCode;
// Log.WriteLog("托盘送达入库口更新入库任务状态成功,reqCode=" + reqCode + ",taskCode=" + taskCode + ",入库口编号:" + posCode + ",托盘号:" + podCode);
// }
// else
// {
// mod.resultCode = "-1";
// mod.resultMsg = "托盘送达入库口更新入库任务状态异常,任务号:" + reqCode + ",taskCode=" + taskCode + ",异常:" + errText;
// Log.WriteLog("托盘送达入库口更新入库任务状态异常,任务号:" + reqCode + ",taskCode=" + taskCode + ",异常:" + errText);
// }
// }
// else
// {
// mod.resultCode = "-1";
// mod.resultMsg = "已产生入库,不能重复:" + reqCode + ",taskCode=" + taskCode;
// Log.WriteLog("已产生入库,不能重复:" + reqCode + ",taskCode=" + taskCode);
// }
// }
// else
// {
// //出库成功更新任务状态为9
// RegisterConTainer.CreateConTainerProcess.UpdateCKTaskStatus10();
// mod.resultCode = "0";
// mod.resultMsg = "taskCode=" + taskCode + ",出库成功,currentCallCode=" + currentCallCode;
// Log.WriteLog("taskCode=" + taskCode + ",出库成功,currentCallCode=" + currentCallCode);
// }
// }
// catch (Exception ex)
// {
// mod.resultCode = "-1";
// mod.resultMsg = "AGV入库任务通知已搬走或已送达异常" + ex.Message.ToString();
// Log.WriteLog("AGV入库任务通知已搬走或已送达异常" + ex.Message.ToString());
// }
// string strJson2 = JsonConvert.SerializeObject(mod);
// HttpResponseMessage result = new HttpResponseMessage
// {
// Content = new StringContent(strJson2, System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
// };
// return result;
//}
/// <summary>
/// 海康查询是否允许放货
/// </summary>
/// <param name="agvCallarrive"></param>
/// <returns></returns>
[HttpPost, Route("api/wms/agvCallarrive")]
public HttpResponseMessage agvCallarrive([FromBody] JObject agvCallarrive)
{
string errText = string.Empty;
ArrayList SqlList = new ArrayList();
ModAgv mod = new ModAgv();
string mesJson = agvCallarrive.ToString().Trim();
//mesJson = mesJson.Replace(" ", "").ToString();
Log.WriteLog("RCS请求询问WMS满托是否可入json" + mesJson);
try
{
JObject strJo = (JObject)JsonConvert.DeserializeObject(mesJson);
string reqCode = strJo["reqCode"].ToString().Trim();//请求编号,每个请求都要一个唯一编号
string reqTime = strJo["reqTime"].ToString().Trim();//请求时间戳
//string clientCode = strJo["clientCode"].ToString().Trim();//客户端编号
//string tokenCode = strJo["tokenCode"].ToString().Trim();//令牌号, 由调度系统颁发
//string lot = strJo["lot"].ToString().Trim();//
string posCode = strJo["currentPositionCode"].ToString().Trim();//接驳位置编号: 入库口101出库口201
//string carrier = strJo["carrier"].ToString().Trim();//
string taskCode = strJo["taskCode"].ToString().Trim();
string podCode = strJo["podCode"].ToString().Trim();//托盘号
JObject strJoData = (JObject)JsonConvert.DeserializeObject(strJo["data"].ToString());
string lot = strJoData["lot"].ToString().Trim();//批次号
string goodsId = strJoData["materialCode"].ToString().Trim();//物料编号
string qty = "";// strJoData["qty"].ToString().Trim();//批次数量
//查询当前站台是否有货,有货不允许放,无货可以放
if(RegisterConTainer.CreateConTainerProcess.STAND_STATUS_HK(posCode, taskCode, taskCode))
{
if (RegisterConTainer.CreateConTainerProcess.Get_T_SSX_HK())
{
mod.resultCode = "0";
mod.resultMsg = "RCS询问WMS满托是否可入成功";
Log.WriteLog("RCS询问WMS满托是否可入成功");
}
else
{
mod.resultCode = "1";
mod.resultMsg = "RCS询问WMS满托是否可入失败";
Log.WriteLog("RCS询问WMS满托是否可入失败");
}
}
}
catch (Exception ex)
{
mod.resultCode = "1";
mod.resultMsg = "RCS询问WMS满托是否可入异常" + ex.Message.ToString();
Log.WriteLog("RCS询问WMS满托是否可入异常" + ex.Message.ToString());
}
string strJson2 = JsonConvert.SerializeObject(mod);
HttpResponseMessage result = new HttpResponseMessage
{
Content = new StringContent(strJson2, System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
};
return result;
}
/// <summary>
/// AGV任务完成
/// </summary>
/// <param name="task"></param>
/// <returns></returns>
[HttpPost, Route("robotjob.report")]
public HttpResponseMessage Exception([FromBody] JObject jsonData)
{
string errText = string.Empty;
ArrayList SqlList = new ArrayList();
ModAskFullCanIn result_empty = new ModAskFullCanIn();
string mesJson = JsonConvert.SerializeObject(jsonData);
try
{
string robotJobId = jsonData["body"]?["event"]?["robotJobId"]?.ToString();
string endSlotCode = jsonData["body"]?["event"]?["jobData"]?["endSlotCode"]?.ToString();
string startSlotCode = jsonData["body"]?["event"]?["jobData"]?["startSlotCode"]?.ToString();
string state = jsonData["body"]?["event"]?["state"]?.ToString();
Log.WriteLog("KC-WMS上报任务完成:" + mesJson);
if (string.IsNullOrEmpty(robotJobId) ||
string.IsNullOrEmpty(endSlotCode) ||
string.IsNullOrEmpty(startSlotCode))
{
result_empty.data = mesJson;
result_empty.success = false;
result_empty.message = "异常,有必填项目为空";
result_empty.code = "success";
Log.WriteLog("KC-WMS上报任务完成异常:" + result_empty);
}
else
{
if (endSlotCode == "4002-1-01-001"&& state == "DONE")
{
//完成的是出库任务
if (
RegisterConTainer.CreateConTainerProcess.UPDATE_T_PICK_BOXID(robotJobId) &&
RegisterConTainer.CreateConTainerProcess.UPDATE_T_CK_PICKINGWAVEGOODS_3(robotJobId) &&
RegisterConTainer.CreateConTainerProcess.UPDATE_T_BASE_STORAGE_AREA_LOCATION_STATUS(startSlotCode)
)
{
Log.WriteLog("任务状态,库位状态,库存更新成功:" + mesJson);
result_empty.data = mesJson;
result_empty.success = true;
result_empty.message = "成功";
result_empty.code = "success";
}
}
else if(startSlotCode == "4001-1-01-001" && state == "DONE")
{
if (RegisterConTainer.CreateConTainerProcess.UPDATE_T_T_ONGOODSSHELF_6(robotJobId))
{
Log.WriteLog("任务状态更新成3完成成功" + mesJson);
result_empty.data = mesJson;
result_empty.success = true;
result_empty.message = "成功";
result_empty.code = "success";
}
}
}
}
catch (Exception ex)
{
Log.WriteLog("异常:" + ex +"实际接收内容:"+ mesJson);
}
string strJson2 = JsonConvert.SerializeObject(result_empty);
HttpResponseMessage result = new HttpResponseMessage
{
Content = new StringContent(strJson2, System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
};
return result;
}
[HttpPost, Route("rollejob.upstreamrequest")]
public HttpResponseMessage Exception_DOWN([FromBody] JObject jsonData)
{
string errText = string.Empty;
ArrayList SqlList = new ArrayList();
ModAskFullCanIn result_empty = new ModAskFullCanIn();
string mesJson = JsonConvert.SerializeObject(jsonData);
try
{
string robotJobId = jsonData["body"]?["event"]?["robotJobId"]?.ToString();
string msgld= jsonData["body"]?["event"]?["msgId"]?.ToString();
string agvCode = jsonData["body"]?["event"]?["agvCode"]?.ToString();
Log.WriteLog("KC-WMS申请卸货请求:" + mesJson);
if (string.IsNullOrEmpty(robotJobId))
{
result_empty.data = mesJson;
result_empty.success = false;
result_empty.message = "异常,有必填项目为空";
result_empty.code = "success";
Log.WriteLog("KC-WMS申请卸货异常:" + result_empty);
}
else
{
if (RegisterConTainer.CreateConTainerProcess.STAND_STATUS_CK(agvCode, robotJobId, msgld))
{
if (RegisterConTainer.CreateConTainerProcess.STAND_STATUS())
{
result_empty.data = mesJson;
result_empty.success = true;
result_empty.message = "success";
result_empty.code = "success";
Log.WriteLog("KC-WMS申请卸货允许:" + result_empty);
}
}
else
{
result_empty.data = mesJson;
result_empty.success = false;
result_empty.message = "success";
result_empty.code = "success";
Log.WriteLog("KC-WMS申请卸货不允许:" + result_empty);
}
}
}
catch (Exception ex)
{
Log.WriteLog("异常:" + ex + "实际接收内容:" + mesJson);
}
string strJson2 = JsonConvert.SerializeObject(result_empty);
HttpResponseMessage result = new HttpResponseMessage
{
Content = new StringContent(strJson2, System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
};
return result;
}
[HttpPost, Route("api/wms/agvCallback")]
public HttpResponseMessage agvCallback([FromBody] JObject agvCallback)
{
string errText = string.Empty;
ArrayList SqlList = new ArrayList();
ModAgv mod = new ModAgv();
string mesJson = agvCallback.ToString().ToString();
Log.WriteLog("AGV入库任务通知已搬走或已送达:" + mesJson);
try
{
JObject strJo = (JObject)JsonConvert.DeserializeObject(mesJson);
string reqCode = strJo["reqCode"].ToString().Trim();//请求编号,每个请求都要一个唯一编号 根据MES入库任务号一致
string reqTime = strJo["reqTime"].ToString();//请求时间戳
string taskCode = strJo["taskCode"].ToString().Trim();//当前任务单号
string posCode = strJo["currentPositionCode"].ToString().Trim();//出库口102
string currentCallCode = strJo["currentCallCode"].ToString().Trim();//当前到达的机台编号
string podCode = strJo["podCode"].ToString().Trim() + "ID";//托盘号
string taskTyp = "";// strJo["taskTyp"].ToString().Trim();
JObject strJoData = (JObject)JsonConvert.DeserializeObject(strJo["data"].ToString());
string lot = strJoData["lot"].ToString().Trim();//lot
string qty = "";// strJoData["qty"].ToString().Trim();//数量
string nextspec = "";// strJoData["nextspec"].ToString().Trim();//规格
string materialCode = strJoData["materialCode"].ToString().Trim();//物料编号
if (currentCallCode == "201")
{
//入库任务
if (RegisterConTainer.CreateConTainerProcess.UPDATE_ONGOODS_HK_2(taskCode))
{
mod.resultCode = "0";
mod.resultMsg = "托盘送达入库口更新入库任务状态成功,reqCode=" + reqCode + ",taskCode=" + taskCode + ",入库口编号:" + posCode + ",托盘号:" + podCode;
Log.WriteLog("托盘送达入库口更新入库任务状态成功,reqCode=" + reqCode + ",taskCode=" + taskCode + ",入库口编号:" + posCode + ",托盘号:" + podCode);
}
}
else if(currentCallCode == "201_1")
{
mod.resultCode = "0";
mod.resultMsg = "托盘请求进入入库口成功,reqCode=" + reqCode + ",taskCode=" + taskCode + ",入库口编号:" + posCode + ",托盘号:" + podCode;
Log.WriteLog("托盘请求进入入库口成功,reqCode=" + reqCode + ",taskCode=" + taskCode + ",入库口编号:" + posCode + ",托盘号:" + podCode);
}
else if (currentCallCode == "202")
{
//出库任务
if (RegisterConTainer.CreateConTainerProcess.UPDATE_ONGOODS_CK_2(taskCode))
{
mod.resultCode = "0";
mod.resultMsg = "托盘送达入库口更新入库任务状态成功,reqCode=" + reqCode + ",taskCode=" + taskCode + ",入库口编号:" + posCode + ",托盘号:" + podCode;
Log.WriteLog("托盘送达入库口更新入库任务状态成功,reqCode=" + reqCode + ",taskCode=" + taskCode + ",入库口编号:" + posCode + ",托盘号:" + podCode);
}
}
else if(currentCallCode == "202_1")
{
mod.resultCode = "0";
mod.resultMsg = "托盘请求出库口进入成功,reqCode=" + reqCode + ",taskCode=" + taskCode + ",入库口编号:" + posCode + ",托盘号:" + podCode;
Log.WriteLog("托盘请求出库口进入成功,reqCode=" + reqCode + ",taskCode=" + taskCode + ",入库口编号:" + posCode + ",托盘号:" + podCode);
}
}
catch (Exception ex)
{
Log.WriteLog("异常:" + ex + "实际接收内容:" + mesJson);
}
string strJson2 = JsonConvert.SerializeObject(mod);
HttpResponseMessage result = new HttpResponseMessage
{
Content = new StringContent(strJson2, System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
};
return result;
}
public class ModAgv
{
/// <summary>
///
/// </summary>
public string resultCode { get; set; }
/// <summary>
/// 成功
/// </summary>
public string resultMsg { get; set; }
}
#region RCS-WMS
[HttpPost, Route("Api/Wms/TaskStateNotice")]
public HttpResponseMessage TaskStateNotice([FromBody] JObject TaskStateNotice)
{
lock ("TaskStateNotice")
{
JObject jo = new JObject(
new JProperty("code", ""),
new JProperty("wmstaskid", ""),
new JProperty("message", "")
);
string mesJson = TaskStateNotice.ToString().Trim();
mesJson = mesJson.Replace(" ", "").ToString();
Log.WriteLog("接收RCS-WMS任务执行状态通知" + mesJson);
ArrayList SqlList = new ArrayList();
try
{
string strSqlAdd = "";
JObject strJo = (JObject)JsonConvert.DeserializeObject(mesJson);
string requestid = strJo["requestid"].ToString().Trim();//用户id
string key = strJo["key"].ToString().Trim();//组织id
string wmstaskid = strJo["wmstaskid"].ToString().Trim();//任务号
string taskstate = strJo["taskstate"].ToString().Trim();////20表示执行成功21表示取消
DataSet ds = RegisterConTainer.CreateConTainerProcess.Get_t_ongoodsshelf_TASK (wmstaskid);
if (ds != null && ds.Tables[0].Rows.Count > 0)
{
Log.WriteLog("接收RCS-WMS任务执行状态通知-入库任务,WMS任务号" + wmstaskid+",查询成功.");
if (taskstate == "20")
{
if (RegisterConTainer.CreateConTainerProcess.UPDATE_t_ongoodsshelf_UPGOODS_ID(wmstaskid))
{
Log.WriteLog("接收RCS-WMS任务执行状态通知-入库任务执行成功,WMS任务号" + wmstaskid + ",更新入库表t_ongoodsshelf 状态2成功.");
jo["code"] = "200";
jo["wmstaskid"] = wmstaskid;
jo["message"] = "成功";
}
else
{
Log.WriteLog("接收RCS-WMS任务执行状态通知-入库任务执行成功,WMS任务号" + wmstaskid + ",更新入库表t_ongoodsshelf 状态2失败.");
jo["code"] = "400";
jo["wmstaskid"] = wmstaskid;
jo["message"] = "失败";
}
}
else
{
if (RegisterConTainer.CreateConTainerProcess.UPDATE_t_ongoodsshelf_Cancel(wmstaskid))
{
Log.WriteLog("接收RCS-WMS任务执行状态通知-入库任务执行取消,WMS任务号" + wmstaskid + ",更新入库表t_ongoodsshelf 状态0成功.");
jo["code"] = "200";
jo["wmstaskid"] = wmstaskid;
jo["message"] = "成功";
}
else
{
Log.WriteLog("接收RCS-WMS任务执行状态通知-入库任务执行取消,WMS任务号" + wmstaskid + ",更新入库表t_ongoodsshelf 状态0失败.");
jo["code"] = "400";
jo["wmstaskid"] = wmstaskid;
jo["message"] = "失败";
}
}
}
else
{
DataSet ds2= RegisterConTainer.CreateConTainerProcess.Get_T_CK_PICKINGWAVEGOODS(wmstaskid);
if (ds2 != null && ds2.Tables[0].Rows.Count > 0)
{
Log.WriteLog("接收RCS-WMS任务执行状态通知-出库任务,WMS任务号" + wmstaskid + ",查询成功.");
if (taskstate == "20")
{
if (RegisterConTainer.CreateConTainerProcess.UPDATE_T_CK_PICKINGWAVEGOODS_OUT_ID(wmstaskid,"2"))
{
Log.WriteLog("接收RCS-WMS任务执行状态通知-出库任务执行成功,WMS任务号" + wmstaskid + ",更新入库表T_CK_PICKINGWAVEGOODS 状态2成功.");
jo["code"] = "200";
jo["wmstaskid"] = wmstaskid;
jo["message"] = "成功";
}
else
{
Log.WriteLog("接收RCS-WMS任务执行状态通知-出库任务执行成功,WMS任务号" + wmstaskid + ",更新入库表T_CK_PICKINGWAVEGOODS 状态2失败.");
jo["code"] = "400";
jo["wmstaskid"] = wmstaskid;
jo["message"] = "失败";
}
}
else
{
if (RegisterConTainer.CreateConTainerProcess.UPDATE_T_CK_PICKINGWAVEGOODS_OUT_ID(wmstaskid,"0"))
{
Log.WriteLog("接收RCS-WMS任务执行状态通知-出库任务执行取消,WMS任务号" + wmstaskid + ",更新入库表T_CK_PICKINGWAVEGOODS 状态0成功.");
jo["code"] = "200";
jo["wmstaskid"] = wmstaskid;
jo["message"] = "成功";
}
else
{
Log.WriteLog("接收RCS-WMS任务执行状态通知-出库任务执行取消,WMS任务号" + wmstaskid + ",更新入库表t_ongoodsshelf 状态0失败.");
jo["code"] = "400";
jo["wmstaskid"] = wmstaskid;
jo["message"] = "失败";
}
}
}
else
{
Log.WriteLog("接收RCS-WMS任务执行状态通知,WMS任务号" + wmstaskid + ",wms系统不存在");
jo["code"] = "200";
jo["wmstaskid"] = wmstaskid;
jo["message"] = "任务号" + wmstaskid + "不存在";
}
}
//if (SqlList.Count > 0)
//{
// string errText = "";
// if (RegisterConTainer.CreateConTainerProcess.ExecuteSqlTran(SqlList, ref errText) > 0)
// {
// Log.WriteLog("接收RCS-WMS入库申请货位成功" + mesJson);
// }
// else
// {
// Log.WriteLog("接收MES物料退料" + mesJson);
// }
//}
//else
//{
// jo["code"] = "400";
// jo["wmstaskid"] = wmstaskid;
// jo["message"] = "任务号" + wmstaskid + "不存在";
//}
}
catch (Exception ex)
{
jo["code"] = "400";
jo["wmstaskid"] = "";
jo["palletno"] = "";
jo["fromcellno"] = "";
jo["tocellno"] = "";
jo["message"] = "接收RCS-WMS入库申请数据处理异常:" + ex.Message;
Log.WriteLog("接收RCS-WMS入库申请数据处理异常" + ex.Message);
}
HttpResponseMessage result = new HttpResponseMessage
{
Content = new StringContent(jo.ToString(), System.Text.Encoding.GetEncoding("UTF-8"), "application/json")
};
return result;
}
}
#endregion
#endregion
}
}
#endregion