2024年10月3日 星期四

V80202L – 工單資料查詢 – [SAP單況比對] – 依[工號]排序 - Sort - datatable - 且相同工號不重複列出明細

 目的:V80202L – 工單資料查詢 – [SAP單況比對] – [工號]排序 ,- Sort - datatable

處理說明: 1>datatable 依 [工號]排序
                       dt1.DefaultView.Sort = "SAPNO";
                       dt1 = dt1.DefaultView.ToTable();
                       for (var i = 0; i < dt1.Rows.Count; i++)
         




1>*.js

                dt1.DefaultView.Sort = "SAPNO";
                dt1 = dt1.DefaultView.ToTable();

                string Tmp_old_SAPNO="";
                int Tmp_row = 0;
                for (var i = 0; i < dt1.Rows.Count; i++)
                {
                    Tmp_SAPNO = dt1.Rows[i]["SAPNO"].ToString();                    
                    if (Tmp_SAPNO == "TEST")
                        Tmp_SAPNO = "TEST";
                    if (Tmp_old_SAPNO == Tmp_SAPNO)
                        continue;
                    Tmp_SAPNO1 = myfunc.get_SAPNO(Tmp_SAPNO);
                    Tmp_Sql =" SELECT b.AUFNR,UDATE ,UTIME,USNAM,STAT  "
                                +" FROM SAPR3.JCDS@SAP a,SAPR3.AUFK@SAP b  "
                                +" WHERE  a.MANDT = '999'   "
                                +"  AND b.MANDT = '999'  "
                                +"  AND a.INACT = ' '  "
                                +"  AND a.OBJNR = b.OBJNR  "
                                +" AND b.AUFNR ="+ myfunc.AA(Tmp_SAPNO1)
                                +" ORDER BY  AUFNR,UDATE ,UTIME ,STAT  ";                
                dt2 = myfunc.SqlOpen(dt2, Tmp_Sql);
                for (var j = 0; j < dt2.Rows.Count; j++)
                {
                        Tmp_row = Tmp_row + 1;
                        //string  Tmp_SAPNO,Tmp_UDATE,Tmp_UTIME,Tmp_UDID,Tmp_STAT;
                        Tmp_UDATE = dt2.Rows[j]["UDATE"].ToString();
                        Tmp_UTIME = dt2.Rows[j]["UTIME"].ToString();
                        Tmp_UDID = dt2.Rows[j]["USNAM"].ToString();
                        Tmp_SAPSTAT = dt2.Rows[j]["STAT"].ToString();
                        //單況說明
                        Tmp_Sql = "  SELECT TXT04, TXT30  "
                                       + "  FROM    SAPR3.TJ02T @SAP d  "
                                       + "  WHERE   1 = 1  "
                                       + "   AND       SPRAS = 'M'   "
                                       + "   AND       ISTAT =" + myfunc.AA(Tmp_SAPSTAT);
                        Tmp_Str = myfunc.SqlValue(Tmp_Sql);
                        Tmp_TXT04 = myfunc.StrExtract(Tmp_Str, 1, ";");
                        Tmp_TXT30 = myfunc.StrExtract(Tmp_Str, 2, ";");
                        ws1.Range[myfunc.GetExcelPos(0, Tmp_row)].Text = Tmp_SAPNO;
                        ws1.Range[myfunc.GetExcelPos(1, Tmp_row)].Text = Tmp_UDATE;
                        ws1.Range[myfunc.GetExcelPos(2, Tmp_row)].Text = Tmp_UTIME;
                        ws1.Range[myfunc.GetExcelPos(3, Tmp_row)].Text = Tmp_UDID;
                        ws1.Range[myfunc.GetExcelPos(4, Tmp_row)].Text = Tmp_SAPSTAT;
                        ws1.Range[myfunc.GetExcelPos(5, Tmp_row)].Text = Tmp_TXT04;
                        ws1.Range[myfunc.GetExcelPos(6, Tmp_row)].Text = Tmp_TXT30;
                    };  //end of for (var j = 0; j < dt2.Rows.Count; i++)                    
                    Tmp_old_SAPNO = Tmp_SAPNO;
                } //end of for (var i = 0; i < dt1.Rows.Count; j++)                    
                wk.ActiveSheetIndex = 0;
                wk.SaveToStream(mstream, FileFormat.Version2007);
                wk.SaveToFile(FileName1, FileFormat.Version2007);

沒有留言:

張貼留言