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

📄 weijie_data.pas

📁 DELPHI做的制衣厂管理系统,功能完善,可能马上使用,SQL2000数据库
💻 PAS
📖 第 1 页 / 共 3 页
字号:
   if not (iPrint < 0) then //is time
      exit;
   iKey := 0;
   cdTem := TclientDataSet.Create(nil);
   try
   
      try
         ADOCn.BeginTrans;

         idl := cdTem.fieldbyname('idl').AsInteger;
         ADOSProc3.Close;
         ADOSProc3.ProcedureName := 'P_ApplyStockMaster';
         ADOSProc3.Parameters.Refresh;
         ADOSProc3.Parameters.ParamValues['@CDH'] := cdTem.fieldbyname('CDH').AsString;
         ADOSProc3.Parameters.ParamValues['@IKeyForm'] := cdTem.fieldbyname('IKeyForm').AsInteger;
         ADOSProc3.Parameters.ParamValues['@IKeyClient'] := cdTem.fieldbyname('IKeyClient').AsInteger;
         ADOSProc3.Parameters.ParamValues['@DDatePZ'] := cdTem.fieldbyname('DDatePZ').AsDateTime;
         ADOSProc3.Parameters.ParamValues['@DDateJH'] := cdTem.fieldbyname('DDateJH').AsDateTime;
         ADOSProc3.Parameters.ParamValues['@CUser'] := cdTem.fieldbyname('CUser').AsString;
         ADOSProc3.Parameters.ParamValues['@FJE'] := cdTem.fieldbyname('FJE').AsFloat;
         ADOSProc3.Parameters.ParamValues['@IDL'] := cdTem.fieldbyname('IDL').AsInteger;
         ADOSProc3.Parameters.ParamValues['@IKey'] := IKEY;
         ADOSProc3.ExecProc;
         IKey := ADOSProc3.Parameters.ParamValues['@IKey'];

         IF IKEY = -1 THEN BEGIN
            Result := '单号重复啦,请仔细检查!';
            Exit;
         END;
         IF IKEY = 0 THEN BEGIN
            Result := '出现不明错误,保存失败,请稍后再试!';
            Exit;
         END;

         ADOSProc3.Close;
         ADOSProc3.ProcedureName := 'P_ApplyStockItem';
         ADOSProc3.Parameters.Refresh;
         cdTem.First;
         WHILE NOT cdTem.Eof DO BEGIN
            ADOSProc3.Parameters.ParamValues['@IKeyM'] := IKEY;
            ADOSProc3.Parameters.ParamValues['@IKeySTK'] := cdTem.fieldbyname('IKeyCp').AsInteger;
            if idl < 0 then begin
               ADOSProc3.Parameters.ParamValues['@FSl'] := -cdTem.fieldbyname('FSl').AsFloat;
               ADOSProc3.Parameters.ParamValues['@FZL'] := -cdTem.fieldbyname('FZL').AsFloat;
            end
            else Begin
               ADOSProc3.Parameters.ParamValues['@FSl'] := cdTem.fieldbyname('FSl').AsFloat;
               ADOSProc3.Parameters.ParamValues['@FZL'] := cdTem.fieldbyname('FZL').AsFloat;
            end;
            ADOSProc3.ExecProc;
            cdTem.Next;
         END;  //             END While

         ADOCn.CommitTrans;
      except
         on E:Exception do
         Result := E.Message;
      end;

   finally
      if ADOCn.InTransaction then
         ADOCn.RollbackTrans;
      cdTem.Free;
   end;
end;

function TWeiJieServer.ApplyUpdateStockPlan(mData, iData: OleVariant): String;
VAR cdTem: TclientDataSet;
    ikey: integer;
