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

📄 u_clffd.pas

📁 材料租赁
💻 PAS
📖 第 1 页 / 共 2 页
字号:
     i_value:=strtofloat(t_value);
     i_value:=i_value+1;
     s_value:=formatfloat('0000000',i_value);
    if not autocacalnumber(s_value,ado) then
    begin
      edtcode.Text :=s_value;
      exit;
    end  
    else
    next;
    end;
    edtcode.Text :='0000001';
  end;

end;
//查找数据库中的编码
function autocacalnumber(const bh:string;ado:TADOQuery):boolean;
var
  s_value:string;
begin
  strsql:='SELECT SFNO FROM vW_Fcdj WHERE SFNO='+QuotedStr(BH);
  with ado do
  begin
   close;
   sql.Clear ;
   sql.Add(strsql);
   Prepared;
   open;
  if RecordCount >0 then
     result:=true
  else
     result:=false;   
  end;
end;

procedure TfrmClffd.cacalnumber(ado:TADOQuery);
var
  i_value:double;
  t_value:string;
begin
strsql:='SELECT SFNO FROM vW_Fcdj';
with ado do
begin
  Close;
  SQL.Clear;
  SQL.Add(strsql);
  Prepared;
  open;
s_value :=Fields[0].AsString;
  if s_value='' then
     s_value :='0000001'
  else
  begin
     t_value:=trim(COPY(s_value,1,7));
     i_value:=strtofloat(t_value);
     i_value:=i_value+1;
     s_value:=formatfloat('0000000',i_value);
  end  ;
end;
edtcode.Text :=s_value;
end;




procedure TfrmClffd.FormCreate(Sender: TObject);
begin
dtDate.Date:=date;
//为临时表中增加编码
screen.Cursor := crHourGlass;
cleardata('sftmp',frmmain.adoqytmp) ;
if CurrentParam.N_E =0 then
begin
autorecordtmp('sftmp',1,iSeri,frmmain.adoqytmp) ; //计算临时表中的记录号
//locanumber(frmmain.adoqytmp); //计算单据编号
cacalnumber(frmmain.adoqytmp);
CurrentParam.tmpCode:=trim(edtcode.Text);
end
else
begin
edtSfdj(CurrentParam.tmpCode,frmmain.adoqytmp); //修改此单据号
//VisbleTure;
dm.ADO_GGXHB.Filter :='sfno='+''''+CurrentParam.tmpCode+'''';
dm.ADO_GGXHB.Filtered :=true;
btnSave.Enabled :=true;
{if dm.ADO_GGXHB.State =dsbrowse then
begin
dm.ADO_GGXHB.Edit ;
dm.ADO_GGXHB.Post ;
end; }
end;
dm.ADO_TBTMP.IndexFieldNames :='seri';
dm.ADO_TBTMP.Active :=true;
DBSumList1.Activate(TRUE);
EDTFHR.Text :=CurrentParam.UserName;
VisbleTure;
//EDTJSR.Text :=CurrentParam.UserName;
if CurrentParam.blnADD then
begin
DBGridEh1.ReadOnly :=true;
DBGridEh2.ReadOnly :=true;
end;

screen.Cursor := crDefault;

//
end;

procedure TfrmClffd.DBSumList1SumListChanged(Sender: TObject);
begin
  lblTotal.Text := FloatToStr(DBSumList1.SumCollection.Items[0].SumValue );
  lblHtotal.Text := FloatToStr(DBSumList1.SumCollection.Items[0].SumValue * CurrentParam.bl);
end;

procedure TfrmClffd.FormShow(Sender: TObject);
var
s_value:string;
begin
 //取出材料编码表值
 dm.ADO_SPBMK.Active :=true;
 cmbcl.Clear ;
 dm.ADO_SPBMK.First ;
 while not dm.ADO_SPBMK.Eof do
 begin
   s_value:=trim(dm.ADO_SPBMK.Fieldbyname('spbh').AsString)+'-';
   s_value:=s_value+trim(dm.ADO_SPBMK.Fieldbyname('spmc').AsString);
   cmbcl.Items.Add(s_value);
   dm.ADO_SPBMK.Next;
 end;
 dm.ADO_SPBMK.Close;
dm.ADO_BMBMK.Active :=true;
cmbbm.Clear ;
dm.ADO_BMBMK.First ;
while not dm.ADO_BMBMK.Eof do
begin
    s_value:=trim(dm.ADO_BMBMK.Fieldbyname('bmbh').AsString)+'-';
    s_value:=s_value+trim(dm.ADO_BMBMK.Fieldbyname('bmname').AsString);
    cmbbm.Items.Add(s_value);
  dm.ADO_BMBMK.Next ;
end;
dm.ADO_BMBMK.Close ;
if CurrentParam.N_E =1 then
begin

cmbcl.Text :=CurrentParam.djh ;
cmbbm.Text :=CurrentParam.ph
//if CurrentParam.N_E =1 then
 end;
end;

procedure TfrmClffd.FormClose(Sender: TObject; var Action: TCloseAction);
begin

//DBSumList1.Activate(false);

  action := cafree;
  frmCLFFD := nil;
