亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? invreport.pas

?? 文件包含程序源原文件
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
unit InvReport;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls, Grids, ComCtrls, InvDef, ComObj, xlsConst,
  EnhLV, GLLV, ImgList, ClipBrd, Math, dpConst;

type
  TfrmReport = class(TForm)
    pnlCon: TPanel;
    Panel2: TPanel;
    ClientReport: TPanel;
    rdoReport: TRadioGroup;
    Panel4: TPanel;
    btnExcel: TBitBtn;
    TabClientData: TTabControl;
    rdoTitle: TRadioGroup;
    LstViewQry: TGradLineListView;
    ImageList: TImageList;
    rdoManager: TRadioGroup;
    btnQuery: TBitBtn;
    btnClose: TBitBtn;
    rdoSortID: TRadioGroup;
    Panel1: TPanel;
    lblFDate: TLabel;
    edtFDate: TDateTimePicker;
    lblEDate: TLabel;
    edtEDate: TDateTimePicker;
    Image1: TImage;
    edtMoldID: TLabeledEdit;
    edtStkID: TLabeledEdit;
    edtStkName: TEdit;
    cbxStk: TComboBox;
    edtMatCode: TLabeledEdit;
    Panel3: TPanel;
    cbxSuplier: TComboBox;
    edtSuplier: TLabeledEdit;
    edtSuplierName: TEdit;
    edtIssPaper: TLabeledEdit;
    chkRptIssNo: TCheckBox;
    stsBarCnt: TStatusBar;
    BitBtn1: TBitBtn;
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure rdoReportClick(Sender: TObject);
    procedure btnQueryClick(Sender: TObject);
    procedure TabClientDataChange(Sender: TObject);
    procedure btnCloseClick(Sender: TObject);
    procedure rdoManagerClick(Sender: TObject);
    procedure rdoSortIDClick(Sender: TObject);
    procedure btnExcelClick(Sender: TObject);
    procedure rdoTitleClick(Sender: TObject);
    procedure cbxStkChange(Sender: TObject);
    procedure edtStkIDChange(Sender: TObject);
    procedure cbxSuplierDropDown(Sender: TObject);
    procedure cbxSuplierChange(Sender: TObject);
    procedure edtSuplierChange(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }


    Procedure SetListViewColumn;
    Procedure SetListView;
    procedure MakeItemCaption(Item: TListItem);

    Procedure SetListViewColumn_InOutStk(sIndex: integer);
    Procedure SetListView_InOutStk(sIndex: integer);
    procedure MakeItemCaption_InOutStk(Item: TListItem; sIndex: integer);

    procedure SetMultilingual;

  public
    { Public declarations }
    Function  Set_QueryedList(sList: TList): TList;
    Procedure CreateTabs_ByGroup(rdoIndex: integer; sList: TList);
    Procedure Set_QryList_FromTabs(iTab: integer);

    Function  CheckViewData(lcP: PINVENTORY; rdoTitleIndex,TabIndex: integer): boolean;

    Procedure PrintProc(iReport: Integer);
    Procedure Excel_inpaperList(sList: TList);
    Procedure Excel_outpaperList(sList: TList);
    function  CopyToClipBoard(var RecCnt, ColCnt: Integer): string;


  end;

var
  frmReport: TfrmReport;
  FAllRptList,                   //-- all inventory_sheet data
  FQueryList: TList;             //-- query result list

  FColumnCnt: integer;          //-- List Column 的計數
  FOnMakeItemCaption: Boolean;  //-- 是否改變Column caption
  FColumnCaptionType: integer;


  FGroupValue: array[0..120000] of variant;  //-- TabControl tabs group value
  iKind: integer;                         //-- inventory_sheet kind field value control
  ListSortKey: Integer;

implementation

uses InvDM, Main;

{$R *.dfm}

function ListSortCompare(Item1, Item2: Pointer): Longint;
var DataType: Integer;
    Str1, Str2: string;
    Int1, Int2: Integer;
    Dbl1, Dbl2: Double;
