D7FZaideng/艾登贸易管理/U_ContractList.pas
DESKTOP-E401PHE\Administrator 82c6347dad ~
2025-04-30 16:21:22 +08:00

1641 lines
48 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, ComObj;
type
FdDy = record
inc: integer; //客户端套接字句柄
FDdys: string[32]; //客户端套接字
FdDysName: string[32]; //客户端套接字
end;
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;
v1DeliveryDate: 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;
CustomerNoName: TEdit;
ConPerson1: 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;
v1PRTPrice: TcxGridDBColumn;
v1PriceUnit: TcxGridDBColumn;
cxGridDBColumn4: TcxGridDBColumn;
cxGridDBColumn5: 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;
V2Column1: TcxGridDBColumn;
V2Column3: TcxGridDBColumn;
V2Column4: TcxGridDBColumn;
V2Column2: TcxGridDBColumn;
V2Column5: TcxGridDBColumn;
ToolButton5: TToolButton;
OpenDialog1: TOpenDialog;
cxGrid3: TcxGrid;
TV3: TcxGridDBTableView;
TV3Column2: TcxGridDBColumn;
TV3Column1: TcxGridDBColumn;
cxGridDBColumn6: TcxGridDBColumn;
cxGridDBColumn7: TcxGridDBColumn;
cxGridDBColumn11: TcxGridDBColumn;
cxGridDBColumn13: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
ToolButton6: TToolButton;
N1: TMenuItem;
ToolButton7: TToolButton;
TV2Column1: TcxGridDBColumn;
ToolButton8: TToolButton;
Order_sub: TClientDataSet;
Tv1Column1: TcxGridDBColumn;
ToolButton9: TToolButton;
TV3Column3: TcxGridDBColumn;
TV3Column4: TcxGridDBColumn;
cxGrid4: TcxGrid;
TV4: TcxGridDBTableView;
cxGridDBColumn8: TcxGridDBColumn;
cxGridDBColumn9: TcxGridDBColumn;
cxGridDBColumn10: TcxGridDBColumn;
cxGridDBColumn12: TcxGridDBColumn;
cxGridDBColumn14: TcxGridDBColumn;
cxGridDBColumn15: TcxGridDBColumn;
cxGridDBColumn16: TcxGridDBColumn;
cxGridDBColumn17: TcxGridDBColumn;
cxGridLevel3: TcxGridLevel;
Panel2: TPanel;
Label7: TLabel;
Button2: TButton;
Button3: TButton;
Edit1: TEdit;
ToolButton10: TToolButton;
Cds_Print1: TClientDataSet;
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 CustomerNoNameChange(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 ToolButton5Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure ToolButton7Click(Sender: TObject);
procedure ToolButton8Click(Sender: TObject);
procedure ToolButton9Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure ToolButton10Click(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;
{ Public declarations }
end;
var
frmContractList: TfrmContractList;
dFdDy: array[0..120] of FdDy;
implementation
uses
U_DataLink, U_ConInPut, U_Fun, U_ZDYHelp, U_FjList_RZ, U_LabelList,
U_LabelListts;
{$R *.dfm}
procedure TfrmContractList.InitSub();
begin
ADOQuerySub.Close;
if Order_Main.IsEmpty then
exit;
with ADOQuerySub do
begin
close;
sql.Clear;
sql.Add('select A.*,IScZ=isnull((select count(MainID) from JYOrder_Sub X where X.Sorddefstr10=A.subID),0) from JYOrderCon_sub A ');
sql.Add('where mainID =' + quotedstr((Order_Main.fieldbyname('mainID').AsString)));
open;
end;
SCreateCDS20(ADOQuerySub, Order_sub);
SInitCDSData20(ADOQuerySub, Order_sub);
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(DParameters1)<>'高权限' then
begin
case cxTabControl1.TabIndex of
0:begin
IF trim(DCode)<>'A2' then
begin
tbedit.Visible:=true;
tbdel.Visible:=true;
end;
Tqx.Visible:=true;
end;
1:begin
Tqx.Visible:=true;
end;
2:begin
TNoqx.Visible:=true;
end;
3:begin
end;
end;
end
else
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; }
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;
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);
end;
procedure TfrmContractList.TBCloseClick(Sender: TObject);
begin
Close;
if FCloth <> 1 then
WriteCxGrid('订单合同列表', Tv1, '生产指示单管理1')
else
WriteCxGrid('订单合同列表选择', Tv1, '生产指示单管理1');
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(',PRTOrderQty=(select Sum(PRTOrderQty) from JYOrderCon_Sub B where B.MainId=A.MainId)');
SQL.Add(',ConMoney=(select Sum(PRTOrderQty*PRTPrice) from JYOrderCon_Sub B where B.MainId=A.MainId)');
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(',ISSC=cast((case when isnull((select count(WBID) from TP_File X where X.WBID=A.maiNID and X.TFType=''合同''),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=''外销'' ');
if Trim(DParameters1) <> '高权限' then
begin
sql.Add('and A.Filler=''' + Trim(DName) + '''');
end;
if cxTabControl1.TabIndex < 2 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
if FCloth <> 1 then
ReadCxGrid('订单合同列表', Tv1, '生产指示单管理1')
else
ReadCxGrid('订单合同列表选择', Tv1, '生产指示单管理1');
// 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;
BegDate.DateTime := SGetServerDate10(ADOQueryTemp) - 30;
EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
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('不能操作他人的数据!', '提示', 0);
Exit;
end;
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add('select mainID from JYOrder_main A where ConNo=' + quotedstr(trim(Order_Main.fieldbyname('conNO').AsString)));
open;
end;
try
frmConInPut := TfrmConInPut.Create(Application);
with frmConInPut do
begin
PState := 1;
FMainId := Trim(Self.Order_Main.fieldbyname('MainId').AsString);
if not ADOQueryTemp.IsEmpty then
begin
frmConInPut.ConNo.Enabled := False;
end;
if ShowModal = 1 then
begin
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('不能操作他人的数据!', '提示', 0);
Exit;
end;
if Application.MessageBox('确定要删除数据吗?', '提示', 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('外销合同删除')));
sql.Add(',' + quotedstr(trim('合同号:' + trim(Order_Main.FieldByName('conNo').AsString))));
sql.Add(',' + quotedstr(trim('成功')));
sql.Add(')');
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
Result := True;
except
ADOQueryCmd.Connection.RollbackTrans;
Result := False;
Application.MessageBox('数据删除异常!', '提示', 0);
end;
end;
procedure TfrmContractList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
Exit;
SelExportData(Tv1, ADOQueryMain, '生产指示单列表');
end;
procedure TfrmContractList.TBPrintClick(Sender: TObject);
var
fPrintFile: string;
EngMoney: string;
fRMXLSExport1: TRMXLSExport;
begin
if Order_Main.IsEmpty then
Exit;
fRMXLSExport1 := TRMXLSExport.Create(self);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\外销合同.rmf';
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.Add('select A.*,B.*,ConMoney=B.PRTOrderQty*B.PRTPrice,COL=''COL:'' ');
sql.Add(',Case when substring(PriceNote,1,3)=''FOB'' then '' ''+A.FromPlace else '' ''+A.ToPlace end as PriceNote10 ');
sql.Add(',PrtImage=(select Top 1 FilesOther from TP_File X where X.WBID=B.PRTCode) ');
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;
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('没有找' + ExtractFilePath(Application.ExeName) + 'Report\英文合同.rmf'), '提示', 0);
end;
fRMXLSExport1.Free;
end;
procedure TfrmContractList.TBRafreshClick(Sender: TObject);
begin
if FFInt = 1 then
begin
InitGridFH();
end
else
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 := '';
if ShowModal = 1 then
begin
end;
end;
finally
frmConInPut.Free;
end;
end;
procedure TfrmContractList.FormShow(Sender: TObject);
begin
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]='完成' 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]='完成' 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
SelOKNo(Order_Main, False);
// if Order_Main.IsEmpty then
// Exit;
// fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\生产指示单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('没有找' + ExtractFilePath(Application.ExeName) + 'Report\生产指示单10.rmf'), '提示', 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
SelOKNo(Order_Main, True);
// if Order_Main.IsEmpty then
// Exit;
// fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\生产指示单.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('没有找' + ExtractFilePath(Application.ExeName) + 'Report\生产指示单.rmf'), '提示', 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);
if ShowModal = 1 then
begin
end;
end;
finally
frmConInPut.Free;
end;
end;
procedure TfrmContractList.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 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 A.*,A.ConNo ConNoM ');
SQL.Add(',PRTOrderQty=(select Sum(PRTOrderQty) from JYOrderCon_Sub B where B.MainId=A.MainId)');
SQL.Add(',ConMoney=(select Sum(PRTOrderQty*PRTPrice) from JYOrderCon_Sub B where B.MainId=A.MainId)');
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 ''否'' else ''是'' 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=''合同''),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=''外销'' ');
if Trim(DParameters1) <> '高权限' then
begin
sql.Add('and A.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 := '产品类别定义';
V1HelpType.Visible := True;
V1HelpType.Caption := '缩写名';
fnote := True;
V1Name.Caption := '中文';
V1Note.Caption := '英文';
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('外销合同审核')));
sql.Add(',' + quotedstr(trim('合同号:' + trim(Order_Main.FieldByName('conNo').AsString))));
sql.Add(',' + quotedstr(trim('成功')));
sql.Add(')');
execsql;
end;
application.MessageBox('操作合同完成成功!', '提示信息');
TBRafresh.Click;
except
application.MessageBox('操作合同完成失败!', '提示信息', 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('外销合同撤销审核')));
sql.Add(',' + quotedstr(trim('合同号:' + trim(Order_Main.FieldByName('conNo').AsString))));
sql.Add(',' + quotedstr(trim('成功')));
sql.Add(')');
execsql;
end;
application.MessageBox('撤销合同完成成功!', '提示信息');
TBRafresh.Click;
except
application.MessageBox('撤销合同完成失败!', '提示信息', 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('外销合同取消')));
sql.Add(',' + quotedstr(trim('合同号:' + trim(Order_Main.FieldByName('conNo').AsString))));
sql.Add(',' + quotedstr(trim('成功')));
sql.Add(')');
execsql;
end;
application.MessageBox('合同取消成功!', '提示信息');
TBRafresh.Click;
except
application.MessageBox('合同取消失败!', '提示信息', 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('外销合同撤销取消')));
sql.Add(',' + quotedstr(trim('合同号:' + trim(Order_Main.FieldByName('conNo').AsString))));
sql.Add(',' + quotedstr(trim('成功')));
sql.Add(')');
execsql;
end;
application.MessageBox('撤销合同取消成功!', '提示信息');
TBRafresh.Click;
except
application.MessageBox('撤销合同取消失败!', '提示信息', 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)<>'高权限' then cxButton1.Visible:=false;
fkeyNO := Trim(Self.Order_Main.fieldbyname('MainId').AsString);
fType := '合同';
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.ToolButton5Click(Sender: TObject);
var
excelApp, WorkBook: Variant;
i, j, k, ExcelRowCount: integer;
maxId, M1, M2, M3: string;
FMessage: string;
begin
try
excelApp := CreateOleObject('Excel.Application');
openDialog1.Filter := '*.CSV;*.xls';
if opendialog1.Execute then
begin
WorkBook := excelApp.WorkBooks.Open(OpenDialog1.FileName);
end
else
exit;
excelApp.Visible := false;
ExcelRowCount := WorkBook.WorkSheets[1].UsedRange.Rows.Count;
except
application.MessageBox('加载EXCEL错误', '错误信息', MB_ICONERROR);
exit;
end;
try
k := 0;
for i := 1 to 100 do
begin
//遍历界面绑定界面中显示的字段和名称
for j := 1 to Tv3.ColumnCount - 1 do
begin
if trim(Tv3.Columns[j].Caption) = '总成品数量' then
continue;
if trim(Tv3.Columns[j].Caption) = '样品类型' then
continue;
if trim(Tv3.Columns[j].Caption) = '选择' then
continue;
if trim(Tv3.Columns[j].Caption) = '录入人' then
continue;
if trim(Tv3.Columns[j].Caption) = '录入时间' then
continue;
if trim(Tv3.Columns[j].Caption) = '修改人' then
continue;
if trim(Tv3.Columns[j].Caption) = '修改时间' then
continue;
if trim(excelApp.Cells[1, i].value) = trim(Tv3.Columns[j].Caption) then
begin
dFdDy[k].inc := i;
dFdDy[k].FDdys := trim(Tv3.Columns[j].DataBinding.FieldName);
dFdDy[k].FdDysName := trim(Tv3.Columns[j].Caption);
end;
end;
k := k + 1;
end;
except
end;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('delete jyorder_main_DR ');
execsql;
end;
// ShowMessage(IntToStr(k));
ADOQueryCmd.Connection.BeginTrans;
try
for i := 2 to ExcelRowCount do
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('select * from jyorder_main_DR where 1=2');
open;
end;
ADOQueryCmd.Append;
for j := 0 to k - 1 do
begin
if trim(dFdDy[j].FDdys) = '' then
continue;
M1 := dFdDy[j].FDdys; //字段名称
M2 := inttostr(dFdDy[j].inc); //当前列
M3 := excelApp.Cells[i, dFdDy[j].inc].Value; //当前单元格内容
ADOQueryCmd.fieldbyname(dFdDy[j].FDdys).Value := excelApp.Cells[i, dFdDy[j].inc].Value;
end;
ADOQueryCmd.Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('exec P_Get_Con_DR_copy1 ''' + trim(DName) + ''' ');
ExecSQL;
end;
WorkBook.Close;
excelApp.Quit;
excelApp := Unassigned;
WorkBook := Unassigned;
ADOQueryCmd.Connection.CommitTrans;
Application.MessageBox('导入成功!', '提示', 0);
InitGrid();
except
WorkBook.Close;
excelApp.Quit;
excelApp := Unassigned;
WorkBook := Unassigned;
ADOQueryCmd.Connection.RollbackTrans;
end;
end;
procedure TfrmContractList.ToolButton6Click(Sender: TObject);
var
fPrintFile: string;
EngMoney: string;
fRMXLSExport1: TRMXLSExport;
begin
if Order_Main.IsEmpty then
Exit;
if Order_Main.Locate('SSel', True, []) = False then
begin
Application.MessageBox('没有选择数据!', '提示', 0);
Exit;
end;
with ADOqueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete TBSubID where DName=''' + Trim(DCode) + '''');
ExecSQL;
end;
with ADOqueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * FROM TBSubID where 1=2 ');
open;
end;
ADOqueryCmd.Connection.BeginTrans;
try
Order_Main.DisableControls;
with Order_Main do
begin
First;
while not Eof do
begin
if FieldByName('SSel').AsBoolean then
begin
ADOQueryCmd.append;
ADOQueryCmd.fieldbyname('SubId').Value := Trim(fieldbyname('Mainid').AsString);
ADOQueryCmd.fieldbyname('Dname').Value := Trim(DCode);
ADOQueryCmd.post;
end;
Next;
end;
end;
Order_Main.EnableControls;
ADOqueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
end;
fRMXLSExport1 := TRMXLSExport.Create(self);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\合并合同.rmf';
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.Add('select A.*,B.*,ConMoney=B.PRTOrderQty*B.PRTPrice,COL=''COL:'' ');
sql.Add(',Case when substring(PriceNote,1,3)=''FOB'' then '' ''+A.FromPlace else '' ''+A.ToPlace end as PriceNote10 ');
sql.Add(',PrtImage=(select Top 1 FilesOther from TP_File X where X.WBID=B.PRTCode) ');
sql.Add(' from JYOrderCon_Main A inner join JYOrderCon_Sub B on A.MainId=B.MainId ');
sql.Add(' where EXISTS(select SubId from TBSubID X where X.SubId=A.Mainid and X.DName=''' + trim(DCode) + ''' )');
Open;
end;
SCreateCDS20(ADOQueryPrint, CDS_Print1);
SInitCDSData20(ADOQueryPrint, CDS_Print1);
//
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 EXISTS(select SubId from TBSubID X where X.SubId=A.Mainid and X.DName=''' + trim(DCode) + ''')');
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('没有找' + ExtractFilePath(Application.ExeName) + 'Report\合并合同.rmf'), '提示', 0);
end;
fRMXLSExport1.Free;
end;
procedure TfrmContractList.ToolButton7Click(Sender: TObject);
begin
try
frmLabelList := TfrmLabelList.Create(Application);
with frmLabelList do
begin
if ShowModal = 1 then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update JYOrderCon_Main Set LBName=''' + Trim(ADOQueryLabel.fieldbyname('labelCaption').AsString) + '''');
sql.Add(' where Mainid=''' + Trim(Order_Main.fieldbyname('Mainid').AsString) + '''');
ExecSQL;
end;
TBRafresh.Click;
end;
end;
finally
frmLabelList.Free;
end;
end;
procedure TfrmContractList.ToolButton8Click(Sender: TObject);
begin
// if Order_Main.Locate('SSel', True, []) = False then
// begin
// Application.MessageBox('没有选择数据!', '提示', 0);
// Exit;
// end;
// if Order_Main.IsEmpty then
// Exit;
//
if Trim(Order_Main.fieldbyname('LBName').AsString) = '' then
begin
Exit;
end;
panel2.Visible := True;
end;
//var
// fPrintFile: string;
// EngMoney: string;
// fRMXLSExport1: TRMXLSExport;
//begin
// if Order_Main.IsEmpty then
// Exit;
//
// if Trim(Order_Main.fieldbyname('LBName').AsString) = '' then
// begin
// Exit;
// end;
//
// fRMXLSExport1 := TRMXLSExport.Create(self);
// fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Order_Main.fieldbyname('LBName').AsString + '.rmf';
// with ADOQueryPrint do
// begin
// Close;
// sql.Clear;
// sql.Add('select A.*,B.*,ConMoney=B.PRTOrderQty*B.PRTPrice,COL=''COL:'' ');
// sql.Add(',Case when substring(PriceNote,1,3)=''FOB'' then '' ''+A.FromPlace else '' ''+A.ToPlace end as PriceNote10 ');
// sql.Add(',PrtImage=(select Top 1 FilesOther from TP_File X where X.WBID=B.PRTCode) ');
// sql.Add(' from JYOrderCon_Main A inner join JYOrderCon_Sub B on A.MainId=B.MainId ');
// sql.Add(' where B.Subid=''' + Trim(Order_sub.fieldbyname('subid').AsString) + '''');
// Open;
// end;
// SCreateCDS20(ADOQueryPrint, CDS_Print);
// SInitCDSData20(ADOQueryPrint, CDS_Print);
//
// if FileExists(fPrintFile) then
// begin
// RM1.LoadFromFile(fPrintFile);
// RM1.DefaultCopies :=StrToInt(Order_sub.fieldbyname('PRTOrderQty').AsString) ;
// RM1.ShowReport;
// end
// else
// begin
// Application.MessageBox(PChar('没有找' + ExtractFilePath(Application.ExeName) + 'Report\' + Order_Main.fieldbyname('LBName').AsString), '提示', 0);
// end;
// fRMXLSExport1.Free;
//end;
procedure TfrmContractList.ToolButton9Click(Sender: TObject);
var
excelApp, WorkBook: Variant;
i, j, k, ExcelRowCount: integer;
maxId, M1, M2, M3: string;
FMessage: string;
begin
try
excelApp := CreateOleObject('Excel.Application');
openDialog1.Filter := '*.CSV;*.xls';
if opendialog1.Execute then
begin
WorkBook := excelApp.WorkBooks.Open(OpenDialog1.FileName);
end
else
exit;
excelApp.Visible := false;
ExcelRowCount := WorkBook.WorkSheets[1].UsedRange.Rows.Count;
except
application.MessageBox('加载EXCEL错误', '错误信息', MB_ICONERROR);
exit;
end;
try
k := 0;
for i := 1 to 100 do
begin
//遍历界面绑定界面中显示的字段和名称
for j := 1 to Tv4.ColumnCount - 1 do
begin
if trim(Tv4.Columns[j].Caption) = '总成品数量' then
continue;
if trim(Tv4.Columns[j].Caption) = '样品类型' then
continue;
if trim(Tv4.Columns[j].Caption) = '选择' then
continue;
if trim(Tv4.Columns[j].Caption) = '录入人' then
continue;
if trim(Tv4.Columns[j].Caption) = '录入时间' then
continue;
if trim(Tv4.Columns[j].Caption) = '修改人' then
continue;
if trim(Tv4.Columns[j].Caption) = '修改时间' then
continue;
if trim(excelApp.Cells[1, i].value) = trim(Tv4.Columns[j].Caption) then
begin
dFdDy[k].inc := i;
dFdDy[k].FDdys := trim(Tv4.Columns[j].DataBinding.FieldName);
dFdDy[k].FdDysName := trim(Tv4.Columns[j].Caption);
end;
end;
k := k + 1;
end;
except
end;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('delete jyorder_main_DR ');
execsql;
end;
// ShowMessage(IntToStr(k));
ADOQueryCmd.Connection.BeginTrans;
try
for i := 2 to ExcelRowCount do
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('select * from jyorder_main_DR where 1=2');
open;
end;
ADOQueryCmd.Append;
for j := 0 to k - 1 do
begin
if trim(dFdDy[j].FDdys) = '' then
continue;
M1 := dFdDy[j].FDdys; //字段名称
M2 := inttostr(dFdDy[j].inc); //当前列
M3 := excelApp.Cells[i, dFdDy[j].inc].Value; //当前单元格内容
ADOQueryCmd.fieldbyname(dFdDy[j].FDdys).Value := excelApp.Cells[i, dFdDy[j].inc].Value;
end;
ADOQueryCmd.Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('exec P_Get_Con_DR2_copy1 ''' + trim(DName) + ''' ');
ExecSQL;
end;
WorkBook.Close;
excelApp.Quit;
excelApp := Unassigned;
WorkBook := Unassigned;
ADOQueryCmd.Connection.CommitTrans;
Application.MessageBox('导入成功!', '提示', 0);
InitGrid();
except
WorkBook.Close;
excelApp.Quit;
excelApp := Unassigned;
WorkBook := Unassigned;
ADOQueryCmd.Connection.RollbackTrans;
end;
end;
procedure TfrmContractList.Button2Click(Sender: TObject);
var
FMainid: string;
fPrintFile: string;
Porderno: string;
i, j: Integer;
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete TBSubID where DName=''' + Trim(DCode) + '''');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('SELECT * FROM TBSubID where 1=2 ');
open;
end;
FMainid := '';
Order_Main.DisableControls;
try
ADOQueryCmd.Connection.BeginTrans;
with Order_Main do
begin
First;
while not Eof do
begin
if Fieldbyname('Ssel').AsBoolean then
begin
if FMainid = '' then
begin
FMainid := Trim(Order_Main.fieldbyname('CustomerNoName').AsString);
end
else
begin
if Trim(Order_Main.fieldbyname('CustomerNoName').AsString) <> FMainid then
begin
application.MessageBox('选择的不是同一个客户,不能一起打印!', '提示信息', 0);
ADOQueryCmd.Connection.RollbackTrans;
EnableControls;
exit;
end;
end;
ADOQueryCmd.append;
ADOQueryCmd.fieldbyname('SubId').Value := Trim(Order_Main.fieldbyname('Mainid').AsString);
ADOQueryCmd.fieldbyname('Dname').Value := Trim(DCode);
ADOQueryCmd.post;
end;
Next;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
end;
order_main.EnableControls;
// fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\生产指示单.rmf';
// fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Order_Main.fieldbyname('LBName').AsString + '.rmf';
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.Add('exec P_Print_OrderBQdy ''' + trim(DCode) + '''');
sql.Add(',''' + trim(Edit1.Text) + ''' ');
// showmessage(sql.Text);
Open;
end;
SCreateCDS20(ADOQueryPrint, CDS_Print);
SCreateCDS20(ADOQueryPrint, CDS_Print1);
SInitCDSData20(ADOQueryPrint, CDS_Print);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + CDS_Print.fieldbyname('LBName').AsString + '.rmf';
try
with CDS_Print do
begin
DisableControls;
first;
while not eof do
begin
CDS_Print1.EmptyDataSet;
CDS_Print1.Append;
for i := 0 to FieldCount - 1 do
begin
CDS_Print1.fields[i].value := CDS_Print.Fields[i].Value;
end;
CDS_Print1.Post;
if (trim(CDS_Print1.fieldbyname('subid').AsString) <> '') then
begin
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
RM1.DefaultCopies := StrToInt(CDS_Print1.fieldbyname('PRTOrderQty').AsString);
RM1.ShowReport;
// RM1.PrintReport;
end
else
begin
// Application.MessageBox(PChar('没有找' + ExtractFilePath(Application.ExeName) + 'Report\生产指示单.rmf'), '提示', 0);
Application.MessageBox(PChar('没有找' + ExtractFilePath(Application.ExeName) + 'Report\' + Order_Main.fieldbyname('LBName').AsString), '提示', 0);
exit;
end;
end;
Next;
end;
EnableControls;
end;
finally
end;
// with ADOQueryPrint do
// begin
// Close;
// sql.Clear;
// sql.Add('select A.*,B.*,ConMoney=B.PRTOrderQty*B.PRTPrice,COL=''COL:'' ');
// sql.Add(',Case when substring(PriceNote,1,3)=''FOB'' then '' ''+A.FromPlace else '' ''+A.ToPlace end as PriceNote10 ');
// sql.Add(',PrtImage=(select Top 1 FilesOther from TP_File X where X.WBID=B.PRTCode) ');
// sql.Add(' from JYOrderCon_Main A inner join JYOrderCon_Sub B on A.MainId=B.MainId ');
// sql.Add(' where B.Subid=''' + Trim(ADOQueryTemp.fieldbyname('subid').AsString) + '''');
// Open;
// end;
// SCreateCDS20(ADOQueryPrint, CDS_Print);
// SInitCDSData20(ADOQueryPrint, CDS_Print);
// if FileExists(fPrintFile) then
// begin
// RM1.LoadFromFile(fPrintFile);
// RM1.DefaultCopies := StrToInt(Order_sub.fieldbyname('PRTOrderQty').AsString);
// RM1.ShowReport;
// end
// else
// begin
//// Application.MessageBox(PChar('没有找' + ExtractFilePath(Application.ExeName) + 'Report\生产指示单.rmf'), '提示', 0);
// Application.MessageBox(PChar('没有找' + ExtractFilePath(Application.ExeName) + 'Report\' + Order_Main.fieldbyname('LBName').AsString), '提示', 0);
// exit;
// end;
// end;
end;
procedure TfrmContractList.Button3Click(Sender: TObject);
begin
Panel2.Visible := false;
end;
procedure TfrmContractList.ToolButton10Click(Sender: TObject);
begin
try
frmLabelListts := TfrmLabelListts.Create(Application);
with frmLabelListts do
begin
if ShowModal = 1 then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update JYOrderCon_Main Set LBName=''' + Trim(ADOQueryLabel.fieldbyname('labelCaption').AsString) + '''');
sql.Add(' where Mainid=''' + Trim(Order_Main.fieldbyname('Mainid').AsString) + '''');
ExecSQL;
end;
// TBRafresh.Click;
end;
end;
finally
frmLabelListts.Free;
end;
end;
end.