using System; using System.Configuration; using System.Data; using System.Data.OracleClient; using webapi.Public; namespace webapi.Data { public class RkData { private static string m_connectionString = ConfigurationManager.ConnectionStrings["RemoteConnectionString"].ToString(); public static string GetDocumentStream(string type) { string strDate = string.Empty; string strS = string.Empty; string strSqlSeq = ""; DataTable tb = GetDocumentData(type); if (tb != null) { if (tb.Rows.Count > 0) { strS = tb.Rows[0]["DOCUMENT_START"].ToString(); if (tb.Rows[0]["DOCUMENT_DATE"].ToString().Trim().Length == 8) { strDate = DateTime.Now.ToString("yyyyMMdd"); strS = strS + strDate; } else if (tb.Rows[0]["DOCUMENT_DATE"].ToString().Trim().Length == 6) { strDate = DateTime.Now.ToString("yyyyMM"); strS = strS + strDate; } string strEnd = string.Empty; strSqlSeq = GetSeq(tb.Rows[0]["DOCUMENT_TYPE_VALUE"].ToString()); strS = strS + strSqlSeq; if (tb.Rows[0]["DOCUMENT_END"].ToString().Trim().Length > 0) { strEnd = strSqlSeq + tb.Rows[0]["DOCUMENT_END"].ToString().Trim(); strS = strS + strEnd; } } } return strS; } /// /// 接收WCS任务反馈更新入库订单状态 /// /// ] public static int UpdateOngoodShelf(string LOT_ID, string STS, ref string errText) { lock ("rk") { int rowNum = 0; errText = string.Empty; //入库单直接报完成 if (STS == "8") { STS = "2"; } string sql = "update T_ONGOODSSHELF set status='" + STS + "' where LOT_ID='" + LOT_ID + "'"; try { rowNum = OracleHelper.ExecuteNonQuery(CommandType.Text, sql); } catch (Exception ex) { errText = ex.Message; } return rowNum; } } /// /// 接收WCS任务反馈更新出库订单状态 /// /// ] public static int UpdatePickingwaveGoods(string PICKINGID, string STS, ref string errText) { lock ("ck") { int rowNum = 0; errText = string.Empty; string sql = "update T_CK_PICKINGWAVEGOODS set status='" + STS + "' where PICKINGID='" + PICKINGID + "'"; ; try { rowNum = OracleHelper.ExecuteNonQuery(CommandType.Text, sql); } catch (Exception ex) { errText = ex.Message; } return rowNum; } } public static int GetPlcId() { string sql = "select SEQ_PLC_TASKVAL.nextval from dual"; return int.Parse(OracleHelper.ExecuteScalar(CommandType.Text, sql).ToString()); } public static int GetOnGoodsCount(string ctl) { string sql = "select count(*) from T_ONGOODSSHELF where ctl='" + ctl + "'"; return int.Parse(OracleHelper.ExecuteScalar(CommandType.Text, sql).ToString()); } public static int GetCtlCount(string ctl) { string sql = "select count(*) from T_BASE_PALLET where pallet_id='" + ctl + "'"; return int.Parse(OracleHelper.ExecuteScalar(CommandType.Text, sql).ToString()); } public static int GetMIstockCount(string ctl) { string sql = "select count(*) from T_MI_STOCK where ctl='" + ctl + "'"; return int.Parse(OracleHelper.ExecuteScalar(CommandType.Text, sql).ToString()); } private static DataTable GetDocumentData(string pickName) { try { using (IDbConnection connection = new OracleConnection(m_connectionString)) { connection.Open(); string strSql = "select * from T_DOCUMENT_TABLE where 1 =1 and document_type = '" + pickName + "' "; return OracleHelper.ExecuteDataTable(strSql); } } catch (Exception ex) { throw; } } private static string GetSeq(string nameSeq) { string val = "1000"; string str = "select cast(next value for " + nameSeq.ToUpper() + " as varchar(100)) as val "; DataTable ds = OracleHelper.ExecuteDataTable(str); if (ds != null) { if (ds.Rows.Count > 0) { val = ds.Rows[0][0].ToString(); } } return val; } public static DataTable GetGoods() { string strSql = "select GOODS_ID,GOODS_NAME from T_BASE_GOODS"; return OracleHelper.ExecuteDataTable(strSql); } public static DataTable SelectonGoodsShelf(string CTL) { string sqlStr = "select f.Ctl,g.goods_name as GOODSNAME,f.Shelf_Num from T_ONGOODSSHELF f left join T_BASE_GOODS g on f.goodsid=g.goods_id where f.CTL='" + CTL + "' and f.LOCATION_ID is null and f.status=1"; return OracleHelper.ExecuteDataTable(sqlStr); } public static string UpdateOnGoodsShelf(string localtion, string CTL) { string result = ""; string sql = "update T_ONGOODSSHELF set LOCATION_ID='" + localtion + "',status=2 where CTL='" + CTL + "'"; int i = OracleHelper.ExecuteNonQuery(CommandType.Text, sql); sql = "update T_BASE_STORAGE_AREA_LOCATION set STATUS = 1 where LOCATION_ID = '" + localtion + "'"; i = OracleHelper.ExecuteNonQuery(CommandType.Text, sql); if (i > 0) { result = "上架成功"; } return result; } public static int SelectLocaltion(string location) { string sql = "select count(*) from T_BASE_STORAGE_AREA_LOCATION where LOCATION_ID='" + location + "' and STATUS=0"; return int.Parse(OracleHelper.ExecuteScalar(CommandType.Text, sql).ToString()); } public static DataTable SelectStockGoodsInfo(string CTL) { string sql = " select s.CTL,g.GOODS_NAME,s.GOODS_ID,s.SHELVES_NUM,s.LOCATION_ID from T_MI_STOCK s left join T_BASE_GOODS g on s.GOODS_ID=g.GOODS_ID where s.CTL='" + CTL + "'"; return OracleHelper.ExecuteDataTable(sql); } public static int SelectPickingWaveGoods(string ctl, string goodsid) { string sql = " select count(*) from T_CK_PICKINGWAVEGOODS where CTL='" + ctl + "' and GOOD_ID='" + goodsid + "' "; return int.Parse(OracleHelper.ExecuteScalar(CommandType.Text, sql).ToString()); } public static DataTable GetPickingGoodsInfo(string ctl) { string sqlStr = ""; if (ctl.Length == 0) { sqlStr = "select * from T_CK_PICKINGWAVE_INFO where STATUS=0"; } else { sqlStr = "select * from T_CK_PICKINGWAVE_INFO where STATUS=0 and CTL='" + ctl + "'"; } return OracleHelper.ExecuteDataTable(sqlStr); } public static DataTable GetCkGoods(string ctl) { string sql = "select p.PLCID,p.CTL,g.goods_NAME,p.PICKING_NUM from T_CK_PICKINGWAVEGOODS p left join T_BASE_GOODS g on g.goods_id=p.good_id where p.ctl='"+ctl+"' and p.status=0"; return OracleHelper.ExecuteDataTable(sql); } public static int updateCkGoods(string ctl, string plcid, string goodsnumsj) { string sql = "update T_CK_PICKINGWAVEGOODS set status=2,PICKING_NUM=" + goodsnumsj + " where ctl='" + ctl + "' and plcid='" + plcid + "' and status=0"; return OracleHelper.ExecuteNonQuery(CommandType.Text, sql); } } }