目的: V20107 - MDD Master-Detail-Detail 維護
處理說明: 1>設定 MD_DB 參數
var MD_DB = Ext.create('MD_DB', {
apiName: 'V20107',
table_M: 'AMM_WKSTP',
aKey_M: ['MITM'],
table_D: ['AMM_WKSTPD'],
});
var MD_DB = Ext.create('MD_DB', {
apiName: 'V20107',
table_M: 'AMM_WKSTP',
aKey_M: ['MITM'],
table_D: ['AMM_WKSTPD'],
});
2>Master selectchange: 重新顯示 Detail
Ext.getCmp('grid_M').on("selectionchange", function (view, selections, options) {
MD_DB.reloadDetailStore(selections[0]);
});
3>Detail selectchange: 重新顯示 Detail_Detail
Ext.getCmp('grid_D').on("selectionchange", function (view, selections, options) {
MD_DB.reloadDetailStorebyId_P("grid_D1", selections[0], MD_DB.apiName, ['MITM', 'WITM', 'DDITM']);
});
1>*.js
Ext.onReady(function () {
var TMMDViewEdit = Ext.create('TMMDViewEdit');
var MD_DB = Ext.create('MD_DB', {
apiName: 'V20107',
table_M: 'AMM_WKSTP',
aKey_M: ['MITM'],
table_D: ['AMM_WKSTPD'],
/* // ?? 如下add_np 為 undefined
add_np: {
aKey_D: ['MITM', 'WITM'],
table_D1: ['AMM_WKSTPDD'],
aKey_D1: ['MITM', 'WITM', 'DDITM'],
},
*/
});
Ext.getCmp('grid_M').on("selectionchange", function (view, selections, options) {
MD_DB.reloadDetailStore(selections[0]);
});
Ext.getCmp('grid_D').on("selectionchange", function (view, selections, options) {
MD_DB.reloadDetailStorebyId_P("grid_D1", selections[0], MD_DB.apiName, ['MITM', 'WITM', 'DDITM']);
//MD_DB.reloadDetailStorebyId_P("grid_D1", selections[0], MD_DB.apiName, MD_DB.aKey_D1 );
console.log("grid_D selectionchange:");
console.log("grid_D selectionchange:");
//MD_DB.reloadDetailStore(selections[0]);
console.log("selections[0]", selections[0]);
console.log("MD_DB.apiName:", MD_DB.apiName);
console.log("MD_DB.add_np:", MD_DB.add_np);
console.log("MD_DB.aKey_D1:", MD_DB.aKey_D1);
console.log("MD_DB.add_np.aKey_D1:", MD_DB.add_np.aKey_D1);
console.log("MD_DB.aKey_M:", MD_DB.aKey_M);
console.log("MD_DB.aKey_D:", MD_DB.aKey_D);
});
2>*.cs
//取得 Detail 資料
[HttpPost]
public dynamic getGridData_D()
{
var c = HttpContext.Current;
NameValueCollection nvc = c.Request.Form;
setDBTable("AMM_WKSTPD");
OracleCommand cmd = new OracleCommand();
string Tmp_MITM = nvc["MITM"];
string Tmp_Sql;
Tmp_Sql = " SELECT RNK,MITM,WITM,STP,AQTY,PQTY,WHR,WDT,DWC "
+ " FROM ("
+ " SELECT dense_rank() over(order by MITM,WITM) as RNK,MITM,WITM,STP,AQTY,PQTY,WHR,WDT,DWC "
+ " FROM AMM_WKSTPD "
+ " WHERE 1=1 ";
//工作編號
if (!myfunc.checkisnull(Tmp_MITM))
{
Tmp_Sql = Tmp_Sql + " AND MITM=" + myfunc.AA(Tmp_MITM);
//cmd.Parameters.Add(":PROCWC", Tmp_PROCWC);
};
Tmp_Sql = Tmp_Sql + " ORDER BY MITM,WITM,STP ) ";
cmd.CommandText = Tmp_Sql;
string Tmp_cntSql = " SELECT COUNT(*) as total FROM (" + Tmp_Sql + ")";
DataSet ds = getDataTable(cmd, Tmp_cntSql);
return ds;
}
[HttpPost]
public dynamic getGridData_D()
{
var c = HttpContext.Current;
NameValueCollection nvc = c.Request.Form;
setDBTable("AMM_WKSTPD");
OracleCommand cmd = new OracleCommand();
string Tmp_MITM = nvc["MITM"];
string Tmp_Sql;
Tmp_Sql = " SELECT RNK,MITM,WITM,STP,AQTY,PQTY,WHR,WDT,DWC "
+ " FROM ("
+ " SELECT dense_rank() over(order by MITM,WITM) as RNK,MITM,WITM,STP,AQTY,PQTY,WHR,WDT,DWC "
+ " FROM AMM_WKSTPD "
+ " WHERE 1=1 ";
//工作編號
if (!myfunc.checkisnull(Tmp_MITM))
{
Tmp_Sql = Tmp_Sql + " AND MITM=" + myfunc.AA(Tmp_MITM);
//cmd.Parameters.Add(":PROCWC", Tmp_PROCWC);
};
Tmp_Sql = Tmp_Sql + " ORDER BY MITM,WITM,STP ) ";
cmd.CommandText = Tmp_Sql;
string Tmp_cntSql = " SELECT COUNT(*) as total FROM (" + Tmp_Sql + ")";
DataSet ds = getDataTable(cmd, Tmp_cntSql);
return ds;
}
//取得 Detail-Detail資料
[HttpPost]
public dynamic getGridData_D1()
{
var c = HttpContext.Current;
NameValueCollection nvc = c.Request.Form;
OracleCommand cmd = new OracleCommand();
setDBTable("AMM_WKSTPDD");
string Tmp_MITM = nvc["MITM"];
string Tmp_WITM = nvc["WITM"];
string Tmp_Sql;
Tmp_Sql = " SELECT RNK,MITM,WITM,DDITM,STP,WC,NOTE,CLASS,WHR "
+ " FROM ("
+ " SELECT dense_rank() over(order by MITM,WITM,DDITM) as RNK,MITM,WITM,DDITM,STP,WC,NOTE,CLASS,WHR "
+ " FROM AMM_WKSTPDD "
+ " WHERE 1=1 ";
//工作編號
if (!myfunc.checkisnull(Tmp_MITM))
{
Tmp_Sql = Tmp_Sql + " AND MITM=" + myfunc.AA(Tmp_MITM);
};
//工作步序
if (!myfunc.checkisnull(Tmp_WITM))
{
Tmp_Sql = Tmp_Sql + " AND WITM=" + myfunc.AA(Tmp_WITM);
};
Tmp_Sql = Tmp_Sql + " ORDER BY MITM,WITM,DDITM,STP ) ";
cmd.CommandText = Tmp_Sql;
string Tmp_cntSql = " SELECT COUNT(*) as total FROM (" + Tmp_Sql + ")";
DataSet ds = getDataTable(cmd, Tmp_cntSql);
return ds;
}
沒有留言:
張貼留言