begin
  Result := 0;
  Str1 := ''; Str2 := '';
  Int1 := 0;  Int2 := 0;
  Dbl1 := 0;  Dbl2 := 0;
  case Abs(ListSortKey) of
    1: begin //-- in/out date
        Str1 := formatdatetime('yy/mm/dd hh:mm',TINVENTORY(Item1^).DATE);
        Str2 := formatdatetime('yy/mm/dd hh:mm',TINVENTORY(Item1^).DATE);
        DataType := 0;
       end;
    2: begin //-- in/out type
        Int1 := TINVENTORY(Item1^).KIND;
        Int2 := TINVENTORY(Item2^).KIND;
        DataType := 1;
       end;
    3: begin //-- material rec_id
        Str1 := dm_inventory.GetMaterialCode(TINVENTORY(Item1^).MAT_RID);
        Str2 := dm_inventory.GetMaterialCode(TINVENTORY(Item2^).MAT_RID);
        DataType := 0;
       end;
    4: begin //
        Str1 := TINVENTORY(Item1^).PaperNo;
        Str2 := TINVENTORY(Item2^).PaperNo;
        DataType := 0;
       end;
    5: begin //
        Dbl1 := TINVENTORY(Item1^).TTL_PRICE;
        Dbl2 := TINVENTORY(Item2^).TTL_PRICE;
        DataType := 2;
       end;
    else Exit;
  end;

  case DataType of
    0: if Str1 < Str2 then  Result := -1
       else if Str1 > Str2 then Result := 1
       else Result := 0;
    1: if Int1 < Int2 then  Result := -1
       else if Int1 > Int2 then Result := 1
       else Result := 0;
    2: if Dbl1 < Dbl2 then  Result := -1
       else if Dbl1 > Dbl2 then Result := 1
       else Result := 0;
  else Result := 0;
  end;
  if ListSortKey < 0 then Result := Result * -1;
end;


procedure TfrmReport.FormCreate(Sender: TObject);
begin
  Top    := frmMain.Height;
  Left   := 0;
  Width  := Screen.Width;
  Height := Screen.Height-(frmMain.Height+stsBarCnt.Height+8);

  
  FAllRptList := TList.Create;
  FAllRptList.Clear;
  FQueryList := TList.Create;
  FQueryList.Clear;

  SetMultilingual;
end;

procedure TfrmReport.FormShow(Sender: TObject);
begin
  Top    := frmMain.Height;
  Left   := 0;
  Width  := Screen.Width;
  Height := Screen.Height-(frmMain.Height+stsBarCnt.Height+8);

  pnlCon.SetFocus;
  case rdoReport.ItemIndex of
    0: iKind := 0;
    1: iKind := 1;
    2: iKind := 2;
    3: iKind := 3;
    4: iKind := 0;
    5: iKind := 1;
    6: iKind := 2;
    7: iKind := 3;
    8: iKind := 99;
    else iKind := 99;
  end;

  edtFDate.Date := strToDate(FormatDatetime('yy/mm/dd',Now-1));
  edtEDate.Date := strToDate(FormatDatetime('yy/mm/dd',Now));
  rdoReport.ItemIndex := 8;
  rdoTitle.ItemIndex  := 11;
  rdoManager.ItemIndex := -1;
  rdoTitle.Enabled     := true;
  rdoSortID.ItemIndex  := 1;
  rdoSortID.Enabled    := true;
  FColumnCaptionType := 1;             //-- 標準 ListColumn caption 格式

  dm_inventory.Read_InventoryRpt(FALSE, FAllRptList,0,edtFDate.Date,edtEDate.Date);
  SetListView;
end;

procedure TfrmReport.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caHide;
end;

procedure TfrmReport.rdoReportClick(Sender: TObject);
begin
  case rdoReport.ItemIndex of
    0: iKind := 0;
    1: iKind := 1;
    2: iKind := 2;
    3: iKind := 3;
    4: iKind := 0;
    5: iKind := 1;
    6: iKind := 2;
    7: iKind := 3;
    8: iKind := 99;
    else iKind := 99;
  end;
  case rdoReport.ItemIndex of
    0..3: FColumnCaptionType := 1;
    4..7: FColumnCaptionType := 2;
    else FColumnCaptionType := 1;
  end;

  rdoManager.ItemIndex := -1;
  rdoTitle.Enabled     := true;
  rdoSortID.Enabled    := true;
  btnQuery.Click;
end;

procedure TfrmReport.CreateTabs_ByGroup(rdoIndex: integer; sList: TList);
var tmpTabIndex: integer;
    i,j: integer;
    lcp: PINVENTORY;
    tmpGroupTitle: variant;
    iGroupFind: Boolean;
begin
  tmpTabIndex := 0;
  TabClientData.Tabs.Clear;

  for i := 0 to sList.Count - 1 do
  begin
    lcp := sList[i];
    if lcp = nil then continue;

    case rdoIndex of
      0: tmpGroupTitle := formatDatetime('yy/mm/dd',lcp^.DATE);
      1: tmpGroupTitle := dm_inventory.GetMaterialCode(lcp^.MAT_RID);
      2: tmpGroupTitle := dm_inventory.Get_Shizai_KubunName(dm_inventory.GetMaterialTypeID(lcp^.MAT_RID));
      3: tmpGroupTitle := strpas(lcp^.paperno);
      4: tmpGroupTitle := dm_inventory.GetOrderNo(lcP^.ODR_RID);
      5: tmpGroupTitle := inttostr(lcp^.SUP_CD);
      6: tmpGroupTitle := inttostr(lcp^.MAK_CD);
      7: tmpGroupTitle := dm_inventory.Get_EmpName(lcp^.recieve_EmpID);
      8: tmpGroupTitle := dm_inventory.Get_EmpName(lcp^.input_empid);
      9: begin
           case lcp^.KIND of
             0: tmpGroupTitle := dm_inventory.Get_IOIDName(lcp^.Inout_id,1);
             1: tmpGroupTitle := dm_inventory.Get_IOIDName(lcp^.Inout_id,2);
             2: tmpGroupTitle := dm_inventory.Get_IOIDName(lcp^.Inout_id,3);
             3: tmpGroupTitle := dm_inventory.Get_IOIDName(lcp^.Inout_id,4);
             4: tmpGroupTitle := GetMultiLingalMsg(90248,'Balance');
             else tmpGroupTitle := 'None';
           end;
         end;
      10: tmpGroupTitle := dm_inventory.GetDepartName_fromEmpID(lcp^.RECIEVE_EMPID);
      11: tmpGroupTitle := 'ALL';
    end;

    //-- 判斷是否有找到抬頭信息
    iGroupFind := false;
    for j := 0 to tmpTabIndex - 1 do
    begin
      try
        if tmpGroupTitle = FGroupValue[j] then begin
          iGroupFind := true;
          break;
        end;
      except
      end;
    end;

    if not iGroupFind then begin   //-- 沒找到當前資料的抬頭則新增tabs
      FGroupValue[tmpTabIndex] := tmpGroupTitle;
      inc(tmpTabIndex);

      TabClientData.Tabs.Add(tmpGroupTitle);
    end;

  end;
  //////////////////////////////////////////////
  //-- 初始化TabClientData.TabIndex value
  if tmpTabIndex >0 then TabClientData.TabIndex := 0
  else TabClientData.TabIndex := -1;
end;


