diff --git a/基础资料维护(BaseInfo.dll)/U_GetDllForm.pas b/基础资料维护(BaseInfo.dll)/U_GetDllForm.pas index 3901324..7b20a63 100644 --- a/基础资料维护(BaseInfo.dll)/U_GetDllForm.pas +++ b/基础资料维护(BaseInfo.dll)/U_GetDllForm.pas @@ -26,6 +26,8 @@ uses ///////////////////////////////////////////////////////////////// function GetDllForm(App: Tapplication; FormH: hwnd; FormID: integer; Language: integer; WinStyle: integer; GCode: Pchar; GName: Pchar; DataBase: Pchar; Title: PChar; Parameters1: PChar; Parameters2: PChar; Parameters3: PChar; Parameters4: PChar; Parameters5: PChar; Parameters6: PChar; Parameters7: PChar; Parameters8: PChar; Parameters9: PChar; Parameters10: PChar; DataBaseStr: PChar): hwnd; var + i: Integer; + bFound: Boolean; mnewHandle: hwnd; mstyle: TFormStyle; // 0:Ӵ; 1ͨ mstate: TWindowState; @@ -49,9 +51,9 @@ begin MainApplication := App; DCurHandle := FormH; - IsDelphiLanguage := Language; + IsDelphiLanguage := Language; - Application := TApplication(App); + Application := TApplication(App); DCurHandle := 0; @@ -69,7 +71,7 @@ begin DConString := 'Provider=SQLOLEDB.1;Password=' + pswd + ';Persist Security Info=True;User ID=' + user + ';Initial Catalog=' + dtbase + ';Data Source=' + server; if trim(DataBaseStr) <> '' then DConString := DataBaseStr; -// DParameters2:=''; +// DParameters2:=''; // DParameters1:='ѯ'; // DParameters1:='1'; // DataBase:='ӹ'; @@ -120,6 +122,69 @@ begin mnewHandle := frmZdyAttachment.Handle; end; + 21: //Ӧά() + begin + bFound := FALSE; + for i := (App.MainForm.MDIChildCount - 1) downto 0 do + begin + if App.MainForm.MDIChildren[i].Caption = '' then + begin + BringWindowToTop(frmZdyAttachGYS.Handle); + bFound := TRUE; + Break; + end; + end; + if not bFound then + begin + frmZdyAttachGYS := TfrmZdyAttachGYS.Create(application.MainForm); + with frmZdyAttachGYS do + begin + fDEFstr5 := trim(DParameters2); + Title := ''; + caption := Trim(Title); + FormStyle := mstyle; + windowState := mstate; + BorderStyle := mborderstyle; + //show; + end; + end + else + frmZdyAttachGYS.BringToFront; + // + mnewHandle := frmZdyAttachGYS.Handle; + end; + 22: //Ӧά(ӹ Ⱦ) + begin + bFound := FALSE; + for i := (App.MainForm.MDIChildCount - 1) downto 0 do + begin + if App.MainForm.MDIChildren[i].Caption = 'ӹ' then + begin + BringWindowToTop(frmZdyAttachGYS.Handle); + bFound := TRUE; + Break; + end; + end; + if not bFound then + begin + frmZdyAttachGYS := TfrmZdyAttachGYS.Create(application.MainForm); + with frmZdyAttachGYS do + begin + fDEFstr5 := trim(DParameters2); + Title := 'ӹ'; + caption := Trim(Title); + FormStyle := mstyle; + windowState := mstate; + BorderStyle := mborderstyle; + //show; + end; + end + else + frmZdyAttachGYS.BringToFront; + // + mnewHandle := frmZdyAttachGYS.Handle; + end; + 2: //Ӧά begin if frmZdyAttachGYS = nil then @@ -128,7 +193,7 @@ begin with frmZdyAttachGYS do begin caption := Trim(Title); - fDEFstr5:=trim(DParameters2); + fDEFstr5 := trim(DParameters2); // fDEFstr5 := trim(DataBase); FormStyle := mstyle; windowState := mstate; @@ -140,7 +205,6 @@ begin frmZdyAttachGYS.BringToFront; // mnewHandle := frmZdyAttachGYS.Handle; - end; 3: //Ʒά begin diff --git a/基础资料维护(BaseInfo.dll)/U_ZdyAttInputCP.pas b/基础资料维护(BaseInfo.dll)/U_ZdyAttInputCP.pas index 4ec7768..7718210 100644 --- a/基础资料维护(BaseInfo.dll)/U_ZdyAttInputCP.pas +++ b/基础资料维护(BaseInfo.dll)/U_ZdyAttInputCP.pas @@ -159,14 +159,14 @@ end; procedure TfrmZdyAttInputCP.TBCloseClick(Sender: TObject); begin - WriteCxGrid('Ʒ¼1', Tv2, 'ͻԶ'); + WriteCxGrid('Ʒ¼1', Tv2, 'ƷԶ'); Close; ModalResult := 1; end; procedure TfrmZdyAttInputCP.FormShow(Sender: TObject); begin - ReadCxGrid('Ʒ¼1', Tv2, 'ͻԶ'); + ReadCxGrid('Ʒ¼1', Tv2, 'ƷԶ'); InitGrid(); Initsub(); if Trim(FCYID) = '' then diff --git a/基础资料维护(BaseInfo.dll)/U_ZdyAttInputPB.pas b/基础资料维护(BaseInfo.dll)/U_ZdyAttInputPB.pas index 9ec93c0..2fa527e 100644 --- a/基础资料维护(BaseInfo.dll)/U_ZdyAttInputPB.pas +++ b/基础资料维护(BaseInfo.dll)/U_ZdyAttInputPB.pas @@ -120,14 +120,14 @@ end; procedure TfrmZdyAttInputPB.TBCloseClick(Sender: TObject); begin - WriteCxGrid('Ʒ¼1', Tv2, 'ͻԶ'); + WriteCxGrid('¼1', Tv2, 'Զ'); Close; ModalResult := 1; end; procedure TfrmZdyAttInputPB.FormShow(Sender: TObject); begin - ReadCxGrid('Ʒ¼1', Tv2, 'ͻԶ'); + ReadCxGrid('¼1', Tv2, 'Զ'); InitGrid(); if Trim(FCYID) = '' then begin diff --git a/基础资料维护(BaseInfo.dll)/U_ZdyAttachCP.dfm b/基础资料维护(BaseInfo.dll)/U_ZdyAttachCP.dfm index 6ab7a5d..77eb63b 100644 --- a/基础资料维护(BaseInfo.dll)/U_ZdyAttachCP.dfm +++ b/基础资料维护(BaseInfo.dll)/U_ZdyAttachCP.dfm @@ -22,7 +22,7 @@ object frmZdyAttachCP: TfrmZdyAttachCP Width = 1135 Height = 31 ButtonHeight = 30 - ButtonWidth = 113 + ButtonWidth = 125 Caption = 'ToolBar1' Color = clSkyBlue DisabledImages = DataLink_BaseInfo.ThreeImgList @@ -72,15 +72,24 @@ object frmZdyAttachCP: TfrmZdyAttachCP ImageIndex = 17 OnClick = TBDelClick end - object ToolButton5: TToolButton + object ToolButton7: TToolButton Left = 315 Top = 0 + AutoSize = True Caption = #25552#21462'Excel'#25968#25454 ImageIndex = 106 + OnClick = ToolButton7Click + end + object ToolButton5: TToolButton + Left = 432 + Top = 0 + Caption = #25552#21462'Excel'#25968#25454'12' + ImageIndex = 106 + Visible = False OnClick = ToolButton5Click end object ToolButton1: TToolButton - Left = 428 + Left = 557 Top = 0 AutoSize = True Caption = #23548#20986 @@ -88,7 +97,7 @@ object frmZdyAttachCP: TfrmZdyAttachCP OnClick = ToolButton1Click end object ToolButton6: TToolButton - Left = 491 + Left = 620 Top = 0 AutoSize = True Caption = #25171#21360#26631#31614 @@ -97,7 +106,7 @@ object frmZdyAttachCP: TfrmZdyAttachCP OnClick = ToolButton6Click end object TBClose: TToolButton - Left = 578 + Left = 707 Top = 0 AutoSize = True Caption = #20851#38381 @@ -540,4 +549,10 @@ object frmZdyAttachCP: TfrmZdyAttachCP Left = 1083 Top = 551 end + object CDS_LM: TClientDataSet + Aggregates = <> + Params = <> + Left = 208 + Top = 392 + end end diff --git a/基础资料维护(BaseInfo.dll)/U_ZdyAttachCP.pas b/基础资料维护(BaseInfo.dll)/U_ZdyAttachCP.pas index d2cd7a4..6c6718e 100644 --- a/基础资料维护(BaseInfo.dll)/U_ZdyAttachCP.pas +++ b/基础资料维护(BaseInfo.dll)/U_ZdyAttachCP.pas @@ -32,7 +32,7 @@ type FdDy = record inc: integer; //ͻ׽־ FDdys: string[32]; //ͻ׽ - FdDysName: string[32]; //ͻ׽ + FdDysName: string[32]; //ͻ׽ end; TfrmZdyAttachCP = class(TForm) @@ -95,6 +95,8 @@ type Tv2Column4: TcxGridDBColumn; Tv2Column5: TcxGridDBColumn; Tv2Column6: TcxGridDBColumn; + ToolButton7: TToolButton; + CDS_LM: TClientDataSet; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); @@ -111,6 +113,7 @@ type procedure cxButton1Click(Sender: TObject); procedure ToolButton6Click(Sender: TObject); procedure Tv2FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); + procedure ToolButton7Click(Sender: TObject); private { Private declarations } procedure InitGrid(); @@ -132,11 +135,11 @@ uses procedure TfrmZdyAttachCP.InitGrid(); begin try - ADOQueryMain.DisableControls; + ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; - Close; + Close; SQL.Clear; sql.Add(' select ATID,ZdyName,ZdyCode,DEFstr1,DEFstr2,defNote1,Mrate,defNote2,defNote3,DEFstr3,DEFstr5,DEFstr4,DEFstr10,'); sql.Add(' DEFstr6,DEFstr7,DEFstr8,Note,DEFstr4,DEFstr5,defflt1,Filler,FillTime,CPFile '); @@ -166,7 +169,7 @@ end; procedure TfrmZdyAttachCP.TBCloseClick(Sender: TObject); begin - WriteCxGrid('Ʒ13', Tv2, 'ͻԶ'); + WriteCxGrid('Ʒ13', Tv2, 'ƷԶ'); Close; end; @@ -193,7 +196,7 @@ end; procedure TfrmZdyAttachCP.FormShow(Sender: TObject); begin - ReadCxGrid('Ʒ13', Tv2, 'ͻԶ'); + ReadCxGrid('Ʒ13', Tv2, 'ƷԶ'); InitGrid(); end; @@ -267,7 +270,6 @@ var i, j, k, ExcelRowCount: integer; maxId: string; begin - try excelApp := CreateOleObject('Excel.Application'); openDialog1.Filter := '*.CSV;*.xls'; @@ -469,5 +471,161 @@ begin end; end; +procedure TfrmZdyAttachCP.ToolButton7Click(Sender: TObject); +var + excelApp, WorkBook: Variant; + i, j, k, LX, ExcelRowCount: integer; + maxId, FCPID, FCPName, t1, t2, t3, FFID: string; +begin + with CDS_LM do + begin + FieldDefs.Clear; + FieldDefs.Add('LXH', ftInteger, 0); + FieldDefs.Add('lCode', ftString, 40); + FieldDefs.Add('LName', ftString, 40); + close; + CreateDataSet; + end; + try + excelApp := CreateOleObject('Excel.Application'); + openDialog1.Filter := '*.CSV;*.xls'; + if opendialog1.Execute then + begin + WorkBook := excelApp.WorkBooks.Open(OpenDialog1.FileName); + end + else + exit; + excelApp.Visible := false; + ExcelRowCount := WorkBook.WorkSheets[1].UsedRange.Rows.Count; + except + application.MessageBox('EXCEL', 'Ϣ', MB_ICONERROR); + exit; + end; + + CDS_LM.EmptyDataSet; + + for j := 0 to Tv2.ColumnCount - 1 do + begin + with CDS_LM do + begin + Append; + FieldByName('LCode').Value := trim(Tv2.Columns[j].DataBinding.FieldName); + FieldByName('LName').Value := trim(Tv2.Columns[j].Caption); + Post; + end; + end; + + try + for i := 1 to 50 do + begin + if trim(WorkBook.WorkSheets[1].Cells[1, i].value) = '' then + continue; + if CDS_LM.Locate('LName', trim(WorkBook.WorkSheets[1].Cells[1, i].value), []) then + begin + with CDS_LM do + begin + Edit; + FieldByName('LXH').Value := i; + Post; + end; + end; + end; + except + application.MessageBox('', 'Ϣ', MB_ICONERROR); + exit; + end; + ADOQueryCmd.Connection.BeginTrans; + try + for i := 2 to ExcelRowCount do + begin + if GetLSNo(ADOQueryCmd, maxId, 'AT', 'KH_Zdy_Attachment', 4, 1) = False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ', 'ʾ', 0); + Exit; + end; + + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('select * from KH_Zdy_Attachment where 1=2'); + open; + end; + ADOQueryCmd.Append; + with CDS_HZ do + begin + Append; + CDS_LM.First; + while not CDS_LM.Eof do + begin + if CDS_LM.FieldByName('LXH').AsInteger > 0 then + ADOQueryCmd.fieldbyname(CDS_LM.FieldByName('LCode').AsString).Value := WorkBook.WorkSheets[1].Cells[i, CDS_LM.FieldByName('LXH').AsInteger].Value; + ADOQueryCmd.FieldByName('ATID').Value := Trim(maxId); + ADOQueryCmd.FieldByName('Filler').Value := Trim(DName); + ADOQueryCmd.FieldByName('FillTime').Value := SGetServerDateTime(ADOQueryTemp); + ADOQueryCmd.FieldByName('Type').Value := 'CP'; + + CDS_LM.Next; + end; + ADOQueryCmd.Post; + end; +// for j := 0 to k - 1 do +// begin +// ADOQueryCmd.fieldbyname(dFdDy[j].FDdys).Value := excelApp.Cells[i, dFdDy[j].inc].Value; +// end; +// ADOQueryCmd.FieldByName('ATID').Value := Trim(maxId); +// ADOQueryCmd.FieldByName('zdyCode').Value := Trim(maxId); +// ADOQueryCmd.FieldByName('khType').Value := Trim(fkhType); +// ADOQueryCmd.FieldByName('Type').Value := 'CP'; +// ADOQueryCmd.FieldByName('Filler').Value := Trim(DName); +// ADOQueryCmd.Post; + + end; + WorkBook.Close; + excelApp.Quit; + excelApp := Unassigned; + WorkBook := Unassigned; + ADOQueryCmd.Connection.CommitTrans; + InitGrid(); + except + WorkBook.Close; + excelApp.Quit; + excelApp := Unassigned; + WorkBook := Unassigned; + ADOQueryCmd.Connection.RollbackTrans; + end; +// try +// for i := 2 to ExcelRowCount do +// begin +// with CDS_HZ do +// begin +// Append; +// CDS_LM.First; +// while not CDS_LM.Eof do +// begin +// if CDS_LM.FieldByName('LXH').AsInteger > 0 then +// CDS_HZ.fieldbyname(CDS_LM.FieldByName('LCode').AsString).Value := WorkBook.WorkSheets[1].Cells[i, CDS_LM.FieldByName('LXH').AsInteger].Value; +// CDS_LM.Next; +// end; +//// CDS_Import.fieldbyname('OurCoNo').Value := '91330602MA2JTEXX4B'; +//// CDS_Import.fieldbyname('OurCoName').Value := 'ԲԲ'; +// Post; +// +// end; +// end; +// WorkBook.Close; +// excelApp.Quit; +// excelApp := Unassigned; +// WorkBook := Unassigned; +// except +// WorkBook.Close; +// excelApp.Quit; +// excelApp := Unassigned; +// WorkBook := Unassigned; +// exit; +// end; +end; + end. diff --git a/基础资料维护(BaseInfo.dll)/U_ZdyAttachPB.dfm b/基础资料维护(BaseInfo.dll)/U_ZdyAttachPB.dfm index c842d46..1ab56b4 100644 --- a/基础资料维护(BaseInfo.dll)/U_ZdyAttachPB.dfm +++ b/基础资料维护(BaseInfo.dll)/U_ZdyAttachPB.dfm @@ -22,7 +22,7 @@ object frmZdyAttachPB: TfrmZdyAttachPB Width = 1059 Height = 31 ButtonHeight = 30 - ButtonWidth = 113 + ButtonWidth = 125 Caption = 'ToolBar1' Color = clSkyBlue DisabledImages = DataLink_BaseInfo.ThreeImgList @@ -72,15 +72,24 @@ object frmZdyAttachPB: TfrmZdyAttachPB ImageIndex = 17 OnClick = TBDelClick end - object ToolButton5: TToolButton + object ToolButton7: TToolButton Left = 315 Top = 0 + AutoSize = True Caption = #25552#21462'Excel'#25968#25454 ImageIndex = 106 + OnClick = ToolButton7Click + end + object ToolButton5: TToolButton + Left = 432 + Top = 0 + Caption = #25552#21462'Excel'#25968#25454'12' + ImageIndex = 106 + Visible = False OnClick = ToolButton5Click end object ToolButton1: TToolButton - Left = 428 + Left = 557 Top = 0 AutoSize = True Caption = #23548#20986 @@ -88,7 +97,7 @@ object frmZdyAttachPB: TfrmZdyAttachPB OnClick = ToolButton1Click end object ToolButton6: TToolButton - Left = 491 + Left = 620 Top = 0 AutoSize = True Caption = #25171#21360#26631#31614 @@ -97,7 +106,7 @@ object frmZdyAttachPB: TfrmZdyAttachPB OnClick = ToolButton6Click end object TBClose: TToolButton - Left = 578 + Left = 707 Top = 0 AutoSize = True Caption = #20851#38381 @@ -452,4 +461,10 @@ object frmZdyAttachPB: TfrmZdyAttachPB Left = 936 Top = 41 end + object CDS_LM: TClientDataSet + Aggregates = <> + Params = <> + Left = 96 + Top = 224 + end end diff --git a/基础资料维护(BaseInfo.dll)/U_ZdyAttachPB.pas b/基础资料维护(BaseInfo.dll)/U_ZdyAttachPB.pas index b1c2321..36e4b03 100644 --- a/基础资料维护(BaseInfo.dll)/U_ZdyAttachPB.pas +++ b/基础资料维护(BaseInfo.dll)/U_ZdyAttachPB.pas @@ -85,6 +85,8 @@ type Tv2Column3: TcxGridDBColumn; Tv2Column4: TcxGridDBColumn; Tv2Column5: TcxGridDBColumn; + ToolButton7: TToolButton; + CDS_LM: TClientDataSet; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); @@ -100,6 +102,7 @@ type procedure cxButton2Click(Sender: TObject); procedure cxButton1Click(Sender: TObject); procedure ToolButton6Click(Sender: TObject); + procedure ToolButton7Click(Sender: TObject); private { Private declarations } procedure InitGrid(); @@ -154,7 +157,7 @@ end; procedure TfrmZdyAttachPB.TBCloseClick(Sender: TObject); begin - WriteCxGrid('Ʒ131', Tv2, 'ͻԶ131'); + WriteCxGrid('131', Tv2, 'Զ131'); Close; end; @@ -174,13 +177,13 @@ begin sql.Add('delete KH_Zdy where ZdyNo=''' + Trim(CDS_HZ.fieldbyname('ATID').AsString) + ''''); ExecSQL; end; - end; + end; CDS_HZ.Delete; end; procedure TfrmZdyAttachPB.FormShow(Sender: TObject); begin - ReadCxGrid('Ʒ131', Tv2, 'ͻԶ131'); + ReadCxGrid('131', Tv2, 'Զ131'); InitGrid(); end; @@ -433,5 +436,122 @@ begin Panel2.Visible := true; end; +procedure TfrmZdyAttachPB.ToolButton7Click(Sender: TObject); +var + excelApp, WorkBook: Variant; + i, j, k, LX, ExcelRowCount: integer; + maxId, FCPID, FCPName, t1, t2, t3, FFID: string; +begin + with CDS_LM do + begin + FieldDefs.Clear; + FieldDefs.Add('LXH', ftInteger, 0); + FieldDefs.Add('lCode', ftString, 40); + FieldDefs.Add('LName', ftString, 40); + close; + CreateDataSet; + end; + try + excelApp := CreateOleObject('Excel.Application'); + openDialog1.Filter := '*.CSV;*.xls'; + if opendialog1.Execute then + begin + WorkBook := excelApp.WorkBooks.Open(OpenDialog1.FileName); + end + else + exit; + excelApp.Visible := false; + ExcelRowCount := WorkBook.WorkSheets[1].UsedRange.Rows.Count; + except + application.MessageBox('EXCEL', 'Ϣ', MB_ICONERROR); + exit; + end; + + CDS_LM.EmptyDataSet; + + for j := 0 to Tv2.ColumnCount - 1 do + begin + with CDS_LM do + begin + Append; + FieldByName('LCode').Value := trim(Tv2.Columns[j].DataBinding.FieldName); + FieldByName('LName').Value := trim(Tv2.Columns[j].Caption); + Post; + end; + end; + + try + for i := 1 to 50 do + begin + if trim(WorkBook.WorkSheets[1].Cells[1, i].value) = '' then + continue; + if CDS_LM.Locate('LName', trim(WorkBook.WorkSheets[1].Cells[1, i].value), []) then + begin + with CDS_LM do + begin + Edit; + FieldByName('LXH').Value := i; + Post; + end; + end; + end; + except + application.MessageBox('', 'Ϣ', MB_ICONERROR); + exit; + end; + ADOQueryCmd.Connection.BeginTrans; + try + for i := 2 to ExcelRowCount do + begin + if GetLSNo(ADOQueryCmd, maxId, 'AT', 'KH_Zdy_Attachment', 4, 1) = False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ', 'ʾ', 0); + Exit; + end; + + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('select * from KH_Zdy_Attachment where 1=2'); + open; + end; + ADOQueryCmd.Append; + with CDS_HZ do + begin + Append; + CDS_LM.First; + while not CDS_LM.Eof do + begin + if CDS_LM.FieldByName('LXH').AsInteger > 0 then + ADOQueryCmd.fieldbyname(CDS_LM.FieldByName('LCode').AsString).Value := WorkBook.WorkSheets[1].Cells[i, CDS_LM.FieldByName('LXH').AsInteger].Value; + ADOQueryCmd.FieldByName('ATID').Value := Trim(maxId); + ADOQueryCmd.FieldByName('Filler').Value := Trim(DName); + ADOQueryCmd.FieldByName('FillTime').Value := SGetServerDateTime(ADOQueryTemp); + ADOQueryCmd.FieldByName('Type').Value := 'CP'; + + CDS_LM.Next; + end; + ADOQueryCmd.Post; + end; + + end; + WorkBook.Close; + excelApp.Quit; + excelApp := Unassigned; + WorkBook := Unassigned; + ADOQueryCmd.Connection.CommitTrans; + InitGrid(); + except + WorkBook.Close; + excelApp.Quit; + excelApp := Unassigned; + WorkBook := Unassigned; + ADOQueryCmd.Connection.RollbackTrans; + end; + +end; + end. diff --git a/管理系统/U_ClothContractList_TP.pas b/管理系统/U_ClothContractList_TP.pas index a14be4d..3a19511 100644 --- a/管理系统/U_ClothContractList_TP.pas +++ b/管理系统/U_ClothContractList_TP.pas @@ -429,11 +429,11 @@ begin with frmClothContractInPut_Tp do begin PState := 0; - FMainId := ''; + FMainId := ''; FConType := 'ԤͶ'; if ShowModal = 1 then begin - TBRafresh.Click; + TBRafresh.Click; end; end; finally