unit U_ContractCGJGSPList; 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, cxCalendar, cxButtonEdit, cxSplitter, RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, cxTextEdit, cxPC, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdFTP,ShellAPI, cxCheckBox,jpeg,IniFiles; type TfrmContractCGJGSPList = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBPrint: TToolButton; TBClose: TToolButton; Panel1: TPanel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; Label1: TLabel; Label2: TLabel; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; Label3: TLabel; ConNo: TEdit; Label5: TLabel; C_CodeName: TEdit; Order_Main: TClientDataSet; Label4: TLabel; FactoryNoName: TEdit; RM1: TRMGridReport; RMDBMain: TRMDBDataSet; RMXLSExport1: TRMXLSExport; CDS_PRT: TClientDataSet; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1OrderNo: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1DeliveryDate: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1FactoryNo1Name: TcxGridDBColumn; v1PRTSpec: TcxGridDBColumn; v1Qty1: TcxGridDBColumn; v1PRTOrderQty: TcxGridDBColumn; v1OrderUnit: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1PRTQty: TcxGridDBColumn; v1Column4: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; v1Column3: TcxGridDBColumn; ConType: TComboBox; Label14: TLabel; ToolButton2: TToolButton; v1Column6: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v1Column9: TcxGridDBColumn; ToolButton3: TToolButton; ODPat: TOpenDialog; IdFTP1: TIdFTP; SaveDialog1: TSaveDialog; v1Column14: TcxGridDBColumn; v1Column15: TcxGridDBColumn; TBChkNO: TToolButton; TBChkOk: TToolButton; v1Column16: TcxGridDBColumn; v1Column17: TcxGridDBColumn; ToolButton8: TToolButton; cxTabControl1: TcxTabControl; v1Column10: TcxGridDBColumn; v1Column11: TcxGridDBColumn; ComboBox1: TComboBox; Panel2: TPanel; Label6: TLabel; PChkNote: TEdit; ToolButton1: TToolButton; v1Column12: TcxGridDBColumn; v1Column13: TcxGridDBColumn; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure TBPrintClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure ConNoChange(Sender: TObject); procedure FormShow(Sender: TObject); procedure conPress(Sender: TObject; var Key: Char); procedure ToolButton2Click(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure TBChkOkClick(Sender: TObject); procedure TBChkNOClick(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure ToolButton8Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); private FInt,PFInt:Integer; canshu1:string; lstPat: TStringList; AJpeg: TJPEGImage; procedure InitGrid(); procedure InitForm(); function DelData():Boolean; procedure ReadINIFile10(); { Private declarations } public { Public declarations } end; var frmContractCGJGSPList: TfrmContractCGJGSPList; implementation uses U_DataLink,U_RTFun,U_ClothContractInPutSXMX,U_ZDYHelp {U_ClothContractInPutSX, U_ProductOrderList,U_ZDYHelp, ,U_ClothContractInPutHZ,U_ClothContractInPutPB}, U_ModuleNote; {$R *.dfm} procedure TfrmContractCGJGSPList.FormDestroy(Sender: TObject); begin frmContractCGJGSPList:=nil; end; procedure TfrmContractCGJGSPList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmContractCGJGSPList.TBCloseClick(Sender: TObject); var FPath:String; begin Close; WriteCxGrid('�ɹ��ӹ���ͬPChk',Tv1,'������ͬ����'); end; procedure TfrmContractCGJGSPList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add('select A.*,B.*,Money=B.C_Qty*B.Price from Contract_Main A inner join Contract_Sub B on A.MainId=B.MainId '); sql.Add(' where isnull(SSPerson,'''')<>'''' and isnull(Chker,'''')<>'''' '); if cxTabControl1.TabIndex=0 then begin sql.Add(' and isnull(PChker,'''')='''' '); end else begin sql.Add(' and A.FillTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+''''); sql.Add(' and A.FillTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''); if cxTabControl1.TabIndex<>3 then begin sql.Add(' and isnull(PChker,'''')<>'''' '); if cxTabControl1.TabIndex=1 then begin sql.Add(' and isnull(PChkStatus,'''')=''����ͨ��'' '); end else if cxTabControl1.TabIndex=2 then begin sql.Add(' and isnull(PChkStatus,'''')=''������ͨ��'' '); end; end; end; Open; end; SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmContractCGJGSPList.InitForm(); var FSJ:string; begin ReadCxGrid('�ɹ��ӹ���ͬPChk',Tv1,'������ͬ����'); EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); BegDate.DateTime:=EndDate.DateTime-30; FSJ:='select ZdyName Name,ZdyName Code from KH_Zdy where TYpe=''JGGX'' and ZdyName not like ''%�ؼ�%'' '; SInitComBoxBySql(ADOQueryTemp,ConType,False,Fsj); end; procedure TfrmContractCGJGSPList.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; function TfrmContractCGJGSPList.DelData():Boolean; begin try Result:=false; ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete Contract_Sub where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); ExecSQL; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from Contract_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); Open; end; if ADOQueryTemp.IsEmpty then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete Contract_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); ExecSQL; end; end; if Trim(Order_Main.fieldbyname('SubId').AsString)='' then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete Contract_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); ExecSQL; end; end; ADOQueryCmd.Connection.CommitTrans; Result:=True; except ADOQueryCmd.Connection.RollbackTrans; Result:=False; Application.MessageBox('����ɾ���쳣��','��ʾ',0); end; end; procedure TfrmContractCGJGSPList.TBPrintClick(Sender: TObject); var fPrintFile,FConNoM,RPTName:string; begin if Order_Main.IsEmpty then Exit; if Trim(ComboBox1.Text)='' then begin Application.MessageBox('�������Ʋ���Ϊ��!','��ʾ',0); Exit; end; RPTName:='Report\'+Trim(ComboBox1.Text)+'.rmf'; // fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\�ɹ��ӹ���ͬ.rmf' ; fPrintFile:= ExtractFilePath(Application.ExeName) +RPTName; with ADOQueryTemp do begin Filtered:=False; Close; sql.Clear; sql.Add('select A.*,B.*,Money=B.C_Qty*B.Price,C.*,D.KHName,D.ZKTelNo,D.ZKFax,D.ZKAddress '); sql.Add(' ,C.ZdyName,C.ZdyStr1,C.ZdyStr2,C.ZdyStr3,C.ZdyStr4'); sql.Add(' from Contract_Main A inner join Contract_Sub B on A.MainId=B.MainId'); sql.Add(' left join KH_Zdy C on A.CompanyName=C.ZdyName and C.Type=''GSTT'' '); sql.Add(' left join ZH_KH_Info D on A.FactoryNo=D.ZKID'); sql.Add(' where A.Mainid='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); Open; end; SCreateCDS20(ADOQueryTemp,CDS_PRT); SInitCDSData20(ADOQueryTemp,CDS_PRT); 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)+RPTName),'��ʾ',0); end; end; procedure TfrmContractCGJGSPList.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmContractCGJGSPList.ConNoChange(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 TfrmContractCGJGSPList.FormShow(Sender: TObject); begin InitForm(); end; procedure TfrmContractCGJGSPList.conPress(Sender: TObject; var Key: Char); begin if Key=#13 then begin if Length(Trim(ConNo.Text))<3 then Exit; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add('select A.*,B.*,Money=B.C_Qty*B.Price from Contract_Main A inner join Contract_Sub B on A.MainId=B.MainId '); sql.Add(' where A.ConNo like '''+'%'+Trim(ConNo.text)+'%'+''''); sql.Add(' and isnull(SSPerson,'''')<>'''' and isnull(Chker,'''')<>'''' '); if cxTabControl1.TabIndex=0 then begin sql.Add(' and isnull(PChker,'''')='''' '); end else begin if cxTabControl1.TabIndex<>3 then begin sql.Add(' and isnull(PChker,'''')<>'''' '); if cxTabControl1.TabIndex=1 then begin sql.Add(' and isnull(PChkStatus,'''')=''����ͨ��'' '); end else if cxTabControl1.TabIndex=2 then begin sql.Add(' and isnull(PChkStatus,'''')=''������ͨ��'' '); end; end; end; Open; end; SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); finally ADOQueryMain.EnableControls; end; end; end; procedure TfrmContractCGJGSPList.ToolButton2Click(Sender: TObject); begin try frmClothContractInPutSXMX:=TfrmClothContractInPutSXMX.Create(Application); with frmClothContractInPutSXMX do begin PState:=1; FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); FConNo:=Trim(Self.Order_Main.fieldbyname('ConNo').AsString); TBSave.Visible:=False; ToolBar2.Visible:=False; if ShowModal=1 then begin end; end; finally frmClothContractInPutSXMX.Free; end; end; procedure TfrmContractCGJGSPList.ToolButton3Click(Sender: TObject); begin try frmModuleNote:=TfrmModuleNote.Create(Application); with frmModuleNote do begin flag:='�ɹ��ӹ���ͬ'; if ShowModal=1 then begin end; end; finally frmModuleNote.Free; end; end; procedure TfrmContractCGJGSPList.FormCreate(Sender: TObject); begin canshu1:=Trim(DParameters1); cxTabControl1.TabIndex:=0; end; procedure TfrmContractCGJGSPList.ReadINIFile10(); var programIni:Tinifile; //�����ļ��� FileName:string; begin FileName:=ExtractFilePath(Paramstr(0))+'SYSTEMSET.INI'; programIni:=Tinifile.create(FileName); server:=programIni.ReadString('SERVER','��������ַ','127.0.0.1'); programIni.Free; end; procedure TfrmContractCGJGSPList.TBChkOkClick(Sender: TObject); begin if cxTabControl1.TabIndex<>0 then Exit; if Order_Main.IsEmpty then Exit; if Application.MessageBox('ȷ��Ҫִ�д˲�����','��ʾ',32+4)<>IDYES then Exit; with ADOQueryCmd do begin Close; sql.Clear; SQL.Add('Update Contract_Main Set PChkStatus=''����ͨ��'',PChker='''+Trim(DName)+''''); sql.Add(',PChkTIme=getdate() where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); ExecSQL; end; Order_Main.Delete; end; procedure TfrmContractCGJGSPList.TBChkNOClick(Sender: TObject); begin if cxTabControl1.TabIndex=0 then Exit; if cxTabControl1.TabIndex=3 then Exit; if Order_Main.IsEmpty then Exit; with ADOQueryTemp do if Application.MessageBox('ȷ��Ҫִ����������������','��ʾ',32+4)<>IDYES then Exit; with ADOQueryCmd do begin Close; sql.Clear; SQL.Add('Update Contract_Main Set PChkStatus=NUll,PChker=NUll,PChkNote=NULL '); sql.Add(',PChkTIme=Null where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); ExecSQL; end; Order_Main.Delete; end; procedure TfrmContractCGJGSPList.cxTabControl1Change(Sender: TObject); begin InitGrid(); end; procedure TfrmContractCGJGSPList.ToolButton8Click(Sender: TObject); begin if Order_Main.IsEmpty then Exit; TcxGridToExcel('�ɹ��ӹ���ͬ',cxGrid1); end; procedure TfrmContractCGJGSPList.ToolButton1Click(Sender: TObject); begin if cxTabControl1.TabIndex>1 then Exit; if Order_Main.IsEmpty then Exit; if Trim(PChkNote.Text)='' then begin Application.MessageBox('������ע����Ϊ��!','��ʾ',0); Exit; end; if Application.MessageBox('ȷ��Ҫ������ͨ����','��ʾ',32+4)<>IDYES then Exit; with ADOQueryCmd do begin Close; sql.Clear; SQL.Add(' Update Contract_Main Set PChkStatus=''������ͨ��'',PChker='''+Trim(DName)+''''); sql.Add(',PChkTime=getdate(),PChkNote='''+Trim(PChkNote.Text)+''''); sql.add(' where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); ExecSQL; end; //ChkNote.Text:=''; Order_Main.Delete; end; end.