D7wmhengming/坯布码单待检(PBMDDJ.dll)/U_BGFeeInPut.pas

566 lines
15 KiB
ObjectPascal
Raw Permalink Normal View History

2025-04-16 09:11:01 +08:00
unit U_BGFeeInPut;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxClasses, cxControls,
cxGridCustomView, cxGrid, cxMemo, cxRichEdit, ComCtrls, cxContainer,
cxTextEdit, cxMaskEdit, cxButtonEdit, StdCtrls, ToolWin, DBClient, ADODB,
ExtCtrls, BtnEdit, cxCalendar,StrUtils, cxDropDownEdit,
cxGridCustomPopupMenu, cxGridPopupMenu;
type
TfrmBGFeeInPut = class(TForm)
ToolBar1: TToolBar;
TBSave: TToolButton;
TBClose: TToolButton;
ScrollBox11: TScrollBox;
ToolBar2: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
v1PRTPrice: TcxGridDBColumn;
ADOTemp: TADOQuery;
ADOCmd: TADOQuery;
DataSource1: TDataSource;
Order_Sub: TClientDataSet;
ADOQuery1: TADOQuery;
v1PRTOrderQty: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v1Column11: TcxGridDBColumn;
ScrollBox1: TScrollBox;
TiDanDate: TDateTimePicker;
Label7: TLabel;
TiDanNo: TEdit;
Label3: TLabel;
Label10: TLabel;
Label1: TLabel;
Label2: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label8: TLabel;
Label9: TLabel;
Label12: TLabel;
Label15: TLabel;
BMNo: TEdit;
YuLuDanDate: TDateTimePicker;
FromPlace: TBtnEditC;
ToPlace: TBtnEditC;
ZhuangXiangDate: TDateTimePicker;
ChuanDate: TDateTimePicker;
ChuanGS: TBtnEditC;
ChuanNo: TEdit;
XiangType: TBtnEditC;
Label16: TLabel;
YunDiG: TBtnEditC;
Label17: TLabel;
ChengJiaoType: TBtnEditC;
Label11: TLabel;
YuTuiDanDate: TDateTimePicker;
Label19: TLabel;
JiaoTuiDanDate: TDateTimePicker;
TiDanType: TComboBox;
Note: TRichEdit;
Panel1: TPanel;
ToolBar3: TToolBar;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridDBColumn1: TcxGridDBColumn;
cxGridDBColumn2: TcxGridDBColumn;
cxGridDBColumn3: TcxGridDBColumn;
cxGridDBColumn4: TcxGridDBColumn;
cxGridDBColumn5: TcxGridDBColumn;
cxGridDBColumn6: TcxGridDBColumn;
cxGridDBColumn7: TcxGridDBColumn;
cxGridDBColumn8: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
v2Column1: TcxGridDBColumn;
DataSource2: TDataSource;
ClientDataSet2: TClientDataSet;
cxGridPopupMenu1: TcxGridPopupMenu;
cxGridPopupMenu2: TcxGridPopupMenu;
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure CustomerNoNameBtnDnClick(Sender: TObject);
procedure FromPlaceBtnUpClick(Sender: TObject);
procedure v1Column4PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure ToolButton3Click(Sender: TObject);
procedure cxGridDBColumn1PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure cxGridDBColumn2PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
private
procedure InitData();
procedure ZDYHelp(FButn:TcxButtonEdit;LType:string);
function SaveData():Boolean;
procedure GetBtnCText(Sender: TObject);
{ Private declarations }
public
PState,CopyInt:Integer;
FMainId,FFMainId:String;
FXS:Integer;
{ Public declarations }
end;
var
frmBGFeeInPut: TfrmBGFeeInPut;
implementation
uses
U_DataLink,U_ZDYHelp,U_RTFun,U_BGLDManage;
{$R *.dfm}
procedure TfrmBGFeeInPut.TBCloseClick(Sender: TObject);
begin
Close;
WriteCxGrid('<27><><EFBFBD>ط<EFBFBD><D8B7><EFBFBD>¼<EFBFBD><C2BC>',Tv1,'<27><><EFBFBD>ط<EFBFBD><D8B7><EFBFBD>');
end;
procedure TfrmBGFeeInPut.InitData();
begin
ZhuangXiangDate.Date:=SGetServerDate(ADOTemp);
ChuanDate.Date:=ZhuangXiangDate.Date;
YuLuDanDate.Date:=ZhuangXiangDate.Date;
TiDanDate.Date:=ZhuangXiangDate.Date;
YuTuiDanDate.Date:=ZhuangXiangDate.Date;
JiaoTuiDanDate.Date:=ZhuangXiangDate.Date;
ZhuangXiangDate.Checked:=False;
ChuanDate.Checked:=False;
YuLuDanDate.Checked:=False;
TiDanDate.Checked:=False;
YuTuiDanDate.Checked:=False;
JiaoTuiDanDate.Checked:=False;
with ADOQuery1 do
begin
Close;
SQL.Clear;
sql.Add(' select * from BGFee_Sub ');
if PState=1 then
begin
sql.Add('where BMId='''+Trim(FMainId)+'''');
end;
if PState=0 then
begin
sql.Add(' where 1<>1');
end;
Open;
end;
SCreateCDS20(ADOQuery1,Order_Sub);
SInitCDSData20(ADOQuery1,Order_Sub);
with ADOQuery1 do
begin
Close;
sql.Clear;
sql.Add('select * from BGFee_Main where BMId='''+Trim(FMainId)+'''');
Open;
end;
SCSHDataNew(ADOQuery1,ScrollBox1,2);
with ADOQuery1 do
begin
Close;
sql.Clear;
sql.Add('select * from BGFee_HuoDai where BMID='''+Trim(FMainId)+'''');
open;
end;
SCreateCDS20(ADOQuery1,ClientDataSet2);
SInitCDSData20(ADOQuery1,ClientDataSet2);
end;
procedure TfrmBGFeeInPut.ZDYHelp(FButn:TcxButtonEdit;LType:string);
var
FType,ZDYName,FText:String;
begin
end;
procedure TfrmBGFeeInPut.FormShow(Sender: TObject);
begin
readCxGrid('<27><><EFBFBD>ط<EFBFBD><D8B7><EFBFBD>¼<EFBFBD><C2BC>',Tv1,'<27><><EFBFBD>ط<EFBFBD><D8B7><EFBFBD>');
InitData();
end;
function TfrmBGFeeInPut.SaveData():Boolean;
var
maxno,maxsubno,maxsubnoBH:String;
begin
try
ADOCmd.Connection.BeginTrans;
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if Trim(FMainId)='' then
begin
if GetLSNo(ADOCmd,maxno,'BM','BGFee_Main',3,1)=False then
begin
ADOCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
Exit;
end;
end else
begin
maxno:=Trim(FMainId);
end;
with ADOCmd do
begin
Close;
sql.Clear;
SQL.Add('select * from BGFee_Main where BMId='''+Trim(FMainId)+'''');
Open;
end;
with ADOCmd do
begin
if Trim(FMainId)='' then
begin
Append;
end
else begin
Edit;
end;
FieldByName('BMId').Value:=Trim(maxno);
RTSetsavedata(ADOCmd,'BGFee_Main',ScrollBox1,2);
if Trim(FMainId)='' then
begin
FieldByName('Filler').Value:=Trim(DName);
end else
begin
FieldByName('Editer').Value:=Trim(DName);
FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp);
end;
// FieldByName('Note').Value:=Trim(Note.Text);
Post;
end;
with ADOCmd do
begin
Close;
sql.Clear;
sql.Add('select * from BGFee_Main where BMNo='''+Trim(BMNo.Text)+'''');
Open;
end;
if ADOCmd.RecordCount>1 then
begin
ADOCmd.Connection.RollbackTrans;
Application.MessageBox('<27><EFBFBD>˺<EFBFBD><CBBA>ظ<EFBFBD>!','<27><>ʾ',0);
Exit;
end;
with ADOCmd do
begin
Close;
sql.Clear;
sql.Add('UPdate BGFee_Main Set Filler='''+Trim(DName)+'''');
sql.Add(' where BMId='''+Trim(maxno)+'''');
ExecSQL;
end;
///<2F><><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD>
with Order_Sub do
begin
First;
while not Eof do
begin
if Trim(Order_Sub.fieldbyname('BSId').AsString)='' then
begin
if GetLSNo(ADOCmd,maxsubno,'BS','BGFee_Sub',4,1)=False then
begin
ADOCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
end else
begin
maxsubno:=Trim(Order_Sub.fieldbyname('BSId').AsString);
end;
with ADOCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from BGFee_Sub where BMID='''+Trim(maxno)+'''');
sql.Add(' and BSId='''+Trim(maxsubno)+'''');
Open;
end;
with ADOCmd do
begin
if Trim(Order_Sub.fieldbyname('BSId').AsString)='' then
Append
else
Edit;
FieldByName('BMID').Value:=Trim(maxno);
FieldByName('BSId').Value:=Trim(maxsubno);
RTSetSaveDataCDS(ADOCmd,Tv1,Order_Sub,'BGFee_Sub',0);
Post;
end;
Order_Sub.Edit;
Order_Sub.FieldByName('BSId').Value:=Trim(maxsubno);
//Order_Sub.Post;
Next;
end;
end;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD>
with ClientDataSet2 do
begin
First;
while not Eof do
begin
if Trim(ClientDataSet2.fieldbyname('BHId').AsString)='' then
begin
if GetLSNo(ADOCmd,maxsubnoBH,'BH','BGFee_HuoDai',4,1)=False then
begin
ADOCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
end else
begin
maxsubnoBH:=Trim(ClientDataSet2.fieldbyname('BHId').AsString);
end;
with ADOCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from BGFee_HuoDai where BHID='''+Trim(maxsubnoBH)+'''');
Open;
end;
with ADOCmd do
begin
if Trim(ClientDataSet2.fieldbyname('BHID').AsString)='' then
Append
else
Edit;
FieldByName('BMID').Value:=Trim(maxno);
FieldByName('BHID').Value:=Trim(maxsubnoBH);
RTSetSaveDataCDS(ADOCmd,Tv2,ClientDataSet2,'BGFee_HuoDai',0);
Post;
end;
ClientDataSet2.Edit;
ClientDataSet2.FieldByName('BHID').Value:=Trim(maxsubnoBH);
//Order_Sub.Post;
Next;
end;
end;
ADOCmd.Connection.CommitTrans;
FMainId:=Trim(maxno);
Result:=True;
except
Result:=False;
ADOCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
end;
end;
procedure TfrmBGFeeInPut.TBSaveClick(Sender: TObject);
var
FReal:Double;
begin
ToolBar1.SetFocus;
if Trim(BMNo.Text)='' then
begin
Application.MessageBox('<27><EFBFBD>˺Ų<CBBA><C5B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
if Order_Sub.IsEmpty then
begin
Application.MessageBox('<27><>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if ClientDataSet2.IsEmpty then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if SaveData() then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>','<27><>ʾ',0);
end;
end;
procedure TfrmBGFeeInPut.ToolButton1Click(Sender: TObject);
begin
CopyAddRow(Tv1,Order_Sub);
end;
procedure TfrmBGFeeInPut.ToolButton2Click(Sender: TObject);
begin
if Order_Sub.IsEmpty then Exit;
if Trim(Order_Sub.fieldbyname('BSId').AsString)<>'' then
begin
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
with ADOCmd do
begin
Close;
sql.Clear;
sql.Add('delete BGFee_Sub where BSId='''+Trim(Order_Sub.fieldbyname('BSId').AsString)+'''');
ExecSQL;
end;
end;
Order_Sub.Delete;
end;
procedure TfrmBGFeeInPut.CustomerNoNameBtnDnClick(Sender: TObject);
begin
TBtnEditC(Sender).Text:='';
TBtnEditC(Sender).TxtCode:='';
end;
procedure TfrmBGFeeInPut.FromPlaceBtnUpClick(Sender: TObject);
begin
GetBtnCText(Sender);
end;
procedure TfrmBGFeeInPut.GetBtnCText(Sender: TObject);
var
fsj:string;
FWZ:Integer;
begin
fsj:=Trim(TBtnEditC(Sender).Hint);
FWZ:=Pos('/',fsj);
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:=Copy(fsj,1,FWZ-1);
flagname:=Copy(fsj,FWZ+1,Length(fsj)-fwz);
if ShowModal=1 then
begin
TBtnEditC(Sender).Text:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmBGFeeInPut.v1Column4PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmBGLDManage:=TfrmBGLDManage.Create(Application);
with frmBGLDManage do
begin
FSel:='99';
if ShowModal=1 then
begin
with Self.Order_Sub do
begin
Edit;
FieldByName('OrderNo').Value:=Trim(frmBGLDManage.Order_Main.fieldbyname('OrderNo').AsString);
FieldByName('BGName').Value:=Trim(frmBGLDManage.CDS_19.fieldbyname('BGName').AsString);
FieldByName('HSCode').Value:=Trim(frmBGLDManage.CDS_BGName.fieldbyname('HSCode').AsString);
FieldByName('PS').Value:=frmBGLDManage.CDS_BGName.fieldbyname('CangKuPS').Value;
FieldByName('JZQty').Value:=frmBGLDManage.CDS_19.fieldbyname('NQkgQty').Value;
FieldByName('MiQty').Value:=frmBGLDManage.CDS_19.fieldbyname('NQMQty').Value;
FieldByName('BGMoney').Value:=frmBGLDManage.CDS_19.fieldbyname('BGMoney').Value;
//Post;
end;
end;
end;
finally
frmBGLDManage.Free;
end;
with ADOTemp do
begin
Close;
sql.Clear;
sql.Add('select * from JYOrder_Main where OrderNo='''+Trim(Order_Sub.fieldbyname('OrderNo').AsString)+'''');
Open;
end;
with Order_Sub do
begin
Edit;
FieldByName('BGCF').Value:=Trim(ADOTemp.fieldbyname('MPRTCF').AsString);
//Post;
end;
end;
procedure TfrmBGFeeInPut.ToolButton3Click(Sender: TObject);
begin
with ClientDataSet2 do
begin
Append;
Post;
end;
end;
procedure TfrmBGFeeInPut.cxGridDBColumn1PropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='HDName';
flagname:='<27><><EFBFBD><EFBFBD>';
V1ZdyStr1.Visible:=True;
V1ZdyStr2.Visible:=True;
V1ZdyStr3.Visible:=True;
V1ZdyStr4.Visible:=True;
V1ZdyStr1.Caption:='<27><>ϵ<EFBFBD><CFB5>';
V1ZdyStr2.Caption:='<27><>ϵ<EFBFBD><CFB5>ʽ';
V1ZdyStr3.Caption:='<27>տ<EFBFBD><D5BF><EFBFBD><EFBFBD><EFBFBD>';
V1ZdyStr4.Caption:='<27>տ<EFBFBD><D5BF>˺<EFBFBD>';
frmZDYHelp.Align:=alClient;
if ShowModal=1 then
begin
with Self .ClientDataSet2 do
begin
Edit;
FieldByName('HDName').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
FieldByName('HDLXPerson').Value:=Trim(ClientDataSet1.fieldbyname('ZdyStr1').AsString);
FieldByName('HDLXFS').Value:=Trim(ClientDataSet1.fieldbyname('ZdyStr2').AsString);
FieldByName('HDBankName').Value:=Trim(ClientDataSet1.fieldbyname('ZdyStr3').AsString);
FieldByName('HDBankNo').Value:=Trim(ClientDataSet1.fieldbyname('ZdyStr4').AsString);
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmBGFeeInPut.cxGridDBColumn2PropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='HDFeeName';
flagname:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
if ShowModal=1 then
begin
with Self .ClientDataSet2 do
begin
Edit;
FieldByName('FeeName').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
end.