unit U_MJManageNewFD;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
  cxDataStorage, cxEdit, DB, cxDBData, cxCalendar, cxGridLevel,
  cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
  cxControls, cxGridCustomView, cxGrid, RM_Common, RM_Class, RM_GridReport,
  RM_System, RM_Dataset, ADODB, DBClient, cxGridCustomPopupMenu,
  cxGridPopupMenu, ExtCtrls, ComCtrls, ToolWin, cxTextEdit, Buttons,
  cxSplitter, cxCheckBox, MovePanel;
{function CommOpen(fhandle:hwnd;sCommName:PAnsiChar;
                    IntTime:integer):integer;stdcall;external 'JCYData.DLL';
function CommClose(sCommName:PAnsiChar):integer;stdcall;external 'JCYData.DLL';}


type
  TfrmMJManageNewFD = class(TForm)
    cxStyleRepository1: TcxStyleRepository;
    cxStyle1: TcxStyle;
    cxStyle2: TcxStyle;
    cxGridPopupMenu1: TcxGridPopupMenu;
    DataSource1: TDataSource;
    Order_MJ: TClientDataSet;
    ADOQueryMain: TADOQuery;
    ADOCmd: TADOQuery;
    ADOTmp: TADOQuery;
    RMDB_Main: TRMDBDataSet;
    RM2: TRMGridReport;
    ToolBar1: TToolBar;
    TBClose: TToolButton;
    cxGrid2: TcxGrid;
    Tv2: TcxGridDBTableView;
    tv2CDType: TcxGridDBColumn;
    tv2CDWZ: TcxGridDBColumn;
    Tv2CDQty: TcxGridDBColumn;
    Tv2CDReason: TcxGridDBColumn;
    cxGridLevel1: TcxGridLevel;
    TBCD: TToolButton;
    cxGrid3: TcxGrid;
    Tv3: TcxGridDBTableView;
    cxGridDBColumn1: TcxGridDBColumn;
    cxGridLevel2: TcxGridLevel;
    DataSource2: TDataSource;
    CDS_MJCD: TClientDataSet;
    DataSource3: TDataSource;
    CDS_MJID: TClientDataSet;
    v2Column1: TcxGridDBColumn;
    Timer1: TTimer;
    ADOQueryPrint: TADOQuery;
    v2Column2: TcxGridDBColumn;
    ToolButton1: TToolButton;
    ScrollBox1: TScrollBox;
    SpeedButton13: TSpeedButton;
    SpeedButton14: TSpeedButton;
    SpeedButton15: TSpeedButton;
    SpeedButton16: TSpeedButton;
    SpeedButton17: TSpeedButton;
    SpeedButton18: TSpeedButton;
    SpeedButton19: TSpeedButton;
    SpeedButton20: TSpeedButton;
    SpeedButton21: TSpeedButton;
    SpeedButton22: TSpeedButton;
    SpeedButton23: TSpeedButton;
    SpeedButton24: TSpeedButton;
    SpeedButton25: TSpeedButton;
    SpeedButton26: TSpeedButton;
    SpeedButton27: TSpeedButton;
    SpeedButton28: TSpeedButton;
    SpeedButton29: TSpeedButton;
    SpeedButton30: TSpeedButton;
    SpeedButton31: TSpeedButton;
    SpeedButton32: TSpeedButton;
    SpeedButton33: TSpeedButton;
    SpeedButton34: TSpeedButton;
    SpeedButton35: TSpeedButton;
    SpeedButton36: TSpeedButton;
    SpeedButton37: TSpeedButton;
    SpeedButton38: TSpeedButton;
    SpeedButton39: TSpeedButton;
    SpeedButton40: TSpeedButton;
    SpeedButton41: TSpeedButton;
    SpeedButton42: TSpeedButton;
    MovePanel1: TMovePanel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    Edit1: TEdit;
    Button1: TButton;
    Button4: TButton;
    Edit2: TEdit;
    cxStyleRepository2: TcxStyleRepository;
    cxStyle3: TcxStyle;
    cxStyleRepository3: TcxStyleRepository;
    cxStyle4: TcxStyle;
    cxStyleRepository4: TcxStyleRepository;
    cxStyle5: TcxStyle;
    cxStyleRepository5: TcxStyleRepository;
    cxStyle6: TcxStyle;
    cxGridPopupMenu2: TcxGridPopupMenu;
    ADOQueryMainDSC: TADOQuery;
    SpeedButton43: TSpeedButton;
    SpeedButton44: TSpeedButton;
    SpeedButton45: TSpeedButton;
    SpeedButton46: TSpeedButton;
    SpeedButton47: TSpeedButton;
    SpeedButton48: TSpeedButton;
    SpeedButton50: TSpeedButton;
    SpeedButton51: TSpeedButton;
    SpeedButton52: TSpeedButton;
    SpeedButton53: TSpeedButton;
    SpeedButton54: TSpeedButton;
    SpeedButton55: TSpeedButton;
    Panel1: TPanel;
    Panel3: TPanel;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    SpeedButton5: TSpeedButton;
    SpeedButton6: TSpeedButton;
    SpeedButton7: TSpeedButton;
    SpeedButton8: TSpeedButton;
    SpeedButton9: TSpeedButton;
    SpeedButton10: TSpeedButton;
    SpeedButton11: TSpeedButton;
    SpeedButton12: TSpeedButton;
    SpeedButton49: TSpeedButton;
    Label1: TLabel;
    APID: TEdit;
    Label2: TLabel;
    BTAdd: TButton;
    BTEdit: TButton;
    Label16: TLabel;
    SpeedButton56: TSpeedButton;
    SpeedButton57: TSpeedButton;
    SpeedButton58: TSpeedButton;
    SpeedButton59: TSpeedButton;
    SpeedButton60: TSpeedButton;
    SpeedButton61: TSpeedButton;
    SpeedButton62: TSpeedButton;
    SpeedButton63: TSpeedButton;
    SpeedButton64: TSpeedButton;
    SpeedButton65: TSpeedButton;
    SpeedButton66: TSpeedButton;
    SpeedButton67: TSpeedButton;
    SpeedButton68: TSpeedButton;
    SpeedButton69: TSpeedButton;
    SpeedButton70: TSpeedButton;
    SpeedButton71: TSpeedButton;
    SpeedButton72: TSpeedButton;
    SpeedButton73: TSpeedButton;
    SpeedButton74: TSpeedButton;
    SpeedButton75: TSpeedButton;
    SpeedButton76: TSpeedButton;
    SpeedButton77: TSpeedButton;
    Label7: TLabel;
    CDQty: TEdit;
    Label8: TLabel;
    Panel2: TPanel;
    Label9: TLabel;
    MJFK: TEdit;
    Label3: TLabel;
    MJLen: TEdit;
    Label4: TLabel;
    MJMaoZ: TEdit;
    Label5: TLabel;
    Label6: TLabel;
    Label11: TLabel;
    BTPrint: TButton;
    Button5: TButton;
    Edit3: TEdit;
    Label10: TLabel;
    Edit4: TEdit;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    MJQty1: TEdit;
    Label15: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    MJSJKZ: TEdit;
    procedure FormDestroy(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure TBCloseClick(Sender: TObject);
    procedure Tv2CellClick(Sender: TcxCustomGridTableView;
      ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
      AShift: TShiftState; var AHandled: Boolean);
    procedure TBCDClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Tv2CellDblClick(Sender: TcxCustomGridTableView;
      ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
      AShift: TShiftState; var AHandled: Boolean);
    procedure MJMaoZClick(Sender: TObject);
    procedure MJLenClick(Sender: TObject);
    procedure MJFKClick(Sender: TObject);
    procedure MJBanZuClick(Sender: TObject);
    procedure MJSJKZClick(Sender: TObject);
    procedure Tv1CellClick(Sender: TcxCustomGridTableView;
      ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
      AShift: TShiftState; var AHandled: Boolean);
    procedure Tv3CellClick(Sender: TcxCustomGridTableView;
      ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
      AShift: TShiftState; var AHandled: Boolean);
    procedure FormClick(Sender: TObject);
    procedure Button12Click(Sender: TObject);
    procedure BTAddClick(Sender: TObject);
    procedure BTEditClick(Sender: TObject);
    procedure BTPrintClick(Sender: TObject);
    procedure Tv2CDQtyPropertiesEditValueChanged(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton12Click(Sender: TObject);
    procedure SpeedButton13Click(Sender: TObject);
    procedure cxGridDBColumn2PropertiesChange(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure SpeedButton49Click(Sender: TObject);
    procedure APIDKeyPress(Sender: TObject; var Key: Char);
    procedure Edit1Click(Sender: TObject);
    procedure Edit2Change(Sender: TObject);
    procedure Edit3Click(Sender: TObject);
    procedure Edit4Click(Sender: TObject);
  private
    { Private declarations }
    FInt,PState,PrintInt,SCInitGrid,FState:Integer;
    FColumn,FBanZu,FAPID,FMainId,FSubId:String;
    MValue,FCDName:String;
    procedure InitJP();
    procedure InitCDGrid();
    procedure InitCDGridID();
    procedure AddCD(Fbtn:TButton);
    procedure AddSL(Fbtn:TButton);
    function  SaveData():Boolean;
    procedure BtnStatus(BSInt:Boolean);
    procedure AddSLNew(Fbtn:TSpeedButton);
    procedure AddCDNew(Fbtn:TSpeedButton);
    procedure SavedataCK();
  public
    { Public declarations }
  end;

var
  frmMJManageNewFD: TfrmMJManageNewFD;

implementation
uses
  U_DataLink,U_Fun,U_ZDYHelp,U_iniParam;

{$R *.dfm}

procedure TfrmMJManageNewFD.FormDestroy(Sender: TObject);
begin
  frmMJManageNewFD:=nil;
end;

procedure TfrmMJManageNewFD.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  //DataLink_WFBProducttion.ADOLink.Connected:=False;
  Action:=caFree;
end;
procedure TfrmMJManageNewFD.InitCDGrid();
begin
  with ADOQueryMain do
  begin
    Close;
    SQL.Clear;
    if PState=1 then
      sql.Add('select * from WFB_MJJY_CD where MJID='''' ')
    else
      sql.Add('select * from WFB_MJJY_CD where MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+'''');
    Open;
  end;
  SCreateCDS20(ADOQueryMain,CDS_MJCD);
  SInitCDSData20(ADOQueryMain,CDS_MJCD);
end;
procedure TfrmMJManageNewFD.InitCDGridID();
begin
  with ADOQueryMain do
  begin
    Close;
    SQL.Clear;
    sql.Add('select * from WFB_MJJY where APID='''+Trim(FAPID)+'''');
    if Trim(SCXFlag)<>'' then
      sql.Add(' and JTType='''+Trim(SCXFlag)+'''');
    Open;
  end;
  SCreateCDS20(ADOQueryMain,CDS_MJID);
  SInitCDSData20(ADOQueryMain,CDS_MJID);
end;

procedure TfrmMJManageNewFD.TBCloseClick(Sender: TObject);
var
  maxno:string;
begin
  if CDS_MJCD.IsEmpty=False then
  begin
    if Trim(CDS_MJCD.FieldByName('MCID').AsString)='' then
    begin
      //try
        //ADOCmd.Connection.BeginTrans;
        {with ADOCmd do
        begin
          Close;
          sql.Clear;
          sql.Add('delete from WFB_MJJY_CD_Temp where JTType='''+Trim(SCXFlag)+'''');
          Execsql;
        end;
        with CDS_MJCD do
        begin
          First;
          while not Eof do
          begin
            if GetLSNo(ADOCmd,maxno,'LS','WFB_MJJY_CD_Temp',2,1)=False then
            begin
             // ADOCmd.Connection.RollbackTrans;
              Application.MessageBox('取疵点临时最大号失败！','提示',0);
              Exit;
            end;
            with ADOCmd do
            begin
              Close;
              sql.Clear;
              sql.Add('select * from WFB_MJJY_CD_Temp where 1<>1');
              Open;
            end;
            with ADOCmd do
            begin
              Append;
              FieldByName('MCID').Value:=Trim(maxno);
              SSetSaveDataCDSNew(ADOCmd,Tv2,CDS_MJCD,'WFB_MJJY_CD_Temp',0);
              FieldByName('JTType').Value:=Trim(SCXFlag);
              Post;
            end;
            Next;
          end;
        end; }
        close;
        //ADOCmd.Connection.CommitTrans;
        //ModalResult:=1;
      //except
        //ADOCmd.Connection.RollbackTrans;
        //Application.MessageBox('保存临时表失败！','提示',0);
      //end;
    end else
    begin
      Close;
    end;
  end else
  begin
    Close;
  end;



end;

procedure TfrmMJManageNewFD.Tv2CellClick(Sender: TcxCustomGridTableView;
  ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
  AShift: TShiftState; var AHandled: Boolean);
var
  fsj:string;
begin
  //FInt:=0;
  //Tv1.DataController.FocusedRecordIndex;
  //fsj:=Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName;
end;

procedure TfrmMJManageNewFD.TBCDClick(Sender: TObject);
begin
  try
    frmZDYHelp:=TfrmZDYHelp.Create(Application);
    with frmZDYHelp do
    begin
      flag:='WFBCD';
      flagname:='疵点';
      fnote:=True;
      V1Note.Caption:='英文名称';
      if ShowModal=1 then
      begin
        Self.InitJP();
      end;
    end;
  finally
    frmZDYHelp.Free;
  end;
end;

procedure TfrmMJManageNewFD.FormShow(Sender: TObject);
begin
  InitJP();
  with ADOTmp do
  begin
    Close;
    sql.Clear;
    sql.Add('select BanZu from SY_User where UserId='''+Trim(DCode)+'''');
    Open;
    FBanZu:=Trim(Fieldbyname('BanZu').AsString);
  end;
  {if Trim(FBanZu)='' then
  begin
    Application.MessageBox('班组为空，请设置班组！','提示',0);
    Exit;
  end;  }
  APID.SetFocus;
end;
procedure TfrmMJManageNewFD.InitJP();
var
  AA:array[0..100] of string;
  i,j:Integer;
begin
  with ADOTmp do
  begin
    Close;
    sql.Clear;
    sql.Add('select ZDYName from KH_Zdy where Type=''WFBCD'' order by ZDYNO ');
    Open;
  end;
  if ADOTmp.IsEmpty then
  begin
    Application.MessageBox('没有定义疵点！','提示',0);
    Exit;
  end;
  with ADOTmp do
  begin
    First;
    i:=0;
    while not Eof do
    begin
      AA[i]:=Trim(fieldbyname('ZDYName').AsString);
      i:=i+1;
      Next;
    end;
  end;
  i:=i-1;
  if i>63 then
  begin
    i:=63;
  end;
  for j:=0 to i do
  begin
    with ScrollBox1 do
    begin
      TSpeedButton(Controls[j]).Visible:=True;
      TSpeedButton(Controls[j]).Hint:=AA[j];
      if Length(AA[j])>4 then
      begin
        TSpeedButton(Controls[j]).Caption:=Copy(Trim(AA[j]),1,4)+#13+Copy(Trim(AA[j]),5,Length(AA[j])-4);
      end else
        TSpeedButton(Controls[j]).Caption:=AA[j];
    end;
  end;
end;

procedure TfrmMJManageNewFD.AddCD(Fbtn:TButton);
begin
  if PState<1 then Exit;
  if Order_MJ.IsEmpty then Exit;
  with CDS_MJCD do
  begin
    Append;
    FieldByName('cdname').Value:=Trim(TButton(Fbtn).Caption);
    Post;
  end;
end;
procedure TfrmMJManageNewFD.AddCDNew(Fbtn:TSpeedButton);
begin
  with CDS_MJCD do
  begin
    Append;
    FieldByName('cdname').Value:=Trim(TSpeedButton(Fbtn).Hint);
    Post;
  end;
end;
procedure TfrmMJManageNewFD.AddSL(Fbtn:TButton);
begin
  if PState<1 then Exit;
  if Order_MJ.IsEmpty then Exit;

  //if MJMaoZ.Focused then
  if FInt=4 then Exit;
  if CDS_MJCD.IsEmpty=False then
  begin
    FColumn:=Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName;
    if Trim(FColumn)<>'' then
    begin
      with CDS_MJCD do
      begin
        Edit;
        FieldByName(FColumn).Value:=Trim(FieldByName(FColumn).AsString)+Trim(TButton(Fbtn).Caption);
        if Trim(fieldbyname('CDQtyS').AsString)<>'' then
          Fieldbyname('CDQty').Value:=Trim(fieldbyname('CDQtyS').AsString);
        Post;
      end;
    end;
  end;
end;
procedure TfrmMJManageNewFD.AddSLNew(Fbtn:TSpeedButton);
begin
  if PState<1 then Exit;
  if Trim(FAPID)='' then Exit;

  //if MJMaoZ.Focused then
  if FInt=4 then Exit;
  if FInt=11 then
  begin
    if TSpeedButton(Fbtn).Tag=9 then Exit;
    Edit1.Text:=Trim(Edit1.Text)+Trim(TSpeedButton(Fbtn).Caption);
    Edit1.SelectAll;
  end else
  if FInt=12 then
  begin
    if TSpeedButton(Fbtn).Tag=9 then Exit;
    Edit2.Text:=Trim(Edit2.Text)+Trim(TSpeedButton(Fbtn).Caption);
    Edit2.SelectAll;
  end;{ else
  if CDS_MJCD.IsEmpty=False then
  begin
    FColumn:=Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName;
    if Trim(FColumn)<>'' then
    begin
      with CDS_MJCD do
      begin
        Edit;
        FieldByName(FColumn).Value:=Trim(FieldByName(FColumn).AsString)+Trim(TButton(Fbtn).Caption);
        if Trim(fieldbyname('CDQtyS').AsString)<>'' then
          Fieldbyname('CDQty').Value:=Trim(fieldbyname('CDQtyS').AsString);
        Post;
      end;
    end;
  end; }
end;

procedure TfrmMJManageNewFD.Tv2CellDblClick(Sender: TcxCustomGridTableView;
  ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
  AShift: TShiftState; var AHandled: Boolean);
begin
  //if Tv2.OptionsSelection.CellSelect=True then
  if CDS_MJCD.IsEmpty then Exit;

  if Trim(CDS_MJCD.fieldbyname('MCID').AsString)='' then
  begin
    if Application.MessageBox('确定要删除数据吗？','提示',32+4)<>IDYES then Exit;
    CDS_MJCD.Delete;
  end;

end;

procedure TfrmMJManageNewFD.MJMaoZClick(Sender: TObject);
begin
  FInt:=1;
  FColumn:='';
  panel3.Visible:=True;
end;

procedure TfrmMJManageNewFD.MJLenClick(Sender: TObject);
begin
  FInt:=2;
  FColumn:='';
  panel3.Visible:=True;
end;

procedure TfrmMJManageNewFD.MJFKClick(Sender: TObject);
begin
  FInt:=3;
  FColumn:='';
  panel3.Visible:=True;
end;

procedure TfrmMJManageNewFD.MJBanZuClick(Sender: TObject);
begin
  FInt:=4;
end;

procedure TfrmMJManageNewFD.MJSJKZClick(Sender: TObject);
begin
  FInt:=4;
end;

procedure TfrmMJManageNewFD.Tv1CellClick(Sender: TcxCustomGridTableView;
  ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
  AShift: TShiftState; var AHandled: Boolean);
begin
  //DataLink_WFBProducttion.ADOLink.Connected:=False;
  FInt:=4;
 // if PState=1 then Exit;
  InitCDGridID();
  //InitCDGrid();
  {with ADOTmp do
  begin
    close;
    sql.Clear;
    sql.Add('select * from WFB_MJJY where MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+'''');
    Open;
  end;
  if ADOTmp.IsEmpty then
  begin
    MJMaoZ.Text:='';
    MJLen.Text:='';
    MJFK.Text:='';
    MJSJKZ.Text:='';
  end else
    SSetWinData(ADOTmp,Panel5); }
end;

procedure TfrmMJManageNewFD.Tv3CellClick(Sender: TcxCustomGridTableView;
  ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
  AShift: TShiftState; var AHandled: Boolean);
begin
  if CDS_MJCD.IsEmpty=False then
  begin
    if Trim(CDS_MJCD.fieldbyname('MJID').AsString)='' then
    begin
      Application.MessageBox('数据未保存,不能浏览数据!','提示',0);
      Exit;
    end;
  end;

  FInt:=4;
  PState:=0;
  InitCDGrid();
  with ADOTmp do
  begin
    close;
    sql.Clear;
    sql.Add('select * from WFB_MJJY where MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+'''');
    Open;
  end;
  MJFK.Text:=Trim(ADOTmp.fieldbyname('MJFK').AsString);
  //MJSJKZ.Text:=Trim(ADOTmp.fieldbyname('MJSJKZ').AsString);
  MJLen.Text:=Trim(ADOTmp.fieldbyname('MJLen').AsString);
  MJQty1.Text:=Trim(ADOTmp.fieldbyname('MJQty1').AsString);
  MJMaoZ.Text:=Trim(ADOTmp.fieldbyname('MJMaoZ').AsString);
  Label15.Caption:=Trim(CDS_MJID.fieldbyname('MJID').AsString);
  if Trim(ADOTmp.fieldbyname('MJType').AsString)='正品' then
  begin
    Edit3.Text:='√';
    Edit4.Text:='';
  end else
  begin
    Edit4.Text:='√';
    Edit3.Text:='';
  end;
  BtnStatus(False);
  Label16.Caption:='';
end;


procedure TfrmMJManageNewFD.FormClick(Sender: TObject);
begin
  FInt:=4;
end;

procedure TfrmMJManageNewFD.Button12Click(Sender: TObject);
var
  fsj:string;
begin
  if PState<1 then Exit;
  if Trim(FAPID)='' then Exit;
  if FInt=4 then Exit;
  begin
    FColumn:=Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName;
    if Trim(FColumn)<>'' then
    begin
      if Trim(CDS_MJCD.FieldByName(FColumn).AsString)<>'' then
      begin
        with CDS_MJCD do
        begin
          Edit;
          if Length(CDS_MJCD.FieldByName(FColumn).AsString)=1 then
          begin
            FieldByName(FColumn).Value:=null ;
            FieldByName('CDQty').Value:=0;
          end
          else
          begin
            FieldByName(FColumn).Value:=Copy(Trim(FieldByName(FColumn).AsString),1,Length(Trim(FieldByName(FColumn).AsString))-1);
            FieldByName('CDQty').Value:=FieldByName(FColumn).Value;
          end;
          Post;
        end;
      end;

      
    end;
  end;
end;

function  TfrmMJManageNewFD.SaveData():Boolean;
var
  maxno,FMJID,BZID:String;
  FMJLen:Double;
  FOrder:Integer;
begin
  if PState=1 then
      FMJID:=''
  else if PState=2 then
     FMJID:=Trim(CDS_MJID.fieldbyname('MJID').AsString)
  else if PState<1 then Exit;
  try
    ADOCmd.Connection.BeginTrans;
    ///保存主表
    with ADOCmd do
    begin
      Close;
      sql.Clear;
      SQL.Add('select * from WFB_MJJY where MJId='''+Trim(FMJID)+'''');
      Open;
    end;
    with ADOCmd do
    begin
      if Trim(FMJID)='' then
      begin
        Append;
        if GetLSNo(ADOTmp,maxno,Trim(SCXFlag),'WFB_MJJY',4,1)=False then
        begin
          ADOCmd.Connection.RollbackTrans;
          Application.MessageBox('生成流水号异常！','提示',0);
          exit;
        end;
      end
      else begin
        maxno:=Trim(FMJID);
        Edit;
      end;
      FieldByName('MainId').value:=Trim(FMainId);
      FieldByName('SubId').value:=Trim(FSubId);
      FieldByName('APId').value:=Trim(FAPID);
      FieldByName('MJID').Value:=Trim(maxno);
      FieldByName('MJStr2').Value:='未入库';
      FieldByName('MJBanZu').Value:=Trim(FBanZu);
      if Trim(MJLen.Text)<>'' then
      begin
        FieldByName('MJLen').Value:=StrToFloat(MJLen.Text);
      end;
      if Trim(MJQty1.Text)<>'' then
      begin
        FieldByName('MJQty1').Value:=StrToFloat(MJQty1.Text);
      end;
      if Trim(MJFK.Text)<>'' then
      begin
        FieldByName('MJFK').Value:=StrToFloat(MJFK.Text);
      end;
      if Trim(MJMaoZ.Text)<>'' then
      begin
        FieldByName('MJMaoZ').Value:=StrToFloat(MJMaoZ.Text);
      end;
      if Trim(MJSJKZ.Text)<>'' then
      begin
        FieldByName('MJSJKZ').Value:=StrToFloat(MJSJKZ.Text);
      end;
      if Trim(Edit3.Text)<>'' then
      begin
        FieldByName('MJType').Value:='正品';
      end;
      if Trim(Edit4.Text)<>'' then
      begin
        FieldByName('MJType').Value:='次品';
      end;
      FieldByName('MJTypeOther').Value:=Trim(Label9.Caption);
      FieldByName('MJStr1').Value:=Trim(Label13.Caption);
      {if Trim(MJSJKZ.Text)<>'' then
      begin
        FieldByName('MJSJKZ').Value:=StrToFloat(MJSJKZ.Text);
      end; }
      if Trim(FMJID)='' then
      begin
        FieldByName('Filler').Value:=Trim(DName);
      end else
      begin
        FieldByName('Editer').Value:=Trim(DName);
        FieldByName('EditTime').Value:=SGetServerDateTime(ADOTmp);
      end;
      if Trim(SCXFlag)<>'' then
      begin
        FieldByName('JTType').Value:=Trim(SCXFlag);
      end;
      Post;

    end;
    with ADOCmd do
    begin
      Close;
      sql.Clear;
      SQL.Add('UPdate WFB_MJJY Set MJXH=(select max(MJXH)+1 from  WFB_MJJY A where A.APID=WFB_MJJY.APID)');
      sql.Add(' where MJID='''+Trim(maxno)+'''');
      ExecSQL;
    end;
    FMJID:=Trim(maxno);
    ///保存母卷疵点表
    with CDS_MJCD do
    begin
      First;
      while not Eof do
      begin
        if Trim(CDS_MJCD.fieldbyname('MCID').AsString)='' then
        begin
          if GetLSNo(ADOTmp,maxno,'MC','WFB_MJJY_CD',5,1)=False then
          begin
            ADOCmd.Connection.RollbackTrans;
            Application.MessageBox('取子流水号失败！','提示',0);
            Exit;
          end;
        end else
        begin
          maxno:=Trim(CDS_MJCD.fieldbyname('MCID').AsString);
        end;
        with ADOCmd do
        begin
          Close;
          SQL.Clear;
          sql.Add('select * from WFB_MJJY_CD  ');
          sql.Add(' where MCID='''+Trim(maxno)+'''');
          Open;
        end;
        with ADOCmd do
        begin
          if Trim(CDS_MJCD.fieldbyname('MCID').AsString)='' then
            Append
          else
            Edit;
          FieldByName('MJId').Value:=Trim(FMJID);
          FieldByName('MCID').Value:=Trim(maxno);
          SSetSaveDataCDSNew(ADOCmd,Tv2,CDS_MJCD,'WFB_MJJY_CD',0);
          Post;
        end;
        CDS_MJCD.Edit;
        CDS_MJCD.FieldByName('MCID').Value:=Trim(maxno);
        Next;
      end;
    end;
    with CDS_MJID do
    begin
      Append;
      FieldByName('MJID').Value:=Trim(FMJID);
      Post;
    end;
    //SavedataCK();
    ADOCmd.Connection.CommitTrans;
    Result:=True;
    PState:=0;
  except
    Result:=False;
    ADOCmd.Connection.RollbackTrans;
    Application.MessageBox('保存失败！','提示',0);
  end;
end;

procedure TfrmMJManageNewFD.BTAddClick(Sender: TObject);
begin
  if Trim(Label2.Caption)='' then Exit;
  PState:=1;
  InitCDGridID();
  InitCDGrid();
  BtnStatus(True);
  Label16.Caption:='新增';
end;

procedure TfrmMJManageNewFD.BTEditClick(Sender: TObject);
begin
  if CDS_MJID.IsEmpty then Exit;
  PState:=2;
  Label16.Caption:='修改';
end;

procedure TfrmMJManageNewFD.BTPrintClick(Sender: TObject);
var
  fPrintFile:String;
  mvalue:Double;
begin
  if Trim(FAPID)='' then Exit;
  if FInt=4  then
  begin
    if CDS_MJID.IsEmpty=False then
    begin
      Application.MessageBox('已打过条码？请尝试重打。','提示',0);
      Exit;
    end;
  end;
  if Trim(MJLen.Text)='' then
  begin
    Application.MessageBox('长度不能为空!','提示',0);
    Exit;
  end;
  if TryStrToFloat(MJLen.Text,mvalue)=False then
  begin
    Application.MessageBox('长度录入错误!','提示',0);
    Exit;
  end;
  {if Trim(MJQty1.Text)='' then
  begin
    Application.MessageBox('原码不能为空!','提示',0);
    Exit;
  end; }
  if Trim(MJQty1.Text)<>'' then
  begin
    if TryStrToFloat(MJQty1.Text,mvalue)=False then
    begin
      Application.MessageBox('原码录入错误!','提示',0);
      Exit;
    end;
  end;

  if Trim(MJFK.Text)<>'' then
  begin
    if TryStrToFloat(MJFK.Text,mvalue)=False then
    begin
      Application.MessageBox('幅宽录入错误!','提示',0);
      Exit;
    end;
  end;
  if Trim(MJMaoZ.Text)<>'' then
  begin
    if TryStrToFloat(MJMaoZ.Text,mvalue)=False then
    begin
      Application.MessageBox('重量录入错误!','提示',0);
      Exit;
    end;
  end;
  if Trim(MJSJKZ.Text)<>'' then
  begin
    if TryStrToFloat(MJSJKZ.Text,mvalue)=False then
    begin
      Application.MessageBox('克重录入错误!','提示',0);
      Exit;
    end;
  end;
  {if Trim(MJSJKZ.Text)<>'' then
  begin
    if TryStrToFloat(MJSJKZ.Text,mvalue)=False then
    begin
      Application.MessageBox('克重录入错误!','提示',0);
      Exit;
    end;
  end;  }
  if PState=1 then
  begin
    if Application.MessageBox('是否要打印条码？打印后数据将不能修改！','提示',32+4)<>IDYES then Exit;
  end;
  if SaveData() then
  begin
    //BtnStatus(False);
    MJFK.Text:='';
    //MJSJKZ.Text:='';
    MJLen.Text:='';
    MJMaoZ.Text:='';
    MJQty1.Text:='';
    MJSJKZ.Text:='';
    Label15.Caption:='';
  end;
  with ADOQueryPrint do
  begin
    Close;
    SQL.Clear;
    sql.Add('select A.MJID,A.MJXH,Qty=A.MJLen,QtyUnit=A.MJTypeOther,B.orderNo,D.GangNo,PRTColorEng=E.Note,');
    sql.Add(' MPRTCodeNameEng=(select Top 1 F.CYEName from CP_YDang F where F.CYNo=B.OrdDefStr1),C.SLbName');
    sql.Add(',B.MPRTCF,C.SOrddefstr4,C.*,A.* ');
    sql.Add(' from WFB_MJJY A') ;
    sql.Add(' inner join JYOrder_Main B On A.Mainid=B.Mainid');
    sql.Add(' inner join JYOrder_Sub C on A.SubId=C.SubId');
    sql.Add(' inner join KH_Zdy E on C.PRTColor=E.ZdyName and E.Type=''OrdColor'' ');
    sql.Add(' inner join JYOrder_Sub_AnPai D on A.APId=D.APId ');
    SQL.Add(' where A.MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+'''');
    Open;
  end;
  if Trim(ADOQueryPrint.fieldbyname('SLbName').AsString)<>'' then
    fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\'+Trim(ADOQueryPrint.fieldbyname('SLbName').AsString)+'.rmf'
  else
    fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\通用英文标签.rmf' ;
  if FileExists(fPrintFile) then
  begin
    RM2.LoadFromFile(fPrintFile);
    //RM2.ShowReport;
    RM2.PrintReport;
  end else
  begin
    Application.MessageBox(PChar('没有找'+ExtractFilePath(Application.ExeName)+'Report\卷标签.rmf'),'提示',0);
  end;
  Label16.Caption:='';
  BTAdd.Click;
end;
procedure TfrmMJManageNewFD.SavedataCK();
var
  CRID:Integer;
  MaxCkNo,MaxCkSubNo:String;
begin
  //if Trim(Cds_Main.fieldbyname('SubType').AsString)='大卷' then
  //////////////////////////////////////////////////////////////保存到半成品仓库////////////////////////////////////////////////
    with ADOCmd do
    begin
      Close;
      sql.Clear;
      SQL.add('Update CK_BanCP_CRID Set CRID=CRID+1');
      sql.Add('select * from CK_BanCP_CRID');
      Open;
    end;
    CRID:=ADOCmd.fieldbyname('CRID').Value;
    if GetLSNo(ADOCmd,MaxCkNo,'JR','CK_BanCP_CR',4,1)=False then
    begin
      ADOCmd.Connection.RollbackTrans;
      Application.MessageBox('取半成品仓库最大号失败！','提示',0);
      Exit;
    end;
    with ADOCmd do
    begin
      Close;
      sql.Clear;
      sql.Add('select * from CK_BanCP_CR where 1<>1');
      Open;
    end;
    with ADOCmd do
    begin
      Append;
      FieldByName('MainId').Value:=Trim(FMainId);
      FieldByName('SubId').Value:=Trim(FSubId);
      FieldByName('APID').Value:=Trim(FAPID);
      FieldByName('MJID').Value:=Trim(CDS_MJID.fieldbyname('MJId').AsString);
      FieldByName('BCID').Value:=Trim(MaxCkNo);
      FieldByName('CRTime').Value:=SGetServerDateTime(ADOTmp);
      FieldByName('CRFlag').Value:='入库';
      FieldByName('CRType').Value:='检验入库';
      //FieldByName('JTType').Value:=Trim(XJFlag);
      FieldByName('CRID').Value:=CRID;
      if Trim(MJMaoZ.Text)<>'' then
      begin
        FieldByName('KGQty').Value:=StrToFloat(MJMaoZ.Text);
      end;
      if Trim(MJLen.Text)<>'' then
      begin
        FieldByName('Qty').Value:=StrToFloat(MJLen.Text);
      end;
      FieldByName('QtyUnit').Value:=Trim(Label9.Caption);
      FieldByName('Filler').Value:=Trim(DName);
      FieldByName('FillTime').Value:=SGetServerDateTime(ADOTmp);
      if Trim(Edit3.Text)<>'' then
      begin
        FieldByName('CPType').Value:='正品';
      end;
      if Trim(Edit4.Text)<>'' then
      begin
        FieldByName('CPType').Value:='次品';
      end;
      Post;
    end;
    with ADOCmd do
    begin
      Close;
      sql.Clear;
      sql.Add('select * from CK_BanCP_KC where 1<>1');
      Open;
    end;
    with ADOCmd do
    begin
      Append;
      FieldByName('CRID').Value:=CRID;
      FieldByName('BCID').Value:=Trim(MaxCkNo);
      FieldByName('MJID').Value:=Trim(CDS_MJID.fieldbyname('MJID').AsString);
      if Trim(MJMaoZ.Text)<>'' then
      begin
        FieldByName('KCKGQty').Value:=StrToFloat(MJMaoZ.Text);
      end;
      if Trim(MJLen.Text)<>'' then
      begin
        FieldByName('KCQty').Value:=StrToFloat(MJLen.Text);
      end;
      FieldByName('KCQtyUnit').Value:=Trim(Label9.Caption);
      Post;
    end;
end;
procedure TfrmMJManageNewFD.BtnStatus(BSInt:Boolean);
begin
 // Tv2.OptionsSelection.CellSelect:=BSInt;
end;
procedure TfrmMJManageNewFD.Tv2CDQtyPropertiesEditValueChanged(Sender: TObject);
var
  mvalue:string;
begin
  try
    mvalue:=TcxTextEdit(Sender).EditingText;
    if Trim(mvalue)<>'' then
    begin
      CDS_MJCD.Edit;
      CDS_MJCD.FieldByName('CDQty').Value:=mvalue;
      CDS_MJCD.Post;
    end else
    begin
      CDS_MJCD.Edit;
      CDS_MJCD.FieldByName('CDQty').Value:=0;
      CDS_MJCD.Post;
    end;
    CDS_MJCD.Edit;
    CDS_MJCD.FieldByName('CDQtyS').Value:=mvalue;
  except
    Application.MessageBox('非法数字！','提示',0);
  end;
end;

procedure TfrmMJManageNewFD.SpeedButton1Click(Sender: TObject);
var
  fsj:string;
begin
  fsj:=Trim(TSpeedButton(Sender).Hint);
  if Trim(fsj)='' then Exit;
  fsj:=Trim(TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text);
  TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text:=fsj+Trim(TSpeedButton(Sender).Caption);
  TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelectAll;
end;

procedure TfrmMJManageNewFD.SpeedButton12Click(Sender: TObject);
var
  fsj:string;
begin
  fsj:=Trim(TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text);
  if Trim(fsj)='' then Exit;
  TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text:=Copy(fsj,1,Length(fsj)-1);
  TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelectAll;
end;

procedure TfrmMJManageNewFD.SpeedButton13Click(Sender: TObject);
var
  i:Integer;
begin
  if Trim(Label2.Caption)='' then Exit;
  if Label2.Visible=False then Exit;
  {with ADOTmp do
  begin
    Close;
    sql.Clear;
    sql.Add('select * from Order_JYResult where APID='''+Trim(FAPID)+'''');
    Open;
  end;
  if ADOTmp.IsEmpty then
  begin
    Application.MessageBox('门幅克重未录入,不能检验!','提示',0);
    Exit;
  end;  }
  if Trim(CDS_MJCD.fieldbyname('MJID').AsString)<>'' then
  begin
    BTAdd.Click;
  end;
  if Trim(Label15.Caption)<>'' then
  begin
    MJFK.Text:='';
    //MJSJKZ.Text:='';
    MJLen.Text:='';
    MJMaoZ.Text:='';
    MJQty1.Text:='';
    MJSJKZ.Text:='';
    Label15.Caption:='';

  end;
  if Trim(FAPID)='' then Exit;
  FCDName:=Trim(TSpeedButton(Sender).Hint);
  MovePanel1.Visible:=True;
  Label21.Caption:=Trim(FCDName);
  FInt:=11;
  Edit1.SetFocus;
  //CDQty.SetFocus;
  Panel3.Visible:=True;
  with Panel3 do
  begin
    for i:=0 to ControlCount-1 do
    begin
      if Controls[i] is TSpeedButton then
      begin
        TSpeedButton(Controls[i]).Hint:=Trim(Edit1.Name);
      end;
    end;
  end;

end;

procedure TfrmMJManageNewFD.cxGridDBColumn2PropertiesChange(Sender: TObject);
var
  fsj:String;
begin

  fsj:=Trim(Order_MJ.fieldbyname('SubId').AsString);
  Order_MJ.DisableControls;
  with Order_MJ do
  begin
    First;
    while not Eof do
    begin
      if Trim(Order_MJ.fieldbyname('SubId').AsString)<>fsj then
      begin
        Edit;
        FieldByName('SSel').Value:=False;
      end;
      Next;
    end;
  end;
  Order_MJ.EnableControls;
  Order_MJ.Locate('SubId',fsj,[]);
end;

procedure TfrmMJManageNewFD.Button1Click(Sender: TObject);
var
  mvalue:Double;
begin
 { if Trim(Edit1.Text)='' then
  begin
    Application.MessageBox('位置不能为空！','提示',0);
    exit;
  end;  }
  if Trim(Edit1.Text)<>'' then
  begin
    if Trim(Edit2.Text)<>'' then
    begin
      if StrToFloat(Edit2.Text)<StrToFloat(Edit1.Text) then
      begin
        Application.MessageBox('疵点位置录入错误!','提示',0);
        Exit;
      end;
    end;
  end;
  if CDQty.Text<>'' then
  begin
    if TryStrToFloat(CDQty.Text,mvalue)=False then
    begin
      Application.MessageBox('非法数字!','提示',0);
      Exit;
    end;
  end;
  with CDS_MJCD do
  begin
    Append;
    FieldByName('cdname').Value:=Trim(FCDName);
    FieldByName('CDbeg').Value:=Trim(Edit1.Text);
    FieldByName('CDEnd').Value:=Trim(Edit2.Text);
    if Trim(CDQty.Text)<>'' then
    begin
      FieldByName('CDQty').Value:=StrToFloat(CDQty.Text);
    end else
    begin
      FieldByName('CDQty').Value:=0;
    end;
    {if Trim(Edit2.Text)<>'' then
    begin
      FieldByName('CDQty').Value:=StrToFloat(Edit2.Text)-StrToFloat(Edit1.Text);
    end else
    begin
      FieldByName('CDQty').Value:=0;
    end; }

    Post;
  end;
  Edit1.Text:='';
  Edit2.Text:='';
  CDQty.Text:='';
  MovePanel1.Visible:=False;
  Panel3.Visible:=False;
end;

procedure TfrmMJManageNewFD.Button4Click(Sender: TObject);
begin
  Edit1.Text:='';
  Edit2.Text:='';
  CDQty.Text:='';
  MovePanel1.Visible:=False;
  Panel3.Visible:=False;
end;

procedure TfrmMJManageNewFD.ToolButton1Click(Sender: TObject);
begin
  //InitGrid();
  InitJP();
end;

procedure TfrmMJManageNewFD.Button5Click(Sender: TObject);
var
   fPrintFile:String;
begin
  if CDS_MJID.IsEmpty then Exit;
  with ADOCmd do
  begin
    Close;
    sql.Clear;
    sql.Add('Update WFB_MJJY Set PrtAgnFlag=1,PrtAgnDate=getdate(),PrtAgnPerson='''+Trim(DName)+'''');
    sql.Add(' where MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+'''');
    ExecSQL;
  end;
  with ADOQueryPrint do
  begin
    Close;
    SQL.Clear;
    sql.Add('select A.MJID,A.MJXH,Qty=A.MJLen,QtyUnit=A.MJTypeOther,B.orderNo,D.GangNo,PRTColorEng=E.Note,');
    sql.Add(' MPRTCodeNameEng=(select Top 1 F.CYEName from CP_YDang F where F.CYNo=B.OrdDefStr1),C.SLbName');
    sql.Add(',B.MPRTCF,C.SOrddefstr4,C.*,A.* ');
    sql.Add(' from WFB_MJJY A') ;
    sql.Add(' inner join JYOrder_Main B On A.Mainid=B.Mainid');
    sql.Add(' inner join JYOrder_Sub C on A.SubId=C.SubId');
    sql.Add(' inner join KH_Zdy E on C.PRTColor=E.ZdyName and E.Type=''OrdColor'' ');
    sql.Add(' inner join JYOrder_Sub_AnPai D on A.APId=D.APId ');
    SQL.Add(' where A.MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+'''');
    Open;
  end;
  if Trim(ADOQueryPrint.fieldbyname('SLbName').AsString)<>'' then
    fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\'+Trim(ADOQueryPrint.fieldbyname('SLbName').AsString)+'.rmf'
  else
    fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\通用英文标签.rmf' ;
  if FileExists(fPrintFile) then
  begin
    RM2.LoadFromFile(fPrintFile);
    //RM2.ShowReport;
    RM2.PrintReport;
  end else
  begin
    Application.MessageBox(PChar('没有找'+ExtractFilePath(Application.ExeName)+'Report\卷标签.rmf'),'提示',0);
  end;

end;

procedure TfrmMJManageNewFD.SpeedButton49Click(Sender: TObject);
begin
  Panel3.Visible:=False;
end;

procedure TfrmMJManageNewFD.APIDKeyPress(Sender: TObject; var Key: Char);
begin
  if Key=#13 then
  begin
    with ADOTmp do
    begin
      Close;
      sql.Clear;
      sql.Add('select * from JYOrder_Sub_AnPai where APID='''+Trim(APID.Text)+'''');
      Open;
    end;
    if ADOTmp.IsEmpty=False then
    begin
      Label2.Visible:=True;
      Label2.Caption:=Trim(ADOTmp.fieldbyname('GangNo').AsString);
      FAPID:=Trim(APID.Text);
      FMainId:=Trim(ADOTmp.fieldbyname('MainId').AsString);
      FSubId:=Trim(ADOTmp.fieldbyname('SubId').AsString);
      Label9.Caption:=Trim(ADOTmp.fieldbyname('AOrddefstr3').AsString);
      Label13.Caption:=Trim(ADOTmp.fieldbyname('AOrddefstr2').AsString);
      Label19.Caption:=Trim(Label9.Caption);
      Label20.Caption:=Trim(Label9.Caption);
      Label7.Caption:=Trim(Label9.Caption);
    end else
    begin
      Application.MessageBox('条码错误!','提示',0);
      Label2.Visible:=False;
      Label2.Caption:='';
      APID.Text:='';
      FAPID:='';
      FMainId:='';
      FSubId:='';
      Exit;
    end;
    {if Trim(SCXFlag)<>Trim(ADOTmp.fieldbyname('AOrdDefNote29').AsString) then
    begin
      APID.Text:='';
      if Application.MessageBox('分配机台与当前机台不一致,'+#13+'是否继续检验？','提示',32+4)<>IDYES then
      begin
        Label2.Visible:=False;
        Label2.Caption:='';
        FAPID:='';
        FMainId:='';
        FSubId:='';
        Exit;
      end;

    end; }
    APID.Text:='';
    BTAdd.Click;
  end;
end;

procedure TfrmMJManageNewFD.Edit1Click(Sender: TObject);
var
  i:Integer;
begin
  Panel3.Visible:=True;
  with Panel3 do
  begin
    for i:=0 to ControlCount-1 do
    begin
      if Controls[i] is TSpeedButton then
      begin
        TSpeedButton(Controls[i]).Hint:=Trim(TEdit(Sender).Name);
      end;
    end;
  end;
end;

procedure TfrmMJManageNewFD.Edit2Change(Sender: TObject);
var
  mvalue:Double;
begin
  if Trim(Edit1.Text)<>'' then
  begin
    if TryStrToFloat(Edit1.Text,mvalue)=False then
    begin
      Application.MessageBox('非法数字!','提示',0);
      Exit;
    end;
  end else
  begin
    Exit;
  end;
  if Trim(Edit2.Text)<>'' then
  begin
    if TryStrToFloat(Edit2.Text,mvalue)=False then
    begin
      Application.MessageBox('非法数字!','提示',0);
      Exit;
    end;
  end else
  begin
    Exit;
  end;
  CDQty.Text:=FloatToStr(StrToFloat(Edit2.Text)-StrToFloat(Edit1.Text));
end;

procedure TfrmMJManageNewFD.Edit3Click(Sender: TObject);
begin
  if Trim(Edit3.Text)='' then
  begin
    Edit3.Text:='√';
    Edit4.Text:='';
  end else
  begin
    Edit3.Text:='';
    Edit4.Text:='√';
  end;
end;

procedure TfrmMJManageNewFD.Edit4Click(Sender: TObject);
begin
  if Trim(Edit4.Text)='' then
  begin
    Edit4.Text:='√';
    Edit3.Text:='';
  end else
  begin
    Edit4.Text:='';
    Edit3.Text:='√';
  end;
end;

end.
