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