D7gmYushang/发货申请(ShipmentRequest.dll)/U_FHSQListCX.pas

1079 lines
30 KiB
ObjectPascal
Raw Normal View History

2025-09-24 13:13:14 +08:00
unit U_FHSQListCX;
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;
type
TfrmFHSQListCX = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: 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;
Label9: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
CustomerNoName: TEdit;
HZSCConNo: TEdit;
cxTabControl1: TcxTabControl;
cxSplitter1: TcxSplitter;
ADOQuerySub: TADOQuery;
DataSource2: TDataSource;
v1Column8: TcxGridDBColumn;
Label2: TLabel;
ClientDataSet2: TClientDataSet;
cxGridPopupMenu2: TcxGridPopupMenu;
CDS_Note: TClientDataSet;
RM1: TRMGridReport;
v1Column13: TcxGridDBColumn;
v1Column17: TcxGridDBColumn;
v1Column18: TcxGridDBColumn;
v1Column19: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v1Column26: TcxGridDBColumn;
Panel5: TPanel;
Label28: TLabel;
Button5: TButton;
Button6: TButton;
DateTimePicker1: TDateTimePicker;
Label11: TLabel;
lblFSID: TLabel;
v1Column27: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
cv1Column12: TcxGridDBColumn;
cv1Column14: TcxGridDBColumn;
Tv1Column1: TcxGridDBColumn;
ToolButton2: TToolButton;
Tv1Column2: TcxGridDBColumn;
SQTYPE: TComboBox;
Label3: TLabel;
ToolButton3: TToolButton;
Tv1Column3: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
Label5: TLabel;
CRTYPE: TComboBox;
Label6: TLabel;
Label7: TLabel;
Label10: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
HZCODE: TEdit;
SALESMAN: TEdit;
SalesClass: TEdit;
FSID: TEdit;
HZcolor: TEdit;
HZganghao: TEdit;
ToolButton4: TToolButton;
ComboBox1: TComboBox;
ToolButton5: TToolButton;
Tv1Column5: TcxGridDBColumn;
Panel2: TPanel;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cv2Column10: TcxGridDBColumn;
cv2Column4: TcxGridDBColumn;
cv2Column7: TcxGridDBColumn;
cv2Column5: TcxGridDBColumn;
cv2Column6: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
Tv2Column5: TcxGridDBColumn;
Tv2Column1: TcxGridDBColumn;
Tv2Column6: TcxGridDBColumn;
Tv2Column2: TcxGridDBColumn;
Tv2Column3: TcxGridDBColumn;
Tv2Column4: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
cxGrid3: TcxGrid;
TV3: TcxGridDBTableView;
cxGridDBColumn1: TcxGridDBColumn;
cxGridDBColumn2: TcxGridDBColumn;
cxGridDBColumn3: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
CDS_CW: TClientDataSet;
DataSource3: TDataSource;
cxSplitter2: TcxSplitter;
TV3Column1: TcxGridDBColumn;
TV3Column2: TcxGridDBColumn;
TV3Column3: TcxGridDBColumn;
TV3Column4: TcxGridDBColumn;
TV3Column5: TcxGridDBColumn;
TV3Column6: TcxGridDBColumn;
TV3Column7: TcxGridDBColumn;
TV3Column8: TcxGridDBColumn;
TV3Column9: TcxGridDBColumn;
Tv2Column7: TcxGridDBColumn;
TV3Column10: TcxGridDBColumn;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
TV3Column11: TcxGridDBColumn;
TV3Column12: TcxGridDBColumn;
Tv1Column6: 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 Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure ToolButton2Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure btn1Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
procedure btn3Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure CRTYPEChange(Sender: TObject);
procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure ToolButton6Click(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
frmFHSQListCX: TfrmFHSQListCX;
implementation
uses
U_DataLink, U_FHSQInPut, U_Fun, U_ZDYHelp;
{$R *.dfm}
procedure TfrmFHSQListCX.SetStatus();
begin
ToolButton2.Visible := False;
ToolButton3.Visible := False;
TBPrint.Visible := True;
ToolButton4.Visible := True;
ToolButton5.Visible := False;
case cxTabControl1.TabIndex of
0:
begin
ToolButton2.Visible := true;
TBPrint.Visible := False;
ToolButton4.Visible := False;
ToolButton5.Visible := True;
end;
1:
begin
ToolButton3.Visible := true;
end;
end;
// Tnochk.Visible := False;
// btn2.Visible := False;
// btn3.Visible := False;
// case cxTabControl1.TabIndex of
// 0:
// begin
// btn2.Visible := true;
// end;
// 1:
// begin
// btn3.Visible := true;
// end;
// 2:
// begin
//
// end;
// end;
// if canshu1 = '<27><><EFBFBD><EFBFBD>' then
// begin
// case cxTabControl1.TabIndex of
// 0:
// begin
//
// end;
// 1:
// begin
// tchk.Visible := true;
// end;
// 2:
// begin
// Tnochk.Visible := true;
// end;
// end;
// end
// else if canshu1 = '<27><>Ȩ<EFBFBD><C8A8>' then
// begin
// case cxTabControl1.TabIndex of
// 0:
// begin
//
// end;
// 1:
// begin
//
// tchk.Visible := true;
// end;
// 2:
// begin
// Tnochk.Visible := true;
// end;
// end;
// end
// else
// begin
// end;
end;
procedure TfrmFHSQListCX.FormDestroy(Sender: TObject);
begin
frmFHSQListCX := nil;
end;
procedure TfrmFHSQListCX.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmFHSQListCX.FormCreate(Sender: TObject);
begin
cxgrid1.Align := alClient;
end;
procedure TfrmFHSQListCX.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
WriteCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', Tv2, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1');
WriteCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', Tv3, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3');
Close;
end;
procedure TfrmFHSQListCX.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(' ,isbd=(select isbd from Company E WHERE E.coname=A.CustomerNoName AND E.VALID=''Y'' AND CoType=''<27>ͻ<EFBFBD>'')');
SQL.Add(',SQPSHZ1=(SELECT COUNT(MJID) FROM FHSQ_SUB B WHERE A.FSID=B.FSID)');
SQL.Add(',SQQTYHZ1=(SELECT SUM(SQQTY) FROM FHSQ_SUB B WHERE A.FSID=B.FSID)');
Sql.Add(' ,HZSCConNo=CAST((select distinct(SCConNo) + '' '' from FHSQ_Sub X where A.FSID=X.FSID for xml path('''') ) AS VARCHAR(100))');
Sql.Add(' ,HZCODE=CAST((select distinct(SPrtCode) + '' '' from FHSQ_Sub X where A.FSID=X.FSID for xml path('''') ) AS VARCHAR(100))');
Sql.Add(' ,HZcolor=CAST((select distinct(prtcolor) + '' '' from FHSQ_Sub X where A.FSID=X.FSID for xml path('''') ) AS VARCHAR(100))');
Sql.Add(' ,HZganghao=CAST((select distinct(ganghao) + '' '' 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(',YFMONEY=isnull((SELECT SUM(QtyFlag*Money) FROM YF_MONEY_CR Y WHERE Y.FactoryName=A.CustomerNoName and y.YWY=a.Salesman and status=''1''');
sql.add('and ((crtime>=''2022-08-02'') or (ChkTime>=''2022-08-02'' and CRTime<''2022-08-02'') or crtype=''<27>տ<EFBFBD><D5BF>Ǽ<EFBFBD>'')),0) ');
sql.Add(' from FHSQ_Main A');
sql.Add(' where SQType IN(''<27><><EFBFBD><EFBFBD>'',''<27>ֻ<EFBFBD>'') ');
SQL.Add(' and isnull(A.Chker,'''')<>'''' ');
// 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.status,'<><CEB4><EFBFBD><EFBFBD>'')='<><CEB4><EFBFBD><EFBFBD>'' ');
end
else if cxTabControl1.TabIndex = 1 then
begin
SQL.Add(' and isnull(A.status,'<><CEB4><EFBFBD><EFBFBD>'')<>'<><CEB4><EFBFBD><EFBFBD>'' AND isnull(A.status,'<><CEB4><EFBFBD><EFBFBD>'')<>''<27><>ȡ<EFBFBD><C8A1>'' ');
end
else if cxTabControl1.TabIndex = 3 then
begin
SQL.Add('AND isnull(A.status,'<><CEB4><EFBFBD><EFBFBD>'')=''<27><>ȡ<EFBFBD><C8A1>'' ');
end;
if crtype.Text = '<27><><EFBFBD>۳<EFBFBD><DBB3><EFBFBD>' then
begin
SQL.Add(' and crtype=''<27><><EFBFBD>۳<EFBFBD><DBB3><EFBFBD>''');
end
else if crtype.Text = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
begin
SQL.Add(' and crtype<>''<27><><EFBFBD>۳<EFBFBD><DBB3><EFBFBD>''');
end;
// ShowMessage(sql.Text);
Open;
end;
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmFHSQListCX.InitForm();
begin
ReadCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
ReadCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', Tv2, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1');
ReadCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', Tv3, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3');
EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
BegDate.DateTime := EndDate.DateTime - 60;
InitGrid();
end;
procedure TfrmFHSQListCX.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 TfrmFHSQListCX.TBEditClick(Sender: TObject);
begin
if Order_Main.IsEmpty then
Exit;
if Trim(canshu1) = '<27><>Ȩ<EFBFBD><C8A8>' then
begin
if (cxTabControl1.TabIndex <> 0) and (cxTabControl1.TabIndex <> 1) then
Exit;
end;
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;
if (cxTabControl1.TabIndex <> 0) then
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 TfrmFHSQListCX.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;
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 TfrmFHSQListCX.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 TfrmFHSQListCX.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
Exit;
SelExportData(Tv1, ADOQueryMain, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>');
end;
procedure TfrmFHSQListCX.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('EXEC P_Print_XHSQD @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 TfrmFHSQListCX.TBRafreshClick(Sender: TObject);
begin
InitGrid();
TBFind.Click;
InitSubGrid();
end;
procedure TfrmFHSQListCX.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 TfrmFHSQListCX.FormShow(Sender: TObject);
begin
InitForm();
SetStatus();
end;
procedure TfrmFHSQListCX.CheckBox1Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmFHSQListCX.CheckBox2Click(Sender: TObject);
begin
TBRafresh.Click;
end;
procedure TfrmFHSQListCX.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 TfrmFHSQListCX.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 TfrmFHSQListCX.tchkClick(Sender: TObject);
begin
if Order_Main.IsEmpty then
exit;
if cxTabControl1.TabIndex <> 1 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 TfrmFHSQListCX.InitSubGrid();
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
if Order_Main.IsEmpty = False then
sql.Add('select A.*,B.ORDERNO 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 TfrmFHSQListCX.TnochkClick(Sender: TObject);
begin
if Order_Main.IsEmpty then
exit;
if cxTabControl1.TabIndex <> 2 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 TfrmFHSQListCX.cxTabControl1Change(Sender: TObject);
begin
TBRafresh.Click;
SetStatus();
end;
procedure TfrmFHSQListCX.Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
// with ADOQueryTemp do
// begin
// Close;
// sql.Clear;
// if Order_Main.IsEmpty = False then
// begin
// sql.Add('select A.*, B.ORDERNO from FHSQ_Sub A LEFT JOIN JYOrder_Main B ON A.MainId=B.MainId ');
// // sql.Add(' inner join CLoth_Sub B on A.SubId=B.SubId');
// // sql.Add(' inner join CLoth_Main C on B.MainId=C.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 TfrmFHSQListCX.ToolButton2Click(Sender: TObject);
begin
if Order_Main.IsEmpty then
exit;
if Order_Main.fieldbyname('FHPSHZ').AsString = '0' then
begin
application.MessageBox(<><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD>ɣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
exit;
end;
try
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update FHSQ_Main SET status='' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'',WCDATE=GETDATE(),WCPERSON=' + QuotedStr(Trim(DName)));
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 TfrmFHSQListCX.Button6Click(Sender: TObject);
begin
Panel5.Visible := false;
end;
procedure TfrmFHSQListCX.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 TfrmFHSQListCX.btn1Click(Sender: TObject);
begin
if Order_Main.IsEmpty then
exit;
try
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update FHSQ_Main SET status='' <20><><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 TfrmFHSQListCX.btn2Click(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 tjstatus=''<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>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
except
application.MessageBox('<27>ύʧ<E1BDBB>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmFHSQListCX.btn3Click(Sender: TObject);
begin
if Order_Main.IsEmpty then
exit;
if cxTabControl1.TabIndex <> 1 then
exit;
try
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update FHSQ_Main SET tjstatus=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 TfrmFHSQListCX.ToolButton3Click(Sender: TObject);
begin
if Order_Main.IsEmpty then
exit;
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add('select * from YF_Money_CR_SUB WHERE YFPZNO=' + quotedstr(trim(Order_Main.fieldbyname('FSID').AsString)));
Open;
end;
if ADOQueryTemp.IsEmpty = False then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3><EFBFBD>ֹȡ<D6B9><C8A1><EFBFBD><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
exit;
end;
try
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update FHSQ_Main SET status='<><CEB4><EFBFBD><EFBFBD>'',WCPERSON=NULL ');
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 TfrmFHSQListCX.CRTYPEChange(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmFHSQListCX.Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
begin
if Order_Main.IsEmpty = True then
begin
Exit;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
if Order_Main.IsEmpty = False then
begin
sql.Add('select A.*, B.ORDERNO ');
SQL.Add(',je=(case when orderUnit=''KG'' or orderUnit=''<27><><EFBFBD><EFBFBD>'' then Price*(fhqty-ISNULL(ADDM,0))+isnull(bgfee,0) else ');
sql.Add('Price*fhms+isnull(bgfee,0) end )');
// sql.Add(' inner join CLoth_Sub B on A.SubId=B.SubId');
// sql.Add(' inner join CLoth_Main C on B.MainId=C.MainId');
sql.Add('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);
with ADOQueryTemp do
begin
Close;
sql.Clear;
if Order_Main.IsEmpty = False then
begin
sql.Add(' exec P_YSSK_List_ZQ_z ');
sql.Add(' @begdate=' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', SGetServerDate10(ADOQueryCmd)))));
sql.Add(',@Enddate=' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', SGetServerDate10(ADOQueryCmd)))));
sql.Add(',@flag=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ');
SQL.Add(',@FactoryName=' + QuotedStr(Trim(Order_Main.fieldbyname('CustomerNoName').AsString)));
// sql.Add('SELECT FactoryName,YWY,SUM(QtyFlag*Money)money FROM YF_MONEY_CR Y ');
// SQL.Add('WHERE status=''1'' AND Y.FactoryName=' + QuotedStr(Trim(Order_Main.fieldbyname('CustomerNoName').AsString)));
// sql.add('and ((crtime>=''2022-08-02'') or (ChkTime>=''2022-08-02'' and CRTime<''2022-08-02'') or crtype=''<27>տ<EFBFBD><D5BF>Ǽ<EFBFBD>'') ');
// SQL.Add('GROUP BY FactoryName,YWY');
// ShowMessage(sql.Text);
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, CDS_CW);
SInitCDSData20(ADOQueryTemp, CDS_CW);
end;
procedure TfrmFHSQListCX.ToolButton4Click(Sender: TObject);
var
fPrintFile: string;
begin
if Order_Main.IsEmpty then
EXIT;
ExportFtErpFile(trim(ComboBox1.Text) + '.rmf', ADOQueryTemp);
if trim(ComboBox1.Text) = '<27><><EFBFBD><EFBFBD><EFBFBD>뵥1' then
begin
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.add('exec P_Print_CKMD4 @FSID=' + quotedstr(Trim(Order_Main.fieldbyname('FSID').AsString)));
Open;
end;
// SCreateCDS20(ADOQueryTemp, CDS_JuanPRT);
// SInitCDSData20(ADOQueryTemp, CDS_JuanPRT);
end;
if trim(ComboBox1.Text) = '<27><><EFBFBD><EFBFBD><EFBFBD>뵥2' then
begin
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.add('exec P_Print_CKMD2 @CKOrdNo=' + quotedstr(Trim(Order_Main.fieldbyname('FSID').AsString)));
Open;
end;
// SCreateCDS20(ADOQueryTemp, CDS_JuanPRT);
// SInitCDSData20(ADOQueryTemp, CDS_JuanPRT);
end;
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(ComboBox1.Text) + '.rmf';
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.add('UPDATE FHSQ_Main SET DYCS=ISNULL(DYCS,0)+1 WHERE FSID=' + quotedstr(Trim(Order_Main.fieldbyname('FSID').AsString)));
ExecSQL;
end;
if FileExists(fPrintFile) then
begin
// RMVariables['OrdNo'] := Trim(CDS_Main.fieldbyname('OrdNo').AsString)<29><>
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
end;
end;
procedure TfrmFHSQListCX.ToolButton5Click(Sender: TObject);
begin
if Order_Main.IsEmpty then
exit;
if Order_Main.fieldbyname('FHPSHZ').AsString <> '' then
begin
application.MessageBox('<27>ѷ<EFBFBD><D1B7><EFBFBD><EFBFBD><EFBFBD>ֹȡ<D6B9><C8A1><EFBFBD><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
exit;
end;
try
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update FHSQ_Main SET status=''<27><>ȡ<EFBFBD><C8A1>'' ');
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 TfrmFHSQListCX.ToolButton6Click(Sender: TObject);
begin
if Order_Main.IsEmpty = True then
Exit;
ShowMessage(Order_Main.fieldbyname('CustomerNoName').AsString + '<27><><EFBFBD>ۼ<EFBFBD>Ƿ<EFBFBD><C7B7>Ϊ<EFBFBD><CEAA>' + Order_Main.fieldbyname('YFMONEY').AsString);
end;
end.