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

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

?? invdm.~pas

?? 文件包含程序源原文件
?? ~PAS
?? 第 1 頁 / 共 5 頁
字號:
    lcP := SearchFieldDefData(TableName, lcUdP^.Index);
    if lcP = nil then begin
      Error := -1;
      Exit;
    end;
    Sqls := Sqls + Sep + lcP^.ColumnName +
             '=' + MakeUpdateValue(lcP^.DataType, lcUdP^.TARGET);
    Sep := ',';
  end;
  if RecIdType = 0 then SRecId := 'rec_id'
  else SRecId := 'rec_id';
  Result := 'UPDATE ' + TableName + ' SET '+ Sqls +
            ' WHERE ' + SRecId + '=' + IntToStr(Recid);
end;

{***********************************************************************************}
procedure Tdm_Inventory.DataModuleCreate(Sender: TObject);
var
  Alias, UserName, Password: string;
begin
  LoadDBInfo(Alias, UserName, Password);
  DBConnected := DataBaseOpen(Alias, UserName, Password);

  if not DBConnected then Exit;

  RecIdType := 1;
  //-- TList Create & Public List Data Read
  FAllIOList := TList.Create;
  FAllIOList.Clear;

  FShiZaiList := TList.Create;
  FShiZaiList.Clear;

  FEmpList := TList.Create;
  FEmpList.Clear;

  FGuageList := TList.Create;
  FGuageList.Clear;

  FInOutIDList := TList.Create;
  FInOutIDList.Clear;

  ShigenTBL  := TList.Create;
  ShigenTBL.Clear;

  FDepartShigen := TList.Create;
  FDepartShigen.Clear;

  SeihinTBL  := TList.Create;
  SeihinTBL.Clear;

  shizai_kubunList := TList.Create;
  shizai_kubunList.Clear;

  FInOutStkList := TList.Create;
  FInOutStkList.Clear;

  FInOutStkCostList := TList.Create;
  FInOutStkCostList.Clear;

  FUserPrivilegeList := TList.Create;
  FUserPrivilegeList.Clear;

  ReRead_Cnt := 0;
  Delete_Cnt := 0;
  SetLength(ReRead_RID, ReRead_Cnt);
  SetLength(Delete_RID, Delete_Cnt);
  SetTableDefs;

  Delete_RepeatMaterialcode;
  
  Read_empInfo;
  Read_MatGuageInfo(FGuageList);
  Read_IOIDInfo(-1, FInOutIDList);
  ReadShigen;
  ReadDepartment;
  ReadSeihin;
  ReadShiZai_Kubun;
  ReadShizai(FShiZaiList);
  
  Read_UserPrivilegeList(FUserPrivilegeList);

  cUType[00] := GetMultiLingalMsg(3101, 'PCS');
  cUType[01] := GetMultiLingalMsg(3102, '套');
  cUType[02] := GetMultiLingalMsg(3103, '支');
  cUType[03] := GetMultiLingalMsg(3104, '卷');
  cUType[04] := GetMultiLingalMsg(3105, '批');
  cUType[05] := GetMultiLingalMsg(3106, '塊');
  cUType[06] := GetMultiLingalMsg(3107, '雙');
  cUType[07] := GetMultiLingalMsg(3108, '付');
  cUType[08] := GetMultiLingalMsg(3109, '桶');
  cUType[09] := GetMultiLingalMsg(3110, '個');
  cUType[10] := GetMultiLingalMsg(3111, '公斤');
  cUType[11] := GetMultiLingalMsg(3112, '噸');
  cUType[12] := GetMultiLingalMsg(3113, '條');
  cUType[13] := GetMultiLingalMsg(3114, '打');
  cUType[14] := GetMultiLingalMsg(3115, '把');
  cUType[15] := GetMultiLingalMsg(3116, '張');
  cUType[16] := GetMultiLingalMsg(3117, '枚');
  cUType[17] := GetMultiLingalMsg(3118, '根');
  cUType[18] := GetMultiLingalMsg(3119, '臺');
  cUType[19] := GetMultiLingalMsg(3120, '杯');

