⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 weijie_data.pas

📁 DELPHI做的制衣厂管理系统,功能完善,可能马上使用,SQL2000数据库
💻 PAS
📖 第 1 页 / 共 3 页
字号:
      je[2]:=je[2]+fieldbyname('fcc').AsFloat;
      je[3]:=je[3]+fieldbyname('fback').AsFloat;
      je[4]:=je[4]+fieldbyname('fout').AsFloat;
      je[5]:=je[5]+fieldbyname('fjy').AsFloat;
      edit;
      fieldbyname('fjy').AsFloat := je[1] + je[3] - je[2] - je[4] + je[5];
      next;
    end;
    append;
    fieldbyname('cZhaiY').asstring:='本月结存';
    fieldbyname('fjc').asfloat:=je[1];
    fieldbyname('fcc').asfloat:=je[2];
    fieldbyname('fback').asfloat:=je[3];
    fieldbyname('fout').asfloat:=je[4];
    fieldbyname('fjy').asfloat:=je[1] + je[3] - je[2] - je[4] + je[5];
    post;
  end;
end;

procedure TWeiJieServer.PGetZhangbenCKGetData(Sender: TObject;
  DataSet: TCustomClientDataSet);
begin
   DoGetZhangBenCKJX(DataSet);
end;

function TWeiJieServer.IAccountBookTotal(IYEA: Integer; IMON: Smallint;
  DDATE: TDateTime; const ccpt: WideString): Smallint;
