D7wmguihua/坯布码单待检(PBMDDJ.dll)/U_WXFPInPut.pas
DESKTOP-E401PHE\Administrator b4b5840f18 1
2025-01-18 16:22:10 +08:00

538 lines
14 KiB
ObjectPascal
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit U_WXFPInPut;
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, cxDropDownEdit, cxCalendar, cxGridCustomPopupMenu,
cxGridPopupMenu;
type
TfrmWXFPInPut = class(TForm)
ToolBar1: TToolBar;
TBSave: TToolButton;
TBClose: TToolButton;
ADOTemp: TADOQuery;
ADOCmd: TADOQuery;
DataSource1: TDataSource;
Order_Sub: TClientDataSet;
DataSource2: TDataSource;
ADOZDY: TADOQuery;
CDS_ZDY: TClientDataSet;
ADOQuery1: TADOQuery;
cxGridPopupMenu1: TcxGridPopupMenu;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ClientDataSet1: TClientDataSet;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column6: TcxGridDBColumn;
v1Column18: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
Panel1: TPanel;
Label1: TLabel;
FPNO: TEdit;
Label2: TLabel;
FPDate: TDateTimePicker;
ChengJiaoType: TBtnEditA;
Label3: TLabel;
FromPlace: TBtnEditA;
Label4: TLabel;
ToPlace: TBtnEditA;
Label5: TLabel;
BankName: TBtnEditA;
Label6: TLabel;
Label7: TLabel;
GHDanWei: TEdit;
Label8: TLabel;
XHDanWei: TEdit;
Label9: TLabel;
XYZNO: TEdit;
v1Column4: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure v1Column3PropertiesEditValueChanged(Sender: TObject);
procedure v1Column20PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure ChengJiaoTypeBtnClick(Sender: TObject);
procedure FromPlaceBtnClick(Sender: TObject);
procedure ToPlaceBtnClick(Sender: TObject);
procedure BankNameBtnClick(Sender: TObject);
private
FXS:Integer;
procedure InitData();
procedure ZDYHelp(FButn:TcxButtonEdit;LType:string);
function SaveData():Boolean;
procedure GetMaxConNO();
{ Private declarations }
public
PState,PCopyInt:Integer;
FMainId,FConNo,FConType,FYLType:String;
{ Public declarations }
end;
var
frmWXFPInPut: TfrmWXFPInPut;
implementation
uses
U_DataLink,U_ZDYHelp,U_RTFun,U_ZDYHelpSel,U_BGHZSelList;
{$R *.dfm}
procedure TfrmWXFPInPut.TBCloseClick(Sender: TObject);
begin
Close;
WriteCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʊ¼<C6B1><C2BC>',Tv1,'<27><>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>');
end;
procedure TfrmWXFPInPut.InitData();
begin
with ADOQuery1 do
begin
Close;
SQL.Clear;
sql.Add(' select A.*,B.* ');
SQL.Add(' from FP_XiaoShou A');
sql.Add(' inner join FP_XiaoShou_Sub B on A.FXID=B.FXID');
sql.Add(' where A.FXID='''+Trim(FMainId)+'''');
Open;
end;
SCreateCDS20(ADOQuery1,Order_Sub);
SInitCDSData20(ADOQuery1,Order_Sub);
SCSHDataNew(ADOQuery1,Panel1,0);
end;
procedure TfrmWXFPInPut.ZDYHelp(FButn:TcxButtonEdit;LType:string);
begin
end;
procedure TfrmWXFPInPut.FormShow(Sender: TObject);
begin
ReadCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʊ¼<C6B1><C2BC>',Tv1,'<27><>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>');
FPDate.DateTime:=SGetServerDate(ADOTemp);
InitData();
end;
procedure TfrmWXFPInPut.GetMaxConNO();
begin
end;
function TfrmWXFPInPut.SaveData():Boolean;
var
maxno,maxsubNo:String;
begin
try
Result:=False;
ADOCmd.Connection.BeginTrans;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if Trim(FMainId)='' then
begin
if GetLSNo(ADOCmd,maxno,'FX','FP_XiaoShou',3,1)=False then
begin
ADOCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><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 FP_XiaoShou where FXID='''+Trim(FMainId)+'''');
Open;
end;
with ADOCmd do
begin
if Trim(FMainId)='' then
begin
Append;
end
else begin
Edit;
end;
FieldByName('FXID').Value:=Trim(maxno);
RTSetsavedata(ADOCmd,'FP_XiaoShou',Panel1,0);
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 FP_XiaoShou where FPNo='''+Trim(FPNo.Text)+'''');
Open;
end;
if ADOCmd.RecordCount>1 then
begin
ADOCmd.Connection.RollbackTrans;
Application.MessageBox('<27><>Ʊ<EFBFBD><C6B1><EFBFBD>ظ<EFBFBD>!','<27><>ʾ',0);
Exit;
end;
Order_Sub.DisableControls;
with Order_Sub do
begin
First;
while not Eof do
begin
if Trim(Order_Sub.fieldbyname('FSID').AsString)='' then
begin
if GetLSNo(ADOCmd,maxsubNo,'FS','FP_XiaoShou_Sub',4,1)=False then
begin
Order_Sub.EnableControls;
ADOCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
Exit;
end;
end else
begin
maxsubNo:=Trim(Order_Sub.fieldbyname('FSID').AsString);
end;
with ADOCmd do
begin
Close;
sql.Clear;
SQL.Add('select * from FP_XiaoShou_Sub where FSID='''+Trim(Order_Sub.fieldbyname('FSID').AsString)+'''');
Open;
end;
with ADOCmd do
begin
if Trim(Order_Sub.fieldbyname('FSID').AsString)='' then
begin
Append;
end
else begin
Edit;
end;
FieldByName('FXID').Value:=Trim(maxno);
FieldByName('FSID').Value:=Trim(maxsubNo);
FieldByName('BGID').Value:=Order_Sub.fieldbyname('BGID').Value;
FieldByName('BCID').Value:=Order_Sub.fieldbyname('BCID').Value;
FieldByName('NQID').Value:=Order_Sub.fieldbyname('NQID').Value;
RTSetSaveDataCDS(ADOCmd,Tv1,Order_Sub,'FP_XiaoShou_Sub',0) ;
Post;
end;
Edit;
FieldByName('FSID').Value:=Trim(maxsubNo);
Next;
end;
end;
Order_Sub.EnableControls;
ADOCmd.Connection.CommitTrans;
Result:=True;
except
Result:=False;
ADOCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
end;
end;
procedure TfrmWXFPInPut.TBSaveClick(Sender: TObject);
var
FPPrice,PRTPrice,BCMoney,FPQty,ChaMoney:string;
begin
ToolBar1.SetFocus;
if Trim(FPNO.Text)='' then
begin
Application.MessageBox('<27><>Ʊ<EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if Trim(GHDanWei.Text)='' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if Trim(XHDanWei.Text)='' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if Order_Sub.IsEmpty then
begin
Application.MessageBox('<27><>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
exit;
end;
if Order_Sub.Locate('Qty',null,[]) then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if Order_Sub.Locate('Price',null,[]) then
begin
Application.MessageBox('<27><><EFBFBD>۲<EFBFBD><DBB2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if Order_Sub.Locate('Money',null,[]) then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EEB2BB>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if SaveData() then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>','<27><>ʾ',0);
ModalResult:=1;
end;
end;
procedure TfrmWXFPInPut.ToolButton3Click(Sender: TObject);
var
FSQDate,FGHDanWei,FXHDanWei:string;
begin
FSQDate:=Trim(FormatDateTime('yyyy-MM-dd',SGetServerDate(ADOTemp)));
try
frmBGHZSelList:=TfrmBGHZSelList.Create(Application);
with frmBGHZSelList do
begin
if ShowModal=1 then
begin
with frmBGHZSelList.CDS_HZ do
begin
First;
while not Eof do
begin
if frmBGHZSelList.CDS_HZ.FieldByName('SSel').AsBoolean=True then
begin
if frmBGHZSelList.CDS_HZ.FieldByName('WXFPMoney').Value=0 then
begin
FGHDanWei:=Trim(frmBGHZSelList.CDS_HZ.fieldbyname('KHName').AsString);
FXHDanWei:=Trim(frmBGHZSelList.CDS_HZ.fieldbyname('FPDanWei').AsString);
with Self.Order_Sub do
begin
Append;
FieldByName('BGId').Value:=frmBGHZSelList.CDS_HZ.FieldByName('BGId').Value;
FieldByName('BCID').Value:=frmBGHZSelList.CDS_HZ.FieldByName('BCID').Value;
FieldByName('NQID').Value:=frmBGHZSelList.CDS_HZ.FieldByName('NQID').Value;
FieldByName('OrderNo').Value:=frmBGHZSelList.CDS_HZ.FieldByName('OrderNo').Value;
FieldByName('BGName').Value:=frmBGHZSelList.CDS_HZ.FieldByName('BGName').Value;
FieldByName('QtyUnit').Value:=frmBGHZSelList.CDS_HZ.FieldByName('NQUnit').Value;
FieldByName('SGHDanWei').Value:=frmBGHZSelList.CDS_HZ.FieldByName('KHName').Value;
FieldByName('SXHDanWei').Value:=frmBGHZSelList.CDS_HZ.FieldByName('FPDanWei').Value;
if Trim(frmBGHZSelList.CDS_HZ.FieldByName('NQUnit').AsString)='M' then
begin
FieldByName('Qty').Value:=frmBGHZSelList.CDS_HZ.FieldByName('NQMQty').Value;
end else
begin
FieldByName('Qty').Value:=frmBGHZSelList.CDS_HZ.FieldByName('NQkgQty').Value;
end;
FieldByName('Price').Value:=frmBGHZSelList.CDS_HZ.FieldByName('BGPrice').Value;
FieldByName('Money').Value:=frmBGHZSelList.CDS_HZ.FieldByName('BGMoney').Value;
FieldByName('FPDate').Value:=FSQDate;
//Post;
end;
end;
end;
Next;
end;
end;
end;
end;
finally
frmBGHZSelList.Free;
end;
if Trim(GHDanWei.Text)='' then
GHDanWei.Text:=Trim(FGHDanWei);
if Trim(XHDanWei.Text)='' then
XHDanWei.Text:=Trim(FXHDanWei);
end;
procedure TfrmWXFPInPut.ToolButton4Click(Sender: TObject);
begin
if Order_Sub.IsEmpty then Exit;
if Trim(Order_Sub.fieldbyname('FSId').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 FP_XiaoShou_Sub where FSId='''+Trim(Order_Sub.fieldbyname('FSId').AsString)+'''');
ExecSQL;
end;
end;
Order_Sub.Delete;
end;
procedure TfrmWXFPInPut.v1Column3PropertiesEditValueChanged(
Sender: TObject);
var
mvalue,FQty,FPrice,FMoney,FName:String;
begin
FName:=Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName;
mvalue:=TcxTextEdit(Sender).EditingText;
if Trim(mvalue)='' then mvalue:='0';
with Order_Sub do
begin
Edit;
FieldByName(FName).Value:=mvalue;
Post;
end;
FQty:=Order_Sub.fieldbyname('Qty').AsString;
FPrice:=Order_Sub.fieldbyname('Price').AsString;
FMoney:=Order_Sub.fieldbyname('Money').AsString;
if Trim(FQty)='' then FQty:='0';
if Trim(FPrice)='' then FPrice:='0';
if Trim(FMoney)='' then FMoney:='0';
if Trim(FName)<>'Money' then
begin
with Order_Sub do
begin
Edit;
FieldByName('Money').Value:=StrToFloat(FQty)*StrToFloat(FPrice);
Post;
end;
end else
begin
if Trim(FQty)<>'0' then
begin
with Order_Sub do
begin
Edit;
FieldByName('Price').Value:=StrToFloat(FMoney)*1.000000/StrToFloat(FQty);
Post;
end;
end else
begin
with Order_Sub do
begin
Edit;
FieldByName('Price').Value:=Null;
Post;
end;
end;
end;
end;
procedure TfrmWXFPInPut.v1Column20PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='GSTT';
flagname:='<27><><EFBFBD>ص<EFBFBD>λ';
V1ZdyStr1.Visible:=True;
V1ZdyStr2.Visible:=True;
V1ZdyStr3.Visible:=True;
V1ZdyStr4.Visible:=True;
V1ZdyStr1.Caption:='<27><><EFBFBD><EFBFBD>';
V1ZdyStr2.Caption:='<27>绰';
V1ZdyStr3.Caption:='<27><><EFBFBD><EFBFBD>';
V1ZdyStr4.Caption:='<27><>ַ';
frmZDYHelp.Align:=alClient;
if ShowModal=1 then
begin
with Order_Sub do
begin
Edit;
FieldByName('GHDanWei').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmWXFPInPut.ChengJiaoTypeBtnClick(Sender: TObject);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='ChengJiaoType';
flagname:='<27>ɽ<EFBFBD><C9BD><EFBFBD>ʽ';
if ShowModal=1 then
begin
ChengJiaoType.Text:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmWXFPInPut.FromPlaceBtnClick(Sender: TObject);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='ChuKouKA';
flagname:='<27><><EFBFBD>ڿڰ<DABF>';
if ShowModal=1 then
begin
FromPlace.Text:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmWXFPInPut.ToPlaceBtnClick(Sender: TObject);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='YunDiG';
flagname:='<27>˵ֹ<CBB5>';
if ShowModal=1 then
begin
ToPlace.Text:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmWXFPInPut.BankNameBtnClick(Sender: TObject);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='WXBankName';
flagname:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
if ShowModal=1 then
begin
BankName.Text:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
end.