begin
   result := '';
   iKey := 0;
   cdTem := TclientDataSet.Create(nil);
   try
   
      try
         ADOCn.BeginTrans;

         ADOSProc3.Close;
         ADOSProc3.ProcedureName := 'P_ApplyStockPlanMaster';
         ADOSProc3.Parameters.Refresh;
         ADOSProc3.Parameters.ParamValues['@CDH'] := cdTem.fieldbyname('CDH').AsString;
         ADOSProc3.Parameters.ParamValues['@IKeyClient'] := cdTem.fieldbyname('IKeyClient').AsInteger;
         ADOSProc3.Parameters.ParamValues['@DDatePZ'] := cdTem.fieldbyname('DDatePZ').AsDateTime;
         ADOSProc3.Parameters.ParamValues['@DDateJH'] := cdTem.fieldbyname('DDateJH').AsDateTime;
         ADOSProc3.Parameters.ParamValues['@CUser'] := cdTem.fieldbyname('CUser').AsString;
         ADOSProc3.Parameters.ParamValues['@FJE'] := cdTem.fieldbyname('FJE').AsFloat;
         ADOSProc3.Parameters.ParamValues['@IDL'] := cdTem.fieldbyname('IDL').AsInteger;
         ADOSProc3.Parameters.ParamValues['@IKey'] := IKEY;
         ADOSProc3.ExecProc;
         IKey := ADOSProc3.Parameters.ParamValues['@IKey'];

         IF IKEY = -1 THEN BEGIN
            Result := '单号重复啦,请仔细检查!';
            Exit;
         END;
         IF IKEY = 0 THEN BEGIN
            Result := '出现不明错误,保存失败,请稍后再试!';
            Exit;
         END;

         ADOSProc3.Close;
         ADOSProc3.ProcedureName := 'P_ApplyStockPlanItem';
         ADOSProc3.Parameters.Refresh;
         cdTem.First;
         WHILE NOT cdTem.Eof DO BEGIN
            ADOSProc3.Parameters.ParamValues['@IKeyM'] := IKEY;
            ADOSProc3.Parameters.ParamValues['@IKeySTK'] := cdTem.fieldbyname('IKeyCp').AsInteger;
            ADOSProc3.Parameters.ParamValues['@FSl'] := cdTem.fieldbyname('FSl').AsFloat;
            ADOSProc3.Parameters.ParamValues['@FZL'] := cdTem.fieldbyname('FZL').AsFloat;
            ADOSProc3.ExecProc;
            cdTem.Next;
         END;

         ADOCn.CommitTrans;
      except
         on E:Exception do
         Result := E.Message;
      end;

   finally
      if ADOCn.InTransaction then
         ADOCn.RollbackTrans;
      cdTem.Free;
   end;
end;

function TWeiJieServer.IApplyUpdateStock(mData,
  iData: OleVariant): Smallint;
