unit U_ClothContractInPut; interface uses Windows, Messages, strUtils, SysUtils, cxTextEdit, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, cxMemo, cxRichEdit, ComCtrls, cxContainer, cxMaskEdit, cxButtonEdit, StdCtrls, ToolWin, DBClient, ADODB, ExtCtrls, BtnEdit, cxDropDownEdit, cxGridCustomPopupMenu, cxGridPopupMenu, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, 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 TfrmClothContractInPut = class(TForm) ToolBar1: TToolBar; TBSave: TToolButton; TBClose: TToolButton; ScrollBox1: TScrollBox; Label1: TLabel; ConNo: TEdit; Label4: TLabel; DeliveryDate: TDateTimePicker; Label5: TLabel; ToolBar2: TToolBar; ToolButton1: TToolButton; ToolButton2: TToolButton; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1PRTSpec: TcxGridDBColumn; v1PRTColor: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; v1PRTKZ: TcxGridDBColumn; v1Money: TcxGridDBColumn; v1Price: TcxGridDBColumn; v1ClothUnit: TcxGridDBColumn; ADOTemp: TADOQuery; ADOCmd: TADOQuery; DataSource1: TDataSource; Order_Sub: TClientDataSet; DataSource2: TDataSource; ADOZDY: TADOQuery; CDS_ZDY: TClientDataSet; FactoryNoName: TcxButtonEdit; ADOQueryTmp: TADOQuery; v1Column1: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column3: TcxGridDBColumn; PanZDY: TPanel; CXGridZDY: TcxGrid; TVZDY: TcxGridDBTableView; VHelpZDYName: TcxGridDBColumn; CXGridZDYLevel1: TcxGridLevel; Button1: TButton; v1Column4: TcxGridDBColumn; Label2: TLabel; QDTime: TDateTimePicker; Label3: TLabel; CompanyName: TcxButtonEdit; Label6: TLabel; QDPalce: TEdit; v1Column5: TcxGridDBColumn; Label7: TLabel; Label8: TLabel; Label9: TLabel; LXPerson: TEdit; LXTel: TEdit; JHPlace: TcxButtonEdit; Label10: TLabel; fromConNo: TcxButtonEdit; v1T_Qty: TcxGridDBColumn; v1T_money: TcxGridDBColumn; v1T_Ps: TcxGridDBColumn; cxGridPopupMenu1: TcxGridPopupMenu; v1Mrate: TcxGridDBColumn; v1T_Price: TcxGridDBColumn; Panel1: TPanel; Label11: TLabel; Tv1Column1: TcxGridDBColumn; Tv1Column2: TcxGridDBColumn; Tv1Column3: TcxGridDBColumn; procedure TBCloseClick(Sender: TObject); procedure TVZDYCellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure Button1Click(Sender: TObject); procedure TVZDYKeyPress(Sender: TObject; var Key: Char); procedure FormShow(Sender: TObject); procedure TBSaveClick(Sender: TObject); procedure v1OrderUnitPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1PRTUnitPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1PRTColorPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure ToolButton1Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure FactoryNoNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1PRTMFPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1OrderQtyPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1ClothQtyPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure FactoryNoNamePropertiesChange(Sender: TObject); procedure CompanyNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure JHPlacePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1Column1PropertiesEditValueChanged(Sender: TObject); procedure fromConNoKeyPress(Sender: TObject; var Key: Char); procedure v1ClothUnitPropertiesEditValueChanged(Sender: TObject); procedure fromConNoPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1Column6PropertiesEditValueChanged(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); private FXS: Integer; procedure InitData(); procedure ZDYHelp(FButn: TcxButtonEdit; LType: string); function SaveData(): Boolean; function YFData(fMainID, FsubID: string): Boolean; procedure DoQuery(fkeyNo: string); procedure DoKc(); { Private declarations } public PState: Integer; FMainId: string; { Public declarations } end; var frmClothContractInPut: TfrmClothContractInPut; implementation uses U_DataLink, U_ZDYHelp, U_Fun, U_ZdyAttachGYS, U_ClothContractList_CG_help, U_ZdyAttachCP; {$R *.dfm} procedure TfrmClothContractInPut.DoKc(); begin Label11.Caption := '���ۣ�0'; if Order_Sub.IsEmpty then exit; if trim(Order_Sub.fieldbyname('C_CodeName').AsString) = '' then exit; with ADOTemp do begin close; sql.Clear; SQL.Add(' SELECT Top 1 Price FROM YF_Money_CR A'); sql.Add(' where P_CodeName=' + quotedstr(trim(Order_Sub.fieldbyname('C_CodeName').AsString))); sql.Add(' and factoryName=' + quotedstr(trim(FactoryNoName.Text))); sql.Add(' and CRType=''Ӧ����Ǽ�'' '); sql.Add(' and price>0 '); sql.Add(' order by FillTime desc'); open; end; if not ADOTemp.IsEmpty then begin Label11.Caption := '���ۣ�' + trim(ADOTemp.fieldbyname('price').AsString); end; end; procedure TfrmClothContractInPut.DoQuery(fkeyNo: string); begin if trim(fkeyNo) = '' then exit; with ADOTemp do begin close; sql.Clear; sql.Add('select A.* from Contract_Main A '); sql.Add('inner join Contract_sub B on B.MainID=A.mainID '); sql.Add('where A.conNo=' + quotedstr(trim(fkeyNo))); sql.Add('and Isnull(B.C_status,''0'')=''0'' '); open; if not IsEmpty then begin FactoryNoName.Text := fieldbyname('FactoryNoName').AsString; LXPerson.Text := fieldbyname('LXPerson').AsString; LXPerson.Text := fieldbyname('LXPerson').AsString; LXTel.Text := fieldbyname('LXPerson').AsString; fromConNo.Hint := fieldbyname('mainID').AsString; JHPlace.Text := fieldbyname('QDPalce').AsString; end else begin application.MessageBox('�˲ɹ��ƻ����Ŵ���', '��ʾ��Ϣ', 0); exit; end; end; with ADOTemp do begin close; sql.Clear; sql.Add('select * '); sql.Add('from Contract_Main A'); sql.Add('inner join Contract_sub B on B.MainID=A.mainID '); sql.Add('where A.conNo=' + quotedstr(trim(fkeyNo))); sql.Add('and Isnull(B.C_status,''0'')=''0'' '); open; if not IsEmpty then begin SCreateCDS20(ADOTemp, Order_Sub); SInitCDSData20(ADOTemp, Order_Sub); end else begin end; end; with Order_Sub do begin DisableControls; First; while not eof do begin edit; fieldbyname('fromMainID').Value := fieldbyname('MainID').AsString; fieldbyname('fromsubID').Value := fieldbyname('subID').AsString; fieldbyname('MainID').Value := ''; fieldbyname('subID').Value := ''; post; next; end; First; EnableControls; end; end; function TfrmClothContractInPut.YFData(fMainID, FsubID: string): Boolean; var CRID, OrdMainId, YFID, FComTaiTou, FCRID, FFactoryName: string; begin Result := False; try with ADOQueryTmp do begin Close; SQL.Clear; sql.Add('select * from YF_Money_KC where FactoryName=''' + Trim(FactoryNoName.Text) + ''''); Open; end; if not ADOQueryTmp.IsEmpty then begin CRID := ADOQueryTmp.fieldbyname('CRID').AsString; end else begin with ADOCmd do begin Close; sql.Clear; sql.Add('Update YF_Money_CRID set CRID=CRID+1'); sql.Add('select * from YF_Money_CRID '); Open; end; CRID := ADOCmd.fieldbyname('CRID').AsString; with ADOCmd do begin Close; SQL.Clear; sql.Add('select * from YF_Money_KC '); sql.add('where CRID=' + quotedstr(trim(CRID))); Open; end; with ADOCmd do begin Append; FieldByName('CRID').Value := StrToInt(CRID); FieldByName('FactoryName').Value := Trim(FactoryNoName.Text); FieldByName('ZdyStr1').Value := 'Ӧ����'; Post; end; end; with ADOQueryTmp do begin Close; sql.Clear; sql.Add('select * from YF_Money_CR where mainID=''' + Trim(fMainID) + ''''); sql.Add('and subID=''' + Trim(FsubID) + ''''); sql.Add('and YFName=''��������'' '); Open; end; if ADOQueryTmp.IsEmpty then begin if GetLSNo(ADOCmd, YFID, 'YF', 'YF_Money_CR', 3, 1) = False then begin Application.MessageBox('ȡ����Ӧ������ʧ��!', '��ʾ', 0); Exit; end; end else begin YFID := Trim(ADOQueryTmp.fieldbyname('YFID').AsString); end; with ADOCmd do begin Close; sql.Clear; sql.Add('select * from YF_Money_CR where YFID=''' + Trim(YFID) + ''''); Open; end; with ADOCmd do begin if ADOQueryTmp.IsEmpty then Append else Edit; FieldByName('YFID').Value := Trim(YFID); FieldByName('YFTypeId').Value := Trim(ConNo.Text); FieldByName('CRID').Value := StrToInt(CRID); FieldByName('Filler').Value := Trim(DName); FieldByName('CRType').Value := 'Ӧ����Ǽ�'; FieldByName('CRFlag').Value := 'Ӧ����'; FieldByName('QtyFlag').Value := 1; FieldByName('FactoryName').Value := Trim(FactoryNoName.Text); FieldByName('CRTime').Value := formatDateTime('yyyy-MM-dd', DeliveryDate.Date); FieldByName('Qty').Value := Order_Sub.fieldbyname('C_Qty').AsFloat; FieldByName('PS').Value := Order_Sub.fieldbyname('Qty1').AsFloat; FieldByName('T_Ps').Value := Order_Sub.fieldbyname('T_Ps').AsFloat; FieldByName('T_Qty').Value := Order_Sub.fieldbyname('T_Qty').AsFloat; FieldByName('YFType').Value := '�Զ�����'; FieldByName('Price').Value := Order_Sub.fieldbyname('Price').asfloat; FieldByName('T_Price').Value := Order_Sub.fieldbyname('T_Price').asfloat; FieldByName('HuiLv').Value := 1; FieldByName('BZType').Value := '�����'; FieldByName('ComTaiTou').Value := Trim(FComTaiTou); FieldByName('QtyUnit').Value := Trim(Order_Sub.fieldbyname('C_Unit').AsString); FieldByName('YFName').Value := '��������'; FieldByName('MainId').Value := Trim(fMainID); FieldByName('subID').Value := Trim(FsubID); FieldByName('P_CodeName').Value := Trim(Order_Sub.fieldbyname('C_CodeName').AsString); FieldByName('P_Color').Value := Trim(Order_Sub.fieldbyname('C_color').AsString); Post; end; with ADOCmd do begin Close; sql.Clear; sql.Add('Update YF_Money_CR Set Money=Price*Qty,BBMoney=Price*Qty,T_money=T_Price*T_Qty '); sql.Add(' where YFID=''' + Trim(YFID) + ''''); ExecSQL; end; with ADOCmd do begin Close; sql.Clear; sql.Add(' Update YF_Money_KC Set KCMoney=(select isnull(Sum(Money*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); sql.Add(',KCBBMoney=(select isnull(Sum(BBMoney*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); sql.Add(' where CRID=' + CRID); ExecSQL; end; Result := True; except end; end; procedure TfrmClothContractInPut.TBCloseClick(Sender: TObject); begin Close; end; procedure TfrmClothContractInPut.InitData(); begin with ADOQueryTmp do begin Close; SQL.Clear; sql.Add('select * '); sql.Add('from Contract_Main A'); sql.Add('inner join Contract_sub B on B.MainID=A.mainID '); sql.Add('where A.mainID= ''' + Trim(fMainID) + ''' '); sql.Add('and A.conType=''��������'' '); Open; end; SCreateCDS20(ADOQueryTmp, Order_Sub); SInitCDSData20(ADOQueryTmp, Order_Sub); SCSHData(ADOQueryTmp, ScrollBox1, 0); if not ADOQueryTmp.IsEmpty then begin fromConNo.Hint := trim(ADOQueryTmp.fieldbyname('fromMainID').AsString); fromConNo.Text := trim(ADOQueryTmp.fieldbyname('fromConNo').AsString); end; if PState = 0 then begin with ADOTemp do begin Close; SQL.Clear; sql.Add('select Top 1* from Contract_Main order by FillTime desc '); Open; end; QDTime.DateTime := SGetServerDate(ADOTemp); DeliveryDate.DateTime := SGetServerDate(ADOTemp); QDTime.Checked := True; DeliveryDate.Checked := False; // ConNo.Text:='�Զ�����'; //CompanyName.Text:='¡���֯'; end; PanZDY.Visible := False; end; procedure TfrmClothContractInPut.ZDYHelp(FButn: TcxButtonEdit; LType: string); var FType, ZDYName, FText: string; begin PanZDY.Visible := True; PanZDY.Left := FButn.Left; PanZDY.Top := FButn.Top + FButn.Height; with ADOZDY do begin Filtered := False; Close; SQL.Clear; SQL.Add('select RTrim(ZDYNo) ZDYNo,RTrim(ZDYName) ZDYName from KH_ZDY where Type=''' + Trim(LType) + ''''); Open; end; FText := Trim(FButn.Text); if FText <> '' then SDofilter(ADOZDY, ' ZDYName like ' + QuotedStr('%' + Trim(FText) + '%')) else SDofilter(ADOZDY, ''); VHelpZDYName.Summary.GroupFormat := Trim(FButn.Name); end; procedure TfrmClothContractInPut.TVZDYCellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); var FName: string; begin if ADOZDY.IsEmpty then Exit; FName := Trim(VHelpZDYName.Summary.GroupFormat); TcxButtonEdit(FindComponent(FName)).Text := Trim(ADOZDY.fieldbyname('ZDYName').AsString); TcxButtonEdit(FindComponent(FName)).Hint := Trim(ADOZDY.fieldbyname('ZDYNO').AsString); PanZDY.Visible := False; end; procedure TfrmClothContractInPut.Button1Click(Sender: TObject); begin PanZDY.Visible := False; end; procedure TfrmClothContractInPut.TVZDYKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin if ADOZDY.IsEmpty then Exit; TcxButtonEdit(FindComponent(VHelpZDYName.Summary.GroupFormat)).Text := Trim(ADOZDY.fieldbyname('ZDYName').AsString); TcxButtonEdit(FindComponent(VHelpZDYName.Summary.GroupFormat)).Hint := Trim(ADOZDY.fieldbyname('ZDYNO').AsString); PanZDY.Visible := False; ADOZDY.Active := False; end; end; procedure TfrmClothContractInPut.FormShow(Sender: TObject); begin {if Trim(DParameters1)='1' then begin v1Price.Visible:=False; // v1ClothQty.Visible:=False; // v1PRTQty.Visible:=False; end else begin v1Price.Visible:=True; v1ClothQty.Visible:=True; v1PRTQty.Visible:=True; end;} readCXgrid(self.Caption, tv1); InitData(); end; function TfrmClothContractInPut.SaveData(): Boolean; var maxno: string; begin try ADOCmd.Connection.BeginTrans; ///�������� with ADOCmd do begin Close; sql.Clear; SQL.Add('select * from Contract_Main where MainId=''' + Trim(fMainID) + ''''); Open; end; with ADOCmd do begin if Trim(fMainID) = '' then begin Append; if GetLSNo(ADOTemp, maxno, '', 'Contract_Main', 3, 1) = False then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('������ˮ���쳣��', '��ʾ', 0); exit; end; conNo.Text := trim(maxno); if GetLSNo(ADOTemp, maxno, 'CM', 'Contract_Main', 3, 1) = False then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('������ˮ���쳣��', '��ʾ', 0); exit; end; end else begin maxno := Trim(fMainID); Edit; end; FieldByName('MainId').Value := Trim(maxno); SSetsaveSql(ADOCmd, 'Contract_Main', ScrollBox1, 0); // FieldByName('conno').Value := Trim(LXPerson.Text); FieldByName('LXPerson').Value := Trim(LXPerson.Text); FieldByName('LXTel').Value := Trim(LXTel.Text); if Trim(fMainID) = '' then begin FieldByName('Filler').Value := Trim(DName); end else begin FieldByName('Editer').Value := Trim(DName); FieldByName('EditTime').Value := SGetServerDateTime(ADOTemp); end; FieldByName('ConType').Value := '��������'; FieldByName('status').Value := '0'; FieldByName('fromconNo').Value := null; FieldByName('fromMainID').Value := Trim(fromConNo.Hint); FieldByName('fromConNO').Value := Trim(fromConNo.text); Post; end; fMainID := Trim(maxno); ///�����ӱ� with Order_Sub do begin First; while not Eof do begin if Trim(Order_Sub.fieldbyname('C_Unit').AsString) = 'Kg' then begin end; if Trim(Order_Sub.fieldbyname('SubId').AsString) = '' then begin if GetLSNo(ADOTemp, maxno, 'CS', 'Contract_Sub', 3, 1) = False then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('ȡ����ˮ��ʧ�ܣ�', '��ʾ', 0); Exit; end; end else begin maxno := Trim(Order_Sub.fieldbyname('SubId').AsString); end; with ADOCmd do begin Close; SQL.Clear; sql.Add('select * from Contract_Sub where MainId=''' + Trim(fMainID) + ''''); sql.Add(' and SubId=''' + Trim(maxno) + ''''); Open; end; with ADOCmd do begin if Trim(Order_Sub.fieldbyname('SubId').AsString) = '' then Append else Edit; FieldByName('MainId').Value := Trim(fMainID); FieldByName('SubId').Value := Trim(maxno); FieldByName('ConNo').Value := Trim(ConNo.Text); RTSetSaveDataCDS(ADOCmd, Tv1, Order_Sub, 'Contract_Sub', 0); FieldByName('fromMainID').Value := Trim(Order_Sub.fieldbyname('fromMainID').AsString); FieldByName('fromsubID').Value := Trim(Order_Sub.fieldbyname('fromsubID').AsString); FieldByName('mrate').Value := Trim(Order_Sub.fieldbyname('mrate').AsString); FieldByName('C_status').Value := '0'; FieldByName('MFQty').Value := Order_Sub.fieldbyname('MFQty').AsFloat; FieldByName('KZQty').Value := Order_Sub.fieldbyname('KZQty').AsFloat; FieldByName('C_Qty').Value := Order_Sub.fieldbyname('C_Qty').AsFloat; FieldByName('Qty1').Value := Order_Sub.fieldbyname('Qty1').AsFloat; FieldByName('Qty2').Value := Order_Sub.fieldbyname('Qty2').AsFloat; FieldByName('Qty3').Value := Order_Sub.fieldbyname('Qty3').AsFloat; FieldByName('Price').Value := Order_Sub.fieldbyname('Price').AsFloat; FieldByName('money').Value := Order_Sub.fieldbyname('money').AsFloat; FieldByName('T_ps').Value := Order_Sub.fieldbyname('T_ps').AsFloat; FieldByName('T_Qty').Value := Order_Sub.fieldbyname('T_Qty').AsFloat; FieldByName('T_Price').Value := Order_Sub.fieldbyname('T_Price').AsFloat; FieldByName('T_money').Value := Order_Sub.fieldbyname('T_money').AsFloat; FieldByName('H_ps').Value := Order_Sub.fieldbyname('H_ps').AsFloat; FieldByName('H_Qty').Value := Order_Sub.fieldbyname('H_Qty').AsFloat; if Trim(Order_Sub.fieldbyname('C_Unit').AsString) = 'Kg' then begin if Order_Sub.fieldbyname('MFQty').AsFloat * Order_Sub.fieldbyname('KZQty').AsFloat > 0 then FieldByName('MQty').Value := Order_Sub.fieldbyname('C_Qty').Value * 1.00 * 1000 / (Order_Sub.fieldbyname('MFQty').Value * 1.00 / 100 * Order_Sub.fieldbyname('KZQty').Value); end else begin FieldByName('MQty').Value := Order_Sub.fieldbyname('C_Qty').Value; end; FieldByName('C_Valid').Value := 'Y'; Post; end; Order_Sub.Edit; Order_Sub.FieldByName('SubId').Value := Trim(maxno); // if not YFData(fMainID, maxno) then // begin // ADOCmd.Connection.RollbackTrans; // exit; // end; //Order_Sub.Post; Next; end; end; ADOCmd.Connection.CommitTrans; Result := True; except Result := False; ADOCmd.Connection.RollbackTrans; if GetLSNo(ADOTemp, maxno, 'CM', 'Contract_Main', 3, 1) = False then begin end; Application.MessageBox('����ʧ�ܣ�', '��ʾ', 0); end; end; procedure TfrmClothContractInPut.TBSaveClick(Sender: TObject); begin cxGrid1.SetFocus; // if Trim(ConNo.Text)='' then // begin // Application.MessageBox('��ͬ��Ų���Ϊ�գ�','��ʾ',0); // Exit; // end; if Trim(FactoryNoName.Text) = '' then begin Application.MessageBox('��������Ϊ�գ�', '��ʾ', 0); Exit; end; if Order_Sub.IsEmpty then begin Application.MessageBox('��ϸ����Ϊ�գ�', '��ʾ', 0); exit; end; if Order_Sub.Locate('C_Qty', null, []) then begin Application.MessageBox('��������Ϊ��!', '��ʾ', 0); Exit; end; if Order_Sub.Locate('C_Unit', null, []) then begin Application.MessageBox('������λ����Ϊ��!', '��ʾ', 0); Exit; end; { if Order_Sub.Locate('KZQty',null,[]) then begin Application.MessageBox('���ز���Ϊ��!','��ʾ',0); Exit; end; if Order_Sub.Locate('MFQty',null,[]) then begin Application.MessageBox('�ŷ�����Ϊ��!','��ʾ',0); Exit; end; } with ADOTemp do begin close; sql.Clear; sql.Add('select MainID from Contract_Main A'); sql.Add('where mainID<>' + quotedstr(trim(fMainID))); sql.Add('and conNo=' + quotedstr(trim(conNo.Text))); sql.Add('and conType=''��������'''); open; end; if not ADOTemp.IsEmpty then begin application.MessageBox('�����ظ���', '��ʾ��Ϣ', 0); exit; end; if SaveData() then begin Application.MessageBox('����ɹ���', '��ʾ', 0); ModalResult := 1; // ConNo.Text:='�Զ�����'; { FactoryNoName.Text:=''; CompanyName.Text:='������֯'; LXPerson.Text:=''; LXTel.Text:=''; JHPlace.Text:=''; Order_Sub.EmptyDataSet; PState:=0; FMainId:=''; } end; end; procedure TfrmClothContractInPut.v1OrderUnitPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'OrdUnit'; flagname := '��λ'; if ShowModal = 1 then begin Self.Order_Sub.Edit; Self.Order_Sub.FieldByName('OrderUnit').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmClothContractInPut.v1PRTUnitPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'OrdUnit'; flagname := '��λ'; if ShowModal = 1 then begin Self.Order_Sub.Edit; Self.Order_Sub.FieldByName('PRTUnit').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmClothContractInPut.v1PRTColorPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'OrdColor'; flagname := '��ɫ'; if ShowModal = 1 then begin Self.Order_Sub.Edit; Self.Order_Sub.FieldByName('PRTColor').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmClothContractInPut.ToolButton1Click(Sender: TObject); begin with Order_Sub do begin Append; fieldbyname('PriceUnit').Value := '�����'; fieldbyname('C_UNit').Value := 'M'; Post; end; end; procedure TfrmClothContractInPut.ToolButton2Click(Sender: TObject); begin if Order_Sub.IsEmpty then Exit; if Trim(Order_Sub.fieldbyname('SubId').AsString) <> '' then begin { with ADOTemp do begin Close; sql.Clear; sql.Add('select * from Contrac_Sub_MX where SubId='''+Trim(Order_Sub.fieldbyname('SubId').AsString)+''''); Open; end; if ADOTemp.IsEmpty then begin Application.MessageBox('�ѵ�������ɾ������!','��ʾ',0); Exit; end; } if Application.MessageBox('ȷ��Ҫɾ��������', '��ʾ', 32 + 4) <> IDYES then Exit; with ADOCmd do begin Close; sql.Clear; sql.Add('delete YF_Money_CR where subID=''' + Trim(Order_Sub.fieldbyname('subID').AsString) + ''''); sql.Add('delete Contract_Sub where SubId=''' + Trim(Order_Sub.fieldbyname('SubId').AsString) + ''''); ExecSQL; end; end; Order_Sub.Delete; end; procedure TfrmClothContractInPut.FactoryNoNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin if Trim(fMainID) <> '' then begin with ADOTemp do begin Close; sql.Clear; sql.Add('select * from YF_Money_CR A where exists('); sql.Add('select * from Contract_Sub_MX B inner join Contract_Sub C on B.SubId=C.SubId '); sql.Add(' where C.Mainid=''' + Trim(fMainID) + ''''); sql.Add(' and B.MXID=A.YFTypeId)'); Open; end; if ADOTemp.IsEmpty = False then begin Application.MessageBox('�Ѿ�����Ӧ������Ĺ�Ӧ��!', '��ʾ', 0); Exit; end; end; try frmZdyAttachGYS := TfrmZdyAttachGYS.Create(Application); with frmZdyAttachGYS do begin if ShowModal = 1 then begin FactoryNoName.Text := Trim(CDS_HZ.fieldbyname('ZDYName').AsString); FactoryNoName.Hint := Trim(CDS_HZ.fieldbyname('ZdyCode').AsString); LXTel.Text := Trim(CDS_HZ.fieldbyname('DEFstr2').AsString); LXPerson.Text := Trim(CDS_HZ.fieldbyname('DEFstr4').AsString); end; end; finally frmZdyAttachGYS.Free; end; end; procedure TfrmClothContractInPut.v1Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZdyAttachCP := TfrmZdyAttachCP.Create(Application); with frmZdyAttachCP do begin FType := '����'; if ShowModal = 1 then begin Self.Order_Sub.Edit; Self.Order_Sub.FieldByName('C_Code').Value := Trim(CDS_HZ.fieldbyname('ZdyCode').AsString); Self.Order_Sub.FieldByName('C_CodeName').Value := Trim(CDS_HZ.fieldbyname('ZdyName').AsString); Self.Order_Sub.FieldByName('CP_CodeName').Value := Trim(CDS_HZ.fieldbyname('CPhh').AsString); // Self.Order_Sub.FieldByName('Color').Value:=Trim(CDS_HZ.fieldbyname('DEFstr3').AsString); // Self.Order_Sub.FieldByName('SOrddefstr4').Value:=Trim(ClientDataSet1.fieldbyname('Note').AsString); Self.Order_Sub.Post; end; end; finally frmZdyAttachCP.Free; end; DoKc(); self.tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmClothContractInPut.v1PRTMFPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'KZ'; flagname := '���ص�λ'; if ShowModal = 1 then begin Self.Order_Sub.Edit; Self.Order_Sub.FieldByName('KZUnit').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmClothContractInPut.v1OrderQtyPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'MF'; flagname := '�ŷ���λ'; if ShowModal = 1 then begin Self.Order_Sub.Edit; Self.Order_Sub.FieldByName('MFUnit').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmClothContractInPut.v1ClothQtyPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'PriceUnit'; flagname := '�Ƽ۵�λ'; if ShowModal = 1 then begin Self.Order_Sub.Edit; Self.Order_Sub.FieldByName('PriceUnit').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmClothContractInPut.v1Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'OrderUnit'; flagname := '��λ'; if ShowModal = 1 then begin Self.Order_Sub.Edit; Self.Order_Sub.FieldByName('C_Unit').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmClothContractInPut.FactoryNoNamePropertiesChange(Sender: TObject); begin {if FXS=99 then begin PanZDY.Visible:=False; FXS:=0; Exit; end; ZDYHelp(FactoryNoName,'FactoryNo1Name'); } end; procedure TfrmClothContractInPut.CompanyNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'OrdDefStr2'; flagname := '�跽'; if ShowModal = 1 then begin FXS := 99; CompanyName.Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmClothContractInPut.JHPlacePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZdyAttachGYS := TfrmZdyAttachGYS.Create(Application); with frmZdyAttachGYS do begin if ShowModal = 1 then begin JHPlace.Text := Trim(CDS_HZ.fieldbyname('zdyName').AsString); end; end; finally frmZdyAttachGYS.Free; end; end; procedure TfrmClothContractInPut.v1Column1PropertiesEditValueChanged(Sender: TObject); var mvalue: string; begin mvalue := TcxTextEdit(Sender).EditingText; if trim(mvalue) = '' then exit; if rightBstr(trim(mvalue), 1) <> '#' then begin mvalue := trim(mvalue) + '#'; end; with Order_Sub do begin Edit; FieldByName('C_CodeName').Value := Trim(mvalue); Post; end; with ADOTemp do begin close; sql.Clear; sql.Add('select * from KH_Zdy_Attachment A '); sql.Add('where zdyName=' + quotedstr(trim(Order_Sub.fieldbyname('C_CodeName').AsString))); open; end; if ADOTemp.IsEmpty then begin application.MessageBox('Ʒ�������ڣ�', '��ʾ��Ϣ', 0); with Order_Sub do begin Edit; FieldByName('C_CodeName').Value := ''; Post; end; end; self.tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmClothContractInPut.fromConNoKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin DoQuery(fromConNo.text); end; end; procedure TfrmClothContractInPut.v1ClothUnitPropertiesEditValueChanged(Sender: TObject); var mvalue, fieldname: string; begin if Trim(TcxTextEdit(Sender).EditingText) <> '' then begin mvalue := TcxTextEdit(Sender).EditingText; end else begin mvalue := '0'; end; fieldname := Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName; with Order_Sub do begin Edit; FieldByName(Trim(fieldname)).Value := mvalue; Post; end; with Order_Sub do begin Edit; FieldByName('money').Value := strtofloat(format('%.2f', [FieldByName('C_Qty').AsFloat * FieldByName('Price').AsFloat])); Post; end; self.tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmClothContractInPut.fromConNoPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmClothContractList_CG_help := TfrmClothContractList_CG_help.Create(Application); with frmClothContractList_CG_help do begin if ShowModal = 1 then begin fromConNO.Text := Trim(Order_Main.fieldbyname('ConNO').AsString); end; end; finally frmClothContractList_CG_help.Free; end; DoQuery(fromConNo.text); end; procedure TfrmClothContractInPut.v1Column6PropertiesEditValueChanged(Sender: TObject); var mvalue, fieldname: string; begin if Trim(TcxTextEdit(Sender).EditingText) <> '' then begin mvalue := TcxTextEdit(Sender).EditingText; end else begin mvalue := '0'; end; fieldname := Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName; with Order_Sub do begin Edit; FieldByName(Trim(fieldname)).Value := mvalue; Post; end; with Order_Sub do begin Edit; FieldByName('T_money').Value := strtofloat(format('%.2f', [FieldByName('T_Qty').AsFloat * FieldByName('T_Price').AsFloat])); Post; end; self.tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmClothContractInPut.FormClose(Sender: TObject; var Action: TCloseAction); begin writeCXgrid(self.Caption, tv1); end; procedure TfrmClothContractInPut.FormCreate(Sender: TObject); begin cxGrid1.Align := Alclient; end; procedure TfrmClothContractInPut.Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin DoKc(); end; end.