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

📄 ubld_lr.pas

📁 工廠倉庫管理系統
💻 PAS
📖 第 1 页 / 共 2 页
字号:
   end;
if adoquery2.State in [dsinsert] then
   begin
   qz:='BFDH'+formatdatetime('yy',now)+
   formatdatetime('mm',now)+formatdatetime('dd',date);
   strsql:='select * from bld_main where bfdh like'+''''+qz+'%'+''''+'order by bfdh asc';
   adoexect(adoquery3,strsql);
   dbedit1.Text:=creatdh(adoquery3,11,qz);
   end;
strsql:='select * from ddk where gdhm='+''''+trim(dbedit2.Text)+'''';
adoexect(adoquery3,strsql);
if adoquery3.Recordset.eof and adoquery3.Recordset.BOF then
   begin
   showmessage('此工单号码不存在,请确认是否填写正确!');
   dbedit2.SetFocus;
   exit;
   end;
if (bldh<>trim(dbedit3.Text)) and (adoquery2.State in[dsedit]) then
   begin                                                                       //如果补料号码没有发生变化
   strsql:='select * from bld_detail where bfdh='+''''+trim(dbedit1.Text)+'''';   //则不需要运行下面的代
    adoexect(adoquery3,strsql);
    if not (adoquery3.Recordset.EOF and adoquery3.Recordset.BOF) then
       begin
       if messagebox(handle,'该补发单号已发有物料,是否要将物料还原重新补发?','询问',mb_yesno+mb_iconquestion)=idyes then
          begin
          try
                 strsql:='exec p_bld_del '+bldh;
                 adodel(adoquery3,strsql);
          except
              showmessage('补发单还原失败!');
              adoquery3.Close;
          end;
          end else begin
          exit;
          end
       end;
   end;
adoquery3.Close;
adoquery1.Close;
adoquery1.Open;
adoquery2.Post;
isedit:=false;
isactive;
bldh:='';
RzBitBtn1.Enabled:=true;
RzBitBtn2.Enabled:=true;
RzBitBtn3.Enabled:=false;
DBEdit3.ReadOnly:=true;
DBEdit7.ReadOnly:=true;
dbmemo1.ReadOnly:=true;
end;

procedure Tfrmbld_lr.RzBitBtn8Click(Sender: TObject);
begin
adoquery2.CancelUpdates;
isedit:=false;
isactive;
RzBitBtn1.Enabled:=true;
RzBitBtn2.Enabled:=true;
RzBitBtn3.Enabled:=false;
DBEdit3.ReadOnly:=true;
DBEdit7.ReadOnly:=true;
dbmemo1.ReadOnly:=true;
end;

procedure Tfrmbld_lr.TabSheet2Enter(Sender: TObject);
begin
sl:=0;
if adoquery1.Recordset.EOF and adoquery1.Recordset.BOF then exit;
edit2.Text:=adoquery1.fieldbyname('数量').AsString;
sl:=adoquery1.fieldbyname('数量').Value;
edit2.SetFocus;
end;

procedure Tfrmbld_lr.RzBitBtn9Click(Sender: TObject);
begin
strsql:='select * from wldmk where wldm='+''''+trim(adoquery1.fieldbyname('物料代码').AsString)+'''';
adoexect(adoquery3,strsql);
if adoquery3.FieldByName('sykc').value<strtofloat(edit2.Text)-sl then
   begin
   messagebox(handle,'库存不足!,无法继续补料!','警告',mb_ok+mb_iconwarning);
   adoquery3.Close;
   exit;
   end;
try
   strsql:='select * from bld_detail where bfdh='+''''+trim(adoquery1.fieldbyname('补发单号').AsString)+''''+
   'and wldm='+''''+trim(adoquery1.fieldbyname('物料代码').AsString)+'''';
   adoexect(adoquery3,strsql);
   adoquery3.Edit;
   adoquery3.FieldByName('sl').Value:=strtofloat(edit2.Text);
   adoquery3.Post;
except
   showmessage('更新数据库失败');
end;
adoquery3.Close;
adoquery1.Close;
adoquery1.Open;
RzPageControl1.ActivePageIndex:=0;
end;

procedure Tfrmbld_lr.RzBitBtn10Click(Sender: TObject);
begin
RzPageControl1.ActivePageIndex:=0;
end;

