2026年11月10日 星期二

V60202F – 領用 – 類別不在 (‘C’,’I’) ,則檢核工單不可空白 - indexOf - 工號是否存在 -_CHECK() - *_json.js -columns_程式編號

 目的:V60202F – 領用 – 類別不在 (‘C’,’I’) ,則檢核工單不可空白  - indexOf - 程式編號

處理說明: 1>類別不在 (‘C’,’I’) ,則檢核工單不可空白  - indexOf
                      //若[V]共同物料 或 {一般物料(CLASS)] not in ('i','C') ,
                         則[工號]/[領用參考文件編號]/[領用機號]允許空白
                    if ((!Tmp_chk_COMM) && (!(
"C,I".indexOf(Tmp_CLASS) > -1))) {
        
                 2>檢核工單是否在在 SAP系統.工單檔
//若工號有輸入,則檢核工號是否在在 AFPO@SAP
        if (!checkisnull(Tmp_SAPNO)) {
            var np = {};
            np["SAPNO"] = Tmp_SAPNO;
            var Tmp_url = "../../api/V60202FAPI/check_isExist_SAPNO";
            var rtn = getUrlStr(Tmp_url, np, "檢核[輸入工單]是否存在SAP系統.工單(SAPR3.AFPO@SAP)");
            if (!checkRtnOK(rtn)) {
                var Tmp_Str = "工號(" + Tmp_SAPNO + ")<br>"
                    + "不存在SAP系統.工單檔(SAPR3.AFPO@SAP)<br>"
                    + "敬請檢核!!";
                mywarnalert(Tmp_Str);
                return false;
            }

3>按鈕挑選.column避免重複 - 若和其他 js 重複 - 加程式編號(_V60202F),保證讀取的是正確
var cmp_sub_USED_TMNO = get_cmp_txt1('領用參考文件編號', 'sub_USED_TMNO', 120, 130);
var cmp_pick_sub_USED_TMNO = get_pick_btn0('領用參考文件編號', 'btn_sub_USED_TMNO',
'../api/V60202FAPI/get_sub_USED_TMNOPick?isComplete=0',
['TMNO'], ['sub_USED_TMNO'], J_pickstore_sub_USED_TMNO_V60202F, J_pickcolumns_sub_USED_TMNO_V60202F);
cmp_sub_USED_TMNO.items.push(cmp_pick_sub_USED_TMNO);

 

//*_JSON.js領用參考文件編號 -USED_TMNO
var J_pickstore_sub_USED_TMNO_V60202F = [
{ name: "TMNO" },
];
var J_pickcolumns_sub_USED_TMNO_V60202F = [
{ header: "領用參考文件編號", dataIndex: "TMNO", width: 150, TMType: "string" },
];
//領用機號 -USED_ASN
var J_pickstore_sub_USED_ASN_V60202F = [
{ name: "ASN" },
];
var J_pickcolumns_sub_USED_ASN_V60202F = [
{ header: "領用機號", dataIndex: "ASN", width: 150, TMType: "string" },
];

  


1>*.js

var Btns_V60202F = [
        {
            xtype: 'button', text: '確定', id: 'OkBtn_V60202F',
            listeners: {
                click: function (me, e, eOpts) {
                    //若檢核 ok , 則 INSERT_AMM_COMPQTY
                    if (V60202F_CHECK())
                        V60202F_OK();
                }
            }
        },
function V60202F_CHECK() {
        var Tmp_COMPER = Ext.getCmp("sub_COMPER").getValue(); //領用人員不可空白
        if (checkisnull(Tmp_COMPER)) {
            var Tmp_Str = "領用人員(" + Tmp_COMPER + ")不可空白<br>"
                + "請檢核!!";
            mywarnalert(Tmp_Str);
            return false;
        }
        var Tmp_COMPDT = Ext.getCmp("sub_COMPDT").getValue(); //領用日期不可空白                   
        if (checkisnull(Tmp_COMPDT)) {
            var Tmp_Str = "領用日期(" + Tmp_COMPDT + ")不可空白<br>"
                + "請檢核!!";
            mywarnalert(Tmp_Str);
            return false;
        }

        var Tmp_QTY1 = Ext.getCmp("sub_QTY1").getValue(); //報廢數量必需>0                    
        if (checkisnull(Tmp_QTY1)) {
            var Tmp_Str = "領用數量(" + Tmp_QTY1 + ")不可空白<br>"
                + "請檢核!!";
            mywarnalert(Tmp_Str);
            return false;
        }
        if ((parseFloat(Tmp_QTY1) <= 0)) {
            var Tmp_Str = "領用數量(" + Tmp_QTY1 + ")必需大於 0<br>"
                + "請檢核!!";
            mywarnalert(Tmp_Str);
            return false;
        }
        var Tmp_UNIT = Ext.getCmp("sub_UNIT").getValue(); //單位必需>0
        if (checkisnull(Tmp_UNIT)) {
            var Tmp_Str = "單位(" + Tmp_UNIT + ")不可空白<br>"
                + "請檢核!!";
            mywarnalert(Tmp_Str);
            return false;
        }
        //共同物料  sub_chk_COMM
        var Tmp_chk_COMM = Ext.getCmp("sub_chk_COMM").getValue();
        var Tmp_CLASS = Ext.getCmp("sub_CLASS").getValue().substring(0, 1);
        var Tmp_SAPNO = Ext.getCmp("sub_SAPNO").getValue();
        //若工號有輸入,則檢核工號是否在在 AFPO@SAP
        if (!checkisnull(Tmp_SAPNO)) {
            var np = {};
            np["SAPNO"] = Tmp_SAPNO;
            var Tmp_url = "../../api/V60202FAPI/check_isExist_SAPNO";
            var rtn = getUrlStr(Tmp_url, np, "檢核[輸入工單]是否存在SAP系統.工單(SAPR3.AFPO@SAP)");
            if (!checkRtnOK(rtn)) {
                var Tmp_Str = "工號(" + Tmp_SAPNO + ")<br>"
                    + "不存在SAP系統.工單檔(SAPR3.AFPO@SAP)<br>"
                    + "敬請檢核!!";
                mywarnalert(Tmp_Str);
                return false;
            }
        }
        //若[V]共同物料 或 {一般物料(CLASS)] not in ('i','C') ,則[工號]/[領用參考文件編號]/[領用機號]允許空白
        if ((!Tmp_chk_COMM) && (!("C,I".indexOf(Tmp_CLASS) > -1))) {
            //若[工號]空白.則[領用技令編號(USED_TMNO)][領用飛機機號(USED_ASN)]不允許空白            
            var Tmp_USED_TMNO = Ext.getCmp("sub_USED_TMNO").getValue();
            var Tmp_USED_ASN = Ext.getCmp("sub_USED_ASN").getValue();
            
            //若[工號]空白.則[領用技令編號(USED_TMNO)][領用飛機機號(USED_ASN)]不允許空白
            if (checkisnull(Tmp_SAPNO)) {
                if (checkisnull(Tmp_USED_TMNO)) {
                    var Tmp_Str = "若工號空白<br>"
                        + "則[領用技令號編號(" + Tmp_USED_TMNO + ")]不可空白<br>"
                        + "請檢核!!";
                    mywarnalert(Tmp_Str);
                    return false;
                }

2>*.cs
//檢核 [工號] 是否存在 SAP[工號檔(SAPR3.AFPO@SAP)], 
        //若存在,則 success=true, 若不存在, 則 success=false
        [HttpPost]
        public dynamic check_isExist_SAPNO()
        {
            HttpContext c = HttpContext.Current;
            NameValueCollection nvc = c.Request.Form;
            string Tmp_SAPNO = nvc["SAPNO"];
            string Tmp_SAPNO1 = myfunc.get_SAPNO(Tmp_SAPNO);

            var response = this.Request.CreateResponse();
            string Tmp_Sql, Tmp_Str;
            int Tmp_cnt;
            Tmp_Sql = "  SELECT   count(*)  "
                            + "  FROM     SAPR3.AFPO@SAP "
                            + "   WHERE    MANDT = '999'    "
                            + "   AND     AUFNR = " + myfunc.AA(Tmp_SAPNO1);
            Tmp_Str = myfunc.SqlValue(Tmp_Sql);
            if (!myfunc.checkisnull(Tmp_Str))
            {
                Tmp_cnt = int.Parse(Tmp_Str);
                if (Tmp_cnt > 0)  //存在
                    Tmp_Str = "成功: 已存在,工號(" + myfunc.AA(Tmp_SAPNO);
                else
                    Tmp_Str = "錯誤: SAP系統不存在工號(" + myfunc.AA(Tmp_SAPNO);
            }
            return Tmp_Str;
        }




沒有留言:

張貼留言