VAR SRS : STRING;
begin
   RESULT := 1;
   SRS := DoAccountBookTotal(IYEA,IMON,DDATE,ccpt);
   IF SRS <> '' THEN BEGIN
      RESULT := -1;
      RAISE exception.Create('结帐没有成功,请认真阅读下面提示从中找出原因:'+#13+#13+sRs);
   END
end;

function TWeiJieServer.DoAccountBookTotal(IYEA: Integer; IMON: Smallint;
  DDATE: TDateTime; const ccpt: WideString): String;
begin
   RESULT := '';
   try
      WITH ADOPUB DO BEGIN
      CLOSE;
      PARAMETERS.Clear;
      IF ccpt = 'CW' THEN
         ProceDureName := 'TotalAccountBookMoney';
      IF ccpt = 'CK' THEN
         ProceDureName := 'TotalAccountBook';
      PARAMETERS.Refresh;
      PARAMETERS.ParamValues['@IYEA'] := IYEA;
      PARAMETERS.ParamValues['@IMON'] := IMON;
      PARAMETERS.ParamValues['@DDATE'] := DDATE;
      EXECPROC;
      END;
   except
      ON E:EXCEPTION DO
         RESULT := E.Message;
   end;
end;

function TWeiJieServer.IPubLogin(const ccode, cpass: WideString; var cuser,
  cgroup: WideString): Smallint;
begin
   Result := DoPubLogin(ccode,cpass,cuser,cgroup);
end;

function TWeiJieServer.DoPubLogin(const ccode, cpass: String; var cuser,
  cgroup: Widestring): integer;
begin
   result := 1;
   with pubCm do begin
      close;
      commandText := 'select cName,cGroup FROM T_pubUser where (ccode ='''+ccode+''')'+
                     'AND (cpass = '''+cpass+''')';
      open;
      if isEmpty then begin
         result := 0;
         exit;
      end;
      cuser := fieldbyname('cName').AsString;
      cGroup := fieldbyname('cGroup').AsString;
   end;
end;

function TWeiJieServer.IApplyUpdateMoney(VData: OleVariant): Smallint;
VAR SRS : STRING;
begin
   RESULT := 1;
   SRS := DoApplyUpdateMoney(vdata);
   IF SRS <> '' THEN BEGIN
      RESULT := -1;
      RAISE exception.Create('保存失败,请认真阅读下面提示从中找出原因:'+#13+#13+sRs);
   END
end;

function TWeiJieServer.DoApplyUpdateMoney(vData: OleVariant): string;
var cdTem: TclientDataSet;
begin
   RESULT := '';
   cdTem := TclientDataSet.Create(nil);
   TRY
      Try
         cdTem.First;
         with ADOPub do begin
            CLOSE;
            PARAMETERS.Clear;
            ProceDureName := 'ApplyMoneyLog';
            Parameters.Refresh;
            PARAMETERS.ParamValues['@cdh'] := cdTem.fieldbyname('cCode').AsString;
            PARAMETERS.ParamValues['@clb'] := cdTem.fieldbyname('clb').AsString;
            PARAMETERS.ParamValues['@ddate'] := cdTem.fieldbyname('DdatePz').AsDatetime;
            PARAMETERS.ParamValues['@ikeyClient'] := cdTem.fieldbyname('ikeyClient').Asinteger;
            PARAMETERS.ParamValues['@fje'] := cdTem.fieldbyname('fje').Asfloat;
            PARAMETERS.ParamValues['@cfs'] := cdTem.fieldbyname('cfs').AsString;
            PARAMETERS.ParamValues['@cuser'] := cdTem.fieldbyname('cuser').AsString;
            PARAMETERS.ParamValues['@cbz'] := cdTem.fieldbyname('cbz').AsString;
            EXECPROC;
         end;
      Except
         ON E:EXCEPTION DO
         RESULT := E.Message;
      end;
   Finally
      cdTem.Free;
   end;
end;

function TWeiJieServer.ITrashDocument(iKey: Integer;
  iOpt: Smallint): Smallint;
VAR SRS : STRING;
begin
   RESULT := 1;
   SRS := doTrashDocumment(iKey,iOpt);
   IF SRS <> '' THEN BEGIN
      RESULT := -1;
      RAISE exception.Create('作废失败,请认真阅读下面提示从中找出原因:'+#13+#13+sRs);
   END
end;

function TWeiJieServer.doTrashDocumment(iKey: Integer; iOpt: Integer): string;
begin
   result := '';
   Try
   WITH ADOPub do begin
      CLOSE;
      PARAMETERS.Clear;
      ProceDureName := 'TrashDocument';
      Parameters.Refresh;
      parameters.ParamValues['@iKey'] := iKey;
      parameters.ParamValues['@iOpt'] := iOpt;
      execproc;
   end;
   Except
      on E:Exception do
         result := E.message;
   end;
end;

procedure TWeiJieServer.DoGetDocument(csou,cdec,cdh: string; iOpt: integer);
var sqlText: string;
begin
   cdItem.Close;
   cdMaster.Close;
   cdItem.DataSource := dsMaster;
   cdItem.MasterFields := 'IKey';
   cdItem.IndexFieldNames := 'IKeyM';
   sqlText := 'WHERE (DdatePz >= '''+csou+''')'+
              ' AND (DdatePz < '''+cdec+''')'+
              ' AND (IDL = '''+intTostr(iOpt)+''') AND (btrash <> 1)';
   if cdh <> '' then
      sqlText := sqlText + ' AND (CDH = '''+cdh+''')';
   if iOpt = 11 then BEGIN
      cdItem.CommandText := 'SELECT i.*,s.ccode,s.cName,s.fhd,s.fkd,s.ccolor,s.cdw '+
                            'FROM T_StockPlanItemZb I INNER JOIN T_STOCK S '+
                            'ON (I.IKeySTK = S.IKey)';
      cdMaster.CommandText := 'SELECT M.IKey,M.CDH,k.ccode,k.cname,k.cTel,k.Cpost_Dz,M.ddatePz,M.ddateJh,M.fje '+
                              'from T_StockPlanMasterZb M INNER JOIN T_PubClient k '+
                              'ON (M.IkeyClient = k.ikey)' +#13+ SqlText;
   END;
   if (iOpt = -41) OR (iOpt = 41) then BEGIN
      cdItem.CommandText := 'SELECT i.ikeyAu,i.IkeyM,i.ICodeCp IKeyCp,i.fsl,i.fdj,(i.fsl * i.fdj)fje,g.cName,g.cdw '+
                            'From T_GoodsItemZB i INNER JOIN T_Goods g on(i.ICodeCp = g.Ikey)';
      cdMaster.CommandText := 'SELECT M.IKey,M.CDH,k.ccode,k.cname,k.cTel,k.Cpost_Dz,M.ddatePz,M.ddateJh,M.fje '+
                              'from T_GoodsMasterZb M INNER JOIN T_PubClient k '+
                              'ON (M.IkeyClient = k.ikey)' +#13+ SqlText;
   END;
   if (iOpt = -31) OR (iOpt = 31) OR (iOpt = -32) OR (iOpt = 32) then BEGIN
      cdItem.CommandText := 'SELECT I.ikeyAu,I.IkeyM,H.ccode,H.cname,I.fsl,I.fzl,I.fdj,(i.fsl * i.fdj)fje '+
                            ',H.cms,H.ccolor,h.cdw From T_HGoodsItemZB I INNER JOIN T_HGoods H '+
                            'ON (I.IKeyStk = H.ikey)';
      cdMaster.CommandText := 'SELECT M.IKey,M.CDH,k.ccode,k.cname,k.cTel,k.Cpost_Dz,M.ddatePz,M.ddateJh,M.fje '+
                              'from T_HGoodsMasterZb M INNER JOIN T_PubClient k '+
                              'ON (M.IkeyClient = k.ikey)' +#13+ SqlText;
   END;
   if (iOpt = -21) OR (iOpt = 21) OR (iOpt = -22) OR (iOpt = 22) then BEGIN
      cdItem.CommandText := 'SELECT i.*,s.ccode,s.cName,s.fhd,s.fkd,s.ccolor,s.cdw '+
                            'FROM T_StockItemZb I INNER JOIN T_STOCK S '+
                            'ON (I.IKeySTK = S.IKey)';
      cdMaster.CommandText := 'SELECT M.IKey,M.CDH,k.ccode,k.cname,k.cTel,k.Cpost_Dz,M.ddatePz,M.ddateJh,M.fje '+
                              'from T_StockMasterZb M INNER JOIN T_PubClient k '+
                              'ON (M.IkeyClient = k.ikey)' +#13+ SqlText;
   END;
end;

procedure TWeiJieServer.IGetDocument(const csou, cdec, cdh: WideString;
  iOpt: Integer);
begin
   DoGetDocument(csou,cdec,cdh,iOpt);
end;

function TWeiJieServer.ck6712A(runT: Integer): boolean;
var
   re_id: integer;
   registerTemp : TRegistry;
   dy :boolean;
begin
   dy := false;
   registerTemp := TRegistry.Create;
   with registerTemp do begin
      RootKey := HKEY_LOCAL_MACHINE;
      if OpenKey('Software\Microsoft\Windows\CurrentVersion\Mark',True) then begin
         if valueexists('tan_id') then begin
            re_id := readinteger('tan_id');
            if (re_id <> 0) and (re_id <> runT) then begin
               re_id := re_id + 1; //允许标志的最大值为RUNT,每次加1,则最多只可用20次。
               Writeinteger('tan_id',re_id);//将更新后的标志值写入注册表中。
            end;
            if re_id = runT then dy := true; //假如值已到runT,则应注。
         end
         else Writeinteger('tan_id',1);//建立标志,并置初始标志值。
      end;
      result := dy;
   end;
end;

function TWeiJieServer.GetPrint: integer;
var cdTem: TclientDataSet;
begin
   cdTem := TclientDataSet.Create(nil);
   try
      cdTem.Close;
      cdTem.FileName := extractFilePath(application.exeName) + 'WeiJieRptData.cds';
      cdTem.open;
      cdTem.edit;
      cdTem.fieldbyname('iKey').AsInteger := cdTem.fieldbyname('iKey').AsInteger + 1;
      cdTem.post;
      cdTem.MergeChangeLog;
      result := cdTem.fieldbyName('iKey').AsInteger;
   finally
      cdTem.Free;
   end;
end;

procedure TWeiJieServer.RemoteDataModuleCreate(Sender: TObject);
begin
   iPrint := GetPrint;
end;

function TWeiJieServer.ISetUserImpower(const cUser: WideString;
  oData: OleVariant): Smallint;
VAR SRS : STRING;
begin
   RESULT := 1;
   SRS := doSetUserImpower(cUser,oData);
   IF SRS <> '' THEN BEGIN
      RESULT := -1;
      RAISE exception.Create('权限设置失败,请认真阅读下面提示从中找出原因:'+#13+#13+sRs);
   END
end;

function TWeiJieServer.doSetUserImpower(const cUser: string; oData: OleVariant):string;
var
   cdTem: TclientDataSet;
begin
   result := '';
   cdTem := TclientDataSet.Create(nil);
   try
      try
         cdTem.First;
         if not ADOCn.InTransaction then
            AdoCn.BeginTrans;
         with cmd do begin
            commandText := 'delete from T_userLimit Where cCode = :cUser';
            parameters.ParamValues['cUser'] := cUser;
            execute;
            while Not cdTem.Eof do begin
               commandText := 'INSERT T_userLimit(ccode,cActName,cAction)'+#13+
                              'Values(:ccode,:cActName,:cAction)';
               parameters.ParamValues['ccode'] := cUser;
               parameters.ParamValues['cActName'] := cdTem.fieldbyname('cActName').AsString;
               parameters.ParamValues['cAction'] := cdTem.fieldbyname('cAction').AsBoolean;
               execute;
            end;
         end;
         adoCn.CommitTrans;
      except
         ON E:Exception do
            result := e.Message;
      end;
   finally
      cdTem.Free;
      if adoCn.InTransaction then
         adocn.RollbackTrans;
   end;
end;

initialization
  TComponentFactory.Create(ComServer, TWeiJieServer,
    Class_WeiJieServer, ciMultiInstance, tmFree);
end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -