2024年9月13日 星期五

V80202H – QDR資料查詢 - IDF且M20 直接連 SQLServer資料(connectionString – QDR_IDF,QDR_TP)

 目的: V80202H - QDR資料查詢 -直接連 SQLServer資料庫,顯示資料

處理說明: 1>connectionString - web.config
<add name="QDR_IDF" connectionString="Data Source=194.1.5.222;
Initial Catalog=qdr_idf;User ID=ammuser;Password=useramm; " />    
<add name="QDR_TP" connectionString="Data Source=192.30.15.129;
Initial Catalog=task_planning;User ID=ammuser;Password=useramm; " />   
  
              2>取得 SQLServer ds : - getDataTable_MSSQL(dblink,Tmp_Sql);
                   - SQLServer - From (  )  A2  - 必需有名稱(xx) , 否則 SQL 會錯
 string Tmp_Sql = " SELECT   RNK,project_code, sor_no ,  "
                          + " FROM   (SELECT  dense_rank()  over( order by  sor_no,ref_document ) as RNK,"
                                                  + " project_code, sor_no , "
                                          + "  FROM   AMM_VIEW  "
                                         + "  WHERE  1=1  ";
            if (!myfunc.checkisnull(Tmp_SAPNO))
            {
                Tmp_Sql = Tmp_Sql + " AND  ref_document = " + myfunc.AA(Tmp_SAPNO);
            }
            Tmp_Sql = Tmp_Sql + ")  A2";
            cmd.CommandText = Tmp_Sql;
            string countSql = " SELECT COUNT(*) as total FROM (" + Tmp_Sql + ")  C2";     
            //public dynamic getDataTable_MSSQL(string iDBLINK, string sql, string countSQL = "",)
            DataSet ds = getDataTable_MSSQL("QDR_TP", Tmp_Sql, countSql);
            return ds;  



2024年9月12日 星期四

SQL Server - connection String - 存取資料工具 - DATABASE.NET - database4.exe

  目的: 1>SQL Server  - connection String 

            2>存取資料工具 - DATABASE.NET


處理說明: 1>web.config - connectionString
   <add name="QDR_IDF" connectionString="Data Source=194.1.5.222;
             Initial Catalog=qdr_idf;User ID=ammuser;Password=useramm; " />    
   <add name="QDR_TP" connectionString="Data Source=192.30.15.129;
           Initial Catalog=task_planning;User ID=ammuser;Password=useramm; " />









2024年9月9日 星期一

EXCEL - 函式 : VLOOKUP(搜尋key,Table範圍,傳回Column index,false:完全符合) 函式用法 - 找出Table.欄位對應的中文名稱

 目的: EXCEL  - VLOOKUP(搜尋key,Table範圍,傳回Column index,false:完全符合) 函式用法

處理說明: 1>VLOOKUP 函式使用說明:
                        Param1:搜尋key,
                        Param2:Table範圍,
                        Param3:傳回Column index,
                        Param4:false:完全符合
                       Ex: cell公式如下
                             =VLOOKUP(A2,工作表2!A:B,2,FALSE)



SCHEMA_COLS對應檔:

V80202F - 複製 xls - Sheet - 行 -SPIRE.xls

目的: V80202F - 複製 xls  - Sheet  - 行
          - 參考網址: https://www.796t.com/content/1541665517.html
          - C# 複製Excel工作表


處理說明: 1>複製Sheet
                 //建立一個Workbook類物件,並載入Excel檔案 
                   Workbook workbook = new Workbook(); 
                   workbook.LoadFromFile("Sample.xlsx"); 
                    //獲取第一個工作表sheet1 
                  Worksheet sheet1 = workbook.Worksheets[0]; 
                   //新增一個新的工作表sheet2,並命名該工作表 
                   Worksheet sheet2 = workbook.Worksheets.Add("Copy"); 
                   sheet2.Name = "Copy";
                  //將第一個工作表複製到新新增的工作表
                   sheet2.CopyFrom(sheet1);

                   2>複製行  
                      //將第一行資料複製到第三行
                      worksheet.Copy(worksheet.Range["A1:H1"], worksheet.Range["A3:H3"], true);

V80202F- 取得套表檔案 – get_SS_FILES – 機號分頁列印 – SPIRE.XLS 複製(.COPY)標題列

 目的:   V80202F- 列印套表 – get_SS_FILES 

              – 依機號分頁列印 – SPIRE.XLS 複製(.COPY)