end;

procedure Tdm_Inventory.DataModuleDestroy(Sender: TObject);
begin
  if DBConnected then begin
    //-- TList Variant Release
    ListFreeMemory(FShiZaiList);
    ListFreeMemory(FEmpList);
    ListFreeMemory(FGuageList);
    ListFreeMemory(FAllIOList);
    ListFreeMemory(FInOutIDList);
    ListFreeMemory(ShigenTBL);
    ListFreeMemory(FDepartShigen);
    ListFreeMemory(SeihinTBL);
    ListFreeMemory(shizai_kubunList);
    ListFreeMemory(FInOutStkList);
    ListFreeMemory(FInOutStkCostList);
  end;
  DatabaseClose;
end;

{***********************************************************************************}
procedure Tdm_Inventory.LoadDBInfo(var Alias, UserName, Password: string);
var
  IniFile: TIniFile;
begin
  IniFile := TIniFile.Create(ChangeFileExt(ParamStr(0), '.INI'));
  with IniFile do begin
    UserName := IniFile.ReadString('LOGIN', 'UI', 'DP40');
    Password := IniFile.ReadString('LOGIN', 'PA', '4640');
    Alias    := IniFile.ReadString('LOGIN', 'ALIAS', 'PM');

    IniData.OutPrice     := ReadString('UNITPIRCE', 'OutPrice','0');
    IniData.InPrice      := ReadString('UNITPIRCE', 'InPrice','0');
    IniData.isExcelPrint := (ReadString('ExcelPrint','Print','0')='0');
    IniData.isCheckQty   := (ReadString('CheckStatus', 'checkQty', '0') = '0');
    IniData.isTuneQty    := (ReadString('CheckStatus', 'tuneQty', '0') = '0');
    IniData.matstkid     := ReadString('CheckStatus', 'matstkid','A');
    IniData.otherstkid   := ReadString('CheckStatus', 'otherstkid','B');

    Free;
  end;
end;

function Tdm_Inventory.DatabaseOpen(Alias, UserName, PassWord: string): Boolean;
begin
  Result := True;
  try
    DataBase.Connected    := False;
    DataBase.LoginPrompt  := False;
    DataBase.AliasName    := Alias;
    DataBase.DatabaseName := 'POPDB';
    DataBase.Params.Clear;
    DataBase.Params.Add('USER NAME='+ UserName);
    DataBase.Params.Add('PASSWORD=' + Password);
    DataBase.DatabaseName   := DataBase.DatabaseName;
    Query.DatabaseName      := DataBase.DatabaseName;
    StoredProc.DatabaseName := DataBase.DatabaseName;
    qryAutoPaperNo.DatabaseName := DataBase.DatabaseName;
    StpInOutStk.DatabaseName    := DataBase.DatabaseName;
    qrypm_mrp.DatabaseName        := DataBase.DatabaseName;
    //-- Initlize TQuery & TStoreProc.Database

    DataBase.Connected    := True;
  except
    Result := False;
  end;
end;

procedure Tdm_Inventory.DatabaseClose;
begin
  DataBase.Close;
  DataBase.Connected := False;
end;

{***********************************************************************************}
Function  Tdm_Inventory.CreateQuery(qryName: string; dbName: string): TQuery;
var
  sQry: TQuery;
Begin
  sQry := TQuery.Create(nil);
  with sQry do
  begin
    Name := qryName;
    DatabaseName := dbName;
    SQL.Clear;
  end;
  result := sQry;
end;

Function  Tdm_Inventory.CreateStroreProc(StorProc: string; dbName: string): TStoredProc;
var
  tmpStoreProc: TStoredProc;
begin
  tmpStoreProc := TStoredProc.Create(nil);
  with tmpStoreProc do
  begin
    Name := StorProc;
    DatabaseName := dbName;
    SessionName  := SessionName;
    Params.Clear;
  end;
  result := tmpStoreProc
end;

