unit U_YarnSQPlanList; 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, cxPC, cxButtonEdit, cxTextEdit, cxDropDownEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxDateRanges, dxBarBuiltInMenu, U_BaseList, RM_e_Graphic, RM_e_Jpeg, RM_E_llPDF, Vcl.Clipbrd, dxScrollbarAnnotations, FrameDateSel, cxContainer, cxProgressBar, dxSkinsCore, dxSkinsDefaultPainters; type TfrmYarnSQPlanList = class(TfrmBaseList) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBAdd: TToolButton; TBEdit: TToolButton; TBPrint: TToolButton; TBClose: TToolButton; Tv1: TcxGridDBTableView; cxGrid1Level1: TcxGridLevel; cxGrid1: TcxGrid; GPM_1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DS_1: TDataSource; v1OrdDate: TcxGridDBColumn; v1ConNo: TcxGridDBColumn; CDS_2: TClientDataSet; v1CustomerNoName: TcxGridDBColumn; ToolButton1: TToolButton; v1Column1: TcxGridDBColumn; ToolButton2: TToolButton; v1Column4: TcxGridDBColumn; pm2: TPopupMenu; Panel1: TPanel; Label4: TLabel; Label9: TLabel; BuyName: TcxTextEdit; PurNo: TcxTextEdit; cxTabControl1: TcxTabControl; tchk: TToolButton; Tnochk: TToolButton; cxSplitter1: TcxSplitter; DS_2: TDataSource; Tqx: TToolButton; Tnoqx: TToolButton; ToolButton5: TToolButton; v1Column10: TcxGridDBColumn; v1Column12: TcxGridDBColumn; v1Column9: TcxGridDBColumn; GPM_2: TcxGridPopupMenu; CDS_1: TClientDataSet; btnTijiao: TToolButton; btnCXTijiao: TToolButton; v1Column13: TcxGridDBColumn; Label3: TLabel; SellName: TcxTextEdit; pm1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; btnWC: TToolButton; btnWCCX: TToolButton; ADOQueryImage: TADOQuery; ToolButton7: TToolButton; N3: TMenuItem; N4: TMenuItem; N5: TMenuItem; N6: TMenuItem; frmFrameDateSel1: TfrmFrameDateSel; Tv1Column1: TcxGridDBColumn; Tv1Column3: TcxGridDBColumn; Label1: TLabel; Y_Name: TcxTextEdit; cxStyleRepository1: TcxStyleRepository; cxStyle1: TcxStyle; cxStyleRepository2: TcxStyleRepository; cxStyle2: TcxStyle; Tv1Column4: TcxGridDBColumn; ADO_1: TADOQuery; Tv1Column6: TcxGridDBColumn; Tv1Column5: TcxGridDBColumn; Tv1Column7: TcxGridDBColumn; Tv1Column8: TcxGridDBColumn; Tv1Column2: TcxGridDBColumn; Tv1Column9: TcxGridDBColumn; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; v1XHNo: TcxGridDBColumn; Tv21Column18: TcxGridDBColumn; cxGridDBColumn2: TcxGridDBColumn; Tv21Column16: TcxGridDBColumn; cxGridDBColumn3: TcxGridDBColumn; v1Column5: TcxGridDBColumn; Tv21Column11: TcxGridDBColumn; Tv21Column14: TcxGridDBColumn; Tv21Column15: TcxGridDBColumn; cxGridDBColumn4: TcxGridDBColumn; cxGridDBColumn5: TcxGridDBColumn; v1PRTOrderQty: TcxGridDBColumn; v1OrderUnit: TcxGridDBColumn; v1PRTPrice: TcxGridDBColumn; cxGridDBColumn6: TcxGridDBColumn; cxGridDBColumn7: TcxGridDBColumn; v1Column2: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; d: TcxGridDBColumn; Tv2Column1: TcxGridDBColumn; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure TBEditClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure TBAddClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure CheckBox1Click(Sender: TObject); procedure CheckBox2Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure BuyNameChange(Sender: TObject); procedure tchkClick(Sender: TObject); procedure TnochkClick(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); procedure TqxClick(Sender: TObject); procedure TnoqxClick(Sender: TObject); procedure ToolButton5Click(Sender: TObject); procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); procedure btnTijiaoClick(Sender: TObject); procedure btnCXTijiaoClick(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure btnWCClick(Sender: TObject); procedure btnWCCXClick(Sender: TObject); procedure ToolButton7Click(Sender: TObject); procedure N3Click(Sender: TObject); procedure N4Click(Sender: TObject); procedure TBPrintClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure N5Click(Sender: TObject); procedure N6Click(Sender: TObject); procedure PurNoPropertiesChange(Sender: TObject); procedure TextEdit(Sender: TObject); private fFlileFlag: string; procedure InitGrid(); procedure SetStatus(); procedure InitSub(); procedure InitImage(); { Private declarations } public FFInt, FCloth: Integer; FAuthority, FGSTT, FSubIdS: string; { Public declarations } end; implementation uses U_DataLink, U_YarnPurchasePlanPut, U_RTFun, U_AttachmentUpload, U_LabelPrint, U_YarnSQPut; {$R *.dfm} procedure TfrmYarnSQPlanList.InitImage(); begin ADOQueryImage.Close; if CDS_1.IsEmpty then exit; with ADOQueryImage do begin close; sql.Clear; sql.Add('select * from TP_File A'); sql.Add('where WBID=' + quotedstr(trim(CDS_1.fieldbyname('SubId').AsString))); sql.Add('and TFType=' + quotedstr(trim('HX'))); open; end; end; procedure TfrmYarnSQPlanList.InitSub(); begin if CDS_1.IsEmpty then exit; with ADO_1 do begin close; sql.Clear; sql.Add('select * '); sql.Add(' ,YDHQty=(select sum(Qty) from BS_Yarn_IO X where X.IOFlag=''入库'' and X.FromPurSId=A.PurSId) '); sql.Add('from Pur_YarnPlan_sub A '); sql.Add('where PurMId =' + quotedstr((CDS_1.fieldbyname('PurMId').AsString))); open; end; SCreateCDS(ADO_1, CDS_2); SInitCDSData(ADO_1, CDS_2); TV2.DataController.Filter.Clear; end; procedure TfrmYarnSQPlanList.N1Click(Sender: TObject); begin SelOKNoFiler(Tv1, True); //全选 end; procedure TfrmYarnSQPlanList.N2Click(Sender: TObject); begin SelOKNoFiler(Tv1, False); //全弃 end; procedure TfrmYarnSQPlanList.N3Click(Sender: TObject); begin Clipboard.SetTextBuf(PChar(Trim(CDS_1.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString))); end; procedure TfrmYarnSQPlanList.N4Click(Sender: TObject); begin Clipboard.SetTextBuf(PChar(Trim(CDS_1.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString))); end; procedure TfrmYarnSQPlanList.N5Click(Sender: TObject); begin SelOKNo(CDS_1, True); end; procedure TfrmYarnSQPlanList.N6Click(Sender: TObject); begin SelOKNo(CDS_1, False); end; procedure TfrmYarnSQPlanList.PurNoPropertiesChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmYarnSQPlanList.SetStatus(); begin TBAdd.Enabled := false; tbedit.Enabled := false; ToolButton2.Enabled := false; tchk.Enabled := false; tnochk.Enabled := false; Tqx.Enabled := false; TNoqx.Enabled := false; TBPrint.Enabled := False; btnTijiao.Enabled := False; btnCXTijiao.Enabled := False; btnWC.Enabled := False; btnWCCX.Enabled := False; if Trim(FAuthority) = '录入' then begin ToolButton2.Enabled := true; TBAdd.Enabled := true; TBPrint.Enabled := True; case cxTabControl1.TabIndex of 0: begin tbedit.Enabled := true; Tqx.Enabled := True; btnTijiao.Enabled := True; end; 1: begin btnCXTijiao.Enabled := True; end; 2: begin btnWC.Enabled := True; end; 3: begin btnWCCX.Enabled := True; end; 4: begin TNoqx.Enabled := True; end; end; end; if Trim(FAuthority) = '管理' then begin ToolButton2.Enabled := true; TBAdd.Enabled := true; TBPrint.Enabled := True; case cxTabControl1.TabIndex of 0: begin tbedit.Enabled := true; Tqx.Enabled := true; btnTijiao.Enabled := True; end; 1: begin btnCXTijiao.Enabled := True; tchk.Enabled := True; end; 2: begin tnochk.Enabled := True; btnWC.Enabled := True; end; 3: begin btnWCCX.Enabled := True; end; 4: begin TNoqx.Enabled := true; end; end; end; if Trim(FAuthority) = '仓库' then begin ToolButton2.Enabled := true; TBAdd.Enabled := true; TBPrint.Enabled := True; case cxTabControl1.TabIndex of 0: begin tbedit.Enabled := true; Tqx.Enabled := true; btnTijiao.Enabled := True; end; 1: begin btnCXTijiao.Enabled := True; tchk.Enabled := True; end; 2: begin tnochk.Enabled := True; // btnWC.Enabled := True; end; 3: begin // btnWCCX.Enabled := True; end; 4: begin TNoqx.Enabled := true; end; end; end; if Trim(FAuthority) = '会计' then begin ToolButton2.Enabled := true; TBAdd.Enabled := true; TBPrint.Enabled := True; case cxTabControl1.TabIndex of 0: begin tbedit.Enabled := true; Tqx.Enabled := true; btnTijiao.Enabled := True; end; 1: begin btnCXTijiao.Enabled := True; // tchk.Enabled := True; end; 2: begin // tnochk.Enabled := True; btnWC.Enabled := True; end; 3: begin btnWCCX.Enabled := True; end; 4: begin TNoqx.Enabled := true; end; end; end; if Trim(FAuthority) = '查询' then begin TBPrint.Enabled := True; end; end; procedure TfrmYarnSQPlanList.FormDestroy(Sender: TObject); begin inherited; // frmContractListNX:=nil; end; procedure TfrmYarnSQPlanList.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caFree; end; procedure TfrmYarnSQPlanList.FormCreate(Sender: TObject); begin inherited; frmFrameDateSel1.EndDate.Date := SGetServerDate(ADOQueryTemp); frmFrameDateSel1.BegDate.Date := frmFrameDateSel1.EndDate.Date - 90; end; procedure TfrmYarnSQPlanList.TBCloseClick(Sender: TObject); begin Close; end; procedure TfrmYarnSQPlanList.InitGrid(); var SqlStr: string; begin SqlStr := 'select AA.* '; SqlStr := SqlStr + ' ,Y_Name=SUBSTRING(CAST((select distinct '','' +X.Y_Name from Pur_YarnPlan_Sub X where X.PurMId=AA.PurMId for xml path('''') ) AS VARCHAR(1000)) , 2, 1000)'; SqlStr := SqlStr + ' ,GXHZ=SUBSTRING(CAST((select distinct '','' +X.GX from Pur_YarnPlan_Sub X where X.PurMId=AA.PurMId for xml path('''') ) AS VARCHAR(1000)) , 2, 1000)'; SqlStr := SqlStr + ' ,StkName2HZ=SUBSTRING(CAST((select distinct '','' +X.StkName2 from Pur_YarnPlan_Sub X where X.PurMId=AA.PurMId for xml path('''') ) AS VARCHAR(1000)) , 2, 1000)'; SqlStr := SqlStr + ' ,SDlyDateHZ=SUBSTRING(CAST((select distinct '','' +cast (X.SDlyDate AS VarChar) from Pur_YarnPlan_Sub X where X.PurMId=AA.PurMId for xml path('''') ) AS VARCHAR(1000)) , 2, 1000)'; SqlStr := SqlStr + ' ,CGQty=(select sum(Qty) from Pur_YarnPlan_Sub X where X.PurMId=AA.PurMId) '; SqlStr := SqlStr + ' ,YDHQty=(select sum(Qty) from BS_Yarn_IO X where X.IOFlag=''入库'' and X.FromPurNo=AA.PurNo) '; SqlStr := SqlStr + ' ,YDHDate=(select top 1 IOTime from BS_Yarn_IO X where X.IOFlag=''入库'' and X.FromPurNo=AA.PurNo order by IOTime desc ) '; SqlStr := SqlStr + ' ,RKQTy=(select sum(Y.BaoQty) from BS_Yarn_IO X INNER JOIN BS_Yarn_IO_MX Y on X.BYIOID =Y.BYIOID '; SqlStr := SqlStr + ' where X.IOFlag=''入库'' and X.FromPurNo=AA.PurNo and isnull(StkPosition,'''') <> '''' ) '; SqlStr := SqlStr + ' from Pur_YarnPlan_Main AA '; SqlStr := SqlStr + ' where PurDate>' + quotedstr(FormatDateTime('yyyy-MM-dd', frmFrameDateSel1.BegDate.Date)); SqlStr := SqlStr + ' and PurDate<=' + quotedstr(FormatDateTime('yyyy-MM-dd', frmFrameDateSel1.enddate.Date + 1)); case cxTabControl1.TabIndex of 0: begin SqlStr := SqlStr + ' and isnull(AA.status,''0'')=''0'''; end; 1: begin SqlStr := SqlStr + ' and isnull(AA.status,''0'')=''1'''; end; 2: begin SqlStr := SqlStr + ' and isnull(AA.status,''0'')=''9'''; end; 3: begin SqlStr := SqlStr + ' and isnull(AA.status,''0'')=''10'''; end; 4: begin SqlStr := SqlStr + ' and isnull(AA.status,''0'')=''-1'''; end; end; InitCDSData(ADOQueryMain, CDS_1, Tv1, SqlStr, SGetFilters(Panel1, 1, 2), 'PurNo'); end; procedure TfrmYarnSQPlanList.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active = False then Exit; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, CDS_1); SInitCDSData(ADOQueryMain, CDS_1); end; procedure TfrmYarnSQPlanList.TBPrintClick(Sender: TObject); var WSql: string; begin if CDS_1.IsEmpty then Exit; try frmLabelPrint := TfrmLabelPrint.Create(Application); with frmLabelPrint do begin FLMType := 'YarnPurPrint'; FFiltration1 := Trim(Self.CDS_1.fieldbyname('PurMId').AsString); if ShowModal = 1 then begin // Self.InitGrid(); end; end; finally frmLabelPrint.Free; end; end; procedure TfrmYarnSQPlanList.TBEditClick(Sender: TObject); begin if CDS_1.IsEmpty then Exit; if Trim(CDS_1.fieldbyname('Filler').AsString) <> Trim(DName) then begin Application.MessageBox('不能操作他人的数据!', '提示', 0); Exit; end; try frmYarnSQPut := TfrmYarnSQPut.Create(Application); with frmYarnSQPut do begin PState := '修改'; FPurMId := Trim(Self.CDS_1.fieldbyname('PurMId').AsString); FAuthority := self.FAuthority; FGSTT := self.FGSTT; fFlileFlag := self.fFlileFlag; if ShowModal = 1 then begin end; end; finally frmYarnSQPut.Free; end; end; procedure TfrmYarnSQPlanList.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmYarnSQPlanList.TBAddClick(Sender: TObject); var maxno: string; begin try frmYarnSQPut := TfrmYarnSQPut.Create(Application); with frmYarnSQPut do begin PState := '新增'; FPurMId := ''; FAuthority := self.FAuthority; FGSTT := self.FGSTT; fFlileFlag := self.fFlileFlag; if ShowModal = 1 then begin Self.InitGrid(); end; end; finally frmYarnSQPut.Free; end; end; procedure TfrmYarnSQPlanList.FormShow(Sender: TObject); begin inherited; fFlileFlag := UserDataFlag + 'HX'; FAuthority := self.fParameters1; readCxGrid(trim(Self.Caption) + 'tv1', Tv1, '销售合同管理'); readCxGrid(trim(Self.Caption) + 'tv2', Tv2, '销售合同管理'); SetStatus(); InitGrid(); end; procedure TfrmYarnSQPlanList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin if ToolButton1.Visible = False then Exit; ToolButton1.Click; end; procedure TfrmYarnSQPlanList.CheckBox1Click(Sender: TObject); begin InitGrid(); end; procedure TfrmYarnSQPlanList.CheckBox2Click(Sender: TObject); begin TBRafresh.Click; end; procedure TfrmYarnSQPlanList.ToolButton1Click(Sender: TObject); begin if CDS_1.IsEmpty then Exit; try frmYarnSQPut := TfrmYarnSQPut.Create(Application); with frmYarnSQPut do begin PState := '查看'; FPurMId := Trim(Self.CDS_1.fieldbyname('PurMId').AsString); FGSTT := self.FGSTT; ToolBar2.Visible := False; TBSave.Visible := False; // ScrollBox1.Enabled := False; if ShowModal = 1 then begin end; end; finally frmYarnSQPut.Free; end; end; procedure TfrmYarnSQPlanList.ToolButton2Click(Sender: TObject); begin if CDS_1.IsEmpty then Exit; try frmYarnSQPut := TfrmYarnSQPut.Create(Application); with frmYarnSQPut do begin PState := '复制'; FPurMId := Trim(Self.CDS_1.fieldbyname('PurMId').AsString); FAuthority := self.FAuthority; fFlileFlag := self.fFlileFlag; if ShowModal = 1 then begin end; end; finally frmYarnSQPut.Free; end; end; procedure TfrmYarnSQPlanList.btnWCClick(Sender: TObject); var MPurMIdS: string; begin if CDS_1.IsEmpty then exit; if not CDS_1.Locate('SSel', True, []) then begin application.MessageBox('请选择数据', '提示'); Exit; end; with CDS_1 do begin DisableControls; First; MPurMIdS := ''; while not eof do begin if fieldbyname('SSel').AsBoolean then begin MPurMIdS := MPurMIdS + trim(fieldbyname('PurMId').AsString) + ','; end; next; end; MPurMIdS := copy(MPurMIdS, 1, Length(MPurMIdS) - 1); EnableControls; end; try with ADOQueryCmd do begin Close; sql.Clear; sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('合同完成'))); sql.Add(',' + quotedstr(trim('采购计划ID:' + trim(MPurMIdS)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); sql.Add(' exec P_Pur_YarnPlan_SetStatus '); sql.Add(' @PurMIdS=' + QuotedStr(MPurMIdS)); sql.Add(',@Operation=''完成'' '); Sql.Add(',@DCode=' + quotedstr(Trim(DCode))); Sql.Add(',@DName=' + quotedstr(Trim(DName))); open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString))); application.MessageBox('完成成功', '提示'); InitGrid(); except application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0); InitGrid(); end; end; procedure TfrmYarnSQPlanList.BuyNameChange(Sender: TObject); begin if ADOQueryMain.Active = False then Exit; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, CDS_1); SInitCDSData(ADOQueryMain, CDS_1); end; procedure TfrmYarnSQPlanList.tchkClick(Sender: TObject); var MPurMIdS: string; begin if CDS_1.IsEmpty then exit; if not CDS_1.Locate('SSel', True, []) then begin application.MessageBox('请选择数据', '提示'); Exit; end; with CDS_1 do begin DisableControls; First; MPurMIdS := ''; while not eof do begin if fieldbyname('SSel').AsBoolean then begin MPurMIdS := MPurMIdS + trim(fieldbyname('PurMId').AsString) + ','; end; next; end; MPurMIdS := copy(MPurMIdS, 1, Length(MPurMIdS) - 1); EnableControls; end; try with ADOQueryCmd do begin Close; sql.Clear; sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('合同审核'))); sql.Add(',' + quotedstr(trim('采购计划ID:' + trim(MPurMIdS)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); sql.Add(' exec P_Pur_YarnPlan_SetStatus '); sql.Add(' @PurMIdS=' + QuotedStr(MPurMIdS)); sql.Add(',@Operation=''审核'' '); Sql.Add(',@DCode=' + quotedstr(Trim(DCode))); Sql.Add(',@DName=' + quotedstr(Trim(DName))); open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString))); application.MessageBox('审核成功', '提示'); InitGrid(); except application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0); InitGrid(); end; end; procedure TfrmYarnSQPlanList.TnochkClick(Sender: TObject); var MPurMIdS: string; begin if CDS_1.IsEmpty then exit; if not CDS_1.Locate('SSel', True, []) then begin application.MessageBox('请选择数据', '提示'); Exit; end; with CDS_1 do begin DisableControls; First; MPurMIdS := ''; while not eof do begin if fieldbyname('SSel').AsBoolean then begin MPurMIdS := MPurMIdS + trim(fieldbyname('PurMId').AsString) + ','; end; next; end; MPurMIdS := copy(MPurMIdS, 1, Length(MPurMIdS) - 1); EnableControls; end; try with ADOQueryCmd do begin Close; sql.Clear; sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('合同撤销审核'))); sql.Add(',' + quotedstr(trim('采购计划ID:' + trim(MPurMIdS)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); sql.Add(' exec P_Pur_YarnPlan_SetStatus '); sql.Add(' @PurMIdS=' + QuotedStr(MPurMIdS)); sql.Add(',@Operation=''撤销审核'' '); Sql.Add(',@DCode=' + quotedstr(Trim(DCode))); Sql.Add(',@DName=' + quotedstr(Trim(DName))); open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString))); application.MessageBox('审核成功', '提示'); InitGrid(); except application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0); InitGrid(); end; end; procedure TfrmYarnSQPlanList.cxTabControl1Change(Sender: TObject); begin SetStatus(); TBRafresh.Click; end; procedure TfrmYarnSQPlanList.Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); begin InitSub(); end; procedure TfrmYarnSQPlanList.TextEdit(Sender: TObject); var mvalue, FFieldName: string; FSJPrice: Double; begin mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName); if mvalue = '' then begin mvalue := '0'; end; FSJPrice := RoundFloat(StrToFloat(mvalue) / CDS_2.FieldByName('Qty').asfloat, 2); with CDS_2 do begin Edit; FieldByName('SJMoney').Value := mvalue; FieldByName('SJPrice').Value := FSJPrice; Post; end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add(' update Pur_YarnPlan_Sub set SJMoney=' + mvalue + ''); sql.Add(' , SJPrice=' + FloatToStr(FSJPrice) + ''); sql.Add(' where PurSId=' + quotedstr(Trim(CDS_2.FieldByName('PurSId').AsString))); // ShowMessage(sql.text); ExecSQL; end; Tv2.Controller.EditingController.ShowEdit(); end; procedure TfrmYarnSQPlanList.TqxClick(Sender: TObject); var MPurMIdS: string; begin if CDS_1.IsEmpty then exit; if not CDS_1.Locate('SSel', True, []) then begin application.MessageBox('请选择数据', '提示'); Exit; end; with CDS_1 do begin DisableControls; First; MPurMIdS := ''; while not eof do begin if fieldbyname('SSel').AsBoolean then begin MPurMIdS := MPurMIdS + trim(fieldbyname('PurMId').AsString) + ','; end; next; end; MPurMIdS := copy(MPurMIdS, 1, Length(MPurMIdS) - 1); EnableControls; end; try with ADOQueryCmd do begin Close; sql.Clear; sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('合同取消'))); sql.Add(',' + quotedstr(trim('采购计划ID:' + trim(MPurMIdS)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); sql.Add(' exec P_Pur_YarnPlan_SetStatus '); sql.Add(' @PurMIdS=' + QuotedStr(MPurMIdS)); sql.Add(',@Operation=''取消'' '); Sql.Add(',@DCode=' + quotedstr(Trim(DCode))); Sql.Add(',@DName=' + quotedstr(Trim(DName))); open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString))); application.MessageBox('取消成功', '提示'); InitGrid(); except application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0); InitGrid(); end; end; procedure TfrmYarnSQPlanList.TnoqxClick(Sender: TObject); var MPurMIdS: string; begin if CDS_1.IsEmpty then exit; if not CDS_1.Locate('SSel', True, []) then begin application.MessageBox('请选择数据', '提示'); Exit; end; with CDS_1 do begin DisableControls; First; MPurMIdS := ''; while not eof do begin if fieldbyname('SSel').AsBoolean then begin MPurMIdS := MPurMIdS + trim(fieldbyname('PurMId').AsString) + ','; end; next; end; MPurMIdS := copy(MPurMIdS, 1, Length(MPurMIdS) - 1); EnableControls; end; try with ADOQueryCmd do begin Close; sql.Clear; sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('合同撤销取消'))); sql.Add(',' + quotedstr(trim('采购计划ID:' + trim(MPurMIdS)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); sql.Add(' exec P_Pur_YarnPlan_SetStatus '); sql.Add(' @PurMIdS=' + QuotedStr(MPurMIdS)); sql.Add(',@Operation=''撤销取消'' '); Sql.Add(',@DCode=' + quotedstr(Trim(DCode))); Sql.Add(',@DName=' + quotedstr(Trim(DName))); // ShowMessage(sql.Text); open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString))); application.MessageBox('撤销取消成功', '提示'); InitGrid(); except application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0); InitGrid(); end; end; procedure TfrmYarnSQPlanList.ToolButton5Click(Sender: TObject); //附件 begin if CDS_1.IsEmpty then Exit; try frmAttachmentUpload := TfrmAttachmentUpload.Create(Application); with frmAttachmentUpload do begin fkeyNO := Trim(Self.CDS_1.fieldbyname('PurMId').AsString); fType := '合同'; if ShowModal = 1 then begin end; end; finally frmAttachmentUpload.Free; end; end; procedure TfrmYarnSQPlanList.ToolButton7Click(Sender: TObject); begin writeCxGrid(trim(Self.Caption) + 'tv1', Tv1, '销售合同管理'); writeCxGrid(trim(Self.Caption) + 'tv2', Tv2, '销售合同管理'); end; procedure TfrmYarnSQPlanList.btnWCCXClick(Sender: TObject); var MPurMIdS: string; begin if CDS_1.IsEmpty then exit; if not CDS_1.Locate('SSel', True, []) then begin application.MessageBox('请选择数据', '提示'); Exit; end; with CDS_1 do begin DisableControls; First; MPurMIdS := ''; while not eof do begin if fieldbyname('SSel').AsBoolean then begin MPurMIdS := MPurMIdS + trim(fieldbyname('PurMId').AsString) + ','; end; next; end; MPurMIdS := copy(MPurMIdS, 1, Length(MPurMIdS) - 1); EnableControls; end; try with ADOQueryCmd do begin Close; sql.Clear; sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('合同撤销完成'))); sql.Add(',' + quotedstr(trim('采购计划ID:' + trim(MPurMIdS)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); sql.Add(' exec P_Pur_YarnPlan_SetStatus '); sql.Add(' @PurMIdS=' + QuotedStr(MPurMIdS)); sql.Add(',@Operation=''撤销完成'' '); Sql.Add(',@DCode=' + quotedstr(Trim(DCode))); Sql.Add(',@DName=' + quotedstr(Trim(DName))); open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString))); application.MessageBox('撤销完成成功', '提示'); InitGrid(); except application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0); InitGrid(); end; end; procedure TfrmYarnSQPlanList.Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); begin if AViewInfo.GridRecord.Values[tv1.GetColumnByFieldName('status').Index] = '2' then ACanvas.Brush.Color := clLime; end; procedure TfrmYarnSQPlanList.btnTijiaoClick(Sender: TObject); var MPurMIdS: string; begin if CDS_1.IsEmpty then exit; if not CDS_1.Locate('SSel', True, []) then begin application.MessageBox('请选择数据', '提示'); Exit; end; with CDS_1 do begin DisableControls; First; MPurMIdS := ''; while not eof do begin if fieldbyname('SSel').AsBoolean then begin MPurMIdS := MPurMIdS + trim(fieldbyname('PurMId').AsString) + ','; end; next; end; MPurMIdS := copy(MPurMIdS, 1, Length(MPurMIdS) - 1); EnableControls; end; try with ADOQueryCmd do begin Close; sql.Clear; sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('采购计划提交'))); sql.Add(',' + quotedstr(trim('采购计划ID:' + trim(MPurMIdS)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); sql.Add(' exec P_Pur_YarnPlan_SetStatus '); sql.Add(' @PurMIdS=' + QuotedStr(MPurMIdS)); sql.Add(',@Operation=''提交'' '); Sql.Add(',@DCode=' + quotedstr(Trim(DCode))); Sql.Add(',@DName=' + quotedstr(Trim(DName))); open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString))); application.MessageBox('提交成功', '提示'); InitGrid(); except application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0); InitGrid(); end; end; procedure TfrmYarnSQPlanList.btnCXTijiaoClick(Sender: TObject); var MPurMIdS: string; begin if CDS_1.IsEmpty then exit; if not CDS_1.Locate('SSel', True, []) then begin application.MessageBox('请选择数据', '提示'); Exit; end; with CDS_1 do begin DisableControls; First; MPurMIdS := ''; while not eof do begin if fieldbyname('SSel').AsBoolean then begin MPurMIdS := MPurMIdS + trim(fieldbyname('PurMId').AsString) + ','; end; next; end; MPurMIdS := copy(MPurMIdS, 1, Length(MPurMIdS) - 1); EnableControls; end; try with ADOQueryCmd do begin Close; sql.Clear; sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('采购计划撤销提交'))); sql.Add(',' + quotedstr(trim('采购计划ID:' + trim(MPurMIdS)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); sql.Add(' exec P_Pur_YarnPlan_SetStatus '); sql.Add(' @PurMIdS=' + QuotedStr(MPurMIdS)); sql.Add(',@Operation=''撤销提交'' '); Sql.Add(',@DCode=' + quotedstr(Trim(DCode))); Sql.Add(',@DName=' + quotedstr(Trim(DName))); open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString))); application.MessageBox('撤销提交成功', '提示'); InitGrid(); except application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0); InitGrid(); end; end; end.