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

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

?? invdm.pas

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

interface

uses
  SysUtils, Classes, DB, DBTables, IniFiles, Windows, StdCtrls, QControls,
  Dialogs, ComCtrls, InvDef, dpConst, Math;

type                                        
  Tdm_Inventory = class(TDataModule)
    Query: TQuery;
    StoredProc: TStoredProc;
    Database: TDatabase;
    qryAutoPaperNo: TQuery;
    StpInOutStk: TStoredProc;
    qrypm_mrp: TQuery;
    procedure DataModuleCreate(Sender: TObject);
    procedure DataModuleDestroy(Sender: TObject);
  private
    { Private declarations }
    procedure LoadDBInfo(var Alias, UserName, Password: string);
    function  DatabaseOpen(Alias, UserName, PassWord: string): Boolean;
    procedure DatabaseClose;

    /////////////////////////////
    Function  CreateQuery(qryName: string; dbName: string): TQuery;
    Function  CreateStroreProc(StorProc: string; dbName: string): TStoredProc;
    function  ExecuteQuery(Sqls: string): Boolean;
    function  GetRecid1: LongInt;
    function  GetRecid7: LongInt;

  public
    { Public declarations }
    DBConnected: Boolean;

    procedure ListFreeMemory(List:TList);


    function  UpdateDatabase(TableName: string; var Recid: LongInt; UpdateList: TList): Integer;
    function  DeleteDatabase(TableName: string; RecId: Longint): Integer;

    function  DateProc(edt: TEdit; var ADate: TDateTime): Boolean;
    function  DateErrorCheck(DateText: string; var ADate: TDateTime): Boolean;
    function  REC_IDProc(IX: Integer; edt: TEdit; var ARID: LongInt; ARID2: LongInt): Boolean;
    function  MasterProc(CD: Integer; var edt: TEdit): Boolean;

    function  GetShigenName(Sigen_CD: Integer): String;
    function  GetDepartName(sigen_CD: Integer): string;

    function  GetOrderNo(RID: LongInt): string;
    function  GetOrderRID(CD: string): LongInt;
    function  GetOrderID(OrderCode: string): Integer;
    function  GetPartID(OrderID: Integer; PartCode: string): Integer;
    function  GetOrderPartIDFromOrderNo(OrderNo: Integer; var OrderID, PartID, ProcessID: Integer): Integer;
    function  GetPartCode(OrderID, PartID: Integer): string;

    function  GetMaterialRID(CD: string): LongInt;
    function  GetMaterialCode(RID: LongInt): string;
    function  GetMaterialName(RID: LongInt): string;
    function  GetMaterialStandardName(RID: LongInt): string;
    function  GetUnitType(RID: LongInt): integer;
    function  GetUnitTypeName(RID: LongInt): string;
    Function  GetStdUnitPrice(RID: LongInt): Double;
    Function  GetHatNoUnitPrice(hat_no: LongInt): Double;
    Function  GetUPNameFromID(iMode: Integer): String;
    Function  GetSafeStockQty(RID: LongInt): Double;
    Function  Get_MatGuageSafety(mat_rec_id,guage_id: LongInt): double;

    function  GetStockName(stkid: string): string;
    function  Get_StockCheck(stkid: string; var edt: TEdit): Boolean;

    procedure Read_GuageInfoToCbx(edt: TEdit; cbx: TComboBox);
    procedure Read_GuageInfoToCbx2(edt: TEdit; cbx: TComboBox);
    procedure Read_MatGuageInfo(sList: TList);
    Function  Get_GuageName(mat_recid,guage_id: integer): string;
    function  Get_GuageCheck(mat_recid,guage_id: integer; var edt: TEdit): Boolean;

    procedure Read_IOIDInfo_ToCbx(cbx: TComBoBox; sIndex: integer);
    function  Read_IOIDInfo(sIndex: integer; sList: TList): Integer;
    function  InOut_IDProc(scode: string; IType: integer; var edt: TEdit): Boolean;
    function  Get_IOIDName(sCode: string; itype: integer): string;

    Procedure Read_SupplyMake_ToCbx(cbx: TComBoBox);

    procedure Read_EmpInfoToCbx(cbx: TComBoBox);
    Procedure Read_EmpInfo;
    function  Get_EmpName(shigen_CD: string): string;
    function  Get_EmpDepartID(shigen_CD: string): Integer;
    function  GetDepartName_fromEmpID(Sigen_CD: string): String;
    function  Emp_IDProc(scode: string; var edt: TEdit): Boolean;



    function  InsertShizai(lcP: PSHIZAI): Integer;
    function  InsertInventory(lcP: PINVENTORY): Integer;

    function  UpdateProcess_jkcd(InvValue: TINVENTORY_VALUE): Integer;
    function  UpdateProcess_flag2(InvValue: TINVENTORY_VALUE): Integer;
    function  UpdateProcessLog_jkcd_kakojokyo(ihatchu_id: Integer): Integer;
    function  UpdateProcess(InvValue: TINVENTORY_VALUE): Integer;

    function  UpdateLog_jkcd(InvValue: TINVENTORY_VALUE): Integer;
    function  UpdateLog(InvValue: TINVENTORY_VALUE): Integer;

    function  UpdateHatNo_JKCD(var order_no: Integer): Integer;

    function  InsertProcess(InvValue: TINVENTORY_VALUE; var RecId: Integer): Integer;
    function  InsertLog(InvValue: TINVENTORY_VALUE): Integer;
    procedure GetInvData(var InvValue: TINVENTORY_VALUE; UpdateList: TList; var Error: Integer);
    function  DeleteProcess(InvRecId: Integer): Integer;
    function  DeleteLog(InvRecId: Integer): Integer;
    function  Insert_DeleteInventory(Inv_s: PINVENTORY; del_empid: Double): Integer;

    function  is_NeedUpdateOrdered(var InvValue: TINVENTORY_VALUE; rec_id: Integer): Boolean;
    function  get_orderedQty_fromOrderNo(var iOrder_no: Integer; var order_qty,order_weight: Double): Double;
    function  get_stkDeliveriedQty_fromOrderNo(var iOrder_no: Integer): Double;

    procedure ReadShigen;
    procedure Readresource(sList: TList; igroup: Integer; scode,sname: string);
    procedure ReadDepartment;
    procedure ReadSeihin;
    procedure Delete_RepeatMaterialcode;
    Procedure ReadShizai(List: TList);

    Procedure ReadShiZai_Kubun;
    Procedure Read_shizai_kubunTocbx(cbx: TComBoBox);
    function  Get_Shizai_KubunAttr(kubun_code: string): integer;
    function  Get_Shizai_KubunName(RecID: integer): string;
    function  Get_Shizai_KubunName2(sCode: string): string;
    Function  GetMaterialTypeID(recid: integer): LongInt;
    function  GetMaterialHiyoKubunID(RID: LongInt): Integer;
    function  GetShiZaiKubunID(sCode: string): integer;
    function  Get_Shizai_KubunCode(RecID: integer): string;
    function  Get_KubunRecID_FromShiZai(RecID: integer): integer;
    function  Get_KubunIssMode_FromShiZai(Mat_RecID: integer): integer;


    //////////////////////////////////////////////
    function  Get_AutoPaperNo(sPaperID: string): string;
    function  Get_PaperNO(suplier: integer; sdate: TDatetime; imax: integer; iMode: integer): string;

    function  ReadInventory(InitFlg: Boolean; List: TList): Integer;
    function  ReadInventory2(InitFlg: Boolean; List: TList; FDate,EDate: TDateTime): Integer;
    function  ReadInventory3(List: TList; mat_rec_id: LongInt; stk_id: string): Integer;
    function  ReadInventory4(List: TList; mat_rec_id,guage_id: LongInt; stk_id: string): Integer;
    function  ReadInventory5(List: TList; order_rec_id: Integer; iKind: Byte): Integer;

    function  Read_IOHistoryQuery(sList: TList; FDate,EDate: TDatetime;
                                  stkid: string; sup_cd: Integer; iss_paperno: string; mat_rec_id: Integer;
                                  order_rec_id: integer; paperno: string;
                                  order_code: string; iKind: integer): Integer;
    Procedure Read_IOHistory(sList: TList; stkid: string; iKind: integer; FDate,EDate: TDateTime);

    function  Read_InventoryRpt(InitFlg: Boolean; List: TList; iKind: integer; sFDate,sEDate: TDatetime): Integer;
    function  Read_InventoryHisRpt(InitFlg: Boolean; List: TList; iKind: integer): Integer;
    Procedure Delete_NullMaterial;
    function  Update_InventorySheetActSts(InvRecId,iAll_Sts: Integer): Integer;
    Function  Read_InOutStkList(ftime,etime: string): integer;
    Function  Read_InOutStkList_Cost(ftime,etime: string): integer;

    Function  isExists_IOID(lcp: PClassInfo): Boolean;
    Procedure Delete_Repeat_IOIDInfo;

    Procedure Insert_IOIDInfo(lcp: PClassInfo);
    Procedure Update_IOIDInfo(lcp: PClassInfo);
    Procedure Delete_IOIDInfo(lcp: PClassInfo);

    //////////////////////////////////////////////
    function  Read_PaperParams(sList: TList): Integer;
    function  isExists_paperno(sinput: string; ikind: Integer): Boolean;

    Function  Read_UnDeliveryOnTimeInfo(sList: TList; sfdate,sedate: string): integer;
    Function  Read_DeliveryOnTimeInfo(sList: TList; s1,s2,s3,s4: string; L1,L2: integer): integer;
    Function  GetInfoFromInvOrderNo(OrderNo: Integer; var inOrderInfo: TAllReadyInValue): integer;

    //////////////////////////////////////////////
    Function  isExists_UseGuageID(mat_rec_id,guage_id: integer): Boolean;
    Function  isExists_GuageInfo(mat_rec_id: integer; sGuage: String): Boolean;
    Function  isExists_invGuageID(mat_rec_id: integer; iGuageID: integer): Boolean;
    Function  Get_MatMaxGuageID(mat_rec_id: integer): Integer;
    Function  Get_GuageID(mat_rec_id: Integer; sGuage: string): Integer;
    Function  Get_MatGuageWgtPcs(mat_rec_id,guage_id: integer): Double;
    Procedure Insert_MatGuageInfo(mat_rec_id: integer; sGuage: string);
    Procedure Insert_NewGuage_ID(mat_rec_id: integer; iguage_id: integer; sGuage: string);
    Procedure Update_MatGuageInfo(mat_rec_id,guage_id: integer; sGuage: string);
    Procedure Update_MatSafety(mat_rec_id,guage_id: integer; isafety,imax,ifixed,ilead:integer;wghtpcs:double);
    Procedure Update_MatWeightPCS(mat_rec_id,guage_id: integer; wghtpcs:double);
    Procedure Delete_MatGuageInfo(mat_rec_id,guage_id: integer);
    Function  Bala_TotalWeightCheck(balaqty,useqty: double; hatchu_id: LongInt): Boolean;

    Function  LastYearFromDay: TDatetime;
    Function  LastYearEndDay: TDatetime;
    Procedure DataExpImp(iMode: Integer; FDate,EDate: TDatetime);

    ///////////////////////////////////////////////////////////////////////
    Function  Read_BomCheckInfo(sList: TList): integer;
    Function  Read_CurrInventoryInfo(sList: TList): integer;
    Function  Read_MRPInfo(sList: TList; ifix,ibom: integer): integer;

    ///////////////////////////////////////////////////////////////////////
    function  Read_MoldInvInfo(sList: TList; iMode: Integer): Integer;
    function  Read_InvAgeInfo(sList: TList; iMode: Integer): Integer;


    function  Get_HatCodeStr(i: Integer): string;
    ///////////////////////////////////////////////////////////////////////
    function  is_DateInAccountedMonth(stk_id: string; sInputDate: TDatetime): Boolean;
    function  Get_DefaultYearandMonth(iPageIndex: Integer; stk_id: string; var sYear,sMonth: string): integer;

    function  Read_AccountInfo(sList: TList): Integer;
    function  Run_CloseAccountJob(ikind: integer; stk_id,sYear,sMonth: string; empid: Double): Integer;
    function  Run_CancelAccountJob(ikind: integer; stk_id,sYear,sMonth: string; empid: Double): Integer;

    //////////////////////////////////////////////


    Function  Read_UserPrivilegeList(sList: TList): integer;
    function  isExists_UserID(lcp: PUserPrivilege): Boolean;
    procedure Insert_UserPrivilege(lcp: PUserPrivilege);
    procedure Update_UserPrivilege(lcp: PUserPrivilege);
    procedure Delete_UserPrivilege(lcp: PUserPrivilege);

    function isExists_UserOrPassword(userid,password: string): Boolean;
    Function Read_UserFunction(var FUser: TUserPrivilege; userid,password: string): integer;



  end;

