D7myzhenyong/发货申请(ShipmentRequest.dll)/U_FHSQList.pas
DESKTOP-E401PHE\Administrator 237de1c308 0
2025-08-26 15:25:51 +08:00

964 lines
26 KiB
ObjectPascal
Raw Permalink 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_FHSQList;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB,
cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls,
cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, RM_Dataset, RM_System,
RM_Common, RM_Class, RM_GridReport, RM_e_Xls, Menus, cxPC, cxButtonEdit,
RM_E_llPDF, cxDropDownEdit, cxTextEdit, cxLookAndFeels, cxLookAndFeelPainters,
cxNavigator, dxBarBuiltInMenu, dxSkinsCore, dxSkinsDefaultPainters,
dxSkinscxPCPainter;
type
TfrmFHSQList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBAdd: TToolButton;
TBEdit: TToolButton;
TBDel: TToolButton;
TBPrint: TToolButton;
TBClose: TToolButton;
Tv1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
TBExport: TToolButton;
v1OrdDate: TcxGridDBColumn;
Order_Main: TClientDataSet;
RMDBDataSet1: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
v1CustomerNoName: TcxGridDBColumn;
ToolButton1: TToolButton;
ADOQueryPrint: TADOQuery;
CDS_Print: TClientDataSet;
v1Column4: TcxGridDBColumn;
Panel1: TPanel;
Label1: TLabel;
Label4: TLabel;
Label8: TLabel;
Label9: TLabel;
Label12: TLabel;
Label13: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
CustomerNoName: TEdit;
MPRTCodeName: TEdit;
HZSCConNo: TEdit;
MPRTKZ: TEdit;
MPRTMF: TEdit;
cxTabControl1: TcxTabControl;
tchk: TToolButton;
Tnochk: TToolButton;
cxSplitter1: TcxSplitter;
ADOQuerySub: TADOQuery;
DataSource2: TDataSource;
v1Column8: TcxGridDBColumn;
Label2: TLabel;
//RMllPDFExport1: TRMllPDFExport;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridLevel1: TcxGridLevel;
ClientDataSet2: TClientDataSet;
cxGridPopupMenu2: TcxGridPopupMenu;
CDS_Note: TClientDataSet;
RM1: TRMGridReport;
v1Column13: TcxGridDBColumn;
v1Column17: TcxGridDBColumn;
v1Column18: TcxGridDBColumn;
v1Column19: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v1Column26: TcxGridDBColumn;
ToolButton2: TToolButton;
Panel5: TPanel;
Label28: TLabel;
Button5: TButton;
Button6: TButton;
DateTimePicker1: TDateTimePicker;
Label11: TLabel;
lblFSID: TLabel;
v1Column27: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
cv2Column4: TcxGridDBColumn;
cv2Column6: TcxGridDBColumn;
btn1: TToolButton;
cv1Column12: TcxGridDBColumn;
cv2Column10: TcxGridDBColumn;
cv2Column12: TcxGridDBColumn;
cv1Column14: TcxGridDBColumn;
v2Column2: TcxGridDBColumn;
v2Column4: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
v2Column7: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v2Column8: TcxGridDBColumn;
v2Column9: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
Tv2Column1: TcxGridDBColumn;
Tv1Column1: TcxGridDBColumn;
Tv2Column2: TcxGridDBColumn;
Tv2Column3: TcxGridDBColumn;
Label3: TLabel;
SQKHKuanHaoHZ: TEdit;
Tv2Column4: TcxGridDBColumn;
Tv2Column5: TcxGridDBColumn;
ToolButton3: TToolButton;
Tv1Column2: TcxGridDBColumn;
ISHT: TCheckBox;
ToolButton4: TToolButton;
Tv1Column3: TcxGridDBColumn;
Tv2Column6: TcxGridDBColumn;
//RMllPDFExport1: TRMllPDFExport;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure TBEditClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBPrintClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure TBAddClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure CustomerNoNameChange(Sender: TObject);
procedure tchkClick(Sender: TObject);
procedure TnochkClick(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure btn1Click(Sender: TObject);
procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
procedure ToolButton3Click(Sender: TObject);
procedure ISHTClick(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
private
procedure InitGrid();
procedure InitSubGrid();
procedure InitForm();
procedure SetStatus();
function DelData(): Boolean;
{ Private declarations }
public
FFInt: Integer;
canshu1, canshu2: string;
{ Public declarations }
end;
//var
//frmContractListNX: TfrmContractListNX;
implementation
uses
U_DataLink, U_FHSQInPut, U_Fun, U_ZDYHelp, U_DCDList_Sel;
{$R *.dfm}
procedure TfrmFHSQList.SetStatus();
begin
tchk.Visible := False;
Tnochk.Visible := False;
btn1.Visible := false;
ToolButton3.Visible := false;
if canshu1 = '<27><><EFBFBD><EFBFBD>' then
begin
case cxTabControl1.TabIndex of
0:
begin
tchk.Visible := true;
end;
1:
begin
Tnochk.Visible := true;
end;
2:
begin
end;
end;
end
else if canshu1 = '<27><>Ȩ<EFBFBD><C8A8>' then
begin
case cxTabControl1.TabIndex of
0:
begin
tchk.Visible := true;
end;
1:
begin
Tnochk.Visible := true;
btn1.Visible := True;
end;
2:
begin
ToolButton3.Visible := True;
end;
end;
end
else
begin
end;
end;
procedure TfrmFHSQList.FormDestroy(Sender: TObject);
begin
//frmFHSQList:=nil;
end;
procedure TfrmFHSQList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmFHSQList.FormCreate(Sender: TObject);
begin
cxgrid1.Align := alClient;
end;
procedure TfrmFHSQList.TBCloseClick(Sender: TObject);
begin
Close;
WriteCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ZY', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
WriteCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD>ZY', Tv2, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmFHSQList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
Sql.Add(' select A.*,isnull(status,'<><CEB4><EFBFBD><EFBFBD>'')status2 ');
Sql.Add(',SQKHKuanHaoHZ =CAST((select distinct(SQKHKuanHao) + '' '' from FHSQ_Sub X where A.FSID=X.FSID for xml path('''') ) AS VARCHAR(100))');
Sql.Add(' ,HZSCConNo=CAST((select distinct(SCConNo) + '' '' from FHSQ_Sub X where A.FSID=X.FSID for xml path('''') ) AS VARCHAR(100))');
Sql.Add(' ,HZSQMoney= (select sum(SQMoney) from FHSQ_Sub X where A.FSID=X.FSID ) ');
sql.Add(' from FHSQ_Main A');
sql.Add(' where SQType=''<27><><EFBFBD><EFBFBD>'' ');
if cxTabControl1.TabIndex <> 0 then
begin
sql.Add(' and SQDate>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.Date)) + '''');
sql.Add(' and SQDate<''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.Date + 1)) + '''');
end;
if cxTabControl1.TabIndex = 0 then
begin
SQL.Add(' and isnull(A.Chker,'''')='''' ');
end
else if cxTabControl1.TabIndex = 1 then
begin
SQL.Add(' and isnull(A.Chker,'''')<>'''' AND ISNULL(status,'<><CEB4><EFBFBD><EFBFBD>'')='<><CEB4><EFBFBD><EFBFBD>'' ');
end
else if cxTabControl1.TabIndex = 2 then
begin
SQL.Add(' and isnull(A.Chker,'''')<>'''' AND ISNULL(status,'<><CEB4><EFBFBD><EFBFBD>'')<>'<><CEB4><EFBFBD><EFBFBD>'' ');
end;
if Trim(canshu1) <> '<27><>Ȩ<EFBFBD><C8A8>' then
begin
// sql.Add(' and isnull(A.Filler,'''')=''' + Trim(DName) + '''');
SQL.Add('and filler in ( select username from SY_User where UType=(select UType from SY_User where UserName=' + quotedstr(Trim(dname)));
SQL.Add('))');
end;
if (canshu2 = '<27><><EFBFBD><EFBFBD>') or (canshu2 = '<27><><EFBFBD><EFBFBD>') then
begin
sql.Add(' and isnull(A.XSType,'''')=''' + Trim(canshu2) + '''');
end;
if ISHT.Checked = True then
begin
SQL.Add('AND EXISTS (select * from SalesContract_Main X where X.CONNO IN (SELECT SCCONNO FROM FHSQ_SUB F WHERE F.FSID=A.FSID))');
end;
sql.Add(' order by ChkTime desc ');
// ShowMessage(sql.Text);
Open;
end;
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmFHSQList.InitForm();
begin
ReadCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ZY', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
ReadCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD>ZY', Tv2, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
BegDate.DateTime := EndDate.DateTime - 60;
InitGrid();
end;
procedure TfrmFHSQList.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
end;
procedure TfrmFHSQList.TBEditClick(Sender: TObject);
begin
if Order_Main.IsEmpty then
Exit;
// if cxTabControl1.TabIndex <> 0 then
// Exit;
if Trim(canshu1) <> '<27><>Ȩ<EFBFBD><C8A8>' then
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
SQL.Add('select FILLER from FHSQ_MAIN A ');
SQL.Add('where FSID=''' + Trim(Order_Main.fieldbyname('FSID').AsString) + ''' ');
SQL.Add('and filler in ( select username from SY_User where UType=(select UType from SY_User where UserName=' + quotedstr(Trim(dname)));
SQL.Add('))');
Open;
end;
if ADOQueryTemp.ISEMPTY = True then
begin
Application.MessageBox('<27><><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
// if Trim(Order_Main.fieldbyname('Filler').AsString) <> Trim(DName) then
// begin
// Application.MessageBox('<27><><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
// Exit;
// end;
end;
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add('SELECT * FROM YF_MONEY_CR ');
sql.Add('where YFID=' + quotedstr(trim('Y' + Order_Main.fieldbyname('FSID').AsString)));
SQL.Add('AND STATUS=1');
Open;
end;
if ADOQueryTemp.IsEmpty = False then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><CBA3><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
Exit;
end;
// with ADOQueryTemp do
// begin
// close;
// sql.Clear;
// sql.Add('select * from FHSQ_Main');
// sql.Add('where FSID=' + quotedstr(trim(Order_Main.fieldbyname('FSID').AsString)));
// Open;
// end;
// if Trim(ADOQueryTemp.fieldbyname('YSID').AsString) <> '' then
// begin
// Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>˿<CBBF><EEB2BB><EFBFBD>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
// Exit;
// end;
try
frmFHSQInPut := TfrmFHSQInPut.Create(Application);
with frmFHSQInPut do
begin
PState := 1;
FMainId := Trim(Self.Order_Main.fieldbyname('FSID').AsString);
if ShowModal = 1 then
begin
InitGrid();
end;
end;
finally
frmFHSQInPut.Free;
end;
end;
procedure TfrmFHSQList.TBDelClick(Sender: TObject);
begin
if Order_Main.IsEmpty then
Exit;
if cxTabControl1.TabIndex <> 0 then
Exit;
if canshu1 <> '<27><>Ȩ<EFBFBD><C8A8>' then
begin
if Trim(Order_Main.fieldbyname('Filler').AsString) <> Trim(DName) then
begin
Application.MessageBox('<27><><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add(' select * from CK_BanCP_CR where CRFlag=''<27><><EFBFBD><EFBFBD>''');
sql.add(' and CKOrdNo=''' + Trim(Order_Main.fieldbyname('FSId').AsString) + '''');
Open;
end;
if ADOQueryTemp.IsEmpty = False then
begin
Application.MessageBox('<27>ѷ<EFBFBD><D1B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
exit;
end;
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add('select * from FHSQ_Main');
sql.Add('where FSID=' + quotedstr(trim(Order_Main.fieldbyname('FSID').AsString)));
Open;
end;
if Trim(ADOQueryTemp.fieldbyname('YSID').AsString) <> '' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>˿<CBBF><EEB2BB>ɾ<EFBFBD><C9BE>!', '<27><>ʾ', 0);
Exit;
end;
if ADOQueryTemp.FieldByName('FHPSHZ').AsInteger > 0 then
begin
Application.MessageBox('<27>ѷ<EFBFBD><D1B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
exit;
end;
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add('SELECT * FROM YF_MONEY_CR ');
sql.Add('where YFID=' + quotedstr(trim('Y' + Order_Main.fieldbyname('FSID').AsString)));
SQL.Add('AND STATUS=1');
Open;
end;
if ADOQueryTemp.IsEmpty = False then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><CBA3><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
Exit;
end;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
if DelData() then
begin
Order_Main.Delete;
InitSubGrid();
end;
end;
function TfrmFHSQList.DelData(): Boolean;
begin
try
Result := false;
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete FHSQ_Sub where FSId=''' + Trim(Order_Main.fieldbyname('FSId').AsString) + '''');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete FHSQ_Main where FSId=''' + Trim(Order_Main.fieldbyname('FSId').AsString) + '''');
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
Result := True;
except
ADOQueryCmd.Connection.RollbackTrans;
Result := False;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><ECB3A3>', '<27><>ʾ', 0);
end;
end;
procedure TfrmFHSQList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
Exit;
SelExportData(Tv1, ADOQueryMain, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>');
end;
procedure TfrmFHSQList.TBPrintClick(Sender: TObject);
var
fPrintFile: string;
Txt, fImagePath: string;
Moudle: THandle;
Makebar: TMakebar;
Mixtext: TMixtext;
begin
if Order_Main.IsEmpty then
Exit;
// if cxTabControl1.TabIndex <> 1 then
// Exit;
ExportFtErpFile('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뵥.rmf', ADOQueryTemp);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뵥.rmf';
with ADOQueryPrint do
begin
Close;
sql.Clear;
Sql.Add(' select A.*,B.* ');
sql.Add(' from FHSQ_Main A left join FHSQ_Sub B on A.FSId=B.FSId ');
sql.Add(' where A.FSID=' + quotedstr(Trim(Order_Main.fieldbyname('FSID').AsString)));
Open;
end;
if FileExists(fPrintFile) then
begin
try
Moudle := LoadLibrary('MakeQRBarcode.dll');
@Makebar := GetProcAddress(Moudle, 'Make');
@Mixtext := GetProcAddress(Moudle, 'MixText');
Txt := Trim(Order_Main.fieldbyname('FSID').AsString);
fImagePath := ExtractFilePath(Application.ExeName) + 'image\temp.bmp';
if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then
CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil);
if FileExists(fImagePath) then
DeleteFile(fImagePath);
Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath), 3);
except
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
RMVariables['QRBARCODE'] := fImagePath;
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
end;
end;
procedure TfrmFHSQList.TBRafreshClick(Sender: TObject);
begin
InitGrid();
TBFind.Click;
InitSubGrid();
end;
procedure TfrmFHSQList.TBAddClick(Sender: TObject);
var
maxno: string;
begin
try
frmFHSQInPut := TfrmFHSQInPut.Create(Application);
with frmFHSQInPut do
begin
PState := 0;
FMainId := '';
if ShowModal = 1 then
begin
InitGrid();
end;
end;
finally
frmFHSQInPut.Free;
end;
end;
procedure TfrmFHSQList.FormShow(Sender: TObject);
begin
InitForm();
SetStatus();
end;
procedure TfrmFHSQList.CheckBox1Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmFHSQList.CheckBox2Click(Sender: TObject);
begin
TBRafresh.Click;
end;
procedure TfrmFHSQList.ToolButton1Click(Sender: TObject);
begin
if Order_Main.IsEmpty then
Exit;
try
frmFHSQInPut := TfrmFHSQInPut.Create(Application);
with frmFHSQInPut do
begin
PState := 1;
FMainId := Trim(Self.Order_Main.fieldbyname('FSID').AsString);
ToolBar2.Visible := False;
TBSave.Visible := False;
ScrollBox1.Enabled := False;
Tv1.OptionsSelection.CellSelect := False;
if ShowModal = 1 then
begin
end;
end;
finally
frmFHSQInPut.Free;
end;
end;
procedure TfrmFHSQList.CustomerNoNameChange(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
end;
procedure TfrmFHSQList.tchkClick(Sender: TObject);
begin
if Order_Main.IsEmpty then
exit;
if cxTabControl1.TabIndex <> 0 then
exit;
try
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update FHSQ_Main SET Chker=''' + Trim(DName) + ''',ChkTime=getdate(),ChkStatus=''<27><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>'' ');
sql.Add('where FSID=' + quotedstr(trim(Order_Main.fieldbyname('FSID').AsString)));
execsql;
end;
Order_Main.Delete;
InitSubGrid();
application.MessageBox('<27><><EFBFBD>˳ɹ<CBB3><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
except
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmFHSQList.InitSubGrid();
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
if Order_Main.IsEmpty = False then
sql.Add('select A.*,B.ORDERNO,ISHT=cast((case when isnull((select count(CONNO) from SalesContract_Main X where X.CONNO=A.SCCONNO ),0)>0 then 1 else 0 end) as bit) from FHSQ_Sub A LEFT JOIN JYOrder_Main B ON A.MainId=B.MainId where A.FSId=''' + Trim(Order_Main.fieldbyname('FSId').AsString) + '''')
else
sql.Add('select A.*,B.ORDERNO from FHSQ_Sub A LEFT JOIN JYOrder_Main B ON A.MainId=B.MainId where 1=2');
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS20(ADOQueryTemp, ClientDataSet2);
SInitCDSData20(ADOQueryTemp, ClientDataSet2);
end;
procedure TfrmFHSQList.TnochkClick(Sender: TObject);
begin
if Order_Main.IsEmpty then
exit;
if cxTabControl1.TabIndex <> 1 then
exit;
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add('select * from FHSQ_Main');
sql.Add('where FSID=' + quotedstr(trim(Order_Main.fieldbyname('FSID').AsString)));
Open;
end;
if Trim(ADOQueryTemp.fieldbyname('YSID').AsString) <> '' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>˿<CBBF>ܳ<EFBFBD><DCB3><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
try
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update FHSQ_Main SET Chker=Null,ChkTime=Null,ChkStatus=Null ');
sql.Add('where FSID=' + quotedstr(trim(Order_Main.fieldbyname('FSID').AsString)));
execsql;
end;
Order_Main.Delete;
InitSubGrid();
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
except
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmFHSQList.cxTabControl1Change(Sender: TObject);
begin
TBRafresh.Click;
SetStatus();
end;
procedure TfrmFHSQList.ToolButton2Click(Sender: TObject);
begin
if Trim(canshu1) <> '<27><>Ȩ<EFBFBD><C8A8>' then
begin
if Trim(Order_Main.fieldbyname('Filler').AsString) <> Trim(DName) then
begin
Application.MessageBox('<27><><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
end;
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add('select * from FHSQ_Main');
sql.Add('where FSID=' + quotedstr(trim(Order_Main.fieldbyname('FSID').AsString)));
Open;
end;
if Trim(ADOQueryTemp.fieldbyname('YSID').AsString) <> '' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>˿<CBBF><EEB2BB><EFBFBD>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
lblFSID.Caption := Order_Main.fieldbyname('FSID').AsString;
DateTimePicker1.DateTime := SGetServerDate10(ADOQueryTemp);
Panel5.Left := (self.Width - Panel5.Width) div 2;
Panel5.Visible := true;
end;
procedure TfrmFHSQList.Button6Click(Sender: TObject);
begin
Panel5.Visible := false;
end;
procedure TfrmFHSQList.Button5Click(Sender: TObject);
begin
try
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update FHSQ_Main SET fhDate=' + QuotedStr(Trim(FormatDateTime('yyyy-MM-dd', DateTimePicker1.Date))));
sql.Add('where FSID=' + quotedstr(trim(lblFSID.Caption)));
execsql;
end;
InitGrid();
Order_Main.Locate('FSID', lblFSID.Caption, []);
Panel5.Visible := false;
application.MessageBox('<27>޸ijɹ<C4B3><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
except
application.MessageBox('<27>޸<EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmFHSQList.btn1Click(Sender: TObject);
begin
if Order_Main.IsEmpty then
exit;
try
if Order_Main.FieldByName('crtype').AsString = '<27><><EFBFBD>۳<EFBFBD><DBB3><EFBFBD>' then
begin
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add('SELECT * FROM YF_MONEY_CR ');
sql.Add('where YFID=' + quotedstr(trim('Y' + Order_Main.fieldbyname('FSID').AsString)));
Open;
end;
if ADOQueryTemp.IsEmpty = True then
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
SQL.Add('EXEC P_Do_SCYSK @FSID=' + quotedstr(trim(Order_Main.fieldbyname('FSID').AsString)));
SQL.Add(',@DNAME=' + QuotedStr(Trim(DName)));
ExecSQL;
end;
end;
end;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update FHSQ_Main SET status=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ');
sql.Add('where FSID=' + quotedstr(trim(Order_Main.fieldbyname('FSID').AsString)));
// ShowMessage(SQL.Text);
execsql;
end;
Order_Main.Delete;
InitSubGrid();
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
except
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmFHSQList.Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
if Order_Main.IsEmpty = False then
begin
sql.Add('select A.*, B.ORDERNO,ISHT=cast((case when isnull((select count(CONNO) from SalesContract_Main X where X.CONNO=A.SCCONNO ),0)>0 then 1 else 0 end) as bit) from FHSQ_Sub A LEFT JOIN JYOrder_Main B ON A.MainId=B.MainId ');
sql.Add(' where A.FSId=''' + Trim(Order_Main.fieldbyname('FSId').AsString) + '''');
end
else
begin
sql.Add('select A.*, B.ORDERNO from FHSQ_Sub A LEFT JOIN JYOrder_Main B ON A.MainId=B.MainId ');
sql.Add(' where 1=2');
end;
Open;
end;
SCreateCDS20(ADOQueryTemp, ClientDataSet2);
SInitCDSData20(ADOQueryTemp, ClientDataSet2);
end;
procedure TfrmFHSQList.ToolButton3Click(Sender: TObject);
begin
if Order_Main.IsEmpty then
exit;
try
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add('SELECT * FROM YF_MONEY_CR ');
sql.Add('where YFID=' + quotedstr(trim('Y' + Order_Main.fieldbyname('FSID').AsString)));
// SQL.Add('AND STATUS=1');
Open;
end;
if ADOQueryTemp.IsEmpty = False then
begin
if ADOQueryTemp.fieldbyname('status').AsString = '1' then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><CBA3><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
Exit;
end
else
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('delete YF_MONEY_CR ');
sql.Add('where YFID=' + quotedstr(trim('Y' + Order_Main.fieldbyname('FSID').AsString)));
sql.Add('delete YF_MONEY_CR_SUB ');
sql.Add('where YFID=' + quotedstr(trim('Y' + Order_Main.fieldbyname('FSID').AsString)));
ExecSQL;
end;
end;
end;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update FHSQ_Main SET status='<><CEB4><EFBFBD><EFBFBD>'' ');
sql.Add('where FSID=' + quotedstr(trim(Order_Main.fieldbyname('FSID').AsString)));
// ShowMessage(SQL.Text);
execsql;
end;
Order_Main.Delete;
InitSubGrid();
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
except
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmFHSQList.ISHTClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmFHSQList.ToolButton4Click(Sender: TObject);
var
fDCNO: string;
begin
try
frmDCDList_Sel := TfrmDCDList_Sel.Create(Application);
with frmDCDList_Sel do
begin
if ShowModal = 1 then
begin
// self.TOCOUNTRY.Text := Trim(Order_Main.fieldbyname('TOCOUNTRY').AsString);
fDCNO := Trim(Order_Main.fieldbyname('DCNO').AsString);
end;
end;
finally
frmDCDList_Sel.Free;
end;
if fDCNO <> '' then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update FHSQ_MAIN ');
SQL.Add(' Set DCNO=' + QuotedStr(fDCNO));
sql.Add(' where FSID=''' + Trim(Order_Main.fieldbyname('FSID').AsString) + '''');
sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( ');
sql.Add(' ' + quotedstr(trim(DName)));
sql.Add(',getdate() ');
sql.Add(',' + quotedstr(trim(self.Caption)));
sql.Add(',' + quotedstr(trim('<27>޸Ķ<DEB8><C4B6>յ<EFBFBD><D5B5><EFBFBD>')));
sql.Add(',' + quotedstr(trim('<27><><EFBFBD>ţ<EFBFBD>' + trim(Order_Main.FieldByName('fsid').AsString) + '<27>޸IJպ<C4B2>Ϊ<EFBFBD><CEAA>' + trim(fDCNO))));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
ExecSQL;
end;
with Order_Main do
begin
Edit;
// CDS_HZ.fieldbyname('KKMONEY').value := Trim(mvalues);
Order_Main.fieldbyname('DCNO').value := fDCNO;
end;
tv1.Controller.EditingController.ShowEdit();
end;
// if trim(mvalues) <> '' then
// begin
end;
end.