目的: V20305K – 子畫面簡單Grid – [V]加入另一SQL的資料至Grid
處理說明: 1>取得原始SQL 的資料 - ds.dt0
DataSet ds = getDataTable(cmd, countSql, false);
Tmp_RNK = ds.Tables["T1"].Rows.Count;
Tmp_RNK = ds.Tables["T1"].Rows.Count;
2>取得額外 SQL 的資料 , 並加入 dt0
Tmp_dt1 = myfunc.SqlOpen(Tmp_dt1, Tmp_Sql);
Tmp_cnt1 = Tmp_dt1.Rows.Count;
for (int j = 0; j < Tmp_cnt1; j++)
{
DataRow dr0 = ds.Tables["T1"].Rows.Add();
DataRow dr1 = Tmp_dt1.Rows[j];
Tmp_RNK = Tmp_RNK + 1;
dr0["RNK"] = Tmp_RNK.ToString();
dr0["EIAC"] = dr1["EIAC"].ToString();
dr0["EI_LCN"] = dr1["EI_LCN"].ToString();
}
3>重設 dt0 的筆數
ds.Tables["T1C"].Rows[0]["TOTAL"] = Tmp_RNK;
try
{
DataSet ds = getDataTable(cmd, countSql, false);
Tmp_RNK = ds.Tables["T1"].Rows.Count;
//若[V]含膠漆料,則找出膠漆料的資料
if (Tmp_sub_chk_INCCLUE=="true")
{
Tmp_Sql = " SELECT LCN "
+ " FROM PAP @TLS_245 "
+ " WHERE PN = " + myfunc.AA("MATERIAL REQUIREMENT")
+ " AND EFF = 'Y' "
+ " AND EIAC = " + myfunc.AA(Tmp_EIAC);
Tmp_ROOT_LCN = myfunc.SqlValue(Tmp_Sql);
Tmp_Sql= " SELECT a.EIAC,a.LCN,a.ALC, "
+" a.PN,a.CAGE,a.SPN,a.SCAGE,a.QPA, "
+" b.EI_LCN,b.EI_ALC,b.NHA_LCN,b.NHA_ALC, "
+" c.TMNOXX,c.WP,c.FIG,c.IND "
+" FROM PAP @TLS_245 a,N_EI_UOC @TLS_245 b,(select * from PAPTOMD @TLS_245 where STAT = 'Y') c "
+" WHERE a.EIAC = b.EIAC "
+" AND a.LCN = b.LCN "
+" AND a.ALC = b.ALC "
+" AND a.EIAC = c.EIAC(+) "
+" AND a.LCN = c.LCN(+) "
+" AND a.ALC = c.ALC(+) "
+" AND a.PN = c.PN(+) "
+" AND a.EFF = 'Y' "
+" AND b.EFF = 'Y' "
+" AND a.LCN like "+ myfunc.AA(Tmp_ROOT_LCN+"%")
+" AND a.EIAC = "+myfunc.AA(Tmp_EIAC)
+" ORDER BY a.PN ";
Tmp_dt1 = myfunc.SqlOpen(Tmp_dt1, Tmp_Sql);
Tmp_cnt1 = Tmp_dt1.Rows.Count;
for (int j = 0; j < Tmp_cnt1; j++)
{
DataRow dr0 = ds.Tables["T1"].Rows.Add();
DataRow dr1 = Tmp_dt1.Rows[j];
Tmp_RNK = Tmp_RNK + 1;
dr0["RNK"] = Tmp_RNK.ToString();
dr0["EIAC"] = dr1["EIAC"].ToString();
dr0["EI_LCN"] = dr1["EI_LCN"].ToString();
dr0["EI_ALC"] = dr1["EI_ALC"].ToString();
dr0["NHA_LCN"] = dr1["NHA_LCN"].ToString();
dr0["NHA_ALC"] = dr1["NHA_ALC"].ToString();
dr0["LCN"] = dr1["LCN"].ToString();
dr0["ALC"] = dr1["ALC"].ToString();
dr0["PN"] = dr1["PN"].ToString();
dr0["CAGE"] = dr1["CAGE"].ToString();
dr0["TMNOXX"] = dr1["TMNOXX"].ToString();
dr0["WP"] = dr1["WP"].ToString();
dr0["FIG"] = dr1["FIG"].ToString();
dr0["IND"] = dr1["IND"].ToString();
};
}
ds.Tables["T1C"].Rows[0]["TOTAL"] = Tmp_RNK;
ds.Tables["T1"].Columns.Add("NHA_PN_", typeof(object)); //上層件號
ds.Tables["T1"].Columns.Add("RQPN_", typeof(object)); //提料件號
ds.Tables["T1"].Columns.Add("C_NM_", typeof(object)); //物料名稱
ds.Tables["T1"].Columns.Add("NSN_", typeof(object)); //料號
foreach (DataRow row in ds.Tables["T1"].Rows)
{
Tmp_EIAC = row["EIAC"].ToString();
Tmp_EI_LCN = row["EI_LCN"].ToString();
Tmp_PN = row["PN"].ToString();
Tmp_CAGE = row["CAGE"].ToString();
Tmp_Sql = " SELECT NSN "
+ " FROM SP_NSN@TLS_245 "
+ " WHERE 1=1 "
+ " AND PN=" + myfunc.AA(Tmp_PN)
+ " AND CAGE=" + myfunc.AA(Tmp_CAGE)
+ " AND rownum=1 ";
Tmp_NSN_ = myfunc.SqlValue(Tmp_Sql);
row["RQPN_"] = Tmp_RQPN_;
row["NHA_PN_"] = Tmp_NHA_PN_;
row["C_NM_"] = Tmp_C_NM_;
row["NSN_"] = Tmp_NSN_;
}
沒有留言:
張貼留言