unit U_ClothSCDCGAnPai;

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, cxCalendar, cxButtonEdit, cxSplitter, RM_Common, RM_Class,
  RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, cxTextEdit, cxCheckBox,
  BtnEdit, RM_BarCode, cxPC, Menus, dxCore, ActiveX, cxLookAndFeels,
  cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, dxSkinsCore, dxSkinBlack,
  dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom,
  dxSkinDarkSide, dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy,
  dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian,
  dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis,
  dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black,
  dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink,
  dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue,
  dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray,
  dxSkinOffice2013White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic,
  dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringTime, dxSkinStardust,
  dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinsDefaultPainters,
  dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue,
  dxSkinscxPCPainter;

type
  TfrmClothSCDCGAnPai = class(TForm)
    ToolBar1: TToolBar;
    TBRafresh: TToolButton;
    TBClose: TToolButton;
    Panel1: TPanel;
    cxGridPopupMenu1: TcxGridPopupMenu;
    ADOQueryCmd: TADOQuery;
    ADOQueryMain: TADOQuery;
    ADOQueryTemp: TADOQuery;
    Label3: TLabel;
    ConNo: TEdit;
    CDS_PRT: TClientDataSet;
    RM2: TRMGridReport;
    RMDBPRT: TRMDBDataSet;
    ADOQueryPrint: TADOQuery;
    DSAnPai: TDataSource;
    CDS_AnPai: TClientDataSet;
    cxGridPopupMenu2: TcxGridPopupMenu;
    ZhuanQty: TEdit;
    Label9: TLabel;
    Panel2: TPanel;
    cxGrid3: TcxGrid;
    Tv3: TcxGridDBTableView;
    cxGridLevel2: TcxGridLevel;
    v3Column1: TcxGridDBColumn;
    v3Column2: TcxGridDBColumn;
    Label2: TLabel;
    C_CodeName: TEdit;
    Label6: TLabel;
    PS: TEdit;
    Label7: TLabel;
    JXPerson: TBtnEditA;
    Button2: TButton;
    Button1: TButton;
    cxGrid2: TcxGrid;
    Tv2: TcxGridDBTableView;
    v2Column2: TcxGridDBColumn;
    cxGridDBColumn1: TcxGridDBColumn;
    cxGridDBColumn2: TcxGridDBColumn;
    cxGridDBColumn3: TcxGridDBColumn;
    cxGridDBColumn6: TcxGridDBColumn;
    v2Column1: TcxGridDBColumn;
    v2Column4: TcxGridDBColumn;
    cxGridLevel1: TcxGridLevel;
    DataSource3: TDataSource;
    Order_Main: TClientDataSet;
    v3Column3: TcxGridDBColumn;
    v3Column4: TcxGridDBColumn;
    v3Column5: TcxGridDBColumn;
    Label4: TLabel;
    C_Code: TEdit;
    v3Column6: TcxGridDBColumn;
    Label5: TLabel;
    Label8: TLabel;
    APPS: TEdit;
    PSSX: TEdit;
    Label10: TLabel;
    v2Column3: TcxGridDBColumn;
    v3Column7: TcxGridDBColumn;
    Button3: TButton;
    v3Column8: TcxGridDBColumn;
    v3Column9: TcxGridDBColumn;
    Label11: TLabel;
    ChouZhen: TEdit;
    v3Column10: TcxGridDBColumn;
    v3Column11: TcxGridDBColumn;
    v3Column13: TcxGridDBColumn;
    v3Column14: TcxGridDBColumn;
    v3Column15: TcxGridDBColumn;
    v3Column16: TcxGridDBColumn;
    v3Column17: TcxGridDBColumn;
    Label13: TLabel;
    v3Column18: TcxGridDBColumn;
    Label14: TLabel;
    v2Column5: TcxGridDBColumn;
    v3Column20: TcxGridDBColumn;
    v3Column21: TcxGridDBColumn;
    ToolButton1: TToolButton;
    tbKS: TToolButton;
    cxTabControl1: TcxTabControl;
    tbKSCX: TToolButton;
    tbJS: TToolButton;
    tbJSCX: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    ToolButton8: TToolButton;
    ToolButton9: TToolButton;
    ToolButton10: TToolButton;
    ToolButton11: TToolButton;
    Label15: TLabel;
    BegDate: TDateTimePicker;
    EndDate: TDateTimePicker;
    ToolButton12: TToolButton;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    ToolButton2: TToolButton;
    RMDBPZ: TRMDBDataSet;
    CDS_PZ: TClientDataSet;
    CDS_SJ: TClientDataSet;
    RMDBSJ: TRMDBDataSet;
    RM1: TRMGridReport;
    RMDB_BP: TRMDBDataSet;
    Label37: TLabel;
    Edit13: TEdit;
    v2Column6: TcxGridDBColumn;
    v3Column12: TcxGridDBColumn;
    Panel3: TPanel;
    APBatchNo: TBtnEditA;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure TBCloseClick(Sender: TObject);
    procedure TBRafreshClick(Sender: TObject);
    procedure ConNoChange(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure JXPersonBtnClick(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure cxTabControl1Change(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure PSKeyPress(Sender: TObject; var Key: Char);
    procedure ToolButton1Click(Sender: TObject);
    procedure tbKSClick(Sender: TObject);
    procedure tbKSCXClick(Sender: TObject);
    procedure tbJSClick(Sender: TObject);
    procedure tbJSCXClick(Sender: TObject);
    procedure ToolButton6Click(Sender: TObject);
    procedure ToolButton7Click(Sender: TObject);
    procedure ToolButton8Click(Sender: TObject);
    procedure ToolButton9Click(Sender: TObject);
    procedure ToolButton10Click(Sender: TObject);
    procedure ToolButton11Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure ToolButton12Click(Sender: TObject);
    procedure Tv3CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
    procedure N1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure Edit13Click(Sender: TObject);
    procedure APBatchNoBtnClick(Sender: TObject);
    procedure v3Column8PropertiesEditValueChanged(Sender: TObject);
  private
    FInt, PFInt: Integer;
    FFMainID: string;
    procedure InitGrid();
    procedure InitGridBP();
    procedure SetStatus();
    function SaveDataAP(): Boolean;
    procedure PrintPB(MAPID: string);
    procedure UpdateJTInfo(RTMainId: string);
    { Private declarations }
  public
    canshu1: string;
    { Public declarations }
  end;

implementation

uses
  U_DataLink, U_Fun, U_ZDYHelp, U_JTSel, U_ClothSCInPut, U_RTFun;

{$R *.dfm}
procedure TfrmClothSCDCGAnPai.SetStatus();
begin
  tbKS.Visible := False;
  tbKSCX.Visible := False;
  tbJS.Visible := False;
  tbJSCX.Visible := False;
  case cxTabControl1.TabIndex of
    0:
      begin
        tbKS.Visible := True;
      end;

    1:
      begin
        tbKSCX.Visible := True;
        tbJS.Visible := True;
      end;
    2:
      begin
        tbJSCX.Visible := True;
      end;
  end;
end;

procedure TfrmClothSCDCGAnPai.InitGridBP();
begin
  Label10.Caption := Trim(Order_Main.fieldbyname('ConNo').AsString);
  APPS.Text := Trim(Order_Main.fieldbyname('APPS').AsString);
  PSSX.Text := Trim(Order_Main.fieldbyname('ZSCPS').AsString);
  APBatchNo.Text := Trim(Order_Main.fieldbyname('BatchNoHZ').AsString);
  with ADOQueryTemp do
  begin
    Close;
    sql.Clear;
    SQL.Add(' select Top 100*');
    sql.Add(' from JYCon_Sub_AnPai A');
    sql.Add(' where A.SubId=''' + Trim(Order_Main.fieldbyname('SubId').AsString) + '''');
    sql.Add(' and A.MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + '''');
    sql.Add(' order by FillTime desc');
    Open;
  end;
  SCreateCDS20(ADOQueryTemp, CDS_AnPai);
  SInitCDSData20(ADOQueryTemp, CDS_AnPai);
  with ADOQueryTemp do
  begin
    Close;
    sql.Clear;
    SQL.Add(' select COUNT(JYFlag) wjps');
    sql.Add(' from JYCon_Sub_AnPai A');
    sql.Add(' where A.JYFlag=0 and A.SubId=''' + Trim(Order_Main.fieldbyname('SubId').AsString) + '''');
    sql.Add(' and A.MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + '''');
    Open;
  end;
  Label13.caption := '未检验匹数：' + trim(inttostr(ADOQueryTemp.fieldbyname('wjps').asinteger));

  v2Column3.SortOrder := soDescending;

  CDS_AnPai.Last;
  if CDS_AnPai.IsEmpty then
    APBatchNo.Text := Trim(Order_Main.fieldbyname('BatchNoHZ').AsString)
  else
    APBatchNo.Text := Trim(CDS_AnPai.fieldbyname('APBatchNo').AsString);
end;

procedure TfrmClothSCDCGAnPai.PrintPB(MAPID: string);
var
  fPrintFile: string;
  i: Integer;
  FDate: string;
  Txt, fImagePath: string;
  Moudle: THandle;
  Makebar: TMakebar;
  Mixtext: TMixtext;
  GYLabName: string;
begin
  with ADOQueryPrint do
  begin
    Close;
    sql.Clear;
    sql.Add('select A.*,B.*, ');
    sql.Add(' AA.APID,A.ZhuanQty,AA.SCPerson,AA.CarNo,AA.CheJian ,AA.XHInt,AA.JXPerson,AA.APBatchNo,AA.PRTFlag,AA.PRTCount');
    sql.Add(' from JYCon_Sub_AnPai AA');
    sql.Add(' inner join Cloth_Sub A on AA.SubId=A.SubId and AA.Mainid=A.MainId');
    sql.Add(' inner join Cloth_Main B on AA.MainId=B.MainId ');
    sql.Add(' where AA.APId=' + quotedstr(Trim(MAPID)));
//    showmessage(SQL.Text);
    Open;
  end;
  if ADOQueryPrint.IsEmpty then
  begin
    application.MessageBox('条形码生成失败！', '提示信息', MB_ICONERROR);
    exit;
  end;
  GYLabName := Trim(ADOQueryPrint.fieldbyname('LabName').AsString);
  try
    Moudle := LoadLibrary('MakeQRBarcode.dll');
    @Makebar := GetProcAddress(Moudle, 'Make');
    @Mixtext := GetProcAddress(Moudle, 'MixText');
    Txt := Trim(ADOQueryPrint.fieldbyname('APId').AsString);
    fImagePath := ExtractFilePath(Application.ExeName) + 'image\temp.bmp';
    if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then
      CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil);
    if FileExists(fImagePath) then
      DeleteFile(fImagePath);
    Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath), 3);
  except
    application.MessageBox('布票打印异常！', '提示信息', MB_ICONERROR);
    exit;
  end;

  if Trim(GYLabName) <> '有抬头标签' then
  begin
    ExportFtErpFile('坯布标签AP.rmf', ADOQueryTemp);
    fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\坯布标签AP.rmf';
  end
  else
  begin
    ExportFtErpFile('有抬头标签.rmf', ADOQueryTemp);
    fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\有抬头标签.rmf';
  end;
  if FileExists(fPrintFile) then
  begin
    RM2.LoadFromFile(fPrintFile);
    RMVariables['QRBARCODE'] := fImagePath;
    RM2.PrintReport;
  end
  else
  begin
    Application.MessageBox(PChar('没有找' + fPrintFile), '提示', 0);
    Exit;
  end;
end;

procedure TfrmClothSCDCGAnPai.UpdateJTInfo(RTMainId: string);
begin
  with ADOQueryCmd do
  begin
    Close;
    sql.Clear;
    sql.Add('Update Cloth_Sub Set RTAPJTQty=(select Count(*) from Cloth_JiTai A where A.MainId=Cloth_Sub.MainId )');
    sql.Add(',RTAPJTInfo=dbo.F_Get_Order_SubStr_PB(Cloth_Sub.MainId,''RTAPJTInfo'')');
    sql.Add(',RTQYJTQty=(select Count(*) from Cloth_JiTai A where A.MainId=Cloth_Sub.MainId and StopFlag=0 )');
    sql.Add(',RTQYJTInfo=dbo.F_Get_Order_SubStr_PB(Cloth_Sub.MainId,''RTQYJTInfo'')');
    sql.Add(',RTTYJTQty=(select Count(*) from Cloth_JiTai A where A.MainId=Cloth_Sub.MainId and StopFlag=1 )');
    sql.Add(',RTTYJTInfo=dbo.F_Get_Order_SubStr_PB(Cloth_Sub.MainId,''RTTYJTInfo'')');
    sql.Add(' where MainId=''' + Trim(RTMainId) + '''');
    //Parameters.ParamByName('MainId').Value:=Trim(RTMainId);
    ExecSQL;
  end;
end;

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

procedure TfrmClothSCDCGAnPai.TBCloseClick(Sender: TObject);
begin
  if Trim(DName) = 'ADMIN' then
  begin
    WriteCxGridAll(trim(self.Caption), Tv2, ADOQueryCmd, ADOQueryTemp);
    WriteCxGridAll(trim(self.Caption) + '2', Tv3, ADOQueryCmd, ADOQueryTemp);
  end;
  Close;
end;

procedure TfrmClothSCDCGAnPai.InitGrid();
begin
  Panel3.Visible := True;
  Panel3.Refresh;

  try
    ADOQueryMain.DisableControls;
    with ADOQueryMain do
    begin
      Filtered := False;
      Close;
      sql.Clear;
      SQL.Add(' with AP As (SELECT TOP 1 JXPerson,mainid  FROM JYCon_Sub_AnPai AP  WHERE ISNULL(AP.JXPerson,'''') <> ''''  ORDER BY AP.FillTime DESC) ');
      sql.Add('select B.*,C.* ');
      sql.Add(',APPS=(select count(MainId) from JYCon_Sub_AnPai JSA where JSA.MainId=B.MainId  )');
      sql.Add(',JYPS=isnull((select Count(MainId) from WFB_MJJY_PB CR where CR.MainId=B.MainId   ),0) ');
//      sql.Add(',JXPerson10=(select Top 1 JXPerson from JYCon_Sub_AnPai AP where AP.MainId=B.MainId   and isnull(AP.JXPerson,'''')<>'''' Order by AP.FillTime Desc)');
      sql.Add(' from Cloth_Main B  ');
      sql.Add(' inner join Cloth_Sub C on B.MainId=C.MainId');
      sql.Add('left join Ap on  AP.mainid=B.mainid ');
      sql.Add(' where   (isnull(B.status,''0'') in(''1'',''2'') or ConType=''匹样'' )');
      if cxTabControl1.TabIndex > 1 then
      begin
        sql.Add(' and B.QDTime>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.Date)) + '''');
        sql.Add(' and B.QDTime<''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.Date + 1)) + '''');
      end;
      case cxTabControl1.TabIndex of
        0:
          begin
            sql.Add(' and BegFlag=0 and EndFlag=0 ');
          end;

        1:
          begin
            sql.Add(' and BegFlag=1 and EndFlag=0 ');
          end;
        2:
          begin
            sql.Add(' and EndFlag=1 ');
          end;
      end;                                              
//      ShowMessage(SQL.text);
      Open;
    end;
    SCreateCDS20(ADOQueryMain, Order_Main);
    SInitCDSData20(ADOQueryMain, Order_Main);
  finally
    ADOQueryMain.EnableControls;
  end;                                                            
  Panel3.Visible := False;
end;

procedure TfrmClothSCDCGAnPai.TBRafreshClick(Sender: TObject);
begin

  InitGrid();

end;

procedure TfrmClothSCDCGAnPai.ConNoChange(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 TfrmClothSCDCGAnPai.FormShow(Sender: TObject);
begin
  ReadCxGridAll(trim(self.Caption), Tv2);
  ReadCxGridAll(trim(self.Caption) + '2', Tv3);
  SetStatus();
//  InitGrid();
end;

procedure TfrmClothSCDCGAnPai.JXPersonBtnClick(Sender: TObject);
begin
  try
    frmZDYHelp := TfrmZDYHelp.Create(Application);
    with frmZDYHelp do
    begin
      flag := 'JXPerson';
      flagname := '机修';
      if ShowModal = 1 then
      begin
        JXPerson.Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
      end;
    end;
  finally
    frmZDYHelp.Free;
  end;
end;

procedure TfrmClothSCDCGAnPai.Button2Click(Sender: TObject);
var
  FFDS: Integer;
  FGYCarNo: string;
begin
  if cxTabControl1.TabIndex <> 1 then
    Exit;
  if Order_Main.IsEmpty then
    Exit;
  if Order_Main.Locate('SSel', True, []) = False then
  begin
    Application.MessageBox('没有选择数据!', '提示', 0);
    Exit;
  end;
  if Trim(PS.Text) = '' then
  begin
    Application.MessageBox('匹数不能为空!', '提示', 0);
    Exit;
  end;
  if TryStrToInt(Trim(PS.Text), FFDS) = False then
  begin
    Application.MessageBox('匹数非法', '提示', 0);
    Exit;
  end;
//  if Trim(JXPerson.Text) = '' then
//  begin
//    Application.MessageBox('调试机修不能为空!', '提示', 0);
//    Exit;
//  end;
  if Edit13.Text = '√' then
  begin
    if Application.MessageBox('确定要打印外发加工布票！', '提示', 32 + 4) <> IDYES then
      Exit;
  end;

  if SaveDataAP() then
  begin
    InitGrid();
    InitGridBP();
  end;
  CDS_AnPai.Last;
end;

function TfrmClothSCDCGAnPai.SaveDataAP(): Boolean;
var
  maxno, fPrintFile: string;
  i, j, GYSYPS: Integer;
  FDate: string;
  Txt, fImagePath: string;
  Moudle: THandle;
  Makebar: TMakebar;
  Mixtext: TMixtext;
  GYMainId, GYSubId, GYCarNo, GYC_Code, GYC_CodeName, GYConNo, GYXHInt, GYLabName: string;
  GYCheJian, GYBatchNOHZ, GYChouZhen, GYCarType, GYC_Spec, GYC_CPName, GYC_ZhenCun, GYC_Custom, GYC_gongyi: string;
begin
  cxGrid3.Enabled := False;
  FDate := FormatDateTime('yyyy-MM-dd', SGetServerDate(ADOQueryTemp));
  with Order_Main do
  begin
    First;
    while Locate('SSel', True, []) do
    begin
      GYMainId := Trim(Order_Main.fieldbyname('Mainid').AsString);
      GYSubId := Trim(Order_Main.fieldbyname('SubId').AsString);
      GYC_Code := Trim(Order_Main.fieldbyname('C_Code').AsString);
      GYC_CodeName := Trim(Order_Main.fieldbyname('C_CodeName').AsString);
      GYConNo := Trim(Order_Main.fieldbyname('ConNo').AsString);
      GYLabName := Trim(Order_Main.fieldbyname('LabName').AsString);
      GYBatchNOHZ := Trim(Order_Main.fieldbyname('BatchNOHZ').AsString);
      GYChouZhen := Trim(Order_Main.fieldbyname('ChouZhen').AsString);
      GYCarType := Trim(Order_Main.fieldbyname('CarType').AsString);
      GYC_Spec := Trim(Order_Main.fieldbyname('C_Spec').AsString);
      GYC_gongyi := Trim(Order_Main.fieldbyname('gongyi').AsString);
      GYC_ZhenCun := Trim(Order_Main.fieldbyname('ZhenCun').AsString);

      with ADOQueryTemp do
      begin
        Close;
        sql.Clear;
        sql.Add('select   ');
        sql.Add(' SYPS=C.ZSCPS-(select count(MainId) from JYCon_Sub_AnPai JSA where JSA.MainId=B.MainId  )');
        sql.Add(' from Cloth_Main B  ');
        sql.Add(' inner join Cloth_Sub C on B.MainId=C.MainId');
        sql.Add(' where  B.EndFlag=0 and  isnull(B.status,''0'')=''2''');
        SQL.Add(' and B.MainId=' + quotedstr(GYMainId));
        Open;
      end;
      GYSYPS := ADOQueryTemp.fieldbyname('SYPS').AsInteger;

//      if GYSYPS > StrToInt(PS.Text) then
//        j := StrToInt(PS.Text)
//      else
//        j := GYSYPS;
      j := StrToInt(PS.Text);
      for i := 1 to j do
      begin
        try
          ADOQueryCmd.Connection.BeginTrans;
          if GetLSNo(ADOQueryCmd, maxno, 'YF', 'JYCon_Sub_AnPai', 4, 1) = False then
          begin
            cxGrid3.Enabled := True;
            ADOQueryCmd.Connection.RollbackTrans;
            Application.MessageBox('生成坯布安排流水号异常！', '提示', 0);
            exit;
          end;
          with ADOQueryCmd do
          begin
            Close;
            sql.Clear;
            SQL.Add('select * from JYCon_Sub_AnPai where 1=2');
            Open;
          end;
          with ADOQueryCmd do
          begin
            Append;
            FieldByName('MainId').Value := Trim(GYMainId);
            FieldByName('SubId').Value := Trim(GYSubId);
            FieldByName('APId').Value := Trim(maxno);
            FieldByName('JXPerson').Value := Trim(JXPerson.Text);
            FieldByName('APBatchNo').Value := Trim(APBatchNo.Text);
            FieldByName('CarNo').Value := Trim(GYCarNo);
            FieldByName('CheJian').Value := Trim(GYCheJian);
            FieldByName('PRTCount').Value := 1;
            if Trim(Edit13.Text) <> '' then
              FieldByName('BuPiaoType').Value := '外发加工';
            FieldByName('APDate').Value := FDate;
            FieldByName('Filler').Value := Trim(DName);
            Post;
          end;

          with ADOQueryCmd do
          begin
            Close;
            sql.Clear;
            sql.Add(' Update JYCon_Sub_AnPai Set XHInt=isnull((select Max(XHInt) from JYCon_Sub_AnPai A where A.MainId=JYCon_Sub_AnPai.MainId and A.CarNo=JYCon_Sub_AnPai.CarNo ),0)+1');
            sql.Add(' ,QDTime=(select DoTime from Cloth_JiTai JT where JT.MainId=''' + Trim(GYMainId) + ''' and CarNo=''' + Trim(GYCarNo) + '''');
            sql.Add('          and StopFlag=0 )');
            sql.Add(' where APId=''' + Trim(maxno) + '''');
            ExecSQL;
          end;

          ADOQueryCmd.Connection.CommitTrans;
          PrintPB(maxno);
        except
          ADOQueryCmd.Connection.RollbackTrans;
          Application.MessageBox('打印异常！', '提示', 0);
          Exit;
        end;
        Sleep(500);
      end;
      Order_Main.Delete;
    end;

    FFMainID := '';
    cxGrid3.Enabled := True;
    Result := True;
  end;
end;

procedure TfrmClothSCDCGAnPai.Button1Click(Sender: TObject);
begin
  if cxTabControl1.TabIndex <> 1 then
    Exit;
  if CDS_AnPai.IsEmpty then
    Exit;
  if CDS_AnPai.Locate('SSel', True, []) = False then
  begin
    Application.MessageBox('没有选择数据!', '提示', 0);
    Exit;
  end;
  if CDS_AnPai.Locate('SSel;JYFlag', VarArrayOf([True, True]), []) then
  begin
    Application.MessageBox('已检验不能作废!', '提示', 0);
    Exit;
  end;
  if Application.MessageBox('确定要作废数据吗？', '提示', 32 + 4) <> IDYES then
    Exit;
  try
    ADOQueryCmd.Connection.BeginTrans;
    CDS_AnPai.DisableControls;
    with CDS_AnPai do
    begin
      while CDS_AnPai.FieldByName('SSel').AsBoolean = True do
      begin
        with ADOQueryCmd do
        begin
          Close;
          sql.Clear;
          sql.Add('delete JYCon_Sub_AnPai  ');
          sql.Add(' where APId=''' + Trim(CDS_AnPai.fieldbyname('APID').AsString) + '''');
          sql.Add(' and not exists(select * from WFB_MJJY_PB A where A.MJID=JYCon_Sub_AnPai.APID)');
          ExecSQL;
        end;
        CDS_AnPai.Delete;
      end;
    end;
    CDS_AnPai.EnableControls;

    ADOQueryCmd.Connection.CommitTrans;
  except
    ADOQueryCmd.Connection.RollbackTrans;
    CDS_AnPai.EnableControls;
    Application.MessageBox('作废失败!', '提示', 0);
    Exit;
  end;
end;

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

procedure TfrmClothSCDCGAnPai.Button3Click(Sender: TObject);
begin
  if cxTabControl1.TabIndex <> 1 then
    Exit;
  if Order_Main.IsEmpty then
    Exit;
  if CDS_AnPai.IsEmpty then
    Exit;
  if CDS_AnPai.Locate('SSel', True, []) = False then
  begin
    Application.MessageBox('没有选择数据!', '提示', 0);
    Exit;
  end;
  if CDS_AnPai.Locate('SSel;JYFlag', VarArrayOf([True, True]), []) then
  begin
    Application.MessageBox('已检验不能重打!', '提示', 0);
    Exit;
  end;

  with CDS_AnPai do
  begin
    while CDS_AnPai.Locate('SSel', true, []) do
    begin
      with ADOQueryTemp do
      begin
        Close;
        sql.Clear;
        sql.Add('select * from Cloth_Main where Mainid=''' + Trim(CDS_AnPai.fieldbyname('MainId').AsString) + '''');
        Open;
      end;

      CDS_AnPai.Edit;
      CDS_AnPai.FieldByName('PRTFlag').Value := 1;
      CDS_AnPai.FieldByName('PRTCount').Value := 2;
      CDS_AnPai.Post;
      with ADOQueryCmd do
      begin
        Close;
        sql.Clear;
        sql.Add('UPdate JYCon_Sub_AnPai Set PRTFlag=1,PRTCount=2 ');
        sql.Add(' where APId=''' + Trim(CDS_AnPai.fieldbyname('APID').AsString) + '''');
        ExecSQL;
      end;
      PrintPB(CDS_AnPai.fieldbyname('APID').AsString);
      CDS_AnPai.Edit;
      CDS_AnPai.FieldByName('SSel').Value := false;

    end;
  end;
end;

procedure TfrmClothSCDCGAnPai.PSKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
  begin
    Button2.Click;
  end;
end;

procedure TfrmClothSCDCGAnPai.ToolButton1Click(Sender: TObject);
begin
  try
    frmZDYHelp := TfrmZDYHelp.Create(Application);
    with frmZDYHelp do
    begin
      flag := 'WFBCPBZZ';
      flagname := '疵点';
      fnote := True;
     // V1Note.Caption:='英文名称';
      if ShowModal = 1 then
      begin

      end;
    end;
  finally
    frmZDYHelp.Free;
  end;
end;

procedure TfrmClothSCDCGAnPai.tbKSClick(Sender: TObject);
begin
  if Order_Main.IsEmpty then
    Exit;
  if cxTabControl1.TabIndex <> 0 then
    Exit;
  if Order_Main.Locate('SSel', True, []) = False then
  begin
    Application.MessageBox('没有选择数据!', '提示', 0);
    Exit;
  end;
  if Application.MessageBox('确定要执行开始操作吗？', '提示', 32 + 4) <> IDYES then
    Exit;
  try
    ADOQueryCmd.Connection.BeginTrans;
    Order_Main.DisableControls;
    with Order_Main do
    begin
      First;
      while Locate('SSel', True, []) = True do
      begin
        with ADOQueryCmd do
        begin
          Close;
          sql.Clear;
          sql.Add('UPdate Cloth_Main Set Begtime=getdate(),BegPerson=''' + Trim(DName) + ''',BegFlag=1');
          sql.Add(' where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + '''');
          ExecSQL;
        end;
        Order_Main.Delete;
      end;
    end;
    Order_Main.EnableControls;
    ADOQueryCmd.Connection.CommitTrans;
  except
    Order_Main.EnableControls;
    ADOQueryCmd.Connection.RollbackTrans;
    Application.MessageBox('操作异常!', '提示', 0);
  end;
end;

procedure TfrmClothSCDCGAnPai.tbKSCXClick(Sender: TObject);
begin
  if Order_Main.IsEmpty then
    Exit;
  if cxTabControl1.TabIndex <> 1 then
    Exit;
  if Order_Main.Locate('SSel', True, []) = False then
  begin
    Application.MessageBox('没有选择数据!', '提示', 0);
    Exit;
  end;
  if Application.MessageBox('确定要执行开始撤销操作吗？', '提示', 32 + 4) <> IDYES then
    Exit;
  try
    ADOQueryCmd.Connection.BeginTrans;
    Order_Main.DisableControls;
    with Order_Main do
    begin
      First;
      while Locate('SSel', True, []) = True do
      begin
        with ADOQueryCmd do
        begin
          Close;
          sql.Clear;
          sql.Add('UPdate Cloth_Main Set Begtime=getdate(),BegPerson=''' + Trim(DName) + ''',BegFlag=0');
          sql.Add(' where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + '''');
          ExecSQL;
        end;
        Order_Main.Delete;
      end;
    end;
    Order_Main.EnableControls;
    ADOQueryCmd.Connection.CommitTrans;
  except
    Order_Main.EnableControls;
    ADOQueryCmd.Connection.RollbackTrans;
    Application.MessageBox('操作异常!', '提示', 0);
  end;
end;

procedure TfrmClothSCDCGAnPai.tbJSClick(Sender: TObject);
begin
  if Order_Main.IsEmpty then
    Exit;
  if cxTabControl1.TabIndex = 2 then
    Exit;
  if cxTabControl1.TabIndex = 3 then
    Exit;
  if Order_Main.Locate('SSel', True, []) = False then
  begin
    Application.MessageBox('没有选择数据!', '提示', 0);
    Exit;
  end;
  if Application.MessageBox('确定要执行结束操作吗？', '提示', 32 + 4) <> IDYES then
    Exit;
  try
    ADOQueryCmd.Connection.BeginTrans;
    Order_Main.DisableControls;
    with Order_Main do
    begin
      First;
      while Locate('SSel', True, []) = True do
      begin
        with ADOQueryCmd do
        begin
          Close;
          sql.Clear;
          sql.Add('UPdate Cloth_Main Set Endtime=getdate(),EndPerson=''' + Trim(DName) + ''',EndFlag=1');
          sql.Add(' where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + '''');
          sql.Add('UPdate  Cloth_JiTai SET StopFlag=1,DOTime=getdate(),DOPerson=''' + Trim(DName) + '''');
          sql.Add(',TYTime=getdate(),TYPerson=''' + Trim(DName) + '''');
          sql.Add(' where MainId=' + quotedstr(trim(Order_Main.fieldbyname('MainId').AsString)));
          sql.Add(' and StopFlag=0');
          ExecSQL;
        end;
        UpdateJTInfo(Trim(Order_Main.fieldbyname('MainId').AsString));
        Order_Main.Delete;
      end;
    end;
    Order_Main.EnableControls;
    ADOQueryCmd.Connection.CommitTrans;
  except
    Order_Main.EnableControls;
    ADOQueryCmd.Connection.RollbackTrans;
    Application.MessageBox('操作异常!', '提示', 0);
  end;
end;

procedure TfrmClothSCDCGAnPai.tbJSCXClick(Sender: TObject);
begin
  if Order_Main.IsEmpty then
    Exit;
  if cxTabControl1.TabIndex <> 2 then
    Exit;
  if Order_Main.Locate('SSel', True, []) = False then
  begin
    Application.MessageBox('没有选择数据!', '提示', 0);
    Exit;
  end;
  if Application.MessageBox('确定要执行结束撤销操作吗？', '提示', 32 + 4) <> IDYES then
    Exit;
  try
    ADOQueryCmd.Connection.BeginTrans;
    Order_Main.DisableControls;
    with Order_Main do
    begin
      First;
      while Locate('SSel', True, []) = True do
      begin
        with ADOQueryCmd do
        begin
          Close;
          sql.Clear;
          sql.Add('UPdate Cloth_Main Set Endtime=getdate(),EndPerson=''' + Trim(DName) + ''',EndFlag=0');
          sql.Add(' where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + '''');
          ExecSQL;
        end;
        Order_Main.Delete;
      end;
    end;
    Order_Main.EnableControls;
    ADOQueryCmd.Connection.CommitTrans;
  except
    Order_Main.EnableControls;
    ADOQueryCmd.Connection.RollbackTrans;
    Application.MessageBox('操作异常!', '提示', 0);
  end;
end;

procedure TfrmClothSCDCGAnPai.ToolButton6Click(Sender: TObject);
begin
  try
    frmZDYHelp := TfrmZDYHelp.Create(Application);
    with frmZDYHelp do
    begin
      flag := 'SCPerson';
      flagname := '挡车工';
      fnote := True;
      V1Note.Caption := '编号';
      if ShowModal = 1 then
      begin

      end;
    end;
  finally
    frmZDYHelp.free;
  end;
end;

procedure TfrmClothSCDCGAnPai.ToolButton7Click(Sender: TObject);
begin
  try
    frmZDYHelp := TfrmZDYHelp.Create(Application);
    with frmZDYHelp do
    begin
      flag := 'JXPerson';
      flagname := '调试机修';
      if ShowModal = 1 then
      begin

      end;
    end;
  finally
    frmZDYHelp.free;
  end;
end;

procedure TfrmClothSCDCGAnPai.ToolButton8Click(Sender: TObject);
begin
  try
    frmZDYHelp := TfrmZDYHelp.Create(Application);
    with frmZDYHelp do
    begin
      flag := 'ClothType';
      flagname := '布匹等级';
      if ShowModal = 1 then
      begin

      end;
    end;
  finally
    frmZDYHelp.free;
  end;
end;

procedure TfrmClothSCDCGAnPai.ToolButton9Click(Sender: TObject);
begin
  try
    frmJTSel := TfrmJTSel.Create(Application);
    with frmJTSel do
    begin

      if ShowModal = 1 then
      begin
        with frmJTSel.ClientDataSet1 do
        begin

        end;
      end;
    end;
  finally
    frmJTSel.Free;
  end;
end;

procedure TfrmClothSCDCGAnPai.ToolButton10Click(Sender: TObject);
begin
  try
    frmZDYHelp := TfrmZDYHelp.Create(Application);
    with frmZDYHelp do
    begin
      flag := 'houdang';
      flagname := '后档';
      if ShowModal = 1 then
      begin

      end;
    end;
  finally
    frmZDYHelp.free;
  end;
end;

procedure TfrmClothSCDCGAnPai.ToolButton11Click(Sender: TObject);
begin
  try
    frmZDYHelp := TfrmZDYHelp.Create(Application);
    with frmZDYHelp do
    begin
      flag := 'WorkShift';
      flagname := '班次';
      if ShowModal = 1 then
      begin

      end;
    end;
  finally
    frmZDYHelp.free;
  end;
end;

procedure TfrmClothSCDCGAnPai.FormCreate(Sender: TObject);
begin
  EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
  BegDate.DateTime := EndDate.DateTime - 60;
end;

procedure TfrmClothSCDCGAnPai.ToolButton12Click(Sender: TObject);
begin
  try
    frmClothSCInPut := TfrmClothSCInPut.Create(Application);
    with frmClothSCInPut do
    begin
      PState := 1;
      FMainId := Trim(Self.Order_Main.fieldbyname('MainId').AsString);
      FConNo := Trim(Self.Order_Main.fieldbyname('ConNo').AsString);
      TBSave.Visible := False;
      ToolBar3.Visible := False;
      if ShowModal = 1 then
      begin

      end;
    end;
  finally
    frmClothSCInPut.Free;
  end;
end;

procedure TfrmClothSCDCGAnPai.Tv3CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
 // InitGridBP();
end;

procedure TfrmClothSCDCGAnPai.N1Click(Sender: TObject);
begin
  SelOKNo(CDS_AnPai, True);
end;

procedure TfrmClothSCDCGAnPai.N2Click(Sender: TObject);
begin
  SelOKNo(CDS_AnPai, False);
end;

procedure TfrmClothSCDCGAnPai.ToolButton2Click(Sender: TObject);
var
  fPrintFile: string;
  i, j, k: integer;
begin
  if Order_Main.IsEmpty then
    Exit;
  ExportFtErpFile('坯布生产工艺单.rmf', ADOQueryTemp);
  fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\坯布生产工艺单.rmf';

  with ADOQueryTemp do
  begin
    Close;
    sql.Clear;
    sql.Add('select  WeiZhi1=WeiZhi,SPZ1=PZ1,SPZ2=PZ2,SPZ3=PZ3,SPZ4=PZ4,SPZ5=PZ5,SPZ6=PZ6,SPZ7=PZ7,SPZ8=PZ8,SPZ9=PZ9,SPZ10=PZ10, ');
    sql.Add(' SPZ11=PZ11,SPZ12=PZ12,SPZ13=PZ13,SPZ14=PZ14,SPZ15=PZ15,SPZ16=PZ16,SPZ17=PZ17,SPZ18=PZ18,SPZ19=PZ19,SPZ20=PZ20, ');
    sql.Add(' SPZ21=PZ21,SPZ22=PZ22,SPZ23=PZ23,SPZ24=PZ24,SPZ25=PZ25,SPZ26=PZ26,SPZ27=PZ27,SPZ28=PZ28,SPZ29=PZ29,SPZ30=PZ30, ');
    sql.Add(' SPZ31=PZ31,SPZ32=PZ32,SPZ33=PZ33,SPZ34=PZ34,SPZ35=PZ35,SPZ36=PZ36 ');
    sql.Add(' from Cloth_PaiZhen where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + '''');
    sql.Add(' and RTrim(PZType)=''排针'' ');
    Open;
  end;
  SCreateCDS20(ADOQueryTemp, CDS_PZ);
  SInitCDSData20(ADOQueryTemp, CDS_PZ);
  if CDS_PZ.IsEmpty then
  begin
    CDS_PZ.Append;
    CDS_PZ.Post;
  end;

  with ADOQueryTemp do
  begin
    Close;
    sql.Clear;
    sql.Add('select * from Cloth_PaiZhen where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + '''');
    sql.Add(' and RTrim(PZType)=''三角'' ');
    Open;
  end;
  SCreateCDS20(ADOQueryTemp, CDS_SJ);
  SInitCDSData20(ADOQueryTemp, CDS_SJ);

  if CDS_SJ.IsEmpty then
  begin
    CDS_SJ.Append;
    CDS_SJ.Post;
  end;

  with ADOQueryTemp do
  begin
    Filtered := False;
    Close;
    sql.Clear;
    sql.Add('Select A.* ');
    sql.Add(',YLQty=Cast(C_Qty*PBQty*0.01*(1+isnull(ZPSH,0)*0.01) as decimal(18,1))');
    sql.Add(' from Cloth_YCL_PB A');
    sql.Add(' inner join Cloth_Sub B on A.SubId=B.SubId');
    sql.Add(' where A.SubId=''' + Trim(Order_Main.fieldbyname('SubId').AsString) + '''');
    Open;
  end;
  SCreateCDS20(ADOQueryTemp, CDS_PRT);
  SInitCDSData20(ADOQueryTemp, CDS_PRT);
  if CDS_PRT.IsEmpty then
  begin
    CDS_PRT.Append;
    CDS_PRT.Post;
  end;

  if FileExists(fPrintFile) then
  begin
    RM1.LoadFromFile(fPrintFile);
    RMVariables['C_Code'] := Order_Main.fieldbyname('C_Code').Value;
    RMVariables['ConNo'] := Order_Main.fieldbyname('ConNo').Value;
    RMVariables['C_CodeName'] := Order_Main.fieldbyname('C_CodeName').Value;
    RMVariables['DayQty'] := Order_Main.fieldbyname('DayQty').Value;
    RMVariables['CarType'] := Order_Main.fieldbyname('CarType').Value;
    RMVariables['ChouZhen'] := Order_Main.fieldbyname('ChouZhen').Value;
    RMVariables['KZQty'] := Order_Main.fieldbyname('KZQty').Value;
    RMVariables['MFQty'] := Order_Main.fieldbyname('MFQty').Value;
    RMVariables['KZ'] := Order_Main.fieldbyname('KZ').Value;
    RMVariables['MF'] := Order_Main.fieldbyname('MF').Value;
    RMVariables['PiKgQty'] := Order_Main.fieldbyname('PiKgQty').Value;
    RMVariables['ZhuanQty'] := Order_Main.fieldbyname('ZhuanQty').Value;
    RMVariables['PiQty'] := Order_Main.fieldbyname('PiQty').Value;
    RMVariables['C_Qty'] := Order_Main.fieldbyname('C_Qty').Value;
    RMVariables['QDTime'] := Order_Main.fieldbyname('QDTime').Value;
    RMVariables['JHChejian'] := Order_Main.fieldbyname('JHChejian').Value;
    RMVariables['DeliveryDate'] := Order_Main.fieldbyname('DeliveryDate').Value;
    RMVariables['ShaChang1'] := Order_Main.fieldbyname('ShaChang').Value;
    RMVariables['SJCarNO'] := Order_Main.fieldbyname('SJCarNO').Value;
    RMVariables['C_Spec'] := Order_Main.fieldbyname('C_Spec').Value;
    RMVariables['C_Color'] := Order_Main.fieldbyname('C_Color').Value;
    RMVariables['C_Note'] := Order_Main.fieldbyname('C_Note').Value;
    RMVariables['SJCarNO'] := Order_Main.fieldbyname('SJCarNO').Value;
    RMVariables['ChouZhen'] := Order_Main.fieldbyname('ChouZhen').Value;
    RMVariables['PiKgQtyFD'] := Order_Main.fieldbyname('PiKgQtyFD').Value;
    RMVariables['BatchNoHZ'] := Order_Main.fieldbyname('BatchNoHZ').Value;
    RMVariables['Zdr'] := Order_Main.fieldbyname('Filler').Value;
    RMVariables['WzPrice'] := Order_Main.fieldbyname('WzPrice').Value;
    RMVariables['BZNote'] := Order_Main.fieldbyname('BZNote').Value;
    RMVariables['ZZYQ'] := Order_Main.fieldbyname('ZZYQ').Value;
    RMVariables['ZZSH'] := Order_Main.fieldbyname('ZZSH').Value;
    RMVariables['MFZZS'] := Order_Main.fieldbyname('MFZZS').Value;
    RMVariables['ALBL'] := Order_Main.fieldbyname('ALBL').Value;
    RMVariables['gongyi'] := Order_Main.fieldbyname('gongyi').Value;
    RMVariables['ZongJieNote'] := Order_Main.fieldbyname('ZongJieNote').Value;
    RMVariables['ZhenCun'] := Order_Main.fieldbyname('ZhenCun').Value;
    RMVariables['Filler'] := Order_Main.fieldbyname('Filler').Value;
    RMVariables['JHChejian'] := Order_Main.fieldbyname('JHChejian').Value;
    RMVariables['YWY'] := Order_Main.fieldbyname('YWY').Value;
    RMVariables['KJTS'] := Order_Main.fieldbyname('KJTS').Value;
    RMVariables['PBMF'] := Order_Main.fieldbyname('PBMF').Value;
    RMVariables['PBKZ'] := Order_Main.fieldbyname('PBKZ').Value;
    RMVariables['ZongZhenQty'] := Order_Main.fieldbyname('ZongZhenQty').Value;
    RMVariables['PSNote'] := Order_Main.fieldbyname('PSNote').Value;
    RMVariables['SJNote'] := Order_Main.fieldbyname('SJNote').Value;
    RMVariables['ISYT'] := Order_Main.fieldbyname('ISYT').Value;
    RMVariables['ISKF'] := Order_Main.fieldbyname('ISKF').Value;
    RMVariables['ISCZ'] := Order_Main.fieldbyname('ISCZ').Value;
    RMVariables['FactoryNoName'] := Order_Main.fieldbyname('FactoryNoName').Value;
    RMVariables['PBFactoryNoName'] := Order_Main.fieldbyname('PBFactoryNoName').Value;
    RMVariables['JiTaiType'] := Order_Main.fieldbyname('JiTaiType').Value;
    RMVariables['YGPS'] := Order_Main.fieldbyname('YGPS').Value;
    RMVariables['YGQty'] := Order_Main.fieldbyname('YGQty').Value;
    RM1.ShowReport;
  end
  else
  begin
    Application.MessageBox(PChar('没有找' + fPrintFile), '提示', 0);
  end;
end;

procedure TfrmClothSCDCGAnPai.Edit13Click(Sender: TObject);
begin
  if Trim(Edit13.Text) = '' then
  begin
    Edit13.Text := '√';
  end
  else
  begin
    Edit13.Text := '';
  end;
end;

procedure TfrmClothSCDCGAnPai.APBatchNoBtnClick(Sender: TObject);
begin
  if Order_Main.IsEmpty then
    Exit;
  if Order_Main.Locate('SSel', True, []) = False then
  begin
    Application.MessageBox('没有选择数据！', '提示', 0);
    Exit;
  end;
  try
    frmZDYHelp := TfrmZDYHelp.Create(Application);
    with frmZDYHelp do
    begin
      MainType := Trim(Self.Order_Main.fieldbyname('ConNo').AsString);
      flag := 'APBatchNo';
      flagname := '批号';
      if ShowModal = 1 then
      begin
        APBatchNo.Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
      end;
    end;
  finally
    frmZDYHelp.Free;
  end;
end;

procedure TfrmClothSCDCGAnPai.v3Column8PropertiesEditValueChanged(Sender: TObject);
var
  mvalue: Boolean;
  fsj: string;
begin
  mvalue := TcxCheckBox(Sender).EditValue;
  fsj := Trim(Order_Main.fieldbyname('MainId').AsString);
  if Order_Main.IsEmpty then
    Exit;
  Order_Main.DisableControls;
  with Order_Main do
  begin
    First;
    while not Eof do
    begin
      if FieldByName('SSel').AsBoolean = True then
      begin
        Edit;
        FieldByName('SSel').Value := False;
        Post;
      end;
      Next;
    end;
  end;
  Order_Main.Locate('MainId', fsj, []);
  if mvalue = True then
  begin
    with Order_Main do
    begin
      Edit;
      FieldByName('SSel').Value := True;
      Post;
    end;
  end
  else
  begin
    with Order_Main do
    begin
      Edit;
      FieldByName('SSel').Value := False;
      Post;
    end;
  end;
  Order_Main.EnableControls;
  InitGridBP();
end;

end.

