📄 cllrwh.pas
字号:
unit cllrwh;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ComCtrls, Grids, DBGrids, ExtCtrls, DBCtrls,
DB, ADODB, DBClient;
type
TFrmcllrwh = class(TForm)
Pz: TPanel;
Label25: TLabel;
Label26: TLabel;
Label28: TLabel;
Label29: TLabel;
Label41: TLabel;
SpeedButton3: TSpeedButton;
help: TLabel;
tfb: TEdit;
tys: TEdit;
tgh: TEdit;
tfz: TEdit;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
tsl: TEdit;
tbz: TEdit;
tdj: TEdit;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
tyg: TEdit;
Pd: TPanel;
Label1: TLabel;
rq: TDateTimePicker;
Label2: TLabel;
tcz: TEdit;
pq: TPanel;
tgxmc: TEdit;
GroupBox1: TGroupBox;
DBGrid5: TDBGrid;
txs: TEdit;
Label9: TLabel;
tbh: TEdit;
Label10: TLabel;
tcm: TEdit;
DBGrid2: TDBGrid;
DBGrid3: TDBGrid;
DBGrid6: TDBGrid;
brework: TBitBtn;
bsave: TBitBtn;
bcancel: TBitBtn;
bprint: TBitBtn;
breturn: TBitBtn;
Bdelete: TBitBtn;
Bquery: TBitBtn;
bsh: TBitBtn;
Ccm: TCheckBox;
cqq: TCheckBox;
cddh: TCheckBox;
qddh: TEdit;
cclh: TCheckBox;
czq: TCheckBox;
zq: TDateTimePicker;
qclh: TEdit;
cgh: TCheckBox;
qgh: TEdit;
cfb: TCheckBox;
qfb: TEdit;
csl: TCheckBox;
cfz: TCheckBox;
qsl: TEdit;
qfz: TEdit;
cyg: TCheckBox;
cgxmc: TCheckBox;
qyg: TEdit;
qgxmc: TEdit;
qq: TDateTimePicker;
cbh: TCheckBox;
cdj: TCheckBox;
qbh: TEdit;
qdj: TEdit;
Ccz: TCheckBox;
qcz: TEdit;
Cbz: TCheckBox;
qbz: TEdit;
Cczy: TCheckBox;
qczy: TEdit;
Cys: TCheckBox;
qys: TEdit;
qcm: TEdit;
Cxs: TCheckBox;
qxs: TEdit;
procedure tslKeyPress(Sender: TObject; var Key: Char);
procedure tdjKeyPress(Sender: TObject; var Key: Char);
procedure tghKeyPress(Sender: TObject; var Key: Char);
procedure tfzKeyPress(Sender: TObject; var Key: Char);
procedure tfbKeyPress(Sender: TObject; var Key: Char);
procedure tysKeyPress(Sender: TObject; var Key: Char);
procedure tbzKeyPress(Sender: TObject; var Key: Char);
procedure bcancelClick(Sender: TObject);
procedure bprintClick(Sender: TObject);
procedure breturnClick(Sender: TObject);
procedure bsaveClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure tygKeyPress(Sender: TObject; var Key: Char);
procedure rqKeyPress(Sender: TObject; var Key: Char);
procedure tczKeyPress(Sender: TObject; var Key: Char);
procedure BqueryClick(Sender: TObject);
procedure tbhKeyPress(Sender: TObject; var Key: Char);
procedure tcmKeyPress(Sender: TObject; var Key: Char);
procedure txsKeyPress(Sender: TObject; var Key: Char);
procedure DBGrid5TitleClick(Column: TColumn);
procedure DBGrid5DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure breworkClick(Sender: TObject);
procedure BdeleteClick(Sender: TObject);
procedure bshClick(Sender: TObject);
procedure DBGrid2DblClick(Sender: TObject);
procedure DBGrid3DblClick(Sender: TObject);
procedure DBGrid6DblClick(Sender: TObject);
procedure tygChange(Sender: TObject);
procedure tgxmcChange(Sender: TObject);
procedure tbhChange(Sender: TObject);
procedure DBGrid5DblClick(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure tgxmcKeyPress(Sender: TObject; var Key: Char);
procedure txsChange(Sender: TObject);
private
{ Private declarations }
rzczy,rzsj,rzjsj,rzcsj,clh:string;
errzt: integer;
errcode:boolean;
commandstring,commandstringq: string;
function check():boolean;
function khchange():boolean;
function save():boolean;
function errdelete():boolean;
public
{ Public declarations }
end;
var
Frmcllrwh: TFrmcllrwh;
implementation
uses unit28, Unit1, Unit16, xtfz, gx, yg;
{$R *.dfm}
procedure TFrmcllrwh.tslKeyPress(Sender: TObject; var Key: Char);
begin
if not (key in['0'..'9',#8,#13,'.']) then
begin
key:=#0;
help.caption:=' 请输入数字!';
end;
if key=#13 then tcz.SetFocus;
end;
procedure TFrmcllrwh.tdjKeyPress(Sender: TObject; var Key: Char);
begin
if not (key in['0'..'9',#8,#13,'.','-']) then
begin
key:=#0;
help.caption:=' 请输入数字!';
end;
if key=#13 then tsl.SetFocus;
end;
procedure TFrmcllrwh.tghKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then tfb.SetFocus;
end;
procedure TFrmcllrwh.tfzKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then tyg.SetFocus;
end;
procedure TFrmcllrwh.tfbKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then tfz.SetFocus;
end;
procedure TFrmcllrwh.tysKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then tcm.SetFocus;
end;
procedure TFrmcllrwh.tbzKeyPress(Sender: TObject; var Key: Char);
begin
if not bsave.Enabled then exit;
if key=#13 then bsave.SetFocus;
end;
function TFrmcllrwh.check:boolean;
begin
result:=true;
if trim(tgh.Text)='' then
begin
showmessage('请您输入工号!');
result:=false;
tgh.SetFocus;
exit;
end;
if trim(tfb.Text)='' then
begin
showmessage('请您输入分部!');
result:=false;
tfb.SetFocus;
exit;
end;
if trim(tfz.Text)='' then
begin
showmessage('请您输入分组!');
result:=false;
tfz.SetFocus;
exit;
end;
if trim(tyg.Text)='' then
begin
showmessage('请您输入员工!');
result:=false;
tyg.SetFocus;
exit;
end;
if trim(tgxmc.Text)='' then
begin
showmessage('请您输入工序!');
result:=false;
tgxmc.SetFocus;
exit;
end;
if trim(txs.Text)='' then
begin
showmessage('请您输入系数!');
result:=false;
txs.SetFocus;
exit;
end;
if trim(tsl.Text)='' then
begin
showmessage('请您输入数量!');
result:=false;
tsl.SetFocus;
exit;
end;
if trim(tcz.Text)='' then
begin
showmessage('请您输入产值!');
result:=false;
tcz.SetFocus;
exit;
end;
end;
function tFrmcllrwh.khchange:boolean;
var
relation,cx:string;
begin
relation:=' = ''';
cx:='';
commandstring:='select top 10 * from dbo.cllrb';
if trim(tyg.Text)<>'' then
begin
commandstring:=commandstring+' where (yg'+relation+cx+trim(tyg.Text)+cx+''')'+' order by clh desc';;
DataModule1.ClientDataSet25.Close;
DataModule1.ClientDataSet25.CommandText:=commandstring;
DataModule1.ClientDataSet25.Open;
end;
end;
function TFrmcllrwh.save:boolean;
var
relation,cx,dx,clh,sqlstr:string;
begin
relation:=' = ''';
cx:='';
dx:= ' ''';
tgh.Text:=trim(tgh.Text);
tfb.Text:=trim(tfb.text);
tfz.Text:=trim(tfz.Text);
tyg.Text:=trim(tyg.Text);
tbh.Text:=trim(tbh.Text);
tys.Text:=trim(tys.Text);
tcm.Text:=trim(tcm.text);
tgxmc.Text:=trim(tgxmc.Text);
txs.Text:=trim(txs.Text);
tdj.Text:=trim(tdj.Text);
tsl.Text:=trim(tsl.Text);
tcz.Text:=trim(tcz.Text);
tbz.Text:=trim(tbz.Text);
errcode:=true;
errzt:=1;
sqlstr:='update dbo.cllrb set rq'+relation+datetimetostr(rq.Date)+dx+' ,gh'+relation+tgh.Text+dx+' ,fb'+relation+tfb.text+dx+' ,fz'+relation+tfz.Text+dx+' ,yg'+relation+tyg.Text+dx+' ,bh'+relation+tbh.Text+dx+' ,ys'+relation+tys.Text;
sqlstr:=sqlstr+dx+' ,cm'+relation+tcm.Text+dx+' ,sl'+relation+tsl.Text+dx+' ,gxmc'+relation+tgxmc.Text+dx+' ,dj'+relation+tdj.text+dx+' ,xs'+relation+txs.Text+dx+' ,cz'+relation+tcz.Text+dx+' ,bz'+relation+tbz.Text+dx+' ,czy'+relation+form1.StatusBar1.Panels[4].text+dx;
sqlstr:=sqlstr+' where (clh' +relation+cx+DataModule1.ClientDataSet25.fieldbyname('clh').AsString+cx+''')';
clh:=DataModule1.ClientDataSet25.fieldbyname('clh').AsString;
try
DataModule1.ClientDataSet25.DisableControls;
DataModule1.ClientDataSet25.CommandText:=sqlstr;
DataModule1.ClientDataSet25.Execute;
DataModule1.ClientDataSet25.Close;
DataModule1.ClientDataSet25.CommandText:=commandstringq;
DataModule1.ClientDataSet25.Open;
DataModule1.ClientDataSet25.EnableControls;
DataModule1.ClientDataSet25.Locate('clh',clh,[]);
errcode:=false;
errzt:=0;
except
errcode:=true;
errzt:=1;
showmessage('数据库没有打开!');
end;
end;
procedure TFrmcllrwh.bcancelClick(Sender: TObject);
begin
brework.Enabled:=false;
bsave.Enabled:=false;
bdelete.Enabled:=false;
bsh.Enabled:=false;
bcancel.Enabled:=false;
bprint.Enabled:=false;
bquery.Enabled:=true;
dbgrid5.Enabled:=true;
tgh.Text:='';
tfb.Text:='';
tfz.Text:='';
tyg.Text:='';
tbh.Text:='';
tys.Text:='';
tcm.Text:='';
tgxmc.Text:='';
txs.Text:='';
tdj.Text:='';
tsl.Text:='';
tcz.Text:='';
tbz.Text:='';
help.Caption:=' 继续修改请您重新选择!';
end;
procedure TFrmcllrwh.bprintClick(Sender: TObject);
begin
help.Caption:=' 暂不提供打印功能!';
end;
procedure TFrmcllrwh.breturnClick(Sender: TObject);
begin
try
rzcsj:=datetimetostr(now);
form16.WriteTorz(rzczy,rzsj,rzjsj,rzcsj);
DataModule1.ClientDataSet25.IndexFieldNames:='';
if DataModule1.clientdataset25.Active then DataModule1.ClientDataSet25.Active:=false;
if DataModule1.ClientDataSet3.Active then DataModule1.ClientDataSet3.Active:=false;
if DataModule1.clientdataset23.Active then DataModule1.ClientDataSet23.Active:=false;
if DataModule1.ClientDataSet24.Active then DataModule1.ClientDataSet24.Active:=false;
except
showmessage('数据库没有打开!');
end;
close;
end;
procedure TFrmcllrwh.bsaveClick(Sender: TObject);
var
datestr:string;
begin
if not bsave.Enabled then exit;
bsave.Enabled:=false;
bcancel.Enabled:=false;
errcode:=true;
errzt:=1;
if not check then
begin
bsave.Enabled:=true;
bcancel.Enabled:=true;
exit;
end;
datestr:=frmxtfz.checkfzrq(formatdatetime('yyyy-mm-dd',rq.date));
if datestr<>'' then
begin
help.Caption:=' 封账日期为'+datestr+'您不能修改封账日期前的数据';
exit;
end;
form1.ddh:=DataModule1.ClientDataSet25.fieldbyname('ddh').AsString;
form1.gxmc:=trim(tgxmc.Text);
form1.dj:=trim(tdj.Text);
frmgx.checkgx(form1.ddh,form1.gxmc,form1.dj);
if form1.gxmc='' then
begin
bsave.Enabled:=true;
bcancel.Enabled:=true;
tgxmc.SetFocus;
help.Caption:=' 该工序不存在,请您输入正确的工序!';
exit;
end;
form1.ddh:='';
form1.gxmc:='';
form1.dj:='';
form1.yg:=trim(tyg.Text);
form1.gh:=trim(tgh.Text);
form1.fb:=trim(tfb.Text);
form1.fz:=trim(tfz.Text);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -