2023年1月31日 星期二

GitLab 操作說明 - 1>下載[master]最新程式 2>建立[分支] 3>上傳修改程式,[認同 & 推送]

GitLab操作說明:
1>GitLab.首頁.同步 - 從 GitLab 下載 [master]最新的專案程式
2>由下載最新的 [master] Source , 產生分支 [V120502_列印標籤]
3>[分支V120502_列印標籤]修改後, 上傳修改程式至 master , 以便合併至 master



1>GitLab.首頁.同步  GitLab 下載 [master]最新的專案程式









2>由下載最新的 [master] Source , 產生分支 [V120502_列印標籤]





3>[分支V120502_列印標籤]修改後, 上傳修改程式至  master , 以便合併至 master






2023年1月18日 星期三

V80201 - store 重設 timeout & WebService 重設 timeout -T1C - ds2T1C

 目的: V80201 - store 重設 timeout  & WebService 重設 timeout - 顯示子件資料

處理說明: 呼叫WebService(WS_PDM02) 顯示子件資料 
                    1> 後端 Webservice.重設 timeout  - web.config  - 10分鐘
                        <binding name="ServiceSoap"  
                          receiveTimeout="00:10:00"   .. >

                    2> 前端 store.重設 timeout   - 10分鐘
                        Ext.getCmp('sub_Grid').store.proxy.timeout=600000;

                  3>Ext.Ajax 設定 timeout  - 10 分鐘
                      Ext.Ajax.timeout = 600000; //如果有ajax timeout問題可以加上去



1>web.config -  後端 Webservice.重設 timeout - 10分鐘
<system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="ILdapServiceHttpBinding" />
        <binding name="TLSWebServiceSoap" />
        <binding name="ID40AuthenticateSoap" />
        <binding name="AMMWebServiceSoap" />
        <binding name="zm179TlsSoap" />
        <binding name="ZRFC_ZM66Soap" maxBufferPoolSize="524288" maxBufferSize="2147483647"
          maxReceivedMessageSize="2147483647" />
        <binding name="ws_als_wbshourSoap" receiveTimeout="00:15:00"     
                     sendTimeout="00:15:00"/>
        <binding name="ServiceSoap"  
                 receiveTimeout="00:10:00" 
                 sendTimeout="00:10:00"
                 maxBufferPoolSize="524288" 
                 maxBufferSize="2147483647"
                 maxReceivedMessageSize="2147483647" />
        <binding name="ws_als_jcnhourSoap" />
      </basicHttpBinding>
      <customBinding>
        <binding name="ID40AuthenticateSoap12">
          <textMessageEncoding messageVersion="Soap12" />
          <httpTransport />
        </binding>
        <binding name="zm179TlsSoap12">
          <textMessageEncoding messageVersion="Soap12" />
          <httpTransport />
        </binding>
        <binding name="ServiceSoap12">
          <textMessageEncoding messageVersion="Soap12" />
          <httpTransport />
        </binding>
      </customBinding>
    </bindings>
    <client>
      <endpoint address="http://aidcldap/ldapService.do" binding="basicHttpBinding"
        bindingConfiguration="ILdapServiceHttpBinding" contract="aidcldap.ILdapServicePortType"
        name="ILdapServiceHttpPort" />
      <endpoint address="http://192.30.8.210:8503/TLSWebService.asmx"
        binding="basicHttpBinding" bindingConfiguration="TLSWebServiceSoap"
        contract="TLSWS.TLSWebServiceSoap" name="TLSWebServiceSoap" />
      <endpoint address="http://192.168.99.36/aeispj/aeis/webservice/id40Authenticate.asmx"
        binding="basicHttpBinding" bindingConfiguration="ID40AuthenticateSoap"
        contract="iAIDCWebservice.ID40AuthenticateSoap" name="ID40AuthenticateSoap" />
      <endpoint address="http://192.30.8.240:8100/AMMWebService.asmx"
        binding="basicHttpBinding" bindingConfiguration="AMMWebServiceSoap"
        contract="AMMWS_TEST.AMMWebServiceSoap" name="AMMWebServiceSoap" />
      <endpoint address="http://aesweb/SAP/Zm179tls.asmx" binding="basicHttpBinding"
        bindingConfiguration="zm179TlsSoap" contract="ZM179.zm179TlsSoap"
        name="zm179TlsSoap" />
      <endpoint address="http://194.1.5.106/SAPWS/ZRFC_ZM66.asmx" binding="basicHttpBinding"
        bindingConfiguration="ZRFC_ZM66Soap" contract="ZRFC_ZM66.ZRFC_ZM66Soap"
        name="ZRFC_ZM66Soap" />
      <endpoint address="http://194.1.5.106/sapws/ws_als_wbshour.asmx"
        binding="basicHttpBinding" bindingConfiguration="ws_als_wbshourSoap"
        contract="ws_als_wbshour.ws_als_wbshourSoap" name="ws_als_wbshourSoap" />
      <endpoint address="http://enovia/AMM/Service.asmx" binding="basicHttpBinding"
        bindingConfiguration="ServiceSoap" contract="PDM_WS.ServiceSoap"
        name="ServiceSoap" />
      <endpoint address="http://194.1.5.106/sapws/ws_als_jcnhour.asmx"
        binding="basicHttpBinding" bindingConfiguration="ws_als_jcnhourSoap"
        contract="ws_als_jcnhour.ws_als_jcnhourSoap" name="ws_als_jcnhourSoap" />
    </client>
  </system.serviceModel>
