unit U_KHDYInPut; interface uses Windows, Messages, SysUtils, 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, cxTextEdit, cxMaskEdit, cxButtonEdit, StdCtrls, ToolWin, DBClient, ADODB, ExtCtrls, BtnEdit, cxCalendar,StrUtils, cxDropDownEdit,jpeg, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdFTP, cxPC, cxGridCustomPopupMenu, cxGridPopupMenu, FTComboBox; type TfrmKHDYInPut = class(TForm) ToolBar1: TToolBar; TBClose: TToolButton; ScrollBox1: TScrollBox; ADOTemp: TADOQuery; ADOCmd: TADOQuery; ADOQuery1: TADOQuery; TBSave: TToolButton; Panel3: TPanel; Label1: TLabel; Label10: TLabel; Label34: TLabel; Label4: TLabel; Note: TRichEdit; DYDate: TDateTimePicker; FactoryName: TBtnEditA; CPName: TEdit; Label5: TLabel; StyleNo: TEdit; Label6: TLabel; KHName: TBtnEditA; Label8: TLabel; DuiSeGuangYuan: TBtnEditA; Label9: TLabel; ChiCunNote: TBtnEditA; Label11: TLabel; ColorHZ: TEdit; Label12: TLabel; HXHZ: TEdit; Label13: TLabel; DYPerson: TBtnEditA; Label2: TLabel; KHNameJC: TEdit; Label3: TLabel; YWY: TEdit; ToolBar2: TToolBar; ToolButton1: TToolButton; ToolButton2: TToolButton; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1Column14: TcxGridDBColumn; v1Column20: TcxGridDBColumn; v1SOrddefstr1: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; v1Column1: TcxGridDBColumn; DataSource1: TDataSource; Order_Sub: TClientDataSet; Label7: TLabel; GDPerson: TBtnEditA; DYNo: TEdit; procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBSaveClick(Sender: TObject); procedure FactoryNameBtnClick(Sender: TObject); procedure KHNameBtnClick(Sender: TObject); procedure DuiSeGuangYuanBtnClick(Sender: TObject); procedure ChiCunNoteBtnClick(Sender: TObject); procedure DYPersonBtnClick(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure GDPersonBtnClick(Sender: TObject); private procedure InitData(); function SaveData():Boolean; { Private declarations } public canshu1:String; PState,CopyInt:Integer; FMainId:String; { Public declarations } end; var frmKHDYInPut: TfrmKHDYInPut; implementation uses U_DataLink,U_ZDYHelp,U_RTFun,U_ZDYHelpSel,U_GYSList, U_ZdyAttachment; {$R *.dfm} procedure TfrmKHDYInPut.TBCloseClick(Sender: TObject); begin Close; end; procedure TfrmKHDYInPut.InitData(); begin with ADOQuery1 do begin Close; sql.Clear; sql.Add('select * from KH_DaYang where DYId='''+Trim(FMainId)+''''); Open; end; SCSHDataNew(ADOQuery1,Panel3,0); DYNo.Text:=trim(ADOQuery1.fieldbyname('DYNo').AsString); with ADOQuery1 do begin Close; sql.Clear; sql.Add('select * from KH_DaYang_MX where DYId='''+Trim(FMainId)+''''); Open; end; SCreateCDS20(ADOQuery1,Order_Sub); SInitCDSData20(ADOQuery1,Order_Sub); if PState=0 then begin DYDate.Date:=SGetServerDate(ADOTemp); end; if CopyInt=99 then begin FMainId:=''; with Order_Sub do begin first; while not eof do begin edit; fieldbyname('DYID').AsString:=''; Fieldbyname('DMId').AsString:=''; next; end; end; end; end; procedure TfrmKHDYInPut.FormShow(Sender: TObject); begin InitData(); end; function TfrmKHDYInPut.SaveData():Boolean; var maxno,maxsubno:String; begin Result:=False; try ADOCmd.Connection.BeginTrans; ///保存主表 if Trim(FMainId)='' then begin if GetLSNo(ADOCmd,maxno,'SK','KH_DaYang',3,1)=False then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('取最大号失败!','提示',0); Exit; end; end else begin maxno:=Trim(FMainId); end; with ADOCmd do begin Close; sql.Clear; SQL.Add('select * from KH_DaYang where DYId='''+Trim(FMainId)+''''); Open; end; with ADOCmd do begin if Trim(FMainId)='' then begin Append; if CopyInt=99 then begin FieldByName('DYNo').Value:=trim(DYNo.Text); end else FieldByName('DYNo').Value:='SK'+Trim(KHNameJC.Text)+Copy(Trim(maxno),3,9); end else begin Edit; FieldByName('DYNo').Value:=trim(DYNo.Text); end; FieldByName('DYId').Value:=Trim(maxno); if Trim(FMainId)='' then begin FieldByName('Filler').Value:=Trim(DName); FieldByName('FillerCode').Value:=Trim(DCode); end else begin FieldByName('Editer').Value:=Trim(DName); FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp); end; RTSetsavedata(ADOCmd,'KH_DaYang',Panel3,0); FieldByName('Valid').Value:='Y'; Post; end; ///保存子表 with Order_Sub do begin First; while not Eof do begin if Trim(Order_Sub.fieldbyname('DMId').AsString)='' then begin if GetLSNo(ADOCmd,maxsubno,'DM','KH_DaYang_MX',3,1)=False then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('取子流水号失败!','提示',0); Exit; end; end else begin maxsubno:=Trim(Order_Sub.fieldbyname('DMId').AsString); end; with ADOCmd do begin Close; SQL.Clear; sql.Add('select * from KH_DaYang_MX where DMId='''+Trim(maxsubno)+''''); Open; end; with ADOCmd do begin if Trim(Order_Sub.fieldbyname('DMId').AsString)='' then Append else Edit; FieldByName('DYId').Value:=Trim(maxno); FieldByName('DMId').Value:=Trim(maxsubno); RTSetSaveDataCDS(ADOCmd,Tv1,Order_Sub,'KH_DaYang_MX',0); Post; end; Order_Sub.Edit; Order_Sub.FieldByName('DMId').Value:=Trim(maxsubno); //Order_Sub.Post; Next; end; end; ADOCmd.Connection.CommitTrans; FMainId:=Trim(maxno); Result:=True; except Result:=False; ADOCmd.Connection.RollbackTrans; Application.MessageBox('保存失败!','提示',0); end; end; procedure TfrmKHDYInPut.TBSaveClick(Sender: TObject); begin ToolBar1.SetFocus; if Trim(FactoryName.Text)='' then begin Application.MessageBox('加工厂不能为空!','提示',0); Exit; end; if Trim(CPName.Text)='' then begin Application.MessageBox('品名不能为空!','提示',0); Exit; end; if Trim(KHName.Text)='' then begin Application.MessageBox('客户不能为空!','提示',0); Exit; end; if Trim(DYPerson.Text)='' then begin Application.MessageBox('开单人不能为空!','提示',0); Exit; end; if Trim(GDPerson.Text)='' then begin Application.MessageBox('跟单员不能为空!','提示',0); Exit; end; if SaveData() then begin Application.MessageBox('保存成功!','提示',0); Modalresult:=1; end; end; procedure TfrmKHDYInPut.FactoryNameBtnClick(Sender: TObject); begin try frmGYSList:=TfrmGYSList.Create(Application); with frmGYSList do begin if ShowModal=1 then begin Self.FactoryName.Text:=Trim(frmGYSList.CDS_HZ.fieldbyname('ZdyName').AsString); Self.FactoryName.TxtCode:=Trim(frmGYSList.CDS_HZ.fieldbyname('ZdyCode').AsString); end; end; finally frmGYSList.Free; end; end; procedure TfrmKHDYInPut.KHNameBtnClick(Sender: TObject); begin try frmZdyAttachment:=TfrmZdyAttachment.Create(Application); with frmZdyAttachment do begin fkhType:=''; if ShowModal=1 then begin KHName.Text:=Trim(CDS_HZ.fieldbyname('ZDYName').AsString); KHName.TxtCode:=Trim(CDS_HZ.fieldbyname('ZDYCode').AsString); KHNameJC.Text:=Trim(CDS_HZ.fieldbyname('zdyNameZ').AsString); YWY.Text:=Trim(CDS_HZ.fieldbyname('DEFstr5').AsString); end; end; finally frmZdyAttachment.Free; end; end; procedure TfrmKHDYInPut.DuiSeGuangYuanBtnClick(Sender: TObject); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='DuiSeGuangYuan'; flagname:='对色光源'; if ShowModal=1 then begin DuiSeGuangYuan.Text:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmKHDYInPut.ChiCunNoteBtnClick(Sender: TObject); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='ChiCunNote'; flagname:='尺寸要求'; if ShowModal=1 then begin ChiCunNote.Text:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmKHDYInPut.DYPersonBtnClick(Sender: TObject); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='DYPerson'; flagname:='开单人'; fnote:=True; V1Note.Caption:='电话'; if ShowModal=1 then begin DYPerson.Text:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmKHDYInPut.ToolButton1Click(Sender: TObject); begin with Order_Sub do begin Append; Post; end; with Order_Sub do begin Edit; FieldByName('XHInt').Value:=Order_Sub.RecordCount; Post; end; end; procedure TfrmKHDYInPut.ToolButton2Click(Sender: TObject); begin if Order_Sub.IsEmpty then Exit; if Trim(Order_Sub.fieldbyname('DMId').AsString)<>'' then begin if Application.MessageBox('确定要删除数据吗?','提示',32+4)<>IDYES then Exit; with ADOCmd do begin Close; sql.Clear; sql.Add('delete KH_DaYang_MX where DMId='''+Trim(Order_Sub.fieldbyname('DMId').AsString)+''''); ExecSQL; end; end; Order_Sub.Delete; end; procedure TfrmKHDYInPut.GDPersonBtnClick(Sender: TObject); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='PFGenDanPerson'; flagname:='跟单员'; fnote:=True; V1Note.Caption:='电话'; if ShowModal=1 then begin GDPerson.Text:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; finally frmZDYHelp.Free; end; end; end.