unit U_JYOrder_Scar_MX; 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, StrUtils, Menus, cxTextEdit, cxDropDownEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxSkinsCore, dxSkinsDefaultPainters, dxSkinscxPCPainter, dxSkinBlack, dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom, dxSkinDarkSide, dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy, dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis, dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray, dxSkinOffice2013White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue, MovePanel; type TfrmJYOrder_Scar_MX = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBClose: TToolButton; Panel1: TPanel; Tv1: TcxGridDBTableView; cxGrid1Level1: TcxGridLevel; cxGrid1: TcxGrid; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; v1OrderNo: TcxGridDBColumn; v1OrdDate: TcxGridDBColumn; v1DeliveryDate: TcxGridDBColumn; v1ConNo: TcxGridDBColumn; v1MPRTSpec: TcxGridDBColumn; Order_Main: TClientDataSet; RM1: TRMGridReport; RMDBMain: TRMDBDataSet; RMXLSExport1: TRMXLSExport; v1MPRTCodeName: TcxGridDBColumn; v1MPRTMF: TcxGridDBColumn; PopupMenu1: TPopupMenu; N2: TMenuItem; ToolButton1: TToolButton; v1MPRTKZ: TcxGridDBColumn; v1OrdDefStr1: TcxGridDBColumn; ADOQueryPrint: TADOQuery; CDS_Print: TClientDataSet; v1Column4: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v1Column9: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column11: TcxGridDBColumn; Tv1Column4: TcxGridDBColumn; Tv1Column5: TcxGridDBColumn; Tv1Column6: TcxGridDBColumn; Label3: TLabel; Label1: TLabel; Label2: TLabel; Label5: TLabel; Label10: TLabel; Label16: TLabel; Label4: TLabel; Label6: TLabel; Label8: TLabel; Label9: TLabel; carNo: TEdit; BegDate: TDateTimePicker; EndDate: TDateTimePicker; orderNo: TEdit; PRTColor: TEdit; gyname: TEdit; jyxh: TEdit; GlideName: TComboBox; groupName: TEdit; begtime: TDateTimePicker; endTime: TDateTimePicker; MovePanel2: TMovePanel; Tv1Column1: TcxGridDBColumn; Tv1Column2: TcxGridDBColumn; Tv1Column3: TcxGridDBColumn; 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 carNoChange(Sender: TObject); procedure PRTColorChange(Sender: TObject); procedure TBdelClick(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure orderNoKeyPress(Sender: TObject; var Key: Char); procedure GlideNameChange(Sender: TObject); private FLeft, FTop: Integer; procedure InitGrid(); { Private declarations } public fsyrName, canshu1: string; { Public declarations } end; var frmJYOrder_Scar_MX: TfrmJYOrder_Scar_MX; implementation uses U_DataLink, U_RTFun, U_ZDYHelp, U_Fun; {$R *.dfm} procedure TfrmJYOrder_Scar_MX.FormDestroy(Sender: TObject); begin inherited; frmJYOrder_Scar_MX := nil; end; procedure TfrmJYOrder_Scar_MX.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caFree; end; procedure TfrmJYOrder_Scar_MX.FormCreate(Sender: TObject); begin inherited; BegDate.DateTime := SGetServerDateTime(ADOQueryTemp); EndDate.DateTime := SGetServerDateTime(ADOQueryTemp); fsyrName := trim(DdataBase); canshu1 := trim(DParameters1); SInitComBoxBySql(ADOQueryTemp, GlideName, false, 'select PSName as Name from JYOrder_Process'); end; procedure TfrmJYOrder_Scar_MX.InitGrid(); var Msql, mbegdate, menddate: string; begin Msql := ''; if SGetFilters(Panel1, 1, 2) <> '' then Msql := Msql + ' where ' + SGetFilters(Panel1, 1, 2); mbegdate := FormatDateTime('yyyy-MM-dd', begdate.Date) + ' ' + FormatDateTime('HH:nn', begTime.Time); menddate := FormatDateTime('yyyy-MM-dd', enddate.Date) + ' ' + FormatDateTime('HH:nn', endTime.Time); try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; sql.Clear; Filtered := False; sql.Add('select AA.*,SUNHAO= (CASE WHEN mxQTY=0 THEN 0 ELSE ROUND((QTY-mxQTY)/mxQTY*100,2) END ) from ( '); //,car_idx=dbo.F_Get_Car_idx(AA.carNo) sql.Add('select A.*,JGQTY=A.QTY '); sql.Add(',B.PRTHX,C.OrderNo,C.customerNOName,C.ywy,C.MPRTCodeName,C.MPRTSpec,mxgangno=(select BatchNO from CK_PB_CR h WHERE H.CRID=(SELECT KCID FROM JYOrder_PBKC J WHERE J.PBKCID=d.CARNO))'); SQL.ADD(',mxQTY=(select QTY from CK_PB_CR h WHERE H.CRID=(SELECT KCID FROM JYOrder_PBKC J WHERE J.PBKCID=d.CARNO))'); SQL.Add(',jyxh=(select top 1 jyxh from WFB_MJJY F WHERE F.APID=D.CARNO)'); sql.Add(',PRTColor ,MPRTMF,MPRTKZ from CL_staff A '); sql.Add('inner join JYorder_Car D on D.CarNo=A.CarNo '); sql.Add('inner join JYorder_sub B on B.subiD=A.subID '); sql.Add('inner join JYOrder_Main C on C.mainID=A.mainID '); sql.add('where A.FillTime>=''' + trim(mbegdate) + ''' '); sql.Add('and A.FillTime<''' + trim(menddate) + ''' '); sql.Add(')AA '); sql.Add(Msql); // showmessage(sql.Text); Open; end; SCreateCDS20(ADOQueryMain, order_Main); SInitCDSData20(ADOQueryMain, order_Main); finally ADOQueryMain.EnableControls; end; TBFind.Click; end; procedure TfrmJYOrder_Scar_MX.TBRafreshClick(Sender: TObject); begin MovePanel2.Visible := True; MovePanel2.Refresh; InitGrid(); MovePanel2.Visible := False; end; procedure TfrmJYOrder_Scar_MX.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); end; end; procedure TfrmJYOrder_Scar_MX.TBCloseClick(Sender: TObject); begin WriteCxGrid(self.Caption + tv1.Name, Tv1, '成品仓库'); Close; end; procedure TfrmJYOrder_Scar_MX.FormShow(Sender: TObject); begin inherited; ReadCxGrid(self.Caption + tv1.Name, Tv1, '成品仓库'); // canshu1 := self.fParameters1; // if trim(canshu1) = '管理' then // begin // TBdel.Enabled := true; // end // else // begin // TBdel.Enabled := false; // end; // initgrid(); end; procedure TfrmJYOrder_Scar_MX.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then exit; // SelExportData(tv1,ADOQueryMain,self.Caption); // TcxGridToExcel(self.Caption, cxGrid2); SelExportData(Tv1, ADOQueryMain, '产量列表'); end; procedure TfrmJYOrder_Scar_MX.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(ADOQueryMain, ORDER_Main); SInitCDSData20(ADOQueryMain, ORDER_Main); end; end; procedure TfrmJYOrder_Scar_MX.carNoChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmJYOrder_Scar_MX.PRTColorChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmJYOrder_Scar_MX.TBdelClick(Sender: TObject); begin if ORDER_Main.IsEmpty then Exit; if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then Exit; try with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete CL_Group where Clid=''' + Trim(ORDER_Main.fieldbyname('Clid').AsString) + ''''); sql.Add('delete CL_staff where SClid=''' + Trim(ORDER_Main.fieldbyname('SClid').AsString) + ''''); ExecSQL; end; ORDER_Main.Delete; except application.MessageBox('删除失败!', '提示信息', 0); end; end; procedure TfrmJYOrder_Scar_MX.ToolButton1Click(Sender: TObject); begin if order_Main.IsEmpty then Exit; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('select * from wfb_mjjy where mjid=''' + Trim(order_Main.fieldbyname('Clid').AsString) + ''''); open; end; if (ADOQueryCmd.fieldbyname('mjstr2').asstring = '已入库') or (ADOQueryCmd.fieldbyname('mjstr2').asstring = '已出库') then begin application.MessageBox('该数据已入库或已出库不能删除!', '提示信息', 0); exit; end; if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then Exit; try with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete CL_Group where Clid=''' + Trim(order_Main.fieldbyname('Clid').AsString) + ''''); sql.Add('delete CL_staff where SClid=''' + Trim(order_Main.fieldbyname('SClid').AsString) + ''''); sql.Add('delete WFB_MJJY where MJID=''' + Trim(order_Main.fieldbyname('Clid').AsString) + ''''); sql.Add('delete CK_BanCP_CR where MJID=''' + Trim(order_Main.fieldbyname('Clid').AsString) + ''''); sql.Add('delete CK_BanCP_KC where MJID=''' + Trim(order_Main.fieldbyname('Clid').AsString) + ''''); ExecSQL; end; order_Main.Delete; except application.MessageBox('删除失败!', '提示信息', 0); end; end; procedure TfrmJYOrder_Scar_MX.orderNoKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin INITGRID(); end; end; procedure TfrmJYOrder_Scar_MX.GlideNameChange(Sender: TObject); begin INITGRID(); end; end.