ucgjh_lr.pas

来自「工廠採購管理系統」· PAS 代码 · 共 536 行 · 第 1/2 页

PAS
536
字号
unit ucgjh_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
  Tfrmcgjh_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;
    ADOQuery2DSDesigner: TStringField;
    ADOQuery2DSDesigner2: TStringField;
    ADOQuery2DSDesigner3: TBooleanField;
    ADOQuery2DSDesigner4: TStringField;
    ADOQuery2DSDesigner5: TStringField;
    ADOQuery2DSDesigner6: TDateTimeField;
    ADOQuery2DSDesigner7: TStringField;
    ADOQuery2DSDesigner8: TMemoField;
    ADOQuery1cgjhdh: TStringField;
    ADOQuery1wldm: TStringField;
    ADOQuery1jhsl: TBCDField;
    ADOQuery1xqsl: TBCDField;
    ADOQuery1srrq: TDateTimeField;
    ADOQuery1wlmc: TStringField;
    ADOQuery1wlys: TStringField;
    ADOQuery1wlsh: TStringField;
    ADOQuery1cgdw: TStringField;
    ADOQuery1gysdm: TStringField;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    dtp2: TRzDateTimePicker;
    dtp3: TRzDateTimePicker;
    Label15: TLabel;
    edit2: TEdit;
    RzMenuToolbarButton1: TRzToolbarButton;
    RzMenuToolbarButton2: TRzToolbarButton;
    n2: TMenuItem;
    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 DBEdit2Enter(Sender: TObject);
    procedure DBEdit2Exit(Sender: TObject);
    procedure RzMenuToolbarButton1Click(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 DBEdit5Exit(Sender: TObject);
    procedure DBEdit5Enter(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
  frmcgjh_lr: Tfrmcgjh_lr;

implementation
uses uconst,ufunction,udm1,uxqdh_lb,uxqdh_wllb,ucx,ugyslb,unit3;
{$R *.dfm}
procedure tfrmcgjh_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 tfrmcgjh_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 Tfrmcgjh_lr.FormCreate(Sender: TObject);
begin
adoquery1.Connection:=dm1.ADOConnection1;
adoquery2.Connection:=dm1.ADOConnection1;
adoquery4.Connection:=dm1.ADOConnection1;
dtp2.Date:=date-30;
dtp3.date:=date;
csh;
end;

procedure Tfrmcgjh_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);
end;

procedure Tfrmcgjh_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;
strsql:='select * from wlbj where cgjhdh='+''''+trim(dbedit1.Text)+'''';
adoexect(adoquery3,strsql);
if not(adoquery3.Recordset.EOF and adoquery3.Recordset.bof) then
   begin
   showmessage('此计划单号已经被采用,不能编辑');
   exit;
   end;
adoquery3.Close;
RzBitBtn1.Enabled:=false;
RzBitBtn2.Enabled:=false;
RzBitBtn3.Enabled:=true;
adoquery4.edit;
dbedit3.Text:=username;
dbedit4.Text:=datetostr(date);
end;

procedure Tfrmcgjh_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 Tfrmcgjh_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;
strsql:='select * from wlbj where cgjhdh='+''''+trim(dbedit1.Text)+'''';
adoexect(adoquery3,strsql);
if not(adoquery3.Recordset.EOF and adoquery3.Recordset.bof) then
   begin
   showmessage('此计划单号已经被采用,不能删除');
   exit;
   end;
adoquery3.Close;
if messagebox(handle,'是否真的要删除该计划单?','警告',mb_yesno+mb_iconquestion)=idyes then
   begin
       strsql:='alter table cgjh_detail disable trigger tri_cgjh_delete';
       adodel(adoquery3,strsql);                            //关闭delete触发器
       strsql:='update cgwl set cgwl.jhsl=cgwl.jhsl-cgjh_detail.jhsl*wldmk.cgbl from '+
       'wldmk,cgjh_detail,cgjh_main where cgjh_detail.cgjhdh=cgjh_main.cgjhdh and '+
       'cgjh_main.cgxqdh=cgwl.cgxqdh and cgwl.wldm=cgjh_detail.wldm and cgjh_detail.wldm'+
       '=wldmk.wldm and cgjh_main.cgjhdh='+''''+trim(dbedit1.Text)+'''';
       adodel(adoquery3,strsql);                            //更新需求单的计划数量
       strsql:='delete from cgjh_detail where cgjhdh='+''''+trim(dbedit1.Text)+'''';
       adodel(adoquery3,strsql);                           //删除计划单
       strsql:='alter table cgjh_detail enable trigger tri_cgjh_delete';
       adodel(adoquery3,strsql);                            //重新打开delete触发器
       adoquery4.Delete;
       adoquery1.Close;
       adoquery1.Open;
   end;

⌨️ 快捷键说明

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