var
  dm_Inventory: Tdm_Inventory;
  IniData: TIniFileData;

  FAllIOList,
  FEmpList,
  FGuageList,
  FShiZaiList,
  ShiZai_KubunList,
  FInOutIDList,
  FInOutStkList,
  FInOutStkCostList: TList;       //-- in/out/stk cost List
  ShigenTBL:  TList;              //-- resource list
  FDepartShigen: TList;           //-- department list
  SeihinTBL:  TList;              //-- seihin list
  BuhinTBL:   TList;              //-- buhin list
  FUserPrivilegeList: TList;      //-- User Priviliege list

  ReRead_RID: array of LongInt;   //-- REC_ID
  ReRead_Cnt: Integer;            //-- ReRead_RID --
  Delete_RID: array of LongInt;   //-- REC_ID
  Delete_Cnt: Integer;            // Delete_RID --
  RecIdType: Byte;

  cUType: array [0..20] of string;


implementation

{$R *.dfm}

//

function SearchFieldDefData(TableName: string; ColumnOffset: Integer): PTABLEDEF;
var
  i: Integer;
begin
  Result := nil;
  for i := 0 to TableDefCount - 1 do begin
    if (AnsiCompareStr(TableName, TableDefs[i].TableName) = 0) and
       (ColumnOffset = TableDefs[i].ColumnOffset) then begin
      Result := @Tabledefs[i];
      Exit;
    end;
  end;