function Tdm_Inventory.ExecuteQuery(Sqls: string): Boolean;
begin
  Result := True;
  with Query do begin
    Active := False;
    RequestLive :=False;
    Sql.Clear;
    Sql.Add(Sqls);
    try
      RequestLive := True;
      ExecSQL;
    except
      RequestLive :=False;
      Result := False;
    end;
    Close;
  end;
end;

function Tdm_Inventory.GetRecid1: LongInt;
begin
  with StoredProc do begin
    close;
    StoredProcName := 'GetRecid1';
    Params.Clear;
    Params.CreateParam(ftInteger, '@outrecid', ptOutput).AsInteger;
    Prepare;
    ExecProc;
    try
      Result := ParamByName('@outrecid').AsInteger;
    except
      Result := 0;
    end;
    Unprepare;
  end;
end;

//--  get REC_ID
function Tdm_Inventory.GetRecid7: LongInt;
begin
  with StoredProc do begin
    close;
    StoredProcName := 'GetRecid7';
    Params.Clear;
    Params.CreateParam(ftInteger, '@outrecid', ptOutput).AsInteger;
    Prepare;
    ExecProc;
    try
      Result := ParamByName('@outrecid').AsInteger;
    except
      Result := 0;
    end;
    Unprepare;
  end;
end;

{***********************************************************************************}
procedure Tdm_Inventory.ListFreeMemory(List:TList);
var
  i: Integer;
begin
  for i:=0 to List.Count-1 do Dispose(List[i]);
  List.Clear;
end;


{***********************************************************************************}
function  Tdm_Inventory.UpdateDatabase(TableName: string; var Recid: LongInt; UpdateList: TList): Integer;
var
  Error: Integer;
  Sqls:  string;
  InvValue: TINVENTORY_VALUE;
  TmpRecId, OrderID,
  PartID, ProcessID: Integer;
  iBool: Boolean;
  irtnqty,irtnweight,amount: double;
