unit U_XHList; // 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, cxCheckBox, cxCalendar, cxSplitter, RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls, Menus, cxButtonEdit, cxDropDownEdit, cxPC, cxTextEdit; type TfrmXHList = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBAdd: TToolButton; TBEdit: TToolButton; TBDel: TToolButton; TBClose: TToolButton; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; TBExport: TToolButton; Order_Main: TClientDataSet; ToolButton1: TToolButton; Panel1: TPanel; Label9: TLabel; PrtCode: TEdit; Label2: TLabel; PRTMF: TEdit; Label34: TLabel; PrtCodeName: TEdit; Label3: TLabel; Label4: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; ToolButton4: TToolButton; RM1: TRMGridReport; RMDBMain: TRMDBDataSet; RMXLSExport2: TRMXLSExport; CDS_PRT: TClientDataSet; ToolButton5: TToolButton; Label1: TLabel; CostomerNoName: TEdit; Label5: TLabel; PRTspec: TEdit; Label6: TLabel; PRTColor: TEdit; cxGrid1: TcxGrid; TV1: TcxGridDBTableView; V1filltime: TcxGridDBColumn; V2Column2: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1PRTColor: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column8: TcxGridDBColumn; V1PRTOrderQty: TcxGridDBColumn; v1OrderUnit: TcxGridDBColumn; v1PRTPrice: TcxGridDBColumn; v1PriceUnit: TcxGridDBColumn; V2XHMoney: TcxGridDBColumn; V1XHNote: TcxGridDBColumn; cxGridLevel2: TcxGridLevel; V1CostomerNoName: TcxGridDBColumn; ToolBar2: TToolBar; TADD: TToolButton; TDEL: TToolButton; TBSave: TToolButton; cxGrid3: TcxGrid; TV2: TcxGridDBTableView; V3SKDate: TcxGridDBColumn; V3SKMoney: TcxGridDBColumn; V3RLDate: TcxGridDBColumn; V3RLMoney: TcxGridDBColumn; V3FeeName: TcxGridDBColumn; V3BZType: TcxGridDBColumn; V3YFNote: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; DataSource3: TDataSource; Order_RL: TClientDataSet; V1RLRMBMoney: TcxGridDBColumn; V1RLUSDMoney: TcxGridDBColumn; ADOQuerySub: TADOQuery; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure TBEditClick(Sender: TObject); procedure TBDelClick(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure TBAddClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure CheckBox2Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure CustomerNoNameChange(Sender: TObject); procedure N2Click(Sender: TObject); procedure N1Click(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure ZJStatusChange(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure ToolButton5Click(Sender: TObject); procedure v1Column16PropertiesEditValueChanged(Sender: TObject); procedure Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure TADDClick(Sender: TObject); procedure TV1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure TDELClick(Sender: TObject); procedure TBSaveClick(Sender: TObject); procedure V3FeeNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); private canshu1:string; DQdate:TDateTime; procedure InitGrid(); procedure InitForm(); function DelData():Boolean; { Private declarations } public FFInt,FCloth:Integer; { Public declarations } end; var frmXHList: TfrmXHList; implementation uses U_DataLink,U_RTFun, U_KHDYInPut, U_FjList_RZ,U_XHInPut, U_SKCR_CX, U_ZDYHelp; {$R *.dfm} procedure TfrmXHList.FormDestroy(Sender: TObject); begin frmXHList:=nil; end; procedure TfrmXHList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmXHList.FormCreate(Sender: TObject); begin canshu1:=Trim(DParameters1); end; procedure TfrmXHList.TBCloseClick(Sender: TObject); begin WriteCxGrid('现货',Tv1,'打样管理'); WriteCxGrid('认领',Tv2,'打样管理'); Close; end; procedure TfrmXHList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add('select A.* '); sql.add(',RLRMBMoney=(select Sum(RLMoney) from JYOrderYSK S where S.Mainid=A.Mainid and S.BZType=''¥'')'); sql.add(',RLUSDMoney=(select Sum(RLMoney) from JYOrderYSK S where S.Mainid=A.Mainid and S.BZType=''$'')'); sql.Add(' from JYOrderML_Main A '); sql.Add(' where 1=1 '); sql.Add(' and filltime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date))+''''); sql.Add(' and filltime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.Date+1))+''''); if Trim(canshu1)<>'高权限' then begin sql.Add(' and filler='''+Trim(DName)+''''); end; Open; end; SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmXHList.InitForm(); begin BegDate.Date:=SGetServerDateMBeg(ADOQueryTemp); EndDate.Date:=SGetServerDate(ADOQueryTemp); ReadCxGrid('现货',Tv1,'打样管理'); ReadCxGrid('认领',Tv2,'打样管理'); InitGrid(); end; procedure TfrmXHList.TBFindClick(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 TfrmXHList.TBEditClick(Sender: TObject); begin if Order_Main.IsEmpty then Exit; if Trim(Order_Main.fieldbyname('FillerName').AsString)<>Trim(Dname) then begin Application.MessageBox('不能修改他人数据!','提示',0); Exit; end; try frmXHInPut:=TfrmXHInPut.Create(Application); with frmXHInPut do begin PState:=0; FMainId:=trim(Order_Main.fieldbyname('Mainid').AsString); if ShowModal=1 then begin initgrid(); end; end; finally frmXHInPut.Free; end; end; procedure TfrmXHList.TBDelClick(Sender: TObject); begin if Order_Main.IsEmpty then Exit; if Trim(Order_Main.fieldbyname('Filler').AsString)<>Trim(DName) then begin Application.MessageBox('不能删除他人数据!','提示',0); Exit; end; if Application.MessageBox('确定要删除数据吗?','提示',32+4)<>IDYES then Exit; if DelData() then begin end; end; function TfrmXHList.DelData():Boolean; begin try Result:=false; ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Delete from JYOrderML_Main where Mainid='''+Trim(Order_Main.fieldbyname('Mainid').AsString)+''''); ExecSQL; end; Order_Main.Delete; ADOQueryCmd.Connection.CommitTrans; Result:=True; except ADOQueryCmd.Connection.RollbackTrans; Result:=False; Application.MessageBox('数据删除异常!','提示',0); end; end; procedure TfrmXHList.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; TcxGridToExcel('色卡/SO信息列表',cxGrid1); end; procedure TfrmXHList.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmXHList.TBAddClick(Sender: TObject); var maxno:string; begin try frmXHInPut:=TfrmXHInPut.Create(Application); with frmXHInPut do begin PState:=0; FMainId:=''; if ShowModal=1 then begin initgrid(); end; end; finally frmXHInPut.Free; end; end; procedure TfrmXHList.FormShow(Sender: TObject); begin InitForm(); end; procedure TfrmXHList.CheckBox1Click(Sender: TObject); begin InitGrid(); end; procedure TfrmXHList.CheckBox2Click(Sender: TObject); begin TBRafresh.Click; end; procedure TfrmXHList.ToolButton1Click(Sender: TObject); begin if Order_Main.IsEmpty then Exit; try frmXHInPut:=TfrmXHInPut.Create(Application); with frmXHInPut do begin PState:=1; FMainId:=Trim(Self.Order_Main.fieldbyname('Mainid').AsString); TBSave.Visible:=False; TADD.Visible:=False; TDel.Visible:=false; if ShowModal=1 then begin end; end; finally frmXHInPut.Free; end; end; procedure TfrmXHList.CustomerNoNameChange(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 TfrmXHList.N2Click(Sender: TObject); begin SelOKNo(Order_Main,True); end; procedure TfrmXHList.N1Click(Sender: TObject); begin SelOKNo(Order_Main,False); end; procedure TfrmXHList.cxTabControl1Change(Sender: TObject); begin InitGrid(); end; procedure TfrmXHList.ZJStatusChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmXHList.ToolButton4Click(Sender: TObject); var fPrintFile:string; begin if Order_Main.IsEmpty then Exit; fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\打样单.rmf'; RMXLSExport2:= TRMXLSExport.Create(RMXLSExport2); with ADOQueryTemp do begin Close; sql.Clear; sql.Add(' select A.*,B.* '); sql.Add(' ,DYPersonTel=(select Note from KH_Zdy KZ where KZ.ZdyName=A.DYPerson and KZ.Type=''DYPerson'' )'); sql.Add(' ,GDPersonTel=(select Note from KH_Zdy KZ where KZ.ZdyName=A.GDPerson and KZ.Type=''PFGenDanPerson'' )'); sql.Add(' from KH_DaYang A '); sql.Add(' left join KH_DaYang_MX B on A.DYID=B.DYID '); sql.Add(' where A.DYId='''+Trim(Order_Main.fieldbyname('DYId').AsString)+''''); Open; end; SCreateCDS20(ADOQueryTemp,CDS_PRT); SInitCDSData20(ADOQueryTemp,CDS_PRT); if FileExists(fPrintFile) then begin //RMVariables['OrderUnit']:=Order_Main.fieldbyname('OrderUnit').Value; RM1.LoadFromFile(fPrintFile); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找'+ExtractFilePath(Application.ExeName)+'Report\打样单.rmf'),'提示',0); end; end; procedure TfrmXHList.ToolButton5Click(Sender: TObject); begin if Order_Main.IsEmpty then Exit; try frmFjList_RZ:=TfrmFjList_RZ.Create(Application); with frmFjList_RZ do begin // PState:=1; if Trim(DParameters1)<>'高权限' then cxButton1.Visible:=false; fkeyNO:=Trim(Self.Order_Main.fieldbyname('DYId').AsString); fType:='打样'; if ShowModal=1 then begin end; end; finally frmFjList_RZ.Free; end; end; procedure TfrmXHList.v1Column16PropertiesEditValueChanged( Sender: TObject); var mvalue:string; begin mvalue:=TcxTextEdit(Sender).EditingText; with Order_Main do begin Edit; if Trim(mvalue)<>'' then FieldByName('HYDate').Value:=mvalue else FieldByName('HYDate').Value:=Null; Post; end; with ADOQueryCmd do begin Close; sql.Clear; if Trim(mvalue)<>'' then sql.Add('Update KH_DaYang Set HYDate='''+Trim(Order_Main.fieldbyname('HYDate').AsString)+'''') else sql.Add('Update KH_DaYang Set HYDate=Null'); sql.Add(' where DYID='''+Trim(Order_Main.fieldbyname('DYID').AsString)+''''); ExecSQL; end; end; procedure TfrmXHList.Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin with ADOQuerySub do begin close; sql.Clear; sql.Add('select * from JYOrderYSK '); sql.Add('where mainID ='+quotedstr((Order_Main.fieldbyname('mainID').AsString))); open; end; SCreateCDS20(ADOQuerySub,Order_RL); SInitCDSData20(ADOQuerySub,Order_RL); end; procedure TfrmXHList.TADDClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; frmSKCR_CX:=TfrmSKCR_CX.create(self); with frmSKCR_CX do begin FactoryName.Text:=trim(Order_Main.fieldbyname('CostomerNoName').AsString); if showmodal=1 then begin with CDS_HZ do begin first; while not eof do begin if fieldbyname('Ssel').AsBoolean=true then begin with Order_RL do begin append; fieldbyname('SKdate').AsDateTime:=CDS_HZ.fieldbyname('CRTime').AsDateTime; fieldbyname('SKMoney').Value:=CDS_HZ.fieldbyname('Money').AsFloat; fieldbyname('RLDate').Value:=SGetServerDate(ADOQueryTemp); fieldbyname('RLMoney').Value:=CDS_HZ.fieldbyname('WRLMoney').AsFloat; fieldbyname('FeeName').Value:=CDS_HZ.fieldbyname('YFName').AsString; fieldbyname('BZType').Value:=CDS_HZ.fieldbyname('BZType').AsString; fieldbyname('YFID').Value:=CDS_HZ.fieldbyname('YFID').AsString; post; end; end; next; end; end; end; free; end; end; procedure TfrmXHList.TV1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin Toolbutton1.Click; end; procedure TfrmXHList.TDELClick(Sender: TObject); begin if Order_RL.IsEmpty then exit; if application.MessageBox('确定要删除吗','提示',1)=2 then exit; if Order_RL.FieldByName('YSID').AsString<>'' then begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('delete from JYOrderYSK where YSID='''+Trim(Order_RL.fieldbyname('YSID').AsString)+''''); execsql; end; with ADOQueryCmd do begin close; sql.Clear; sql.Add('update YF_Money_CR set YRLMoney=(select Sum(RLMoney) from JYOrderYSK where YFID=YF_Money_CR.YFID), '); sql.add('WRLMoney=isnull(Money,0)-isnull((select Sum(RLMoney) from JYOrderYSK where YFID=YF_Money_CR.YFID),0) '); sql.add('where YFID='''+Trim(Order_RL.fieldbyname('YFID').AsString)+''''); execsql; end; end; Order_RL.Delete; initgrid(); end; procedure TfrmXHList.TBSaveClick(Sender: TObject); var maxno:string; FRLMoney:double; begin if Order_RL.IsEmpty then exit; with Order_RL do begin first; while not eof do begin if trim(Order_RL.fieldbyname('YSID').AsString)<>'' then begin maxno:=trim(Order_RL.fieldbyname('YSID').AsString); end else begin with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select Sum(RLMoney) SumRLMoney from JYOrderYSK where YFID='''+Trim(Order_RL.fieldbyname('YFID').AsString)+''''); Open; end; FRLMoney:=ADOQueryCmd.fieldbyname('SumRLMoney').AsCurrency+Order_RL.fieldbyname('RLMoney').AsCurrency; if FRLMoney>Order_RL.FieldByName('SKMoney').AsCurrency+0.001 then begin application.MessageBox('认领总金额超过收款金额','提示'); exit; end; if GetLSNo(ADOQueryCmd,maxno,'YS','JYOrderYSK',3,1)=False then begin Application.MessageBox('取最大号失败!','提示',0); Exit; end; end; with ADOQueryCmd do begin close; sql.Clear; sql.Add('select * from JYOrderYSK '); sql.add('where YSID='''+trim(maxno)+''''); open; end; with ADOQueryCmd do begin if IsEmpty then begin append; end else edit; fieldbyname('SKdate').Value:=Order_RL.fieldbyname('SKdate').AsDateTime; fieldbyname('SKMoney').Value:=Order_RL.fieldbyname('SKMoney').AsFloat; fieldbyname('RLDate').Value:=Order_RL.fieldbyname('RLDate').AsDateTime; fieldbyname('RLMoney').Value:=Order_RL.fieldbyname('RLMoney').AsFloat; fieldbyname('FeeName').Value:=trim(Order_RL.fieldbyname('FeeName').AsString); fieldbyname('BZType').Value:=trim(Order_RL.fieldbyname('BZType').AsString); fieldbyname('YFNote').Value:=trim(Order_RL.fieldbyname('YFNote').AsString); fieldbyname('YFID').Value:=trim(Order_RL.fieldbyname('YFID').AsString); fieldbyname('Mainid').Value:=trim(Order_Main.fieldbyname('Mainid').AsString); fieldbyname('YSID').Value:=trim(maxno); post; end; with ADOQueryCmd do begin close; sql.Clear; sql.Add('update YF_Money_CR set YRLMoney=(select Sum(RLMoney) from JYOrderYSK where YFID=YF_Money_CR.YFID) '); sql.add('where YFID='''+Trim(Order_RL.fieldbyname('YFID').AsString)+''''); execsql; end; with ADOQueryCmd do begin close; sql.Clear; sql.Add('update YF_Money_CR set WRLMoney=isnull(Money,0)-isnull(YRLMoney,0) '); sql.add('where YFID='''+Trim(Order_RL.fieldbyname('YFID').AsString)+''''); execsql; end; with Order_RL do begin edit; fieldbyname('YSID').AsString:=trim(maxno); end; next; end; end; application.MessageBox('保存成功','提示'); initgrid(); end; procedure TfrmXHList.V3FeeNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='FeeName'; flagname:='费用名称'; if ShowModal=1 then begin with Self.Order_RL do begin Edit; FieldByName('FeeName').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; end.