BaoKai_202508_WebApi_Jingwa.../API/Data/RkData.cs

222 lines
8.5 KiB
C#
Raw Normal View History

2025-08-24 22:23:34 +08:00
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);
}
}
}