2579 lines
86 KiB
C#
2579 lines
86 KiB
C#
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;
|
||
|
||
|
||
}
|
||
|
||
|
||
}
|
||
}
|