end;

procedure TfrmClffd.btnCloseClick(Sender: TObject);
begin
DBSumList1.Activate(FALSE);
DBSumList1.Free ;
DBSumList2.Activate(FALSE);
DBSumList2.Free ;
close;
end;

procedure TfrmClffd.DBGridEh1DblClick(Sender: TObject);
{var
  s_value,sSpbh,sNo:string;
  iNumber:integer;
  d_value:double;
  strsql:string;  }
begin
{if DBGridEh1.SelectedField.FieldName='seri' then exit;
if DBGridEh1.SelectedField.FieldName='clTal' then exit;
CurrentParam.sl:=DBGridEh1.SelectedField.AsFloat ;

iNumber:=DBGridEh1.Fields[0].AsInteger ;
s_value:=DBGridEh1.SelectedField.FieldName ;
s_value:=s_value+inttostr(iNumber);
sSpbh:= returnint('-',trim(cmbcl.Text),2,true);
sNo:=trim(edtcode.Text);
strsql:='sfno=('+''''+sNo+''' '+') and (fields = '+''''+s_value+''')';
dm.ADO_GGXHB.Filter :=strsql;
dm.ADO_GGXHB.Filtered :=true;
CurrentParam.tmpCode :=sNo;
CurrentParam.tmpName :=sSpbh;
CurrentParam.ggxh :=s_value;
ShowModalForm(TfrmGgxh);
if dm.ADO_TBTMP.State =dsbrowse THEN
    dm.ADO_TBTMP.Edit ;
DBGridEh1.SelectedField.AsFloat:=CurrentParam.sl;  }
end;

procedure TfrmClffd.DBNavigator1BeforeAction(Sender: TObject;
  Button: TNavigateBtn);
begin
IF Button=nbPost then
begin
   btnsave.Enabled :=true;
{  IF CurrentParam.tzcl then
   begin
   dm.ADO_GGXHB.FieldByName('sfno').AsString :=trim(edtcode.Text);
   dm.ADO_GGXHB.FieldByName('fields').AsString :=CurrentParam.ggxh;
   dm.ADO_GGXHB.FieldByName('spbh').AsString :=CurrentParam.tmpName;
   end;  }
//   lbltotal.Text :=DBGridEh1.Columns[11].Footers[0].Value;
end;
end;

procedure TfrmClffd.cmbClChange(Sender: TObject);
var
  sCl:string;
begin
sCl:=trim(cmbcl.Text);
sCl:=returnint('-',sCl,1,true);
CurrentParam.tmpName:=sCl; 
CurrentParam.bl:=1;
CurrentParam.dj:=returnDj(sCl,frmmain.adoqytmp);
CurrentParam.tmpCode:= sCl;
dm.ADO_GGXHB.Filter :='sfno='+''''+trim(edtcode.Text)+'''';
dm.ADO_GGXHB.Filtered :=true;
VisbleTure;
end;

procedure TfrmClffd.btnSaveClick(Sender: TObject);
begin
try
Add_Clffd_Data;
except
Application.MessageBox('数据提交出错,请重新起动应用程序!', '错误', mb_iconInformation + mb_defbutton1);
exit;
end;

end;

procedure TfrmClffd.edtCodeKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
screen.Cursor := crHourGlass;
dm.ADO_TBTMP.Active :=false;
strsql:='Select * from sfdj where sfno=:@sfno ';
with qydjsf do
begin
  close;
  sql.Clear ;
  sql.Add(strsql);
  Parameters.ParamByName('@sfno').Value :=TRIM(EDTCODE.Text) ;
  Prepared ;
  open;
if RecordCount >0 then
begin
{if application.MessageBox('输入的单据号不存在是否继续?!','材料租赁系统!',MB_YESNO)=IDYES then
begin
edtcode.SetFocus ;         }

cleardata('sftmp',frmmain.adoqytmp) ;
edtSfdj(trim(edtcode.Text),frmmain.adoqytmp); //修改此单据号
dm.ADO_GGXHB.Filter :='sfno='+''''+CurrentParam.tmpCode+'''';
dm.ADO_GGXHB.Filtered :=true;
end;
dm.ADO_TBTMP.Active :=true;
screen.Cursor := crDefault;
end;
end;
end;

procedure TfrmClffd.DBSumList2SumListChanged(Sender: TObject);
begin
  CurrentParam.sl :=DBSumList2.SumCollection.Items[0].SumValue;
  lblTotal.Text := FloatToStr(CurrentParam.sl );
  lblHtotal.Text := FloatToStr(CurrentParam.sl * CurrentParam.bl);
end;

procedure TfrmClffd.DBGridEh2KeyPress(Sender: TObject; var Key: Char);
var
  i:integer;
begin
if key=#13 then
begin
i:= dm.ADO_GGXHB.RecordCount;
   if DBGridEh2.SelectedField.FieldName ='long' THEN
      if dm.ADO_GGXHB.State = dsinsert then
            DBGridEh2.Fields[2].AsFloat :=1;
 //if (DBGridEh2.SelectedField.FieldName ='number') OR (DBGridEh2.SelectedField.FieldName ='weith') or (DBGridEh2.SelectedField.FieldName ='long') then