</configuration>

2> 前端 store.重設 timeout   - V80201A1.js
var win1 = getMyWindow("顯示子件明細資料", sub_ShowPNDetail_Flds, sub_ShowPNDetail_Btns, "A1");
    win1.x =400;
win1.setWidth(700);
    win1.setHeight(400);
    //顯示 sub Grid 資料        
    var np = {};
    np["PROJID"] = Ext.getCmp("sub_PROJID").getValue();
    np["PDM_CONFIG"] = Ext.getCmp("sub_PDM_CONFIG").getValue();    
    np["PDTP"] = Ext.getCmp("sub_PDTP").getValue();
    np["TYPE"] = Ext.getCmp("sub_TYPE").getValue();
    //目前所選件號(PN),ECNO,情況處理碼(CNDPROCCODE)
    np["PN"] = par_PN;
    np["ECNO"] = par_ECNO;
    np["CNDPROCCODE"] = par_CNDPROCCODE;
    np["ASN"] = par_ASN;    
    np["PROCWC"] = par_PROCWC;    

    Ext.getCmp('sub_Grid').store.getProxy().url = '../api/V80201A1API/getsubData';
    Ext.getCmp('sub_Grid').store.getProxy().extraParams = np; //分頁OK,篩選條件OK
   //Ext.getCmp('sub_Grid').store.clearOnPageLoad = true;
    //Ext.getCmp('sub_Grid').reloadGridData();    
//重新設定store.proxy 的timeout 時間(10分鐘), 以免store載入時間 timeuot , 出現 Error
    Ext.getCmp('sub_Grid').store.proxy.timeout=600000;    
    Ext.getCmp('sub_Grid').store.on("load", function (me, records, successful, eOpts) {
        console.log("STEP2 Ext.getCmp(sub_Grid).store.on(load ..");
        console.log("successful:", successful);
        console.log("records:", records);
        if (successful) {
            console.log("successful");
            console.log("Ext.getCmp('sub_Grid').store.data", Ext.getCmp('sub_Grid').store.data);
            win1.show();
            //若已載入完成,則            
            //Ext.getCmp('waitlbl').setVisible(false);         
            Ext.getCmp("myMask").hide();
            //myMask.unmask();                    
            //myMask.hide();                                
        }
    }
    );
    Ext.getCmp('sub_Grid').store.load();
    console.log(" STEP 1 Ext.getCmp('sub_Grid').store.load() ");
    Ext.getCmp('sub_Grid_ptb').hide();
    

};  // end of function ShowPNBtn_click() {

3>*.cs - V80201A1APIController.cs

//重新設定WebService 的timeout 時間(10分鐘), 以免呼叫 WebService  timeuot , 出現 Error
      DataSet ds = PDM02.AMM_PDM02(Tmp_PN, Tmp_ECNO,Tmp_CNDPROCCODE, Tmp_PDTP,                    
                                                                 Tmp_ASN,Tmp_PROJID, Tmp_PROCWC);

     //將  ds 轉成標準的  T1C 格式(TMGrid)
     ds = myfunc.ds2T1C(ds);

