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

📄 ucgdd.pas

📁 工廠採購管理系統
💻 PAS
📖 第 1 页 / 共 2 页
字号:
    showmessage('刷新数据库失败!');
    exit;
end;
{以下代码用来批量添加明细数据 }

if (not addedit) and (jhdh=trim(dbedit2.Text)) then
   begin
   RzBitBtn1.Enabled:=true;
   RzBitBtn2.Enabled:=true;
   RzBitBtn3.Enabled:=false;
   jhdh:='';
   ddhm:='';
   exit;                                                //如果为修改模式,且计划单未发生变化就不执行下面的代码
   end;
   try
       strsql:='exec insertcgdd '+''''+ trim(dbedit1.text)+''''+','+''''+trim(dbedit4.text)+
       ''''+','+''''+trim(dbedit2.Text)+'''';
       adodel(adoquery3,strsql);
       strsql:='update wlbj set isok=1 where bjdh='+''''+trim(dbedit4.Text)+'''';
       adodel(adoquery3,strsql);
       adoquery3.Close;
       adoquery1.Close;
       adoquery1.Open;
   except
       showmessage('访问数据库失败');
       if addedit then
       begin
            strsql:='delete from cgdd_main where ddhm='+''''+trim(dbedit1.Text)+'''';
            adodel(adoquery3,strsql);
            strsql:='exec p_cgdd_del '+trim(dbedit1.Text);
           adodel(adoquery3,strsql);
       end;
       exit;
   end;
RzBitBtn1.Enabled:=true;
RzBitBtn2.Enabled:=true;
RzBitBtn3.Enabled:=false;
jhdh:='';
ddhm:='';
end;

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

procedure Tfrmcgdd.RzBitBtn8Click(Sender: TObject);
begin
RzBitBtn1.Enabled:=true;
RzBitBtn2.Enabled:=true;
RzBitBtn3.Enabled:=false;
adoquery2.CancelUpdates;
jhdh:='';
end;

procedure Tfrmcgdd.RzBitBtn9Click(Sender: TObject);
begin
adoquery1.Close;
adoquery2.Close;
adoquery3.Close;
close;
end;

procedure Tfrmcgdd.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;
action:=cafree;
end;

procedure Tfrmcgdd.DBEdit4Exit(Sender: TObject);
begin
RzToolbarButton3.Visible:=false;

end;

procedure Tfrmcgdd.DBEdit4Enter(Sender: TObject);
begin
RzToolbarButton3.Visible:=true;
end;

procedure Tfrmcgdd.TabSheet2Enter(Sender: TObject);
begin
if adoquery1.Recordset.EOF and adoquery1.Recordset.BOF then exit;
   edit1.Text:=adoquery1.fieldbyname('单价').AsString;
   edit2.Text:=adoquery1.fieldbyname('订购数量').AsString;
   xql:=adoquery1.fieldbyname('订购数量').Value;
   edit3.Text:=adoquery1.fieldbyname('客色号').AsString;
   edit1.SetFocus;
end;

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

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

procedure Tfrmcgdd.RzBitBtn4Click(Sender: TObject);
begin
if jcsj then exit;
if (trim(edit1.Text)='0') or (trim(edit2.Text)='0') then
   begin
       showmessage('单价或数量不能为0');
       exit;
   end;
try
   strsql:='update cgdd_detail set dj='+trim(edit1.Text)+',xql='+
   trim(edit2.Text)+',wssl=wssl+'+trim(edit2.Text)+'-'+inttostr(xql)+
   ',kwlsh='+''''+trim(edit3.Text)+''''+' where ddhm='+''''+
   adoquery1.fieldbyname('订单号码').AsString+
   ''''+'and wldm='+''''+adoquery1.fieldbyname('物料代码').AsString+'''';
   adodel(adoquery3,strsql);
   adoquery3.Close;
   if adoquery1.Active then adoquery1.Close;
   adoquery1.Open;
except
   showmessage('更新采购订单失败');
end;
RzPageControl1.ActivePageIndex:=0;
end;

