D7YPDJlingyao/贸易管理(TradeManage.dll)/U_ContractList.pas
DESKTOP-E401PHE\Administrator 43fbfa8db2 ~
2025-07-19 16:53:04 +08:00

1100 lines
34 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_ContractList;
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,
cxTextEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator,
dxBarBuiltInMenu;
type
TfrmContractList = 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;
v1OrdPerson1: TcxGridDBColumn;
v1ConNo: TcxGridDBColumn;
v1MPRTSpec: TcxGridDBColumn;
Order_Main: TClientDataSet;
RM1: TRMGridReport;
RMDBDataSet1: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
v1CustomerNoName: TcxGridDBColumn;
v1PRTOrderQty: TcxGridDBColumn;
PopupMenu1: TPopupMenu;
N2: TMenuItem;
ToolButton1: TToolButton;
v1OrdDefStr1: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
ToolButton2: TToolButton;
ADOQueryPrint: TADOQuery;
CDS_Print: TClientDataSet;
v1Column4: TcxGridDBColumn;
PopupMenu2: TPopupMenu;
N11: TMenuItem;
N21: TMenuItem;
N31: TMenuItem;
Panel1: TPanel;
Label1: TLabel;
Label4: TLabel;
Label5: TLabel;
Label8: TLabel;
Label9: TLabel;
Label12: TLabel;
Label13: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
Shortened: TEdit;
PRTCodeName: TEdit;
MPRTCodeName: TEdit;
ConNo: TEdit;
MPRTKZ: TEdit;
MPRTMF: TEdit;
v1Column2: TcxGridDBColumn;
ToolButton4: TToolButton;
Label2: TLabel;
v1Column3: TcxGridDBColumn;
cxTabControl1: TcxTabControl;
Tchk: TToolButton;
Tnochk: TToolButton;
cxSplitter1: TcxSplitter;
cxGrid2: TcxGrid;
TV2: TcxGridDBTableView;
v1Column5: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1PRTColor: TcxGridDBColumn;
cxGridDBColumn1: TcxGridDBColumn;
cxGridDBColumn2: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
cxGridDBColumn3: TcxGridDBColumn;
v1OrderUnit: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
ADOQuerySub: TADOQuery;
DataSource2: TDataSource;
KHConNO: TEdit;
Label3: TLabel;
TQX: TToolButton;
TNOQX: TToolButton;
ToolButton3: TToolButton;
v1Column9: TcxGridDBColumn;
Label6: TLabel;
v1ConMoney: TcxGridDBColumn;
ThreeColorBase: TcxStyleRepository;
SHuangSe: TcxStyle;
SkyBlue: TcxStyle;
Default: TcxStyle;
QHuangSe: TcxStyle;
Red: TcxStyle;
FontBlue: TcxStyle;
TextSHuangSe: TcxStyle;
FonePurple: TcxStyle;
FoneClMaroon: TcxStyle;
FoneRed: TcxStyle;
RowColor: TcxStyle;
handBlack: TcxStyle;
cxBlue: TcxStyle;
cxStyle1: TcxStyle;
v1Column10: TcxGridDBColumn;
V2Column2: TcxGridDBColumn;
V2Column3: TcxGridDBColumn;
V2Column4: TcxGridDBColumn;
V2Column5: TcxGridDBColumn;
V2Column6: TcxGridDBColumn;
V2Column7: TcxGridDBColumn;
v1Column11: TcxGridDBColumn;
cxGridPopupMenu2: TcxGridPopupMenu;
V2Column1: TcxGridDBColumn;
v1Column13: TcxGridDBColumn;
v1Column14: TcxGridDBColumn;
Panel4: TPanel;
Label14: TLabel;
Panel10: TPanel;
Image2: TImage;
Button1: TButton;
RadioGroup1: TRadioGroup;
v1Column15: TcxGridDBColumn;
V2Column8: TcxGridDBColumn;
v1Column16: TcxGridDBColumn;
v1Column17: TcxGridDBColumn;
v1Column18: TcxGridDBColumn;
v1Column19: TcxGridDBColumn;
v1Column20: TcxGridDBColumn;
v1Column21: TcxGridDBColumn;
v1Column22: TcxGridDBColumn;
v1Column23: TcxGridDBColumn;
v1Column24: TcxGridDBColumn;
v1Column25: TcxGridDBColumn;
Label7: TLabel;
middleman: TEdit;
V2Column9: TcxGridDBColumn;
V2Column10: TcxGridDBColumn;
V2Column11: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
v1Column26: TcxGridDBColumn;
v1Column27: TcxGridDBColumn;
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 Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure TBTPClick(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
procedure v1DeliveryDateCustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ShortenedChange(Sender: TObject);
procedure ConNoKeyPress(Sender: TObject; var Key: Char);
procedure ToolButton4Click(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure TchkClick(Sender: TObject);
procedure TnochkClick(Sender: TObject);
procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
procedure TQXClick(Sender: TObject);
procedure TNOQXClick(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
procedure Button1Click(Sender: TObject);
procedure Image2Click(Sender: TObject);
private
DQdate: TDateTime;
fuserName: string;
procedure InitGrid();
procedure InitForm();
function DelData(): Boolean;
procedure InitGridFH();
procedure SetStatus();
procedure InitSub();
{ Private declarations }
public
FFInt, FCloth: Integer;
canshu1, FMainID: string;
{ Public declarations }
end;
var
frmContractList: TfrmContractList;
implementation
uses
U_DataLink, U_ConInPut, U_Fun, U_ZDYHelp, U_FjList_RZ;
{$R *.dfm}
procedure TfrmContractList.InitSub();
begin
ADOQuerySub.Close;
if Order_Main.IsEmpty then
exit;
with ADOQuerySub do
begin
close;
sql.Clear;
sql.Add('select * from JYOrderCon_sub ');
sql.Add('where mainID =' + quotedstr((Order_Main.fieldbyname('mainID').AsString)));
open;
end;
end;
procedure TfrmContractList.SetStatus();
begin
tchk.Visible := false;
tnochk.Visible := false;
tbedit.Visible := false;
tbdel.Visible := false;
Tqx.Visible := false;
TNoqx.Visible := false;
if Trim(canshu1) = '<27><>Ȩ<EFBFBD><C8A8>' then
begin
case cxTabControl1.TabIndex of
0:
begin
tchk.Visible := true;
tbedit.Visible := true;
tbdel.Visible := true;
Tqx.Visible := true;
end;
1:
begin
tnochk.Visible := true;
Tqx.Visible := true;
end;
2:
begin
TNoqx.Visible := true;
end;
3:
begin
// TNoqx.Visible:=true;
end;
end;
end
else if Trim(canshu1) = '<27><>ѯ' then
begin
case cxTabControl1.TabIndex of
0:
begin
TBAdd.Visible := False;
ToolButton2.Visible := False;
end;
1:
begin
TBAdd.Visible := False;
ToolButton2.Visible := False;
end;
2:
begin
TBAdd.Visible := False;
ToolButton2.Visible := False;
end;
3:
begin
TBAdd.Visible := False;
ToolButton2.Visible := False;
end;
end;
end
else
begin
case cxTabControl1.TabIndex of
0:
begin
tbedit.Visible := true;
tbdel.Visible := true;
Tqx.Visible := true;
end;
1:
begin
Tqx.Visible := true;
tnochk.Visible := true;
end;
2:
begin
TNoqx.Visible := true;
end;
3:
begin
end;
end;
end;
end;
procedure TfrmContractList.FormDestroy(Sender: TObject);
begin
frmContractList := nil;
end;
procedure TfrmContractList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmContractList.FormCreate(Sender: TObject);
begin
cxgrid1.Align := alClient;
//BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp)-7;
//EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp);
DQdate := SGetServerDate(ADOQueryTemp);
canshu1 := trim(DParameters1);
end;
procedure TfrmContractList.TBCloseClick(Sender: TObject);
begin
Close;
WriteCxGrid(self.Caption + tv1.Name, Tv1, '<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
WriteCxGrid(self.Caption + tv2.Name, Tv2, '<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmContractList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add('select A.*,A.ConNo ConNoM ');
sql.Add(',PRTCodeName=(stuff((select '';''+PRTCodeName from JYOrderCon_Sub X where X.mainid=A.mainid for xml path('''')),1,1,''''))');
sql.add(',Shortened=(select top 1 Shortened from KH_Zdy_Attachment X where X.zdycode=A.CustomerNo)');
SQL.Add(',ZKG=(select cast(Sum(PRTOrderQty) as decimal(18,0)) from JYOrderCon_Sub B where B.MainId=A.MainId and B.OrderUnit in (''KG'',''kg'',''<27><><EFBFBD><EFBFBD>'','<><C7A7>'',''Kg'',''kG''))');
SQL.Add(',ZM=(select cast(Sum(case when OrderUnit not in (''Y'',''y'',''<27><>'') then PRTOrderQty else PRTOrderQty*0.9144 end )as decimal(18,0)) from JYOrderCon_Sub B where B.MainId=A.MainId and B.OrderUnit not in (''KG'',''kg'',''<27><><EFBFBD><EFBFBD>'','<><C7A7>'',''Kg'',''kG''))');
SQL.Add(',PRTOrderQty=(select Sum(PRTOrderQty) from JYOrderCon_Sub B where B.MainId=A.MainId )');
SQL.Add(',ConMoney=cast((select Sum((PRTOrderQty*PRTPrice+sordQty1+sordQty2)) from JYOrderCon_Sub B where B.MainId=A.MainId) as decimal(18,2))');
SQL.Add(',ConBMoney=(select Sum((PRTOrderQty*PRTPrice+sordQty1+sordQty2)*huilv) from JYOrderCon_Sub B where B.MainId=A.MainId)');
SQL.Add(',ConHYMoney=case when (select top 1 PRTHYPrice from JYOrderCon_Sub XX where XX.mainid=A.mainid order by PRTHYPrice desc)<>0 then (select Sum((PRTOrderQty*PRTHYPrice+sordQty1+sordQty2)*huilv) from JYOrderCon_Sub B where B.MainId=A.MainId) else 0 end');
SQL.Add(',OrderUnit=(select top 1 OrderUnit from JYOrderCon_Sub B where B.MainId=A.MainId)');
SQL.Add(',PriceUnit=(select top 1 PriceUnit from JYOrderCon_Sub B where B.MainId=A.MainId)');
SQL.Add(',PRTPrice=(select top 1 PRTPrice from JYOrderCon_Sub B where B.MainId=A.MainId)');
SQL.Add(',case when isnull((select top 1 X.conNO from Contract_Main X where X.conNo=A.conNO) ,'''')='''' then ''<27><>'' else ''<27><>'' end as IScg ');
sql.Add(',ISSC=cast((case when isnull((select count(WBID) from TP_File X where X.WBID=A.maiNID and X.TFType=''<27><>ͬ''),0)>0 then 1 else 0 end) as bit)');
sql.Add(' from JYOrderCon_Main A ');
// sql.Add(' left join Contract_Main B on B.conNO=A.conNo ');
SQL.Add('where A.OrdDate>=''' + FormatDateTime('yyyy-MM-dd', BegDate.DateTime) + '''');
SQL.Add('and A.OrdDate<''' + FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1) + '''');
sql.Add(' and A.MPRTType=''<27><><EFBFBD><EFBFBD>'' ');
if (Trim(canshu1) <> '<27><>Ȩ<EFBFBD><C8A8>') and (Trim(canshu1) <> '<27><>ѯ') then
begin
sql.Add('and (A.Filler=''' + Trim(DName) + ''' or A.ConPerson5=''' + Trim(DName) + ''' or A.ConPerson1 like ''' + '%' + Trim(DName) + '%' + ''')');
end;
if cxTabControl1.TabIndex < 3 then
begin
sql.Add(' and isnull(A.status,''0'')=''' + inttostr(cxTabControl1.TabIndex) + '''');
end;
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmContractList.InitGridFH();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add('exec Order_QryList :MainId,:WSql');
Parameters.ParamByName('WSql').Value := ' and FillTime>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)) + '''' + ' and FillTime<''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.DateTime + 1)) + '''';
Open;
end;
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmContractList.InitForm();
begin
readCxGrid(self.Caption + tv1.Name, Tv1, '<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
readCxGrid(self.Caption + tv2.Name, Tv2, '<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
if FCloth = 1 then
begin
v1Column4.Visible := True;
// v1PRTPrice.Visible:=False;
// v1PRTPrice.Hidden:=True;
end
else
begin
v1Column4.Visible := False;
// v1PRTPrice.Visible:=True;
// v1PRTPrice.Hidden:=False;
end;
EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
BegDate.DateTime := EndDate.DateTime - 30;
InitGrid();
end;
procedure TfrmContractList.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 TfrmContractList.TBEditClick(Sender: TObject);
begin
if Order_Main.IsEmpty then
Exit;
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;
try
frmConInPut := TfrmConInPut.Create(Application);
with frmConInPut do
begin
PState := 1;
FMainId := Trim(Self.Order_Main.fieldbyname('MainId').AsString);
canshu1 := self.canshu1;
if ShowModal = 1 then
begin
Self.FMainID := frmConInPut.FMainId;
Self.TBRafresh.Click;
if FMainID <> '' then
begin
self.Order_Main.Locate('mainid', FMainID, []);
FMainID := '';
end;
end;
end;
finally
frmConInPut.Free;
end;
end;
procedure TfrmContractList.TBDelClick(Sender: TObject);
begin
if Order_Main.IsEmpty then
Exit;
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 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;
end;
end;
function TfrmContractList.DelData(): Boolean;
begin
try
Result := false;
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete JYOrderCon_Sub where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + '''');
sql.Add('delete JYOrderCon_Main where MainId=''' + Trim(Order_Main.fieldbyname('MainId').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><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬɾ<CDAC><C9BE>')));
sql.Add(',' + quotedstr(trim('<27><>ͬ<EFBFBD>ţ<EFBFBD>' + trim(Order_Main.FieldByName('conNo').AsString))));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
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 TfrmContractList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
Exit;
SelExportData(Tv1, ADOQueryMain, '<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD>б<EFBFBD>');
end;
procedure TfrmContractList.TBPrintClick(Sender: TObject);
begin
if Order_Main.IsEmpty then
Exit;
Panel4.Left := (self.Width - Panel4.Width) div 2;
Panel4.Visible := true;
end;
//var
// fPrintFile:string;
// EngMoney:string;
// fRMXLSExport1:TRMXLSExport;
//begin
// if Order_Main.IsEmpty then Exit;
// fRMXLSExport1:= TRMXLSExport.Create(self);
// fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ.rmf' ;
// with ADOQueryPrint do
// begin
// Close;
// sql.Clear;
// sql.Add('exec P_Print_WXHT1');
// sql.add('@mainID='+quotedstr(trim(Order_Main.fieldbyname('MainID').AsString)));
// Open;
// end;
// SCreateCDS20(ADOQueryPrint,CDS_Print);
// SInitCDSData20(ADOQueryPrint,CDS_Print);
// //
// with ADOQueryTemp do
// begin
// close;
// sql.Clear;
// sql.Add('select TolConMoney=Sum(PRTOrderQty*PRTPrice)');
// sql.Add(' from JYOrderCon_Main A inner join JYOrderCon_Sub B on A.MainId=B.MainId ');
// sql.Add(' where A.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+'''');
// Open;
// end;
// EngMoney:=num2cengnum(ADOQueryTemp.fieldbyname('TolConMoney').AsString);
// EngMoney:=UpperCase(EngMoney);
// if FileExists(fPrintFile) then
// begin
// RMVariables['EngMoney']:=EngMoney;
// // RM1.PreviewButtons:=[pbZoom,pbLoad,pbSave,pbPrint,pbFind,pbPageSetup,pbExit,pbSaveToXLS,pbExport,pbNavigator];
// //RMVariables['enddate']:=enddate.DateTime;
// //RMVariables['printtime']:=Now;
// //RMVariables['printer']:=Trim(gUserName);
// RM1.LoadFromFile(fPrintFile);
// RM1.ShowReport;
// end else
// begin
// Application.MessageBox(PChar('û<><C3BB><EFBFBD><EFBFBD>'+ExtractFilePath(Application.ExeName)+'Report\Ӣ<>ĺ<EFBFBD>ͬ.rmf'),'<27><>ʾ',0);
// end;
// fRMXLSExport1.Free;
//end;
procedure TfrmContractList.TBRafreshClick(Sender: TObject);
begin
InitGrid();
TBFind.Click;
end;
procedure TfrmContractList.TBAddClick(Sender: TObject);
var
maxno: string;
begin
try
frmConInPut := TfrmConInPut.Create(Application);
with frmConInPut do
begin
PState := 0;
FMainId := '';
canshu1 := self.canshu1;
if ShowModal = 1 then
begin
Self.FMainID := frmConInPut.FMainId;
Self.TBRafresh.Click;
if FMainID <> '' then
begin
self.Order_Main.Locate('mainid', FMainID, []);
FMainID := '';
end;
end;
end;
finally
frmConInPut.Free;
end;
end;
procedure TfrmContractList.FormShow(Sender: TObject);
begin
cxTabControl1.TabIndex := 3;
InitForm();
SetStatus();
end;
procedure TfrmContractList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
if ToolButton1.Visible = False then
Exit;
ToolButton1.Click;
end;
procedure TfrmContractList.TBTPClick(Sender: TObject);
var
FQty, FQty1, FMxQty, FPQty, FMxQtyS, FPQtyS: string;
begin
end;
procedure TfrmContractList.CheckBox1Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmContractList.CheckBox2Click(Sender: TObject);
begin
TBRafresh.Click;
end;
procedure TfrmContractList.Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
var
id, id10: Integer;
begin
{try
if Tv1.GroupedItemCount=0 then
begin
Id:=Tv1.GetColumnByFieldName('DeliveryDate').Index-tv1.GroupedItemCount;
Id10:=Tv1.GetColumnByFieldName('SubStatus').Index-tv1.GroupedItemCount;
if Trim(VarToStr(ARecord.Values[id]))='' then Exit;
if Id<0 then Exit;
if ARecord.Values[id10]='<27><><EFBFBD><EFBFBD>' then exit;
if (ARecord.Values[id]-DQdate)>=4 then Exit;
if ((ARecord.Values[id]-DQdate)>=0) and ((ARecord.Values[id]-DQdate)<4) then
AStyle:=DataLink_.QHuangSe
else
if ARecord.Values[id]-DQdate<0 then
begin
AStyle:=DataLink_OrderManage.FenHongS;
end;
end else
begin
end;
except
end; }
end;
procedure TfrmContractList.v1DeliveryDateCustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
{ Id:=TV1.GetColumnByFieldName('DeliveryDate').Index;//;-TV1.GroupedItemCount;
Id10:=TV1.GetColumnByFieldName('SubStatus').Index;
if Id<0 then Exit;
if AViewInfo.GridRecord.Values[Id10]='<27><><EFBFBD><EFBFBD>' then Exit;
if AViewInfo.GridRecord.Values[Id]-SGetServerDate(ADOQueryTemp)>=4 then Exit;
if ((AViewInfo.GridRecord.Values[id]-SGetServerDate10(ADOQueryTemp))>=0) and ((AViewInfo.GridRecord.Values[id]-SGetServerDate(ADOQueryTemp))<4) then
ACanvas.Brush.Color:=clYellow
else
if (AViewInfo.GridRecord.Values[id])-(SGetServerDate10(ADOQueryTemp)<0) then
begin
ACanvas.Brush.Color:=clRed;
end;
begin
ACanvas.Brush.Color:=clRed;
end else
if AViewInfo.GridRecord.Values[Id]='Purple' then
begin
ACanvas.Brush.Color:=clPurple;
end else
if AViewInfo.GridRecord.Values[Id]='Olive' then
begin
ACanvas.Brush.Color:=clOlive;
end else
if AViewInfo.GridRecord.Values[Id]='Teal' then
begin
ACanvas.Brush.Color:=clTeal;
end else
if AViewInfo.GridRecord.Values[Id]='Background' then
begin
ACanvas.Brush.Color:=clBackground;
end; }
end;
procedure TfrmContractList.N1Click(Sender: TObject);
var
fPrintFile: string;
Porderno: string;
begin
if Order_Main.IsEmpty then
Exit;
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE>10.rmf';
SDofilter(ADOQueryMain, ' OrderNoM=''' + Trim(Order_Main.fieldbyname('OrderNoM').AsString) + '''');
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
Porderno := Trim(Order_Main.fieldbyname('OrderNoM').AsString);
if FileExists(fPrintFile) then
begin
//RMVariables['begindate']:=begindate.DateTime;
//RMVariables['enddate']:=enddate.DateTime;
//RMVariables['printtime']:=Now;
//RMVariables['printer']:=Trim(gUserName);
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE>10.rmf'), '<27><>ʾ', 0);
end;
SDofilter(ADOQueryMain, '');
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
Order_Main.Locate('ordernoM', Porderno, []);
end;
procedure TfrmContractList.N2Click(Sender: TObject);
var
fPrintFile: string;
Porderno: string;
begin
if Order_Main.IsEmpty then
Exit;
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE>.rmf';
SDofilter(ADOQueryMain, ' OrderNoM=''' + Trim(Order_Main.fieldbyname('OrderNoM').AsString) + '''');
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
Porderno := Trim(Order_Main.fieldbyname('OrderNoM').AsString);
if FileExists(fPrintFile) then
begin
//RMVariables['begindate']:=begindate.DateTime;
//RMVariables['enddate']:=enddate.DateTime;
//RMVariables['printtime']:=Now;
//RMVariables['printer']:=Trim(gUserName);
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE>.rmf'), '<27><>ʾ', 0);
end;
SDofilter(ADOQueryMain, '');
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
Order_Main.Locate('ordernoM', Porderno, []);
end;
procedure TfrmContractList.ToolButton1Click(Sender: TObject);
begin
if Order_Main.IsEmpty then
Exit;
try
frmConInPut := TfrmConInPut.Create(Application);
with frmConInPut do
begin
PState := 1;
FMainId := Trim(Self.Order_Main.fieldbyname('MainId').AsString);
ToolBar2.Visible := False;
TBSave.Visible := False;
ScrollBox1.Enabled := False;
Tv1.OptionsSelection.CellSelect := False;
if ShowModal = 1 then
begin
end;
end;
finally
frmConInPut.Free;
end;
end;
procedure TfrmContractList.ToolButton2Click(Sender: TObject);
begin
if Order_Main.IsEmpty then
Exit;
try
frmConInPut := TfrmConInPut.Create(Application);
with frmConInPut do
begin
PState := 1;
CopyInt := 99;
FMainId := Trim(Self.Order_Main.fieldbyname('MainId').AsString);
canshu1 := self.canshu1;
if ShowModal = 1 then
begin
Self.TBRafresh.Click;
end;
end;
finally
frmConInPut.Free;
end;
end;
procedure TfrmContractList.ShortenedChange(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 TfrmContractList.ConNoKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
if Length(Tedit(Sender).Text) < 1 then
Exit;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
SQL.Clear;
sql.Add('select * from (');
sql.Add('select A.*,A.ConNo ConNoM ');
sql.Add(',PRTCodeName=stuff((select '';''+PRTCodeName from JYOrderCon_Sub X where X.mainid=A.mainid for xml path('''')),1,1,'''')');
sql.add(',Shortened=(select top 1 Shortened from KH_Zdy_Attachment X where X.zdycode=A.CustomerNo)');
SQL.Add(',PRTOrderQty=(select Sum(PRTOrderQty) from JYOrderCon_Sub B where B.MainId=A.MainId)');
SQL.Add(',ConMoney=(select Sum((PRTOrderQty*PRTPrice+sordQty1+sordQty2)*huilv) from JYOrderCon_Sub B where B.MainId=A.MainId)');
SQL.Add(',ConBMoney=(select Sum((PRTOrderQty*PRTPrice+sordQty1+sordQty2)*huilv) from JYOrderCon_Sub B where B.MainId=A.MainId)');
SQL.Add(',ConHYMoney=case when (select top 1 PRTHYPrice from JYOrderCon_Sub XX where XX.mainid=A.mainid order by PRTHYPrice desc)<>0 then (select Sum((PRTOrderQty*PRTHYPrice+sordQty1+sordQty2)*huilv) from JYOrderCon_Sub B where B.MainId=A.MainId) else 0 end');
SQL.Add(',OrderUnit=(select top 1 OrderUnit from JYOrderCon_Sub B where B.MainId=A.MainId)');
SQL.Add(',PriceUnit=(select top 1 PriceUnit from JYOrderCon_Sub B where B.MainId=A.MainId)');
SQL.Add(',PRTPrice=(select top 1 PRTPrice from JYOrderCon_Sub B where B.MainId=A.MainId)');
SQL.Add(',case when isnull((select top 1 X.conNO from Contract_Main X where X.conNo=A.conNO) ,'''')='''' then ''<27><>'' else ''<27><>'' end as IScg ');
sql.Add(',ISSC=cast((case when isnull((select count(WBID) from TP_File X where X.WBID=A.maiNID and X.TFType=''<27><>ͬ''),0)>0 then 1 else 0 end) as bit)');
sql.Add(' from JYOrderCon_Main A ');
SQL.Add('where OrdDate>=''' + '1899-01-01' + '''');
SQL.Add('and OrdDate<''' + '2050-01-01' + '''');
sql.Add(' and MPRTType=''<27><><EFBFBD><EFBFBD>'' ');
sql.Add(')AA where 1=1');
if (Trim(canshu1) <> '<27><>Ȩ<EFBFBD><C8A8>') and (Trim(canshu1) <> '<27><>ѯ') then
begin
sql.Add('and AA.Filler=''' + Trim(DName) + '''');
end;
sql.Add(' and ' + Tedit(Sender).Name + ' like ' + quotedstr(trim('%' + trim(Tedit(Sender).Text) + '%')));
// sql.Add(' and ConNo like '''+'%'+Trim(ConNoM.Text)+'%'+'''');
Open;
end;
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
end;
procedure TfrmContractList.ToolButton4Click(Sender: TObject);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'MPRTNameType';
flagname := '<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
V1HelpType.Visible := True;
V1HelpType.Caption := '<27><>д<EFBFBD><D0B4>';
fnote := True;
V1Name.Caption := '<27><><EFBFBD><EFBFBD>';
V1Note.Caption := <><D3A2>';
if ShowModal = 1 then
begin
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmContractList.cxTabControl1Change(Sender: TObject);
begin
SetStatus();
TBRafresh.Click;
end;
procedure TfrmContractList.TchkClick(Sender: TObject);
begin
if Order_Main.IsEmpty then
exit;
try
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update JYOrdercon_Main SET status=''1'' ');
sql.Add('where mainID=' + quotedstr(trim(Order_Main.fieldbyname('mainID').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><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>')));
sql.Add(',' + quotedstr(trim('<27><>ͬ<EFBFBD>ţ<EFBFBD>' + trim(Order_Main.FieldByName('conNo').AsString))));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
execsql;
end;
application.MessageBox('<27><><EFBFBD>˳ɹ<CBB3><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
TBRafresh.Click;
except
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmContractList.TnochkClick(Sender: TObject);
begin
if Order_Main.IsEmpty then
exit;
try
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update JYOrdercon_Main SET status=''0'' ');
sql.Add('where mainID=' + quotedstr(trim(Order_Main.fieldbyname('mainID').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><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>')));
sql.Add(',' + quotedstr(trim('<27><>ͬ<EFBFBD>ţ<EFBFBD>' + trim(Order_Main.FieldByName('conNo').AsString))));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
execsql;
end;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳ɹ<CBB3><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
TBRafresh.Click;
except
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmContractList.Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
begin
InitSub();
end;
procedure TfrmContractList.TQXClick(Sender: TObject);
begin
if Order_Main.IsEmpty then
exit;
try
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update JYOrdercon_Main SET status=''2'' ');
sql.Add('where mainID=' + quotedstr(trim(Order_Main.fieldbyname('mainID').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><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬȡ<CDAC><C8A1>')));
sql.Add(',' + quotedstr(trim('<27><>ͬ<EFBFBD>ţ<EFBFBD>' + trim(Order_Main.FieldByName('conNo').AsString))));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
execsql;
end;
application.MessageBox('<27><>ͬȡ<CDAC><C8A1><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
TBRafresh.Click;
except
application.MessageBox('<27><>ͬȡ<CDAC><C8A1>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmContractList.TNOQXClick(Sender: TObject);
begin
if Order_Main.IsEmpty then
exit;
try
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update JYOrdercon_Main SET status=''0'' ');
sql.Add('where mainID=' + quotedstr(trim(Order_Main.fieldbyname('mainID').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><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>')));
sql.Add(',' + quotedstr(trim('<27><>ͬ<EFBFBD>ţ<EFBFBD>' + trim(Order_Main.FieldByName('conNo').AsString))));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
execsql;
end;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬȡ<CDAC><C8A1><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
TBRafresh.Click;
except
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬȡ<CDAC><C8A1>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmContractList.ToolButton3Click(Sender: TObject);
begin
if Order_Main.IsEmpty then
Exit;
try
frmFjList_RZ := TfrmFjList_RZ.Create(Application);
with frmFjList_RZ do
begin
// PState:=1;
if Trim(DParameters1) <> '<27><>Ȩ<EFBFBD><C8A8>' then
cxButton1.Visible := false;
fkeyNO := Trim(Self.Order_Main.fieldbyname('MainId').AsString);
fType := '<27><>ͬ';
if ShowModal = 1 then
begin
end;
end;
finally
frmFjList_RZ.Free;
end;
end;
procedure TfrmContractList.Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
if AViewInfo.GridRecord.Values[tv1.GetColumnByFieldName('status').Index] = '2' then
ACanvas.Brush.Color := clLime;
end;
procedure TfrmContractList.Button1Click(Sender: TObject);
var
LBName, fPrintFile: string;
EngMoney: string;
fRMXLSExport1: TRMXLSExport;
begin
if Order_Main.IsEmpty then
Exit;
LBName := RadioGroup1.Items.Strings[RadioGroup1.ItemIndex];
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(LBName) + '.rmf';
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.Add('exec P_Print_WXHT1');
sql.add('@mainID=' + quotedstr(trim(Order_Main.fieldbyname('MainID').AsString)));
Open;
end;
SCreateCDS20(ADOQueryPrint, CDS_Print);
SInitCDSData20(ADOQueryPrint, CDS_Print);
//
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add('select TolConMoney=Sum(PRTOrderQty*PRTPrice)');
sql.Add(' from JYOrderCon_Main A inner join JYOrderCon_Sub B on A.MainId=B.MainId ');
sql.Add(' where A.MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + '''');
Open;
end;
EngMoney := num2cengnum(ADOQueryTemp.fieldbyname('TolConMoney').AsString);
EngMoney := UpperCase(EngMoney);
if FileExists(fPrintFile) then
begin
RMVariables['EngMoney'] := EngMoney;
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + trim(fPrintFile)), '<27><>ʾ', 0);
end;
end;
procedure TfrmContractList.Image2Click(Sender: TObject);
begin
Panel4.Visible := false;
end;
end.