2023年1月16日 星期一

V80209 – checkboxGroup -按[v]全部,則其他checkbox均Disabled,且為清為[ ]

目的: V80209 checkboxGroup  -[V]全部

1>按[v]全部,則其他checkbox均Disabled,且為清為[ ] 
2>按[ ]全部,則允許其他checkbox均Enabled,且為清為[ ] -






1>*.js

{
                        xtype: 'panel',
                        id: 'panel16',
                        layout: { type: 'vbox', align: 'stretch' },
                        //layout: { type: 'vbox'},
                        flex: 55,
                        border: 1,
                        items: [
                            {
                                xtype: 'checkboxgroup', fieldLabel: '異動原因', labelWidth: 60,
                               // layout: 'vbox',
                                columns: [.35,.35,.35],
                                id: 's_VRCODE',
                                items: [
                                    {
                                        boxLabel: '拆挪',
                                        name: 's_VRCODE',
                                        inputValue: 'C',
                                    },
                                    {
                                        boxLabel: '修理',
                                        name: 's_VRCODE',
                                        inputValue: 'R',
                                    },
                                    {
                                        boxLabel: '安裝',
                                        name: 's_VRCODE',
                                        inputValue: 'D',
                                    },                                    
                                    {
                                        boxLabel: '測試',
                                        name: 's_VRCODE',
                                        inputValue: 'T',
                                    },
                                    {
                                        boxLabel: 'DELETE解繳',
                                        name: 's_VRCODE',
                                        inputValue: 'E',
                                    },
                                    {
                                        boxLabel: '品保阻留',
                                        name: 's_VRCODE',
                                        inputValue: 'Q',
                                    },
                                    {
                                        boxLabel: '原件報廢',
                                        name: 's_VRCODE',
                                        inputValue: 'F',
                                    },
                                    {
                                        boxLabel: '預配',
                                        name: 's_VRCODE',
                                        inputValue: 'P',
                                    },
                                    {
                                        boxLabel: '空軍借件',
                                        name: 's_VRCODE',
                                        inputValue: 'H',
                                    },
                                    {
                                        boxLabel: '專案裝備撥補',
                                        name: 's_VRCODE',
                                        inputValue: 'Z',
                                    },
                                    {
                                        boxLabel: '入庫',
                                        name: 's_VRCODE',
                                        inputValue: 'I',
                                    },
                                    {
                                        boxLabel: '舊件繳回',
                                        name: 's_VRCODE',
                                        inputValue: 'O',
                                    },
                                    {
                                        boxLabel: '借件歸還',
                                        name: 's_VRCODE',
                                        inputValue: 'J',
                                    },
                                    {
                                        boxLabel: '機敏庫房保存',
                                        name: 's_VRCODE',
                                        inputValue: 'S',
                                    },
                                    {
                                        boxLabel: 'REWORK',
                                        name: 's_VRCODE',
                                        inputValue: 'A',
                                    },
                                    {
                                        boxLabel: '空軍存放',
                                        name: 's_VRCODE',
                                        inputValue: 'V',
                                    },                                    
                                    {
                                        boxLabel: '故障待修',
                                        name: 's_VRCODE',
                                        inputValue: 'M',                                        
                                    },                                                                        
                                    {
                                        boxLabel: '全部',
                                        name: 's_VRCODE',
                                        inputValue: 'ALL',                                        
                                        //checked: true,
                                        listeners:
                                        {
                                            change: function (me, newValue, oldValue, eOpts) {
                                                console.log("change!!");
                                                var Tmp_checkboxGroup = Ext.getCmp("s_VRCODE");
                                                console.log("newValue: ", newValue);
                                                console.log("oldValue: ", oldValue);
                                                for (i = 0; i < Tmp_checkboxGroup.items.length - 1; i++) {
                                                    console.log("i: ", i);                                                
                                                   var Tmp_checkbox = Tmp_checkboxGroup.items.items[i];
                                                    console.log("Tmp_checkbox: ", Tmp_checkbox);
                                                    Tmp_checkbox.setValue(false);
                                                    Tmp_checkbox.setDisabled(newValue);
                                                }
                                            }
                                        }
                                    },
                                ]
                            }, // end of s_異動紀錄
                        ]
                    },  //  end of items of panel16, flex:10
                ]
            },  // end of panel1


