unit U_YGYPZZChkList_BGYPRK;

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, ActnMan, ActnColorMaps;

type
  TfrmYGYPZZChkList_BGYPRK = class(TForm)
    ToolBar1: TToolBar;
    TBRafresh: TToolButton;
    TBFind: TToolButton;
    TBClose: TToolButton;
    cxGridPopupMenu1: TcxGridPopupMenu;
    ADOQueryCmd: TADOQuery;
    ADOQueryMain: TADOQuery;
    ADOQueryTemp: TADOQuery;
    DataSource1: TDataSource;
    TBExport: TToolButton;
    Order_Main: TClientDataSet;
    Panel1: TPanel;
    TBLiZhi: TToolButton;
    PopupMenu1: TPopupMenu;
    N2: TMenuItem;
    N1: TMenuItem;
    BegDate: TDateTimePicker;
    Label3: TLabel;
    EndDate: TDateTimePicker;
    DataSource2: TDataSource;
    Label2: TLabel;
    TDel: TToolButton;
    cxStyleRepository1: TcxStyleRepository;
    cxStyle1: TcxStyle;
    cxGrid1: TcxGrid;
    Tv1: TcxGridDBTableView;
    v1KCName: TcxGridDBColumn;
    v1KCPlace: TcxGridDBColumn;
    v1KCQty: TcxGridDBColumn;
    v1KCUnit: TcxGridDBColumn;
    v1RKPeoPle: TcxGridDBColumn;
    v1RKDate: TcxGridDBColumn;
    v1KCNote: TcxGridDBColumn;
    cxGrid1Level1: TcxGridLevel;
    Label1: TLabel;
    KCName: TEdit;
    Label4: TLabel;
    KCPlace: TEdit;
    ADOQuery1: TADOQuery;
    TEdit: TToolButton;
    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 CustomerNoNameChange(Sender: TObject);
    procedure TBLiZhiClick(Sender: TObject);
    procedure TDelClick(Sender: TObject);
    procedure KCNameChange(Sender: TObject);
    procedure TEditClick(Sender: TObject);
  private
    canshu1:string;
    DQdate:TDateTime;
    procedure InitGrid();
    procedure InitForm();
    function  DelData():Boolean;
    procedure setstatus();
    { Private declarations }
  public
    FFInt,FCloth:Integer;

    { Public declarations }
  end;

var
  frmYGYPZZChkList_BGYPRK: TfrmYGYPZZChkList_BGYPRK;

implementation
uses
  U_DataLink,U_RTFun,U_ZDYHelp, U_YGYPInPut,
  U_ZDYHelpSel,U_YGYPInput_BGYPKCDJ;

{$R *.dfm}

procedure TfrmYGYPZZChkList_BGYPRK.setstatus();
begin
  
end;

procedure TfrmYGYPZZChkList_BGYPRK.FormDestroy(Sender: TObject);
begin
  frmYGYPZZChkList_BGYPRK:=nil;
end;

procedure TfrmYGYPZZChkList_BGYPRK.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  Action:=caFree;
end;

procedure TfrmYGYPZZChkList_BGYPRK.FormCreate(Sender: TObject);
begin
  canshu1:=Trim(DParameters1);
end;

procedure TfrmYGYPZZChkList_BGYPRK.TBCloseClick(Sender: TObject);
begin
  Close;
  WriteCxGrid('员工办公入库列表',Tv1,'OA管理');
end;

procedure TfrmYGYPZZChkList_BGYPRK.InitGrid();
var FDEPT:string;
    Fint:integer;
