unit U_ClothContractInPut_CG;

interface

uses
  Windows, Messages,strUtils, SysUtils, cxTextEdit,Variants, Classes, Graphics, Controls, Forms,
  Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
  cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView,
  cxGridTableView, cxGridDBTableView, cxClasses, cxControls,
  cxGridCustomView, cxGrid, cxMemo, cxRichEdit, ComCtrls, cxContainer,
   cxMaskEdit, cxButtonEdit, StdCtrls, ToolWin, DBClient, ADODB,
  ExtCtrls, BtnEdit, cxDropDownEdit, cxGridCustomPopupMenu, cxGridPopupMenu;

type
  TfrmClothContractInPut_CG = class(TForm)
    ToolBar1: TToolBar;
    TBSave: TToolButton;
    TBClose: TToolButton;
    ScrollBox1: TScrollBox;
    Label1: TLabel;
    ConNo: TEdit;
    Label4: TLabel;
    DeliveryDate: TDateTimePicker;
    Label5: TLabel;
    ToolBar2: TToolBar;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    cxGrid1: TcxGrid;
    Tv1: TcxGridDBTableView;
    v1PRTSpec: TcxGridDBColumn;
    v1PRTColor: TcxGridDBColumn;
    cxGrid1Level1: TcxGridLevel;
    v1PRTKZ: TcxGridDBColumn;
    v1ClothQty: TcxGridDBColumn;
    v1PRTQty: TcxGridDBColumn;
    v1Price: TcxGridDBColumn;
    v1ClothUnit: TcxGridDBColumn;
    ADOTemp: TADOQuery;
    ADOCmd: TADOQuery;
    DataSource1: TDataSource;
    Order_Sub: TClientDataSet;
    DataSource2: TDataSource;
    ADOZDY: TADOQuery;
    CDS_ZDY: TClientDataSet;
    FactoryNoName: TcxButtonEdit;
    ADOQueryTmp: TADOQuery;
    v1Column1: TcxGridDBColumn;
    v1Column2: TcxGridDBColumn;
    v1Column3: TcxGridDBColumn;
    PanZDY: TPanel;
    CXGridZDY: TcxGrid;
    TVZDY: TcxGridDBTableView;
    VHelpZDYName: TcxGridDBColumn;
    CXGridZDYLevel1: TcxGridLevel;
    Button1: TButton;
    v1Column4: TcxGridDBColumn;
    Label2: TLabel;
    QDTime: TDateTimePicker;
    Label3: TLabel;
    CompanyName: TcxButtonEdit;
    Label6: TLabel;
    v1Column5: TcxGridDBColumn;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    LXPerson: TEdit;
    LXTel: TEdit;
    JHPlace: TcxButtonEdit;
    QDPalce: TcxButtonEdit;
    cxGridPopupMenu1: TcxGridPopupMenu;
    procedure TBCloseClick(Sender: TObject);
    procedure TVZDYCellDblClick(Sender: TcxCustomGridTableView;
      ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
      AShift: TShiftState; var AHandled: Boolean);
    procedure Button1Click(Sender: TObject);
    procedure PRTCodeNameKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure TVZDYKeyPress(Sender: TObject; var Key: Char);
    procedure FormShow(Sender: TObject);
    procedure TBSaveClick(Sender: TObject);
    procedure v1OrderUnitPropertiesButtonClick(Sender: TObject;
      AButtonIndex: Integer);
    procedure v1PRTUnitPropertiesButtonClick(Sender: TObject;
      AButtonIndex: Integer);
    procedure v1PRTColorPropertiesButtonClick(Sender: TObject;
      AButtonIndex: Integer);
    procedure ToolButton1Click(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure FactoryNoNamePropertiesButtonClick(Sender: TObject;
      AButtonIndex: Integer);
    procedure v1Column1PropertiesButtonClick(Sender: TObject;
      AButtonIndex: Integer);
    procedure v1PRTMFPropertiesButtonClick(Sender: TObject;
      AButtonIndex: Integer);
    procedure v1OrderQtyPropertiesButtonClick(Sender: TObject;
      AButtonIndex: Integer);
    procedure v1ClothQtyPropertiesButtonClick(Sender: TObject;
      AButtonIndex: Integer);
    procedure v1Column2PropertiesButtonClick(Sender: TObject;
      AButtonIndex: Integer);
    procedure FactoryNoNamePropertiesChange(Sender: TObject);
    procedure CompanyNamePropertiesButtonClick(Sender: TObject;
      AButtonIndex: Integer);
    procedure JHPlacePropertiesButtonClick(Sender: TObject;
      AButtonIndex: Integer);
    procedure v1Column1PropertiesEditValueChanged(Sender: TObject);
    procedure v1PricePropertiesEditValueChanged(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    FXS:Integer;
    procedure InitData();
    procedure ZDYHelp(FButn:TcxButtonEdit;LType:string);
    function  SaveData():Boolean;
    function YFData(fMainID,FsubID:string):Boolean;
    { Private declarations }
  public
    PState:Integer;
    FMainId:String;
    { Public declarations }
  end;

var
  frmClothContractInPut_CG: TfrmClothContractInPut_CG;

implementation
uses
  U_DataLink,U_ZDYHelp,U_Fun, U_ZdyAttachGYS, U_ZdyAttachCP;

{$R *.dfm}
function TfrmClothContractInPut_CG.YFData(fMainID,FsubID:string):Boolean;
var
  CRID,OrdMainId,YFID,FComTaiTou,FCRID,FFactoryName:String;
begin
  Result:=False;
  try
    with ADOQueryTmp do
    begin
      Close;
      SQL.Clear;
      sql.Add('select * from YF_Money_KC where FactoryName='''+Trim(FactoryNoName.Text)+'''');
      Open;
    end;
    if not ADOQueryTmp.IsEmpty then
    begin
      CRID:=ADOQueryTmp.fieldbyname('CRID').AsString;
    end
    else
    begin
      with ADOCmd do
      begin
        Close;
        sql.Clear;
        sql.Add('Update YF_Money_CRID set CRID=CRID+1');
        sql.Add('select * from YF_Money_CRID ');
        Open;
      end;
      CRID:=ADOCmd.fieldbyname('CRID').AsString;
      with ADOCmd do
      begin
        Close;
        SQL.Clear;
        sql.Add('select * from YF_Money_KC ');
        sql.add('where CRID='+quotedstr(trim(CRID)));
        Open;
      end;
      with ADOCmd do
      begin
        Append;
        FieldByName('CRID').Value:=StrToInt(CRID);
        FieldByName('FactoryName').Value:=Trim(FactoryNoName.Text);
        FieldByName('ZdyStr1').Value:='应付付';
        Post;
      end;
    end;

    with ADOQueryTmp do
    begin
      Close;
      sql.Clear;
      sql.Add('select * from YF_Money_CR where mainID='''+Trim(FmainID)+'''');
      sql.Add('and subID='''+Trim(FsubID)+'''');
      sql.Add('and YFName=''坯布费用'' ');
      Open;
    end;
    if ADOQueryTmp.IsEmpty then
    begin
      if GetLSNo(ADOCmd,YFID,'YF','YF_Money_CR',3,1)=False then
      begin
        Application.MessageBox('取坯布应付最大号失败!','提示',0);
        Exit;
      end;
    end
    else
    begin
      YFID:=Trim(ADOQueryTmp.fieldbyname('YFID').AsString);
    end;
    with ADOCmd do
    begin
      Close;
      sql.Clear;
      sql.Add('select * from YF_Money_CR where YFID='''+Trim(YFID)+'''');
      Open;
    end;
    with ADOCmd do
    begin
      if ADOQueryTmp.IsEmpty then
        Append
      else
        Edit;
      FieldByName('YFID').Value:=Trim(YFID);
      FieldByName('YFTypeId').Value:=Trim(ConNo.Text);
      FieldByName('CRID').Value:=StrToInt(CRID);
      FieldByName('Filler').Value:=Trim(DName);
      FieldByName('CRType').Value:='应付款登记';
      FieldByName('CRFlag').Value:='应付付';
      FieldByName('QtyFlag').Value:=1;
      FieldByName('FactoryName').Value:=Trim(FactoryNoName.Text);
      FieldByName('CRTime').Value:=formatDateTime('yyyy-MM-dd',DeliveryDate.Date);
      FieldByName('Qty').Value:=Order_Sub.fieldbyname('C_Qty').Value;
      FieldByName('PS').Value:=Order_Sub.fieldbyname('Qty1').Value;
      FieldByName('YFType').Value:='自动生成';
      FieldByName('Price').Value:=Order_Sub.fieldbyname('Price').asfloat;
      FieldByName('HuiLv').Value:=1;
      FieldByName('BZType').Value:='人民币';
      FieldByName('ComTaiTou').Value:=Trim(FComTaiTou);
      FieldByName('QtyUnit').Value:=Trim(Order_Sub.fieldbyname('C_Unit').AsString);
      FieldByName('YFName').Value:='坯布费用';
      FieldByName('MainId').Value:=Trim(fMainID);
      FieldByName('subID').Value:=Trim(fsubID);
      Post;
    end;

    with ADOCmd do
    begin
      Close;
      sql.Clear;
      sql.Add('Update YF_Money_CR Set Money=Price*Qty,BBMoney=Price*Qty');
      sql.Add(' where YFID='''+Trim(YFID)+'''');
      ExecSQL;
    end;
    with ADOCmd do
    begin
      Close;
      sql.Clear;
      sql.Add(' Update YF_Money_KC Set KCMoney=(select isnull(Sum(Money*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)');
      sql.Add(',KCBBMoney=(select isnull(Sum(BBMoney*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)');
      sql.Add(' where CRID='+CRID);
      ExecSQL;
    end;
    Result:=True;
  except
  end;
end;
procedure TfrmClothContractInPut_CG.TBCloseClick(Sender: TObject);
begin
  Close;
end;

procedure TfrmClothContractInPut_CG.InitData();
begin
  with ADOQueryTmp do
  begin
    Close;
    SQL.Clear;
    sql.Add(' exec ClothContract_QryList :MainId,:WSql');
    if PState=1 then
    begin
      ADOQueryTmp.Parameters.ParamByName('MainId').Value:=Trim(FMainId);
      ADOQueryTmp.Parameters.ParamByName('WSQl').Value:='';
    end;
    if PState=0 then
    begin
      ADOQueryTmp.Parameters.ParamByName('MainId').Value:=Trim(FMainId);
      ADOQueryTmp.Parameters.ParamByName('WSql').Value:=' and 1<>1 ';
    end;
    Open;
  end;
  SCreateCDS20(ADOQueryTmp,Order_Sub);
  SInitCDSData20(ADOQueryTmp,Order_Sub);
  SCSHData(ADOQueryTmp,ScrollBox1,0);
  if PState=0 then
  begin
    with ADOTemp do
    begin
      Close;
      SQL.Clear;
      sql.Add('select Top 1* from Contract_Main order by FillTime desc ');
      Open;
    end;
    QDTime.DateTime:=SGetServerDate(ADOTemp);
    DeliveryDate.DateTime:=SGetServerDate(ADOTemp);
    QDTime.Checked:=True;
    DeliveryDate.Checked:=False;
    ConNo.Text:='自动生成';
  end;
  PanZDY.Visible:=False;
end;

procedure TfrmClothContractInPut_CG.ZDYHelp(FButn:TcxButtonEdit;LType:string);
var
  FType,ZDYName,FText:String;
begin
  PanZDY.Visible:=True;
  PanZDY.Left:=FButn.Left;
  PanZDY.Top:=FButn.Top+FButn.Height;
  with ADOZDY do
  begin
    Filtered:=False;
    Close;
    SQL.Clear;
    SQL.Add('select RTrim(ZDYNo) ZDYNo,RTrim(ZDYName) ZDYName from KH_ZDY where Type='''+Trim(LType)+'''');
    Open;
  end;
  FText:=Trim(FButn.Text);
  if FText<>'' then
    SDofilter(ADOZDY,' ZDYName like '+QuotedStr('%'+Trim(FText)+'%'))
  else
    SDofilter(ADOZDY,'');
  VHelpZDYName.Summary.GroupFormat:=Trim(FButn.Name);
end;

procedure TfrmClothContractInPut_CG.TVZDYCellDblClick(Sender: TcxCustomGridTableView;
  ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
  AShift: TShiftState; var AHandled: Boolean);
var
  FName:string;
begin
  if ADOZDY.IsEmpty then Exit;
  FName:=Trim(VHelpZDYName.Summary.GroupFormat);
  TcxButtonEdit(FindComponent(FName)).Text:=Trim(ADOZDY.fieldbyname('ZDYName').AsString);
  TcxButtonEdit(FindComponent(FName)).Hint:=Trim(ADOZDY.fieldbyname('ZDYNO').AsString);
  PanZDY.Visible:=False;
end;

procedure TfrmClothContractInPut_CG.Button1Click(Sender: TObject);
begin
  PanZDY.Visible:=False;
end;

procedure TfrmClothContractInPut_CG.PRTCodeNameKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  {if (key=vk_return) or (Key=vk_Down) then
  begin
    if ADOZDY.Active then
      CXGridZDY.SetFocus;
  end; }
end;

procedure TfrmClothContractInPut_CG.TVZDYKeyPress(Sender: TObject; var Key: Char);
begin
  if Key=#13 then
  begin
    if ADOZDY.IsEmpty then Exit;
    TcxButtonEdit(FindComponent(VHelpZDYName.Summary.GroupFormat)).Text:=Trim(ADOZDY.fieldbyname('ZDYName').AsString);
    TcxButtonEdit(FindComponent(VHelpZDYName.Summary.GroupFormat)).Hint:=Trim(ADOZDY.fieldbyname('ZDYNO').AsString);
    PanZDY.Visible:=False;
    ADOZDY.Active:=False;
  end;
end;

procedure TfrmClothContractInPut_CG.FormShow(Sender: TObject);
begin
  if Trim(DParameters1)='1' then
  begin
    v1Price.Visible:=False;
    v1ClothQty.Visible:=False;
    v1PRTQty.Visible:=False;
  end else
  begin
    v1Price.Visible:=True;
    v1ClothQty.Visible:=True;
    v1PRTQty.Visible:=True;
  end;
   readCXgrid(self.Caption,tv1);
  InitData();
end;

function TfrmClothContractInPut_CG.SaveData():Boolean;
var
  maxno:String;
begin
  try
    ADOCmd.Connection.BeginTrans;
    ///保存主表
    with ADOCmd do
    begin
      Close;
      sql.Clear;
      SQL.Add('select * from Contract_Main where MainId='''+Trim(FMainId)+'''');
      Open;
    end;
    with ADOCmd do
    begin
      if Trim(FMainId)='' then
      begin
        Append;
       if GetLSNo(ADOTemp,maxno,'C','Contract_Main',3,1)=False then
        begin
          ADOCmd.Connection.RollbackTrans;
          Application.MessageBox('生成流水号异常！','提示',0);
          exit;
        end;
        conNo.Text:=trim(maxno);
        if GetLSNo(ADOTemp,maxno,'CM','Contract_Main',3,1)=False then
        begin
          ADOCmd.Connection.RollbackTrans;
          Application.MessageBox('生成流水号异常！','提示',0);
          exit;
        end;
      end
      else begin
        maxno:=Trim(FMainId);
        Edit;
      end;
      FieldByName('MainId').Value:=Trim(maxno);
      SSetsaveSql(ADOCmd,'Contract_Main',ScrollBox1,0);
      FieldByName('LXPerson').Value:=Trim(LXPerson.Text);
      FieldByName('LXTel').Value:=Trim(LXTel.Text);
      if Trim(FMainId)='' then
      begin
        FieldByName('Filler').Value:=Trim(DName);
      end else
      begin
        FieldByName('Editer').Value:=Trim(DName);
        FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp);
      end;
      FieldByName('ConType').Value:='坯布采购计划';
      FieldByName('status').Value:='0';
      Post;
    end;
    FMainId:=Trim(maxno);
    ///保存子表
    with Order_Sub do
    begin
      First;
      while not Eof do
      begin
        if Trim(Order_Sub.fieldbyname('C_Unit').AsString)='Kg' then
        begin
        end;
        if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then
        begin
          if GetLSNo(ADOTemp,maxno,'CS','Contract_Sub',3,1)=False then
          begin
            ADOCmd.Connection.RollbackTrans;
            Application.MessageBox('取子流水号失败！','提示',0);
            Exit;
          end;
        end else
        begin
          maxno:=Trim(Order_Sub.fieldbyname('SubId').AsString);
        end;
        with ADOCmd do
        begin
          Close;
          SQL.Clear;
          sql.Add('select * from Contract_Sub where MainId='''+Trim(FMainId)+'''');
          sql.Add(' and SubId='''+Trim(maxno)+'''');
          Open;
        end;
        with ADOCmd do
        begin
          if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then
            Append
          else
            Edit;
          FieldByName('MainId').Value:=Trim(FMainId);
          FieldByName('SubId').Value:=Trim(maxno);
          FieldByName('ConNo').Value:=Trim(ConNo.Text);
          RTSetSaveDataCDS(ADOCmd,Tv1,Order_Sub,'Contract_Sub',0);

          FieldByName('C_status').Value:='0';
          if Trim(Order_Sub.fieldbyname('C_Qty').AsString)='' then
          begin
            FieldByName('C_Qty').Value:=0;
          end;
          if Trim(Order_Sub.fieldbyname('Qty1').AsString)='' then
          begin
            FieldByName('Qty1').Value:=0;
          end;
          if Trim(Order_Sub.fieldbyname('Price').AsString)='' then
          begin
            FieldByName('Price').Value:=0;
          end;
          if Trim(Order_Sub.fieldbyname('C_Unit').AsString)='Kg' then
          begin
            if Order_Sub.fieldbyname('MFQty').AsFloat*Order_Sub.fieldbyname('KZQty').AsFloat >0 then
            FieldByName('MQty').Value:=Order_Sub.fieldbyname('C_Qty').Value*1.00*1000
                                       /(Order_Sub.fieldbyname('MFQty').Value*1.00/100*Order_Sub.fieldbyname('KZQty').Value);
          end else
          begin
            FieldByName('MQty').Value:=Order_Sub.fieldbyname('C_Qty').Value;
          end;
          Post;
        end;
        Order_Sub.Edit;
        Order_Sub.FieldByName('SubId').Value:=Trim(maxno);

{        if not YFData(FMainId,maxno) then
        begin
          ADOCmd.Connection.RollbackTrans;
          exit;
        end;  }
        //Order_Sub.Post;
        Next;
      end;
    end;
    ADOCmd.Connection.CommitTrans;
    Result:=True;
  except
    Result:=False;
    ADOCmd.Connection.RollbackTrans;
    Application.MessageBox('保存失败！','提示',0);
  end;
end;

procedure TfrmClothContractInPut_CG.TBSaveClick(Sender: TObject);
begin
  DeliveryDate.SetFocus;
  if Trim(ConNo.Text)='' then
  begin
    Application.MessageBox('合同编号不能为空！','提示',0);
    Exit;
  end;
  if Trim(FactoryNoName.Text)='' then
  begin
    Application.MessageBox('供方不能为空！','提示',0);
    Exit;
  end;
  if Order_Sub.IsEmpty then
  begin
    Application.MessageBox('明细不能为空！','提示',0);
    exit;
  end;
  if Order_Sub.Locate('C_Qty',null,[]) then
  begin
    Application.MessageBox('数量不能为空!','提示',0);
    Exit;
  end;
  if Order_Sub.Locate('C_Unit',null,[]) then
  begin
    Application.MessageBox('数量单位不能为空!','提示',0);
    Exit;
  end;
{  if Order_Sub.Locate('KZQty',null,[]) then
  begin
    Application.MessageBox('克重不能为空!','提示',0);
    Exit;
  end;
  if Order_Sub.Locate('MFQty',null,[]) then
  begin
    Application.MessageBox('门幅不能为空!','提示',0);
    Exit;
  end;    }
  if SaveData() then
  begin
    Application.MessageBox('保存成功！','提示',0);
    ConNo.Text:='自动生成';
    FactoryNoName.Text:='';
    CompanyName.Text:='';
    LXPerson.Text:='';
    LXTel.Text:='';
    JHPlace.Text:='';
    Order_Sub.EmptyDataSet;
    PState:=0;
    FMainId:='';
  end;
end;

procedure TfrmClothContractInPut_CG.v1OrderUnitPropertiesButtonClick(Sender: TObject;
  AButtonIndex: Integer);
begin
  try
    frmZDYHelp:=TfrmZDYHelp.Create(Application);
    with frmZDYHelp do
    begin
      flag:='OrdUnit';
      flagname:='单位';
      if ShowModal=1 then
      begin
        Self.Order_Sub.Edit;
        Self.Order_Sub.FieldByName('OrderUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
      end;
    end;
  finally
    frmZDYHelp.Free;
  end;
end;

procedure TfrmClothContractInPut_CG.v1PRTUnitPropertiesButtonClick(Sender: TObject;
  AButtonIndex: Integer);
begin
  try
    frmZDYHelp:=TfrmZDYHelp.Create(Application);
    with frmZDYHelp do
    begin
      flag:='OrdUnit';
      flagname:='单位';
      if ShowModal=1 then
      begin
        Self.Order_Sub.Edit;
        Self.Order_Sub.FieldByName('PRTUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
      end;
    end;
  finally
    frmZDYHelp.Free;
  end;
end;

procedure TfrmClothContractInPut_CG.v1PRTColorPropertiesButtonClick(Sender: TObject;
  AButtonIndex: Integer);
begin
  try
    frmZDYHelp:=TfrmZDYHelp.Create(Application);
    with frmZDYHelp do
    begin
      flag:='OrdColor';
      flagname:='颜色';
      if ShowModal=1 then
      begin
        Self.Order_Sub.Edit;
        Self.Order_Sub.FieldByName('PRTColor').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
      end;
    end;
  finally
    frmZDYHelp.Free;
  end;
end;

procedure TfrmClothContractInPut_CG.ToolButton1Click(Sender: TObject);
begin
  with Order_Sub do
  begin
    Append;
    fieldbyname('PriceUnit').Value:='人民币';
    fieldbyname('C_UNit').Value:='M';
    Post;
  end;
end;

procedure TfrmClothContractInPut_CG.ToolButton2Click(Sender: TObject);
begin
  if Order_Sub.IsEmpty then Exit;
  if Trim(Order_Sub.fieldbyname('SubId').AsString)<>'' then
  begin
    with ADOCmd do
    begin
      close;
      sql.Clear;
      sql.Add('select * from Contract_sub ');
      sql.Add('where fromsubID='''+Trim(Order_Sub.fieldbyname('SubId').AsString)+'''');
      open;
    end;
    if not ADOCmd.IsEmpty then
    begin
      Application.MessageBox('已到货，不能删除采购计划！','提示',0);
      Exit
    end;
    if Application.MessageBox('确定要删除数据吗？','提示',32+4)<>IDYES then Exit;
    with ADOCmd do
    begin
      Close;
      sql.Clear;
      sql.Add('delete Contract_Sub where SubId='''+Trim(Order_Sub.fieldbyname('SubId').AsString)+'''');
      ExecSQL;
    end;
  end;
  Order_Sub.Delete;
end;

procedure TfrmClothContractInPut_CG.FactoryNoNamePropertiesButtonClick(
  Sender: TObject; AButtonIndex: Integer);
begin


{  try
    frmZDYHelp:=TfrmZDYHelp.Create(Application);
    with frmZDYHelp do
    begin
      flag:='FactoryNo1Name';
      flagname:='供方';
      MainType:='坯布厂';
      if ShowModal=1 then
      begin
        FXS:=99;
        FactoryNoName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
        FactoryNoName.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString);
      end;
    end;
  finally
    frmZDYHelp.Free;
  end;  }

try
    frmZdyAttachGYS:=TfrmZdyAttachGYS.Create(Application);
    with frmZdyAttachGYS do
    begin
      if ShowModal=1 then
      begin
        FactoryNoName.Text:=Trim(CDS_HZ.fieldbyname('ZDYName').AsString);
        FactoryNoName.Hint:=Trim(CDS_HZ.fieldbyname('ZdyCode').AsString);
        LXTel.Text:=Trim(CDS_HZ.fieldbyname('DEFstr2').AsString);
        LXPerson.Text:=Trim(CDS_HZ.fieldbyname('DEFstr4').AsString);
      end;
    end;
  finally
    frmZdyAttachGYS.Free;
  end;
end;

procedure TfrmClothContractInPut_CG.v1Column1PropertiesButtonClick(
  Sender: TObject; AButtonIndex: Integer);
begin
 try
    frmZdyAttachCP:=TfrmZdyAttachCP.Create(Application);
    with frmZdyAttachCP do
    begin
      if ShowModal=1 then
      begin
        Self.Order_Sub.Edit;
        Self.Order_Sub.FieldByName('C_Code').Value:=Trim(CDS_HZ.fieldbyname('ZdyCode').AsString);
        Self.Order_Sub.FieldByName('C_CodeName').Value:=Trim(CDS_HZ.fieldbyname('ZDYName').AsString);
   //     Self.Order_Sub.FieldByName('Color').Value:=Trim(CDS_HZ.fieldbyname('DEFstr3').AsString);
    //    Self.Order_Sub.FieldByName('SOrddefstr4').Value:=Trim(ClientDataSet1.fieldbyname('Note').AsString);
        Self.Order_Sub.Post;
      end;
    end;
  finally
    frmZdyAttachCP.Free;
  end;
    self.tv1.Controller.EditingController.ShowEdit();
{  try
    frmZDYHelp:=TfrmZDYHelp.Create(Application);
    with frmZDYHelp do
    begin
      flag:='MPRTCodeName';
      flagname:='产品名称';
      V1Name.Caption:='中文名称';
      V1Note.Caption:='英文名称';
//      MainType:=Trim(DName);
      fnote:=FALSE;
     // flag:='Cloth';
     // flagname:='产品名称';
      if ShowModal=1 then
      begin
        Self.Order_Sub.Edit;
        Self.Order_Sub.FieldByName('C_CodeName').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString)+'#';
        Self.Order_Sub.FieldByName('C_Code').Value:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString);
      end;
    end;
  finally
    frmZDYHelp.Free;
  end;}
end;

procedure TfrmClothContractInPut_CG.v1PRTMFPropertiesButtonClick(
  Sender: TObject; AButtonIndex: Integer);
begin
  try
    frmZDYHelp:=TfrmZDYHelp.Create(Application);
    with frmZDYHelp do
    begin
      flag:='KZ';
      flagname:='克重单位';
      if ShowModal=1 then
      begin
        Self.Order_Sub.Edit;
        Self.Order_Sub.FieldByName('KZUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
      end;
    end;
  finally
    frmZDYHelp.Free;
  end;
end;

procedure TfrmClothContractInPut_CG.v1OrderQtyPropertiesButtonClick(
  Sender: TObject; AButtonIndex: Integer);
begin
  try
    frmZDYHelp:=TfrmZDYHelp.Create(Application);
    with frmZDYHelp do
    begin
      flag:='MF';
      flagname:='门幅单位';
      if ShowModal=1 then
      begin
        Self.Order_Sub.Edit;
        Self.Order_Sub.FieldByName('MFUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
      end;
    end;
  finally
    frmZDYHelp.Free;
  end;
end;

procedure TfrmClothContractInPut_CG.v1ClothQtyPropertiesButtonClick(
  Sender: TObject; AButtonIndex: Integer);
begin
  try
    frmZDYHelp:=TfrmZDYHelp.Create(Application);
    with frmZDYHelp do
    begin
      flag:='PriceUnit';
      flagname:='计价单位';
      if ShowModal=1 then
      begin
        Self.Order_Sub.Edit;
        Self.Order_Sub.FieldByName('PriceUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
      end;
    end;
  finally
    frmZDYHelp.Free;
  end;
end;

procedure TfrmClothContractInPut_CG.v1Column2PropertiesButtonClick(
  Sender: TObject; AButtonIndex: Integer);
begin
  try
    frmZDYHelp:=TfrmZDYHelp.Create(Application);
    with frmZDYHelp do
    begin
      flag:='OrderUnit';
      flagname:='单位';
      if ShowModal=1 then
      begin
        Self.Order_Sub.Edit;
        Self.Order_Sub.FieldByName('C_Unit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
      end;
    end;
  finally
    frmZDYHelp.Free;
  end;
end;

procedure TfrmClothContractInPut_CG.FactoryNoNamePropertiesChange(
  Sender: TObject);
begin
  {if FXS=99 then
  begin
    PanZDY.Visible:=False;
    FXS:=0;
    Exit;
  end;
  ZDYHelp(FactoryNoName,'FactoryNo1Name');  }
end;

procedure TfrmClothContractInPut_CG.CompanyNamePropertiesButtonClick(
  Sender: TObject; AButtonIndex: Integer);
begin
  try
    frmZDYHelp:=TfrmZDYHelp.Create(Application);
    with frmZDYHelp do
    begin
      flag:='OrdDefStr2';
      flagname:='需方';
      if ShowModal=1 then
      begin
        FXS:=99;
        CompanyName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
      end;
    end;
  finally
    frmZDYHelp.Free;
  end;
end;

procedure TfrmClothContractInPut_CG.JHPlacePropertiesButtonClick(
  Sender: TObject; AButtonIndex: Integer);
begin
 { try
    frmZDYHelp:=TfrmZDYHelp.Create(Application);
    with frmZDYHelp do
    begin
      flag:='JHPLACEFLAG';
      flagname:='到货地点';
      if ShowModal=1 then
      begin
      //  FXS:=99;
        JHPlace.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
      end;
    end;
  finally
    frmZDYHelp.Free;
  end;  }

 try
    frmZdyAttachGYS:=TfrmZdyAttachGYS.Create(Application);
    with frmZdyAttachGYS do
    begin
      if ShowModal=1 then
      begin
        QDPalce.Text:=Trim(CDS_HZ.fieldbyname('zdyName').AsString);
      end;
    end;
  finally
    frmZdyAttachGYS.Free;
  end;
end;

procedure TfrmClothContractInPut_CG.v1Column1PropertiesEditValueChanged(
  Sender: TObject);
var
  mvalue:string;
begin
  mvalue:=TcxTextEdit(Sender).EditingText;

  IF trim(mvalue)='' then exit;

  IF rightBstr(trim(mvalue),1)<>'#'THEN
  BEGIn
    mvalue:=trim(mvalue)+'#';
  END;


  with Order_Sub do
  begin
    Edit;
    FieldByName('C_CodeName').Value:=Trim(mvalue);
    Post;
  end;
  with ADOTemp do
  begin
    close;
    sql.Clear;
    sql.Add('select *  from KH_Zdy_Attachment A ');
    sql.Add('where zdyName='+quotedstr(trim(Order_Sub.fieldbyname('C_CodeName').AsString)));
    open;
  end;
  IF ADOTemp.IsEmpty then
  begin
    application.MessageBox('品名不存在！','提示信息',0);
    with Order_Sub do
    begin
      Edit;
      FieldByName('C_CodeName').Value:='';
      Post;
    end;
  end;
  self.tv1.Controller.EditingController.ShowEdit();
end;

procedure TfrmClothContractInPut_CG.v1PricePropertiesEditValueChanged(
  Sender: TObject);
  var
  mvalue,fieldname:String;
begin
  If Trim(TcxTextEdit(Sender).EditingText)<>'' then
  begin
    mvalue:=TcxTextEdit(Sender).EditingText;
  end else
  begin
    mvalue:='0';
  end;
  fieldname:=Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName;
  with Order_Sub do
  begin
    Edit;
    FieldByName(Trim(fieldname)).Value:=mvalue;
    Post;
  end;
  with Order_Sub do
  begin
    Edit;
    FieldByName('money').Value:=strtofloat(format('%.2f',[FieldByName('C_Qty').AsFloat*FieldByName('Price').AsFloat]));
    Post;
  end;
  self.tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmClothContractInPut_CG.FormCreate(Sender: TObject);
begin
  cxgrid1.Align:=alclient;
end;

procedure TfrmClothContractInPut_CG.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
    writeCXgrid(self.Caption,tv1);
end;

end.