end;

function MakeUpdateValue(DataType: Integer; TARGET: Pointer): string;
var
  Tmps: array[0..128] of Char;
begin
  Result := '';
  case DataType of

    sqTINYINT_TYPE  : Result := IntToStr( Byte(Target^) );
    sqSMALLINT_TYPE : Result := IntToStr( SmallInt(Target^) );
    sqINTEGER_TYPE  : Result := IntToStr( Integer(Target^) );
    sqDATETIME_TYPE : Result := QuotedStr(FormatDateTime('yyyy/mm/dd hh:mm',
                                         TDateTime(Target^)));
    sqTEXT_TYPE:
    begin
      StrPCopy(Tmps, PChar(Target));
      Result := QuotedStr(StrPas(Tmps));
    end;
    sqFLOAT_TYPE: Result := Format('%8.4f',[Double(Target^)]);

  end;
end;

function MakeInsertSqlSentence(TableName: string; var Recid: Longint;
  UpdateList: TList; var Error: Integer): string;
var
  i: Integer;
  lcP: PTABLEDEF;
  lcUdP: PUPDATE_LIST;
  Sep, Sqls1, Sqls2, SRecId: string;
  MaterialRecId, OrderRecId, PartRecId,is_account,is_close: Integer;
  UnitPrice, TotalPrice, Quantity, maker_price: Double;