begin
  TmpRecId := Recid;

  ZeroMemory(@InvValue, SizeOf(TINVENTORY_VALUE));

  InvValue.inv_rec_id := Recid;
  GetInvData(InvValue, UpdateList, Error);
  InvValue.hiyo_kubun_rec_id := dm_Inventory.GetMaterialHiyoKubunID(InvValue.material_rec_id);

  ///////////////////////////////////////////////
  //-- 入庫時 --> 對應采購數據的處理
  case InvValue.ikind of
    0: begin                                    //-- 入庫
         if InvValue.order_no > 0 then
         begin
           GetOrderPartIDFromOrderNo(InvValue.order_no, OrderID, PartID, ProcessID);
           InvValue.order_rec_id   := OrderID;
           InvValue.part_rec_id    := PartID;
           InvValue.process_rec_id := ProcessID;

           if dm_Inventory.is_NeedUpdateOrdered(InvValue, TmpRecId) then
           begin
             Error := UpdateProcess_jkcd(InvValue);
             if Error = 0 then begin
               Result := UpdateLog_jkcd(InvValue);
             end;
           end;
         end;

         if Recid < 0 then //-- create insert SQL statement
           Sqls := MakeInsertSqlSentence(TableName, Recid, UpdateList, Error)
         else              //-- Create Update SQL Statement
           Sqls := MakeUpdateSqlSentence(TableName, Recid, UpdateList, Error);

         if Error = 0 then
         begin
           if ExecuteQuery(Sqls) = False then Error := -99;

           if (InvValue.inv_rec_id<0) then
           begin
             InvValue.inv_rec_id := 0;
             dm_Inventory.UpdateProcess_flag2(InvValue);
           end;
         end;
         Result := Error;
       end;
    /////////////////////////////////////////////////////////////////////

    1: begin                                    //-- 出庫
         GetOrderPartIDFromOrderNo(InvValue.order_no, OrderID, PartID, ProcessID);
         InvValue.order_rec_id   := OrderID;
         InvValue.part_rec_id    := PartID;
         InvValue.process_rec_id := ProcessID;

         if Recid < 0 then //-- create insert SQL statement
           Sqls := MakeInsertSqlSentence(TableName, Recid, UpdateList, Error)
         else              //-- Create Update SQL Statement
           Sqls := MakeUpdateSqlSentence(TableName, Recid, UpdateList, Error);

         if Error = 0 then
         begin
           if ExecuteQuery(Sqls) = False then Error := -99;
         end;
         Result := Error;
         
         InvValue.inv_rec_id := Recid;

         if (InvValue.input_order_rec_id>0) then      //-- 出庫有模號的反映到--> Kotei/Log
         begin
           if ((InvValue.order_no>0)and(InvValue.input_order_rec_id=InvValue.order_rec_id)) then exit; //-- 有訂貨的以訂購為準
           //-- 沒有訂貨的但是對應模號的出庫則新增出庫數據到的成本的用料歷史中
           if TmpRecId < 0 then begin
             Error := InsertProcess(InvValue, InvValue.process_rec_id);
             if Error = 0 then
             Error := InsertLog(InvValue);
           end
           else begin
             Error := UpdateProcess(InvValue);
             if Error = 0 then
             Error := UpdateLog(InvValue);
           end;
         end;
       end;
    ////////////////////////////////////////////////////////////////////

    2: begin                                    //-- 退貨
         if Recid < 0 then //-- create insert SQL statement
           Sqls := MakeInsertSqlSentence(TableName, Recid, UpdateList, Error)
         else              //-- Create Update SQL Statement
           Sqls := MakeUpdateSqlSentence(TableName, Recid, UpdateList, Error);

         if Error = 0 then
         begin
           if ExecuteQuery(Sqls) = False then Error := -99;
         end;
         Result := Error;

         InvValue.inv_rec_id := Recid;

         if (InvValue.input_order_rec_id>0) then      //-- 出庫有模號的反映到--> Kotei/Log
         begin

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲福利视频导航| 日韩高清不卡一区二区| 蜜臀久久99精品久久久画质超高清| 91免费观看视频| 国产精品系列在线| 欧美美女网站色| 免费高清视频精品| 欧美精品一区二区三区在线| 国产91丝袜在线播放0| 精品美女被调教视频大全网站| 精品奇米国产一区二区三区| 老司机精品视频线观看86| 欧美一级片免费看| 国产中文一区二区三区| 国产精品久久久久久久第一福利 | 日日骚欧美日韩| 欧美videos中文字幕| 成人免费看片app下载| 一区二区三区中文免费| 欧美高清视频不卡网| 精品一区二区日韩| 国产精品成人在线观看 | 91精品国产高清一区二区三区蜜臀| 免费成人小视频| 国产欧美日韩综合精品一区二区| 91猫先生在线| 久久久蜜桃精品| 中文字幕 久热精品 视频在线| 色哟哟一区二区三区| 视频一区中文字幕| 久久久蜜桃精品| 在线观看网站黄不卡| 毛片基地黄久久久久久天堂| 中文字幕巨乱亚洲| 91精品国产91热久久久做人人| 国产成人精品三级麻豆| 亚洲制服丝袜av| 国产亚洲欧美激情| 精品视频123区在线观看| 国产乱码字幕精品高清av| 亚洲黄网站在线观看| 精品久久五月天| 欧美婷婷六月丁香综合色| 国产精品原创巨作av| 亚洲综合免费观看高清完整版| 欧美哺乳videos| 91碰在线视频| 国产老肥熟一区二区三区| 免费成人在线播放| 韩国成人福利片在线播放| 国产精品精品国产色婷婷| 日韩三级精品电影久久久| 色婷婷综合久久久久中文一区二区| 麻豆91在线播放免费| 亚洲一区二区三区四区五区中文| 国产日韩在线不卡| 日韩一级欧美一级| 欧美日韩黄色影视| 色婷婷亚洲婷婷| 国产91高潮流白浆在线麻豆 | 精品久久久久一区| 欧美日韩在线观看一区二区| 成人av电影在线播放| 国产一区二区三区不卡在线观看 | 欧美另类高清zo欧美| 91麻豆精东视频| 91在线码无精品| www.色精品| 福利一区二区在线| 国产丶欧美丶日本不卡视频| 另类调教123区| 九九精品一区二区| 奇米影视一区二区三区| 日韩精品五月天| 亚洲成人免费视| 亚洲成a人在线观看| 亚洲成人综合视频| 亚洲成精国产精品女| 日韩国产高清影视| 视频一区免费在线观看| 污片在线观看一区二区| 偷拍与自拍一区| 日韩一区欧美二区| 蜜桃久久久久久| 黄色日韩三级电影| 国产精品1区2区3区| 国产精品一二三在| 成人高清在线视频| 色88888久久久久久影院野外| 在线看国产一区| 91麻豆精品国产91久久久久久 | 欧美日韩精品一二三区| 欧美欧美欧美欧美首页| 91精品国产欧美一区二区| 欧美tickling网站挠脚心| 26uuu久久天堂性欧美| 中文字幕乱码一区二区免费| 亚洲手机成人高清视频| 亚洲一卡二卡三卡四卡| 免费精品视频最新在线| 国产精品一区二区91| 91视频91自| 91精品国产一区二区三区| 精品少妇一区二区三区免费观看| 久久久久久日产精品| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 亚洲另类在线制服丝袜| 日韩高清在线不卡| 国产精品1024| 欧洲一区在线观看| xfplay精品久久| 亚洲精品欧美在线| 黄色成人免费在线| 色久综合一二码| 亚洲精品一区二区在线观看| 一区在线观看视频| 日韩精品成人一区二区在线| 国产成人精品免费视频网站| 在线观看www91| 久久久不卡影院| 怡红院av一区二区三区| 激情综合五月婷婷| 色噜噜狠狠成人中文综合| 久久伊人蜜桃av一区二区| 亚洲色图视频免费播放| 免费高清在线一区| 色综合中文字幕| xnxx国产精品| 日韩电影在线一区二区三区| 成人av动漫在线| 精品日韩一区二区三区免费视频| 亚洲精品乱码久久久久久黑人| 狠狠色丁香婷婷综合久久片| 欧美日韩国产电影| 中文字幕综合网| 国产精品一区在线| 欧美精品久久一区二区三区| 亚洲欧洲日韩在线| 国产在线国偷精品免费看| 欧美人狂配大交3d怪物一区| 欧美一区二区成人| 国产麻豆成人精品| 欧美性生活久久| 国产精品久久久久久久久久久免费看| 久久福利视频一区二区| 欧美性生活一区| 亚洲激情一二三区| bt7086福利一区国产| 久久久精品天堂| 久久国产精品72免费观看| 欧美视频日韩视频| 一区二区三区在线观看视频| 成年人午夜久久久| 欧美国产综合一区二区| 国产精品77777竹菊影视小说| 日韩一级二级三级| 奇米一区二区三区| 欧美三级电影在线看| 亚洲人精品午夜| 色综合天天性综合| 欧美激情在线看| 国产91综合网| 国产欧美综合在线观看第十页| 日韩av电影免费观看高清完整版| 欧美少妇一区二区| 亚洲一区二区三区自拍| 欧美亚洲一区二区三区四区| 一区二区三区四区不卡视频| 91美女片黄在线观看91美女| 亚洲欧美自拍偷拍色图| 91香蕉视频污| 亚洲精品欧美专区| 欧美午夜一区二区三区免费大片| 亚洲视频在线一区| 91成人免费网站| 亚洲国产精品自拍| 欧美人体做爰大胆视频| 视频一区二区国产| 日韩欧美一二三| 国产毛片精品视频| 国产精品久久久久天堂| 91网上在线视频| 亚洲一卡二卡三卡四卡五卡| 欧美日韩久久一区二区| 免费高清在线一区| 国产日韩欧美综合在线| 色综合天天性综合| 亚洲123区在线观看| 日韩美女在线视频| 国产精品资源网| 综合激情成人伊人| 欧美视频日韩视频在线观看| 久久99精品一区二区三区三区| 久久天天做天天爱综合色| 日韩电影在线一区| 亚洲成人激情av| 精品视频999| 免费成人av在线| 日本一区二区久久| 欧美伊人精品成人久久综合97|