unit U_ProductionAnPaiNew; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, StdCtrls, ExtCtrls, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, ADODB, DBClient, cxTextEdit, cxPC, cxCalendar, ComCtrls, cxButtonEdit, cxGridCustomPopupMenu, cxGridPopupMenu, Menus, cxCheckBox; type TfrmProductionAnPaiNew = class(TForm) cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1OrderNo: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1PRTMF: TcxGridDBColumn; v1PRTKZ: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1Column3: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; Panel1: TPanel; Label1: TLabel; Label15: TLabel; Label16: TLabel; orderno: TEdit; v1Column8: TcxGridDBColumn; v1Column9: TcxGridDBColumn; v1Column10: TcxGridDBColumn; CDS_Main: TClientDataSet; DataSource1: TDataSource; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; v1Column14: TcxGridDBColumn; Button1: TButton; Button2: TButton; Button3: TButton; cxTabControl1: TcxTabControl; Label2: TLabel; Label3: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; Button4: TButton; Button5: TButton; Panel2: TPanel; SmalMF1: TEdit; SmalMF2: TEdit; SmalMF3: TEdit; SmalMF4: TEdit; SmalMF5: TEdit; SmalMF6: TEdit; Label4: TLabel; SmalMF7: TEdit; SmalMF8: TEdit; SmalMF9: TEdit; SmalMF10: TEdit; SmalMF11: TEdit; SmalMF12: TEdit; Button6: TButton; cxGridPopupMenu1: TcxGridPopupMenu; Button7: TButton; v1Column26: TcxGridDBColumn; cxStyleRepository1: TcxStyleRepository; cxStyle1: TcxStyle; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; cxGridDBColumn1: TcxGridDBColumn; cxGridDBColumn2: TcxGridDBColumn; cxGridDBColumn3: TcxGridDBColumn; cxGridDBColumn4: TcxGridDBColumn; cxGridDBColumn5: TcxGridDBColumn; cxGridDBColumn6: TcxGridDBColumn; cxGridDBColumn7: TcxGridDBColumn; cxGridDBColumn8: TcxGridDBColumn; cxGridDBColumn9: TcxGridDBColumn; cxGridDBColumn10: TcxGridDBColumn; cxGridDBColumn11: TcxGridDBColumn; cxGridDBColumn12: TcxGridDBColumn; cxGridDBColumn13: TcxGridDBColumn; cxGridDBColumn22: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; DSSCAnPai: TDataSource; CDS_SCAnPai: TClientDataSet; cxGridPopupMenu2: TcxGridPopupMenu; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; v2Column1: TcxGridDBColumn; v2Column2: TcxGridDBColumn; v2Column3: TcxGridDBColumn; v2Column4: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column6: TcxGridDBColumn; ADOQuerySub: TADOQuery; v2Column5: TcxGridDBColumn; v2Column6: TcxGridDBColumn; Button8: TButton; Button9: TButton; Button10: TButton; Button11: TButton; v2Column7: TcxGridDBColumn; v2Column8: TcxGridDBColumn; Label5: TLabel; SWFBCodeName: TEdit; Label6: TLabel; FSWFBFK10: TEdit; Label7: TLabel; SWFBKZ10: TEdit; v2Column9: TcxGridDBColumn; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormDestroy(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure FormShow(Sender: TObject); procedure ordernoChange(Sender: TObject); procedure v1Column4PropertiesEditValueChanged(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Tv1DblClick(Sender: TObject); procedure v1Column19PropertiesEditValueChanged(Sender: TObject); procedure v1Column23PropertiesEditValueChanged(Sender: TObject); procedure Button6Click(Sender: TObject); procedure v1Column24PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1Column24PropertiesEditValueChanged(Sender: TObject); procedure v1Column25PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1Column25PropertiesEditValueChanged(Sender: TObject); procedure Button7Click(Sender: TObject); procedure N1Click(Sender: TObject); // procedure cxGridDBColumn1PropertiesEditValueChanged(Sender: TObject); procedure N2Click(Sender: TObject); procedure Tv2CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure v2Column5PropertiesEditValueChanged(Sender: TObject); procedure v2Column6PropertiesEditValueChanged(Sender: TObject); procedure Button10Click(Sender: TObject); procedure Button11Click(Sender: TObject); procedure Button9Click(Sender: TObject); procedure Button8Click(Sender: TObject); procedure v2Column8PropertiesEditValueChanged(Sender: TObject); private { Private declarations } procedure InitGrid(); procedure VisbleControl(Panel55:TWinControl;XS:Boolean;SXCount:Integer); procedure InitGridAnPai(); public { Public declarations } end; var frmProductionAnPaiNew: TfrmProductionAnPaiNew; implementation uses U_DataLink,U_Fun,U_OrderAttachment,U_ZDYHelpSel,U_JiangLiaoSet; {$R *.dfm} procedure TfrmProductionAnPaiNew.FormClose(Sender: TObject; var Action: TCloseAction); begin orderno.SetFocus; Action:=caFree; end; procedure TfrmProductionAnPaiNew.FormDestroy(Sender: TObject); begin frmProductionAnPaiNew:=nil; end; procedure TfrmProductionAnPaiNew.FormCreate(Sender: TObject); begin cxGrid1.Align:=alClient; if Trim(DParameters1)='审核' then begin Button5.Visible:=True; Button4.Visible:=True; end else begin Button5.Visible:=False; Button4.Visible:=False; end; end; procedure TfrmProductionAnPaiNew.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add(' exec P_ProductAnPai :begdate,:enddate,:pstate,:Wsql'); if cxTabControl1.TabIndex=0 then begin Parameters.ParamByName('begdate').Value:=''; Parameters.ParamByName('enddate').Value:=''; Parameters.ParamByName('pstate').Value:=1; end else if cxTabControl1.TabIndex=1 then begin Parameters.ParamByName('begdate').Value:=''; Parameters.ParamByName('enddate').Value:=''; Parameters.ParamByName('pstate').Value:=2; end else if cxTabControl1.TabIndex=2 then begin Parameters.ParamByName('begdate').Value:=FormatDateTime('yyyy-MM-dd',BegDate.Date) ; Parameters.ParamByName('enddate').Value:=FormatDateTime('yyyy-MM-dd',EndDate.Date+1); Parameters.ParamByName('pstate').Value:=3; end; Parameters.ParamByName('Wsql').Value:=''; Open; end; SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmProductionAnPaiNew.InitGridAnPai(); begin try ADOQuerySub.DisableControls; with ADOQuerySub do begin Filtered:=False; Close; sql.Clear; sql.Add('select A.*,C.OrderNo,B.SWFBCodeName,B.SWFBColor,B.SWFBHW,B.SWFBKZ '); sql.Add(',SCMQty=(select isnull(sum(MJLen),0) from WFB_MJJY AA where AA.APID=A.APID)'); sql.Add(',Case when A.OrderQtyM-(select isnull(sum(MJLen),0) from WFB_MJJY AA where AA.APID=A.APID)>0 then'); SQL.Add(' A.OrderQtyM-(select isnull(sum(MJLen),0) from WFB_MJJY AA where AA.APID=A.APID) else 0 end as WSCMQty'); SQL.Add('from WFBOrder_Sub_AnPai A inner join WFBOrder_Sub B on A.SubId=B.SubId'); sql.Add(' inner join WFBOrder_Main C on A.MainId=C.MainId'); sql.Add(' where A.SubId='''+Trim(CDS_Main.fieldbyname('SubId').AsString)+''''); if cxTabControl1.TabIndex=1 then begin SQL.Add(' and Isnull(A.SCStatus,'''')<>''已完成'' '); end else if cxTabControl1.TabIndex=2 then begin SQL.Add(' and Isnull(A.SCStatus,'''')=''已完成'' '); end; Open; end; SCreateCDS20(ADOQuerySub,CDS_SCAnPai); SInitCDSData20(ADOQuerySub,CDS_SCAnPai); finally ADOQuerySub.EnableControls; end; end; procedure TfrmProductionAnPaiNew.Button1Click(Sender: TObject); begin orderno.SetFocus; InitGrid(); InitGridAnPai(); end; procedure TfrmProductionAnPaiNew.FormShow(Sender: TObject); begin ReadCxGrid('生产安排FD1',Tv1,'无纺布生产订单'); ReadCxGrid('生产安排FD2',Tv2,'无纺布生产订单'); EndDate.Date:=SGetServerDate(ADOQueryTemp); BegDate.Date:=EndDate.Date-30; if cxTabControl1.TabIndex=1 then begin Tv2.OptionsSelection.CellSelect:=False; end else Tv2.OptionsSelection.CellSelect:=True; if Trim(DParameters1)='审核' then begin Tv2.OptionsSelection.CellSelect:=False; end; InitGrid(); InitGridAnPai(); end; procedure TfrmProductionAnPaiNew.ordernoChange(Sender: TObject); begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); end; procedure TfrmProductionAnPaiNew.v1Column4PropertiesEditValueChanged( Sender: TObject); var mvalue:String; begin mvalue:=TcxTextEdit(Sender).EditingText; with CDS_SCAnPai do begin Edit; FieldByName('SCOrder').Value:=Trim(mvalue); FieldByName('AnPaiDate').Value:=Now; Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate WFBOrder_Sub_AnPai Set SCOrder='''+Trim(mvalue)+''''); SQL.Add(',AnPaiDate=getdate()'); SQL.Add(' where APId='''+Trim(CDS_SCAnPai.fieldbyname('APId').AsString)+''''); ExecSQL; end; end; procedure TfrmProductionAnPaiNew.Button2Click(Sender: TObject); begin orderno.SetFocus; WriteCxGrid('生产安排FD1',Tv1,'无纺布生产订单'); WriteCxGrid('生产安排FD2',Tv2,'无纺布生产订单'); Close; end; procedure TfrmProductionAnPaiNew.Button3Click(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; TcxGridToExcel('生产安排',cxGrid1); end; procedure TfrmProductionAnPaiNew.cxTabControl1Change(Sender: TObject); begin InitGrid(); InitGridAnPai(); if cxTabControl1.TabIndex=0 then begin Tv2.OptionsSelection.CellSelect:=True; end else Tv2.OptionsSelection.CellSelect:=False; if Trim(DParameters1)='审核' then begin Tv2.OptionsSelection.CellSelect:=False; end; VisbleControl(Panel2,False,Panel2.ControlCount); end; procedure TfrmProductionAnPaiNew.Button4Click(Sender: TObject); begin if cxTabControl1.TabIndex<>0 then Exit; if CDS_SCAnPai.IsEmpty then Exit; if Trim(DName)=Trim(CDS_Main.fieldbyname('AnPaiPerson').AsString) then begin Application.MessageBox('不能审核自己的数据!','提示',0); Exit; end; if Application.MessageBox('确定要执行操作吗?','提示',32+4)<>IDYES then Exit; try ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate WFBOrder_Sub Set AnPaiChker='''+Trim(DName)+''''); sql.Add(',AnPaiChkStatus=''审核通过'''); sql.add(',AnPaiChkDate=getdate()'); SQL.Add(' where SubId='''+Trim(CDS_Main.fieldbyname('SubId').AsString)+''''); ExecSQL; end; ADOQueryCmd.Connection.CommitTrans; CDS_Main.Delete; InitGridAnPai(); Application.MessageBox('操作成功!','提示',0); Exit; except ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('操作异常!','提示',0); end; end; procedure TfrmProductionAnPaiNew.Button5Click(Sender: TObject); begin if cxTabControl1.TabIndex<>1 then Exit; if Trim(DName)=Trim(CDS_Main.fieldbyname('AnPaiPerson').AsString) then begin Application.MessageBox('不能审核自己的数据!','提示',0); Exit; end; if Application.MessageBox('确定要执行操作吗?','提示',32+4)<>IDYES then Exit; try ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate WFBOrder_Sub Set AnPaiChker='''+Trim(DName)+''''); sql.Add(',AnPaiChkStatus=''审核不通过'','); sql.add('AnPaiChkDate=getdate()'); SQL.Add(' where SubId='''+Trim(CDS_Main.fieldbyname('SubId').AsString)+''''); ExecSQL; end; ADOQueryCmd.Connection.CommitTrans; CDS_Main.Delete; InitGridAnPai(); Application.MessageBox('操作成功!','提示',0); Exit; except ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('操作异常!','提示',0); end; end; procedure TfrmProductionAnPaiNew.Tv1DblClick(Sender: TObject); begin try frmOrderAttachment:=TfrmOrderAttachment.Create(Application); with frmOrderAttachment do begin FAMainId:=Trim(Self.CDS_Main.fieldbyname('MainId').AsString); Panel1.Enabled:=False; if ShowModal=1 then begin end; end; finally frmOrderAttachment.Free; end; end; procedure TfrmProductionAnPaiNew.v1Column19PropertiesEditValueChanged( Sender: TObject); var mvalue,FFieldName:String; i:Integer; begin mvalue:=TcxTextEdit(Sender).EditingText; if Trim(mvalue)='' then mvalue:='0'; FFieldName:=Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName); with CDS_SCAnPai do begin Edit; FieldByName(FFieldName).Value:=Trim(mvalue); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate WFBOrder_Sub_AnPai Set '+FFieldName+'='+Trim(mvalue)); SQL.Add(',AnPaiPerson='''+Trim(DName)+''''); SQL.Add(' where APId='''+Trim(CDS_SCAnPai.fieldbyname('APId').AsString)+''''); ExecSQL; end; if Trim(FFieldName)='SmalCount' then begin VisbleControl(Panel2,False,Panel2.ControlCount); VisbleControl(Panel2,True,strtoint(mvalue)+1); end; if strtoint(mvalue)+1>0 then begin Button6.Visible:=True; end; end; procedure TfrmProductionAnPaiNew.v1Column23PropertiesEditValueChanged( Sender: TObject); var mvalue:String; begin mvalue:=TcxTextEdit(Sender).EditingText; if Trim(mvalue)='' then mvalue:=''; with CDS_SCAnPai do begin Edit; FieldByName('SmalPC').Value:=Trim(mvalue); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate WFBOrder_Sub_AnPai Set SmalPC='''+Trim(mvalue)+''''); SQL.Add(' where APId='''+Trim(CDS_SCAnPai.fieldbyname('APId').AsString)+''''); ExecSQL; end; end; procedure TfrmProductionAnPaiNew.VisbleControl(Panel55:TWinControl;XS:Boolean;SXCount:Integer); var i:Integer; begin with Panel55 do begin for i:=0 to SXCount-1 do begin Controls[i].Visible:=XS; end; end; end; procedure TfrmProductionAnPaiNew.Button6Click(Sender: TObject); var i,j:Integer; FFname,FFnameValue,FSubId:string; begin //FSubId:=Trim(CDS_Main.fieldbyname('SubId').AsString); try j:=0; ADOQueryCmd.Connection.BeginTrans; with Panel2 do begin for i:=0 to Panel2.ControlCount-1 do begin if Controls[i] is TLabel then Continue; if Controls[i] is TButton then Continue; if Controls[i].Visible=True then begin FFname:=Trim(Controls[i].Name); if Trim(TEdit(Controls[i]).Text)='' then begin ADOQueryCmd.Connection.RollbackTrans; j:=9; Break; end; if StrToFloat((TEdit(Controls[i]).Text))=0 then begin ADOQueryCmd.Connection.RollbackTrans; j:=10; Break; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update WFBOrder_Sub_AnPai Set '+FFname+'='+Trim(TEdit(Controls[i]).Text)); SQL.Add(' where APId='''+Trim(CDS_SCAnPai.fieldbyname('APId').AsString)+''''); ExecSQL; end; with CDS_SCAnPai do begin Edit; FieldByName(Controls[i].Name).Value:=Trim(TEdit(Controls[i]).Text); Post; end; end; end; if j=0 then ADOQueryCmd.Connection.CommitTrans else if j=9 then begin //ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('小卷幅宽不能为空!','提示',0); Exit; end else if j=10 then begin //ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('小卷幅宽不能为零!','提示',0); Exit; end; end; //InitGrid(); // CDS_Main.Locate('SubId',Trim(FSubId),[]); with Panel2 do begin j:=0; for i:=0 to Panel2.ControlCount-1 do begin if Controls[i] is TLabel then Continue; if Controls[i] is TButton then Continue; if TEdit(Controls[i]).Visible=True then begin if j=0 then FSubId:=Trim(TEdit(Controls[i]).Text) else FSubId:=FSubId+','+Trim(TEdit(Controls[i]).Text); j:=j+1; end; end; end; with CDS_SCAnPai do begin Edit; FieldByName('SmalMF').Value:=Trim(FSubId); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update WFBOrder_Sub_Anpai Set SmalMF='''+Trim(FSubId)+'''') ; sql.Add(' where APID='''+Trim(CDS_SCAnPai.fieldbyname('APID').AsString)+''''); ExecSQL; end; except ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('确定异常!','提示',0); end; end; procedure TfrmProductionAnPaiNew.v1Column24PropertiesButtonClick( Sender: TObject; AButtonIndex: Integer); var mvalue:String; begin mvalue:=Trim(CDS_Main.fieldbyname('SmalNote').AsString); try frmZDYHelpSel:=TfrmZDYHelpSel.Create(Application); with frmZDYHelpSel do begin flag:='SmalNote'; flagname:='分切说明'; if ShowModal=1 then begin with Self.CDS_SCAnPai do begin Edit; FieldByName('SmalNote').Value:=mvalue+Trim(ReturnStr); //post; end; mvalue:=mvalue+ReturnStr; with Self.ADOQueryCmd do begin Close; SQL.Clear; sql.Add('UPdate WFBOrder_Sub_AnPai Set SmalNote='''+Trim(mvalue)+''''); SQL.Add(' where APId='''+Trim(CDS_SCAnPai.fieldbyname('APId').AsString)+''''); ExecSQL; end; end; end; finally end; end; procedure TfrmProductionAnPaiNew.v1Column24PropertiesEditValueChanged( Sender: TObject); var mvalue:String; begin mvalue:=TcxTextEdit(Sender).EditingText; if Trim(mvalue)='' then mvalue:=''; with CDS_SCAnPai do begin Edit; FieldByName('SmalNote').Value:=Trim(mvalue); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate WFBOrder_Sub_AnPai Set SmalNote='''+Trim(mvalue)+''''); SQL.Add(' where APId='''+Trim(CDS_SCAnPai.fieldbyname('APID').AsString)+''''); ExecSQL; end; end; procedure TfrmProductionAnPaiNew.v1Column25PropertiesButtonClick( Sender: TObject; AButtonIndex: Integer); var mvalue:String; begin mvalue:=Trim(CDS_Main.fieldbyname('DBNote').AsString); try frmZDYHelpSel:=TfrmZDYHelpSel.Create(Application); with frmZDYHelpSel do begin flag:='DBNote'; flagname:='打包要求'; if ShowModal=1 then begin with Self.CDS_SCAnPai do begin Edit; FieldByName('DBNote').Value:=mvalue+Trim(ReturnStr); //post; end; mvalue:=mvalue+ReturnStr; with Self.ADOQueryCmd do begin Close; SQL.Clear; sql.Add('UPdate WFBOrder_Sub_AnPai Set DBNote='''+Trim(mvalue)+''''); SQL.Add(' where APId='''+Trim(CDS_SCAnPai.fieldbyname('APId').AsString)+''''); ExecSQL; end; end; end; finally end; end; procedure TfrmProductionAnPaiNew.v1Column25PropertiesEditValueChanged( Sender: TObject); var mvalue:String; begin mvalue:=TcxTextEdit(Sender).EditingText; if Trim(mvalue)='' then mvalue:=''; with CDS_SCAnPai do begin Edit; FieldByName('DBNote').Value:=Trim(mvalue); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate WFBOrder_Sub_AnPai Set DBNote='''+Trim(mvalue)+''''); SQL.Add(' where ApId='''+Trim(CDS_SCAnPai.fieldbyname('ApId').AsString)+''''); ExecSQL; end; end; procedure TfrmProductionAnPaiNew.Button7Click(Sender: TObject); begin try frmJiangLiaoSet:=TfrmJiangLiaoSet.Create(Application); with frmJiangLiaoSet do begin if ShowModal=1 then begin end; end; finally end; end; procedure TfrmProductionAnPaiNew.N1Click(Sender: TObject); var maxno:String; begin if cxTabControl1.TabIndex>0 then Exit; try ADOQueryCmd.Connection.BeginTrans; if GetLSNo(ADOQueryCmd,maxno,'AP','WFBOrder_Sub_AnPai',3,1)=False then begin Application.MessageBox('取安排最大号失败!','提示',0); Exit; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('select * from WFBOrder_Sub_AnPai where 1<>1'); Open; end; with ADOQueryCmd do begin Append; FieldByName('APID').Value:=Trim(maxno); FieldByName('MainId').Value:=Trim(CDS_Main.fieldbyname('MainId').AsString); FieldByName('SubId').Value:=Trim(CDS_Main.fieldbyname('SubId').AsString); FieldByName('AnPaiPerson').Value:=Trim(DName); FieldByName('SmalCount').Value:=0; FieldByName('AnPaiDate').Value:=SGetServerDate(ADOQueryTemp); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update WFBOrder_Sub Set AnPaiPerson='''+Trim(DName)+''''); sql.Add(',AnPaiDate=getdate()'); SQL.Add(' where SubId='''+Trim(CDS_Main.fieldbyname('SubId').AsString)+''''); ExecSQL; end; with CDS_Main do begin Edit; FieldByName('AnPaiPerson').Value:=Trim(DName); Post; end; with CDS_SCAnPai do begin Append; FieldByName('APID').Value:=Trim(maxno); FieldByName('MainId').Value:=Trim(CDS_Main.fieldbyname('MainId').AsString); FieldByName('SubId').Value:=Trim(CDS_Main.fieldbyname('SubId').AsString); FieldByName('AnPaiDate').Value:=SGetServerDate(ADOQueryTemp); FieldByName('SmalCount').Value:=0; FieldByName('OrderNo').Value:=Trim(CDS_Main.fieldbyname('OrderNo').AsString); FieldByName('SWFBColor').Value:=Trim(CDS_Main.fieldbyname('SWFBColor').AsString); FieldByName('SWFBKZ').Value:=Trim(CDS_Main.fieldbyname('SWFBKZ').AsString); FieldByName('SWFBHW').Value:=Trim(CDS_Main.fieldbyname('SWFBHW').AsString); FieldByName('SmalMF1').Value:=0; FieldByName('SmalMF2').Value:=0; FieldByName('SmalMF3').Value:=0; FieldByName('SmalMF4').Value:=0; FieldByName('SmalMF5').Value:=0; FieldByName('SmalMF6').Value:=0; FieldByName('SmalMF7').Value:=0; FieldByName('SmalMF8').Value:=0; FieldByName('SmalMF9').Value:=0; FieldByName('SmalMF10').Value:=0; FieldByName('SmalMF11').Value:=0; FieldByName('SmalMF12').Value:=0; Post; end; ADOQueryCmd.Connection.CommitTrans; except ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('增加异常!','提示',0); Exit; end; end; procedure TfrmProductionAnPaiNew.N2Click(Sender: TObject); begin if cxTabControl1.TabIndex>0 then Exit; if Application.MessageBox('确定要删除数据吗?','提示',32+4)<>IDYES then Exit; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete WFBOrder_Sub_AnPai where APID='''+Trim(CDS_SCAnPai.fieldbyname('APID').AsString)+''''); ExecSQL; end; CDS_SCAnPai.Delete; end; procedure TfrmProductionAnPaiNew.Tv2CellClick( Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin VisbleControl(Panel2,False,Panel2.ControlCount); VisbleControl(Panel2,True,CDS_SCAnPai.fieldbyname('SmalCount').Value+1); if Trim(CDS_SCAnPai.FieldByName('SmalCount').AsString)='' then Exit; if CDS_SCAnPai.fieldbyname('SmalCount').Value>0 then begin SCSHDataCDS(CDS_SCAnPai,Panel2,2); if cxTabControl1.TabIndex=0 then Button6.Visible:=True else Button6.Visible:=False; end; end; procedure TfrmProductionAnPaiNew.Tv1CellClick( Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin InitGridAnPai(); end; procedure TfrmProductionAnPaiNew.v2Column5PropertiesEditValueChanged( Sender: TObject); var mvalue:String; begin mvalue:=TcxTextEdit(Sender).EditingText; if Trim(mvalue)='' then mvalue:=''; with CDS_SCAnPai do begin Edit; FieldByName('WeigthNote').Value:=Trim(mvalue); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate WFBOrder_Sub_AnPai Set WeigthNote='''+Trim(mvalue)+''''); SQL.Add(' where APId='''+Trim(CDS_SCAnPai.fieldbyname('APId').AsString)+''''); ExecSQL; end; end; procedure TfrmProductionAnPaiNew.v2Column6PropertiesEditValueChanged( Sender: TObject); var mvalue:String; begin mvalue:=TcxTextEdit(Sender).EditingText; if Trim(mvalue)='' then mvalue:=''; with CDS_SCAnPai do begin Edit; FieldByName('APNote').Value:=Trim(mvalue); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate WFBOrder_Sub_AnPai Set APNote='''+Trim(mvalue)+''''); SQL.Add(' where APId='''+Trim(CDS_SCAnPai.fieldbyname('APId').AsString)+''''); ExecSQL; end; end; procedure TfrmProductionAnPaiNew.Button10Click(Sender: TObject); begin if cxTabControl1.TabIndex<>1 then Exit; if Application.MessageBox('确定要执行完成操作吗?','提示',32+4)<>IDYES then Exit; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update WFBOrder_Sub_AnPai Set SCStatus=''已完成'',WCDate=getdate() where APID='''+Trim(CDS_SCAnPai.fieldbyname('APID').AsString)+''''); ExecSQL; end; CDS_SCAnPai.Delete; end; procedure TfrmProductionAnPaiNew.Button11Click(Sender: TObject); begin if cxTabControl1.TabIndex<>2 then Exit; if Application.MessageBox('确定要执行完成撤销操作吗?','提示',32+4)<>IDYES then Exit; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update WFBOrder_Sub_AnPai Set SCStatus=''生产中'' where APID='''+Trim(CDS_SCAnPai.fieldbyname('APID').AsString)+''''); ExecSQL; end; CDS_SCAnPai.Delete; end; procedure TfrmProductionAnPaiNew.Button9Click(Sender: TObject); begin if cxTabControl1.TabIndex<>1 then Exit; if Application.MessageBox('确定要执行生产下达操作吗?','提示',32+4)<>IDYES then Exit; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update WFBOrder_Sub_AnPai Set SCXDFlag=1 where APID='''+Trim(CDS_SCAnPai.fieldbyname('APID').AsString)+''''); ExecSQL; end; with CDS_SCAnPai do begin Edit; FieldByName('SCXDFlag').Value:=True; Post; end; end; procedure TfrmProductionAnPaiNew.Button8Click(Sender: TObject); begin if cxTabControl1.TabIndex<>1 then Exit; if Application.MessageBox('确定要执行生产撤销操作吗?','提示',32+4)<>IDYES then Exit; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update WFBOrder_Sub_AnPai Set SCXDFlag=0 where APID='''+Trim(CDS_SCAnPai.fieldbyname('APID').AsString)+''''); ExecSQL; end; with CDS_SCAnPai do begin Edit; FieldByName('SCXDFlag').Value:=false; Post; end; end; procedure TfrmProductionAnPaiNew.v2Column8PropertiesEditValueChanged( Sender: TObject); var mvalue:TDateTime; begin mvalue:=TcxDateEdit(Sender).EditingValue; if Trim(DateTimeToStr(mvalue))='' then begin mvalue:=null; end; with CDS_SCAnPai do begin Edit; FieldByName('WCDate').Value:=mvalue; Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate WFBOrder_Sub_AnPai Set WCDate='''+Trim(FormatDateTime('yyyy-MM-dd HH:mm:ss',mvalue))+''''); SQL.Add(' where APId='''+Trim(CDS_SCAnPai.fieldbyname('APId').AsString)+''''); ExecSQL; end; end; end.