begin
  Error := 0;
  OrderRecId := 0;
  PartRecId  := 0;
  if TableName = 'shizai' then begin
    Sqls1 := 'flag,'; Sqls2 := '1,';
  end else begin
    Sqls1 := ''; Sqls2 := '';
  end;
  Sep := '';
  Recid := dm_Inventory.GetRecid7;
  for i := 0 to UpdateList.Count - 1 do begin
    lcUdP := UpdateList[i];
    lcP := SearchFieldDefData(TableName, lcUdP^.Index);
    if lcP = nil then begin
      Error := -1;
      Exit;
    end;

    if lcP^.ColumnName = 'material_rec_id' then
      MaterialRecId := Integer(lcUdP^.TARGET^)
    else
    if lcP^.ColumnName = 'unit_price' then
      UnitPrice := Double(lcUdP^.TARGET^)
    else
    if lcP^.ColumnName = 'quantity' then
      Quantity := Double(lcUdP^.TARGET^)
    else
    if lcP^.ColumnName = 'maker_price' then
      maker_price := Double(lcUdP^.TARGET^)
    else
    if lcP^.ColumnName = 'total_price' then
      TotalPrice := Double(lcUdP^.TARGET^)
    else
    if lcP^.ColumnName = 'guage_id' then
      TotalPrice := Double(lcUdP^.TARGET^)
    else
    if lcP^.ColumnName = 'use_quantity' then
      TotalPrice := Double(lcUdP^.TARGET^)
    else
    if lcP^.ColumnName = 'use_amount' then
      TotalPrice := Double(lcUdP^.TARGET^)
    else
    if lcP^.ColumnName = 'order_rec_id' then
      OrderRecId := Integer(lcUdP^.TARGET^)
    else
    if lcP^.ColumnName = 'parts_rec_id' then
      PartRecId := Integer(lcUdP^.TARGET^)
    else
    if lcP^.ColumnName = 'is_account' then
      is_account := Integer(lcUdP^.TARGET^)
    else
    if lcP^.ColumnName = 'is_close' then
      is_close := Integer(lcUdP^.TARGET^);

    Sqls1 := Sqls1 + Sep + lcP^.ColumnName;
    Sqls2 := Sqls2 + Sep + MakeUpdateValue(lcP^.DataType, lcUdP^.TARGET);
    Sep := ',';
  end;
  if RecIdType = 0 then SRecId := 'rec_id'
  else SRecId := 'rec_id';
  Result := 'INSERT INTO ' + TableName + ' (' + SRecId + ',' + Sqls1 + ') '+
            'VALUES(' + IntToStr(Recid) + ',' + Sqls2 + ')';