////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
Function TfrmReport.Set_QueryedList(sList: TList): TList;
  function SetQryCheck(lcP: PINVENTORY): Boolean;
  var i: Integer;
      WDate: array[0..1] of TDateTime;
  begin
    Result := True;
    //--
    WDate[0] := edtFDate.Date;
    WDate[1] := edtEDate.Date;
    if ((WDate[0] > 2)and(formatdatetime('yy/mm/dd',WDate[0]) > formatdatetime('yy/mm/dd',lcP^.DATE)))or
       ((WDate[1] > 2)and(formatdatetime('yy/mm/dd',WDate[1]) < formatdatetime('yy/mm/dd',lcP^.DATE)))then begin
      Result := False;
      Exit;
    end;

    if trim(edtMatCode.Text)<>'' then
      if not(dm_Inventory.GetMaterialRID(trim(edtMatCode.Text))=lcp^.MAT_RID) then begin
        result := false;
        exit;
      end;

    if trim(edtMoldID.Text)<>'' then
      if NOT(dm_Inventory.GetOrderRID(trim(edtMoldID.Text))=lcp^.ODR_RID) then begin
        result := false;
        exit;
      end;

    if trim(edtStkID.Text)<>'' then
      if not(lcp^.STK_ID=trim(edtStkID.Text)) then  begin
        result := false;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久综合九色综合97婷婷 | 亚洲精品美国一| 久久久精品天堂| 久久久久国产精品麻豆| 久久婷婷国产综合精品青草| 久久夜色精品国产欧美乱极品| 26uuu国产在线精品一区二区| 久久综合国产精品| 国产午夜亚洲精品理论片色戒| 国产亚洲欧美日韩在线一区| 欧美精彩视频一区二区三区| 中文字幕第一区第二区| 中文字幕第一区第二区| 亚洲免费观看高清完整版在线观看熊 | 不卡的av在线播放| 国产精品 欧美精品| 国产精品原创巨作av| 91在线小视频| 欧美男女性生活在线直播观看| 欧日韩精品视频| 91精品婷婷国产综合久久竹菊| 精品少妇一区二区三区日产乱码| 欧美一区二区高清| 国产免费观看久久| 一区二区三区四区不卡在线 | 专区另类欧美日韩| 亚洲国产精品久久久男人的天堂| 蜜臀va亚洲va欧美va天堂 | 国产精品久久国产精麻豆99网站| 成人免费在线视频| 免费在线看成人av| 99久精品国产| 日韩欧美亚洲一区二区| 国产精品国产三级国产aⅴ中文 | 日韩国产成人精品| 成人av在线电影| 欧美一级理论片| 国产精品福利一区二区三区| 天天综合网天天综合色| 国产91在线观看丝袜| 3d动漫精品啪啪1区2区免费| 国产精品久久一卡二卡| 日韩av中文在线观看| 色婷婷亚洲综合| 国产日韩欧美a| 美女高潮久久久| 欧美性受极品xxxx喷水| 国产欧美日韩不卡| 日本成人中文字幕在线视频 | 一区二区成人在线视频| 国产一区在线观看视频| 欧美日高清视频| 亚洲乱码国产乱码精品精的特点| 国产精品中文欧美| 日韩欧美一级二级| 婷婷久久综合九色综合绿巨人| 91网上在线视频| 国产日产精品1区| 久久99精品国产.久久久久久| 欧美日韩在线播放一区| 18欧美乱大交hd1984| 国产精华液一区二区三区| 欧美不卡一区二区三区| 奇米一区二区三区| 欧美久久久久久蜜桃| 亚洲综合一二区| 在线观看视频一区| 亚洲国产日产av| 欧美视频一区在线观看| 亚洲伊人色欲综合网| 91福利区一区二区三区| 亚洲免费视频成人| 一本色道**综合亚洲精品蜜桃冫 | 一区二区三区日韩欧美精品| 99久久精品国产观看| 国产精品久线在线观看| 99免费精品在线| 一区二区三区不卡在线观看| 色婷婷综合久久| 五月天中文字幕一区二区| 宅男在线国产精品| 国产综合久久久久影院| 亚洲国产高清不卡| www.亚洲国产| 亚洲制服丝袜av| 欧美日本不卡视频| 老司机精品视频导航| 精品免费一区二区三区| 午夜成人在线视频| 精品免费视频一区二区| 国产凹凸在线观看一区二区| 中文字幕亚洲区| 欧美精品国产精品| 国产乱码精品一区二区三区忘忧草| 国产午夜久久久久| 99久久国产综合色|国产精品| 亚洲视频一区二区在线| 欧美人体做爰大胆视频| 日本成人在线视频网站| 国产精品日韩精品欧美在线| 欧洲亚洲精品在线| 久久99日本精品| 亚洲美女一区二区三区| 日韩三级视频中文字幕| 在线观看精品一区| 日韩精品视频网| 国产欧美日韩麻豆91| 欧美亚洲禁片免费| 国产精品 欧美精品| 一区二区三区在线观看国产 | 麻豆精品视频在线观看免费| 国产女同互慰高潮91漫画| 日本精品视频一区二区三区| 久久国产尿小便嘘嘘| 亚洲欧美激情视频在线观看一区二区三区 | 国产综合色精品一区二区三区| 亚洲欧洲性图库| 日韩一区二区三区免费观看| www.日韩av| 国内精品久久久久影院薰衣草| 亚洲精品免费在线| 日本一区二区三区四区| 91麻豆精品91久久久久久清纯| www.66久久| 精品亚洲国内自在自线福利| 亚洲一区二区在线观看视频| 国产无人区一区二区三区| 欧美福利视频导航| 在线精品视频一区二区| 国产成人午夜精品影院观看视频| 天天色综合成人网| 亚洲男人天堂一区| 国产精品久久久久毛片软件| 精品伦理精品一区| 欧美一卡二卡在线| 欧美日本在线观看| 欧美片在线播放| 欧美午夜片在线观看| 91首页免费视频| 99re免费视频精品全部| 成人自拍视频在线观看| 国产美女主播视频一区| 久久精品99久久久| 成人性生交大片免费看视频在线| 免费成人在线观看| 日韩在线播放一区二区| 午夜视黄欧洲亚洲| 亚洲成a天堂v人片| 首页国产丝袜综合| 男男gaygay亚洲| 另类小说综合欧美亚洲| 蜜臀av国产精品久久久久| 日本成人中文字幕在线视频| 奇米色一区二区三区四区| 日韩中文字幕一区二区三区| 天天操天天综合网| 乱中年女人伦av一区二区| 日韩高清电影一区| 精品亚洲porn| kk眼镜猥琐国模调教系列一区二区| 成人午夜免费视频| 91蜜桃网址入口| 欧美精品乱码久久久久久| 欧美日本国产一区| 久久久亚洲午夜电影| 国产精品热久久久久夜色精品三区| 国产精品福利一区二区三区| 有码一区二区三区| 另类的小说在线视频另类成人小视频在线 | 午夜私人影院久久久久| 三级久久三级久久久| 精品一区二区三区欧美| www.99精品| 欧美一区二区在线看| 久久久久久久精| 亚洲色图第一区| 日本免费新一区视频| 国产美女娇喘av呻吟久久| 97精品久久久久中文字幕| 欧美精品久久天天躁| 国产免费观看久久| 日韩专区在线视频| 成人免费毛片嘿嘿连载视频| 91国偷自产一区二区开放时间| 欧美一区二区三区日韩| 国产精品每日更新在线播放网址| 亚洲二区在线观看| 国产精品一级片| 91精品麻豆日日躁夜夜躁| 国产女人水真多18毛片18精品视频| 亚洲自拍都市欧美小说| 国产综合色在线视频区| 欧美视频精品在线| 国产精品嫩草影院av蜜臀| 另类的小说在线视频另类成人小视频在线| 欧美性猛片aaaaaaa做受| 精品国产99国产精品| 亚洲综合在线免费观看| 粉嫩13p一区二区三区| 精品入口麻豆88视频|