ddwh.pas
来自「应对服装行业的生产成本控制系统」· PAS 代码 · 共 1,268 行 · 第 1/3 页
PAS
1,268 行
unit ddwh;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ComCtrls, Grids, DBGrids, ExtCtrls, DBCtrls,
DB, ADODB, DBClient;
type
TFrmddwh = class(TForm)
Pz: TPanel;
Label25: TLabel;
Label26: TLabel;
Label28: TLabel;
Label29: TLabel;
Label41: TLabel;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
help: TLabel;
GroupBox4: TGroupBox;
jdrq: TDateTimePicker;
tkhmc: TEdit;
tcpdw: TEdit;
tddh: TEdit;
DBGrid2: TDBGrid;
tcpmc: TEdit;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
tdj: TEdit;
tbz: TEdit;
tsl: TEdit;
DBGrid4: TDBGrid;
Label6: TLabel;
jglx: TDBLookupComboBox;
Label7: TLabel;
Label8: TLabel;
tcpfl: TEdit;
DBGrid1: TDBGrid;
Pd: TPanel;
DBGrid3: TDBGrid;
Label1: TLabel;
jhrq: TDateTimePicker;
Label2: TLabel;
tje: TEdit;
pq: TPanel;
brework: TBitBtn;
bsave: TBitBtn;
bcancel: TBitBtn;
bprint: TBitBtn;
breturn: TBitBtn;
Bdelete: TBitBtn;
Bquery: TBitBtn;
bsh: TBitBtn;
csq: TCheckBox;
cddh: TCheckBox;
qddh: TEdit;
cjglx: TCheckBox;
csz: TCheckBox;
sz: TDateTimePicker;
qjglx: TEdit;
ckhmc: TCheckBox;
qkhmc: TEdit;
ccpmc: TCheckBox;
qcpmc: TEdit;
csl: TCheckBox;
ccpfl: TCheckBox;
qsl: TEdit;
qcpfl: TEdit;
ccpdw: TCheckBox;
cdj: TCheckBox;
qcpdw: TEdit;
qdj: TEdit;
sq: TDateTimePicker;
cwgzt: TCheckBox;
cje: TCheckBox;
qwgzt: TEdit;
qje: TEdit;
Cjq: TCheckBox;
Cjz: TCheckBox;
jz: TDateTimePicker;
jq: TDateTimePicker;
ClientDataSet1: TClientDataSet;
DataSource1: TDataSource;
procedure tdjKeyPress(Sender: TObject; var Key: Char);
procedure tslKeyPress(Sender: TObject; var Key: Char);
procedure tddhKeyPress(Sender: TObject; var Key: Char);
procedure jdrqKeyPress(Sender: TObject; var Key: Char);
procedure tcpmcKeyPress(Sender: TObject; var Key: Char);
procedure tkhmcKeyPress(Sender: TObject; var Key: Char);
procedure tcpdwKeyPress(Sender: TObject; var Key: Char);
procedure tbzKeyPress(Sender: TObject; var Key: Char);
procedure tcpmcChange(Sender: TObject);
procedure tkhmcChange(Sender: TObject);
procedure bcancelClick(Sender: TObject);
procedure bprintClick(Sender: TObject);
procedure breturnClick(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure DBGrid4DblClick(Sender: TObject);
procedure DBGrid1TitleClick(Column: TColumn);
procedure DBGrid2KeyPress(Sender: TObject; var Key: Char);
procedure tslChange(Sender: TObject);
procedure bsaveClick(Sender: TObject);
procedure DBGrid2Exit(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ClientDataSet1NewRecord(DataSet: TDataSet);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure jglxKeyPress(Sender: TObject; var Key: Char);
procedure tcpflKeyPress(Sender: TObject; var Key: Char);
procedure DBGrid3DblClick(Sender: TObject);
procedure jhrqKeyPress(Sender: TObject; var Key: Char);
procedure tjeKeyPress(Sender: TObject; var Key: Char);
procedure tddhExit(Sender: TObject);
procedure BqueryClick(Sender: TObject);
procedure DBGrid1DblClick(Sender: TObject);
procedure BdeleteClick(Sender: TObject);
procedure bshClick(Sender: TObject);
procedure breworkClick(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
private
{ Private declarations }
rzczy,rzsj,rzjsj,rzcsj:string;
errzt: integer;
errcode:boolean;
commandstring,commandstringq,ts: string;
function check():boolean;
function khchange():boolean;
function save():boolean;
function savekc():boolean;
function savekcb():boolean;
function dbexit():boolean;
function errdelete():boolean;
public
{ Public declarations }
end;
var
Frmddwh: TFrmddwh;
implementation
uses unit28, Unit1, Unit16,xtfz, cpml, wjgdw;
{$R *.dfm}
procedure TFrmddwh.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 tje.SetFocus;
end;
procedure TFrmddwh.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 tdj.SetFocus;
end;
procedure TFrmddwh.tddhKeyPress(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 jglx.SetFocus;
end;
procedure TFrmddwh.jdrqKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then jhrq.SetFocus;
end;
procedure TFrmddwh.tcpmcKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then tcpfl.SetFocus;
end;
procedure TFrmddwh.tkhmcKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then tcpmc.SetFocus;
end;
procedure TFrmddwh.tcpdwKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then jdrq.SetFocus;
end;
procedure TFrmddwh.tbzKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then dbgrid2.SetFocus;
end;
function TFrmddwh.check:boolean;
begin
result:=true;
if trim(tddh.Text)='' then
begin
showmessage('请输入一个订单号!');
result:=false;
tddh.SetFocus;
exit;
end;
if trim(jglx.Text)='' then
begin
showmessage('请您选择加工类型,如果没有出现在列表中,请您添加进来!');
result:=false;
jglx.SetFocus;
exit;
end;
if trim(tkhmc.Text)='' then
begin
showmessage('请选择一个客户单位,如果没有出现在列表中,请添加!');
result:=false;
tkhmc.SetFocus;
exit;
end;
if trim(tcpmc.Text)='' then
begin
showmessage('请选择一个产品名称,如果没有出现在列表中,请添加!');
result:=false;
tcpmc.SetFocus;
exit;
end;
if trim(tcpfl.Text)='' then
begin
showmessage('请选择一个产品分类,如果没有出现在列表中,请添加!');
result:=false;
tcpfl.SetFocus;
exit;
end;
if trim(tcpdw.Text)='' then
begin
showmessage('请选择一个产品单位,如果没有出现在列表中,请添加!');
result:=false;
tcpdw.SetFocus;
exit;
end;
if trim(tsl.Text)='' then
begin
showmessage('请输入产品数量!');
result:=false;
tsl.SetFocus;
exit;
end;
end;
function tFrmddwh.khchange:boolean;
var
relation,cx:string;
begin
relation:=' = ''';
cx:='';
commandstring:='select top 10 * from dbo.ddb';
if trim(tkhmc.Text)<>'' then
begin
commandstring:=commandstring+' where (khmc'+relation+cx+trim(tkhmc.Text)+cx+''')'+' order by ddh desc';;
DataModule1.ClientDataSet17.Close;
DataModule1.ClientDataSet17.CommandText:=commandstring;
DataModule1.ClientDataSet17.Open;
end;
end;
procedure TFrmddwh.tcpmcChange(Sender: TObject);
var
relation,cx:string;
begin
relation:=' like ''';
cx:='%';
commandstring:='select * from dbo.cpmlb';
if trim(tcpmc.Text)<>'' then
begin
commandstring:=commandstring+' where (cpmc'+relation+cx+trim(tcpmc.Text)+cx+''')'+' order by xh';;
DataModule1.ClientDataSet13.Close;
DataModule1.ClientDataSet13.CommandText:=commandstring;
DataModule1.ClientDataSet13.Open;
end;
if trim(tcpmc.Text)='' then
begin
help.Caption:=' 请您输入或选择一个产品!';
exit;
end;
end;
procedure TFrmddwh.tkhmcChange(Sender: TObject);
begin
khchange;
end;
function TFrmddwh.save:boolean;
var
relation,cx,dx,sqlstr:string;
begin
try
relation:=' = ''';
cx:='';
dx:= ' ''';
tddh.Text:=trim(tddh.Text);
tkhmc.Text:=trim(tkhmc.text);
tcpmc.Text:=trim(tcpmc.Text);
tcpfl.Text:=trim(tcpfl.Text);
tcpdw.Text:=trim(tcpdw.Text);
tsl.Text:=trim(tsl.Text);
tdj.Text:=trim(tdj.Text);
tje.Text:=trim(tje.Text);
tbz.Text:=trim(tbz.Text);
errcode:=true;
errzt:=1;
if DataModule1.ClientDataSet17.Locate('ddh',tddh.Text,[]) then
begin
DataModule1.ClientDataSet17.DisableControls;
sqlstr:='update dbo.ddb set cpmc'+relation+tcpmc.Text+dx+' ,cpfl'+relation+tcpfl.Text+dx+' ,cpdw'+relation+tcpdw.Text+dx+' ,jglx'+relation+jglx.Text+dx+' ,khmc'+relation+tkhmc.Text+dx+' ,jdrq'+relation+datetimetostr(jdrq.Date)+dx+' ,jhrq'+relation+datetimetostr(jhrq.Date)+dx+' ,sl'+relation+tsl.Text+dx+' ,dj'+relation+tdj.Text+dx+' ,je'+relation+tje.Text+dx+' ,bz'+relation+tbz.Text;
sqlstr:=sqlstr+dx+' ,czy'+relation+form1.StatusBar1.Panels[4].text+dx;
sqlstr:=sqlstr+' where (ddh' +relation+cx+tddh.Text+cx+''')';
DataModule1.ClientDataSet17.CommandText:=sqlstr;
DataModule1.ClientDataSet17.Execute;
DataModule1.ClientDataSet17.Close;
DataModule1.ClientDataSet17.CommandText:=commandstringq;
DataModule1.ClientDataSet17.Open;
DataModule1.ClientDataSet17.EnableControls;
DataModule1.ClientDataSet17.Locate('ddh',tddh.Text,[]);
errcode:=false;
errzt:=0;
end;
except
errcode:=true;
errzt:=1;
DataModule1.ClientDataSet17.EnableControls;
end;
end;
procedure TFrmddwh.bcancelClick(Sender: TObject);
var
i,i1:integer;
begin
brework.Enabled:=false;
bsave.Enabled:=false;
bdelete.Enabled:=false;
bcancel.Enabled:=false;
bprint.Enabled:=false;
bsh.Enabled:=false;
bquery.Enabled:=true;
tddh.Text:='';
tbz.Text:='';
tsl.Text:='0';
tdj.Text:='0';
tje.Text:='0';
dbexit;
dbgrid1.Enabled:=true;
help.Caption:=' 继续修改请重新选择!';
pz.Enabled:=true;
end;
procedure TFrmddwh.bprintClick(Sender: TObject);
begin
help.Caption:=' 暂不提供打印功能!';
end;
procedure TFrmddwh.breturnClick(Sender: TObject);
begin
try
rzcsj:=datetimetostr(now);
form16.WriteTorz(rzczy,rzsj,rzjsj,rzcsj);
DataModule1.ClientDataSet17.IndexFieldNames:='';
if clientdataset1.Active then ClientDataSet1.Active:=false;
if DataModule1.clientdataset17.Active then DataModule1.ClientDataSet17.Active:=false;
if DataModule1.clientdataset18.Active then DataModule1.ClientDataSet18.Active:=false;
if DataModule1.clientdataset13.Active then DataModule1.ClientDataSet13.Active:=false;
if DataModule1.clientdataset16.Active then DataModule1.ClientDataSet16.Active:=false;
if DataModule1.clientdataset7.Active then DataModule1.ClientDataSet7.Active:=false;
except
clientdataset1.EnableControls;
showmessage('数据库没有打开!');
end;
close;
end;
procedure TFrmddwh.SpeedButton3Click(Sender: TObject);
begin
if trim(tcpmc.Text)<>'' then
begin
form1.cpmc:='';
frmcpml.showmodal;
tcpmc.Text:=form1.cpmc;
form1.cpmc:='';
end;
end;
procedure TFrmddwh.DBGrid4DblClick(Sender: TObject);
begin
if DataModule1.ClientDataSet13.Active then exit;
if DataModule1.ClientDataSet13.RecordCount>0 then
begin
tcpmc.Text:=DataModule1.ClientDataSet13.FieldByName('cpmc').AsString;
tcpfl.Text:=DataModule1.ClientDataSet13.FieldByName('cpfl').AsString;
tcpdw.text:=DataModule1.ClientDataSet13.FieldByName('cpdw').AsString;
jdrq.SetFocus;
end;
end;
procedure TFrmddwh.DBGrid1TitleClick(Column: TColumn);
var i : integer;
begin
for i:= 1 to DBGrid1.Columns.Count do
begin
//恢复所有标题字体为默认
DBGrid1.Columns[i-1].Title.Font.Color := clBlue;
DBGrid1.Columns[i-1].Title.Font.Style := [];
end;
if DataModule1.ClientDataSet17.IndexFieldNames<>(Column.FieldName) then //判断原排序方式
begin
DataModule1.ClientDataSet17.IndexFieldNames:= Column.FieldName;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?