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

📄 uqtcgjh_lr.pas

📁 工廠採購管理系統
💻 PAS
字号:
unit uqtcgjh_lr;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DBCtrls, RzButton, ExtCtrls, StdCtrls, Mask, Buttons, Grids,
  DBGridEh, DB, ADODB, RzTabs, ComCtrls, FR_DSet, FR_DBSet, FR_Class, RzDTP,
  GridsEh, Menus;

type
  Tfrmqtcgjh_lr = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    RzBitBtn1: TRzBitBtn;
    RzBitBtn2: TRzBitBtn;
    RzBitBtn3: TRzBitBtn;
    RzBitBtn4: TRzBitBtn;
    RzBitBtn5: TRzBitBtn;
    RzBitBtn6: TRzBitBtn;
    RzBitBtn7: TRzBitBtn;
    RzBitBtn8: TRzBitBtn;
    RzBitBtn9: TRzBitBtn;
    DBNavigator1: TDBNavigator;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBMemo1: TDBMemo;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DataSource1: TDataSource;
    DataSource2: TDataSource;
    ADOQuery1: TADOQuery;
    ADOQuery2: TADOQuery;
    ADOQuery3: TADOQuery;
    RzPageControl1: TRzPageControl;
    TabSheet1: TRzTabSheet;
    TabSheet2: TRzTabSheet;
    DBGridEh1: TDBGridEh;
    GroupBox1: TGroupBox;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    DBEdit6: TDBEdit;
    DBEdit7: TDBEdit;
    DBEdit8: TDBEdit;
    DBEdit9: TDBEdit;
    Edit1: TEdit;
    RzBitBtn12: TRzBitBtn;
    RzBitBtn13: TRzBitBtn;
    ADOQuery4: TADOQuery;
    DataSource3: TDataSource;
    dtp1: TRzDateTimePicker;
    Label14: TLabel;
    DBEdit11: TDBEdit;
    DBCheckBox1: TDBCheckBox;
    DBCheckBox2: TDBCheckBox;
    Label6: TLabel;
    DBEdit5: TDBEdit;
    RzMenuToolbarButton2: TRzMenuToolbarButton;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    Label15: TLabel;
    dtp2: TRzDateTimePicker;
    dtp3: TRzDateTimePicker;
    Edit2: TEdit;
    DBEdit10: TDBEdit;
    procedure FormCreate(Sender: TObject);
    procedure RzBitBtn1Click(Sender: TObject);
    procedure RzBitBtn2Click(Sender: TObject);
    procedure RzBitBtn3Click(Sender: TObject);
    procedure RzBitBtn6Click(Sender: TObject);
    procedure DBEdit1Change(Sender: TObject);
    procedure RzBitBtn8Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure RzBitBtn9Click(Sender: TObject);
    procedure TabSheet2Enter(Sender: TObject);
    procedure RzBitBtn12Click(Sender: TObject);
    procedure RzBitBtn13Click(Sender: TObject);
    procedure RzBitBtn7Click(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure RzBitBtn5Click(Sender: TObject);
    procedure RzBitBtn4Click(Sender: TObject);
    procedure DBEdit5Enter(Sender: TObject);
    procedure DBEdit5Exit(Sender: TObject);
    procedure RzMenuToolbarButton2Click(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure csh();
    procedure dtp2Exit(Sender: TObject);
    procedure dtp3Exit(Sender: TObject);
    function jcsj():boolean;
    procedure RzPageControl1Change(Sender: TObject);
    procedure DBGridEh1DblClick(Sender: TObject);
    procedure DBGridEh1TitleClick(Column: TColumnEh);
  private
    { Private declarations }
    cgsl:longint;
  public
    { Public declarations }
  end;

var
  frmqtcgjh_lr: Tfrmqtcgjh_lr;

implementation
uses uconst,ufunction,udm1,uxqdh_lb,uwllb,ucx,ugyslb,unit3;
{$R *.dfm}
procedure tfrmqtcgjh_lr.csh();
begin
if jb<>'系统维护' then
strsql:='select cgjhdh as 采购计划单号,cgxqdh as 采购需求单号,shhe as 审核,'+
        'sfxd as 下单,gysdm as 供应商代码,gysmc as 供应商名称,srrq as 日期,djr as 负责人,node as 备注'+
        ' from cgjh_main where cgxqdh=:cgjhdh and srrq>=:rq1 and srrq<=:rq2'+
        ' and djr='+''''+trim(username)+''''+' order by cgjhdh desc'
else
strsql:='select cgjhdh as 采购计划单号,cgxqdh as 采购需求单号,shhe as 审核,'+
        'sfxd as 下单,gysdm as 供应商代码,gysmc as 供应商名称,srrq as 日期,djr as 负责人,node as 备注'+
        ' from cgjh_main where cgxqdh=:cgjhdh and srrq>=:rq1 and srrq<=:rq2'+
        ' order by cgjhdh desc';
if adoquery4.Active then adoquery4.Close;
adoquery4.SQL.Clear;
adoquery4.sql.Add(strsql);
adoquery4.Parameters.ParamByName('rq1').Value:=dtp2.Date;
adoquery4.Parameters.ParamByName('rq2').Value:=dtp3.Date;
adoquery4.Parameters.ParamByName('cgjhdh').Value:='其它采购需求';
adoquery4.Open;
end;
function tfrmqtcgjh_lr.jcsj():boolean;
begin
strsql:='select * from cgdd_main where jhdh='+''''+trim(dbedit1.Text)+'''';
adoexect(adoquery3,strsql);
if not(adoquery3.Recordset.EOF and adoquery3.Recordset.BOF) then
   begin
   showmessage('此计划单已被采用,不能编辑!');
   result:=true;
   end else begin
   result:=false;
   end;
end;
procedure Tfrmqtcgjh_lr.FormCreate(Sender: TObject);
begin
adoquery1.Connection:=dm1.ADOConnection1;
adoquery2.Connection:=dm1.ADOConnection1;
adoquery3.Connection:=dm1.ADOConnection1;
adoquery4.Connection:=dm1.ADOConnection1;
dtp2.Date:=date-30;
dtp3.Date:=date;
csh;
end;

procedure Tfrmqtcgjh_lr.RzBitBtn1Click(Sender: TObject);

begin
if not qxjc(userid,'jhd_add') then exit;
adoquery4.Append;
RzBitBtn1.Enabled:=false;
RzBitBtn2.Enabled:=false;
RzBitBtn3.Enabled:=true;
dbedit3.Text:=username;
dbedit4.Text:=datetostr(date);
dbedit2.Text:='其它采购需求';
end;

procedure Tfrmqtcgjh_lr.RzBitBtn2Click(Sender: TObject);
begin
if adoquery4.Recordset.EOF and adoquery4.Recordset.BOF then exit;
if not qxjc(userid,'jhd_edit') and (username<>trim(dbedit3.Text)) then exit;
if jcsj then exit;
RzBitBtn1.Enabled:=false;
RzBitBtn2.Enabled:=false;
RzBitBtn3.Enabled:=true;
adoquery4.edit;
dbedit3.Text:=username;
dbedit4.Text:=datetostr(date);
end;

procedure Tfrmqtcgjh_lr.RzBitBtn3Click(Sender: TObject);
var
qz:string;
begin
if trim(dbedit2.Text)='' then
   begin
        showmessage('没有选择物料需求单号');
        exit;
   end;
if adoquery4.State in[dsinsert] then
   begin
   qz:='CGJH'+formatdatetime('yy',now)+
   formatdatetime('mm',now)+formatdatetime('dd',date);
   strsql:='select * from cgjh_main where cgjhdh like'+''''+qz+'%'+''''+'order by cgjhdh asc';
   adoexect(adoquery3,strsql);
   dbedit1.Text:=creatdh(adoquery3,11,qz);
   end;
RzBitBtn1.Enabled:=true;
RzBitBtn2.Enabled:=true;
RzBitBtn3.Enabled:=false;
adoquery4.post;
end;

procedure Tfrmqtcgjh_lr.RzBitBtn6Click(Sender: TObject);
begin
if not qxjc(userid,'jhd_del')and (username<>trim(dbedit3.Text)) then  exit;
if adoquery4.Recordset.EOF and adoquery4.Recordset.BOF then exit;
if jcsj then exit;
if messagebox(handle,'是否真的要删除该计划单?','警告',mb_yesno+mb_iconquestion)=idyes then
   begin
       strsql:='delete from cgjh_detail where cgjhdh='+''''+trim(dbedit1.Text)+'''';
       adodel(adoquery3,strsql);
       adoquery4.Delete;
       adoquery1.Requery;
   end;
end;

procedure Tfrmqtcgjh_lr.DBEdit1Change(Sender: TObject);
begin
if not adoquery4.Active then exit;
strsql:='select * from view_cgjh where cgjhdh='+''''+trim(dbedit1.Text)+'''';
adoexect(adoquery1,strsql);
end;

procedure Tfrmqtcgjh_lr.RzBitBtn8Click(Sender: TObject);
begin
RzBitBtn1.Enabled:=true;
RzBitBtn2.Enabled:=true;
RzBitBtn3.Enabled:=false;
adoquery4.CancelUpdates;
end;

procedure Tfrmqtcgjh_lr.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if (adoquery4.State in[dsinsert]) or (adoquery4.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 Tfrmqtcgjh_lr.RzBitBtn9Click(Sender: TObject);
begin
close;
end;

procedure Tfrmqtcgjh_lr.TabSheet2Enter(Sender: TObject);
begin
if not adoquery1.Active then exit;
if adoquery1.Recordset.EOF and adoquery1.Recordset.BOF then exit;
edit1.Text:=adoquery1.fieldbyname('jhsl').Value;
edit2.Text:=adoquery1.fieldbyname('xqsl').Value;
dtp1.Date:=adoquery1.fieldbyname('srrq').Value;
edit1.SetFocus;
end;

procedure Tfrmqtcgjh_lr.RzBitBtn12Click(Sender: TObject);
begin
if trim(edit1.Text)='0' then
   begin
       showmessage('计划数量不呢为0');
       exit;
   end;
try
        strsql:='update cgjh_detail set jhsl='+trim(edit1.text)+
        ',srrq='+''''+datetostr(dtp1.Date)+''''+' where cgjhdh='+''''+
         trim(adoquery1.fieldbyname('cgjhdh').AsString)+''''+'and wldm='+
         ''''+trim(adoquery1.fieldbyname('wldm').AsString)+'''';
         adodel(adoquery3,strsql);
         adoquery3.Close;
         adoquery1.Requery();
except
         showmessage('更新数据失败');
end;
RzPageControl1.ActivePageIndex:=0;
end;

procedure Tfrmqtcgjh_lr.RzBitBtn13Click(Sender: TObject);
begin
RzPageControl1.ActivePageIndex:=0;
end;

procedure Tfrmqtcgjh_lr.RzBitBtn7Click(Sender: TObject);
begin
frmcx:=tfrmcx.Create(self);
frmcx.adocx:=adoquery4;
frmcx.ShowModal;
adoquery4:=frmcx.adocx;
ADOquery4.Requery();
end;

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

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

procedure Tfrmqtcgjh_lr.RzBitBtn4Click(Sender: TObject);
begin
if not qxjc(userid,'jhd_shhe') then exit;
try
    strsql:='update cgjh_main set shhe=1'+
    ' where cgjhdh='+''''+trim(dbedit1.Text)+'''';
    adodel(adoquery3,strsql);
except
    showmessage('审核出错!');
    exit;
end;
adoquery3.Close;
end;

procedure Tfrmqtcgjh_lr.DBEdit5Enter(Sender: TObject);
begin
RzMenuToolbarButton2.Visible:=true;
end;

procedure Tfrmqtcgjh_lr.DBEdit5Exit(Sender: TObject);
begin
RzMenuToolbarButton2.Visible:=false;
end;

procedure Tfrmqtcgjh_lr.RzMenuToolbarButton2Click(Sender: TObject);
begin
if (not (adoquery4.State in [dsinsert])) and (not (adoquery4.State in [dsedit])) then
    begin
    showmessage('计划单号当前不处于编辑状态,请选择修改后进行编辑!');
    exit;
    end;
lbname:='';
strhthm:='';
frmgyslb:=tfrmgyslb.create(self);
frmgyslb.ShowModal;
dbedit5.Text:=lbname;
dbedit10.Text:=strhthm;
end;

procedure Tfrmqtcgjh_lr.N1Click(Sender: TObject);
begin
if jcsj then exit;
if not qxjc(userid,'jhd_add') then exit;
title:='';
frmwllb.ShowModal;
if title='' then exit;
try
    strsql:='select * from cgjh_detail where cgjhdh='+''''+trim(dbedit1.Text)+''''+
    'and wldm='+''''+title+'''';
    adoexect(adoquery3,strsql);
    if adoquery3.Recordset.eof and adoquery3.Recordset.BOF then
    begin
         strsql:='insert into cgjh_detail(cgjhdh,wldm,jhsl,xqsl,srrq) values ('+
         ''''+trim(dbedit1.Text)+''''+','+''''+trim(title)+''''+',0,0,'+''''+
         datetostr(date+30)+''''+')';
         adodel(adoquery3,strsql);
         adoquery3.Close;
         adoquery1.Requery;
    end else begin
         showmessage('此物料在该计划单已存在!');
         exit;
    end;
except
    showmessage('添加记录时出错');
end;
title:='';
end;

procedure Tfrmqtcgjh_lr.N2Click(Sender: TObject);
begin
if jcsj then exit;
if not qxjc(userid,'jhd_del')and (username<>trim(dbedit3.Text)) then exit;
try
    strsql:='delete from cgjh_detail where cgjhdh='+''''+
    trim(adoquery1.fieldbyname('cgjhdh').AsString)+''''+
    'and wldm='+''''+trim(adoquery1.fieldbyname('wldm').AsString)+'''';
    adodel(adoquery3,strsql);
    adoquery1.Close;
    adoquery1.Open;
    DBGridEh1.Refresh;
except
    showmessage('删除数据失败!');
end;
end;

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

procedure Tfrmqtcgjh_lr.dtp3Exit(Sender: TObject);
begin
csh;
end;

procedure Tfrmqtcgjh_lr.RzPageControl1Change(Sender: TObject);
begin
if jcsj then
  begin
  RzPageControl1.ActivePageIndex:=0;
  end;
end;

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

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

end.

⌨️ 快捷键说明

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