2025年2月18日 星期二

V20305 – [刪除] – 刪除明細資料,並重新顯示Detail - 不使用 Template [刪除]鈕

 目的:  V20305 – [刪除] – 刪除明細資料,並重新顯示Detail

處理說明: 1>不使用原始的 Template [刪除]功能
                       Ext.getCmp("btn_del").beforeDel = function () {
                             return false;
                         }
                  2>自行定義[刪除]   - 刪除 Detail資料 - GetUrlStr()
                        np["ITMUOCD"] = cur_rec.data["ITMUOCD"];
                       //STEP1: 刪除 Detail 資料 - 明細需求件號
                      var Tmp_url = '../../api/V20305API/Delete_D';
                      var Tmp_RtnStr = getUrlStr(Tmp_url, np, "刪除明細需求件號(AMM_UOCD)");
                       if (!checkRtnOK(Tmp_RtnStr)) {
                          mywarnalert(Tmp_RtnStr);
                          return;
                       }    
                 3>刪除後,重新顯示Detail資料 - fireEvent("selectionchange", ..)
                    var cur_recs = Ext.getCmp('grid_M').getSelectionModel().getSelection();
                    Ext.getCmp('grid_M').fireEvent("selectionchange"
                                                                         Ext.getCmp("grid_M").getSelectionModel(), cur_recs);



1>*.js
Ext.getCmp('btn_del').on("click", function () {
var Tmp_AMMNO = "";
var Tmp_RQPN = "";
var cur_recs = Ext.getCmp('grid_D').getSelectionModel().getSelection();
if (cur_recs.length > 0) {
var cur_rec = cur_recs[0];
Tmp_AMMNO = nulltoStr(cur_rec.data['AMMNO']);
Tmp_RQPN = nulltoStr(cur_rec.data['RQPN']);
}
var Tmp_Str = "確定要刪除本筆需求明細件號資料嗎 ?\n"
        + "[AMM單號(" + Tmp_AMMNO + ") 提料件號(" + Tmp_RQPN + ")]\n";
    var id = confirm(Tmp_Str);
    if (!id)        
        return false;
    //取得目前所勾選資料,再匯出    
    var np = {};
    np["RPNOAF"] = cur_rec.data["RPNOAF"];
    np["EIAC"] = cur_rec.data["EIAC"];
    np["EI_LCN"] = cur_rec.data["EI_LCN"];
    np["EI_ALC"] = cur_rec.data["EI_ALC"];
    np["NHA_LCN"] = cur_rec.data["NHA_LCN"];
    np["NHA_ALC"] = cur_rec.data["NHA_ALC"];
    np["LCN"] = cur_rec.data["LCN"];
    np["ALC"] = cur_rec.data["ALC"];
    np["PN"] = cur_rec.data["PN"];
    np["ITMUOCD"] = cur_rec.data["ITMUOCD"];
    //STEP1: 刪除 Detail 資料 - 明細需求件號
    var Tmp_url = '../../api/V20305API/Delete_D';
    var Tmp_RtnStr = getUrlStr(Tmp_url, np, "刪除明細需求件號(AMM_UOCD)");
    if (!checkRtnOK(Tmp_RtnStr)) {
        mywarnalert(Tmp_RtnStr);
        return;
    }    

    var cur_recs = Ext.getCmp('grid_M').getSelectionModel().getSelection();
    Ext.getCmp('grid_M').fireEvent("selectionchange", Ext.getCmp("grid_M").getSelectionModel(), cur_recs);
    mysuccessalert("刪除完成!!");
});

2>*.cs
//刪除 - 明細資料(AMM_UOCD, AMM_UOC)
        [HttpPost]
        public dynamic Delete_D()
        {
            //取得參數值
            var c = HttpContext.Current;
            NameValueCollection nvc = c.Request.Form;            
            string Tmp_RPNOAF = nvc["RPNOAF"] ;
            string Tmp_EIAC = nvc["EIAC"] ;
            string Tmp_EI_LCN = nvc["EI_LCN"] ;
            string Tmp_EI_ALC = nvc["EI_ALC"] ;
            string Tmp_NHA_LCN = nvc["NHA_LCN"] ;
            string Tmp_NHA_ALC = nvc["NHA_ALC"] ;
            string Tmp_LCN = nvc["LCN"] ;
            string Tmp_ALC = nvc["ALC"] ;
            string Tmp_PN = nvc["PN"] ;
            string Tmp_ITMUOCD = nvc["ITMUOCD"] ;
            int Tmp_cnt;
            string Tmp_RtnMsg = "";
            string Tmp_Sql = "";
            string n = funId + "_Delete";
            HttpCookie MyCookie;
            DataTable Tmp_dt1 = new DataTable();
            try
            {
                Tmp_Sql = "  DELETE   FROM    AMM_UOCD   "
                                + "  WHERE   1=1 "
                                + "   AND        RPNOAF=" + myfunc.AA(Tmp_RPNOAF)
                                + "   AND        EIAC=" + myfunc.AA(Tmp_EIAC)
                                + "   AND        EI_LCN=" + myfunc.AA(Tmp_EI_LCN)
                                + "   AND        EI_ALC=" + myfunc.AA(Tmp_EI_ALC)
                                + "   AND        NHA_LCN=" + myfunc.AA(Tmp_NHA_LCN)
                                + "   AND        NHA_ALC=" + myfunc.AA(Tmp_NHA_ALC)
                                + "   AND        LCN=" + myfunc.AA(Tmp_LCN)
                                + "   AND        ALC=" + myfunc.AA(Tmp_ALC)
                                + "   AND        PN=" + myfunc.AA(Tmp_PN);
                myfunc.SqlExec(Tmp_Sql);
            }
            catch (Exception e)
            {
                Tmp_RtnMsg = myfunc.Get1ORA(e.Message);
                Tmp_RtnMsg = "錯誤:刪除零件件號("+Tmp_PN+")失敗!!<br>"                                                                                 
                                         + Tmp_RtnMsg;            
            }
            return Tmp_RtnMsg;
        }

沒有留言:

張貼留言