2024年5月1日 星期三

V20304A- 取得 store欄位值, 取得字元(.) 發生的次數

 目的: V20304A- 取得 store 的欄位值, 取得字元(.) 發生的次數

處理說明: 1>取得 store 的欄位值
                      -->方法1: ds1.data.item[i].data["ITMNO"]
                      Tmp_ITMNO = nulltoStr(ds1.data.items[i].data["ITMNO"]);

                      --> 方法2:   rec=ds1.getAt(i)             => =ds1.data.items[i]
                                          rec.data["ITMNO"] ;
                        for (var i=0;i<ds1.getTotalCount(); i++){
                          var rec = ds1.getAt(i);
                          rec.data["NOTES_MAIL"].toString();
                         }

                                    2>取得字元(.) 發生的次數
                                          Tmp_ITMNO_dot_cnt = Tmp_ITMNO.split(".").length - 1;



1>*.js
var CALL_TALHR_CAL = function () {
        myalert(" click 工時合計");
        //1>判斷主步序(1.xx) 的工時>0 時, 不可以有明細步序(1.xx.xx)
        var mysubstore = Ext.getCmp('sub_Grid').store;
        var Tmp_cnt = mysubstore.data.length;
        console.log("mysubstore.count : ", Tmp_cnt);
        console.log("mysubstore.data.items : ", mysubstore.data.items);
        var i;
        var Tmp_Str;
        var Tmp_ITMNO,Tmp_RQHR,Tmp_ITMNO_NEXT;
        var Tmp_ITMNO_dot_cnt, Tmp_ITMNO_NEXT_dot_cnt;        
        for (i = 0; i < Tmp_cnt; i++) {
            Tmp_ITMNO = nulltoStr(mysubstore.data.items[i].data["ITMNO"]);
            console.log("i: ", i);
            console.log("Tmp_ITMNO: ", Tmp_ITMNO);
            Tmp_ITMNO_dot_cnt = Tmp_ITMNO.split(".").length - 1;
            console.log("Tmp_ITMNO_dot_cnt: ", Tmp_ITMNO_dot_cnt);
            //1>>若為主步序(1.xx)且需求工時>0
            if (Tmp_ITMNO_dot_cnt == 1) {  //為主步序
                Tmp_RQHR = Number(nulltoStr(mysubstore.data.items[i].data["RQHR"]));
                console.log("Tmp_RQHR : ", Tmp_RQHR);
                if (Tmp_RQHR > 0) {   //為主步序,且[需求時數]>0, 判斷是否有明細步序
                    Tmp_ITMNO_NEXT = nulltoStr(mysubstore.data.items[i + 1].data["ITMNO"]);
                    console.log("Tmp_ITMNO_NEXT : ", Tmp_ITMNO_NEXT);
                    Tmp_ITMNO_NEXT_dot_cnt = Tmp_ITMNO_NEXT.split(".").length - 1;
                    console.log("Tmp_ITMNO_NEXT_dot_cnt: ", Tmp_ITMNO_NEXT_dot_cnt);
                    if (Tmp_ITMNO_NEXT_dot_cnt >= 2) { //有明細步序
                    Tmp_Str = "項次(" + Tmp_ITMNO + ")的需求工時(" + Tmp_RQHR.toString() + ")<br>"
                                        +"因本項次有子步序(" + Tmp_ITMNO + ".xx)<br> "
                                       + "則本項次(主步序)的需求工時必需為 0 或 空白 <br>"
                                       + "敬請檢核 !!<br>";
                        mywarnalert(Tmp_Str);
                    }
                }
            }
            }        // end of for (i=0)        
    };  // end of CALL_TALHR_CAL    
    Ext.getCmp("sub_TALHR_CAL").handler = CALL_TALHR_CAL;    


沒有留言:

張貼留言