var cRet: string;
begin
   Result := 1;
   cRet := ApplyUpdateStock(mData,iData);
   If cRet <> '' Then BEGIN
      ReSult := -1;
      RAISE exception.Create('保存没有成功,请认真阅读下面提示从中找出原因:'+#13+#13+cRet);
   END;
end;

function TWeiJieServer.IApplyUpdateGoods(mData,
  iData: OleVariant): Smallint;
var cRet: string;
begin
   Result := 1;
   cRet := ApplyUpdateGoods(mData,iData);
   If cRet <> '' Then BEGIN
      ReSult := -1;
      RAISE exception.Create('保存没有成功,请认真阅读下面提示从中找出原因:'+#13+#13+cRet);
   END;
end;

function TWeiJieServer.IApplyUpdateHGoods(mData,
  iData: OleVariant): Smallint;
var cRet: string;
begin
   Result := 1;
   cRet := ApplyUpdateHGoods(mData,iData);
   If cRet <> '' Then BEGIN
      ReSult := -1;
      RAISE exception.Create('保存没有成功,请认真阅读下面提示从中找出原因:'+#13+#13+cRet);
   END;
end;

function TWeiJieServer.IApplyUpdateStockPlan(mData,
  iData: OleVariant): Smallint;
var cRet: string;
begin
   Result := 1;
   cRet := ApplyUpdateStockPlan(mData,iData);
   If cRet <> '' Then BEGIN
      ReSult := -1;
      RAISE exception.Create('保存没有成功,请认真阅读下面提示从中找出原因:'+#13+#13+cRet);
   END;
end;

procedure TWeiJieServer.dsColorUpdateData(Sender: TObject;
  DataSet: TCustomClientDataSet);
begin
   dataset.FieldByName('CKey').ProviderFlags:=
      dataset.FieldByName('Ckey').ProviderFlags+[pfinkey];
end;

function TWeiJieServer.IUpChangePass(const ccode, cPassO,
  cPassN: WideString): Smallint;
begin
   result := DoUpChangePass(ccode,cpasso,cpassN);
   if result = -1 then
      RAISE exception.Create('用户不存在,无法更改密码!');
   if result = 0 then
      RAISE exception.Create('原来的密码不正确,请检查!');
end;

function TWeiJieServer.DoUpChangePass(ccode, cpassO,
  cPassN: STRING): integer;
begin
   with ADOPub do begin
      close;
      ProcedureName := 'P_UPChangePass';
      Parameters.Refresh;

      parameters.ParamValues['@ccode'] := ccode;
      parameters.ParamValues['@cpassO'] := cPassO;
      parameters.ParamValues['@cPassN'] := cPassN;
      execProc;

      Result := parameters.ParamValues['@return_value'];
   end;
end;

procedure TWeiJieServer.PGetZhangbenCWGetData(Sender: TObject;
  DataSet: TCustomClientDataSet);
begin
   DoGetZhangBenCWJX(DataSet);
end;

procedure TWeiJieServer.DoGetZhangBenCWJX(DataSet: TCustomClientDataSet);
var je: Array[1..6] of double;
    mon:word;
begin
  je[1] := 0; //销售
  je[2] := 0; //收款
  je[3] := 0; //结余
  
  je[4] := 0; //付款
  je[5] := 0; //发外加工
  je[6] := 0; //结余
  with DataSet do
  begin
    first;
    mon:=fieldbyname('mon').asinteger;
    while not eof do
    begin
       if (mon <> fieldbyname('mon').asinteger) and
          (fieldbyname('cZhaiY').AsString <> '期初转结') then
       begin
          mon:=fieldbyname('mon').asinteger;
          insert;
          fieldbyname('cZhaiy').asstring:='本月结存';
          fieldbyname('fjfX').asfloat:=je[1];
          fieldbyname('fdfX').asfloat:=je[2];
          fieldbyname('fjyX').asfloat:=je[1]-je[2]+je[3];

          fieldbyname('fjff').asfloat:=je[4];
          fieldbyname('fdfJ').asfloat:=je[5];
          fieldbyname('fjyf').asfloat:=je[4]-je[5] + je[6];
          post;
          je[1]:=0;
          je[2]:=0;
          je[3]:=fieldbyname('fjyX').asfloat;
          je[4]:=0;
          je[5]:=0;
          je[6]:=fieldbyname('fjyf').asfloat;
          next;
       end;
      je[1]:=je[1]+fieldbyname('fjfX').AsFloat;
      je[2]:=je[2]+fieldbyname('fdfX').AsFloat;
      je[3]:=je[3]+fieldbyname('fjyX').AsFloat;

      je[4]:=je[4]+fieldbyname('fjff').AsFloat;
      je[5]:=je[5]+fieldbyname('fdfj').AsFloat;
      je[6]:=je[6]+fieldbyname('fjyf').AsFloat;
      edit;
      fieldbyname('fjyX').AsFloat := je[1]-je[2]+je[3];
      fieldbyname('fjyf').AsFloat := je[4]-je[5]+je[6];
      next;
    end;
    append;
    fieldbyname('cZhaiY').asstring:='本月结存';
    fieldbyname('fjfX').asfloat:=je[1];
    fieldbyname('fdfX').asfloat:=je[2];
    fieldbyname('fjyX').asfloat:=je[1]-je[2]+je[3];
    fieldbyname('fjff').asfloat:=je[4];
    fieldbyname('fdfj').asfloat:=je[5];
    fieldbyname('fjyf').asfloat:=je[4]-je[5]+je[6];
    post;
  end;
end;

procedure TWeiJieServer.DoGetZhangBenCKJX(DataSet: TCustomClientDataSet);
var je: Array[1..5] of double;
    mon:word;
begin
  je[1] := 0; //进仓
  je[2] := 0; //出仓
  je[3] := 0; //回收
  je[4] := 0; //发外
  je[5] := 0; //结余
  with DataSet do
  begin
    first;
    mon:=fieldbyname('mon').asinteger;
    while not eof do
    begin
       if (mon <> fieldbyname('mon').asinteger) and
          (fieldbyname('cZhaiY').AsString <> '期初转结') then
       begin
          mon:=fieldbyname('mon').asinteger;
          insert;
          fieldbyname('cZhaiy').asstring:='本月结存';
          fieldbyname('fjc').asfloat:=je[1];
          fieldbyname('fcc').asfloat:=je[2];
          fieldbyname('fBack').asfloat:=je[4];
          fieldbyname('fout').asfloat:=je[4];
          fieldbyname('fjy').asfloat:= je[1] + je[3] - je[2] - je[4] + je[5];
          post;
          je[1]:=0;
          je[2]:=0;
          je[3]:=0;
          je[4]:=0;
          je[5]:=fieldbyname('fjy').asfloat;
          next;
       end;
      je[1]:=je[1]+fieldbyname('fjc').AsFloat;

⌨️ 快捷键说明

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