begin
  try
    ADOQueryMain.DisableControls;
    with ADOQueryMain do
    begin
      Filtered:=False;
      Close;
      sql.Clear;
      sql.Add('select A.* ');
      sql.Add(' from OA_YG_DangAN_BGYPKC A  ');
      sql.Add(' where A.RKDate>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date))+'''');
      sql.Add(' and A.RKDate<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.Date+1))+'''');
      sql.add(' and A.DeptType=''总经办''');
      Open;
    end;
    SCreateCDS20(ADOQueryMain,Order_Main);
    SInitCDSData20(ADOQueryMain,Order_Main);
  finally
    ADOQueryMain.EnableControls;
  end;
  TBFind.Click;
end;


procedure TfrmYGYPZZChkList_BGYPRK.InitForm();
begin
  EndDate.Date:=SGetServerDate(ADOQueryTemp);
  BegDate.Date:=EndDate.Date-7;
  ReadCxGrid('员工办公入库列表',Tv1,'OA管理');
  setstatus();
  InitGrid();
end;

procedure TfrmYGYPZZChkList_BGYPRK.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 TfrmYGYPZZChkList_BGYPRK.DelData():Boolean;
begin
  try
    Result:=false;
    ADOQueryCmd.Connection.BeginTrans;
    with ADOQueryCmd do
    begin
      Close;
      sql.Clear;
      sql.Add('Delete OA_YG_DangAn  where YGId='''+Trim(Order_Main.fieldbyname('YGId').AsString)+'''');
      ExecSQL;
    end;
    with ADOQueryCmd do
    begin
      Close;
      sql.Clear;
      sql.Add('Delete OA_YG_DangAn_Other  where YGId='''+Trim(Order_Main.fieldbyname('YGId').AsString)+'''');
      ExecSQL;
    end;
    with ADOQueryCmd do
    begin
      Close;
      sql.Clear;
      sql.Add('Delete TP_File  where WBId='''+Trim(Order_Main.fieldbyname('YGId').AsString)+'''');
      sql.Add(' and TFType=''YG'' ');
      ExecSQL;
    end;

    ADOQueryCmd.Connection.CommitTrans;
    Result:=True;
  except
    ADOQueryCmd.Connection.RollbackTrans;
    Result:=False;
    Application.MessageBox('数据删除异常！','提示',0);
  end;
end;

procedure TfrmYGYPZZChkList_BGYPRK.TBExportClick(Sender: TObject);
begin
  if ADOQueryMain.IsEmpty then Exit;
  TcxGridToExcel('员工入库列表',cxGrid1);
end;

procedure TfrmYGYPZZChkList_BGYPRK.TBRafreshClick(Sender: TObject);
begin
  InitGrid();
end;

procedure TfrmYGYPZZChkList_BGYPRK.FormShow(Sender: TObject);
begin
  InitForm();
end;

procedure TfrmYGYPZZChkList_BGYPRK.CheckBox1Click(Sender: TObject);
begin
  InitGrid();
end;

procedure TfrmYGYPZZChkList_BGYPRK.CheckBox2Click(Sender: TObject);
begin
  TBRafresh.Click;
end;

procedure TfrmYGYPZZChkList_BGYPRK.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 TfrmYGYPZZChkList_BGYPRK.TBLiZhiClick(Sender: TObject);
begin
  frmYGYPInPut_BGYPKCDJ:=TfrmYGYPInPut_BGYPKCDJ.create(self);
  with frmYGYPInPut_BGYPKCDJ do
  begin                
    FKCID:='';
    if showModal=1 then
    begin

    end;
    free;
  end;
  initGrid();
end;

procedure TfrmYGYPZZChkList_BGYPRK.TDelClick(Sender: TObject);
begin
  if Order_Main.IsEmpty then exit;
  if application.MessageBox('确定要撤销吗','提示',1)=2 then exit;
  with ADOQueryCmd do
  begin
    close;
    sql.Clear;
    sql.Add('delete from OA_YG_DangAN_BGYPKC where KCID='''+trim(Order_Main.fieldbyname('KCID').AsString)+'''');
    execsql;
  end;
  if Trim(Order_Main.fieldbyname('BGMainid').asstring)<>'' then
  begin
    with ADOQueryCmd do
        begin
          Close;
          sql.Clear;
          sql.add('update OA_YG_DangAN_BGYP_Sub set RKStatus='''' ');
          sql.add('where BGMainid='''+Trim(Order_Main.fieldbyname('BGMainid').asstring)+'''');
          execsql;
        end;
  end;
  initGrid();
end;


procedure TfrmYGYPZZChkList_BGYPRK.KCNameChange(Sender: TObject);
begin
  SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
  SCreateCDS20(ADOQueryMain,Order_Main);
  SInitCDSData20(ADOQueryMain,Order_Main);
end;

procedure TfrmYGYPZZChkList_BGYPRK.TEditClick(Sender: TObject);
begin
  if Order_Main.FieldByName('RKDate').AsDateTime<Now then
  begin
    application.MessageBox('已超过当天不能修改','提示');
    exit;
  end;
  frmYGYPInPut_BGYPKCDJ:=TfrmYGYPInPut_BGYPKCDJ.create(self);
  with frmYGYPInPut_BGYPKCDJ do
  begin                
    FKCID:=trim(Order_Main.fieldbyname('KCID').AsString);
    if showModal=1 then
    begin

    end;
    free;
  end;
  initGrid();
end;

end.
