unit U_DcgGzList; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB, cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin, StdCtrls, cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls, cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid, cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdFTP, ShellAPI, IniFiles, cxCheckBox, cxCalendar, cxButtonEdit, cxTextEdit, cxCurrencyEdit, cxDropDownEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator; type TfrmDcgGzList = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBClose: TToolButton; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; Panel1: TPanel; ToolButton2: TToolButton; ADOQueryMain: TADOQuery; ToolButton1: TToolButton; RM1: TRMGridReport; RMDB_Main: TRMDBDataSet; cxGridPopupMenu2: TcxGridPopupMenu; DS_HZ: TDataSource; CDS_HZ: TClientDataSet; Label1: TLabel; Label2: TLabel; Label6: TLabel; Name: TEdit; OrderNo: TEdit; CPName: TEdit; cxGrid2: TcxGrid; TV2: TcxGridDBTableView; cxGridLevel1: TcxGridLevel; V2Column1: TcxGridDBColumn; V2Column2: TcxGridDBColumn; V2Column10: TcxGridDBColumn; enddate: TDateTimePicker; BegDate: TDateTimePicker; Label3: TLabel; Label4: TLabel; ToolButton3: TToolButton; V2Column8: TcxGridDBColumn; ToolButton4: TToolButton; ToolButton5: TToolButton; ToolButton6: TToolButton; V2Column4: TcxGridDBColumn; V2Column6: TcxGridDBColumn; TV2Column1: TcxGridDBColumn; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure ZdyNameChange(Sender: TObject); procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure TSselClick(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure V2Column6PropertiesEditValueChanged(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure V2Column8PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure V2Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure V2Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure ToolButton5Click(Sender: TObject); procedure V2Column11PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure V2Column1PropertiesEditValueChanged(Sender: TObject); procedure ToolButton6Click(Sender: TObject); procedure V2Column4PropertiesEditValueChanged(Sender: TObject); procedure V2Column10PropertiesEditValueChanged(Sender: TObject); procedure TV2Column1PropertiesEditValueChanged(Sender: TObject); procedure V2Column4PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); private { Private declarations } procedure InitGrid(); function SaveData(): Boolean; public end; var frmDcgGzList: TfrmDcgGzList; implementation uses U_DataLink, U_Fun10, U_ZDYHelp, U_JFSCList, U_ClothSCListSel; // {$R *.dfm} function TfrmDcgGzList.SaveData(): Boolean; var MaxId: string; begin try ADOQueryCmd.Connection.BeginTrans; if GetLSNo(ADOQueryCmd, MaxId, 'GZ', 'DcgGz', 4, 1) = False then begin Result := False; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('取最大号失败!', '提示', 0); Exit; end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from DcgGz where 1=2'); Open; end; with ADOQueryCmd do begin Append; FieldByName('GZID').Value := Trim(MaxId); FieldByName('Filler').Value := Trim(DName); FieldByName('QTY').Value := 0; FieldByName('JYDate').Value := formatdateTIme('yyyy-MM-dd', now()); Post; end; with CDS_HZ do begin Append; FieldByName('GZID').Value := Trim(MaxId); FieldByName('JYDate').Value := formatdateTIme('yyyy-MM-dd', now()); FieldByName('QTY').Value := 0; end; ADOQueryCmd.Connection.CommitTrans; Result := True; except Result := True; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('增行失败!', '提示', 0); end; end; procedure TfrmDcgGzList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; Filtered := False; SQL.Clear; sql.Add(' select *,DName Name from DcgGz where JYDate>=' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)))); sql.Add(' and JYDate< ' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', EndDate.DateTime + 1)))); Open; end; SCreateCDS20(ADOQueryMain, CDS_HZ); SInitCDSData20(ADOQueryMain, CDS_HZ); finally ADOQueryMain.EnableControls; end; end; procedure TfrmDcgGzList.FormDestroy(Sender: TObject); begin frmDcgGzList := nil; end; procedure TfrmDcgGzList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmDcgGzList.TBCloseClick(Sender: TObject); begin WriteCxGrid(trim(self.caption), Tv2, '挡车工工资'); Close; end; procedure TfrmDcgGzList.FormShow(Sender: TObject); begin ReadCxGrid(trim(self.caption), Tv2, '挡车工工资'); EndDate.DateTime := SGetServerDate10(ADOQueryTemp); BegDate.DateTime := EndDate.DateTime; InitGrid(); end; procedure TfrmDcgGzList.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmDcgGzList.ToolButton2Click(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(ADOQueryMain, CDS_HZ); SInitCDSData20(ADOQueryMain, CDS_HZ); end; end; procedure TfrmDcgGzList.ZdyNameChange(Sender: TObject); begin ToolButton2.Click; end; procedure TfrmDcgGzList.Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin if CDS_HZ.IsEmpty then exit; ModalResult := 1; end; procedure TfrmDcgGzList.TSselClick(Sender: TObject); begin if CDS_HZ.IsEmpty then exit; ModalResult := 1; end; procedure TfrmDcgGzList.ToolButton1Click(Sender: TObject); begin if CDS_HZ.IsEmpty then Exit; TcxGridToExcel('次布统计', cxGrid2); end; procedure TfrmDcgGzList.V2Column6PropertiesEditValueChanged(Sender: TObject); var FFieldName, mvalue: string; FZSSJ, FZSJB1, FZSJB2: integer; FPTMoney, FGZMoney, FDcgPrice: double; begin mvalue := TcxTextEdit(Sender).EditingText; if Trim(mvalue) = '' then begin mvalue := '0'; end; FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName); with CDS_HZ do begin Edit; FieldByName(FFieldName).Value := mvalue; Post; FZSJB1 := FieldByName('ZSJB1').AsInteger; FZSJB2 := FieldByName('ZSJB2').AsInteger; FDcgPrice := FieldByName('GJPrice').AsFloat; end; //产量工资=(交班总转数-接班总转数)/10000*工价 FZSSJ := FZSJB2 - FZSJB1; FGZMoney := (FZSJB2 - FZSJB1) / 10000 * FDcgPrice; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('update DcgGz set ' + FFieldName + '=' + mvalue); sql.Add(' , ZSSJ=' + inttostr(FZSSJ)); sql.Add(' , GZMoney=' + floattostr(FGZMoney)); sql.Add(' where GZID=' + quotedstr(trim(Self.CDS_HZ.FieldByName('GZID').AsString))); EXECSQL; end; with CDS_HZ do begin Edit; FieldByName('ZSSJ').Value := FZSSJ; FieldByName('GZMoney').Value := FGZMoney; Post; end; tv2.Controller.EditingController.ShowEdit(); end; procedure TfrmDcgGzList.ToolButton3Click(Sender: TObject); var fPrintFile: string; begin if CDS_HZ.IsEmpty then Exit; fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\挡车工工资.rmf'; if FileExists(fPrintFile) then begin RM1.LoadFromFile(fPrintFile); // RMVariables['QRBARCODE']:=fImagePath; RM1.ShowReport; // RM1.PrintReport; end else begin Application.MessageBox(PChar('没有找' + ExtractFilePath(Application.ExeName) + 'Report\挡车工工资.rmf'), '提示', 0); Exit; end; end; procedure TfrmDcgGzList.ToolButton4Click(Sender: TObject); begin SaveData(); end; procedure TfrmDcgGzList.V2Column8PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmClothSCListSel := TfrmClothSCListSel.Create(Application); with frmClothSCListSel do begin if ShowModal = 1 then begin with Self.CDS_HZ do begin edit; FieldByName('OrderNo').Value := Trim(frmClothSCListSel.Order_Main.fieldbyname('ConNo').AsString); FieldByName('MainId').Value := Trim(frmClothSCListSel.Order_Main.fieldbyname('MainId').AsString); FieldByName('SubId').Value := Trim(frmClothSCListSel.Order_Main.fieldbyname('SubId').AsString); FieldByName('CPNAME').Value := Trim(frmClothSCListSel.Order_Main.fieldbyname('C_CODENAME').AsString); // FieldByName('GJPrice').Value := frmClothSCListSel.Order_Main.fieldbyname('WzPrice').AsInteger; Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('update DcgGz set OrderNo=' + quotedstr(trim(Self.CDS_HZ.FieldByName('OrderNo').AsString))); sql.Add(', MainId=' + quotedstr(trim(Self.CDS_HZ.FieldByName('MainId').AsString))); sql.Add(', SubId=' + quotedstr(trim(Self.CDS_HZ.FieldByName('SubId').AsString))); sql.Add(', CPNAME=' + quotedstr(trim(Self.CDS_HZ.FieldByName('CPNAME').AsString))); // sql.Add(', GJPrice=' + inttostr(Self.CDS_HZ.FieldByName('GJPrice').AsInteger)); sql.Add(' where GZID=' + quotedstr(trim(Self.CDS_HZ.FieldByName('GZID').AsString))); execsql; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('EXEC P_UP_YCLQTY2 @GZID=' + quotedstr(trim(Self.CDS_HZ.FieldByName('GZID').AsString))); SQL.Add(',@MAINID=' + quotedstr(trim(Self.CDS_HZ.FieldByName('MAINID').AsString))); execsql; end; end; end; finally frmClothSCListSel.Free; end; tv2.Controller.EditingController.ShowEdit(); end; procedure TfrmDcgGzList.V2Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin TBAdd.Visible := false; TBDel.Visible := false; TBEdit.Visible := false; TBSave.Visible := false; flag := 'SCPerson'; flagname := '挡车工'; fnote := True; V1Note.Caption := '编号'; if ShowModal = 1 then begin with Self.CDS_HZ do begin Edit; // FieldByName('YFCode').Value:=Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString); FieldByName('DName').Value := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); FieldByName('Name').Value := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('update DcgGz set DName=' + quotedstr(trim(Self.CDS_HZ.FieldByName('DName').AsString))); sql.Add(' where GZID=' + quotedstr(trim(Self.CDS_HZ.FieldByName('GZID').AsString))); execsql; end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmDcgGzList.V2Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin TBAdd.Visible := false; TBDel.Visible := false; TBEdit.Visible := false; TBSave.Visible := false; flag := 'CarNo'; flagname := '机台'; fnote := True; V1Note.Caption := '车间'; if ShowModal = 1 then begin with Self.CDS_HZ do begin Edit; FieldByName('DCarNo').Value := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('update DcgGz set DCarNo=' + quotedstr(trim(Self.CDS_HZ.FieldByName('DCarNo').AsString))); sql.Add(' where GZID=' + quotedstr(trim(Self.CDS_HZ.FieldByName('GZID').AsString))); execsql; end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmDcgGzList.ToolButton5Click(Sender: TObject); begin if CDS_HZ.IsEmpty then exit; if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then Exit; with ADOQueryCmd do begin close; sql.Clear; sql.Add('delete DcgGz where gzid=''' + Trim(CDS_HZ.fieldbyname('gzid').AsString) + ''''); sql.Add('EXEC P_UP_YCLQTY2 @GZID=' + quotedstr(trim(Self.CDS_HZ.FieldByName('GZID').AsString))); SQL.Add(',@MAINID=' + quotedstr(trim(Self.CDS_HZ.FieldByName('MAINID').AsString))); // ShowMessage(sql.Text); execsql; end; CDS_HZ.Delete; end; procedure TfrmDcgGzList.V2Column11PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'BanCi'; flagname := '班别'; if ShowModal = 1 then begin with Self.CDS_HZ do begin Edit; FieldByName('BanCi').Value := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('update DcgGz set BanCi=' + quotedstr(trim(Self.CDS_HZ.FieldByName('BanCi').AsString))); sql.Add(' where GZID=' + quotedstr(trim(Self.CDS_HZ.FieldByName('GZID').AsString))); execsql; end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmDcgGzList.V2Column1PropertiesEditValueChanged(Sender: TObject); var FFieldName, mvalue: string; begin mvalue := TcxTextEdit(Sender).EditingText; if Trim(mvalue) = '' then begin mvalue := '0'; end; FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName); with CDS_HZ do begin Edit; FieldByName(FFieldName).Value := trim(mvalue); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('update DcgGz set ' + FFieldName + '=' + quotedstr(trim(mvalue))); sql.Add(' where GZID=' + quotedstr(trim(Self.CDS_HZ.FieldByName('GZID').AsString))); EXECSQL; end; tv2.Controller.EditingController.ShowEdit(); end; procedure TfrmDcgGzList.ToolButton6Click(Sender: TObject); begin frmJFSCList := TfrmJFSCList.create(self); with frmJFSCList do begin show; end; InitGrid(); end; procedure TfrmDcgGzList.V2Column4PropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; begin mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName); with CDS_HZ do begin Edit; FieldByName(FFieldName).Value := mvalue; Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('update DcgGz set CD=' + quotedstr(trim(mvalue))); sql.Add(' where GZID=' + quotedstr(trim(Self.CDS_HZ.FieldByName('GZID').AsString))); execsql; end; tv2.Controller.EditingController.ShowEdit(); end; procedure TfrmDcgGzList.V2Column10PropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; begin mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName); with CDS_HZ do begin Edit; FieldByName(FFieldName).Value := mvalue; Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('update DcgGz set GGNote=' + quotedstr(trim(mvalue))); sql.Add(' where GZID=' + quotedstr(trim(Self.CDS_HZ.FieldByName('GZID').AsString))); execsql; end; tv2.Controller.EditingController.ShowEdit(); end; procedure TfrmDcgGzList.TV2Column1PropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; begin mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName); with CDS_HZ do begin Edit; FieldByName(FFieldName).Value := mvalue; Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('update DcgGz set QTY=' + (trim(mvalue))); sql.Add(' where GZID=' + quotedstr(trim(Self.CDS_HZ.FieldByName('GZID').AsString))); execsql; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('EXEC P_UP_YCLQTY2 @GZID=' + quotedstr(trim(Self.CDS_HZ.FieldByName('GZID').AsString))); SQL.Add(',@MAINID=' + quotedstr(trim(Self.CDS_HZ.FieldByName('MAINID').AsString))); execsql; end; tv2.Controller.EditingController.ShowEdit(); end; procedure TfrmDcgGzList.V2Column4PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin TBAdd.Visible := false; TBDel.Visible := false; TBEdit.Visible := false; TBSave.Visible := false; flag := 'WFBCPBZZ'; flagname := '疵点'; // fnote := True; // V1Note.Caption := '编号'; if ShowModal = 1 then begin with Self.CDS_HZ do begin Edit; // FieldByName('YFCode').Value:=Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString); FieldByName('CD').Value := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('update DcgGz set CD=' + quotedstr(trim(Self.CDS_HZ.FieldByName('CD').AsString))); sql.Add(' where GZID=' + quotedstr(trim(Self.CDS_HZ.FieldByName('GZID').AsString))); execsql; end; end; end; finally frmZDYHelp.Free; end; end; end.