unit U_ProductFYSSedit; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxGraphics, cxControls, cxLookAndFeels, cxLookAndFeelPainters, cxStyles, 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, cxCustomData, cxFilter, cxData, cxDataStorage, cxEdit, cxNavigator, DB, cxDBData, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxGridCustomView, cxGrid, DBClient, Menus, ComCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, cxButtonEdit, cxDropDownEdit, StdCtrls, ExtCtrls; type TFRMProductFYSSedit = class(TForm) ADOCmd: TADOQuery; ADOTemp: TADOQuery; cxGridPopupMenu1: TcxGridPopupMenu; ToolBar1: TToolBar; TBSave: TToolButton; TBClose: TToolButton; ADOQueryCmd: TADOQuery; ADOQueryTemp: TADOQuery; ADOQueryMain: TADOQuery; DataSource1: TDataSource; Order_Main: TClientDataSet; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1CustomerNoName: TcxGridDBColumn; v1MPRTCodeName: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v1MPRTSpec: TcxGridDBColumn; v1ConNo: TcxGridDBColumn; v1OrderNo: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1SSGH: TcxGridDBColumn; Tv1Column1: TcxGridDBColumn; v1MPRTMF: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1Column11: TcxGridDBColumn; v1Column10: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; ToolButton1: TToolButton; Tv1Column2: TcxGridDBColumn; Tv1Column3: TcxGridDBColumn; ToolButton2: TToolButton; CDS_CON: TClientDataSet; DSCON: TDataSource; ADOQuery1: TADOQuery; Panel1: TPanel; cxGrid4: TcxGrid; TV4: TcxGridDBTableView; V4Column1: TcxGridDBColumn; TV4Column1: TcxGridDBColumn; TV4Column3: TcxGridDBColumn; TV4Column4: TcxGridDBColumn; TV4Column5: TcxGridDBColumn; TV4Column2: TcxGridDBColumn; cxGrid4Level1: TcxGridLevel; Panel2: TPanel; Label1: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; Label2: TLabel; Label5: TLabel; RCGangNo: TEdit; procedure ToolButton1Click(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBSaveClick(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure v1ConNoPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure ToolButton2Click(Sender: TObject); procedure v1MPRTKZPropertiesChange(Sender: TObject); procedure v1MPRTKZPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure TV4DblClick(Sender: TObject); procedure RCGangNoKeyPress(Sender: TObject; var Key: Char); private procedure InitData(); function SaveData(): Boolean; { Private declarations } public PState, CopyInt, PriceFlag: Integer; FSSId, FFMainId, FOrderNo: string; FXS: Integer; canshu1: string; fFlileFlag: string; { Public declarations } end; var FRMProductFYSSedit: TFRMProductFYSSedit; implementation uses U_DataLink, U_ZDYHelp, U_Fun, U_ZDYHelpSel, U_ZdyAttachment, U_ZdyAttachGYS, U_CPManageSel, getpic, U_LabelList, U_ContractListSel, U_YCLViewSel, U_PhoneOrder, U_ProductOrderListSel; {$R *.dfm} procedure TFRMProductFYSSedit.ToolButton1Click(Sender: TObject); begin CopyAddRow(Tv1, Order_Main); with Order_Main do begin Edit; FieldByName('OrderNo').Value := ''; FieldByName('SSCodeName').Value := ''; FieldByName('SScolor').Value := ''; FieldByName('RCFactoryName').Value := ''; FieldByName('PBFactoryName').Value := ''; Post; end; end; procedure TFRMProductFYSSedit.FormShow(Sender: TObject); begin readCxGrid('指示单录入AA', Tv1, '生产指示单管理'); fFlileFlag := UserDataFlag + 'HX'; InitData(); BegDate.DateTime := SGetServerDate10(ADOQueryTemp) - 30; EndDate.DateTime := SGetServerDate10(ADOQueryTemp); if PState = 1 then begin end else begin CopyAddRow(Tv1, Order_Main); with Order_Main do begin Edit; FieldByName('ssType').Value := '缩水'; Post; end; end; end; procedure TFRMProductFYSSedit.InitData(); begin with ADOTemp do begin Close; SQL.Clear; sql.Add(' select * from JYOrder_SS where 1=1 '); if PState = 1 then begin sql.Add(' and SSId=''' + Trim(FSSId) + ''''); end; if PState = 0 then begin sql.Add(' and 1<>1'); end; sql.Add(' order by SSId '); Open; end; SCreateCDS20(ADOTemp, Order_Main); SInitCDSData20(ADOTemp, Order_Main); if CopyInt = 99 then begin PState := 0; FSSId := ''; with Order_Main do begin First; while not Eof do begin Edit; FieldByName('SSId').Value := ''; // FieldByName('SubId').Value := ''; Post; Next; end; end; end; end; function TFRMProductFYSSedit.SaveData(): Boolean; var maxno, Smaxno, maxorderno: string; begin try ADOCmd.Connection.BeginTrans; with Order_Main do begin First; while not Eof do begin if Trim(Order_Main.fieldbyname('SSId').AsString) = '' then begin if GetLSNo(ADOCmd, Smaxno, 'SS', 'JYOrder_SS', 4, 1) = False then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('取子流水号失败!', '提示', 0); Exit; end; end else begin Smaxno := Trim(Order_Main.fieldbyname('SSid').AsString); end; with ADOCmd do begin Close; SQL.Clear; sql.Add('select * from JYOrder_SS where '); sql.Add(' SSid=''' + Trim(Smaxno) + ''''); Open; end; with ADOCmd do begin if Trim(Order_main.fieldbyname('SSid').AsString) = '' then Append else Edit; // FieldByName('MainId').Value := Trim(maxno); FieldByName('SSid').Value := Trim(Smaxno); RTSetSaveDataCDS(ADOCmd, Tv1, Order_Main, 'JYOrder_SS', 0); FieldByName('Filler').Value := Trim(DName); FieldByName('DDTYpe').Value := '打样'; Post; end; Order_Main.Edit; Order_Main.FieldByName('SSid').Value := Trim(Smaxno); Next; end; end; ADOCmd.Connection.CommitTrans; Result := True; except Result := False; ADOCmd.Connection.RollbackTrans; application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0); end; end; procedure TFRMProductFYSSedit.TBSaveClick(Sender: TObject); begin if SaveData() then begin Application.MessageBox('保存成功!', '提示', 0); ModalResult := 1; end; end; procedure TFRMProductFYSSedit.TBCloseClick(Sender: TObject); begin Close; WriteCxGrid('缩水录入', Tv1, '缩水管理'); end; procedure TFRMProductFYSSedit.v1ConNoPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmProductOrderListSel := TfrmProductOrderListSel.Create(Application); with frmProductOrderListSel do begin if ShowModal = 1 then begin with Self.Order_Main do begin edit; // Self.Order_Sub.FieldByName('mainid').Value := Trim(frmProductOrderListSel.Order_Main.fieldbyname('MainId').AsString); // Self.Order_Sub.FieldByName('subid').Value := Trim(frmProductOrderListSel.Order_Main.fieldbyname('SubId').AsString); Self.Order_Main.FieldByName('OrderNo').Value := Trim(frmProductOrderListSel.Order_Main.fieldbyname('ConNo').AsString); Self.Order_Main.FieldByName('SSCodeName').Value := Trim(frmProductOrderListSel.Order_Main.fieldbyname('MPRTCodeName').AsString); Self.Order_Main.FieldByName('SSCodeNo').Value := Trim(frmProductOrderListSel.Order_Main.fieldbyname('MPRTCode').AsString); Self.Order_Main.FieldByName('sscolor').Value := Trim(frmProductOrderListSel.Order_Main.fieldbyname('PRTColor').AsString); end; end; end; finally frmProductOrderListSel.Free; end; end; procedure TFRMProductFYSSedit.v1Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZdyAttachGYS := TfrmZdyAttachGYS.Create(Application); with frmZdyAttachGYS do begin CheckBox2.Checked := False; CheckBox1.Checked := True; if ShowModal = 1 then begin with Self.Order_Main do begin edit; FieldByName('RCFactoryNo').Value := Trim(frmZdyAttachGYS.CDS_HZ.fieldbyname('COCode').AsString); FieldByName('RCFactoryName').Value := Trim(frmZdyAttachGYS.CDS_HZ.fieldbyname('COName').AsString); end; end; end; finally frmZdyAttachGYS.Free; end; end; procedure TFRMProductFYSSedit.ToolButton2Click(Sender: TObject); begin if Order_Main.IsEmpty then Exit; Order_Main.Delete; end; procedure TFRMProductFYSSedit.v1MPRTKZPropertiesChange(Sender: TObject); var mvalue: string; begin mvalue := Trim(Order_Main.fieldbyname('SSGH').AsString); if Length(Trim(mvalue)) > 1 then begin mvalue := '%' + Trim(mvalue) + '%'; with ADOQuery1 do begin Close; sql.Clear; sql.Add('select A.* from CK_SXPB_CR A where A.CKName=''待检布'' and A.CRType in (''回修完成'',''加工完成'',''客户退货'',''改色完成'') '); sql.Add('and A.RCGangNo like ' + quotedstr('%' + trim(mvalue) + '%')); Sql.add('and CRTime>=''' + formatdateTime('yyyy-MM-dd', begdate.Date) + ''' '); Sql.add('and CRTime<''' + formatdateTime('yyyy-MM-dd', enddate.Date + 1) + ''' '); // ShowMessage(sql.text); Open; end; SCreateCDS20(ADOQuery1, CDS_Con); SInitCDSData20(ADOQuery1, CDS_CON); if CDS_Con.IsEmpty then Panel1.Visible := False else Panel1.Visible := True; end; end; procedure TFRMProductFYSSedit.v1MPRTKZPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); var mvalue: string; begin Panel1.Visible := True; mvalue := Trim(Order_Main.fieldbyname('SSGH').AsString); if Length(Trim(mvalue)) > 1 then begin mvalue := '%' + Trim(mvalue) + '%'; with ADOQuery1 do begin Close; sql.Clear; sql.Add('select A.* from CK_SXPB_CR A where A.CKName=''待检布'' and A.CRType in (''回修完成'',''加工完成'',''客户退货'',''改色完成'') '); sql.Add('and A.RCGangNo like ' + quotedstr('%' + trim(mvalue) + '%')); Sql.add('and CRTime>=''' + formatdateTime('yyyy-MM-dd', begdate.Date) + ''' '); Sql.add('and CRTime<''' + formatdateTime('yyyy-MM-dd', enddate.Date + 1) + ''' '); // ShowMessage(sql.text); Open; end; SCreateCDS20(ADOQuery1, CDS_Con); SInitCDSData20(ADOQuery1, CDS_CON); // if CDS_Con.IsEmpty then // cxGrid4.Visible := False // else // cxGrid4.Visible := True; end; end; procedure TFRMProductFYSSedit.TV4DblClick(Sender: TObject); begin // conno.OnChange := nil; // Order_Sub.EmptyDataSet; Panel1.Visible := False; // conNo.Text := CDS_CON.fieldbyname('conNO').AsString; Panel1.Visible := False; with ADOQuery1 do begin Close; sql.Clear; sql.Add('select * from CK_SXPB_CR where SPID=' + quotedstr(trim(CDS_CON.fieldbyname('SPID').AsString))); Open; end; if not ADOQuery1.IsEmpty then begin with ADOQuery1 do begin // First; // while not Eof do // begin with Order_main do begin edit; FieldByName('OrderNo').Value := Trim(ADOQuery1.fieldbyname('conno').AsString); FieldByName('SSGH').Value := Trim(ADOQuery1.fieldbyname('RCGangNo').AsString); FieldByName('SSCodeName').Value := Trim(ADOQuery1.fieldbyname('SPName').AsString); FieldByName('SScolor').Value := Trim(ADOQuery1.fieldbyname('SPColor').AsString); FieldByName('RCFactoryName').Value := Trim(ADOQuery1.fieldbyname('FactoryName').AsString); FieldByName('PBFactoryName').Value := Trim(ADOQuery1.fieldbyname('PBFactoryName').AsString); Post; end; // Next; // end; end; end; // conno.OnChange := ConNoChange; end; procedure TFRMProductFYSSedit.RCGangNoKeyPress(Sender: TObject; var Key: Char); var mvalue: string; begin mvalue := Trim(RCGangNo.text); if Length(Trim(mvalue)) > 1 then begin mvalue := '%' + Trim(mvalue) + '%'; with ADOQuery1 do begin Close; sql.Clear; sql.Add('select A.* from CK_SXPB_CR A where A.CKName=''待检布'' and A.CRType in (''回修完成'',''加工完成'',''客户退货'',''改色完成'') '); sql.Add('and A.RCGangNo like ' + quotedstr('%' + trim(mvalue) + '%')); Sql.add('and CRTime>=''' + formatdateTime('yyyy-MM-dd', begdate.Date) + ''' '); Sql.add('and CRTime<''' + formatdateTime('yyyy-MM-dd', enddate.Date + 1) + ''' '); // ShowMessage(sql.text); Open; end; SCreateCDS20(ADOQuery1, CDS_Con); SInitCDSData20(ADOQuery1, CDS_CON); if CDS_Con.IsEmpty then Panel1.Visible := False else Panel1.Visible := True; end; end; end.