2023年12月12日 星期二

V30701A: 不出現子畫面,直接更新單況 - Update_STA

 目的: V30701A: 不出現子畫面,直接更新單況

處理說明: 1>呼叫子畫面 *.js
                  2>後端更新資料庫 *.cs
                  3>執行完成,顯示訊息  : 透過 Cookie , 不透過 sucessful
                        var mask = new Ext.LoadMask(Ext.getBody(), {
                               msg: '處理中,請稍待...'
                        });
                      mask.show();//使用 mask 需手動呼叫show() 方法下
                       //每1秒檢核一次,是否已完成, 若已完成,則不再檢核
                     var timer = setInterval(function () {
                     var r = r_cookies('EX_DFile');
                      if (!checkisnull(r)) {
                             mysuccessalert(r);  //顯示訊息
                            clearInterval(timer);
                            mask.hide();
                           timer = null;   
                    Ext.getCmp('btn_Show').fireHandler();  //重新顯示 Master資料
                }
            }, 1000);  //1000ms = 1sec                                   




1>*.js
  //按鈕 : [附檔資料] [批次新增][確認轉發工][下載匯入格式]
    var Btn_Ary = [        
        {
            xtype: 'button', text: '申請單送出', id: 'Btn_V30701A',
            listeners: {
                click: function (me,e,eOpts) {
                    console.log(" 1 申請單送出: ");
                    Call_V30701A();
                }
            }
        },        
    ];
    //於單檔下方新增 Button
    Ext.getCmp('grid_Single').insertBtn(Btn_Ary);


2>V30701A.js
//[申請單送出]鈕 -  - 只更新資料,無子畫面
//[申請單送出]鈕 -  - 只更新資料,無子畫面
function Call_V30701A(id) {
    var cur_recs = Ext.getCmp('grid_Single').getSelectionModel().getSelection();
    var cur_rec;
    if (cur_recs.length == 0) {
        buttonModel.modelType = 0;
        mywarnalert('請先挑選[申請單送出]的資料!!');
    }
    else {
        cur_rec = cur_recs[0];
        var Tmp_msg ="確定執行[申請單送出]嗎?<br>"
                                +"(派遣申請單號: "+ cur_rec.data['TASKNO'].toString() + ")";

        myconfirmalert(Tmp_msg, callBackFunc);

        //Ext.Msg.confirm('提醒', Tmp_msg, callBackFunc);
        function callBackFunc(id) {
            if (id == 'yes') {
                console.log("cur_recs.length:", cur_recs.length);
                var np = {}
                np["TASKNO"] = cur_rec.data['TASKNO'].toString();
                var Tmp_url = '../../api/V30701AAPI/UPDATE_STA';
                var rtn_Str = getUrlStr(Tmp_url, np, "申請單送出");
                console.log("rtn_Str:", rtn_Str);
                if (checkRtnOK(rtn_Str))
                    mysuccessalert(rtn_Str, function () {
                        Ext.getCmp("btn_Show").fireHandler();
                        Ext.getCmp("sub_V30701A_CancelBtn").fireHandler();
                    });
                else
                    mywarnalert(rtn_Str);
            }
        }// end of   if (id == 'yes') {


3>*.cs
// 更新 - UDPATE_STAT  ,  AMM_COMQ
        [HttpPost]
        public dynamic UPDATE_STA()
        {
            //取得參數值
            var c = HttpContext.Current;
            NameValueCollection nvc = c.Request.Form;
            string Tmp_TASKNO = nvc["TASKNO"];
            string Tmp_RtnMsg = "";
            string n = funId + "_UPDATE_STA";
            HttpCookie MyCookie;
            try
            {
                var Tmp_Sql = "  UPDATE  AMM_DSPHCAR "
                                      + "   SET        STA='B'   "
                                      + "  WHERE   TASKNO=" + myfunc.AA(Tmp_TASKNO);
                myfunc.SqlExec(Tmp_Sql);
                Tmp_RtnMsg = "派遣申請單號(" + Tmp_TASKNO + ").單況已設定為[B:待執行(派遣申請已送出)]!!";
                MyCookie = new HttpCookie("EX_DFile", HttpUtility.UrlEncode(Tmp_RtnMsg));
                HttpContext.Current.Response.Cookies.Add(MyCookie);

            }
            catch (Exception e)
            {
                Tmp_RtnMsg = myfunc.Get1ORA(e.Message);
                Tmp_RtnMsg = "[申請單送出]失敗 !!  <br>"
                                         + Tmp_RtnMsg;
                MyCookie = new HttpCookie("EX_DFile", HttpUtility.UrlEncode(Tmp_RtnMsg));
                HttpContext.Current.Response.Cookies.Add(MyCookie);
            }
            return Tmp_RtnMsg;
        }


沒有留言:

張貼留言