procedure Tfrmbld_lr.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if not (key in['0'..'9',#46,#8] ) then
    key:=#0;
end;

procedure Tfrmbld_lr.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
  if not (key in['0'..'9',#46,#8] ) then
    key:=#0;
end;

procedure Tfrmbld_lr.DBGridEh1DblClick(Sender: TObject);
begin
if adoquery1.Recordset.EOF and adoquery1.Recordset.BOF then exit;
RzPageControl1.ActivePageIndex:=1;
end;

procedure Tfrmbld_lr.RzBitBtn7Click(Sender: TObject);
begin
close;
end;

procedure Tfrmbld_lr.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if (adoquery2.State in[dsinsert]) or (adoquery2.State in[dsedit]) then
   begin
   if messagebox(handle,'该单尚在编辑状态,是否放弃编辑?','询问',mb_yesno+mb_iconquestion)=idyes then
      begin
      RzBitBtn3Click(self);
      end else begin
      RzBitBtn8Click(self);
      end;
   end;
frReport1.Free;
action:=cafree;
end;

procedure Tfrmbld_lr.RzBitBtn4Click(Sender: TObject);
begin
if not qxjc(userid,'bFd_DEL')and  (USERID<>TRIM(DBEDIT4.Text)) then exit;
if messagebox(handle,'是否真的要取消该补发单,并将该单上的所有物料还原?','询问',mb_yesno+mb_iconquestion)=idno then
   begin
        exit;
   end;
try
   strsql:='exec p_bld_del '+trim(dbedit1.Text);
   adodel(adoquery3,strsql);
   adoquery2.Delete;
except
   showmessage('删除补发单'+trim(dbedit1.Text)+'出错!');
end;
adoquery3.Close;
adoquery1.Close;
adoquery1.Open;
end;

procedure Tfrmbld_lr.RzBitBtn5Click(Sender: TObject);
begin
frmcx:=tfrmcx.Create(self);
frmcx.adocx:=adoquery2;
frmcx.ShowModal;
adoquery2:=frmcx.adocx;
ADOquery2.Requery();
end;

procedure Tfrmbld_lr.N1Click(Sender: TObject);
begin
if not qxjc(userid,'bFd_EDIT')and  (USERID<>TRIM(DBEDIT4.Text)) then exit;
strsql:='delete from bld_detail where bfdh='+''''+trim(adoquery1.fieldbyname('补发单号').AsString)+
''''+'and wldm='+''''+trim(adoquery1.fieldbyname('物料代码').AsString)+'''';
adodel(adoquery3,strsql);
adoquery3.Close;
adoquery1.Close;
adoquery1.Open;
end;

procedure Tfrmbld_lr.N2Click(Sender: TObject);
var
a:string;
begin
if not qxjc(userid,'bFd_EDIT')and  (USERID<>TRIM(DBEDIT4.Text)) then exit;
if adoquery2.Recordset.EOF and adoquery2.Recordset.BOF then exit;
if (adoquery2.State in[dsedit]) or (adoquery2.State in[dsinsert]) then
    begin
    showmessage('补发单尚处于编辑状态,保存编辑结果后,才能增加记录!');
    exit;
    end;
frmwllb.ShowModal;
if wldm='' then exit;
strsql:='select * from bld_detail where bfdh='+''''+trim(dbedit1.Text)+''''+
'and wldm='+''''+wldm+'''';
adoexect(adoquery3,strsql);
if adoquery3.Recordset.BOF and adoquery3.Recordset.EOF then
   begin
   adoquery3.Append;
   adoquery3.FieldByName('bfdh').AsString:=trim(dbedit1.Text);
   adoquery3.FieldByName('wldm').AsString:=wldm;
   adoquery3.FieldByName('sl').Value:=0;
   adoquery3.Post;
   end else begin
   showmessage('该物料已经存在!');
   exit;
   end;
adoquery4.Close;
adoquery3.Close;
adoquery1.Close;
adoquery1.Open;
adoquery1.First;
RzPageControl1.ActivePageIndex:=1;
wldm:='';
end;

procedure Tfrmbld_lr.RzBitBtn6Click(Sender: TObject);
begin
if adoquery5.Active then adoquery5.Close;
adoquery5.Parameters.ParamByName('bfdh').Value:=trim(dbedit1.Text);
frReport1.DoublePass := True;
frReport1.Clear;
frReport1.LoadFromFile(strpath+'/report/bfd.frf');
frVariables['username']:=username;
frreport1.ShowReport;
end;

procedure Tfrmbld_lr.RzToolbarButton1Click(Sender: TObject);
begin
if (not(adoquery2.State in [dsinsert])) and (not(adoquery2.State in [dsedit])) then exit;
emplyer:='';
frmemplyer_lb:=tfrmemplyer_lb.create(self);
frmemplyer_lb.showmodal;
dbedit7.Text:=emplyer;
end;

procedure Tfrmbld_lr.DBGridEh1TitleClick(Column: TColumnEh);
begin
 Compositor(adoquery1,Column);
end;

procedure Tfrmbld_lr.DBGridEh1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumnEh;
  State: TGridDrawState);
begin
 if gdselected in state then//如果当前区域是被选区域
    begin
      //设置被选区域颜色
      tDBGridEh(sender).Canvas.Brush.Color:=clinfobk;
      //设置被选区域字体颜色
      tDBGridEh(sender).Canvas.Font.Color:=clfuchsia;
    end
  else //如果是当前区域不是被选择区域
    begin
     //如果是偶数行,则背景颜色为 clskyblue
     if tDBGridEh(sender).DataSource.DataSet.RecNo mod 2 =0 then
        tDBGridEh(sender).Canvas.Brush.Color:=clskyblue
     else
     //如果是奇数行,则背景颜色为 clinactivecaptiontext
        tDBGridEh(sender).Canvas.Brush.Color:=clWhite;
    end;
  //调用默认的绘图函数
  tDBGridEh(sender).DefaultDrawColumnCell(rect,datacol,column,state);

end;

end.

⌨️ 快捷键说明

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