📄 jxz_unit.pas
字号:
unit JXZ_Unit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBGridEh, DB, ADODB, ImgList, Menus, Grids, StdCtrls, DBCtrls,
DBCtrlsEh, DBLookupEh, Mask, Buttons, ToolWin, ComCtrls,
TFlatSpeedButtonUnit, ExtCtrls;
type
TJXZ_Form = class(TForm)
Shape1: TShape;
Shape2: TShape;
Label1: TLabel;
Shape3: TShape;
Shape4: TShape;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label9: TLabel;
FlatSpeedButton1: TFlatSpeedButton;
FlatSpeedButton2: TFlatSpeedButton;
FlatSpeedButton3: TFlatSpeedButton;
FlatSpeedButton4: TFlatSpeedButton;
Label10: TLabel;
Label8: TLabel;
Label11: TLabel;
CoolBar1: TCoolBar;
ScrollBox1: TScrollBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
BitBtn10: TBitBtn;
BitBtn11: TBitBtn;
DBEditEh1: TDBEditEh;
DBLookupComboboxEh1: TDBLookupComboboxEh;
DBDateTimeEditEh1: TDBDateTimeEditEh;
DBMemo1: TDBMemo;
DBEditEh2: TDBEditEh;
DBGridEh1: TDBGridEh;
DBLookupComboboxEh2: TDBLookupComboboxEh;
DBLookupComboboxEh3: TDBLookupComboboxEh;
DBLookupComboboxEh4: TDBLookupComboboxEh;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
DBIL: TImageList;
JSZADOQ: TADOQuery;
BitBtn6: TBitBtn;
BitBtn7: TBitBtn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BitBtn10Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure BitBtn11Click(Sender: TObject);
procedure FlatSpeedButton1Click(Sender: TObject);
procedure FlatSpeedButton2Click(Sender: TObject);
procedure FlatSpeedButton3Click(Sender: TObject);
procedure FlatSpeedButton4Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
function BS(M:integer):integer;
procedure ITEMADD;
{ Public declarations }
end;
var
JXZ_Form: TJXZ_Form;
implementation
uses DMUnit, JXZITEMADDUnit, RPTUnit, U_CheckRights;
{$R *.dfm}
procedure TJXZ_Form.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=cafree;
end;
procedure TJXZ_Form.FormDestroy(Sender: TObject);
begin
JXZ_Form:=nil;
end;
procedure TJXZ_Form.FormCreate(Sender: TObject);
begin
with DM.LCBASE_ADOQ do
begin
Close;
Open;
end;
with DM.LCITEM_ADOQ do
begin
Close;
Open;
end;
with DM.CLASS_ADOQ do
begin
Close;
Open;
end;
with DM.JXZM_ADOQ do
begin
Close;
Open;
end;
with DM.JXZP_ADOT do
begin
Close;
Open;
end;
end;
function TJXZ_Form.BS(M: integer): integer;
begin
if M=0 then
begin
DBLookupComboboxEh1.Enabled:=True;
DBLookupComboboxEh2.Enabled:=True;
DBLookupComboboxEh3.Enabled:=True;
DBLookupComboboxEh4.Enabled:=True;
DBDateTimeEditEh1.Enabled:=True;
DBMemo1.Enabled:=True;
end;
if M=1 then
begin
DBLookupComboboxEh1.Enabled:=false;
DBLookupComboboxEh2.Enabled:=false;
DBLookupComboboxEh3.Enabled:=false;
DBLookupComboboxEh4.Enabled:=false;
DBDateTimeEditEh1.Enabled:=false;
DBMemo1.Enabled:=false;
end;
end;
procedure TJXZ_Form.BitBtn10Click(Sender: TObject);
begin
Close;
end;
procedure TJXZ_Form.BitBtn1Click(Sender: TObject);
begin
if DM.JXZM_ADOQ.State in [DSBROWSE] Then
DM.JXZM_ADOQ.Append;
BS(0);
end;
procedure TJXZ_Form.BitBtn2Click(Sender: TObject);
begin
if DM.JXZM_ADOQ.RecordCount<=0 then Exit;
if DM.JXZM_ADOQ.FieldByName('JXZ_BS').AsString='审核' then Exit;
if DM.JXZM_ADOQ.State in [DSBROWSE] then
DM.JXZM_ADOQ.Edit;
BS(0);
end;
procedure TJXZ_Form.BitBtn3Click(Sender: TObject);
var
CGDNO:string;
begin
CGDNO:=DBEditEh1.Text;
if DM.JXZM_ADOQ.RecordCount<=0 then Exit;
if DM.JXZM_ADOQ.FieldByName('JXZ_BS').AsString='审核' then Exit;
if Application.MessageBox('是否确认删除该交下组单数据,如果删除,该单所有明细数据也将删除?', '提示',
MB_ICONQUESTION + MB_YESNO + MB_DEFBUTTON2) = IDYES then
with JSZADOQ do
begin
Close;
SQL.Clear;
SQL.Add('DELETE JXZ_P WHERE JXZ_NO='''+CGDNO+'''');
EXECSQL;
end;
DM.JXZM_ADOQ.Delete;//删除明细数据
end;
procedure TJXZ_Form.BitBtn4Click(Sender: TObject);
begin
if not (DM.JXZM_ADOQ.State in [DSINSERT,DSEDIT]) then Exit;
if ((Trim(DBLookupComboboxEh1.Text))='') or ((Trim(DBLookupComboboxEh2.Text))='') or
((Trim(DBLookupComboboxEh3.Text))='') or ((Trim(DBLookupComboboxEh4.Text))='') then Exit;
if DM.JXZM_ADOQ.State in [DSINSERT,DSEDIT] then
DM.JXZM_ADOQ.FieldByName('JXZ_BS').AsString:='未审核';
DM.JXZM_ADOQ.Post;
BS(1);
end;
procedure TJXZ_Form.BitBtn5Click(Sender: TObject);
begin
DM.JXZM_ADOQ.Cancel;
BS(1);
end;
procedure TJXZ_Form.ITEMADD;
begin
if Application.FindComponent('JXZITEMADDFORM')<>nil then
JXZITEMADDFORM.Show
else
begin
JXZITEMADDFORM:=TJXZITEMADDFORM.Create(Application);
JXZITEMADDFORM.Show;
end;
end;
procedure TJXZ_Form.N1Click(Sender: TObject);
begin
if DBEditEh2.Text='审核' then Exit;
DM.JXZP_ADOT.Append;
ITEMADD;
end;
procedure TJXZ_Form.N2Click(Sender: TObject);
begin
if DM.JXZP_ADOT.RecordCount<=0 then Exit;
if DBEditEh2.Text='审核' then Exit;
DM.JXZP_ADOT.Edit;
ITEMADD;
end;
procedure TJXZ_Form.N3Click(Sender: TObject);
begin
if DM.JXZP_ADOT.RecordCount<=0 then Exit;
if DBEditEh2.Text='审核' then Exit;
if Application.MessageBox('是否确认删除该条交下组明细数据?', '提示',
MB_ICONQUESTION + MB_YESNO + MB_DEFBUTTON2) = IDYES then
DM.JXZP_ADOT.Delete;
end;
procedure TJXZ_Form.BitBtn11Click(Sender: TObject);
var
HZ:STRING;
begin
if DM.JXZM_ADOQ.FieldByName('JXZ_BS').AsString='审核' then Exit;
if DM.JXZM_ADOQ.FieldByName('JXZ_BS').AsString='未审核' then
HZ:=InputBox('请输入汇总编号', '编号', '');
if Trim(HZ)='' then Exit;
if Application.MessageBox('是否确认完成该笔交下组数据,如果选择是该笔数据将不能修改?', '提示',
MB_ICONQUESTION + MB_YESNO + MB_DEFBUTTON2) = IDYES then
try
DM.JXZM_ADOQ.Edit;
DM.JXZM_ADOQ.FieldByName('JXZ_BS').AsString:='审核';//更新汇总编号
DM.JXZM_ADOQ.FieldByName('JXZ_HXNO').AsString:=HZ;
DM.JXZM_ADOQ.Post;
except
Exit;
end;
end;
procedure TJXZ_Form.FlatSpeedButton1Click(Sender: TObject);
begin
DM.JXZM_ADOQ.First;
end;
procedure TJXZ_Form.FlatSpeedButton2Click(Sender: TObject);
begin
DM.JXZM_ADOQ.Prior;
end;
procedure TJXZ_Form.FlatSpeedButton3Click(Sender: TObject);
begin
DM.JXZM_ADOQ.Next;
end;
procedure TJXZ_Form.FlatSpeedButton4Click(Sender: TObject);
begin
DM.JXZM_ADOQ.Last;
end;
procedure TJXZ_Form.BitBtn6Click(Sender: TObject);
begin
RPTDM.JXZP_Rpt.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'RPT/交接统计单.frf');
RPTDM.JXZP_Rpt.ShowReport;
end;
procedure TJXZ_Form.BitBtn7Click(Sender: TObject);
var
S:string;
begin
S:=DBEditEh1.Text;
with JSZADOQ do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM JSZ_M WHERE JSZ_HZBH='''+DM.JXZM_ADOQ.FieldByName('JXZ_HXNO').AsString+'''');
open;
end;
if JSZADOQ.RecordCount>0 then Exit;
if Trim(DM.JXZM_ADOQ.FieldByName('JXZ_HXNO').AsString)='' then
begin
ShowMessage('该笔交下组缺少汇总编号,不能生成接上组,请先审核该笔交下组数据');
Exit;
end;
if Application.MessageBox('是否确认完成该笔交下组数据生成接上组数据,如果选择是该笔数据将生成接上组数据?', '提示',
MB_ICONQUESTION + MB_YESNO + MB_DEFBUTTON2) = IDYES then
try
if DM.ADOC.InTransaction then DM.ADOC.RollbackTrans;
DM.ADOC.BeginTrans;
with JSZADOQ do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM JSZ_M WHERE JSZ_NO='''+S+'''');
open;
end;
if JSZADOQ.RecordCount>0 then Exit;
with JSZADOQ do
begin
Close;
SQL.Clear;
SQL.Add('INSERT INTO JSZ_M (JSZ_NO,JSZ_TIME,JSZ_CARNO,JSZ_BZ,JSZ_JCARNO,JSZ_JBZ,JSZ_HZBH,JSZ_HZ) values(:JSZ_NO,');
SQL.Add(':JSZ_TIME,:JSZ_CARNO,:JSZ_BZ,:JSZ_JCARNO,:JSZ_JBZ,:JSZ_HZBH,:JSZ_HZ) ');
JSZADOQ.Parameters.ParamByName('JSZ_NO').Value:=S;
JSZADOQ.Parameters.ParamByName('JSZ_TIME').Value:=DM.JXZM_ADOQ.FieldByName('JXZ_TIME').AsDateTime;
JSZADOQ.Parameters.ParamByName('JSZ_CARNO').Value:=DM.JXZM_ADOQ.FieldByName('JXZ_CARNO').AsString;
JSZADOQ.Parameters.ParamByName('JSZ_BZ').Value:=DM.JXZM_ADOQ.FieldByName('JXZ_JBZ').AsString;
JSZADOQ.Parameters.ParamByName('JSZ_JCARNO').Value:=DM.JXZM_ADOQ.FieldByName('JXZ_JCARNO').AsString;
JSZADOQ.Parameters.ParamByName('JSZ_JBZ').Value:=DM.JXZM_ADOQ.FieldByName('JXZ_JSBZ').AsString;
JSZADOQ.Parameters.ParamByName('JSZ_HZBH').Value:=DM.JXZM_ADOQ.FieldByName('JXZ_HXNO').AsString;
JSZADOQ.Parameters.ParamByName('JSZ_HZ').Value:='';
JSZADOQ.ExecSQL;
end;
DM.JXZP_ADOT.First;
while not DM.JXZP_ADOT.Eof do
begin
with JSZADOQ do
begin
Close;
SQL.Clear;
SQl.Add('INSERT INTO JSZ_P(JSZ_NO,JSZ_ITEMNO,JSZ_ITEMSORT,JSZ_ITEMUNIT,JSZ_ITEMPRICE,JSZ_ITEMNUM,JSZ_ITEMMON) VALUES');
SQL.Add('(:JSZ_NO,:JSZ_ITEMNO,:JSZ_ITEMSORT,:JSZ_ITEMUNIT,:JSZ_ITEMPRICE,:JSZ_ITEMNUM,:JSZ_ITEMMON)');
JSZADOQ.Parameters.ParamByName('JSZ_NO').Value:=S;
JSZADOQ.Parameters.ParamByName('JSZ_ITEMNO').Value:=DM.JXZP_ADOT.FieldByName('JXZ_ITEMNO').AsString;
JSZADOQ.Parameters.ParamByName('JSZ_ITEMSORT').Value:=DM.JXZP_ADOT.FieldByName('JXZ_ITEMSORT').AsString;
JSZADOQ.Parameters.ParamByName('JSZ_ITEMUNIT').Value:=DM.JXZP_ADOT.FieldByName('JXZ_ITEMUNIT').AsString;
JSZADOQ.Parameters.ParamByName('JSZ_ITEMPRICE').Value:=DM.JXZP_ADOT.FieldByName('JXZ_ITEMPRICE').AsCurrency;
JSZADOQ.Parameters.ParamByName('JSZ_ITEMNUM').Value:=DM.JXZP_ADOT.FieldByName('JXZ_ITEMNUM').AsCurrency;
JSZADOQ.Parameters.ParamByName('JSZ_ITEMMON').Value:=DM.JXZP_ADOT.FieldByName('JXZ_ITEMMON').AsCurrency;
JSZADOQ.ExecSQL;
end;
DM.JXZP_ADOT.Next;
end;
DM.ADOC.CommitTrans;
ShowMessage('接上组数据生成完毕');
except
DM.ADOC.RollbackTrans;
end;
end;
procedure TJXZ_Form.FormShow(Sender: TObject);
begin
BitBtn6.Enabled:=CheckRights('交下组编制','打印');
BitBtn1.Enabled:=CheckRights('交下组编制','新单');
BitBtn2.Enabled:=CheckRights('交下组编制','修改');
BitBtn3.Enabled:=CheckRights('交下组编制','删除');
BitBtn4.Enabled:=CheckRights('交下组编制','保存');
BitBtn5.Enabled:=CheckRights('交下组编制','取消');
BitBtn11.Enabled:=CheckRights('交下组编制','审核');
BitBtn7.Enabled:=CheckRights('交下组编制','生成接上组');
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -