using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Common;
using System.Data;
using System.Collections;
using System.Data.SqlClient;
using System.Configuration;
using DevExpress.DataProcessing.InMemoryDataProcessor;
using DevExpress.Utils.DirectXPaint;
using DevExpress.XtraReports.UI;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
using static HslCommunication.Profinet.Knx.KnxCode;
using DevExpress.XtraCharts.UI;
namespace WCS
{
public class DataClass
{
private static DataClass m_instance;
private static object m_lock = new object();
///
/// 通过Singleton模式返回当前实例
///
public static DataClass Instance()
{
if (m_instance == null)
{
lock (m_lock)
{
if (m_instance == null)
{
m_instance = new DataClass();
}
}
}
return m_instance;
}
//MySqlHelper mysql = new MySqlHelper();
#region 固定方法,一般不需要修改
///
/// 查询数据库表结构,用来判断数据库是否连接成功
///
///
public bool CheckSqlConnect()
{
DataTable dt = new DataTable();
string sql = "select name from sysobjects where xtype='U' ";
try
{
dt =OracleHelper.ExecuteDataTable(sql);
}
catch { }
if (dt!=null)
{
return true;
}
return false;
}
public string GetPlcId()
{
//SEQ_PLC_TASKVAL_RK 入库
//SEQ_PLC_TASKVAL 出库
string rtstr = null;
string sql = "select SEQ_PLC_TASKINVAL.nextval from dual ";
try
{
DataTable dt = OracleHelper.ExecuteDataTable(sql);
if (dt != null)
{
if (dt.Rows.Count > 0)
{
rtstr = dt.Rows[0][0].ToString();
}
}
}
catch { }
return rtstr;
}
#endregion
public bool insertErrlist(string decid, string errtext, string errid, string online, string plcid, ref string err)
{
err = string.Empty;
string strSql = @"if not exists (select * from [T_ErrorLog] where decid='" + decid + "' and errTextID='" + errid + "' and sts='0')" +
"begin" +
" insert into [dbo].[T_ErrorLog] (decId,errordate,errTextid,errText,sts,online,plcid)values('" + decid + "',getdate(),'" + errid + "','" + errtext + "','0','" + online + "','" + plcid + "')"
+ "end ";
int dt = 0;
try
{
dt =OracleHelper.ExecuteNonQuery(CommandType.Text, strSql);
if (dt > 0)
{
return true;
}
else
{
return false;
}
}
catch (System.Exception e)
{
err = e.Message.ToString();
return false;
}
}
public bool updateErrlist(string decid, string errtextid, ref string errText)
{
errText = string.Empty;
string strSql = string.Empty;
if (errtextid == "3")
{
strSql = @"update [dbo].[T_ErrorLog] set sts='1',handledate=getdate() where decid='" + decid + "' and errTextID='" + errtextid + "' ";
}
else
{
strSql = @"update [dbo].[T_ErrorLog] set sts='1',handledate=getdate() where decid='" + decid + "' and sts='0' ";
}
int dt = 0;
try
{
dt =OracleHelper.ExecuteNonQuery(CommandType.Text, strSql);
//strSql = "delete from[T_ErrorLog] where datediff(n, errordate, handledate)<2";
//SqlServerHelper.Instance().ExecuteNonQuery(CommandType.Text, strSql);
if (dt > 0)
{
return true;
}
else
{
return false;
}
}
catch (System.Exception e)
{
errText = e.Message.ToString();
return false;
}
}
public int insert_T_CK_PICKINGWAVEGOODS(string plcId, string PUTIN_ID, string LOC_ID, string PICKING_NUM,
string BARCODE, string CTL, string outStand, string status, string typests, string SPECIFICATION, string GOOD_ID, string TOWHSELOC)
{
//string sqlStr = @" insert into T_CK_PICKINGWAVEGOODS(PICKINGID,plcId,PUTIN_ID,LOC_ID,WARE_DATE,PICKING_NUM,BARCODE,CTL,outStand,status,typests,SPECIFICATION,GOOD_ID,TOWHSELOC)
// values('"" + PUTIN_ID + ""','" + plcId + "','" + PUTIN_ID + "','" + LOC_ID + "','" + PICKING_NUM + "','" + BARCODE + "','" + CTL + "'," +
// "'"+ outStand + "','0','3','" + SPECIFICATION + "','" + GOOD_ID + "','" + TOWHSELOC + "')";
StringBuilder strSql = new StringBuilder();
strSql.AppendLine("insert into T_CK_PICKINGWAVEGOODS(");
strSql.AppendLine("PICKINGID,OUT_ID,PUTIN_ID,DOCCTNUMBER,GOOD_ID,LOC_ID,");
strSql.AppendLine(" GOODS_NUM,SPECIFICATION,PROVIDER_ID,UNIT,REMARK,");
strSql.AppendLine(" SCALE_UNIT,MISTOCK_NUM,PICKING_NUM,PRICE,STORAGE_AREA_ID,STORAGE_ID,CTL," +
"GOODS_NUM_SJ,ProDucLotId,BARCODE,plcid,GOODS_NAME,outStand,typests,PACKING_NUM,status,ware_date,CUSTOMER_ID,PORT,CUSTOMERMEMBERID,TOWHSELOC)");
strSql.AppendLine(" values (");
strSql.AppendLine("'" + PUTIN_ID + "','" + PUTIN_ID + "','" + PUTIN_ID + "','0','" + GOOD_ID + "',");
strSql.AppendLine("'" +LOC_ID + "','0','" + SPECIFICATION + "','0','0','0',");
strSql.AppendLine(" '0','0','0','0','0','0',");
strSql.AppendLine(" '" + CTL + "','0','0','" +BARCODE + "','" +plcId + "','0'," +
"'0','" + typests + "','0','" + status + "',to_date('" + Convert.ToDateTime(DateTime.Now.ToString()) + "','yyyy/MM/dd hh24:mi:ss'),'0','0','0','"+ TOWHSELOC + "')");
try
{
// string sqlStr = "insert into T_CK_PICKINGWAVEGOODS(PICKINGID,GOOD_ID,OUT_ID,LOC_ID,plcId,typests,SCALE_UNIT, PICKING_NUM,GOODS_NUM_SJ)" +
//"values('hd001','','','" + model.LOC_ID + "','" + model.plcId + "','1','" + model.SCALE_UNIT + "','1','1') ";// ;update T_BASE_STORAGE_AREA_LOCATION set STATUS='0',HASVOLUME='0' where LOCATION_ID='" + model.LOC_ID + "'
// SystemDataObject.Instance.ExecuteSql(sqlStr)
int i = OracleHelper.ExecuteNonQuery(CommandType.Text, strSql.ToString());
return i;
}
catch (Exception ex)
{
return 0;
}
}
public DataTable Get_T_MI_STOCK (int timenum)
{
DataTable table = new DataTable();
string sqlStr = @" select top 1 * from T_MI_STOCK t where t.STS='0' and t.QualityResult in (1,2) "+
"and DATEDIFF(MINUTE,t.WARE_DATE,GETDATE())>="+ timenum + " order by t.WARE_DATE";
try
{
table =OracleHelper.ExecuteDataTable(sqlStr);
}
catch (Exception ex)
{
return null;
}
return table;
}
///
/// 查询指定状态、指定的入库任务。
///
///
///
///
public DataTable GetRKTask(string CTL )
{
DataTable dt = new DataTable();
string sql = @" select T.PlcID,T.LOCATION_ID,T.CTL,B.decId from T_ONGOODSSHELF T,T_BASE_STORAGE_AREA_LOCATION B
where T.LOCATION_ID = B.LOCATION_ID AND T.CTL = '" + CTL + "' and T.status = '1' order by T.PLCID";//and b.decid='"+ decid + "'
try
{
dt =OracleHelper.ExecuteDataTable(sql);
}
catch(Exception ex)
{
}
return dt;
}
///
/// 双深度货位查询逻辑
///
///
///
///
//public string GetLOCATIONID (string decId,ref string errText)
//{
// string LOCATION_ID = string.Empty;
// string depth = "";
// errText = string.Empty;
// //string sql = " select LOCATION_ID from T_BASE_STORAGE_AREA_LOCATION where decId='"+ decId + "' and status='0' order by depth DESC ,sort ASC ";
// //string sql = @"select LOCATION_ID from T_BASE_STORAGE_AREA_LOCATION where decId='" + decId + "' and status='0' " +
// // "and LOCATION_ID not in(select LOC_ID from T_CK_PICKINGWAVEGOODS) " +
// // "and LOCATION_ID not in(select LOCATION_ID from T_ONGOODSSHELF where LOCATION_ID!='' and LOCATION_ID is not NULL ) " +
// // "and LOCATION_ID not in(select LOCATION_ID from T_MI_STOCK) order by depth DESC, sort ASC";
// string sql = @" select LOCATION_ID,inline,depth from T_BASE_STORAGE_AREA_LOCATION where STATUS='0' and
// inline not in (select t.LOCATION_ID from T_MI_STOCK t join T_BASE_STORAGE_AREA_LOCATION a
// on t.LOCATION_ID =a.LOCATION_ID and a.status='0') and decid='" + decId + "' " +
// " and LOCATION_ID not in (select LOC_ID from T_CK_PICKINGWAVEGOODS where LOC_ID is not null) " +
// " and inline not in (select LOC_ID from T_CK_PICKINGWAVEGOODS where LOC_ID is not null) " +
// " and LOCATION_ID not in (select LOCATION_ID from T_MI_STOCK where LOCATION_ID is not null) " +
// " and inline not in (select LOCATION_ID from T_ONGOODSSHELF where LOCATION_ID is not null ) order by depth DESC, sort ASC";
// try
// {
// DataTable dt1 =OracleHelper.ExecuteDataTable(sql);
// if (dt1 != null)
// {
// if (dt1.Rows.Count > 0)
// {
// depth= dt1.Rows[0]["depth"].ToString();
// if (depth == "1")
// {
// LOCATION_ID = dt1.Rows[0]["LOCATION_ID"].ToString();
// }
// else if (depth == "2")
// {
// for (int i = 0; i < dt1.Rows.Count; i++)
// {
// string newLOCATION_ID = dt1.Rows[i]["LOCATION_ID"].ToString();
// string strloc = dt1.Rows[i]["inline"].ToString();
// string strdepth = dt1.Rows[i]["depth"].ToString();
// if (strdepth == "2")
// {
// if (GetRKTaskToMes(strloc))
// {
// WriteSysLog.SysLog("浅货位:" + strloc + "有货循环查找库位");
// continue;
// }
// else
// {
// LOCATION_ID = dt1.Rows[i]["LOCATION_ID"].ToString();
// break;
// }
// }
// else
// {
// LOCATION_ID = dt1.Rows[i]["LOCATION_ID"].ToString();
// break;
// }
// }
// }
// }
// }
// }
// catch (Exception ex)
// {
// errText = ex.Message;
// }
// return LOCATION_ID;
//}
///
/// 单深度货位查询
///
///
///
///
//public string GetLOCATIONID(string rkstand, ref string LOCATION_ID,ref string LOCATION_HEIGHT, ref string errText)
//{
// LOCATION_ID = string.Empty;
// LOCATION_HEIGHT = string.Empty;
// errText = string.Empty;
// string decId = string.Empty;
// if (rkstand == "08")
// {
// decId = "'3','1'";
// }
// else if (rkstand == "03" || rkstand == "10")
// {
// decId = "'3','2'";
// }
// //DataTable dt1 = GetLOCATIONID_RET(decId, int.Parse(LOCATION_HEIGHT));//优先入库2排货位 堆垛机编号3 代表2排
// //if (dt1 != null && dt1.Rows.Count > 0)
// //{
// // LOCATION_ID = dt1.Rows[0]["LOCATION_ID"].ToString();
// // LOCATION_HEIGHT = dt1.Rows[0]["LOCATION_HEIGHT"].ToString();
// //}
// //string sql = " select LOCATION_ID from T_BASE_STORAGE_AREA_LOCATION where decId='"+ decId + "' and status='0' order by depth DESC ,sort ASC ";
// //string sql = @"select LOCATION_ID from T_BASE_STORAGE_AREA_LOCATION where decId='" + decId + "' and status='0' " +
// //"and LOCATION_ID not in(select LOC_ID from T_CK_PICKINGWAVEGOODS) " +
// //"and LOCATION_ID not in(select LOCATION_ID from T_ONGOODSSHELF where LOCATION_ID!='' and LOCATION_ID is not NULL ) " +
// //"and LOCATION_ID not in(select LOCATION_ID from T_MI_STOCK) order by sort ";
// //string sql = @" select LOCATION_ID,inline,depth from T_BASE_STORAGE_AREA_LOCATION where STATUS='0' and
// // inline not in (select t.LOCATION_ID from T_MI_STOCK t join T_BASE_STORAGE_AREA_LOCATION a
// // on t.LOCATION_ID =a.LOCATION_ID and a.status='0') and decid='" + decId + "' " +
// // " and LOCATION_ID not in (select LOC_ID from T_CK_PICKINGWAVEGOODS where LOC_ID is not null) " +
// // " and inline not in (select LOC_ID from T_CK_PICKINGWAVEGOODS where LOC_ID is not null) " +
// // " and LOCATION_ID not in (select LOCATION_ID from T_MI_STOCK where LOCATION_ID is not null) " +
// // " and inline not in (select LOCATION_ID from T_ONGOODSSHELF where LOCATION_ID is not null ) order by depth DESC, sort ASC";
// //try
// //{
// // DataTable dt1 =OracleHelper.ExecuteDataTable(sql);
// // if (dt1 != null)
// // {
// // if (dt1.Rows.Count > 0)
// // {
// // LOCATION_ID = dt1.Rows[0]["LOCATION_ID"].ToString();
// // }
// // }
// //}
// //catch (Exception ex)
// //{
// // errText = ex.Message;
// //}
// return LOCATION_ID;
//}
public DataTable GetLOCATIONID_RET (string STORAGE_AREA_ID,string BoxType )
{
string LOCATION_ID = string.Empty;
string ROW = string.Empty;
string sql = "";
DataTable dt1 = new DataTable();
sql = @"select LOCATION_ID,LOCATION_HEIGHT from T_BASE_STORAGE_AREA_LOCATION where ROW1 in(" + ROW + ") and status='0' " +
"and LOCATION_ID not in(select LOC_ID from T_CK_PICKINGWAVEGOODS) " +
"and LOCATION_ID not in(select LOCATION_ID from T_ONGOODSSHELF where LOCATION_ID!='' and LOCATION_ID is not NULL ) " +
"and LOCATION_ID not in(select LOCATION_ID from T_MI_STOCK) and REMARK='样板' order by sort ";
try
{
dt1 =OracleHelper.ExecuteDataTable(sql);
}
catch (Exception ex)
{
}
return dt1;
}
public void UpdateDevFault(string devid)
{
lock (declock)
{
string sqlStr = " update t_decname set ct=ct+1 where decid='" + devid + "'";
try
{
OracleHelper.ExecuteNonQuery(CommandType.Text, sqlStr);
}
catch { }
}
}
public void Update_T_CK_PORT (string CKPORT)
{
lock (declock)
{
string sqlStr = " update T_CK_PORT set ct=ct+1 where CKPORT=" + CKPORT + "";
try
{
OracleHelper.ExecuteNonQuery(CommandType.Text, sqlStr);
}
catch { }
}
}
public string Get_T_CK_PORT ()
{
string rtstr = null;
string sql = "SELECT T.CKPORT FROM T_CK_PORT T WHERE T.STS=1 ORDER BY CT ASC,CKPORT asc ";
try
{
DataTable dt = OracleHelper.ExecuteDataTable(sql);
if (dt != null)
{
if (dt.Rows.Count > 0)
{
rtstr = dt.Rows[0][0].ToString();
}
}
}
catch { }
return rtstr;
}
public string Get_CtlNullCX ()
{
string rtstr = "";
string sql = "select t.pickingid from T_CK_PICKINGWAVEGOODS t where t.good_id='000000' and t.status='0' ";
try
{
DataTable dt = OracleHelper.ExecuteDataTable(sql);
if (dt != null)
{
if (dt.Rows.Count > 0)
{
rtstr = dt.Rows[0][0].ToString();
}
}
}
catch { }
return rtstr;
}
public string GetLOCATIONID(string STORAGE_AREA_ID,int DECID,ref string errText)
{
//STORAGE_AREA_ID:3003,3031,3035
// 1 - 2排3035; 3 - 4 - 5 - 6排3031; 7 - 12排3003; 17列放空料箱(51-67)
string LOCATION_ID = string.Empty;
string depth = "";
errText = string.Empty;
//string sql = " select LOCATION_ID from T_BASE_STORAGE_AREA_LOCATION where decId='"+ decId + "' and status='0' order by depth DESC ,sort ASC ";
try
{
for (int j = 2; j >= 1; j--)
{
string sql = @" select LOCATION_ID,inline,depth from T_BASE_STORAGE_AREA_LOCATION where STATUS='0' and
inline not in (select t.LOCATION_ID from T_MI_STOCK t join T_BASE_STORAGE_AREA_LOCATION a
on t.LOCATION_ID =a.LOCATION_ID and a.status='0')
and LOCATION_ID not in (select LOC_ID from T_CK_PICKINGWAVEGOODS where LOC_ID is not null)
and LOCATION_ID not in (select TOWHSELOC from T_CK_PICKINGWAVEGOODS where TOWHSELOC is not null)
and inline not in (select LOC_ID from T_CK_PICKINGWAVEGOODS where LOC_ID is not null)
and LOCATION_ID not in (select LOCATION_ID from T_MI_STOCK where LOCATION_ID is not null)
and inline not in (select LOCATION_ID from T_ONGOODSSHELF where LOCATION_ID is not null )
and depth="+j+ " and DECID='"+DECID+ "' order by sort asc";
DataSet dt1 = OracleHelper.ExecuteDataset(CommandType.Text, sql);
if (dt1 != null)
{
if (dt1.Tables[0].Rows.Count > 0)
{
depth = dt1.Tables[0].Rows[0]["depth"].ToString();
if (depth == "1")
{
LOCATION_ID = dt1.Tables[0].Rows[0]["LOCATION_ID"].ToString();
break;
}
else if (depth == "2")
{
for (int i = 0; i < dt1.Tables[0].Rows.Count; i++)
{
string newLOCATION_ID = dt1.Tables[0].Rows[i]["LOCATION_ID"].ToString();
string strloc = dt1.Tables[0].Rows[i]["inline"].ToString();
string strdepth = dt1.Tables[0].Rows[i]["depth"].ToString();
if (strdepth == "2")//找到2深度的货位在查询1深度浅货位是否有库存,有的话继续查找下一个
{
if (GetRKTaskToMes(strloc))
{
WriteSysLog.SysLog("浅货位:" + strloc + "有货循环查找库位");
continue;
}
else
{
LOCATION_ID = dt1.Tables[0].Rows[i]["LOCATION_ID"].ToString();
break;
}
}
else
{
LOCATION_ID = dt1.Tables[0].Rows[i]["LOCATION_ID"].ToString();
break;
}
}
break;
}
}
}
}
}
catch (Exception ex)
{
errText = ex.Message;
}
return LOCATION_ID;
}
public string GetLOCATIONID_EMPTY(string STORAGE_AREA_ID, int DECID, ref string errText)
{
//STORAGE_AREA_ID:3003,3031,3035
// 1 - 2排3035; 3 - 4 - 5 - 6排3031; 7 - 12排3003; 17列放空料箱(51-67)
string LOCATION_ID = string.Empty;
string depth = "";
errText = string.Empty;
//string sql = " select LOCATION_ID from T_BASE_STORAGE_AREA_LOCATION where decId='"+ decId + "' and status='0' order by depth DESC ,sort ASC ";
try
{
for (int j = 2; j >= 1; j--)
{
string sql = @" select LOCATION_ID,inline,depth from T_BASE_STORAGE_AREA_LOCATION where STATUS='0' and
inline not in (select t.LOCATION_ID from T_MI_STOCK t join T_BASE_STORAGE_AREA_LOCATION a
on t.LOCATION_ID =a.LOCATION_ID and a.status='0')
and LOCATION_ID not in (select LOC_ID from T_CK_PICKINGWAVEGOODS where LOC_ID is not null)
and inline not in (select LOC_ID from T_CK_PICKINGWAVEGOODS where LOC_ID is not null)
and LOCATION_ID not in (select LOCATION_ID from T_MI_STOCK where LOCATION_ID is not null)
and inline not in (select LOCATION_ID from T_ONGOODSSHELF where LOCATION_ID is not null )
and STORAGE_AREA_ID ='" + STORAGE_AREA_ID + "' and depth=" + j + " and DECID='"+DECID+ "'and LAYER1 IN(5,6,7,8,9,10,11,12) order by sort asc";
DataSet dt1 = OracleHelper.ExecuteDataset(CommandType.Text, sql);
if (dt1 != null)
{
if (dt1.Tables[0].Rows.Count > 0)
{
depth = dt1.Tables[0].Rows[0]["depth"].ToString();
if (depth == "1")
{
LOCATION_ID = dt1.Tables[0].Rows[0]["LOCATION_ID"].ToString();
break;
}
else if (depth == "2")
{
for (int i = 0; i < dt1.Tables[0].Rows.Count; i++)
{
string newLOCATION_ID = dt1.Tables[0].Rows[i]["LOCATION_ID"].ToString();
string strloc = dt1.Tables[0].Rows[i]["inline"].ToString();
string strdepth = dt1.Tables[0].Rows[i]["depth"].ToString();
if (strdepth == "2")//找到2深度的货位在查询1深度浅货位是否有库存,有的话继续查找下一个
{
if (GetRKTaskToMes(strloc))
{
WriteSysLog.SysLog("浅货位:" + strloc + "有货循环查找库位");
continue;
}
else
{
LOCATION_ID = dt1.Tables[0].Rows[i]["LOCATION_ID"].ToString();
break;
}
}
else
{
LOCATION_ID = dt1.Tables[0].Rows[i]["LOCATION_ID"].ToString();
break;
}
}
break;
}
}
}
}
}
catch (Exception ex)
{
errText = ex.Message;
}
return LOCATION_ID;
}
public string GetLOCATIONID_MOVE(string STORAGE_AREA_ID,string LOC, ref string errText)
{
//STORAGE_AREA_ID:3003,3031,3035
// 1 - 2排3035; 3 - 4 - 5 - 6排3031; 7 - 12排3003; 17列放空料箱(51-67)
string LOCATION_ID = string.Empty;
string depth = "";
errText = string.Empty;
//string sql = " select LOCATION_ID from T_BASE_STORAGE_AREA_LOCATION where decId='"+ decId + "' and status='0' order by depth DESC ,sort ASC ";
try
{
string LOC_ID = LOC.Substring(0, 2);
if(int.Parse(LOC_ID)>9)
{
LOC_ID= LOC.Substring(0, 2);
}
else if(int.Parse(LOC_ID) <10)
{
LOC_ID = LOC.Substring(1, 1);
}
//if (LOC.Substring(1, 2) == "01" || LOC.Substring(1, 2) == "02") { LOC=}
for (int j = 2; j >= 1; j--)
{
string sql = @" select LOCATION_ID,inline,depth from T_BASE_STORAGE_AREA_LOCATION where STATUS='0' and
inline not in (select t.LOCATION_ID from T_MI_STOCK t join T_BASE_STORAGE_AREA_LOCATION a
on t.LOCATION_ID =a.LOCATION_ID and a.status='0')
and LOCATION_ID not in (select LOC_ID from T_CK_PICKINGWAVEGOODS where LOC_ID is not null)
and inline not in (select LOC_ID from T_CK_PICKINGWAVEGOODS where LOC_ID is not null)
and LOCATION_ID not in (select LOCATION_ID from T_MI_STOCK where LOCATION_ID is not null)
and inline not in (select LOCATION_ID from T_ONGOODSSHELF where LOCATION_ID is not null )
and depth=" + j + "and ROW1='"+LOC_ID+ "'AND ROW1='"+ LOC_ID + "' order by sort asc";
DataSet dt1 = OracleHelper.ExecuteDataset(CommandType.Text, sql);
if (dt1 != null)
{
if (dt1.Tables[0].Rows.Count > 0)
{
depth = dt1.Tables[0].Rows[0]["depth"].ToString();
if (depth == "1")
{
LOCATION_ID = dt1.Tables[0].Rows[0]["LOCATION_ID"].ToString();
break;
}
else if (depth == "2")
{
for (int i = 0; i < dt1.Tables[0].Rows.Count; i++)
{
string newLOCATION_ID = dt1.Tables[0].Rows[i]["LOCATION_ID"].ToString();
string strloc = dt1.Tables[0].Rows[i]["inline"].ToString();
string strdepth = dt1.Tables[0].Rows[i]["depth"].ToString();
if (strdepth == "2")//找到2深度的货位在查询1深度浅货位是否有库存,有的话继续查找下一个
{
if (GetRKTaskToMes(strloc))
{
WriteSysLog.SysLog("浅货位:" + strloc + "有货循环查找库位");
continue;
}
else
{
LOCATION_ID = dt1.Tables[0].Rows[i]["LOCATION_ID"].ToString();
break;
}
}
else
{
LOCATION_ID = dt1.Tables[0].Rows[i]["LOCATION_ID"].ToString();
break;
}
}
continue ;
}
}
}
}
}
catch (Exception ex)
{
errText = ex.Message;
}
return LOCATION_ID;
}
public DataTable GetNullCtl(ref string errText)
{
string decId = string.Empty;
string locationId=string.Empty;
errText = string.Empty;
//select distinct T.DECID from T_BASE_STORAGE_AREA_LOCATION t where T.BOXTYPE=1 and t.status='0' order by T.DECID
string sql = @" select decid from T_DECNAME t
where t.decid in(select distinct T.DECID from T_BASE_STORAGE_AREA_LOCATION t where T.BOXTYPE=1 and t.status='0' )
order by t.ct asc";
try
{
DataTable dt1 = OracleHelper.ExecuteDataTable(CommandType.Text, sql);
if (dt1 != null)
{
if (dt1.Rows.Count > 0)
{
decId = dt1.Rows[0][0].ToString();
string sql2 = @"select t.location_id,t.location_id_plc,t.decid,t.instand from T_BASE_STORAGE_AREA_LOCATION t
where T.BOXTYPE=1 and t.status='0' and t.decid='" + decId + "' order by t.sort asc";
DataTable dt2 = OracleHelper.ExecuteDataTable(CommandType.Text, sql2);
if (dt2 != null)
{
if (dt2.Rows.Count > 0)
{
return dt2 ;
}
}
}
}
}
catch (Exception ex)
{
errText = ex.Message;
}
return null;
}
public bool GetRKTaskToMes(string LOCATION_ID)
{
DataTable dt = new DataTable();
string sql = " select * from T_MI_STOCK t where t.LOCATION_ID='" + LOCATION_ID + "' ";
try
{
dt =OracleHelper.ExecuteDataTable(sql);
if (dt != null)
{
if (dt.Rows.Count > 0)
{
return true;
}
}
}
catch (Exception ex)
{
}
return false;
}
public DataTable Get_T_BASE_STORAGE_AREA_LOCATION_InStand ( string location_id )
{
DataTable dt = new DataTable();
int num = 0;
string sql = " select t.location_id,t.location_id_plc,t.decid,t.instand from T_BASE_STORAGE_AREA_LOCATION t where location_id='" + location_id + "' ";
try
{
dt =OracleHelper.ExecuteDataTable(sql);
}
catch (Exception ex)
{
}
return dt;
}
public DataTable GetT_BASE_GOODS_BARCODE(string BARCODE)
{
DataTable dt = new DataTable();
string sql = "select * from T_BASE_GOODS where BARCODE='"+ BARCODE + "'";
try
{
dt =OracleHelper.ExecuteDataTable(sql);
}
catch (Exception ex)
{
}
return dt;
}
public DataTable GetCKTaskSendMes ()
{
DataTable dt = new DataTable();
string sql = " select * from t_plc ";
try
{
dt =OracleHelper.ExecuteDataTable(sql);
}
catch (Exception ex)
{
}
return dt;
}
public int UpdateCKTaskSendMes()
{
int row = 0;
string sql = " update t_plc set PLCNAME='567' where PLCID=1 ";
try
{
row = OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
}
catch (Exception ex)
{
}
return row;
}
public DataTable GetCKTaskHK(string locaid)
{
DataTable dt = new DataTable();
string sql = @"SELECT * FROM t_ongoodsshelf WHERE location_id='" + locaid + "' ";
try
{
dt = OracleHelper.ExecuteDataTable(CommandType.Text, sql);
return dt;
}
catch (Exception ex)
{
}
return dt;
}
public DataTable GetCKTaskSTS(string locaid)
{
DataTable dt = new DataTable();
string sql = @" select * from T_MI_STOCK t join T_BASE_STORAGE_AREA_LOCATION a on t.LOCATION_ID=a.LOCATION_ID where t.LOCATION_ID ='" + locaid + "'";
try
{
dt = OracleHelper.ExecuteDataTable(CommandType.Text, sql);
return dt;
}
catch (Exception ex)
{
}
return dt;
}
public DataTable GetCKTaskCk(string locaid)
{
DataTable dt = new DataTable();
string sql = @"SELECT * FROM T_CK_PICKINGWAVEGOODS WHERE LOC_ID='" + locaid + "' ";
try
{
dt = OracleHelper.ExecuteDataTable(CommandType.Text, sql);
return dt;
}
catch (Exception ex)
{
}
return dt;
}
public bool GetCKTaskCk_task(string CTL)
{
DataTable dt = new DataTable();
string sql = @"SELECT * FROM T_CK_PICKINGWAVEGOODS WHERE CTL='" + CTL + "'";
try
{
dt = OracleHelper.ExecuteDataTable(CommandType.Text, sql);
if (dt != null && dt.Rows.Count > 0)
{
return true;
}
}
catch (Exception ex)
{
}
return false;
}
public bool GetCKTaskRk_task(string CTL)
{
DataTable dt = new DataTable();
string sql = @"SELECT * FROM T_ONGOODSSHELF WHERE CTL='" + CTL + "'and TASKTYPE in(1,2) and GOODSID !='000000'";
try
{
dt = OracleHelper.ExecuteDataTable(CommandType.Text, sql);
if (dt != null && dt.Rows.Count > 0)
{
return true;
}
}
catch (Exception ex)
{
}
return false;
}
public bool GetCKTaskRk_task_MES(string CTL)
{
//有无码盘去输送线的入库任务
DataTable dt = new DataTable();
string sql = @"SELECT * FROM T_ONGOODSSHELF WHERE CTL='" + CTL + "'and TASKTYPE=2";
try
{
dt = OracleHelper.ExecuteDataTable(CommandType.Text, sql);
if (dt != null && dt.Rows.Count > 0)
{
return true;
}
}
catch (Exception ex)
{
}
return false;
}
public bool GetCKTaskCkCount(string CTL,ref string GOOD_ID,ref string PORT )
{
DataTable dt = new DataTable();
string sql = @"SELECT * FROM T_CK_PICKINGWAVEGOODS WHERE CTL='" + CTL + "' and GOOD_ID!='000000'";
try
{
dt = OracleHelper.ExecuteDataTable(CommandType.Text, sql);
if (dt != null && dt.Rows.Count > 0)
{
GOOD_ID = dt.Rows[0]["GOOD_ID"].ToString();
PORT = dt.Rows[0]["PORT"].ToString();
return true;
}
}
catch (Exception ex)
{
}
return false;
}
public bool GetRKTaskRkCount(string CTL, ref string GOOD_ID, ref string PORT)
{
DataTable dt = new DataTable();
string sql = @"SELECT * FROM T_ONGOODSSHELF WHERE CTL='" + CTL + "' and TASKTYPE=2 ";
try
{
dt = OracleHelper.ExecuteDataTable(CommandType.Text, sql);
if (dt != null && dt.Rows.Count > 0)
{
GOOD_ID = dt.Rows[0]["GOOD_ID"].ToString();
PORT = dt.Rows[0]["INSTAND"].ToString();
return true;
}
}
catch (Exception ex)
{
}
return false;
}
public bool GetRKTaskCkCount(string CTL, ref string goodsid )
{
DataTable dt = new DataTable();
string sql = @"SELECT * FROM T_ONGOODSSHELF WHERE CTL='" + CTL + "' and TASKTYPE=2 ";
try
{
dt = OracleHelper.ExecuteDataTable(CommandType.Text, sql);
if (dt != null && dt.Rows.Count > 0)
{
goodsid = dt.Rows[0]["goodsid"].ToString();
return true;
}
}
catch (Exception ex)
{
}
return false;
}
public bool Update_T_BASE_STORAGE_AREA_LOCATION_sts(string LOCATION_ID)
{
int row = 0;
string sql2 = "update T_BASE_STORAGE_AREA_LOCATION set STATUS='1' where LOCATION_ID='" + LOCATION_ID + "' ";
try
{
row = OracleHelper.ExecuteNonQuery(CommandType.Text, sql2);
if (row > 0)
{
return true;
}
}
catch { }
return false;
}
public DataTable GetOUTTask(string decid, ref string errText)
{
//
errText = "";
DataTable dt = new DataTable();
string sql = @" select t.plcId,b.decId,t.LOC_ID,b.location_id_plc,t.outstand,t.ck_type,t.TOWHSELOC,b.inline,t.GOOD_ID,t.typests from T_CK_PICKINGWAVEGOODS t,T_BASE_STORAGE_AREA_LOCATION b
where t.LOC_ID = b.LOCATION_ID and t.status = 0 and b.decid='" + decid + "' and GOOD_ID='000000' order by t.ware_date asc";
try
{
dt = OracleHelper.ExecuteDataTable(sql);
}
catch (Exception ex)
{
errText = ex.Message;
}
return dt;
}
///
/// 查询指定状态、指定的出库任务。
///
///
///
///
public DataTable GetCKTask(string decid,ref string errText)
{
//
errText = "";
DataTable dt = new DataTable();
string sql = @" select t.plcId,b.decId,t.LOC_ID,b.location_id_plc,t.outstand,t.ck_type,t.TOWHSELOC,b.inline,t.GOOD_ID,t.typests from T_CK_PICKINGWAVEGOODS t,T_BASE_STORAGE_AREA_LOCATION b
where t.LOC_ID = b.LOCATION_ID and t.status = 0 and b.decid='" + decid + "'order by b.depth asc, t.typests desc,t.ware_date asc";
try
{
dt = OracleHelper.ExecuteDataTable(sql);
}
catch (Exception ex)
{
errText = ex.Message;
}
return dt;
}
public DataTable GetCKTaskNullBoX (ref string errText)
{
errText = "";
DataTable dt = new DataTable();
//string sql = @" select t.plcId,b.decId,t.LOC_ID,b.location_id_plc,t.outstand,t.ck_type,t.TOWHSELOC,b.inline,t.GOOD_ID,t.typests from T_CK_PICKINGWAVEGOODS t,T_BASE_STORAGE_AREA_LOCATION b
// where t.LOC_ID = b.LOCATION_ID and t.status = 0 and t.GOOD_ID='000000' and b.depth asc,order by t.typests desc,t.ware_date asc";
string sql = @" select * from T_CK_PICKINGWAVEGOODS t where t.GOOD_ID='000000' and t.ctl is null and t.plcid is null order by t.ware_date";
try
{
dt = OracleHelper.ExecuteDataTable(sql);
}
catch (Exception ex)
{
errText = ex.Message;
}
return dt;
}
public DataTable GetCKTaskList (string location_id , ref string errText)
{
errText = "";
DataTable dt = new DataTable();
string sql = @" select * from T_MI_STOCK t where t.location_id='"+ location_id + "'";
try
{
dt =OracleHelper.ExecuteDataTable(sql);
}
catch (Exception ex)
{
errText = ex.Message;
}
return dt;
}
public DataTable Get_T_CK_PICKINGWAVEGOODS_PLCID(string plcid)
{
string errText = "";
DataTable dt = new DataTable();
string type = "";
string sql = @" select t.good_id,t.CTL,LOCATION_ID,TOWHSELOC,TYPESTS from T_CK_PICKINGWAVEGOODS t where t.plcid='"+ plcid + "' ";
try
{
dt = OracleHelper.ExecuteDataTable(sql);
}
catch (Exception ex)
{
errText = ex.Message;
}
return dt;
}
//
public bool GetCKTaskSTS (string decId,string plcid)
{
DataTable dt = new DataTable();
string sql = @" SELECT * FROM T_CK_PICKINGWAVEGOODS T WHERE t.decid='"+ decId + "' and T.status IN(1,2,3) and plcid!='" + plcid + "'";
try
{
dt =OracleHelper.ExecuteDataTable(sql);
if (dt != null)
{
if (dt.Rows.Count > 0)
{
return true;
}
}
}
catch (Exception ex)
{
}
return false;
}
public bool GetCKTaskHK (string decId, string instand)
{
DataTable dt = new DataTable();
string sql = @"SELECT * FROM t_ongoodsshelf WHERE instand='"+ instand + "' AND decid='"+ decId + "'";
try
{
dt =OracleHelper.ExecuteDataTable(sql);
if (dt != null)
{
if (dt.Rows.Count > 0)
{
return true;
}
}
}
catch (Exception ex)
{
}
return false;
}
public bool GetkcCtl (string ctl)
{
DataTable dt = new DataTable();
string sql = @"SELECT * FROM t_mi_stock t where t.ctl='"+ ctl + "'";
try
{
dt =OracleHelper.ExecuteDataTable(sql);
if (dt != null)
{
if (dt.Rows.Count > 0)
{
return true;
}
}
}
catch (Exception ex)
{
}
return false;
}
public DataTable GetCKTaskFinish (string plcId,string status,ref string errText)
{
DataTable dt = new DataTable();
string sql = @" select t.PUTIN_ID,t.plcId,t.LOC_ID,t.BARCODE,t.ck_type,t.ctl,t.PICKING_NUM,t.GOOD_ID,t.outStand,t.SPECIFICATION from T_CK_PICKINGWAVEGOODS t,T_BASE_STORAGE_AREA_LOCATION b
where t.LOC_ID = b.LOCATION_ID and plcId = '" + plcId + "' and t.status='"+ status + "'";
try
{
dt =OracleHelper.ExecuteDataTable(sql);
}
catch (Exception ex)
{
errText = ex.Message;
}
return dt;
}
public DataTable GetTaskMove (ref string errText)
{
DataTable dt = new DataTable();
string sql = @" SELECT T.TASKID
,T.PLCID
,T.CTL
,T.DECID
,T.START_LOCATION
,T.END_LOCATION
,T.IN_STATION
,T.OUT_STATION
,T.ADDTIME
,T.UPDATETIME
,T.STATUS,L.DECID
FROM T_ONGOODSSHELF_MOVE T ,T_BASE_STORAGE_AREA_LOCATION L WHERE T.START_LOCATION=L.LOCATION_ID AND T.STATUS='0' order by T.PLCID";
try
{
dt =OracleHelper.ExecuteDataTable(sql);
}
catch (Exception ex)
{
errText = ex.Message;
}
return dt;
}
public int GetTaskMoveCount (ref string errText)
{
DataTable dt = new DataTable();
int rowcount = 0;
string sql = @" SELECT * FROM T_ONGOODSSHELF_MOVE order by T.PLCID";
try
{
dt =OracleHelper.ExecuteDataTable(sql);
if (dt != null)
{
if (dt.Rows.Count > 0)
{
rowcount = dt.Rows.Count;
}
}
}
catch (Exception ex)
{
errText = ex.Message;
}
return rowcount;
}
public DataTable Get_T_CK_PICKING_GOODS(string code, ref string errText)
{
DataTable dt = new DataTable();
string sql = @" SELECT * FROM T_CK_PICKINGWAVEGOODS a WHERE a.CTL='" + code + "' ";
try
{
dt = OracleHelper.ExecuteDataTable(sql);
}
catch (Exception ex)
{
errText = ex.Message;
}
return dt;
}
public DataTable Get_T_ONGOODSSHELF_SSX(string code ,ref string errText)
{
DataTable dt = new DataTable();
string sql = @" SELECT * FROM T_ONGOODSSHELF a WHERE a.CTL='" + code + "' ";
try
{
dt = OracleHelper.ExecuteDataTable(sql);
}
catch (Exception ex)
{
errText = ex.Message;
}
return dt;
}
public DataSet Get_T_ONGOODSSHELF_SSX_MES(string code, ref string errText)
{
DataSet dt = new DataSet();
string sql = @" SELECT * FROM T_ONGOODSSHELF a WHERE a.CTL='" + code + "' and REMARK is null and TASKTYPE='2' ";
try
{
dt = OracleHelper.ExecuteDataset(CommandType.Text, sql);
}
catch (Exception ex)
{
errText = ex.Message;
}
return dt;
}
public DataSet SELECTT_MI_STOCK_9(ref string errText)
{
DataSet dt = new DataSet();
string sql = @" SELECT * FROM T_MI_STOCK where stsebs in(2,9) ";
try
{
dt = OracleHelper.ExecuteDataset(CommandType.Text, sql);
}
catch (Exception ex)
{
errText = ex.Message;
}
return dt;
}
public DataTable Get_T_ONGOODSSHELF (string code, string STATUS, ref string errText)
{
DataTable dt = new DataTable();
string sql = @" SELECT * FROM T_ONGOODSSHELF a WHERE a.CTL='"+ code + "' AND a.STATUS = '" + STATUS + "' ";
try
{
dt =OracleHelper.ExecuteDataTable(sql);
}
catch (Exception ex)
{
errText = ex.Message;
}
return dt;
}
public DataTable Get_cux_wms_move_order_lot_itf_zh ()
{
DataTable table = new DataTable();
string sqlStr = @" select a.out_bar_code,a.INNER_BAR_CODE, a.lot_number,a.request_number,a.line_number from cux_wms_move_order_lot_itf_zh a,cux_wms_move_order_fsh_itf_zh b
where a.request_number=b.request_number
and a.line_number=b.line_number
and b.status=1
and b.to_subinventory_code in('3001','3003','3035') ";
try
{
table =OracleHelper.ExecuteDataTable(sqlStr);
}
catch (Exception ex)
{
return null;
}
return table;
}
public DataTable Get_T_CK_PICKINGWAVEGOODS_sts9 (string barcode,string INNER_BAR_CODE)
{
DataTable table = new DataTable();
string sqlStr = @"select t.pickingid,t.barcode,t.CTL from T_CK_PICKINGWAVEGOODS t where (t.barcode='"+ barcode + "' or t.barcode='"+ INNER_BAR_CODE + "') and t.status='9'";
try
{
table =OracleHelper.ExecuteDataTable(sqlStr);
}
catch (Exception ex)
{
return null;
}
return table;
}
public DataSet Get_MES_TO_WMS_IN ()
{
DataSet table = new DataSet();
string sqlStr = @" select * from t_mi_stock s where s.stsebs=0 and s.goods_id !='000000'";
try
{
table = OracleHelper.ExecuteDataset(CommandType.Text, sqlStr);
}
catch (Exception ex)
{
return null;
}
return table;
}
public bool UPDATE_T_CK_PICKINGWAVEGOODS_STS10 (string barcode,string pickingid)
{
string sql = " update T_CK_PICKINGWAVEGOODS s set s.status='10' where s.barcode='"+ barcode + "' and s.pickingid='"+ pickingid + "'";
try
{
int row =OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
if (row > 0)
{
return true;
}
}
catch { }
return false;
}
public bool UPDATE_CUX_WMS_MOVE_ORDER_FSH_ITF_ZH_sts (string request_number,string line_number, int status)
{
string sql = " update CUX_WMS_MOVE_ORDER_FSH_ITF_ZH s set s.status="+ status + " where s.request_number='"+ request_number + "' and s.line_number='"+ line_number + "'";
try
{
int row =OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
if (row > 0)
{
return true;
}
}
catch { }
return false;
}
public int Update_T_AGV_TO_WCS_TASK(string TASKID, int PLCID, int STS)
{
int row = 0;
string sql = "UPDATE T_AGV_TO_WCS_TASK SET PLCID=" + PLCID + ",STS=" + STS + " WHERE TASKID='" + TASKID + "' ";
try
{
row =OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
}
catch (Exception ex)
{
}
return row;
}
public DataTable Get_T_ONGOODSSHELF_instand (string PLCID , string STATUS, ref string errText)
{
DataTable dt = new DataTable();
string sql = @" SELECT T.LOCATION_ID,A.LOCATION_ID_PLC,A.DECID,A.INSTAND,T.LOT_ID,T.GOODSID,T.CTL,t.PLCID,t.TASKTYPE FROM T_ONGOODSSHELF t,T_BASE_STORAGE_AREA_LOCATION A
where T.LOCATION_ID=A.LOCATION_ID AND T.PLCID='" + PLCID + "' ";
try
{
dt =OracleHelper.ExecuteDataTable(sql);
}
catch (Exception ex)
{
errText = ex.Message;
}
return dt;
}
public bool SELECT_YK(string decid)
{
string sql = "select * from T_CK_PICKINGWAVEGOODS where status=0 and TYPESTS='3' and DECID='"+ decid + "'";
try
{
DataTable table = OracleHelper.ExecuteDataTable(CommandType.Text, sql);
if (table.Rows.Count > 0)
{
return true;
}
}
catch(Exception ex)
{
return false;
}
return false;
}
public bool UPDATE_T_ONGOODSSHELF (string PlcID,string STATUS)
{
string sql = "update T_ONGOODSSHELF set STATUS='"+ STATUS + "' where PlcID='"+ PlcID + "'";
try
{
int row =OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
if (row > 0)
{
return true;
}
}
catch { }
return false;
}
///
/// 更新入库任务状态
///
///
///
///
///
public bool Update_T_ONGOODSSHELF (int status, string PLCID )
{
int i = 0;
string sql = " update T_ONGOODSSHELF set status="+ status + " where PlcID='"+ PLCID + "'";
try
{
i =OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
}
catch (Exception ex)
{
}
return i > 0 ? true : false;
}
public DataSet SELECT_ON(string PLCID)
{
int i = 0;
string sql = "select * from T_ONGOODSSHELF where PLCID='"+PLCID+"'";
try
{
DataSet dt= OracleHelper.ExecuteDataset(CommandType.Text, sql);
return dt; // 检查行数
}
catch (Exception ex)
{
return null;
}
}
public DataSet SELECT_OUT(string PLCID)
{
int i = 0;
string sql = "select * from T_CK_PICKINGWAVEGOODS where PLCID='" + PLCID + "'";
try
{
DataSet dt = OracleHelper.ExecuteDataset(CommandType.Text, sql);
return dt; // 检查行数
}
catch (Exception ex)
{
return null;
}
}
public bool Insert_T_ONGOODSSHELF_MOVE (string TASKID,string PLCID,string DECID,string START_LOCATION,string END_LOCATION,string ADDTIME,string STATUS)
{
int i = 0;
string sql = @"INSERT INTO T_ONGOODSSHELF_MOVE
(TASKID
, PLCID
, DECID
, START_LOCATION
, END_LOCATION
, ADDTIME
, STATUS)
VALUES('"+ TASKID + "','"+ PLCID + "','"+ DECID + "','"+ START_LOCATION + "','"+ END_LOCATION + "','"+ ADDTIME + "','"+ STATUS + "')";
try
{
i =OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
}
catch (Exception ex)
{
}
return i > 0 ? true : false;
}
public bool Update_t_Agv_To_Wcs_HC (string agvCode, string robotJobId, string pointCode)
{
int i = 0;
string sql = "update t_Agv_To_Wcs_HC set status=1 where agvCode='"+ agvCode + "' and robotJobId='"+ robotJobId + "' and pointCode='"+ pointCode + "' and status=0";
try
{
i =OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
}
catch (Exception ex)
{
}
return i > 0 ? true : false;
}
///
/// 更新出库任务状态
///
///
///
///
///
public bool Update_T_MI_STOCK (string sts , string CTL, string LOCATION_ID)
{
int i = 0;
string sql = "update T_MI_STOCK set sts="+ sts + " where LOCATION_ID='"+ LOCATION_ID + "' and CTL='"+ CTL + "'";
try
{
i =OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
}
catch (Exception ex)
{
}
return i > 0 ? true : false;
}
public bool UpdateRKTaskStatus(string Plcid, string Status)
{
int i = 0;
string sql = "update T_ONGOODSSHELF set status='" + Status + "' where PlcID='" + Plcid + "' ";
try
{
i =OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
}
catch { }
return i > 0 ? true : false;
}
public bool excutSqlstr(string sqlstr, ref string errText)
{
bool flag = false;
int num = 0;
errText = string.Empty;
try
{
num =OracleHelper.ExecuteNonQuery(CommandType.Text, sqlstr);
if (num > 0)
{
flag = true;
}
}
catch (Exception ex)
{
errText = ex.Message;
}
return flag;
}
public string updateDevsts(string decid, string devsts, string devtaskid)
{
string sqlstr = "update T_ConveyorStatus set LoadMode='" + devsts + "',PlcID='" + devtaskid + "' where ConveyorID='" + decid + "' ";
return sqlstr;
}
public bool Update_T_MI_STOCK_STSEBS (string LOCATION_ID,string BARCODE, string STSEBS)
{
int row = 0;
string sql = "update T_MI_STOCK T SET T.STSEBS="+ STSEBS + " WHERE T.LOCATION_ID='"+ LOCATION_ID + "' AND T.BARCODE='"+ BARCODE + "'";
try
{
row =OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
if (row > 0)
{
return true;
}
}
catch { }
return false;
}
public bool Update_T_SSX_TASK(string BARCODE,string CTL,string STS)
{
int row = 0;
string sql = "update T_ONGOODSSHELF SET REMARK='" + STS+"' WHERE CTL='" + CTL + "' AND BARCODE='" + BARCODE + "'";
try
{
row = OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
if (row > 0)
{
return true;
}
}
catch { }
return false;
}
public bool UpdateRKTaskLocationPLCID (string PLCID,string CTL, string location)
{
string sql = "update T_ONGOODSSHELF set LOCATION_ID='" + location + "',PLCID='"+ PLCID + "',STATUS='1' where CTL='" + CTL + "'";
string sql2 = "update T_BASE_STORAGE_AREA_LOCATION set STATUS='1' where LOCATION_ID='" + location + "' ";
try
{
int i=OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
if (i >0)
{
int j =OracleHelper.ExecuteNonQuery(CommandType.Text, sql2);
if (j > 0)
{
return true;
}
}
}
catch { }
return false;
}
public bool deleteRuKuLOCATION(string PLCID, string CTL, string location)
{
string sql = "update T_ONGOODSSHELF set LOCATION_ID='',PLCID='',STATUS='0' where CTL='" + CTL + "'";
string sql2 = "update T_BASE_STORAGE_AREA_LOCATION set STATUS='0' where LOCATION_ID='" + location + "' ";
try
{
int i = OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
if (i > 0)
{
int j = OracleHelper.ExecuteNonQuery(CommandType.Text, sql2);
if (j > 0)
{
return true;
}
}
}
catch { }
return false;
}
public bool SELECT_ON_TASK(string CTL)
{
string sql = "select * from T_ONGOODSSHELF where CTL='" + CTL + "'";
try
{
int i = OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
if (i > 0)
{
return true;
}
}
catch { }
return false;
}
public bool SELECT_OUT_TASK(string CTL)
{
string sql = "select * from T_CK_PICKINGWAVEGOODS where CTL='" + CTL + "'";
try
{
int i = OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
if (i > 0)
{
return true;
}
}
catch { }
return false;
}
///
/// 查找指定状态、指定库区的出库任务
///
///
///
///
public DataTable GetCKTask(string TaskStatus, string decidkind)
{
DataTable dt = new DataTable();
string sql = "select * from T_CK_PICKINGWAVEGOODS where status='" + TaskStatus + "' and LOC_ID like '" + decidkind + "%' order by WARE_DATE asc ";
try
{
dt =OracleHelper.ExecuteDataTable(sql);
}
catch { }
return dt;
}
///
/// 出库深货位先判断浅货位有无托盘
///
///
///
public int Get_T_MI_STOCK_T_BASE_STORAGE_AREA_LOCATION (string LOCATION_ID )
{
int retValues = 0;
string sql = " select STATUS from T_BASE_STORAGE_AREA_LOCATION where LOCATION_ID='" + LOCATION_ID + "'";
try
{
DataTable dt =OracleHelper.ExecuteDataTable(sql);
if (dt != null)
{
if (dt.Rows.Count > 0)
{
if (dt.Rows[0][0].ToString() != "0")
{
retValues = 1;
}
else
{
string sql2 = " select * from T_MI_STOCK where LOCATION_ID='" + LOCATION_ID + "'";
DataTable dt2 =OracleHelper.ExecuteDataTable(sql2);
if (dt2 != null)
{
if (dt2.Rows.Count>0)
{
retValues = 1;
}
}
}
}
}
}
catch { }
return retValues;
}
public DataTable protGetCKTask(string plcId,string prot)
{
DataTable dt = new DataTable();
string sql = "select * from T_CK_PICKINGWAVEGOODS where plcId='" + plcId + "' and prot='"+ prot + "' order by WARE_DATE desc ";
try
{
dt =OracleHelper.ExecuteDataTable(sql);
}
catch { }
return dt;
}
public bool UpdateCKTaskSts (string plcId, string status)
{
int row = 0;
string sql = "update T_CK_PICKINGWAVEGOODS set status='" + status + "' where plcId='" + plcId + "' ";
try
{
row =OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
if (row > 0)
{
return true;
}
}
catch { }
return false;
}
public bool UpdateCKTaskPLCID (string plcId,string CTL,string LOCATION_ID,string pickingid)
{
int row = 0;
string sql = "update T_CK_PICKINGWAVEGOODS set loc_id='" + LOCATION_ID + "',plcId='"+ plcId + "',CTL='"+ CTL + "' where pickingid='" + pickingid + "' ";
try
{
row = OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
if (row > 0)
{
return true;
}
}
catch { }
return false;
}
public bool UPDATE_STATUS_9(string CTL,string taskid)
{
int row = 0;
string sql = "update T_CK_PICKINGWAVEGOODS set STATUS=9 where CTL='"+ CTL + "' or PLCID='"+taskid+"' ";
try
{
row = OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
if (row > 0)
{
return true;
}
}
catch { }
return false;
}
public bool UPDATE_STATUS_9_2(string CTL)
{
int row = 0;
string sql = "update T_CK_PICKINGWAVEGOODS set STATUS=9 where CTL='" + CTL + "'";
try
{
row = OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
if (row > 0)
{
return true;
}
}
catch { }
return false;
}
public bool Ins_T_ONGOODSSHELF(string CTL)
{
int row = 0;
string sql1 = "update T_ONGOODSSHELF set LOCATION_ID='装箱线' where CTL='" + CTL + "'";
OracleHelper.ExecuteNonQuery(CommandType.Text, sql1);
string sql = "insert into T_ONGOODSSHELF_BAK select * from T_ONGOODSSHELF where CTL='" + CTL + "' ";
try
{
row = OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
if (row > 0)
{
return true;
}
}
catch { }
return false;
}
public bool Del_T_ONGOODSSHELF (string CTL)
{
int row = 0;
string sql = "delete from T_ONGOODSSHELF where CTL='" + CTL + "' ";
try
{
row =OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
if (row > 0)
{
return true;
}
}
catch { }
return false;
}
public bool Del_T_CK_PICKINGWAVEGOODS_pickingid (string pickingid )
{
int row = 0;
string sql = "delete from T_CK_PICKINGWAVEGOODS where pickingid='" + pickingid + "' and good_id='000000' ";
try
{
row = OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
if (row > 0)
{
return true;
}
}
catch { }
return false;
}
public bool Del_T_CK_PICKINGWAVEGOODS(string CTL)
{
int row = 0;
string sql = "delete from T_CK_PICKINGWAVEGOODS where CTL='" + CTL + "' ";
try
{
row = OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
if (row > 0)
{
return true;
}
}
catch { }
return false;
}
public int UpStandNeedEnd(string conveyorID, string PlcID, string AutoMode, string error, string loadm)
{
string sqlstr = string.Empty;
sqlstr = "update T_ConveyorStatus set PlcID='" + PlcID + "',AutoMode='" + AutoMode + "',error='" + error + "',LoadMode='" + loadm + "' where ConveyorID='" + conveyorID + "' ";
try
{
int i =OracleHelper.ExecuteNonQuery(CommandType.Text, sqlstr);
return i;
}
catch (Exception ex)
{
return 0;
}
}
public DataTable GetOutingGoodsDecidOhp()
{
string pwd = string.Empty;
string errText = string.Empty;
string sqlStr = @" select PLCID,PUTIN_ID,LOC_ID,WARE_DATE,PICKING_NUM,BARCODE,CTL,OUTSTAND,TYPESTS,STORAGE_AREA_ID,GOOD_ID,
case status when '0' then '未执行' when '1' then '堆垛机执行中' when '6' then '堆垛机过账完成' when '9' then '手持拣货完成' end STATUSNAME,status
from T_CK_PICKINGWAVEGOODS order by status desc,plcId asc";
DataTable ds = new DataTable();
try
{
ds =OracleHelper.ExecuteDataTable(CommandType.Text, sqlStr);
}
catch (Exception ex)
{
errText = ex.Message;
ds = null;
}
return ds;
}
public DataTable GetiningGoodsDecidOhp()
{
string pwd = string.Empty;
string errText = string.Empty;
string sqlStr = @"select PLCID,LOCATION_ID,ONDATE,BARCODE,INSTAND,CTL,SHELF_NUM,GOODSID,STORAGE_AREA_ID,CUSTOMER_ID,STORAGE_MODE,
case status when '0' then '未执行' when '1' then '输送机写入' when '2' then '堆垛机执行中' when '3' then '堆垛机过账完成' end statusname, status
from T_ONGOODSSHELF order by status desc,plcId asc";
DataTable ds = new DataTable();
try
{
ds =OracleHelper.ExecuteDataTable(CommandType.Text, sqlStr);
}
catch (Exception ex)
{
errText = ex.Message;
ds = null;
}
return ds;
}
public DataTable GetConveyorStatus()
{
string sqlStr = @" select * from T_ConveyorStatus where sts=0 and STORAGE_ID='LTK001'";
try
{
return OracleHelper.ExecuteDataTable(CommandType.Text, sqlStr);
}
catch (Exception ex)
{
return null;
}
}
public string GetBoxNumDecId ()
{
string sqlStr = @" select count(*) as countnum,b.decid from t_mi_stock t,T_BASE_STORAGE_AREA_LOCATION b
where t.location_id=b.location_id and t.goods_id='000000' and t.sts='0'
AND B.DECID IN(SELECT T.DECID FROM T_DECNAME T WHERE T.AUTOMODEL='联机' ) group by b.decid order by countnum desc";
try
{
DataTable dt = OracleHelper.ExecuteDataTable(CommandType.Text, sqlStr);
if (dt != null && dt.Rows.Count > 0)
{
return dt.Rows[0]["decid"].ToString();
}
}
catch (Exception ex)
{
return null;
}
return "";
}
public DataTable GetCK_TASK_NULLBOX (string decid)
{
DataTable dt = new DataTable();
string sqlStr = @" select t.ctl,t.goods_id,t.location_id,b.depth,b.cln from t_mi_stock t,T_BASE_STORAGE_AREA_LOCATION b
where t.location_id=b.location_id and t.goods_id='000000' and b.decid='" + decid + "' and t.sts='0' order by b.depth desc,b.cln asc";
try
{
dt = OracleHelper.ExecuteDataTable(CommandType.Text, sqlStr);
}
catch (Exception ex)
{
return null;
}
return dt ;
}
public bool Updatetest (string SORT , string LOCATION_ID)
{
int row = 0;
string sql = "update T_BASE_STORAGE_AREA_LOCATION set SORT='" + SORT + "' where LOCATION_ID='" + LOCATION_ID + "' ";
try
{
row =OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
if (row > 0)
{
return true;
}
}
catch { }
return false;
}
public void UpdateDevControl (string devid, string autoModel, string taskName,string nowPlcid)
{
string sql = " update t_decname set autoModel='" + autoModel + "',taskName='" + taskName + "',nowPlcid='" + nowPlcid + "' where decid='" + devid + "'";
try
{
OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
}
catch { }
}
public Dictionary GetDictionary(ref string errText)
{
errText = string.Empty;
Dictionary strD = new Dictionary();
string strSql = "select decCode,decMsg from t_decFault ";
DataTable ds = new DataTable();
try
{
ds =OracleHelper.ExecuteDataTable(strSql);
if (ds != null && ds.Rows.Count > 0)
{
foreach (DataRow r in ds.Rows)
{
strD.Add(r["decCode"].ToString(), r["decMsg"].ToString());
}
}
}
catch (Exception ex)
{
errText = ex.Message;
}
return strD;
}
private object declock = new object();
public void UpdateDevStatus(string devid, string devsts)
{
string sql = " update t_decname set devsts='" + devsts + "' where decid='" + devid + "'";
try
{
OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
}
catch { }
}
///
/// 更新出库任务状态
///
///
///
///
///
public bool UpdateCKTaskStatus(string plcId , string Status)
{
int i = 0;
string sql = "update T_CK_PICKINGWAVEGOODS set status='" + Status + "' where plcId='" + plcId + "'";
try
{
i =OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
}
catch { }
return i > 0 ? true : false;
}
public bool UpdateYKTaskStatus(string plcId, string Status)
{
int i = 0;
string sql = "update T_CK_PICKINGWAVEGOODS set status='" + Status + "' where plcId='" + plcId + "' and TYPESTS=3 ";
try
{
i = OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
}
catch { }
return i > 0 ? true : false;
}
public bool DELETE_MI_STOCK(string plcId)
{
int i = 0;
string sql = "delete T_MI_STOCK where CTL =(select distinct CTL from T_CK_PICKINGWAVEGOODS where PLCID='"+ plcId + "')";
try
{
i = OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
}
catch { }
return i > 0 ? true : false;
}
public bool UPDATE_LOCATION(string plcId)
{
int i = 0;
string sql = "update T_BASE_STORAGE_AREA_LOCATION set STATUS=0 where LOCATION_ID =(select distinct LOCATION_ID from T_CK_PICKINGWAVEGOODS where PLCID='" + plcId + "')";
try
{
i = OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
}
catch { }
return i > 0 ? true : false;
}
public bool UpdateT_MI_STOCK (string STS, string CTL)
{
int i = 0;
string sql = "UPDATE T_MI_STOCK SET STS='"+STS+"' WHERE CTL='"+CTL+"' ";
try
{
i = OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
}
catch { }
return i > 0 ? true : false;
}
public int DEL_T_AGV_TO_WCS_TASK(int PLCID)
{
int row = 0;
string sql = " delete from T_AGV_TO_WCS_TASK where PLCID=" + PLCID + " ";
try
{
row =OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
}
catch (Exception ex)
{
}
return row;
}
public int DEL_T_AGV_IN_SSJ(string taskCode)
{
int row = 0;
string sql = " delete from T_AGV_IN_SSJ where taskCode='" + taskCode + "' ";
try
{
row =OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
}
catch (Exception ex)
{
}
return row;
}
public DataTable GetiningGoodsDecidOhp(ref string errText)
{
string pwd = string.Empty;
errText = string.Empty;
string sqlStr = @" SELECT TASKID
,PLCID
,STARTSTATION
,ENDSTATION
,case STS when 0 then '未执行' when 1 then '输送机写入' when 2 then 'AGV已下发' end STS
,ADDTIME
FROM T_AGV_TO_WCS_TASK where STARTSTATION IN('03','08','10') ORDER BY PLCID desc";
DataTable ds = new DataTable();
try
{
ds =OracleHelper.ExecuteDataTable(CommandType.Text, sqlStr);
}
catch (Exception ex)
{
errText = ex.Message;
}
return ds;
}
public DataTable Get_T_AGV_IN_SSJ(ref string errText)
{
string pwd = string.Empty;
errText = string.Empty;
string sqlStr = @" SELECT reqCode
,taskCode
,posCode
,destinationAddress
,reqTime
,case STS when 0 then '未执行' when 1 then '回复AGV允许进入成功' when 2 then 'AGV已到达成功' end STS
FROM T_AGV_IN_SSJ where posCode IN('03','08','10') ORDER BY reqTime desc";
DataTable ds = new DataTable();
try
{
ds =OracleHelper.ExecuteDataTable(CommandType.Text, sqlStr);
}
catch (Exception ex)
{
errText = ex.Message;
}
return ds;
}
///
/// 根据状态库区查询移库任务
///
///
///
///
public DataTable GetMoveTask(string Status,string StorageID)
{
DataTable dt = new DataTable();
string sql = "select MOVELOC_TYPE,PlcID,OlderLocationID,NewLocationID from T_STOCK_MOVELOC where STATE='"+ Status + "' and STORAGE_ID='"+ StorageID + "' ";
try
{
dt =OracleHelper.ExecuteDataTable(sql);
}
catch { }
return dt;
}
public bool insert_T_ONGOODSSHELF_(string LOT_ID, string GOODSID, string CTL, string STORAGE_MODE, string STATUS, DateTime ONDATE, string TASKTYPE)
{
int i = 0;
string sqlStr = $@"
INSERT INTO T_ONGOODSSHELF (
LOT_ID, GOODSID, PROVIDER_ID, LOCATION_ID, STO_NUM, ACC_NUM,
SHELF_NUM, STOCK_NUM, ONDATE, ONSHELFUSERID, STORAGE_ID,
STORAGE_AREA_ID, UPGOODS_ID, HASVOLUME, GOODS_TYPEID, STORAGE_MODE,
PRODUCTION_DATE, GOODSVOLUME, CTL, BARCODE, CUSTOMER_ID,
GOODSNAME, PLCID, HIGH, STATUS, PRODUCLOTID,
UNIT, BAOZHIQI, WHSELOC, INSTAND, WGH,
DECID, TASKTYPE, WAREHOUSING_ID
) VALUES (
'{LOT_ID}', '{GOODSID}', '0', '', 0, 0,
0, 0, TO_DATE('{ONDATE.ToString("yyyy-MM-dd HH:mm:ss")}', 'YYYY-MM-DD HH24:MI:SS'), '', '',
'', '', 0, '', '{STORAGE_MODE}',
SYSDATE, 0, '{CTL}', '', '',
'', 0, '', '{STATUS}', '',
'', '', '', '', '',
'', '{TASKTYPE}', ''
)";
try
{
i = OracleHelper.ExecuteNonQuery(CommandType.Text, sqlStr);
}
catch (Exception exd) { }
return i > 0;
}
public bool insert_T_ONGOODSSHELF (string LOT_ID, string GOODSID, string GOODSNAME,string LOCATION_ID,decimal ACC_NUM,
decimal SHELF_NUM,DateTime ONDATE,string BARCODE,string plcId)
{
int i = 0;
string sql = @" insert into T_ONGOODSSHELF(LOT_ID,GOODSID,LOCATION_ID,ACC_NUM,SHELF_NUM,ONDATE,STORAGE_ID,
BARCODE,GOODSNAME,plcId)values('" + LOT_ID + "','"+ GOODSID + "','"+ LOCATION_ID + "',"+ ACC_NUM + ","
+""+ SHELF_NUM + ",'"+ ONDATE + "','LTK','"+ BARCODE + "','"+ GOODSNAME + "','"+ plcId + "')";
try
{
i =OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
}
catch(Exception exd ) { }
return i > 0 ? true : false;
}
public bool insert_T_BASE_GOODS (string GOODS_ID, string GOODS_NAME, string SPECIFICATION,string BARCODE,
decimal GLENGTH,string PROVIDER_ID,DateTime CREATE_DATE,string gzlid,string gzlname,string rxjj,string rxzl,string rxxj)
{
int i = 0;
string sql = @" insert into T_BASE_GOODS(GOODS_ID,GOODS_NAME,SPECIFICATION,BARCODE,
GLENGTH,PROVIDER_ID,CREATE_DATE,gzlid,gzlname,rxjj,rxzl,rxxj)values('"+ GOODS_ID + "','"+ GOODS_NAME + "','"+ SPECIFICATION + "',"+
"'"+ BARCODE + "',"+ GLENGTH + ",'"+ PROVIDER_ID + "','"+ CREATE_DATE + "','"+ gzlid + "','"+ gzlname + "','"+ rxjj + "','"+ rxzl + "','"+ rxxj + "') ";
try
{
i =OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
}
catch { }
return i > 0 ? true : false;
}
public void insertstorage(string location,string decid)
{
string sql= "insert into T_BASE_STORAGE_AREA_LOCATION(LOCATION_ID,decId,STATUS,HASVOLUME) values('"+ location + "','"+ decid + "',0,0) ";
OracleHelper.ExecuteNonQuery(CommandType.Text, sql);
}
public DataTable Get_t_decname_SUM ()
{
DataTable ds = new DataTable();
string sql = @" select decid, ct from t_decname order by decid ";
try
{
ds =OracleHelper.ExecuteDataTable(sql);
}
catch { }
return ds;
}
public DataTable GetGoodsCount (string BARCODE)
{
DataTable ds = new DataTable();
StringBuilder strSQL = new StringBuilder();
strSQL.AppendLine("select * from T_BASE_GOODS ");
if (BARCODE != "")
{
strSQL.AppendLine(" where BARCODE = '" + BARCODE + "' ");
}
strSQL.AppendLine(" order by CREATE_DATE ");
try
{
ds =OracleHelper.ExecuteDataTable(strSQL.ToString());
}
catch { }
return ds;
}
}
}