BaoKai_202508-Wcs-Jingwang..../WCSIce/SQLDate/DataClass.cs
2025-08-24 12:51:29 +08:00

2579 lines
86 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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();
/// <summary>
/// 通过Singleton模式返回当前实例
/// </summary>
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
/// <summary>
/// 查询数据库表结构,用来判断数据库是否连接成功
/// </summary>
/// <returns></returns>
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;
}
/// <summary>
/// 查询指定状态、指定的入库任务。
/// </summary>
/// <param name="TaskStatus"></param>
/// <param name="StorageID"></param>
/// <returns></returns>
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;
}
/// <summary>
/// 双深度货位查询逻辑
/// </summary>
/// <param name="decId"></param>
/// <param name="errText"></param>
/// <returns></returns>
//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;
//}
/// <summary>
/// 单深度货位查询
/// </summary>
/// <param name="decId"></param>
/// <param name="errText"></param>
/// <returns></returns>
//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;
}
/// <summary>
/// 查询指定状态、指定的出库任务。
/// </summary>
/// <param name="TaskStatus"></param>
/// <param name="StorageID"></param>
/// <returns></returns>
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;
}
/// <summary>
/// 更新入库任务状态
/// </summary>
/// <param name="LocationID"></param>
/// <param name="Status"></param>
/// <param name="StorageID"></param>
/// <returns></returns>
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;
}
/// <summary>
/// 更新出库任务状态
/// </summary>
/// <param name="LocationID"></param>
/// <param name="Status"></param>
/// <param name="StorageID"></param>
/// <returns></returns>
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;
}
/// <summary>
/// 查找指定状态、指定库区的出库任务
/// </summary>
/// <param name="TaskStatus"></param>
/// <param name="StorageID"></param>
/// <returns></returns>
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;
}
/// <summary>
/// 出库深货位先判断浅货位有无托盘
/// </summary>
/// <param name="LOCATION_ID"></param>
/// <returns></returns>
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<string, string> GetDictionary(ref string errText)
{
errText = string.Empty;
Dictionary<string, string> strD = new Dictionary<string, string>();
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 { }
}
/// <summary>
/// 更新出库任务状态
/// </summary>
/// <param name="LocationID"></param>
/// <param name="Status"></param>
/// <param name="StorageID"></param>
/// <returns></returns>
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;
}
/// <summary>
/// 根据状态库区查询移库任务
/// </summary>
/// <param name="Status"></param>
/// <param name="StorageID"></param>
/// <returns></returns>
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;
}
}
}