unit U_MeetingAP;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
  cxDataStorage, cxEdit, DB, cxDBData, cxDropDownEdit, cxSplitter,
  cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
  cxClasses, cxControls, cxGridCustomView, cxGrid, StdCtrls, ComCtrls,
  ExtCtrls, cxCalendar, DBClient, ADODB, cxButtonEdit, cxTextEdit;

type
  TfrmMeetingAP = class(TForm)
    Panel1: TPanel;
    Label3: TLabel;
    OrderNo: TEdit;
    Button9: TButton;
    Button10: TButton;
    Panel4: TPanel;
    Panel6: TPanel;
    Label12: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label25: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label1: TLabel;
    Label2: TLabel;
    DLYDate: TDateTimePicker;
    MPRTCodeName: TEdit;
    MPRTSpec: TEdit;
    MPRTCF: TEdit;
    MPRTMF: TEdit;
    MPRTKZ: TEdit;
    MPRTKZNote: TEdit;
    LiDanPerson: TEdit;
    CustomerNoName: TEdit;
    MPRTCode: TEdit;
    MPRTGY: TEdit;
    MPRTGYHZ: TEdit;
    Label5: TLabel;
    ZLLevel: TEdit;
    ScrollBox8: TScrollBox;
    cxGrid1: TcxGrid;
    Tv1: TcxGridDBTableView;
    v1Column2: TcxGridDBColumn;
    v1Column7: TcxGridDBColumn;
    v1PRTOrderQty: TcxGridDBColumn;
    v1Column5: TcxGridDBColumn;
    v1OrderUnit: TcxGridDBColumn;
    v1Column10: TcxGridDBColumn;
    v1Column6: TcxGridDBColumn;
    v1Column4: TcxGridDBColumn;
    cxGrid1Level1: TcxGridLevel;
    cxGrid2: TcxGrid;
    Tv2: TcxGridDBTableView;
    cxGridDBColumn1: TcxGridDBColumn;
    cxGridDBColumn2: TcxGridDBColumn;
    cxGridLevel1: TcxGridLevel;
    Panel9: TPanel;
    Panel3: TPanel;
    Panel2: TPanel;
    Label4: TLabel;
    OtherNote: TRichEdit;
    ScrollBox1: TScrollBox;
    cxGrid3: TcxGrid;
    Tv3: TcxGridDBTableView;
    cxGridDBColumn4: TcxGridDBColumn;
    cxGridDBColumn12: TcxGridDBColumn;
    cxGridDBColumn13: TcxGridDBColumn;
    cxGridLevel2: TcxGridLevel;
    cxGrid4: TcxGrid;
    Tv4: TcxGridDBTableView;
    cxGridDBColumn14: TcxGridDBColumn;
    cxGridDBColumn15: TcxGridDBColumn;
    cxGridLevel3: TcxGridLevel;
    Panel10: TPanel;
    Label11: TLabel;
    Tv3Column1: TcxGridDBColumn;
    Tv4Column1: TcxGridDBColumn;
    Tv4Column2: TcxGridDBColumn;
    Panel5: TPanel;
    Label9: TLabel;
    Panel7: TPanel;
    Label23: TLabel;
    Panel11: TPanel;
    Button1: TButton;
    Button2: TButton;
    Panel12: TPanel;
    PingDingNote: TRichEdit;
    Panel13: TPanel;
    cxGrid5: TcxGrid;
    Tv5: TcxGridDBTableView;
    cxGridDBColumn10: TcxGridDBColumn;
    cxGridDBColumn16: TcxGridDBColumn;
    cxGridDBColumn17: TcxGridDBColumn;
    cxGridDBColumn18: TcxGridDBColumn;
    cxGridDBColumn19: TcxGridDBColumn;
    cxGridLevel5: TcxGridLevel;
    Panel15: TPanel;
    Label13: TLabel;
    Panel8: TPanel;
    Label10: TLabel;
    Panel14: TPanel;
    Label14: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    Label24: TLabel;
    Label26: TLabel;
    Label27: TLabel;
    Label28: TLabel;
    ZPQty: TEdit;
    CPQty: TEdit;
    TJQty: TEdit;
    CKQty: TEdit;
    GDKK: TEdit;
    OrderSunShi: TEdit;
    SGJSSH: TEdit;
    HZSH: TEdit;
    Button3: TButton;
    v3Column1: TcxGridDBColumn;
    v3Column2: TcxGridDBColumn;
    v1Column1: TcxGridDBColumn;
    DS_OrderNo: TDataSource;
    CDS_OrderNo: TClientDataSet;
    cxGrid6: TcxGrid;
    TvOrdeNo: TcxGridDBTableView;
    cxGridDBColumn3: TcxGridDBColumn;
    cxGridDBColumn5: TcxGridDBColumn;
    cxGrid4Level1: TcxGridLevel;
    ADOQueryCmd: TADOQuery;
    ADOQueryTemp: TADOQuery;
    ADOQuery1: TADOQuery;
    ADOQuery2: TADOQuery;
    DataSource1: TDataSource;
    ClientDataSet1: TClientDataSet;
    ClientDataSet2: TClientDataSet;
    DataSource2: TDataSource;
    ClientDataSet3: TClientDataSet;
    DataSource3: TDataSource;
    ClientDataSet4: TClientDataSet;
    DataSource4: TDataSource;
    ClientDataSet5: TClientDataSet;
    DataSource5: TDataSource;
    Label29: TLabel;
    Label30: TLabel;
    Button4: TButton;
    Button5: TButton;
    procedure FormDestroy(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Button9Click(Sender: TObject);
    procedure OrderNoChange(Sender: TObject);
    procedure TvOrdeNoDblClick(Sender: TObject);
    procedure Tv1CellClick(Sender: TcxCustomGridTableView;
      ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
      AShift: TShiftState; var AHandled: Boolean);
    procedure Button1Click(Sender: TObject);
    procedure cxGridDBColumn14PropertiesButtonClick(Sender: TObject;
      AButtonIndex: Integer);
    procedure cxGridDBColumn15PropertiesEditValueChanged(Sender: TObject);
    procedure Tv4Column1PropertiesEditValueChanged(Sender: TObject);
    procedure Tv4Column2PropertiesEditValueChanged(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
    FMainId:String;
  public
    { Public declarations }
  end;

var
  frmMeetingAP: TfrmMeetingAP;

implementation
uses
  U_DataLink,U_ZDYHelp,U_RTFun,U_ZDYHelpSel;
{$R *.dfm}

procedure TfrmMeetingAP.FormDestroy(Sender: TObject);
begin
  frmMeetingAP:=nil;
end;

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

procedure TfrmMeetingAP.Button9Click(Sender: TObject);
begin
  Close;
end;

procedure TfrmMeetingAP.OrderNoChange(Sender: TObject);
var
  mvalue:String;
begin
  mvalue:=Trim(OrderNo.Text);
  if Length(Trim(mvalue))<2 then
  begin
    cxGrid6.Visible:=False;
    Exit;
  end;
  mvalue:='%'+Trim(mvalue)+'%';
  with ADOQuery1 do
  begin
    Close;
    sql.Clear;
    sql.Add('select OrderNo,MPRTCodeName,A.MainId from JYOrder_Main A');
    sql.Add(' where A.orderno like :orderno ');
    //sql.Add(' and A.MainId in(select MainId from JYOrder_Sub B where B.Mainid=A.MainId and B.subId in(select OrdSubId from Contract_Cloth_LL))');
    Parameters.ParamByName('orderno').Value:=mvalue;
    Open;
  end;
  SCreateCDS20(ADOQuery1,CDS_OrderNo);
  SInitCDSData20(ADOQuery1,CDS_OrderNo);
  if CDS_OrderNo.IsEmpty then cxGrid6.Visible:=False else cxGrid6.Visible:=True;
end;

procedure TfrmMeetingAP.TvOrdeNoDblClick(Sender: TObject);
var
  fsj:String;
begin
  OrderNo.Text:=CDS_OrderNo.fieldbyname('OrderNo').AsString;
  cxGrid6.Visible:=False;
  with ADOQueryTemp do
  begin
    Close;
    sql.Clear;
    sql.Add('select A.* ');
    sql.Add(' from JYOrder_Main A');
    sql.Add(' where Orderno='''+Trim(OrderNo.Text)+'''');
    Open;
  end;
  SCSHData(ADOQueryTemp,Panel6,2);
  MPRTCode.Text:=Trim(ADOQueryTemp.fieldbyname('MPRTCode').AsString);
  FMainId:=Trim(ADOQueryTemp.fieldbyname('MainId').AsString);
  OtherNote.Text:=Trim(ADOQueryTemp.fieldbyname('OtherNote').AsString);
  PingDingNote.Text:=Trim(ADOQueryTemp.fieldbyname('PingDingNote').AsString);


  {fsj:='select Code=PFGenDanPerson,Name=PFGenDanPerson from JYOrder_PCS_Sub where MainId='''+Trim(FMainId)+''''+
       ' and isnull(PFGenDanPerson,'''')<>'''' group by PFGenDanPerson';
  SInitCxBandGridComboBoxBySql(ADOQuery1,v6Column1,fsj,1,True,''); }
  {fsj:='';
  with ADOQueryTemp do
  begin
    Close;
    sql.Clear;
    sql.Add('select * from JYOrder_Process where MainId='''+Trim(FMainId)+'''');
    Open;
  end;
  with ADOQueryTemp do
  begin
    First;
    while not Eof do
    begin
      with ADOQuery1 do
      begin
        Close;
        sql.Clear;
        sql.Add('select AA=dbo.F_Get_Order_SubStr(:PSID,''PFGenDanPerson'')');
        Parameters.ParamByName('PSID').Value:=Trim(ADOQueryTemp.fieldbyname('PSID').AsString);
        open;
      end;
      if Trim(fsj)='' then
      begin
        fsj:=Trim(ADOQueryTemp.fieldbyname('PSName').AsString)+':'+Trim(ADOQuery1.fieldbyname('AA').AsString);
      end else
        fsj:=fsj+'  '+Trim(ADOQueryTemp.fieldbyname('PSName').AsString)+':'+Trim(ADOQuery1.fieldbyname('AA').AsString);
      Next;
    end;
  end;
  PFGenDanPerson.Text:=Trim(fsj); }
  with ADOQueryTemp do
  begin
    Close;
    sql.Clear;
    sql.Add('select A.* ');
    sql.Add(',DlyDate=(select Min(PFDlyDate) from JYOrder_PCS_Sub B where B.PSID=A.PSID)');
    sql.Add(',APPS=(select sum(PFTPPS) from JYOrder_PCS_Sub B where B.PSID=A.PSID)');
    sql.Add(',APQty=(select Min(PFTPQty) from JYOrder_PCS_Sub B where B.PSID=A.PSID)');
    sql.Add(',APUnit=(select Min(PFTPUnit) from JYOrder_PCS_Sub B where B.PSID=A.PSID)');
    sql.Add(' from JYOrder_Process A where MainId='''+Trim(FMainId)+'''');
    SQL.Add(' and A.PSName not in(''�����װ'',''����'')');
    sql.Add(' order by A.PSXH');
    Open;
  end;
  SCreateCDS20(ADOQueryTemp,ClientDataSet1);
  SInitCDSData20(ADOQueryTemp,ClientDataSet1);
  with ADOQueryTemp do
  begin
    Close;
    sql.Clear;
    sql.Add('select A.* ');
    sql.Add(',MDDate=(select Max(MDDate) from JYOrder_Main_MD B where B.PSID=A.PSID and B.MDNO like ''MD%'')');
    sql.Add(',MDPS=(select sum(PS) from JYOrder_Main_MD B where B.PSID=A.PSID and B.MDNO like ''MD%'')');
    sql.Add(',MDQty=(select sum(Qty) from JYOrder_Main_MD B where B.PSID=A.PSID and B.MDNO like ''MD%'')');
    sql.Add(',BDQty=(select sum(Qty) from JYOrder_Main_MD B where B.PSID=A.PSID and B.MDNO like ''TJ%'' and OtherOrdFlag=0)');
    sql.Add(',FBDQty=(select sum(Qty) from JYOrder_Main_MD B where B.PSID=A.PSID and B.MDNO like ''TJ%'' and OtherOrdFlag=1)');
    sql.Add(' from JYOrder_Process A where MainId='''+Trim(FMainId)+'''');
    SQL.Add(' and A.PSName not in(''�����װ'',''����'')');
    sql.Add(' order by A.PSXH');
    Open;
  end;
  SCreateCDS20(ADOQueryTemp,ClientDataSet3);
  SInitCDSData20(ADOQueryTemp,ClientDataSet3);
  with ClientDataSet1 do
  begin
    ClientDataSet1.Last;
  end;
  fsj:=Trim(ClientDataSet1.fieldbyname('APUnit').AsString);
  with  ADOQueryTemp do
  begin
    Close;
    sql.Clear;
    sql.Add('select A.HZSH,A.SGJSSH');
    if Trim(fsj)='M'  then
    begin
      sql.Add(' ,ZPQty=(select sum(MJLen) from WFB_MJJY B where B.MainId=A.MainId and isnull(MJType,'''')=''��Ʒ'' )');
      sql.Add(' ,CPQty=(select sum(MJLen) from WFB_MJJY B where B.MainId=A.MainId and isnull(MJType,'''')=''��Ʒ'' )');
    end else
    begin
      sql.Add(' ,ZPQty=(select sum(MJQty4) from WFB_MJJY B where B.MainId=A.MainId and isnull(MJType,'''')=''��Ʒ'')');
      sql.Add(' ,CPQty=(select sum(MJQty4) from WFB_MJJY B where B.MainId=A.MainId and isnull(MJType,'''')=''��Ʒ'')');
    end;
    sql.Add(' ,TJQty=(select Sum(Qty-CKQty) from JYOrder_Main_MD B where B.ORDMainId=A.MainId and B.MDNO like ''TJ%'')');
    sql.Add(' ,CKQty=(select Sum(FHQty) from JYOrder_FH B where B.MainId=A.MainId)');
    sql.Add(' ,GDKK=(select Sum(ZZPonMoney) from JYOrder_Main_MD_KK B ');
    sql.Add('        inner join JYOrder_Main_MD C on B.MDID=C.MDID where C.ORDMainId=A.MainId)');
    sql.Add(' from JYOrder_Main A where MainId='''+Trim(FMainId)+'''');
    //ShowMessage(sql.Text);
    Open;
  end;
  SCSHDataNew(ADOQueryTemp,Panel13,2);
  with ADOQueryTemp do
  begin
    Close;
    sql.Clear;
    sql.Add('select * from JYOrder_GD_FenShu where MainId='''+Trim(FMainId)+'''');
    Open;
  end;
  SCreateCDS20(ADOQueryTemp,ClientDataSet4);
  SInitCDSData20(ADOQueryTemp,ClientDataSet4);
  Button3.Click;
  //InitGrid();
end;

procedure TfrmMeetingAP.Tv1CellClick(Sender: TcxCustomGridTableView;
  ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
  AShift: TShiftState; var AHandled: Boolean);
begin
  with ADOQuery1 do
  begin
    Close;
    sql.Clear;
    sql.Add('select A.* from JYOrder_PCS_GD A ');
    sql.Add('where A.PSID='''+Trim(ClientDataSet1.fieldbyname('PSID').AsString)+'''');
    Open;
  end;
  SCreateCDS20(ADOQuery1,ClientDataSet2);
  SInitCDSData20(ADOQuery1,ClientDataSet2);
end;

procedure TfrmMeetingAP.Button1Click(Sender: TObject);
var
  maxno:String;
begin
  if Trim(OrderNo.Text)='' then Exit;
  try
    ADOQueryCmd.Connection.BeginTrans;
    if GetLSNo(ADOQueryCmd,maxno,'GF','JYOrder_GD_FenShu',3,1)=False then
    begin
      ADOQueryCmd.Connection.RollbackTrans;
      Application.MessageBox('ȡ������������ʧ��!','��ʾ',0);
      Exit;
    end;
    with ADOQueryCmd do
    begin
      Close;
      sql.Clear;
      sql.Add(' select * from JYOrder_GD_FenShu where 1<>1');
      Open;
    end;
    with ADOQueryCmd do
    begin
      Append;
      FieldByName('MainId').Value:=Trim(FMainId);
      FieldByName('GFId').Value:=Trim(maxno);
      FieldByName('GFDate').Value:=Trim(FormatDateTime('yyyy-MM-dd',SGetServerDate(ADOQueryTemp)));
      Post;
    end;
    ADOQueryCmd.Connection.CommitTrans;
    with ClientDataSet4 do
    begin
      Append;
      FieldByName('GFId').Value:=Trim(maxno);
      FieldByName('GFDate').Value:=Trim(FormatDateTime('yyyy-MM-dd',SGetServerDate(ADOQueryTemp)));
      Post;
    end;
  except
    ADOQueryCmd.Connection.RollbackTrans;
    Application.MessageBox('�����쳣!','��ʾ',0);
  end;

end;

procedure TfrmMeetingAP.cxGridDBColumn14PropertiesButtonClick(
  Sender: TObject; AButtonIndex: Integer);
begin
  try
    frmZDYHelp:=TfrmZDYHelp.Create(Application);
    with frmZDYHelp do
    begin
      flag:='PFGenDanPerson';
      flagname:='����Ա';
      fnote:=True;
      V1Note.Caption:='�绰';
      if ShowModal=1 then
      begin
        with Self.ClientDataSet4 do
        begin
          Edit;
          FieldByName('GenDanPerson').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString);
        end;
        with Self.ADOQueryCmd do
        begin
          Close;
          sql.Clear;
          sql.Add('UPdate JYOrder_GD_FenShu Set GenDanPerson='''+Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString)+'''');
          sql.Add(' where GFID='''+Trim(Self.ClientDataSet4.fieldbyname('GFID').AsString)+'''');
          ExecSQL;
        end;
      end;
    end;
  finally
    frmZDYHelp.Free;
  end;
end;

procedure TfrmMeetingAP.cxGridDBColumn15PropertiesEditValueChanged(
  Sender: TObject);
var
  mvalue:String;
begin
  mvalue:=TcxDateEdit(Sender).EditText;
  if Trim(mvalue)='' then
  begin
    mvalue:=null;
  end;
  with ADOQueryCmd do
  begin
    Close;
    sql.Clear;
    if Trim(mvalue)<>'' then
      sql.Add('UPdate JYOrder_GD_FenShu Set GFDate='''+Trim(mvalue)+'''')
    else
      sql.Add('UPdate JYOrder_GD_FenShu Set GFDate=Null');
    sql.Add(' where GFID='''+Trim(ClientDataSet4.fieldbyname('GFID').AsString)+'''');
    ExecSQL;
  end;
  with ClientDataSet4 do
  begin
    Edit;
    FieldByName('GFDate').Value:=mvalue;
    Post;
  end;
end;

procedure TfrmMeetingAP.Tv4Column1PropertiesEditValueChanged(
  Sender: TObject);
var
  mvalue:String;
begin
  mvalue:=TcxComboBox(Sender).EditText;
  if Trim(mvalue)='' then
  begin
    mvalue:=null;
  end;
  with ADOQueryCmd do
  begin
    Close;
    sql.Clear;
    if Trim(mvalue)<>'' then
      sql.Add('UPdate JYOrder_GD_FenShu Set FenShu='+Trim(mvalue))
    else
      sql.Add('UPdate JYOrder_GD_FenShu Set FenShu=Null');
    sql.Add(' where GFID='''+Trim(ClientDataSet4.fieldbyname('GFID').AsString)+'''');
    ExecSQL;
  end;
  with ClientDataSet4 do
  begin
    Edit;
    FieldByName('FenShu').Value:=mvalue;
    Post;
  end;
end;

procedure TfrmMeetingAP.Tv4Column2PropertiesEditValueChanged(
  Sender: TObject);
var
  mvalue:String;
begin
  mvalue:=TcxTextEdit(Sender).EditingText;
  if Trim(mvalue)='' then
  begin
    mvalue:=null;
  end;
  with ADOQueryCmd do
  begin
    Close;
    sql.Clear;
    if Trim(mvalue)<>'' then
      sql.Add('UPdate JYOrder_GD_FenShu Set GFNote='''+Trim(mvalue)+'''')
    else
      sql.Add('UPdate JYOrder_GD_FenShu Set GFNote=Null');
    sql.Add(' where GFID='''+Trim(ClientDataSet4.fieldbyname('GFID').AsString)+'''');
    ExecSQL;
  end;
  with ClientDataSet4 do
  begin
    Edit;
    FieldByName('GFNote').Value:=mvalue;
    Post;
  end;
end;

procedure TfrmMeetingAP.Button2Click(Sender: TObject);
begin
  if ClientDataSet4.IsEmpty then Exit;
  if Application.MessageBox('ȷ��Ҫɾ��������','��ʾ',32+4)<>IDYES then Exit;
  with ADOQueryCmd do
  begin
    Close;
    SQL.Clear;
    sql.Add('delete JYOrder_GD_FenShu where GFID='''+Trim(ClientDataSet4.fieldbyname('GFID').AsString)+'''');
    ExecSQL;
  end;
  ClientDataSet4.Delete;
end;

procedure TfrmMeetingAP.Button4Click(Sender: TObject);
begin
  with ADOQueryCmd do
  begin
    Close;
    sql.Clear;
    sql.Add(' Update JYOrder_Main Set OtherNote='''+Trim(OtherNote.Text)+'''');
    SQL.Add(' where Mainid='''+Trim(FMainId)+'''');
    ExecSQL;
  end;
  Application.MessageBox('�����ɹ�!','��ʾ',0);
  Exit;
end;

procedure TfrmMeetingAP.Button5Click(Sender: TObject);
begin
  with ADOQueryCmd do
  begin
    Close;
    sql.Clear;
    sql.Add(' Update JYOrder_Main Set PingDingNote='''+Trim(PingDingNote.Text)+'''');
    SQL.Add(' where Mainid='''+Trim(FMainId)+'''');
    ExecSQL;
  end;
  Application.MessageBox('�����ɹ�!','��ʾ',0);
  Exit;
end;

procedure TfrmMeetingAP.Button3Click(Sender: TObject);
begin
  with ADOQueryCmd do
  begin
    Close;
    sql.Clear;
    sql.Add('Update JYOrder_Process Set');
    if Trim(ZPQty.Text)<>'' then
      SQL.Add('ZPQty='+ZPQty.Text)
    else
      SQL.Add('ZPQty=0');
    sql.Add(' where MainId='''+Trim(FMainId)+'''');
    ExecSQL;
  end;
  with ADOQueryCmd do
  begin
    Close;
    sql.Clear;
    sql.Add('Update JYOrder_Process Set ');
    sql.Add(' LDMoney=ZPQty*LDPrice');
    sql.Add(',SHMoney=Cast(ZPQty*SHPrice*');
    sql.Add('(PSSH-(select SGJSSH from JYOrder_Main A where A.MainId=JYOrder_Process.MainId))*1.00/100 as decimal(18,2))');
    sql.Add(' where MainId='''+Trim(FMainId)+'''');
    ExecSQL;
  end;
  with ADOQueryCmd do
  begin
    Close;
    sql.Clear;
    sql.Add('Update JYOrder_PCS_GD Set ');
    sql.Add('PJFenShu=(select Avg(FenShu) from JYOrder_GD_FenShu A where A.MainId=JYOrder_PCS_GD.MainId ');
    sql.Add('        and A.GenDanPerson=JYOrder_PCS_GD.GenDanPerson)');
    sql.Add(' where MainId='''+Trim(FMainId)+'''');
    ExecSQL;
  end;
  with ADOQueryCmd do
  begin
    Close;
    sql.Clear;
    sql.Add('Update JYOrder_PCS_GD Set ');
    sql.Add(' LDMoney=PJFenShu*1.0/10*(select LDMoney from JYOrder_Process A where A.PSID=JYOrder_PCS_GD.PSID)*QtyPersent*1.00/100');
    sql.Add(' ,SHMoney=(select SHMoney from JYOrder_Process A where A.PSID=JYOrder_PCS_GD.PSID)*QtyPersent*1.00/100');
    sql.Add(' where MainId='''+Trim(FMainId)+'''');
    ExecSQL;
  end;
  with ADOQueryCmd do
  begin
    Close;
    SQL.Clear;
    sql.Add('UPdate JYOrder_PCS_GD  Set SHMoney=PJFenShu*1.0/10*SHMoney');
    sql.Add(' where MainId='''+Trim(FMainId)+'''');
    sql.Add(' and isnull(SHMoney,0)>0');
    ExecSQL;
  end;
  with ADOQueryTemp do
  begin
    Close;
    sql.Clear;
    sql.Add(' select AA.*,HZMoney=isnull(LDMoney,0)+isnull(SHMoney,0)-isnull(KKMoney,0) from (');
    sql.Add('select GenDanPerson,LDMoney=sum(LDMoney),SHMoney=sum(SHMoney)');
    sql.Add(' ,KKMoney=(select Sum(ZZPonMoney) from JYOrder_Main_MD_KK B ');
    sql.Add('        inner join JYOrder_Main_MD C on B.MDID=C.MDID ');
    sql.Add('        where C.ORDMainId=A.MainId and B.ZZPerson=A.GenDanPerson and isnull(B.KKTYpe,'''')=''���'') ');
    sql.Add(' from JYOrder_PCS_GD A');
    sql.Add(' where MainId='''+Trim(FMainId)+'''');
    sql.Add(' group by GenDanPerson,MainId)AA');
    Open;
  end;
  SCreateCDS20(ADOQueryTemp,ClientDataSet5);
  SInitCDSData20(ADOQueryTemp,ClientDataSet5);
end;

end.