//    if DM.ADO_GGXHB.State in [dsedit,dsinsert]  then
//    begin
     //DBGridEh2.Fields[3].AsFloat :=DBGridEh2.Fields[0].AsFloat*DBGridEh2.Fields[1].AsFloat*DBGridEh2.Fields[2].AsFloat ;
     if  DM.ADO_GGXHB.State in [dsinsert] then
       begin
         dm.ADO_GGXHB.FieldByName('seri').AsInteger  :=i +1  ;
         dm.ADO_GGXHB.FieldByName('sfno').AsString :=trim(edtcode.Text);
         dm.ADO_GGXHB.FieldByName('fields').AsString :=CurrentParam.ggxh;
         dm.ADO_GGXHB.FieldByName('spbh').AsString :=CurrentParam.tmpName;
       end;
   //   dm.ADO_GGXHB.FieldByName('total').AsFloat :=DBGridEh2.Fields[0].AsFloat*DBGridEh2.Fields[1].AsFloat*DBGridEh2.Fields[2].AsFloat ;
//      try
//      dm.ADO_GGXHB.Post ;
//      except
//      dm.ADO_GGXHB.Cancel ;
//      dm.ADO_GGXHB.Active :=false;
//      dm.ADO_GGXHB.Active :=true;
//      end;
//      btnSave.Enabled :=TRUE;
//     end;
end;
end;

procedure TfrmClffd.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
dm.ADO_TBTMP.Close ;
dm.ADO_SFDJ.Close ;
dm.ADO_GGXHB.Close ;
end;

procedure TfrmClffd.SpeedButton1Click(Sender: TObject);
begin
locanumber(frmmain.adoqytmp); //计算单据编号
end;

procedure TfrmClffd.SpeedButton2Click(Sender: TObject);
var
 Qrepcl:TQrepcl;
  Qrepcl_t:TQrepcl_t;
 sCl,
 sBm,
 sspbh,
 sCode,
 strsql:string;
begin
  sCode:=trim(edtcode.Text);
  sCl:=trim(cmbcl.Text);
  sBm:=trim(cmbbm.Text);
  sCl:=returnint('-',sCl,1,false);
  sBm:=returnint('-',sBm,2,false);
//  sspbh:=returnint('-',sCl,2,true);
if not CurrentParam.tzcl then
begin
qrepcl:=Tqrepcl.Create(self);
qrepcl.lblNo.Caption :=sCode;
qrepcl.lblname.Caption :=sCl;
qrepcl.lblffdate.Caption :=datetostr(dtdate.Date);
qrepcl.lblmb.Caption :=sBm;
qrepcl.lblTotal.Caption :=trim(lbltotal.Text)+CurrentParam.jldw  ;
qrepcl.lblhTotal.Caption :=trim(lblhtotal.Text)+CurrentParam.jldw2;
qrepcl.lblZy.Caption :=trim(edtzy.Text);
qrepcl.lblFhr.Caption :=trim(edtfhr.Text);
qrepcl.lblJzr.Caption :=trim(edtjzr.Text);
qrepcl.lblJsr.Caption :=trim(edtjsr.Text);
strsql:='SELECT Cl_0, cl_1, cl_2, cl_3, cl_4, cl_5, cl_6, cl_7, cl_8, cl_9 FROM sftmp';
with frmmain.adoRep do
begin
close;
sql.Clear ;
sql.Add(strsql);
open;
end;
qrepcl.lblTitle.Caption  :='江苏正华建设集团公司租赁站周转材料发放单';
qrepcl.PreviewModal ;
qrepcl.Free ;
end else
begin
//查询数据
strsql:='SELECT spbh, fields, long, weith, hight, number, total, bz FROM ggxhb Where SFNO='+''''+sCode+'''';
with frmmain.adoRep do
begin
close;
sql.Clear ;
sql.Add(strsql);
open;
end;

///

qrepcl_t:=Tqrepcl_t.Create(self);
qrepcl_t.lblNo.Caption :=sCode;
qrepcl_t.lblname.Caption :=sCl;
qrepcl_t.lblffdate.Caption :=datetostr(dtdate.Date);
qrepcl_t.lblmb.Caption :=sBm;
qrepcl_t.lblTotal.Caption :=trim(lbltotal.Text)+CurrentParam.jldw  ;
qrepcl_t.lblhTotal.Caption :=trim(lblhtotal.Text)+CurrentParam.jldw2;
qrepcl_t.lblZy.Caption :=trim(edtzy.Text);
qrepcl_t.lblFhr.Caption :=trim(edtfhr.Text);
qrepcl_t.lblJzr.Caption :=trim(edtjzr.Text);
qrepcl_t.lblJsr.Caption :=trim(edtjsr.Text);
qrepcl_t.lblTitle.Caption  :='江苏正华建设集团公司租赁站周转材料发放单';
qrepcl_t.PreviewModal ;
qrepcl_t.Free ;
end;


frmmain.adoRep.Active :=false;
end;

end.

⌨️ 快捷键说明

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