procedure Tfrmcgdd.RzBitBtn6Click(Sender: TObject);
begin
if not qxjc(userid,'cgdd_del') and (username<>trim(dbedit5.Text)) then exit;
if adoquery2.Recordset.EOF and adoquery2.Recordset.BOF then exit;
if jcsj then exit;
if messagebox(handle,'是否真的要删除该采购订单吗?','警告',mb_yesno+mb_iconquestion)=idno then exit;
try
    strsql:='exec p_cgdd_del '+trim(dbedit1.Text);
    adodel(adoquery3,strsql);
    adoquery2.Delete;
    adoquery3.Close;
    adoquery1.Close;
    adoquery1.Open;
except
    showmessage('删除订单失败');
end;
end;

procedure Tfrmcgdd.RzBitBtn12Click(Sender: TObject);
begin
RzPageControl1.ActivePageIndex:=0;
end;

procedure Tfrmcgdd.RzMenuToolbarButton1Click(Sender: TObject);
begin
frmgyslb:=tfrmgyslb.Create(self);
frmgyslb.ShowModal;
dbedit3.Text:=lbname;
end;

procedure Tfrmcgdd.RzMenuToolbarButton2Click(Sender: TObject);
begin
frmcgjhdh_lb:=tfrmcgjhdh_lb.Create(self);
frmcgjhdh_lb.ShowModal;
dbedit4.Text:=strhthm;
end;

procedure Tfrmcgdd.DBEdit1Change(Sender: TObject);
begin
if not adoquery2.Active then exit;
if adoquery2.Recordset.EOF and adoquery2.Recordset.bof then exit;
strsql:='select * from view_cgdd where 订单号码='+''''+trim(dbedit1.Text)+'''';
adoexect(adoquery1,strsql);
if adoquery2.FieldByName('审核').Value=1 then
GroupBox1.Enabled:=false
else
GroupBox1.Enabled:=true;
end;

procedure Tfrmcgdd.DBEdit3Enter(Sender: TObject);
begin
RzToolbarButton2.Visible:=true;
end;

procedure Tfrmcgdd.DBEdit3Exit(Sender: TObject);
begin
RzToolbarButton2.Visible:=false;
end;

procedure Tfrmcgdd.RzToolbarButton2Click(Sender: TObject);
begin
if (adoquery2.State in[dsedit]) or (adoquery2.State in[dsinsert]) then
   begin
   lbname:='';                                                    //lbname 用来传递供应商代码
   title:='';                                                     //title 用来传递联系人
   strhthm:='';                                                   // strhthm 用来传递供应商名称
   frmgyslb:=tfrmgyslb.Create(self);
   frmgyslb.ShowModal;
   dbedit3.Text:=lbname;
   dbedit11.Text:=strhthm;
   dbedit6.Text:=title;
   end;
end;

procedure Tfrmcgdd.RzToolbarButton3Click(Sender: TObject);
begin
if (adoquery2.State in[dsedit]) or (adoquery2.State in[dsinsert]) then
   begin
   strhthm:='';                                       //传递报价单号
   title:='';                                         //传递计划单号
   frmbjdh_lb:=tfrmbjdh_lb.Create(self);
   frmbjdh_lb.ShowModal ;
   if strhthm='' then exit;
   dbedit4.Text:=strhthm;
   dbedit2.Text:=title;
    strsql:='select cgxqdh from cgjh_main where cgjhdh='+''''+title+'''';
   adoexect(adoquery3,strsql);
   if adoquery3.Recordset.BOF and adoquery3.Recordset.EOF then
      begin
      showmessage('数据库库发生逻辑错误!请检查报价单、计划单、需求单是否存在对应关系');
      exit;
      end;
   dbedit14.Text:=adoquery3.fieldbyname('cgxqdh').AsString;
   adoquery3.Close;
   end;
end;

procedure Tfrmcgdd.RzBitBtn5Click(Sender: TObject);
begin
if adoquery4.Active then adoquery4.Close;
adoquery4.Parameters.ParamByName('ddhm').Value:=trim(dbedit1.Text);
adoquery4.Open;
form3.frDBDataSet1.dataset:=adoquery1;
form3.frDBDataSet2.dataset:=adoquery4;
form3.frReport1.DoublePass := True;
form3.frReport1.Clear;
form3.frReport1.LoadFromFile(strpath+'/report/cgdd.frf');
frVariables['username']:=username;
form3.frReport1.Preview := Form3.frPreview1;
if form3.frReport1.PrepareReport then
  begin
    form3.frReport1.ShowPreparedReport;
  end;