2>*.cs

           string Tmp_VRCODE = nvc["s_VRCODE"];  //異動原因
            ////將 A,C,B,D,ALL 字串加入 ""  --> "A","B","C","D" , 不含 ALL 傳回
            Tmp_VRCODE = myfunc.AddQuoteStr(Tmp_VRCODE);


 OracleCommand cmd = new OracleCommand();
            string Tmp_Sql1 = "", Tmp_Sql2 = "";  //for 日期起迄
            string Tmp_Sql = "  SELECT  RNK,RVNO,ARPNO,DITM,NM,REPN,RESN,REDT,INPN,INSN,RMK,PLNC,
                                                              INSC,NOTE,STLCT,STAT,FACWC,EFF "
                                        + "  FROM   ( SELECT  dense_rank()  over(order by  RVNO) as RNK,"
                                                       + "    RVNO,ARPNO,DITM,NM,REPN,RESN,REDT,INPN,INSN,RMK,PLNC,
                                                                INSC,NOTE,STLCT,STAT,FACWC,EFF "
                                                        + "   FROM     AMM_FRO3F16 "
                                                       + "   WHERE  1=1 ";
            //panel11

           //異動碼
            if (!myfunc.checkisnull(Tmp_VRCODE))
            {
             Tmp_Sql = Tmp_Sql + "  AND   RVNO IN (SELECT DISTINCT RVNO FROM  AMM_FRO3F16D WHERE  1=1 "
                                                       +                             " AND   VRCODE IN ("+ Tmp_VRCODE+")  )" ;
         }

2023年1月4日 星期三

筆記型電腦簡要規格: 品牌型號,CPU,記憶體,硬體,螢幕,作業系統

 筆記型電腦簡要規格: 品牌型號,CPU,記憶體,硬體,螢幕,作業系統

Acer P215-53,i7,16GB,256GB/1TB,15.6",Win10





1>品牌型號: Acer TMP215-53

2>CPU : Intel CoreTM i7-1165G

3>記憶體: 16GB

4>硬體:  256GB SSD/1TB SATA

5>螢幕: 15.6"

6>作業系統:  Win10


網路卡: Wifi, Bluetooth, 乙太網路

IO Port: USB3*3  HDMI*1   VGA*1  RJ45*1 WebCam

電池: 11hr , 48 Wh 3cell

重量: 1.8kg

配件: 附筆電包,滑鼠


映像檔轉虛擬光碟機_操作說明

 目的: 將映像檔轉虛擬光碟機操作說明, 以便安裝軟體(Ex: Delphi)

操作說明: 1>將映像檔掛接成虛擬磁碟機

                  2>由虛擬光碟機安裝軟體(Ex: Delphi)

                  3>退出虛擬光碟機


1>將映像檔掛接成虛擬磁碟機



  2>由虛擬光碟機安裝軟體(Ex: Delphi)



  3>退出虛擬光碟機



2023年1月2日 星期一

PL/SQL Developer – 環境設定 - 自動 Selection Statement / 自動Commit

 目的: PL/SQL Developer – 環境設定 - 自動 Selection Statement / 自動 Commit

操作說明: 1>  Edit à PL/SQL Beautify Options à Windows àSQL Windows

                  2> 勾選    [v] AutoCommit

                                   [v] AutoSelect  Statement







Visual Studio IDE 環境設定 - 背景顏色/字型大小/字型顏色

目的:  Visual Studio IDE 環境設定 - 背景顏色/字型大小/字型顏色

操作說明: 1>由工具 --> 選項 --> 環境

                  2>[字型與色彩]

                  3>由工具 --> 選項 --> 匯入和匯出設定








2>Visual Studio IDE 環境設定匯入  - 工具à匯入和匯出設定












3>目前 Visual Studio 2019 的環境設定檔, 範例放置路徑如下:
D:\A_PROJ\000_維航處\01_教育訓練\0_VisualStudio2019\000_IDE_Setting\microed_202010.vssettings\microed_202010.vssettings