處理說明: 1>從 SS_FILES 下載套表檔案,傳入  fs
                       string Tmp_FName = "V80202_列印_匯出格式.xlsx";   //含 *.xlsx
   // 取得實實的路徑            
    string documentPath = HttpContext.Current.Server.MapPath("~") + "document\\";  
    string pathFName = documentPath + Tmp_FName;
       
            FileStream fs =null;
            Workbook wk = null;
            Worksheet ws = null;
            try
            {
                fs = myfunc.get_SS_FILES(Tmp_FName);
                wk = new Workbook();
                wk.LoadFromStream(fs);

           2>複製  Sheet 標題列
              if (dt.Rows[i]["ACNO"].ToString() != Tmp_cur_ACNO)
                    {
                        //新增[機號]Sheet
                        ws = wk.Worksheets.Add(dt.Rows[i]["ACNO"].ToString());
                        ws.Name = dt.Rows[i]["ACNO"].ToString();
                        //將Sheet0.標題行(1:第一行),複製至新Sheet
         wk.Worksheets[0].Copy(wk.Worksheets[0].Range["A1:DL1"], ws.Range["A1:DL1"], true);
                        Tmp_cur_ACNO = dt.Rows[i]["ACNO"].ToString();
                        Tmp_row = 1;
                    }



2024年9月5日 星期四

V80202F: [列印]鈕 - 子畫面欄位設為必填

目的: V80202F: 子畫面欄位設為必填

處理說明: 1>  setFieldsCls('mySubFormF',
                                            ['sub_PROJID'],  //required
                            );
                   2>setFieldsCls , 必需在 win.show 之後才有作用, 
                       --> 即 field 已 render - .inputEI 已存在 -
                          -  inputEI:  The input Element for this Field. Only available after the field has been rendered.


1>*.js
    //子畫面.id: mySubFormF
    var win = getMyWindow("撿料完成", J_formFields_V80202F, Btns_V80202F,"F");
    //win.onshow = Sub1_onShow(np1);
    win.width = 600;
    win.height =300;    
    //Ext.getCmp("sub_ARPSTS").columns = 3;
    //Ext.getCmp("sub_ARPSTS").vertical = true;
    //Ext.getCmp("sub_AMMSTS").columns = 3;
    //Ext.getCmp("sub_AMMSTS").vertical = true;
    //console.log(" Ext.getCmp(sub_ARPSTS): ", Ext.getCmp("sub_ARPSTS"));    
    win.show();
    //設定必填欄位 , 必需在 win.show 之後, setFieldsCls 才會有作用
    setFieldsCls('mySubFormF',
        ['sub_PROJID'],  //required
    );

2024年9月3日 星期二

V80202 – 設定按鈕 icon

 目的: V80202 – 設定按鈕 icon

處理說明: 1>設定按鈕 icon:
         {
                xtype: 'button', text: '整機抽換紀錄匯出', id: 'Call_V80202I_Btn',
                iconCls: 'icon-excel',
                listeners: {
                    click: function () {
                        Call_V80202I();
                    }
                }
            },         
           {
                    iconCls: 'icon-edit',
                    text: '修改',
                    id: 'btn_edit' + unique,
                    disabled: false,
            }

            },       
          {
            xtype: 'button', text: '刪除', id: 'btn_del1', iconCls: 'icon-delete',
            listeners: {
                click: function () {                    
                    mysuccessalert("按  [刪除]鈕");
                }
            }  

      2> icon-excel 定義的檔案: ext-patch.css
C:\Users\611292\source\repos\TLSWEB_AMM\TLSWEB_AMM\Content\ext-patch.css       
C:\Users\611292\source\repos\TLSWEB_AMM\TLSWEB_AMM\images\icons\

1>>ext-patch.css - 定義 icon的實際對應檔案
.icon-excel {
    background-image: url('../images/icons/excel.png');
}

.icon-add {
    background-image: url('../images/icons/add.gif')
}

.icon-edit {
    background-image: url('../images/icons/cog_edit.png')
}

.icon-delete {
    background-image: url('../images/icons/delete.gif')
}

.icon-copy {
    background-image: url('../images/icons/copy.png')
}