unit U_MPDCKListNew;

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, cxContainer, cxGroupBox, IdBaseComponent,
  IdComponent, IdTCPConnection, IdTCPClient, IdFTP, ShellAPI, ImgList, StrUtils,
  cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxSkinsCore,
      
  dxSkinDarkRoom,  
    
     
    
    
    
    
   
   dxSkinOffice2013White, 
     dxSkinSharpPlus,
   dxSkinSpringTime,  
   dxSkinsDefaultPainters, 
     dxSkinscxPCPainter;

type
  TfrmMPDCKListNew = 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;
    Panel1: TPanel;
    v1Column1: TcxGridDBColumn;
    Label34: TLabel;
    v1Column7: TcxGridDBColumn;
    v1Column9: TcxGridDBColumn;
    KHNameJC: TEdit;
    BegDate: TDateTimePicker;
    EndDate: TDateTimePicker;
    ToolButton4: TToolButton;
    RM1: TRMGridReport;
    RMDBMain: TRMDBDataSet;
    RMXLSExport2: TRMXLSExport;
    CDS_PRT: TClientDataSet;
    v1Column17: TcxGridDBColumn;
    v1Column3: TcxGridDBColumn;
    labMYType: TLabel;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    CheckBox1: TCheckBox;
    Button2: TButton;
    v1MYMDMoney: TcxGridDBColumn;
    v1JCDanWeiJC: TcxGridDBColumn;
    Label3: TLabel;
    JCDanWeiJC: TEdit;
    Button1: TButton;
    Label4: TLabel;
    filler: TEdit;
    v1filler: TcxGridDBColumn;
    ODPat: TOpenDialog;
    IdFTP1: TIdFTP;
    PopupMenu2: TPopupMenu;
    MenuItem1: TMenuItem;
    N3: TMenuItem;
    MenuItem2: TMenuItem;
    N4: TMenuItem;
    Label2: TLabel;
    Label1: TLabel;
    MYName: TEdit;
    Note: TEdit;
    Button3: TButton;
    ImageList1: TImageList;
    v1RKNo: TcxGridDBColumn;
    v1editer: TcxGridDBColumn;
    KHNo: TEdit;
    JCKHNo: TEdit;
    Label5: TLabel;
    CGName: TEdit;
    v1MYName: TcxGridDBColumn;
    v1MYMF: TcxGridDBColumn;
    v1MYKZ: TcxGridDBColumn;
    N5: TMenuItem;
    N6: TMenuItem;
    Label6: TLabel;
    Label7: TLabel;
    MYMF: TEdit;
    MYKZ: TEdit;
    v1MYMDPrice: TcxGridDBColumn;
    ToolButton3: 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 N2Click(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure cxTabControl1Change(Sender: TObject);
    procedure ZJStatusChange(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
  private
    canshu1: string;
    DQdate: TDateTime;
    procedure InitGrid();
    procedure InitForm();
    function DelData(): Boolean;
    { Private declarations }
  public
    FFInt, FCloth: Integer;

    { Public declarations }
  end;

var
  frmMPDCKListNew: TfrmMPDCKListNew;

implementation

uses
  U_DataLink, U_RTFun, U_QCRKInPut, U_ZDYHelp, U_LLRKInPut, U_GYSList,
  U_LLRKInPutMH_MCG, U_LLRKInPutMH, U_LLRKInPutX, U_LLRKInPut_CG,
  U_LLRKInPutMH_CG, U_BPZdy_LRM, U_LLRKInPutMH_MTHCK, U_LLCKInPutMH_MPDNew;

{$R *.dfm}

procedure TfrmMPDCKListNew.FormDestroy(Sender: TObject);
begin
  frmMPDCKListNew := nil;
end;

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

procedure TfrmMPDCKListNew.FormCreate(Sender: TObject);
begin
  cxgrid1.Align := alClient;
  canshu1 := Trim(DParameters1);
end;

procedure TfrmMPDCKListNew.TBCloseClick(Sender: TObject);
begin
  WriteCxGrid('棉盘点出库', Tv1, '贸易生产管理');
  Close;
end;

procedure TfrmMPDCKListNew.InitGrid();
begin
  try
    ADOQueryMain.DisableControls;
    with ADOQueryMain do
    begin
      Filtered := False;
      Close;
      sql.Clear;
      sql.Add('select A.*');
      sql.add(',IFFZ=(select Count(B.WBID) from TP_File B where B.WBID=A.RKNo and B.TFType=''采购棉'')');
      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(',KHNo=(select Top 1 B.KHNo from KH_Main B ');
      sql.Add(' where isnull(B.KHFlag,'''')=''GYS'' and isnull(B.Valid,'''')=''Y'' and B.KHName=A.KHName)');
      sql.Add(',JCKHNo=(select Top 1 B.KHNo from KH_Main B ');
      sql.Add(' where isnull(B.KHFlag,'''')=''GYS'' and isnull(B.Valid,'''')=''Y'' and B.KHName=A.JCDanWei)');
      sql.Add(' from CK_MYSC_CR A  ');
      sql.Add(' where 1=1 ');
      if CheckBox1.Checked = False then
      begin
        sql.Add(' and A.CRTime>=''' + Trim(FormatDateTime('yyyy-MM-dd', now)) + '''');
        sql.Add(' and A.CRTime<''' + Trim(FormatDateTime('yyyy-MM-dd', now + 1)) + '''');
        BegDate.Visible := false;
        EndDate.Visible := false;
      end
      else
      begin
        sql.Add(' and A.CRTime>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.Date)) + '''');
        sql.Add(' and A.CRTime<''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.Date + 1)) + '''');
        BegDate.Visible := true;
        EndDate.Visible := true;
      end;
      sql.Add(' and isnull(CRType,'''')=''盘点出库'' and isnull(MYType,'''')=''盘点棉'' ');
      sql.Add(' and isnull(SJLX,''旧'') =''新'' ');
      Open;
    end;
    SCreateCDS20(ADOQueryMain, Order_Main);
    SInitCDSData20(ADOQueryMain, Order_Main);
  finally
    ADOQueryMain.EnableControls;
  end;
end;

procedure TfrmMPDCKListNew.InitForm();
begin
  BegDate.Date := SGetServerDateMBeg(ADOQueryTemp);
  EndDate.Date := SGetServerDate(ADOQueryTemp);
  ReadCxGrid('棉盘点出库', Tv1, '贸易生产管理');
  v1MYMDPrice.Visible := false;
  if canshu1 = '高权限' then
  begin
    v1MYMDPrice.Visible := true;
  end;
  InitGrid();
end;

procedure TfrmMPDCKListNew.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 TfrmMPDCKListNew.DelData(): Boolean;
begin
  try
    Result := false;
    ADOQueryCmd.Connection.BeginTrans;
    Order_Main.DisableControls;
    with Order_Main do
    begin
      //First;
     // while Order_Main.Locate('SSel',True,[]) do
      begin
        with ADOQueryCmd do
        begin
          Close;
          sql.Clear;
          sql.Add(' insert into CK_MYSC_CR_Log  ');
          sql.Add(' select * from CK_MYSC_CR where MYID=''' + Trim(Order_Main.fieldbyname('MYID').AsString) + '''');
          sql.Add(' UPdate CK_MYSC_CR_Log Set DelTime=getdate(),DelerCode=''' + Trim(DCode) + ''',Deler=''' + Trim(DName) + '''');
          sql.Add(' where MYID=''' + Trim(Order_Main.fieldbyname('MYID').AsString) + '''');
          sql.Add(' Delete from CK_MYSC_CR  where MYID=''' + Trim(Order_Main.fieldbyname('MYID').AsString) + '''');
          ExecSQL;
        end;
        Order_Main.Delete;
      end;
    end;
    Order_Main.EnableControls;
    ADOQueryCmd.Connection.CommitTrans;
    Result := True;
  except
    ADOQueryCmd.Connection.RollbackTrans;
    Result := False;
    Application.MessageBox('数据删除异常！', '提示', 0);
  end;
end;

procedure TfrmMPDCKListNew.TBExportClick(Sender: TObject);
begin
  if ADOQueryMain.IsEmpty then
    Exit;
  TcxGridToExcel(Self.Caption, cxGrid1);
end;

procedure TfrmMPDCKListNew.TBRafreshClick(Sender: TObject);
begin
  InitGrid();
  TBFind.Click;
end;

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

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

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

procedure TfrmMPDCKListNew.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 TfrmMPDCKListNew.N2Click(Sender: TObject);
begin
  if Order_Main.IsEmpty then
    Exit;
  if Trim(DParameters1) <> '高权限' then
  begin
    if Order_Main.FieldByName('filltime').AsDateTime + 1 < Now then
    begin
      application.MessageBox('超过一天不能删除', '提示');
      Exit;
    end;
  end;
  if Application.MessageBox('确定要删除数据吗？', '提示', 32 + 4) <> IDYES then
    Exit;
  if DelData() then
  begin
    //Order_Main.Delete;
  end;
end;

procedure TfrmMPDCKListNew.N1Click(Sender: TObject);
var
  FFMYType: string;
begin
  if Order_Main.IsEmpty then
    Exit;
  if Trim(canshu1) <> '高权限' then
  begin
    if Order_Main.FieldByName('filltime').AsDateTime + 1 < Now then
    begin
      application.MessageBox('超过一天不能修改', '提示');
      Exit;
    end;
  end;

  if Trim(Order_Main.fieldbyname('CRType').AsString) = '盘点出库' then
  begin
    try
      frmLLCKInPutMH_MPDNew := TfrmLLCKInPutMH_MPDNew.Create(Application);
      with frmLLCKInPutMH_MPDNew do
      begin
        PState := 1;
        FMainId := Trim(Self.Order_Main.fieldbyname('RKNo').AsString);
        FSubid := Trim(Self.Order_Main.fieldbyname('MYID').AsString);
        FMYType := Trim(Self.Order_Main.fieldbyname('MYType').AsString);
        FMYTypeFlag := Trim(Self.Order_Main.fieldbyname('MYTypeFlag').AsString);
        labMYType.Caption := '(棉)盘点';
        //Panel5.Visible:=false;
        if ShowModal = 1 then
        begin
          InitGrid();
        end;
      end;
    finally
      frmLLCKInPutMH_MPDNew.Free;
    end;
  end;

end;

procedure TfrmMPDCKListNew.cxTabControl1Change(Sender: TObject);
begin
  InitGrid();
end;

procedure TfrmMPDCKListNew.ZJStatusChange(Sender: TObject);
begin
  TBFind.Click;
end;

procedure TfrmMPDCKListNew.Button2Click(Sender: TObject);
begin
  try
    frmGYSList := TfrmGYSList.Create(Application);
    with frmGYSList do
    begin
      KHType.Text := '棉厂';
      KHType.TxtCode := '棉厂';
      if ShowModal = 1 then
      begin
        Self.KHNameJC.Text := Trim(frmGYSList.Order_Main.fieldbyname('KHNameJC').AsString);
        TBFind.Click;
      end;
    end;
  finally
    frmGYSList.Free;
  end;
end;

procedure TfrmMPDCKListNew.Button1Click(Sender: TObject);
begin
  try
    frmGYSList := TfrmGYSList.Create(Application);
    with frmGYSList do
    begin
      KHType.Text := '绣花厂';
      KHType.TxtCode := '绣花厂';
      if ShowModal = 1 then
      begin
        Self.JCDanWeiJC.Text := Trim(frmGYSList.Order_Main.fieldbyname('KHNameJC').AsString);
        TBFind.Click;
      end;
    end;
  finally
    frmGYSList.Free;
  end;
end;

procedure TfrmMPDCKListNew.Button3Click(Sender: TObject);
begin
  frmBPZDY_LRM := TfrmBPZDY_LRM.create(self);
  with frmBPZDY_LRM do
  begin
    flag := 'MName';
    flagName := '棉';
    ViewFlag := true;
    Panel4.Align := alClient;
    ToolBar3.Visible := false;
    Button1.Visible := False;
    if ShowModal = 1 then
    begin
      MYName.text := Trim(ClientDataSet1.fieldbyname('BPName').AsString);
    end;
    free;
  end;
end;

procedure TfrmMPDCKListNew.N5Click(Sender: TObject);
begin
  try
    frmLLCKInPutMH_MPDNew := TfrmLLCKInPutMH_MPDNew.Create(Application);
    with frmLLCKInPutMH_MPDNew do
    begin
      PState := 0;
      FMainId := '';
      FSubid := '';
      FMYType := '盘点棉';
      FMYTypeFlag := 'CGH';
      labMYType.Caption := '(棉)盘点';
      FML := '棉';
      if ShowModal = 1 then
      begin
        InitGrid();
      end;
    end;
  finally
    frmLLCKInPutMH_MPDNew.Free;
  end;
end;

procedure TfrmMPDCKListNew.N6Click(Sender: TObject);
var
  FFMYType: string;
begin
  if Order_Main.IsEmpty then
    Exit;

  if Trim(Order_Main.fieldbyname('CRType').AsString) = '盘点出库' then
  begin
    try
      frmLLCKInPutMH_MPDNew := TfrmLLCKInPutMH_MPDNew.Create(Application);
      with frmLLCKInPutMH_MPDNew do
      begin
        PState := 2;
        FMainId := Trim(Self.Order_Main.fieldbyname('RKNo').AsString);
        FSubid := Trim(Self.Order_Main.fieldbyname('MYID').AsString);
        FMYType := Trim(Self.Order_Main.fieldbyname('MYType').AsString);
        FMYTypeFlag := Trim(Self.Order_Main.fieldbyname('MYTypeFlag').AsString);
        labMYType.Caption := '(棉)盘点';
        //Panel5.Visible:=false;
        if ShowModal = 1 then
        begin
          InitGrid();
        end;
      end;
    finally
      frmLLCKInPutMH_MPDNew.Free;
    end;
  end;

end;

procedure TfrmMPDCKListNew.ToolButton3Click(Sender: TObject);
begin
  try
    frmLLCKInPutMH_MPDNew := TfrmLLCKInPutMH_MPDNew.Create(Application);
    with frmLLCKInPutMH_MPDNew do
    begin
      PState := 0;
      FMainId := '';
      FSubid := '';
      FMYType := '盘点棉';
      FMYTypeFlag := 'CGH';
      labMYType.Caption := '(棉)盘点';
      FML := '棉';
      if ShowModal = 1 then
      begin
        InitGrid();
      end;
    end;
  finally
    frmLLCKInPutMH_MPDNew.Free;
  end;
end;

end.

