222 lines
8.5 KiB
C#
222 lines
8.5 KiB
C#
using System;
|
|
using System.Configuration;
|
|
using System.Data;
|
|
using System.Data.OracleClient;
|
|
using webapi.Public;
|
|
|
|
namespace webapi.Data
|
|
{
|
|
public class RkData
|
|
{
|
|
private static string m_connectionString = ConfigurationManager.ConnectionStrings["RemoteConnectionString"].ToString();
|
|
public static string GetDocumentStream(string type)
|
|
{
|
|
string strDate = string.Empty;
|
|
string strS = string.Empty;
|
|
string strSqlSeq = "";
|
|
DataTable tb = GetDocumentData(type);
|
|
if (tb != null)
|
|
{
|
|
if (tb.Rows.Count > 0)
|
|
{
|
|
strS = tb.Rows[0]["DOCUMENT_START"].ToString();
|
|
if (tb.Rows[0]["DOCUMENT_DATE"].ToString().Trim().Length == 8)
|
|
{
|
|
strDate = DateTime.Now.ToString("yyyyMMdd");
|
|
strS = strS + strDate;
|
|
}
|
|
else if (tb.Rows[0]["DOCUMENT_DATE"].ToString().Trim().Length == 6)
|
|
{
|
|
strDate = DateTime.Now.ToString("yyyyMM");
|
|
strS = strS + strDate;
|
|
}
|
|
string strEnd = string.Empty;
|
|
strSqlSeq = GetSeq(tb.Rows[0]["DOCUMENT_TYPE_VALUE"].ToString());
|
|
strS = strS + strSqlSeq;
|
|
if (tb.Rows[0]["DOCUMENT_END"].ToString().Trim().Length > 0)
|
|
{
|
|
strEnd = strSqlSeq + tb.Rows[0]["DOCUMENT_END"].ToString().Trim();
|
|
strS = strS + strEnd;
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
return strS;
|
|
}
|
|
/// <summary>
|
|
/// 接收WCS任务反馈更新入库订单状态
|
|
/// </summary>
|
|
/// <returns></returns>]
|
|
public static int UpdateOngoodShelf(string LOT_ID, string STS, ref string errText)
|
|
{
|
|
lock ("rk")
|
|
{
|
|
int rowNum = 0;
|
|
errText = string.Empty;
|
|
//入库单直接报完成
|
|
if (STS == "8")
|
|
{
|
|
STS = "2";
|
|
}
|
|
string sql = "update T_ONGOODSSHELF set status='" + STS + "' where LOT_ID='" + LOT_ID + "'";
|
|
try
|
|
{
|
|
rowNum = OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
errText = ex.Message;
|
|
}
|
|
return rowNum;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 接收WCS任务反馈更新出库订单状态
|
|
/// </summary>
|
|
/// <returns></returns>]
|
|
public static int UpdatePickingwaveGoods(string PICKINGID, string STS, ref string errText)
|
|
{
|
|
lock ("ck")
|
|
{
|
|
int rowNum = 0;
|
|
errText = string.Empty;
|
|
|
|
string sql = "update T_CK_PICKINGWAVEGOODS set status='" + STS + "' where PICKINGID='" + PICKINGID + "'"; ;
|
|
try
|
|
{
|
|
rowNum = OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
errText = ex.Message;
|
|
}
|
|
return rowNum;
|
|
|
|
}
|
|
}
|
|
public static int GetPlcId()
|
|
{
|
|
string sql = "select SEQ_PLC_TASKVAL.nextval from dual";
|
|
return int.Parse(OracleHelper.ExecuteScalar(CommandType.Text, sql).ToString());
|
|
}
|
|
public static int GetOnGoodsCount(string ctl)
|
|
{
|
|
string sql = "select count(*) from T_ONGOODSSHELF where ctl='" + ctl + "'";
|
|
return int.Parse(OracleHelper.ExecuteScalar(CommandType.Text, sql).ToString());
|
|
}
|
|
public static int GetCtlCount(string ctl)
|
|
{
|
|
string sql = "select count(*) from T_BASE_PALLET where pallet_id='" + ctl + "'";
|
|
return int.Parse(OracleHelper.ExecuteScalar(CommandType.Text, sql).ToString());
|
|
}
|
|
public static int GetMIstockCount(string ctl)
|
|
{
|
|
string sql = "select count(*) from T_MI_STOCK where ctl='" + ctl + "'";
|
|
return int.Parse(OracleHelper.ExecuteScalar(CommandType.Text, sql).ToString());
|
|
}
|
|
private static DataTable GetDocumentData(string pickName)
|
|
{
|
|
try
|
|
{
|
|
using (IDbConnection connection = new OracleConnection(m_connectionString))
|
|
{
|
|
connection.Open();
|
|
string strSql = "select * from T_DOCUMENT_TABLE where 1 =1 and document_type = '" + pickName + "' ";
|
|
|
|
return OracleHelper.ExecuteDataTable(strSql);
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
|
|
throw;
|
|
}
|
|
|
|
|
|
}
|
|
private static string GetSeq(string nameSeq)
|
|
{
|
|
string val = "1000";
|
|
string str = "select cast(next value for " + nameSeq.ToUpper() + " as varchar(100)) as val ";
|
|
DataTable ds = OracleHelper.ExecuteDataTable(str);
|
|
if (ds != null)
|
|
{
|
|
if (ds.Rows.Count > 0)
|
|
{
|
|
val = ds.Rows[0][0].ToString();
|
|
}
|
|
}
|
|
|
|
return val;
|
|
}
|
|
public static DataTable GetGoods()
|
|
{
|
|
string strSql = "select GOODS_ID,GOODS_NAME from T_BASE_GOODS";
|
|
return OracleHelper.ExecuteDataTable(strSql);
|
|
}
|
|
public static DataTable SelectonGoodsShelf(string CTL)
|
|
{
|
|
string sqlStr = "select f.Ctl,g.goods_name as GOODSNAME,f.Shelf_Num from T_ONGOODSSHELF f left join T_BASE_GOODS g on f.goodsid=g.goods_id where f.CTL='" + CTL + "' and f.LOCATION_ID is null and f.status=1";
|
|
return OracleHelper.ExecuteDataTable(sqlStr);
|
|
}
|
|
public static string UpdateOnGoodsShelf(string localtion, string CTL)
|
|
{
|
|
string result = "";
|
|
string sql = "update T_ONGOODSSHELF set LOCATION_ID='" + localtion + "',status=2 where CTL='" + CTL + "'";
|
|
int i = OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
|
|
sql = "update T_BASE_STORAGE_AREA_LOCATION set STATUS = 1 where LOCATION_ID = '" + localtion + "'";
|
|
i = OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
|
|
if (i > 0)
|
|
{
|
|
result = "上架成功";
|
|
}
|
|
return result;
|
|
}
|
|
public static int SelectLocaltion(string location)
|
|
{
|
|
string sql = "select count(*) from T_BASE_STORAGE_AREA_LOCATION where LOCATION_ID='" + location + "' and STATUS=0";
|
|
return int.Parse(OracleHelper.ExecuteScalar(CommandType.Text, sql).ToString());
|
|
}
|
|
public static DataTable SelectStockGoodsInfo(string CTL)
|
|
{
|
|
string sql = " select s.CTL,g.GOODS_NAME,s.GOODS_ID,s.SHELVES_NUM,s.LOCATION_ID from T_MI_STOCK s left join T_BASE_GOODS g on s.GOODS_ID=g.GOODS_ID where s.CTL='" + CTL + "'";
|
|
return OracleHelper.ExecuteDataTable(sql);
|
|
}
|
|
|
|
public static int SelectPickingWaveGoods(string ctl, string goodsid)
|
|
{
|
|
string sql = " select count(*) from T_CK_PICKINGWAVEGOODS where CTL='" + ctl + "' and GOOD_ID='" + goodsid + "' ";
|
|
return int.Parse(OracleHelper.ExecuteScalar(CommandType.Text, sql).ToString());
|
|
}
|
|
|
|
public static DataTable GetPickingGoodsInfo(string ctl)
|
|
{
|
|
string sqlStr = "";
|
|
if (ctl.Length == 0)
|
|
{
|
|
sqlStr = "select * from T_CK_PICKINGWAVE_INFO where STATUS=0";
|
|
}
|
|
else
|
|
{
|
|
sqlStr = "select * from T_CK_PICKINGWAVE_INFO where STATUS=0 and CTL='" + ctl + "'";
|
|
}
|
|
|
|
return OracleHelper.ExecuteDataTable(sqlStr);
|
|
}
|
|
public static DataTable GetCkGoods(string ctl)
|
|
{
|
|
string sql = "select p.PLCID,p.CTL,g.goods_NAME,p.PICKING_NUM from T_CK_PICKINGWAVEGOODS p left join T_BASE_GOODS g on g.goods_id=p.good_id where p.ctl='"+ctl+"' and p.status=0";
|
|
return OracleHelper.ExecuteDataTable(sql);
|
|
}
|
|
public static int updateCkGoods(string ctl, string plcid, string goodsnumsj)
|
|
{
|
|
string sql = "update T_CK_PICKINGWAVEGOODS set status=2,PICKING_NUM=" + goodsnumsj + " where ctl='" + ctl + "' and plcid='" + plcid + "' and status=0";
|
|
return OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
|
|
}
|
|
}
|
|
} |