unit U_JGSXKNewList_CPCKMgg; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView, cxGridBandedTableView, cxGridDBBandedTableView, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridDBTableView, cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient, cxDropDownEdit, cxCheckBox, RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, Menus, cxCalendar, cxButtonEdit, cxTextEdit, cxPC, cxTimeEdit, cxContainer, cxMaskEdit, cxSpinEdit, cxLookAndFeels, cxLookAndFeelPainters, dxBarBuiltInMenu, cxNavigator; type TfrmJGSXKNewList_CPCKMgg = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBExport: TToolButton; TBClose: TToolButton; Panel1: TPanel; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; cxGridPopupMenu1: TcxGridPopupMenu; Label1: TLabel; Label2: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; CDS_Main: TClientDataSet; RM1: TRMGridReport; RMDBMain: TRMDBDataSet; RMXLSExport1: TRMXLSExport; RMDBHZ: TRMDBDataSet; CDS_HZ: TClientDataSet; CDS_PRT: TClientDataSet; TBDel: TToolButton; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; TBAdd: TToolButton; TBEdit: TToolButton; Label4: TLabel; Label12: TLabel; OrderNo: TEdit; CRType: TComboBox; Label6: TLabel; CustomerNoName: TEdit; cxTabControl1: TcxTabControl; TTJ: TToolButton; TCXTJ: TToolButton; Label5: TLabel; CLSpec: TEdit; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v1CRTime: TcxGridDBColumn; v1CRType: TcxGridDBColumn; v1ConNO: TcxGridDBColumn; V1orderNo: TcxGridDBColumn; v1CustomerNoName: TcxGridDBColumn; v1YLName: TcxGridDBColumn; v2CPFLQty: TcxGridDBColumn; v1GLQty: TcxGridDBColumn; v1CLQty: TcxGridDBColumn; v1JPSpec: TcxGridDBColumn; v1CLSpec: TcxGridDBColumn; v1SJName: TcxGridDBColumn; v1CPNo: TcxGridDBColumn; v1CheHao: TcxGridDBColumn; v1Note: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; v1SJType: TcxGridDBColumn; Begtime: TcxTimeEdit; Endtime: TcxTimeEdit; v1BTNo: TcxGridDBColumn; v1CZName: TcxGridDBColumn; v1GCName: TcxGridDBColumn; Label7: TLabel; Label8: TLabel; GCName: TEdit; Label9: TLabel; Label10: TLabel; BTNo: TEdit; CZName: TEdit; v1CLName: TcxGridDBColumn; Label11: TLabel; CLName: TEdit; v1SGBuWei: TcxGridDBColumn; v1Ssel: TcxGridDBColumn; v1CheCi: TcxGridDBColumn; Label3: TLabel; BNo: TEdit; Label13: TLabel; SJType: TEdit; v1SGFangshi: TcxGridDBColumn; Label14: TLabel; SGFangshi: TEdit; v1TeXing: TcxGridDBColumn; Label15: TLabel; TeXing: TEdit; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure ConNoMChange(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure TBDelClick(Sender: TObject); procedure TBAddClick(Sender: TObject); procedure TBEditClick(Sender: TObject); procedure SPIDChange(Sender: TObject); procedure SPSpecChange(Sender: TObject); procedure OrderNoChange(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure TTJClick(Sender: TObject); procedure TCXTJClick(Sender: TObject); private canshu1,canshu2,canshu3:string; procedure InitGrid(); procedure setstatus(); { Private declarations } public { Public declarations } end; var frmJGSXKNewList_CPCKMgg: TfrmJGSXKNewList_CPCKMgg; implementation uses U_DataLink,U_RTFun,U_SXCKInPut, U_JGSXCKInPut, U_JGSXCKInPut_CPCKMgg; {$R *.dfm} procedure TfrmJGSXKNewList_CPCKMgg.setstatus(); begin TBAdd.Visible:=False; TBEdit.Visible:=false; TBDel.Visible:=False; TTJ.Visible:=False; TCXTJ.Visible:=False; if cxTabControl1.TabIndex=0 then begin TBAdd.Visible:=true; TBEdit.Visible:=true; TBDel.Visible:=true; TTJ.Visible:=true; end; if cxTabControl1.TabIndex=1 then begin TCXTJ.Visible:=true; end; end; procedure TfrmJGSXKNewList_CPCKMgg.FormDestroy(Sender: TObject); begin frmJGSXKNewList_CPCKMgg:=nil; end; procedure TfrmJGSXKNewList_CPCKMgg.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmJGSXKNewList_CPCKMgg.FormCreate(Sender: TObject); begin //cxGrid1.Align:=alClient; EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); BegDate.DateTime:=EndDate.DateTime-30; canshu1:=Trim(DParameters1); canshu2:=Trim(DParameters2); canshu3:=Trim(DParameters3); end; procedure TfrmJGSXKNewList_CPCKMgg.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add(' select A.* '); sql.Add(',SGBuWei=(select SGBuWei from JYOrder_Main B where B.OrderNo=A.OrderNO)'); sql.Add(' from CK_CP_CR A'); sql.add(' where A.CRTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date))+''''); sql.Add(' and A.CRTime<'''+Trim(FormatDateTime('yyyy-MM-dd',enddate.Date+1))+''''); {sql.add(' where A.CRTime>='''+Trim(FormatDateTime('yyyy-MM-dd HH:MM:SS',BegDate.Date+Begtime.Time))+''''); sql.Add(' and A.CRTime<='''+Trim(FormatDateTime('yyyy-MM-dd HH:MM:SS',enddate.Date+Endtime.Time))+'''');} if cxTabControl1.TabIndex=0 then begin sql.Add(' and isnull(Chkstatus,'''') in ('''',''审核不通过'')'); end; if cxTabControl1.TabIndex=1 then begin sql.Add(' and isnull(Chkstatus,'''')=''已提交'''); end; if cxTabControl1.TabIndex=2 then begin sql.Add(' and isnull(Chkstatus,'''')=''已审核'''); end; if Trim(canshu1)<>'高权限' then begin sql.Add(' and A.Filler='''+Trim(DName)+''''); end; SQL.Add(' order by convert(varchar(10),A.CRTime,120),A.GCName'); Open; end; SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); finally; ADOQueryMain.EnableControls; end; end; procedure TfrmJGSXKNewList_CPCKMgg.TBRafreshClick(Sender: TObject); begin BegDate.SetFocus; InitGrid(); end; procedure TfrmJGSXKNewList_CPCKMgg.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); end; end; procedure TfrmJGSXKNewList_CPCKMgg.TBCloseClick(Sender: TObject); begin WriteCxGrid('成品发货列表SF',Tv1,'成品发货仓库'); Close; end; procedure TfrmJGSXKNewList_CPCKMgg.FormShow(Sender: TObject); begin ReadCxGrid('成品发货列表SF',Tv1,'成品发货仓库'); setstatus(); //InitGrid(); end; procedure TfrmJGSXKNewList_CPCKMgg.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then exit; TcxGridToExcel('成品发货列表',cxGrid2); end; procedure TfrmJGSXKNewList_CPCKMgg.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); end; end; procedure TfrmJGSXKNewList_CPCKMgg.N1Click(Sender: TObject); begin SelOKNo(CDS_Main,True); end; procedure TfrmJGSXKNewList_CPCKMgg.N2Click(Sender: TObject); begin SelOKNo(CDS_Main,False); end; procedure TfrmJGSXKNewList_CPCKMgg.TBDelClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from YF_Money_CR where isnull(OrderNo,'''')='''+Trim(CDS_Main.fieldbyname('OrderNo').AsString)+''''); sql.Add(' and CRTime='''+Trim(FormatDateTime('',CDS_Main.fieldbyname('CRTime').AsDateTime))+''''); sql.Add(' and isnull(CRType,'''')=''应收款登记'' '); Open; end; if ADOQueryTemp.IsEmpty=False then begin Application.MessageBox('已经生成应收款,不能删除数据,如需修改数据,财务撤销应收款后方可删除。','',0); Exit; end; if Trim(CDS_Main.fieldbyname('CPID').AsString)<>'' then begin if Application.MessageBox('确定要删除数据吗?','提示',32+4)<>IDYES then Exit; try ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add(' delete from CK_CP_CR where CPID='''+Trim(CDS_Main.fieldbyname('CPID').AsString)+''''); ExecSQL; end; ADOQueryCmd.Connection.CommitTrans; CDS_Main.Delete; except ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('删除异常!','提示',0); end; end else begin CDS_Main.Delete; end; end; procedure TfrmJGSXKNewList_CPCKMgg.TBAddClick(Sender: TObject); begin try frmJGSXCKInPut_CPCKMgg:=TfrmJGSXCKInPut_CPCKMgg.Create(Application); with frmJGSXCKInPut_CPCKMgg do begin FBCId:=''; frmJGSXCKInPut_CPCKMgg.canshu3:=Trim(Self.canshu3); if ShowModal=1 then begin Self.InitGrid(); end; end; finally frmJGSXCKInPut_CPCKMgg.Free; end; end; procedure TfrmJGSXKNewList_CPCKMgg.TBEditClick(Sender: TObject); begin ToolBar1.SetFocus; if CDS_Main.IsEmpty then Exit; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from YF_Money_CR where isnull(OrderNo,'''')='''+Trim(CDS_Main.fieldbyname('OrderNo').AsString)+''''); sql.Add(' and CRTime='''+Trim(FormatDateTime('',CDS_Main.fieldbyname('CRTime').AsDateTime))+''''); sql.Add(' and isnull(CRType,'''')=''应收款登记'' '); Open; end; if ADOQueryTemp.IsEmpty=False then begin Application.MessageBox('已经生成应收款,不能修改数据,如需修改数据,财务撤销应收款后方可修改。','',0); Exit; end; try frmJGSXCKInPut_CPCKMgg:=TfrmJGSXCKInPut_CPCKMgg.Create(Application); with frmJGSXCKInPut_CPCKMgg do begin ToolButton1.Visible:=false; ToolButton2.Visible:=false; FBCId:=Trim(CDS_Main.fieldbyname('CPID').AsString); if ShowModal=1 then begin Self.InitGrid(); end; end; finally; frmJGSXCKInPut_CPCKMgg.Free; end; end; procedure TfrmJGSXKNewList_CPCKMgg.SPIDChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmJGSXKNewList_CPCKMgg.SPSpecChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmJGSXKNewList_CPCKMgg.OrderNoChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmJGSXKNewList_CPCKMgg.cxTabControl1Change(Sender: TObject); begin setstatus(); InitGrid(); end; procedure TfrmJGSXKNewList_CPCKMgg.TTJClick(Sender: TObject); begin if CDS_Main.IsEmpty then exit; if CDS_Main.Locate('Ssel',True,[])=false then begin Application.MessageBox('没有选择数据','提示'); exit; end; with CDS_Main do begin first; while not eof do begin if FieldByName('Ssel').AsBoolean=True then begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('Update CK_CP_CR set '); sql.Add('Chker='''+trim(DName)+''',Chkstatus=''已提交'',Chkdate=getdate() '); sql.Add('where CPID='''+trim(CDS_Main.fieldbyname('CPID').AsString)+''''); ExecSQL; end; CDS_Main.Delete; end else next; end; end; application.MessageBox('操作成功','提示'); end; procedure TfrmJGSXKNewList_CPCKMgg.TCXTJClick(Sender: TObject); begin if CDS_Main.IsEmpty then exit; if CDS_Main.Locate('Ssel',True,[])=false then begin Application.MessageBox('没有选择数据','提示'); exit; end; with CDS_Main do begin first; while not eof do begin if FieldByName('Ssel').AsBoolean=True then begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('Update CK_CP_CR set '); sql.Add('Chker='''',Chkstatus='''',Chkdate=NULL '); sql.Add('where CPID='''+trim(CDS_Main.fieldbyname('CPID').AsString)+''''); ExecSQL; end; CDS_Main.Delete; end else next; end; end; application.MessageBox('操作成功','提示'); end; end.