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

📄 ushd_lr.pas

📁 工廠倉庫管理系統
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit ushd_lr;

interface

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

type
  Tfrmshd_lr = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    RzBitBtn1: TRzBitBtn;
    RzBitBtn2: TRzBitBtn;
    RzBitBtn3: TRzBitBtn;
    RzBitBtn4: TRzBitBtn;
    RzBitBtn5: TRzBitBtn;
    RzBitBtn6: TRzBitBtn;
    RzBitBtn7: TRzBitBtn;
    dtp1: TRzDateTimePicker;
    dtp2: TRzDateTimePicker;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    DBEdit6: TDBEdit;
    DBEdit7: TDBEdit;
    DBMemo1: TDBMemo;
    Label10: TLabel;
    DBEdit8: TDBEdit;
    ADOQuery1: TADOQuery;
    ADOQuery2: TADOQuery;
    ADOQuery3: TADOQuery;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    RzPageControl1: TRzPageControl;
    TabSheet1: TRzTabSheet;
    TabSheet2: TRzTabSheet;
    DBGridEh1: TDBGridEh;
    RzToolbarButton2: TRzToolbarButton;
    DataSource1: TDataSource;
    DataSource2: TDataSource;
    RzBitBtn8: TRzBitBtn;
    DBNavigator1: TDBNavigator;
    Label11: TLabel;
    GroupBox1: TGroupBox;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    DBEdit9: TDBEdit;
    DBEdit10: TDBEdit;
    DBEdit11: TDBEdit;
    DBEdit12: TDBEdit;
    Edit1: TEdit;
    RzBitBtn9: TRzBitBtn;
    RzBitBtn10: TRzBitBtn;
    ADOQuery4: TADOQuery;
    Label18: TLabel;
    Edit2: TEdit;
    N2: TMenuItem;
    frReport1: TfrReport;
    frDBDataSet1: TfrDBDataSet;
    frDBDataSet2: TfrDBDataSet;
    ADOQuery5: TADOQuery;
    Label19: TLabel;
    DBComboBox1: TDBComboBox;
    Edit3: TEdit;
    DBEdit3: TDBEdit;
    RzToolbarButton1: TRzToolbarButton;
    DBEdit13: TDBEdit;
    DBEdit14: TDBEdit;
    Label20: TLabel;
    RzToolbarButton3: TRzToolbarButton;
    Label21: TLabel;
    DBEdit15: TDBEdit;
    dtprq: TRzDBDateTimePicker;
    DBEdit16: TDBEdit;
    DBEdit17: TDBEdit;
    Label23: TLabel;
    DBEdit18: TDBEdit;
    Label24: TLabel;
    DBEdit19: TDBEdit;
    Label22: TLabel;
    DBEdit20: TDBEdit;
    Label25: TLabel;
    DBEdit21: TDBEdit;
    procedure RzBitBtn1Click(Sender: TObject);
    procedure RzBitBtn2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure csh();
    procedure DBEdit1Change(Sender: TObject);
    procedure RzToolbarButton1Click(Sender: TObject);
    procedure dtp1Exit(Sender: TObject);
    procedure dtp2Exit(Sender: TObject);
    procedure RzBitBtn3Click(Sender: TObject);
    procedure RzBitBtn8Click(Sender: TObject);
    procedure TabSheet2Enter(Sender: TObject);
    procedure RzBitBtn9Click(Sender: TObject);
    procedure RzBitBtn10Click(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure RzToolbarButton2Click(Sender: TObject);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
    procedure DBGridEh1DblClick(Sender: TObject);
    procedure RzBitBtn7Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure RzBitBtn4Click(Sender: TObject);
    procedure RzBitBtn5Click(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure RzBitBtn6Click(Sender: TObject);
    function jcsj():boolean;
    function jcsfsc():boolean;
    function checksffp(lb:string):boolean;
    procedure DBComboBox1Change(Sender: TObject);
    procedure RzToolbarButton3Click(Sender: TObject);
    procedure DBGridEh1TitleClick(Column: TColumnEh);
    procedure DBGridEh1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumnEh; State: TGridDrawState);
    procedure RzPageControl1Change(Sender: TObject);
    procedure isactive;
  private
    { Private declarations }
    cgdd:string;
    isedit:boolean;
  public
    { Public declarations }
  end;

var
  frmshd_lr: Tfrmshd_lr;

implementation

uses uconst,ufunction,udm1,ucx,uddhm_lb,ugyslb,uddwl,uemplyer_lb;
{$R *.dfm}
procedure tfrmshd_lr.isactive();
begin
  if isedit then
  begin
      dbedit2.ReadOnly:=false;
      dbedit3.ReadOnly:=false;
      dbedit4.ReadOnly:=false;
      dbedit7.ReadOnly:=false;
      dbedit5.ReadOnly:=false;
      dbedit6.ReadOnly:=false;
      dbedit14.ReadOnly:=false;
      dtprq.ReadOnly:=false;
      dbcombobox1.ReadOnly:=false;
      dbmemo1.ReadOnly:=false;
      dbedit13.ReadOnly:=false;
  end else begin
      dbedit2.ReadOnly:=true;
      dbedit3.ReadOnly:=true;
      dbedit4.ReadOnly:=true;
      dbedit7.ReadOnly:=true;
      dbedit5.ReadOnly:=true;
      dbedit6.ReadOnly:=true;
      dbedit14.ReadOnly:=true;
      dtprq.ReadOnly:=true;
      dbcombobox1.ReadOnly:=true;
      dbmemo1.ReadOnly:=true;
      dbedit13.ReadOnly:=true;
  end;

end;
function tfrmshd_lr.jcsfsc():boolean;
begin
strsql:='select cgdd_main.ddhm from cgdd_main,cgwl_mail where '+
'cgdd_main.xqdh=cgwl_mail.cgxqdh and '+
'cgwl_mail.xqwcjs=1 and cgdd_main.ddhm='+''''+trim(dbedit3.Text)+'''';
adoexect(adoquery3,strsql);
if not(adoquery3.Eof and adoquery3.Bof) then
   begin
       result:=true;
       showmessage('该订单所在的需求单已经完成结算,不能进行更改!');
   end else begin
       result:=false;
   end;
end;
function tfrmshd_lr.checksffp(lb:string):boolean;
var
 num:longint;
begin
strsql:='select * from cgwl,cgdd_main where cgwl.cgxqdh=cgdd_main.xqdh and'+
        ' cgdd_main.ddhm='+''''+trim(dbedit3.Text)+''''+' and wldm='+''''+
        trim(adoquery1.fieldbyname('物料代码').asstring)+'''';
adoexect(adoquery3,strsql);
num:=adoquery3.FieldByName('ykcl').Value+adoquery3.FieldByName('yssl').Value-adoquery3.FieldByName('yfpsl').Value;
if trim(lb)='edit' then
   num:=num-adoquery1.FieldByName('实收数量').Value+strtofloat(edit1.Text)
   else
   num:=num-adoquery1.FieldByName('实收数量').Value;
if num<0 then
   begin
        showmessage('该物料已经分配,不能操作');
        result:=true;
   end else begin
        result:=false;
   end;
end;
function tfrmshd_lr.jcsj():boolean;
begin
strsql:='select * from thgl_main where shdh='+''''+trim(dbedit1.Text)+'''';
adoexect(adoquery3,strsql);
if not(adoquery3.Recordset.eof and adoquery3.Recordset.bof) then
   begin
   showmessage('对不起!该收货单已有退货,不能更改');
   result:=true;
   end else
   result:=false;
end;
procedure tfrmshd_lr.csh();
begin
if adoquery2.Active then adoquery1.Close;
adoquery2.SQL.Clear;
strsql:='select shdh as 收货单号,yshdh as 送货单号,gysdm as 供应商代码,gysmc as 供应商名称,bf as 币符,'+
'ddhm as 订单号码,shhe as 质检,bb as 币种,shr as 送货人,djr as 收货人,srrq as 日期,quantity as 数量,'+
'bz as 备注,shrq as 收货日期,shlb as 收货类别,bgwl as 报关物类,weight as 重量,zldw as 单位 from shd_main where'+
' srrq>=:rq1 and srrq<=:rq2 and shlb<>:shlb order by shdh asc';
adoquery2.SQL.add(strsql);
adoquery2.Parameters.ParamByName('rq1').Value:=dtp1.Date;
adoquery2.Parameters.ParamByName('rq2').Value:=dtp2.Date;
adoquery2.Parameters.ParamByName('shlb').Value:='其它收货';
adoquery2.Open;

end;
procedure Tfrmshd_lr.RzBitBtn1Click(Sender: TObject);
begin
if not qxjc(userid,'shd_add') then exit;
adoquery2.Append;
isedit:=true;
isactive;
RzBitBtn1.Enabled:=false;
RzBitBtn2.Enabled:=false;
RzBitBtn3.Enabled:=true;
dbedit4.Text:=username;
dbedit17.Text:='正常发料';
dbedit8.Text:=datetostr(date);
dbedit16.Text:=datetostr(date);
dtprq.Date:=date;
DBEdit2.ReadOnly:=false;
DBEdit3.ReadOnly:=false;
DBEdit5.ReadOnly:=false;
DBEdit6.ReadOnly:=false;
DBEdit7.ReadOnly:=false;
dbmemo1.ReadOnly:=false;
end;

procedure Tfrmshd_lr.RzBitBtn2Click(Sender: TObject);
begin
if jcsfsc then exit;
if adoquery2.Recordset.EOF and adoquery2.Recordset.BOF then exit;
if not qxjc(userid,'shd_edit') and (username<>trim(dbedit4.Text)) then exit;
if jcsj then exit;
adoquery2.Edit;
isedit:=true;
isactive;
cgdd:=trim(dbedit3.Text);
RzBitBtn1.Enabled:=false;
RzBitBtn2.Enabled:=false;
RzBitBtn3.Enabled:=true;
DBEdit2.ReadOnly:=false;
DBEdit3.ReadOnly:=false;
DBEdit5.ReadOnly:=false;
DBEdit6.ReadOnly:=false;
DBEdit7.ReadOnly:=false;
dbmemo1.ReadOnly:=false;
dbedit4.Text:=username;
dbedit8.Text:=datetostr(date);
end;

procedure Tfrmshd_lr.FormCreate(Sender: TObject);
begin
dtp1.Date:=date-30;
dtp2.Date:=date;
adoquery1.Connection:=dm1.ADOConnection1;
adoquery2.Connection:=dm1.ADOConnection1;
adoquery3.Connection:=dm1.ADOConnection1;
adoquery4.Connection:=dm1.ADOConnection1;
adoquery5.Connection:=dm1.ADOConnection1;
strsql:='select * from bb_class order by classname asc';
adoexect(adoquery3,strsql);
if not(adoquery3.Recordset.eof and adoquery3.Recordset.EOF) then
   begin
   dbcombobox1.Clear;
   adoquery3.First;
   while not adoquery3.Eof do
         begin
         dbcombobox1.Items.Add(trim(adoquery3.fieldbyname('classname').AsString));
         adoquery3.Next;
         end;
   end;
adoquery3.Close;
csh;
end;

procedure Tfrmshd_lr.DBEdit1Change(Sender: TObject);
begin
if not adoquery2.Active then exit;
strsql:='select * from view_shd where 收货单号='+''''+trim(dbedit1.Text)+'''';
adoexect(adoquery1,strsql);

end;

procedure Tfrmshd_lr.RzToolbarButton1Click(Sender: TObject);
begin
if (not((adoquery2.State in[dsedit])) and (not(adoquery2.State in[dsinsert]))) then exit;
strhthm:='';
gysdm:='';
gysmc:='';
frmddhm_lb:=tfrmddhm_lb.create(self);
frmddhm_lb.showmodal;
dbedit3.Text:=strhthm;
dbedit5.Text:=gysdm;
dbedit6.Text:=gysmc;
end;

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

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

procedure Tfrmshd_lr.RzBitBtn3Click(Sender: TObject);
var
qz:string;
begin

if trim(dbedit3.Text)='' then
   begin
   showmessage('没有选择订单,无法继续');
   dbedit3.SetFocus;
   exit;
   end;
if trim(dbedit5.Text)='' then
   begin
   showmessage('没有选择供应商,无法继续');

⌨️ 快捷键说明

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