目的: V120401C- 無子畫面 – 直接執行作業 - Call_V120401C
處理說明:
1>V120401.js{ // 技令版期版期 - 無勾選
xtype: 'button', text: ' 技令版期更新', id: 'Update_Tech_Btn',
listeners: {
click: function () {
//[條碼編號(TMNO)]第一碼必需為'T'
var cur_recs = Ext.getCmp('grid_Single').getSelectionModel().getSelection(); //grid select指向選擇的第一筆
var cur_rec = cur_recs[0];
var Tmp_TMNO,Tmp_STAT, Tmp_Str;
console.log("cur_rec:", cur_rec);
Tmp_TMNO = cur_rec["raw"]["TMNO"];
Tmp_STAT = cur_rec["raw"]["STAT"];
if (Tmp_TMNO.substr(0, 1) != "T") {
Tmp_Str = "條碼編號(" + Tmp_TMNO + ")第一碼必需為 'T' <br>"
+ "請檢核 !!";
myalert(Tmp_Str);
return;
}
if (Tmp_STAT== "Z") {
Tmp_Str = "條碼編號(" + Tmp_TMNO + ")的技令現況不可為 Z:已刪除 <br>"
+ "請檢核 !!";
myalert(Tmp_Str);
return;
}
Call_V120401C();
}
}
},
2>V120401C.js
function Call_V120401C() {
console.log(" Call_V120401C step1");
var Tmp_NATIXX, Tmp_LGTPXX, Tmp_TMNOXX,Tmp_TMNO;
var Tmp_Str = "";
var cur_recs = Ext.getCmp('grid_Single').getSelectionModel().getSelection(); //grid select指向選擇的第一筆
var cur_rec = cur_recs[0];
console.log("cur_rec:", cur_rec);
console.log("cur_rec[raw][TMNOXX]:", cur_rec["raw"]["TMNOXX"]);
Tmp_TMNO = cur_rec["raw"]["TMNO"];
Tmp_TMNOXX=cur_rec["raw"]["TMNOXX"];
Tmp_LGTPXX=cur_rec["raw"]["LGTPXX"];
Tmp_NATIXX = cur_rec["raw"]["NATIXX"];
//執行[技令版期更新]
var np = {};
np["TMNO"] = Tmp_TMNO;
np["TMNOXX"] = Tmp_TMNOXX;
np["LGTPXX"] = Tmp_LGTPXX;
np["NATIXX"] = Tmp_NATIXX;
var isOk = true;
Ext.Ajax.request({
method: "POST",
url: '../../api/V120401CAPI/UPDATE_AMM_TMDWGED',
params: np,
async: false,
success: function (response, opts) {
console.log("0 response.responseText=", response.responseText);
var Tmp_Obj = Ext.decode(response.responseText);
console.log("1 Tmp_Obj=", Tmp_Obj);
if (Tmp_Obj["success"] == true) {
var Tmp_Rtn_Msg ="技令版期更新完成 !!<br> "
+ "訊息如下:<br>"
+ Tmp_Obj["Rtn_Msg"];
mywarnalert(Tmp_Rtn_Msg);
isOk = true;
}
else {
var Tmp_Rtn_Msg = "條碼編號("+Tmp_TMNO+")技令編號(" + Tmp_TMNOXX + ")國別碼(" + Tmp_NATIXX + ")中英文別(" + Tmp_LGTPXX + ")<br>"
+"技令版期更新失敗<br> "
+"錯誤訊息如下:<br>"
+ Tmp_Obj["Rtn_Msg"];
mywarnalert(Tmp_Rtn_Msg);
isOk = false;
}
}, //end of success
failure: function (response, opts) {
var Tmp_Obj = Ext.decode(response.responseText);
var Tmp_Rtn_Msg = "條碼編號("+Tmp_TMNO+")技令編號(" + Tmp_TMNOXX + ")國別碼(" + Tmp_NATIXX + ")中英文別(" + Tmp_LGTPXX + ")<br>"
+ "更新技令版期失敗<br> "
+ "錯誤訊息如下:<br>"
+ Tmp_Obj["Rtn_Msg"];
mywarnalert(Tmp_Rtn_Msg);
isOk = false;
}
}) //end of Ext.Ajax.Request
if (isOk == true) {
//資料更新完成, 重新顯示資料
Ext.getCmp("btn_Show").fireHandler();
}
} // end of function Call_V120401C() {
function Call_V120401C() {
console.log(" Call_V120401C step1");
var Tmp_NATIXX, Tmp_LGTPXX, Tmp_TMNOXX,Tmp_TMNO;
var Tmp_Str = "";
var cur_recs = Ext.getCmp('grid_Single').getSelectionModel().getSelection(); //grid select指向選擇的第一筆
var cur_rec = cur_recs[0];
console.log("cur_rec:", cur_rec);
console.log("cur_rec[raw][TMNOXX]:", cur_rec["raw"]["TMNOXX"]);
Tmp_TMNO = cur_rec["raw"]["TMNO"];
Tmp_TMNOXX=cur_rec["raw"]["TMNOXX"];
Tmp_LGTPXX=cur_rec["raw"]["LGTPXX"];
Tmp_NATIXX = cur_rec["raw"]["NATIXX"];
//執行[技令版期更新]
var np = {};
np["TMNO"] = Tmp_TMNO;
np["TMNOXX"] = Tmp_TMNOXX;
np["LGTPXX"] = Tmp_LGTPXX;
np["NATIXX"] = Tmp_NATIXX;
var isOk = true;
Ext.Ajax.request({
method: "POST",
url: '../../api/V120401CAPI/UPDATE_AMM_TMDWGED',
params: np,
async: false,
success: function (response, opts) {
console.log("0 response.responseText=", response.responseText);
var Tmp_Obj = Ext.decode(response.responseText);
console.log("1 Tmp_Obj=", Tmp_Obj);
if (Tmp_Obj["success"] == true) {
var Tmp_Rtn_Msg ="技令版期更新完成 !!<br> "
+ "訊息如下:<br>"
+ Tmp_Obj["Rtn_Msg"];
mywarnalert(Tmp_Rtn_Msg);
isOk = true;
}
else {
var Tmp_Rtn_Msg = "條碼編號("+Tmp_TMNO+")技令編號(" + Tmp_TMNOXX + ")國別碼(" + Tmp_NATIXX + ")中英文別(" + Tmp_LGTPXX + ")<br>"
+"技令版期更新失敗<br> "
+"錯誤訊息如下:<br>"
+ Tmp_Obj["Rtn_Msg"];
mywarnalert(Tmp_Rtn_Msg);
isOk = false;
}
}, //end of success
failure: function (response, opts) {
var Tmp_Obj = Ext.decode(response.responseText);
var Tmp_Rtn_Msg = "條碼編號("+Tmp_TMNO+")技令編號(" + Tmp_TMNOXX + ")國別碼(" + Tmp_NATIXX + ")中英文別(" + Tmp_LGTPXX + ")<br>"
+ "更新技令版期失敗<br> "
+ "錯誤訊息如下:<br>"
+ Tmp_Obj["Rtn_Msg"];
mywarnalert(Tmp_Rtn_Msg);
isOk = false;
}
}) //end of Ext.Ajax.Request
if (isOk == true) {
//資料更新完成, 重新顯示資料
Ext.getCmp("btn_Show").fireHandler();
}
} // end of function Call_V120401C() {
2>V120401C*.cs
/* // 更新 - UPDATE_AMM_TMDWGED
//技令若有最新版本,則更新[技令版期(AMM_TMDWGED)]
--> [技令版期(AMM_TMDWGED)].CTRL= MAX(CTRL)+1 ,
--> 新增 TM_XY@TLS_245 的版本資料(TMNOXX+NATIXX+LGTPXX)
*/
[HttpPost]
public HttpResponseMessage UPDATE_AMM_TMDWGED()
{
//取得參數值
var c = HttpContext.Current;
NameValueCollection nvc = c.Request.Form;
string Tmp_TMNO = nvc["TMNO"];
string Tmp_TMNOXX = nvc["TMNOXX"];
string Tmp_LGTPXX = nvc["LGTPXX"];
string Tmp_NATIXX = nvc["NATIXX"];
OracleCommand cmd = new OracleCommand();
var response = this.Request.CreateResponse();
//STEP 1>比對 TM_XY 的筆數是否和 AMM_TMDWGED的筆數相符
bool is_update = false;
string Tmp_RtnMsg;
string Tmp_MAX_CTRL="";
int Tmp_NEXT_CTRL=1;
int Tmp_XY_CNT, Tmp_TMDWGED_CNT;
string Tmp_Sql = " SELECT COUNT(*) "
+ " FROM TM_XY @TLS_245 "
+ " WHERE 1 = 1 "
+ " AND OWN_DEP = 'L' "
+ " AND TMNOXX = " + myfunc.AA(Tmp_TMNOXX)
+ " AND NATIXX = " + myfunc.AA(Tmp_NATIXX)
+ " AND LGTPXX = " + myfunc.AA(Tmp_LGTPXX);
Tmp_XY_CNT = int.Parse(myfunc.SqlValue(Tmp_Sql));
//沒有任何版期資料, 則返回, 不需更新
if (Tmp_XY_CNT == 0)
{
is_update = false;
}
else
{
Tmp_Sql = " SELECT MAX(B.CTRL) "
+ " FROM AMM_TMDWG A,AMM_TMDWGED B "
+ " WHERE A.TMNO = B.TMNO "
+ " AND A.OWN_DEP = 'L' "
+ " AND A.TMNO=" + myfunc.AA(Tmp_TMNO)
+ " AND A.TMNOXX = " + myfunc.AA(Tmp_TMNOXX)
+ " AND A.NATIXX = " + myfunc.AA(Tmp_NATIXX)
+ " AND A.LGTPXX = " + myfunc.AA(Tmp_LGTPXX);
Tmp_MAX_CTRL = myfunc.SqlValue(Tmp_Sql);
Tmp_Sql = " SELECT COUNT(*) "
+ " FROM AMM_TMDWG A,AMM_TMDWGED B "
+ " WHERE A.TMNO = B.TMNO "
+ " AND A.OWN_DEP = 'L' "
+ " AND A.TMNO=" + myfunc.AA(Tmp_TMNO)
+ " AND A.TMNOXX = " + myfunc.AA(Tmp_TMNOXX)
+ " AND A.NATIXX = " + myfunc.AA(Tmp_NATIXX)
+ " AND A.LGTPXX = " + myfunc.AA(Tmp_LGTPXX)
+ " AND B.CTRL =" + myfunc.AA(Tmp_MAX_CTRL);
Tmp_TMDWGED_CNT = int.Parse(myfunc.SqlValue(Tmp_Sql));
if (Tmp_TMDWGED_CNT != Tmp_XY_CNT)
{
is_update = true;
}
//STEP 2>比對 TM_XY.VNTPXD 的是否存在 AMM_TMDWGED.MAX_CTRL.VNTPXD的筆數相符
Tmp_Sql = " SELECT COUNT(*) "
+ " FROM TM_XY @TLS_245 "
+ " WHERE 1 = 1 "
+ " AND OWN_DEP = 'L' "
+ " AND TMNOXX = " + myfunc.AA(Tmp_TMNOXX)
+ " AND NATIXX = " + myfunc.AA(Tmp_NATIXX)
+ " AND LGTPXX = " + myfunc.AA(Tmp_LGTPXX)
+ " AND VNTPXD NOT IN ( SELECT B.VNTPXD "
+ " FROM AMM_TMDWG A, AMM_TMDWGED B "
+ " WHERE A.TMNO= B.TMNO "
+ " AND A.TMNO=" + myfunc.AA(Tmp_TMNO)
+ " AND A.TMNOXX = " + myfunc.AA(Tmp_TMNOXX)
+ " AND A.NATIXX = " + myfunc.AA(Tmp_NATIXX)
+ " AND A.LGTPXX = " + myfunc.AA(Tmp_LGTPXX)
+ " AND B.CTRL=" + myfunc.AA(Tmp_MAX_CTRL) + " )";
Tmp_XY_CNT = int.Parse(myfunc.SqlValue(Tmp_Sql));
if (Tmp_XY_CNT > 0)
{
is_update = true;
}
}// else {} if (Tmp_XY_CNT == 0)
if (is_update)
{
//更新資料 - insert AMM_TMDWGED ,
string Tmp_ITEMXY, Tmp_VNTPXD, Tmp_VNDTXY;
string Tmp_VNPGXY, Tmp_DOREXY, Tmp_REMKXY, Tmp_VNVFXY;
string Tmp_MKER, Tmp_MKDT;
Tmp_MKER = User.Identity.Name;
Tmp_MKDT = DateTime.Now.ToString("yyyy/MM/dd");
Tmp_NEXT_CTRL = int.Parse(Tmp_MAX_CTRL) + 1;
// insert AMM_TMDWGEND
DataTable dt = new DataTable();
Tmp_Sql = " SELECT NATIXX, TMNOXX, LGTPXX, OWN_DEP, ITEMXY, VNTPXD, VNDTXY, "
+ " VNPGXY,DOREXY,REMKXY,VNVFXY "
+ " FROM TM_XY @TLS_245 "
+ " WHERE 1 = 1 "
+ " AND OWN_DEP = 'L' "
+ " AND TMNOXX = " + myfunc.AA(Tmp_TMNOXX)
+ " AND NATIXX = " + myfunc.AA(Tmp_NATIXX)
+ " AND LGTPXX = " + myfunc.AA(Tmp_LGTPXX);
dt = myfunc.SqlOpen(dt, Tmp_Sql);
foreach (DataRow dr in dt.Rows)
{
Tmp_ITEMXY = dr["ITEMXY"].ToString();
Tmp_VNTPXD = dr["VNTPXD"].ToString();
//Tmp_VNDTXY = dr["VNDTXY"].ToString();
Tmp_VNDTXY = myfunc.getDateStr(dr["VNDTXY"].ToString());
Tmp_VNPGXY = dr["VNPGXY"].ToString();
//Tmp_DOREXY = dr["DOREXY"].ToString();
Tmp_DOREXY = myfunc.getDateStr(dr["DOREXY"].ToString());
Tmp_REMKXY = dr["REMKXY"].ToString();
Tmp_VNVFXY = dr["VNVFXY"].ToString();
Tmp_Sql = " INSERT INTO AMM_TMDWGED "
+ "( TMNO,CTRL,"
+ "ITEMXY,VNDTXY,VNTPXD,VNPGXY,DOREXY,"
+ "REMKXY,VNVFXY,MKER,MKDT) "
+ " VALUES "
+ "(" + myfunc.AA(Tmp_TMNO) + "," + myfunc.AA(Tmp_NEXT_CTRL.ToString()) + ","
+ myfunc.AA(Tmp_ITEMXY) + "," + myfunc.AA(Tmp_VNDTXY) + "," + myfunc.AA(Tmp_VNTPXD) + "," + myfunc.AA(Tmp_VNPGXY) + "," + myfunc.AA(Tmp_DOREXY) + ","
+ myfunc.AA(Tmp_REMKXY) + "," + myfunc.AA(Tmp_VNVFXY) + "," + myfunc.AA(Tmp_MKER) + "," + myfunc.AA(Tmp_MKDT) + ")";
myfunc.SqlExec(Tmp_Sql);
} // end of foreach (DataRow dr in dt)
Tmp_RtnMsg = "技令編號(" + Tmp_TMNOXX + ")國別碼(" + Tmp_NATIXX + ")中英文別(" + Tmp_LGTPXX + ")<br>"
+ "版期更新完成 !! <br>";
response.Content = new StringContent("{'success': true,'Rtn_Msg':'" + Tmp_RtnMsg + "'}"); // 回應內容
}
else
{
Tmp_RtnMsg = "技令編號(" + Tmp_TMNOXX + ")國別碼(" + Tmp_NATIXX + ")中英文別(" + Tmp_LGTPXX + ")<br>"
+ "無最新版期 , 需要更新 !! <br>";
response.Content = new StringContent("{'success': true,'Rtn_Msg':'" + Tmp_RtnMsg + "'}"); // 回應內容
}
return response;
//新增 [AMM_TMDWGED] , CTRL=MAX(CTRL)+1
} // end of UPDATE_AMM_TMDWGD()
--> 另一寫法
Tmp_cnt1 = Tmp_dt1.Rows.Count;
for (int j = 0; j < Tmp_cnt1; j++)
{
DataRow dr1 = Tmp_dt1.Rows[j];
string Tmp_VNTPXD= dr1["VNTPXD"].ToString();
沒有留言:
張貼留言