end;

//***-- SQL--
function MakeUpdateSqlSentence(TableName: string; var Recid: Longint;
  UpdateList: TList; var Error: Integer): string;
var
  i: Integer;
  lcUdP: PUPDATE_LIST;
  lcP: PTABLEDEF;
  Sep, Sqls, SRecId: string;
begin
  Error := 0;
  Sqls := ''; Sep := '';
  for i := 0 to UpdateList.Count - 1 do begin
    lcUdP := UpdateList[i];

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲福利视频一区| 国产自产2019最新不卡| 成人午夜看片网址| 国产精品美女久久久久久久久| 久久精品国产精品亚洲精品| 日韩精品一区二区三区视频在线观看| 亚洲成av人在线观看| 欧美一区二区三区免费| 国产91在线看| 亚洲激情一二三区| 日韩一区二区免费在线电影| 日韩国产精品大片| 中文字幕不卡在线观看| 91传媒视频在线播放| 久久国产生活片100| 《视频一区视频二区| 色婷婷激情久久| 亚洲欧美日韩久久精品| 日韩视频一区二区三区在线播放| 国产精品亚洲专一区二区三区| 日韩一区在线看| 欧美成人综合网站| 欧美日韩午夜精品| www.日韩av| 国产福利91精品一区二区三区| 综合久久久久久| 国产亚洲精品中文字幕| 91精品国产综合久久香蕉麻豆 | 蜜臀av一区二区三区| 亚洲人午夜精品天堂一二香蕉| 久久视频一区二区| 色悠久久久久综合欧美99| 国产一区二区三区免费看 | 8x福利精品第一导航| 波多野结衣中文字幕一区 | 国产亚洲欧美日韩日本| 精品人在线二区三区| 8v天堂国产在线一区二区| 一本到高清视频免费精品| 99这里都是精品| 97久久精品人人做人人爽| 国产成人精品免费看| 国产精品白丝jk黑袜喷水| 国产精品中文字幕欧美| 国产一区福利在线| 99视频有精品| 欧美老女人在线| 欧美性猛交xxxx黑人交| 色综合天天综合色综合av| 色婷婷香蕉在线一区二区| 欧美日韩一区视频| 欧美日产国产精品| 日韩欧美一二三四区| 国产精品久久777777| 亚洲自拍另类综合| 天堂一区二区在线免费观看| 亚洲午夜精品久久久久久久久| 午夜视频一区二区| 国产一区二区三区久久久 | 欧美日韩免费观看一区二区三区| 欧美精品三级在线观看| 欧美激情一区二区| 亚洲国产综合91精品麻豆| 韩日精品视频一区| 欧洲亚洲国产日韩| 国产精品欧美精品| 毛片av中文字幕一区二区| 一本大道av伊人久久综合| 精品成人在线观看| 奇米一区二区三区av| 欧美体内she精高潮| 亚洲欧美日韩国产综合| 国产精品99久久久久| 欧美日韩激情在线| 亚洲成人www| 91精品一区二区三区久久久久久| 亚洲女同ⅹxx女同tv| 奇米精品一区二区三区四区 | 欧美午夜精品久久久久久超碰 | 亚洲图片欧美综合| 欧美视频在线播放| 亚洲宅男天堂在线观看无病毒| 国产河南妇女毛片精品久久久| 日韩欧美国产一区在线观看| 亚洲成人免费av| 日韩免费观看高清完整版 | 久久精品水蜜桃av综合天堂| 国产剧情av麻豆香蕉精品| 久久久久久9999| 99精品一区二区三区| 亚洲国产综合在线| 欧美成人福利视频| 国产传媒久久文化传媒| 亚洲日本在线a| 日韩免费高清视频| 偷拍一区二区三区四区| 欧美丝袜丝交足nylons图片| 蜜臀av一区二区三区| 中文字幕乱码日本亚洲一区二区| 色综合欧美在线| 青青草一区二区三区| 中文字幕日韩一区| 日韩一区二区三区四区五区六区| 国产精品1区2区3区在线观看| 国产精品福利一区| 久久色在线观看| 欧美福利视频一区| 色综合久久久久久久久| 国产精品1区2区3区| 久久成人免费网站| 亚洲五月六月丁香激情| 亚洲丝袜另类动漫二区| 欧美xxxxx牲另类人与| 欧美日本免费一区二区三区| 国产成人免费视频一区| 精品在线播放免费| 视频在线观看91| 午夜久久久影院| ...中文天堂在线一区| 欧美激情在线观看视频免费| 精品久久人人做人人爱| 色爱区综合激月婷婷| 91视频在线看| 色婷婷精品久久二区二区蜜臀av | 久久免费美女视频| 久久青草欧美一区二区三区| 久久女同互慰一区二区三区| 中文字幕免费观看一区| 亚洲色图一区二区| 午夜精品一区二区三区电影天堂 | 国产午夜亚洲精品理论片色戒| 精品成人一区二区| 日韩美女久久久| 亚洲午夜久久久久久久久电影院| 香蕉成人伊视频在线观看| 日本女人一区二区三区| 国产不卡在线一区| 欧美性极品少妇| 久久久久成人黄色影片| 亚洲伦在线观看| 久99久精品视频免费观看| 国产精品99久久久久久似苏梦涵| 麻豆精品一区二区三区| 97久久超碰国产精品| 日韩欧美国产三级| 亚洲乱码精品一二三四区日韩在线| 石原莉奈在线亚洲三区| 国产69精品久久777的优势| 欧洲国产伦久久久久久久| 久久久久88色偷偷免费| 麻豆精品视频在线| 色八戒一区二区三区| 国产人久久人人人人爽| 青娱乐精品在线视频| 欧美亚洲动漫精品| 国产精品卡一卡二| 国产99久久精品| 国产性做久久久久久| 蜜臀国产一区二区三区在线播放| 日本乱码高清不卡字幕| 中文字幕欧美国产| www.在线成人| 中文字幕一区二区三区精华液 | 国产亚洲成aⅴ人片在线观看| 免费黄网站欧美| 日韩精品专区在线影院观看 | 欧美精选午夜久久久乱码6080| 欧美精品一区二区三区蜜桃| 日本欧美加勒比视频| 亚洲精品在线网站| 国产精品一二三四| 国产精品免费看片| 99视频一区二区| 午夜精品久久久久久久久久| 欧美美女直播网站| 国产一区二区三区观看| 国产欧美一区二区三区在线看蜜臀 | 国产成人免费视频网站高清观看视频| 欧美激情综合网| 一本在线高清不卡dvd| 青青草97国产精品免费观看无弹窗版| 欧美精品精品一区| 国产a级毛片一区| 亚洲一区在线观看视频| 欧美成人vps| 在线观看国产精品网站| 免费人成网站在线观看欧美高清| 在线成人小视频| 97精品国产97久久久久久久久久久久| 亚洲成av人片在线| 日韩视频国产视频| 色老汉一区二区三区| 国内精品自线一区二区三区视频| 亚洲视频在线观看一区| 日韩午夜在线影院| 欧美日韩高清不卡| 日本韩国欧美三级| 一本色道**综合亚洲精品蜜桃冫| 久久99在线观看| 亚洲高清一区二区三区|