unit U_MCGRKList_MKC_CX; 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, cxButtonEdit, cxDropDownEdit, cxPC, Buttons; type TfrmMCGRKList_MKC_CX = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBClose: TToolButton; Tv1: TcxGridDBTableView; cxGrid1Level1: TcxGridLevel; cxGrid1: TcxGrid; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; TBExport: TToolButton; Order_Main: TClientDataSet; ToolButton1: TToolButton; Panel1: TPanel; v1MXKCPiQty: TcxGridDBColumn; Label34: TLabel; v1KHNameJC: TcxGridDBColumn; KHName: TEdit; ToolButton4: TToolButton; RM1: TRMGridReport; RMDBMain: TRMDBDataSet; RMXLSExport2: TRMXLSExport; CDS_PRT: TClientDataSet; v1Column17: TcxGridDBColumn; v1MYName: TcxGridDBColumn; v1MXKCQty: TcxGridDBColumn; labMYType: TLabel; Button2: TButton; Label3: TLabel; JCDanWei: TEdit; Button1: TButton; cxGridPopupMenu2: TcxGridPopupMenu; DataSource2: TDataSource; PB_MX: TClientDataSet; PopupMenu1: TPopupMenu; cxStyleRepository1: TcxStyleRepository; cxStyle1: TcxStyle; cxStyle2: TcxStyle; v1MYMF: TcxGridDBColumn; cxGrid2: TcxGrid; TV2: TcxGridDBTableView; cxGridDBColumn1: TcxGridDBColumn; cxGridDBColumn2: TcxGridDBColumn; cxGridDBColumn3: TcxGridDBColumn; cxGridDBColumn6: TcxGridDBColumn; cxGridDBColumn7: TcxGridDBColumn; cxGridDBColumn8: TcxGridDBColumn; cxGridDBColumn9: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; cxSplitter1: TcxSplitter; N2: TMenuItem; N3: TMenuItem; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure CheckBox2Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure CustomerNoNameChange(Sender: TObject); procedure N2Click(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure ZJStatusChange(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure KHNameChange(Sender: TObject); procedure N1Click(Sender: TObject); procedure MYCodeChange(Sender: TObject); procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); procedure TV2DblClick(Sender: TObject); procedure N3Click(Sender: TObject); procedure TV2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); private canshu1:string; DQdate:TDateTime; procedure InitGrid(); procedure InitForm(); function DelData():Boolean; { Private declarations } public FFInt,FCloth:Integer; FMYCode,FMYName:string; { Public declarations } end; var frmMCGRKList_MKC_CX: TfrmMCGRKList_MKC_CX; implementation uses U_DataLink,U_RTFun, U_QCRKInPut,U_ZDYHelp,U_LLRKInPut,U_GYSList,U_RCCKInPut, U_LLRKInPutMH,U_LLRKInPutX,U_LLRKInPut_CG,U_LLRKInPutMH_CG,U_LLRKInPutMH_PBCG, U_LLRKInPutMH_PBKCCG,U_BPZdy_LRPB,U_LLRKInPutMH_MCG,U_BPZdy_LRM; {$R *.dfm} procedure TfrmMCGRKList_MKC_CX.FormDestroy(Sender: TObject); begin frmMCGRKList_MKC_CX:=nil; end; procedure TfrmMCGRKList_MKC_CX.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmMCGRKList_MKC_CX.FormCreate(Sender: TObject); begin canshu1:=Trim(DParameters1); end; procedure TfrmMCGRKList_MKC_CX.TBCloseClick(Sender: TObject); begin WriteCxGrid('棉库存查询',Tv2,'贸易生产管理'); WriteCxGrid('棉库存查询明细1',Tv1,'贸易生产管理'); Close; end; procedure TfrmMCGRKList_MKC_CX.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add(' select A.MYKZ,A.KHName,A.MYCode,A.MYName,A.MYMF,Sum(MXKCPiQty) MXKCPiQty '); SQL.add(',Sum(MXKCKgQty) MXKCKgQty,Sum(MXKCQty) MXKCQty'); sql.Add(',KHNameJC=(select Top 1 B.KHNameJC from KH_Main B '); sql.Add(' where isnull(B.KHFlag,'''')=''GYS'' and isnull(B.Valid,'''')=''Y'' and B.KHName=A.KHName)'); sql.Add(' from CK_MYSC_CR A '); sql.Add(' where A.MYCode='''+trim(FMYCode)+''' '); sql.Add(' and A.MYName='''+trim(FMYName)+''' '); sql.Add(' and isnull(CRType,'''')=''采购入库'' '); SQL.Add(' and isnull(MYType,'''')=''采购棉'''); sql.Add(' and isnull(A.MXKCPiQty,0)>0'); sql.Add(' group by A.MYKZ,A.KHName,A.MYCode,A.MYName,A.MYMF'); sql.add(' order by cast(A.MYKZ as decimal(18,2)),cast(A.MYMF as decimal(18,2))'); Open; end; SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmMCGRKList_MKC_CX.InitForm(); begin ReadCxGrid('棉库存查询',Tv2,'贸易生产管理'); ReadCxGrid('棉库存查询明细1',Tv1,'贸易生产管理'); InitGrid(); end; procedure TfrmMCGRKList_MKC_CX.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 TfrmMCGRKList_MKC_CX.DelData():Boolean; begin try Result:=false; ADOQueryCmd.Connection.BeginTrans; PB_MX.DisableControls; with PB_MX do begin //First; // while Order_Main.Locate('SSel',True,[]) do begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add(' delete from YS_Money_CR where YFTypeId in (select B.MYID '); SQL.Add(' from CK_MYSC_CR B where B.RKNO='''+trim(PB_MX.fieldbyname('RKNO').AsString)+''') '); sql.Add(' delete from TP_File where WBID='''+trim(PB_MX.fieldbyname('RKNO').AsString)+''' '); sql.Add(' and TFType=''采购棉'''); sql.Add(' insert into CK_MYSC_CR_Log '); sql.Add(' select * from CK_MYSC_CR where RKNO='''+Trim(PB_MX.fieldbyname('RKNO').AsString)+''''); sql.Add(' UPdate CK_MYSC_CR_Log Set DelTime=getdate(),DelerCode='''+Trim(DCode)+''',Deler='''+Trim(DName)+''''); sql.Add(' where RKNO='''+Trim(PB_MX.fieldbyname('RKNO').AsString)+''''); sql.Add(' Delete CK_MYSC_CR where RKNO='''+Trim(PB_MX.fieldbyname('RKNO').AsString)+''''); ExecSQL; end; PB_MX.Delete; end; end; PB_MX.EnableControls; ADOQueryCmd.Connection.CommitTrans; Result:=True; except ADOQueryCmd.Connection.RollbackTrans; Result:=False; Application.MessageBox('数据删除异常!','提示',0); end; end; procedure TfrmMCGRKList_MKC_CX.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; TcxGridToExcel(Self.Caption,cxGrid1); end; procedure TfrmMCGRKList_MKC_CX.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmMCGRKList_MKC_CX.FormShow(Sender: TObject); begin InitForm(); end; procedure TfrmMCGRKList_MKC_CX.CheckBox1Click(Sender: TObject); begin InitGrid(); end; procedure TfrmMCGRKList_MKC_CX.CheckBox2Click(Sender: TObject); begin TBRafresh.Click; end; procedure TfrmMCGRKList_MKC_CX.ToolButton1Click(Sender: TObject); begin try frmLLRKInPutMH_MCG:=TfrmLLRKInPutMH_MCG.Create(Application); with frmLLRKInPutMH_MCG do begin PState:=1; FMainId:=Trim(Self.PB_MX.fieldbyname('RKNo').AsString); FMYType:=Trim(Self.PB_MX.fieldbyname('MYType').AsString); FMYTypeFlag:=Trim(Self.PB_MX.fieldbyname('MYTypeFlag').AsString); TBSave.Visible:=False; labMYType.Caption:='(棉)采购'; PopupMenu1.Items.Clear; if ShowModal=1 then begin end; end; finally frmLLRKInPutMH_MCG.Free; end; end; procedure TfrmMCGRKList_MKC_CX.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 TfrmMCGRKList_MKC_CX.N2Click(Sender: TObject); begin if PB_MX.IsEmpty then Exit; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from YS_Money_CR A where A.YFTypeId in (select B.MYID '); SQL.Add(' from CK_MYSC_CR B where B.RKNO='''+trim(PB_MX.fieldbyname('RKNO').AsString)+''')'); sql.Add(' and (isnull(ChkerP,'''')<>'''' '); sql.Add(' or isnull(ChkerQ,'''')<>'''') '); Open; end; if ADOQueryTemp.IsEmpty=false then begin Application.MessageBox('应付款已审核,不能删除','提示'); exit; end; if Application.MessageBox('确定要删除数据吗?','提示',32+4)<>IDYES then Exit; if DelData() then begin //Order_Main.Delete; end; end; procedure TfrmMCGRKList_MKC_CX.cxTabControl1Change(Sender: TObject); begin InitGrid(); end; procedure TfrmMCGRKList_MKC_CX.ZJStatusChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmMCGRKList_MKC_CX.ToolButton4Click(Sender: TObject); var fPrintFile:string; begin if Order_Main.IsEmpty then Exit; if Trim(Order_Main.fieldbyname('Chker').AsString)='' then exit; fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\检测报告.rmf'; RMXLSExport2:= TRMXLSExport.Create(RMXLSExport2); with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from Test_Report where TRId='''+Trim(Order_Main.fieldbyname('TRId').AsString)+''''); Open; end; SCreateCDS20(ADOQueryTemp,CDS_PRT); SInitCDSData20(ADOQueryTemp,CDS_PRT); if FileExists(fPrintFile) then begin //RMVariables['OrderUnit']:=Order_Main.fieldbyname('OrderUnit').Value; RM1.LoadFromFile(fPrintFile); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找'+ExtractFilePath(Application.ExeName)+'Report\检测报告.rmf'),'提示',0); end; end; procedure TfrmMCGRKList_MKC_CX.Button2Click(Sender: TObject); begin try frmGYSList:=TfrmGYSList.Create(Application); with frmGYSList do begin KHType.Text:='棉厂'; KHType.TxtCode:='棉厂'; if ShowModal=1 then begin Self.KHName.Text:=Trim(frmGYSList.Order_Main.fieldbyname('KHName').AsString); end; end; finally frmGYSList.Free; end; end; procedure TfrmMCGRKList_MKC_CX.Button1Click(Sender: TObject); begin try frmGYSList:=TfrmGYSList.Create(Application); with frmGYSList do begin KHType.Text:='绣花厂'; KHType.TxtCode:='绣花厂'; if ShowModal=1 then begin Self.JCDanWei.Text:=Trim(frmGYSList.Order_Main.fieldbyname('KHName').AsString); end; end; finally frmGYSList.Free; end; end; procedure TfrmMCGRKList_MKC_CX.KHNameChange(Sender: TObject); begin SDofilter(ADOQueryCmd,SGetFilters(Panel1,3,4)); SCreateCDS20(ADOQueryCmd,PB_MX); SInitCDSData20(ADOQueryCmd,PB_MX); end; procedure TfrmMCGRKList_MKC_CX.N1Click(Sender: TObject); begin frmRCCKInPut:=TfrmRCCKInPut.Create(self); with frmRCCKInPut do begin if ShowModal=1 then begin end; free; end; end; procedure TfrmMCGRKList_MKC_CX.MYCodeChange(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 TfrmMCGRKList_MKC_CX.Tv1FocusedRecordChanged( Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); begin with ADOQueryCmd do begin Filtered:=False; Close; sql.Clear; sql.Add(' select A.* '); sql.Add(',KHNameJC=(select Top 1 B.KHNameJC from KH_Main B '); sql.Add(' where isnull(B.KHFlag,'''')=''GYS'' and isnull(B.Valid,'''')=''Y'' and B.KHName=A.KHName)'); sql.Add(',JCDanWeiJC=(select Top 1 B.KHNameJC from KH_Main B '); sql.Add(' where isnull(B.KHFlag,'''')=''GS'' and isnull(B.Valid,'''')=''Y'' and B.KHName=A.JCDanWei)'); sql.Add(' from CK_MYSC_CR A '); sql.Add(' where A.MYCode='''+trim(Order_Main.fieldbyname('MYCode').AsString)+''' '); sql.Add(' and A.MYName='''+trim(Order_Main.fieldbyname('MYName').AsString)+''' '); sql.Add(' and A.KHName='''+trim(Order_Main.fieldbyname('KHName').AsString)+''''); sql.Add(' and isnull(CRType,'''')=''采购入库'' '); SQL.Add(' and isnull(MYType,'''')=''采购棉'''); sql.Add(' and isnull(A.MXKCPiQty,0)>0'); Open; end; SCreateCDS20(ADOQueryCmd,PB_MX); SInitCDSData20(ADOQueryCmd,PB_MX); end; procedure TfrmMCGRKList_MKC_CX.TV2DblClick(Sender: TObject); begin Toolbutton1.Click; end; procedure TfrmMCGRKList_MKC_CX.N3Click(Sender: TObject); var FFMYType:String; begin if PB_MX.IsEmpty then Exit; try frmLLRKInPutMH_MCG:=TfrmLLRKInPutMH_MCG.Create(Application); with frmLLRKInPutMH_MCG do begin PState:=1; FMainId:=Trim(Self.PB_MX.fieldbyname('RKNo').AsString); FMYType:=Trim(Self.PB_MX.fieldbyname('MYType').AsString); FMYTypeFlag:=Trim(Self.PB_MX.fieldbyname('MYTypeFlag').AsString); labMYType.Caption:='(棉)采购'; if ShowModal=1 then begin //InitGrid(); end; end; finally frmLLRKInPutMH_MCG.Free; end; end; procedure TfrmMCGRKList_MKC_CX.TV2CellDblClick( Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin try frmLLRKInPutMH_MCG:=TfrmLLRKInPutMH_MCG.Create(Application); with frmLLRKInPutMH_MCG do begin PState:=1; FMainId:=Trim(Self.Order_Main.fieldbyname('RKNo').AsString); FMYType:=Trim(Self.Order_Main.fieldbyname('MYType').AsString); FMYTypeFlag:=Trim(Self.Order_Main.fieldbyname('MYTypeFlag').AsString); TBSave.Visible:=False; labMYType.Caption:='(棉)采购'; PopupMenu1.Items.Clear; if ShowModal=1 then begin InitGrid(); end; end; finally frmLLRKInPutMH_MCG.Free; end; end; end.