form3.ShowModal;
adoquery4.Close;
end;

procedure Tfrmcgdd.dtp1Exit(Sender: TObject);
begin
csh;
end;

procedure Tfrmcgdd.dtp2Exit(Sender: TObject);
begin
csh;
end;

procedure Tfrmcgdd.DBEdit2Enter(Sender: TObject);
begin
RzToolbarButton1.Visible:=true;
end;

procedure Tfrmcgdd.DBEdit2Exit(Sender: TObject);
begin
RzToolbarButton1.Visible:=false;
end;

procedure Tfrmcgdd.RzToolbarButton1Click(Sender: TObject);
begin
if (adoquery2.State in[dsedit]) or (adoquery2.State in[dsinsert]) then
   begin
   strhthm:='';
   xqdh:='';
   frmcgjhdh_lb:=tfrmcgjhdh_lb.Create(self);
   frmcgjhdh_lb.ShowModal;
   dbedit2.Text:=strhthm;
   dbedit14.Text:=xqdh;
   dbedit4.Text:='无报价单';
   end;
end;

procedure Tfrmcgdd.RzPageControl1Change(Sender: TObject);
begin
if not ((adoquery2.State in[dsedit]) or (adoquery2.State in[dsinsert])) then exit;
if jcsj then
  begin
  RzPageControl1.ActivePageIndex:=0;
  end;
end;

procedure Tfrmcgdd.DBComboBox2Change(Sender: TObject);
begin
if dbcombobox2.text='港币' then
begin
dbedit16.Text:='HK$';
end;
if dbcombobox2.text='美圆' then
begin
dbedit16.Text:='US$';
end;
if dbcombobox2.text='人民币' then
begin
dbedit16.Text:='¥';
end;
end;

procedure Tfrmcgdd.DBGridEh1DblClick(Sender: TObject);
begin
  RzPageControl1.ActivePageIndex:=1;
end;

procedure Tfrmcgdd.N1Click(Sender: TObject);
begin
if not ((adoquery2.State in[dsedit]) or (adoquery2.State in[dsinsert])) then exit;
wldm:='';
jhsl:=0;
cjhdh:=trim(dbedit2.Text);
frmcgjh_wllb:=tfrmcgjh_wllb.create(self);
frmcgjh_wllb.ShowModal;
if wldm='' then exit;
strsql:='select * from cgdd_detail where wldm='+''''+wldm+''''+'and ddhm='+
''''+trim(dbedit1.Text)+'''';
adoexect(adoquery3,strsql);
if not(adoquery3.Recordset.eof and adoquery3.Recordset.BOF) then
   begin
   showmessage('此物料在该订单上已存在!');
   exit;
   end;
strsql:='select * from cgdd_detail';
adoexect(adoquery5,strsql);
adoquery5.Append;
adoquery5.FieldByName('wldm').AsString:=wldm;
adoquery5.FieldByName('ddhm').AsString:=trim(dbedit1.Text);
adoquery5.FieldByName('xql').value:=jhsl;
adoquery5.FieldByName('wssl').value:=jhsl;
adoquery5.FieldByName('yssl').value:=0;
adoquery5.FieldByName('dj').value:=0;
adoquery5.FieldByName('kwlsh').value:='';
adoquery5.Post;
adoquery5.Close;
adoquery1.close;
adoquery1.Open;
end;

procedure Tfrmcgdd.N2Click(Sender: TObject);
begin
if not ((adoquery2.State in[dsedit]) or (adoquery2.State in[dsinsert])) then exit;
if jcsj then exit;
strsql:='delete from cgdd_detail where wldm='+''''+
trim(adoquery1.fieldbyname('物料代码').AsString)+''''+'and ddhm='+
''''+trim(dbedit1.Text)+'''';
adodel(adoquery3,strsql);
adoquery1.Close;
adoquery1.Open;
end;

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

end.

⌨️ 快捷键说明

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