V120703 人員排訓資料維護 – MD 維護
處理說明: 1>Master資料移動時, 顯示目前M資料的Detail資料
2>按[修改]鈕時, 允許編輯 Detail 的資料
Detail 新增
Ext.onReady(function () {
var TMMDViewEdit = Ext.create('TMMDViewEdit');
//var gridstore = Ext.getCmp('grid_Single').store;
var MD_DB = Ext.create('MD_DB', {
apiName: 'V120703',
table_M: 'AMM_TRPM',
aKey_M: ['TRNO','EMPLYID'],
table_D: ['AMM_TRPD']
});
var MD_DB = Ext.create('MD_DB', {
apiName: 'V120703',
table_M: 'AMM_TRPM',
aKey_M: ['TRNO','EMPLYID'],
table_D: ['AMM_TRPD']
});
grid_D = Ext.getCmp('grid_D');
//Master資料移動時, 顯示目前M資料的Detail資料
Ext.getCmp('grid_M').on("selectionchange", function (view, selections, options) {
console.log("selectionchange !!");
console.log("selections[0]: ", selections[0]);
MD_DB.reloadDetailStore(selections[0]);
});
Ext.getCmp('grid_M').addDocked({
dockedItems: [{
items: [Query]
}]
});
//設定 edit,add 的畫面屬性設定
Ext.getCmp('btn_edit').on("click", function () {
setFieldsCls('myform',['TRNO','EMPLYID','MUSTTR'],[],[]);
showFormButton('myform',['btn_TRNO','btn_EMPLYID','btn_MUSTTR']);
});
Ext.getCmp('btn_add').on("click", function () {
setFieldsCls('myform',['TRNO','EMPLYID','MUSTTR'],[],[]);
showFormButton('myform',['btn_TRNO','btn_EMPLYID','btn_MUSTTR']);
});
2>[修改]鈕, 按此鈕, 允許修改 Detail 的新增 & 修改
//Detail新增
Ext.getCmp('btn_add_D').on("click", function () {
setFieldsCls('myform_D', [], [], ['d_TRNO', 'd_EMPLYID', 'd_ITM', 'd_CMPDT', 'd_TECLV', 'd_SCHTRDT']);
//取得Master目前的 TRNO 及 EMPLYID
var cur_rec = Ext.getCmp("grid_M").getSelectionModel().getSelection();
if (cur_rec.length > 0) {
var cur_TRNO = cur_rec[0].get("TRNO");
var cur_EMPLYID = cur_rec[0].get("EMPLYID");
console.log("cur_TRNO=", cur_TRNO);
var Tmp_MaxITM = Number(getMaxITM(cur_TRNO, cur_EMPLYID))+1;
console.log("Tmp_MaxITM=", Tmp_MaxITM);
Ext.getCmp("d_ITM").setValue(Tmp_MaxITM);
}
});
//取得下一 [項次(ITM)]
function getMaxITM(par_TRNO,par_EMPLYID) {
var Tmp_Sql;
Tmp_Sql = " SELECT MAX(ITM) "
+" FROM AMM_TRPD "
+ " WHERE TRNO = " + AA(par_TRNO)
+" AND EMPLYID = "+AA(par_EMPLYID);
var Tmp_Str;
Tmp_Str = SqlValue(Tmp_Sql);
console.log("1 Tmp_Str: ", Tmp_Str);
if (checkisnull(Tmp_Str)) {
Tmp_Str = "0";
};
console.log("2 Tmp_Str=", Tmp_Str);
return Tmp_Str;
};
3> [Detail].新增
//Detail新增
Ext.getCmp('btn_add_D').on("click", function () {
setFieldsCls('myform_D', [], [], ['d_TRNO', 'd_EMPLYID', 'd_ITM', 'd_CMPDT', 'd_TECLV', 'd_SCHTRDT']);
//取得Master目前的 TRNO 及 EMPLYID
var cur_rec = Ext.getCmp("grid_M").getSelectionModel().getSelection();
if (cur_rec.length > 0) {
var cur_TRNO = cur_rec[0].get("TRNO");
var cur_EMPLYID = cur_rec[0].get("EMPLYID");
console.log("cur_TRNO=", cur_TRNO);
var Tmp_MaxITM = Number(getMaxITM(cur_TRNO, cur_EMPLYID))+1;
console.log("Tmp_MaxITM=", Tmp_MaxITM);
Ext.getCmp("d_ITM").setValue(Tmp_MaxITM);
}
});
//取得下一 [項次(ITM)]
function getMaxITM(par_TRNO,par_EMPLYID) {
var Tmp_Sql;
Tmp_Sql = " SELECT MAX(ITM) "
+" FROM AMM_TRPD "
+ " WHERE TRNO = " + AA(par_TRNO)
+" AND EMPLYID = "+AA(par_EMPLYID);
var Tmp_Str;
Tmp_Str = SqlValue(Tmp_Sql);
console.log("1 Tmp_Str: ", Tmp_Str);
if (checkisnull(Tmp_Str)) {
Tmp_Str = "0";
};
console.log("2 Tmp_Str=", Tmp_Str);
return Tmp_Str;
};
2>*.cs 顯示 Detail 資料
[HttpPost]
public dynamic getGridData_D()
{
var c = HttpContext.Current;
NameValueCollection nvc = c.Request.Form;
OracleCommand cmd = new OracleCommand();
string Tmp_TRNO = nvc["TRNO"];
string Tmp_EMPLYID = nvc["EMPLYID"];
string Tmp_Sql;
Tmp_Sql = " SELECT RNK,TRNO ,EMPLYID ,ITM ,TECLV ,CMPDT ,SCHTRDT "
+ " FROM ("
+ " SELECT dense_rank() over(order by TRNO,EMPLYID,ITM) as RNK,TRNO ,EMPLYID ,ITM ,TECLV ,CMPDT ,SCHTRDT "
+ " FROM AMM_TRPD "
+ " WHERE 1=1 ";
//課程編號
if (!myfunc.checkisnull(Tmp_TRNO))
{
Tmp_Sql = Tmp_Sql + " AND TRNO=" + myfunc.AA(Tmp_TRNO);
//cmd.Parameters.Add(":PROCWC", Tmp_PROCWC);
};
//人員編號
if (!myfunc.checkisnull(Tmp_EMPLYID))
{
Tmp_Sql = Tmp_Sql + " AND EMPLYID=" + myfunc.AA(Tmp_EMPLYID);
//cmd.Parameters.Add(":DEPID", Tmp_DEPID);
};
Tmp_Sql = Tmp_Sql + " ORDER BY TRNO,EMPLYID,ITM ) ";
cmd.CommandText = Tmp_Sql;
string Tmp_cntSql = " SELECT COUNT(*) as total FROM (" + Tmp_Sql + ")";
DataSet ds = getDataTable(cmd, Tmp_cntSql);
setDBTable("AMM_TRPD");
/*
string csSQL = " AND TRNO = :TRNO "
+ " AND EMPLYID=:EMPLYID ";
cmd.CommandText = csSQL;
cmd.Parameters.Add(":TRNO", TRNO);
cmd.Parameters.Add(":EMPLYID", EMPLYID);
setDBTable("AMM_TRPD");
DataSet ds = getGridDataPage(cmd);
*/
//新增 CaluField 欄位 - [技術水準 ]
getKeyCode("TECLV", ref ds);
return ds;
}
沒有留言:
張貼留言