From 5f2b9ee6fe04d385e15c5f7fc9df5e63277ec33b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cddf=E2=80=9D?= <“ddf668490@163.com”> Date: Tue, 17 Dec 2024 17:25:32 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=80=E8=B4=A7=E7=94=B3=E8=AF=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- A00通用窗体/U_ClothInfoSel.dfm | 158 +- A00通用窗体/U_ClothInfoSel.pas | 59 +- A02基础产品管理/U_ClothInfo.dfm | 9 +- A02基础产品管理/U_ClothInfoInput.dfm | 20 +- A02基础产品管理11/ClothInfo.res | Bin 1484 -> 0 bytes A02基础产品管理11/U_CloInfoFileUp.dfm | 266 ---- A02基础产品管理11/U_CloInfoFileUp.pas | 382 ----- A02基础产品管理11/U_ClothInfo.dfm | 950 ----------- A02基础产品管理11/U_ClothInfo.pas | 867 ----------- A02基础产品管理11/U_ClothInfoInput.dfm | 435 ------ A02基础产品管理11/U_ClothInfoInput.pas | 433 ----- A02基础产品管理11/U_ClothInfoInput_Tat.dfm | 410 ----- A02基础产品管理11/U_ClothInfoInput_Tat.pas | 348 ----- A02基础产品管理11/U_ClothInfo_Tat.dfm | 846 ---------- A02基础产品管理11/U_ClothInfo_Tat.pas | 822 ---------- A02基础产品管理11/U_ClothType.dfm | 200 --- A02基础产品管理11/U_ClothType.pas | 251 --- A02基础产品管理11/U_SLT.dfm | 35 - A02基础产品管理11/U_SLT.pas | 77 - A02基础产品管理11/U_YPTypeHelpCP.dfm | 66 - A02基础产品管理11/U_YPTypeHelpCP.pas | 73 - A05基础资料管理/AllSkins.skinres | Bin 0 -> 686051 bytes A05基础资料管理/BaseInfo.dpr | 9 +- A05基础资料管理/BaseInfo.dproj | 24 +- A05基础资料管理/BaseInfo.skincfg | 114 +- A05基础资料管理/U_DataLink.dfm | 157 +- A05基础资料管理/U_DataLink.pas | 23 +- A05基础资料管理/U_GetDllForm.pas | 11 +- A05基础资料管理/U_MachineInPut.dfm | 183 +++ A05基础资料管理/U_MachineInPut.pas | 235 +++ A05基础资料管理/U_MachineManage.dfm | 120 +- A05基础资料管理/U_MachineManage.pas | 165 +- A05基础资料管理/U_PositionInPut.dfm | 245 +++ A05基础资料管理/U_PositionInPut.pas | 252 +++ A05基础资料管理/U_PositionList.dfm | 79 +- A05基础资料管理/U_PositionList.pas | 114 +- T01贸易生产计划/TradePlan.dproj | 2 +- T01贸易生产计划/U_GetDllForm.pas | 7 +- T01贸易生产计划/U_TradePlanInPut.dfm | 219 ++- T01贸易生产计划/U_TradePlanInPut.pas | 129 +- T02贸易汇总仓库/TradeTotalClothStk.dpr | 4 +- T02贸易汇总仓库/TradeTotalClothStk.dproj | 10 +- T02贸易汇总仓库/U_ClothScheduleList.dfm | 106 +- T02贸易汇总仓库/U_ClothScheduleList.pas | 3 - T02贸易汇总仓库/U_GetDllForm.pas | 21 +- .../U_TradeClothProcessCastingInput.pas | 4 +- T02贸易汇总仓库/U_TradeClothTotalInList.dfm | 2 + T02贸易汇总仓库/U_TradeDeliveryRequest.dfm | 17 +- T02贸易汇总仓库/U_TradeRRInPut.dfm | 379 +++++ T02贸易汇总仓库/U_TradeRRInPut.pas | 448 ++++++ T02贸易汇总仓库/U_TradeRRList.dfm | 629 ++++++++ T02贸易汇总仓库/U_TradeRRList.pas | 746 +++++++++ T05贸易门市管理/AllSkins.skinres | Bin 0 -> 686051 bytes .../File.INI | 0 .../FileHelp.ini | 0 .../InformationBase_Icon.ico | Bin .../ProjectGroup1.bpg | 0 .../ProjectGroup1.groupproj | 20 +- .../SYSTEMSET.ini | 0 .../TradeMarket.dpr | 25 +- .../TradeMarket.dproj | 77 +- T05贸易门市管理/TradeMarket.res | Bin 0 -> 1496 bytes .../U_DataLink.dfm | 155 +- .../U_DataLink.pas | 54 +- .../U_GetDllForm.pas | 33 +- T05贸易门市管理/U_TradeDispatchedList.dfm | 883 +++++++++++ T05贸易门市管理/U_TradeDispatchedList.pas | 1387 +++++++++++++++++ T05贸易门市管理/U_TradeDispatchedSel.dfm | 458 ++++++ T05贸易门市管理/U_TradeDispatchedSel.pas | 449 ++++++ T05贸易门市管理/U_TradeMarketDisScan.dfm | 722 +++++++++ T05贸易门市管理/U_TradeMarketDisScan.pas | 593 +++++++ T05贸易门市管理/U_TradeMarketDisSel.dfm | 861 ++++++++++ T05贸易门市管理/U_TradeMarketDisSel.pas | 468 ++++++ T05贸易门市管理/U_TradeMarketInPut.dfm | 751 +++++++++ T05贸易门市管理/U_TradeMarketInPut.pas | 1345 ++++++++++++++++ T05贸易门市管理/U_TradeMarketList.dfm | 722 +++++++++ T05贸易门市管理/U_TradeMarketList.pas | 1036 ++++++++++++ .../U_iniParam.pas | 0 .../U_testdll.dfm | 2 +- .../U_testdll.pas | 2 +- T05贸易门市管理/Unit1.dfm | 64 + T05贸易门市管理/Unit1.pas | 106 ++ .../consvr.ini | 0 .../testDll.cfg | 0 .../testDll.dof | 0 .../testDll.dpr | 0 .../testDll.dproj | 0 .../testDll.res | Bin .../testDllDJ.cfg | 0 .../testDllDJ.dof | 0 .../testDllDJ.res | Bin .../testDll_Icon.ico | Bin 92 files changed, 13848 insertions(+), 7529 deletions(-) delete mode 100644 A02基础产品管理11/ClothInfo.res delete mode 100644 A02基础产品管理11/U_CloInfoFileUp.dfm delete mode 100644 A02基础产品管理11/U_CloInfoFileUp.pas delete mode 100644 A02基础产品管理11/U_ClothInfo.dfm delete mode 100644 A02基础产品管理11/U_ClothInfo.pas delete mode 100644 A02基础产品管理11/U_ClothInfoInput.dfm delete mode 100644 A02基础产品管理11/U_ClothInfoInput.pas delete mode 100644 A02基础产品管理11/U_ClothInfoInput_Tat.dfm delete mode 100644 A02基础产品管理11/U_ClothInfoInput_Tat.pas delete mode 100644 A02基础产品管理11/U_ClothInfo_Tat.dfm delete mode 100644 A02基础产品管理11/U_ClothInfo_Tat.pas delete mode 100644 A02基础产品管理11/U_ClothType.dfm delete mode 100644 A02基础产品管理11/U_ClothType.pas delete mode 100644 A02基础产品管理11/U_SLT.dfm delete mode 100644 A02基础产品管理11/U_SLT.pas delete mode 100644 A02基础产品管理11/U_YPTypeHelpCP.dfm delete mode 100644 A02基础产品管理11/U_YPTypeHelpCP.pas create mode 100644 A05基础资料管理/AllSkins.skinres create mode 100644 A05基础资料管理/U_MachineInPut.dfm create mode 100644 A05基础资料管理/U_MachineInPut.pas create mode 100644 A05基础资料管理/U_PositionInPut.dfm create mode 100644 A05基础资料管理/U_PositionInPut.pas create mode 100644 T02贸易汇总仓库/U_TradeRRInPut.dfm create mode 100644 T02贸易汇总仓库/U_TradeRRInPut.pas create mode 100644 T02贸易汇总仓库/U_TradeRRList.dfm create mode 100644 T02贸易汇总仓库/U_TradeRRList.pas create mode 100644 T05贸易门市管理/AllSkins.skinres rename {A02基础产品管理11 => T05贸易门市管理}/File.INI (100%) rename {A02基础产品管理11 => T05贸易门市管理}/FileHelp.ini (100%) rename {A02基础产品管理11 => T05贸易门市管理}/InformationBase_Icon.ico (100%) rename {A02基础产品管理11 => T05贸易门市管理}/ProjectGroup1.bpg (100%) rename {A02基础产品管理11 => T05贸易门市管理}/ProjectGroup1.groupproj (70%) rename {A02基础产品管理11 => T05贸易门市管理}/SYSTEMSET.ini (100%) rename A02基础产品管理11/ClothInfo.dpr => T05贸易门市管理/TradeMarket.dpr (58%) rename A02基础产品管理11/ClothInfo.dproj => T05贸易门市管理/TradeMarket.dproj (95%) create mode 100644 T05贸易门市管理/TradeMarket.res rename {A02基础产品管理11 => T05贸易门市管理}/U_DataLink.dfm (99%) rename {A02基础产品管理11 => T05贸易门市管理}/U_DataLink.pas (54%) rename {A02基础产品管理11 => T05贸易门市管理}/U_GetDllForm.pas (84%) create mode 100644 T05贸易门市管理/U_TradeDispatchedList.dfm create mode 100644 T05贸易门市管理/U_TradeDispatchedList.pas create mode 100644 T05贸易门市管理/U_TradeDispatchedSel.dfm create mode 100644 T05贸易门市管理/U_TradeDispatchedSel.pas create mode 100644 T05贸易门市管理/U_TradeMarketDisScan.dfm create mode 100644 T05贸易门市管理/U_TradeMarketDisScan.pas create mode 100644 T05贸易门市管理/U_TradeMarketDisSel.dfm create mode 100644 T05贸易门市管理/U_TradeMarketDisSel.pas create mode 100644 T05贸易门市管理/U_TradeMarketInPut.dfm create mode 100644 T05贸易门市管理/U_TradeMarketInPut.pas create mode 100644 T05贸易门市管理/U_TradeMarketList.dfm create mode 100644 T05贸易门市管理/U_TradeMarketList.pas rename {A02基础产品管理11 => T05贸易门市管理}/U_iniParam.pas (100%) rename {A02基础产品管理11 => T05贸易门市管理}/U_testdll.dfm (99%) rename {A02基础产品管理11 => T05贸易门市管理}/U_testdll.pas (98%) create mode 100644 T05贸易门市管理/Unit1.dfm create mode 100644 T05贸易门市管理/Unit1.pas rename {A02基础产品管理11 => T05贸易门市管理}/consvr.ini (100%) rename {A02基础产品管理11 => T05贸易门市管理}/testDll.cfg (100%) rename {A02基础产品管理11 => T05贸易门市管理}/testDll.dof (100%) rename {A02基础产品管理11 => T05贸易门市管理}/testDll.dpr (100%) rename {A02基础产品管理11 => T05贸易门市管理}/testDll.dproj (100%) rename {A02基础产品管理11 => T05贸易门市管理}/testDll.res (100%) rename {A02基础产品管理11 => T05贸易门市管理}/testDllDJ.cfg (100%) rename {A02基础产品管理11 => T05贸易门市管理}/testDllDJ.dof (100%) rename {A02基础产品管理11 => T05贸易门市管理}/testDllDJ.res (100%) rename {A02基础产品管理11 => T05贸易门市管理}/testDll_Icon.ico (100%) diff --git a/A00通用窗体/U_ClothInfoSel.dfm b/A00通用窗体/U_ClothInfoSel.dfm index 7300bc6..e17d58a 100644 --- a/A00通用窗体/U_ClothInfoSel.dfm +++ b/A00通用窗体/U_ClothInfoSel.dfm @@ -2,22 +2,22 @@ inherited frmClothInfoSel: TfrmClothInfoSel Left = 372 Top = 106 Caption = #20135#21697#20449#24687#36873#25321 - ClientHeight = 611 - ClientWidth = 1519 + ClientHeight = 813 + ClientWidth = 1807 Font.Charset = GB2312_CHARSET Font.Height = -16 Font.Name = #24494#36719#38597#40657 Position = poScreenCenter OnClose = FormClose - ExplicitWidth = 1535 - ExplicitHeight = 650 + ExplicitWidth = 1823 + ExplicitHeight = 852 PixelsPerInch = 96 TextHeight = 21 object ToolBar1: TToolBar [0] Tag = 1 Left = 0 Top = 0 - Width = 1519 + Width = 1807 Height = 30 AutoSize = True ButtonHeight = 30 @@ -28,6 +28,7 @@ inherited frmClothInfoSel: TfrmClothInfoSel List = True ShowCaptions = True TabOrder = 0 + ExplicitWidth = 1519 object ToolButton1: TToolButton Left = 0 Top = 0 @@ -57,7 +58,7 @@ inherited frmClothInfoSel: TfrmClothInfoSel Left = 0 Top = 119 Width = 216 - Height = 492 + Height = 694 Align = alLeft Bands = < item @@ -75,6 +76,7 @@ inherited frmClothInfoSel: TfrmClothInfoSel ScrollbarAnnotations.CustomAnnotations = <> TabOrder = 1 OnDblClick = cxDBTreeList1DblClick + ExplicitHeight = 492 object cxDBTreeList1cxDBTreeListColumn2: TcxDBTreeListColumn DataBinding.FieldName = 'CTName' Width = 210 @@ -88,32 +90,38 @@ inherited frmClothInfoSel: TfrmClothInfoSel object Panel3: TPanel [2] Left = 216 Top = 119 - Width = 1303 - Height = 492 + Width = 1591 + Height = 694 Align = alClient BevelInner = bvRaised BevelOuter = bvLowered Caption = 'Panel3' TabOrder = 2 + ExplicitLeft = 530 + ExplicitTop = 120 + ExplicitWidth = 1303 + ExplicitHeight = 492 object Panel7: TPanel Left = 2 Top = 2 - Width = 1299 + Width = 1587 Height = 40 Align = alTop BevelOuter = bvNone TabOrder = 0 + ExplicitWidth = 1299 object Panel4: TPanel Left = 0 Top = 0 - Width = 1299 + Width = 1587 Height = 40 Align = alClient AutoSize = True ParentColor = True TabOrder = 0 + ExplicitWidth = 1299 DesignSize = ( - 1299 + 1587 40) object Label14: TLabel Left = 19 @@ -193,7 +201,6 @@ inherited frmClothInfoSel: TfrmClothInfoSel Left = 661 Top = 2 ParentColor = True - ParentFont = False TabOrder = 3 OnKeyPress = cxtxtdtscanKeyPress Width = 172 @@ -203,16 +210,18 @@ inherited frmClothInfoSel: TfrmClothInfoSel object cxGrid1: TcxGrid Left = 2 Top = 42 - Width = 982 - Height = 448 + Width = 919 + Height = 650 Align = alClient TabOrder = 1 + ExplicitTop = 40 object Tv1: TcxGridDBTableView OnDblClick = Tv1DblClick Navigator.Buttons.CustomButtons = <> Navigator.Buttons.Delete.Enabled = False Navigator.Buttons.Delete.Visible = False ScrollbarAnnotations.CustomAnnotations = <> + OnFocusedRecordChanged = Tv1FocusedRecordChanged DataController.DataSource = DS_1 DataController.Filter.AutoDataSetFilter = True DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] @@ -246,7 +255,7 @@ inherited frmClothInfoSel: TfrmClothInfoSel DataBinding.IsNullValueType = True HeaderAlignmentHorz = taCenter Options.Editing = False - Width = 66 + Width = 124 end object v1Column9: TcxGridDBColumn Caption = #20013#25991#21697#21517 @@ -459,10 +468,10 @@ inherited frmClothInfoSel: TfrmClothInfoSel end end object GroupBox1: TGroupBox - Left = 984 + Left = 1272 Top = 42 Width = 317 - Height = 448 + Height = 650 Align = alRight Caption = #20505#36873#21462 Color = clWhite @@ -470,13 +479,16 @@ inherited frmClothInfoSel: TfrmClothInfoSel ParentColor = False TabOrder = 2 Visible = False + ExplicitLeft = 984 + ExplicitHeight = 448 object cxGrid2: TcxGrid Left = 2 Top = 23 Width = 313 - Height = 423 + Height = 625 Align = alClient TabOrder = 0 + ExplicitHeight = 423 object TV2: TcxGridDBTableView Navigator.Buttons.CustomButtons = <> Navigator.Buttons.Delete.Enabled = False @@ -532,17 +544,91 @@ inherited frmClothInfoSel: TfrmClothInfoSel end end end + object cxGrid3: TcxGrid + Left = 921 + Top = 42 + Width = 351 + Height = 650 + Align = alRight + TabOrder = 3 + object TV3: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + ScrollbarAnnotations.CustomAnnotations = <> + DataController.DataSource = DS_3 + DataController.Filter.AutoDataSetFilter = True + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = 'C_Code' + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + object TV3Column1: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'ssel' + DataBinding.IsNullValueType = True + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + HeaderAlignmentHorz = taCenter + end + object cxGridDBColumn1: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'C_Color' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + object cxGridDBColumn2: TcxGridDBColumn + Caption = #33394#21495 + DataBinding.FieldName = 'C_ColorNo' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 58 + end + object cxGridDBColumn3: TcxGridDBColumn + Caption = #33457#22411 + DataBinding.FieldName = 'C_Pattern' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 75 + end + object cxGridDBColumn8: TcxGridDBColumn + Caption = #27454#21495 + DataBinding.FieldName = 'C_StyleNo' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 58 + end + end + object cxGridLevel2: TcxGridLevel + GridView = TV3 + end + end end object Panel1: TPanel [3] Left = 0 Top = 30 - Width = 1519 + Width = 1807 Height = 89 Align = alTop BevelInner = bvRaised BevelOuter = bvLowered ParentColor = True TabOrder = 3 + ExplicitWidth = 1519 object Label3: TLabel Left = 1010 Top = 53 @@ -618,7 +704,6 @@ inherited frmClothInfoSel: TfrmClothInfoSel Left = 1078 Top = 47 ParentColor = True - ParentFont = False TabOrder = 0 OnKeyPress = GC_NameKeyPress Width = 150 @@ -628,7 +713,6 @@ inherited frmClothInfoSel: TfrmClothInfoSel Left = 1078 Top = 7 ParentColor = True - ParentFont = False TabOrder = 1 OnKeyPress = GC_NameKeyPress Width = 150 @@ -638,7 +722,6 @@ inherited frmClothInfoSel: TfrmClothInfoSel Left = 571 Top = 47 ParentColor = True - ParentFont = False TabOrder = 2 OnKeyPress = GC_NameKeyPress Width = 150 @@ -648,7 +731,6 @@ inherited frmClothInfoSel: TfrmClothInfoSel Left = 371 Top = 47 ParentColor = True - ParentFont = False TabOrder = 3 OnKeyPress = GC_NameKeyPress Width = 150 @@ -658,7 +740,6 @@ inherited frmClothInfoSel: TfrmClothInfoSel Left = 115 Top = 7 ParentColor = True - ParentFont = False TabOrder = 4 OnKeyPress = GC_NameKeyPress Width = 150 @@ -668,7 +749,6 @@ inherited frmClothInfoSel: TfrmClothInfoSel Left = 115 Top = 47 ParentColor = True - ParentFont = False TabOrder = 5 OnKeyPress = GC_NameKeyPress Width = 150 @@ -678,7 +758,6 @@ inherited frmClothInfoSel: TfrmClothInfoSel Left = 574 Top = 7 ParentColor = True - ParentFont = False TabOrder = 6 OnKeyPress = GC_NameKeyPress Width = 150 @@ -688,7 +767,6 @@ inherited frmClothInfoSel: TfrmClothInfoSel Left = 371 Top = 7 ParentColor = True - ParentFont = False TabOrder = 7 OnKeyPress = GC_NameKeyPress Width = 150 @@ -698,7 +776,6 @@ inherited frmClothInfoSel: TfrmClothInfoSel Left = 840 Top = 47 ParentColor = True - ParentFont = False TabOrder = 8 OnKeyPress = GC_NameKeyPress Width = 150 @@ -708,7 +785,6 @@ inherited frmClothInfoSel: TfrmClothInfoSel Left = 840 Top = 7 ParentColor = True - ParentFont = False TabOrder = 9 OnKeyPress = GC_NameKeyPress Width = 150 @@ -10880,4 +10956,28 @@ inherited frmClothInfoSel: TfrmClothInfoSel Left = 592 Top = 432 end + object CDS_3: TClientDataSet + Aggregates = <> + Params = <> + Left = 518 + Top = 602 + end + object GPM_3: TcxGridPopupMenu + Grid = cxGrid3 + PopupMenus = <> + Left = 430 + Top = 636 + end + object DS_3: TDataSource + DataSet = CDS_3 + Left = 608 + Top = 578 + end + object ADO_3: TADOQuery + Connection = ADOConnection1 + LockType = ltReadOnly + Parameters = <> + Left = 290 + Top = 528 + end end diff --git a/A00通用窗体/U_ClothInfoSel.pas b/A00通用窗体/U_ClothInfoSel.pas index 4847ab2..bc386be 100644 --- a/A00通用窗体/U_ClothInfoSel.pas +++ b/A00通用窗体/U_ClothInfoSel.pas @@ -9,26 +9,10 @@ uses cxGridTableView, cxGridDBTableView, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGrid, DBClient, ADODB, ImgList, StdCtrls, ExtCtrls, cxTextEdit, cxGridCustomPopupMenu, cxGridPopupMenu, cxLookAndFeels, - cxLookAndFeelPainters, cxNavigator, - dxDateRanges, dxBarBuiltInMenu, System.ImageList, U_BaseInput, cxTL, - cxMaskEdit, cxTLdxBarBuiltInMenu, cxCheckBox, cxInplaceContainer, cxDBTL, - cxTLData, math, - - - - - - - - - - - - - - - - dxScrollbarAnnotations, cxImageList, cxContainer; + cxLookAndFeelPainters, cxNavigator, dxDateRanges, dxBarBuiltInMenu, + System.ImageList, U_BaseInput, cxTL, cxMaskEdit, cxTLdxBarBuiltInMenu, + cxCheckBox, cxInplaceContainer, cxDBTL, cxTLData, math, dxScrollbarAnnotations, + cxImageList, cxContainer; type TfrmClothInfoSel = class(TfrmBaseHelp) @@ -140,6 +124,18 @@ type DS_2: TDataSource; cxtxtdtscan: TcxTextEdit; Label11: TLabel; + cxGrid3: TcxGrid; + TV3: TcxGridDBTableView; + cxGridDBColumn1: TcxGridDBColumn; + cxGridDBColumn2: TcxGridDBColumn; + cxGridDBColumn3: TcxGridDBColumn; + cxGridDBColumn8: TcxGridDBColumn; + cxGridLevel2: TcxGridLevel; + TV3Column1: TcxGridDBColumn; + CDS_3: TClientDataSet; + GPM_3: TcxGridPopupMenu; + DS_3: TDataSource; + ADO_3: TADOQuery; procedure FormCreate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormShow(Sender: TObject); @@ -155,6 +151,9 @@ type procedure cxDBTreeList1DblClick(Sender: TObject); procedure cxtxtdtscanKeyPress(Sender: TObject; var Key: Char); procedure GC_NameKeyPress(Sender: TObject; var Key: Char); + procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; + APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; + ANewItemRecordFocusingChanged: Boolean); private IsOnShow: Boolean; CurrentPage, RecordsNumber: Integer; @@ -363,6 +362,7 @@ begin FCTType := 'ͨ'; ReadCxGrid(trim(self.Caption) + 'TV1', TV1, 'Զ'); ReadCxGrid(trim(self.Caption) + 'TV2', TV2, 'Զ'); + ReadCxGrid(trim(self.Caption) + 'TV3', TV3, 'Զ'); InitTree(); InitGrid(''); @@ -385,6 +385,7 @@ procedure TfrmClothInfoSel.TBSaveClick(Sender: TObject); begin WriteCxGrid(trim(self.Caption) + 'TV1', TV1, 'Զ'); WriteCxGrid(trim(self.Caption) + 'TV2', TV2, 'Զ'); + WriteCxGrid(trim(self.Caption) + 'TV3', TV3, 'Զ'); end; procedure TfrmClothInfoSel.TCBNOR1Change(Sender: TObject); @@ -412,6 +413,24 @@ begin ModalResult := 1; end; +procedure TfrmClothInfoSel.Tv1FocusedRecordChanged( + Sender: TcxCustomGridTableView; APrevFocusedRecord, + AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); + +var + SqlStr: string; +begin + + if CDS_1.IsEmpty then + exit; + + SqlStr := 'select * from BS_Cloth_Info_Sub A where BCIID =' + quotedstr((CDS_1.fieldbyname('BCIID').AsString)); + + InitCDSData(ADO_3,CDS_3, Tv3, SqlStr, '', ''); + + +end; + procedure TfrmClothInfoSel.FormDestroy(Sender: TObject); begin inherited; diff --git a/A02基础产品管理/U_ClothInfo.dfm b/A02基础产品管理/U_ClothInfo.dfm index 0d38ab0..ec222d5 100644 --- a/A02基础产品管理/U_ClothInfo.dfm +++ b/A02基础产品管理/U_ClothInfo.dfm @@ -9,6 +9,7 @@ inherited frmClothInfo: TfrmClothInfo Font.Height = -16 FormStyle = fsMDIChild Position = poScreenCenter + Visible = True ExplicitWidth = 1871 ExplicitHeight = 965 PixelsPerInch = 96 @@ -563,8 +564,6 @@ inherited frmClothInfo: TfrmClothInfo Align = alClient Caption = #26679#21697#32553#30053#22270#65288#21452#20987#22270#29255#26597#30475#21407#22270#65289 TabOrder = 0 - ExplicitLeft = 1 - ExplicitWidth = 1619 object ScrollBox1: TScrollBox Left = 2 Top = 23 @@ -574,7 +573,6 @@ inherited frmClothInfo: TfrmClothInfo BevelInner = bvLowered BorderStyle = bsNone TabOrder = 0 - ExplicitWidth = 1615 end end object cxGrid2: TcxGrid @@ -584,7 +582,8 @@ inherited frmClothInfo: TfrmClothInfo Height = 201 Align = alLeft TabOrder = 1 - ExplicitLeft = 3 + ExplicitLeft = 7 + ExplicitTop = 5 object Tv2: TcxGridDBTableView Navigator.Buttons.CustomButtons = <> ScrollbarAnnotations.CustomAnnotations = <> @@ -653,8 +652,6 @@ inherited frmClothInfo: TfrmClothInfo Align = alClient PopupMenu = PM_1 TabOrder = 2 - ExplicitLeft = 0 - ExplicitTop = 44 object Tv1: TcxGridDBTableView OnMouseDown = Tv1MouseDown Navigator.Buttons.CustomButtons = <> diff --git a/A02基础产品管理/U_ClothInfoInput.dfm b/A02基础产品管理/U_ClothInfoInput.dfm index b27499d..dcc2a7e 100644 --- a/A02基础产品管理/U_ClothInfoInput.dfm +++ b/A02基础产品管理/U_ClothInfoInput.dfm @@ -23,7 +23,7 @@ object frmClothInfoInput: TfrmClothInfoInput Height = 30 AutoSize = True ButtonHeight = 30 - ButtonWidth = 83 + ButtonWidth = 99 Caption = 'ToolBar1' Color = clWhite DisabledImages = DataLink_ClothInfo.cxImageList_bar @@ -32,7 +32,6 @@ object frmClothInfoInput: TfrmClothInfoInput ParentColor = False ShowCaptions = True TabOrder = 0 - ExplicitWidth = 812 object ToolButton1: TToolButton Tag = 1 Left = 0 @@ -43,7 +42,7 @@ object frmClothInfoInput: TfrmClothInfoInput OnClick = ToolButton1Click end object ToolButton6: TToolButton - Left = 63 + Left = 71 Top = 0 AutoSize = True Caption = #38468#20214 @@ -51,7 +50,7 @@ object frmClothInfoInput: TfrmClothInfoInput OnClick = ToolButton6Click end object ToolButton2: TToolButton - Left = 126 + Left = 142 Top = 0 AutoSize = True Caption = #20445#23384#26684#24335 @@ -59,7 +58,7 @@ object frmClothInfoInput: TfrmClothInfoInput OnClick = ToolButton2Click end object TBClose: TToolButton - Left = 213 + Left = 245 Top = 0 AutoSize = True Caption = #20851#38381 @@ -78,7 +77,6 @@ object frmClothInfoInput: TfrmClothInfoInput Ctl3D = False ParentCtl3D = False TabOrder = 1 - ExplicitHeight = 733 object Label1: TLabel Left = 33 Top = 19 @@ -550,10 +548,6 @@ object frmClothInfoInput: TfrmClothInfoInput Height = 499 Align = alClient TabOrder = 2 - ExplicitLeft = 581 - ExplicitTop = 32 - ExplicitWidth = 185 - ExplicitHeight = 733 object ToolBar2: TToolBar Left = 1 Top = 1 @@ -570,8 +564,6 @@ object frmClothInfoInput: TfrmClothInfoInput ParentColor = False ShowCaptions = True TabOrder = 0 - ExplicitTop = 507 - ExplicitWidth = 183 object ToolButton3: TToolButton Left = 0 Top = 0 @@ -596,9 +588,7 @@ object frmClothInfoInput: TfrmClothInfoInput Height = 467 Align = alClient TabOrder = 1 - ExplicitLeft = -1 - ExplicitWidth = 185 - ExplicitHeight = 701 + ExplicitLeft = 3 object TV1: TcxGridDBTableView Navigator.Buttons.CustomButtons = <> ScrollbarAnnotations.CustomAnnotations = <> diff --git a/A02基础产品管理11/ClothInfo.res b/A02基础产品管理11/ClothInfo.res deleted file mode 100644 index 45c09201242a1926cbabd5fb44d6767e16ac767a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1484 zcmaJ>&rcIU6#kZNy23%)$iaA!9z1w5OKf5cP0)y#CjKDMaJ7gGl0w^1q$WLBFTId> z@;_-(nruvZ^6%i_!J8a85Z3R#+1+jted(K-@BR8-XJ-Zg3e+&P%H^a?#r_;)9QFB_ z&LlxoMJ_k6j<+12V~wja-rzNHnd1uABHuH=F9FH7HR5?my?_*qJ&_4j8XVR;!~u3u z#}2FQVh`J_T!%q}fhCRcQG}1j)FOM3j!KweZXCbNoEEmUPLuU^nOj$yXROztAjoI z{LK7H&WD?vk6dniKJJsFKz%}Wv>q4Cxn8;ef9Q7Y#F0yC7o*XL4mqSUg?8d-&#f4( z`FXT2jC=@b!E94eAdM!#?V}`HEOIE4q`? - DataController.DataSource = DataSource1 - DataController.Summary.DefaultGroupSummaryItems = <> - DataController.Summary.FooterSummaryItems = <> - DataController.Summary.SummaryGroups = <> - OptionsBehavior.GoToNextCellOnEnter = True - OptionsBehavior.FocusCellOnCycle = True - OptionsCustomize.ColumnFiltering = False - OptionsData.Editing = False - OptionsView.GroupByBox = False - OptionsView.Indicator = True - object FileName: TcxGridDBColumn - Tag = 1 - Caption = #25991#20214#21517#31216 - DataBinding.FieldName = 'FileName' - FooterAlignmentHorz = taCenter - HeaderAlignmentHorz = taCenter - Width = 121 - end - object TV7Column1: TcxGridDBColumn - Caption = #33457#22411#21517#31216 - DataBinding.FieldName = 'HXName' - GroupSummaryAlignment = taCenter - HeaderAlignmentHorz = taCenter - Width = 91 - end - object FileDate: TcxGridDBColumn - Tag = 1 - Caption = #19978#20256#26085#26399 - DataBinding.FieldName = 'TFDate' - FooterAlignmentHorz = taCenter - HeaderAlignmentHorz = taCenter - Width = 104 - end - end - object cxGridLevel6: TcxGridLevel - GridView = TV7 - end - end - object Panel16: TPanel - Left = 190 - Top = 126 - Width = 138 - Height = 30 - BevelInner = bvRaised - Caption = #27491#22312#19978#20256#12290#12290#12290 - Color = clSkyBlue - TabOrder = 1 - Visible = False - end - object ToolBar6: TToolBar - Left = 858 - Top = 41 - Width = 71 - Height = 554 - Align = alRight - AutoSize = True - ButtonHeight = 38 - ButtonWidth = 75 - Caption = 'ToolBar1' - Images = DataLink_ClothInfo.ImageList_new32 - List = True - ShowCaptions = True - TabOrder = 2 - object FileUp: TToolButton - Left = 0 - Top = 0 - AutoSize = True - Caption = #19978#20256 - ImageIndex = 2 - Wrap = True - OnClick = FileUpClick - end - object FileDel: TToolButton - Left = 0 - Top = 38 - AutoSize = True - Caption = #21024#38500 - ImageIndex = 5 - Wrap = True - OnClick = FileDelClick - end - end - object Panel1: TPanel - Left = 0 - Top = 0 - Width = 929 - Height = 41 - Align = alTop - BevelInner = bvRaised - BevelOuter = bvLowered - TabOrder = 3 - object Label1: TLabel - Left = 8 - Top = 14 - Width = 72 - Height = 17 - Caption = #20135#21697#32534#21495 - Font.Charset = GB2312_CHARSET - Font.Color = clRed - Font.Height = -17 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - end - object Image2: TImage - Left = 773 - Top = 7 - Width = 60 - Height = 28 - Visible = False - end - object Image1: TImage - Left = 861 - Top = 6 - Width = 60 - Height = 28 - Visible = False - end - object Label2: TLabel - Left = 336 - Top = 14 - Width = 36 - Height = 17 - Caption = #33457#22411 - Font.Charset = GB2312_CHARSET - Font.Color = clRed - Font.Height = -17 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - Visible = False - end - object Code: TEdit - Left = 78 - Top = 10 - Width = 211 - Height = 25 - Font.Charset = GB2312_CHARSET - Font.Color = clBlue - Font.Height = -17 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - ReadOnly = True - TabOrder = 0 - end - object HXName: TBtnEditC - Tag = 2 - Left = 378 - Top = 8 - Width = 168 - Height = 29 - Hint = 'CYKZ/'#20811#37325 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -20 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - TabOrder = 1 - Visible = False - OnBtnUpClick = HXNameBtnUpClick - OnBtnDnClick = HXNameBtnDnClick - end - end - object ODPat: TOpenDialog - Filter = - 'All (*.svg;*.jpg;*.jpeg;*.gif;*.tif;*.tiff;*.png;*.gif;*.jpg;*.j' + - 'peg;*.png;*.bmp;*.ico;*.emf;*.wmf;*.tif;*.tiff)|*.svg;*.jpg;*.jp' + - 'eg;*.gif;*.tif;*.tiff;*.png;*.gif;*.jpg;*.jpeg;*.png;*.bmp;*.ico' + - ';*.emf;*.wmf;*.tif;*.tiff|SVG graphics from DevExpress (*.svg)|*' + - '.svg|JPEG graphics from DevExpress (*.jpg)|*.jpg|JPEG graphics f' + - 'rom DevExpress (*.jpeg)|*.jpeg|GIF graphics from DevExpress (*.g' + - 'if)|*.gif|TIFF graphics from DevExpress (*.tif)|*.tif|TIFF graph' + - 'ics from DevExpress (*.tiff)|*.tiff|PNG graphics from DevExpress' + - ' (*.png)|*.png|GIF Image (*.gif)|*.gif|JPEG Image File (*.jpg)|*' + - '.jpg|JPEG Image File (*.jpeg)|*.jpeg|Portable Network Graphics (' + - '*.png)|*.png|Bitmaps (*.bmp)|*.bmp|Icons (*.ico)|*.ico|Enhanced ' + - 'Metafiles (*.emf)|*.emf|Metafiles (*.wmf)|*.wmf|TIFF Images (*.t' + - 'if)|*.tif|TIFF Images (*.tiff)|*.tiff' - Options = [ofHideReadOnly, ofAllowMultiSelect, ofEnableSizing] - Left = 380 - Top = 333 - end - object IdFTP1: TIdFTP - ConnectTimeout = 0 - NATKeepAlive.UseKeepAlive = False - NATKeepAlive.IdleTimeMS = 0 - NATKeepAlive.IntervalMS = 0 - ProxySettings.ProxyType = fpcmNone - ProxySettings.Port = 0 - ReadTimeout = 0 - Left = 261 - Top = 244 - end - object SaveDialog1: TSaveDialog - Filter = - 'All (*.svg;*.jpg;*.jpeg;*.gif;*.tif;*.tiff;*.png;*.gif;*.jpg;*.j' + - 'peg;*.png;*.bmp;*.ico;*.emf;*.wmf;*.tif;*.tiff)|*.svg;*.jpg;*.jp' + - 'eg;*.gif;*.tif;*.tiff;*.png;*.gif;*.jpg;*.jpeg;*.png;*.bmp;*.ico' + - ';*.emf;*.wmf;*.tif;*.tiff|SVG graphics from DevExpress (*.svg)|*' + - '.svg|JPEG graphics from DevExpress (*.jpg)|*.jpg|JPEG graphics f' + - 'rom DevExpress (*.jpeg)|*.jpeg|GIF graphics from DevExpress (*.g' + - 'if)|*.gif|TIFF graphics from DevExpress (*.tif)|*.tif|TIFF graph' + - 'ics from DevExpress (*.tiff)|*.tiff|PNG graphics from DevExpress' + - ' (*.png)|*.png|GIF Image (*.gif)|*.gif|JPEG Image File (*.jpg)|*' + - '.jpg|JPEG Image File (*.jpeg)|*.jpeg|Portable Network Graphics (' + - '*.png)|*.png|Bitmaps (*.bmp)|*.bmp|Icons (*.ico)|*.ico|Enhanced ' + - 'Metafiles (*.emf)|*.emf|Metafiles (*.wmf)|*.wmf|TIFF Images (*.t' + - 'if)|*.tif|TIFF Images (*.tiff)|*.tiff' - Left = 305 - Top = 333 - end - object ADOQueryFile: TADOQuery - Connection = DataLink_ClothInfo.ADOLink - LockType = ltReadOnly - Parameters = <> - Left = 488 - Top = 144 - end - object DataSource1: TDataSource - DataSet = ADOQueryFile - Left = 376 - Top = 136 - end - object ADOQueryCmd: TADOQuery - Connection = DataLink_ClothInfo.ADOLink - Parameters = <> - Left = 584 - Top = 256 - end - object ADOQueryTemp: TADOQuery - Connection = DataLink_ClothInfo.ADOLink - LockType = ltReadOnly - Parameters = <> - Left = 432 - Top = 224 - end -end diff --git a/A02基础产品管理11/U_CloInfoFileUp.pas b/A02基础产品管理11/U_CloInfoFileUp.pas deleted file mode 100644 index 6f9e0b9..0000000 --- a/A02基础产品管理11/U_CloInfoFileUp.pas +++ /dev/null @@ -1,382 +0,0 @@ -unit U_CloInfoFileUp; - -interface - -uses - Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, - Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, - cxEdit, DB, cxDBData, ComCtrls, ToolWin, ExtCtrls, cxGridLevel, - cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, - cxControls, cxGridCustomView, cxGrid, IdBaseComponent, IdComponent, - IdTCPConnection, IdTCPClient, IdFTP, StdCtrls, ADODB, jpeg, BtnEdit, IniFiles, - strutils, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxSkinsCore, - dxSkinsDefaultPainters, dxDateRanges, IdExplicitTLSClientServerBase, - Vcl.ExtDlgs; - -type - TfrmCloInfoFileUp = class(TForm) - cxGrid7: TcxGrid; - TV7: TcxGridDBTableView; - FileName: TcxGridDBColumn; - FileDate: TcxGridDBColumn; - cxGridLevel6: TcxGridLevel; - Panel16: TPanel; - ToolBar6: TToolBar; - FileUp: TToolButton; - FileDel: TToolButton; - Panel1: TPanel; - Label1: TLabel; - Code: TEdit; - ODPat: TOpenDialog; - IdFTP1: TIdFTP; - SaveDialog1: TSaveDialog; - ADOQueryFile: TADOQuery; - DataSource1: TDataSource; - ADOQueryCmd: TADOQuery; - ADOQueryTemp: TADOQuery; - Image2: TImage; - Image1: TImage; - TV7Column1: TcxGridDBColumn; - Label2: TLabel; - HXName: TBtnEditC; - procedure FileUpClick(Sender: TObject); - procedure FormCreate(Sender: TObject); - procedure FileDelClick(Sender: TObject); - procedure FormShow(Sender: TObject); - procedure HXNameBtnUpClick(Sender: TObject); - procedure HXNameBtnDnClick(Sender: TObject); - private - lstPat: TStringList; - AJpeg: TJPEGImage; - procedure CreThumb(Image1, Image2: TImage; Width, Height: Integer); - procedure SaveImageOther(FTFID: string); - procedure ReadINIFile10(); - procedure InitTP(); - { Private declarations } - public - FBCIID: string; - FWidth, FHeight:Integer - { Public declarations } - end; - -var - frmCloInfoFileUp: TfrmCloInfoFileUp; - -implementation - -uses - U_DataLink, U_RTFun, U_ZDYHelp; - -{$R *.dfm} procedure TfrmCloInfoFileUp.InitTP(); -begin - with ADOQueryFile do - begin - Close; - SQL.Clear; - SQL.Add('select TFID,WBID,TFDate,Files,Filler,FillTime,FileName,HXName from TP_File where WBID=''' + Trim(FBCIID) + ''''); - SQL.Add(' and FileType=''YP'''); - Open; - end; -end; - -procedure TfrmCloInfoFileUp.ReadINIFile10(); -var - programIni: Tinifile; //ļ - FileName: string; -begin - FileName := ExtractFilePath(Paramstr(0)) + 'SYSTEMSET.INI'; - programIni := Tinifile.create(FileName); - server := programIni.ReadString('SERVER', 'ַ', '127.0.0.1'); - programIni.Free; -end; - -procedure TfrmCloInfoFileUp.FileUpClick(Sender: TObject); -var - i, j: Integer; - PatFile: string; - FTPPath, FConNo, MaxNo: string; - AJpeg: TJPEGImage; - myStream: TADOBlobStream; -begin - if Trim(Code.Text) = '' then - begin - Application.MessageBox('ŲΪգ', 'ʾ', 0); - Exit; - end; -// if Trim(HXName.Text) = '' then -// begin -// if Application.MessageBox('ȷΪ', 'ʾ', 32 + 4) <> IDYES then -// Exit; -// end; -// ODPat - lstPat.Clear; - if ODPat.Execute then - begin - lstPat.AddStrings(ODPat.Files); - end; - if lstPat.Count > 0 then - begin - try - IdFTP1.Host := PicSvr; - IdFTP1.Username := 'three'; - IdFTP1.Password := '641010'; - IdFTP1.Connect(); - except - IdFTP1.Quit; - Application.MessageBox('޷ӵļ飡', 'ʾ', MB_ICONWARNING); - Exit; - end; - end; - - Panel16.Visible := True; - Panel16.Refresh; - - try - AJpeg := TJpegImage.Create(); - ADOQueryCmd.Connection.BeginTrans; - for i := 0 to lstPat.Count - 1 do - begin - with ADOQueryTemp do - begin - Close; - sql.Clear; - sql.Add('select isnull(max(abs(cast(right(left(FileName,charindex(''.'',FileName)-1),2) as int))),0)+1 as BH from TP_File'); - sql.Add('where FileType =''YP'' and WBID=''' + trim(FBCIID) + ''' '); - open; - end; - PatFile := trim(Code.Text) + '-' + inttostr(ADOQueryTemp.fieldbyname('BH').AsInteger) + '.' + Copy(ExtractFileName(lstPat[i]), (Pos('.', ExtractFileName(lstPat[i])) + 1), (Length(ExtractFileName(lstPat[i])) - Pos('.', ExtractFileName(lstPat[i])))); - image1.Picture.LoadFromFile((lstPat[i])); - CreThumb(Image1, Image2, FWidth, FHeight); - - if IdFTP1.Connected then - begin - try - IdFTP1.Put(lstPat[i], Trim(UserDataFlag + 'YP') + '\' + Trim(PatFile)); - - if GetLSNo(ADOQueryCmd, MaxNo, 'YP', 'XD_File', 4, 1) = False then - begin - ADOQueryCmd.Connection.RollbackTrans; - Application.MessageBox('ȡͼƬʧܣ', 'ʾ', 0); - Exit; - end; - with ADOQueryCmd do - begin - close; - sql.Clear; - sql.Add(' select * from TP_File where TFID=''' + Trim(MaxNo) + ''''); - open; - end; - with ADOQueryCmd do - begin - if ADOQueryCmd.IsEmpty then - begin - Append; - FieldByName('Filler').Value := Trim(DName); - FieldByName('TFDate').Value := SGetServerDateTime(ADOQueryTemp); - end - else - begin - Edit; - FieldByName('Editer').Value := Trim(DName); - FieldByName('EditTime').Value := SGetServerDateTime(ADOQueryTemp); - end; - FieldByName('TFID').Value := Trim(MaxNo); - FieldByName('WBID').Value := Trim(FBCIID); - FieldByName('TFType').Value := 'Ʒ'; - FieldByName('FileType').Value := 'YP'; - FieldByName('HXName').Value := trim(HXName.Text); - FieldByName('filename').Value := Trim(PatFile); - myStream := TADOBlobStream.Create(TBlobField(ADOQueryCmd.FieldByName('FilesOther')), bmWrite); - AJpeg.Assign(Image2.Picture.Graphic); - AJpeg.SaveToStream(myStream); - myStream.Free; - Post; - end; - except - end; - end; - end; - - ADOQueryCmd.Connection.CommitTrans; - AJpeg.Free; - except - AJpeg.Free; - ADOQueryCmd.Connection.RollbackTrans; - Application.MessageBox('ͼƬϴʧܣ', 'ʾ', 0); - end; - - if IdFTP1.Connected then - IdFTP1.Quit; - InitTP(); - Panel16.Visible := False; - if i > 0 then - Application.MessageBox(PChar(inttostr(i) + 'ļϴɹ'), 'ʾ', 0); - ModalResult := 1; -end; - -procedure TfrmCloInfoFileUp.CreThumb(Image1, Image2: TImage; Width, Height: Integer); -var - Bitmap: TBitmap; - Ratio: Double; - ARect: TRect; - AHeight, AHeightOffset: Integer; - AWidth, AWidthOffset: Integer; -begin - Bitmap := TBitmap.Create; - try - Ratio := Image1.Picture.Graphic.Width / Image1.Picture.Graphic.Height; - if Ratio > 1.333 then - begin - AHeight := Round(Width / Ratio); - AHeightOffset := (Height - AHeight) div 2; - AWidth := Width; - AWidthOffset := 0; - end - else - begin - AWidth := Round(Height * Ratio); - AWidthOffset := (Width - AWidth) div 2; - AHeight := Height; - AHeightOffset := 0; - end; - Bitmap.Width := Width; - Bitmap.Height := Height; - Bitmap.Canvas.Brush.Color := clBtnFace; - Bitmap.Canvas.FillRect(Rect(0, 0, Width, Height)); - ARect := Rect(AWidthOffset, AHeightOffset, AWidth + AWidthOffset, AHeight + AHeightOffset); - Bitmap.Canvas.StretchDraw(ARect, Image1.Picture.Graphic); - Image2.Picture.Assign(Bitmap); - finally - Bitmap.Free; - end; -end; - -procedure TfrmCloInfoFileUp.SaveImageOther(FTFID: string); -var - AJpeg: TJPEGImage; - myStream: TADOBlobStream; - ImgMaxNo: string; - i, j: Integer; - PatFile: string; - FConNo, MaxNo: string; -begin - if Image2.Picture = nil then - Exit; - AJpeg := TJpegImage.Create(); - with ADOQueryCmd do - begin - close; - sql.Clear; - sql.Add(' select * from TP_File where TFID=''' + Trim(FTFID) + ''''); - open; - end; - with ADOQueryCmd do - begin - if Trim(FTFID) = '' then - begin - Append; - FieldByName('Filler').Value := Trim(DName); - end - else - begin - Edit; - FieldByName('Editer').Value := Trim(DName); - FieldByName('EditTime').Value := SGetServerDateTime(ADOQueryTemp); - end; - FieldByName('TFID').Value := Trim(FTFID); - FieldByName('WBID').Value := Trim(FBCIID); - FieldByName('TFType').Value := 'Ʒ'; - AJpeg.Assign(Image2.Picture.Graphic); - myStream := TADOBlobStream.Create(TBlobField(ADOQueryCmd.FieldByName('FilesOther')), bmWrite); - AJpeg.Assign(Image2.Picture.Graphic); - AJpeg.SaveToStream(myStream); - myStream.Free; - Post; - end; -end; - -procedure TfrmCloInfoFileUp.FormCreate(Sender: TObject); -begin - lstPat := TStringList.Create; - if FWidth = 0 then - FWidth := 160; - if FHeight = 0 then - FHeight := 120; -end; - -procedure TfrmCloInfoFileUp.FileDelClick(Sender: TObject); -begin - with ADOQueryCmd do - begin - Close; - sql.Clear; - SQL.Add(' Delete TP_File where TFID=''' + Trim(ADOQueryFile.fieldbyname('TFID').AsString) + ''''); - ExecSQL; - end; - - with ADOQueryFile do - begin - Close; - SQL.Clear; - SQL.Add('select TFID,WBID,TFDate,Files,Filler,FillTime,FileName from TP_File where WBID=''' + Trim(FBCIID) + ''''); - SQL.Add(' and FileType=''YP'''); - Open; - end; -// with ADOQueryFile do -// begin -// Close; -// SQL.Clear; -// SQL.Add('select * from XD_File where FBCIID=''' + Trim(FBCIID) + ''''); -// SQL.Add(' and FileType=''YP'''); -// open; -// end; -// if ADOQueryFile.IsEmpty then -// begin -// with ADOQueryCmd do -// begin -// Close; -// sql.Clear; -// sql.Add('Update CP_YDang Set TPFlag=0 where FBCIID=''' + Trim(FBCIID) + ''''); -// ExecSQL; -// end; -// end; -end; - -procedure TfrmCloInfoFileUp.FormShow(Sender: TObject); -begin - with ADOQueryFile do - begin - Close; - SQL.Clear; - SQL.Add('select TFID,WBID,TFDate,Files,Filler,FillTime,FileName from TP_File where WBID=''' + Trim(FBCIID) + ''''); - SQL.Add(' and FileType=''YP'''); - Open; - end; -end; - -procedure TfrmCloInfoFileUp.HXNameBtnDnClick(Sender: TObject); -begin - TBtnEditC(Sender).Text := ''; - TBtnEditC(Sender).TxtCode := ''; -end; - -procedure TfrmCloInfoFileUp.HXNameBtnUpClick(Sender: TObject); -begin - try - frmZDYHelp := TfrmZDYHelp.Create(Application); - with frmZDYHelp do - begin - flag := 'HX' + Trim(Code.Text); - flagname := ''; - if ShowModal = 1 then - begin - TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); - end; - end; - finally - frmZDYHelp.Free; - end; -end; - -end. - diff --git a/A02基础产品管理11/U_ClothInfo.dfm b/A02基础产品管理11/U_ClothInfo.dfm deleted file mode 100644 index 30a102f..0000000 --- a/A02基础产品管理11/U_ClothInfo.dfm +++ /dev/null @@ -1,950 +0,0 @@ -inherited frmClothInfo: TfrmClothInfo - Left = 117 - Top = 154 - Caption = #20135#21697#26723#26696 - ClientHeight = 754 - ClientWidth = 1444 - FormStyle = fsMDIChild - Position = poScreenCenter - Visible = True - ExplicitWidth = 1460 - ExplicitHeight = 793 - PixelsPerInch = 96 - TextHeight = 12 - object ToolBar1: TToolBar [0] - Tag = 1 - Left = 0 - Top = 0 - Width = 1444 - Height = 38 - AutoSize = True - ButtonHeight = 38 - ButtonWidth = 91 - Caption = 'ToolBar1' - Color = clSkyBlue - DisabledImages = DataLink_ClothInfo.ImageList_new32 - Images = DataLink_ClothInfo.ImageList_new32 - List = True - ParentColor = False - ShowCaptions = True - TabOrder = 0 - object TBRafresh: TToolButton - Left = 0 - Top = 0 - AutoSize = True - Caption = #21047#26032 - ImageIndex = 1 - OnClick = TBRafreshClick - end - object TBFilter: TToolButton - Left = 71 - Top = 0 - AutoSize = True - Caption = #36807#28388 - ImageIndex = 0 - OnClick = TBFilterClick - end - object TBAdd: TToolButton - Left = 142 - Top = 0 - AutoSize = True - Caption = #26032#22686 - ImageIndex = 9 - OnClick = TBAddClick - end - object ToolButton1: TToolButton - Left = 213 - Top = 0 - AutoSize = True - Caption = #26597#30475 - ImageIndex = 4 - OnClick = ToolButton1Click - end - object TBCopy: TToolButton - Left = 284 - Top = 0 - AutoSize = True - Caption = #22797#21046 - ImageIndex = 13 - OnClick = TBCopyClick - end - object TBEdit: TToolButton - Left = 355 - Top = 0 - AutoSize = True - Caption = #20462#25913 - ImageIndex = 3 - OnClick = TBEditClick - end - object TBMLEdit: TToolButton - Left = 426 - Top = 0 - AutoSize = True - Caption = #30446#24405#20462#25913 - ImageIndex = 3 - OnClick = TBMLEditClick - end - object TBDel: TToolButton - Left = 521 - Top = 0 - AutoSize = True - Caption = #21024#38500 - ImageIndex = 5 - OnClick = TBDelClick - end - object ToolButton3: TToolButton - Left = 592 - Top = 0 - AutoSize = True - Caption = #26631#31614#25171#21360 - ImageIndex = 21 - OnClick = ToolButton3Click - end - object TBExport: TToolButton - Left = 687 - Top = 0 - AutoSize = True - Caption = #23548#20986 - ImageIndex = 20 - OnClick = TBExportClick - end - object TBUP: TToolButton - Left = 758 - Top = 0 - AutoSize = True - Caption = #22270#29255#19978#20256 - ImageIndex = 19 - OnClick = TBUPClick - end - object ToolButton2: TToolButton - Left = 853 - Top = 0 - AutoSize = True - Caption = #20445#23384#26684#24335 - ImageIndex = 16 - OnClick = ToolButton2Click - end - object TBClose: TToolButton - Left = 948 - Top = 0 - AutoSize = True - Caption = #20851#38381 - ImageIndex = 7 - OnClick = TBCloseClick - end - end - object cxSplitter1: TcxSplitter [1] - Left = 220 - Top = 119 - Width = 8 - Height = 635 - HotZoneClassName = 'TcxMediaPlayer9Style' - Control = Panel5 - end - object Panel1: TPanel [2] - Left = 0 - Top = 38 - Width = 1444 - Height = 81 - Align = alTop - BevelInner = bvRaised - BevelOuter = bvLowered - Color = 16242829 - ParentBackground = False - TabOrder = 1 - object Label3: TLabel - Left = 42 - Top = 15 - Width = 48 - Height = 12 - Caption = #20135#21697#32534#21495 - end - object Label11: TLabel - Left = 1072 - Top = 107 - Width = 7 - Height = 12 - Font.Charset = GB2312_CHARSET - Font.Color = clBlue - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - end - object Label12: TLabel - Left = 1120 - Top = 111 - Width = 7 - Height = 12 - Font.Charset = GB2312_CHARSET - Font.Color = clRed - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - end - object Label4: TLabel - Left = 42 - Top = 47 - Width = 48 - Height = 12 - Caption = #20135#21697#21517#31216 - end - object Label9: TLabel - Left = 254 - Top = 51 - Width = 24 - Height = 12 - Caption = #20811#37325 - end - object Label8: TLabel - Left = 254 - Top = 15 - Width = 24 - Height = 12 - Caption = #38376#24133 - end - object Label1: TLabel - Left = 453 - Top = 10 - Width = 24 - Height = 12 - Caption = #22791#27880 - end - object Label5: TLabel - Left = 453 - Top = 51 - Width = 36 - Height = 12 - Caption = #22635#21333#20154 - end - object C_Code: TEdit - Tag = 2 - Left = 115 - Top = 11 - Width = 89 - Height = 20 - TabOrder = 0 - OnKeyPress = C_CodeKeyPress - end - object C_Name: TEdit - Tag = 2 - Left = 115 - Top = 43 - Width = 89 - Height = 20 - TabOrder = 1 - OnKeyPress = C_CodeKeyPress - end - object C_GramWeight: TEdit - Tag = 2 - Left = 296 - Top = 47 - Width = 89 - Height = 20 - TabOrder = 3 - OnKeyPress = C_CodeKeyPress - end - object C_Width: TEdit - Tag = 2 - Left = 296 - Top = 11 - Width = 89 - Height = 20 - TabOrder = 2 - OnKeyPress = C_CodeKeyPress - end - object Note: TEdit - Tag = 2 - Left = 502 - Top = 6 - Width = 89 - Height = 20 - TabOrder = 4 - OnKeyPress = C_CodeKeyPress - end - object filler: TEdit - Tag = 2 - Left = 502 - Top = 47 - Width = 89 - Height = 20 - TabOrder = 5 - OnKeyPress = C_CodeKeyPress - end - end - object Panel2: TPanel [3] - Left = 512 - Top = 232 - Width = 185 - Height = 41 - BevelInner = bvRaised - BevelOuter = bvLowered - Caption = #27491#22312#26597#35810#25968#25454#65292#35831#31245#21518#12290#12290#12290 - Color = clSkyBlue - Font.Charset = GB2312_CHARSET - Font.Color = clRed - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - TabOrder = 5 - Visible = False - end - object Panel5: TPanel [4] - Left = 0 - Top = 119 - Width = 220 - Height = 635 - Align = alLeft - BevelInner = bvRaised - BevelOuter = bvLowered - TabOrder = 2 - object cxDBTreeList1: TcxDBTreeList - Left = 2 - Top = 2 - Width = 216 - Height = 631 - Align = alClient - Bands = < - item - end> - DataController.DataSource = DS_Tree - DataController.ParentField = 'CTParent' - DataController.KeyField = 'CTID' - Navigator.Buttons.CustomButtons = <> - OptionsBehavior.CopyCaptionsToClipboard = False - OptionsBehavior.ExpandOnDblClick = False - OptionsSelection.CellSelect = False - OptionsView.CellAutoHeight = True - OptionsView.Headers = False - RootValue = -1 - ScrollbarAnnotations.CustomAnnotations = <> - Styles.Inactive = DataLink_ClothInfo.Red - Styles.Selection = DataLink_ClothInfo.Red - Styles.IncSearch = DataLink_ClothInfo.Red - TabOrder = 0 - OnDblClick = cxDBTreeList1DblClick - object cxDBTreeList1cxDBTreeListColumn2: TcxDBTreeListColumn - DataBinding.FieldName = 'CTName' - Width = 210 - Position.ColIndex = 0 - Position.RowIndex = 0 - Position.BandIndex = 0 - Summary.FooterSummaryItems = <> - Summary.GroupFooterSummaryItems = <> - end - end - end - object Panel3: TPanel [5] - Left = 228 - Top = 119 - Width = 1216 - Height = 635 - Align = alClient - BevelInner = bvRaised - BevelOuter = bvLowered - Caption = 'Panel3' - TabOrder = 4 - object cxGrid1: TcxGrid - Left = 2 - Top = 42 - Width = 1212 - Height = 386 - Align = alClient - PopupMenu = PM_1 - TabOrder = 0 - object Tv1: TcxGridDBTableView - Navigator.Buttons.CustomButtons = <> - Navigator.Buttons.Delete.Enabled = False - Navigator.Buttons.Delete.Visible = False - ScrollbarAnnotations.CustomAnnotations = <> - OnFocusedRecordChanged = Tv1FocusedRecordChanged - DataController.DataSource = DS_1 - DataController.Filter.AutoDataSetFilter = True - DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] - DataController.Summary.DefaultGroupSummaryItems = <> - DataController.Summary.FooterSummaryItems = <> - DataController.Summary.SummaryGroups = <> - OptionsCustomize.ColumnFiltering = False - OptionsData.Deleting = False - OptionsData.DeletingConfirmation = False - OptionsView.GroupByBox = False - Styles.IncSearch = DataLink_ClothInfo.SHuangSe - Styles.Header = DataLink_ClothInfo.Default - Styles.Inactive = DataLink_ClothInfo.SHuangSe - Styles.Selection = DataLink_ClothInfo.SHuangSe - object v1SSel: TcxGridDBColumn - Caption = #36873#25321 - DataBinding.FieldName = 'SSel' - DataBinding.IsNullValueType = True - PropertiesClassName = 'TcxCheckBoxProperties' - HeaderAlignmentHorz = taCenter - Styles.Header = DataLink_ClothInfo.Default - Width = 41 - end - object v1Column12: TcxGridDBColumn - Caption = #31867#21035 - DataBinding.FieldName = 'CTName' - DataBinding.IsNullValueType = True - HeaderAlignmentHorz = taCenter - Options.Editing = False - Styles.Header = DataLink_ClothInfo.Default - Width = 70 - end - object v1CYNo: TcxGridDBColumn - Caption = #20135#21697#32534#21495 - DataBinding.FieldName = 'C_Code' - DataBinding.IsNullValueType = True - HeaderAlignmentHorz = taCenter - Options.Editing = False - Styles.Header = DataLink_ClothInfo.Default - Width = 92 - end - object v1Column9: TcxGridDBColumn - Caption = #20135#21697#21517#31216 - DataBinding.FieldName = 'C_Name' - DataBinding.IsNullValueType = True - HeaderAlignmentHorz = taCenter - Width = 96 - end - object v1Column3: TcxGridDBColumn - Caption = #38376#24133 - DataBinding.FieldName = 'C_Width' - DataBinding.IsNullValueType = True - HeaderAlignmentHorz = taCenter - Options.Editing = False - Styles.Header = DataLink_ClothInfo.Default - Width = 80 - end - object v1Column1: TcxGridDBColumn - Caption = #20811#37325 - DataBinding.FieldName = 'C_GramWeight' - DataBinding.IsNullValueType = True - HeaderAlignmentHorz = taCenter - Options.Editing = False - Width = 80 - end - object Tv1Column3: TcxGridDBColumn - Caption = #25104#20998 - DataBinding.FieldName = 'C_Composition' - DataBinding.IsNullValueType = True - HeaderAlignmentHorz = taCenter - Options.Editing = False - Width = 80 - end - object Tv1Column11: TcxGridDBColumn - Caption = #35268#26684 - DataBinding.FieldName = 'C_Spec' - DataBinding.IsNullValueType = True - HeaderAlignmentHorz = taCenter - Options.Editing = False - Width = 80 - end - object v1Column11: TcxGridDBColumn - Caption = #22270#29255 - DataBinding.FieldName = 'IsImg' - DataBinding.IsNullValueType = True - PropertiesClassName = 'TcxCheckBoxProperties' - HeaderAlignmentHorz = taCenter - Options.Editing = False - Width = 57 - end - object Tv1Column5: TcxGridDBColumn - Caption = #22635#21333#20154 - DataBinding.FieldName = 'filler' - DataBinding.IsNullValueType = True - HeaderAlignmentHorz = taCenter - Options.Editing = False - Width = 71 - end - object Tv1Column6: TcxGridDBColumn - Caption = #20462#25913#20154 - DataBinding.FieldName = 'editer' - DataBinding.IsNullValueType = True - HeaderAlignmentHorz = taCenter - Options.Editing = False - Width = 68 - end - object Tv1Column7: TcxGridDBColumn - Caption = #20462#25913#26102#38388 - DataBinding.FieldName = 'edittime' - DataBinding.IsNullValueType = True - HeaderAlignmentHorz = taCenter - Options.Editing = False - Width = 67 - end - object Tv1Column9: TcxGridDBColumn - Caption = #24405#20837#26102#38388 - DataBinding.FieldName = 'FILLTIME' - DataBinding.IsNullValueType = True - HeaderAlignmentHorz = taCenter - Options.Editing = False - Width = 66 - end - object Tv1Column4: TcxGridDBColumn - Caption = #22791#27880 - DataBinding.FieldName = 'Note' - DataBinding.IsNullValueType = True - HeaderAlignmentHorz = taCenter - Options.Editing = False - Width = 200 - end - end - object cxGrid1Level1: TcxGridLevel - GridView = Tv1 - end - end - object Panel7: TPanel - Left = 2 - Top = 2 - Width = 1212 - Height = 40 - Align = alTop - BevelOuter = bvNone - TabOrder = 1 - object Panel4: TPanel - Left = 0 - Top = 0 - Width = 1212 - Height = 40 - Align = alClient - AutoSize = True - TabOrder = 0 - DesignSize = ( - 1212 - 40) - object Label14: TLabel - Left = 19 - Top = 13 - Width = 84 - Height = 13 - Alignment = taCenter - Anchors = [akLeft] - Caption = #27599#39029#35760#24405#26465#25968 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -13 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - Layout = tlCenter - end - object LBCPAP1: TLabel - Left = 276 - Top = 9 - Width = 85 - Height = 21 - Alignment = taCenter - Anchors = [akLeft] - AutoSize = False - Caption = #24403#21069#39029'/'#24635#39029#25968 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - Layout = tlCenter - end - object Button1: TButton - Left = 195 - Top = 8 - Width = 75 - Height = 23 - Anchors = [akLeft] - Caption = #19978#19968#39029 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - TabOrder = 0 - OnClick = Button1Click - end - object Button2: TButton - Left = 367 - Top = 9 - Width = 78 - Height = 22 - Anchors = [akLeft] - Caption = #19979#19968#39029 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - TabOrder = 1 - OnClick = Button2Click - end - object TCBNOR1: TComboBox - Tag = 2 - Left = 111 - Top = 10 - Width = 78 - Height = 20 - Anchors = [akLeft] - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ItemIndex = 2 - ParentFont = False - TabOrder = 2 - Text = '500' - OnChange = TCBNOR1Change - Items.Strings = ( - '100' - '300' - '500' - '1000' - '5000' - '10000') - end - end - end - object Panel9: TPanel - Left = 2 - Top = 428 - Width = 1212 - Height = 205 - Align = alBottom - Caption = 'Panel9' - TabOrder = 2 - object Panel10: TPanel - Left = 1 - Top = 1 - Width = 1210 - Height = 203 - Align = alClient - Caption = 'Panel9' - TabOrder = 0 - object GroupBox1: TGroupBox - Left = 608 - Top = 42 - Width = 601 - Height = 160 - Align = alRight - Caption = #26679#21697#32553#30053#22270#65288#21452#20987#22270#29255#26597#30475#21407#22270#65289 - TabOrder = 0 - object ScrollBox1: TScrollBox - Left = 2 - Top = 14 - Width = 597 - Height = 144 - Align = alClient - BevelInner = bvLowered - BorderStyle = bsNone - TabOrder = 0 - end - end - object Panel11: TPanel - Left = 1 - Top = 1 - Width = 1208 - Height = 41 - Align = alTop - TabOrder = 1 - Visible = False - DesignSize = ( - 1208 - 41) - object Label7: TLabel - Left = 33 - Top = 8 - Width = 88 - Height = 21 - Caption = #33457#22411#36873#25321 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -21 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - end - object cbbHX: TComboBox - Left = 368 - Top = 3 - Width = 210 - Height = 32 - Style = csDropDownList - Anchors = [] - Color = clWhite - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -24 - Font.Name = #23435#20307 - Font.Style = [] - ParentFont = False - TabOrder = 0 - OnChange = cbbHXChange - Items.Strings = ( - #33457#22411) - end - end - object cxGrid2: TcxGrid - Left = 1 - Top = 42 - Width = 607 - Height = 160 - Align = alClient - TabOrder = 2 - object Tv2: TcxGridDBTableView - Navigator.Buttons.CustomButtons = <> - ScrollbarAnnotations.CustomAnnotations = <> - DataController.DataSource = DS_2 - DataController.Filter.AutoDataSetFilter = True - DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] - DataController.Summary.DefaultGroupSummaryItems = < - item - Format = 'C_Code' - end> - DataController.Summary.FooterSummaryItems = < - item - Kind = skSum - end> - DataController.Summary.SummaryGroups = <> - OptionsBehavior.FocusCellOnTab = True - OptionsBehavior.GoToNextCellOnEnter = True - OptionsBehavior.FocusCellOnCycle = True - OptionsCustomize.ColumnFiltering = False - OptionsView.Footer = True - OptionsView.GroupByBox = False - object TV1Column1: TcxGridDBColumn - Caption = #39068#33394 - DataBinding.FieldName = 'C_Color' - DataBinding.IsNullValueType = True - HeaderAlignmentHorz = taCenter - Options.Editing = False - Width = 150 - end - object TV1Column2: TcxGridDBColumn - Caption = #33394#21495 - DataBinding.FieldName = 'C_ColorNo' - DataBinding.IsNullValueType = True - HeaderAlignmentHorz = taCenter - Options.Editing = False - Width = 150 - end - object cxGridDBColumn1: TcxGridDBColumn - Caption = #33457#22411 - DataBinding.FieldName = 'C_Pattern' - DataBinding.IsNullValueType = True - HeaderAlignmentHorz = taCenter - Options.Editing = False - Width = 150 - end - object cxGridDBColumn2: TcxGridDBColumn - Caption = #27454#21495 - DataBinding.FieldName = 'C_StyleNo' - DataBinding.IsNullValueType = True - HeaderAlignmentHorz = taCenter - Options.Editing = False - Width = 150 - end - end - object cxGridLevel2: TcxGridLevel - GridView = Tv2 - end - end - end - end - end - inherited ADOQueryBaseCmd: TADOQuery - Connection = DataLink_ClothInfo.ADOLink - Left = 161 - Top = 240 - end - inherited ADOQueryBaseTemp: TADOQuery - Connection = DataLink_ClothInfo.ADOLink - Left = 57 - Top = 241 - end - object DS_Tree: TDataSource - DataSet = CDS_Tree - Left = 155 - Top = 131 - end - object ADOQueryTree: TADOQuery - Connection = DataLink_ClothInfo.ADOLink - LockType = ltReadOnly - Parameters = <> - Left = 53 - Top = 137 - end - object ADOQueryTemp: TADOQuery - Connection = DataLink_ClothInfo.ADOLink - LockType = ltReadOnly - Parameters = <> - Left = 899 - Top = 192 - end - object ADOQueryCmd: TADOQuery - Connection = DataLink_ClothInfo.ADOLink - Parameters = <> - Left = 997 - Top = 197 - end - object GPM_1: TcxGridPopupMenu - Grid = cxGrid1 - PopupMenus = <> - Left = 888 - Top = 360 - end - object DS_1: TDataSource - DataSet = CDS_1 - Left = 1043 - Top = 395 - end - object ADOQueryMain: TADOQuery - Connection = DataLink_ClothInfo.ADOLink - LockType = ltReadOnly - Parameters = <> - Left = 1061 - Top = 201 - end - object CDS_1: TClientDataSet - Aggregates = <> - Params = <> - Left = 960 - Top = 408 - end - object RM1: TRMGridReport - ThreadPrepareReport = True - InitialZoom = pzDefault - PreviewButtons = [rmpbZoom, rmpbLoad, rmpbSave, rmpbPrint, rmpbFind, rmpbPageSetup, rmpbExit, rmpbExport, rmpbNavigator] - DefaultCollate = False - ShowPrintDialog = False - SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' - PreviewOptions.RulerUnit = rmutScreenPixels - PreviewOptions.RulerVisible = False - PreviewOptions.DrawBorder = False - PreviewOptions.BorderPen.Color = clGray - PreviewOptions.BorderPen.Style = psDash - Dataset = RMDB_Main - CompressLevel = rmzcFastest - CompressThread = False - LaterBuildEvents = True - OnlyOwnerDataSet = False - Left = 312 - Top = 216 - ReportData = {} - end - object RMDB_Main: TRMDBDataSet - Visible = True - DataSet = ADOQueryPrint - Left = 952 - Top = 296 - end - object ODPat: TOpenDialog - Options = [ofReadOnly, ofAllowMultiSelect, ofPathMustExist, ofFileMustExist, ofEnableSizing] - Left = 324 - Top = 285 - end - object IdFTP1: TIdFTP - ConnectTimeout = 0 - NATKeepAlive.UseKeepAlive = False - NATKeepAlive.IdleTimeMS = 0 - NATKeepAlive.IntervalMS = 0 - ProxySettings.ProxyType = fpcmNone - ProxySettings.Port = 0 - ReadTimeout = 0 - Left = 381 - Top = 380 - end - object SaveDialog1: TSaveDialog - Left = 385 - Top = 285 - end - object DSCYNO: TDataSource - DataSet = CDS_CYNO - Left = 499 - Top = 299 - end - object CDS_CYNO: TClientDataSet - Aggregates = <> - Params = <> - Left = 496 - Top = 240 - end - object adoqueryPicture: TADOQuery - Connection = DataLink_ClothInfo.ADOLink - Parameters = <> - Left = 299 - Top = 360 - end - object OpenDialog1: TOpenDialog - Left = 458 - Top = 354 - end - object PM_1: TPopupMenu - Left = 1160 - Top = 352 - object N1: TMenuItem - Caption = #20840#36873 - OnClick = N1Click - end - object N2: TMenuItem - Caption = #20840#24323 - OnClick = N2Click - end - object N3: TMenuItem - Caption = #22797#21046 - OnClick = N3Click - end - end - object RMBarCodeObject1: TRMBarCodeObject - Left = 1052 - Top = 296 - end - object DataSource3: TDataSource - DataSet = CDS_Sub - Left = 746 - Top = 312 - end - object CDS_Sub: TClientDataSet - Aggregates = <> - Params = <> - Left = 747 - Top = 439 - end - object GPM_2: TcxGridPopupMenu - Grid = cxGrid1 - PopupMenus = <> - Left = 525 - Top = 494 - end - object CDS_Tree: TClientDataSet - Aggregates = <> - Params = <> - Left = 96 - Top = 136 - end - object ADOQueryPrint: TADOQuery - Connection = DataLink_ClothInfo.ADOLink - LockType = ltReadOnly - Parameters = <> - Left = 875 - Top = 296 - end - object CDS_Label: TClientDataSet - Aggregates = <> - Params = <> - Left = 520 - Top = 426 - end - object CDS_2: TClientDataSet - Aggregates = <> - Params = <> - Left = 586 - Top = 492 - end - object DS_2: TDataSource - DataSet = CDS_2 - Left = 642 - Top = 494 - end -end diff --git a/A02基础产品管理11/U_ClothInfo.pas b/A02基础产品管理11/U_ClothInfo.pas deleted file mode 100644 index dd6e541..0000000 --- a/A02基础产品管理11/U_ClothInfo.pas +++ /dev/null @@ -1,867 +0,0 @@ -unit U_ClothInfo; - -interface - -uses - Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, - Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB, - cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin, StdCtrls, - cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient, - cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls, - cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid, - cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common, - RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection, - IdTCPClient, IdFTP, ShellAPI, IniFiles, cxCheckBox, jpeg, U_SLT, ComObj, Menus, - cxLookAndFeels, cxLookAndFeelPainters, cxTLdxBarBuiltInMenu, cxNavigator, - dxBarBuiltInMenu, cxPC, Math, RM_BarCode, dxSkinsCore, dxSkinsDefaultPainters, - dxDateRanges, IdExplicitTLSClientServerBase, U_BaseList, cxContainer, - dxDBBarCode, dxBarCode, Vcl.Clipbrd, cxTextEdit, BtnEdit, StrUtils, - dxSkinBasic, 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, dxSkinOffice2016Colorful, - dxSkinOffice2016Dark, dxSkinOffice2019Black, dxSkinOffice2019Colorful, - dxSkinOffice2019DarkGray, dxSkinOffice2019White, dxSkinPumpkin, dxSkinSeven, - dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, - dxSkinSpringtime, dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld, - dxSkinTheBezier, dxSkinValentine, dxSkinVisualStudio2013Blue, - dxSkinVisualStudio2013Dark, dxSkinVisualStudio2013Light, dxSkinVS2010, - dxSkinWhiteprint, dxSkinWXI, dxSkinXmas2008Blue, dxScrollbarAnnotations; - -type - FdDy = record - inc: integer; //ͻ׽־ - FDdys: string[32]; //ͻ׽ - FdDysName: string[32]; //ͻ׽ - end; - - TfrmClothInfo = class(TfrmBaseList) - ToolBar1: TToolBar; - TBRafresh: TToolButton; - TBDel: TToolButton; - TBClose: TToolButton; - DS_Tree: TDataSource; - ADOQueryTree: TADOQuery; - ADOQueryTemp: TADOQuery; - ADOQueryCmd: TADOQuery; - GPM_1: TcxGridPopupMenu; - Tv1: TcxGridDBTableView; - cxGrid1Level1: TcxGridLevel; - cxGrid1: TcxGrid; - cxSplitter1: TcxSplitter; - Panel1: TPanel; - TBFilter: TToolButton; - v1CYNo: TcxGridDBColumn; - v1Column3: TcxGridDBColumn; - DS_1: TDataSource; - ADOQueryMain: TADOQuery; - CDS_1: TClientDataSet; - v1Column12: TcxGridDBColumn; - TBExport: TToolButton; - RM1: TRMGridReport; - RMDB_Main: TRMDBDataSet; - ODPat: TOpenDialog; - IdFTP1: TIdFTP; - SaveDialog1: TSaveDialog; - TBUP: TToolButton; - Label3: TLabel; - C_Code: TEdit; - TBCopy: TToolButton; - Panel2: TPanel; - v1SSel: TcxGridDBColumn; - DSCYNO: TDataSource; - CDS_CYNO: TClientDataSet; - Panel5: TPanel; - cxDBTreeList1: TcxDBTreeList; - cxDBTreeList1cxDBTreeListColumn2: TcxDBTreeListColumn; - Label11: TLabel; - Label12: TLabel; - Panel3: TPanel; - adoqueryPicture: TADOQuery; - v1Column1: TcxGridDBColumn; - v1Column9: TcxGridDBColumn; - Label4: TLabel; - C_Name: TEdit; - TBAdd: TToolButton; - TBEdit: TToolButton; - TBMLEdit: TToolButton; - OpenDialog1: TOpenDialog; - Label9: TLabel; - C_GramWeight: TEdit; - Label8: TLabel; - C_Width: TEdit; - PM_1: TPopupMenu; - N1: TMenuItem; - N2: TMenuItem; - v1Column11: TcxGridDBColumn; - Panel7: TPanel; - Panel4: TPanel; - Label14: TLabel; - LBCPAP1: TLabel; - Button1: TButton; - Button2: TButton; - TCBNOR1: TComboBox; - RMBarCodeObject1: TRMBarCodeObject; - Tv1Column5: TcxGridDBColumn; - Tv1Column6: TcxGridDBColumn; - Tv1Column7: TcxGridDBColumn; - ToolButton1: TToolButton; - DataSource3: TDataSource; - CDS_Sub: TClientDataSet; - Tv1Column9: TcxGridDBColumn; - Tv1Column11: TcxGridDBColumn; - GPM_2: TcxGridPopupMenu; - ToolButton2: TToolButton; - N3: TMenuItem; - Panel9: TPanel; - Panel10: TPanel; - GroupBox1: TGroupBox; - ScrollBox1: TScrollBox; - Panel11: TPanel; - cbbHX: TComboBox; - Label7: TLabel; - CDS_Tree: TClientDataSet; - ADOQueryPrint: TADOQuery; - CDS_Label: TClientDataSet; - ToolButton3: TToolButton; - Tv1Column3: TcxGridDBColumn; - Tv1Column4: TcxGridDBColumn; - Label1: TLabel; - Note: TEdit; - Label5: TLabel; - filler: TEdit; - cxGrid2: TcxGrid; - Tv2: TcxGridDBTableView; - TV1Column1: TcxGridDBColumn; - TV1Column2: TcxGridDBColumn; - cxGridDBColumn1: TcxGridDBColumn; - cxGridDBColumn2: TcxGridDBColumn; - cxGridLevel2: TcxGridLevel; - CDS_2: TClientDataSet; - DS_2: TDataSource; - procedure FormClose(Sender: TObject; var Action: TCloseAction); - procedure TBCloseClick(Sender: TObject); - procedure TBDelClick(Sender: TObject); - procedure FormShow(Sender: TObject); - procedure cxDBTreeList1DblClick(Sender: TObject); - procedure TBRafreshClick(Sender: TObject); - procedure TBFilterClick(Sender: TObject); - procedure CYNoChange(Sender: TObject); - procedure TBExportClick(Sender: TObject); - procedure TBUPClick(Sender: TObject); - procedure TBCopyClick(Sender: TObject); - procedure C_CodeKeyPress(Sender: TObject; var Key: Char); - procedure TBAddClick(Sender: TObject); - procedure TBEditClick(Sender: TObject); - procedure TBMLEditClick(Sender: TObject); - procedure N1Click(Sender: TObject); - procedure N2Click(Sender: TObject); - procedure TCBNOR1Change(Sender: TObject); - procedure Button1Click(Sender: TObject); - procedure Button2Click(Sender: TObject); - procedure ToolButton1Click(Sender: TObject); - procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); - procedure ToolButton2Click(Sender: TObject); - procedure N3Click(Sender: TObject); - procedure TextEdit(Sender: TObject); - procedure HXNameBtnUpClick(Sender: TObject); - procedure HXNameBtnDnClick(Sender: TObject); - procedure cbbHXChange(Sender: TObject); - procedure ToolButton3Click(Sender: TObject); - private - { Private declarations } - CurrentPage, RecordsNumber: Integer; - CTID: string; - PState: Integer; - FCTID, FTopID: string; - - procedure SetStatus(); - procedure InitTree(); - procedure InitGrid(); - procedure ReadINIFile(); - procedure InitImage(); - procedure LookImage(FileName: string); - - public - dFdDy: array[0..20] of FdDy; //ͻ - FJurisdiction: string; - { Public declarations } - end; - -var - Mach: array of TfrmSlt; - -implementation - -uses - U_DataLink, U_RTFun, U_ClothInfoInput, U_CloInfoFileUp, U_YPTypeHelpCP, - U_ZDYHelp, U_LabelPrint; - -{$R *.dfm} - -procedure TfrmClothInfo.LookImage(FileName: string); -var - sFieldName: string; -begin - - sFieldName := leftbstr(ExtractFilePath(Application.ExeName), 1) + ':\ͼƬ鿴'; - - if not DirectoryExists(pchar(sFieldName)) then - CreateDirectory(pchar(sFieldName), nil); - - sFieldName := sFieldName + '\' + trim(FileName); - - try - IdFTP1.Host := ReadINIFileStr('SYSTEMSET.INI', 'SERVER', 'ַ', '127.0.0.1'); - IdFTP1.Username := 'three'; - IdFTP1.Password := '641010'; - IdFTP1.Connect(); - except - - end; - - if IdFTP1.Connected then - begin - application.ProcessMessages; - try -// ShowMessage(PChar(Trim('D:\' + Trim(FileName)))); - IdFTP1.Get(Trim(UserDataFlag + 'YP\' + FileName), sFieldName, true, false); - except - Application.MessageBox('ͻͼļ', 'ʾ', MB_ICONWARNING); - IdFTP1.Quit; - Exit; - end; - end - else - begin - Application.MessageBox('޷ļ', 'ʾ', MB_ICONWARNING); - IdFTP1.Quit; - Exit; - end; - if IdFTP1.Connected then - IdFTP1.Quit; - ShellExecute(Handle, 'open', PChar(sFieldName), '', '', SW_SHOWNORMAL); -end; - -procedure TfrmClothInfo.SetStatus(); -begin - -end; - -procedure TfrmClothInfo.InitTree(); -var - i: Integer; -begin - - with ADOQueryTree do - begin - Close; - SQL.Clear; - SQL.Add('select * from BS_Cloth_Type'); - Open; - end; - - SCreateCDS(ADOQueryTree, CDS_Tree); - SInitCDSData(ADOQueryTree, CDS_Tree); - cxDBTreeList1.Items[0].Expand(false); -end; - -procedure TfrmClothInfo.InitGrid(); -var - fwhere, MBCIID, Pwhere: string; -begin - Panel2.Visible := True; - Panel2.Refresh; - if not CDS_1.IsEmpty then - MBCIID := Trim(CDS_1.FieldByName('BCIID').AsString) - else - MBCIID := ''; - - Pwhere := SGetFilters(Panel1, 1, 2); - - if trim(Pwhere) <> '' then - begin - if fwhere <> '' then - fwhere := fwhere + ' and ' + trim(Pwhere) - else - fwhere := ' where ' + trim(Pwhere); - end; - try - ADOQueryMain.DisableControls; - - with ADOQueryMain do - begin - Close; - Filtered := False; - sql.Clear; - sql.Add(' exec P_BS_CloInfo_Get '); - sql.Add(' @CTID=' + quotedstr(Trim(CDS_Tree.fieldbyname('CTID').AsString))); - sql.Add(',@pageIndex=' + inttostr(CurrentPage)); - sql.Add(',@pageSize=' + inttostr(RecordsNumber)); - sql.Add(',@criteria= ' + quotedstr(fwhere)); -// ShowMessage(sql.Text); - Open; - end; - SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); - SCreateCDS(ADOQueryMain, CDS_1); - SInitCDSData(ADOQueryMain, CDS_1); - TV1.DataController.Filter.Clear; - LBCPAP1.Caption := inttostr(CurrentPage) + '/' + inttostr(ceil(CDS_1.FieldByName('TotalCount').AsInteger / RecordsNumber)); - - finally - ADOQueryMain.EnableControls; - TV1.DataController.Filter.Clear; - end; - Panel2.Visible := False; - - if MBCIID <> '' then - CDS_1.Locate('BCIID', MBCIID, []); - -end; - -procedure TfrmClothInfo.FormClose(Sender: TObject; var Action: TCloseAction); -var - i, j: integer; -begin - inherited; - j := length(Mach); - if j > 0 then - begin - for i := 0 to j - 1 do - begin - Mach[i].free; - end; - end; - SetLength(Mach, 0); - Action := cafree; -end; - -procedure TfrmClothInfo.TBCloseClick(Sender: TObject); -begin - - if DirectoryExists(ExtractFileDir('D:\Right1209')) then - winexec('cmd /c rd /s /q D:\Right1209', sw_hide); - Close; -end; - -procedure TfrmClothInfo.TBDelClick(Sender: TObject); -begin - if CDS_1.IsEmpty then - Exit; - if Application.MessageBox('ȷҪɾ', 'ʾ', 32 + 4) <> IDYES then - Exit; - - while CDS_1.Locate('SSel', true, []) do - begin - if Trim(CDS_1.fieldbyname('BCIID').AsString) <> '' then - begin - with ADOQueryCmd do - begin - Close; - SQL.Clear; - sql.Add('delete BS_Cloth_Info where BCIID=''' + Trim(CDS_1.fieldbyname('BCIID').AsString) + ''''); - ExecSQL; - end; - end; - CDS_1.Delete; - end; - -end; - -procedure TfrmClothInfo.FormShow(Sender: TObject); -begin - inherited; - FJurisdiction := Self.fParameters1; - - ReadCxGrid(self.Caption + 'TV1', Tv1, 'Ʒ'); - - if trim(FJurisdiction) <> '' then - begin - filler.text := trim(DName); - filler.Enabled := false; - end; - - -// pnlreport.Top := FTop + 110; - application.ProcessMessages; - - RecordsNumber := 500; - CurrentPage := 1; - InitTree(); - SetStatus(); - InitGrid(); - -end; - -procedure TfrmClothInfo.cbbHXChange(Sender: TObject); -begin - InitImage(); - -end; - -procedure TfrmClothInfo.cxDBTreeList1DblClick(Sender: TObject); -begin - InitGrid(); -end; - -procedure TfrmClothInfo.TBRafreshClick(Sender: TObject); -begin - InitTree(); - InitGrid(); -end; - -procedure TfrmClothInfo.TBFilterClick(Sender: TObject); -begin - if ADOQueryMain.Active then - begin - SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); - SCreateCDS(ADOQueryMain, CDS_1); - SInitCDSData(ADOQueryMain, CDS_1); - end; - -end; - -procedure TfrmClothInfo.CYNoChange(Sender: TObject); -begin - //if Length(Trim(TEdit(Sender).Text))<4 then Exit; - if ADOQueryMain.Active then - begin - SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); - SCreateCDS(ADOQueryMain, CDS_1); - SInitCDSData(ADOQueryMain, CDS_1); - end; - -end; - -procedure TfrmClothInfo.TBExportClick(Sender: TObject); -begin - if CDS_1.IsEmpty then - Exit; - TcxGridToExcel(self.Caption, cxGrid1); -end; - -procedure TfrmClothInfo.TBUPClick(Sender: TObject); -begin - try - frmCloInfoFileUp := TfrmCloInfoFileUp.Create(Application); - with frmCloInfoFileUp do - begin - Code.Text := Trim(Self.CDS_1.fieldbyname('C_Code').AsString); - FBCIID := Trim(Self.CDS_1.fieldbyname('BCIID').AsString); - if ShowModal = 1 then - begin - Self.InitGrid(); -// Self.CDS_1.Locate('BCIID', BCIID, []); - end; - end; - finally - frmCloInfoFileUp.Free; - end; - InitImage(); -end; - -procedure TfrmClothInfo.ReadINIFile(); -var - programIni: Tinifile; //ļ - FileName: string; -begin - FileName := ExtractFilePath(Paramstr(0)) + 'SYSTEMSET.INI'; - programIni := Tinifile.create(FileName); - server := programIni.ReadString('SERVER', 'ַ', '127.0.0.1'); - programIni.Free; -end; - -procedure TfrmClothInfo.InitImage(); -var - i, j: integer; - jpg: TJpegImage; - myStream: TADOBlobStream; -begin - - j := length(Mach); - if j > 0 then - begin - for i := 0 to j - 1 do - begin - Mach[i].free; - end; - end; - SetLength(Mach, 0); - if CDS_1.IsEmpty then - exit; - try - with adoqueryPicture do - begin - close; - sql.Clear; - sql.Add(' select A.TFID,A.WBID,A.FilesOther,A.FileName from TP_File A '); - sql.add('where A.WBID=' + quotedstr(trim(CDS_1.fieldbyname('BCIID').AsString))); - if Trim(cbbHX.Text) <> '' then - sql.add(' and A.HXName=' + quotedstr(trim(cbbHX.Text))); - - open; - end; - j := adoqueryPicture.RecordCount; - if j < 1 then - exit; - adoqueryPicture.DisableControls; - adoqueryPicture.First; - SetLength(Mach, j); - jpg := TJpegImage.Create(); - for i := 0 to j - 1 do - begin - if triM(adoqueryPicture.fieldbyname('FilesOther').AsString) <> '' then - begin - myStream := tadoblobstream.Create(tblobfield(adoqueryPicture.fieldbyname('FilesOther')), bmread); - jpg.LoadFromStream(myStream); - Mach[i] := TfrmSlt.Create(Self); - Mach[i].Name := trim(adoqueryPicture.fieldbyname('TFID').AsString); - Mach[i].Parent := ScrollBox1; - Mach[i].Left := 0 + i * 165; - Mach[i].Init(adoqueryPicture.fieldbyname('TFID').AsString, adoqueryPicture.fieldbyname('FileName').AsString, jpg); - end; - adoqueryPicture.Next; - end; - adoqueryPicture.EnableControls; - finally - jpg.free; - application.ProcessMessages; - end; -end; - -procedure TfrmClothInfo.TBCopyClick(Sender: TObject); -begin - try - frmClothInfoInput := TfrmClothInfoInput.Create(Application); - with frmClothInfoInput do - begin - CopyInt := 1; - FBCIID := Trim(Self.CDS_1.fieldbyname('BCIID').AsString); - FCTID := Trim(Self.CDS_Tree.fieldbyname('CTID').AsString); - if ShowModal = 1 then - begin - Self.InitGrid(); - end; - end; - finally - frmClothInfoInput.Free; - end; -end; - -procedure TfrmClothInfo.C_CodeKeyPress(Sender: TObject; var Key: Char); -begin - if Key = #13 then - begin - CurrentPage := 1; - InitGrid(); - end; -end; - -procedure TfrmClothInfo.TBAddClick(Sender: TObject); -var - i: Integer; - FieldName: string; -begin - try - frmClothInfoInput := TfrmClothInfoInput.Create(Application); - with frmClothInfoInput do - begin - CopyInt := 0; - FBCIID := ''; - FCTID := Trim(Self.CDS_Tree.fieldbyname('CTID').AsString); - - if ShowModal = 1 then - begin - Self.InitGrid(); - end; - end; - finally - frmClothInfoInput.Free; - end; -end; - -procedure TfrmClothInfo.TBEditClick(Sender: TObject); -begin - if CDS_1.IsEmpty then - Exit; - try - frmClothInfoInput := TfrmClothInfoInput.Create(Application); - with frmClothInfoInput do - begin - CopyInt := 0; - FBCIID := Trim(Self.CDS_1.fieldbyname('BCIID').AsString); - FCTID := Trim(Self.CDS_Tree.fieldbyname('CTID').AsString); - if ShowModal = 1 then - begin - Self.InitGrid(); - end; - end; - finally - frmClothInfoInput.Free; - end; -end; - -procedure TfrmClothInfo.TextEdit(Sender: TObject); -var - mvalue, FFieldName: string; -begin - - mvalue := TcxTextEdit(Sender).EditingText; - FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); - with CDS_1 do - begin - Edit; - FieldByName(FFieldName).Value := mvalue; - Post; - - end; - if mvalue = '' then - mvalue := '0'; - - with ADOQueryCmd do - begin - Close; - SQL.Clear; - sql.Add('update BS_Cloth_Info set ' + FFieldName + '=' + (Trim(mvalue))); - sql.Add('where BCIID=' + quotedstr(Trim(CDS_1.fieldbyname('BCIID').AsString))); - ExecSQL; - end; - Tv1.Controller.EditingController.ShowEdit(); -end; - -procedure TfrmClothInfo.Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); -var - fsj: string; -begin - fsj := 'select DISTINCT HXNAME name from TP_File where ISNULL(HXNAME,'''')<>'''' AND WBID=' + quotedstr(trim(CDS_1.fieldbyname('BCIID').AsString)); - - SInitComBoxBySql(ADOQueryTemp, cbbHX, True, fsj); - - InitImage(); - - if CDS_1.IsEmpty then - exit; - - with ADOQueryTemp do - begin - close; - sql.Clear; - sql.Add('select * from BS_Cloth_Info_Sub A '); - sql.Add('where BCIID =' + quotedstr((CDS_1.fieldbyname('BCIID').AsString))); -// ShowMessage(sql.text); - open; - end; - SCreateCDS(ADOQueryTemp, CDS_2); - SInitCDSData(ADOQueryTemp, CDS_2); - -end; - -procedure TfrmClothInfo.TBMLEditClick(Sender: TObject); -var - fYPType: string; -begin - if CDS_1.IsEmpty then - exit; - if CDS_1.Locate('ssel', true, []) = false then - begin - Application.MessageBox('ûѡ!', 'ʾ', 0); - Exit; - end; - fYPType := ''; - - frmYPTypeHelpCP := TfrmYPTypeHelpCP.create(self); - with frmYPTypeHelpCP do - begin - if showmodal = 1 then - begin - fYPType := trim(ADOQueryHelp.fieldbyname('CTID').asstring); - end; - free; - end; - - if trim(fYPType) = '' then - exit; - - try - with CDS_1 do - begin - DisableControls; - First; - while not eof do - begin - if fieldbyname('ssel').AsBoolean then - begin - with ADOQueryCmd do - begin - close; - sql.Clear; - sql.Add('update BS_Cloth_Info SET CTID=''' + trim(fYPType) + ''' '); - sql.Add('where BCIID=' + quotedstr(trim(CDS_1.fieldbyname('BCIID').AsString))); - execsql; - end; - end; - next; - end; - First; - EnableControls; - end; - application.MessageBox('ɹ', 'ʾϢ'); - initgrid(); - except - CDS_1.EnableControls; - application.MessageBox('ʧܣ', 'ʾϢ', 0); - end; -end; - -procedure TfrmClothInfo.N1Click(Sender: TObject); -begin - SelOKNoFiler(Tv1, True); -end; - -procedure TfrmClothInfo.N2Click(Sender: TObject); -begin - SelOKNoFiler(Tv1, False); -end; - -procedure TfrmClothInfo.N3Click(Sender: TObject); -begin - Clipboard.SetTextBuf(PChar(Trim(CDS_1.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString))); -end; - -procedure TfrmClothInfo.TCBNOR1Change(Sender: TObject); -begin - RecordsNumber := StrToInt(TCBNOR1.Text); - CurrentPage := 1; - C_Code.SetFocus; - InitGrid(); -end; - -procedure TfrmClothInfo.HXNameBtnDnClick(Sender: TObject); -begin - TBtnEditC(Sender).Text := ''; - TBtnEditC(Sender).TxtCode := ''; - -end; - -procedure TfrmClothInfo.HXNameBtnUpClick(Sender: TObject); -begin - try - frmZDYHelp := TfrmZDYHelp.Create(Application); - with frmZDYHelp do - begin - flag := 'HX' + Trim(Self.CDS_1.fieldbyname('CYNO').AsString); - flagname := ''; - if ShowModal = 1 then - begin - TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); - end; - end; - finally - frmZDYHelp.Free; - end; -end; - -procedure TfrmClothInfo.Button1Click(Sender: TObject); -begin - if CurrentPage > 1 then - CurrentPage := CurrentPage - 1; - InitGrid(); -end; - -procedure TfrmClothInfo.Button2Click(Sender: TObject); -begin - if CurrentPage < CDS_1.FieldByName('TotalCount').AsInteger / RecordsNumber then - CurrentPage := CurrentPage + 1; - InitGrid(); -end; - -procedure TfrmClothInfo.ToolButton1Click(Sender: TObject); -begin - try - frmClothInfoInput := TfrmClothInfoInput.Create(Application); - with frmClothInfoInput do - begin - CopyInt := 0; - ToolButton1.Visible := False; - FBCIID := Trim(Self.CDS_1.fieldbyname('BCIID').AsString); - FCTID := Trim(Self.CDS_Tree.fieldbyname('CTID').AsString); - if ShowModal = 1 then - begin - Self.InitGrid(); - end; - end; - finally - frmClothInfoInput.Free; - end; -end; - -procedure TfrmClothInfo.ToolButton2Click(Sender: TObject); -begin - WriteCxGrid(self.Caption + 'TV1', Tv1, 'Ʒ'); -end; - -procedure TfrmClothInfo.ToolButton3Click(Sender: TObject); -var - WSql: string; -begin - if CDS_1.IsEmpty then - Exit; - Tv1.OnFocusedRecordChanged := nil; - if CDS_1.Locate('SSel', True, []) = False then - begin - Tv1.OnFocusedRecordChanged := Tv1FocusedRecordChanged; - Application.MessageBox('ûѡ!', 'ʾ', 0); - Exit; - end; - - WSql := ''; - CDS_1.DisableControls; - - with CDS_1 do - begin - First; - while not Eof do - begin - if CDS_1.fieldbyname('SSel').AsBoolean then - begin - if WSql <> '' then - begin - WSql := WSql + ',' + QuotedStr(Trim(CDS_1.fieldbyname('BCIID').AsString)); - end - else - begin - WSql := QuotedStr(Trim(CDS_1.fieldbyname('BCIID').AsString)); - end; - end; - Next; - end; - end; - - CDS_1.Locate('SSel', True, []); - Tv1.OnFocusedRecordChanged := Tv1FocusedRecordChanged; - CDS_1.EnableControls; - - try - frmLabelPrint := TfrmLabelPrint.Create(Application); - with frmLabelPrint do - begin - FLMType := 'ClothInfoPrint'; - FFiltration1 := WSql; - if ShowModal = 1 then - begin -// Self.InitGrid(); - end; - end; - finally - frmLabelPrint.Free; - end; - -end; - -end. - diff --git a/A02基础产品管理11/U_ClothInfoInput.dfm b/A02基础产品管理11/U_ClothInfoInput.dfm deleted file mode 100644 index 1971498..0000000 --- a/A02基础产品管理11/U_ClothInfoInput.dfm +++ /dev/null @@ -1,435 +0,0 @@ -object frmClothInfoInput: TfrmClothInfoInput - Left = 459 - Top = 231 - Anchors = [] - Caption = #20135#21697#20449#24687#24405#20837 - ClientHeight = 507 - ClientWidth = 931 - Color = clWhite - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [] - OldCreateOrder = True - Position = poScreenCenter - OnShow = FormShow - PixelsPerInch = 96 - TextHeight = 12 - object ToolBar1: TToolBar - Left = 0 - Top = 0 - Width = 931 - Height = 38 - AutoSize = True - ButtonHeight = 38 - ButtonWidth = 75 - Caption = 'ToolBar1' - Color = clWhite - DisabledImages = DataLink_ClothInfo.ImageList_new32 - Images = DataLink_ClothInfo.ImageList_new32 - List = True - ParentColor = False - ShowCaptions = True - TabOrder = 0 - object ToolButton1: TToolButton - Tag = 1 - Left = 0 - Top = 0 - AutoSize = True - Caption = #20445#23384 - ImageIndex = 16 - OnClick = ToolButton1Click - end - object TBClose: TToolButton - Left = 71 - Top = 0 - AutoSize = True - Caption = #20851#38381 - ImageIndex = 7 - OnClick = TBCloseClick - end - end - object ScrollBox1: TScrollBox - Left = 0 - Top = 38 - Width = 931 - Height = 469 - Align = alClient - AutoSize = True - BevelInner = bvNone - BevelOuter = bvNone - Color = clWhite - Ctl3D = False - ParentColor = False - ParentCtl3D = False - TabOrder = 1 - object Label1: TLabel - Left = 42 - Top = 41 - Width = 85 - Height = 16 - Caption = #20135#21697#32534#21495#65306 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -16 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - end - object Label5: TLabel - Left = 402 - Top = 41 - Width = 85 - Height = 16 - Caption = #20135#21697#21517#31216#65306 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -16 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - end - object Label15: TLabel - Left = 40 - Top = 85 - Width = 87 - Height = 16 - Caption = #38376' '#24133#65306 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -16 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - end - object Label22: TLabel - Left = 400 - Top = 85 - Width = 87 - Height = 16 - Caption = #20811' '#37325#65306 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -16 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - end - object Label3: TLabel - Left = 52 - Top = 7 - Width = 51 - Height = 16 - Caption = #26465#30721#65306 - Font.Charset = GB2312_CHARSET - Font.Color = clRed - Font.Height = -16 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - Visible = False - end - object Label6: TLabel - Left = 400 - Top = 132 - Width = 87 - Height = 16 - Caption = #35268' '#26684#65306 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -16 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - end - object Label7: TLabel - Left = 40 - Top = 132 - Width = 87 - Height = 16 - Caption = #25104' '#20998#65306 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -16 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - end - object Label8: TLabel - Left = 40 - Top = 185 - Width = 87 - Height = 16 - Caption = #22791' '#27880#65306 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -16 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - end - object C_Code: TEdit - Tag = 2 - Left = 129 - Top = 38 - Width = 240 - Height = 22 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -16 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - TabOrder = 0 - OnKeyPress = CYColorKeyPress - end - object C_Name: TEdit - Tag = 2 - Left = 497 - Top = 38 - Width = 240 - Height = 22 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -16 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - TabOrder = 1 - OnKeyPress = CYColorKeyPress - end - object C_Width: TBtnEditC - Tag = 2 - Left = 129 - Top = 80 - Width = 240 - Height = 25 - Hint = 'CYMF/'#38376#24133 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -16 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - TabOrder = 2 - OnBtnUpClick = C_WidthBtnUpClick - OnBtnDnClick = C_WidthBtnDnClick - end - object C_GramWeight: TBtnEditC - Tag = 2 - Left = 497 - Top = 81 - Width = 240 - Height = 25 - Hint = 'CYKZ/'#20811#37325 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -16 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - TabOrder = 3 - OnBtnUpClick = C_WidthBtnUpClick - OnBtnDnClick = C_WidthBtnDnClick - end - object BCIID: TEdit - Left = 109 - Top = 5 - Width = 218 - Height = 22 - Enabled = False - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -16 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - TabOrder = 4 - Visible = False - end - object C_Spec: TBtnEditC - Tag = 2 - Left = 497 - Top = 128 - Width = 240 - Height = 25 - Hint = 'C_Spec/'#35268#26684 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -16 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - TabOrder = 5 - OnBtnUpClick = C_WidthBtnUpClick - OnBtnDnClick = C_WidthBtnDnClick - end - object C_Composition: TBtnEditC - Tag = 2 - Left = 129 - Top = 128 - Width = 240 - Height = 25 - Hint = 'CYCF/'#25104#20998 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -16 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - TabOrder = 6 - OnBtnUpClick = C_WidthBtnUpClick - OnBtnDnClick = C_WidthBtnDnClick - end - object Note: TBtnEditC - Tag = 2 - Left = 129 - Top = 180 - Width = 615 - Height = 25 - Hint = 'YPNote/'#22791#27880 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -16 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - TabOrder = 7 - OnBtnUpClick = C_WidthBtnUpClick - OnBtnDnClick = C_WidthBtnDnClick - end - object cxGrid1: TcxGrid - Left = 0 - Top = 272 - Width = 929 - Height = 195 - Align = alBottom - TabOrder = 8 - object TV1: TcxGridDBTableView - Navigator.Buttons.CustomButtons = <> - ScrollbarAnnotations.CustomAnnotations = <> - DataController.DataSource = DS_1 - DataController.Filter.AutoDataSetFilter = True - DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] - DataController.Summary.DefaultGroupSummaryItems = < - item - Format = 'C_Code' - end> - DataController.Summary.FooterSummaryItems = < - item - Kind = skSum - end> - DataController.Summary.SummaryGroups = <> - OptionsBehavior.FocusCellOnTab = True - OptionsBehavior.GoToNextCellOnEnter = True - OptionsBehavior.FocusCellOnCycle = True - OptionsCustomize.ColumnFiltering = False - OptionsView.Footer = True - OptionsView.GroupByBox = False - object TV1Column1: TcxGridDBColumn - Caption = #39068#33394 - DataBinding.FieldName = 'C_Color' - DataBinding.IsNullValueType = True - HeaderAlignmentHorz = taCenter - Width = 150 - end - object TV1Column2: TcxGridDBColumn - Caption = #33394#21495 - DataBinding.FieldName = 'C_ColorNo' - DataBinding.IsNullValueType = True - HeaderAlignmentHorz = taCenter - Width = 150 - end - object TV1Column3: TcxGridDBColumn - Caption = #33457#22411 - DataBinding.FieldName = 'C_Pattern' - DataBinding.IsNullValueType = True - HeaderAlignmentHorz = taCenter - Width = 150 - end - object TV1Column4: TcxGridDBColumn - Caption = #27454#21495 - DataBinding.FieldName = 'C_StyleNo' - DataBinding.IsNullValueType = True - HeaderAlignmentHorz = taCenter - Width = 150 - end - end - object cxGridLevel2: TcxGridLevel - GridView = TV1 - end - end - object ToolBar2: TToolBar - Left = 0 - Top = 234 - Width = 929 - Height = 38 - Align = alBottom - AutoSize = True - ButtonHeight = 38 - ButtonWidth = 75 - Caption = 'ToolBar1' - Color = clWhite - DisabledImages = DataLink_ClothInfo.ImageList_new32 - Images = DataLink_ClothInfo.ImageList_new32 - List = True - ParentColor = False - ShowCaptions = True - TabOrder = 9 - object ToolButton3: TToolButton - Left = 0 - Top = 0 - AutoSize = True - Caption = #22686#34892 - ImageIndex = 2 - OnClick = ToolButton3Click - end - object ToolButton4: TToolButton - Left = 71 - Top = 0 - AutoSize = True - Caption = #21024#34892 - ImageIndex = 6 - OnClick = ToolButton4Click - end - end - end - object ADOQueryMain: TADOQuery - Connection = DataLink_ClothInfo.ADOLink - LockType = ltReadOnly - Parameters = <> - Left = 393 - Top = 1 - end - object ADOQueryCmd: TADOQuery - Connection = DataLink_ClothInfo.ADOLink - Parameters = <> - Left = 476 - Top = 4 - end - object ADOQueryTemp: TADOQuery - Connection = DataLink_ClothInfo.ADOLink - LockType = ltReadOnly - Parameters = <> - Left = 555 - Top = 4 - end - object DS_1: TDataSource - DataSet = CDS_1 - Left = 852 - Top = 353 - end - object CDS_1: TClientDataSet - Aggregates = <> - Params = <> - Left = 819 - Top = 349 - end - object GPM_1: TcxGridPopupMenu - Grid = cxGrid1 - PopupMenus = <> - Left = 782 - Top = 349 - end -end diff --git a/A02基础产品管理11/U_ClothInfoInput.pas b/A02基础产品管理11/U_ClothInfoInput.pas deleted file mode 100644 index 251894a..0000000 --- a/A02基础产品管理11/U_ClothInfoInput.pas +++ /dev/null @@ -1,433 +0,0 @@ -unit U_ClothInfoInput; - -interface - -uses - Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, - Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, - cxEdit, DB, cxDBData, ADODB, DBClient, cxGridLevel, cxGridCustomTableView, - cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, - cxGrid, ComCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, cxTextEdit, - cxButtonEdit, StdCtrls, ExtCtrls, cxCurrencyEdit, BtnEdit, U_BaseList, - cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore, dxSkinsDefaultPainters, - cxNavigator, dxDateRanges, dxBarBuiltInMenu, dxSkinBasic, 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, dxSkinOffice2016Colorful, dxSkinOffice2016Dark, - dxSkinOffice2019Black, dxSkinOffice2019Colorful, dxSkinOffice2019DarkGray, - dxSkinOffice2019White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic, - dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringtime, dxSkinStardust, - dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinTheBezier, dxSkinValentine, - dxSkinVisualStudio2013Blue, dxSkinVisualStudio2013Dark, - dxSkinVisualStudio2013Light, dxSkinVS2010, dxSkinWhiteprint, dxSkinWXI, - dxSkinXmas2008Blue, dxScrollbarAnnotations; - -type - TfrmClothInfoInput = class(TForm) - ToolBar1: TToolBar; - ToolButton1: TToolButton; - TBClose: TToolButton; - ADOQueryMain: TADOQuery; - ADOQueryCmd: TADOQuery; - ADOQueryTemp: TADOQuery; - ScrollBox1: TScrollBox; - Label1: TLabel; - Label5: TLabel; - Label15: TLabel; - Label22: TLabel; - Label3: TLabel; - C_Code: TEdit; - C_Name: TEdit; - C_Width: TBtnEditC; - C_GramWeight: TBtnEditC; - BCIID: TEdit; - Label6: TLabel; - C_Spec: TBtnEditC; - Label7: TLabel; - C_Composition: TBtnEditC; - Label8: TLabel; - Note: TBtnEditC; - cxGrid1: TcxGrid; - TV1: TcxGridDBTableView; - cxGridLevel2: TcxGridLevel; - TV1Column1: TcxGridDBColumn; - TV1Column2: TcxGridDBColumn; - TV1Column3: TcxGridDBColumn; - TV1Column4: TcxGridDBColumn; - DS_1: TDataSource; - CDS_1: TClientDataSet; - GPM_1: TcxGridPopupMenu; - ToolBar2: TToolBar; - ToolButton3: TToolButton; - ToolButton4: TToolButton; - procedure FormShow(Sender: TObject); - procedure ToolButton1Click(Sender: TObject); - procedure CYColorKeyPress(Sender: TObject; var Key: Char); - procedure CYJGGYBtnDnClick(Sender: TObject); - procedure C_WidthBtnDnClick(Sender: TObject); - procedure C_WidthBtnUpClick(Sender: TObject); - procedure ToolButton3Click(Sender: TObject); - procedure ToolButton4Click(Sender: TObject); - procedure TBCloseClick(Sender: TObject); - private - canshu1: string; - Fint: Integer; - procedure InitGrid(); - function SaveData(): Boolean; - { Private declarations } - public - FBCIID, FCTID: string; - CopyInt: Integer; - - { Public declarations } - end; - -var - frmClothInfoInput: TfrmClothInfoInput; - -implementation - -uses - U_DataLink, U_RTFun, U_iniParam, U_ZDYHelp, U_AttachmentUpload; - -{$R *.dfm} - -procedure TfrmClothInfoInput.InitGrid(); -begin - - try - ADOQueryMain.DisableControls; - with ADOQueryMain do - begin - Close; - SQL.Clear; - SQL.Add('select * from BS_Cloth_Info where BCIID=''' + Trim(FBCIID) + ''''); - Open; - end; - - SCSHData(ADOQueryMain, ScrollBox1, 2); - SCSHData(ADOQueryMain, ScrollBox1, 0); - finally - ADOQueryMain.EnableControls; - end; - - with ADOQueryTemp do - begin - Close; - sql.Clear; - sql.Add('select A.* from BS_Cloth_Info_Sub A '); - sql.Add(' where A.BCIID=''' + Trim(FBCIID) + ''''); - //ShowMessage(sql.text); - Open; - end; - SCreateCDS(ADOQueryTemp, CDS_1); - SInitCDSData(ADOQueryTemp, CDS_1); - -end; - -procedure TfrmClothInfoInput.FormShow(Sender: TObject); -var - maxno: string; -begin - - InitGrid(); - - if CopyInt = 1 then - begin - FBCIID := ''; - BCIID.text := ''; - C_Code.text := ''; - - with CDS_1 do - begin - First; - while not Eof do - begin - if GetLSNo(ADOQueryCmd, maxno, 'YS', 'BS_Cloth_Info_Sub', 4, 1) = False then - begin - Application.MessageBox('ȡˮʧܣ', 'ʾ', 0); - Exit; - end; - - Edit; - FieldByName('BCIID').Value := ''; - FieldByName('YSID').Value := maxno; - Post; - Next; - end; - end; - end; - -end; - -function TfrmClothInfoInput.SaveData(): Boolean; -var - maxId, maxId2, maxno: string; -begin - try - ADOQueryCmd.Connection.BeginTrans; - if Trim(FBCIID) = '' then - begin - if GetLSNo(ADOQueryCmd, maxId, 'Y', 'BS_Cloth_Info', 4, 1) = False then - begin - Result := False; - ADOQueryCmd.Connection.RollbackTrans; - Application.MessageBox('ȡʧܣ', 'ʾ', 0); - Exit; - end; - - BCIID.Text := trim(maxId); - end - else - begin - maxId := Trim(FBCIID); - end; - with ADOQueryCmd do - begin - Close; - SQL.Clear; - sql.Add('select * from BS_Cloth_Info where BCIID=''' + Trim(FBCIID) + ''''); - Open; - end; - with ADOQueryCmd do - begin - if Trim(FBCIID) = '' then - begin - Append; - FieldByName('CTID').Value := Trim(FCTID); - FieldByName('FILLID').Value := Trim(DCode); - FieldByName('FILLER').Value := Trim(DName); - FieldByName('FILLTIME').Value := SGetServerDateTime(ADOQueryTemp); - end - else - begin - Edit; - FieldByName('EDITER').Value := Trim(DName); - FieldByName('EDITTIME').Value := SGetServerDateTime(ADOQueryTemp); - end; - FieldByName('BCIID').Value := Trim(maxId); - if trim(C_Code.Text) = '' then - C_Code.Text := Trim(maxId); - RTSetsavedata(ADOQueryCmd, 'BS_Cloth_Info', ScrollBox1, 2); - Post; - end; - with ADOQueryTemp do - begin - Close; - sql.Clear; - sql.Add('select count(*) as AA from BS_Cloth_Info where C_Code=''' + Trim(C_Code.Text) + ''''); - Open; - if FieldByName('AA').AsInteger > 1 then - begin - ADOQueryCmd.Connection.RollbackTrans; - Result := False; - Application.MessageBox('ظ', 'ʾ', 0); - Exit; - end; - end; - - ////////////////////////// ӱ ////////////////////////// - with CDS_1 do - begin - First; - while not Eof do - begin - if Trim(CDS_1.fieldbyname('YSID').AsString) = '' then - begin - if GetLSNo(ADOQueryTemp, maxId2, 'YS', 'BS_Cloth_Info_Sub', 4, 1) = False then - begin - ADOQueryCmd.Connection.RollbackTrans; - Application.MessageBox('ȡˮʧܣ', 'ʾ', 0); - Exit; - end; - end - else - begin - maxId2 := Trim(CDS_1.fieldbyname('YSID').AsString); - end; - - with ADOQueryCmd do - begin - Close; - SQL.Clear; - sql.Add(' select * from BS_Cloth_Info_Sub where '); - sql.Add(' YSID=''' + Trim(maxId2) + ''''); - Open; - end; - with ADOQueryCmd do - begin - if Trim(CDS_1.fieldbyname('YSID').AsString) = '' then - begin - Append; - FieldByName('FillID').Value := Trim(DCode); - FieldByName('Filler').Value := Trim(DName); - FieldByName('FillTime').Value := SGetServerDateTime(ADOQueryTemp); - end - else - begin - Edit; - FieldByName('EditID').Value := Trim(DCode); - FieldByName('Editer').Value := Trim(DName); - FieldByName('EditTime').Value := SGetServerDateTime(ADOQueryTemp); - end; - FieldByName('BCIID').Value := Trim(maxId); - FieldByName('YSId').Value := Trim(maxId2); - RTSetSaveDataCDS(ADOQueryCmd, Tv1, CDS_1, 'BS_Cloth_Info_Sub', 0); - Post; - end; - CDS_1.Edit; - CDS_1.FieldByName('BCIID').Value := Trim(maxId); - CDS_1.FieldByName('YSId').Value := Trim(maxId2); - - Next; - end; - end; - -////////////////////////// ӱ ////////////////////////// - - ADOQueryCmd.Connection.CommitTrans; - FBCIID := maxId; - Result := True; - except - Result := False; - ADOQueryCmd.Connection.RollbackTrans; - Application.MessageBox('ʧ!', 'ʾ', 0); - end; -end; - -procedure TfrmClothInfoInput.CYJGGYBtnDnClick(Sender: TObject); -begin - TBtnEditC(Sender).Text := ''; -end; - -procedure TfrmClothInfoInput.TBCloseClick(Sender: TObject); -begin - Close; -end; - -procedure TfrmClothInfoInput.ToolButton1Click(Sender: TObject); -var - MC_Code: string; -begin - -// if C_Name.Text = '' then -// begin -// Application.MessageBox('ƷƲΪգ', 'ʾ', 0); -// Exit; -// end; - - if CDS_1.IsEmpty then - begin - Application.MessageBox('ɫΪգ', 'ʾ', 0); - Exit; - end; - - if trim(C_Code.Text) = '' then - begin - - if GetLSNo(ADOQueryCmd, MC_Code, 'C', 'BS_Cloth_Info', 4, 0) = False then - begin - Application.MessageBox('ȡƷʧ!', 'ʾ', 0); - Exit; - end; - C_Code.Text := MC_Code; - - end; - - if SaveData() then - begin - Application.MessageBox('ɹ', 'ʾ', 0); - ModalResult := 1; - end; -end; - -procedure TfrmClothInfoInput.ToolButton3Click(Sender: TObject); -var - maxno: string; -begin - - if GetLSNo(ADOQueryCmd, maxno, 'YS', 'BS_Cloth_Info_Sub', 4, 1) = False then - begin - Application.MessageBox('ȡʧ!', 'ʾ', 0); - Exit; - end; - - CopyAddRow(Tv1, CDS_1); - - with CDS_1 do - begin - Edit; - fieldbyname('YSID').Value := trim(maxno); - Post; - end; - -end; - -procedure TfrmClothInfoInput.ToolButton4Click(Sender: TObject); -begin - if CDS_1.IsEmpty then - Exit; - - if Trim(CDS_1.fieldbyname('YSID').AsString) <> '' then - begin - if Application.MessageBox('ȷҪɾ', 'ʾ', 32 + 4) <> IDYES then - Exit; - with ADOQueryCmd do - begin - Close; - sql.Clear; - sql.Add('delete from BS_Cloth_Info_Sub where YSID=''' + Trim(CDS_1.fieldbyname('YSID').AsString) + ''''); - ExecSQL; - end; - end; - - CDS_1.Delete; - -end; - -procedure TfrmClothInfoInput.CYColorKeyPress(Sender: TObject; var Key: Char); -begin - if Key = #13 then - begin - Key := #0; - SelectNext(ActiveControl as TWinControl, True, True); - end; -end; - -procedure TfrmClothInfoInput.C_WidthBtnDnClick(Sender: TObject); -begin - TBtnEditC(Sender).Text := ''; - TBtnEditC(Sender).TxtCode := ''; -end; - -procedure TfrmClothInfoInput.C_WidthBtnUpClick(Sender: TObject); -var - fsj: string; - FWZ: Integer; -begin - fsj := Trim(TEdit(Sender).Hint); - FWZ := Pos('/', fsj); - try - frmZDYHelp := TfrmZDYHelp.Create(Application); - with frmZDYHelp do - begin - flag := Copy(fsj, 1, FWZ - 1); - flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ); - if ShowModal = 1 then - begin - TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); - end; - end; - finally - frmZDYHelp.Free; - end; -end; - -end. - diff --git a/A02基础产品管理11/U_ClothInfoInput_Tat.dfm b/A02基础产品管理11/U_ClothInfoInput_Tat.dfm deleted file mode 100644 index 0749342..0000000 --- a/A02基础产品管理11/U_ClothInfoInput_Tat.dfm +++ /dev/null @@ -1,410 +0,0 @@ -object frmClothInfoInput_Tat: TfrmClothInfoInput_Tat - Left = 459 - Top = 231 - Anchors = [] - Caption = #20135#21697#20449#24687#24405#20837 - ClientHeight = 243 - ClientWidth = 718 - Color = clWhite - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [] - OldCreateOrder = True - Position = poScreenCenter - OnCreate = FormCreate - OnShow = FormShow - PixelsPerInch = 96 - TextHeight = 12 - object ToolBar1: TToolBar - Left = 0 - Top = 0 - Width = 718 - Height = 38 - AutoSize = True - ButtonHeight = 38 - ButtonWidth = 75 - Caption = 'ToolBar1' - Color = clWhite - DisabledImages = DataLink_ClothInfo.ImageList_new32 - Images = DataLink_ClothInfo.ImageList_new32 - List = True - ParentColor = False - ShowCaptions = True - TabOrder = 0 - ExplicitWidth = 735 - object ToolButton1: TToolButton - Tag = 1 - Left = 0 - Top = 0 - AutoSize = True - Caption = #20445#23384 - ImageIndex = 16 - OnClick = ToolButton1Click - end - object ToolButton6: TToolButton - Left = 71 - Top = 0 - AutoSize = True - Caption = #38468#20214 - ImageIndex = 22 - OnClick = ToolButton6Click - end - object TBClose: TToolButton - Left = 142 - Top = 0 - AutoSize = True - Caption = #20851#38381 - ImageIndex = 7 - OnClick = TBCloseClick - end - end - object ScrollBox1: TScrollBox - Left = 0 - Top = 38 - Width = 718 - Height = 205 - Align = alClient - AutoSize = True - BevelInner = bvNone - BevelOuter = bvNone - Color = clWhite - Ctl3D = False - ParentColor = False - ParentCtl3D = False - TabOrder = 1 - ExplicitTop = 44 - ExplicitWidth = 735 - ExplicitHeight = 267 - object Label1: TLabel - Left = 31 - Top = 33 - Width = 65 - Height = 12 - Caption = #20135#21697#32534#21495#65306 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - end - object Label5: TLabel - Left = 362 - Top = 33 - Width = 65 - Height = 12 - Caption = #20135#21697#21517#31216#65306 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - end - object Label15: TLabel - Left = 29 - Top = 64 - Width = 67 - Height = 12 - Caption = #38376' '#24133#65306 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - end - object Label22: TLabel - Left = 360 - Top = 64 - Width = 67 - Height = 12 - Caption = #20811' '#37325#65306 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - end - object Label2: TLabel - Left = 360 - Top = 156 - Width = 67 - Height = 12 - Caption = #22836' '#32441#65306 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - end - object Label4: TLabel - Left = 29 - Top = 93 - Width = 67 - Height = 12 - Caption = #32428' '#23494#65306 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - end - object Label3: TLabel - Left = 46 - Top = 302 - Width = 51 - Height = 16 - Caption = #26465#30721#65306 - Font.Charset = GB2312_CHARSET - Font.Color = clRed - Font.Height = -16 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - Visible = False - end - object Label12: TLabel - Left = 360 - Top = 93 - Width = 67 - Height = 12 - Caption = #32463' '#23494#65306 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - end - object Label6: TLabel - Left = 29 - Top = 156 - Width = 67 - Height = 12 - Caption = #31576' '#21495#65306 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - end - object Label7: TLabel - Left = 31 - Top = 125 - Width = 65 - Height = 12 - Caption = #32428#32433#35268#26684#65306 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - end - object Label8: TLabel - Left = 362 - Top = 125 - Width = 65 - Height = 12 - Caption = #32463#32433#35268#26684#65306 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - end - object C_Code: TEdit - Tag = 2 - Left = 93 - Top = 30 - Width = 234 - Height = 18 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - TabOrder = 0 - OnKeyPress = CYColorKeyPress - end - object C_Name: TEdit - Tag = 2 - Left = 426 - Top = 30 - Width = 234 - Height = 18 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - TabOrder = 1 - OnKeyPress = CYColorKeyPress - end - object C_EphalicStria: TEdit - Tag = 2 - Left = 426 - Top = 153 - Width = 234 - Height = 18 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - TabOrder = 4 - end - object C_FinishLatitudeDensity: TEdit - Tag = 2 - Left = 93 - Top = 90 - Width = 234 - Height = 18 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - TabOrder = 5 - end - object C_Width: TBtnEditC - Tag = 2 - Left = 93 - Top = 60 - Width = 234 - Height = 20 - Hint = 'CYMF/'#38376#24133 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - TabOrder = 2 - OnBtnUpClick = C_WidthBtnUpClick - OnBtnDnClick = C_WidthBtnDnClick - end - object C_GramWeight: TBtnEditC - Tag = 2 - Left = 426 - Top = 60 - Width = 234 - Height = 20 - Hint = 'CYKZ/'#20811#37325 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - TabOrder = 3 - OnBtnUpClick = C_WidthBtnUpClick - OnBtnDnClick = C_WidthBtnDnClick - end - object C_FinishLongitudeDensity: TEdit - Tag = 2 - Left = 426 - Top = 90 - Width = 234 - Height = 18 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - TabOrder = 6 - OnKeyPress = CYColorKeyPress - end - object BCIID: TEdit - Left = 103 - Top = 300 - Width = 218 - Height = 22 - Enabled = False - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -16 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - TabOrder = 7 - Visible = False - end - object C_LatitudeSpec: TEdit - Tag = 2 - Left = 93 - Top = 122 - Width = 234 - Height = 18 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - TabOrder = 8 - end - object C_LongitudeSpec: TEdit - Tag = 2 - Left = 426 - Top = 122 - Width = 234 - Height = 18 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - TabOrder = 9 - OnKeyPress = CYColorKeyPress - end - object C_ReedNo: TEdit - Tag = 2 - Left = 93 - Top = 152 - Width = 234 - Height = 18 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - TabOrder = 10 - end - end - object ADOQueryMain: TADOQuery - Connection = DataLink_ClothInfo.ADOLink - LockType = ltReadOnly - Parameters = <> - Left = 421 - Top = 9 - end - object ADOQueryCmd: TADOQuery - Connection = DataLink_ClothInfo.ADOLink - Parameters = <> - Left = 505 - Top = 9 - end - object ADOQueryTemp: TADOQuery - Connection = DataLink_ClothInfo.ADOLink - LockType = ltReadOnly - Parameters = <> - Left = 613 - Top = 17 - end -end diff --git a/A02基础产品管理11/U_ClothInfoInput_Tat.pas b/A02基础产品管理11/U_ClothInfoInput_Tat.pas deleted file mode 100644 index e1ae143..0000000 --- a/A02基础产品管理11/U_ClothInfoInput_Tat.pas +++ /dev/null @@ -1,348 +0,0 @@ -unit U_ClothInfoInput_Tat; - -interface - -uses - Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, - Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, - cxEdit, DB, cxDBData, ADODB, DBClient, cxGridLevel, cxGridCustomTableView, - cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, - cxGrid, ComCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, cxTextEdit, - cxButtonEdit, StdCtrls, ExtCtrls, cxCurrencyEdit, BtnEdit, U_BaseList, - cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore, dxSkinsDefaultPainters, - cxNavigator, dxDateRanges, dxBarBuiltInMenu; - -type - TfrmClothInfoInput_Tat = class(TForm) - ToolBar1: TToolBar; - ToolButton1: TToolButton; - TBClose: TToolButton; - ADOQueryMain: TADOQuery; - ADOQueryCmd: TADOQuery; - ADOQueryTemp: TADOQuery; - ScrollBox1: TScrollBox; - Label1: TLabel; - Label5: TLabel; - Label15: TLabel; - Label22: TLabel; - Label2: TLabel; - Label4: TLabel; - Label3: TLabel; - C_Code: TEdit; - C_Name: TEdit; - C_EphalicStria: TEdit; - C_FinishLatitudeDensity: TEdit; - C_Width: TBtnEditC; - C_GramWeight: TBtnEditC; - Label12: TLabel; - C_FinishLongitudeDensity: TEdit; - ToolButton6: TToolButton; - BCIID: TEdit; - Label6: TLabel; - Label7: TLabel; - Label8: TLabel; - C_LatitudeSpec: TEdit; - C_LongitudeSpec: TEdit; - C_ReedNo: TEdit; - procedure FormShow(Sender: TObject); - procedure TBCloseClick(Sender: TObject); - procedure ToolButton1Click(Sender: TObject); - procedure CYColorKeyPress(Sender: TObject; var Key: Char); - procedure CYKZExit(Sender: TObject); - procedure CYMFExit(Sender: TObject); - procedure FormCreate(Sender: TObject); - procedure CYJGGYBtnDnClick(Sender: TObject); - procedure C_WidthBtnDnClick(Sender: TObject); - procedure C_WidthBtnUpClick(Sender: TObject); - procedure ToolButton6Click(Sender: TObject); - private - canshu1: string; - Fint: Integer; - procedure InitGrid(); - function SaveData(): Boolean; - { Private declarations } - public - FBCIID, FCTID: string; - CopyInt: Integer; - - { Public declarations } - end; - -var - frmClothInfoInput_Tat: TfrmClothInfoInput_Tat; - -implementation - -uses - U_DataLink, U_RTFun, U_iniParam, U_ZDYHelp, U_AttachmentUpload; - -{$R *.dfm} - -procedure TfrmClothInfoInput_Tat.InitGrid(); -begin - - try - ADOQueryMain.DisableControls; - with ADOQueryMain do - begin - Close; - SQL.Clear; - SQL.Add('select * from BS_Cloth_Info where BCIID=''' + Trim(FBCIID) + ''''); - Open; - end; - - SCSHData(ADOQueryMain, ScrollBox1, 2); - SCSHData(ADOQueryMain, ScrollBox1, 0); - finally - ADOQueryMain.EnableControls; - end; - -end; - -procedure TfrmClothInfoInput_Tat.FormShow(Sender: TObject); -begin - InitGrid(); - if CopyInt = 1 then - begin - FBCIID := ''; - BCIID.text := ''; - C_Code.text := ''; - - end; -// if C_Code.text = '' then -// begin -// with ADOQueryTemp do -// begin -// Close; -// sql.Clear; -// sql.Add(' exec P_YP_Get_CPBH '); -// sql.Add('@CTID=' + quotedstr(Trim(FCTID))); -// -// Open; -// end; -// end; -// if trim(C_Code.Text) = '' then -// begin -// with ADOQueryTemp do -// begin -// Close; -// sql.Clear; -// sql.Add(' exec P_YP_Get_No @Str=''CP'' '); -// Open; -// end; -// C_Code.Text := trim(ADOQueryTemp.FieldByName('NewC_Code').asstring); -// end; - -// if FCPName = '֯' then -// begin -// CYPUnit.text := 'KG'; -// end; -// if FCPName = '֯' then -// begin -// CYPUnit.text := 'M'; -// end; - -end; - -procedure TfrmClothInfoInput_Tat.TBCloseClick(Sender: TObject); -begin - Close; -end; - -function TfrmClothInfoInput_Tat.SaveData(): Boolean; -var - maxId, maxno: string; -begin - try - ADOQueryCmd.Connection.BeginTrans; - if Trim(FBCIID) = '' then - begin - if GetLSNo(ADOQueryCmd, maxId, 'Y', 'BS_Cloth_Info', 4, 1) = False then - begin - Result := False; - ADOQueryCmd.Connection.RollbackTrans; - Application.MessageBox('ȡʧܣ', 'ʾ', 0); - Exit; - end; - - BCIID.Text := trim(maxId); - end - else - begin - maxId := Trim(FBCIID); - end; - with ADOQueryCmd do - begin - Close; - SQL.Clear; - sql.Add('select * from BS_Cloth_Info where BCIID=''' + Trim(FBCIID) + ''''); - Open; - end; - with ADOQueryCmd do - begin - if Trim(FBCIID) = '' then - begin - Append; - FieldByName('CTID').Value := Trim(FCTID); - FieldByName('FILLID').Value := Trim(DCode); - FieldByName('FILLER').Value := Trim(DName); - FieldByName('FILLTIME').Value := SGetServerDateTime(ADOQueryTemp); - end - else - begin - Edit; - FieldByName('EDITER').Value := Trim(DName); - FieldByName('EDITTIME').Value := SGetServerDateTime(ADOQueryTemp); - end; - FieldByName('BCIID').Value := Trim(maxId); - if trim(C_Code.Text) = '' then - C_Code.Text := Trim(maxId); - RTSetsavedata(ADOQueryCmd, 'BS_Cloth_Info', ScrollBox1, 2); - Post; - end; - with ADOQueryTemp do - begin - Close; - sql.Clear; - sql.Add('select count(*) as AA from BS_Cloth_Info where C_Code=''' + Trim(C_Code.Text) + ''''); - Open; - if FieldByName('AA').AsInteger > 1 then - begin - ADOQueryCmd.Connection.RollbackTrans; - Result := False; - Application.MessageBox('ظ', 'ʾ', 0); - Exit; - end; - end; - - ADOQueryCmd.Connection.CommitTrans; - FBCIID := maxId; - Result := True; - except - Result := False; - ADOQueryCmd.Connection.RollbackTrans; - Application.MessageBox('ʧ!', 'ʾ', 0); - end; -end; - -procedure TfrmClothInfoInput_Tat.CYJGGYBtnDnClick(Sender: TObject); -begin - TBtnEditC(Sender).Text := ''; -end; - -procedure TfrmClothInfoInput_Tat.ToolButton1Click(Sender: TObject); -var - MC_Code: string; -begin - if C_Name.Text = '' then - begin - Application.MessageBox('ƷƲΪգ', 'ʾ', 0); - Exit; - end; - if trim(C_Code.Text) = '' then - begin - - if GetLSNo(ADOQueryCmd, MC_Code, 'C', 'BS_Cloth_Info', 4, 0) = False then - begin - Application.MessageBox('ȡƷʧ!', 'ʾ', 0); - Exit; - end; - C_Code.Text := MC_Code; - - end; - - if SaveData() then - begin - Application.MessageBox('ɹ', 'ʾ', 0); - ModalResult := 1; - end; -end; - -procedure TfrmClothInfoInput_Tat.CYColorKeyPress(Sender: TObject; var Key: Char); -begin - if Key = #13 then - begin - Key := #0; - SelectNext(ActiveControl as TWinControl, True, True); - end; -end; - -procedure TfrmClothInfoInput_Tat.CYKZExit(Sender: TObject); -begin -// if pos('G/M2', trim(CYKZ.Text)) = 0 then -// begin -// if pos('G/M', trim(CYKZ.Text)) = 0 then -// begin -// CYKZ.Text := trim(CYKZ.Text) + 'G/M2'; -// end; -// end; -end; - -procedure TfrmClothInfoInput_Tat.C_WidthBtnDnClick(Sender: TObject); -begin - TBtnEditC(Sender).Text := ''; - TBtnEditC(Sender).TxtCode := ''; -end; - -procedure TfrmClothInfoInput_Tat.C_WidthBtnUpClick(Sender: TObject); -var - fsj: string; - FWZ: Integer; -begin - fsj := Trim(TEdit(Sender).Hint); - FWZ := Pos('/', fsj); - try - frmZDYHelp := TfrmZDYHelp.Create(Application); - with frmZDYHelp do - begin - flag := Copy(fsj, 1, FWZ - 1); - flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ); - if ShowModal = 1 then - begin - TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); - end; - end; - finally - frmZDYHelp.Free; - end; -end; - -procedure TfrmClothInfoInput_Tat.CYMFExit(Sender: TObject); -begin -// if pos('"', trim(CYMF.Text)) = 0 then -// begin -// if pos('CM', trim(CYMF.Text)) = 0 then -// CYMF.Text := trim(CYMF.Text) + 'CM'; -// end; - -end; - -procedure TfrmClothInfoInput_Tat.FormCreate(Sender: TObject); -begin - -// LaYangDate.DateTime := SGetServerDateTime(ADOQueryTemp); -end; - -procedure TfrmClothInfoInput_Tat.ToolButton6Click(Sender: TObject); -begin - if trim(C_Code.Text) = '' then - Exit; - try - frmAttachmentUpload := TfrmAttachmentUpload.Create(Application); - with frmAttachmentUpload do - begin - FEditAuthority := True; - fkeyNO := trim(C_Code.Text); - fType := 'Ʒ'; - if ShowModal = 1 then - begin - - end; - end; - finally - frmAttachmentUpload.Free; - end; -end; - -end. - diff --git a/A02基础产品管理11/U_ClothInfo_Tat.dfm b/A02基础产品管理11/U_ClothInfo_Tat.dfm deleted file mode 100644 index 9628826..0000000 --- a/A02基础产品管理11/U_ClothInfo_Tat.dfm +++ /dev/null @@ -1,846 +0,0 @@ -inherited frmClothInfo_Tat: TfrmClothInfo_Tat - Left = 117 - Top = 154 - Caption = #26797#32455#20135#21697#26723#26696 - ClientHeight = 702 - ClientWidth = 1444 - FormStyle = fsMDIChild - Position = poScreenCenter - Visible = True - ExplicitWidth = 1460 - ExplicitHeight = 741 - PixelsPerInch = 96 - TextHeight = 12 - object ToolBar1: TToolBar [0] - Tag = 1 - Left = 0 - Top = 0 - Width = 1444 - Height = 38 - AutoSize = True - ButtonHeight = 38 - ButtonWidth = 91 - Caption = 'ToolBar1' - Color = clSkyBlue - DisabledImages = DataLink_ClothInfo.ImageList_new32 - Images = DataLink_ClothInfo.ImageList_new32 - List = True - ParentColor = False - ShowCaptions = True - TabOrder = 0 - object TBRafresh: TToolButton - Left = 0 - Top = 0 - AutoSize = True - Caption = #21047#26032 - ImageIndex = 1 - OnClick = TBRafreshClick - end - object TBFilter: TToolButton - Left = 71 - Top = 0 - AutoSize = True - Caption = #36807#28388 - ImageIndex = 0 - OnClick = TBFilterClick - end - object TBAdd: TToolButton - Left = 142 - Top = 0 - AutoSize = True - Caption = #26032#22686 - ImageIndex = 9 - OnClick = TBAddClick - end - object ToolButton1: TToolButton - Left = 213 - Top = 0 - AutoSize = True - Caption = #26597#30475 - ImageIndex = 4 - OnClick = ToolButton1Click - end - object TBCopy: TToolButton - Left = 284 - Top = 0 - AutoSize = True - Caption = #22797#21046 - ImageIndex = 13 - OnClick = TBCopyClick - end - object TBEdit: TToolButton - Left = 355 - Top = 0 - AutoSize = True - Caption = #20462#25913 - ImageIndex = 3 - OnClick = TBEditClick - end - object TBMLEdit: TToolButton - Left = 426 - Top = 0 - AutoSize = True - Caption = #30446#24405#20462#25913 - ImageIndex = 3 - OnClick = TBMLEditClick - end - object TBDel: TToolButton - Left = 521 - Top = 0 - AutoSize = True - Caption = #21024#38500 - ImageIndex = 5 - OnClick = TBDelClick - end - object ToolButton3: TToolButton - Left = 592 - Top = 0 - AutoSize = True - Caption = #26631#31614#25171#21360 - ImageIndex = 21 - OnClick = ToolButton3Click - end - object TBExport: TToolButton - Left = 687 - Top = 0 - AutoSize = True - Caption = #23548#20986 - ImageIndex = 20 - OnClick = TBExportClick - end - object TBUP: TToolButton - Left = 758 - Top = 0 - AutoSize = True - Caption = #22270#29255#19978#20256 - ImageIndex = 19 - OnClick = TBUPClick - end - object ToolButton2: TToolButton - Left = 853 - Top = 0 - AutoSize = True - Caption = #20445#23384#26684#24335 - ImageIndex = 16 - OnClick = ToolButton2Click - end - object TBClose: TToolButton - Left = 948 - Top = 0 - AutoSize = True - Caption = #20851#38381 - ImageIndex = 7 - OnClick = TBCloseClick - end - end - object cxSplitter1: TcxSplitter [1] - Left = 220 - Top = 83 - Width = 8 - Height = 619 - HotZoneClassName = 'TcxMediaPlayer9Style' - Control = Panel5 - end - object Panel1: TPanel [2] - Left = 0 - Top = 38 - Width = 1444 - Height = 45 - Align = alTop - BevelInner = bvRaised - BevelOuter = bvLowered - Color = 16242829 - ParentBackground = False - TabOrder = 1 - object Label3: TLabel - Left = 42 - Top = 15 - Width = 48 - Height = 12 - Caption = #20135#21697#32534#21495 - end - object Label11: TLabel - Left = 1072 - Top = 107 - Width = 7 - Height = 12 - Font.Charset = GB2312_CHARSET - Font.Color = clBlue - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - end - object Label12: TLabel - Left = 1120 - Top = 111 - Width = 7 - Height = 12 - Font.Charset = GB2312_CHARSET - Font.Color = clRed - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - end - object Label4: TLabel - Left = 199 - Top = 15 - Width = 48 - Height = 12 - Caption = #20135#21697#21517#31216 - end - object Label9: TLabel - Left = 509 - Top = 15 - Width = 24 - Height = 12 - Caption = #20811#37325 - end - object Label8: TLabel - Left = 357 - Top = 15 - Width = 24 - Height = 12 - Caption = #38376#24133 - end - object C_Code: TEdit - Tag = 2 - Left = 91 - Top = 11 - Width = 89 - Height = 20 - TabOrder = 0 - OnKeyPress = C_CodeKeyPress - end - object C_Name: TEdit - Tag = 2 - Left = 248 - Top = 11 - Width = 89 - Height = 20 - TabOrder = 1 - OnKeyPress = C_CodeKeyPress - end - object C_GramWeight: TEdit - Tag = 2 - Left = 536 - Top = 11 - Width = 89 - Height = 20 - TabOrder = 3 - OnKeyPress = C_CodeKeyPress - end - object C_Width: TEdit - Tag = 2 - Left = 384 - Top = 11 - Width = 89 - Height = 20 - TabOrder = 2 - OnKeyPress = C_CodeKeyPress - end - end - object Panel2: TPanel [3] - Left = 512 - Top = 232 - Width = 185 - Height = 41 - BevelInner = bvRaised - BevelOuter = bvLowered - Caption = #27491#22312#26597#35810#25968#25454#65292#35831#31245#21518#12290#12290#12290 - Color = clSkyBlue - Font.Charset = GB2312_CHARSET - Font.Color = clRed - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - TabOrder = 5 - Visible = False - end - object Panel5: TPanel [4] - Left = 0 - Top = 83 - Width = 220 - Height = 619 - Align = alLeft - BevelInner = bvRaised - BevelOuter = bvLowered - TabOrder = 2 - object cxDBTreeList1: TcxDBTreeList - Left = 2 - Top = 2 - Width = 216 - Height = 615 - Align = alClient - Bands = < - item - end> - DataController.DataSource = DS_Tree - DataController.ParentField = 'CTParent' - DataController.KeyField = 'CTID' - Navigator.Buttons.CustomButtons = <> - OptionsBehavior.CopyCaptionsToClipboard = False - OptionsBehavior.ExpandOnDblClick = False - OptionsSelection.CellSelect = False - OptionsView.CellAutoHeight = True - OptionsView.Headers = False - RootValue = -1 - Styles.Inactive = DataLink_ClothInfo.Red - Styles.Selection = DataLink_ClothInfo.Red - Styles.IncSearch = DataLink_ClothInfo.Red - TabOrder = 0 - OnDblClick = cxDBTreeList1DblClick - object cxDBTreeList1cxDBTreeListColumn2: TcxDBTreeListColumn - DataBinding.FieldName = 'CTName' - Width = 210 - Position.ColIndex = 0 - Position.RowIndex = 0 - Position.BandIndex = 0 - Summary.FooterSummaryItems = <> - Summary.GroupFooterSummaryItems = <> - end - end - end - object Panel3: TPanel [5] - Left = 228 - Top = 83 - Width = 1216 - Height = 619 - Align = alClient - BevelInner = bvRaised - BevelOuter = bvLowered - Caption = 'Panel3' - TabOrder = 4 - object cxGrid1: TcxGrid - Left = 2 - Top = 42 - Width = 1212 - Height = 370 - Align = alClient - PopupMenu = PM_1 - TabOrder = 0 - ExplicitLeft = 6 - ExplicitTop = 41 - object Tv1: TcxGridDBTableView - Navigator.Buttons.CustomButtons = <> - Navigator.Buttons.Delete.Enabled = False - Navigator.Buttons.Delete.Visible = False - OnFocusedRecordChanged = Tv1FocusedRecordChanged - DataController.DataSource = DS_1 - DataController.Filter.AutoDataSetFilter = True - DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] - DataController.Summary.DefaultGroupSummaryItems = <> - DataController.Summary.FooterSummaryItems = <> - DataController.Summary.SummaryGroups = <> - OptionsCustomize.ColumnFiltering = False - OptionsData.Deleting = False - OptionsData.DeletingConfirmation = False - OptionsView.GroupByBox = False - Styles.IncSearch = DataLink_ClothInfo.SHuangSe - Styles.Header = DataLink_ClothInfo.Default - Styles.Inactive = DataLink_ClothInfo.SHuangSe - Styles.Selection = DataLink_ClothInfo.SHuangSe - object v1SSel: TcxGridDBColumn - Caption = #36873#25321 - DataBinding.FieldName = 'SSel' - PropertiesClassName = 'TcxCheckBoxProperties' - HeaderAlignmentHorz = taCenter - Styles.Header = DataLink_ClothInfo.Default - Width = 41 - end - object v1Column12: TcxGridDBColumn - Caption = #31867#21035 - DataBinding.FieldName = 'CTName' - HeaderAlignmentHorz = taCenter - Options.Editing = False - Styles.Header = DataLink_ClothInfo.Default - Width = 70 - end - object v1CYNo: TcxGridDBColumn - Caption = #20135#21697#32534#21495 - DataBinding.FieldName = 'C_Code' - HeaderAlignmentHorz = taCenter - Options.Editing = False - Styles.Header = DataLink_ClothInfo.Default - Width = 92 - end - object v1Column9: TcxGridDBColumn - Caption = #20135#21697#21517#31216 - DataBinding.FieldName = 'C_Name' - HeaderAlignmentHorz = taCenter - Width = 96 - end - object v1Column3: TcxGridDBColumn - Caption = #38376#24133 - DataBinding.FieldName = 'C_Width' - HeaderAlignmentHorz = taCenter - Options.Editing = False - Styles.Header = DataLink_ClothInfo.Default - Width = 66 - end - object v1Column1: TcxGridDBColumn - Caption = #20811#37325 - DataBinding.FieldName = 'C_GramWeight' - HeaderAlignmentHorz = taCenter - Options.Editing = False - Width = 81 - end - object Tv1Column11: TcxGridDBColumn - Caption = #32428#23494 - DataBinding.FieldName = 'C_FinishLatitudeDensity' - HeaderAlignmentHorz = taCenter - Options.Editing = False - Width = 66 - end - object Tv1Column3: TcxGridDBColumn - Caption = #32463#23494 - DataBinding.FieldName = 'C_FinishLongitudeDensity' - HeaderAlignmentHorz = taCenter - Options.Editing = False - Width = 80 - end - object Tv1Column2: TcxGridDBColumn - Caption = #32428#32433#35268#26684 - DataBinding.FieldName = 'C_LatitudeSpec' - HeaderAlignmentHorz = taCenter - Options.Editing = False - Width = 80 - end - object Tv1Column1: TcxGridDBColumn - Caption = #32463#32433#35268#26684 - DataBinding.FieldName = 'C_LongitudeSpec' - HeaderAlignmentHorz = taCenter - Width = 80 - end - object Tv1Column4: TcxGridDBColumn - Caption = #31576#21495 - DataBinding.FieldName = 'C_ReedNo' - HeaderAlignmentHorz = taCenter - Options.Editing = False - Width = 80 - end - object Tv1Column8: TcxGridDBColumn - Caption = #22836#32441 - DataBinding.FieldName = 'C_EphalicStria' - HeaderAlignmentHorz = taCenter - Options.Editing = False - Width = 80 - end - object v1Column11: TcxGridDBColumn - Caption = #22270#29255 - DataBinding.FieldName = 'IsImg' - PropertiesClassName = 'TcxCheckBoxProperties' - HeaderAlignmentHorz = taCenter - Options.Editing = False - Width = 57 - end - object Tv1Column5: TcxGridDBColumn - Caption = #22635#21333#20154 - DataBinding.FieldName = 'filler' - HeaderAlignmentHorz = taCenter - Options.Editing = False - Width = 71 - end - object Tv1Column6: TcxGridDBColumn - Caption = #20462#25913#20154 - DataBinding.FieldName = 'editer' - HeaderAlignmentHorz = taCenter - Options.Editing = False - Width = 68 - end - object Tv1Column7: TcxGridDBColumn - Caption = #20462#25913#26102#38388 - DataBinding.FieldName = 'edittime' - HeaderAlignmentHorz = taCenter - Options.Editing = False - Width = 67 - end - object Tv1Column9: TcxGridDBColumn - Caption = #24405#20837#26102#38388 - DataBinding.FieldName = 'FILLTIME' - HeaderAlignmentHorz = taCenter - Options.Editing = False - Width = 66 - end - end - object cxGrid1Level1: TcxGridLevel - GridView = Tv1 - end - end - object Panel7: TPanel - Left = 2 - Top = 2 - Width = 1212 - Height = 40 - Align = alTop - BevelOuter = bvNone - TabOrder = 1 - object Panel4: TPanel - Left = 0 - Top = 0 - Width = 1212 - Height = 40 - Align = alClient - AutoSize = True - TabOrder = 0 - DesignSize = ( - 1212 - 40) - object Label14: TLabel - Left = 19 - Top = 13 - Width = 84 - Height = 13 - Alignment = taCenter - Anchors = [akLeft] - Caption = #27599#39029#35760#24405#26465#25968 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -13 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - Layout = tlCenter - end - object LBCPAP1: TLabel - Left = 276 - Top = 9 - Width = 85 - Height = 21 - Alignment = taCenter - Anchors = [akLeft] - AutoSize = False - Caption = #24403#21069#39029'/'#24635#39029#25968 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - Layout = tlCenter - end - object Button1: TButton - Left = 195 - Top = 8 - Width = 75 - Height = 23 - Anchors = [akLeft] - Caption = #19978#19968#39029 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - TabOrder = 0 - OnClick = Button1Click - end - object Button2: TButton - Left = 367 - Top = 9 - Width = 78 - Height = 22 - Anchors = [akLeft] - Caption = #19979#19968#39029 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - TabOrder = 1 - OnClick = Button2Click - end - object TCBNOR1: TComboBox - Tag = 2 - Left = 111 - Top = 10 - Width = 78 - Height = 20 - Anchors = [akLeft] - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ItemIndex = 2 - ParentFont = False - TabOrder = 2 - Text = '500' - OnChange = TCBNOR1Change - Items.Strings = ( - '100' - '300' - '500' - '1000' - '5000' - '10000') - end - end - end - object Panel9: TPanel - Left = 2 - Top = 412 - Width = 1212 - Height = 205 - Align = alBottom - Caption = 'Panel9' - TabOrder = 2 - object Panel10: TPanel - Left = 1 - Top = 1 - Width = 1210 - Height = 203 - Align = alClient - Caption = 'Panel9' - TabOrder = 0 - object GroupBox1: TGroupBox - Left = 1 - Top = 42 - Width = 1208 - Height = 160 - Align = alClient - Caption = #26679#21697#32553#30053#22270#65288#21452#20987#22270#29255#26597#30475#21407#22270#65289 - TabOrder = 0 - object ScrollBox1: TScrollBox - Left = 2 - Top = 14 - Width = 1204 - Height = 144 - Align = alClient - BevelInner = bvLowered - BorderStyle = bsNone - TabOrder = 0 - end - end - object Panel11: TPanel - Left = 1 - Top = 1 - Width = 1208 - Height = 41 - Align = alTop - TabOrder = 1 - DesignSize = ( - 1208 - 41) - object Label7: TLabel - Left = 33 - Top = 8 - Width = 88 - Height = 21 - Caption = #33457#22411#36873#25321 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -21 - Font.Name = #23435#20307 - Font.Style = [fsBold] - ParentFont = False - end - object cbbHX: TComboBox - Left = 368 - Top = 3 - Width = 210 - Height = 32 - Style = csDropDownList - Anchors = [] - Color = clWhite - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -24 - Font.Name = #23435#20307 - Font.Style = [] - ParentFont = False - TabOrder = 0 - OnChange = cbbHXChange - Items.Strings = ( - #33457#22411) - end - end - end - end - end - inherited ADOQueryBaseCmd: TADOQuery - Connection = DataLink_ClothInfo.ADOLink - Left = 161 - Top = 240 - end - inherited ADOQueryBaseTemp: TADOQuery - Connection = DataLink_ClothInfo.ADOLink - Left = 57 - Top = 241 - end - object DS_Tree: TDataSource - DataSet = CDS_Tree - Left = 155 - Top = 131 - end - object ADOQueryTree: TADOQuery - Connection = DataLink_ClothInfo.ADOLink - LockType = ltReadOnly - Parameters = <> - Left = 53 - Top = 137 - end - object ADOQueryTemp: TADOQuery - Connection = DataLink_ClothInfo.ADOLink - LockType = ltReadOnly - Parameters = <> - Left = 899 - Top = 192 - end - object ADOQueryCmd: TADOQuery - Connection = DataLink_ClothInfo.ADOLink - Parameters = <> - Left = 997 - Top = 197 - end - object GPM_1: TcxGridPopupMenu - Grid = cxGrid1 - PopupMenus = <> - Left = 888 - Top = 360 - end - object DS_1: TDataSource - DataSet = CDS_1 - Left = 1043 - Top = 395 - end - object ADOQueryMain: TADOQuery - Connection = DataLink_ClothInfo.ADOLink - LockType = ltReadOnly - Parameters = <> - Left = 1061 - Top = 201 - end - object CDS_1: TClientDataSet - Aggregates = <> - Params = <> - Left = 960 - Top = 408 - end - object RM1: TRMGridReport - ThreadPrepareReport = True - InitialZoom = pzDefault - PreviewButtons = [rmpbZoom, rmpbLoad, rmpbSave, rmpbPrint, rmpbFind, rmpbPageSetup, rmpbExit, rmpbExport, rmpbNavigator] - DefaultCollate = False - ShowPrintDialog = False - SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' - PreviewOptions.RulerUnit = rmutScreenPixels - PreviewOptions.RulerVisible = False - PreviewOptions.DrawBorder = False - PreviewOptions.BorderPen.Color = clGray - PreviewOptions.BorderPen.Style = psDash - Dataset = RMDB_Main - CompressLevel = rmzcFastest - CompressThread = False - LaterBuildEvents = True - OnlyOwnerDataSet = False - Left = 312 - Top = 216 - ReportData = {} - end - object RMDB_Main: TRMDBDataSet - Visible = True - DataSet = ADOQueryPrint - Left = 952 - Top = 296 - end - object ODPat: TOpenDialog - Options = [ofReadOnly, ofAllowMultiSelect, ofPathMustExist, ofFileMustExist, ofEnableSizing] - Left = 324 - Top = 285 - end - object IdFTP1: TIdFTP - ConnectTimeout = 0 - NATKeepAlive.UseKeepAlive = False - NATKeepAlive.IdleTimeMS = 0 - NATKeepAlive.IntervalMS = 0 - ProxySettings.ProxyType = fpcmNone - ProxySettings.Port = 0 - ReadTimeout = 0 - Left = 381 - Top = 380 - end - object SaveDialog1: TSaveDialog - Left = 385 - Top = 285 - end - object DSCYNO: TDataSource - DataSet = CDS_CYNO - Left = 499 - Top = 299 - end - object CDS_CYNO: TClientDataSet - Aggregates = <> - Params = <> - Left = 496 - Top = 240 - end - object adoqueryPicture: TADOQuery - Connection = DataLink_ClothInfo.ADOLink - Parameters = <> - Left = 299 - Top = 360 - end - object OpenDialog1: TOpenDialog - Left = 458 - Top = 354 - end - object PM_1: TPopupMenu - Left = 1160 - Top = 352 - object N1: TMenuItem - Caption = #20840#36873 - OnClick = N1Click - end - object N2: TMenuItem - Caption = #20840#24323 - OnClick = N2Click - end - object N3: TMenuItem - Caption = #22797#21046 - OnClick = N3Click - end - end - object RMBarCodeObject1: TRMBarCodeObject - Left = 1052 - Top = 296 - end - object DataSource3: TDataSource - DataSet = CDS_Sub - Left = 1019 - Top = 627 - end - object CDS_Sub: TClientDataSet - Aggregates = <> - Params = <> - Left = 1024 - Top = 688 - end - object cxGridPopupMenu2: TcxGridPopupMenu - PopupMenus = <> - Left = 928 - Top = 688 - end - object CDS_Tree: TClientDataSet - Aggregates = <> - Params = <> - Left = 96 - Top = 136 - end - object ADOQueryPrint: TADOQuery - Connection = DataLink_ClothInfo.ADOLink - LockType = ltReadOnly - Parameters = <> - Left = 875 - Top = 296 - end - object CDS_Label: TClientDataSet - Aggregates = <> - Params = <> - Left = 520 - Top = 426 - end -end diff --git a/A02基础产品管理11/U_ClothInfo_Tat.pas b/A02基础产品管理11/U_ClothInfo_Tat.pas deleted file mode 100644 index 6212cb7..0000000 --- a/A02基础产品管理11/U_ClothInfo_Tat.pas +++ /dev/null @@ -1,822 +0,0 @@ -unit U_ClothInfo_Tat; - -interface - -uses - Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, - Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB, - cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin, StdCtrls, - cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient, - cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls, - cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid, - cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common, - RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection, - IdTCPClient, IdFTP, ShellAPI, IniFiles, cxCheckBox, jpeg, U_SLT, ComObj, Menus, - cxLookAndFeels, cxLookAndFeelPainters, cxTLdxBarBuiltInMenu, cxNavigator, - dxBarBuiltInMenu, cxPC, Math, RM_BarCode, dxSkinsCore, dxSkinsDefaultPainters, - dxDateRanges, IdExplicitTLSClientServerBase, U_BaseList, cxContainer, - dxDBBarCode, dxBarCode, Vcl.Clipbrd, cxTextEdit, BtnEdit, StrUtils; - -type - FdDy = record - inc: integer; //ͻ׽־ - FDdys: string[32]; //ͻ׽ - FdDysName: string[32]; //ͻ׽ - end; - - TfrmClothInfo_Tat = class(TfrmBaseList) - ToolBar1: TToolBar; - TBRafresh: TToolButton; - TBDel: TToolButton; - TBClose: TToolButton; - DS_Tree: TDataSource; - ADOQueryTree: TADOQuery; - ADOQueryTemp: TADOQuery; - ADOQueryCmd: TADOQuery; - GPM_1: TcxGridPopupMenu; - Tv1: TcxGridDBTableView; - cxGrid1Level1: TcxGridLevel; - cxGrid1: TcxGrid; - cxSplitter1: TcxSplitter; - Panel1: TPanel; - TBFilter: TToolButton; - v1CYNo: TcxGridDBColumn; - v1Column3: TcxGridDBColumn; - DS_1: TDataSource; - ADOQueryMain: TADOQuery; - CDS_1: TClientDataSet; - v1Column12: TcxGridDBColumn; - TBExport: TToolButton; - RM1: TRMGridReport; - RMDB_Main: TRMDBDataSet; - ODPat: TOpenDialog; - IdFTP1: TIdFTP; - SaveDialog1: TSaveDialog; - TBUP: TToolButton; - Label3: TLabel; - C_Code: TEdit; - TBCopy: TToolButton; - Panel2: TPanel; - v1SSel: TcxGridDBColumn; - DSCYNO: TDataSource; - CDS_CYNO: TClientDataSet; - Panel5: TPanel; - cxDBTreeList1: TcxDBTreeList; - cxDBTreeList1cxDBTreeListColumn2: TcxDBTreeListColumn; - Label11: TLabel; - Label12: TLabel; - Panel3: TPanel; - adoqueryPicture: TADOQuery; - v1Column1: TcxGridDBColumn; - v1Column9: TcxGridDBColumn; - Label4: TLabel; - C_Name: TEdit; - TBAdd: TToolButton; - TBEdit: TToolButton; - TBMLEdit: TToolButton; - OpenDialog1: TOpenDialog; - Label9: TLabel; - C_GramWeight: TEdit; - Label8: TLabel; - C_Width: TEdit; - PM_1: TPopupMenu; - N1: TMenuItem; - N2: TMenuItem; - v1Column11: TcxGridDBColumn; - Panel7: TPanel; - Panel4: TPanel; - Label14: TLabel; - LBCPAP1: TLabel; - Button1: TButton; - Button2: TButton; - TCBNOR1: TComboBox; - RMBarCodeObject1: TRMBarCodeObject; - Tv1Column5: TcxGridDBColumn; - Tv1Column6: TcxGridDBColumn; - Tv1Column7: TcxGridDBColumn; - ToolButton1: TToolButton; - DataSource3: TDataSource; - CDS_Sub: TClientDataSet; - Tv1Column2: TcxGridDBColumn; - Tv1Column9: TcxGridDBColumn; - Tv1Column11: TcxGridDBColumn; - cxGridPopupMenu2: TcxGridPopupMenu; - ToolButton2: TToolButton; - N3: TMenuItem; - Panel9: TPanel; - Panel10: TPanel; - GroupBox1: TGroupBox; - ScrollBox1: TScrollBox; - Panel11: TPanel; - cbbHX: TComboBox; - Label7: TLabel; - CDS_Tree: TClientDataSet; - ADOQueryPrint: TADOQuery; - CDS_Label: TClientDataSet; - Tv1Column1: TcxGridDBColumn; - ToolButton3: TToolButton; - Tv1Column3: TcxGridDBColumn; - Tv1Column4: TcxGridDBColumn; - Tv1Column8: TcxGridDBColumn; - procedure FormClose(Sender: TObject; var Action: TCloseAction); - procedure TBCloseClick(Sender: TObject); - procedure TBDelClick(Sender: TObject); - procedure FormShow(Sender: TObject); - procedure cxDBTreeList1DblClick(Sender: TObject); - procedure TBRafreshClick(Sender: TObject); - procedure TBFilterClick(Sender: TObject); - procedure CYNoChange(Sender: TObject); - procedure TBExportClick(Sender: TObject); - procedure TBUPClick(Sender: TObject); - procedure TBCopyClick(Sender: TObject); - procedure C_CodeKeyPress(Sender: TObject; var Key: Char); - procedure TBAddClick(Sender: TObject); - procedure TBEditClick(Sender: TObject); - procedure TBMLEditClick(Sender: TObject); - procedure N1Click(Sender: TObject); - procedure N2Click(Sender: TObject); - procedure TCBNOR1Change(Sender: TObject); - procedure Button1Click(Sender: TObject); - procedure Button2Click(Sender: TObject); - procedure ToolButton1Click(Sender: TObject); - procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); - procedure ToolButton2Click(Sender: TObject); - procedure N3Click(Sender: TObject); - procedure TextEdit(Sender: TObject); - procedure HXNameBtnUpClick(Sender: TObject); - procedure HXNameBtnDnClick(Sender: TObject); - procedure cbbHXChange(Sender: TObject); - procedure ToolButton3Click(Sender: TObject); - private - { Private declarations } - CurrentPage, RecordsNumber: Integer; - CTID: string; - PState: Integer; - FCTID, FTopID: string; - FJurisdiction: string; - procedure SetStatus(); - procedure InitTree(); - procedure InitGrid(); - procedure ReadINIFile(); - procedure InitImage(); - procedure LookImage(FileName: string); - - public - dFdDy: array[0..20] of FdDy; //ͻ - { Public declarations } - end; - -var - Mach: array of TfrmSlt; - -implementation - -uses - U_DataLink, U_RTFun, U_ClothInfoInput_Tat, U_CloInfoFileUp, U_YPTypeHelpCP, - U_ZDYHelp, U_LabelPrint; - -{$R *.dfm} - -procedure TfrmClothInfo_Tat.LookImage(FileName: string); -var - sFieldName: string; -begin - - sFieldName := leftbstr(ExtractFilePath(Application.ExeName), 1) + ':\ͼƬ鿴'; - - if not DirectoryExists(pchar(sFieldName)) then - CreateDirectory(pchar(sFieldName), nil); - - sFieldName := sFieldName + '\' + trim(FileName); - - try - IdFTP1.Host := ReadINIFileStr('SYSTEMSET.INI', 'SERVER', 'ַ', '127.0.0.1'); - IdFTP1.Username := 'three'; - IdFTP1.Password := '641010'; - IdFTP1.Connect(); - except - - end; - - if IdFTP1.Connected then - begin - application.ProcessMessages; - try -// ShowMessage(PChar(Trim('D:\' + Trim(FileName)))); - IdFTP1.Get(Trim(UserDataFlag + 'YP\' + FileName), sFieldName, true, false); - except - Application.MessageBox('ͻͼļ', 'ʾ', MB_ICONWARNING); - IdFTP1.Quit; - Exit; - end; - end - else - begin - Application.MessageBox('޷ļ', 'ʾ', MB_ICONWARNING); - IdFTP1.Quit; - Exit; - end; - if IdFTP1.Connected then - IdFTP1.Quit; - ShellExecute(Handle, 'open', PChar(sFieldName), '', '', SW_SHOWNORMAL); -end; - -procedure TfrmClothInfo_Tat.SetStatus(); -begin - -end; - -procedure TfrmClothInfo_Tat.InitTree(); -var - i: Integer; -begin - - with ADOQueryTree do - begin - Close; - SQL.Clear; - SQL.Add('select * from BS_Cloth_Type'); - Open; - end; - - SCreateCDS(ADOQueryTree, CDS_Tree); - SInitCDSData(ADOQueryTree, CDS_Tree); - cxDBTreeList1.Items[0].Expand(false); -end; - -procedure TfrmClothInfo_Tat.InitGrid(); -var - fwhere, MBCIID, Pwhere: string; -begin - Panel2.Visible := True; - Panel2.Refresh; - if not CDS_1.IsEmpty then - MBCIID := Trim(CDS_1.FieldByName('BCIID').AsString) - else - MBCIID := ''; - - Pwhere := SGetFilters(Panel1, 1, 2); - - if trim(Pwhere) <> '' then - begin - if fwhere <> '' then - fwhere := fwhere + ' and ' + trim(Pwhere) - else - fwhere := ' where ' + trim(Pwhere); - end; - try - ADOQueryMain.DisableControls; - - with ADOQueryMain do - begin - Close; - Filtered := False; - sql.Clear; - sql.Add(' exec P_BS_CloInfo_Get '); - sql.Add(' @CTID=' + quotedstr(Trim(CDS_Tree.fieldbyname('CTID').AsString))); - sql.Add(',@pageIndex=' + inttostr(CurrentPage)); - sql.Add(',@pageSize=' + inttostr(RecordsNumber)); - sql.Add(',@criteria= ' + quotedstr(fwhere)); -// ShowMessage(sql.Text); - Open; - end; - SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); - SCreateCDS(ADOQueryMain, CDS_1); - SInitCDSData(ADOQueryMain, CDS_1); - TV1.DataController.Filter.Clear; - LBCPAP1.Caption := inttostr(CurrentPage) + '/' + inttostr(ceil(CDS_1.FieldByName('TotalCount').AsInteger / RecordsNumber)); - - finally - ADOQueryMain.EnableControls; - TV1.DataController.Filter.Clear; - end; - Panel2.Visible := False; - - if MBCIID <> '' then - CDS_1.Locate('BCIID', MBCIID, []); - -end; - -procedure TfrmClothInfo_Tat.FormClose(Sender: TObject; var Action: TCloseAction); -var - i, j: integer; -begin - inherited; - j := length(Mach); - if j > 0 then - begin - for i := 0 to j - 1 do - begin - Mach[i].free; - end; - end; - SetLength(Mach, 0); - Action := cafree; -end; - -procedure TfrmClothInfo_Tat.TBCloseClick(Sender: TObject); -begin - - if DirectoryExists(ExtractFileDir('D:\Right1209')) then - winexec('cmd /c rd /s /q D:\Right1209', sw_hide); - Close; -end; - -procedure TfrmClothInfo_Tat.TBDelClick(Sender: TObject); -begin - if CDS_1.IsEmpty then - Exit; - if Application.MessageBox('ȷҪɾ', 'ʾ', 32 + 4) <> IDYES then - Exit; - - while CDS_1.Locate('SSel', true, []) do - begin - if Trim(CDS_1.fieldbyname('BCIID').AsString) <> '' then - begin - with ADOQueryCmd do - begin - Close; - SQL.Clear; - sql.Add('delete BS_Cloth_Info where BCIID=''' + Trim(CDS_1.fieldbyname('BCIID').AsString) + ''''); - ExecSQL; - end; - end; - CDS_1.Delete; - end; - -end; - -procedure TfrmClothInfo_Tat.FormShow(Sender: TObject); -begin - inherited; - FJurisdiction := Self.fParameters1; - - ReadCxGrid(self.Caption + 'TV1', Tv1, 'Ʒ'); - -// pnlreport.Top := FTop + 110; - application.ProcessMessages; - - RecordsNumber := 500; - CurrentPage := 1; - InitTree(); - SetStatus(); - InitGrid(); - -end; - -procedure TfrmClothInfo_Tat.cbbHXChange(Sender: TObject); -begin - InitImage(); - -end; - -procedure TfrmClothInfo_Tat.cxDBTreeList1DblClick(Sender: TObject); -begin - InitGrid(); -end; - -procedure TfrmClothInfo_Tat.TBRafreshClick(Sender: TObject); -begin - InitTree(); - InitGrid(); -end; - -procedure TfrmClothInfo_Tat.TBFilterClick(Sender: TObject); -begin - if ADOQueryMain.Active then - begin - SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); - SCreateCDS(ADOQueryMain, CDS_1); - SInitCDSData(ADOQueryMain, CDS_1); - end; - -end; - -procedure TfrmClothInfo_Tat.CYNoChange(Sender: TObject); -begin - //if Length(Trim(TEdit(Sender).Text))<4 then Exit; - if ADOQueryMain.Active then - begin - SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); - SCreateCDS(ADOQueryMain, CDS_1); - SInitCDSData(ADOQueryMain, CDS_1); - end; - -end; - -procedure TfrmClothInfo_Tat.TBExportClick(Sender: TObject); -begin - if CDS_1.IsEmpty then - Exit; - TcxGridToExcel(self.Caption, cxGrid1); -end; - -procedure TfrmClothInfo_Tat.TBUPClick(Sender: TObject); -begin - try - frmCloInfoFileUp := TfrmCloInfoFileUp.Create(Application); - with frmCloInfoFileUp do - begin - Code.Text := Trim(Self.CDS_1.fieldbyname('C_Code').AsString); - FBCIID := Trim(Self.CDS_1.fieldbyname('BCIID').AsString); - if ShowModal = 1 then - begin - Self.InitGrid(); -// Self.CDS_1.Locate('BCIID', BCIID, []); - end; - end; - finally - frmCloInfoFileUp.Free; - end; - InitImage(); -end; - -procedure TfrmClothInfo_Tat.ReadINIFile(); -var - programIni: Tinifile; //ļ - FileName: string; -begin - FileName := ExtractFilePath(Paramstr(0)) + 'SYSTEMSET.INI'; - programIni := Tinifile.create(FileName); - server := programIni.ReadString('SERVER', 'ַ', '127.0.0.1'); - programIni.Free; -end; - -procedure TfrmClothInfo_Tat.InitImage(); -var - i, j: integer; - jpg: TJpegImage; - myStream: TADOBlobStream; -begin - - j := length(Mach); - if j > 0 then - begin - for i := 0 to j - 1 do - begin - Mach[i].free; - end; - end; - SetLength(Mach, 0); - if CDS_1.IsEmpty then - exit; - try - with adoqueryPicture do - begin - close; - sql.Clear; - sql.Add(' select A.TFID,A.WBID,A.FilesOther,A.FileName from TP_File A '); - sql.add('where A.WBID=' + quotedstr(trim(CDS_1.fieldbyname('BCIID').AsString))); - if Trim(cbbHX.Text) <> '' then - sql.add(' and A.HXName=' + quotedstr(trim(cbbHX.Text))); - - open; - end; - j := adoqueryPicture.RecordCount; - if j < 1 then - exit; - adoqueryPicture.DisableControls; - adoqueryPicture.First; - SetLength(Mach, j); - jpg := TJpegImage.Create(); - for i := 0 to j - 1 do - begin - if triM(adoqueryPicture.fieldbyname('FilesOther').AsString) <> '' then - begin - myStream := tadoblobstream.Create(tblobfield(adoqueryPicture.fieldbyname('FilesOther')), bmread); - jpg.LoadFromStream(myStream); - Mach[i] := TfrmSlt.Create(Self); - Mach[i].Name := trim(adoqueryPicture.fieldbyname('TFID').AsString); - Mach[i].Parent := ScrollBox1; - Mach[i].Left := 0 + i * 165; - Mach[i].Init(adoqueryPicture.fieldbyname('TFID').AsString, adoqueryPicture.fieldbyname('FileName').AsString, jpg); - end; - adoqueryPicture.Next; - end; - adoqueryPicture.EnableControls; - finally - jpg.free; - application.ProcessMessages; - end; -end; - -procedure TfrmClothInfo_Tat.TBCopyClick(Sender: TObject); -begin - try - frmClothInfoInput_Tat := TfrmClothInfoInput_Tat.Create(Application); - with frmClothInfoInput_Tat do - begin - CopyInt := 1; - FBCIID := Trim(Self.CDS_1.fieldbyname('BCIID').AsString); - FCTID := Trim(Self.CDS_Tree.fieldbyname('CTID').AsString); - if Trim(Self.CDS_Tree.fieldbyname('CPName').AsString) = 'Ʒ' then - begin - Application.MessageBox('ѡٸ', 'ʾ', 0); - Exit; - end; - if ShowModal = 1 then - begin - Self.InitGrid(); - end; - end; - finally - frmClothInfoInput_Tat.Free; - end; -end; - -procedure TfrmClothInfo_Tat.C_CodeKeyPress(Sender: TObject; var Key: Char); -begin - if Key = #13 then - begin - CurrentPage := 1; - InitGrid(); - end; -end; - -procedure TfrmClothInfo_Tat.TBAddClick(Sender: TObject); -var - i: Integer; - FieldName: string; -begin - try - frmClothInfoInput_Tat := TfrmClothInfoInput_Tat.Create(Application); - with frmClothInfoInput_Tat do - begin - CopyInt := 0; - FBCIID := ''; - FCTID := Trim(Self.CDS_Tree.fieldbyname('CTID').AsString); - - if ShowModal = 1 then - begin - Self.InitGrid(); - end; - end; - finally - frmClothInfoInput_Tat.Free; - end; -end; - -procedure TfrmClothInfo_Tat.TBEditClick(Sender: TObject); -begin - if CDS_1.IsEmpty then - Exit; - try - frmClothInfoInput_Tat := TfrmClothInfoInput_Tat.Create(Application); - with frmClothInfoInput_Tat do - begin - CopyInt := 0; - FBCIID := Trim(Self.CDS_1.fieldbyname('BCIID').AsString); - FCTID := Trim(Self.CDS_Tree.fieldbyname('CTID').AsString); - if ShowModal = 1 then - begin - Self.InitGrid(); - end; - end; - finally - frmClothInfoInput_Tat.Free; - end; -end; - -procedure TfrmClothInfo_Tat.TextEdit(Sender: TObject); -var - mvalue, FFieldName: string; -begin - - mvalue := TcxTextEdit(Sender).EditingText; - FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); - with CDS_1 do - begin - Edit; - FieldByName(FFieldName).Value := mvalue; - Post; - - end; - if mvalue = '' then - mvalue := '0'; - - with ADOQueryCmd do - begin - Close; - SQL.Clear; - sql.Add('update BS_Cloth_Info set ' + FFieldName + '=' + (Trim(mvalue))); - sql.Add('where BCIID=' + quotedstr(Trim(CDS_1.fieldbyname('BCIID').AsString))); - ExecSQL; - end; - Tv1.Controller.EditingController.ShowEdit(); -end; - -procedure TfrmClothInfo_Tat.Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); -var - fsj: string; -begin - fsj := 'select DISTINCT HXNAME name from TP_File where ISNULL(HXNAME,'''')<>'''' AND WBID=' + quotedstr(trim(CDS_1.fieldbyname('BCIID').AsString)); - - SInitComBoxBySql(ADOQueryTemp, cbbHX, True, fsj); - - InitImage(); -end; - -procedure TfrmClothInfo_Tat.TBMLEditClick(Sender: TObject); -var - fYPType: string; -begin - if CDS_1.IsEmpty then - exit; - if CDS_1.Locate('ssel', true, []) = false then - begin - Application.MessageBox('ûѡ!', 'ʾ', 0); - Exit; - end; - fYPType := ''; - - frmYPTypeHelpCP := TfrmYPTypeHelpCP.create(self); - with frmYPTypeHelpCP do - begin - if showmodal = 1 then - begin - fYPType := trim(ADOQueryHelp.fieldbyname('CTID').asstring); - end; - free; - end; - - if trim(fYPType) = '' then - exit; - - try - with CDS_1 do - begin - DisableControls; - First; - while not eof do - begin - if fieldbyname('ssel').AsBoolean then - begin - with ADOQueryCmd do - begin - close; - sql.Clear; - sql.Add('update BS_Cloth_Info SET CTID=''' + trim(fYPType) + ''' '); - sql.Add('where BCIID=' + quotedstr(trim(CDS_1.fieldbyname('BCIID').AsString))); - execsql; - end; - end; - next; - end; - First; - EnableControls; - end; - application.MessageBox('ɹ', 'ʾϢ'); - initgrid(); - except - CDS_1.EnableControls; - application.MessageBox('ʧܣ', 'ʾϢ', 0); - end; -end; - -procedure TfrmClothInfo_Tat.N1Click(Sender: TObject); -begin - SelOKNoFiler(Tv1, True); -end; - -procedure TfrmClothInfo_Tat.N2Click(Sender: TObject); -begin - SelOKNoFiler(Tv1, False); -end; - -procedure TfrmClothInfo_Tat.N3Click(Sender: TObject); -begin - Clipboard.SetTextBuf(PChar(Trim(CDS_1.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString))); -end; - -procedure TfrmClothInfo_Tat.TCBNOR1Change(Sender: TObject); -begin - RecordsNumber := StrToInt(TCBNOR1.Text); - CurrentPage := 1; - C_Code.SetFocus; - InitGrid(); -end; - -procedure TfrmClothInfo_Tat.HXNameBtnDnClick(Sender: TObject); -begin - TBtnEditC(Sender).Text := ''; - TBtnEditC(Sender).TxtCode := ''; - -end; - -procedure TfrmClothInfo_Tat.HXNameBtnUpClick(Sender: TObject); -begin - try - frmZDYHelp := TfrmZDYHelp.Create(Application); - with frmZDYHelp do - begin - flag := 'HX' + Trim(Self.CDS_1.fieldbyname('CYNO').AsString); - flagname := ''; - if ShowModal = 1 then - begin - TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); - end; - end; - finally - frmZDYHelp.Free; - end; -end; - -procedure TfrmClothInfo_Tat.Button1Click(Sender: TObject); -begin - if CurrentPage > 1 then - CurrentPage := CurrentPage - 1; - InitGrid(); -end; - -procedure TfrmClothInfo_Tat.Button2Click(Sender: TObject); -begin - if CurrentPage < CDS_1.FieldByName('TotalCount').AsInteger / RecordsNumber then - CurrentPage := CurrentPage + 1; - InitGrid(); -end; - -procedure TfrmClothInfo_Tat.ToolButton1Click(Sender: TObject); -begin - try - frmClothInfoInput_Tat := TfrmClothInfoInput_Tat.Create(Application); - with frmClothInfoInput_Tat do - begin - CopyInt := 0; - ToolButton1.Visible := False; - FBCIID := Trim(Self.CDS_1.fieldbyname('BCIID').AsString); - FCTID := Trim(Self.CDS_Tree.fieldbyname('CTID').AsString); - if ShowModal = 1 then - begin - Self.InitGrid(); - end; - end; - finally - frmClothInfoInput_Tat.Free; - end; -end; - -procedure TfrmClothInfo_Tat.ToolButton2Click(Sender: TObject); -begin - WriteCxGrid(self.Caption + 'TV1', Tv1, 'Ʒ'); -end; - -procedure TfrmClothInfo_Tat.ToolButton3Click(Sender: TObject); -var - WSql: string; -begin - if CDS_1.IsEmpty then - Exit; - Tv1.OnFocusedRecordChanged := nil; - if CDS_1.Locate('SSel', True, []) = False then - begin - Tv1.OnFocusedRecordChanged := Tv1FocusedRecordChanged; - Application.MessageBox('ûѡ!', 'ʾ', 0); - Exit; - end; - - WSql := ''; - CDS_1.DisableControls; - - with CDS_1 do - begin - First; - while not Eof do - begin - if CDS_1.fieldbyname('SSel').AsBoolean then - begin - if WSql <> '' then - begin - WSql := WSql + ',' + QuotedStr(Trim(CDS_1.fieldbyname('BCIID').AsString)); - end - else - begin - WSql := QuotedStr(Trim(CDS_1.fieldbyname('BCIID').AsString)); - end; - end; - Next; - end; - end; - - CDS_1.Locate('SSel', True, []); - Tv1.OnFocusedRecordChanged := Tv1FocusedRecordChanged; - CDS_1.EnableControls; - - try - frmLabelPrint := TfrmLabelPrint.Create(Application); - with frmLabelPrint do - begin - FLMType := 'ClothInfoPrint'; - FFiltration1 := WSql; - if ShowModal = 1 then - begin -// Self.InitGrid(); - end; - end; - finally - frmLabelPrint.Free; - end; - -end; - -end. - diff --git a/A02基础产品管理11/U_ClothType.dfm b/A02基础产品管理11/U_ClothType.dfm deleted file mode 100644 index 5f511d5..0000000 --- a/A02基础产品管理11/U_ClothType.dfm +++ /dev/null @@ -1,200 +0,0 @@ -inherited frmClothType: TfrmClothType - Left = 192 - Top = 155 - Caption = #20135#21697#31867#21035 - ClientHeight = 529 - ClientWidth = 981 - FormStyle = fsMDIChild - Visible = True - ExplicitWidth = 997 - ExplicitHeight = 568 - PixelsPerInch = 96 - TextHeight = 12 - object ToolBar1: TToolBar [0] - Tag = 1 - Left = 0 - Top = 0 - Width = 981 - Height = 33 - ButtonHeight = 38 - ButtonWidth = 91 - Caption = 'ToolBar1' - Color = clSkyBlue - DisabledImages = DataLink_ClothInfo.ImageList_new32 - Images = DataLink_ClothInfo.ImageList_new32 - List = True - ParentColor = False - ShowCaptions = True - TabOrder = 0 - object TBRafresh: TToolButton - Left = 0 - Top = 0 - AutoSize = True - Caption = #21047#26032 - ImageIndex = 1 - OnClick = TBRafreshClick - end - object TBAdd: TToolButton - Left = 71 - Top = 0 - AutoSize = True - Caption = #26032#22686#23376#31867 - ImageIndex = 2 - OnClick = TBAddClick - end - object ToolButton1: TToolButton - Left = 166 - Top = 0 - AutoSize = True - Caption = #20445#23384 - ImageIndex = 16 - OnClick = ToolButton1Click - end - object TBDel: TToolButton - Left = 237 - Top = 0 - AutoSize = True - Caption = #21024#38500 - ImageIndex = 5 - OnClick = TBDelClick - end - object TBClose: TToolButton - Left = 308 - Top = 0 - AutoSize = True - Caption = #20851#38381 - ImageIndex = 7 - OnClick = TBCloseClick - end - end - object cxDBTreeList1: TcxDBTreeList [1] - Left = 0 - Top = 33 - Width = 249 - Height = 496 - Align = alLeft - Bands = < - item - end> - DataController.DataSource = DataSource1 - DataController.ParentField = 'CTParent' - DataController.KeyField = 'CTID' - Navigator.Buttons.CustomButtons = <> - OptionsBehavior.CopyCaptionsToClipboard = False - OptionsBehavior.ExpandOnDblClick = False - OptionsSelection.CellSelect = False - OptionsView.CellAutoHeight = True - OptionsView.Headers = False - RootValue = -1 - Styles.Inactive = DataLink_ClothInfo.FoneRed - Styles.Selection = DataLink_ClothInfo.FoneRed - Styles.IncSearch = DataLink_ClothInfo.FoneRed - TabOrder = 1 - OnClick = cxDBTreeList1Click - object cxDBTreeList1cxDBTreeListColumn2: TcxDBTreeListColumn - DataBinding.FieldName = 'CTName' - Width = 210 - Position.ColIndex = 0 - Position.RowIndex = 0 - Position.BandIndex = 0 - Summary.FooterSummaryItems = <> - Summary.GroupFooterSummaryItems = <> - end - end - object Panel1: TPanel [2] - Left = 249 - Top = 33 - Width = 732 - Height = 496 - Align = alClient - BevelInner = bvRaised - BevelOuter = bvLowered - Color = clSkyBlue - TabOrder = 2 - object Label1: TLabel - Left = 66 - Top = 24 - Width = 48 - Height = 12 - Caption = #29238' '#31867 - end - object Label2: TLabel - Left = 66 - Top = 65 - Width = 48 - Height = 12 - Caption = #31867#21035#21517#31216 - end - object Label3: TLabel - Left = 170 - Top = 137 - Width = 48 - Height = 12 - Caption = #31867#21035#32534#30721 - Visible = False - end - object CTTopName: TEdit - Left = 129 - Top = 21 - Width = 121 - Height = 20 - ReadOnly = True - TabOrder = 0 - end - object CTName: TEdit - Left = 129 - Top = 61 - Width = 121 - Height = 20 - TabOrder = 1 - OnKeyPress = CTNameKeyPress - end - object CTNo: TEdit - Left = 233 - Top = 133 - Width = 121 - Height = 20 - TabOrder = 2 - Visible = False - end - end - inherited ADOQueryBaseCmd: TADOQuery - Connection = DataLink_ClothInfo.ADOLink - end - inherited ADOQueryBaseTemp: TADOQuery - Connection = DataLink_ClothInfo.ADOLink - Left = 201 - Top = 105 - end - object DataSource1: TDataSource - DataSet = ADOQueryTree - Left = 91 - Top = 355 - end - object ADOQueryTree10: TADOQuery - Connection = DataLink_ClothInfo.ADOLink - LockType = ltReadOnly - Parameters = <> - Left = 61 - Top = 209 - end - object ADOQueryTemp: TADOQuery - Connection = DataLink_ClothInfo.ADOLink - LockType = ltReadOnly - Parameters = <> - Left = 709 - Top = 209 - end - object ADOQueryCmd: TADOQuery - Connection = DataLink_ClothInfo.ADOLink - Parameters = <> - Left = 677 - Top = 137 - end - object ADOQueryTree: TClientDataSet - Aggregates = <> - Params = <> - Left = 88 - Top = 280 - end -end diff --git a/A02基础产品管理11/U_ClothType.pas b/A02基础产品管理11/U_ClothType.pas deleted file mode 100644 index 6bbd3d8..0000000 --- a/A02基础产品管理11/U_ClothType.pas +++ /dev/null @@ -1,251 +0,0 @@ -unit U_ClothType; - -interface - -uses - Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, - Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB, - cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin, StdCtrls, - ExtCtrls, DBClient, U_BaseList, cxLookAndFeels, cxLookAndFeelPainters, - cxTLdxBarBuiltInMenu, dxSkinsCore, dxSkinsDefaultPainters; - -type - TfrmClothType = class(TfrmBaseList) - ToolBar1: TToolBar; - TBRafresh: TToolButton; - TBAdd: TToolButton; - TBDel: TToolButton; - TBClose: TToolButton; - cxDBTreeList1: TcxDBTreeList; - cxDBTreeList1cxDBTreeListColumn2: TcxDBTreeListColumn; - DataSource1: TDataSource; - ADOQueryTree10: TADOQuery; - ToolButton1: TToolButton; - ADOQueryTemp: TADOQuery; - ADOQueryCmd: TADOQuery; - Panel1: TPanel; - Label1: TLabel; - Label2: TLabel; - Label3: TLabel; - CTTopName: TEdit; - CTName: TEdit; - CTNo: TEdit; - ADOQueryTree: TClientDataSet; - procedure FormDestroy(Sender: TObject); - procedure FormClose(Sender: TObject; var Action: TCloseAction); - procedure TBRafreshClick(Sender: TObject); - procedure TBCloseClick(Sender: TObject); - procedure TBAddClick(Sender: TObject); - procedure cxDBTreeList1Click(Sender: TObject); - procedure ToolButton1Click(Sender: TObject); - procedure TBDelClick(Sender: TObject); - procedure CTNameKeyPress(Sender: TObject; var Key: Char); - procedure FormShow(Sender: TObject); - private - { Private declarations } - PState: Integer; - FCTID, FTopID: string; - procedure InitTree(); - - public - { Public declarations } - end; - -var - frmClothType: TfrmClothType; - -implementation - -uses - U_DataLink, U_RTFun; - -{$R *.dfm} - -procedure TfrmClothType.InitTree(); -var - i: Integer; -begin - with ADOQueryTree10 do - begin - Close; - SQL.Clear; - SQL.Add('select * from BS_Cloth_Type order by CTlevel,CTOrder,CTName'); - Open; - end; - SCreateCDS(ADOQueryTree10, ADOQueryTree); - SInitCDSData(ADOQueryTree10, ADOQueryTree); - if ADOQueryTree.IsEmpty then - Exit; - cxDBTreeList1.Items[0].Expand(True); -end; - -procedure TfrmClothType.FormDestroy(Sender: TObject); -begin - inherited; - frmClothType := nil; -end; - -procedure TfrmClothType.FormClose(Sender: TObject; var Action: TCloseAction); -begin - inherited; - Action := caFree; -end; - -procedure TfrmClothType.TBRafreshClick(Sender: TObject); -begin - InitTree(); -end; - -procedure TfrmClothType.TBCloseClick(Sender: TObject); -begin - Close; -end; - -procedure TfrmClothType.TBAddClick(Sender: TObject); -begin - PState := 11; - CTTopName.Text := Trim(ADOQueryTree.fieldbyname('CTName').AsString); - FCTID := ''; - CTName.Text := ''; - CTNo.Text := ''; - CTName.SetFocus; -end; - -procedure TfrmClothType.cxDBTreeList1Click(Sender: TObject); -begin - PState := 22; - with ADOQueryTemp do - begin - Close; - sql.Clear; - sql.Add('select * from BS_Cloth_Type where CTID=''' + Trim(ADOQueryTree.fieldbyname('CTParent').AsString) + ''''); - Open; - end; - FCTID := Trim(ADOQueryTree.fieldbyname('CTID').AsString); - CTTopName.Text := Trim(ADOQueryTemp.fieldbyname('CTName').AsString); - CTName.Text := Trim(ADOQueryTree.fieldbyname('CTName').AsString); - CTNo.Text := Trim(ADOQueryTree.fieldbyname('CTNo').AsString); -end; - -procedure TfrmClothType.ToolButton1Click(Sender: TObject); -var - maxId, FLMainId: string; -begin - if Trim(CTName.Text) = '' then - begin - Application.MessageBox('ƲΪգ', 'ʾ', 0); - Exit; - end; - - try - ADOQueryCmd.Connection.BeginTrans; - if PState = 11 then - begin - if GetLSNo(ADOQueryCmd, maxId, 'CT', 'BS_Cloth_Type', 4, 1) = False then - begin - ADOQueryCmd.Connection.RollbackTrans; - Application.MessageBox('ȡʧܣ', 'ʾ', 0); - Exit; - end; - end - else - begin - maxId := Trim(FCTID); - end; - with ADOQueryCmd do - begin - Close; - SQL.Clear; - sql.Add('select * from BS_Cloth_Type where CTID=''' + Trim(FCTID) + ''''); - Open; - end; - with ADOQueryCmd do - begin - if PState = 11 then - begin - Append; - FieldByName('CTID').Value := Trim(maxId); - FieldByName('CTName').Value := Trim(CTName.Text); - FieldByName('CTNo').Value := Trim(CTNo.Text); - FieldByName('CTParent').Value := Trim(ADOQueryTree.fieldbyname('CTID').AsString); - FieldByName('CTLevel').Value := ADOQueryTree.fieldbyname('CTLevel').AsInteger + 1; - Post; - end - else if PState = 22 then - begin - Edit; - FieldByName('CTID').Value := Trim(maxId); - FieldByName('CTName').Value := Trim(CTName.Text); - FieldByName('CTNo').Value := Trim(CTNo.Text); - //FieldByName('CTParent').Value:=Trim(ADOQueryTree.fieldbyname('CTID').AsString); - //FieldByName('CPOrder').Value:=ADOQueryTree.fieldbyname('CPOrder').AsInteger+1; - Post; - end; - end; - ADOQueryCmd.Connection.CommitTrans; - Application.MessageBox('ɹ!', 'ʾ', 0); - FLMainId := Trim(ADOQueryTree.fieldbyname('CTID').AsString); - InitTree(); - ADOQueryTree.Locate('CTID', FLMainId, []); - - except - ADOQueryCmd.Connection.RollbackTrans; - Application.MessageBox('ʧ!', 'ʾ', 0); - end; -end; - -procedure TfrmClothType.TBDelClick(Sender: TObject); -begin - if ADOQueryTree.FieldByName('CTLevel').AsInteger = 0 then - Exit; - with ADOQueryTemp do - begin - Close; - sql.Clear; - sql.Add('select * from BS_Cloth_Type where CTParent=''' + Trim(ADOQueryTree.fieldbyname('CTID').AsString) + ''''); - Open; - if not IsEmpty then - begin - Application.MessageBox('Ѿ಻ɾ', 'ʾ', 0); - Exit; - end; - end; - with ADOQueryTemp do - begin - Close; - sql.Clear; - sql.Add('select * from BS_Cloth_Info where CTID=''' + Trim(ADOQueryTree.fieldbyname('CTID').AsString) + ''''); - Open; - if not IsEmpty then - begin - Application.MessageBox('ѾвƷڴ಻ɾ', 'ʾ', 0); - Exit; - end; - end; - if Application.MessageBox('ȷҪɾ', 'ʾ', 32 + 4) <> IDYES then - Exit; - with ADOQueryCmd do - begin - Close; - SQL.Clear; - sql.Add('delete BS_Cloth_Type where CTID=''' + Trim(ADOQueryTree.fieldbyname('CTID').AsString) + ''''); - sql.Add('delete BS_Cloth_Type where CTParent=''' + Trim(ADOQueryTree.fieldbyname('CTID').AsString) + ''''); - ExecSQL; - end; - InitTree(); -end; - -procedure TfrmClothType.CTNameKeyPress(Sender: TObject; var Key: Char); -begin - if Key = #13 then - CTNo.SetFocus; -end; - -procedure TfrmClothType.FormShow(Sender: TObject); -begin - inherited; - InitTree(); -end; - -end. - diff --git a/A02基础产品管理11/U_SLT.dfm b/A02基础产品管理11/U_SLT.dfm deleted file mode 100644 index 004753f..0000000 --- a/A02基础产品管理11/U_SLT.dfm +++ /dev/null @@ -1,35 +0,0 @@ -object frmSLT: TfrmSLT - Left = 0 - Top = 0 - Width = 161 - Height = 138 - TabOrder = 0 - object Panel1: TPanel - Left = 0 - Top = 121 - Width = 161 - Height = 17 - Align = alClient - BevelOuter = bvNone - Caption = 'Panel1' - Color = clWindow - Font.Charset = GB2312_CHARSET - Font.Color = clBlue - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [] - ParentFont = False - TabOrder = 0 - end - object cxImage1: TcxImage - Left = 0 - Top = 0 - Align = alTop - Style.BorderStyle = ebsOffice11 - StyleHot.TextStyle = [] - TabOrder = 1 - OnDblClick = cxImage1DblClick - Height = 121 - Width = 161 - end -end diff --git a/A02基础产品管理11/U_SLT.pas b/A02基础产品管理11/U_SLT.pas deleted file mode 100644 index ee45601..0000000 --- a/A02基础产品管理11/U_SLT.pas +++ /dev/null @@ -1,77 +0,0 @@ -unit U_SLT; - -interface - -uses - Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, - Dialogs, ExtCtrls, jpeg, cxControls, cxContainer, cxEdit, cxImage, IdFTP, - ShellAPI, cxGraphics, cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore, - dxSkinsDefaultPainters; - -type - TfrmSLT = class(TFrame) - cxImage1: TcxImage; - Panel1: TPanel; - procedure cxImage1DblClick(Sender: TObject); - private - CYID, FileName: string; - { Private declarations } - public - procedure Init(fCYID: string; fFileName: string; fPicture: TJpegImage); - { Public declarations } - end; - -implementation - -uses - U_DataLink; -{$R *.dfm} - -procedure TfrmSLT.Init(fCYID: string; fFileName: string; fPicture: TJpegImage); -begin - CYID := trim(fCYID); - FileName := trim(fFileName); - Panel1.Caption := FileName; - cxImage1.Picture.Assign(fPicture); -end; - -procedure TfrmSLT.cxImage1DblClick(Sender: TObject); -var - IdFTP1: TIdFTP; - FPath, FFName: string; - FInt: integer; -begin - try - IdFTP1 := TIdFTP.Create(self); - IdFTP1.Host := PicSvr; - IdFTP1.Username := 'three'; - IdFTP1.Password := '641010'; - IdFTP1.Connect(); - except - IdFTP1.Quit; - IdFTP1.Free; - Application.MessageBox('޷ӵļ飡', 'ʾ', MB_ICONWARNING); - Exit; - end; - FPath := 'D:\Right1209\'; - if not DirectoryExists(ExtractFileDir(FPath)) then - CreateDir(ExtractFileDir(FPath)); - FFName := Trim(FileName); - FFName := FPath + FFName; - if FileExists(FFName) then - begin - FInt := 1; - end; - if FInt <> 1 then - IdFTP1.Get(UserDataFlag + 'YP\' + FileName, FFName); - if IdFTP1.Connected then - begin - IdFTP1.Quit; - IdFTP1.Free; - end; - ShellExecute(Handle, 'open', PChar(FFName), '', '', SW_SHOWNORMAL); - -end; - -end. - diff --git a/A02基础产品管理11/U_YPTypeHelpCP.dfm b/A02基础产品管理11/U_YPTypeHelpCP.dfm deleted file mode 100644 index 055bbad..0000000 --- a/A02基础产品管理11/U_YPTypeHelpCP.dfm +++ /dev/null @@ -1,66 +0,0 @@ -object frmYPTypeHelpCP: TfrmYPTypeHelpCP - Left = 561 - Top = 284 - Caption = #26679#21697#31867#21035#36873#25321#21015#34920 - ClientHeight = 485 - ClientWidth = 355 - Color = clBtnFace - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [] - OldCreateOrder = False - Position = poScreenCenter - OnCreate = FormCreate - OnShow = FormShow - PixelsPerInch = 96 - TextHeight = 12 - object cxDBTreeList1: TcxDBTreeList - Left = 0 - Top = 0 - Width = 249 - Height = 485 - Align = alLeft - Bands = < - item - end> - DataController.DataSource = DataSource1 - DataController.ParentField = 'CTParent' - DataController.KeyField = 'CTID' - Navigator.Buttons.CustomButtons = <> - OptionsBehavior.CopyCaptionsToClipboard = False - OptionsBehavior.ExpandOnDblClick = False - OptionsSelection.CellSelect = False - OptionsView.CellAutoHeight = True - OptionsView.Headers = False - RootValue = -1 - TabOrder = 0 - OnDblClick = cxDBTreeList1DblClick - object cxDBTreeList1cxDBTreeListColumn2: TcxDBTreeListColumn - DataBinding.FieldName = 'CTName' - Width = 210 - Position.ColIndex = 0 - Position.RowIndex = 0 - Position.BandIndex = 0 - Summary.FooterSummaryItems = <> - Summary.GroupFooterSummaryItems = <> - end - end - object ADOConnection1: TADOConnection - LoginPrompt = False - Left = 288 - Top = 60 - end - object DataSource1: TDataSource - DataSet = ADOQueryHelp - Left = 280 - Top = 188 - end - object ADOQueryHelp: TADOQuery - Connection = ADOConnection1 - Parameters = <> - Left = 184 - Top = 136 - end -end diff --git a/A02基础产品管理11/U_YPTypeHelpCP.pas b/A02基础产品管理11/U_YPTypeHelpCP.pas deleted file mode 100644 index 5fe4766..0000000 --- a/A02基础产品管理11/U_YPTypeHelpCP.pas +++ /dev/null @@ -1,73 +0,0 @@ -unit U_YPTypeHelpCP; - -interface - -uses - Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, - Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, - cxInplaceContainer, cxDBTL, cxControls, cxTLData, DB, ADODB, cxLookAndFeels, - cxLookAndFeelPainters, cxTLdxBarBuiltInMenu, dxSkinsCore, - dxSkinsDefaultPainters; - -type - TfrmYPTypeHelpCP = class(TForm) - ADOConnection1: TADOConnection; - cxDBTreeList1: TcxDBTreeList; - cxDBTreeList1cxDBTreeListColumn2: TcxDBTreeListColumn; - DataSource1: TDataSource; - ADOQueryHelp: TADOQuery; - procedure FormCreate(Sender: TObject); - procedure FormShow(Sender: TObject); - procedure cxDBTreeList1DblClick(Sender: TObject); - private - { Private declarations } - public - { Public declarations } - end; - -var - frmYPTypeHelpCP: TfrmYPTypeHelpCP; - -implementation - -uses - U_DataLink; -{$R *.dfm} - -procedure TfrmYPTypeHelpCP.FormCreate(Sender: TObject); -begin - cxDBTreeList1.Align := alclient; - try - with ADOConnection1 do - begin - Connected := false; - ConnectionString := DConString; - //ConnectionString:=''; - Connected := true; - end; - except - end; -end; - -procedure TfrmYPTypeHelpCP.FormShow(Sender: TObject); -begin - with ADOQueryHelp do - begin - Close; - SQL.Clear; - SQL.Add('select * from BS_Cloth_Type order by CTlevel,CTOrder,CTName'); - Open; - end; - cxDBTreeList1.Items[0].Expand(false); - -end; - -procedure TfrmYPTypeHelpCP.cxDBTreeList1DblClick(Sender: TObject); -begin - if ADOQueryHelp.IsEmpty then - exit; - ModalResult := 1; -end; - -end. - diff --git a/A05基础资料管理/AllSkins.skinres b/A05基础资料管理/AllSkins.skinres new file mode 100644 index 0000000000000000000000000000000000000000..bfaa46e4ef9e1c1876243ae40bc357e71fc608e4 GIT binary patch literal 686051 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
frmMachineManage dfm - -
frmPositionList
- dfm -
frmWarpBeamManage
dfm @@ -185,8 +179,24 @@
frmLabelPrint
dfm
+ +
BaseDataLink
+ dfm + TDataModule +
+ +
frmPositionInPut
+ dfm +
+ +
frmPositionList
+ dfm +
+ + + Cfg_2 diff --git a/A05基础资料管理/BaseInfo.skincfg b/A05基础资料管理/BaseInfo.skincfg index e48deaa..f0fe216 100644 --- a/A05基础资料管理/BaseInfo.skincfg +++ b/A05基础资料管理/BaseInfo.skincfg @@ -1,62 +1,62 @@ [ExpressSkins] -Default=1 +Default=0 ShowNotifications=1 Enabled=1 -dxSkinBasic=1 -dxSkinBlack=1 -dxSkinBlue=1 -dxSkinBlueprint=1 -dxSkinCaramel=1 -dxSkinCoffee=1 -dxSkinDarkroom=1 -dxSkinDarkSide=1 -dxSkinDevExpressDarkStyle=1 -dxSkinDevExpressStyle=1 -dxSkinFoggy=1 -dxSkinGlassOceans=1 -dxSkinHighContrast=1 -dxSkiniMaginary=1 -dxSkinLilian=1 -dxSkinLiquidSky=1 -dxSkinLondonLiquidSky=1 -dxSkinMcSkin=1 -dxSkinMetropolis=1 -dxSkinMetropolisDark=1 -dxSkinMoneyTwins=1 -dxSkinOffice2007Black=1 -dxSkinOffice2007Blue=1 -dxSkinOffice2007Green=1 -dxSkinOffice2007Pink=1 -dxSkinOffice2007Silver=1 -dxSkinOffice2010Black=1 -dxSkinOffice2010Blue=1 -dxSkinOffice2010Silver=1 -dxSkinOffice2013DarkGray=1 -dxSkinOffice2013LightGray=1 -dxSkinOffice2013White=1 -dxSkinOffice2016Colorful=1 -dxSkinOffice2016Dark=1 -dxSkinOffice2019Black=1 -dxSkinOffice2019Colorful=1 -dxSkinOffice2019DarkGray=1 -dxSkinOffice2019White=1 -dxSkinPumpkin=1 -dxSkinSeven=1 -dxSkinSevenClassic=1 -dxSkinSharp=1 -dxSkinSharpPlus=1 -dxSkinSilver=1 -dxSkinSpringtime=1 -dxSkinStardust=1 -dxSkinSummer2008=1 -dxSkinTheAsphaltWorld=1 -dxSkinTheBezier=1 +dxSkinBasic=0 +dxSkinBlack=0 +dxSkinBlue=0 +dxSkinBlueprint=0 +dxSkinCaramel=0 +dxSkinCoffee=0 +dxSkinDarkroom=0 +dxSkinDarkSide=0 +dxSkinDevExpressDarkStyle=0 +dxSkinDevExpressStyle=0 +dxSkinFoggy=0 +dxSkinGlassOceans=0 +dxSkinHighContrast=0 +dxSkiniMaginary=0 +dxSkinLilian=0 +dxSkinLiquidSky=0 +dxSkinLondonLiquidSky=0 +dxSkinMcSkin=0 +dxSkinMetropolis=0 +dxSkinMetropolisDark=0 +dxSkinMoneyTwins=0 +dxSkinOffice2007Black=0 +dxSkinOffice2007Blue=0 +dxSkinOffice2007Green=0 +dxSkinOffice2007Pink=0 +dxSkinOffice2007Silver=0 +dxSkinOffice2010Black=0 +dxSkinOffice2010Blue=0 +dxSkinOffice2010Silver=0 +dxSkinOffice2013DarkGray=0 +dxSkinOffice2013LightGray=0 +dxSkinOffice2013White=0 +dxSkinOffice2016Colorful=0 +dxSkinOffice2016Dark=0 +dxSkinOffice2019Black=0 +dxSkinOffice2019Colorful=0 +dxSkinOffice2019DarkGray=0 +dxSkinOffice2019White=0 +dxSkinPumpkin=0 +dxSkinSeven=0 +dxSkinSevenClassic=0 +dxSkinSharp=0 +dxSkinSharpPlus=0 +dxSkinSilver=0 +dxSkinSpringtime=0 +dxSkinStardust=0 +dxSkinSummer2008=0 +dxSkinTheAsphaltWorld=0 +dxSkinTheBezier=0 dxSkinsDefaultPainters=1 -dxSkinValentine=1 -dxSkinVisualStudio2013Blue=1 -dxSkinVisualStudio2013Dark=1 -dxSkinVisualStudio2013Light=1 -dxSkinVS2010=1 -dxSkinWhiteprint=1 +dxSkinValentine=0 +dxSkinVisualStudio2013Blue=0 +dxSkinVisualStudio2013Dark=0 +dxSkinVisualStudio2013Light=0 +dxSkinVS2010=0 +dxSkinWhiteprint=0 dxSkinWXI=1 -dxSkinXmas2008Blue=1 +dxSkinXmas2008Blue=0 diff --git a/A05基础资料管理/U_DataLink.dfm b/A05基础资料管理/U_DataLink.dfm index 2a78534..983eb66 100644 --- a/A05基础资料管理/U_DataLink.dfm +++ b/A05基础资料管理/U_DataLink.dfm @@ -1,9 +1,26 @@ -object DataLink_BaseInfo: TDataLink_BaseInfo - OldCreateOrder = False - OnCreate = DataModuleCreate +inherited DataLink_BaseInfo: TDataLink_BaseInfo + OldCreateOrder = True OnDestroy = DataModuleDestroy Height = 349 Width = 482 + inherited cxEditStyleController1: TcxEditStyleController + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' + PixelsPerInch = 96 + end + inherited cxImageList_bar: TcxImageList + FormatVersion = 1 + end + inherited ThreeColorBase: TcxStyleRepository + PixelsPerInch = 96 + end + inherited dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList + inherited dxLayoutSkinLookAndFeel1: TdxLayoutSkinLookAndFeel + PixelsPerInch = 96 + end + end object AdoDataLink: TADOQuery Connection = ADOLink Parameters = <> @@ -10423,140 +10440,6 @@ object DataLink_BaseInfo: TDataLink_BaseInfo FF800001000000F003FFFE00FFE0000300000000000000000000000000000000 000000000000} end - object ThreeLookAndFeelCol: TcxLookAndFeelController - Kind = lfStandard - NativeStyle = False - Left = 252 - Top = 13 - end - object ThreeColorBase: TcxStyleRepository - Left = 147 - Top = 80 - PixelsPerInch = 96 - object SHuangSe: TcxStyle - AssignedValues = [svColor, svFont, svTextColor] - Color = 4707838 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [] - TextColor = clBtnText - end - object SkyBlue: TcxStyle - AssignedValues = [svColor, svFont, svTextColor] - Color = clSkyBlue - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [] - TextColor = clBlack - end - object Default: TcxStyle - AssignedValues = [svColor, svFont] - Color = clWhite - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - end - object QHuangSe: TcxStyle - AssignedValues = [svColor, svFont] - Color = 8454143 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [] - end - object Red: TcxStyle - AssignedValues = [svColor, svFont] - Color = clRed - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [] - end - object FontBlue: TcxStyle - AssignedValues = [svFont, svTextColor] - Font.Charset = GB2312_CHARSET - Font.Color = clBlue - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - TextColor = clBlue - end - object TextSHuangSe: TcxStyle - AssignedValues = [svFont, svTextColor] - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - TextColor = clOlive - end - object FonePurple: TcxStyle - AssignedValues = [svFont, svTextColor] - Font.Charset = GB2312_CHARSET - Font.Color = clWindow - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - TextColor = clPurple - end - object FoneClMaroon: TcxStyle - AssignedValues = [svFont, svTextColor] - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - TextColor = clMaroon - end - object FoneRed: TcxStyle - AssignedValues = [svFont, svTextColor] - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - TextColor = clRed - end - object RowColor: TcxStyle - AssignedValues = [svColor] - Color = 16311512 - end - object handBlack: TcxStyle - AssignedValues = [svFont] - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - end - object cxBlue: TcxStyle - AssignedValues = [svColor, svFont] - Color = 16711731 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [] - end - object SHuangSeCu: TcxStyle - AssignedValues = [svColor, svFont, svTextColor] - Color = 4707838 - Font.Charset = GB2312_CHARSET - Font.Color = clBlack - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - TextColor = clRed - end - end object Timer_link: TTimer Interval = 15000 OnTimer = Timer_linkTimer diff --git a/A05基础资料管理/U_DataLink.pas b/A05基础资料管理/U_DataLink.pas index 9ea4d44..f5ae9cb 100644 --- a/A05基础资料管理/U_DataLink.pas +++ b/A05基础资料管理/U_DataLink.pas @@ -5,7 +5,8 @@ interface uses SysUtils, Classes, DB, ADODB, ImgList, Controls, cxStyles, cxLookAndFeels, Windows, Messages, forms, OleCtnrs, DateUtils, ExtCtrls, SyncObjs, cxClasses, - System.ImageList; + System.ImageList, U_BaseDataLink, dxCore, cxLocalization, dxLayoutLookAndFeels, + cxImageList, cxGraphics, cxEdit, cxContainer, dxSkinsForm; type TMyThread = class(TThread) @@ -34,26 +35,10 @@ var PicSvr: string; type - TDataLink_BaseInfo = class(TDataModule) + TDataLink_BaseInfo = class(TBaseDataLink) AdoDataLink: TADOQuery; ADOLink: TADOConnection; ThreeImgList: TImageList; - ThreeLookAndFeelCol: TcxLookAndFeelController; - ThreeColorBase: TcxStyleRepository; - SHuangSe: TcxStyle; - SkyBlue: TcxStyle; - Default: TcxStyle; - QHuangSe: TcxStyle; - Red: TcxStyle; - FontBlue: TcxStyle; - TextSHuangSe: TcxStyle; - FonePurple: TcxStyle; - FoneClMaroon: TcxStyle; - FoneRed: TcxStyle; - RowColor: TcxStyle; - handBlack: TcxStyle; - cxBlue: TcxStyle; - SHuangSeCu: TcxStyle; Timer_link: TTimer; ImageList_new32: TImageList; procedure DataModuleDestroy(Sender: TObject); @@ -109,6 +94,7 @@ end; procedure TDataLink_BaseInfo.DataModuleDestroy(Sender: TObject); begin + inherited; CriticalSection.Free; DataLink_BaseInfo := nil; end; @@ -120,6 +106,7 @@ end; procedure TDataLink_BaseInfo.DataModuleCreate(Sender: TObject); begin + inherited; CriticalSection := TCriticalSection.Create; end; diff --git a/A05基础资料管理/U_GetDllForm.pas b/A05基础资料管理/U_GetDllForm.pas index 5384811..6884f8d 100644 --- a/A05基础资料管理/U_GetDllForm.pas +++ b/A05基础资料管理/U_GetDllForm.pas @@ -67,12 +67,13 @@ begin if trim(DataBaseStr) = '' then begin server := '101.132.143.144,7781'; - dtbase := 'RTBasicsData'; + dtbase := 'gemeiData'; user := 'rtsa'; pswd := 'rightsoft@5740'; - DConString := 'Provider=SQLOLEDB.1;Password=' + pswd + ';Persist Security Info=True;User ID=' + user + ';Initial Catalog=' + dtbase + ';Data Source=' + server; // DParameters1:='Ȩ'; +// Parameters2 := '֯'; + end else begin @@ -115,6 +116,7 @@ begin ///////////////////// //ģ鴰 case FormID of + 111: //λ begin with TfrmPositionList.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do @@ -127,7 +129,7 @@ begin end; end; - 112: //̨ + 112: // begin with TfrmMachineManage.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do begin @@ -141,9 +143,6 @@ begin { - - - 141: // begin with TfrmWarpBeamManage.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do diff --git a/A05基础资料管理/U_MachineInPut.dfm b/A05基础资料管理/U_MachineInPut.dfm new file mode 100644 index 0000000..036cf71 --- /dev/null +++ b/A05基础资料管理/U_MachineInPut.dfm @@ -0,0 +1,183 @@ +inherited frmMachineInPut: TfrmMachineInPut + Left = 88 + Top = 141 + Caption = #26426#21488#24405#20837 + ClientHeight = 333 + ClientWidth = 632 + Color = clWhite + Font.Height = -16 + Position = poMainFormCenter + ExplicitWidth = 648 + ExplicitHeight = 372 + PixelsPerInch = 96 + TextHeight = 21 + object cxGrid2: TcxGrid [0] + Left = 0 + Top = 30 + Width = 632 + Height = 303 + Align = alClient + TabOrder = 0 + ExplicitLeft = -8 + ExplicitTop = 71 + ExplicitHeight = 262 + object Tv1: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + ScrollbarAnnotations.CustomAnnotations = <> + DataController.DataSource = DataSource3 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skCount + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + object v1Column2: TcxGridDBColumn + Caption = #36710#29260#21495 + DataBinding.FieldName = 'VNO' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 100 + end + object Tv1Column1: TcxGridDBColumn + Caption = #36710#36742#31867#22411 + DataBinding.FieldName = 'VType' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 100 + end + object Tv1Column2: TcxGridDBColumn + Caption = #21496#26426 + DataBinding.FieldName = 'Driver' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 226 + end + end + object cxGrid2Level1: TcxGridLevel + GridView = Tv1 + end + end + object ToolBar1: TToolBar [1] + Tag = 1 + Left = 0 + Top = 0 + Width = 632 + Height = 30 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 99 + Caption = 'ToolBar1' + Images = DataLink_BaseInfo.cxImageList_bar + List = True + ShowCaptions = True + TabOrder = 1 + object TBSave: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #20445#23384 + ImageIndex = 16 + OnClick = TBSaveClick + end + object TBAdd: TToolButton + Left = 71 + Top = 0 + AutoSize = True + Caption = #26032#22686 + ImageIndex = 2 + OnClick = TBAddClick + end + object TBDel: TToolButton + Left = 142 + Top = 0 + AutoSize = True + Caption = #21024#38500 + ImageIndex = 6 + OnClick = TBDelClick + end + object ToolButton1: TToolButton + Left = 213 + Top = 0 + AutoSize = True + Caption = #20445#23384#26684#24335 + ImageIndex = 16 + OnClick = ToolButton1Click + end + object TBClose: TToolButton + Left = 316 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 7 + OnClick = TBCloseClick + end + end + inherited ADOQueryBaseCmd: TADOQuery + Connection = DataLink_BaseInfo.ADOLink + Left = 225 + Top = 136 + end + inherited ADOQueryBaseTemp: TADOQuery + Connection = DataLink_BaseInfo.ADOLink + Left = 73 + Top = 161 + end + inherited ImageList_new32: TImageList + Left = 248 + Top = 288 + end + inherited cxImageList_bar: TcxImageList + FormatVersion = 1 + end + object DataSource3: TDataSource + DataSet = CDS_Sub + Left = 576 + Top = 136 + end + object CDS_Sub: TClientDataSet + Aggregates = <> + Params = <> + Left = 528 + Top = 192 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_BaseInfo.ADOLink + Parameters = <> + Left = 328 + Top = 136 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_BaseInfo.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 408 + Top = 136 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_BaseInfo.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 496 + Top = 136 + end + object cxGridPopupMenu2: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 160 + Top = 192 + end +end diff --git a/A05基础资料管理/U_MachineInPut.pas b/A05基础资料管理/U_MachineInPut.pas new file mode 100644 index 0000000..301e702 --- /dev/null +++ b/A05基础资料管理/U_MachineInPut.pas @@ -0,0 +1,235 @@ +unit U_MachineInPut; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, + cxEdit, DB, cxDBData, cxCalendar, cxDropDownEdit, ComCtrls, ToolWin, + cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, + cxClasses, cxControls, cxGridCustomView, cxGrid, cxGridCustomPopupMenu, + cxGridPopupMenu, ADODB, DBClient, cxButtonEdit, cxTextEdit, StdCtrls, ExtCtrls, + StrUtils, U_BaseInput, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, + dxDateRanges, dxScrollbarAnnotations, cxContainer, dxBarBuiltInMenu, + System.ImageList, Vcl.ImgList, cxImageList; + +type + TfrmMachineInPut = class(TfrmBaseInput) + cxGrid2: TcxGrid; + Tv1: TcxGridDBTableView; + v1Column2: TcxGridDBColumn; + cxGrid2Level1: TcxGridLevel; + ToolBar1: TToolBar; + TBAdd: TToolButton; + TBDel: TToolButton; + TBSave: TToolButton; + TBClose: TToolButton; + DataSource3: TDataSource; + CDS_Sub: TClientDataSet; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + cxGridPopupMenu2: TcxGridPopupMenu; + ToolButton1: TToolButton; + Tv1Column1: TcxGridDBColumn; + Tv1Column2: TcxGridDBColumn; + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure TBCloseClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBDelClick(Sender: TObject); + procedure TBSaveClick(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + procedure TBAddClick(Sender: TObject); + private + { Private declarations } + function SaveCKData(): Boolean; + public + { Public declarations } + FBCId, FSTKName: string; + end; + +var + frmMachineInPut: TfrmMachineInPut; + +implementation + +uses + U_DataLink, U_RTFun, U_ZDYHelp; + +{$R *.dfm} + +procedure TfrmMachineInPut.FormClose(Sender: TObject; var Action: TCloseAction); +begin + inherited; + Action := caFree; +end; + +function TfrmMachineInPut.SaveCKData(): Boolean; +var + MaxNo, MWBID: string; +begin + try + ADOQueryCmd.Connection.BeginTrans; + CDS_Sub.DisableControls; + with CDS_Sub do + begin + First; + while not eof do + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Bs_Vehicle where VID=''' + Trim(CDS_Sub.fieldbyname('VID').AsString) + ''''); + open; + end; + MWBID := Trim(ADOQueryTemp.fieldbyname('VID').AsString); + if Trim(MWBID) = '' then + begin + if GetLSNo(ADOQueryCmd, MaxNo, 'M', 'Bs_Vehicle', 4, 1) = False then + raise Exception.Create('ȡʧܣ'); + end + else + begin + MaxNo := Trim(MWBID); + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from Bs_Vehicle where VID=''' + Trim(MaxNo) + ''''); + Open; + end; + with ADOQueryCmd do + begin + if Trim(MWBID) = '' then + begin + Append; + FieldByName('Fillid').Value := Trim(Dcode); + FieldByName('Filler').Value := Trim(DName) + end + else + begin + Edit; + FieldByName('Editid').Value := Trim(Dcode); + FieldByName('Editer').Value := Trim(DName); + FieldByName('EditTime').Value := SGetServerDate(ADOQueryTemp); + end; + FieldByName('VID').Value := Trim(MaxNo); +// FieldByName('STKName').Value := Trim(FSTKName); + RTSetSaveDataCDS(ADOQueryCmd, Tv1, CDS_Sub, 'Bs_Vehicle', 0); + Post; + end; + + Edit; + FieldByName('VID').Value := Trim(MaxNo); + Post; + Next; + end; + end; + CDS_Sub.EnableControls; + ADOQueryCmd.Connection.CommitTrans; + Result := True; + except + Result := False; + ADOQueryCmd.Connection.RollbackTrans; + application.MessageBox(PChar(Exception(ExceptObject).Message), 'ʾϢ', 0); + end; + +end; + +procedure TfrmMachineInPut.TBAddClick(Sender: TObject); +begin + with CDS_Sub do + begin + Append; + + Post; + end; +end; + +procedure TfrmMachineInPut.TBCloseClick(Sender: TObject); +begin + + Close; +end; + +procedure TfrmMachineInPut.FormShow(Sender: TObject); +var + fsj: string; +begin + inherited; + ReadCxGrid(trim(self.Caption), Tv1, 'Ⱦɫֿ'); + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add(' select A.* '); + sql.Add(' from Bs_Vehicle A'); + sql.Add(' where VID=''' + Trim(FBCId) + ''''); + Open; + end; + SCreateCDS(ADOQueryTemp, CDS_Sub); + SInitCDSData(ADOQueryTemp, CDS_Sub); +end; + +procedure TfrmMachineInPut.TBDelClick(Sender: TObject); +begin + if CDS_Sub.IsEmpty then + Exit; + if Trim(CDS_Sub.fieldbyname('VID').AsString) <> '' then + begin + if Application.MessageBox('ȷҪɾ', 'ʾ', 32 + 4) <> IDYES then + Exit; + + try + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add(' delete Bs_Vehicle where VID=''' + Trim(CDS_Sub.fieldbyname('VID').AsString) + ''''); + ExecSQL; + end; + + ADOQueryCmd.Connection.CommitTrans; + CDS_Sub.Delete; + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ɾ쳣!', 'ʾ', 0); + end; + + end + else + begin + CDS_Sub.Delete; + end; + +end; + +procedure TfrmMachineInPut.TBSaveClick(Sender: TObject); +begin + if CDS_Sub.IsEmpty then + Exit; + + if CDS_Sub.Locate('VNO', null, []) = True then + begin + Application.MessageBox('ŲΪ!', 'ʾ', 0); + Exit; + end; + + if SaveCKData() then + begin + Application.MessageBox('ɹ!', 'ʾ', 0); + ModalResult := 1; + Exit; + end; +end; + +procedure TfrmMachineInPut.ToolButton1Click(Sender: TObject); +begin + WriteCxGrid(trim(self.Caption), Tv1, 'Ⱦɫֿ'); +end; + +end. + diff --git a/A05基础资料管理/U_MachineManage.dfm b/A05基础资料管理/U_MachineManage.dfm index 94d84d5..6f1f0b1 100644 --- a/A05基础资料管理/U_MachineManage.dfm +++ b/A05基础资料管理/U_MachineManage.dfm @@ -4,28 +4,29 @@ inherited frmMachineManage: TfrmMachineManage Caption = #26426#21488#31649#29702 ClientHeight = 523 ClientWidth = 1107 + Font.Height = -16 KeyPreview = True ExplicitWidth = 1123 ExplicitHeight = 562 PixelsPerInch = 96 - TextHeight = 12 + TextHeight = 21 object ToolBar1: TToolBar [0] Tag = 1 Left = 0 Top = 0 Width = 1107 - Height = 38 + Height = 30 AutoSize = True - ButtonHeight = 38 - ButtonWidth = 75 + ButtonHeight = 30 + ButtonWidth = 67 Caption = 'ToolBar1' Color = clSkyBlue - DisabledImages = DataLink_BaseInfo.ImageList_new32 - Images = DataLink_BaseInfo.ImageList_new32 + DisabledImages = DataLink_BaseInfo.cxImageList_bar + Images = DataLink_BaseInfo.cxImageList_bar List = True ParentColor = False ShowCaptions = True - TabOrder = 0 + TabOrder = 3 object TBRafresh: TToolButton Left = 0 Top = 0 @@ -41,24 +42,23 @@ inherited frmMachineManage: TfrmMachineManage Caption = #36807#28388 ImageIndex = 0 Visible = False - OnClick = ToolButton2Click + end + object ToolButton4: TToolButton + Left = 142 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 9 + OnClick = ToolButton4Click end object ToolButton6: TToolButton - Left = 142 + Left = 213 Top = 0 AutoSize = True Caption = #20462#25913 ImageIndex = 3 OnClick = ToolButton6Click end - object ToolButton4: TToolButton - Left = 213 - Top = 0 - AutoSize = True - Caption = #22686#34892 - ImageIndex = 2 - OnClick = ToolButton4Click - end object ToolButton5: TToolButton Left = 284 Top = 0 @@ -94,9 +94,9 @@ inherited frmMachineManage: TfrmMachineManage end object cxGrid2: TcxGrid [1] Left = 0 - Top = 96 + Top = 73 Width = 1107 - Height = 427 + Height = 450 Align = alClient PopupMenu = PopupMenu1 TabOrder = 2 @@ -104,6 +104,7 @@ inherited frmMachineManage: TfrmMachineManage Navigator.Buttons.CustomButtons = <> Navigator.Buttons.Delete.Enabled = False Navigator.Buttons.Delete.Visible = False + ScrollbarAnnotations.CustomAnnotations = <> DataController.DataSource = DS_HZ DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] DataController.Summary.DefaultGroupSummaryItems = <> @@ -136,30 +137,37 @@ inherited frmMachineManage: TfrmMachineManage OptionsData.DeletingConfirmation = False OptionsView.Footer = True OptionsView.GroupByBox = False - Styles.Footer = DataLink_BaseInfo.Default - Styles.Header = DataLink_BaseInfo.Default object v2Column1: TcxGridDBColumn Caption = #36873#25321 DataBinding.FieldName = 'SSel' + DataBinding.IsNullValueType = True PropertiesClassName = 'TcxCheckBoxProperties' HeaderAlignmentHorz = taCenter + Width = 53 end object v2Column12: TcxGridDBColumn - Caption = #26426#21488#21495 - DataBinding.FieldName = 'MCNO' + Caption = #36710#29260 + DataBinding.FieldName = 'VNO' + DataBinding.IsNullValueType = True PropertiesClassName = 'TcxTextEditProperties' - Properties.OnEditValueChanged = v2Column8PropertiesEditValueChanged HeaderAlignmentHorz = taCenter + Options.Editing = False Width = 149 end object v2Column8: TcxGridDBColumn - Caption = #26426#21488#31867#22411 - DataBinding.FieldName = 'MCType' + Caption = #31867#22411 + DataBinding.FieldName = 'VType' + DataBinding.IsNullValueType = True PropertiesClassName = 'TcxTextEditProperties' - Properties.OnEditValueChanged = v2Column8PropertiesEditValueChanged HeaderAlignmentHorz = taCenter + Options.Editing = False Width = 180 end + object Tv2Column1: TcxGridDBColumn + Caption = #21496#26426 + DataBinding.FieldName = 'Driver' + DataBinding.IsNullValueType = True + end end object cxGridLevel1: TcxGridLevel GridView = Tv2 @@ -167,58 +175,62 @@ inherited frmMachineManage: TfrmMachineManage end object Panel1: TPanel [2] Left = 0 - Top = 38 + Top = 30 Width = 1107 - Height = 58 + Height = 43 Align = alTop BevelInner = bvRaised BevelOuter = bvLowered - Color = clSkyBlue - TabOrder = 1 + Color = clWhite + ParentBackground = False + TabOrder = 4 object Label1: TLabel - Left = 66 - Top = 20 - Width = 36 - Height = 12 - Caption = #26426#21488#21495 + Left = 37 + Top = 10 + Width = 32 + Height = 21 + Caption = #36710#29260 end - object MCNO: TEdit + object VNO: TcxTextEdit Tag = 2 - Left = 105 - Top = 16 - Width = 89 - Height = 20 + Left = 91 + Top = 6 + ParentColor = True + ParentFont = False + Properties.OnChange = MCNOPropertiesChange TabOrder = 0 - OnChange = CustomerChange + Width = 158 end end inherited ADOQueryBaseCmd: TADOQuery Connection = DataLink_BaseInfo.ADOLink + Left = 113 + Top = 256 end inherited ADOQueryBaseTemp: TADOQuery Connection = DataLink_BaseInfo.ADOLink - Left = 153 - Top = 129 + Left = 137 + Top = 169 end object ADOQueryTemp: TADOQuery Connection = DataLink_BaseInfo.ADOLink LockType = ltReadOnly Parameters = <> - Left = 299 - Top = 209 + Left = 459 + Top = 169 end object ADOQueryCmd: TADOQuery Connection = DataLink_BaseInfo.ADOLink Parameters = <> - Left = 261 - Top = 209 + Left = 357 + Top = 153 end object ADOQueryMain: TADOQuery Connection = DataLink_BaseInfo.ADOLink LockType = ltReadOnly Parameters = <> - Left = 229 - Top = 209 + Left = 253 + Top = 161 end object GPM_1: TcxGridPopupMenu Grid = cxGrid2 @@ -234,12 +246,12 @@ inherited frmMachineManage: TfrmMachineManage object CDS_HZ: TClientDataSet Aggregates = <> Params = <> - Left = 445 - Top = 199 + Left = 429 + Top = 271 end object PopupMenu1: TPopupMenu - Left = 379 - Top = 338 + Left = 355 + Top = 250 object N1: TMenuItem Caption = #20840#36873 OnClick = N1Click diff --git a/A05基础资料管理/U_MachineManage.pas b/A05基础资料管理/U_MachineManage.pas index 3e3eb7c..98a3995 100644 --- a/A05基础资料管理/U_MachineManage.pas +++ b/A05基础资料管理/U_MachineManage.pas @@ -13,8 +13,9 @@ uses RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdFTP, ShellAPI, IniFiles, cxCheckBox, cxCalendar, cxButtonEdit, cxTextEdit, cxPC, cxCheckComboBox, cxDropDownEdit, Menus, RM_e_Xls, - cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, - dxDateRanges, dxBarBuiltInMenu, U_BaseList, RM_BarCode; + cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxDateRanges, + dxBarBuiltInMenu, U_BaseList, RM_BarCode, dxScrollbarAnnotations, cxContainer, + cxProgressBar; type TfrmMachineManage = class(TfrmBaseList) @@ -36,7 +37,6 @@ type N1: TMenuItem; N2: TMenuItem; Panel1: TPanel; - MCNO: TEdit; v2Column8: TcxGridDBColumn; Label1: TLabel; v2Column12: TcxGridDBColumn; @@ -45,29 +45,28 @@ type ToolButton5: TToolButton; v2Column1: TcxGridDBColumn; ToolButton6: TToolButton; + VNO: TcxTextEdit; + Tv2Column1: TcxGridDBColumn; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBRafreshClick(Sender: TObject); - procedure ToolButton2Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure CustomerChange(Sender: TObject); procedure FormCreate(Sender: TObject); - procedure v2Column8PropertiesEditValueChanged(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure ToolButton5Click(Sender: TObject); procedure ToolButton6Click(Sender: TObject); procedure Tv2Column1PropertiesChange(Sender: TObject); + procedure MCNOPropertiesChange(Sender: TObject); private { Private declarations } procedure InitGrid(); - procedure EditValueT(); - procedure EditValueF(); public fFlag: integer; { Public declarations } @@ -80,21 +79,20 @@ var implementation uses - U_DataLink, U_RTFun, U_ZDYHelp, U_LabelPrint; + U_DataLink, U_RTFun, U_ZDYHelp, U_LabelPrint, U_MachineInPut; {$R *.dfm} - procedure TfrmMachineManage.InitGrid(); begin - MCNO.SetFocus; + ToolBar1.SetFocus; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; SQL.Clear; - sql.Add(' select A.* from BS_Machine A order by MCNO '); + sql.Add(' select A.* from Bs_Vehicle A order by VNO '); Open; end; SCreateCDS(ADOQueryMain, CDS_HZ); @@ -103,7 +101,19 @@ begin ADOQueryMain.EnableControls; ToolButton2.Click; end; - EditValueF(); +end; + +procedure TfrmMachineManage.MCNOPropertiesChange(Sender: TObject); +var + sql: string; +begin + if ADOQueryMain.Active then + begin + sql := SGetFilters(Panel1, 1, 2); + SDofilter(ADOQueryMain, sql); + SCreateCDS(ADOQueryMain, CDS_HZ); + SInitCDSData(ADOQueryMain, CDS_HZ); + end; end; procedure TfrmMachineManage.FormDestroy(Sender: TObject); @@ -138,19 +148,6 @@ begin InitGrid(); end; -procedure TfrmMachineManage.ToolButton2Click(Sender: TObject); -var - sql: string; -begin - if ADOQueryMain.Active then - begin - sql := SGetFilters(Panel1, 1, 2); - SDofilter(ADOQueryMain, sql); - SCreateCDS(ADOQueryMain, CDS_HZ); - SInitCDSData(ADOQueryMain, CDS_HZ); - end; -end; - procedure TfrmMachineManage.ToolButton1Click(Sender: TObject); begin if ADOQueryMain.IsEmpty then @@ -189,40 +186,6 @@ begin fmanage := Trim(DParameters1); end; -procedure TfrmMachineManage.v2Column8PropertiesEditValueChanged(Sender: TObject); -var - mvalue, FFieldName: string; -begin - mvalue := TcxTextEdit(Sender).EditingText; - FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName); - try - ADOQueryCmd.Connection.BeginTrans; - with CDS_HZ do - begin - Edit; - FieldByName(FFieldName).Value := Trim(mvalue); - Post; - end; - with ADOQueryCmd do - begin - Close; - sql.Clear; - sql.Add('UPdate BS_Machine '); - sql.Add(' Set ' + FFieldName + '=''' + Trim(mvalue) + ''''); - sql.Add(' , Editer=''' + Trim(DName) + ''''); - sql.Add(' , Edittime=getdate()'); - sql.Add(' where MCID=' + quotedstr(CDS_HZ.fieldbyname('MCID').AsString)); - ExecSQL; - end; - ADOQueryCmd.Connection.CommitTrans; - tv2.Controller.EditingController.ShowEdit(); - except - tv2.Controller.EditingController.ShowEdit(); - ADOQueryCmd.Connection.RollbackTrans; - Application.MessageBox('ʧܣ', 'ʾ', 0); - end -end; - procedure TfrmMachineManage.ToolButton3Click(Sender: TObject); var RTValues: TArray; @@ -235,7 +198,7 @@ begin Application.MessageBox('ѡݣ', 'ʾ', 0); Exit; end; - RTValues := SelCDSKey(CDS_HZ, ['MCID']); + RTValues := SelCDSKey(CDS_HZ, ['VID']); try frmLabelPrint := TfrmLabelPrint.Create(Application); @@ -257,21 +220,33 @@ procedure TfrmMachineManage.ToolButton4Click(Sender: TObject); var maxId: string; begin - MCNO.SetFocus; - if GetLSNo(ADOQueryCmd, maxId, 'M', 'BS_Machine', 4, 1) = False then - begin - Application.MessageBox('ȡʧܣ', 'ʾ', 0); - Exit; + try + frmMachineInPut := TfrmMachineInPut.Create(Application); + with frmMachineInPut do + begin + FBCId := ''; + if ShowModal = 1 then + begin + Self.InitGrid(); + end; + end; + finally + frmMachineInPut.Free; end; - with ADOQueryCmd do - begin - Close; - sql.Clear; - sql.Add('insert into BS_Machine(Filler) values(' + quotedstr(Trim(dname)) + ')'); - ExecSQL; - end; - InitGrid(); - EditValueT(); +// VNO.SetFocus; +// if GetLSNo(ADOQueryCmd, maxId, 'M', 'Bs_Vehicle', 4, 1) = False then +// begin +// Application.MessageBox('ȡʧܣ', 'ʾ', 0); +// Exit; +// end; +// with ADOQueryCmd do +// begin +// Close; +// sql.Clear; +// sql.Add('insert into Bs_Vehicle(Filler) values(' + quotedstr(Trim(dname)) + ')'); +// ExecSQL; +// end; +// InitGrid(); end; procedure TfrmMachineManage.ToolButton5Click(Sender: TObject); @@ -298,7 +273,7 @@ begin begin Close; sql.Clear; - sql.Add('delete BS_Machine where MCID=' + QuotedStr(CDS_HZ.FieldByName('MCID').AsString)); + sql.Add('delete Bs_Vehicle where VID=' + QuotedStr(CDS_HZ.FieldByName('VID').AsString)); ExecSQL; end; end; @@ -315,28 +290,20 @@ procedure TfrmMachineManage.ToolButton6Click(Sender: TObject); begin if CDS_HZ.IsEmpty then Exit; - EditValueT(); -end; - -procedure TfrmMachineManage.EditValueT(); -var - i: Integer; -begin - for i := 0 to tv2.ColumnCount - 1 do - begin - if uppercase(tv2.Columns[i].DataBinding.FieldName) <> 'SSEL' then - tv2.Columns[i].Options.Editing := True; - end; -end; - -procedure TfrmMachineManage.EditValueF(); -var - i: Integer; -begin - for i := 0 to tv2.ColumnCount - 1 do - begin - if uppercase(tv2.Columns[i].DataBinding.FieldName) <> 'SSEL' then - tv2.Columns[i].Options.Editing := false; + try + frmMachineInPut := TfrmMachineInPut.Create(Application); + with frmMachineInPut do + begin + FBCId := Trim(CDS_HZ.fieldbyname('VID').AsString); + TBDel.Visible := False; + TBAdd.Visible := False; + if ShowModal = 1 then + begin + Self.InitGrid(); + end; + end; + finally + frmMachineInPut.Free; end; end; @@ -358,11 +325,11 @@ begin begin Close; sql.Clear; - sql.Add('UPdate BS_Machine '); + sql.Add('UPdate Bs_Vehicle '); sql.Add(' Set ' + FFieldName + '=''' + Trim(mvalue) + ''''); sql.Add(' , Editer=''' + Trim(DName) + ''''); sql.Add(' , Edittime=getdate()'); - sql.Add(' where MCID=' + quotedstr(CDS_HZ.fieldbyname('MCID').AsString)); + sql.Add(' where VID=' + quotedstr(CDS_HZ.fieldbyname('VID').AsString)); // ShowMessage(sql.text); ExecSQL; end; diff --git a/A05基础资料管理/U_PositionInPut.dfm b/A05基础资料管理/U_PositionInPut.dfm new file mode 100644 index 0000000..0649719 --- /dev/null +++ b/A05基础资料管理/U_PositionInPut.dfm @@ -0,0 +1,245 @@ +inherited frmPositionInPut: TfrmPositionInPut + Left = 88 + Top = 141 + Caption = #26426#21488#24405#20837 + ClientHeight = 333 + ClientWidth = 632 + Color = clWhite + Font.Height = -16 + Position = poMainFormCenter + ExplicitWidth = 648 + ExplicitHeight = 372 + PixelsPerInch = 96 + TextHeight = 21 + object cxGrid2: TcxGrid [0] + Left = 0 + Top = 79 + Width = 632 + Height = 254 + Align = alClient + TabOrder = 0 + object Tv1: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + ScrollbarAnnotations.CustomAnnotations = <> + DataController.DataSource = DataSource3 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skCount + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + object v1Column2: TcxGridDBColumn + Caption = #24211#20301#32534#21495 + DataBinding.FieldName = 'POSNO' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 100 + end + object Tv1Column1: TcxGridDBColumn + Caption = #24211#20301#21517#31216 + DataBinding.FieldName = 'POSName' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 100 + end + end + object cxGrid2Level1: TcxGridLevel + GridView = Tv1 + end + end + object ToolBar1: TToolBar [1] + Tag = 1 + Left = 0 + Top = 0 + Width = 632 + Height = 30 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 99 + Caption = 'ToolBar1' + Images = DataLink_BaseInfo.cxImageList_bar + List = True + ShowCaptions = True + TabOrder = 1 + object TBSave: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #20445#23384 + ImageIndex = 16 + OnClick = TBSaveClick + end + object TBAdd: TToolButton + Left = 71 + Top = 0 + AutoSize = True + Caption = #26032#22686 + ImageIndex = 2 + OnClick = TBAddClick + end + object TBDel: TToolButton + Left = 142 + Top = 0 + AutoSize = True + Caption = #21024#38500 + ImageIndex = 6 + OnClick = TBDelClick + end + object ToolButton1: TToolButton + Left = 213 + Top = 0 + AutoSize = True + Caption = #20445#23384#26684#24335 + ImageIndex = 16 + OnClick = ToolButton1Click + end + object TBClose: TToolButton + Left = 316 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 7 + OnClick = TBCloseClick + end + end + object Panel1: TPanel [2] + Left = 0 + Top = 30 + Width = 632 + Height = 49 + Align = alTop + TabOrder = 2 + object Label4: TLabel + Left = 158 + Top = 14 + Width = 32 + Height = 21 + Caption = #33539#22260 + end + object Label1: TLabel + Left = 256 + Top = 14 + Width = 7 + Height = 21 + Caption = '-' + end + object Label2: TLabel + Left = 18 + Top = 14 + Width = 32 + Height = 21 + Caption = #21069#32512 + end + object Label3: TLabel + Left = 346 + Top = 14 + Width = 64 + Height = 21 + Caption = #24211#20301#21517#31216 + end + object cxtxtdtQS: TcxTextEdit + Tag = 2 + Left = 194 + Top = 8 + ParentColor = True + ParentFont = False + TabOrder = 0 + Width = 58 + end + object cxtxtdtJS: TcxTextEdit + Tag = 2 + Left = 267 + Top = 8 + ParentColor = True + ParentFont = False + TabOrder = 1 + Width = 58 + end + object QZ: TcxTextEdit + Tag = 2 + Left = 54 + Top = 8 + ParentColor = True + ParentFont = False + TabOrder = 2 + Width = 100 + end + object POSName: TcxTextEdit + Tag = 2 + Left = 416 + Top = 8 + ParentColor = True + ParentFont = False + TabOrder = 3 + Width = 100 + end + end + inherited ADOQueryBaseCmd: TADOQuery + Connection = DataLink_BaseInfo.ADOLink + Left = 225 + Top = 136 + end + inherited ADOQueryBaseTemp: TADOQuery + Connection = DataLink_BaseInfo.ADOLink + Left = 73 + Top = 161 + end + inherited ImageList_new32: TImageList + Left = 248 + Top = 288 + end + inherited cxImageList_bar: TcxImageList + FormatVersion = 1 + end + object DataSource3: TDataSource + DataSet = CDS_Sub + Left = 576 + Top = 136 + end + object CDS_Sub: TClientDataSet + Aggregates = <> + Params = <> + Left = 528 + Top = 192 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_BaseInfo.ADOLink + Parameters = <> + Left = 328 + Top = 136 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_BaseInfo.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 408 + Top = 136 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_BaseInfo.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 496 + Top = 136 + end + object cxGridPopupMenu2: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 160 + Top = 192 + end +end diff --git a/A05基础资料管理/U_PositionInPut.pas b/A05基础资料管理/U_PositionInPut.pas new file mode 100644 index 0000000..18c9b48 --- /dev/null +++ b/A05基础资料管理/U_PositionInPut.pas @@ -0,0 +1,252 @@ +unit U_PositionInPut; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, + cxEdit, DB, cxDBData, cxCalendar, cxDropDownEdit, ComCtrls, ToolWin, + cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, + cxClasses, cxControls, cxGridCustomView, cxGrid, cxGridCustomPopupMenu, + cxGridPopupMenu, ADODB, DBClient, cxButtonEdit, cxTextEdit, StdCtrls, ExtCtrls, + StrUtils, U_BaseInput, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, + dxDateRanges, dxScrollbarAnnotations, cxContainer, dxBarBuiltInMenu, + System.ImageList, Vcl.ImgList, cxImageList; + +type + TfrmPositionInPut = class(TfrmBaseInput) + cxGrid2: TcxGrid; + Tv1: TcxGridDBTableView; + v1Column2: TcxGridDBColumn; + cxGrid2Level1: TcxGridLevel; + ToolBar1: TToolBar; + TBAdd: TToolButton; + TBDel: TToolButton; + TBSave: TToolButton; + TBClose: TToolButton; + DataSource3: TDataSource; + CDS_Sub: TClientDataSet; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + cxGridPopupMenu2: TcxGridPopupMenu; + ToolButton1: TToolButton; + Tv1Column1: TcxGridDBColumn; + Panel1: TPanel; + cxtxtdtQS: TcxTextEdit; + cxtxtdtJS: TcxTextEdit; + Label4: TLabel; + Label1: TLabel; + QZ: TcxTextEdit; + Label2: TLabel; + Label3: TLabel; + POSName: TcxTextEdit; + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure TBAddClick(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBDelClick(Sender: TObject); + procedure TBSaveClick(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + private + { Private declarations } + function SaveCKData(): Boolean; + public + { Public declarations } + FBCId, FSTKName: string; + end; + +var + frmPositionInPut: TfrmPositionInPut; + +implementation + +uses + U_DataLink, U_RTFun, U_ZDYHelp; + +{$R *.dfm} + +procedure TfrmPositionInPut.FormClose(Sender: TObject; var Action: TCloseAction); +begin + inherited; + Action := caFree; +end; + +procedure TfrmPositionInPut.TBAddClick(Sender: TObject); +var + I: Integer; +begin + for I := strtointdef(cxtxtdtQS.Text, 0) to strtointdef(cxtxtdtJS.Text, 0) do + begin + with CDS_Sub do + begin + Append; + + CDS_Sub.fieldbyname('POSNO').Value := Trim(QZ.Text) + RightStr(('0000' + inttostr(I)), 5); + + CDS_Sub.fieldbyname('POSName').Value := Trim(POSName.Text); + Post; + end; + end; + +end; + +function TfrmPositionInPut.SaveCKData(): Boolean; +var + MaxNo, MWBID: string; +begin + try + ADOQueryCmd.Connection.BeginTrans; + CDS_Sub.DisableControls; + with CDS_Sub do + begin + First; + while not eof do + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from BS_Position where POSID=''' + Trim(CDS_Sub.fieldbyname('POSID').AsString) + ''''); + open; + end; + MWBID := Trim(ADOQueryTemp.fieldbyname('POSID').AsString); + if Trim(MWBID) = '' then + begin + if GetLSNo(ADOQueryCmd, MaxNo, 'M', 'BS_Position', 4, 1) = False then + raise Exception.Create('ȡʧܣ'); + end + else + begin + MaxNo := Trim(MWBID); + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from BS_Position where POSID=''' + Trim(MaxNo) + ''''); + Open; + end; + with ADOQueryCmd do + begin + if Trim(MWBID) = '' then + begin + Append; + FieldByName('Fillid').Value := Trim(Dcode); + FieldByName('Filler').Value := Trim(DName) + end + else + begin + Edit; + FieldByName('Editid').Value := Trim(Dcode); + FieldByName('Editer').Value := Trim(DName); + FieldByName('EditTime').Value := SGetServerDate(ADOQueryTemp); + end; + FieldByName('POSID').Value := Trim(MaxNo); +// FieldByName('STKName').Value := Trim(FSTKName); + RTSetSaveDataCDS(ADOQueryCmd, Tv1, CDS_Sub, 'BS_Position', 0); + Post; + end; + + Edit; + FieldByName('POSID').Value := Trim(MaxNo); + Post; + Next; + end; + end; + CDS_Sub.EnableControls; + ADOQueryCmd.Connection.CommitTrans; + Result := True; + except + Result := False; + ADOQueryCmd.Connection.RollbackTrans; + application.MessageBox(PChar(Exception(ExceptObject).Message), 'ʾϢ', 0); + end; + +end; + +procedure TfrmPositionInPut.TBCloseClick(Sender: TObject); +begin + + Close; +end; + +procedure TfrmPositionInPut.FormShow(Sender: TObject); +var + fsj: string; +begin + inherited; + ReadCxGrid(trim(self.Caption), Tv1, 'Ⱦɫֿ'); + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add(' select A.* '); + sql.Add(' from BS_Position A'); + sql.Add(' where POSID=''' + Trim(FBCId) + ''''); + Open; + end; + SCreateCDS(ADOQueryTemp, CDS_Sub); + SInitCDSData(ADOQueryTemp, CDS_Sub); +end; + +procedure TfrmPositionInPut.TBDelClick(Sender: TObject); +begin + if CDS_Sub.IsEmpty then + Exit; + if Trim(CDS_Sub.fieldbyname('POSID').AsString) <> '' then + begin + if Application.MessageBox('ȷҪɾ', 'ʾ', 32 + 4) <> IDYES then + Exit; + + try + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add(' delete BS_Position where POSID=''' + Trim(CDS_Sub.fieldbyname('POSID').AsString) + ''''); + ExecSQL; + end; + + ADOQueryCmd.Connection.CommitTrans; + CDS_Sub.Delete; + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ɾ쳣!', 'ʾ', 0); + end; + + end + else + begin + CDS_Sub.Delete; + end; + +end; + +procedure TfrmPositionInPut.TBSaveClick(Sender: TObject); +begin + if CDS_Sub.IsEmpty then + Exit; + + if CDS_Sub.Locate('POSNO', null, []) = True then + begin + Application.MessageBox('ŲΪ!', 'ʾ', 0); + Exit; + end; + + if SaveCKData() then + begin + Application.MessageBox('ɹ!', 'ʾ', 0); + ModalResult := 1; + Exit; + end; +end; + +procedure TfrmPositionInPut.ToolButton1Click(Sender: TObject); +begin + WriteCxGrid(trim(self.Caption), Tv1, 'Ⱦɫֿ'); +end; + +end. + diff --git a/A05基础资料管理/U_PositionList.dfm b/A05基础资料管理/U_PositionList.dfm index 9a2a39e..63a443b 100644 --- a/A05基础资料管理/U_PositionList.dfm +++ b/A05基础资料管理/U_PositionList.dfm @@ -4,28 +4,29 @@ inherited frmPositionList: TfrmPositionList Caption = #24211#20301#31649#29702 ClientHeight = 532 ClientWidth = 1107 + Font.Height = -16 KeyPreview = True ExplicitWidth = 1123 ExplicitHeight = 571 PixelsPerInch = 96 - TextHeight = 12 + TextHeight = 21 object ToolBar1: TToolBar [0] Tag = 1 Left = 0 Top = 0 Width = 1107 - Height = 38 + Height = 30 AutoSize = True - ButtonHeight = 38 - ButtonWidth = 75 + ButtonHeight = 30 + ButtonWidth = 67 Caption = 'ToolBar1' Color = clSkyBlue - DisabledImages = DataLink_BaseInfo.ImageList_new32 - Images = DataLink_BaseInfo.ImageList_new32 + DisabledImages = DataLink_BaseInfo.cxImageList_bar + Images = DataLink_BaseInfo.cxImageList_bar List = True ParentColor = False ShowCaptions = True - TabOrder = 0 + TabOrder = 3 object TBRafresh: TToolButton Left = 0 Top = 0 @@ -43,22 +44,22 @@ inherited frmPositionList: TfrmPositionList Visible = False OnClick = ToolButton2Click end - object ToolButton6: TToolButton + object ToolButton4: TToolButton Left = 142 Top = 0 AutoSize = True + Caption = #26032#22686 + ImageIndex = 9 + OnClick = ToolButton4Click + end + object ToolButton6: TToolButton + Left = 213 + Top = 0 + AutoSize = True Caption = #20462#25913 ImageIndex = 3 OnClick = ToolButton6Click end - object ToolButton4: TToolButton - Left = 213 - Top = 0 - AutoSize = True - Caption = #22686#34892 - ImageIndex = 2 - OnClick = ToolButton4Click - end object ToolButton5: TToolButton Left = 284 Top = 0 @@ -94,9 +95,9 @@ inherited frmPositionList: TfrmPositionList end object cxGrid2: TcxGrid [1] Left = 0 - Top = 96 + Top = 88 Width = 1107 - Height = 436 + Height = 444 Align = alClient PopupMenu = PopupMenu1 TabOrder = 2 @@ -104,6 +105,7 @@ inherited frmPositionList: TfrmPositionList Navigator.Buttons.CustomButtons = <> Navigator.Buttons.Delete.Enabled = False Navigator.Buttons.Delete.Visible = False + ScrollbarAnnotations.CustomAnnotations = <> DataController.DataSource = DS_HZ DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] DataController.Summary.DefaultGroupSummaryItems = <> @@ -131,27 +133,29 @@ inherited frmPositionList: TfrmPositionList OptionsData.Deleting = False OptionsData.DeletingConfirmation = False OptionsView.GroupByBox = False - Styles.Header = DataLink_BaseInfo.Default object v2Column1: TcxGridDBColumn Caption = #36873#25321 DataBinding.FieldName = 'SSel' + DataBinding.IsNullValueType = True PropertiesClassName = 'TcxCheckBoxProperties' HeaderAlignmentHorz = taCenter end object v2Column12: TcxGridDBColumn Caption = #24211#20301#32534#21495 DataBinding.FieldName = 'POSNO' + DataBinding.IsNullValueType = True PropertiesClassName = 'TcxTextEditProperties' - Properties.OnEditValueChanged = v2Column8PropertiesEditValueChanged HeaderAlignmentHorz = taCenter + Options.Editing = False Width = 149 end object v2Column8: TcxGridDBColumn Caption = #24211#20301#21517#31216 DataBinding.FieldName = 'POSName' + DataBinding.IsNullValueType = True PropertiesClassName = 'TcxTextEditProperties' - Properties.OnEditValueChanged = v2Column8PropertiesEditValueChanged HeaderAlignmentHorz = taCenter + Options.Editing = False Width = 180 end end @@ -161,31 +165,44 @@ inherited frmPositionList: TfrmPositionList end object Panel1: TPanel [2] Left = 0 - Top = 38 + Top = 30 Width = 1107 Height = 58 Align = alTop BevelInner = bvRaised BevelOuter = bvLowered Color = clSkyBlue - TabOrder = 1 + TabOrder = 4 object Label1: TLabel - Left = 66 - Top = 20 - Width = 48 - Height = 12 + Left = 58 + Top = 19 + Width = 64 + Height = 21 Caption = #24211#20301#32534#21495 end object POSNO: TEdit Tag = 2 - Left = 120 - Top = 16 - Width = 89 - Height = 20 + Left = 126 + Top = 15 + Width = 120 + Height = 29 TabOrder = 0 OnChange = CustomerChange end end + inherited loadProcess: TPanel + Left = 730 + Top = 246 + ExplicitLeft = 730 + ExplicitTop = 246 + end + inherited cxProgressBar2: TcxProgressBar + Left = 594 + Top = 138 + ExplicitLeft = 594 + ExplicitTop = 138 + ExplicitHeight = 29 + end inherited ADOQueryBaseCmd: TADOQuery Connection = DataLink_BaseInfo.ADOLink Left = 417 diff --git a/A05基础资料管理/U_PositionList.pas b/A05基础资料管理/U_PositionList.pas index d47b153..eea8375 100644 --- a/A05基础资料管理/U_PositionList.pas +++ b/A05基础资料管理/U_PositionList.pas @@ -13,8 +13,9 @@ uses RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdFTP, ShellAPI, IniFiles, cxCheckBox, cxCalendar, cxButtonEdit, cxTextEdit, cxPC, cxCheckComboBox, cxDropDownEdit, Menus, RM_e_Xls, - cxLookAndFeels, cxLookAndFeelPainters, - cxNavigator, dxDateRanges, dxBarBuiltInMenu, U_BaseList, RM_BarCode; + cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxDateRanges, + dxBarBuiltInMenu, U_BaseList, RM_BarCode, dxScrollbarAnnotations, cxContainer, + cxProgressBar; type TfrmPositionList = class(TfrmBaseList) @@ -62,7 +63,6 @@ type procedure N2Click(Sender: TObject); procedure CustomerChange(Sender: TObject); procedure FormCreate(Sender: TObject); - procedure v2Column8PropertiesEditValueChanged(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure ToolButton5Click(Sender: TObject); @@ -71,8 +71,6 @@ type { Private declarations } procedure PrintReport(FZDYNo: string); procedure InitGrid(); - procedure EditValueT(); - procedure EditValueF(); public fFlag: integer; { Public declarations } @@ -85,7 +83,7 @@ var implementation uses - U_DataLink, U_RTFun, U_ZDYHelp, U_LabelPrint; + U_DataLink, U_RTFun, U_ZDYHelp, U_LabelPrint, U_PositionInPut; {$R *.dfm} @@ -136,29 +134,6 @@ begin ADOQueryMain.EnableControls; ToolButton2.Click; end; - EditValueF(); -end; - -procedure TfrmPositionList.EditValueT(); -var - i: Integer; -begin - for i := 0 to tv2.ColumnCount - 1 do - begin - if uppercase(tv2.Columns[i].DataBinding.FieldName) <> 'SSEL' then - tv2.Columns[i].Options.Editing := True; - end; -end; - -procedure TfrmPositionList.EditValueF(); -var - i: Integer; -begin - for i := 0 to tv2.ColumnCount - 1 do - begin - if uppercase(tv2.Columns[i].DataBinding.FieldName) <> 'SSEL' then - tv2.Columns[i].Options.Editing := false; - end; end; procedure TfrmPositionList.FormDestroy(Sender: TObject); @@ -244,40 +219,6 @@ begin fmanage := Trim(DParameters1); end; -procedure TfrmPositionList.v2Column8PropertiesEditValueChanged(Sender: TObject); -var - mvalue, FFieldName: string; -begin - mvalue := TcxTextEdit(Sender).EditingText; - FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName); - try - ADOQueryCmd.Connection.BeginTrans; - with CDS_HZ do - begin - Edit; - FieldByName(FFieldName).Value := Trim(mvalue); - Post; - end; - with ADOQueryCmd do - begin - Close; - sql.Clear; - sql.Add('UPdate BS_Position '); - sql.Add(' Set ' + FFieldName + '=''' + Trim(mvalue) + ''''); - sql.Add(' , Editer=''' + Trim(DName) + ''''); - sql.Add(' , Edittime=getdate()'); - sql.Add(' where POSID=' + quotedstr(CDS_HZ.fieldbyname('POSID').AsString)); - ExecSQL; - end; - ADOQueryCmd.Connection.CommitTrans; - tv2.Controller.EditingController.ShowEdit(); - except - tv2.Controller.EditingController.ShowEdit(); - ADOQueryCmd.Connection.RollbackTrans; - Application.MessageBox('ʧܣ', 'ʾ', 0); - end -end; - procedure TfrmPositionList.ToolButton3Click(Sender: TObject); var RTValues: TArray; @@ -309,24 +250,20 @@ begin end; procedure TfrmPositionList.ToolButton4Click(Sender: TObject); -var - maxId: string; begin - POSNO.SetFocus; - if GetLSNo(ADOQueryCmd, maxId, 'KW', 'BS_Position', 4, 1) = False then - begin - Application.MessageBox('ȡʧܣ', 'ʾ', 0); - Exit; + try + frmPositionInPut := TfrmPositionInPut.Create(Application); + with frmPositionInPut do + begin + FBCId := ''; + if ShowModal = 1 then + begin + Self.InitGrid(); + end; + end; + finally + frmPositionInPut.Free; end; - with ADOQueryCmd do - begin - Close; - sql.Clear; - sql.Add('insert into BS_Position(POSID,Filler) values(' + quotedstr(Trim(maxId)) + ',' + quotedstr(Trim(dname)) + ')'); - ExecSQL; - end; - InitGrid(); - EditValueT(); end; procedure TfrmPositionList.ToolButton5Click(Sender: TObject); @@ -368,13 +305,24 @@ begin end; procedure TfrmPositionList.ToolButton6Click(Sender: TObject); -var - i: Integer; begin if CDS_HZ.IsEmpty then Exit; - - EditValueT(); + try + frmPositionInPut := TfrmPositionInPut.Create(Application); + with frmPositionInPut do + begin + FBCId := Trim(CDS_HZ.fieldbyname('POSID').AsString); + TBDel.Visible := False; + TBAdd.Visible := False; + if ShowModal = 1 then + begin + Self.InitGrid(); + end; + end; + finally + frmPositionInPut.Free; + end; end; end. diff --git a/T01贸易生产计划/TradePlan.dproj b/T01贸易生产计划/TradePlan.dproj index 5f7847a..92edd20 100644 --- a/T01贸易生产计划/TradePlan.dproj +++ b/T01贸易生产计划/TradePlan.dproj @@ -124,7 +124,7 @@ CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName) - D:\Dp10RepoV1\项目代码\D10myXushang\T01贸易生产计划\testDll.exe + D:\Dp10RepoV1\项目代码\D10xhGemei\T01贸易生产计划\testDll.exe diff --git a/T01贸易生产计划/U_GetDllForm.pas b/T01贸易生产计划/U_GetDllForm.pas index 9cd5e96..14b322e 100644 --- a/T01贸易生产计划/U_GetDllForm.pas +++ b/T01贸易生产计划/U_GetDllForm.pas @@ -72,14 +72,9 @@ begin if trim(DataBaseStr) = '' then begin server := '101.132.143.144,7781'; - dtbase := 'xushangData'; + dtbase := 'gemeiData'; user := 'rtsa'; pswd := 'rightsoft@5740'; - -// server := '127.0.0.1'; -// dtbase := 'xushangData'; -// user := 'sa'; -// pswd := 'rightsoft@123'; DConString := 'Provider=SQLOLEDB.1;Password=' + pswd + ';Persist Security Info=True;User ID=' + user + ';Initial Catalog=' + dtbase + ';Data Source=' + server; Parameters1 := ''; // Parameters1 := '¼'; diff --git a/T01贸易生产计划/U_TradePlanInPut.dfm b/T01贸易生产计划/U_TradePlanInPut.dfm index ec449cc..54159ba 100644 --- a/T01贸易生产计划/U_TradePlanInPut.dfm +++ b/T01贸易生产计划/U_TradePlanInPut.dfm @@ -2,7 +2,7 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut Left = 143 Top = 4 Caption = #29983#20135#35745#21010#21333#24405#20837 - ClientHeight = 845 + ClientHeight = 808 ClientWidth = 1722 Font.Charset = GB2312_CHARSET Font.Height = -16 @@ -11,7 +11,7 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut OnClose = FormClose OnResize = FormResize ExplicitWidth = 1738 - ExplicitHeight = 884 + ExplicitHeight = 847 PixelsPerInch = 96 TextHeight = 21 object Label51: TLabel [0] @@ -87,7 +87,7 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut Left = 0 Top = 30 Width = 1722 - Height = 362 + Height = 335 Align = alTop BevelInner = bvNone BevelOuter = bvNone @@ -113,9 +113,9 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut object Label1: TLabel Left = 13 Top = 96 - Width = 48 + Width = 64 Height = 21 - Caption = #35746#21333#21495 + Caption = #35745#21010#21333#21495 end object Label2: TLabel Left = 329 @@ -132,7 +132,7 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut Caption = #23458#25143#21333#21495 end object Label6: TLabel - Left = 600 + Left = 329 Top = 135 Width = 64 Height = 21 @@ -147,7 +147,7 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut end object Label9: TLabel Left = 13 - Top = 170 + Top = 174 Width = 32 Height = 21 Caption = #25104#20998 @@ -195,18 +195,20 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut Caption = #23436#25104#24230 end object Label16: TLabel - Left = 13 - Top = 131 + Left = 1193 + Top = 245 Width = 32 Height = 21 Caption = #24067#31181 + Visible = False end object Label17: TLabel - Left = 329 - Top = 135 + Left = 1509 + Top = 249 Width = 48 Height = 21 Caption = #21152#24037#21035 + Visible = False end object Label18: TLabel Left = 13 @@ -220,7 +222,7 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut Top = 53 Width = 64 Height = 21 - Caption = #35746#21333#31867#22411 + Caption = #35745#21010#31867#22411 end object Label38: TLabel Left = 876 @@ -257,13 +259,6 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut Height = 21 Caption = #21518#25972#29702#33521#25991 end - object Label26: TLabel - Left = 324 - Top = 289 - Width = 64 - Height = 21 - Caption = #29992#36884#21035#31216 - end object Label29: TLabel Left = 600 Top = 252 @@ -278,30 +273,16 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut Height = 21 Caption = #20184#27454#26041#24335 end - object Label31: TLabel - Left = 13 - Top = 279 - Width = 103 - Height = 42 - Caption = #26579#21378'/'#21518#21152#24037#21378#13#10'('#24320#21457#21333')' - end - object Label32: TLabel - Left = 600 - Top = 279 - Width = 58 - Height = 42 - Caption = #22791#27880'2'#13#10'('#24320#21457#21333')' - end object lbl23: TLabel Left = 13 - Top = 330 + Top = 295 Width = 80 Height = 21 Caption = #19979#21333#31867#22411#65306 end object Label12: TLabel - Left = 1356 - Top = 285 + Left = 1166 + Top = 47 Width = 80 Height = 21 AutoSize = False @@ -309,8 +290,8 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut Visible = False end object Label13: TLabel - Left = 1356 - Top = 324 + Left = 1166 + Top = 86 Width = 80 Height = 21 AutoSize = False @@ -324,6 +305,13 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut Height = 21 Caption = '%' end + object Label23: TLabel + Left = 13 + Top = 135 + Width = 64 + Height = 21 + Caption = #20135#21697#32534#21495 + end object OrderNo: TcxTextEdit Tag = 1 Left = 123 @@ -340,7 +328,7 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut end object C_Name: TcxTextEdit Tag = 2 - Left = 673 + Left = 396 Top = 129 TabOrder = 2 Width = 475 @@ -458,16 +446,18 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut end object GC_Name: TcxTextEdit Tag = 2 - Left = 123 - Top = 129 + Left = 1303 + Top = 243 TabOrder = 14 + Visible = False Width = 200 end object CraftCode: TcxTextEdit Tag = 2 - Left = 396 - Top = 129 + Left = 1576 + Top = 243 TabOrder = 15 + Visible = False Width = 200 end object CraftName: TcxTextEdit @@ -521,28 +511,11 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut TabOrder = 20 Width = 200 end - object ClothUse: TcxButtonEdit - Tag = 1 - Left = 394 - Top = 285 - Hint = 'ClothUse/'#29992#36884#21035 - Properties.Buttons = < - item - Default = True - Kind = bkEllipsis - end> - Properties.ReadOnly = False - Properties.OnButtonClick = QtyNotePropertiesButtonClick - Style.ButtonStyle = btsDefault - TabOrder = 21 - OnDblClick = CustNameDblClick - Width = 200 - end object SalesId: TcxTextEdit Tag = 1 Left = 1385 Top = 84 - TabOrder = 22 + TabOrder = 21 Visible = False Width = 200 end @@ -550,7 +523,7 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut Tag = 1 Left = 1385 Top = 123 - TabOrder = 23 + TabOrder = 22 Visible = False Width = 200 end @@ -558,7 +531,7 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut Tag = 1 Left = 1385 Top = 168 - TabOrder = 24 + TabOrder = 23 Visible = False Width = 200 end @@ -566,7 +539,7 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut Tag = 1 Left = 1385 Top = 207 - TabOrder = 25 + TabOrder = 24 Visible = False Width = 200 end @@ -578,7 +551,7 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut Properties.Items.Strings = ( #26159 #21542) - TabOrder = 26 + TabOrder = 25 Text = #26159 Width = 197 end @@ -595,57 +568,34 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut Properties.ReadOnly = False Properties.OnButtonClick = QtyNotePropertiesButtonClick Style.ButtonStyle = btsDefault - TabOrder = 27 + TabOrder = 26 OnDblClick = CustNameDblClick Width = 200 end - object FactoryName: TcxButtonEdit - Tag = 1 - Left = 123 - Top = 285 - Properties.Buttons = < - item - Default = True - Kind = bkEllipsis - end> - Properties.ReadOnly = True - Properties.OnButtonClick = FactoryNamePropertiesButtonClick - Style.ButtonStyle = btsDefault - TabOrder = 28 - OnDblClick = CustNameDblClick - Width = 200 - end - object Note2: TcxTextEdit - Tag = 1 - Left = 673 - Top = 285 - TabOrder = 29 - Width = 473 - end object OrdReason: TcxComboBox Tag = 1 Left = 123 - Top = 326 + Top = 289 Properties.Items.Strings = ( #27491#24120#29983#20135 #23458#35785#34917#25237) - TabOrder = 30 + TabOrder = 27 Text = #27491#24120#29983#20135 Width = 200 end object C_EComposition: TcxTextEdit Tag = 2 - Left = 1440 - Top = 279 - TabOrder = 31 + Left = 1250 + Top = 41 + TabOrder = 28 Visible = False Width = 133 end object C_EName: TcxTextEdit Tag = 2 - Left = 1440 - Top = 318 - TabOrder = 32 + Left = 1250 + Top = 80 + TabOrder = 29 Visible = False Width = 133 end @@ -654,7 +604,7 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut Left = 396 Top = 248 Properties.AssignedValues.DisplayFormat = True - TabOrder = 33 + TabOrder = 30 Width = 165 end object Tallyer: TcxButtonEdit @@ -669,27 +619,37 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut Properties.ReadOnly = True Properties.OnButtonClick = TallyerPropertiesButtonClick Style.ButtonStyle = btsDefault - TabOrder = 34 + TabOrder = 31 OnDblClick = TallyerDblClick Width = 200 end + object C_Code: TcxTextEdit + Tag = 2 + Left = 123 + Top = 129 + TabOrder = 32 + Width = 200 + end end object cxPageControl3: TcxPageControl [4] Left = 0 - Top = 392 + Top = 365 Width = 1722 - Height = 453 + Height = 443 Align = alClient TabOrder = 2 Properties.ActivePage = cxTabSheet2 Properties.CustomButtons.Buttons = <> Properties.Style = 9 - ClientRectBottom = 453 + ExplicitTop = 392 + ExplicitHeight = 453 + ClientRectBottom = 443 ClientRectRight = 1722 ClientRectTop = 28 object cxTabSheet2: TcxTabSheet Caption = ' '#20135#21697#35814#24773' ' ImageIndex = 1 + ExplicitHeight = 425 object tlb2: TToolBar Tag = 1 Left = 0 @@ -708,16 +668,8 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut ParentColor = False ShowCaptions = True TabOrder = 0 - object btnConSel: TToolButton - Left = 0 - Top = 0 - AutoSize = True - Caption = #38144#21806#21512#21516 - ImageIndex = 12 - OnClick = btnConSelClick - end object ToolButton5: TToolButton - Left = 103 + Left = 0 Top = 0 AutoSize = True Caption = #20135#21697#26723#26696 @@ -725,7 +677,7 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut OnClick = ToolButton5Click end object ToolButton7: TToolButton - Left = 206 + Left = 103 Top = 0 AutoSize = True Caption = #24555#36895#26032#22686 @@ -734,7 +686,7 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut OnClick = ToolButton7Click end object ToolButton4: TToolButton - Left = 309 + Left = 206 Top = 0 AutoSize = True Caption = 'Excel' @@ -743,7 +695,7 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut OnClick = ToolButton4Click end object ToolButton1: TToolButton - Left = 386 + Left = 283 Top = 0 AutoSize = True Caption = #22686#34892 @@ -751,7 +703,7 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut OnClick = ToolButton1Click end object ToolButton6: TToolButton - Left = 457 + Left = 354 Top = 0 AutoSize = True Caption = #22686#31354#34892 @@ -759,7 +711,7 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut OnClick = ToolButton6Click end object ToolButton2: TToolButton - Left = 544 + Left = 441 Top = 0 AutoSize = True Caption = #21024#34892 @@ -767,22 +719,33 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut OnClick = ToolButton2Click end object ToolButton8: TToolButton - Left = 615 + Left = 512 Top = 0 AutoSize = True Caption = #35745#31639#25237#22383#25968#37327 ImageIndex = 49 OnClick = ToolButton8Click end + object btnConSel: TToolButton + Left = 647 + Top = 0 + AutoSize = True + Caption = #38144#21806#21512#21516 + ImageIndex = 12 + Visible = False + OnClick = btnConSelClick + end end object cxGrid1: TcxGrid Left = 0 Top = 30 Width = 1722 - Height = 395 + Height = 385 Align = alClient PopupMenu = PM_1 TabOrder = 1 + ExplicitLeft = 2 + ExplicitTop = 28 object TV1: TcxGridDBTableView OnMouseDown = TV1MouseDown Navigator.Buttons.CustomButtons = <> @@ -1016,13 +979,15 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut object cxTabSheet3: TcxTabSheet Caption = ' '#21152#24037#35201#27714' ' ImageIndex = 3 + ExplicitHeight = 425 object ScrollBox2: TScrollBox Left = 0 Top = 30 Width = 1722 - Height = 395 + Height = 385 Align = alClient TabOrder = 0 + ExplicitHeight = 395 object Label5: TLabel Left = 30 Top = 62 @@ -1535,6 +1500,9 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut object cxTabSheet4: TcxTabSheet Caption = ' '#25216#26415#35201#27714' ' ImageIndex = 3 + ExplicitTop = 0 + ExplicitWidth = 0 + ExplicitHeight = 0 object cxGrid2: TcxGrid Left = 0 Top = 30 @@ -1699,6 +1667,7 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut object cxTabSheet1: TcxTabSheet Caption = ' '#21462#26679#19982#21253#35013#35201#27714' ' ImageIndex = 2 + ExplicitHeight = 425 object cxGroupBox3: TcxGroupBox Left = 785 Top = 0 @@ -1706,7 +1675,8 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut Caption = #21367#26631#31614 ParentFont = False TabOrder = 0 - Height = 425 + ExplicitHeight = 425 + Height = 415 Width = 937 object cxDBImage4: TcxDBImage Left = 4 @@ -1725,7 +1695,8 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut StyleHot.LookAndFeel.NativeStyle = True TabOrder = 0 OnDblClick = cxDBImage1DblClick - Height = 394 + ExplicitHeight = 394 + Height = 384 Width = 929 end end @@ -1733,9 +1704,10 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut Left = 0 Top = 0 Width = 785 - Height = 425 + Height = 415 Align = alLeft TabOrder = 1 + ExplicitHeight = 425 object lbl1: TLabel Left = 29 Top = 410 @@ -2125,6 +2097,9 @@ inherited frmTradePlanInPut: TfrmTradePlanInPut end inherited cxImageList_bar: TcxImageList FormatVersion = 1 + Left = 1246 + Top = 159 + DesignInfo = 10421470 end object ADOTemp: TADOQuery Connection = DataLink_TradePlan.ADOLink diff --git a/T01贸易生产计划/U_TradePlanInPut.pas b/T01贸易生产计划/U_TradePlanInPut.pas index 37718b6..b3c8def 100644 --- a/T01贸易生产计划/U_TradePlanInPut.pas +++ b/T01贸易生产计划/U_TradePlanInPut.pas @@ -177,8 +177,6 @@ type CraftEName: TcxTextEdit; Label24: TLabel; ShippingMark: TcxMemo; - Label26: TLabel; - ClothUse: TcxButtonEdit; TV1Column11: TcxGridDBColumn; TV1Column12: TcxGridDBColumn; TV1Column13: TcxGridDBColumn; @@ -193,10 +191,6 @@ type ISTax: TcxComboBox; Label30: TLabel; PayMent: TcxButtonEdit; - Label31: TLabel; - FactoryName: TcxButtonEdit; - Label32: TLabel; - Note2: TcxTextEdit; TV1Column15: TcxGridDBColumn; ScrollBox2: TScrollBox; Label5: TLabel; @@ -251,6 +245,8 @@ type Tallyer: TcxButtonEdit; ToolBar3: TToolBar; ToolButton9: TToolButton; + Label23: TLabel; + C_Code: TcxTextEdit; procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBSaveClick(Sender: TObject); @@ -294,7 +290,6 @@ type procedure TV2Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure FollowerPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure TV2Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); - procedure FactoryNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormDestroy(Sender: TObject); procedure FormResize(Sender: TObject); @@ -595,35 +590,6 @@ var begin end; -procedure TfrmTradePlanInPut.FactoryNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); -begin - try - frmCompanySel := TfrmCompanySel.Create(Application); - with frmCompanySel do - begin - FCoType := 'Ӧ'; - if ShowModal = 1 then - begin - if Trim(self.FactoryName.Properties.LookupItems.Text) <> '' then - begin - self.FactoryName.Properties.LookupItems.Text := self.FactoryName.Properties.LookupItems.Text + '/' + Trim(frmCompanySel.CDS_1.fieldbyname('CoCode').AsString); - self.FactoryName.Text := self.FactoryName.Text + '/' + Trim(frmCompanySel.CDS_1.fieldbyname('CoAbbrName').AsString); - end - else - begin - self.FactoryName.Properties.LookupItems.Text := Trim(frmCompanySel.CDS_1.fieldbyname('CoCode').AsString); - self.FactoryName.Text := Trim(frmCompanySel.CDS_1.fieldbyname('CoAbbrName').AsString); - end; - - end; - end; - - finally - frmCompanySel.Free; - end; - -end; - procedure TfrmTradePlanInPut.FollowerPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try @@ -764,7 +730,6 @@ begin FieldByName('OrdType').Value := ''; FieldByName('OurCoNo').Value := Trim(OurCoName.Properties.LookupItems.Text); FieldByName('CustNo').Value := Trim(CustName.Properties.LookupItems.Text); - FieldByName('FactoryNo').Value := Trim(FactoryName.Properties.LookupItems.Text); Post; end; @@ -1272,36 +1237,81 @@ begin begin if ShowModal = 1 then begin - while CDS_1.locate('SSel', true, []) do + + with CDS_3 do begin - with self.CDS_1 do + DisableControls; + First; + + while not eof do begin - append; - FieldByName('SSel').Value := false; - Fieldbyname('C_Code').value := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Code').AsString); - self.C_Name.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Name').AsString); - self.C_EName.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_EName').AsString); - self.C_Spec.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Spec').AsString); - self.C_Composition.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Composition').AsString); - self.C_EComposition.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_EComposition').AsString); + if FieldByName('SSEL').AsBoolean then + begin + with self.CDS_1 do + begin + append; + FieldByName('SSel').Value := false; + Fieldbyname('C_Code').value := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Code').AsString); - self.C_Width.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Width').AsString); - self.C_GramWeight.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_GramWeight').AsString); - self.GC_Name.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('GC_Name').AsString); - self.CraftCode.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('CraftCode').AsString); - self.CraftName.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('CraftName').AsString); - self.CraftEName.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('CraftEName').AsString); + self.C_Code.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Code').AsString); + self.C_Name.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Name').AsString); + self.C_EName.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_EName').AsString); - Fieldbyname('C_ColorNo').value := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_ColorNo').AsString); - Fieldbyname('C_Color').value := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Color').AsString); - Fieldbyname('C_Pattern').value := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Pattern').AsString); - Fieldbyname('SerialNo').value := 999; + self.C_Spec.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Spec').AsString); + self.C_Composition.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Composition').AsString); + self.C_EComposition.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_EComposition').AsString); + + self.C_Width.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Width').AsString); + self.C_GramWeight.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_GramWeight').AsString); + self.GC_Name.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('GC_Name').AsString); + self.CraftCode.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('CraftCode').AsString); + self.CraftName.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('CraftName').AsString); + self.CraftEName.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('CraftEName').AsString); + + Fieldbyname('C_ColorNo').value := trim(frmClothInfoSel.CDS_3.Fieldbyname('C_ColorNo').AsString); + Fieldbyname('C_Color').value := trim(frmClothInfoSel.CDS_3.Fieldbyname('C_Color').AsString); + Fieldbyname('C_Pattern').value := trim(frmClothInfoSel.CDS_3.Fieldbyname('C_Pattern').AsString); + Fieldbyname('C_StyleNo').value := trim(frmClothInfoSel.CDS_3.Fieldbyname('C_StyleNo').AsString); + Fieldbyname('SerialNo').value := 999; + end; + end; + Next; end; - CDS_1.Edit; - CDS_1.fieldbyname('SSel').value := false; + EnableControls; end; + +// while CDS_1.locate('SSel', true, []) do +// begin +// +// with self.CDS_1 do +// begin +// append; +// FieldByName('SSel').Value := false; +// Fieldbyname('C_Code').value := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Code').AsString); +// self.C_Name.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Name').AsString); +// self.C_EName.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_EName').AsString); +// +// self.C_Spec.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Spec').AsString); +// self.C_Composition.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Composition').AsString); +// self.C_EComposition.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_EComposition').AsString); +// +// self.C_Width.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Width').AsString); +// self.C_GramWeight.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_GramWeight').AsString); +// self.GC_Name.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('GC_Name').AsString); +// self.CraftCode.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('CraftCode').AsString); +// self.CraftName.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('CraftName').AsString); +// self.CraftEName.Text := trim(frmClothInfoSel.CDS_1.Fieldbyname('CraftEName').AsString); +// +// Fieldbyname('C_ColorNo').value := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_ColorNo').AsString); +// Fieldbyname('C_Color').value := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Color').AsString); +// Fieldbyname('C_Pattern').value := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Pattern').AsString); +// Fieldbyname('SerialNo').value := 999; +// end; +// CDS_1.Edit; +// CDS_1.fieldbyname('SSel').value := false; +// end; end; end; finally @@ -1398,7 +1408,6 @@ begin Open; end; - Feel.Text := trim(ADOTemp.FieldByName('Feel').AsString); LightNote.Text := trim(ADOTemp.FieldByName('LightNote').AsString); LightType.Text := trim(ADOTemp.FieldByName('LightType').AsString); diff --git a/T02贸易汇总仓库/TradeTotalClothStk.dpr b/T02贸易汇总仓库/TradeTotalClothStk.dpr index e22934e..6fe5ee7 100644 --- a/T02贸易汇总仓库/TradeTotalClothStk.dpr +++ b/T02贸易汇总仓库/TradeTotalClothStk.dpr @@ -72,7 +72,9 @@ uses U_printPdf in '..\..\..\public10\ThreeFun\Fun\U_printPdf.pas', U_CustomFun in '..\A00ͨ÷\U_CustomFun.pas', U_TradeClothSplit in 'U_TradeClothSplit.pas' {frmTradeClothSplit}, - uSZHN_JSON in '..\..\..\public10\ThreeFun\Fun\uSZHN_JSON.pas'; + uSZHN_JSON in '..\..\..\public10\ThreeFun\Fun\uSZHN_JSON.pas', + U_TradeRRList in 'U_TradeRRList.pas' {frmTradeRRList}, + U_TradeRRInPut in 'U_TradeRRInPut.pas' {frmTradeRRInPut}; {$R *.res} diff --git a/T02贸易汇总仓库/TradeTotalClothStk.dproj b/T02贸易汇总仓库/TradeTotalClothStk.dproj index 03d1fe1..309b030 100644 --- a/T02贸易汇总仓库/TradeTotalClothStk.dproj +++ b/T02贸易汇总仓库/TradeTotalClothStk.dproj @@ -124,7 +124,7 @@ CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName) - D:\Dp10RepoV1\项目代码\D10myXushang\T02贸易汇总仓库\testDll.exe + D:\Dp10RepoV1\项目代码\D10xhGemei\T02贸易汇总仓库\testDll.exe @@ -354,6 +354,14 @@ dfm + +
frmTradeRRList
+ dfm +
+ +
frmTradeRRInPut
+ dfm +
Cfg_2 Base diff --git a/T02贸易汇总仓库/U_ClothScheduleList.dfm b/T02贸易汇总仓库/U_ClothScheduleList.dfm index b2234bc..2819252 100644 --- a/T02贸易汇总仓库/U_ClothScheduleList.dfm +++ b/T02贸易汇总仓库/U_ClothScheduleList.dfm @@ -2,14 +2,14 @@ inherited frmClothScheduleList: TfrmClothScheduleList Left = 246 Top = 116 Caption = #24067#21305#21152#24037#35745#21010 - ClientHeight = 585 + ClientHeight = 725 ClientWidth = 1520 Color = clBtnFace Font.Height = -16 FormStyle = fsMDIChild Visible = True ExplicitWidth = 1536 - ExplicitHeight = 624 + ExplicitHeight = 764 PixelsPerInch = 96 TextHeight = 21 object ToolBar1: TToolBar [0] @@ -150,7 +150,9 @@ inherited frmClothScheduleList: TfrmClothScheduleList Width = 1516 Height = 37 Align = alTop + Color = clWhite ParentBackground = False + ParentColor = False TabOrder = 3 ExplicitLeft = 2 ExplicitTop = 2 @@ -192,10 +194,12 @@ inherited frmClothScheduleList: TfrmClothScheduleList Left = 0 Top = 143 Width = 1520 - Height = 173 + Height = 313 Align = alClient BorderStyle = cxcbsNone TabOrder = 2 + ExplicitLeft = -113 + ExplicitTop = 247 object TV1: TcxGridDBTableView Navigator.Buttons.CustomButtons = <> ScrollbarAnnotations.CustomAnnotations = <> @@ -447,13 +451,13 @@ inherited frmClothScheduleList: TfrmClothScheduleList object ToolBar2: TToolBar [3] Tag = 1 Left = 0 - Top = 316 + Top = 456 Width = 1520 Height = 30 Align = alBottom AutoSize = True ButtonHeight = 30 - ButtonWidth = 99 + ButtonWidth = 83 Caption = 'ToolBar1' Color = clSkyBlue DisabledImages = DataLink_TradeTotalClothStk.cxImageList_bar @@ -462,48 +466,17 @@ inherited frmClothScheduleList: TfrmClothScheduleList ParentColor = False ShowCaptions = True TabOrder = 3 - object ToolButton2: TToolButton + ExplicitTop = 316 + object ToolButton5: TToolButton Left = 0 Top = 0 AutoSize = True - Caption = #22383#24067#39044#25237 - ImageIndex = 2 - OnClick = ToolButton2Click - end - object ToolButton5: TToolButton - Left = 103 - Top = 0 - AutoSize = True - Caption = #23454#38469#25237#20837 + Caption = #22383#24067#25237#22383 ImageIndex = 6 OnClick = ToolButton5Click end - object ToolButton6: TToolButton - Left = 206 - Top = 0 - AutoSize = True - Caption = #35746#21333#23436#24037 - ImageIndex = 2 - OnClick = ToolButton6Click - end - object ToolButton9: TToolButton - Left = 309 - Top = 0 - AutoSize = True - Caption = #21518#25972#39044#25237 - ImageIndex = 2 - OnClick = ToolButton9Click - end - object ToolButton10: TToolButton - Left = 412 - Top = 0 - AutoSize = True - Caption = #21518#25972#25237#20837 - ImageIndex = 6 - OnClick = ToolButton10Click - end object ToolButton11: TToolButton - Left = 515 + Left = 87 Top = 0 AutoSize = True Caption = #35746#21333#23436#24037 @@ -511,7 +484,7 @@ inherited frmClothScheduleList: TfrmClothScheduleList OnClick = ToolButton11Click end object ToolButton3: TToolButton - Left = 618 + Left = 174 Top = 0 AutoSize = True Caption = #38754#26009#20986#24211 @@ -519,7 +492,7 @@ inherited frmClothScheduleList: TfrmClothScheduleList OnClick = ToolButton3Click end object ToolButton12: TToolButton - Left = 721 + Left = 261 Top = 0 AutoSize = True Caption = #29983#20135#22791#27880 @@ -527,34 +500,41 @@ inherited frmClothScheduleList: TfrmClothScheduleList OnClick = ToolButton12Click end object ToolButton4: TToolButton - Left = 824 + Left = 348 Top = 0 AutoSize = True Caption = #21024#38500 ImageIndex = 5 OnClick = ToolButton4Click end + object ToolButton2: TToolButton + Left = 411 + Top = 0 + AutoSize = True + Caption = #22383#24067#39044#25237 + ImageIndex = 2 + Visible = False + OnClick = ToolButton2Click + end end object cxPageControl1: TcxPageControl [4] Left = 0 - Top = 346 + Top = 486 Width = 1520 Height = 239 Align = alBottom TabOrder = 4 - Properties.ActivePage = cxTabSheet1 + Properties.ActivePage = cxTabSheet3 Properties.CustomButtons.Buttons = <> Properties.Style = 5 OnChange = cxPageControl1Change + ExplicitTop = 346 ClientRectBottom = 239 ClientRectRight = 1520 ClientRectTop = 32 object cxTabSheet2: TcxTabSheet Caption = ' '#37197#24067#25968#25454' ' ImageIndex = 1 - ExplicitTop = 0 - ExplicitWidth = 0 - ExplicitHeight = 0 object cxGrid2: TcxGrid Left = 0 Top = 0 @@ -735,9 +715,6 @@ inherited frmClothScheduleList: TfrmClothScheduleList object cxTabSheet3: TcxTabSheet Caption = ' '#25237#20837#25968#25454' ' ImageIndex = 3 - ExplicitTop = 0 - ExplicitWidth = 0 - ExplicitHeight = 0 object cxGrid3: TcxGrid Left = 0 Top = 0 @@ -925,6 +902,7 @@ inherited frmClothScheduleList: TfrmClothScheduleList Height = 207 Align = alClient TabOrder = 0 + ExplicitLeft = 2 object TV4: TcxGridDBTableView Navigator.Buttons.CustomButtons = <> ScrollbarAnnotations.CustomAnnotations = <> @@ -1412,11 +1390,17 @@ inherited frmClothScheduleList: TfrmClothScheduleList ClientRectRight = 0 ClientRectTop = 0 end + inherited loadProcess: TPanel + Left = 524 + Top = 310 + ExplicitLeft = 524 + ExplicitTop = 310 + end inherited cxProgressBar2: TcxProgressBar - Left = 535 - Top = 170 - ExplicitLeft = 535 - ExplicitTop = 170 + Left = 725 + Top = 306 + ExplicitLeft = 725 + ExplicitTop = 306 ExplicitHeight = 29 end inherited ADOQueryBaseCmd: TADOQuery @@ -1432,8 +1416,8 @@ inherited frmClothScheduleList: TfrmClothScheduleList object GPM_1: TcxGridPopupMenu Grid = cxGrid1 PopupMenus = <> - Left = 584 - Top = 264 + Left = 496 + Top = 204 end object ADOQueryCmd: TADOQuery Connection = DataLink_TradeTotalClothStk.ADOLink @@ -1457,14 +1441,14 @@ inherited frmClothScheduleList: TfrmClothScheduleList end object DS_1: TDataSource DataSet = CDS_1 - Left = 744 - Top = 288 + Left = 788 + Top = 238 end object CDS_1: TClientDataSet Aggregates = <> Params = <> - Left = 704 - Top = 288 + Left = 746 + Top = 184 end object pm1: TPopupMenu Left = 384 diff --git a/T02贸易汇总仓库/U_ClothScheduleList.pas b/T02贸易汇总仓库/U_ClothScheduleList.pas index c8ba21a..d85f1ef 100644 --- a/T02贸易汇总仓库/U_ClothScheduleList.pas +++ b/T02贸易汇总仓库/U_ClothScheduleList.pas @@ -67,7 +67,6 @@ type TV1Column9: TcxGridDBColumn; TV1Column12: TcxGridDBColumn; ToolButton5: TToolButton; - ToolButton6: TToolButton; cxPageControl1: TcxPageControl; cxTabSheet2: TcxTabSheet; cxTabSheet3: TcxTabSheet; @@ -159,8 +158,6 @@ type TV4Column3: TcxGridDBColumn; TV4Column4: TcxGridDBColumn; TV4Column5: TcxGridDBColumn; - ToolButton9: TToolButton; - ToolButton10: TToolButton; ToolButton11: TToolButton; ToolButton12: TToolButton; cxTabSheet5: TcxTabSheet; diff --git a/T02贸易汇总仓库/U_GetDllForm.pas b/T02贸易汇总仓库/U_GetDllForm.pas index ae5217a..472083c 100644 --- a/T02贸易汇总仓库/U_GetDllForm.pas +++ b/T02贸易汇总仓库/U_GetDllForm.pas @@ -22,7 +22,7 @@ uses U_TradePackClothOutList, U_TradePackClothStkList, U_TradeSampleClothInList, U_TradeSampleClothOutList, U_TradeSampleClothStkList, U_ClothPurchaseEnterList, U_ClothScheduleList, U_TradeClothTotalStkList, U_TradeClothTotalInList, - U_TradeClothTotalOutList, U_TradeDeliveryRequest; + U_TradeClothTotalOutList, U_TradeDeliveryRequest, U_TradeRRList; ///////////////////////////////////////////////////////////////// // ˵:ȡDllеô // @@ -78,15 +78,10 @@ begin if trim(DataBaseStr) = '' then begin server := '101.132.143.144,7781'; - dtbase := 'xushangData'; + dtbase := 'gemeiData'; user := 'rtsa'; pswd := 'rightsoft@5740'; -// server := '127.0.0.1'; -// dtbase := 'xushangData'; -// user := 'sa'; -// pswd := 'rightsoft@123'; - DConString := 'Provider=SQLOLEDB.1;Password=' + pswd + ';Persist Security Info=True;User ID=' + user + ';Initial Catalog=' + dtbase + ';Data Source=' + server; Parameters1 := ''; DName := 'ADMIN'; @@ -170,6 +165,18 @@ begin end; end; + 221: //˻ + begin + with TfrmTradeRRList.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do // + begin + fFormID := FormID; + FormStyle := mstyle; + WindowState := mstate; + BorderStyle := mborderstyle; + mnewHandle := Handle; + end; + end; + 211: // begin with TfrmTradeDeliveryRequest.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do // diff --git a/T02贸易汇总仓库/U_TradeClothProcessCastingInput.pas b/T02贸易汇总仓库/U_TradeClothProcessCastingInput.pas index fa6ec78..df44bb0 100644 --- a/T02贸易汇总仓库/U_TradeClothProcessCastingInput.pas +++ b/T02贸易汇总仓库/U_TradeClothProcessCastingInput.pas @@ -108,8 +108,8 @@ begin sql.Add(',KYPiece=StkPiece,KYQty=StkQty '); sql.Add(' from BS_Cloth_IO A '); SQL.Add(' where A.IOFlag='''' and (isnull(StkQty,0)>0 or isnull(StkPiece,0)>0) '); - sql.Add(' and isnull(stkName,'''')=''óײƥ'' and IOType='''' '); - sql.Add(' and fromMasterOrdNo= ' + QuotedStr(TRIM(FMasterOrderNo))); + sql.Add(' and isnull(stkName,'''')=''óײƥ'' '); +// sql.Add(' and fromMasterOrdNo= ' + QuotedStr(TRIM(FMasterOrderNo))); and IOType='''' Open; end; diff --git a/T02贸易汇总仓库/U_TradeClothTotalInList.dfm b/T02贸易汇总仓库/U_TradeClothTotalInList.dfm index 6daa1ab..a247cc0 100644 --- a/T02贸易汇总仓库/U_TradeClothTotalInList.dfm +++ b/T02贸易汇总仓库/U_TradeClothTotalInList.dfm @@ -265,7 +265,9 @@ inherited frmTradeClothTotalInList: TfrmTradeClothTotalInList Width = 1964 Height = 37 Align = alTop + Color = clWhite ParentBackground = False + ParentColor = False TabOrder = 6 ExplicitLeft = 2 ExplicitTop = 2 diff --git a/T02贸易汇总仓库/U_TradeDeliveryRequest.dfm b/T02贸易汇总仓库/U_TradeDeliveryRequest.dfm index bf299de..8eb775c 100644 --- a/T02贸易汇总仓库/U_TradeDeliveryRequest.dfm +++ b/T02贸易汇总仓库/U_TradeDeliveryRequest.dfm @@ -359,7 +359,6 @@ inherited frmTradeDeliveryRequest: TfrmTradeDeliveryRequest ParentBackground = False ParentColor = True TabOrder = 6 - ExplicitTop = 29 object Label4: TLabel Left = 243 Top = 47 @@ -419,7 +418,9 @@ inherited frmTradeDeliveryRequest: TfrmTradeDeliveryRequest Width = 1575 Height = 36 Align = alTop + Color = clWhite ParentBackground = False + ParentColor = False TabOrder = 2 ExplicitLeft = 2 ExplicitTop = 2 @@ -655,11 +656,17 @@ inherited frmTradeDeliveryRequest: TfrmTradeDeliveryRequest GridView = TV2 end end + inherited loadProcess: TPanel + Left = 796 + Top = 294 + ExplicitLeft = 796 + ExplicitTop = 294 + end inherited cxProgressBar2: TcxProgressBar - Left = 649 - Top = 274 - ExplicitLeft = 649 - ExplicitTop = 274 + Left = 571 + Top = 286 + ExplicitLeft = 571 + ExplicitTop = 286 ExplicitHeight = 29 end inherited ADOQueryBaseCmd: TADOQuery diff --git a/T02贸易汇总仓库/U_TradeRRInPut.dfm b/T02贸易汇总仓库/U_TradeRRInPut.dfm new file mode 100644 index 0000000..2d7541e --- /dev/null +++ b/T02贸易汇总仓库/U_TradeRRInPut.dfm @@ -0,0 +1,379 @@ +object frmTradeRRInPut: TfrmTradeRRInPut + Left = 302 + Top = 139 + Caption = #21457#36135#30003#35831#24405#20837 + ClientHeight = 644 + ClientWidth = 1252 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #24494#36719#38597#40657 + Font.Style = [] + OldCreateOrder = True + Position = poScreenCenter + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 21 + object ToolBar1: TToolBar + Tag = 1 + Left = 0 + Top = 0 + Width = 1252 + Height = 30 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 99 + Caption = 'ToolBar1' + DisabledImages = DataLink_TradeTotalClothStk.ImageList_new32 + EdgeInner = esNone + EdgeOuter = esNone + Images = DataLink_TradeTotalClothStk.cxImageList_bar + List = True + ShowCaptions = True + TabOrder = 0 + object TBSave: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #20445#23384 + ImageIndex = 16 + OnClick = TBSaveClick + end + object ToolButton4: TToolButton + Left = 71 + Top = 0 + AutoSize = True + Caption = #20445#23384#26684#24335 + ImageIndex = 16 + OnClick = ToolButton4Click + end + object TBClose: TToolButton + Left = 174 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 7 + OnClick = TBCloseClick + end + end + object ScrollBox1: TScrollBox + Left = 0 + Top = 30 + Width = 1252 + Height = 75 + Align = alTop + BevelInner = bvNone + BevelOuter = bvNone + Ctl3D = False + ParentCtl3D = False + TabOrder = 1 + ExplicitTop = 18 + object Label1: TLabel + Left = 254 + Top = 13 + Width = 80 + Height = 21 + Caption = #36864#36135#31867#22411#65306 + end + object Label12: TLabel + Left = 31 + Top = 45 + Width = 68 + Height = 21 + Caption = #22791' '#27880#65306 + end + object Label11: TLabel + Left = 478 + Top = 13 + Width = 80 + Height = 21 + Caption = #36864#36135#21333#20301#65306 + end + object Label2: TLabel + Left = 31 + Top = 13 + Width = 80 + Height = 21 + Caption = #21457#36135#26085#26399#65306 + end + object Label27: TLabel + Left = 704 + Top = 13 + Width = 64 + Height = 21 + Caption = #25968#37327#21333#20301 + end + object InType: TComboBox + Tag = 1 + Left = 338 + Top = 9 + Width = 136 + Height = 29 + Style = csDropDownList + TabOrder = 0 + Items.Strings = ( + #38144#21806#36864#22238 + #21152#24037#36864#22238) + end + object Note: TEdit + Tag = 1 + Left = 111 + Top = 42 + Width = 962 + Height = 27 + TabOrder = 2 + end + object fromCoName: TBtnEditC + Tag = 1 + Left = 562 + Top = 9 + Width = 138 + Height = 30 + TabOrder = 1 + OnBtnUpClick = fromCoNameBtnUpClick + OnBtnDnClick = fromCoNameBtnDnClick + end + object DlyDate: TDateTimePicker + Tag = 1 + Left = 111 + Top = 9 + Width = 132 + Height = 29 + Date = 40675.000000000000000000 + Format = 'yyyy-MM-dd' + Time = 0.464761099538009100 + TabOrder = 3 + end + object QtyUnit: TComboBox + Tag = 2 + Left = 772 + Top = 9 + Width = 96 + Height = 29 + Style = csDropDownList + TabOrder = 4 + Items.Strings = ( + 'M' + 'Y' + 'Kg') + end + end + object ToolBar2: TToolBar + Tag = 1 + Left = 0 + Top = 105 + Width = 1252 + Height = 30 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clBtnFace + DisabledImages = DataLink_TradeTotalClothStk.ImageList_new32 + EdgeInner = esNone + EdgeOuter = esNone + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeTotalClothStk.cxImageList_bar + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 2 + object ToolButton3: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #36873#21333 + ImageIndex = 12 + OnClick = ToolButton3Click + end + object ToolButton1: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 2 + OnClick = ToolButton1Click + end + object ToolButton2: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 6 + OnClick = ToolButton2Click + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 135 + Width = 1252 + Height = 509 + Align = alClient + TabOrder = 3 + ExplicitTop = 111 + ExplicitHeight = 533 + object Tv1: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + ScrollbarAnnotations.CustomAnnotations = <> + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = '0' + Position = spFooter + end + item + Format = '0' + Position = spFooter + end + item + Format = '0' + Position = spFooter + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = Tv1Column2 + end + item + Kind = skSum + Column = cv1Column3 + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + object v1Column2: TcxGridDBColumn + Caption = #21512#21516#21495 + DataBinding.FieldName = 'ConNo' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + object Tv1Column3: TcxGridDBColumn + Caption = #23458#25143#35746#21333#21495 + DataBinding.FieldName = 'BuyConNo' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 122 + end + object v1Column5: TcxGridDBColumn + Caption = #20135#21697#32534#21495 + DataBinding.FieldName = 'C_Code' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 125 + end + object v1Column6: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'C_Name' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 151 + end + object v1Column1: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'C_Color' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 73 + end + object v1Column7: TcxGridDBColumn + Caption = #33457#22411 + DataBinding.FieldName = 'C_Pattern' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 60 + end + object Tv1Column6: TcxGridDBColumn + Caption = #33394#21495 + DataBinding.FieldName = 'C_ColorNo' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 71 + end + object Tv1Column1: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'C_Width' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 72 + end + object Tv1Column4: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'C_GramWeight' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 74 + end + object Tv1Column2: TcxGridDBColumn + Caption = #30003#35831#21305#25968 + DataBinding.FieldName = 'Piece' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 81 + end + object cv1Column3: TcxGridDBColumn + Caption = #30003#35831#25968#37327 + DataBinding.FieldName = 'Qty' + DataBinding.IsNullValueType = True + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + Width = 90 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object ADOTemp: TADOQuery + Connection = DataLink_TradeTotalClothStk.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 256 + Top = 281 + end + object ADOCmd: TADOQuery + Connection = DataLink_TradeTotalClothStk.ADOLink + Parameters = <> + Left = 328 + Top = 281 + end + object DataSource1: TDataSource + DataSet = Order_Sub + Left = 684 + Top = 276 + end + object Order_Sub: TClientDataSet + Aggregates = <> + Params = <> + Left = 596 + Top = 284 + end + object cxGridPopupMenu2: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 456 + Top = 276 + end + object cxStyleRepository1: TcxStyleRepository + Left = 200 + Top = 432 + PixelsPerInch = 96 + object dazi1: TcxStyle + AssignedValues = [svColor] + Color = clRed + end + end +end diff --git a/T02贸易汇总仓库/U_TradeRRInPut.pas b/T02贸易汇总仓库/U_TradeRRInPut.pas new file mode 100644 index 0000000..ea3a684 --- /dev/null +++ b/T02贸易汇总仓库/U_TradeRRInPut.pas @@ -0,0 +1,448 @@ +unit U_TradeRRInPut; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, + cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, cxMemo, + cxRichEdit, ComCtrls, cxContainer, cxTextEdit, cxMaskEdit, cxButtonEdit, + StdCtrls, ToolWin, DBClient, ADODB, ExtCtrls, BtnEdit, cxCalendar, StrUtils, + cxDropDownEdit, cxGridCustomPopupMenu, cxGridPopupMenu, cxLookAndFeels, + cxLookAndFeelPainters, cxNavigator, dxSkinsCore, dxSkinsDefaultPainters, + dxDateRanges, dxBarBuiltInMenu, U_BaseList, dxScrollbarAnnotations; + +type + TfrmTradeRRInPut = class(Tform) + ToolBar1: TToolBar; + TBSave: TToolButton; + TBClose: TToolButton; + ScrollBox1: TScrollBox; + ToolBar2: TToolBar; + ToolButton1: TToolButton; + ToolButton2: TToolButton; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + cxGrid1Level1: TcxGridLevel; + ADOTemp: TADOQuery; + ADOCmd: TADOQuery; + DataSource1: TDataSource; + Order_Sub: TClientDataSet; + cxGridPopupMenu2: TcxGridPopupMenu; + Label1: TLabel; + InType: TComboBox; + Note: TEdit; + Label12: TLabel; + Label11: TLabel; + fromCoName: TBtnEditC; + v1Column1: TcxGridDBColumn; + cv1Column3: TcxGridDBColumn; + cxStyleRepository1: TcxStyleRepository; + dazi1: TcxStyle; + v1Column2: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + Label2: TLabel; + DlyDate: TDateTimePicker; + Tv1Column2: TcxGridDBColumn; + ToolButton3: TToolButton; + Tv1Column3: TcxGridDBColumn; + Tv1Column6: TcxGridDBColumn; + ToolButton4: TToolButton; + Label27: TLabel; + QtyUnit: TComboBox; + Tv1Column1: TcxGridDBColumn; + Tv1Column4: TcxGridDBColumn; + procedure TBCloseClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBSaveClick(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure fromCoNameBtnUpClick(Sender: TObject); + procedure fromCoNameBtnDnClick(Sender: TObject); + procedure JSQtyUnitChange(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + procedure ToolButton4Click(Sender: TObject); + private + fuserName: string; + procedure InitData(); + function SaveData(): Boolean; + { Private declarations } + public + PState, CopyInt: Integer; + FRRMID: string; + { Public declarations } + end; + +var + frmTradeRRInPut: TfrmTradeRRInPut; + newh: hwnd; + +implementation + +uses + U_DataLink, U_ZDYHelp, U_RTFun, U_TradePlanSel, U_TradeSalesContractSel, + U_CompanySel; + +{$R *.dfm} + +procedure TfrmTradeRRInPut.TBCloseClick(Sender: TObject); +begin + Close; + +end; + +procedure TfrmTradeRRInPut.InitData(); +var + fsj: string; +begin + if PState = 0 then + begin + DlyDate.DateTime := strtodatetime(Trim(FormatDateTime('yyyy-MM-dd', Now))); + + end; + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add(' select A.* '); + sql.Add(' from Trade_Cloth_RR_Sub A'); + if PState = 1 then + begin + sql.Add('where RRMID=''' + Trim(FRRMID) + ''''); + end; + if PState = 0 then + begin + sql.Add(' where 1<>1'); + end; + Open; + end; + SCreateCDS(ADOTemp, Order_Sub); + SInitCDSData(ADOTemp, Order_Sub); + + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select A.* '); + sql.Add(' from Trade_Cloth_RR_Main A'); + sql.Add(' where RRMID=''' + Trim(FRRMID) + ''' '); + Open; + end; + SCSHData(ADOTemp, ScrollBox1, 1); + fromCoName.TxtCode := ADOTemp.FieldByName('fromCoNo').AsString; +end; + +procedure TfrmTradeRRInPut.JSQtyUnitChange(Sender: TObject); +begin + if not Order_Sub.IsEmpty then + begin + + exit; + end; +end; + +procedure TfrmTradeRRInPut.FormShow(Sender: TObject); +var + fsj: string; +begin + + readCxGrid(trim(self.Caption), Tv1, ''); + + InitData(); +end; + +function TfrmTradeRRInPut.SaveData(): Boolean; +var + MaxMid, MaxSid: string; +begin + try + ADOCmd.Connection.BeginTrans; + ///////////////// ///////////////// + if Trim(FRRMID) = '' then + begin + if GetLSNo(ADOCmd, MaxMid, 'DM', 'Trade_Cloth_RR_Main', 4, 1) = False then + raise Exception.Create('ȡʧܣ'); + end + else + begin + MaxMid := Trim(FRRMID); + end; + with ADOCmd do + begin + Close; + sql.Clear; + SQL.Add('select * from Trade_Cloth_RR_Main where RRMID=''' + Trim(MaxMid) + ''''); + Open; + end; + with ADOCmd do + begin + if Trim(FRRMID) = '' then + begin + Append; + FieldByName('FillID').Value := Trim(DCode); + FieldByName('Filler').Value := Trim(DName); + end + else + begin + Edit; + FieldByName('EditID').Value := Trim(DCode); + FieldByName('Editer').Value := Trim(DName); + FieldByName('EditTime').Value := SGetServerDateTime(ADOTemp); + end; + RTSetsavedata(ADOCmd, 'Trade_Cloth_RR_Main', ScrollBox1, 1); + + FieldByName('fromCoNo').Value := fromCoName.TxtCode; + + FieldByName('RRMID').Value := Trim(MaxMid); + FieldByName('Status').Value := '0'; + Post; + end; + ///////////////// ///////////////// + /// + ///////////////// ӱ ///////////////// + Order_Sub.DisableControls; + with Order_Sub do + begin + First; + while not Eof do + begin + if Trim(Order_Sub.fieldbyname('RRSID').AsString) = '' then + begin + if GetLSNo(ADOCmd, MaxSid, 'DS', 'Trade_Cloth_RR_Sub', 4, 1) = False then + raise Exception.Create('ȡˮʧܣ'); + end + else + begin + MaxSid := Trim(Order_Sub.fieldbyname('RRSID').AsString); + end; + + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from Trade_Cloth_RR_Sub '); + sql.Add(' where RRMID=''' + Trim(MaxMid) + ''''); + sql.Add(' and RRSID=''' + Trim(MaxSid) + ''''); + Open; + if ADOCmd.IsEmpty then + begin + Append; + end + else + begin + Edit; + end; + RTSetSaveDataCDS(ADOCmd, Tv1, Order_Sub, 'Trade_Cloth_RR_Sub', 0); + FieldByName('RRMID').Value := Trim(MaxMid); + FieldByName('RRSID').Value := Trim(MaxSid); + FieldByName('QtyUnit').Value := QtyUnit.Text; + FieldByName('MainId').Value := Order_Sub.fieldbyname('MainId').Value; + FieldByName('SubId').Value := Order_Sub.fieldbyname('SubId').Value; + FieldByName('ConMId').Value := Order_Sub.fieldbyname('ConMId').Value; + FieldByName('ConSId').Value := Order_Sub.fieldbyname('ConSId').Value; + Post; + end; + Order_Sub.Edit; + Order_Sub.FieldByName('RRSID').Value := Trim(MaxSid); + Next; + end; + end; + Order_Sub.EnableControls; + ///////////////// ӱ ///////////////// + FRRMID := Trim(MaxMid); + ADOCmd.Connection.CommitTrans; + Result := True; + except + ADOCmd.Connection.RollbackTrans; + application.MessageBox(PChar(Exception(ExceptObject).Message), 'ʾϢ', 0); + Result := False; + end; +end; + +procedure TfrmTradeRRInPut.TBSaveClick(Sender: TObject); +var + Freal: Double; +begin + ToolBar1.SetFocus; + + if Trim(InType.Text) = '' then + begin + Application.MessageBox('ͲΪգ', 'ʾ', 0); + Exit; + end; + if Trim(fromCoName.Text) = '' then + begin + Application.MessageBox('˻λΪգ', 'ʾ', 0); + Exit; + end; + if (Order_Sub.Locate('Piece', null, [])) and (Order_Sub.Locate('Qty', null, [])) = True then + begin + Application.MessageBox('ϸƥȫΪգ', 'ʾ', 0); + Exit; + end; + if SaveData() then + begin + Application.MessageBox('ɹ', 'ʾ', 0); + ModalResult := 1; + end; +end; + +procedure TfrmTradeRRInPut.ToolButton1Click(Sender: TObject); +var + FQtyUnit, FFSubid: string; +begin + + try + frmTradePlanSel := TfrmTradePlanSel.Create(Application); + with frmTradePlanSel do + begin + if ShowModal = 1 then + begin + while CDS_1.locate('SSel', true, []) do + begin + begin + with Self.Order_Sub do + begin + Append; + FieldByName('OrderNo').Value := Trim(frmTradePlanSel.CDS_1.fieldbyname('Orderno').AsString); + FieldByName('ConMId').Value := frmTradePlanSel.CDS_1.fieldbyname('ConMId').Value; + FieldByName('ConSId').Value := frmTradePlanSel.CDS_1.fieldbyname('ConSId').Value; + FieldByName('MainId').Value := frmTradePlanSel.CDS_1.fieldbyname('MainId').Value; + FieldByName('SubId').Value := frmTradePlanSel.CDS_1.fieldbyname('SubId').Value; + FieldByName('C_Code').Value := frmTradePlanSel.CDS_1.fieldbyname('C_Code').Value; + FieldByName('C_Name').Value := frmTradePlanSel.CDS_1.fieldbyname('C_Name').Value; + FieldByName('C_Composition').Value := frmTradePlanSel.CDS_1.fieldbyname('C_Composition').Value; + FieldByName('C_Spec').Value := frmTradePlanSel.CDS_1.fieldbyname('C_Spec').Value; + FieldByName('C_Width').Value := frmTradePlanSel.CDS_1.fieldbyname('C_Width').Value; + FieldByName('C_GramWeight').Value := frmTradePlanSel.CDS_1.fieldbyname('C_GramWeight').Value; + FieldByName('C_Color').Value := frmTradePlanSel.CDS_1.fieldbyname('C_Color').Value; + FieldByName('C_ColorNo').Value := frmTradePlanSel.CDS_1.fieldbyname('C_ColorNo').Value; + FieldByName('C_Pattern').Value := frmTradePlanSel.CDS_1.fieldbyname('C_Pattern').Value; + FieldByName('C_StyleNo').Value := frmTradePlanSel.CDS_1.fieldbyname('C_StyleNo').Value; + end; + end; + CDS_1.Delete; + end; + end; + end; + finally + frmTradePlanSel.Free; + end; +end; + +procedure TfrmTradeRRInPut.ToolButton2Click(Sender: TObject); +begin + if Order_Sub.IsEmpty then + Exit; + if Trim(Order_Sub.fieldbyname('RRSID').AsString) <> '' then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Trade_Cloth_RR_Sub where RRSID=''' + Trim(Order_Sub.fieldbyname('RRSID').AsString) + ''''); + sql.add(' and isnull(DlyPiece,0)>0'); + Open; + end; + if ADOTemp.IsEmpty = False then + begin + Application.MessageBox('˻ɾ!', 'ʾ', 0); + exit; + end; + if Application.MessageBox('ȷҪɾ', 'ʾ', 32 + 4) <> IDYES then + Exit; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete Trade_Cloth_RR_Sub where RRSID=''' + Trim(Order_Sub.fieldbyname('RRSID').AsString) + ''''); + ExecSQL; + end; + + end; + Order_Sub.Delete; +end; + +procedure TfrmTradeRRInPut.ToolButton3Click(Sender: TObject); +var + FConMainId, FMPRTCode: string; +begin + try + frmTradeSalesContractSel := TfrmTradeSalesContractSel.Create(Application); + with frmTradeSalesContractSel do + begin + BuyName.Text := Self.fromCoName.Text; + if ShowModal = 1 then + begin + while CDS_1.locate('SSel', true, []) do + begin + if not self.Order_Sub.locate('ConSId', trim(frmTradeSalesContractSel.CDS_1.Fieldbyname('ConSId').AsString), []) then + begin + with Self.Order_Sub do + begin + Append; + FieldByName('ConNo').Value := Trim(frmTradeSalesContractSel.CDS_1.fieldbyname('ConNo').AsString); + FieldByName('ConMId').Value := Trim(frmTradeSalesContractSel.CDS_1.fieldbyname('ConMId').AsString); + FieldByName('ConSId').Value := frmTradeSalesContractSel.CDS_1.fieldbyname('ConSId').Value; + FieldByName('C_Code').Value := frmTradeSalesContractSel.CDS_1.fieldbyname('C_Code').Value; + FieldByName('C_Name').Value := frmTradeSalesContractSel.CDS_1.fieldbyname('C_Name').Value; + FieldByName('C_Composition').Value := frmTradeSalesContractSel.CDS_1.fieldbyname('C_Composition').Value; + FieldByName('C_Spec').Value := frmTradeSalesContractSel.CDS_1.fieldbyname('C_Spec').Value; + FieldByName('C_Width').Value := frmTradeSalesContractSel.CDS_1.fieldbyname('C_Width').Value; + FieldByName('C_GramWeight').Value := frmTradeSalesContractSel.CDS_1.fieldbyname('C_GramWeight').Value; + FieldByName('C_Color').Value := frmTradeSalesContractSel.CDS_1.fieldbyname('C_Color').Value; + FieldByName('C_ColorNo').Value := frmTradeSalesContractSel.CDS_1.fieldbyname('C_ColorNo').Value; + FieldByName('C_EColor').Value := frmTradeSalesContractSel.CDS_1.fieldbyname('C_EColor').Value; + FieldByName('C_Pattern').Value := frmTradeSalesContractSel.CDS_1.fieldbyname('C_Pattern').Value; + FieldByName('C_StyleNo').Value := frmTradeSalesContractSel.CDS_1.fieldbyname('C_StyleNo').Value; +// FieldByName('C_ColorDepth').Value := frmTradeSalesContractSel.CDS_1.fieldbyname('C_ColorDepth').Value; + end; + end; + + CDS_1.Edit; + CDS_1.fieldbyname('SSel').value := false; + end; + + end; + end; + finally + frmTradeSalesContractSel.Free; + end; +end; + +procedure TfrmTradeRRInPut.ToolButton4Click(Sender: TObject); +begin + WriteCxGrid(trim(self.Caption), Tv1, '') +end; + +procedure TfrmTradeRRInPut.fromCoNameBtnUpClick(Sender: TObject); +begin + + try + frmCompanySel := TfrmCompanySel.Create(Application); + with frmCompanySel do + begin + FCoType := 'ͻ'; + if ShowModal = 1 then + begin + self.fromCoName.TxtCode := Trim(frmCompanySel.CDS_1.fieldbyname('CoCode').AsString); + self.fromCoName.Text := Trim(frmCompanySel.CDS_1.fieldbyname('CoAbbrName').AsString); + end; + end; + + finally + frmCompanySel.Free; + end; + +end; + +procedure TfrmTradeRRInPut.fromCoNameBtnDnClick(Sender: TObject); +begin + fromCoName.Text := ''; +end; + +end. + diff --git a/T02贸易汇总仓库/U_TradeRRList.dfm b/T02贸易汇总仓库/U_TradeRRList.dfm new file mode 100644 index 0000000..711b6cf --- /dev/null +++ b/T02贸易汇总仓库/U_TradeRRList.dfm @@ -0,0 +1,629 @@ +inherited frmTradeRRList: TfrmTradeRRList + Left = 220 + Top = 16 + BorderStyle = bsNone + Caption = #36864#36135#30003#35831 + ClientHeight = 752 + ClientWidth = 1453 + Color = clBtnFace + Font.Height = -16 + FormStyle = fsMDIChild + Position = poScreenCenter + Visible = True + ExplicitWidth = 1469 + ExplicitHeight = 791 + PixelsPerInch = 96 + TextHeight = 21 + object ToolBar1: TToolBar [0] + Tag = 1 + Left = 0 + Top = 0 + Width = 1453 + Height = 30 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 83 + Caption = 'ToolBar1' + Color = clSkyBlue + DisabledImages = DataLink_TradeTotalClothStk.ImageList_new32 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeTotalClothStk.cxImageList_bar + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 4 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 1 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 0 + OnClick = TBFindClick + end + object TBAdd: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #26032#22686 + ImageIndex = 9 + OnClick = TBAddClick + end + object ToolButton1: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #26597#30475 + ImageIndex = 4 + OnClick = ToolButton1Click + end + object TBDel: TToolButton + Left = 252 + Top = 0 + AutoSize = True + Caption = #21024#38500 + ImageIndex = 5 + OnClick = TBDelClick + end + object TBEdit: TToolButton + Left = 315 + Top = 0 + AutoSize = True + Caption = #20462#25913 + ImageIndex = 3 + OnClick = TBEditClick + end + object TBPrint: TToolButton + Left = 378 + Top = 0 + AutoSize = True + Caption = #25171#21360 + ImageIndex = 21 + OnClick = TBPrintClick + end + object tchk: TToolButton + Left = 441 + Top = 0 + AutoSize = True + Caption = #23457#26680 + ImageIndex = 12 + OnClick = tchkClick + end + object Tnochk: TToolButton + Left = 504 + Top = 0 + AutoSize = True + Caption = #25764#38144#23457#26680 + ImageIndex = 11 + OnClick = TnochkClick + end + object btnWC: TToolButton + Left = 591 + Top = 0 + AutoSize = True + Caption = #23436#25104 + ImageIndex = 12 + OnClick = btnWCClick + end + object btnWCCX: TToolButton + Left = 654 + Top = 0 + AutoSize = True + Caption = #25764#38144#23436#25104 + ImageIndex = 11 + OnClick = btnWCCXClick + end + object TBExport: TToolButton + Left = 741 + Top = 0 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 20 + OnClick = TBExportClick + end + object ToolButton6: TToolButton + Left = 804 + Top = 0 + AutoSize = True + Caption = #20445#23384#26684#24335 + ImageIndex = 16 + OnClick = ToolButton6Click + end + object TBClose: TToolButton + Left = 891 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 7 + OnClick = TBCloseClick + end + end + object cxGrid1: TcxGrid [1] + Left = 0 + Top = 141 + Width = 1453 + Height = 341 + Align = alClient + TabOrder = 3 + ExplicitTop = 139 + object Tv1: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + ScrollbarAnnotations.CustomAnnotations = <> + OnFocusedRecordChanged = Tv1FocusedRecordChanged + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Kind = skSum + Position = spFooter + end + item + Kind = skSum + Position = spFooter + end + item + Kind = skSum + Position = spFooter + end + item + Kind = skSum + Position = spFooter + end + item + Kind = skSum + Position = spFooter + end + item + Kind = skSum + Position = spFooter + end + item + Kind = skSum + Position = spFooter + end + item + Kind = skSum + Position = spFooter + end + item + Kind = skSum + Position = spFooter + end + item + Kind = skSum + Position = spFooter + end + item + Kind = skSum + Position = spFooter + end> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + OptionsView.GroupFooters = gfAlwaysVisible + OptionsView.IndicatorWidth = 30 + object v1Column4: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'SSel' + DataBinding.IsNullValueType = True + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.MultiLine = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Width = 49 + end + object v1Column8: TcxGridDBColumn + Caption = #30003#35831#21333#21495 + DataBinding.FieldName = 'RRMID' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 93 + end + object v1OrdDate: TcxGridDBColumn + Caption = #30331#35760#26085#26399 + DataBinding.FieldName = 'Filltime' + DataBinding.IsNullValueType = True + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Focusing = False + Width = 85 + end + object Tv1Column1: TcxGridDBColumn + Caption = #36864#36135#31867#22411 + DataBinding.FieldName = 'inType' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 84 + end + object v1Column27: TcxGridDBColumn + Caption = #20132#36135#26085#26399 + DataBinding.FieldName = 'DlyDate' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 69 + end + object v1Column10: TcxGridDBColumn + Caption = #25910#36135#21333#20301 + DataBinding.FieldName = 'fromCoName' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 124 + end + object v1Column1: TcxGridDBColumn + Caption = #30003#35831#20154 + DataBinding.FieldName = 'Filler' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + object v1Column13: TcxGridDBColumn + Caption = #23457#26680#20154 + DataBinding.FieldName = 'Chker' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 65 + end + object v1Column17: TcxGridDBColumn + Caption = #23457#26680#26085#26399 + DataBinding.FieldName = 'ChkTime' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + object v1Column7: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'Note' + DataBinding.IsNullValueType = True + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v1Column7PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 70 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object Panel1: TPanel [2] + Left = 0 + Top = 30 + Width = 1453 + Height = 81 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + ParentBackground = False + ParentColor = True + TabOrder = 6 + object Label4: TLabel + Left = 196 + Top = 52 + Width = 64 + Height = 21 + Caption = #25910#36135#21333#20301 + end + object Label1: TLabel + Left = 25 + Top = 52 + Width = 64 + Height = 21 + Caption = #30003#35831#21333#21495 + end + object ToCoName: TEdit + Tag = 2 + Left = 264 + Top = 44 + Width = 115 + Height = 29 + TabOrder = 0 + OnChange = ToCoNameChange + end + object RRMID: TEdit + Tag = 2 + Left = 93 + Top = 44 + Width = 99 + Height = 29 + TabOrder = 1 + OnChange = ToCoNameChange + end + inline frmFrameDateSel1: TfrmFrameDateSel + Left = 2 + Top = 2 + Width = 1449 + Height = 37 + Align = alTop + Color = clWhite + ParentBackground = False + ParentColor = False + TabOrder = 2 + ExplicitLeft = 2 + ExplicitTop = 2 + ExplicitWidth = 1964 + ExplicitHeight = 37 + inherited lbl2: TLabel + Width = 16 + Height = 21 + ExplicitWidth = 16 + ExplicitHeight = 21 + end + end + end + object cxTabControl1: TcxTabControl [3] + Left = 0 + Top = 111 + Width = 1453 + Height = 30 + Align = alTop + TabOrder = 2 + Properties.CustomButtons.Buttons = <> + Properties.Style = 9 + Properties.TabIndex = 0 + Properties.Tabs.Strings = ( + #26410#23457#26680 + #24050#23457#26680 + #24050#23436#25104 + #20840#37096) + OnChange = cxTabControl1Change + ExplicitTop = 73 + ClientRectRight = 0 + ClientRectTop = 0 + end + object cxSplitter1: TcxSplitter [4] + Left = 0 + Top = 482 + Width = 1453 + Height = 8 + HotZoneClassName = 'TcxMediaPlayer9Style' + AlignSplitter = salBottom + Control = cxGrid2 + ExplicitTop = 308 + end + object cxGrid2: TcxGrid [5] + Left = 0 + Top = 490 + Width = 1453 + Height = 262 + Align = alBottom + TabOrder = 5 + ExplicitLeft = 6 + ExplicitTop = 314 + object TV2: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + ScrollbarAnnotations.CustomAnnotations = <> + DataController.DataSource = DS_2 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = '0' + Position = spFooter + end + item + Format = '0' + Position = spFooter + end + item + Format = '0' + Position = spFooter + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + object cxGridDBColumn1: TcxGridDBColumn + Caption = #21512#21516#21495 + DataBinding.FieldName = 'ConNo' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + object cxGridDBColumn2: TcxGridDBColumn + Caption = #23458#25143#35746#21333#21495 + DataBinding.FieldName = 'BuyConNo' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 146 + end + object cxGridDBColumn3: TcxGridDBColumn + Caption = #20135#21697#32534#21495 + DataBinding.FieldName = 'C_Code' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 88 + end + object v1Column6: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'C_Name' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 71 + end + object cxGridDBColumn4: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'C_Color' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 73 + end + object cxGridDBColumn5: TcxGridDBColumn + Caption = #33457#22411 + DataBinding.FieldName = 'C_Pattern' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object cxGridDBColumn6: TcxGridDBColumn + Caption = #33394#21495 + DataBinding.FieldName = 'C_ColorNo' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 71 + end + object cxGridDBColumn7: TcxGridDBColumn + Caption = #30003#35831#21305#25968 + DataBinding.FieldName = 'Piece' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 103 + end + object cv1Column3: TcxGridDBColumn + Caption = #30003#35831#25968#37327 + DataBinding.FieldName = 'Qty' + DataBinding.IsNullValueType = True + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 108 + end + object TV2Column1: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'QtyUnit' + DataBinding.IsNullValueType = True + Options.Editing = False + Width = 112 + end + object TV2Column2: TcxGridDBColumn + Caption = #26816#39564#21305#25968 + DataBinding.FieldName = 'DlyPiece' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 120 + end + object TV2Column3: TcxGridDBColumn + Caption = #26816#39564#25968#37327 + DataBinding.FieldName = 'DlyQty' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 134 + end + end + object cxGridLevel1: TcxGridLevel + GridView = TV2 + end + end + inherited loadProcess: TPanel + Left = 388 + Top = 212 + ExplicitLeft = 388 + ExplicitTop = 212 + end + inherited cxProgressBar2: TcxProgressBar + Left = 636 + Top = 222 + ExplicitLeft = 636 + ExplicitTop = 222 + ExplicitHeight = 29 + end + inherited ADOQueryBaseCmd: TADOQuery + Connection = DataLink_TradeTotalClothStk.ADOLink + Left = 73 + Top = 224 + end + inherited ADOQueryBaseTemp: TADOQuery + Connection = DataLink_TradeTotalClothStk.ADOLink + Left = 73 + Top = 161 + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 1000 + Top = 184 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeTotalClothStk.ADOLink + Parameters = <> + Left = 292 + Top = 250 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeTotalClothStk.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 560 + Top = 160 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeTotalClothStk.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 688 + Top = 152 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 968 + Top = 184 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 936 + Top = 184 + end + object DS_2: TDataSource + DataSet = ClientDataSet2 + Left = 352 + Top = 600 + end + object ClientDataSet2: TClientDataSet + Aggregates = <> + Params = <> + Left = 272 + Top = 592 + end + object GPM_2: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 408 + Top = 600 + end +end diff --git a/T02贸易汇总仓库/U_TradeRRList.pas b/T02贸易汇总仓库/U_TradeRRList.pas new file mode 100644 index 0000000..fb9427a --- /dev/null +++ b/T02贸易汇总仓库/U_TradeRRList.pas @@ -0,0 +1,746 @@ +unit U_TradeRRList; + +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, + cxDropDownEdit, cxTextEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, + dxBarBuiltInMenu, dxSkinsCore, dxSkinsDefaultPainters, U_BaseList, + dxDateRanges, cxContainer, dxScrollbarAnnotations, cxProgressBar, FrameDateSel; + +type + TfrmTradeRRList = class(TfrmBaseList) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBAdd: TToolButton; + TBEdit: TToolButton; + TBDel: TToolButton; + TBPrint: TToolButton; + TBClose: TToolButton; + Tv1: TcxGridDBTableView; + cxGrid1Level1: TcxGridLevel; + cxGrid1: TcxGrid; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + TBExport: TToolButton; + v1OrdDate: TcxGridDBColumn; + Order_Main: TClientDataSet; + ToolButton1: TToolButton; + v1Column4: TcxGridDBColumn; + Panel1: TPanel; + Label4: TLabel; + ToCoName: TEdit; + cxTabControl1: TcxTabControl; + tchk: TToolButton; + Tnochk: TToolButton; + cxSplitter1: TcxSplitter; + DS_2: TDataSource; + v1Column8: TcxGridDBColumn; + ClientDataSet2: TClientDataSet; + GPM_2: TcxGridPopupMenu; + v1Column13: TcxGridDBColumn; + v1Column17: TcxGridDBColumn; + v1Column1: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + v1Column10: TcxGridDBColumn; + v1Column27: TcxGridDBColumn; + btnWC: TToolButton; + btnWCCX: TToolButton; + ToolButton6: TToolButton; + Label1: TLabel; + cxGrid2: TcxGrid; + TV2: TcxGridDBTableView; + cxGridDBColumn1: TcxGridDBColumn; + cxGridDBColumn2: TcxGridDBColumn; + cxGridDBColumn3: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + cxGridDBColumn4: TcxGridDBColumn; + cxGridDBColumn5: TcxGridDBColumn; + cxGridDBColumn6: TcxGridDBColumn; + cxGridDBColumn7: TcxGridDBColumn; + cv1Column3: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + TV2Column1: TcxGridDBColumn; + TV2Column2: TcxGridDBColumn; + TV2Column3: TcxGridDBColumn; + Tv1Column1: TcxGridDBColumn; + frmFrameDateSel1: TfrmFrameDateSel; + //RMllPDFExport1: TRMllPDFExport; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBEditClick(Sender: TObject); + procedure TBDelClick(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure TBPrintClick(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 ToCoNameChange(Sender: TObject); + procedure tchkClick(Sender: TObject); + procedure TnochkClick(Sender: TObject); + procedure cxTabControl1Change(Sender: TObject); + procedure btnWCClick(Sender: TObject); + procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); + procedure btnWCCXClick(Sender: TObject); + procedure v1Column7PropertiesEditValueChanged(Sender: TObject); + procedure Tv1Column9PropertiesEditValueChanged(Sender: TObject); + procedure ToolButton6Click(Sender: TObject); + private + procedure InitGrid(); + procedure InitSubGrid(); + procedure SetStatus(); + function DelData(): Boolean; + { Private declarations } + public + FFInt: Integer; + canshu1, canshu2: string; + { Public declarations } + end; + +//var + //frmContractListNX: TfrmContractListNX; + +implementation + +uses + U_DataLink, U_TradeRRInPut, U_RTFun, U_ZDYHelp, U_LabelPrint; + +{$R *.dfm} + +procedure TfrmTradeRRList.SetStatus(); +begin + tchk.Enabled := False; + Tnochk.Enabled := False; + btnWC.Enabled := False; + btnWCCX.Enabled := False; + + if canshu1 = '¼' then + begin + case cxTabControl1.TabIndex of + 0: + begin + tchk.Enabled := true; + end; + 1: + begin + Tnochk.Enabled := true; + btnWC.Enabled := true; + end; + 2: + begin + btnWCCX.Enabled := true; + end; + end; + end + else if canshu1 = '' then + begin + case cxTabControl1.TabIndex of + 0: + begin + tchk.Enabled := true; + end; + 1: + begin + Tnochk.Enabled := true; + btnWC.Enabled := true; + end; + 2: + begin + btnWCCX.Enabled := true; + end; + end; + end; +end; + +procedure TfrmTradeRRList.FormDestroy(Sender: TObject); +begin + inherited; + //frmFHSQList:=nil; + +end; + +procedure TfrmTradeRRList.FormClose(Sender: TObject; var Action: TCloseAction); +begin + inherited; + Action := caFree; +end; + +procedure TfrmTradeRRList.TBCloseClick(Sender: TObject); +begin + Close; +end; + +procedure TfrmTradeRRList.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered := False; + Close; + sql.Clear; + Sql.Add(' select A.* '); + sql.Add(' from Trade_Cloth_RR_Main A where 1=1'); + + sql.Add(' and Filltime>=''' + FormatDateTime('yyyy-MM-dd', frmFrameDateSel1.begdate.Date) + ''' '); + sql.Add(' and Filltime<''' + FormatDateTime('yyyy-MM-dd', frmFrameDateSel1.Enddate.Date + 1) + ''' '); + + case cxTabControl1.TabIndex of + 0: + begin + SQL.Add(' and isnull(A.status,''0'')=''0'' '); + end; + 1: + begin + SQL.Add(' and isnull(A.status,''0'')=''9'' '); + end; + 2: + begin + SQL.Add(' and isnull(A.status,''0'')=''10'' '); + end; + end; + if Trim(canshu1) <> '' then + begin + sql.Add(' and isnull(A.Filler,'''')=''' + Trim(DName) + ''''); + end; + sql.Add(' order by Filltime desc '); + Open; + end; + SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); + SCreateCDS(ADOQueryMain, Order_Main); + SInitCDSData(ADOQueryMain, Order_Main); + finally + ADOQueryMain.EnableControls; + TV1.DataController.Filter.Clear; + TV2.DataController.Filter.Clear; + end; +end; + +procedure TfrmTradeRRList.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active = False then + Exit; + SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); + SCreateCDS(ADOQueryMain, Order_Main); + SInitCDSData(ADOQueryMain, Order_Main); +end; + +procedure TfrmTradeRRList.TBEditClick(Sender: TObject); +begin + if Order_Main.IsEmpty then + Exit; +// if cxTabControl1.TabIndex <> 0 then +// Exit; + if Trim(canshu1) <> 'Ȩ' then + begin + + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select FILLER from Trade_Cloth_RR_Main A '); + SQL.Add('where RRMID=''' + Trim(Order_Main.fieldbyname('RRMID').AsString) + ''' '); + SQL.Add('and filler in ( select username from SY_User where UType=(select UType from SY_User where UserName=' + quotedstr(Trim(dname))); + SQL.Add('))'); + Open; + end; + + if ADOQueryTemp.ISEMPTY = True then + begin + Application.MessageBox('ܲ˵!', 'ʾ', 0); + Exit; + end; +// if Trim(Order_Main.fieldbyname('Filler').AsString) <> Trim(DName) then +// begin +// Application.MessageBox('ܲ˵!', 'ʾ', 0); +// Exit; +// end; + end; + with ADOQueryTemp do + begin + close; + sql.Clear; + sql.Add('select * from Trade_Cloth_RR_Main'); + sql.Add('where RRMID=' + quotedstr(trim(Order_Main.fieldbyname('RRMID').AsString))); + Open; + end; +// if Trim(ADOQueryTemp.fieldbyname('YSID').AsString) <> '' then +// begin +// Application.MessageBox('Ӧ˿޸!', 'ʾ', 0); +// Exit; +// end; + try + frmTradeRRInPut := TfrmTradeRRInPut.Create(Application); + with frmTradeRRInPut do + begin + PState := 1; + FRRMID := Trim(Self.Order_Main.fieldbyname('RRMID').AsString); + if ShowModal = 1 then + begin + InitGrid(); + end; + end; + finally + frmTradeRRInPut.Free; + end; +end; + +procedure TfrmTradeRRList.TBDelClick(Sender: TObject); +begin + if Order_Main.IsEmpty then + Exit; + if cxTabControl1.TabIndex <> 0 then + Exit; + if canshu1 <> 'Ȩ' then + begin + if Trim(Order_Main.fieldbyname('Filler').AsString) <> Trim(DName) then + begin + Application.MessageBox('ܲ˵!', 'ʾ', 0); + Exit; + end; + end; + + if Application.MessageBox('ȷҪɾ', 'ʾ', 32 + 4) <> IDYES then + Exit; + if DelData() then + begin + initgrid(); + InitSubGrid(); + end; +end; + +function TfrmTradeRRList.DelData(): Boolean; +begin + try + with Order_Main do + begin + Result := false; + ADOQueryCmd.Connection.BeginTrans; + DisableControls; + First; + while not eof do + begin + if fieldbyname('SSel').AsBoolean then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add(' select * from Trade_Cloth_IO where IOFlag='''''); + sql.add(' and IONo=''' + Trim(Order_Main.fieldbyname('RRMID').AsString) + ''''); + Open; + end; + if ADOQueryTemp.IsEmpty = False then + begin + Order_Main.EnableControls; + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ѷɾ!', 'ʾ', 0); + exit; + end; + + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Trade_Cloth_RR_Sub where RRMID=''' + Trim(Order_Main.fieldbyname('RRMID').AsString) + ''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Trade_Cloth_RR_Main where RRMID=''' + Trim(Order_Main.fieldbyname('RRMID').AsString) + ''''); + ExecSQL; + end; + end; + next; + end; + First; + EnableControls; + end; + ADOQueryCmd.Connection.CommitTrans; + Result := True; + except + order_main.EnableControls; + ADOQueryCmd.Connection.RollbackTrans; + Result := False; + Application.MessageBox('ɾ쳣', 'ʾ', 0); + end; +end; + +procedure TfrmTradeRRList.TBExportClick(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then + Exit; +// SelExportData(Tv1, ADOQueryMain, 'б'); +end; + +procedure TfrmTradeRRList.TBPrintClick(Sender: TObject); +begin + if Order_Main.IsEmpty then + Exit; + + try + frmLabelPrint := TfrmLabelPrint.Create(Application); + with frmLabelPrint do + begin + FLMType := 'TradeClothDR1'; + FFiltration1 := Trim(self.Order_Main.fieldbyname('RRMID').AsString); + if ShowModal = 1 then + begin + + end; + end; + finally + frmLabelPrint.Free; + end; +end; + +procedure TfrmTradeRRList.TBRafreshClick(Sender: TObject); +begin + InitGrid(); + +end; + +procedure TfrmTradeRRList.TBAddClick(Sender: TObject); +var + maxno: string; +begin + try + frmTradeRRInPut := TfrmTradeRRInPut.Create(Application); + with frmTradeRRInPut do + begin + PState := 0; + FRRMID := ''; + if ShowModal = 1 then + begin + InitGrid(); + end; + end; + finally + frmTradeRRInPut.Free; + end; +end; + +procedure TfrmTradeRRList.FormShow(Sender: TObject); +begin + inherited; + canshu1 := self.fParameters1; + ReadCxGrid(trim(self.Caption) + 'Tv1', Tv1, ''); + ReadCxGrid(trim(self.Caption) + 'Tv2', Tv2, ''); + + frmFrameDateSel1.EndDate.Date := SGetServerDate(ADOQueryTemp); + frmFrameDateSel1.BegDate.Date := frmFrameDateSel1.EndDate.Date - 60; + SetStatus(); + InitGrid(); +end; + +procedure TfrmTradeRRList.CheckBox1Click(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmTradeRRList.CheckBox2Click(Sender: TObject); +begin + TBRafresh.Click; +end; + +procedure TfrmTradeRRList.ToolButton1Click(Sender: TObject); +begin + if Order_Main.IsEmpty then + Exit; + try + frmTradeRRInPut := TfrmTradeRRInPut.Create(Application); + with frmTradeRRInPut do + begin + PState := 1; + FRRMID := Trim(Self.Order_Main.fieldbyname('RRMID').AsString); + ToolBar2.Visible := False; + TBSave.Visible := False; + ScrollBox1.Enabled := False; + Tv1.OptionsSelection.CellSelect := False; + if ShowModal = 1 then + begin + + end; + end; + finally + frmTradeRRInPut.Free; + end; +end; + +procedure TfrmTradeRRList.ToCoNameChange(Sender: TObject); +begin + if ADOQueryMain.Active = False then + Exit; + SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); + SCreateCDS(ADOQueryMain, Order_Main); + SInitCDSData(ADOQueryMain, Order_Main); +end; + +procedure TfrmTradeRRList.tchkClick(Sender: TObject); +begin + if Order_Main.IsEmpty then + exit; + if cxTabControl1.TabIndex <> 0 then + exit; + try + with Order_Main do + begin + DisableControls; + First; + while not eof do + begin + if fieldbyname('SSel').AsBoolean then + begin + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update Trade_Cloth_RR_Main SET Chker=''' + Trim(DName) + ''',ChkTime=getdate(),Status=''9'' '); + sql.Add('where RRMID=' + quotedstr(trim(Order_Main.fieldbyname('RRMID').AsString))); + execsql; + end; + end; + next; + end; + First; + EnableControls; + end; + InitGrid(); + application.MessageBox('˳ɹ', 'ʾϢ'); + except + application.MessageBox('ʧܣ', 'ʾϢ', 0); + end; +end; + +procedure TfrmTradeRRList.InitSubGrid(); +begin + + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select A.* '); + sql.Add('from Trade_Cloth_RR_Sub A where A.RRMID=''' + Trim(Order_Main.fieldbyname('RRMID').AsString) + ''''); + Open; + end; + SCreateCDS(ADOQueryTemp, ClientDataSet2); + SInitCDSData(ADOQueryTemp, ClientDataSet2); +end; + +procedure TfrmTradeRRList.TnochkClick(Sender: TObject); +begin + if Order_Main.IsEmpty then + exit; + if cxTabControl1.TabIndex <> 1 then + exit; + try + with Order_Main do + begin + DisableControls; + First; + while not eof do + begin + if fieldbyname('SSel').AsBoolean then + begin + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update Trade_Cloth_RR_Main SET Chker=Null,ChkTime=Null,status=''0'' '); + sql.Add('where RRMID=' + quotedstr(trim(Order_Main.fieldbyname('RRMID').AsString))); + execsql; + end; + end; + next; + end; + First; + EnableControls; + end; + InitGrid(); + application.MessageBox('ɹ', 'ʾϢ'); + except + application.MessageBox('ʧܣ', 'ʾϢ', 0); + end; +end; + +procedure TfrmTradeRRList.cxTabControl1Change(Sender: TObject); +begin + + SetStatus(); + InitGrid(); +end; + +procedure TfrmTradeRRList.btnWCCXClick(Sender: TObject); +begin + if Order_Main.IsEmpty then + exit; + try + with Order_Main do + begin + DisableControls; + First; + while not eof do + begin + if fieldbyname('SSel').AsBoolean then + begin +// with ADOQueryTemp do +// begin +// Close; +// sql.Clear; +// sql.Add('exec P_CW_Judge_All @DataID=' + quotedstr(trim(Order_Main.fieldbyname('RRMID').AsString))); +// Open; +// end; +// if ADOQueryTemp.FieldByName('intReturn').AsInteger = -1 then +// begin +// Application.MessageBox(PChar(ADOQueryTemp.fieldbyname('ShowMsg').AsString), 'ʾ', 0); +// exit; +// end; + + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update Trade_Cloth_RR_Main SET Comper=null,CompTime=null, status=''9'' '); + sql.Add('where RRMID=' + quotedstr(trim(Order_Main.fieldbyname('RRMID').AsString))); + execsql; + end; + end; + next; + end; + First; + EnableControls; + end; + InitGrid(); + application.MessageBox('ɹ', 'ʾϢ'); + except + application.MessageBox('ʧܣ', 'ʾϢ', 0); + end; +end; + +procedure TfrmTradeRRList.ToolButton6Click(Sender: TObject); +begin + WriteCxGrid(trim(self.Caption) + 'Tv1', Tv1, ''); + WriteCxGrid(trim(self.Caption) + 'Tv2', Tv2, ''); +end; + +procedure TfrmTradeRRList.btnWCClick(Sender: TObject); +begin + if Order_Main.IsEmpty then + exit; + try + with Order_Main do + begin + DisableControls; + First; + while not eof do + begin + if fieldbyname('SSel').AsBoolean then + begin + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update Trade_Cloth_RR_Main SET Comper=''' + Trim(DName) + ''',CompTime=getdate(), status=''10'' '); + sql.Add('where RRMID=' + quotedstr(trim(Order_Main.fieldbyname('RRMID').AsString))); + execsql; + end; + end; + next; + end; + EnableControls; + end; + InitGrid(); + application.MessageBox('ɹ', 'ʾϢ'); + except + application.MessageBox('ʧܣ', 'ʾϢ', 0); + end; +end; + +procedure TfrmTradeRRList.Tv1Column9PropertiesEditValueChanged(Sender: TObject); +var + mvalue, FFieldName: string; +begin + mvalue := TcxTextEdit(Sender).EditingText; + FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); + + if mvalue = '' then + begin + with ADOQueryCmd do + begin + Close; + SQL.Clear; + sql.Add('update Trade_Cloth_RR_Main set ' + FFieldName + '=' + 'NULL'); + sql.Add('where RRMID=' + quotedstr(Trim(Order_Main.fieldbyname('RRMID').AsString))); + ExecSQL; + end; + end + else + begin + with Order_Main do + begin + Edit; + FieldByName(FFieldName).Value := mvalue; + Post; + end; + + with ADOQueryCmd do + begin + Close; + SQL.Clear; + sql.Add('update Trade_Cloth_RR_Main set ' + FFieldName + '=' + quotedstr(Trim(mvalue))); + sql.Add('where RRMID=' + quotedstr(Trim(Order_Main.fieldbyname('RRMID').AsString))); + ExecSQL; + end; + end; + + tv1.Controller.EditingController.ShowEdit(); +end; + +procedure TfrmTradeRRList.Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); +begin + InitSubGrid(); +end; + +procedure TfrmTradeRRList.v1Column7PropertiesEditValueChanged(Sender: TObject); +var + mvalue, FFieldName: string; +begin + mvalue := TcxTextEdit(Sender).EditingText; + FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); + with Order_Main do + begin + Edit; + FieldByName(FFieldName).Value := mvalue; + Post; + end; + + with ADOQueryCmd do + begin + Close; + SQL.Clear; + sql.Add('update Trade_Cloth_RR_Main set ' + FFieldName + '=' + quotedstr(Trim(mvalue))); + sql.Add('where RRMID=' + quotedstr(Trim(Order_Main.fieldbyname('RRMID').AsString))); + ExecSQL; + end; + tv1.Controller.EditingController.ShowEdit(); +end; + +end. + diff --git a/T05贸易门市管理/AllSkins.skinres b/T05贸易门市管理/AllSkins.skinres new file mode 100644 index 0000000000000000000000000000000000000000..bfaa46e4ef9e1c1876243ae40bc357e71fc608e4 GIT binary patch literal 686051 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
DataLink_ClothInfo +
DataLink_TradeMarket
TDataModule @@ -157,6 +157,10 @@
frmZDYHelp
dfm
+ +
Form1
+ dfm +
frmFjList_RZ
dfm @@ -173,22 +177,6 @@
frmEmployeeSel
dfm
- -
frmClothType
- dfm -
- -
frmCloInfoFileUp
- dfm -
- -
frmClothInfo_Tat
- dfm -
- -
Form1
- dfm -
frmLabelMapSet
dfm @@ -197,6 +185,49 @@
frmLabelPrint
dfm
+ +
frmZDYHelpSel
+ dfm +
+ +
frmPictureUpload
+ dfm +
+ +
frmTradeMarketDisScan
+ dfm +
+ +
frmTradeDispatchedSel
+ dfm +
+ + +
BaseDataLink
+ dfm + TDataModule +
+ +
frmFrameDateSel
+ dfm + TFrame +
+ + + + + +
frmTradeMarketList
+ dfm +
+ +
frmTradeDispatchedList
+ dfm +
+ +
frmTradeMarketDisSel
+ dfm +
Cfg_2 Base @@ -215,7 +246,7 @@ - ClothInfo.dpr + TradeMarket.dpr @@ -227,9 +258,9 @@ False - + - ClothInfo.dll + TradeMarket.dll true diff --git a/T05贸易门市管理/TradeMarket.res b/T05贸易门市管理/TradeMarket.res new file mode 100644 index 0000000000000000000000000000000000000000..7a2b1a73bda66944d0eaf5aea08f82d5f1073ba9 GIT binary patch literal 1496 zcmaJ>OKVd>6#i}#a;*fLpbHmbvvA?6++sjWg;cE7fG^U}t*NzBN*)buY=kb1n`{EE z{3nGra1pZdcXZ*xon3ZOI)3NOy?IpYkTWyiIp2BQlbHd49K~8E+)j-2RBX?X9dCojnibjZTdDeO_{oNe4zam z*IiV(Yta(m+L-?uwY!Wk@|(vTIk5nbG~ZjYb{Op=bG7*O>!{OH##MRpnrG7Qa<_HO~g~*ICyl=lA+W8`1YkWph{7A>JPULFqxM~mkZ@!K8|UgDroyh` zN<`QX`-&q%I}AgIE1Jt6Vxu@!4SUY+urX0QqXC-6R9!w}Bml8dT95HSd^?oWS!*c;%3b*O zD?Iyyr{)Csdj=i~h1>=Yxm;3jh1?=fuf=0Bt-a2h{*qD3`j(a$u}oCLbG~$CzK&76 Ku{Zh4H{cIbnHvfK literal 0 HcmV?d00001 diff --git a/A02基础产品管理11/U_DataLink.dfm b/T05贸易门市管理/U_DataLink.dfm similarity index 99% rename from A02基础产品管理11/U_DataLink.dfm rename to T05贸易门市管理/U_DataLink.dfm index 2645045..1a30e6d 100644 --- a/A02基础产品管理11/U_DataLink.dfm +++ b/T05贸易门市管理/U_DataLink.dfm @@ -1,9 +1,25 @@ -object DataLink_ClothInfo: TDataLink_ClothInfo - OldCreateOrder = False - OnCreate = DataModuleCreate +inherited DataLink_TradeMarket: TDataLink_TradeMarket OnDestroy = DataModuleDestroy Height = 349 Width = 482 + inherited cxEditStyleController1: TcxEditStyleController + Style.LookAndFeel.SkinName = '' + StyleDisabled.LookAndFeel.SkinName = '' + StyleFocused.LookAndFeel.SkinName = '' + StyleHot.LookAndFeel.SkinName = '' + PixelsPerInch = 96 + end + inherited cxImageList_bar: TcxImageList + FormatVersion = 1 + end + inherited ThreeColorBase: TcxStyleRepository + PixelsPerInch = 96 + end + inherited dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList + inherited dxLayoutSkinLookAndFeel1: TdxLayoutSkinLookAndFeel + PixelsPerInch = 96 + end + end object AdoDataLink: TADOQuery Connection = ADOLink Parameters = <> @@ -10423,139 +10439,6 @@ object DataLink_ClothInfo: TDataLink_ClothInfo FF800001000000F003FFFE00FFE0000300000000000000000000000000000000 000000000000} end - object ThreeLookAndFeelCol: TcxLookAndFeelController - Kind = lfStandard - NativeStyle = False - Left = 253 - Top = 12 - end - object ThreeColorBase: TcxStyleRepository - Left = 147 - Top = 80 - PixelsPerInch = 96 - object SHuangSe: TcxStyle - AssignedValues = [svColor, svFont, svTextColor] - Color = 4707838 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [] - TextColor = clBtnText - end - object SkyBlue: TcxStyle - AssignedValues = [svColor, svFont, svTextColor] - Color = clSkyBlue - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [] - TextColor = clBlack - end - object Default: TcxStyle - AssignedValues = [svFont] - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - end - object QHuangSe: TcxStyle - AssignedValues = [svColor, svFont] - Color = 8454143 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [] - end - object Red: TcxStyle - AssignedValues = [svColor, svFont] - Color = clRed - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [] - end - object FontBlue: TcxStyle - AssignedValues = [svFont, svTextColor] - Font.Charset = GB2312_CHARSET - Font.Color = clBlue - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - TextColor = clBlue - end - object TextSHuangSe: TcxStyle - AssignedValues = [svFont, svTextColor] - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - TextColor = clOlive - end - object FonePurple: TcxStyle - AssignedValues = [svFont, svTextColor] - Font.Charset = GB2312_CHARSET - Font.Color = clWindow - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - TextColor = clPurple - end - object FoneClMaroon: TcxStyle - AssignedValues = [svFont, svTextColor] - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - TextColor = clMaroon - end - object FoneRed: TcxStyle - AssignedValues = [svFont, svTextColor] - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - TextColor = clRed - end - object RowColor: TcxStyle - AssignedValues = [svColor] - Color = 16311512 - end - object handBlack: TcxStyle - AssignedValues = [svFont] - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - end - object cxBlue: TcxStyle - AssignedValues = [svColor, svFont] - Color = 16711731 - Font.Charset = GB2312_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [] - end - object SHuangSeCu: TcxStyle - AssignedValues = [svColor, svFont, svTextColor] - Color = 4707838 - Font.Charset = GB2312_CHARSET - Font.Color = clBlack - Font.Height = -12 - Font.Name = #23435#20307 - Font.Style = [fsBold] - TextColor = clRed - end - end object Timer_link: TTimer Interval = 15000 OnTimer = Timer_linkTimer diff --git a/A02基础产品管理11/U_DataLink.pas b/T05贸易门市管理/U_DataLink.pas similarity index 54% rename from A02基础产品管理11/U_DataLink.pas rename to T05贸易门市管理/U_DataLink.pas index 9b25b4c..b240515 100644 --- a/A02基础产品管理11/U_DataLink.pas +++ b/T05贸易门市管理/U_DataLink.pas @@ -5,23 +5,9 @@ interface uses SysUtils, Classes, DB, ADODB, ImgList, Controls, cxStyles, cxLookAndFeels, Windows, Messages, forms, OleCtnrs, DateUtils, ExtCtrls, SyncObjs, cxClasses, - dxSkinsCore, dxSkinsDefaultPainters, System.ImageList, dxSkinBasic, - 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, dxSkinOffice2016Colorful, - dxSkinOffice2016Dark, dxSkinOffice2019Black, dxSkinOffice2019Colorful, - dxSkinOffice2019DarkGray, dxSkinOffice2019White, dxSkinPumpkin, dxSkinSeven, - dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, - dxSkinSpringtime, dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld, - dxSkinTheBezier, dxSkinValentine, dxSkinVisualStudio2013Blue, - dxSkinVisualStudio2013Dark, dxSkinVisualStudio2013Light, dxSkinVS2010, - dxSkinWhiteprint, dxSkinWXI, dxSkinXmas2008Blue; + dxSkinsCore, dxSkinsDefaultPainters, System.ImageList, U_BaseDataLink, dxCore, + cxLocalization, dxLayoutLookAndFeels, cxImageList, cxGraphics, cxContainer, + cxEdit, dxSkinsForm; type TMyThread = class(TThread) @@ -53,26 +39,10 @@ var UserDataFlag: string; type - TDataLink_ClothInfo = class(TDataModule) + TDataLink_TradeMarket = class(TBaseDataLink) AdoDataLink: TADOQuery; ADOLink: TADOConnection; ThreeImgList: TImageList; - ThreeLookAndFeelCol: TcxLookAndFeelController; - ThreeColorBase: TcxStyleRepository; - SHuangSe: TcxStyle; - SkyBlue: TcxStyle; - Default: TcxStyle; - QHuangSe: TcxStyle; - Red: TcxStyle; - FontBlue: TcxStyle; - TextSHuangSe: TcxStyle; - FonePurple: TcxStyle; - FoneClMaroon: TcxStyle; - FoneRed: TcxStyle; - RowColor: TcxStyle; - handBlack: TcxStyle; - cxBlue: TcxStyle; - SHuangSeCu: TcxStyle; Timer_link: TTimer; ImageList_new32: TImageList; procedure DataModuleDestroy(Sender: TObject); @@ -89,7 +59,7 @@ type TMixtext = procedure(szSrcBmpFileName: PChar; szDstBmpFileName: PChar; sztext: PChar; fontsize, txtheight, hmargin, vmargin, txtcntoneline: integer); stdcall; var - DataLink_ClothInfo: TDataLink_ClothInfo; + DataLink_TradeMarket: TDataLink_TradeMarket; CriticalSection: TCriticalSection; {ٽ} implementation @@ -100,7 +70,7 @@ begin FreeOnTerminate := True; CriticalSection.Enter; try - with DataLink_ClothInfo.AdoDataLink do + with DataLink_TradeMarket.AdoDataLink do begin close; sql.Clear; @@ -109,7 +79,7 @@ begin end; except try - with DataLink_ClothInfo.ADOLink do + with DataLink_TradeMarket.ADOLink do begin Connected := false; ConnectionString := DConString; @@ -123,19 +93,21 @@ begin CriticalSection.Leave; end; -procedure TDataLink_ClothInfo.DataModuleDestroy(Sender: TObject); +procedure TDataLink_TradeMarket.DataModuleDestroy(Sender: TObject); begin + inherited; CriticalSection.Free; - DataLink_ClothInfo := nil; + DataLink_TradeMarket := nil; end; -procedure TDataLink_ClothInfo.Timer_linkTimer(Sender: TObject); +procedure TDataLink_TradeMarket.Timer_linkTimer(Sender: TObject); begin TMyThread.Create(False); end; -procedure TDataLink_ClothInfo.DataModuleCreate(Sender: TObject); +procedure TDataLink_TradeMarket.DataModuleCreate(Sender: TObject); begin + inherited; CriticalSection := TCriticalSection.Create; end; diff --git a/A02基础产品管理11/U_GetDllForm.pas b/T05贸易门市管理/U_GetDllForm.pas similarity index 84% rename from A02基础产品管理11/U_GetDllForm.pas rename to T05贸易门市管理/U_GetDllForm.pas index cac3e82..fd16327 100644 --- a/A02基础产品管理11/U_GetDllForm.pas +++ b/T05贸易门市管理/U_GetDllForm.pas @@ -15,7 +15,7 @@ function GetsysParam(muserId: pchar; fparam1: pchar): Boolean; implementation uses - U_DataLink, U_iniParam, U_ClothType, U_ClothInfo, U_ClothInfo_Tat; + U_DataLink, U_iniParam, U_TradeMarketList, U_TradeDispatchedList; ///////////////////////////////////////////////////////////////// // ˵:ȡDllеô // @@ -70,12 +70,13 @@ begin if trim(DataBaseStr) = '' then begin server := '101.132.143.144,7781'; - dtbase := 'BaiShengData'; + dtbase := 'gemeiData'; user := 'rtsa'; pswd := 'rightsoft@5740'; DConString := 'Provider=SQLOLEDB.1;Password=' + pswd + ';Persist Security Info=True;User ID=' + user + ';Initial Catalog=' + dtbase + ';Data Source=' + server; - Parameters1 := '¼'; - Parameters1 := ''; +// DParameters1:='Ȩ'; +// Parameters2 := '֯'; + end else begin @@ -124,11 +125,12 @@ begin //ģ鴰 case FormID of - 111: // Ʒ + 111: // begin - with TfrmClothType.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do // + with TfrmTradeMarketList.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do // begin fFormID := FormID; + FOrdType := ''; FormStyle := mstyle; WindowState := mstate; BorderStyle := mborderstyle; @@ -136,11 +138,12 @@ begin end; end; - 112: // ƷϢ + 112: // begin - with TfrmClothInfo.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do // + with TfrmTradeMarketList.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do // begin fFormID := FormID; + FOrdType := ''; FormStyle := mstyle; WindowState := mstate; BorderStyle := mborderstyle; @@ -148,9 +151,9 @@ begin end; end; - 113: // ֯ƷϢ + 121: // begin - with TfrmClothInfo_Tat.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do // + with TfrmTradeDispatchedList.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do // begin fFormID := FormID; FormStyle := mstyle; @@ -181,7 +184,7 @@ begin ////////////////////////////// // shortDateFormat := 'yyyy-MM-dd'; // - with DataLink_ClothInfo.AdoDataLink do + with DataLink_TradeMarket.AdoDataLink do begin close; sql.Clear; @@ -207,10 +210,10 @@ begin finally IniFile.Free; end; - if not Assigned(DataLink_ClothInfo) then - DataLink_ClothInfo := TDataLink_ClothInfo.Create(Application); + if not Assigned(DataLink_TradeMarket) then + DataLink_TradeMarket := TDataLink_TradeMarket.Create(Application); try - with DataLink_ClothInfo.ADOLink do + with DataLink_TradeMarket.ADOLink do begin if not Connected then begin @@ -234,7 +237,7 @@ initialization finalization - DataLink_ClothInfo.Free; + DataLink_TradeMarket.Free; application := NewDllApp; dxUnitsLoader.Finalize; diff --git a/T05贸易门市管理/U_TradeDispatchedList.dfm b/T05贸易门市管理/U_TradeDispatchedList.dfm new file mode 100644 index 0000000..871853b --- /dev/null +++ b/T05贸易门市管理/U_TradeDispatchedList.dfm @@ -0,0 +1,883 @@ +inherited frmTradeDispatchedList: TfrmTradeDispatchedList + Left = 165 + Top = 13 + Caption = #37197#36135#31649#29702 + ClientHeight = 935 + ClientWidth = 1540 + Font.Height = -16 + FormStyle = fsMDIChild + Position = poScreenCenter + Visible = True + ExplicitWidth = 1556 + ExplicitHeight = 974 + PixelsPerInch = 96 + TextHeight = 21 + object ToolBar1: TToolBar [0] + Tag = 1 + Left = 0 + Top = 0 + Width = 1540 + Height = 30 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 95 + Caption = 'ToolBar1' + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeMarket.cxImageList_bar + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 5 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 1 + OnClick = TBRafreshClick + end + object ToolButton1: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #25195#25551#37197#36135 + ImageIndex = 8 + OnClick = ToolButton1Click + end + object TBPrint: TToolButton + Left = 150 + Top = 0 + AutoSize = True + Caption = #25171#21360 + ImageIndex = 21 + OnClick = TBPrintClick + end + object TBPrint1: TToolButton + Left = 213 + Top = 0 + AutoSize = True + Caption = #25171#21360#20986#24211#21333 + ImageIndex = 21 + OnClick = TBPrint1Click + end + object TBCK: TToolButton + Left = 312 + Top = 0 + AutoSize = True + Caption = #26597#30475 + ImageIndex = 8 + OnClick = TBCKClick + end + object TBFJ: TToolButton + Left = 375 + Top = 0 + AutoSize = True + Caption = #38468#20214 + ImageIndex = 22 + OnClick = TBFJClick + end + object ToolButton2: TToolButton + Left = 438 + Top = 0 + AutoSize = True + Caption = #20445#23384#26684#24335 + ImageIndex = 16 + OnClick = ToolButton2Click + end + object TBClose: TToolButton + Left = 525 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 7 + OnClick = TBCloseClick + end + end + object Panel1: TPanel [1] + Left = 0 + Top = 30 + Width = 1540 + Height = 83 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clWhite + ParentBackground = False + TabOrder = 6 + ExplicitTop = 38 + object Label3: TLabel + Left = 35 + Top = 48 + Width = 64 + Height = 21 + Caption = #22823#36135#21333#21495 + end + object Label1: TLabel + Left = 419 + Top = 48 + Width = 32 + Height = 21 + Caption = #23458#25143 + end + object Label2: TLabel + Left = 227 + Top = 48 + Width = 64 + Height = 21 + Caption = #20135#21697#21517#31216 + end + object TMMNo: TEdit + Tag = 2 + Left = 103 + Top = 44 + Width = 120 + Height = 29 + TabOrder = 0 + OnKeyPress = TMMNoKeyPress + end + object CustName: TEdit + Tag = 2 + Left = 455 + Top = 44 + Width = 120 + Height = 29 + TabOrder = 1 + OnKeyPress = TMMNoKeyPress + end + object C_Name: TEdit + Tag = 2 + Left = 295 + Top = 44 + Width = 120 + Height = 29 + TabOrder = 2 + OnKeyPress = TMMNoKeyPress + end + inline frmFrameDateSel1: TfrmFrameDateSel + Left = 2 + Top = 2 + Width = 1536 + Height = 37 + Align = alTop + Color = clWhite + ParentBackground = False + ParentColor = False + TabOrder = 3 + ExplicitLeft = -380 + ExplicitTop = 2 + ExplicitWidth = 1920 + ExplicitHeight = 37 + inherited lbl2: TLabel + Width = 16 + Height = 21 + ExplicitWidth = 16 + ExplicitHeight = 21 + end + end + end + object cxGrid1: TcxGrid [2] + Left = 0 + Top = 141 + Width = 1540 + Height = 465 + Align = alTop + PopupMenu = PM_1 + TabOrder = 2 + ExplicitWidth = 1431 + ExplicitHeight = 381 + object Tv1: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + ScrollbarAnnotations.CustomAnnotations = <> + OnFocusedRecordChanged = Tv1FocusedRecordChanged + DataController.DataSource = DataSource1 + DataController.Filter.AutoDataSetFilter = True + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = Tv1Column11 + end + item + Kind = skSum + Column = Tv1Column10 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + OptionsView.IndicatorWidth = 30 + object v1Column16: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'SSel' + DataBinding.IsNullValueType = True + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + HeaderAlignmentHorz = taCenter + Width = 50 + end + object Tv1Column14: TcxGridDBColumn + Caption = #22823#36135#21333#21495 + DataBinding.FieldName = 'TMMNO' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 122 + end + object v1OrdDate: TcxGridDBColumn + Caption = #21046#21333#26085#26399 + DataBinding.FieldName = 'OrdDate' + DataBinding.IsNullValueType = True + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 122 + end + object Tv1Column2: TcxGridDBColumn + Caption = #32463#33829#21333#20301 + DataBinding.FieldName = 'OurCoName' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + object Tv1Column4: TcxGridDBColumn + Caption = #23458#25143 + DataBinding.FieldName = 'CustName' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 134 + end + object v1DeliveryDate: TcxGridDBColumn + Caption = #20132#36135#26085#26399 + DataBinding.FieldName = 'DlyDate' + DataBinding.IsNullValueType = True + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + object Tv1Column9: TcxGridDBColumn + Caption = #32534#21495 + DataBinding.FieldName = 'C_Code' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + end + object Tv1Column12: TcxGridDBColumn + Caption = #21697#21517 + DataBinding.FieldName = 'C_Name' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + end + object Tv1Column13: TcxGridDBColumn + Caption = #20013#25991#39068#33394 + DataBinding.FieldName = 'C_Color' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + end + object Tv1Column15: TcxGridDBColumn + Caption = #33457#22411 + DataBinding.FieldName = 'C_Pattern' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 70 + end + object Tv1Column11: TcxGridDBColumn + Caption = #21305#25968 + DataBinding.FieldName = 'TMSPiece' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + object Tv1Column10: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'TMSQty' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + HeaderGlyphAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + object Tv1Column7: TcxGridDBColumn + Caption = #37197#36135#21305#25968 + DataBinding.FieldName = 'PHRollNum' + DataBinding.IsNullValueType = True + end + object Tv1Column8: TcxGridDBColumn + Caption = #37197#36135#25968#37327 + DataBinding.FieldName = 'PHQty' + DataBinding.IsNullValueType = True + end + object v1Column11: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'TMSUnit' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + HeaderGlyphAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + object Tv1Column6: TcxGridDBColumn + Caption = #21046#21333#20154 + DataBinding.FieldName = 'FILLER' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + object Tv1Column1: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'OrdNote' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + object Tv1Column3: TcxGridDBColumn + Caption = #21457#36135#22320#22336 + DataBinding.FieldName = 'ShippingAddress' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 134 + end + object Tv1Column5: TcxGridDBColumn + Caption = #32852#31995#26041#24335 + DataBinding.FieldName = 'CONTACT' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 80 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object Panel2: TPanel [3] + Left = 0 + Top = 606 + Width = 1540 + Height = 329 + Align = alClient + BevelOuter = bvNone + Caption = 'Panel2' + TabOrder = 3 + ExplicitTop = 366 + ExplicitHeight = 196 + object cxGrid2: TcxGrid + Left = 0 + Top = 30 + Width = 1540 + Height = 299 + Align = alClient + TabOrder = 0 + ExplicitLeft = -2 + ExplicitWidth = 1431 + object TV2: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + ScrollbarAnnotations.CustomAnnotations = <> + DataController.DataSource = DS_PH + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Kind = skSum + Position = spFooter + Column = V2Column5 + end + item + Kind = skCount + Position = spFooter + end + item + Kind = skSum + Position = spFooter + end + item + Kind = skSum + Position = spFooter + end + item + Kind = skSum + Column = V2Column5 + end + item + Kind = skCount + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + Position = spFooter + end + item + Kind = skSum + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + Column = V2Column5 + end + item + Kind = skSum + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Deleting = False + OptionsData.Inserting = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + OptionsView.Indicator = True + object V2Column13: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'ssel' + DataBinding.IsNullValueType = True + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Width = 99 + end + object V2Column10: TcxGridDBColumn + Caption = #21367#26465#30721 + DataBinding.FieldName = 'stkid' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 99 + end + object V2Column2: TcxGridDBColumn + Caption = #21697#21517 + DataBinding.FieldName = 'C_Name' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 99 + end + object TV2Column2: TcxGridDBColumn + Caption = #32534#21495 + DataBinding.FieldName = 'C_Code' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 99 + end + object V2Column3: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'C_Spec' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 99 + end + object V2C_Color: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'C_Color' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 99 + end + object TV2Column1: TcxGridDBColumn + Caption = #33457#22411 + DataBinding.FieldName = 'C_Pattern' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 99 + end + object V2Column5: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'stkqty' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 99 + end + object V2Column6: TcxGridDBColumn + Caption = #25209#21495 + DataBinding.FieldName = 'batchno' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 99 + end + object V2Column11: TcxGridDBColumn + Caption = #26579#21378#32568#21495 + DataBinding.FieldName = 'ftypcid' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 99 + end + object V2Filler: TcxGridDBColumn + Caption = #37197#36135#20154#21592 + DataBinding.FieldName = 'Filler' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 99 + end + object V2Column12: TcxGridDBColumn + Caption = #37197#36135#26102#38388 + DataBinding.FieldName = 'FillTime' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 99 + end + object V2Column14: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'C_Width' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 99 + end + object V2Column15: TcxGridDBColumn + Caption = #20811#37325'(g/'#13217')' + DataBinding.FieldName = 'C_GramWeight' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 99 + end + object V2Column16: TcxGridDBColumn + Caption = #21152#24037#21378 + DataBinding.FieldName = 'factoryName' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 99 + end + end + object cxGrid2Level1: TcxGridLevel + GridView = TV2 + end + end + object ToolBar2: TToolBar + Tag = 1 + Left = 0 + Top = 0 + Width = 1540 + Height = 30 + ButtonHeight = 30 + ButtonWidth = 83 + Caption = 'ToolBar1' + Color = clWhite + EdgeInner = esNone + EdgeOuter = esNone + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeMarket.cxImageList_bar + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 1 + object ToolButton4: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #36873#25321#24211#23384 + ImageIndex = 9 + OnClick = ToolButton4Click + end + object phwc: TToolButton + Left = 87 + Top = 0 + AutoSize = True + Caption = #37197#36135#23436#25104 + ImageIndex = 12 + OnClick = phwcClick + end + object ToolButton6: TToolButton + Left = 174 + Top = 0 + AutoSize = True + Caption = #20462#25913#37197#36135 + ImageIndex = 3 + OnClick = ToolButton6Click + end + object phok: TToolButton + Left = 261 + Top = 0 + AutoSize = True + Caption = #37197#36135#30830#35748 + ImageIndex = 12 + OnClick = phokClick + end + object fh: TToolButton + Left = 348 + Top = 0 + AutoSize = True + Caption = #25104#21697#21457#36135 + ImageIndex = 12 + OnClick = fhClick + end + object ToolButton9: TToolButton + Left = 435 + Top = 0 + AutoSize = True + Caption = #25171#21360#26631#31614 + ImageIndex = 21 + OnClick = ToolButton9Click + end + object del: TToolButton + Left = 522 + Top = 0 + AutoSize = True + Caption = #21024#38500 + ImageIndex = 5 + OnClick = delClick + end + object ToolButton5: TToolButton + Left = 585 + Top = 0 + AutoSize = True + Caption = #25972#21333#25764#38144 + ImageIndex = 11 + OnClick = ToolButton5Click + end + object Tdbchexiao: TToolButton + Left = 672 + Top = 0 + AutoSize = True + Caption = #25972#31508#25764#38144 + ImageIndex = 11 + OnClick = TdbchexiaoClick + end + object ToolButton3: TToolButton + Left = 759 + Top = 0 + AutoSize = True + Caption = #25764#38144#21457#36135 + ImageIndex = 11 + OnClick = ToolButton3Click + end + end + end + object cxTabControl1: TcxTabControl [4] + Left = 0 + Top = 113 + Width = 1540 + Height = 28 + Align = alTop + TabOrder = 4 + Properties.CustomButtons.Buttons = <> + Properties.Style = 9 + Properties.TabIndex = 0 + Properties.Tabs.Strings = ( + #26410#37197#36135 + #24050#37197#36135 + #24050#21457#36135 + #20840#37096) + OnChange = cxTabControl1Change + ExplicitTop = 121 + ClientRectRight = 0 + ClientRectTop = 0 + end + inherited cxProgressBar2: TcxProgressBar + Left = 626 + Top = 344 + ExplicitLeft = 626 + ExplicitTop = 344 + ExplicitHeight = 29 + end + inherited ADOQueryBaseCmd: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + Left = 187 + Top = 378 + end + inherited ADOQueryBaseTemp: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + Left = 163 + Top = 229 + end + object cxgrdpmn1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 700 + Top = 236 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + Parameters = <> + Left = 568 + Top = 240 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 446 + Top = 230 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 274 + Top = 390 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 812 + Top = 440 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 724 + Top = 432 + end + object ADOQuerySub: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + Parameters = <> + Left = 348 + Top = 296 + end + object DataSource2: TDataSource + DataSet = ORDER_SUB + Left = 616 + Top = 420 + end + object ADOQueryImage: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + EnableBCD = False + Parameters = <> + Left = 332 + Top = 227 + end + object DSImage: TDataSource + DataSet = ADOQueryImage + Left = 440 + Top = 294 + end + object IdFTP1: TIdFTP + ConnectTimeout = 0 + NATKeepAlive.UseKeepAlive = False + NATKeepAlive.IdleTimeMS = 0 + NATKeepAlive.IntervalMS = 0 + ProxySettings.ProxyType = fpcmNone + ProxySettings.Port = 0 + ReadTimeout = 0 + Left = 92 + Top = 258 + end + object ORDER_SUB: TClientDataSet + Aggregates = <> + Params = <> + Left = 248 + Top = 276 + end + object PopupMenu2: TPopupMenu + Left = 812 + Top = 388 + object N3: TMenuItem + Caption = #20840#36873 + OnClick = N3Click + end + object N4: TMenuItem + Caption = #20840#24323 + OnClick = N4Click + end + object N2: TMenuItem + Caption = #22797#21046 + OnClick = N2Click + end + end + object cxgrdpmn2: TcxGridPopupMenu + PopupMenus = <> + Left = 932 + Top = 260 + end + object CDS_WXTS: TClientDataSet + Aggregates = <> + Params = <> + Left = 516 + Top = 416 + end + object PM_1: TPopupMenu + Left = 940 + Top = 388 + object N1: TMenuItem + Caption = #22797#21046 + OnClick = N1Click + end + end + object GPM_3: TcxGridPopupMenu + PopupMenus = <> + Left = 860 + Top = 228 + end + object ADO_PH: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + Parameters = <> + Left = 296 + Top = 476 + end + object DS_PH: TDataSource + DataSet = CDS_PH + Left = 360 + Top = 444 + end + object CDS_PH: TClientDataSet + Aggregates = <> + Params = <> + Left = 396 + Top = 486 + end + object ADOQueryPrint: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1128 + Top = 432 + end + object RMDB_1: TRMDBDataSet + Visible = True + DataSet = ADOQueryPrint + Left = 1180 + Top = 432 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [rmpbZoom, rmpbLoad, rmpbSave, rmpbPrint, rmpbFind, rmpbPageSetup, rmpbExit, rmpbExport, rmpbNavigator] + DefaultCollate = False + ShowPrintDialog = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDB_1 + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 1228 + Top = 432 + ReportData = {} + end +end diff --git a/T05贸易门市管理/U_TradeDispatchedList.pas b/T05贸易门市管理/U_TradeDispatchedList.pas new file mode 100644 index 0000000..ec6e5fd --- /dev/null +++ b/T05贸易门市管理/U_TradeDispatchedList.pas @@ -0,0 +1,1387 @@ +unit U_TradeDispatchedList; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, + cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, cxMemo, + cxRichEdit, ComCtrls, cxContainer, cxTextEdit, cxMaskEdit, cxButtonEdit, + StdCtrls, ToolWin, DBClient, ADODB, ExtCtrls, BtnEdit, cxCalendar, StrUtils, + cxCurrencyEdit, cxImage, cxDBEdit, Menus, RM_Common, RM_Class, RM_e_Xls, + RM_Dataset, RM_System, RM_GridReport, cxGridCustomPopupMenu, cxGridPopupMenu, + cxPC, cxSplitter, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, + IdFTP, ShellAPI, cxDropDownEdit, cxCheckBox, RM_e_Graphic, RM_e_Jpeg, + cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, Math, + dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, + IdExplicitTLSClientServerBase, U_BaseList, Vcl.Clipbrd, dxScrollbarAnnotations, + cxProgressBar, FrameDateSel; + +type + TfrmTradeDispatchedList = class(TfrmBaseList) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBPrint: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + Tv1: TcxGridDBTableView; + cxGrid1Level1: TcxGridLevel; + cxGrid1: TcxGrid; + cxgrdpmn1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + Label3: TLabel; + TMMNo: TEdit; + v1OrdDate: TcxGridDBColumn; + v1DeliveryDate: TcxGridDBColumn; + Order_Main: TClientDataSet; + TBCK: TToolButton; + ADOQuerySub: TADOQuery; + DataSource2: TDataSource; + TBFJ: TToolButton; + Panel2: TPanel; + ADOQueryImage: TADOQuery; + DSImage: TDataSource; + IdFTP1: TIdFTP; + v1Column11: TcxGridDBColumn; + v1Column16: TcxGridDBColumn; + ORDER_SUB: TClientDataSet; + PopupMenu2: TPopupMenu; + N3: TMenuItem; + N4: TMenuItem; + Label1: TLabel; + CustName: TEdit; + Tv1Column6: TcxGridDBColumn; + cxgrdpmn2: TcxGridPopupMenu; + Tv1Column2: TcxGridDBColumn; + Tv1Column10: TcxGridDBColumn; + Tv1Column11: TcxGridDBColumn; + Tv1Column1: TcxGridDBColumn; + Label2: TLabel; + C_Name: TEdit; + CDS_WXTS: TClientDataSet; + ToolButton2: TToolButton; + PM_1: TPopupMenu; + N1: TMenuItem; + N2: TMenuItem; + GPM_3: TcxGridPopupMenu; + Tv1Column4: TcxGridDBColumn; + Tv1Column3: TcxGridDBColumn; + Tv1Column5: TcxGridDBColumn; + cxTabControl1: TcxTabControl; + ADO_PH: TADOQuery; + DS_PH: TDataSource; + CDS_PH: TClientDataSet; + Tv1Column7: TcxGridDBColumn; + Tv1Column8: TcxGridDBColumn; + Tv1Column9: TcxGridDBColumn; + Tv1Column12: TcxGridDBColumn; + Tv1Column13: TcxGridDBColumn; + cxGrid2: TcxGrid; + TV2: TcxGridDBTableView; + V2Column13: TcxGridDBColumn; + V2Column10: TcxGridDBColumn; + V2Column2: TcxGridDBColumn; + V2Column3: TcxGridDBColumn; + V2C_Color: TcxGridDBColumn; + V2Column5: TcxGridDBColumn; + V2Column6: TcxGridDBColumn; + V2Column11: TcxGridDBColumn; + V2Filler: TcxGridDBColumn; + V2Column12: TcxGridDBColumn; + V2Column14: TcxGridDBColumn; + V2Column15: TcxGridDBColumn; + V2Column16: TcxGridDBColumn; + cxGrid2Level1: TcxGridLevel; + Tv1Column14: TcxGridDBColumn; + TV2Column1: TcxGridDBColumn; + Tv1Column15: TcxGridDBColumn; + TV2Column2: TcxGridDBColumn; + TBPrint1: TToolButton; + ADOQueryPrint: TADOQuery; + RMDB_1: TRMDBDataSet; + RM1: TRMGridReport; + ToolButton1: TToolButton; + frmFrameDateSel1: TfrmFrameDateSel; + ToolBar2: TToolBar; + ToolButton4: TToolButton; + phwc: TToolButton; + ToolButton6: TToolButton; + phok: TToolButton; + fh: TToolButton; + ToolButton9: TToolButton; + del: TToolButton; + ToolButton5: TToolButton; + Tdbchexiao: TToolButton; + ToolButton3: TToolButton; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure TBPrintClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure TMMNoMChange(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBTPClick(Sender: TObject); + procedure CheckBox1Click(Sender: TObject); + procedure TBCKClick(Sender: TObject); + procedure TMMNoKeyPress(Sender: TObject; var Key: Char); + procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); + procedure TBFJClick(Sender: TObject); + procedure cxTabControl1Change(Sender: TObject); + procedure N3Click(Sender: TObject); + procedure N4Click(Sender: TObject); + procedure ComboBox1Change(Sender: TObject); + procedure CustomerNoNameKeyPress(Sender: TObject; var Key: Char); + procedure ToolButton5Click(Sender: TObject); + procedure JGTypeChange(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure N1Click(Sender: TObject); + procedure N2Click(Sender: TObject); + procedure ToolButton4Click(Sender: TObject); + procedure phwcClick(Sender: TObject); + procedure ToolButton6Click(Sender: TObject); + procedure phokClick(Sender: TObject); + procedure fhClick(Sender: TObject); + procedure TBPrint1Click(Sender: TObject); + procedure ToolButton9Click(Sender: TObject); + procedure delClick(Sender: TObject); + procedure TdbchexiaoClick(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + private + DQdate: TDateTime; + MSubIds: string; + procedure InitGrid(); + procedure InitForm(); + function DelData(): Boolean; + procedure InitGridFH(); + procedure InitSub(); + procedure InitPH(); + procedure SetStatus(); + procedure InitImage(fwbid: string); + function SaveData(): Boolean; + + procedure SendMessageQR(MDateId, KeyWord1, KeyWord2, KeyWord3: string); + { Private declarations } + public + FFInt, FCloth: Integer; + canshu1, canshu2: string; + fFlileFlag: string; + FNOTE: string; + { Public declarations } + end; + +implementation + +uses + U_DataLink, U_RTFun, U_ZDYHelp, U_LabelPrint, U_AttachmentUpload, + U_TradeMarketInPut, U_TradeMarketDisSel, U_TradeMarketDisScan; + +{$R *.dfm} + +procedure TfrmTradeDispatchedList.InitImage(fwbid: string); +begin + ADOQueryImage.close; + if fwbid = '' then + exit; + with ADOQueryImage do + begin + close; + sql.Clear; + sql.Add('select * from TP_File A'); + sql.Add('where WBID=' + quotedstr(trim(fwbid))); + open; + end; +end; + +procedure TfrmTradeDispatchedList.SetStatus(); +begin + + del.Visible := false; + phwc.Visible := false; + phok.Visible := false; + fh.Visible := false; + ToolButton4.Visible := false; + ToolButton5.Visible := false; + TBPrint1.Visible := false; + ToolButton6.Visible := false; + Tdbchexiao.Visible := false; + ToolButton3.Visible := false; + case cxTabControl1.TabIndex of + 0: + begin + del.Visible := true; + phwc.Visible := true; + Panel2.Visible := true; + ToolButton4.Visible := true; + end; + 1: + begin + fh.Visible := true; + ToolButton5.Visible := true; + + Tdbchexiao.Visible := true; + end; + 2: + begin + TBPrint1.Visible := true; + ToolButton3.Visible := True; + end; + end; + application.ProcessMessages; +end; + +procedure TfrmTradeDispatchedList.InitSub(); +begin + ADOQuerySub.Close; + if Order_Main.IsEmpty then + exit; + ADOQuerySub.DisableControls; + with ADOQuerySub do + begin + close; + sql.Clear; + sql.Add('select * '); + sql.Add(' from Trade_Market_Sub A'); + sql.Add('where TMMId =' + quotedstr((Order_Main.fieldbyname('TMMId').AsString))); + open; + end; + SCreateCDS(ADOQuerySub, ORDER_SUB); + SInitCDSData(ADOQuerySub, ORDER_SUB); + + ADOQuerySub.EnableControls; + TV2.DataController.Filter.Clear; +end; + +procedure TfrmTradeDispatchedList.InitPH(); +var + SqlStr: string; +begin + + if Order_Main.IsEmpty then + EXIT; + SqlStr := 'select A.*,B.* '; + SqlStr := SqlStr + 'from Trade_Market_Distribution A '; + SqlStr := SqlStr + 'INNER join BS_Cloth_IO B on B.STKID=A.STKID and B.IOFlag='''''; + SqlStr := SqlStr + 'where A.TMMID=' + quotedstr(trim(Order_Main.fieldbyname('TMMID').asstring)); + SqlStr := SqlStr + 'and A.TMSID=' + quotedstr(trim(Order_Main.fieldbyname('TMSID').asstring)); + SqlStr := SqlStr + 'order by A.TMDID '; + + InitCDSData(ADO_PH, CDS_PH, Tv2, SqlStr, '', ''); + +end; + +procedure TfrmTradeDispatchedList.JGTypeChange(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmTradeDispatchedList.FormDestroy(Sender: TObject); +begin + inherited; +// frmProductOrderList:=nil; +end; + +procedure TfrmTradeDispatchedList.FormClose(Sender: TObject; var Action: TCloseAction); +begin + inherited; + Action := caFree; +end; + +procedure TfrmTradeDispatchedList.FormCreate(Sender: TObject); +begin + inherited; + + DQdate := SGetServerDate(ADOQueryTemp); + +end; + +procedure TfrmTradeDispatchedList.TBCloseClick(Sender: TObject); +begin + + Close; + +end; + +procedure TfrmTradeDispatchedList.InitGrid(); +var + STRwhere, Pwhere: string; +begin + STRwhere := ''; + Pwhere := SGetFilters(Panel1, 1, 2); + + begin + if trim(Pwhere) <> '' then + STRwhere := STRwhere + ' and ' + trim(Pwhere); + end; + STRwhere := STRwhere + ' and isnull(A.Status,''0'')=''9'' '; + if cxTabControl1.TabIndex = 0 then + begin + STRwhere := STRwhere + ' and isnull(substatus,''0'')=''' + inttostr(cxTabControl1.TabIndex) + ''''; + end; + if (cxTabControl1.TabIndex >= 1) and (cxTabControl1.TabIndex < 3) then + STRwhere := STRwhere + ' and isnull(substatus,''0'')=''' + inttostr(cxTabControl1.TabIndex + 1) + ''''; + + try + ADOQueryMain.DisableControls; + + with ADOQueryMain do + begin + Filtered := False; + Close; + sql.Clear; + sql.add(' select * '); + sql.Add(' ,PHRollNum=(select count(X.STKID) from Trade_Market_Distribution X where X.TMMID=A.TMMID and X.TMSID=B.TMSID)'); + sql.Add(' ,PHQty=(select sum(STKMeter) from Trade_Market_Distribution X inner join Trade_Cloth_Stock XX on X.stkid=XX.stkid where X.TMMID=A.TMMID and X.TMSID=B.TMSID)'); + sql.add(' from Trade_Market_Sub B'); + sql.add(' inner join Trade_Market_Main A on B.TMMID=A.TMMID '); + + sql.add(' where A.TMMDate>=' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', frmFrameDateSel1.BegDate.Date)))); + sql.add(' and A.TMMDate<' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', frmFrameDateSel1.enddate.Date + 1)))); + +// if canshu1 = '¼' then +// begin +// sql.add(' and A.Filler= ' + QuotedStr(Trim(DName))); +// end; + sql.add(' ' + STRwhere); + + sql.Add(' and ordtype='''' '); + + sql.add(' order by filltime desc'); +// ShowMessage(SQL.Text); + Open; + end; + + SCreateCDS(ADOQueryMain, Order_Main); + SInitCDSData(ADOQueryMain, Order_Main); + finally + ADOQueryMain.EnableControls; + TV1.DataController.Filter.Clear; + + end; +end; + +procedure TfrmTradeDispatchedList.SendMessageQR(MDateId, KeyWord1, KeyWord2, KeyWord3: string); +begin +// with ADOQueryTemp do +// begin +// Close; +// SQL.Clear; +// sql.Add('select distinct A.* from SY_User A inner join SY_Purview B on A.UserID=B.UserID where A.Valid=''Y'' '); +// SQL.Add('and isnull(A.wxid,'''')<>'''''); +// SQL.Add(' and exists(select 1 from SY_ModuleSub X where X.ModuleID=B.ModuleID and X.ModuleSubID=B.ModuleSubID and X.FormName=''ƻ'' )'); +//// showmessage(sql.text); +// Open; +// end; +// SCreateCDS(ADOQueryTemp, CDS_WXTS); +// SInitCDSData(ADOQueryTemp, CDS_WXTS); +// +// if CDS_WXTS.IsEmpty then +// begin +// Application.MessageBox('ûδ΢,ύʧܣ', 'ʾϢ', 0); +// Exit; +// end; + CDS_WXTS.First; + while not CDS_WXTS.eof do + begin + with ADOQueryCmd do + begin + Close; + SQL.Clear; + SQL.Add('select * from WeixinMessage where 1<>1'); + Open; + Append; + FieldByName('MessageType').Value := 'OrderToAudit'; + FieldByName('MessageName').Value := 'ƻ'; + FieldByName('Title').Value := 'µƻ'; + FieldByName('URL').Value := 'subpages/plan/view?id=' + Trim(MDateId); + FieldByName('OpenId').Value := Trim(CDS_WXTS.FieldByName('wxid').AsString); + FieldByName('Status').Value := '0'; + FieldByName('CreateDate').Value := FormatDateTime('yyyymmdd', SGetServerDateTime(ADOQueryTemp)); + FieldByName('CreateTime').Value := FormatDateTime('HH:mm:ss', SGetServerDateTime(ADOQueryTemp)); + FieldByName('BusinessId').Value := Trim(MDateId); + FieldByName('KeyWord1').Value := Trim(KeyWord1); + FieldByName('KeyWord2').Value := Trim(KeyWord2); + FieldByName('KeyWord3').Value := Trim(KeyWord3); + FieldByName('Remark').Value := 'ɲѯ飡'; + Post; + end; + CDS_WXTS.Next; + end; + + GetHTTP('http://aotang.rightsoft.top/api/message/send/OrderToAudit'); +end; + +procedure TfrmTradeDispatchedList.InitGridFH(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered := False; + Close; + sql.Clear; + sql.Add('exec Order_QryList :TMMId,:WSql'); + Parameters.ParamByName('WSql').Value := ' and FillTime>=''' + Trim(FormatDateTime('yyyy-MM-dd', frmFrameDateSel1.BegDate.Date)) + '''' + ' and FillTime<''' + Trim(FormatDateTime('yyyy-MM-dd', frmFrameDateSel1.EndDate.Date + 1)) + ''''; + Open; + end; + SCreateCDS(ADOQueryMain, Order_Main); + SInitCDSData(ADOQueryMain, Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmTradeDispatchedList.InitForm(); +begin + ReadCxGrid('ָʾбFF1', Tv1, 'ָʾ'); + ReadCxGrid('ָʾбFFTv21', Tv2, 'ָʾ'); + frmFrameDateSel1.BegDate.Date := SGetServerDate(ADOQueryTemp) - 180; + frmFrameDateSel1.EndDate.Date := SGetServerDate(ADOQueryTemp); + + SetStatus(); + InitGrid(); +end; + +function TfrmTradeDispatchedList.DelData(): Boolean; +begin + try + Result := false; + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Trade_Market_Main where TMMId=''' + Trim(Order_Main.fieldbyname('TMMId').AsString) + ''''); + sql.Add('delete Trade_Market_Sub where TMMId=''' + Trim(Order_Main.fieldbyname('TMMId').AsString) + ''''); + sql.Add('delete Trade_Plan_Fty where TMMId=''' + Trim(Order_Main.fieldbyname('TMMId').AsString) + ''''); + + 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('ָʾţ' + trim(Order_Main.FieldByName('TMMNo').AsString)))); + sql.Add(',' + quotedstr(trim('ɹ'))); + sql.Add(')'); + ExecSQL; + end; + + ADOQueryCmd.Connection.CommitTrans; + Result := True; + except + ADOQueryCmd.Connection.RollbackTrans; + Result := False; + Application.MessageBox('ɾ쳣', 'ʾ', 0); + end; +end; + +procedure TfrmTradeDispatchedList.TBPrintClick(Sender: TObject); +begin + if Order_Main.IsEmpty then + Exit; + try + frmLabelPrint := TfrmLabelPrint.Create(Application); + with frmLabelPrint do + begin + FLMType := 'TradePlanPrint'; + FFiltration1 := Trim(Order_Main.fieldbyname('TMMId').AsString); + if ShowModal = 1 then + begin +// Self.InitGrid(); + end; + end; + finally + frmLabelPrint.Free; + end; +end; + +procedure TfrmTradeDispatchedList.TBRafreshClick(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmTradeDispatchedList.TMMNoMChange(Sender: TObject); +begin + if ADOQueryMain.Active = False then + Exit; + SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); + SCreateCDS(ADOQueryMain, Order_Main); + SInitCDSData(ADOQueryMain, Order_Main); +end; + +procedure TfrmTradeDispatchedList.FormShow(Sender: TObject); +begin + inherited; + canshu1 := self.fParameters1; + fFlileFlag := UserDataFlag + 'HX'; + cxTabControl1.TabIndex := 0; + InitForm(); +end; + +procedure TfrmTradeDispatchedList.TBTPClick(Sender: TObject); +var + FQty, FQty1, FMxQty, FPQty, FMxQtyS, FPQtyS: string; +begin +end; + +procedure TfrmTradeDispatchedList.CheckBox1Click(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmTradeDispatchedList.TBCKClick(Sender: TObject); +begin + if Order_Main.IsEmpty then + Exit; + + try + frmTradeMarketInPut := TfrmTradeMarketInPut.Create(Application); + with frmTradeMarketInPut do + begin + PState := 1; + FTMMId := Trim(Self.Order_Main.fieldbyname('TMMId').AsString); + ToolBar2.Visible := False; + TBSave.Visible := False; + ScrollBox1.Enabled := True; + N2.Visible := False; + if ShowModal = 1 then + begin + + end; + end; + finally + frmTradeMarketInPut.Free; + end; + +end; + +procedure TfrmTradeDispatchedList.TMMNoKeyPress(Sender: TObject; var Key: Char); +begin + + if Key = #13 then + begin + initgrid(); + end; +end; + +procedure TfrmTradeDispatchedList.Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); +begin + + if Order_Main.IsEmpty then + exit; + InitPH(); +end; + +procedure TfrmTradeDispatchedList.TBFJClick(Sender: TObject); +begin + if Order_Main.IsEmpty then + Exit; + try + frmAttachmentUpload := TfrmAttachmentUpload.Create(Application); + with frmAttachmentUpload do + begin + if Trim(canshu1) <> 'ѯ' then + FEditAuthority := True; + fkeyNO := Trim(Self.Order_Main.fieldbyname('TMMId').AsString); + fType := 'ָʾ'; + if ShowModal = 1 then + begin + + end; + end; + finally + frmAttachmentUpload.Free; + end; +end; + +procedure TfrmTradeDispatchedList.ToolButton6Click(Sender: TObject); +begin + inherited; + if Order_Main.IsEmpty then + exit; + frmTradeMarketDisSel := TfrmTradeMarketDisSel.create(self); + with frmTradeMarketDisSel do + begin + + fmainID := trim(self.Order_Main.FieldByName('mainID').AsString); + if showmodal = 1 then + begin + + end; + free; + end; + TBRafresh.Click; +end; + +procedure TfrmTradeDispatchedList.phokClick(Sender: TObject); +begin + inherited; + if cds_ph.IsEmpty then + exit; + try + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('select * from Trade_Market_Sub '); + sql.Add('where TMMID=' + quotedstr(trim(Order_Main.fieldbyname('TMMID').AsString))); + sql.Add('and TMSID=' + quotedstr(trim(Order_Main.fieldbyname('TMSID').AsString))); + open; + edit; + fieldbyname('substatus').Value := '2'; + post; + end; + application.MessageBox('ȷϳɹ', 'ʾϢ'); + TBRafresh.Click; + except + application.MessageBox('ȷʧܣ', 'ʾϢ', 0); + end; +end; + +procedure TfrmTradeDispatchedList.fhClick(Sender: TObject); +var + MStkIds, maxno: string; + i, fRoll: integer; + fNum: double; +begin + if cds_ph.IsEmpty then + exit; + + if Order_Main.Locate('ssel', true, []) = false then + begin + Application.MessageBox('ûѡ!', 'ʾ', 0); + Exit; + end; + if Application.MessageBox('ȷҪƷ', 'ʾ', 32 + 4) <> IDYES then + Exit; + + if GetLSNo(ADOQueryCmd, maxno, 'CK', 'Trade_Cloth_IO', 3, 1) = False then + begin + Application.MessageBox('ȡⵥʧ!', 'ʾ', 0); + Exit; + end; + + ADOQueryCmd.Connection.BeginTrans; + try + Order_Main.First; + Order_Main.DisableControls; + CDS_ph.DisableControls; + MSubIds := ''; + MStkIds := ''; + while not Order_Main.eof do + begin + + if Order_Main.FieldByName('ssel').AsBoolean then + begin + InitPH(); + + MSubIds := MSubIds + (Trim(Order_Main.FieldByName('TMSID').AsString)) + ','; + with cds_ph do + begin + while not eof do + begin + MStkIds := MStkIds + (Trim(cds_ph.FieldByName('StkId').AsString)) + ','; + next; + end; + end; + + end; + Order_Main.Next; + end; + MStkIds := copy(MStkIds, 1, Length(MStkIds) - 1); + MSubIds := copy(MSubIds, 1, Length(MSubIds) - 1); + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('insert into Trade_Need_Up(UType,UDataId,UOperation,UOperator,UModule,UDetails) '); + sql.Add('values('''' '); + sql.Add(',' + quotedstr(MSubIds)); + sql.Add(','''' '); + sql.Add(',' + quotedstr(DName)); + sql.Add(',' + quotedstr(trim(self.Caption))); + sql.Add(',' + quotedstr(MStkIds)); + sql.Add(') '); + execsql; + end; + + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('insert into Finance_Need_Up(UType,UDataId,UOperation,UOperator,UModule,UDetails) '); + sql.Add('values(''ó׳Ʒ'' '); + sql.Add(',' + quotedstr(maxno)); + sql.Add(','''' '); + sql.Add(',' + quotedstr(DName)); + sql.Add(',' + quotedstr(trim(self.Caption))); + sql.Add(',' + quotedstr(MStkIds)); + sql.Add(') '); + execsql; + end; + + with ADOQueryCmd do + begin + Close; + Sql.Clear; + Sql.Add('exec P_BS_Cloth_Out_Multiple '); + Sql.Add(' @StkIds=' + quotedstr(trim(MStkIds))); + Sql.Add(',@IOTime=' + Quotedstr(FormatDateTime('yyyy-MM-dd', Now()))); + Sql.Add(',@IOType=' + Quotedstr('')); + Sql.Add(',@BCIONO=' + Quotedstr(maxno)); + Sql.Add(',@ToCoNo=' + Quotedstr(Trim(Order_Main.FieldByName('CustNo').AsString))); + Sql.Add(',@ToCoName=' + Quotedstr(Trim(Order_Main.FieldByName('CustName').AsString))); + Sql.Add(',@Dcode=' + Quotedstr(DCode)); + Sql.Add(',@DName=' + Quotedstr(DName)); + ShowMessage(sql.text); + Open; + end; + + if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then + begin + raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString))); + end; + + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update Trade_Market_Sub set substatus =3 '); + sql.add('where EXISTS(select X.RTValue from [dbo].[F_Tool_SplitString](''' + MSubIds + ''','','') X where X.RTValue=Trade_Market_Sub.TMSID ) '); +// ShowMessage(sql.text); + execsql; + end; + + CDS_ph.EnableControls; + Order_Main.EnableControls; + ADOQueryCmd.Connection.CommitTrans; + if Application.MessageBox('ȷҪӡⵥ', 'ʾ', 32 + 4) = IDYES then + begin + TBPrint1.Click; + end; + TBRafresh.Click; + + except + CDS_ph.EnableControls; + Order_Main.EnableControls; + ADOQueryCmd.Connection.RollbackTrans; + application.MessageBox('ʧܣ', 'ʾϢ'); + end; +end; + +procedure TfrmTradeDispatchedList.ToolButton9Click(Sender: TObject); +var + fPrintFile, FLabVolume: string; +begin + if CDS_PH.IsEmpty then + Exit; + if CDS_PH.Locate('SSel', True, []) = False then + begin + Application.MessageBox('ûѡ!', 'ʾ', 0); + Exit; + end; + CDS_PH.DisableControls; + with CDS_PH do + begin + First; + while not Eof do + begin + if CDS_PH.FieldByName('SSel').AsBoolean = True then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update Trade_Cloth_Inspect Set PrtCount=PrtCount+1,PrtDate=getdate(),Prter=''' + Trim(DName) + ''''); + sql.Add(' where BCIOID=''' + Trim(CDS_PH.fieldbyname('BCIOID').AsString) + ''''); + ExecSQL; + end; + + with ADOQueryPrint do + begin + Close; + SQL.Clear; + sql.Add(' EXEC P_BS_Cloth_Prt13 '); + SQL.Add(' @Filtration=''' + Trim(CDS_PH.fieldbyname('BCIOID').AsString) + ''''); + Open; + end; + if ADOQueryPrint.IsEmpty then + begin + application.MessageBox('ǩδҵ', 'ʾϢ', MB_ICONERROR); + CDS_PH.EnableControls; + exit; + end; + + if Trim(ADOQueryPrint.fieldbyname('Grade').AsString) = 'Ʒ' then + FLabVolume := Trim(ADOQueryPrint.fieldbyname('LabVolume').AsString) + else + FLabVolume := 'Ʒǩ'; + + ExportFtErpFile(FLabVolume + '.rmf', ADOQueryTemp); + fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + FLabVolume + '.rmf'; + + if FileExists(fPrintFile) then + begin + RM1.LoadFromFile(fPrintFile); + if Trim(ADOQueryPrint.fieldbyname('LabVolume').AsString) <> 'Ʒǩ' then + Rm1.DefaultCopies := 1 + else + Rm1.DefaultCopies := 1; + RM1.PrintReport; + end + else + begin + Application.MessageBox(PChar('û' + fPrintFile), 'ʾ', 0); + end; + end; + Next; + end; + end; + CDS_PH.EnableControls; + + initPH(); +end; + +procedure TfrmTradeDispatchedList.delClick(Sender: TObject); +begin + inherited; + if cds_ph.IsEmpty then + exit; + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('delete from Trade_Market_Distribution '); + sql.Add('where TMD=' + quotedstr(trim(cds_ph.fieldbyname('TMD').AsString))); + execsql; + end; + cds_ph.Delete; +end; + +procedure TfrmTradeDispatchedList.TBPrint1Click(Sender: TObject); +begin + inherited; + if Order_Main.IsEmpty then + Exit; + MSubIds := ''; + Order_Main.DisableControls; + with Order_Main do + begin + First; + while Order_Main.Locate('SSel', True, []) do + begin + + MSubIds := MSubIds + (Trim(Order_Main.fieldbyname('TMSID').AsString)) + ','; + + Edit; + FieldByName('SSel').Value := False; + Post; + end; + end; + Order_Main.EnableControls; + + MSubIds := copy(MSubIds, 1, Length(MSubIds) - 1); + + try + frmLabelPrint := TfrmLabelPrint.Create(Application); + with frmLabelPrint do + begin + FLMType := 'DistributionPrint'; + FFiltration1 := Trim(MSubIds); + if ShowModal = 1 then + begin +// Self.InitGrid(); + end; + end; + finally + frmLabelPrint.Free; + end; +end; + +procedure TfrmTradeDispatchedList.cxTabControl1Change(Sender: TObject); +begin + SetStatus(); + InitGrid(); +end; + +procedure TfrmTradeDispatchedList.N1Click(Sender: TObject); +begin + Clipboard.SetTextBuf(PChar(Trim(Order_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString))); +end; + +procedure TfrmTradeDispatchedList.N2Click(Sender: TObject); +begin + Clipboard.SetTextBuf(PChar(Trim(ORDER_SUB.fieldbyname(TV2.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString))); +end; + +procedure TfrmTradeDispatchedList.N3Click(Sender: TObject); +begin + SelOKNoFiler(Tv1, True); //ȫѡ +end; + +procedure TfrmTradeDispatchedList.N4Click(Sender: TObject); +begin + SelOKNoFiler(Tv1, False); //ȫ +end; + +procedure TfrmTradeDispatchedList.ComboBox1Change(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmTradeDispatchedList.CustomerNoNameKeyPress(Sender: TObject; var Key: Char); +begin + if Key = #13 then + begin + InitGrid(); + end; +end; + +procedure TfrmTradeDispatchedList.ToolButton5Click(Sender: TObject); +begin + if cds_ph.IsEmpty then + exit; + if cxTabControl1.TabIndex = 1 then + begin + if Application.MessageBox('ȷҪִв', 'ʾ', 32 + 4) <> IDYES then + Exit; + + try + + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('select * from Trade_Market_Sub '); + sql.Add('where TMMID=' + quotedstr(trim(Order_Main.fieldbyname('TMMID').AsString))); + sql.Add('and TMSID=' + quotedstr(trim(Order_Main.fieldbyname('TMSID').AsString))); + open; + edit; + fieldbyname('substatus').Value := '0'; + post; + end; + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update BS_Cloth_IO SET disstatus=null '); + sql.Add('from Trade_Market_Distribution B where B.stkid=A.stkid '); + sql.Add('and TMMID=' + quotedstr(trim(Order_Main.fieldbyname('TMMID').AsString))); + sql.Add('and TMSID=' + quotedstr(trim(Order_Main.fieldbyname('TMSID').AsString))); + execsql; + end; + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('delete from Trade_Market_Distribution '); + sql.Add('where TMSID=' + quotedstr(trim(Order_Main.fieldbyname('TMSID').AsString))); + execsql; + end; + + 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(':' + trim(Order_Main.FieldByName('TMMNO').AsString) + ' :' + trim(Order_Main.FieldByName('C_Code').AsString) + ' ɫ:' + trim(Order_Main.FieldByName('C_Color').AsString) + ' :' + trim(Order_Main.FieldByName('C_Pattern').AsString)))); + sql.Add(',' + quotedstr(trim('ɹ'))); + sql.Add(')'); + ExecSQL; + end; + + ADOQueryCmd.Connection.CommitTrans; + + application.MessageBox('ɹ', 'ʾϢ'); + TBRafresh.Click; + except + ADOQueryCmd.Connection.RollbackTrans; + application.MessageBox('ʧܣ', 'ʾϢ', 0); + end; + end; +end; + +procedure TfrmTradeDispatchedList.TdbchexiaoClick(Sender: TObject); +begin + inherited; + if CDS_PH.IsEmpty then + exit; + CDS_PH.first; + try + if Application.MessageBox('ȷҪִв', 'ʾ', 32 + 4) <> IDYES then + Exit; + ADOQueryCmd.Connection.BeginTrans; + while not CDS_PH.eof do + begin + if CDS_PH.FieldByName('ssel').AsBoolean then + begin + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update BS_Cloth_IO SET disstatus=null '); + sql.Add('where stkid=' + quotedstr(trim(CDS_PH.fieldbyname('stkid').AsString))); + execsql; + end; + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('delete from Trade_Market_Distribution '); + sql.Add('where TMDID=' + quotedstr(trim(CDS_PH.fieldbyname('TMDID').AsString))); + execsql; + end; + end; + CDS_PH.next; + end; + with ADOQueryTemp do + begin + close; + sql.Clear; + sql.Add('select * from Trade_Market_Distribution '); + sql.Add('where TMMID=' + quotedstr(trim(Order_Main.fieldbyname('TMMID').AsString))); + sql.Add('and TMSID=' + quotedstr(trim(Order_Main.fieldbyname('TMSID').AsString))); + open; + end; + if ADOQueryTemp.IsEmpty then + begin + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('select * from Trade_Market_Sub '); + sql.Add('where TMMID=' + quotedstr(trim(Order_Main.fieldbyname('TMMID').AsString))); + sql.Add('and TMSID=' + quotedstr(trim(Order_Main.fieldbyname('TMSID').AsString))); + open; + edit; + fieldbyname('substatus').Value := '0'; + post; + end; + end; + CDS_PH.first; + + 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(':' + trim(Order_Main.FieldByName('TMMNO').AsString) + ' :' + trim(Order_Main.FieldByName('C_Code').AsString) + ' ɫ:' + trim(Order_Main.FieldByName('C_Color').AsString) + ' :' + trim(Order_Main.FieldByName('C_Pattern').AsString)))); + sql.Add(',' + quotedstr(trim('ɹ'))); + sql.Add(')'); + ExecSQL; + end; + ADOQueryCmd.Connection.CommitTrans; + + Application.MessageBox('ɹ!', 'ʾ', 0); + initph(); + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣!', 'ʾ', 0); + end; +end; + +procedure TfrmTradeDispatchedList.ToolButton4Click(Sender: TObject); +var + fsubid: string; +begin + inherited; + if Order_Main.IsEmpty then + exit; + fsubid := order_main.FieldByName('TMSID').AsString; + + frmTradeMarketDisSel := TfrmTradeMarketDisSel.create(self); + with frmTradeMarketDisSel do + begin + fmainID := trim(self.Order_Main.FieldByName('TMMID').AsString); + if showmodal = 1 then + begin + + end; + free; + end; + + TBRafresh.Click; + Order_Main.Locate('Tmsid', fsubid, []); +end; + +procedure TfrmTradeDispatchedList.ToolButton1Click(Sender: TObject); +begin + inherited; + try + frmTradeMarketDisScan := TfrmTradeMarketDisScan.Create(Application); + with frmTradeMarketDisScan do + begin + show; + end; + finally + end; +end; + +procedure TfrmTradeDispatchedList.ToolButton2Click(Sender: TObject); +begin + WriteCxGrid('ָʾбFF1', Tv1, 'ָʾ'); + WriteCxGrid('ָʾбFFTv21', Tv2, 'ָʾ'); +end; + +procedure TfrmTradeDispatchedList.ToolButton3Click(Sender: TObject); +var + MStkIds: string; +begin + if Order_Main.Locate('ssel', true, []) = false then + begin + Application.MessageBox('ûѡ!', 'ʾ', 0); + Exit; + end; + try + ADOQueryCmd.Connection.BeginTrans; + MSubIds := ''; + MStkIds := ''; + Order_Main.First; + while not Order_Main.eof do + begin + + if Order_Main.FieldByName('ssel').AsBoolean then + begin + InitPH(); + + MSubIds := MSubIds + (Trim(Order_Main.FieldByName('TMSID').AsString)) + ','; + with cds_ph do + begin + while not eof do + begin + MStkIds := MStkIds + (Trim(cds_ph.FieldByName('StkId').AsString)) + ','; + next; + end; + end; + + end; + Order_Main.Next; + end; + MStkIds := copy(MStkIds, 1, Length(MStkIds) - 1); + MSubIds := copy(MSubIds, 1, Length(MSubIds) - 1); + + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('insert into Trade_Need_Up(UType,UDataId,UOperation,UOperator,UModule,UDetails) '); + sql.Add('values(''ó׳Ʒ'' '); + sql.Add(',' + quotedstr(MSubIDS)); + sql.Add(','''' '); + sql.Add(',' + quotedstr(DName)); + sql.Add(',' + quotedstr(trim(self.Caption))); + sql.Add(',' + quotedstr(MStkIds)); + sql.Add(') '); + execsql; + end; + + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('insert into Finance_Need_Up(UType,UDataId,UOperation,UOperator,UModule,UDetails) '); + sql.Add('values(''ó׳Ʒ'' '); + sql.Add(',' + quotedstr('')); + sql.Add(','''' '); + sql.Add(',' + quotedstr(DName)); + sql.Add(',' + quotedstr(trim(self.Caption))); + sql.Add(',' + quotedstr(MStkIds)); + sql.Add(') '); + execsql; + end; + with ADOQueryCmd do + begin + Close; + Sql.Clear; + Sql.Add('exec P_BS_Cloth_Out_TMMDel '); + Sql.Add(' @StkIds=' + quotedstr(trim(MStkIds))); + Sql.Add(',@DCode=' + Quotedstr(DCode)); + Sql.Add(',@DName=' + Quotedstr(DName)); +// ShowMessage(sql.Text); + Open; + end; + if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then + begin + raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString))); + end; + + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update Trade_Market_Sub set substatus =2 '); + sql.add('where EXISTS(select X.RTValue from [dbo].[F_Tool_SplitString](''' + MSubIds + ''','','') X where X.RTValue=Trade_Market_Sub.TMSID ) '); +// ShowMessage(sql.text); + execsql; + end; + +// PlayWav('ȷ'); + + Application.MessageBox('ɹ!', 'ʾ', 0); + ADOQueryCmd.Connection.CommitTrans; + + TBRafresh.Click; + except + Application.MessageBox('ʧ!', 'ʾ', 0); + order_main.EnableControls; + ADOQueryCmd.Connection.RollbackTrans; + end; + +end; + +procedure TfrmTradeDispatchedList.phwcClick(Sender: TObject); +var + phRollNum, phQty: double; +begin + if cds_ph.IsEmpty then + exit; + + with CDS_PH do + begin + DisableControls; + first; + while not eof do + begin + if (trim(fieldbyname('C_Code').AsString) <> trim(Order_Main.FieldByName('C_Code').AsString)) or (trim(fieldbyname('C_Color').AsString) <> trim(Order_Main.FieldByName('C_Color').AsString)) or (trim(fieldbyname('C_Pattern').AsString) <> trim(Order_Main.FieldByName('C_Pattern').AsString)) then + begin + application.MessageBox('Ʒţͻɫһ£', 'ʾϢ', 0); + EnableControls; + exit; + end; + next; + end; + first; + EnableControls; + end; + phRollNum := 0; + phQty := 0; + with CDS_PH do + begin + DisableControls; + first; + while not eof do + begin + phRollNum := phRollNum + 1; + phQty := phQty + CDS_PH.fieldbyname('stkmeter').AsFloat; + next; + end; + first; + EnableControls; + end; + + if (phRollNum <> Order_Main.FieldByName('TMSPiece').AsFloat) or (phQty <> Order_Main.FieldByName('TMSQty').AsFloat) then + begin + if Application.MessageBox('δﵽҪȷ', 'ʾϢ', 32 + 4) <> IDYES then + Exit; + end; + + if SaveData() then + begin + application.MessageBox('ɹ!', 'ʾϢ'); + TBRafresh.Click; + end + else + begin + application.MessageBox('ʧ!', 'ʾϢ', 0); + end; +end; + +function TfrmTradeDispatchedList.SaveData(): Boolean; +var + phID: string; +begin + Result := false; + ADOQueryCmd.Connection.BeginTrans; + try + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('delete from Trade_Market_Distribution '); + sql.Add('where TMMID=' + quotedstr(trim(Order_Main.fieldbyname('TMMID').AsString))); + sql.Add('and TMSID=' + quotedstr(trim(Order_Main.fieldbyname('TMSID').AsString))); + execsql; + end; + + with CDS_PH do + begin + DisableControls; + first; + while not eof do + begin + if fieldbyname('stkmeter').AsFloat = 0 then + continue; + if GetLSNo(ADOQueryTemp, phID, 'PH', 'Trade_Market_Distribution', 4, 1) = False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ', 'ʾ', 0); + Exit; + end; + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('select * from Trade_Market_Distribution '); + sql.Add('where TMMID=' + quotedstr(trim(Order_Main.fieldbyname('TMMID').AsString))); + sql.Add('and TMSID=' + quotedstr(trim(Order_Main.fieldbyname('TMSID').AsString))); + open; + end; + ADOQueryCmd.Append; + ADOQueryCmd.FieldByName('TMDID').Value := trim(phID); + ADOQueryCmd.FieldByName('TMMID').Value := trim(Order_main.fieldbyname('TMMID').AsString); + ADOQueryCmd.FieldByName('TMSID').Value := trim(Order_main.fieldbyname('TMSID').AsString); + ADOQueryCmd.FieldByName('STKID').Value := trim(CDS_PH.fieldbyname('STKID').AsString); + ADOQueryCmd.FieldByName('Filler').Value := trim(DName); + ADOQueryCmd.Post; + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('select * from Trade_Cloth_Stock '); + sql.Add('where StkID=' + quotedstr(trim(CDS_PH.fieldbyname('StkID').AsString))); + open; + edit; + fieldbyname('Disstatus').Value := '1'; + post; + end; + next; + end; + first; + EnableControls; + + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('select * from Trade_Market_Sub '); + sql.Add('where TMMID=' + quotedstr(trim(Order_Main.fieldbyname('TMMID').AsString))); + sql.Add('and TMSID=' + quotedstr(trim(Order_Main.fieldbyname('TMSID').AsString))); + open; + edit; + fieldbyname('substatus').Value := '2'; + post; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + Result := true; + except + ADOQueryCmd.Connection.RollbackTrans; + end; +end; + +end. + diff --git a/T05贸易门市管理/U_TradeDispatchedSel.dfm b/T05贸易门市管理/U_TradeDispatchedSel.dfm new file mode 100644 index 0000000..84c8960 --- /dev/null +++ b/T05贸易门市管理/U_TradeDispatchedSel.dfm @@ -0,0 +1,458 @@ +inherited frmTradeDispatchedSel: TfrmTradeDispatchedSel + Left = 165 + Top = 13 + Caption = #37197#36135#31649#29702 + ClientHeight = 562 + ClientWidth = 1540 + Position = poScreenCenter + ExplicitLeft = -70 + ExplicitWidth = 1556 + ExplicitHeight = 601 + PixelsPerInch = 96 + TextHeight = 13 + object ToolBar1: TToolBar [0] + Tag = 1 + Left = 0 + Top = 0 + Width = 1540 + Height = 38 + AutoSize = True + ButtonHeight = 38 + ButtonWidth = 91 + Caption = 'ToolBar1' + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeMarket.ImageList_new32 + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 1 + OnClick = TBRafreshClick + end + object ToolButton2: TToolButton + Left = 71 + Top = 0 + AutoSize = True + Caption = #20445#23384#26684#24335 + ImageIndex = 16 + OnClick = ToolButton2Click + end + object TBClose: TToolButton + Left = 166 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 7 + OnClick = TBCloseClick + end + end + object Panel1: TPanel [1] + Left = 0 + Top = 38 + Width = 1540 + Height = 51 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clWhite + ParentBackground = False + TabOrder = 1 + object Label3: TLabel + Left = 317 + Top = 20 + Width = 52 + Height = 12 + Caption = #22823#36135#21333#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label12: TLabel + Left = 613 + Top = 119 + Width = 26 + Height = 12 + Caption = #20811#37325 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label1: TLabel + Left = 637 + Top = 20 + Width = 26 + Height = 12 + Caption = #23458#25143 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 478 + Top = 20 + Width = 52 + Height = 12 + Caption = #20135#21697#21517#31216 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BegDate: TDateTimePicker + Left = 128 + Top = 16 + Width = 85 + Height = 20 + Date = 40675.000000000000000000 + Format = 'yyyy-MM-dd' + Time = 0.464742650459811600 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 219 + Top = 16 + Width = 86 + Height = 20 + Date = 40675.000000000000000000 + Format = 'yyyy-MM-dd' + Time = 0.464761099538009200 + TabOrder = 2 + end + object TMMNo: TEdit + Tag = 2 + Left = 375 + Top = 16 + Width = 77 + Height = 21 + TabOrder = 1 + OnKeyPress = TMMNoKeyPress + end + object MPRTKZ: TEdit + Tag = 2 + Left = 654 + Top = 99 + Width = 56 + Height = 21 + TabOrder = 3 + end + object ComboBox1: TComboBox + Left = 49 + Top = 16 + Width = 71 + Height = 21 + Enabled = False + TabOrder = 4 + Text = #21046#21333#26085#26399 + OnChange = ComboBox1Change + Items.Strings = ( + #21046#21333#26085#26399 + #20132#36135#26085#26399) + end + object CustName: TEdit + Tag = 2 + Left = 669 + Top = 16 + Width = 80 + Height = 21 + TabOrder = 5 + OnKeyPress = TMMNoKeyPress + end + object C_Name: TEdit + Tag = 2 + Left = 533 + Top = 16 + Width = 77 + Height = 21 + TabOrder = 6 + OnKeyPress = TMMNoKeyPress + end + object CheckBox1: TCheckBox + Left = 28 + Top = 18 + Width = 19 + Height = 17 + Checked = True + State = cbChecked + TabOrder = 7 + end + object CheckBox3: TCheckBox + Left = 776 + Top = 16 + Width = 99 + Height = 19 + Caption = #20840#36873 + TabOrder = 8 + OnClick = CheckBox3Click + end + end + object cxGrid1: TcxGrid [2] + Left = 0 + Top = 111 + Width = 1540 + Height = 451 + Align = alClient + TabOrder = 2 + object Tv1: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + OnCellDblClick = Tv1CellDblClick + DataController.DataSource = DataSource1 + DataController.Filter.AutoDataSetFilter = True + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = Tv1Column11 + end + item + Kind = skSum + Column = Tv1Column10 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + OptionsView.IndicatorWidth = 30 + Styles.Content = DataLink_TradeMarket.Default + Styles.IncSearch = DataLink_TradeMarket.SHuangSe + Styles.Footer = DataLink_TradeMarket.Default + Styles.Header = DataLink_TradeMarket.Default + Styles.Inactive = DataLink_TradeMarket.SHuangSe + Styles.Selection = DataLink_TradeMarket.SHuangSe + object Tv1Column14: TcxGridDBColumn + Caption = #22823#36135#21333#21495 + DataBinding.FieldName = 'TMMNO' + HeaderAlignmentHorz = taCenter + Width = 70 + end + object v1OrdDate: TcxGridDBColumn + Caption = #21046#21333#26085#26399 + DataBinding.FieldName = 'OrdDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeMarket.Default + Width = 66 + end + object Tv1Column2: TcxGridDBColumn + Caption = #32463#33829#21333#20301 + DataBinding.FieldName = 'OurCoName' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeMarket.FontBlue + Width = 66 + end + object Tv1Column4: TcxGridDBColumn + Caption = #23458#25143 + DataBinding.FieldName = 'CustName' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeMarket.FoneClMaroon + Width = 66 + end + object v1DeliveryDate: TcxGridDBColumn + Caption = #20132#36135#26085#26399 + DataBinding.FieldName = 'DlyDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeMarket.Default + Width = 66 + end + object Tv1Column9: TcxGridDBColumn + Caption = #32534#21495 + DataBinding.FieldName = 'C_Code' + HeaderAlignmentHorz = taCenter + end + object Tv1Column12: TcxGridDBColumn + Caption = #21697#21517 + DataBinding.FieldName = 'C_Name' + HeaderAlignmentHorz = taCenter + end + object Tv1Column13: TcxGridDBColumn + Caption = #20013#25991#39068#33394 + DataBinding.FieldName = 'C_Color' + HeaderAlignmentHorz = taCenter + end + object Tv1Column15: TcxGridDBColumn + Caption = #33457#22411 + DataBinding.FieldName = 'C_Pattern' + HeaderAlignmentHorz = taCenter + Width = 70 + end + object Tv1Column11: TcxGridDBColumn + Caption = #21305#25968 + DataBinding.FieldName = 'TMSPiece' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + object Tv1Column10: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'TMSQty' + HeaderAlignmentHorz = taCenter + HeaderGlyphAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + object Tv1Column7: TcxGridDBColumn + Caption = #37197#36135#21305#25968 + DataBinding.FieldName = 'PHRollNum' + end + object Tv1Column8: TcxGridDBColumn + Caption = #37197#36135#25968#37327 + DataBinding.FieldName = 'PHQty' + end + object v1Column11: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'OrdUnit' + HeaderAlignmentHorz = taCenter + HeaderGlyphAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + object Tv1Column6: TcxGridDBColumn + Caption = #21046#21333#20154 + DataBinding.FieldName = 'FILLER' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + object Tv1Column1: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'Note' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + object Tv1Column3: TcxGridDBColumn + Caption = #21457#36135#22320#22336 + DataBinding.FieldName = 'ShippingAddress' + HeaderAlignmentHorz = taCenter + Width = 134 + end + object Tv1Column5: TcxGridDBColumn + Caption = #32852#31995#26041#24335 + DataBinding.FieldName = 'CONTACT' + HeaderAlignmentHorz = taCenter + Width = 80 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object cxTabControl1: TcxTabControl [3] + Left = 0 + Top = 89 + Width = 1540 + Height = 22 + Align = alTop + Enabled = False + TabOrder = 3 + Properties.CustomButtons.Buttons = <> + Properties.Style = 9 + Properties.TabIndex = 0 + Properties.Tabs.Strings = ( + #26410#37197#36135 + #24050#37197#36135 + #24050#21457#36135 + #20840#37096) + OnChange = cxTabControl1Change + ClientRectRight = 0 + ClientRectTop = 0 + end + inherited ADOQueryBaseCmd: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + Left = 257 + Top = 152 + end + inherited ADOQueryBaseTemp: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + Left = 121 + Top = 153 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + Parameters = <> + Left = 568 + Top = 240 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 428 + Top = 176 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 328 + Top = 168 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 812 + Top = 440 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 724 + Top = 432 + end + object ADOQuerySub: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + Parameters = <> + Left = 328 + Top = 272 + end + object DataSource2: TDataSource + DataSet = ORDER_SUB + Left = 616 + Top = 420 + end + object IdFTP1: TIdFTP + ConnectTimeout = 0 + NATKeepAlive.UseKeepAlive = False + NATKeepAlive.IdleTimeMS = 0 + NATKeepAlive.IntervalMS = 0 + ProxySettings.ProxyType = fpcmNone + ProxySettings.Port = 0 + ReadTimeout = 0 + Left = 92 + Top = 258 + end + object ORDER_SUB: TClientDataSet + Aggregates = <> + Params = <> + Left = 228 + Top = 264 + end +end diff --git a/T05贸易门市管理/U_TradeDispatchedSel.pas b/T05贸易门市管理/U_TradeDispatchedSel.pas new file mode 100644 index 0000000..dae718e --- /dev/null +++ b/T05贸易门市管理/U_TradeDispatchedSel.pas @@ -0,0 +1,449 @@ +unit U_TradeDispatchedSel; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, + cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, cxMemo, + cxRichEdit, ComCtrls, cxContainer, cxTextEdit, cxMaskEdit, cxButtonEdit, + StdCtrls, ToolWin, DBClient, ADODB, ExtCtrls, BtnEdit, cxCalendar, StrUtils, + cxCurrencyEdit, cxImage, cxDBEdit, Menus, RM_Common, RM_Class, RM_e_Xls, + RM_Dataset, RM_System, RM_GridReport, cxGridCustomPopupMenu, cxGridPopupMenu, + cxPC, cxSplitter, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, + IdFTP, ShellAPI, cxDropDownEdit, cxCheckBox, RM_e_Graphic, RM_e_Jpeg, + cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, Math, + dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, + IdExplicitTLSClientServerBase, U_BaseHelp, Vcl.Clipbrd, U_BaseList, + System.ImageList, Vcl.ImgList; + +type + TfrmTradeDispatchedSel = class(TfrmBaseHelp) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + Tv1: TcxGridDBTableView; + cxGrid1Level1: TcxGridLevel; + cxGrid1: TcxGrid; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + Label3: TLabel; + TMMNo: TEdit; + v1OrdDate: TcxGridDBColumn; + v1DeliveryDate: TcxGridDBColumn; + Order_Main: TClientDataSet; + Label12: TLabel; + MPRTKZ: TEdit; + ADOQuerySub: TADOQuery; + DataSource2: TDataSource; + IdFTP1: TIdFTP; + v1Column11: TcxGridDBColumn; + ORDER_SUB: TClientDataSet; + ComboBox1: TComboBox; + Label1: TLabel; + CustName: TEdit; + Tv1Column6: TcxGridDBColumn; + Tv1Column2: TcxGridDBColumn; + Tv1Column10: TcxGridDBColumn; + Tv1Column11: TcxGridDBColumn; + Tv1Column1: TcxGridDBColumn; + Label2: TLabel; + C_Name: TEdit; + CheckBox1: TCheckBox; + ToolButton2: TToolButton; + Tv1Column4: TcxGridDBColumn; + Tv1Column3: TcxGridDBColumn; + Tv1Column5: TcxGridDBColumn; + cxTabControl1: TcxTabControl; + Tv1Column7: TcxGridDBColumn; + Tv1Column8: TcxGridDBColumn; + Tv1Column9: TcxGridDBColumn; + Tv1Column12: TcxGridDBColumn; + Tv1Column13: TcxGridDBColumn; + Tv1Column14: TcxGridDBColumn; + Tv1Column15: TcxGridDBColumn; + CheckBox3: TCheckBox; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure TMMNoMChange(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBTPClick(Sender: TObject); + procedure CheckBox1Click(Sender: TObject); + procedure TMMNoKeyPress(Sender: TObject; var Key: Char); + procedure cxTabControl1Change(Sender: TObject); + procedure N3Click(Sender: TObject); + procedure N4Click(Sender: TObject); + procedure ComboBox1Change(Sender: TObject); + procedure CustomerNoNameKeyPress(Sender: TObject; var Key: Char); + procedure JGTypeChange(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure N1Click(Sender: TObject); + procedure fhClick(Sender: TObject); + procedure CheckBox3Click(Sender: TObject); + procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); + private + DQdate: TDateTime; + MSubIds: string; + procedure InitGrid(); + procedure InitForm(); + function DelData(): Boolean; + procedure InitGridFH(); + procedure InitSub(); + procedure InitPH(); + procedure SetStatus(); + procedure InitImage(fwbid: string); + function SaveData(): Boolean; + + procedure SendMessageQR(MDateId, KeyWord1, KeyWord2, KeyWord3: string); + { Private declarations } + public + FFInt, FCloth: Integer; + canshu1, canshu2: string; + fFlileFlag: string; + FNOTE: string; + { Public declarations } + end; + +var + frmTradeDispatchedSel: TfrmTradeDispatchedSel; + +implementation + +uses + U_DataLink, U_RTFun, U_ZDYHelp, U_LabelPrint, U_AttachmentUpload, + U_TradeMarketInPut, U_TradeMarketDisSel, U_TradeMarketDisScan; + +{$R *.dfm} + +procedure TfrmTradeDispatchedSel.InitImage(fwbid: string); +begin + +end; + +procedure TfrmTradeDispatchedSel.SetStatus(); +begin + +end; + +procedure TfrmTradeDispatchedSel.InitSub(); +begin + +end; + +procedure TfrmTradeDispatchedSel.InitPH(); +begin + +end; + +procedure TfrmTradeDispatchedSel.JGTypeChange(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmTradeDispatchedSel.FormDestroy(Sender: TObject); +begin + inherited; +// frmProductOrderList:=nil; +end; + +procedure TfrmTradeDispatchedSel.FormClose(Sender: TObject; var Action: TCloseAction); +begin + inherited; + Action := caFree; +end; + +procedure TfrmTradeDispatchedSel.FormCreate(Sender: TObject); +begin + inherited; + cxgrid1.Align := alClient; + DQdate := SGetServerDate(ADOQueryTemp); + +end; + +procedure TfrmTradeDispatchedSel.TBCloseClick(Sender: TObject); +begin + + Close; + +end; + +procedure TfrmTradeDispatchedSel.InitGrid(); +var + STRwhere, Pwhere: string; +begin + STRwhere := ''; + Pwhere := SGetFilters(Panel1, 1, 2); + + begin + if trim(Pwhere) <> '' then + STRwhere := STRwhere + ' and ' + trim(Pwhere); + end; + STRwhere := STRwhere + ' and isnull(A.Status,''0'')=''9'' '; + if cxTabControl1.TabIndex = 0 then + begin + STRwhere := STRwhere + ' and isnull(substatus,''0'')=''' + inttostr(cxTabControl1.TabIndex) + ''''; + end; + if (cxTabControl1.TabIndex >= 1) and (cxTabControl1.TabIndex < 3) then + STRwhere := STRwhere + ' and isnull(substatus,''0'')=''' + inttostr(cxTabControl1.TabIndex + 1) + ''''; + + try + ADOQueryMain.DisableControls; + + with ADOQueryMain do + begin + Filtered := False; + Close; + sql.Clear; + sql.add(' select * '); + sql.Add(' ,PHRollNum=(select count(X.STKID) from Trade_Market_Distribution X where X.TMMID=A.TMMID and X.TMSID=B.TMSID)'); + sql.Add(' ,PHQty=(select sum(STKMeter) from Trade_Market_Distribution X inner join Trade_Cloth_Stock XX on X.stkid=XX.stkid where X.TMMID=A.TMMID and X.TMSID=B.TMSID)'); + sql.add(' from Trade_Market_Sub B'); + sql.add(' inner join Trade_Market_Main A on B.TMMID=A.TMMID '); + + if (ComboBox1.Text = 'Ƶ') and (CheckBox1.Checked = True) then + begin + sql.add(' where A.TMMDate>=' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)))); + sql.add(' and A.TMMDate<' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1)))); + end; + if (ComboBox1.Text = 'Ƶ') and (CheckBox1.Checked = False) then + begin + sql.add(' where A.TMMDate>=' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime - 39999)))); + sql.add(' and A.TMMDate<' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1)))); + end; + + if (ComboBox1.Text = '') and (CheckBox1.Checked = True) then + begin + sql.add(' where A.DlyDate>=' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)))); + sql.add(' and A.DlyDate<' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1)))); + end; + if (ComboBox1.Text = '') and (CheckBox1.Checked = False) then + begin + sql.add(' where A.DlyDate>=' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime - 39999)))); + sql.add(' and A.DlyDate<' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1)))); + end; + + if canshu1 = '¼' then + begin + sql.add(' and A.Filler= ' + QuotedStr(Trim(DName))); + end; + sql.add(' ' + STRwhere); + + sql.Add(' and ordtype='''' '); + + sql.add(' order by filltime desc'); +// ShowMessage(SQL.Text); + Open; + end; + + SCreateCDS(ADOQueryMain, Order_Main); + SInitCDSData(ADOQueryMain, Order_Main); + finally + ADOQueryMain.EnableControls; + TV1.DataController.Filter.Clear; + + end; +end; + +procedure TfrmTradeDispatchedSel.SendMessageQR(MDateId, KeyWord1, KeyWord2, KeyWord3: string); +begin + +end; + +procedure TfrmTradeDispatchedSel.InitGridFH(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered := False; + Close; + sql.Clear; + sql.Add('exec Order_QryList :TMMId,:WSql'); + Parameters.ParamByName('WSql').Value := ' and FillTime>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)) + '''' + ' and FillTime<''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.DateTime + 1)) + ''''; + Open; + end; + SCreateCDS(ADOQueryMain, Order_Main); + SInitCDSData(ADOQueryMain, Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmTradeDispatchedSel.InitForm(); +begin + ReadCxGrid('ָʾбFF1', Tv1, 'ָʾ'); + BegDate.DateTime := SGetServerDate(ADOQueryTemp) - 180; + EndDate.DateTime := SGetServerDate(ADOQueryTemp); + + SetStatus(); + InitGrid(); +end; + +function TfrmTradeDispatchedSel.DelData(): Boolean; +begin + try + Result := false; + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Trade_Market_Main where TMMId=''' + Trim(Order_Main.fieldbyname('TMMId').AsString) + ''''); + sql.Add('delete Trade_Market_Sub where TMMId=''' + Trim(Order_Main.fieldbyname('TMMId').AsString) + ''''); + sql.Add('delete Trade_Plan_Fty where TMMId=''' + Trim(Order_Main.fieldbyname('TMMId').AsString) + ''''); + + 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('ָʾţ' + trim(Order_Main.FieldByName('TMMNo').AsString)))); + sql.Add(',' + quotedstr(trim('ɹ'))); + sql.Add(')'); + ExecSQL; + end; + + ADOQueryCmd.Connection.CommitTrans; + Result := True; + except + ADOQueryCmd.Connection.RollbackTrans; + Result := False; + Application.MessageBox('ɾ쳣', 'ʾ', 0); + end; +end; + +procedure TfrmTradeDispatchedSel.TBRafreshClick(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmTradeDispatchedSel.TMMNoMChange(Sender: TObject); +begin + if ADOQueryMain.Active = False then + Exit; + SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); + SCreateCDS(ADOQueryMain, Order_Main); + SInitCDSData(ADOQueryMain, Order_Main); +end; + +procedure TfrmTradeDispatchedSel.FormShow(Sender: TObject); +begin + inherited; + InitForm(); +end; + +procedure TfrmTradeDispatchedSel.TBTPClick(Sender: TObject); +var + FQty, FQty1, FMxQty, FPQty, FMxQtyS, FPQtyS: string; +begin +end; + +procedure TfrmTradeDispatchedSel.CheckBox1Click(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmTradeDispatchedSel.CheckBox3Click(Sender: TObject); +begin + inherited; + if Order_Main.IsEmpty then + exit; + with Order_Main do + begin + DisableControls; + first; + while not eof do + begin + edit; + fieldbyname('ssel').Value := checkbox1.Checked; + post; + next; + end; + First; + EnableControls; + end; +end; + +procedure TfrmTradeDispatchedSel.TMMNoKeyPress(Sender: TObject; var Key: Char); +begin + + if Key = #13 then + begin + initgrid(); + end; +end; + +procedure TfrmTradeDispatchedSel.fhClick(Sender: TObject); +var + MStkIds, maxno: string; + i, fRoll: integer; + fNum: double; +begin + +end; + +procedure TfrmTradeDispatchedSel.cxTabControl1Change(Sender: TObject); +begin + SetStatus(); + InitGrid(); +end; + +procedure TfrmTradeDispatchedSel.N1Click(Sender: TObject); +begin + Clipboard.SetTextBuf(PChar(Trim(Order_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString))); +end; + +procedure TfrmTradeDispatchedSel.N3Click(Sender: TObject); +begin + SelOKNoFiler(Tv1, True); //ȫѡ +end; + +procedure TfrmTradeDispatchedSel.N4Click(Sender: TObject); +begin + SelOKNoFiler(Tv1, False); //ȫ +end; + +procedure TfrmTradeDispatchedSel.ComboBox1Change(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmTradeDispatchedSel.CustomerNoNameKeyPress(Sender: TObject; var Key: Char); +begin + if Key = #13 then + begin + InitGrid(); + end; +end; + +procedure TfrmTradeDispatchedSel.ToolButton2Click(Sender: TObject); +begin + WriteCxGrid('ָʾбFF1', Tv1, 'ָʾ'); + +end; + +procedure TfrmTradeDispatchedSel.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); +begin + inherited; + if Order_Main.IsEmpty then + exit; + + ModalResult := 1; +end; + +function TfrmTradeDispatchedSel.SaveData(): Boolean; +begin + +end; + +end. + diff --git a/T05贸易门市管理/U_TradeMarketDisScan.dfm b/T05贸易门市管理/U_TradeMarketDisScan.dfm new file mode 100644 index 0000000..3bd3310 --- /dev/null +++ b/T05贸易门市管理/U_TradeMarketDisScan.dfm @@ -0,0 +1,722 @@ +inherited frmTradeMarketDisScan: TfrmTradeMarketDisScan + Left = 143 + Top = 4 + Caption = #25195#25551#37197#36135 + ClientHeight = 650 + ClientWidth = 1540 + Color = clWhite + Font.Charset = GB2312_CHARSET + Font.Name = #23435#20307 + Position = poMainFormCenter + WindowState = wsMaximized + ExplicitWidth = 1556 + ExplicitHeight = 689 + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar [0] + Tag = 1 + Left = 0 + Top = 0 + Width = 1540 + Height = 38 + AutoSize = True + ButtonHeight = 38 + ButtonWidth = 91 + Caption = 'ToolBar1' + Color = clWhite + EdgeInner = esNone + EdgeOuter = esNone + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeMarket.ImageList_new32 + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBSave: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #20445#23384 + ImageIndex = 16 + OnClick = TBSaveClick + end + object ToolButton3: TToolButton + Left = 71 + Top = 0 + AutoSize = True + Caption = #20445#23384#26684#24335 + ImageIndex = 16 + end + object TBClose: TToolButton + Left = 166 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 7 + OnClick = TBCloseClick + end + end + object MovePanel2: TMovePanel [1] + Left = 408 + Top = 192 + Width = 289 + Height = 49 + BevelInner = bvLowered + Caption = #27491#22312#26597#35810#25968#25454#65292#35831#31245#21518#12290#12290#12290 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -13 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + Visible = False + end + object Panel1: TPanel [2] + Left = 0 + Top = 38 + Width = 1540 + Height = 75 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 2 + object Label1: TLabel + Left = 24 + Top = 24 + Width = 100 + Height = 24 + Caption = #26465#30721#32534#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label15: TLabel + Left = 428 + Top = 28 + Width = 80 + Height = 20 + Caption = #37197#36135#20154#21592 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object SmNO: TEdit + Left = 130 + Top = 20 + Width = 153 + Height = 32 + CharCase = ecUpperCase + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnKeyPress = SmNOKeyPress + end + object PHYG: TBtnEditA + Left = 514 + Top = 24 + Width = 149 + Height = 29 + Hint = 'PHYG/'#37197#36135#21592 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 1 + OnBtnClick = PHYGBtnClick + end + object Button1: TButton + Left = 281 + Top = 20 + Width = 75 + Height = 33 + Caption = #36873#25321 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 2 + OnClick = Button1Click + end + end + object cxGrid1: TcxGrid [3] + Left = 0 + Top = 113 + Width = 713 + Height = 537 + Align = alLeft + TabOrder = 3 + object Tv1: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + ScrollbarAnnotations.CustomAnnotations = <> + DataController.DataSource = DataSource1 + DataController.Filter.AutoDataSetFilter = True + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = 'C_Code' + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1RollNum + end + item + Kind = skSum + Column = v1Qty + end + item + Kind = skSum + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + object v1MJID: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'TMMNO' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 133 + end + object v1MJXH: TcxGridDBColumn + Caption = #23458#25143 + DataBinding.FieldName = 'CustName' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 99 + end + object v1P_Code: TcxGridDBColumn + Caption = #21697#21517 + DataBinding.FieldName = 'C_Name' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 88 + end + object v1P_Color: TcxGridDBColumn + Caption = #32534#21495 + DataBinding.FieldName = 'C_Code' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 62 + end + object Tv1Column2: TcxGridDBColumn + Caption = #33457#22411 + DataBinding.FieldName = 'C_Pattern' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 80 + end + object v1RollNum: TcxGridDBColumn + Caption = #21305#25968 + DataBinding.FieldName = 'TMSPiece' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 73 + end + object v1Qty: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'TMSQty' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 76 + end + object v1PHRollNum: TcxGridDBColumn + Caption = #37197#36135#21305#25968 + DataBinding.FieldName = 'PHRollNum' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 131 + end + object v1PHQty: TcxGridDBColumn + Caption = #37197#36135#25968#37327 + DataBinding.FieldName = 'PHQty' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 125 + end + object Tv1Column1: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'C_Color' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 70 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object cxGrid2: TcxGrid [4] + Left = 713 + Top = 113 + Width = 827 + Height = 537 + Align = alClient + TabOrder = 4 + object TV2: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + ScrollbarAnnotations.CustomAnnotations = <> + OnCustomDrawCell = TV2CustomDrawCell + DataController.DataSource = DataSource2 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = 'C_Code' + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = cxGridDBColumn5 + end + item + Kind = skSum + Column = cxGridDBColumn6 + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsCustomize.ColumnSorting = False + OptionsData.Deleting = False + OptionsData.Inserting = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + object V2Column2: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'Ssel' + DataBinding.IsNullValueType = True + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + Width = 66 + end + object cxGridDBColumn1: TcxGridDBColumn + Caption = #25195#25551#20449#24687 + DataBinding.FieldName = 'SDefNote' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 204 + end + object cxGridDBColumn5: TcxGridDBColumn + Caption = #21305#25968 + DataBinding.FieldName = 'RollNum' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 70 + end + object cxGridDBColumn6: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'stkmetet' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 102 + end + object cxGridDBColumn2: TcxGridDBColumn + Caption = #26465#30721 + DataBinding.FieldName = 'ciid' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 166 + end + object cxGridDBColumn4: TcxGridDBColumn + Caption = #21697#21517 + DataBinding.FieldName = 'C_Code' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 109 + end + object cxGridDBColumn3: TcxGridDBColumn + Caption = #32534#21495 + DataBinding.FieldName = 'C_Code' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 78 + end + object TV2Column1: TcxGridDBColumn + Caption = #33457#22411 + DataBinding.FieldName = 'C_Pattern' + DataBinding.IsNullValueType = True + end + object V2Column1: TcxGridDBColumn + Caption = #32568#21495 + DataBinding.FieldName = 'batchno' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 84 + end + object cxGridDBColumn7: TcxGridDBColumn + Caption = #31561#32423 + DataBinding.FieldName = 'Grade' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 93 + end + object V2Column3: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'C_GramWeight' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 67 + end + object V2Column4: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'C_Width' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 60 + end + object TV2Column2: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'C_Color' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 70 + end + end + object cxGridLevel1: TcxGridLevel + GridView = TV2 + end + end + object MovePanel1: TMovePanel [5] + Left = 54 + Top = 201 + Width = 561 + Height = 305 + BevelInner = bvLowered + Color = clSkyBlue + TabOrder = 5 + Visible = False + object Label2: TLabel + Left = 48 + Top = 160 + Width = 150 + Height = 48 + Caption = 'Label2' + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -48 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Edit2: TEdit + Left = 85 + Top = 35 + Width = 386 + Height = 72 + Enabled = False + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -64 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 0 + Text = '91209120001' + end + object Button4: TButton + Left = 224 + Top = 248 + Width = 75 + Height = 41 + Caption = #20851#38381 + TabOrder = 1 + OnClick = Button4Click + end + end + inherited ADOQueryBaseCmd: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + Left = 265 + Top = 504 + end + inherited ADOQueryBaseTemp: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + Left = 353 + Top = 505 + end + inherited ImageList_new32: TImageList + Left = 1480 + Top = 32 + end + inherited cxImageList_bar: TcxImageList + FormatVersion = 1 + end + object GPM_1: TcxGridPopupMenu + PopupMenus = <> + Left = 436 + Top = 509 + end + object cxStyleRepository1: TcxStyleRepository + Left = 69 + Top = 130 + PixelsPerInch = 96 + object cxStyle1: TcxStyle + AssignedValues = [svColor, svFont] + Color = clInactiveCaption + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle2: TcxStyle + AssignedValues = [svColor, svFont, svTextColor] + Color = 4707838 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clBtnText + end + object cxStyle_gridRow: TcxStyle + AssignedValues = [svColor, svFont] + Color = 16311512 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle_gridFoot: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle_gridHead: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle_gridGroupBox: TcxStyle + AssignedValues = [svColor, svFont] + Color = clMoneyGreen + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle_yellow: TcxStyle + AssignedValues = [svColor, svFont] + Color = 8454143 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle_Red: TcxStyle + AssignedValues = [svColor, svFont] + Color = clRed + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle_fontBlack: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle_fontclFuchsia: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clFuchsia + end + object cxStyle_fontclPurple: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clPurple + end + object cxStyle_fontclGreen: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clGreen + end + object cxStyle_fontclBlue: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clBlue + end + object cxStyle_fontclTeal: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clTeal + end + object cxStyle_fontclOlive: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clOlive + end + end + object CDSOrder: TClientDataSet + Aggregates = <> + Params = <> + Left = 172 + Top = 144 + end + object DataSource1: TDataSource + DataSet = CDSOrder + Left = 232 + Top = 160 + end + object ADOQueryTmp: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + Parameters = <> + Left = 352 + Top = 312 + end + object ADOQueryPrint: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 360 + Top = 240 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + Parameters = <> + Left = 404 + Top = 216 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + Parameters = <> + Left = 492 + Top = 252 + end + object RMDB_Main: TRMDBDataSet + Visible = True + Left = 608 + Top = 264 + end + object ADOQuery1: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 648 + Top = 232 + end + object CDSMJID: TClientDataSet + Aggregates = <> + Params = <> + Left = 732 + Top = 212 + end + object DataSource2: TDataSource + DataSet = CDSMJID + Left = 872 + Top = 248 + end + object RMXLSExport2: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 860 + Top = 164 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [rmpbZoom, rmpbLoad, rmpbSave, rmpbPrint, rmpbFind, rmpbPageSetup, rmpbExit, rmpbSaveToXLS, rmpbExport, rmpbNavigator] + DefaultCollate = False + ShowPrintDialog = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 784 + Top = 136 + ReportData = {} + end +end diff --git a/T05贸易门市管理/U_TradeMarketDisScan.pas b/T05贸易门市管理/U_TradeMarketDisScan.pas new file mode 100644 index 0000000..c5f8dda --- /dev/null +++ b/T05贸易门市管理/U_TradeMarketDisScan.pas @@ -0,0 +1,593 @@ +unit U_TradeMarketDisScan; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, + cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, cxMemo, + cxRichEdit, ComCtrls, cxContainer, cxTextEdit, cxMaskEdit, cxButtonEdit, + StdCtrls, ToolWin, DBClient, ADODB, ExtCtrls, BtnEdit, cxCalendar, StrUtils, + cxCurrencyEdit, cxGridCustomPopupMenu, cxGridPopupMenu, cxDropDownEdit, + RM_Common, RM_Preview, RM_System, RM_Class, RM_GridReport, RM_Dataset, Menus, + cxSplitter, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, cxCheckBox, + dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, dxBarBuiltInMenu, cxPC, + System.ImageList, Vcl.ImgList, U_BaseInput, cxImage, cxDBEdit, IdBaseComponent, + IdComponent, IdTCPConnection, IdTCPClient, IdExplicitTLSClientServerBase, + IdFTP, ShellAPI, MovePanel, RM_e_Xls, MMSystem, dxScrollbarAnnotations, + cxImageList; + +type + TfrmTradeMarketDisScan = class(TfrmBaseInput) + ToolBar1: TToolBar; + TBSave: TToolButton; + TBClose: TToolButton; + GPM_1: TcxGridPopupMenu; + ToolButton3: TToolButton; + MovePanel2: TMovePanel; + Panel1: TPanel; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1MJID: TcxGridDBColumn; + v1MJXH: TcxGridDBColumn; + v1P_Code: TcxGridDBColumn; + v1P_Color: TcxGridDBColumn; + v1RollNum: TcxGridDBColumn; + v1Qty: TcxGridDBColumn; + v1PHRollNum: TcxGridDBColumn; + v1PHQty: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + cxGrid2: TcxGrid; + TV2: TcxGridDBTableView; + V2Column2: TcxGridDBColumn; + cxGridDBColumn1: TcxGridDBColumn; + cxGridDBColumn5: TcxGridDBColumn; + cxGridDBColumn6: TcxGridDBColumn; + cxGridDBColumn2: TcxGridDBColumn; + cxGridDBColumn4: TcxGridDBColumn; + cxGridDBColumn3: TcxGridDBColumn; + V2Column1: TcxGridDBColumn; + cxGridDBColumn7: TcxGridDBColumn; + V2Column3: TcxGridDBColumn; + V2Column4: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + MovePanel1: TMovePanel; + Label2: TLabel; + Edit2: TEdit; + Button4: TButton; + Label1: TLabel; + SmNO: TEdit; + Label15: TLabel; + PHYG: TBtnEditA; + cxStyleRepository1: TcxStyleRepository; + cxStyle1: TcxStyle; + cxStyle2: TcxStyle; + cxStyle_gridRow: TcxStyle; + cxStyle_gridFoot: TcxStyle; + cxStyle_gridHead: TcxStyle; + cxStyle_gridGroupBox: TcxStyle; + cxStyle_yellow: TcxStyle; + cxStyle_Red: TcxStyle; + cxStyle_fontBlack: TcxStyle; + cxStyle_fontclFuchsia: TcxStyle; + cxStyle_fontclPurple: TcxStyle; + cxStyle_fontclGreen: TcxStyle; + cxStyle_fontclBlue: TcxStyle; + cxStyle_fontclTeal: TcxStyle; + cxStyle_fontclOlive: TcxStyle; + CDSOrder: TClientDataSet; + DataSource1: TDataSource; + ADOQueryTmp: TADOQuery; + ADOQueryPrint: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryCmd: TADOQuery; + RMDB_Main: TRMDBDataSet; + ADOQuery1: TADOQuery; + CDSMJID: TClientDataSet; + DataSource2: TDataSource; + RMXLSExport2: TRMXLSExport; + RM1: TRMGridReport; + Tv1Column2: TcxGridDBColumn; + TV2Column1: TcxGridDBColumn; + Button1: TButton; + TV2Column2: TcxGridDBColumn; + Tv1Column1: TcxGridDBColumn; + procedure TBCloseClick(Sender: TObject); + procedure CustomerNoNameBtnDnClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TV2CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); + procedure SmNOKeyPress(Sender: TObject; var Key: Char); + procedure TBSaveClick(Sender: TObject); + procedure Button4Click(Sender: TObject); + procedure Button1Click(Sender: TObject); + procedure PHYGBtnClick(Sender: TObject); + private + fCode, fColor, FPattern: string; + function SaveData(): Boolean; + procedure InitOrder(); + procedure InitMJID(); + procedure initGrid(); + + { Private declarations } + public + FMainid: string; + { Public declarations } + end; + +var + frmTradeMarketDisScan: TfrmTradeMarketDisScan; + newh: hwnd; + +implementation + +uses + U_DataLink, U_ZDYHelp, U_ZDYHelpSel, U_RTFun, U_CompanySel, U_PictureUpload, + U_ClothInfoSel, U_TradeDispatchedSel; + + +{$R *.dfm} + +procedure TfrmTradeMarketDisScan.TBCloseClick(Sender: TObject); +begin + + Close; + +end; + +function TfrmTradeMarketDisScan.SaveData(): Boolean; +var + phID: string; + P_ID: integer; +begin + + Result := false; + ADOQueryCmd.Connection.BeginTrans; + P_ID := 1; + try + with CDSMJID do + begin + DisableControls; + first; + while not eof do + begin + if trim(CDSMJID.fieldbyname('SDefNote').AsString) = 'ɨɹ' then + begin + if GetLSNo(ADOQueryTmp, phID, 'PH', 'Trade_Market_Distribution', 4, 1) = False then + begin + Application.MessageBox('ȡʧܣ', 'ʾ', 0); + Exit; + end; + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('select * from Trade_Market_Distribution '); + sql.Add('where 1=2 '); + open; + end; + ADOQueryCmd.Append; + ADOQueryCmd.FieldByName('TMDID').Value := trim(phID); + ADOQueryCmd.FieldByName('TMMID').Value := trim(cdsmjid.fieldbyname('TMMID').AsString); + ADOQueryCmd.FieldByName('TMSID').Value := trim(cdsmjid.fieldbyname('TMSID').AsString); + ADOQueryCmd.FieldByName('STKID').Value := trim(cdsmjid.fieldbyname('STKID').AsString); + ADOQueryCmd.FieldByName('Filler').Value := trim(DName); + ADOQueryCmd.FieldByName('PHYG').Value := trim(PHYG.Text); + ADOQueryCmd.FieldByName('TMDType').Value := 'ɨ'; + ADOQueryCmd.Post; + + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('select * from Trade_Cloth_Stock '); + sql.Add('where stkid=' + quotedstr(trim(CDSMJID.fieldbyname('stkid').AsString))); + open; + edit; + fieldbyname('DISstatus').Value := '1'; + post; + end; + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('select * from Trade_Market_Sub '); + sql.Add('where TMSID=' + quotedstr(trim(CDSMJID.fieldbyname('TMSID').AsString))); + open; + edit; + fieldbyname('substatus').Value := '2'; + post; + end; + end; + next; + end; + first; + EnableControls; + end; + ADOQueryCmd.Connection.CommitTrans; + Result := true; + except + ADOQueryCmd.Connection.RollbackTrans; + end; +end; + +procedure TfrmTradeMarketDisScan.SmNOKeyPress(Sender: TObject; var Key: Char); +begin + inherited; + if Key = #13 then + begin + MovePanel1.Visible := false; + if trim(smno.Text) = '' then + exit; + if uppercase(leftBstr(trim(smno.Text), 2)) = 'JM' then + begin + if not CDSMJID.IsEmpty then + begin + if FileExists(PChar(ExtractFilePath(Application.ExeName) + 'wav\δ.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName) + 'wav\δ.wav'), 0, SND_ASYNC); + exit; + end; + inItorder(); + end + else + begin + if CDSOrder.IsEmpty then + begin + MovePanel1.Visible := true; + Edit2.Text := SmNO.Text; + Label2.Caption := 'Ϊգ'; + smno.Text := ''; + if FileExists(PChar(ExtractFilePath(Application.ExeName) + 'wav\Ϊ.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName) + 'wav\Ϊ.wav'), 0, SND_ASYNC); + exit; + end; + if not CDSMJID.Locate('CIID', trim(smNo.Text), []) then + begin + initMjid(); + end + else + begin + if FileExists(PChar(ExtractFilePath(Application.ExeName) + 'wav\ظɨ.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName) + 'wav\ظɨ.wav'), 0, SND_ASYNC); + end; + end; + smno.Text := ''; + smno.SetFocus; + end; +end; + +procedure TfrmTradeMarketDisScan.TBRafreshClick(Sender: TObject); +begin + inherited; + MovePanel2.Visible := True; + MovePanel2.Refresh; + initOrder(); + MovePanel2.Visible := False; + +end; + +procedure TfrmTradeMarketDisScan.TBSaveClick(Sender: TObject); +begin + inherited; + if CDSOrder.IsEmpty then + exit; + if CDSMJID.IsEmpty then + exit; + + try + if not SaveData() then + begin + if FileExists(PChar(ExtractFilePath(Application.ExeName) + 'wav\ʧ.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName) + 'wav\ʧ.wav'), 0, SND_ASYNC); + exit; + end + else + begin + if FileExists(PChar(ExtractFilePath(Application.ExeName) + 'wav\ɹ.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName) + 'wav\ɹ.wav'), 0, SND_ASYNC); + initGrid(); + exit; + end; + except + end; +end; + +procedure TfrmTradeMarketDisScan.TV2CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); +begin + inherited; + var i: integer; + begin + i := tv2.GetColumnByFieldName('SDefNote').Index; + if (AViewInfo.GridRecord.Values[i] <> 'ɨɹ') then + ACanvas.Brush.Color := clred; + end; +end; + +procedure TfrmTradeMarketDisScan.Button1Click(Sender: TObject); +var + key: Char; +begin + inherited; + key := #13; + frmTradeDispatchedSel := TfrmTradeDispatchedSel.create(self); + with frmTradeDispatchedSel do + begin + + if showmodal = 1 then + begin + smno.Text := trim(Order_Main.FieldByName('TMMID').AsString); + + SmNOKeyPress(smno, key); + end; + free; + end; +end; + +procedure TfrmTradeMarketDisScan.Button4Click(Sender: TObject); +begin + inherited; + MovePanel1.Visible := False; +end; + +procedure TfrmTradeMarketDisScan.CustomerNoNameBtnDnClick(Sender: TObject); +begin + TBtnEditC(Sender).Text := ''; + TBtnEditC(Sender).TxtCode := ''; +end; + +procedure TfrmTradeMarketDisScan.InitOrder(); +var + fP_No: string; +begin + MovePanel1.Visible := false; + CDSMJID.EmptyDataSet; + with ADOQueryMain do + begin + Close; + sql.Clear; + sql.add(' select * '); + sql.Add(' ,PHRollNum=(select count(STKID) from Trade_Market_Distribution X where X.TMMID=A.TMMID and X.TMSID=B.TMSID),'); + sql.Add(' PHQty=(select sum(STKMeter) from Trade_Market_Distribution X inner join Trade_Cloth_Stock XX on X.stkid=XX.stkid where X.TMMID=A.TMMID and X.TMSID=B.TMSID)'); + sql.add(' from Trade_Market_Sub B'); + sql.add(' inner join Trade_Market_Main A on B.TMMID=A.TMMID '); + SQL.Add(' where A.TMMID=' + quotedstr(trim(SmNO.text))); + SQL.Add(' and isnull(B.substatus,''0'')<=''2'' '); + Open; + end; + if ADOQueryMain.IsEmpty then + begin + MovePanel1.Visible := true; + Edit2.text := SmNO.Text; + Label2.Caption := 'δ˻ѷ'; + if FileExists(PChar(ExtractFilePath(Application.ExeName) + 'wav\.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName) + 'wav\.wav'), 0, SND_ASYNC); + exit; + end + else + begin + SCreateCDS(ADOQueryMain, CDSOrder); + SInitCDSData(ADOQueryMain, CDSOrder); + with CDSOrder do + begin + DisableControls; + first; + while not eof do + begin + + next; + end; + first; + EnableControls; + end; + end; + +end; + +procedure TfrmTradeMarketDisScan.PHYGBtnClick(Sender: TObject); +var + fsj: string; + FWZ: Integer; +begin + fsj := Trim(TEdit(Sender).Hint); + FWZ := Pos('/', fsj); + try + frmZDYHelpSel := TfrmZDYHelpSel.Create(Application); + with frmZDYHelpSel do + begin + flag := Copy(fsj, 1, FWZ - 1); + flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ); + if ShowModal = 1 then + begin + TEdit(Sender).Text := ReturnStr; + end; + end; + finally + frmZDYHelpSel.Free; + end; +end; + +procedure TfrmTradeMarketDisScan.InitGrid(); +begin + with ADOQueryMain do + begin + Close; + sql.Clear; + sql.add(' select * '); + sql.Add(' ,PHRollNum=(select count(X.STKID) from Trade_Market_Distribution X where X.TMMID=A.TMMID and X.TMSID=B.TMSID),'); + sql.Add(' PHQty=(select sum(STKMeter) from Trade_Market_Distribution X inner join Trade_Cloth_Stock XX on X.stkid=XX.stkid where X.TMMID=A.TMMID and X.TMSID=B.TMSID)'); + sql.add(' from Trade_Market_Sub B'); + sql.add(' inner join Trade_Market_Main A on B.TMMID=A.TMMID '); + SQL.Add(' where 1=2 '); + Open; + end; + SCreateCDS(ADOQueryMain, CDSOrder); + SInitCDSData(ADOQueryMain, CDSOrder); + + with ADOQueryMain do + begin + Close; + sql.Clear; + SQL.Add('select A.*,B.TMMID,TMSID,TMDID,cast(0 as int) as RollNum from Trade_Cloth_Stock A '); + SQL.Add('inner join Trade_Market_Distribution B on B.STKID=A.STKID '); + SQL.Add('where 1=2 '); + Open; + end; + SCreateCDS(ADOQueryMain, CDSMJID); + SInitCDSData(ADOQueryMain, CDSMJID); + +end; + +procedure TfrmTradeMarketDisScan.FormShow(Sender: TObject); +begin + MovePanel1.Left := (Width - MovePanel1.Width) div 2; + MovePanel1.top := (Height - MovePanel1.Height - 200) div 2; + InitGrid(); +end; + +procedure TfrmTradeMarketDisScan.InitMJID(); +var + fP_No: string; + i: integer; +begin + MovePanel1.Visible := false; + + with ADOQueryTmp do + begin + Close; + sql.Clear; + SQL.Add('select CIID from Trade_Cloth_Inspect A'); + SQL.Add('where A.CIID=' + quotedstr(trim(SmNO.text))); + SQL.Add('and CIIOFlag=''δ'''); + Open; + if not IsEmpty then + begin + CDSMJID.Append; + CDSMJID.FieldByName('SDefNote').Value := 'δ'; + CDSMJID.FieldByName('CIID').Value := trim(SmNO.Text); + CDSMJID.Post; + if FileExists(PChar(ExtractFilePath(Application.ExeName) + 'wav\δ.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName) + 'wav\δ.wav'), 0, SND_ASYNC); + Exit; + end; + end; + + with ADOQueryTmp do + begin + Close; + sql.Clear; + SQL.Add('select Stkid from Trade_Cloth_IO A'); + SQL.Add('where A.stkid=' + quotedstr(trim(SmNO.text))); + SQL.Add('and IOFlag='''''); + Open; + if not IsEmpty then + begin + CDSMJID.Append; + CDSMJID.FieldByName('SDefNote').Value := 'ѳ'; + CDSMJID.FieldByName('Stkid').Value := trim(SmNO.Text); + CDSMJID.Post; + if FileExists(PChar(ExtractFilePath(Application.ExeName) + 'wav\ѳ.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName) + 'wav\ѳ.wav'), 0, SND_ASYNC); + Exit; + end; + end; + + with ADOQueryMain do + begin + Close; + sql.Clear; + SQL.Add('select A.* from Trade_Cloth_Stock A'); + sql.add('left join Trade_Cloth_IO B on B.stkid=A.stkid and B.IOFlag='''' '); + SQL.Add('where A.CIID=' + quotedstr(trim(SmNO.text))); + sql.Add('and isnull(A.DisStatus,''0'')=''0'' '); + sql.Add('and StkExists=1 '); + Open; + end; + if ADOQueryMain.IsEmpty then + begin + CDSMJID.Append; + CDSMJID.FieldByName('SDefNote').Value := '벻ڻѾ'; + CDSMJID.FieldByName('CIID').Value := trim(SmNO.Text); + CDSMJID.Post; + if FileExists(PChar(ExtractFilePath(Application.ExeName) + 'wav\ɨ.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName) + 'wav\ɨ.wav'), 0, SND_ASYNC); + exit; + end; + with ADOQueryTmp do + begin + Close; + sql.Clear; + SQL.Add('select A.STKID,B.TMMID,B.TMSID from Trade_Cloth_Stock A'); + sql.Add('inner join Trade_Market_Sub B on isnull(B.C_Color,'''')=isnull(A.C_Color,'''') and isnull(B.C_Pattern,'''')= isnull(A.C_Pattern,'''') '); + SQL.Add('where A.STKID=' + quotedstr(trim(SmNO.text))); + SQL.Add('and B.TMMID=' + quotedstr(trim(CDSOrder.Fieldbyname('TMMID').AsString))); + // SQL.ADD('and isnull(B.PRTKZ,'''')<>'''' '); + Open; + end; + + if ADOQueryTmp.IsEmpty then + begin + CDSMJID.Append; + CDSMJID.FieldByName('SDefNote').Value := 'ɫͻͲӦ'; + CDSMJID.FieldByName('STKID').Value := trim(SmNO.Text); + CDSMJID.Post; + if FileExists(PChar(ExtractFilePath(Application.ExeName) + 'wav\ƷɫӦ.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName) + 'wav\ƷɫӦ.wav'), 0, SND_ASYNC); + exit; + end; + i := 0; + while not ADOQueryTmp.eof do + begin + if CDSOrder.Locate('TMSID', trim(ADOQueryTmp.fieldbyname('TMSID').AsString), []) then + begin + if (CDSOrder.fieldbyName('TMSPiece').AsInteger = CDSOrder.FieldByName('PHRollNum').AsInteger) and (CDSOrder.fieldbyName('TMSPiece').AsInteger > 0) then + begin + end + else + begin + i := 1; + CDSMJID.Append; + CDSMJID.FieldByName('SDefNote').Value := 'ɨɹ'; + CDSMJID.FieldByName('CIID').Value := trim(ADOQueryMain.Fieldbyname('CIID').AsString); + CDSMJID.FieldByName('stkid').Value := trim(ADOQueryMain.Fieldbyname('stkid').AsString); + CDSMJID.FieldByName('C_Name').Value := trim(ADOQueryMain.Fieldbyname('C_Name').AsString); + CDSMJID.FieldByName('C_Color').Value := trim(ADOQueryMain.Fieldbyname('C_Color').AsString); + CDSMJID.FieldByName('Grade').Value := trim(ADOQueryMain.Fieldbyname('Grade').AsString); + CDSMJID.FieldByName('RollNum').Value := 1; + CDSMJID.FieldByName('stkmeter').Value := ADOQueryMain.Fieldbyname('stkmeter').AsFloat; + CDSMJID.FieldByName('TMMID').Value := trim(ADOQueryTmp.Fieldbyname('TMMID').AsString); + CDSMJID.FieldByName('TMSID').Value := trim(ADOQueryTmp.Fieldbyname('TMSID').AsString); + CDSMJID.FieldByName('C_Width').Value := ADOQueryMain.Fieldbyname('C_Width').AsString; + CDSMJID.FieldByName('C_GramWeight').Value := ADOQueryMain.Fieldbyname('C_GramWeight').AsString; + // CDSMJID.FieldByName('conNo').Value:=trim(ADOQueryMain.Fieldbyname('conNo').AsString); + CDSMJID.Post; + if FileExists(PChar(ExtractFilePath(Application.ExeName) + 'wav\ȷ.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName) + 'wav\ȷ.wav'), 0, SND_ASYNC); + CDSOrder.Edit; + CDSOrder.fieldbyName('PHRollNum').Value := CDSOrder.fieldbyName('PHRollNum').AsInteger + 1; + CDSOrder.fieldbyName('PHQty').Value := CDSOrder.fieldbyName('PHQty').AsFloat + ADOQueryMain.Fieldbyname('stkmeter').AsFloat; + CDSOrder.Post; + if tv1.DataController.Summary.FooterSummaryValues[0] <> 0 then + begin + if tv1.DataController.Summary.FooterSummaryValues[0] = tv2.DataController.Summary.FooterSummaryValues[0] then + begin + TBSave.Click; + exit; + end; + end; + exit; + end; + end; + ADOQueryTmp.Next; + end; + + if i = 0 then + begin + if FileExists(PChar(ExtractFilePath(Application.ExeName) + 'wav\µƥ.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName) + 'wav\µƥ.wav'), 0, SND_ASYNC); + + end; +end; + +end. + diff --git a/T05贸易门市管理/U_TradeMarketDisSel.dfm b/T05贸易门市管理/U_TradeMarketDisSel.dfm new file mode 100644 index 0000000..3f6950c --- /dev/null +++ b/T05贸易门市管理/U_TradeMarketDisSel.dfm @@ -0,0 +1,861 @@ +inherited frmTradeMarketDisSel: TfrmTradeMarketDisSel + Left = 143 + Top = 4 + Caption = #35746#21333#24405#20837 + ClientHeight = 650 + ClientWidth = 1540 + Color = clWhite + Font.Charset = GB2312_CHARSET + Font.Name = #23435#20307 + Position = poMainFormCenter + WindowState = wsMaximized + ExplicitWidth = 1556 + ExplicitHeight = 689 + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar [0] + Tag = 1 + Left = 0 + Top = 0 + Width = 1540 + Height = 38 + AutoSize = True + ButtonHeight = 38 + ButtonWidth = 91 + Caption = 'ToolBar1' + Color = clWhite + EdgeInner = esNone + EdgeOuter = esNone + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeMarket.ImageList_new32 + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 1 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 71 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 0 + OnClick = TBFindClick + end + object TBSave: TToolButton + Left = 142 + Top = 0 + AutoSize = True + Caption = #30830#35748#37197#36135 + ImageIndex = 4 + OnClick = TBSaveClick + end + object ToolButton3: TToolButton + Left = 237 + Top = 0 + AutoSize = True + Caption = #20445#23384#26684#24335 + ImageIndex = 16 + end + object TBClose: TToolButton + Left = 332 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 7 + OnClick = TBCloseClick + end + end + object Panel2: TPanel [1] + Left = 0 + Top = 81 + Width = 497 + Height = 569 + Align = alLeft + Caption = 'Panel2' + TabOrder = 1 + object cxGrid3: TcxGrid + Left = 1 + Top = 1 + Width = 495 + Height = 567 + Align = alClient + TabOrder = 0 + object Tv3: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + ScrollbarAnnotations.CustomAnnotations = <> + OnFocusedRecordChanged = Tv3FocusedRecordChanged + DataController.DataSource = DS_1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsView.GroupByBox = False + object cxGridDBColumn1: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'SSel' + DataBinding.IsNullValueType = True + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.NullStyle = nssUnchecked + Visible = False + HeaderAlignmentHorz = taCenter + Width = 49 + end + object v1OrderNo: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'TMMNO' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 72 + end + object v1CustomerNoName: TcxGridDBColumn + Caption = #23458#25143 + DataBinding.FieldName = 'CustName' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 73 + end + object v1MPRTCodeName: TcxGridDBColumn + Caption = #32534#21495 + DataBinding.FieldName = 'C_Code' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 69 + end + object v1PRTColor: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'C_Color' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1MPRTKZ: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'PRTKZ' + DataBinding.IsNullValueType = True + Visible = False + Options.Focusing = False + VisibleForCustomization = False + Width = 54 + end + object v1PRTRollNum: TcxGridDBColumn + Caption = #21305#25968 + DataBinding.FieldName = 'TMSPiece' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 40 + end + object v1PRTOrderQty: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'TMSQty' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 52 + end + object cxGridDBColumn19: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'TMSUnit' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 58 + end + object v1OrdDefStr1: TcxGridDBColumn + Caption = #20844#21496#32534#21495 + DataBinding.FieldName = 'OrdDefStr1' + DataBinding.IsNullValueType = True + Visible = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 90 + end + object cxGridDBColumn17: TcxGridDBColumn + Caption = #20844#21496#21488#22836 + DataBinding.FieldName = 'OrdDefStr2' + DataBinding.IsNullValueType = True + Visible = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 90 + end + object v1OrdPerson1: TcxGridDBColumn + Caption = #19994#21153#21592 + DataBinding.FieldName = 'OrdPerson1' + DataBinding.IsNullValueType = True + Visible = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + VisibleForCustomization = False + Width = 73 + end + object v1JGFactoryName: TcxGridDBColumn + Caption = #26579#21378 + DataBinding.FieldName = 'JGFactoryName' + DataBinding.IsNullValueType = True + Visible = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 60 + end + object v1OrdDate: TcxGridDBColumn + Caption = #21046#21333#26085#26399 + DataBinding.FieldName = 'OrdDate' + DataBinding.IsNullValueType = True + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 68 + end + object cxGridDBColumn18: TcxGridDBColumn + Caption = #22791#27880#21450#35201#27714 + DataBinding.FieldName = 'Note' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 96 + end + object v1DeliveryDate: TcxGridDBColumn + Caption = #20132#36135#26085#26399 + DataBinding.FieldName = 'DlyDate' + DataBinding.IsNullValueType = True + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 62 + end + object v1MPRTSpec: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'C_Spec' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 68 + end + object v3Column11: TcxGridDBColumn + Caption = #33457#22411 + DataBinding.FieldName = 'C_Pattern' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object v1MPRTMF: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'PRTMF' + DataBinding.IsNullValueType = True + Visible = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + VisibleForCustomization = False + Width = 70 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv3 + end + end + end + object Panel3: TPanel [2] + Left = 497 + Top = 81 + Width = 1043 + Height = 569 + Align = alClient + TabOrder = 2 + object cxGrid2: TcxGrid + Left = 1 + Top = 1 + Width = 1041 + Height = 207 + Align = alClient + TabOrder = 0 + object Tv1: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + ScrollbarAnnotations.CustomAnnotations = <> + OnCellDblClick = Tv1CellDblClick + DataController.DataSource = DS_MX + DataController.Filter.AutoDataSetFilter = True + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skCount + Column = v1Column6 + end + item + Kind = skSum + Column = v2Column5 + end + item + Kind = skSum + Column = v2Column6 + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsCustomize.ColumnSorting = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + OptionsView.Indicator = True + OptionsView.IndicatorWidth = 20 + object v1Ssel: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'Ssel' + DataBinding.IsNullValueType = True + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Width = 49 + end + object v2Column1: TcxGridDBColumn + Caption = #32534#21495 + DataBinding.FieldName = 'C_CODE' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Focusing = False + Width = 91 + end + object v2Column3: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'C_Color' + DataBinding.IsNullValueType = True + Visible = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Focusing = False + Width = 77 + end + object v1C_Color: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'C_Color' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object v2Column6: TcxGridDBColumn + Caption = #24211#23384#25968#37327 + DataBinding.FieldName = 'stkqty' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Focusing = False + Width = 85 + end + object v1Column7: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'QtyUnit' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Focusing = False + Width = 83 + end + object v1Column2: TcxGridDBColumn + Caption = #32568#21495 + DataBinding.FieldName = 'batchno' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 62 + end + object v1Column3: TcxGridDBColumn + Caption = #31867#22411 + DataBinding.FieldName = 'Grade' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 63 + end + object v2Column5: TcxGridDBColumn + Caption = #24211#23384#20844#26020#25968 + DataBinding.FieldName = 'KCKGQty' + DataBinding.IsNullValueType = True + Visible = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Focusing = False + Width = 83 + end + object v1Column6: TcxGridDBColumn + Caption = #26465#30721 + DataBinding.FieldName = 'CIID' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 92 + end + object v1KCKW: TcxGridDBColumn + Caption = #24211#20301 + DataBinding.FieldName = 'IOPosition' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column5: TcxGridDBColumn + Caption = #33457#22411 + DataBinding.FieldName = 'C_Pattern' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + end + object cxGrid2Level1: TcxGridLevel + GridView = Tv1 + end + end + object cxGrid1: TcxGrid + Left = 1 + Top = 208 + Width = 1041 + Height = 360 + Align = alBottom + TabOrder = 1 + object Tv2: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + ScrollbarAnnotations.CustomAnnotations = <> + OnCellDblClick = Tv2CellDblClick + DataController.DataSource = DS_MXSel + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skCount + Column = cxGridDBColumn7 + end + item + Kind = skSum + Column = cxGridDBColumn11 + end + item + Kind = skSum + Column = cxGridDBColumn13 + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsCustomize.ColumnSorting = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + OptionsView.Indicator = True + OptionsView.IndicatorWidth = 20 + object cxGridDBColumn3: TcxGridDBColumn + Caption = #32534#21495 + DataBinding.FieldName = 'C_CODE' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Focusing = False + Width = 92 + end + object cxGridDBColumn4: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'C_Color' + DataBinding.IsNullValueType = True + Visible = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Focusing = False + Width = 77 + end + object cxGridDBColumn11: TcxGridDBColumn + Caption = #24211#23384#20844#26020#25968 + DataBinding.FieldName = 'KCKGQty' + DataBinding.IsNullValueType = True + Visible = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Focusing = False + Width = 83 + end + object cxGridDBColumn16: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'C_Color' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Focusing = False + Width = 60 + end + object cxGridDBColumn13: TcxGridDBColumn + Caption = #24211#23384#25968#37327 + DataBinding.FieldName = 'stkqty' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Focusing = False + Width = 76 + end + object cxGridDBColumn14: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'QtyUnit' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Focusing = False + Width = 68 + end + object cxGridDBColumn15: TcxGridDBColumn + Caption = #26579#21378#32568#21495 + DataBinding.FieldName = 'gangNO' + DataBinding.IsNullValueType = True + Visible = False + Options.Editing = False + Options.Focusing = False + Width = 60 + end + object cxGridDBColumn10: TcxGridDBColumn + Caption = #31867#22411 + DataBinding.FieldName = 'Grade' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Focusing = False + Width = 63 + end + object cxGridDBColumn9: TcxGridDBColumn + Caption = #21367#21495 + DataBinding.FieldName = 'pieceno' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Focusing = False + Width = 59 + end + object cxGridDBColumn7: TcxGridDBColumn + Caption = #26465#30721 + DataBinding.FieldName = 'ciid' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Focusing = False + Width = 92 + end + object cxGridDBColumn5: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'C_Width' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Focusing = False + Width = 70 + end + object cxGridDBColumn6: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'C_GramWeight' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Focusing = False + Width = 59 + end + object v2Column4: TcxGridDBColumn + Caption = #33457#22411 + DataBinding.FieldName = 'C_Pattern' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object v2Column7: TcxGridDBColumn + Caption = #32568#21495 + DataBinding.FieldName = 'batchno' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 80 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv2 + end + end + end + object MovePanel2: TMovePanel [3] + Left = 408 + Top = 192 + Width = 289 + Height = 49 + BevelInner = bvLowered + Caption = #27491#22312#26597#35810#25968#25454#65292#35831#31245#21518#12290#12290#12290 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -13 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + Visible = False + end + object Panel1: TPanel [4] + Left = 0 + Top = 38 + Width = 1540 + Height = 43 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 4 + object Label3: TLabel + Left = 55 + Top = 15 + Width = 24 + Height = 12 + Caption = #32534#21495 + end + object Label4: TLabel + Left = 201 + Top = 15 + Width = 24 + Height = 12 + Caption = #39068#33394 + end + object Label7: TLabel + Left = 492 + Top = 68 + Width = 24 + Height = 12 + Caption = #31867#22411 + end + object Label15: TLabel + Left = 844 + Top = 15 + Width = 48 + Height = 12 + Caption = #37197#36135#20154#21592 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + object Label1: TLabel + Left = 338 + Top = 15 + Width = 24 + Height = 12 + Caption = #32568#21495 + end + object Label2: TLabel + Left = 471 + Top = 15 + Width = 24 + Height = 12 + Caption = #33457#22411 + end + object c_code: TEdit + Tag = 2 + Left = 83 + Top = 11 + Width = 100 + Height = 20 + ImeName = #20013#25991'('#31616#20307') - '#30334#24230#36755#20837#27861 + TabOrder = 1 + end + object C_color: TEdit + Tag = 2 + Left = 228 + Top = 11 + Width = 100 + Height = 20 + ImeName = #20013#25991'('#31616#20307') - '#30334#24230#36755#20837#27861 + TabOrder = 2 + end + object CPType: TComboBox + Tag = 2 + Left = 518 + Top = 64 + Width = 68 + Height = 20 + Style = csDropDownList + ImeName = #20013#25991'('#31616#20307') - '#30334#24230#36755#20837#27861 + TabOrder = 6 + OnChange = TBFindClick + Items.Strings = ( + #27491#21697 + #27425#21697 + #30041#26679 + '') + end + object Button1: TButton + Left = 1008 + Top = 8 + Width = 75 + Height = 25 + Caption = #30830#23450#36873#25321 + TabOrder = 0 + OnClick = Button1Click + end + object PHYG: TBtnEditA + Left = 896 + Top = 11 + Width = 100 + Height = 20 + ImeName = #20013#25991'('#31616#20307') - '#30334#24230#36755#20837#27861 + TabOrder = 4 + Visible = False + end + object CheckBox1: TCheckBox + Left = 1097 + Top = 11 + Width = 99 + Height = 19 + Caption = #20840#36873 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 5 + OnClick = CheckBox1Click + end + object batchno: TEdit + Tag = 2 + Left = 368 + Top = 11 + Width = 100 + Height = 20 + ImeName = #20013#25991'('#31616#20307') - '#30334#24230#36755#20837#27861 + TabOrder = 3 + end + object C_Pattern: TEdit + Tag = 2 + Left = 498 + Top = 11 + Width = 100 + Height = 20 + ImeName = #20013#25991'('#31616#20307') - '#30334#24230#36755#20837#27861 + TabOrder = 7 + end + end + inherited ADOQueryBaseCmd: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + Left = 265 + Top = 504 + end + inherited ADOQueryBaseTemp: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + Left = 353 + Top = 505 + end + inherited ImageList_new32: TImageList + Left = 1480 + Top = 32 + end + inherited cxImageList_bar: TcxImageList + FormatVersion = 1 + end + object ADOTemp: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 504 + Top = 396 + end + object ADOCmd: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + Parameters = <> + Left = 592 + Top = 389 + end + object DS_1: TDataSource + DataSet = CDS_1 + Left = 208 + Top = 344 + end + object CDS_1: TClientDataSet + Aggregates = <> + Params = <> + Left = 139 + Top = 348 + end + object GPM_1: TcxGridPopupMenu + PopupMenus = <> + Left = 436 + Top = 509 + end + object ADOQueryLabel: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + Parameters = <> + Left = 916 + Top = 357 + end + object IdFTP1: TIdFTP + ConnectTimeout = 0 + NATKeepAlive.UseKeepAlive = False + NATKeepAlive.IdleTimeMS = 0 + NATKeepAlive.IntervalMS = 0 + ProxySettings.ProxyType = fpcmNone + ProxySettings.Port = 0 + ReadTimeout = 0 + Left = 840 + Top = 162 + end + object DS_MX: TDataSource + DataSet = CDS_MX + Left = 1040 + Top = 156 + end + object CDS_MX: TClientDataSet + Aggregates = <> + Params = <> + Left = 992 + Top = 156 + end + object CDS_MXSel: TClientDataSet + Aggregates = <> + Params = <> + Left = 1024 + Top = 380 + end + object DS_MXSel: TDataSource + DataSet = CDS_MXSel + Left = 1072 + Top = 380 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 980 + Top = 124 + end +end diff --git a/T05贸易门市管理/U_TradeMarketDisSel.pas b/T05贸易门市管理/U_TradeMarketDisSel.pas new file mode 100644 index 0000000..ac6e244 --- /dev/null +++ b/T05贸易门市管理/U_TradeMarketDisSel.pas @@ -0,0 +1,468 @@ +unit U_TradeMarketDisSel; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, + cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, cxMemo, + cxRichEdit, ComCtrls, cxContainer, cxTextEdit, cxMaskEdit, cxButtonEdit, + StdCtrls, ToolWin, DBClient, ADODB, ExtCtrls, BtnEdit, cxCalendar, StrUtils, + cxCurrencyEdit, cxGridCustomPopupMenu, cxGridPopupMenu, cxDropDownEdit, + RM_Common, RM_Preview, RM_System, RM_Class, RM_GridReport, RM_Dataset, Menus, + cxSplitter, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, cxCheckBox, + dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, dxBarBuiltInMenu, cxPC, + System.ImageList, Vcl.ImgList, U_BaseInput, cxImage, cxDBEdit, IdBaseComponent, + IdComponent, IdTCPConnection, IdTCPClient, IdExplicitTLSClientServerBase, + IdFTP, ShellAPI, MovePanel, dxScrollbarAnnotations, cxImageList; + +type + TfrmTradeMarketDisSel = class(TfrmBaseInput) + ToolBar1: TToolBar; + TBSave: TToolButton; + TBClose: TToolButton; + ADOTemp: TADOQuery; + ADOCmd: TADOQuery; + DS_1: TDataSource; + CDS_1: TClientDataSet; + GPM_1: TcxGridPopupMenu; + ADOQueryLabel: TADOQuery; + ToolButton3: TToolButton; + IdFTP1: TIdFTP; + DS_MX: TDataSource; + CDS_MX: TClientDataSet; + Panel2: TPanel; + cxGrid3: TcxGrid; + Tv3: TcxGridDBTableView; + cxGridDBColumn1: TcxGridDBColumn; + v1OrderNo: TcxGridDBColumn; + v1CustomerNoName: TcxGridDBColumn; + v1MPRTCodeName: TcxGridDBColumn; + v1PRTColor: TcxGridDBColumn; + v1MPRTKZ: TcxGridDBColumn; + v1PRTRollNum: TcxGridDBColumn; + v1PRTOrderQty: TcxGridDBColumn; + cxGridDBColumn19: TcxGridDBColumn; + v1OrdDefStr1: TcxGridDBColumn; + cxGridDBColumn17: TcxGridDBColumn; + v1OrdPerson1: TcxGridDBColumn; + v1JGFactoryName: TcxGridDBColumn; + v1OrdDate: TcxGridDBColumn; + cxGridDBColumn18: TcxGridDBColumn; + v1DeliveryDate: TcxGridDBColumn; + v1MPRTSpec: TcxGridDBColumn; + v3Column11: TcxGridDBColumn; + v1MPRTMF: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + Panel3: TPanel; + cxGrid2: TcxGrid; + Tv1: TcxGridDBTableView; + v1Ssel: TcxGridDBColumn; + v2Column1: TcxGridDBColumn; + v2Column3: TcxGridDBColumn; + v1C_Color: TcxGridDBColumn; + v2Column6: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + v2Column5: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v1KCKW: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + cxGrid2Level1: TcxGridLevel; + cxGrid1: TcxGrid; + Tv2: TcxGridDBTableView; + cxGridDBColumn3: TcxGridDBColumn; + cxGridDBColumn4: TcxGridDBColumn; + cxGridDBColumn11: TcxGridDBColumn; + cxGridDBColumn16: TcxGridDBColumn; + cxGridDBColumn13: TcxGridDBColumn; + cxGridDBColumn14: TcxGridDBColumn; + cxGridDBColumn15: TcxGridDBColumn; + cxGridDBColumn10: TcxGridDBColumn; + cxGridDBColumn9: TcxGridDBColumn; + cxGridDBColumn7: TcxGridDBColumn; + cxGridDBColumn5: TcxGridDBColumn; + cxGridDBColumn6: TcxGridDBColumn; + v2Column4: TcxGridDBColumn; + v2Column7: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + TBRafresh: TToolButton; + TBFind: TToolButton; + MovePanel2: TMovePanel; + CDS_MXSel: TClientDataSet; + DS_MXSel: TDataSource; + ADOQueryMain: TADOQuery; + Panel1: TPanel; + Label3: TLabel; + Label4: TLabel; + Label7: TLabel; + Label15: TLabel; + Label1: TLabel; + c_code: TEdit; + C_color: TEdit; + CPType: TComboBox; + Button1: TButton; + PHYG: TBtnEditA; + CheckBox1: TCheckBox; + batchno: TEdit; + Label2: TLabel; + C_Pattern: TEdit; + procedure TBCloseClick(Sender: TObject); + procedure CustomerNoNameBtnDnClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure Tv3FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); + procedure FormShow(Sender: TObject); + procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); + procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); + procedure TBSaveClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure CheckBox1Click(Sender: TObject); + procedure Button1Click(Sender: TObject); + private + fCode, fColor, FPattern: string; + function SaveData(): Boolean; + procedure InitOrder(); + procedure InitGrid(); + + { Private declarations } + public + FMainid: string; + { Public declarations } + end; + +var + frmTradeMarketDisSel: TfrmTradeMarketDisSel; + newh: hwnd; + +implementation + +uses + U_DataLink, U_ZDYHelp, U_ZDYHelpSel, U_RTFun, U_CompanySel, U_PictureUpload, + U_ClothInfoSel; + + +{$R *.dfm} + +procedure TfrmTradeMarketDisSel.TBCloseClick(Sender: TObject); +begin + + Close; + +end; + +procedure TfrmTradeMarketDisSel.TBFindClick(Sender: TObject); +begin + inherited; + if ADOQueryMain.Active then + begin + SCreateCDS(ADOQueryMain, cds_mx); + SInitCDSData(ADOQueryMain, cds_mx); + end; +end; + +function TfrmTradeMarketDisSel.SaveData(): Boolean; +var + phID: string; + P_ID: integer; +begin + Result := false; + ADOCmd.Connection.BeginTrans; + P_ID := 1; + try + with CDS_MXSel do + begin + DisableControls; + first; + while not eof do + begin + if GetLSNo(adotemp, phID, 'PH', 'Trade_Market_Distribution', 4, 1) = False then + begin + Application.MessageBox('ȡʧܣ', 'ʾ', 0); + Exit; + end; + with ADOCmd do + begin + close; + sql.Clear; + sql.Add('select * from Trade_Market_Distribution '); + sql.Add('where 1=2 '); + open; + end; + ADOCmd.Append; + ADOCmd.FieldByName('TMDID').Value := trim(phID); + ADOCmd.FieldByName('TMMID').Value := trim(cds_1.fieldbyname('TMMID').AsString); + ADOCmd.FieldByName('TMSID').Value := trim(cds_1.fieldbyname('TMSID').AsString); + ADOCmd.FieldByName('STKID').Value := trim(cds_mxsel.fieldbyname('STKID').AsString); + ADOCmd.FieldByName('Filler').Value := trim(DName); + ADOCmd.Post; + + with adocmd do + begin + close; + sql.Clear; + sql.Add('select * from BS_Cloth_IO '); + sql.Add('where STKID=' + quotedstr(trim(CDS_MXSel.fieldbyname('STKID').AsString))); + open; + edit; + fieldbyname('DisStatus').Value := '1'; + post; + end; + + next; + end; + first; + EnableControls; + + with adocmd do + begin + close; + sql.Clear; + sql.Add('select * from Trade_Market_Sub '); + sql.Add('where TMMID=' + quotedstr(trim(cds_1.fieldbyname('TMMID').AsString))); + sql.Add('and TMSID=' + quotedstr(trim(cds_1.fieldbyname('TMSID').AsString))); +// ShowMessage(sql.Text); + open; + edit; + fieldbyname('substatus').Value := '2'; + post; + end; + end; + ADOCmd.Connection.CommitTrans; + Result := true; + except + ADOCmd.Connection.RollbackTrans; + end; +end; + +procedure TfrmTradeMarketDisSel.TBRafreshClick(Sender: TObject); +begin + inherited; + MovePanel2.Visible := True; + MovePanel2.Refresh; + initOrder(); + MovePanel2.Visible := False; + +end; + +procedure TfrmTradeMarketDisSel.TBSaveClick(Sender: TObject); +begin + if CDS_MXSel.IsEmpty then + exit; + Panel1.SetFocus; + with CDS_MXSel do + begin + DisableControls; + first; + while not eof do + begin + if (trim(fieldbyname('c_code').AsString) <> trim(cds_1.FieldByName('c_code').AsString)) or (uppercase(trim(fieldbyname('c_color').AsString)) <> uppercase(trim(cds_1.FieldByName('C_Color').AsString))) or (uppercase(trim(fieldbyname('C_Pattern').AsString)) <> uppercase(trim(cds_1.FieldByName('C_Pattern').AsString))) then + begin + application.MessageBox('Ʒ,ͻɫһ', 'ʾϢ', 0); + EnableControls; + exit; + end; + next; + end; + first; + EnableControls; + end; + + if SaveData() then + begin + application.MessageBox('ɹ!', 'ʾϢ'); + CDS_1.Delete; + CDS_MXSel.EmptyDataSet; + // TBRafresh.Click; + end + else + begin + application.MessageBox('ʧ!', 'ʾϢ', 0); + end; +end; + +procedure TfrmTradeMarketDisSel.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); +var + i: Integer; +begin + if cds_mx.IsEmpty then + Exit; + CDS_MXSel.Append; + for i := 0 to CDS_MXSel.FieldCount - 1 do + begin + CDS_MXSel.Fields[i].Value := cds_mx.Fields[i].Value; + end; + CDS_MXSel.Post; + CDS_MX.Delete; +end; + +procedure TfrmTradeMarketDisSel.Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); +var + i: Integer; +begin + if CDS_MXSel.IsEmpty then + Exit; + CDS_MX.Append; + for i := 0 to CDS_MX.FieldCount - 1 do + begin + CDS_MX.Fields[i].Value := CDS_MXSel.Fields[i].Value; + end; + CDS_MX.FieldByName('ssel').Value := false; + CDS_MX.Post; + CDS_MXSel.Delete; +end; + +procedure TfrmTradeMarketDisSel.Tv3FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); +begin + inherited; + if CDS_1.IsEmpty then + begin + fCode := '!##@'; + fColor := '!##@'; + FPattern := '!##@'; + end + else + begin + FCode := trim(cds_1.FieldByName('C_Code').AsString); + fColor := trim(cds_1.FieldByName('C_Color').AsString); + FPattern := trim(cds_1.FieldByName('C_Pattern').AsString); + end; + InitGrid(); +end; + +procedure TfrmTradeMarketDisSel.Button1Click(Sender: TObject); +var + i: integer; + mfieldName: string; +begin + if CDS_MX.IsEmpty then + Exit; + CDS_mxSel.DisableControls; + with CDS_MX do + begin + DisableControls; + First; + while not eof do + begin + if (CDS_MX.Locate('ssel', true, [])) and not CDS_mxSel.Locate('stkid', CDS_MX.fieldbyname('stkid').AsString, []) then + begin + CDS_mxSel.Append; + for i := 0 to CDS_mxSel.FieldCount - 1 do + begin + mfieldName := trim(CDS_mxSel.fields[i].FieldName); + CDS_mxSel.Fields[i].Value := CDS_MX.fieldbyName(mfieldName).Value; + end; + CDS_mxSel.Post; + CDS_MX.Delete; + end; + next; + end; + EnableControls; + First; + end; + with CDS_MX do + begin + DisableControls; + First; + while not eof do + begin + if (CDS_MX.Locate('ssel', true, [])) and not CDS_mxSel.Locate('stkid', CDS_MX.fieldbyname('stkid').AsString, []) then + begin + CDS_mxSel.Append; + for i := 0 to CDS_mxSel.FieldCount - 1 do + begin + mfieldName := trim(CDS_mxSel.fields[i].FieldName); + CDS_mxSel.Fields[i].Value := CDS_MX.fieldbyName(mfieldName).Value; + // CDS_SubSel.Fields[i].Value:=CDS_Main.Fields[i].Value; + end; + CDS_mxSel.Post; + CDS_MX.Delete; + end; + next; + end; + EnableControls; + First; + end; + CDS_mxSel.EnableControls; +end; + +procedure TfrmTradeMarketDisSel.CheckBox1Click(Sender: TObject); +begin + inherited; + if cds_mx.IsEmpty then + exit; + with cds_mx do + begin + DisableControls; + first; + while not eof do + begin + edit; + fieldbyname('ssel').Value := checkbox1.Checked; + post; + next; + end; + First; + EnableControls; + end; +end; + +procedure TfrmTradeMarketDisSel.CustomerNoNameBtnDnClick(Sender: TObject); +begin + TBtnEditC(Sender).Text := ''; + TBtnEditC(Sender).TxtCode := ''; +end; + +procedure TfrmTradeMarketDisSel.InitOrder(); +begin + try + with ADOTemp do + begin + close; + sql.Clear; + sql.Add(' select A.* '); + sql.Add(' from Trade_Market_Sub A '); + sql.Add(' inner join Trade_Market_Main B on B.TMMID=A.TMMID'); + sql.Add(' and isnull(substatus,''0'')=''0'''); + sql.Add(' and A.TMMID=' + quotedstr(trim(fmainID))); + open; + end; + SCreateCDS(ADOTemp, cds_1); + SInitCDSData(ADOTemp, cds_1); + finally + // Order_Main.EnableControls; + end; +end; + +procedure TfrmTradeMarketDisSel.FormShow(Sender: TObject); +begin + inherited; + TBRafresh.Click; +end; + +procedure TfrmTradeMarketDisSel.InitGrid(); +begin + try + with ADOQueryMain do + begin + Filtered := False; + Close; + sql.Clear; + SQL.Add('exec P_Trade_Dispatched_View'); + SQL.Add('@C_Code=' + quotedstr(trim(fCode))); + SQL.Add(',@C_Color=' + quotedstr(trim(fColor))); + SQL.Add(',@C_Pattern=' + quotedstr(trim(FPattern))); +// ShowMessage(sql.Text); + Open; + end; + SCreateCDS(ADOQueryMain, cds_mx); + SInitCDSData(ADOQueryMain, cds_mx); + SCreateCDS(ADOQueryMain, cds_mxSel); + finally + TBFind.Click; + end; +end; + +end. + diff --git a/T05贸易门市管理/U_TradeMarketInPut.dfm b/T05贸易门市管理/U_TradeMarketInPut.dfm new file mode 100644 index 0000000..ad09dae --- /dev/null +++ b/T05贸易门市管理/U_TradeMarketInPut.dfm @@ -0,0 +1,751 @@ +inherited frmTradeMarketInPut: TfrmTradeMarketInPut + Left = 143 + Top = 4 + Caption = #35746#21333#24405#20837 + ClientHeight = 865 + ClientWidth = 1360 + Font.Charset = GB2312_CHARSET + Font.Height = -16 + Position = poMainFormCenter + WindowState = wsMaximized + ExplicitWidth = 1376 + ExplicitHeight = 904 + PixelsPerInch = 96 + TextHeight = 21 + object ToolBar1: TToolBar [0] + Tag = 1 + Left = 0 + Top = 0 + Width = 1360 + Height = 30 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 83 + Caption = 'ToolBar1' + Color = clWhite + EdgeInner = esNone + EdgeOuter = esNone + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = cxImageList_bar + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + ExplicitWidth = 1692 + object TBSave: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #20445#23384 + ImageIndex = 16 + OnClick = TBSaveClick + end + object ToolButton3: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #20445#23384#26684#24335 + ImageIndex = 16 + OnClick = ToolButton3Click + end + object TBClose: TToolButton + Left = 150 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 7 + OnClick = TBCloseClick + end + end + object ToolBar2: TToolBar [1] + Left = 0 + Top = 254 + Width = 1360 + Height = 30 + ButtonHeight = 30 + ButtonWidth = 83 + Caption = 'ToolBar1' + Color = clBtnFace + EdgeInner = esNone + EdgeOuter = esNone + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = cxImageList_bar + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 1 + object ToolButton4: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #20135#21697#36873#25321 + ImageIndex = 4 + OnClick = ToolButton4Click + end + object ToolButton1: TToolButton + Left = 87 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 2 + OnClick = ToolButton1Click + end + object ToolButton2: TToolButton + Left = 150 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 6 + OnClick = ToolButton2Click + end + object ToolButton5: TToolButton + Left = 213 + Top = 0 + Caption = #19968#38190#26367#25442 + ImageIndex = 17 + OnClick = ToolButton3Click + end + end + object Panel2: TPanel [2] + Left = 0 + Top = 284 + Width = 1360 + Height = 581 + Align = alClient + Caption = 'Panel2' + TabOrder = 2 + ExplicitTop = 251 + ExplicitWidth = 1540 + ExplicitHeight = 399 + object Panel3: TPanel + Left = 1 + Top = 1 + Width = 1072 + Height = 579 + Align = alClient + Caption = 'Panel2' + TabOrder = 0 + ExplicitWidth = 900 + ExplicitHeight = 397 + object cxGrid1: TcxGrid + Left = 1 + Top = 1 + Width = 1070 + Height = 577 + Align = alClient + TabOrder = 0 + ExplicitLeft = 0 + ExplicitWidth = 1392 + ExplicitHeight = 573 + object Tv1: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + ScrollbarAnnotations.CustomAnnotations = <> + OnFocusedRecordChanged = Tv1FocusedRecordChanged + DataController.DataSource = DS_1 + DataController.Filter.AutoDataSetFilter = True + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = '0' + Position = spFooter + end + item + Format = '0' + Position = spFooter + Column = v1PRTOrderQty + end + item + Format = '0' + Position = spFooter + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1PRTOrderQty + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + Column = VC_PRTPs + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsData.Deleting = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + object Tv1Column3: TcxGridDBColumn + Caption = #24207#21495 + DataBinding.FieldName = 'SerialNo' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 50 + end + object v1Column11: TcxGridDBColumn + Tag = 99 + Caption = #36873#25321 + DataBinding.FieldName = 'SSel' + DataBinding.IsNullValueType = True + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Width = 66 + end + object Tv1Column1: TcxGridDBColumn + Caption = #20135#21697#32534#21495 + DataBinding.FieldName = 'C_Code' + DataBinding.IsNullValueType = True + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = Tv1Column1PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Width = 80 + end + object Tv1Column7: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'C_Name' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 80 + end + object v1PRTColor: TcxGridDBColumn + Caption = #20013#25991#39068#33394 + DataBinding.FieldName = 'C_Color' + DataBinding.IsNullValueType = True + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = False + HeaderAlignmentHorz = taCenter + Width = 116 + end + object Tv1Column9: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'C_Spec' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 70 + end + object Tv1Column11: TcxGridDBColumn + Caption = #33457#22411 + DataBinding.FieldName = 'C_Pattern' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 80 + end + object Tv1Column5: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'C_Width' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 70 + end + object Tv1Column10: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'C_GramWeight' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 70 + end + object VC_PRTPs: TcxGridDBColumn + Caption = #21305#25968 + DataBinding.FieldName = 'TMSPiece' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 112 + end + object v1PRTOrderQty: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'TMSQty' + DataBinding.IsNullValueType = True + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + Width = 98 + end + object Tv1Column8: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'TMSUnit' + DataBinding.IsNullValueType = True + PropertiesClassName = 'TcxComboBoxProperties' + Properties.Items.Strings = ( + 'M' + 'Y' + 'Kg' + #21305) + HeaderAlignmentHorz = taCenter + Width = 70 + end + object Tv1Column4: TcxGridDBColumn + Caption = #21333#20215 + DataBinding.FieldName = 'Price' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 70 + end + object Tv1Column6: TcxGridDBColumn + Caption = #21253#32568#36153 + DataBinding.FieldName = 'GangFee' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 70 + end + object Tv1Column13: TcxGridDBColumn + Caption = #36816#36153 + DataBinding.FieldName = 'Transfee' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 70 + end + object Tv1Column14: TcxGridDBColumn + Caption = #20854#23427#36153 + DataBinding.FieldName = 'Otherfee' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 70 + end + object Tv1Column2: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'OrdSNote' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 105 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + end + object Panel4: TPanel + Left = 1073 + Top = 1 + Width = 286 + Height = 579 + Align = alRight + Caption = 'Panel4' + TabOrder = 1 + object Panel5: TPanel + Left = 1 + Top = 1 + Width = 284 + Height = 41 + Align = alTop + TabOrder = 0 + ExplicitLeft = 215 + ExplicitTop = 393 + ExplicitWidth = 421 + object Label33: TLabel + Left = 113 + Top = 10 + Width = 44 + Height = 21 + Caption = #25968#37327 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -21 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label38: TLabel + Left = 20 + Top = 10 + Width = 44 + Height = 21 + Caption = #24207#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -21 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object QtyMX: TEdit + Left = 163 + Top = 6 + Width = 89 + Height = 29 + TabOrder = 0 + OnKeyPress = QtyMXKeyPress + end + end + object GroupBox2: TGroupBox + Left = 1 + Top = 42 + Width = 284 + Height = 536 + Align = alClient + Caption = #21452#20987#21024#38500#26126#32454#20449#24687 + TabOrder = 1 + ExplicitWidth = 636 + ExplicitHeight = 354 + object cxGrid2: TcxGrid + Left = 2 + Top = 23 + Width = 280 + Height = 511 + Align = alClient + TabOrder = 0 + ExplicitLeft = -2 + ExplicitWidth = 784 + ExplicitHeight = 507 + object TvMX: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + Navigator.Buttons.Delete.Enabled = False + Navigator.Buttons.Delete.Visible = False + ScrollbarAnnotations.CustomAnnotations = <> + OnCellDblClick = TvMXCellDblClick + DataController.DataSource = DS_MX + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Kind = skCount + Position = spFooter + end + item + Kind = skSum + Position = spFooter + Column = cxGridDBColumn8 + end + item + Kind = skCount + end + item + Kind = skSum + Column = cxGridDBColumn8 + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = cxGridDBColumn8 + end + item + Kind = skCount + Column = cxGridDBColumn8 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + OptionsView.Indicator = True + OptionsView.IndicatorWidth = 33 + object cxGridDBColumn8: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'Meter' + DataBinding.IsNullValueType = True + PropertiesClassName = 'TcxTextEditProperties' + Properties.Alignment.Horz = taCenter + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Sorting = False + Width = 66 + end + end + object cxGridLevel2: TcxGridLevel + GridView = TvMX + end + end + end + end + end + object ScrollBox1: TScrollBox [3] + Left = 0 + Top = 30 + Width = 1360 + Height = 224 + Align = alTop + BevelInner = bvNone + BevelOuter = bvNone + BorderStyle = bsNone + Color = clWhite + Ctl3D = False + ParentColor = False + ParentCtl3D = False + TabOrder = 3 + OnClick = ScrollBox1Click + ExplicitTop = 72 + ExplicitWidth = 1692 + object Label3: TLabel + Left = 722 + Top = 13 + Width = 64 + Height = 21 + Caption = #21046#21333#26085#26399 + end + object Label25: TLabel + Left = 363 + Top = 13 + Width = 64 + Height = 21 + Caption = #20132#36135#26085#26399 + end + object Label1: TLabel + Left = 21 + Top = 126 + Width = 77 + Height = 21 + Caption = #22791' '#27880 + end + object Label2: TLabel + Left = 23 + Top = 13 + Width = 48 + Height = 21 + Caption = #35746#21333#21495 + end + object Label14: TLabel + Left = 363 + Top = 49 + Width = 72 + Height = 21 + Caption = #23458' '#25143 + end + object Label20: TLabel + Left = 23 + Top = 49 + Width = 64 + Height = 21 + Caption = #32463#33829#21333#20301 + end + object Label19: TLabel + Left = 363 + Top = 87 + Width = 80 + Height = 21 + Caption = #32852#31995#26041#24335#65306 + end + object Label37: TLabel + Left = 23 + Top = 87 + Width = 80 + Height = 21 + Caption = #35746#21333#31867#22411#65306 + end + object Label18: TLabel + Left = 722 + Top = 49 + Width = 64 + Height = 21 + Caption = #21457#36135#22320#22336 + end + object TMMNo: TEdit + Tag = 2 + Left = 114 + Top = 10 + Width = 150 + Height = 27 + TabOrder = 0 + end + object TMMDate: TDateTimePicker + Tag = 2 + Left = 806 + Top = 9 + Width = 150 + Height = 29 + BevelInner = bvNone + Date = 40916.000000000000000000 + Format = 'yyyy-MM-dd' + Time = 0.670856296288548000 + TabOrder = 1 + end + object DLYDate: TDateTimePicker + Tag = 2 + Left = 461 + Top = 9 + Width = 150 + Height = 29 + BevelInner = bvNone + Date = 40916.000000000000000000 + Format = 'yyyy-MM-dd' + Time = 0.670856296288548000 + ShowCheckbox = True + TabOrder = 2 + end + object OrdNote: TMemo + Tag = 2 + Left = 112 + Top = 131 + Width = 842 + Height = 58 + Hint = 'OrdNote/'#22791#27880 + ScrollBars = ssVertical + TabOrder = 3 + OnDblClick = PackNoteDblClick + end + object CustName: TBtnEditC + Tag = 2 + Left = 461 + Top = 44 + Width = 150 + Height = 30 + ReadOnly = True + TabOrder = 4 + OnBtnUpClick = CustNameBtnUpClick + OnBtnDnClick = OurCoNameBtnDnClick + end + object OurCoName: TBtnEditC + Tag = 2 + Left = 114 + Top = 45 + Width = 150 + Height = 30 + ReadOnly = True + TabOrder = 5 + OnBtnUpClick = OurCoNameBtnUpClick + OnBtnDnClick = OurCoNameBtnDnClick + end + object CONTACT: TBtnEditC + Tag = 2 + Left = 461 + Top = 82 + Width = 493 + Height = 30 + TabOrder = 6 + end + object OrdType: TComboBox + Tag = 2 + Left = 114 + Top = 83 + Width = 100 + Height = 29 + Style = csDropDownList + Ctl3D = False + Enabled = False + ItemIndex = 0 + ParentCtl3D = False + TabOrder = 7 + Text = #27491#24120#21333 + Items.Strings = ( + #27491#24120#21333) + end + object ShippingAddress: TBtnEditC + Tag = 2 + Left = 806 + Top = 44 + Width = 150 + Height = 30 + TabOrder = 8 + end + end + inherited ADOQueryBaseCmd: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + Left = 265 + Top = 504 + end + inherited ADOQueryBaseTemp: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + Left = 353 + Top = 505 + end + inherited ImageList_new32: TImageList + Left = 1480 + Top = 32 + end + inherited cxImageList_bar: TcxImageList + FormatVersion = 1 + end + object ADOTemp: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 504 + Top = 396 + end + object ADOCmd: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + Parameters = <> + Left = 592 + Top = 389 + end + object DS_1: TDataSource + DataSet = CDS_1 + Left = 584 + Top = 512 + end + object CDS_1: TClientDataSet + Aggregates = <> + Params = <> + Left = 515 + Top = 508 + end + object GPM_1: TcxGridPopupMenu + PopupMenus = <> + Left = 436 + Top = 509 + end + object ADOQueryLabel: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + Parameters = <> + Left = 932 + Top = 421 + end + object ADO_I1: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + Parameters = <> + Left = 1226 + Top = 189 + end + object DS_I1: TDataSource + DataSet = ADO_I1 + Left = 1166 + Top = 157 + end + object IdFTP1: TIdFTP + ConnectTimeout = 0 + NATKeepAlive.UseKeepAlive = False + NATKeepAlive.IdleTimeMS = 0 + NATKeepAlive.IntervalMS = 0 + ProxySettings.ProxyType = fpcmNone + ProxySettings.Port = 0 + ReadTimeout = 0 + Left = 1058 + Top = 238 + end + object ADO_I2: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + Parameters = <> + Left = 1048 + Top = 75 + end + object DS_I2: TDataSource + DataSet = ADO_I2 + Left = 1124 + Top = 71 + end + object DS_MX: TDataSource + DataSet = CDS_MX + Left = 1056 + Top = 444 + end + object CDS_MX: TClientDataSet + Aggregates = <> + Params = <> + Left = 1008 + Top = 412 + end +end diff --git a/T05贸易门市管理/U_TradeMarketInPut.pas b/T05贸易门市管理/U_TradeMarketInPut.pas new file mode 100644 index 0000000..78eee30 --- /dev/null +++ b/T05贸易门市管理/U_TradeMarketInPut.pas @@ -0,0 +1,1345 @@ +unit U_TradeMarketInPut; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, + cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, cxMemo, + cxRichEdit, ComCtrls, cxContainer, cxTextEdit, cxMaskEdit, cxButtonEdit, + StdCtrls, ToolWin, DBClient, ADODB, ExtCtrls, BtnEdit, cxCalendar, StrUtils, + cxCurrencyEdit, cxGridCustomPopupMenu, cxGridPopupMenu, cxDropDownEdit, + RM_Common, RM_Preview, RM_System, RM_Class, RM_GridReport, RM_Dataset, Menus, + cxSplitter, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, cxCheckBox, + dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, dxBarBuiltInMenu, cxPC, + System.ImageList, Vcl.ImgList, U_BaseInput, cxImage, cxDBEdit, IdBaseComponent, + IdComponent, IdTCPConnection, IdTCPClient, IdExplicitTLSClientServerBase, + IdFTP, ShellAPI, dxScrollbarAnnotations, cxImageList; + +type + TfrmTradeMarketInPut = class(TfrmBaseInput) + ToolBar1: TToolBar; + TBSave: TToolButton; + TBClose: TToolButton; + ADOTemp: TADOQuery; + ADOCmd: TADOQuery; + DS_1: TDataSource; + CDS_1: TClientDataSet; + GPM_1: TcxGridPopupMenu; + ADOQueryLabel: TADOQuery; + ADO_I1: TADOQuery; + DS_I1: TDataSource; + ToolButton3: TToolButton; + IdFTP1: TIdFTP; + ADO_I2: TADOQuery; + DS_I2: TDataSource; + ToolBar2: TToolBar; + ToolButton4: TToolButton; + ToolButton1: TToolButton; + ToolButton2: TToolButton; + ToolButton5: TToolButton; + Panel2: TPanel; + Panel3: TPanel; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1Column11: TcxGridDBColumn; + v1PRTColor: TcxGridDBColumn; + VC_PRTPs: TcxGridDBColumn; + v1PRTOrderQty: TcxGridDBColumn; + Tv1Column2: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + Tv1Column1: TcxGridDBColumn; + Tv1Column7: TcxGridDBColumn; + Tv1Column8: TcxGridDBColumn; + Tv1Column9: TcxGridDBColumn; + Tv1Column4: TcxGridDBColumn; + Tv1Column6: TcxGridDBColumn; + Tv1Column13: TcxGridDBColumn; + Tv1Column14: TcxGridDBColumn; + Panel4: TPanel; + Panel5: TPanel; + Label33: TLabel; + Label38: TLabel; + QtyMX: TEdit; + GroupBox2: TGroupBox; + cxGrid2: TcxGrid; + TvMX: TcxGridDBTableView; + cxGridDBColumn8: TcxGridDBColumn; + cxGridLevel2: TcxGridLevel; + DS_MX: TDataSource; + CDS_MX: TClientDataSet; + Tv1Column3: TcxGridDBColumn; + Tv1Column5: TcxGridDBColumn; + Tv1Column10: TcxGridDBColumn; + Tv1Column11: TcxGridDBColumn; + ScrollBox1: TScrollBox; + Label3: TLabel; + Label25: TLabel; + Label1: TLabel; + Label2: TLabel; + Label14: TLabel; + Label20: TLabel; + Label19: TLabel; + Label37: TLabel; + Label18: TLabel; + TMMNo: TEdit; + TMMDate: TDateTimePicker; + DLYDate: TDateTimePicker; + OrdNote: TMemo; + CustName: TBtnEditC; + OurCoName: TBtnEditC; + CONTACT: TBtnEditC; + OrdType: TComboBox; + ShippingAddress: TBtnEditC; + procedure TBCloseClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBSaveClick(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure CustomerNoNameBtnDnClick(Sender: TObject); + procedure v1OrderUnitPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); + procedure v1PriceUnitPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); + procedure YCLFactoryBtnUpClick(Sender: TObject); + procedure ScrollBox1Click(Sender: TObject); + procedure v1Column5PropertiesEditValueChanged(Sender: TObject); + procedure HYTTBtnUpClick(Sender: TObject); + procedure KYTTBtnUpClick(Sender: TObject); + procedure edtGYBtnUpClick(Sender: TObject); + procedure v1OrderUnitPropertiesEditValueChanged(Sender: TObject); + procedure Tv1Column4PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); + procedure cxDBImage1DblClick(Sender: TObject); + procedure SYRNameBtnUpClick(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + procedure CustNameBtnUpClick(Sender: TObject); + procedure OurCoNameBtnUpClick(Sender: TObject); + procedure OurCoNameBtnDnClick(Sender: TObject); + procedure TechnicsBtnUpClick(Sender: TObject); + procedure TechnicsBtnDnClick(Sender: TObject); + procedure PackNoteDblClick(Sender: TObject); + procedure Tv1Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); + procedure ToolButton4Click(Sender: TObject); + procedure QtyMXKeyPress(Sender: TObject; var Key: Char); + procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); + procedure TvMXCellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); + private + FSCXDH: string; + procedure InitData(); + procedure ZDYHelp(FButn: TcxButtonEdit; LType: string); + function SaveData(): Boolean; + function getTMMNo(fconNo: string): string; + procedure InitImage1(); + procedure InitImage2(); + procedure LookImage(FileName: string); + procedure InitMXGrid(MTMSId: string); + { Private declarations } + public + PState, CopyInt, PriceFlag: Integer; + FTMMID, FFTMMID, FTMMNo, MTMSId: string; + FXS: Integer; + canshu1: string; + fFlileFlag: string; + fordtype: string; + { Public declarations } + end; + +var + frmTradeMarketInPut: TfrmTradeMarketInPut; + newh: hwnd; + +implementation + +uses + U_DataLink, U_ZDYHelp, U_ZDYHelpSel, U_RTFun, U_CompanySel, U_PictureUpload, + U_ClothInfoSel; + + +{$R *.dfm} + +procedure TfrmTradeMarketInPut.InitImage1(); +begin + +end; + +procedure TfrmTradeMarketInPut.InitImage2(); +begin + +end; + +function TfrmTradeMarketInPut.getTMMNo(fconNo: string): string; +var + str1: string; + i: integer; +begin + str1 := trim(fconNo) + '01'; + with ADOTemp do + begin + close; + sql.Clear; + sql.Add('select TMMID from Trade_Plan_Main where TMMNo=' + quotedstr(trim(str1))); + open; + end; + if not ADOTemp.IsEmpty then + begin + for i := 1 to 99 do + begin + str1 := trim(fconNo) + rightstr(inttostr(100 + i), 2); + with ADOCmd do + begin + close; + sql.Clear; + sql.Add('select TMMID from Trade_Plan_Main where TMMNo=' + quotedstr(trim(str1))); + open; + end; + if ADOCmd.IsEmpty then + break; + end; + end; + result := str1; +end; + +procedure TfrmTradeMarketInPut.TBCloseClick(Sender: TObject); +begin + + Close; + +end; + +procedure TfrmTradeMarketInPut.InitData(); +var + FDate: TDateTime; +begin + FDate := SGetServerDateTime(ADOTemp); + TMMDate.DateTime := FDate; + DlyDate.DateTime := FDate; + + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Trade_Market_Main where TMMID=''' + Trim(FTMMID) + ''''); + Open; + end; + SCSHData(ADOTemp, ScrollBox1, 2); + SCSHData(ADOTemp, ScrollBox1, 5); + SCSHData(ADOTemp, ScrollBox1, 9); + SCSHData(ADOTemp, ScrollBox1, 7); + OurCoName.TxtCode := Trim(ADOTemp.FieldByName('OurCoNo').AsString); + CustName.TxtCode := Trim(ADOTemp.FieldByName('CustNo').AsString); + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add(' select * from Trade_Market_Sub where 1=1 '); + if PState = 1 then + begin + sql.Add(' and TMMID=''' + Trim(FTMMID) + ''''); + end; + if PState = 0 then + begin + sql.Add(' and 1<>1'); + end; + Open; + end; + SCreateCDS(ADOTemp, CDS_1); + SInitCDSData(ADOTemp, CDS_1); + + if PState = 0 then + begin + TMMDate.DateTime := SGetServerDateTime(ADOTemp); + DlyDate.DateTime := TMMDate.DateTime; + TMMNo.Text := ''; + TMMNo.Enabled := True; + end + else + begin + end; + if CopyInt = 99 then + begin + PState := 0; + FTMMID := ''; + TMMNo.Text := ''; + TMMNo.Enabled := True; + + TMMDate.DateTime := FDate; + + with CDS_1 do + begin + First; + while not Eof do + begin + Edit; + FieldByName('TMMID').Value := ''; + FieldByName('TMSId').Value := ''; + Post; + Next; + end; + end; + + end; +end; + +procedure TfrmTradeMarketInPut.ZDYHelp(FButn: TcxButtonEdit; LType: string); +var + FType, ZDYName, FText: string; +begin +end; + +procedure TfrmTradeMarketInPut.FormShow(Sender: TObject); +var + i: Integer; +begin + inherited; + readCxGrid(TRIM(SELF.Caption), Tv1, 'ָʾ'); + TMMNo.Text := ''; + fFlileFlag := UserDataFlag + 'HX'; + InitData(); + ordtype.Items.Clear; + ordtype.Items.Add(fordtype); + ordtype.ItemIndex := 0; + InitImage1(); + InitImage2(); +end; + +function TfrmTradeMarketInPut.SaveData(): Boolean; +var + maxno, Smaxno, maxTMMNo, MaxFNo: string; +begin + try + ADOCmd.Connection.BeginTrans; + /// + if Trim(FTMMID) = '' then + begin + if GetLSNo(ADOCmd, maxno, 'JM', 'Trade_Market_Main', 3, 1) = False then + raise Exception.Create('ȡʧ!'); + end + else + begin + maxno := Trim(FTMMID); + end; + + if TMMNo.Text = '' then + TMMNo.Text := maxno; + + with ADOCmd do + begin + Close; + sql.Clear; + SQL.Add('select * from Trade_Market_Main where TMMID=''' + Trim(FTMMID) + ''''); + Open; + end; + with ADOCmd do + begin + if Trim(FTMMID) = '' then + begin + Append; + FieldByName('FillId').Value := Trim(DCode); + FieldByName('Filler').Value := Trim(DName); + end + else + begin + Edit; + FieldByName('EditId').Value := Trim(DCode); + FieldByName('Editer').Value := Trim(DName); + FieldByName('EditTime').Value := SGetServerDateTime(ADOTemp); + end; + RTSetsavedata(ADOCmd, 'Trade_Market_Main', ScrollBox1, 2); + FieldByName('TMMID').Value := Trim(maxno); + FieldByName('OurCoNo').Value := Trim(OurCoName.TxtCode); + FieldByName('CustNo').Value := Trim(CustName.TxtCode); + + Post; + end; + +///////////////////// ӱ /////////////////////////// + with CDS_1 do + begin + First; + while not Eof do + begin + if Trim(CDS_1.fieldbyname('TMSId').AsString) = '' then + begin + if GetLSNo(ADOCmd, Smaxno, 'JS', 'Trade_Market_Sub', 4, 1) = False then + raise Exception.Create('ȡˮʧ!'); + end + else + begin + Smaxno := Trim(CDS_1.fieldbyname('TMSId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from Trade_Market_Sub where TMMID=''' + Trim(maxno) + ''''); + sql.Add(' and TMSId=''' + Trim(Smaxno) + ''''); + Open; + end; + with ADOCmd do + begin + if Trim(CDS_1.fieldbyname('TMSId').AsString) = '' then + Append + else + Edit; + RTSetSaveDataCDS(ADOCmd, Tv1, CDS_1, 'Trade_Market_Sub', 0); + + RTSetsavedata(ADOCmd, 'Trade_Market_Sub', ScrollBox1, 7); + FieldByName('TMMID').Value := Trim(maxno); + FieldByName('TMSId').Value := Trim(Smaxno); +// FieldByName('ConSId').Value := Trim(CDS_1.fieldbyname('ConSId').AsString); +// FieldByName('ConMId').Value := Trim(CDS_1.fieldbyname('ConMId').AsString); + Post; + with CDS_1 do + begin + Edit; + fieldbyname('TMSId').Value := Trim(Smaxno); + Post; + end; + + end; + Next; + end; + end; +///////////////////// ӱ /////////////////////////// +///////////////////// ӹ /////////////////////////// +// with ADOCmd do +// begin +// Close; +// sql.Clear; +// SQL.Add('select * from Trade_Plan_Fty where TPFId=''' + Trim(FTMMID) + ''''); +// Open; +// end; +// with ADOCmd do +// begin +// if ADOCmd.IsEmpty then +// begin +// Append; +// end +// else +// Edit; +// RTSetsavedata(ADOCmd, 'Trade_Plan_Fty', ScrollBox1, 5); +// FieldByName('TMMID').Value := Trim(FTMMID); +// FieldByName('TPFId').Value := Trim(FTMMID); +// Post; +// end; + +///////////////////// ӹ /////////////////////////// +/// +/////////////// /////////////// +// with ADOCmd do +// begin +// Close; +// sql.Clear; +// SQL.Add('select * from Trade_Cloth_Inspect_Rule where RuleID=''' + Trim(FTMMID) + ''''); +// Open; +// end; +// with ADOCmd do +// begin +// if ADOCmd.IsEmpty then +// begin +// Append; +// end +// else +// Edit; +// RTSetsavedata(ADOCmd, 'Trade_Cloth_Inspect_Rule', ScrollBox1, 9); +// FieldByName('RuleID').Value := Trim(FTMMID); +// Post; +// end; + +/////////////// /////////////// + + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from Trade_Market_Main where TMMNo=''' + Trim(TMMNo.Text) + ''''); + Open; + end; + if ADOCmd.RecordCount > 1 then + raise Exception.Create('ظ!'); + + FTMMID := Trim(maxno); + + ADOCmd.Connection.CommitTrans; + Result := True; + except + Result := False; + ADOCmd.Connection.RollbackTrans; + application.MessageBox(PChar(Exception(ExceptObject).Message), 'ʾϢ', 0); + + if pos('KEY Լ', Exception(ExceptObject).Message) > 0 then + begin + if GetLSNo(ADOCmd, Smaxno, 'JS', 'Trade_Market_Sub', 4, 1) = False then + begin + Application.MessageBox('ȡˮʧܣ', 'ʾ', 0); + Exit; + end; + end; + end; +end; + +procedure TfrmTradeMarketInPut.TBSaveClick(Sender: TObject); +var + MAXNO1: string; +begin + if PState <> 1 then + begin + TMMDate.SetFocus; + end; + + if CDS_1.IsEmpty then + begin + Application.MessageBox('ϸΪ!', 'ʾ', 0); + Exit; + end; + + if CDS_1.Locate('TMSUnit', null, []) then + begin + Application.MessageBox('λΪ!', 'ʾ', 0); + Exit; + end; + + if CDS_1.Locate('TMSQty', null, []) then + begin + Application.MessageBox('Ϊ!', 'ʾ', 0); + Exit; + end; + +// if CDS_1.Locate('C_Color', null, []) then +// begin +// Application.MessageBox('ɫΪ!', 'ʾ', 0); +// Exit; +// end; + + if SaveData() then + begin + Application.MessageBox('ɹ', 'ʾ', 0); +// ModalResult := 1; + end; +end; + +procedure TfrmTradeMarketInPut.ToolButton1Click(Sender: TObject); +var + i: Integer; + maxno: string; +begin + if Trim(TMMNo.Text) = '' then + begin + Application.MessageBox('ŲΪ!', 'ʾ', 0); + Exit; + end; + i := cds_1.RecordCount; + i := i + 1; + CopyAddRow(Tv1, cds_1); + + if GetLSNo(ADOTemp, maxno, 'JS', 'Trade_Market_Sub', 4, 1) = False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ', 'ʾ', 0); + Exit; + end; + with cds_1 do + begin + Edit; + FieldByName('SerialNo').Value := IntToStr(i); + FieldByName('TMSId').Value := Trim(maxno); + FieldByName('TMSUnit').Value := 'M'; + Post; + end; +end; + +procedure TfrmTradeMarketInPut.ToolButton2Click(Sender: TObject); +begin + if CDS_1.IsEmpty then + Exit; + if CDS_1.Locate('SSel', True, []) = False then + begin + Application.MessageBox('ûѡ!', 'ʾ', 0); + Exit; + end; + if Application.MessageBox('ȷҪɾѡ', 'ʾ', 32 + 4) <> IDYES then + exit; + CDS_1.DisableControls; + with CDS_1 do + begin + First; + while Locate('SSel', True, []) do + begin + if Trim(CDS_1.fieldbyname('TMSId').AsString) <> '' then + begin + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete Trade_Market_Sub where TMSId=''' + Trim(CDS_1.fieldbyname('TMSId').AsString) + ''''); + sql.Add('delete Trade_Market_Sub_Qty where TMSId=''' + Trim(CDS_1.fieldbyname('TMSId').AsString) + ''''); + ExecSQL; + end; + end; + Delete; + end; + end; + CDS_1.EnableControls; + +end; + +procedure TfrmTradeMarketInPut.ToolButton3Click(Sender: TObject); +begin + WriteCxGrid(TRIM(SELF.Caption), Tv1, 'ָʾ'); + +end; + +procedure TfrmTradeMarketInPut.ToolButton4Click(Sender: TObject); +var + i: Integer; + maxno: string; +begin + inherited; + try + frmClothInfoSel := TfrmClothInfoSel.Create(Application); + with frmClothInfoSel do + begin + + if ShowModal = 1 then + begin + + + +// while CDS_1.locate('SSel', true, []) do + begin + + if self.CDS_1.locate('C_Code', trim(CDS_1.Fieldbyname('C_Code').AsString), []) then + begin + CDS_1.Edit; + CDS_1.fieldbyname('SSel').value := false; +// continue; + end; + + i := cds_1.RecordCount; + + with CDS_3 do + begin + + DisableControls; + First; + + while not eof do + begin + + if FieldByName('SSEL').AsBoolean then + begin + i := i + 1; + if GetLSNo(ADOTemp, maxno, 'JS', 'Trade_Market_Sub', 4, 1) = False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ', 'ʾ', 0); + Exit; + end; + with self.CDS_1 do + begin + append; + FieldByName('SSel').Value := false; + FieldByName('SerialNo').Value := IntToStr(i); + FieldByName('TMSId').Value := Trim(maxno); + FieldByName('TMSUnit').Value := 'M'; + Fieldbyname('C_Code').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Code').AsString); + Fieldbyname('C_Name').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Name').AsString); + Fieldbyname('C_Spec').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Spec').AsString); + Fieldbyname('C_Composition').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Composition').AsString); + Fieldbyname('C_Width').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Width').AsString); + Fieldbyname('C_GramWeight').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_GramWeight').AsString); + +// Fieldbyname('C_ColorNo').value := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_ColorNo').AsString); +// Fieldbyname('C_Color').value := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Color').AsString); +// Fieldbyname('C_Pattern').value := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Pattern').AsString); + + Fieldbyname('C_ColorNo').value := trim(frmClothInfoSel.CDS_3.Fieldbyname('C_ColorNo').AsString); + Fieldbyname('C_Color').value := trim(frmClothInfoSel.CDS_3.Fieldbyname('C_Color').AsString); + Fieldbyname('C_Pattern').value := trim(frmClothInfoSel.CDS_3.Fieldbyname('C_Pattern').AsString); +// Fieldbyname('C_StyleNo').value := trim(frmClothInfoSel.CDS_3.Fieldbyname('C_StyleNo').AsString); +// Fieldbyname('SerialNo').value := 999; + end; + end; + Next; + end; + EnableControls; + end; + +// with self.CDS_1 do +// begin +// append; +// FieldByName('SSel').Value := false; +// FieldByName('SerialNo').Value := IntToStr(i); +// FieldByName('TMSId').Value := Trim(maxno); +// FieldByName('TMSUnit').Value := 'M'; +// Fieldbyname('C_Code').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Code').AsString); +// Fieldbyname('C_Name').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Name').AsString); +// Fieldbyname('C_Spec').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Spec').AsString); +// Fieldbyname('C_Composition').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Composition').AsString); +// Fieldbyname('C_Width').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Width').AsString); +// Fieldbyname('C_GramWeight').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_GramWeight').AsString); +// +// Fieldbyname('C_ColorNo').value := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_ColorNo').AsString); +// Fieldbyname('C_Color').value := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Color').AsString); +// Fieldbyname('C_Pattern').value := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Pattern').AsString); +// +// end; +// CDS_1.Edit; +// CDS_1.fieldbyname('SSel').value := false; + end; + end; + end; + finally + frmClothInfoSel.Free; + end; + +end; + +procedure TfrmTradeMarketInPut.edtGYBtnUpClick(Sender: TObject); +var + fsj: string; + FWZ: Integer; + i: integer; +begin +// fsj := Trim(TBtnEditC(Sender).Hint); +// FWZ := Pos('/', fsj); +// i := 0; +// try +// frmZDYHelpSel := TfrmZDYHelpSel.Create(Application); +// with frmZDYHelpSel do +// begin +// flag := Copy(fsj, 1, FWZ - 1); +// flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ); +// if ShowModal = 1 then +// begin +// TBtnEditC(Sender).text := ''; +// with ClientDataSet1 do +// begin +// First; +// while not Eof do +// begin +// if FieldByName('SSel').AsBoolean = True then +// begin +// i := i + 1; +// if TBtnEditC(Sender).text = '' then +// TBtnEditC(Sender).text := FieldByName('ZDYName').AsString +// else +// TBtnEditC(Sender).text := TBtnEditC(Sender).text + ',' + FieldByName('ZDYName').AsString; //inttostr(i)+'.'+ +// end; +// Next; +// end; +// end; +// end; +// end; +// finally +// frmZDYHelpSel.Free; +// end; +end; + +procedure TfrmTradeMarketInPut.TechnicsBtnDnClick(Sender: TObject); +begin + TBtnEditC(Sender).Text := ''; + TBtnEditC(Sender).TxtCode := ''; +end; + +procedure TfrmTradeMarketInPut.TechnicsBtnUpClick(Sender: TObject); +var + fsj: string; + FWZ: Integer; +begin + fsj := Trim(TEdit(Sender).Hint); + FWZ := Pos('/', fsj); + try + frmZDYHelp := TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag := Copy(fsj, 1, FWZ - 1); + flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ); + if ShowModal = 1 then + begin + TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; + +end; + +procedure TfrmTradeMarketInPut.CustNameBtnUpClick(Sender: TObject); +begin + try + frmCompanySel := TfrmCompanySel.Create(Application); + with frmCompanySel do + begin + FCoType := 'ͻ'; + if ShowModal = 1 then + begin + self.CustName.TxtCode := Trim(frmCompanySel.CDS_1.fieldbyname('CoCode').AsString); + self.CustName.Text := Trim(frmCompanySel.CDS_1.fieldbyname('CoAbbrName').AsString); + end; + end; + + finally + frmCompanySel.Free; + end; +end; + +procedure TfrmTradeMarketInPut.CustomerNoNameBtnDnClick(Sender: TObject); +begin + TBtnEditC(Sender).Text := ''; + TBtnEditC(Sender).TxtCode := ''; +end; + +procedure TfrmTradeMarketInPut.cxDBImage1DblClick(Sender: TObject); +begin + if TcxDBImage(Sender).Picture.Height = 0 then + exit; + LookImage(ADO_I1.fieldbyname(TcxDBImage(Sender).Hint).asstring); +end; + +procedure TfrmTradeMarketInPut.LookImage(FileName: string); +var + sFieldName: string; +begin + + sFieldName := leftbstr(ExtractFilePath(Application.ExeName), 1) + ':\ͼƬ鿴'; + + if not DirectoryExists(pchar(sFieldName)) then + CreateDirectory(pchar(sFieldName), nil); + + sFieldName := sFieldName + '\' + trim(FileName); + + try + IdFTP1.Host := ReadINIFileStr('SYSTEMSET.INI', 'SERVER', 'ַ', '127.0.0.1'); + IdFTP1.Username := 'three'; + IdFTP1.Password := '641010'; + IdFTP1.Connect(); + except + ; + end; + + if IdFTP1.Connected then + begin + try + IdFTP1.Get(fFlileFlag + '\' + Trim(FileName), sFieldName, true, false); + except + Application.MessageBox('ͻͼļ', 'ʾ', MB_ICONWARNING); + IdFTP1.Quit; + Exit; + end; + end + else + begin + Application.MessageBox('޷ļ', 'ʾ', MB_ICONWARNING); + IdFTP1.Quit; + Exit; + end; + if IdFTP1.Connected then + IdFTP1.Quit; + ShellExecute(Handle, 'open', PChar(sFieldName), '', '', SW_SHOWNORMAL); +end; + +procedure TfrmTradeMarketInPut.v1OrderUnitPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); +var + mvalues: string; +begin + mvalues := tv1.Columns[tv1.Controller.FocusedColumn.index].DataBinding.FieldName; + try + frmZDYHelp := TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag := 'OrderUnit'; + flagname := 'λ'; + if ShowModal = 1 then + begin + Self.CDS_1.Edit; + Self.CDS_1.FieldByName(mvalues).Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmTradeMarketInPut.v1OrderUnitPropertiesEditValueChanged(Sender: TObject); +var + mvalue, FFieldName, YValue: string; + FDDQty, FCPCDXS, FQty, FDKCQty: Double; +begin + mvalue := TcxComboBox(Sender).EditingText; //仯λ + FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); + with CDS_1 do + begin + + Edit; + FieldByName(FFieldName).Value := mvalue; + Post; + YValue := FieldByName('DDQtyUnit').AsString; //ԭλ=λ + FDDQty := FieldByName('DDQty').AsFloat; // + FCPCDXS := FieldByName('CPCDXS').AsFloat; + FDKCQty := FieldByName('DKCQty').AsFloat; + FQty := FieldByName('PRTOrderQty').AsFloat; + end; + if mvalue = 'Kg' then + begin + if YValue = 'Y' then + begin + FQty := FDDQty * 0.9144 / FCPCDXS; + end; + if YValue = 'M' then + begin + FQty := FDDQty / FCPCDXS; + end; + if YValue = 'Kg' then + begin + FQty := FDDQty; + end; + end; + + if mvalue = 'M' then + begin + if YValue = 'Y' then + begin + FQty := FDDQty * 0.9144; + end; + if YValue = 'Kg' then + begin + FQty := FDDQty * FCPCDXS; + end; + if YValue = 'M' then + begin + FQty := FDDQty; + end; + end; + if mvalue = 'Y' then + begin + if YValue = 'M' then + begin + FQty := FDDQty / 0.9144; + end; + if YValue = 'Kg' then + begin + FQty := FDDQty * FCPCDXS / 0.9144; + end; + if YValue = 'Y' then + begin + FQty := FDDQty; + end; + end; + + with CDS_1 do + begin + Edit; + FieldByName('PRTOrderQty').Value := FQty - FDKCQty; + Post; + end; + + Tv1.Controller.EditingController.ShowEdit(); +end; + +procedure TfrmTradeMarketInPut.v1PriceUnitPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp := TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag := 'PriceUnit'; + flagname := '۸λ'; + if Trim(DParameters1) <> 'Ȩ' then + begin + TBAdd.Visible := False; + TBEdit.Visible := False; + TBDel.Visible := False; + end; + + if ShowModal = 1 then + begin + Self.CDS_1.Edit; + Self.CDS_1.FieldByName('PriceUnit').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmTradeMarketInPut.YCLFactoryBtnUpClick(Sender: TObject); +var + fsj: string; + FWZ: Integer; +begin + fsj := Trim(TEdit(Sender).Hint); + FWZ := Pos('/', fsj); + try + frmZDYHelp := TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag := Copy(fsj, 1, FWZ - 1); + flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ); + if ShowModal = 1 then + begin + TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmTradeMarketInPut.ScrollBox1Click(Sender: TObject); +begin + TMMDate.SetFocus; +end; + +procedure TfrmTradeMarketInPut.OurCoNameBtnDnClick(Sender: TObject); +begin + TBtnEditC(Sender).Text := ''; + TBtnEditC(Sender).TxtCode := ''; +end; + +procedure TfrmTradeMarketInPut.OurCoNameBtnUpClick(Sender: TObject); +begin + try + frmCompanySel := TfrmCompanySel.Create(Application); + with frmCompanySel do + begin + FCoType := '˾'; + if ShowModal = 1 then + begin + self.OurCoName.TxtCode := Trim(frmCompanySel.CDS_1.fieldbyname('CoCode').AsString); + self.OurCoName.Text := Trim(frmCompanySel.CDS_1.fieldbyname('CoAbbrName').AsString); + end; + end; + + finally + frmCompanySel.Free; + end; + +end; + +procedure TfrmTradeMarketInPut.PackNoteDblClick(Sender: TObject); +var + fsj: string; + FWZ: Integer; + i: integer; +begin + fsj := Trim(TMemo(Sender).Hint); + FWZ := Pos('/', fsj); + i := 0; + try + frmZDYHelpSel := TfrmZDYHelpSel.Create(Application); + with frmZDYHelpSel do + begin + flag := Copy(fsj, 1, FWZ - 1); + flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ); + if ShowModal = 1 then + begin + TMemo(Sender).Lines.Clear; + with ClientDataSet1 do + begin + First; + while not Eof do + begin + if FieldByName('SSel').AsBoolean = True then + begin + i := i + 1; + TMemo(Sender).Lines.Add(FieldByName('ZDYName').AsString) //inttostr(i)+'.'+ + end; + Next; + end; + end; + end; + end; + finally + frmZDYHelpSel.Free; + end; +end; + +procedure TfrmTradeMarketInPut.QtyMXKeyPress(Sender: TObject; var Key: Char); +var + MaxNo: string; +begin + if Key = #13 then + begin + if Label38.Caption = '' then + begin + Application.MessageBox('ѡ', 'ʾ', 0); + Exit; + end; + if StrTofloatDef(QtyMX.Text, 0) = 0 then + Exit; + if GetLSNo(ADOTemp, MaxNo, 'MX', 'Trade_Market_Sub_Qty', 4, 1) = False then + begin + Application.MessageBox('ȡʧ!', 'ʾ', 0); + Exit; + end; + try + ADOCmd.Connection.BeginTrans; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('insert into Trade_Market_Sub_Qty (TMSQID,TMSId,Meter)'); + sql.Add('values(' + quotedstr(Trim(MaxNo))); + sql.Add(',' + quotedstr(Trim(MTMSId))); + sql.Add(',' + QtyMX.Text); + sql.Add(')'); + ExecSQL; + end; + ADOCmd.Connection.CommitTrans; + + with CDS_MX do + begin + Append; + FieldByName('TMSQID').Value := MaxNo; + FieldByName('TMSId').Value := MTMSId; + FieldByName('Meter').Value := QtyMX.Text; + post; + end; + except + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧ!', 'ʾ', 0); + end; + QtyMX.Text := ''; + TvMX.Controller.EditingController.ShowEdit(); + end; + with cds_1 do + begin + edit; + if CDS_MX.IsEmpty then + begin + Fieldbyname('TMSPiece').Value := 0; + Fieldbyname('TMSQty').Value := 0; + end + else + begin + Fieldbyname('TMSPiece').Value := TvMX.DataController.Summary.FooterSummaryValues[1]; + Fieldbyname('TMSQty').Value := TvMX.DataController.Summary.FooterSummaryValues[0]; + end; + + post; + end; +end; + +procedure TfrmTradeMarketInPut.SYRNameBtnUpClick(Sender: TObject); +var + fsj: string; + FWZ: Integer; +begin + fsj := Trim(TEdit(Sender).Hint); + FWZ := Pos('/', fsj); + try + frmZDYHelp := TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + fnote := True; + flag := Copy(fsj, 1, FWZ - 1); + flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ); + if ShowModal = 1 then + begin + TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmTradeMarketInPut.Tv1Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); +begin + inherited; + try + frmClothInfoSel := TfrmClothInfoSel.Create(Application); + with frmClothInfoSel do + begin +// xzflag := 0; +// kcflag := 1; + if ShowModal = 1 then + begin + with Self.CDS_1 do + begin + edit; + Fieldbyname('C_Code').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Code').AsString); + Fieldbyname('C_Name').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Name').AsString); + Fieldbyname('C_Spec').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Spec').AsString); + Fieldbyname('C_Composition').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Composition').AsString); + Fieldbyname('C_Width').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Width').AsString); + Fieldbyname('C_GramWeight').AsString := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_GramWeight').AsString); + + Fieldbyname('C_ColorNo').value := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_ColorNo').AsString); + Fieldbyname('C_Color').value := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Color').AsString); + Fieldbyname('C_Pattern').value := trim(frmClothInfoSel.CDS_1.Fieldbyname('C_Pattern').AsString); + post; + end; + + end; + end; + finally + frmClothInfoSel.Free; + end; + +end; + +procedure TfrmTradeMarketInPut.Tv1Column4PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); +begin + + try + frmPictureUpload := TfrmPictureUpload.create(self); + with frmPictureUpload do + begin + fFlileFlag := self.fFlileFlag; + FDataId := Trim(self.CDS_1.fieldbyname('AttName').AsString); + FPictureName := Trim(self.CDS_1.fieldbyname('AttName').AsString); + FWidth := 450; + FHeight := 600; + FTFType := 'HX'; + if showmodal = 1 then + begin + with self.CDS_1 do + begin + Edit; + Fieldbyname('AttName').Value := frmPictureUpload.FPictureName; + Post; + end; + end; + end; + finally + frmPictureUpload.free; + end; +end; + +procedure TfrmTradeMarketInPut.Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); +begin + inherited; + Label38.Caption := 'ţ' + Trim(cds_1.fieldbyname('SerialNo').AsString); + MTMSId := Trim(cds_1.fieldbyname('TMSId').AsString); + InitMXGrid(MTMSId); +end; + +procedure TfrmTradeMarketInPut.TvMXCellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); +begin + inherited; + if ToolBar2.Enabled = False then + Exit; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('delete Trade_Market_Sub_Qty where TMSQID=' + quotedstr(Trim(CDS_MX.FieldByName('TMSQID').AsString))); + ExecSQL; + end; + +// with ADOCmd do +// begin +// close; +// sql.Clear; +// sql.Add(' exec P_KCSD_AllNew '); +// sql.Add(' @Operation=''ϸɾ'' '); +// sql.Add(' ,@TMMNo=' + quotedstr(trim(TMMNo.Text))); +// ExecSQL; +// end; + CDS_MX.Delete; + with cds_1 do + begin + edit; + if CDS_MX.IsEmpty then + begin + Fieldbyname('TMSPiece').Value := 0; + Fieldbyname('TMSQty').Value := 0; + end + else + begin + Fieldbyname('TMSPiece').Value := TvMX.DataController.Summary.FooterSummaryValues[1]; + Fieldbyname('TMSQty').Value := TvMX.DataController.Summary.FooterSummaryValues[0]; + end; + + post; + end; +end; + +procedure TfrmTradeMarketInPut.InitMXGrid(MTMSId: string); +begin + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add(' select A.* from Trade_Market_Sub_Qty A '); + sql.Add('where TMSId=''' + Trim(MTMSId) + ''''); + Open; + end; + SCreateCDS(ADOTemp, CDS_MX); + SInitCDSData(ADOTemp, CDS_MX); +end; + +procedure TfrmTradeMarketInPut.v1Column5PropertiesEditValueChanged(Sender: TObject); +var + mvalue, FFieldName: string; +begin + + mvalue := TcxTextEdit(Sender).EditingText; + FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); + with CDS_1 do + begin + Edit; + FieldByName(FFieldName).Value := mvalue; + FieldByName('MGTMMID').Value := ''; + Post; + end; + Tv1.Controller.EditingController.ShowEdit(); +end; + +procedure TfrmTradeMarketInPut.HYTTBtnUpClick(Sender: TObject); +var + fsj: string; + FWZ: Integer; +begin + fsj := Trim(TEdit(Sender).Hint); + FWZ := Pos('/', fsj); + try + frmZDYHelp := TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag := Copy(fsj, 1, FWZ - 1); + flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ); + if ShowModal = 1 then + begin + TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmTradeMarketInPut.KYTTBtnUpClick(Sender: TObject); +var + fsj: string; + FWZ: Integer; +begin + fsj := Trim(TEdit(Sender).Hint); + FWZ := Pos('/', fsj); + try + frmZDYHelp := TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag := Copy(fsj, 1, FWZ - 1); + flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ); + if Trim(flag) = 'OrdDefStr2' then + begin + V1Name.Caption := ''; + V1Note.Caption := 'Ӣ'; + fnote := True; + end; + if ShowModal = 1 then + begin + TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +end. + diff --git a/T05贸易门市管理/U_TradeMarketList.dfm b/T05贸易门市管理/U_TradeMarketList.dfm new file mode 100644 index 0000000..cbab765 --- /dev/null +++ b/T05贸易门市管理/U_TradeMarketList.dfm @@ -0,0 +1,722 @@ +inherited frmTradeMarketList: TfrmTradeMarketList + Left = 165 + Top = 13 + Caption = #29983#20135#35745#21010#21333#31649#29702 + ClientHeight = 760 + ClientWidth = 1540 + Color = clBtnFace + Font.Height = -16 + FormStyle = fsMDIChild + Position = poScreenCenter + Visible = True + ExplicitWidth = 1556 + ExplicitHeight = 799 + PixelsPerInch = 96 + TextHeight = 21 + object ToolBar1: TToolBar [0] + Tag = 1 + Left = 0 + Top = 0 + Width = 1540 + Height = 30 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 83 + Caption = 'ToolBar1' + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeMarket.cxImageList_bar + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 4 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 1 + OnClick = TBRafreshClick + end + object TBAdd: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #26032#22686 + ImageIndex = 9 + OnClick = TBAddClick + end + object btnCopy: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #22797#21046 + ImageIndex = 13 + OnClick = btnCopyClick + end + object TBEdit: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #20462#25913 + ImageIndex = 3 + OnClick = TBEditClick + end + object TBDel: TToolButton + Left = 252 + Top = 0 + AutoSize = True + Caption = #21024#38500 + ImageIndex = 5 + OnClick = TBDelClick + end + object TBPrint: TToolButton + Left = 315 + Top = 0 + AutoSize = True + Caption = #25171#21360 + ImageIndex = 21 + OnClick = TBPrintClick + end + object TBCK: TToolButton + Left = 378 + Top = 0 + AutoSize = True + Caption = #26597#30475 + ImageIndex = 8 + OnClick = TBCKClick + end + object ToolButton4: TToolButton + Left = 441 + Top = 0 + AutoSize = True + Caption = #38468#20214 + ImageIndex = 22 + OnClick = ToolButton4Click + end + object TBTJ: TToolButton + Left = 504 + Top = 0 + AutoSize = True + Caption = #25552#20132 + ImageIndex = 12 + OnClick = TBTJClick + end + object TBTJCX: TToolButton + Left = 567 + Top = 0 + AutoSize = True + Caption = #25552#20132#25764#38144 + ImageIndex = 11 + OnClick = TBTJCXClick + end + object Tchk: TToolButton + Left = 654 + Top = 0 + AutoSize = True + Caption = #23457#26680 + ImageIndex = 12 + OnClick = TchkClick + end + object Tnochk: TToolButton + Left = 717 + Top = 0 + AutoSize = True + Caption = #25764#38144#23457#26680 + ImageIndex = 11 + OnClick = TnochkClick + end + object TWC: TToolButton + Left = 804 + Top = 0 + AutoSize = True + Caption = #23436#25104 + ImageIndex = 12 + OnClick = TWCClick + end + object TNowc: TToolButton + Left = 867 + Top = 0 + AutoSize = True + Caption = #25764#38144#23436#25104 + ImageIndex = 11 + OnClick = TNowcClick + end + object ToolButton2: TToolButton + Left = 954 + Top = 0 + AutoSize = True + Caption = #20445#23384#26684#24335 + ImageIndex = 16 + OnClick = ToolButton2Click + end + object TBClose: TToolButton + Left = 1041 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 7 + OnClick = TBCloseClick + end + end + object Panel1: TPanel [1] + Left = 0 + Top = 30 + Width = 1540 + Height = 91 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clWhite + ParentBackground = False + TabOrder = 6 + ExplicitTop = 38 + object Label3: TLabel + Left = 24 + Top = 51 + Width = 64 + Height = 21 + Caption = #35745#21010#21333#21495 + end + object Label1: TLabel + Left = 408 + Top = 51 + Width = 32 + Height = 21 + Caption = #23458#25143 + end + object Label2: TLabel + Left = 216 + Top = 51 + Width = 64 + Height = 21 + Caption = #20135#21697#21517#31216 + end + object Label4: TLabel + Left = 568 + Top = 51 + Width = 48 + Height = 21 + Caption = #21512#21516#21495 + end + object TMMNo: TEdit + Tag = 2 + Left = 92 + Top = 47 + Width = 120 + Height = 29 + TabOrder = 0 + OnKeyPress = TMMNoKeyPress + end + object CustName: TEdit + Tag = 2 + Left = 444 + Top = 47 + Width = 120 + Height = 29 + TabOrder = 1 + OnKeyPress = TMMNoKeyPress + end + object C_Name: TEdit + Tag = 2 + Left = 284 + Top = 47 + Width = 120 + Height = 29 + TabOrder = 2 + OnKeyPress = TMMNoKeyPress + end + object ConNo: TEdit + Tag = 2 + Left = 620 + Top = 47 + Width = 120 + Height = 29 + TabOrder = 3 + OnKeyPress = TMMNoKeyPress + end + inline frmFrameDateSel1: TfrmFrameDateSel + Left = 2 + Top = 2 + Width = 1536 + Height = 37 + Align = alTop + ParentBackground = False + TabOrder = 4 + ExplicitLeft = -380 + ExplicitTop = 2 + ExplicitWidth = 1920 + ExplicitHeight = 37 + inherited lbl2: TLabel + Width = 16 + Height = 21 + ExplicitWidth = 16 + ExplicitHeight = 21 + end + end + end + object cxGrid1: TcxGrid [2] + Left = 0 + Top = 152 + Width = 1540 + Height = 404 + Align = alClient + PopupMenu = PM_1 + TabOrder = 3 + ExplicitTop = 120 + ExplicitHeight = 436 + object Tv1: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + ScrollbarAnnotations.CustomAnnotations = <> + OnCellDblClick = Tv1CellDblClick + OnFocusedRecordChanged = Tv1FocusedRecordChanged + DataController.DataSource = DataSource1 + DataController.Filter.AutoDataSetFilter = True + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = Tv1Column11 + end + item + Kind = skSum + Column = Tv1Column10 + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.CellHints = True + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + OptionsView.IndicatorWidth = 30 + object v1Column16: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'SSel' + DataBinding.IsNullValueType = True + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + HeaderAlignmentHorz = taCenter + Width = 50 + end + object v1OrdDate: TcxGridDBColumn + Caption = #21046#21333#26085#26399 + DataBinding.FieldName = 'TMMDate' + DataBinding.IsNullValueType = True + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + object Tv1Column2: TcxGridDBColumn + Caption = #32463#33829#21333#20301 + DataBinding.FieldName = 'OurCoName' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + object Tv1Column4: TcxGridDBColumn + Caption = #23458#25143 + DataBinding.FieldName = 'CustName' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + object v1DeliveryDate: TcxGridDBColumn + Caption = #20132#36135#26085#26399 + DataBinding.FieldName = 'DlyDate' + DataBinding.IsNullValueType = True + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + OnCustomDrawCell = v1DeliveryDateCustomDrawCell + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + object Tv1Column11: TcxGridDBColumn + Caption = #21305#25968 + DataBinding.FieldName = 'HZPiQty' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + object Tv1Column10: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'OrdQty' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + HeaderGlyphAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + object v1Column11: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'OrdUnit' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + HeaderGlyphAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + object Tv1Column6: TcxGridDBColumn + Caption = #21046#21333#20154 + DataBinding.FieldName = 'FILLER' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + object Tv1Column1: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'OrdNote' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + object Tv1Column3: TcxGridDBColumn + Caption = #21457#36135#22320#22336 + DataBinding.FieldName = 'ShippingAddress' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 134 + end + object Tv1Column5: TcxGridDBColumn + Caption = #32852#31995#26041#24335 + DataBinding.FieldName = 'CONTACT' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 80 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object cxSplitter1: TcxSplitter [3] + Left = 0 + Top = 556 + Width = 1540 + Height = 8 + HotZoneClassName = 'TcxMediaPlayer9Style' + AlignSplitter = salBottom + end + object cxTabControl1: TcxTabControl [4] + Left = 0 + Top = 121 + Width = 1540 + Height = 31 + Align = alTop + TabOrder = 2 + Properties.CustomButtons.Buttons = <> + Properties.Style = 9 + Properties.TabIndex = 0 + Properties.Tabs.Strings = ( + ' '#24453#25552#20132' ' + ' '#24453#23457#26680' ' + ' '#24050#23457#26680' ' + ' '#24050#23436#25104' ' + ' '#20840#37096' ') + OnChange = cxTabControl1Change + ExplicitTop = 89 + ClientRectBottom = 31 + ClientRectRight = 1540 + ClientRectTop = 28 + end + object Panel2: TPanel [5] + Left = 0 + Top = 564 + Width = 1540 + Height = 196 + Align = alBottom + BevelOuter = bvNone + Caption = 'Panel2' + TabOrder = 5 + object cxGrid2: TcxGrid + Left = 0 + Top = 0 + Width = 1540 + Height = 196 + Align = alClient + PopupMenu = PopupMenu2 + TabOrder = 0 + object TV2: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + ScrollbarAnnotations.CustomAnnotations = <> + DataController.DataSource = DataSource2 + DataController.Filter.AutoDataSetFilter = True + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = '0' + Position = spFooter + end + item + Format = '0' + Position = spFooter + Column = v1PRTOrderQty + end + item + Format = '0' + Position = spFooter + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1PRTOrderQty + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + Column = VC_PRTPs + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsData.Deleting = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + object cxGridDBColumn1: TcxGridDBColumn + Tag = 99 + Caption = #36873#25321 + DataBinding.FieldName = 'SSel' + DataBinding.IsNullValueType = True + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + Visible = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Sorting = False + Width = 66 + end + object TV2Column1: TcxGridDBColumn + Caption = #20135#21697#32534#21495 + DataBinding.FieldName = 'C_Code' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 70 + end + object TV2Column2: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'C_Name' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Width = 70 + end + object v1PRTColor: TcxGridDBColumn + Caption = #20013#25991#39068#33394 + DataBinding.FieldName = 'C_Color' + DataBinding.IsNullValueType = True + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 79 + end + object VC_PRTPs: TcxGridDBColumn + Caption = #21305#25968 + DataBinding.FieldName = 'TMSPiece' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + object v1PRTOrderQty: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'TMSQty' + DataBinding.IsNullValueType = True + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + object v1OrderUnit: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'OrdUnit' + DataBinding.IsNullValueType = True + PropertiesClassName = 'TcxComboBoxProperties' + Properties.Items.Strings = ( + 'M' + 'Y' + 'Kg') + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + object cxGridDBColumn7: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'OrdSNote' + DataBinding.IsNullValueType = True + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + end + object cxGridLevel1: TcxGridLevel + GridView = TV2 + end + end + end + inherited loadProcess: TPanel + Left = 616 + Top = 346 + ExplicitLeft = 616 + ExplicitTop = 346 + end + inherited cxProgressBar2: TcxProgressBar + Left = 484 + Top = 280 + ExplicitLeft = 484 + ExplicitTop = 280 + ExplicitHeight = 29 + end + inherited ADOQueryBaseCmd: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + Left = 255 + Top = 314 + end + inherited ADOQueryBaseTemp: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + Left = 157 + Top = 256 + end + object cxgrdpmn1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 660 + Top = 428 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + Parameters = <> + Left = 568 + Top = 240 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 420 + Top = 216 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 320 + Top = 224 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 812 + Top = 440 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 724 + Top = 432 + end + object ADOQuerySub: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + Parameters = <> + Left = 312 + Top = 600 + end + object DataSource2: TDataSource + DataSet = ORDER_SUB + Left = 408 + Top = 604 + end + object ADOQueryImage: TADOQuery + Connection = DataLink_TradeMarket.ADOLink + EnableBCD = False + Parameters = <> + Left = 316 + Top = 283 + end + object DSImage: TDataSource + DataSet = ADOQueryImage + Left = 416 + Top = 288 + end + object IdFTP1: TIdFTP + ConnectTimeout = 0 + NATKeepAlive.UseKeepAlive = False + NATKeepAlive.IdleTimeMS = 0 + NATKeepAlive.IntervalMS = 0 + ProxySettings.ProxyType = fpcmNone + ProxySettings.Port = 0 + ReadTimeout = 0 + Left = 92 + Top = 258 + end + object ORDER_SUB: TClientDataSet + Aggregates = <> + Params = <> + Left = 212 + Top = 608 + end + object PopupMenu2: TPopupMenu + Left = 532 + Top = 636 + object N3: TMenuItem + Caption = #20840#36873 + OnClick = N3Click + end + object N4: TMenuItem + Caption = #20840#24323 + OnClick = N4Click + end + object N2: TMenuItem + Caption = #22797#21046 + OnClick = N2Click + end + end + object cxgrdpmn2: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 660 + Top = 636 + end + object CDS_WXTS: TClientDataSet + Aggregates = <> + Params = <> + Left = 412 + Top = 424 + end + object PM_1: TPopupMenu + Left = 988 + Top = 356 + object N1: TMenuItem + Caption = #22797#21046 + OnClick = N1Click + end + end + object GPM_3: TcxGridPopupMenu + PopupMenus = <> + Left = 860 + Top = 228 + end +end diff --git a/T05贸易门市管理/U_TradeMarketList.pas b/T05贸易门市管理/U_TradeMarketList.pas new file mode 100644 index 0000000..f49bc8a --- /dev/null +++ b/T05贸易门市管理/U_TradeMarketList.pas @@ -0,0 +1,1036 @@ +unit U_TradeMarketList; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, + cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, cxMemo, + cxRichEdit, ComCtrls, cxContainer, cxTextEdit, cxMaskEdit, cxButtonEdit, + StdCtrls, ToolWin, DBClient, ADODB, ExtCtrls, BtnEdit, cxCalendar, StrUtils, + cxCurrencyEdit, cxImage, cxDBEdit, Menus, RM_Common, RM_Class, RM_e_Xls, + RM_Dataset, RM_System, RM_GridReport, cxGridCustomPopupMenu, cxGridPopupMenu, + cxPC, cxSplitter, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, + IdFTP, ShellAPI, cxDropDownEdit, cxCheckBox, RM_e_Graphic, RM_e_Jpeg, + cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, Math, + dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, + IdExplicitTLSClientServerBase, U_BaseList, Vcl.Clipbrd, dxScrollbarAnnotations, + cxProgressBar, FrameDateSel; + +type + TfrmTradeMarketList = class(TfrmBaseList) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBAdd: TToolButton; + TBEdit: TToolButton; + TBDel: TToolButton; + TBPrint: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + Tv1: TcxGridDBTableView; + cxGrid1Level1: TcxGridLevel; + cxGrid1: TcxGrid; + cxgrdpmn1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + Label3: TLabel; + TMMNo: TEdit; + v1OrdDate: TcxGridDBColumn; + v1DeliveryDate: TcxGridDBColumn; + Order_Main: TClientDataSet; + TBCK: TToolButton; + btnCopy: TToolButton; + cxSplitter1: TcxSplitter; + ADOQuerySub: TADOQuery; + DataSource2: TDataSource; + ToolButton4: TToolButton; + cxTabControl1: TcxTabControl; + Tchk: TToolButton; + Tnochk: TToolButton; + TWC: TToolButton; + TNowc: TToolButton; + Panel2: TPanel; + ADOQueryImage: TADOQuery; + DSImage: TDataSource; + IdFTP1: TIdFTP; + v1Column11: TcxGridDBColumn; + TBTJ: TToolButton; + TBTJCX: TToolButton; + v1Column16: TcxGridDBColumn; + ORDER_SUB: TClientDataSet; + PopupMenu2: TPopupMenu; + N3: TMenuItem; + N4: TMenuItem; + Label1: TLabel; + CustName: TEdit; + Tv1Column6: TcxGridDBColumn; + cxgrdpmn2: TcxGridPopupMenu; + cxGrid2: TcxGrid; + TV2: TcxGridDBTableView; + cxGridDBColumn1: TcxGridDBColumn; + v1PRTColor: TcxGridDBColumn; + VC_PRTPs: TcxGridDBColumn; + v1PRTOrderQty: TcxGridDBColumn; + v1OrderUnit: TcxGridDBColumn; + cxGridDBColumn7: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + Tv1Column2: TcxGridDBColumn; + Tv1Column10: TcxGridDBColumn; + Tv1Column11: TcxGridDBColumn; + Tv1Column1: TcxGridDBColumn; + Label2: TLabel; + C_Name: TEdit; + CDS_WXTS: TClientDataSet; + Label4: TLabel; + ConNo: TEdit; + ToolButton2: TToolButton; + PM_1: TPopupMenu; + N1: TMenuItem; + N2: TMenuItem; + GPM_3: TcxGridPopupMenu; + Tv1Column4: TcxGridDBColumn; + TV2Column1: TcxGridDBColumn; + TV2Column2: TcxGridDBColumn; + Tv1Column3: TcxGridDBColumn; + Tv1Column5: TcxGridDBColumn; + frmFrameDateSel1: TfrmFrameDateSel; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure TBEditClick(Sender: TObject); + procedure TBDelClick(Sender: TObject); + procedure TBPrintClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure TBAddClick(Sender: TObject); + procedure OrderNoMChange(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBTPClick(Sender: TObject); + procedure CheckBox1Click(Sender: TObject); + procedure CheckBox2Click(Sender: TObject); + procedure Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); + procedure v1DeliveryDateCustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); + procedure TBCKClick(Sender: TObject); + procedure btnCopyClick(Sender: TObject); + procedure TMMNoKeyPress(Sender: TObject; var Key: Char); + procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); + procedure ToolButton4Click(Sender: TObject); + procedure cxTabControl1Change(Sender: TObject); + procedure TchkClick(Sender: TObject); + procedure TnochkClick(Sender: TObject); + procedure TWCClick(Sender: TObject); + procedure TNowcClick(Sender: TObject); + procedure TBTJClick(Sender: TObject); + procedure TBTJCXClick(Sender: TObject); + procedure N3Click(Sender: TObject); + procedure N4Click(Sender: TObject); + procedure ComboBox1Change(Sender: TObject); + procedure CustomerNoNameKeyPress(Sender: TObject; var Key: Char); + procedure ToolButton10Click(Sender: TObject); + procedure JGTypeChange(Sender: TObject); + procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); + procedure ToolButton2Click(Sender: TObject); + procedure N1Click(Sender: TObject); + procedure N2Click(Sender: TObject); + private + DQdate: TDateTime; + procedure InitGrid(); + procedure InitForm(); + function DelData(): Boolean; + procedure InitSub(); + procedure SetStatus(); + procedure InitImage(fwbid: string); + + procedure SendMessageQR(MDateId, KeyWord1, KeyWord2, KeyWord3: string); + { Private declarations } + public + FFInt, FCloth: Integer; + canshu1, canshu2: string; + fFlileFlag: string; + FNOTE: string; + FOrdType: string; + { Public declarations } + end; + +implementation + +uses + U_DataLink, U_RTFun, U_ZDYHelp, U_LabelPrint, U_AttachmentUpload, + U_TradeMarketInPut; + +{$R *.dfm} + +procedure TfrmTradeMarketList.InitImage(fwbid: string); +begin + ADOQueryImage.close; + if fwbid = '' then + exit; + with ADOQueryImage do + begin + close; + sql.Clear; + sql.Add('select * from TP_File A'); + sql.Add('where WBID=' + quotedstr(trim(fwbid))); + open; + end; +end; + +procedure TfrmTradeMarketList.SetStatus(); +begin + btnCopy.Enabled := false; + tbadd.Enabled := false; + TBEdit.Enabled := False; + TBDel.Enabled := False; + TBTJ.Enabled := False; + TBTJCX.Enabled := False; + tchk.Enabled := false; + tnochk.Enabled := false; + TWC.Enabled := False; + TNowc.Enabled := False; + TBDel.Enabled := False; + + case cxTabControl1.TabIndex of + 0: + begin + tbadd.Enabled := True; + TBEdit.Enabled := True; + TBDel.Enabled := True; + TBDel.Enabled := True; + TBTJ.Enabled := True; + btnCopy.Enabled := True; + end; + 1: + begin + TBTJCX.Enabled := True; + btnCopy.Enabled := True; + TBDel.Enabled := True; + tchk.Enabled := True; + + end; + 2: + begin + TWC.Enabled := True; + btnCopy.Enabled := True; + tnochk.Enabled := True; + end; + 3: + begin + TNowc.Enabled := True; + btnCopy.Enabled := True; + end; + end; + +end; + +procedure TfrmTradeMarketList.InitSub(); +begin + ADOQuerySub.Close; + if Order_Main.IsEmpty then + exit; + ADOQuerySub.DisableControls; + with ADOQuerySub do + begin + close; + sql.Clear; + sql.Add('select * '); + sql.Add(' from Trade_Market_Sub A'); + sql.Add('where TMMId =' + quotedstr((Order_Main.fieldbyname('TMMId').AsString))); + open; + end; + SCreateCDS(ADOQuerySub, ORDER_SUB); + SInitCDSData(ADOQuerySub, ORDER_SUB); + + ADOQuerySub.EnableControls; + TV2.DataController.Filter.Clear; +end; + +procedure TfrmTradeMarketList.JGTypeChange(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmTradeMarketList.FormDestroy(Sender: TObject); +begin + inherited; +// frmProductOrderList:=nil; +end; + +procedure TfrmTradeMarketList.FormClose(Sender: TObject; var Action: TCloseAction); +begin + inherited; + Action := caFree; +end; + +procedure TfrmTradeMarketList.FormCreate(Sender: TObject); +begin + inherited; + cxgrid1.Align := alClient; + DQdate := SGetServerDate(ADOQueryTemp); + +end; + +procedure TfrmTradeMarketList.TBCloseClick(Sender: TObject); +begin + + Close; + +end; + +procedure TfrmTradeMarketList.InitGrid(); +var + STRwhere, Pwhere: string; +begin + STRwhere := ''; + Pwhere := SGetFilters(Panel1, 1, 2); + + begin + if trim(Pwhere) <> '' then + STRwhere := STRwhere + ' and ' + trim(Pwhere); + end; + + case cxTabControl1.TabIndex of + 0: + begin + STRwhere := STRwhere + ' and isnull(status,''0'')=''0'' '; + end; + 1: + begin + STRwhere := STRwhere + ' and isnull(status,''0'')=''1'' '; + end; + 2: + begin + STRwhere := STRwhere + ' and isnull(status,''0'')=''9'' '; + end; + 3: + begin + STRwhere := STRwhere + ' and isnull(status,''0'')=''10'' '; + end; + end; + + try + ADOQueryMain.DisableControls; + + with ADOQueryMain do + begin + Filtered := False; + Close; + sql.Clear; + sql.add(' select * '); + sql.Add(' ,HZPiQty=(select sum(TMSPiece) from Trade_Market_Sub X where X.TMMId=A.TMMId)'); + sql.Add(' ,OrdQty=(select sum(TMSQty) from Trade_Market_Sub X where X.TMMId=A.TMMId)'); + sql.Add(' ,OrdUnit=(select top 1 TMSUnit from Trade_Market_Sub X where X.TMMId=A.TMMId)'); + sql.add(' from Trade_Market_Main A '); +// Sql.add(' inner join Trade_Market_Sub B on B.TMMId=A.TMMId '); + + sql.add(' where A.TMMDate>=' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', frmFrameDateSel1.BegDate.Date)))); + sql.add(' and A.TMMDate<' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', frmFrameDateSel1.enddate.Date + 1)))); + + if canshu1 = '¼' then + begin + sql.add(' and A.Filler= ' + QuotedStr(Trim(DName))); + end; + sql.add(' ' + STRwhere); + sql.Add(' and ordtype=''' + FOrdType + ''' '); + + sql.add(' order by filltime desc'); +// ShowMessage(SQL.Text); + Open; + end; + + SCreateCDS(ADOQueryMain, Order_Main); + SInitCDSData(ADOQueryMain, Order_Main); + finally + ADOQueryMain.EnableControls; + TV1.DataController.Filter.Clear; + + end; +end; + +procedure TfrmTradeMarketList.SendMessageQR(MDateId, KeyWord1, KeyWord2, KeyWord3: string); +begin +// with ADOQueryTemp do +// begin +// Close; +// SQL.Clear; +// sql.Add('select distinct A.* from SY_User A inner join SY_Purview B on A.UserID=B.UserID where A.Valid=''Y'' '); +// SQL.Add('and isnull(A.wxid,'''')<>'''''); +// SQL.Add(' and exists(select 1 from SY_ModuleSub X where X.ModuleID=B.ModuleID and X.ModuleSubID=B.ModuleSubID and X.FormName=''ƻ'' )'); +//// showmessage(sql.text); +// Open; +// end; +// SCreateCDS(ADOQueryTemp, CDS_WXTS); +// SInitCDSData(ADOQueryTemp, CDS_WXTS); +// +// if CDS_WXTS.IsEmpty then +// begin +// Application.MessageBox('ûδ΢,ύʧܣ', 'ʾϢ', 0); +// Exit; +// end; +// CDS_WXTS.First; +// while not CDS_WXTS.eof do +// begin +// with ADOQueryCmd do +// begin +// Close; +// SQL.Clear; +// SQL.Add('select * from WeixinMessage where 1<>1'); +// Open; +// Append; +// FieldByName('MessageType').Value := 'OrderToAudit'; +// FieldByName('MessageName').Value := 'ƻ'; +// FieldByName('Title').Value := 'µƻ'; +// FieldByName('URL').Value := 'subpages/plan/view?id=' + Trim(MDateId); +// FieldByName('OpenId').Value := Trim(CDS_WXTS.FieldByName('wxid').AsString); +// FieldByName('Status').Value := '0'; +// FieldByName('CreateDate').Value := FormatDateTime('yyyymmdd', SGetServerDateTime(ADOQueryTemp)); +// FieldByName('CreateTime').Value := FormatDateTime('HH:mm:ss', SGetServerDateTime(ADOQueryTemp)); +// FieldByName('BusinessId').Value := Trim(MDateId); +// FieldByName('KeyWord1').Value := Trim(KeyWord1); +// FieldByName('KeyWord2').Value := Trim(KeyWord2); +// FieldByName('KeyWord3').Value := Trim(KeyWord3); +// FieldByName('Remark').Value := 'ɲѯ飡'; +// Post; +// end; +// CDS_WXTS.Next; +// end; +// +// GetHTTP('http://aotang.rightsoft.top/api/message/send/OrderToAudit'); +end; + +procedure TfrmTradeMarketList.InitForm(); +begin + ReadCxGrid('ָʾбFF1', Tv1, 'ָʾ'); + ReadCxGrid('ָʾбFFTv21', Tv2, 'ָʾ'); + frmFrameDateSel1.BegDate.Date := SGetServerDate(ADOQueryTemp) - 180; + frmFrameDateSel1.EndDate.Date := SGetServerDate(ADOQueryTemp); + + SetStatus(); + InitGrid(); +end; + +procedure TfrmTradeMarketList.TBEditClick(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; + + try + frmTradeMarketInPut := TfrmTradeMarketInPut.Create(Application); + with frmTradeMarketInPut do + begin + + PState := 1; + FTMMId := Trim(Self.Order_Main.fieldbyname('TMMId').AsString); + FTMMNo := Trim(Self.Order_Main.fieldbyname('TMMNo').AsString); + canshu1 := self.canshu1; + frmTradeMarketInPut.fordtype := self.fordtype; + if ShowModal = 1 then + begin + + end; + end; + finally + frmTradeMarketInPut.Free; + end; + +end; + +procedure TfrmTradeMarketList.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; + + while Order_Main.Locate('SSel', true, []) do + begin + if Trim(Order_Main.fieldbyname('TMMId').AsString) <> '' then + begin + DelData() + end; + Order_Main.Delete; + end; +end; + +function TfrmTradeMarketList.DelData(): Boolean; +begin + try + Result := false; + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Trade_Market_Main where TMMId=''' + Trim(Order_Main.fieldbyname('TMMId').AsString) + ''''); + sql.Add('delete Trade_Market_Sub where TMMId=''' + Trim(Order_Main.fieldbyname('TMMId').AsString) + ''''); + + sql.Add('delete Trade_Market_Sub_Qty where TMMId=''' + Trim(Order_Main.fieldbyname('TMMId').AsString) + ''''); + + 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('ţ' + trim(Order_Main.FieldByName('TMMNo').AsString)))); + sql.Add(',' + quotedstr(trim('ɹ'))); + sql.Add(')'); + ExecSQL; + end; + + ADOQueryCmd.Connection.CommitTrans; + Result := True; + except + ADOQueryCmd.Connection.RollbackTrans; + Result := False; + Application.MessageBox('ɾ쳣', 'ʾ', 0); + end; +end; + +procedure TfrmTradeMarketList.TBPrintClick(Sender: TObject); +begin + if Order_Main.IsEmpty then + Exit; + try + frmLabelPrint := TfrmLabelPrint.Create(Application); + with frmLabelPrint do + begin + FLMType := 'TradePlanPrint'; + FFiltration1 := Trim(Order_Main.fieldbyname('TMMId').AsString); + if ShowModal = 1 then + begin +// Self.InitGrid(); + end; + end; + finally + frmLabelPrint.Free; + end; +end; + +procedure TfrmTradeMarketList.TBRafreshClick(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmTradeMarketList.TBAddClick(Sender: TObject); +begin + try + frmTradeMarketInPut := TfrmTradeMarketInPut.Create(Application); + with frmTradeMarketInPut do + begin + PState := 0; + FTMMId := ''; + canshu1 := self.canshu1; + frmTradeMarketInPut.fordtype := self.fordtype; + if ShowModal = 1 then + begin + InitGrid(); + end; + end; + finally + frmTradeMarketInPut.Free; + end; +end; + +procedure TfrmTradeMarketList.OrderNoMChange(Sender: TObject); +begin + if ADOQueryMain.Active = False then + Exit; + SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); + SCreateCDS(ADOQueryMain, Order_Main); + SInitCDSData(ADOQueryMain, Order_Main); +end; + +procedure TfrmTradeMarketList.FormShow(Sender: TObject); +begin + inherited; + canshu1 := self.fParameters1; + fFlileFlag := UserDataFlag + 'HX'; + cxTabControl1.TabIndex := 0; + InitForm(); +end; + +procedure TfrmTradeMarketList.TBTPClick(Sender: TObject); +var + FQty, FQty1, FMxQty, FPQty, FMxQtyS, FPQtyS: string; +begin +end; + +procedure TfrmTradeMarketList.CheckBox1Click(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmTradeMarketList.CheckBox2Click(Sender: TObject); +begin + TBRafresh.Click; +end; + +procedure TfrmTradeMarketList.Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); +var + id, id10: Integer; +begin + {try + if Tv1.GroupedItemCount=0 then + begin + Id:=Tv1.GetColumnByFieldName('DeliveryDate').Index-tv1.GroupedItemCount; + Id10:=Tv1.GetColumnByFieldName('SubStatus').Index-tv1.GroupedItemCount; + if Trim(VarToStr(ARecord.Values[id]))='' then Exit; + if Id<0 then Exit; + if ARecord.Values[id10]='' then exit; + if (ARecord.Values[id]-DQdate)>=4 then Exit; + if ((ARecord.Values[id]-DQdate)>=0) and ((ARecord.Values[id]-DQdate)<4) then + AStyle:=DataLink_.QHuangSe + else + if ARecord.Values[id]-DQdate<0 then + begin + AStyle:=DataLink_OrderManage.FenHongS; + end; + end else + begin + + end; + except + end; } +end; + +procedure TfrmTradeMarketList.v1DeliveryDateCustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); +begin + { Id:=TV1.GetColumnByFieldName('DeliveryDate').Index;//;-TV1.GroupedItemCount; + Id10:=TV1.GetColumnByFieldName('SubStatus').Index; + if Id<0 then Exit; + if AViewInfo.GridRecord.Values[Id10]='' then Exit; + if AViewInfo.GridRecord.Values[Id]-SGetServerDate(ADOQueryTemp)>=4 then Exit; + if ((AViewInfo.GridRecord.Values[id]-SGetServerDate(ADOQueryTemp))>=0) and ((AViewInfo.GridRecord.Values[id]-SGetServerDate(ADOQueryTemp))<4) then + ACanvas.Brush.Color:=clYellow + else + if (AViewInfo.GridRecord.Values[id])-(SGetServerDate(ADOQueryTemp)<0) then + begin + ACanvas.Brush.Color:=clRed; + end; + begin + ACanvas.Brush.Color:=clRed; + end else + if AViewInfo.GridRecord.Values[Id]='Purple' then + begin + ACanvas.Brush.Color:=clPurple; + end else + if AViewInfo.GridRecord.Values[Id]='Olive' then + begin + ACanvas.Brush.Color:=clOlive; + end else + if AViewInfo.GridRecord.Values[Id]='Teal' then + begin + ACanvas.Brush.Color:=clTeal; + end else + if AViewInfo.GridRecord.Values[Id]='Background' then + begin + ACanvas.Brush.Color:=clBackground; + end; } +end; + +procedure TfrmTradeMarketList.TBCKClick(Sender: TObject); +begin + if Order_Main.IsEmpty then + Exit; + + try + frmTradeMarketInPut := TfrmTradeMarketInPut.Create(Application); + with frmTradeMarketInPut do + begin + PState := 1; + FTMMId := Trim(Self.Order_Main.fieldbyname('TMMId').AsString); + ToolBar2.Visible := False; + TBSave.Visible := False; + ScrollBox1.Enabled := True; + N2.Visible := False; + frmTradeMarketInPut.fordtype := self.fordtype; + if ShowModal = 1 then + begin + + end; + end; + finally + frmTradeMarketInPut.Free; + end; + +end; + +procedure TfrmTradeMarketList.btnCopyClick(Sender: TObject); +begin + if Order_Main.IsEmpty then + Exit; + + try + frmTradeMarketInPut := TfrmTradeMarketInPut.Create(Application); + with frmTradeMarketInPut do + begin + PState := 1; + CopyInt := 99; + FTMMId := Trim(Self.Order_Main.fieldbyname('TMMId').AsString); + canshu1 := self.canshu1; + frmTradeMarketInPut.fordtype := self.fordtype; + if ShowModal = 1 then + begin + + end; + end; + finally + frmTradeMarketInPut.Free; + end; + +end; + +procedure TfrmTradeMarketList.TMMNoKeyPress(Sender: TObject; var Key: Char); +begin + + if Key = #13 then + begin + initgrid(); + end; +end; + +procedure TfrmTradeMarketList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); +begin + Clipboard.SetTextBuf(PChar(Trim(Order_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString))); +end; + +procedure TfrmTradeMarketList.Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); +begin + InitSub(); + +end; + +procedure TfrmTradeMarketList.ToolButton4Click(Sender: TObject); +begin + if Order_Main.IsEmpty then + Exit; + try + frmAttachmentUpload := TfrmAttachmentUpload.Create(Application); + with frmAttachmentUpload do + begin + if Trim(canshu1) <> 'ѯ' then + FEditAuthority := True; + fkeyNO := Trim(Self.Order_Main.fieldbyname('TMMId').AsString); + fType := 'ָʾ'; + if ShowModal = 1 then + begin + + end; + end; + finally + frmAttachmentUpload.Free; + end; +end; + +procedure TfrmTradeMarketList.cxTabControl1Change(Sender: TObject); +begin + SetStatus(); + InitGrid(); +end; + +procedure TfrmTradeMarketList.TchkClick(Sender: TObject); +begin + if Order_Main.IsEmpty then + exit; + if cxTabControl1.TabIndex <> 1 then + begin + Application.MessageBox('ֻڴ״̬½˲!', 'ʾ', 0); + Exit; + end; + if Application.MessageBox('Ƿʵݣ', 'ʾ', 32 + 4) <> IDYES then + Exit; + try + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update Trade_Market_Main SET status=''9'',chker=''' + trim(DName) + ''',Chktime=getdate() '); + sql.Add('where TMMId=' + quotedstr(trim(Order_Main.fieldbyname('TMMId').AsString))); + 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('ƻţ' + trim(Order_Main.FieldByName('TMMNO').AsString)))); + sql.Add(',' + quotedstr(trim('ɹ'))); + sql.Add(')'); + execsql; + end; + + except + application.MessageBox('ƻʧܣ', 'ʾϢ', 0); + end; + TBRafresh.Click; +end; + +procedure TfrmTradeMarketList.TnochkClick(Sender: TObject); +begin + if Order_Main.IsEmpty then + exit; + if cxTabControl1.TabIndex <> 2 then + begin + Application.MessageBox('ֻ״̬½˲!', 'ʾ', 0); + Exit; + end; + try + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update Trade_Market_Main SET status=''1'',chker=null,Chktime=null '); + sql.Add('where TMMId=' + quotedstr(trim(Order_Main.fieldbyname('TMMId').AsString))); + 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('ƻţ' + trim(Order_Main.FieldByName('TMMNO').AsString)))); + sql.Add(',' + quotedstr(trim('ɹ'))); + sql.Add(')'); + execsql; + end; + TBRafresh.Click; + except + application.MessageBox('ƻʧܣ', 'ʾϢ', 0); + end; +end; + +procedure TfrmTradeMarketList.TWCClick(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; + try + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update Trade_Market_Main SET status=''10'' '); + sql.Add('where TMMId=' + quotedstr(trim(Order_Main.fieldbyname('TMMId').AsString))); + + 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('ƻţ' + trim(Order_Main.FieldByName('TMMNO').AsString)))); + sql.Add(',' + quotedstr(trim('ɹ'))); + sql.Add(')'); + execsql; + end; + + application.MessageBox('ƻɳɹ', 'ʾϢ'); + TBRafresh.Click; + except + application.MessageBox('ƻʧܣ', 'ʾϢ', 0); + end; +end; + +procedure TfrmTradeMarketList.TNowcClick(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; + try + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update Trade_Market_Main SET status=''9'' '); + sql.Add('where TMMId=' + quotedstr(trim(Order_Main.fieldbyname('TMMId').AsString))); + 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('ƻţ' + trim(Order_Main.FieldByName('TMMNO').AsString)))); + sql.Add(',' + quotedstr(trim('ɹ'))); + sql.Add(')'); + execsql; + end; + application.MessageBox('ƻɳɹ', 'ʾϢ'); + TBRafresh.Click; + except + application.MessageBox('ƻʧܣ', 'ʾϢ', 0); + end; +end; + +procedure TfrmTradeMarketList.TBTJClick(Sender: TObject); +begin + if Order_Main.IsEmpty then + exit; + + if canshu1 <> 'Ȩ' then + begin + if Trim(Order_Main.fieldbyname('Filler').AsString) <> Trim(DName) then + begin + Application.MessageBox('ܲ˵!', 'ʾ', 0); + Exit; + end; + end; + + if cxTabControl1.TabIndex <> 0 then + begin + Application.MessageBox('ֻڴύ״̬½ύ!', 'ʾ', 0); + Exit; + end; + if Application.MessageBox('ȷҪύ', 'ʾ', 32 + 4) <> IDYES then + Exit; + try + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update Trade_Market_Main SET status=''1'' '); + sql.Add(' where TMMId=' + quotedstr(trim(Order_Main.fieldbyname('TMMId').AsString))); + 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('ƻţ' + trim(Order_Main.FieldByName('TMMNO').AsString)))); + sql.Add(',' + quotedstr(trim('ɹ'))); + sql.Add(')'); + execsql; + end; + SendMessageQR(trim(Order_Main.FieldByName('TMMId').AsString), trim(Order_Main.FieldByName('Filler').AsString), trim(Order_Main.FieldByName('TMMNO').AsString), Trim(FormatDateTime('yyyy-MM-dd', Order_Main.FieldByName('TMMDate').asdatetime))); + + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('exec P_MSG_in '); + sql.Add(' @MSG=' + QuotedStr(trim('ƻţ' + trim(Order_Main.FieldByName('TMMNO').AsString) + ' Ҫ'))); + sql.Add(',@FillUserid=' + QuotedStr(trim(DCode))); + sql.Add(',@FillUserName=' + QuotedStr(trim(DName))); + sql.Add(',@FillType=' + QuotedStr(trim('Ҫȷ'))); + sql.Add(',@MegType=' + QuotedStr(trim('ƻύ'))); + execsql; + end; + application.MessageBox('ƻύɹ', 'ʾϢ'); + + except + application.MessageBox('ƻύʧܣ', 'ʾϢ', 0); + end; + TBRafresh.Click; +end; + +procedure TfrmTradeMarketList.TBTJCXClick(Sender: TObject); +begin + if Order_Main.IsEmpty then + exit; + if canshu1 <> 'Ȩ' then + begin + if Trim(Order_Main.fieldbyname('Filler').AsString) <> Trim(DName) then + begin + Application.MessageBox('ܲ˵!', 'ʾ', 0); + Exit; + end; + end; + + if cxTabControl1.TabIndex <> 1 then + begin + Application.MessageBox('ֻڴ״̬½ύ!', 'ʾ', 0); + Exit; + end; + if Application.MessageBox('ȷҪύ', 'ʾ', 32 + 4) <> IDYES then + Exit; + try + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update Trade_Market_Main SET status=''0'' '); + sql.Add(' where TMMId=' + quotedstr(trim(Order_Main.fieldbyname('TMMId').AsString))); + sql.Add(' and isnull(status,''0'')=''1'' '); + 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('ƻţ' + trim(Order_Main.FieldByName('TMMNO').AsString)))); + sql.Add(',' + quotedstr(trim('ɹ'))); + sql.Add(')'); + execsql; + end; + application.MessageBox('ƻύɹ', 'ʾϢ'); + TBRafresh.Click; + except + application.MessageBox('ƻύʧܣ', 'ʾϢ', 0); + end; +end; + +procedure TfrmTradeMarketList.N1Click(Sender: TObject); +begin + Clipboard.SetTextBuf(PChar(Trim(Order_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString))); +end; + +procedure TfrmTradeMarketList.N2Click(Sender: TObject); +begin + Clipboard.SetTextBuf(PChar(Trim(ORDER_SUB.fieldbyname(TV2.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString))); +end; + +procedure TfrmTradeMarketList.N3Click(Sender: TObject); +begin + SelOKNoFiler(Tv1, True); //ȫѡ +end; + +procedure TfrmTradeMarketList.N4Click(Sender: TObject); +begin + SelOKNoFiler(Tv1, False); //ȫ +end; + +procedure TfrmTradeMarketList.ComboBox1Change(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmTradeMarketList.CustomerNoNameKeyPress(Sender: TObject; var Key: Char); +begin + if Key = #13 then + begin + InitGrid(); + end; +end; + +procedure TfrmTradeMarketList.ToolButton10Click(Sender: TObject); +begin + WriteCxGrid('ָʾбFF1', Tv1, 'ָʾ'); + WriteCxGrid('ָʾбFFTv21', Tv2, 'ָʾ6'); + application.MessageBox('ɹ', 'ʾϢ', 0); +end; + +procedure TfrmTradeMarketList.ToolButton2Click(Sender: TObject); +begin + WriteCxGrid('ָʾбFF1', Tv1, 'ָʾ'); + WriteCxGrid('ָʾбFFTv21', Tv2, 'ָʾ'); +end; + +end. + diff --git a/A02基础产品管理11/U_iniParam.pas b/T05贸易门市管理/U_iniParam.pas similarity index 100% rename from A02基础产品管理11/U_iniParam.pas rename to T05贸易门市管理/U_iniParam.pas diff --git a/A02基础产品管理11/U_testdll.dfm b/T05贸易门市管理/U_testdll.dfm similarity index 99% rename from A02基础产品管理11/U_testdll.dfm rename to T05贸易门市管理/U_testdll.dfm index fccf82d..46765a7 100644 --- a/A02基础产品管理11/U_testdll.dfm +++ b/T05贸易门市管理/U_testdll.dfm @@ -46,7 +46,7 @@ object Form1: TForm1 Left = 138 Top = 0 Width = 79 - Height = 13 + Height = 22 Caption = ' DllName'#65306 end object DllName: TEdit diff --git a/A02基础产品管理11/U_testdll.pas b/T05贸易门市管理/U_testdll.pas similarity index 98% rename from A02基础产品管理11/U_testdll.pas rename to T05贸易门市管理/U_testdll.pas index 163628f..fafa5f9 100644 --- a/A02基础产品管理11/U_testdll.pas +++ b/T05贸易门市管理/U_testdll.pas @@ -55,7 +55,7 @@ begin //̬ // showMessage(intTostr(application.Handle)); - Th := LoadLibrary('ClothInfo.dll'); + Th := LoadLibrary('TradeMarket.dll'); if Th > 0 then begin try diff --git a/T05贸易门市管理/Unit1.dfm b/T05贸易门市管理/Unit1.dfm new file mode 100644 index 0000000..6f1ed29 --- /dev/null +++ b/T05贸易门市管理/Unit1.dfm @@ -0,0 +1,64 @@ +inherited Form1: TForm1 + Caption = 'Form1' + ClientHeight = 299 + ClientWidth = 635 + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Height = -11 + Font.Name = 'Tahoma' + ExplicitWidth = 651 + ExplicitHeight = 338 + PixelsPerInch = 96 + TextHeight = 13 + object Button1: TButton [0] + Left = 32 + Top = 16 + Width = 75 + Height = 25 + Caption = #23458#25143 + TabOrder = 0 + OnClick = Button1Click + end + object Button2: TButton [1] + Left = 32 + Top = 47 + Width = 75 + Height = 25 + Caption = #26679#21697 + TabOrder = 1 + OnClick = Button2Click + end + object Button3: TButton [2] + Left = 32 + Top = 78 + Width = 75 + Height = 25 + Caption = #24037#24207#36873#25321 + TabOrder = 2 + end + object Button4: TButton [3] + Left = 32 + Top = 118 + Width = 75 + Height = 25 + Caption = #21592#24037#36873#25321 + TabOrder = 3 + OnClick = Button4Click + end + object Button5: TButton [4] + Left = 32 + Top = 174 + Width = 75 + Height = 25 + Caption = #26631#31614#25171#21360 + TabOrder = 4 + OnClick = Button5Click + end + inherited ADOQueryBaseCmd: TADOQuery + Connection = DataLink_InformationBase.ADOLink + Left = 345 + end + inherited ADOQueryBaseTemp: TADOQuery + Connection = DataLink_InformationBase.ADOLink + end +end diff --git a/T05贸易门市管理/Unit1.pas b/T05贸易门市管理/Unit1.pas new file mode 100644 index 0000000..cac2d51 --- /dev/null +++ b/T05贸易门市管理/Unit1.pas @@ -0,0 +1,106 @@ +unit Unit1; + +interface + +uses + Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, + System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, U_BaseList, + Data.DB, Data.Win.ADODB, Vcl.StdCtrls; + +type + TForm1 = class(TfrmBaseList) + Button1: TButton; + Button2: TButton; + Button3: TButton; + Button4: TButton; + Button5: TButton; + procedure Button1Click(Sender: TObject); + procedure Button2Click(Sender: TObject); + procedure Button4Click(Sender: TObject); + procedure Button5Click(Sender: TObject); + private + { Private declarations } + public + { Public declarations } + end; + +var + Form1: TForm1; + +implementation + +uses + U_DataLink, U_CompanySel, U_ClothInfoSel, U_EmployeeSel, U_LabelPrint; +{$R *.dfm} + +procedure TForm1.Button1Click(Sender: TObject); +begin + try + frmCompanySel := TfrmCompanySel.Create(Application); + with frmCompanySel do + begin + if ShowModal = 1 then + begin +// Self.InitGrid(); + end; + end; + finally + frmCompanySel.Free; + end; + +end; + +procedure TForm1.Button2Click(Sender: TObject); +begin + + try + frmClothInfoSel := TfrmClothInfoSel.Create(Application); + with frmClothInfoSel do + begin + if ShowModal = 1 then + begin +// Self.InitGrid(); + end; + end; + finally + frmClothInfoSel.Free; + end; +end; + +procedure TForm1.Button4Click(Sender: TObject); +begin + try + frmEmployeeSel := TfrmEmployeeSel.Create(Application); + with frmEmployeeSel do + begin + if ShowModal = 1 then + begin +// Self.InitGrid(); + end; + end; + finally + frmEmployeeSel.Free; + end; + +end; + +procedure TForm1.Button5Click(Sender: TObject); +begin + + try + frmLabelPrint := TfrmLabelPrint.Create(Application); + with frmLabelPrint do + begin + if ShowModal = 1 then + begin +// Self.InitGrid(); + end; + end; + finally + frmLabelPrint.Free; + end; + +end; + +end. + diff --git a/A02基础产品管理11/consvr.ini b/T05贸易门市管理/consvr.ini similarity index 100% rename from A02基础产品管理11/consvr.ini rename to T05贸易门市管理/consvr.ini diff --git a/A02基础产品管理11/testDll.cfg b/T05贸易门市管理/testDll.cfg similarity index 100% rename from A02基础产品管理11/testDll.cfg rename to T05贸易门市管理/testDll.cfg diff --git a/A02基础产品管理11/testDll.dof b/T05贸易门市管理/testDll.dof similarity index 100% rename from A02基础产品管理11/testDll.dof rename to T05贸易门市管理/testDll.dof diff --git a/A02基础产品管理11/testDll.dpr b/T05贸易门市管理/testDll.dpr similarity index 100% rename from A02基础产品管理11/testDll.dpr rename to T05贸易门市管理/testDll.dpr diff --git a/A02基础产品管理11/testDll.dproj b/T05贸易门市管理/testDll.dproj similarity index 100% rename from A02基础产品管理11/testDll.dproj rename to T05贸易门市管理/testDll.dproj diff --git a/A02基础产品管理11/testDll.res b/T05贸易门市管理/testDll.res similarity index 100% rename from A02基础产品管理11/testDll.res rename to T05贸易门市管理/testDll.res diff --git a/A02基础产品管理11/testDllDJ.cfg b/T05贸易门市管理/testDllDJ.cfg similarity index 100% rename from A02基础产品管理11/testDllDJ.cfg rename to T05贸易门市管理/testDllDJ.cfg diff --git a/A02基础产品管理11/testDllDJ.dof b/T05贸易门市管理/testDllDJ.dof similarity index 100% rename from A02基础产品管理11/testDllDJ.dof rename to T05贸易门市管理/testDllDJ.dof diff --git a/A02基础产品管理11/testDllDJ.res b/T05贸易门市管理/testDllDJ.res similarity index 100% rename from A02基础产品管理11/testDllDJ.res rename to T05贸易门市管理/testDllDJ.res diff --git a/A02基础产品管理11/testDll_Icon.ico b/T05贸易门市管理/testDll_Icon.ico similarity index 100% rename from A02基础产品管理11/testDll_Icon.ico rename to T05贸易门市管理/testDll_Icon.ico

PfOIN>I_NIyDcbGK%7 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 - + @@ -17,14 +17,14 @@ - - + + - - + + - - + + @@ -36,13 +36,13 @@ - + - + - + diff --git a/A02基础产品管理11/SYSTEMSET.ini b/T05贸易门市管理/SYSTEMSET.ini similarity index 100% rename from A02基础产品管理11/SYSTEMSET.ini rename to T05贸易门市管理/SYSTEMSET.ini diff --git a/A02基础产品管理11/ClothInfo.dpr b/T05贸易门市管理/TradeMarket.dpr similarity index 58% rename from A02基础产品管理11/ClothInfo.dpr rename to T05贸易门市管理/TradeMarket.dpr index e964bc2..736db85 100644 --- a/A02基础产品管理11/ClothInfo.dpr +++ b/T05贸易门市管理/TradeMarket.dpr @@ -1,4 +1,4 @@ -library ClothInfo; + library TradeMarket; uses SysUtils, @@ -8,7 +8,7 @@ uses WinProcs, midaslib, U_GetDllForm in 'U_GetDllForm.pas', - U_DataLink in 'U_DataLink.pas' {DataLink_ClothInfo: TDataModule}, + U_DataLink in 'U_DataLink.pas' {DataLink_TradeMarket: TDataModule}, U_iniParam in 'U_iniParam.pas', U_BaseHelp in '..\..\..\public10\design\U_BaseHelp.pas' {frmBaseHelp}, U_BaseInput in '..\..\..\public10\design\U_BaseInput.pas' {frmBaseInput}, @@ -19,16 +19,27 @@ uses U_CompressionFun in '..\..\..\public10\ThreeFun\Fun\U_CompressionFun.pas', U_RTFun in '..\..\..\public10\ThreeFun\Fun\U_RTFun.pas', U_ZDYHelp in '..\..\..\public10\ThreeFun\Form\U_ZDYHelp.pas' {frmZDYHelp}, + Unit1 in 'Unit1.pas' {Form1}, U_AttachmentUpload in '..\A00ͨô\U_AttachmentUpload.pas' {frmFjList_RZ}, U_ClothInfoSel in '..\A00ͨô\U_ClothInfoSel.pas' {frmClothInfoSel}, U_CompanySel in '..\A00ͨô\U_CompanySel.pas' {frmCompanySel}, U_EmployeeSel in '..\A00ͨô\U_EmployeeSel.pas' {frmEmployeeSel}, - U_ClothType in 'U_ClothType.pas' {frmClothType}, - U_CloInfoFileUp in 'U_CloInfoFileUp.pas' {frmCloInfoFileUp}, - U_ClothInfo_Tat in 'U_ClothInfo_Tat.pas' {frmClothInfo_Tat}, - U_testdll in 'U_testdll.pas' {Form1}, U_LabelMapSet in '..\A00ͨô\U_LabelMapSet.pas' {frmLabelMapSet}, - U_LabelPrint in '..\A00ͨô\U_LabelPrint.pas' {frmLabelPrint}; + U_LabelPrint in '..\A00ͨô\U_LabelPrint.pas' {frmLabelPrint}, + U_ZDYHelpSel in '..\..\..\public10\ThreeFun\Form\U_ZDYHelpSel.pas' {frmZDYHelpSel}, + U_PictureUpload in '..\A00ͨô\U_PictureUpload.pas' {frmPictureUpload}, + U_TradeMarketDisScan in 'U_TradeMarketDisScan.pas' {frmTradeMarketDisScan}, + U_TradeDispatchedSel in 'U_TradeDispatchedSel.pas' {frmTradeDispatchedSel}, + uSZHN_JSON in '..\..\..\public10\ThreeFun\Fun\uSZHN_JSON.pas', + U_BaseDataLink in '..\..\..\public10\design\U_BaseDataLink.pas' {BaseDataLink: TDataModule}, + FrameDateSel in '..\A00ͨ\FrameDateSel.pas' {frmFrameDateSel: TFrame}, + U_cxGridCustomSet in '..\..\..\public10\design\U_cxGridCustomSet.pas', + U_FormDesign in '..\..\..\public10\design\U_FormDesign.pas', + U_FormLayOutDesign in '..\..\..\public10\design\U_FormLayOutDesign.pas', + U_printPdf in '..\..\..\public10\ThreeFun\Fun\U_printPdf.pas', + U_TradeMarketList in 'U_TradeMarketList.pas' {frmTradeMarketList}, + U_TradeDispatchedList in 'U_TradeDispatchedList.pas' {frmTradeDispatchedList}, + U_TradeMarketDisSel in 'U_TradeMarketDisSel.pas' {frmTradeMarketDisSel}; {$R *.res} diff --git a/A02基础产品管理11/ClothInfo.dproj b/T05贸易门市管理/TradeMarket.dproj similarity index 95% rename from A02基础产品管理11/ClothInfo.dproj rename to T05贸易门市管理/TradeMarket.dproj index eedd4d4..334c1dc 100644 --- a/A02基础产品管理11/ClothInfo.dproj +++ b/T05贸易门市管理/TradeMarket.dproj @@ -1,7 +1,7 @@  {7B70AA99-C84C-40AE-B4AE-13C5223B874C} - ClothInfo.dpr + TradeMarket.dpr True Debug 38017 @@ -79,7 +79,7 @@ D:\富通ERP;$(DCC_UnitSearchPath) vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;dclOffice2k;Rave50CLX;Rave50VCL;$(DCC_UsePackage) true - ClothInfo + TradeMarket Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;Data.Win;$(DCC_Namespace) 2052 CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= @@ -124,7 +124,7 @@ CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName) - D:\Dp10Repo\项目代码\D10xhBaisheng\A02基础产品管理\testDll.exe + D:\Dp10RepoV1\项目代码\D10xhGemei\T05贸易门市管理\testDll.exe @@ -132,7 +132,7 @@ -

PfOIN>I_NIyDcbGK%7 zW4NC9F{FO}qMolzR}9-|v6&*OoPUiUX{ynE<>Ttptq(_C*4v@SOMjY6F0T>dp+6H= z%y@BmGet-zf5M2Un1uEE_XAI?mU*N#D&0O6&^>Txwo3#3TWybg~hwD=-ciG-eY~4&QA73u&$CpPr2n_s+VVq0zMr%#6 zY}lIADpwQ2?dKJZQJZ|;YFlk%$z@=v>{_n|$Bb9x-RPn8Jm)P*PLy)_(yFSg z#U)cyZf3vQa`rNVv`MLbp?7)CxMaHPt9amh3n%0ffs^?x=x z#tqYZn)^5K2Ksw4eK{mKG)dFTiuc^)rCz7!otUUK-ZD8n>HYS@ht6sG9&}rMUXxUu zyq?MQMu~B$a_t&c?DY6n9)ro1GCVy-P5o)^oGF3cEww{QZ%4d;a(euV(x$(uF*n9U zg(Mgmy8Uobb+f38GIU`?n4Ta#_l81K2*d$WN2%Yq6h^XKdiC;!ocCTit=lh{Gc$KP zj$$3IHzrR+AC2SkCruGj7Nzc#pHyf07V31vRUkK zl-q2D^R{9n#LaPAsc*sqg;inxsvy&0RggJL&O|+VRN&!yAcncS1cM@Z$!W*^D_=ZN zjG66ze9sb}#452egV%S;M_h0on{NNoKB%y_aws`_w(Id5Rty5YYiaQg+jDCP$q+h*uS&4xdG1)Q zkkQLviiNF;PjlV#@NS*Nr>mrx@hh6}mD`84jM3spR#;=J*t~-H zg^gRqZzu%3pa?I`0~YC2%4pi%nW7g|7w*|FXz}#i$E*j6&yM7oibzn9@@u(lF<(FB z$j`ql0DyNLlWE#&pdD3}X?7e$OJHpEwul`8M&_J7GzMQ<=JR195)t{E5~?*^vg7q* z*SURY%i%dLI`QF@rr_xZt+;!c^;ZQWD}hv$ccVXeScf1#KRk2@}(uO*9^D zm{v?eKt}uxZ)~nHX;mV$vjm?Z3;c@HyNL?=I};KN3v%X}KiVqJpH}~o3PSYqJhe|V z&98IKIA)-IDj|9H>0_J36=w5VSk{VO@S9THC{{&JtoD!p?LHWN&RDvlFgA8cX>y6t zl6SY(%${_n`gHzT3*{@42<;$>n{p$XPT_nWP+BU9qJ%2Jo7BcFnww)(ckPO>cA;Fll# zZmXq_O;WXQgLAuDn8;%}#fNvDI zzv2ke5#V@q@ceQ9$DDHa`L!L*iDIui zVF5%X63!8lWAwG;%| zJY%z+(56J3|M*2GwBa$~-Maq7W7558ihcN~?k%ZO&kkB~Rjdbx$?OhVzXUioN7DlZ zjxA{qz@evO@KN0_xO(vw-6vqZr0oH+&wi%=4+6*LYW8cO>%-r(A~E24Xu2=)_x$~Y zSvzlU-3i}MnDub=@aokSva+ILy94?@Cnzq(cZ&hqi}+tZVOAJwXyIn(>WWNX=cARd z>Ua?r35;Ne=b#%zbjbblK{i-^e-58PD%KULd_P)=z3n z6E{0Y2PMXt9iK?p;=P?5g)G8+I4KwSBt`5+jNhMc><|w$+_{E$#x#y@;*`dJ+vKMc za9>b23M&h2Po&Y{@SJsASjS${r_sEeSNhN#ynE?E76hH&z0JAqdXbgBw{+}rShZli z`%w!Ch}*G-%yBr&+1qZVtAqWgb}YdviS_OcDy&VX6VCdRj6Dvk60G+~2()8WhA3_5 z>ft>If;1QO_;*3t!H=e}%G;ZH;LvPW2RAq~O=&_;f^@G3Sq=Ogsn2J0!^uc^RQCjm zpE8_~1aE)lyZulkHqnoDu2SdZn2tR?{M%jf?~)^Eq8z={!c?oO;_ zOWFhbHxS7Y`9LctXPQGhPuV9tU6b?x$A3yr>{#o5iHBX2u+VF#H}fdKF36ws{S+WL zlZ|y$8=lUNr}ODfkk+4rf9+`IyVTf4YD65c$icpSR`)qYk-_M8>fzsyTWPmy4TC0W zxjXn$6ycA#I6)kR$mC2^U=Q99ejOqyh34-G>1p3t7@QeB%qtY)J01(!FJ)x+M~tBc zyW6SR3zxulEMyNL{%4fm9m#CJ8mnuP9vbO83&YMHephV!=}rKF2u_oQC-X2_WJ|uY zD0Z$6G@1ib^7t~c-{%zUJKJxj%>ITf3K9m?KrXiTvsmNoZiuWLf$f37691UE+pVHG zuX8|Fse1y^IXQAYiy^s%lbyYXFOdm+p}+37;t0M2=<){ElB#H{&>l~R;wERG0v8KC-N}8IQ3dFAy*v=~L7n8&Q zh@DAN`$w51_L7x}lHnX}mMH<__-?ckAkOi|0AV)(XJ<147-2q~pv|y-V1)3;_Jn;H zEhsnwL&!1$z{%0W5o{$UQX9_9AfUV z(NOkzg<Z%4<2F*BlbLs!UVZgRZw*3%9n1FT~>7S1g?w34*SVGI&({2^WES_Et z-VR>t9Eh`s6}2ZyYZA9S*q*FM&4LzFv7o&H3hD5>67%;N#KrdeXXWeX*{438qC8(2 zpN7gB^2+e0s3@Y*jt22opO613s~Zw8h(KY)Qc;AD5KVDD@dTS94g8OS84$5B(R}z% z-4Gr`ZWu$Ef+h7jUq6FJ6kw=4Lw*M2KvCA54pvHxH{=Ze0aU~bB2XBylr;&clr<45 zWlckfk8cV-F&4g|MhF!=FgGHG3PPnqw1Ub4qAiH@j7mX`85O|FV2!X?cw#MCwI|yV~Zoy^HT4iGLu&sW!7YNzm#cH7b_PUIW43Q3d8VxV71M!$}CVOt;PIGW{@G|%E z@O1E^`SZgsb3EK>vm9J$b`b6*DmL$8J7-r5=Ku$ciS`yMSFXUn zOgR~2vdhNsF9q(ekcw@fl?QL4DSdmXxI6B7P(nB zxgESZ;t9qw2Y)B*z?824LGhYjhnT+17ZYyA0**2vI$jm4=hI{l>)XSAXRt>_GOLnXbJ8tcsAnD`Y1OGC}C9 za2-^Itm<@%;(TS$l`4YH6&13eNQ9>nDrDiUIv=0P8ix472*d+|sF}sre8@mW*%0Cr zA5oW!u~3VvF(00)hVa1Lh!~0#ERS9B*u{pHO(6?eDuK=w6|zbw=~0wHg^F*03jYJB z@C6Zw2NbQufJ%vg3euuN7Cy3K5sBu*Q`HcIsNTgGN(hw_(F#fnh_=A=ii}Eu*$?~( z6~M}1ji6X~618O2nrH(eJv0TQ85y!Fv&o1iBwA9HXh_VC5e-z>*!GMbU~iWm6|y*) zdq8xb6qhL<`RXrr z!*tlN?H3bevalNKO-hCz22V&O2FX9QbPKi^?6MI@&6 z@Foy|(tldh!y05b_WBd0s8f z>cD!FCJd^E=O36neQ0#1QTrLNAPQfZgb+2d5QB~0LzYVN7^xo=pQXz|vlLL!A|CI7 zz~MRpYd;vyl3oZELzU8-sL?|i12N0!Df@oOO5dsiY~s!r6)}hs3v^NY)!p*oY(Gys zcYB6$6-1<9WWuZp`4{YLe0RRc_^~^)DxN__FJS78=8OM_%&HgwbwVTmnC&^P#}K>Q zSPL>r%F~q;DH_w&fqRBP`;HUPLNGZE)JG5+Sc2$#*|~eKhON3_ACEy-*l#=;(1w!w z6t)$g4kf5U-Wr%U6s6ur0UZ`~zH53}s-Ui{HL(cHrs?frdUd7V8G|~#fOx2@e%t9a zXw(}4WuJB()=c}Q>1Erz+8yO?H%{zCqd$}Ae@z+(rlN<5tD@XKaap#N|L4H(#99mz zUij~meFjosG49Al^d}6_D2$Y!p8^n^-{+eBQ)redoh&sKP9>M zg}!>hN!{3SD1IB!o<-jo)^3|d}bEkY4JC2TpGQ|cQNIkIh{m_eH6r!AtHdB3B za$qvTl7mQw#I^@BEv9y9scdIk&iNB@~Dg*Ej@Yj9JpnmOTP$xE5uv7o9mfhVw+#R&NXApe-C1bFPV%TZ)WbdHN;I`N=unpIk?a$de9KY>D#G_x88%kG^UP;T((SaJ zg?XU;NTfmHm2l?@fxXxeW4rY?mNPgF-4jdJO9=yQj)0 z5S-Qk4fJ}I0AV#yb-pqPQmTf^>bM@ON~m7dV8swsuo{F0R~deUe=q{^K;fARdTB8TeJ5z_03t5TE$SibW*CZG0Mr@W9-N7^uI-ZG2eX z0s^aJdQ}E`Rz>WLs2E-vh?}8Ud?Hq7;ctiyIGusonFIk*J$@#TKL()f;iW;41k4V9 zA?OBV#_Sh%4By4Fq?3}Yo%SPAVbTBI!VrxDcl(7%uk%I%)z;9n$KqT?qoUZf!W<+d#vR9}P zV`E+PT|J%b2uy|&HEXG@Gp=Y?CG?V#VKa#%YI*?^y@~C zr#@Xt1^jJK2mWHZS|5tDo|o=EEAYCk>Z?wlfotxdnNx;PKQwc_t?jcd5q7p77)V73 z4PbBOsA{w?MRqP{!1ZCtyEx~2K@1Fe7qLe#)0<(0gt>I1z;DM7y_8}K_7Zlk{VD~e zsE#WH?FGOu-CoRmSv(%=-8nAnJ4WwM7@|=y541$Y8!vQH-g& zE)F8nV!w&ZAVXFySZ^YKEU3?}_%|p4qxLLV5zPLCv0=N83CxStC&)z;%S2!v%8Jd# z?1E~O*k#|L0Wm%Mh0uIKgJRJZ4z94N+`%5T7~Rex)HoTqg0~|Cj`#;RbhnS{Zqp#J z2ChDYL$H1(!DvQa4i4@EC{3&-g`qkFZ*_YFm7kQ5sgQCzxvswT{7usI`(evPZ-LfbS?|=eWwKshDR7ycmmk1XO%?C8Q+7#m#kK?b;^i^z?!T@1@(*LrnX*XX46 zLX6b|_3x^m?iUx(=bAx}1Pq;UA!fiFzIJ)z>p=w|x~I=bYuQ2ll4V}z0?F4y*{{9L zeRfF?BjEEw%hv%ikA%nA&IXnEC}fga%jRsiuy9 z-7o(9ucG^oaH}${B0GL%Xn4>E70a-hph4&x5*Aiiz9C_u1=fIOFnmL*v3x_qf;84TZ$unI(Mp{5{xBM2q6vto*vO1D z4(S~dJ!Lqy7M@55S%eXjGYBnEO9rI{8rn`(iGUhGY@uK#$z%~^MtQ`Oopg3xFk;fq zP9(HnVktXA38;{Q=#X_G%IeI=6aNojHK%j>FIjlPv&cFtD-7*CY2aSD(-Cu+J3`HR zL$Jg3rHTq>y7m@jwHlE*vhjTqDkRR`G8ia&vm6v4lhG~;u_>RsO~@ek|1npFs0+cJ zY1oNuLSQFp6Wfg4KVi=?yEr`*hon7>rTGr4Y49rrZiZh&)+oYv=j%&H5^87gW{n`$ zo5=tBNMalG%ob-g5VlQ!!UJ=P`4uBc3;^n3BrW#vgdZtzGb{uDQIypDoo8d>(++ZV zzZQrF#;?sGE;fD)Wp_50V2q=`y8f=*4-eh_b@18U>4i*>(e2z)zZSt&7(QiGKl_wX zW$ZFnC49=LGJVRxN7y7v#KO(y?0d|6^eNMYVPRwB`d9={CXS;ZsJH@F}AT zJQXT0;3F#*zBRtqrwkO!swLr525ODQJK!oE;Dx4OIE#U=#6EqZ$&eG(7?@8PmIn}T znliJ?SiKG{1_!sOz>9Tq3+PK&C%3Sglf^Z3aH{y7gs_tkY>obr4R+Gfy~g;PvnEK3 z(6NpotSUf|0ypUs>cQA={Mg~bD#FczpY@W) z3kJ_x9UWJz0rmZsD@y~kfnq|$z6p|HQvDS??q@Hz{kM$js1WVQ{PsVW&mNP&q^Nse z^J;MV6C4Z$hE@=Ov!B2mTMcZYAn=t2QA%p;hDz-2?KPnUICu)ot{?!#F^a@5_yNBX z0f^Q;49sI&Kxs+r`}BjO%K>o48Rn`OAWk8N`Y_HhCw}XOmuF?e^0Ezz(H=H|swlFm z(q14m8KXcVccQ?)%40I3>|kR%cg}{9Gn~KP6Wrb8(_Vc>h6oPh6LE|?meEc9d&`Fa zqGLAw&qY;!2CFk5fVrs1GtZPK0{w#p1|%ke&Siv%HU>vq@C|E4g!-3LJ3OB=Y6oZ_ z`Fw_m$gv|peb;Q2v)3wD2g)iqT7uEFAchbDFWm_suJlruzDKBPhsj2aQkL%`)+EC> zPA#0@`0lnumJ=hksRi*F-9QA0-ehzE^iDT0f6k$cy=8}ak07)ofIf0+pLLK!Cs>rA z<#0R<7#N~#L@`8wKspE?5g0Hy1YE>;V1k2S4XkmnTZqE3pV|WmU>`ZPH%@y;wL`<4 zbbSER_vljZ2LCbo0ZJH9wcCLu`VHnbGlRi`bVi4HFqlN=^SExWLp#~);A14|4F#HQ`jm@!^p?hrq<=fYBfeD-M8D>7i@+mBrOuCbD0d+!ar z$|_7xDQv)gL6y77rF~kpH(Z}pX64e4Dl515a_2*U5C;&P8J^DxLydxO0x{qjp6vnr zg%z{cvCt1-RNC9W3+{$uro%8Nio!QE1_2a-t$@{{U<4qL{YO`yd7pM>gZT*t6VcY~ zL$a$uQ#acMpjQY8F%t%R3HcIV*qWu+!TlK`Muqq4-~9qf2_YaFg#e1^GX%49 zJ9UMM(OE3}d=w^o&^3KF*XeN;lzlN1t#Lcs=d&sGdXbs?X{Oan4vaI}KHK*8ZUfAK zT7@tUW11khCt!-J{gJQP<3KVBGim#ar5K#wS)rq>_McGbpdioiN!CI2iLJ|ix3>o~ z&|k#?dmb2OrfXMyu$uq-Q3<-=k4pG{R08^u#$_#B<01mE;hk9K`e%+xz!};Lf@ave zV1&-*tphlLwOu#bmp?fK23O}gsL`2;;HTaIRaWXL5mOJ%LOcD{!a{KrER+30Q|QmC z@PF5vJSQl$2T$$#57_g6*1CTACipMgeApwS$d2JASg`otnVIVnS?s!vw-t4hE*+(QX$CgWdJL`Pe1EU2B)!TkDz zbs!oA?hcm}{MTs%5wTa1X@`ldDa4>)n*Ujz6x#=HywIfZGiGJ%m0}p1cDu~TO3F%3 zUt*K8FpUKpBJ4?jU#&g+aB5Hv^Q84fa_b#atpCkRIyaK#B~~&>#BC z9tUw-*L~gWNDR&>!g|ROx?8qwvi<1a$DVH*hS}jlSVCe}S$t8D2JVe)u3qd zadS5Y=RmILAc)XAwYIhr3J;?55v}zAi5UFECcDBBJiWouLnbmEG9fasa;7@Jto5OjwRp%3Rr8;LW-^E=;-DWVDGBvXlLi*)MHXSJ<8C-%@Z94 z!|rRGcs@!#YoS1UHtjq(PN}{((h}Z^nXj*i88kIVl3i zn&`e4_y_N!wpIJduz9xpYL51^-g;$39o6`a3#NkH~)G$n17>es^}qGA;Ty z=m^pcLW~7HzY-oY!Js0Fa4ZBtHV7J`0zV?XfC$8cAQglp4B|0CKp;Mgeh{%>Dya|? zN*SpK=0?O&q+ofyinw1wI&hqIJHyyXN1sZnUUKM%^(27sHS`CG3(J9CM|Ye^f{?&q zCD}+&Z_Yp2qIKgQ29Kk#a1L-lIUc!I3m-Sok^3Vyfd43P4;~gk6vw);0zG1Z_3-Q9 z(Wrl)o9qvbVnWGIUOH&A28)$!_jWad^%4`B81@E4fNu#%;W>?E;p zM(DVRNI2EO(hVmy`1c}S@@jBCqoTYjkV~uvAP(Rr881X6YRvCMi9}pR*@#9M-Za3r z8c&CjSA{Qt7NBHBJa7gu4g7$guo#R(l+7r*z2x?S8RZgBSbt-d+FmFT=oQ-xXlV>7 zST9I|!J+nIq8-ed0R1D|?4%u1QZP09g`l)^mj-s;4!BtazELpJpwV&6tiy$^(B0nR zrSQYx&EWqim-(5=1b!3cC?>;+Tqg`vc2w{!In5rV9YRqz@pEspkHG$fAtmK=YDNf) zVxutMY@8yMK?=j7HZVrJ=QqDo8V5YC?b}isBoa!D*}6OiRqrLi~F|Eo+`jZqx+42O#c-uqivjE|EA#C#Y&1Lcy@HK z%kUn;=3keX>4*Vfv6kVjR!Lr!zz$6Q7X@iVX7cL91A-6@@PrEZy2U5(sfdIaZrLyv z5u5Oli{@sS8xey*f(#t0w17Y~m>#hn;7TUa1F;&A7Amd)ixOpkgwB%1u{3}QKZ6dK z5bl`>j}XxbiJqw=X5u@vpkwL)AQiKF*s&U0qbV^CaQ}jxj!30@VWSzcb{}kXZ|RBM zC4HnPxPyV?M${B{pK}jVdN1NPqE0qJy*GKDrL6mA%oE~wyjbrZnJ3Diis?!)_+bb9 zzletWBc?N=tnd)C*=gMj+m*#A*-0IuRK%;=oD~7Ql`Kx)|iLFz28s#o1MM-4z zoy3%HrWR+3C-_E0*yBw5E~fkgVhTZ!aZY?!h%r5z48B6Fw@FNBsRmC>!3jObW0en_ z*vvdA4we3$cf*2-KEwGTPQRWmLVywO`%I@U>9ID#9AuWdg!Lxk;e^NL=w@@?XUkr+ zbm^A8`G4%a3zTHZSsqwDS}}}}EG)o!f-W_KEUfP8y!ou`nFhME=Y^_9&Gev`wT!Z> z?o_8cyRwv(HT{6G1|2{G%wYkGMMxaL2(#-W5H=j6H5jdg7b6hZd+bH5EDS7$gFx&G zq20qv^nTwT5%{}oJfmix+yu+SD5SZ*DSjT?E5 z#ia7z~G}?(Vkvm%nCi*Z5~Wx7N(Ighq=&x@sXNx;7;5K&mNqoz))W zc+3;DS&ghMaFa==>D3|b=_Clm5Bbz$SS;ghf;Y7cW}Q8_Gy)q8fZ&HLI)wE#{H*r) zL$Qxa(Itp5o5BxQzsQ3I=@bm@#V;9sOre**tY;lR(!RXKuec;h-QCm6*kn?FM%->Pi$%Ja zE`WFTaY|cE7hVe0;|6DXm?vBrZF4oot-h2^^!fgFFnnaR8E_SbP2=_^&{f7$4`*al zz>Ca7O(Nk$W+pUAThW)EV>Maw3DsnITadRJiiq|Ymb#vsFGdAhe%2h&rv0*W8qc+B z=1N&}UW+=;TKA?t2Yw1T%_m^OWIA)7$z9?|<|WG@_-BT}cmlUOo1?3VkCvaheI|1Y zYv zZZu+KCSyld<_59Au9?_R`y_B$1{PTf7oa}}P49yBGzGN+I;T>NLF{8GP0(dX z!0-3M&Ts&4fnyl7-C#oAvjhx|qLXK3Frwd4={yPX_3Ba39RQFvUtxZ|%TA4d*)tv( zr}Z9xpjQN~O5kk4-%zS28uz%BH}#U33P0eqLP3)A15^3b!(^P?S3F@cH^_VSdmWXC z`+MU7f_jfXC`z6*M7t8~V5yK?U_4you3?#L$VUn=NUuIBG zp}v5$(3rw4gr1LyQJ!*w#9dX9dfJe*jT`Go*;4I=g#zLz4FQ~J;fHN!Q609oquSeH zL-~XO`;IxJCt6I^k}hbeE`XnW^&CN)UBG2CiH}@AoMs9+g^r#d-31kRYzD^5;uZq?L zG0$N&IquzshlI<)37Wuc^mk6}zGbgJ4$R#v1I%Z`0fJM03~`3rsxhC(oyf2uMrw;9 zx#hI0MOch%DZ}krAOK5lXePI^bY!(krL_eLwhB?u02%0VB)8r|3%9b$soQ)<@t&Ns zF`C~_ZHxxQYpRqT*tm&?x`hZgzR0dpvpOx%Ra$ld{0XQoP@RHuv8Up=Bi7N$j8WUaK0W1J61X=>rLLG9x;<5=YpI`F`BkGJ{I7Ucg&mcJy%D| z9%Xy2*n;1Q)SXW6EM_mv$=$>(%FKm}--_l~22jj@;sGxjq zUZ6J;(2_lFUqFf8VwZ=-E)OZmPq>6BMa;yvVx3_r#8iq74JstAq7N%e8w6J#&ZV22 zBJGnm?ZXuT5{=uZxiE;&giB8Y&E8ftuY;dOO_|$F-Db+q;_MCzR%AV$@;cDHcSS6r z^aCRi%OY{J?HI;zgza5By$t!tb@{zI*qmI#e&*Qt{Zc>=)+(-v*Dz9cf)h}7g>kw~LiULrj92}aK9eu*$UNkaBjIF1P^1s6L`2NaXD0A!_)jK){`Lr2^>}J6_sg=?QfUu3sy#} zgaK<2X1)FnRm}0gb>ctU87kyH+r>KZp6v|#%6S$-ByJ)`ddfaCak>MW*{r-w zD09KfUzEn_??h{FD=y39{^JMFXbD*-T6$PZ@m!!e$7c!Y;+Y2jvb|blvtB|I7%0~s zF6$iQ$1Dza7CUGEY-QLfYA4~CZO#ob-2sCL&*4H+EPIp-$$A(29fM(1CefVD)~Ik6 zF#V-jPo(H_7CFQl%FR#i@=J*rBdy|yp!TLRIw|$vkOLy|j?wUO0y1eA5puaQIcutU zN`e~F;MSTq2P(^>m8&C>f+c7vWV3djQacmJTV-om`#sOzg|h<6netY2B$aW5b^72K zY)3GAEO$0H;a6#UNe`VoqswnbH=6nCOZ) z>wtV~7|f?v=^;an;vXX@DT-4>qz3so*cy-awm0D`Pd3JV2}amT~Cbdv>gCC`w{ zh~yz$#rg|M^*FfDvQM2a>@d@DOMi?GSa2h&^!+pIa--4WU-ok2@bVm^J&0jc2^`T{ z(;@a~po@hTX`gx%-h3FsVv?8yrk`}v(*fsCQh@=;%pH}tqu7HT53T~31OYOvAz*&` zL6Gu?KR+K62 z*g}A*R+94}OvC)kgmUU`EqpOcoORviU^Cq?2WQjp+q8TSq6?)w{lg@dG6ps@*@45n z>$vMN#X=Y3^6BMElgZAhlP9lUy}EL>u`(KOo%Fli?#XL#<8T=+3$6@L?P5E$;Pmni z{7(ntCxc}#a(OZP4sJ)qJmhdm=c1XCi}Z!>JmX*3%+17Z6(Bxx)87ybhoh@9uYNTy zOA&G+&s*~$nNr4)DERmcz*MN0k$~p$8KC(f^2~wv)9WynXN+MOu8kmX+TJ=l*usT} zvs}+o);10r8Z0b!a5lneCMOdvtyH@vg4?pj{`xVh2-7P-ZBv*Srl;nFljfb9t0S>k zIaN14jxcA5=ObC6o13|gk0NBcN++SMmDOHrr3SpZx>6VaaPTVQi@!J@zGh_2&{*lh zquEML>Afup}eBG(g`)y;e#ynjlOTYO_kDy z`U^H6E5BivIFflfYZ!1FhR6fau@E$SJ%k_JNm%n3dW@JQhaQWlAP(hB z@`_AMQ*1&>U+A)%c^MVIMCnnH3u@_6P2swigoc&Vad}=B2N5A_$6}VuNb?v!H>7M{ zhLaqTd|N;E*<<~|@WS8*Z4L@j(sAPha6xr07*6_3N*iK9T1juYVJM3><=KHrd>WeS>%Rh&+@B}nZ83aU}gv?V2mnYEio~H=H z@w!X!<;X%xC;H4jjYxP$Ku{$Qep>da-+OxcU1%pCCgJBoJGoj<{+P;-s&+C*e!+A+ zh3FzNH%`qIK0h8@>5s2_*8CdH%sC)h^984)Ox$MA{Ig+4Rf3YW6qW!G@;Z}P(g=T@ zK%JdP2?>pIsme60|HS)sql$5&u4{wm}s$}(r_ zmHh*9-20TZvNt{yajR~8%B1!cx+`20I(m)CV0b0GagRsTVt-{9+fTybf9Q>SI(3Bx zl!~b!EW7cDA!if(H!Sm;qJh=a8d$gqodHROup!$5m#I;j1#YyNA>2yzCzrg<)61fE zTqK4eT;K&XXrM$ZB~%WrXTl|BOigXZgqtQ6!?_(ZqFU2V*_H|I2HAqXP+g)Oo#AfO zY3M!FE7z_jvG5Zlj9z>&Fj^}Dn{VsKN*a7;lcwu0j%J2hS+2qzG~7^bkHO1 zIW7TqBj?^Um$~7}fMD}};l&D45YAbIU+>+Yzg`Z8%^1>$CNgS1~FS6A+ z`IYC?pb79<3b(L9PT>&+y+7q!B=DRS6qvEu@8Fe-!KK;XiSC}0m2oe=y2;ONyiWw*BBx{0+uVO z3`Qs%&k2QYYpg~#k$Si-CIQ2Zj0pp)`i_p^B#`;FSom%6#Vo!UEdeziMGcdIQ=dy5 z$vm8~gEV-=Gs&coNut|lEI%%0<(cSwA?T(F3+G@9=U~{s7_&DFtnpjM3rW+}A^In0 zp@-)ym}0wh`?GzRLWAevDBB~B0_RnA8ajnVuJe~6W+Y# zeBobR@P)7MK!JY(OTv>IyStierxzFgvZZQy_u=CUpI9)475n(MVhlIHI)h5tf-_vM zxkTR z{3Lt952s(8hTJt_GRJTI)^EuzCU=RO{8v02Yh^~}O}@^Gc> z`7-QN@-19Mp4twsfLAM*-*%z(07l?vV`Red(E5_6iCifX;{1h0~KykJRi$d#~c4*jiKx0I_k zk+q`Duy2KD!$Q5V0s)ZH##y+C4EIr-MHed)bUA&0&oosrN(Wtq zl*7JJDpKn-^g-s}jZbik0lXN%2TI$^fLaXTYyv-X0H;a6#UNe`;>92)(}p@gtD=~F zcxK^{XGor);Tsmki>)oVRGHn{BAJux&r%nWOq7zuVWV{1_HZuUw2d>kI7l9@EJ^BA z+Gnn^!4EA2aYsZD7fSWXXA`4=nzk7rhgFSNF%=Mlfm>>P5osNlX&gM$Y%k*88Yp2i z8#+U6!97T)Rq*=@%qBfa4?w!<4o1EBz8|;3)X&C zh8Kr-REo7%q5pfJHWU~DV!&{EIoR%B90n&Y!n?$lc#H~#ND9bm?I+Cs>{<2`P_FjD z58*FN9&jSo@Q7y{aQ_b+j4QB8Ong z*kXx%!hj_*hmeM8c zoXP~n_oQ4YzN1PPs}wc}Wy9f@YN(XlW#XTNMq%VrU!)$Ft$D#^$k*%A4^kbMxVSqso?U9z-Q zu!|Z(&CkYdPI>Edmhj5wm5*Zvw>KXgUf;Qd2Od+Enm-F{fXJX$6Ebtrag6;4trC;ogi9VC zRA~MT>J9IEKQUd24_X(}9X=$I`d=~g$!R@hY>&1B?Me33-I|8qos379gA)agWk<;~-i8|nL<-%(!Z35(-`;&vwf<7dRE$J&pb8IceXyvz+!POaU}C} z)-d3We2v(I=S31!>?ac<8asqGa&(wLX9?!i`NBq+#w>jfO{)%L+ydID1Y=aRKSAZT zvRKEKvsGy^g(bA;bn*vL<qblHB5^Y zGFxK1L#vdcAmBWRVUj{0UK^)!#XE|TE@8K1U=v~zb0Qi$aTiKz@AoxuB%tk`qnxRVz9%o(V0yG#zW`ASfwEG{u>|;Jd8V z-v9phBZ=PjlaZW3Jk4q?k8Ub3U5Ic*Da2%!X*2{sQCs;lT%FhrJj{9iyTt6OVndgbtQXGr^1iXLJF&deMdcLs`~LpUOG#v&gn zQwzM~;^CdmSqzz+ITi3@(_1Gv)j;l~ak(9L2V7Q@O;R~kH7i}@RQNo!%|2ByE!xUy zf<v`gT(-&q5!1VIAZO+5VFo zH1f^fd%48f-U%oG%*PL635|O11hy^{HWBt=(wrlS!Ml%y&7K5Qw^d1N*zO2*7b+hZ zj&ZyZ%JH-%2vZfPdO&c=rSPsIpae)!Cj_h^ODke>0d_ztiiJ5ohy_~ROu()j5u!1S zG@+M5g=&9Idc*H=ODA4q>m@NJ>Zl0%0@vsY-i3v)N`_Pb&ll)s^kZcAVruzndeLa< zVVUge0HYamjZCzVGc82(4ynORvXZ&A?q8F057C$S8+Kd!DqlpzVHV%bu-!;LW>!jC znCo~}NQRo3imWoG+5N$}aiw(?K&x6hPYDj~MPKB-OTH+>%W!V+OmDLS39I$-RZku-RZyRTSX{DcZ&KqQVpkTJY&6?-cQRPTb*@NT$ z<{;Rfc$VNlr%}?#$v2_~IdQ*>&L zbSg6A_6e57gc1RrifhoRyo)kbvbxZzYA27n5WK1!6eGlciYne`ikwY}tsfjIU#JqL zHwCG$#+gHL%Ga8_BexcD!eW6Nj8W|ZHyr$uc!3)Z7B{4c@&$fa;0Kv}>uT~{&<;X` z-Tt&gsOv~EfYEm>iX)kaQw&;cqm~B-Lzq~K|5DNSHtB9sxsn5 z%4Lx(1`Dk)PUgE$`bd=z)hkmk?jSDUtf@F)#2$vcD{$+aY>X-pF9bLnHkIw{67(Hx; z$-@;*80nx1b-oZ*1M|}L1-rxuJZveU=Q-huY#AZMel@*Es!>h~#ex|kK?_U7g=nd5 zw+@|RxDi{$;Z6zvgxx_lhip7b(H^k{kcwF8W2X>@BCwqWh2lOzlrS`> zUAb(e3Lc7BxH(DnX!Yp}fw%ypCK z-<Q26a3M?LPmo|E0GQ^R|{zqvWs-r6O>XrDO+M6Hk4pVNANJPOX36G|F3*lK8RG#r6I9|rJ+VoOmuduNUlPQ&N>u+-!CoGZ}C zse$4Zh{g7&@JKwhKjm9uqB$!-FYqw$g{8T~k<7y>`x6^;TD}4GwIvK#n6T(L#t$LO z9Ik~2)vc7^V5QmIUqjf)!9xK{+#7x!POhvsJZoD3i!F zGOb}hQ7H!gQ;^z+1f)ed2_sEigROCsvOCeFOJciu%c2&ZV!krD@2OM@$1m8qluAN? zy(=nJs8j%JAfT{jjl>3M4ys!LB=PzJA3D57rZoW&#Q=7srbtH`!HB70PT1@96zu47 zc6S3kht(Py&=bKD8UWj1g0BLf{od%|2jKFpuutLEMizc6Ak|n58i2QkE zs)jjXZ!}V{qpze=^c>fpE6@*9Zyn2D1*imF_Ph8bVsj)3wwz^`O9S!NPz<^NZw<{N z$U4IBO4Z;3yV3ETcV=OJ?m^9oC3~?-d^Y3EQeJq0zKX-lGFSO7GmBdViW;&e?nw5h z=iaYFK}QO`msl;&j`L?wf-Oe>Ghu&>Gw_Snd?LdRm|8%N(8R<&Tx%TJ#YhDL>SCNS zz>dDPg76x(+gIzEwBXFE06*vuKtXng^DP-e*z|aNc0u+{wHCa*u zzsL<>Q36W@iH6jH9vJ{OfYT5xiEB8pXG>5@uPF$OOJOyEG1k@(=Yu^1_X~p#rE^DZ zKnu)|2pix5b>jvDfWL--$Q1#=XNR+MmGd;9eklbFz)M3*(E#?m!lR~w`5@20{OBrH z)uv~Dzy!Px6wlqj(VK*koy=KD;O`+|YtY})ye3!kxPe!OQt;96r6CQz8nzxW&R?bq zC)oAMJrm(rSZzU5I&LYMc6_*?DHk*)hBi>oGm)kw#TPsDvNc>Un|1TjUttw}JJB^z z`6_k2nz5FR`EPP|#gfCg7d}slbuWfIhNEu~R>;whR>L5N>{Yf|`NnNJun;wxZJ^|g z<7Ki8w2uUVL9d}Dt~Q%Dtad#Ckvh&<88~sZNa3r}_k*o9U+E63kNGOFChAZBOJ7MP-qyG^WOZa)=BP z%1Ojf>KQf%vgk8#0xo+6U1D{lV9U>%1Df>#Il-3GaV2gi3Omj+36)oD|L`lsX+8lH z+DRBU_ow}6$%5s{gQon}NBc%0)x*{9AI!f)EK z^d@}F)lG><+2nPfy%Cj~yLRNrHg^rxPp~+f&#n~(z*N+Tk|AIg(Xt4dxmOGps$3+( zUptqn*ccZ-g^N7*-6LprfHkIwlKF$G!M;WU08Ut*=ioRik18?ZVw} z<`JMXZ>(QHmk1q`a;{X-G{UibcDNUacY&|QMZv_QPUfyrRI*kxA)W>n zg>oSA4+7#;aMFNN!Przz+B|S`MVk?#JiTXu4~!_O5Hc^XnVBItZ_r>=+ciKDNOJmh zrM!qe8l+$!oKu}rRa=a=D_Rusi^~znl-n?CLYl->0X{2|_HYE{;FAck?N9j@zM8Xw z0wYa(VfvMev8(kCXJcU4f|-o5o6U&`N3$2uI0sfEkdrv!;rGoLI^va@B$!g$fD>bb{Goji;1&Z!rlNo1GZV@5~7+ z`H;d-CiTV->m-o*u~_(R@xd%Un7GA(Aw)Uzxx|so!x=j`w_O5K|1wn8qBXvcg*LZPlYkU$gCs4jYp`bE%CSF5O%!fLH2e`&V z`C(M$0O_hqz%|R16jJz&btw|7dX)h4EADq$B0~WICO#Sh@GC@(N!5=lR3}dnA}xOf z7AgyHswT9x8|xI>*P$=RyQ0!10AOv8Hp(wDsi#ef`_VuY!w|Wdh-FFyLULRadX=Cq z$?H-B74lGl))i|~Wvt8636UziCaG(>aDa!x1YU+xG}5V(mD)ieAz)OkI5hX0H0F@a zI#@SOgBeViOls~kxl0_$JeEQ8L1RKlM)X5LA4-%Lc7lyTf0((@=0=djHzq_hcDV9Y zS%!V)@>SniDLOjJd{t=9&alwVmNteGMC~fjNEi({pM0)ew%<)hf-|}j#Lzul99Ki= z$JZ+h10wA$KgEeP{iPWm6)|Kf%*ph&XVKD0iJ)T45^=>1hb%M8QiSa+JF|du6gtih zp0!kPf^YWDV@*l#ib4{)O(6CpgOWU)v4dRQXp_aY;E7BN79mpEP;|K zIo2^rz+HwiBP{ettfdF<@-*iP@$F5RPE14ZzVVcFT zJ-6HrP((d1TC1!>njXC-yUWUE4N|Dp;N}W&pEY01i2K|mSP>=^5B-^hwT%K9Pac({ z!f#rj!b5-x7nrbAX<>m0mzEyeymsO8U^__&D~a9_!GtdaO0zbYR62&T5$!IXctm)v zT+5KjVdzk1E;^1;ht`^)jkzN#+{+{) z2V;2}=lD0(zHt#13A+qh4c~R&kbBp1*SCh+^9_OQ_yz@T?)T;+%-`z>icT&Khu62&-Rx30g#m;hDqwQ#)T}mdQZUE~pL}W`j?kxws1ThhXUV@6iUKF-Z zt>dtHwfCG$n-E)lfjp`)$f)|Gp1lEH9&uJ+h}@{IO-K z7Q6t?xkb_tz8>aQO;Wey9r0H9mS<>FGxnC`lQP>OH;$|Bhg}wV-z5;2eh=+f@5O2Y zZ@K|16VqkK!8f;Bm44r)b#?Mvg%<^`x2g)S#;GR5{U$A%L$H&7Yc>L4vI35cny6S# zhDR3B#rx;Q1t^|MSphkKMj9-0gUK1Hpq=GlT2q{vytpQEi6fbZGj`D73g>@KAc%(% zazfUF?LD(Nu{c=9y?ZhX*+H-CkGJ8eg}K;aZwQ9N(N%dj$WznO=b?OE&8C6 z4R`^I8Ejn|;+&kJuf=UJGYEX)#s$e@sL~ig6GCDf?|9bR3bzf;D#MIC-J8yxs9v6K zhUv*^`hg$E>jvAKqpPfwgCX1dQxa%i8=y_S3F`-~>6XmNPixv{@>}VR2a~~ul4Oxx z{b;b6`GIi2JiPtHi0$DwWxayD0rLecUVX==EskF!Ra;f}nT*qPKAZI@q;#*@9$t5T z<;?VTd%><5s%&ql1fA?`wv3%IzS1}8sS*3&I0&{gdyk^Pa9j|k%um_y&Xd&s=3)v!l)9oFh9Q;bp&M_RSV%(dyPrhd?CjVEw6~v=>rU z%41h@tv}C>_jWI7v(W17KO0#782eAg-RwVeB&CU^4j9JLTgPF60wPy_z_<5#H==Q+ zUE0_~;+dwV`~>;^+vJUQpyoi-F^MXhXelI6EVgeZDaUM)eJbbcXykd}oGiFS#);F& zwnslo^l-)wHKB~RwFhTB^Z2|JgH1cS39&$}BL*%LE?r)XZth^S7~P8FvXdCy)`&La z9MU=excp$SFGjeGu8a{bBn(NG$NCpB2tAyR!#j&{$=n6UG16>V`M$GKu@8J6-AaC^ zJ^d;d2lpkv&(?8xH98LAvYe}4=QvNYJf0W~ho_gdTIRC&4uru?Xm4odpFHLsG!OGw zVI9=fkQ3^csLPi+SKaF@;VVKVG8B~?j}GKmo?gb(tvxze6FT;>PP8@TmZh6pT6Mjd z*KBq(ySpK08~%{mnDBYRk0MU6H=(4-vt40VG$Qwc3DmS7@Z5Eu>2UOFUWcRa9Xee3 znonp^ks*~s;1FM!^)i!X(kfim;wvV7lUPfaQ8`=$B4>%u`5f3Bh_C&I4B+!HbPKVr zOB~5OoUwznm#naqdt_XBeC|ejWg%JSE;x?yb!O%3REnITso`VWvi+1sl~|R6IbZHq zM?slD?UAOdldIV2v|Lx4{Ifg+#5c^2$*tmBZ(JFG?Kd1CIOW%@0wPgWYC@tkgu)Oq z;7v$z39%!eF&-|!ViS^@k>)KhB_PQaUqMMe57iTR%Bl#k2_d{dBa{z2#)}$3#i<0g zp0dbPGb%=;8XbndW~?Qj;Q?|)XCh&hSMmO{u`sjFj!GS1Bd(eeHVe(UAW%CED)n&2 z4)Xa0nS#uH47=P%9f=1XlUfz>GUGUgdpJ#1Cd^0~zvY~k2}S^EkB^x3`99E#DZaZiy-1ahjsDK5-M8%Z$AQs) znuUry4j%_#vO#S`emWqxh*5-K%v#=C#A8hFgcKafP=-`8A{k~v-nXc@6v<^q?7WLs z2YQBMA#=PhXe|p(5N!%Fiij+3fP=dpQwciaQk_Q?qCsL|IT*odkfjNi7NWsmAw1Zg zghrGJ(m@FULjmDJaKJ$njv_s}JQ-ou57BK>ZGyTEGV-Z65h@X7FFuobsh=Tv&jnBP z_l6TJ)WQ;yLQ*PsT-dl2Y*KLXCAeVb-rjf&5!qvdD*-rW(6GTyX}Im-EGL1a$yvCA zxr+{VPgcH_N=YCnW$y1fpoC?XApK*cjX2hc3*o`g&nhrs+b0e;l zr3jYu_nB zod#JwE4xI=CAXT1E06a}+a_z5XJy!4Ft>G3-eI3QU-()Kd`qvYluLdH^p76*A9rAs zXQ&{xs&xs`xHswdA;T|3I+1Y>(Yl|1!WFj?S*-Cma!>+X%c2$rwJ`mKL2IoieqqJd zw<*7?%HX#t)~I!e7m*hI!NiTa>>5_@NgRtLJe1$2xQL^juk6KAqr;e(uUSVVrgp3o z8;SnbY2(03lQ@S8e2wN3*sfr;M&=20k(r`ku~n-*{q)mFva}@npB(T7sohlIOBp`X z!Sq}6!o=1I5_X#g3@$n*`Qkt9)FjD8+^Kdb6iUlv&(x5oZPrIT~E(duvy zW6RSmD2(ZCYpEBjDxo(pg2rms`WJ&?Z!q2%2DtKYI-=|>t}AmF9jr7f-?!sIrEDr6 zgLglwZ0PanW$ek}pi-b2!-n*V zSj-73a)xd0`6e?*xn{VgP=fv}%%{!#E^#FDbk;E7hkRx@JlDT|W*qc!;qj69^ru=A zi3Enp!&SyW(0DK;nvn=D47es-`T(9*_thRep@FZqR2-i{WyHM1&cR+S+M7PkQO)w5 zmrXpx7d1c%X4!xd5Uy$v&u5XE*)m>IBfBWOB!dGYSM~8Cq7slYgavm)SgaEC2sI@% z@JOw|bbB0%sK-4^;=3-LWXVj;9OMohS|>6f$xbNCB-%*RW~%3Dcgw(z#x=*g8QVqi zd+xahDWijF^JiURqX%FK#5tF^k<&LhBk;z#sr>2ThKI9S1V*63Q%6kWOt|#E1p-U4 zW9L9%4y&UYmQY;d1gGG zf;S~()fbfWZv-;yCpX_4E5%CKm(R!dd$5avQnE@zX^*nmEKF<?W3wj#H*;6XNT-l(44lSaY>W;!leo#mOeLAtqy&0n zl=7HFoR2pPQCH;aJq{c^rUN)IrQ5)k4C%v>Olttgpo1Mw034DvARZ@hH36;$;IMlM zZlZok#jwfU$KfawzfvBPq=7T!U9?iQd#)ip*XT9c+^P<>%l5~h+7N>8j$gng0TOsB zRUJJD*y>%vR`2#&>=oX`ucShVH-Z9s_`y@2ESxpi{bm?dyOX-nSTepq?S5;kUgu2J zA`l1x8h!~H10*15gaVHV+NyxI3efl*hH5$$!zSHku2N#a(j-N?*B}?wvk{m9Ct(d4 zy;4@t>NQ&IZtO#aU(BBp0xDb)Dh5d4sZ@1DSaV09>hxq|8r;NoHIj;9a}B=$Sd}Iz z;8h7V$O~$%vw$Y^H&vrVticB0{wiCSQLIurFBbPkEf;w=>kX^Vhq5! zIO*Wzgqv|y)2V=*$zD?uN36G~9+K)UV?a^D{ZZXjT0%~LMa0n&>#}|S!1iqknv`N-CrW{HIoA`)4oO5!_NY&dMW&Ch5u>ilLvqLzIViV+o zzBob}Ix`Q^6l36@UJTln^_JZ2* z2o_vOI^7i!e9Gy}f(t3KQ;Q3Eb~G9W{cWR-Kom>4$l1|w^O%(^p|oIxs)Q+r_+iw%n}VvUYX%p6h|@-XY3%_wNQ&_ zCM%%;9(YVzicf{vy3pR;>2Cz5mv_d&ZZLi_P_}p4R(GMjD_i$~d2~2NXIxQep}m{N zFa`MN8LPcZ>c~)JYDGTU+rd2#XE~N!B4);E5VZ-J**+)=W9bZeYWD`|d_RW5zWw|o z4?gcXFCkRVd-$Pqk0QJq=a+pxXP19|`X~MY^8cfU&z*Vf+Q4gS@+U-|MIANZxMooD^* z*Sz$jZ+qg7cm3UK&+dKt^Xhkh_>Q;V_1}Hd{}K4#```b-oqzqtKl!o${P)gH{>gV= zsJ;1JFaGJzfAUrTw0q}kj{nkDaM$p4uiU-s%U&J4*S~bV{;R=zKY8pEPrvY;KYZ=< zM}Ga)zx=Y--}!6L?*7i^UwrgaKk$md2k!jXn}6gp57yp&vG>t0`nBhO?VayieZvdC z_BWpU^51>-PyhSpedZ6o^aFSNhYO#2$LQ^=m%r$JZ@j+sp5PCk`~07O)?fbbC;sR= zf92=j_pRUib-(%Rqo-SMxc6AE@y*wNbNG?H$Dh3Wy$^lQ`B#6-U)=o0H*bFM?Js%l z2mbX>_5R1dUiojo`iW=%+{Jf%;OxeC`n|VadHt{b&B+%(_eVc_$7lDx|MI)Oee+Yl zeE#dd|M%Yc?O*R0tM~cu`r_qZ{DlwRyY(-A>W#nrx|e_I%|EdEKV5z_ zK<6(#eE%coe(LO--^RGS`{>p4OE9m$D2`+vPW4I|!4Z?CQd0x>JU+N-WT-}_%A59) zt88H>(s6qskSk05-|(4Mw-7jZ_Kf2~AcI2_Gr^mKLlbI$X~C(ntvM`$)eycc3F`?+ z)*x)8M5ss6C_*ZFiAal*Q-7LvP_i>E#M2Vd$K_I%CzD87O`OyLR2LmWC$4X zOBfkYl*k`M0W4u$RWJewk*VYM32gW+2_*s;agE3LrOZ(!%jm}fDJ&~$^(a0?h?k_~ zrVIfcehD1|N?}zh2wVlaj)Jb!JJDcf+&*Chu@V7vB8ufNCA%tFOM0*+Z?3h@f{>2= zq#Ft7O>5XTX(3>c_Ogefu8@wBav+tBIxg%=>00SwJjMlkNF~Etkb33UewPcWEZ$+Q zScIYUJQq^g(cbnZzUA5!-L;U)vdgOcz-A;Hv-!z}$|J!!r&RW3D8kq;WI1~H+wXZq zYAfX&Ndp0pA%;z8V9gEL2#0*8JSKOEBbkRYc95)I9}KZI%4nN}y~n5f)-oZsvs$)_ zn;EM;N(P=UtG#=F^POLdix*GsfBodb=!wZyc#~Q>vpKpLcn@FcZw1^E=K5Pc65NMG zA6HAl_kN%McRpNu?)~p>df)OjU-IZ{KK$W-cgL@O{Kr3W=ju!Eef7x?9edHMKKz=$ z{GZ?U?&lo){%`ond;a#P{$TYVyz~cO@L%8kMZefMz5LM+eetJ0`RC_8{Er)7ReSSY zPrmtCfB3tf_r_1Z-nw`1JAdT=x$&R>;J>wg{1wAv|N3SB!>eBX zZ-3?!ANnW1_MGRw`{F0R>-b*nkACMD|HV%%J!|P3_WtDu@BNB*|0lFEz69e9x39qd zQjo=CKIvyhaENF;v^_LB0(ju@>B0u_^6BMElgZAhlP9lUy}EL>u`(KOo%Fli?#XNL zGj=)K;YZwZwp3X@V-dEnK@5#`o{2VyBtOoN2Uq&z>-Gj|P6Ui%X-;cYcpF$E60I2* zPf)X3gD*nd@o?_n6t{$#jHf}fCS;}dVeT`zOB~5OJ3r$wyCzy59I#!}W0h(&E$o_} zvKUdN{uGSPQl#0wf<<_9r47w!xVVJrkq-@LGOl2z1RZB}M}@1<+9uPfE86O-@|-DQ z00rf0=H@-vJ)uM_O(c;OHbL5!649v2DR4^6_LCgm zEd3gAzp>Xt!suIX_+`{>zyTMK+jUrmu7c}`ohp17eF_H^YQD_wwdS*F>W#of=$jcS0>q7YA3_Too5? zqM|Mf5L2m!5VaoX!F&aIX9bSLGQ^L&yTRr`LT6)FE3Of3NH-e#ap|uxiQHB)%L@GU z%!_JsHztMdnz78R5y4uPoiRLXPXdNWn^Lh{V9?k~ZOkclXNHz?MgzGt1{Eq)!9)b% zQc+uE)45#fD6YP2YY@&@xW&jcV}vES#F5OyDJn6fhj_dYr=?A(wm!HG9i37OBgsVP zS{i$vjP}MGffxkT>L2>#-{Ph=JS=Fj}W2c}8C`mv9FY?}0)&wb>FrbzGCe){*nB|kkUWOyYQY=uq~IkNedEPDdQ zJ}Q58{$KvY&*WE?{xsS@{3pLZMS8z}^GE+AO3!f*(9id`1G2q%+3W9^z1WjYxJe^c zqtV0VN$TK`$7x2r2~+8kHyrbs@|fHuo=s{I$J~RHEyy<(A)bCHpsgBlQGPm#b!dBX zE*MVwh}%i$H&bEh^nUT+7%GCj;Q(fISs&L;ei%GVsIIJE#~!wFsHkH;m$zZ3$$m3- z?Jvj0Yo2&wuo397H5hH5?T=|CwLRG0dUz6CK?;vqZnB5?Z4#R@OdcW(JDIUuP9)^F z%{OgAoiF^>ObeF&yi)dC6P%xeU1vLLtZ6_KWLC5uo@1RIYJ?>;*2)YF8!i526NDju zt|_Zz{x;#;f&qL2$q%A!agEVzi?@Tea(#iDSSLyD>tV ze4XF#0)Bvk`*IiQSSs?--ve~ZT6Fm!IpqQc+s#;|hifC9u4hhZq?Saw8p6gnZ*wlj2RgJ{~NRrDrKu*I)*gpUPUmk#w z!O@|9(bF&$_OBmhUBpS$jbbq~409CEk^D@Oee>_$#PQZzqLPCFDfLr*#q(90Jv{dhxB9?sao zwcUk{@n|^w`kjP~hE>~VEFUi9`^}Qk++Qj2xRBk>C%aYD+zJ%XDLcUSgb*r#w4<0s z?m!!w@>y~5MQ@dOMp3Mmu*fwsK?FkzaE0!&MD7a$jN)1!!V6P_O=9i0uvQZhxr2y^ zmlnYsLtHgkE(0vZ)7b~B9K-3s@51m^K#+2J?XFh)A4q~B0 z!7_Rny0Z{)6go3p0ksBS1MO6ws-(d*WV9+3A zkr7itwV6=s(Rn_-;&Kw-p&Ovr+oO+U@l6IzI5mS{l6XvC`29!Bi8yeW z;Q$QqXT6e-ZsoQRNo zMTyV@AUA_XfyVCt-zqo?lqVfqI@uPSQv^&*ikljVCCQfpy5SIDl&c8o-RRy$(^ydBVoZ* z4B?-Xco9D=O;R*cy;fw$h6-S+26IA$cxCK;K!*@eu@eCm1KJy^RJ5`qRI36NeVh^w z)U8u7Y|$fVNBKC#rj|_6Bvc@(Sl_zzxOBK`6uu(dMgtJwMX>}nNm^-IEq$O~aF=hG zF9sbHb{QjhQS49YNEWA(p*^To4=VeW&0@Ev$pkJsEHdKEaOYBAWOIfN!E-reVa=Nb zsrTQJD3>i3M4g0f=NjF1s(k2L)9GFK#g&VWkQJnI$XDV{AHOc83;Kf2HTJIidS&R!U(T!WKFe^twCE= z3+pH(Y`EzP)iqKMiB;tZ0TMIQl@d`stUDNGnzz8(^_#K#DNP+Zt7nzW(26lKmsDWJ z%ynVO5WNUnQ!`_TfeI#WHGAHQY)v-J13jC@mjx>VV|S zw7Ja%??v^%jF~I$i5Z#V*)kxi(7X~S4tD>;hGndevLCD zwnE{Q#|ac6HmtxeH?%;&1oDF@R_(}yNnfUZB{aZI%x98{^V%xeFHLe^Sel3xKvAFu zdlD;{>{)@2#Vx4`+2s!WPsM-%RKjslj2BS{kyK>75Grg!!(S+qfQr$K7p9U-WV|%V zcwuRh!Y5Q95Ln+jf3Z&tJ4A!58^Fe}Md%FtN-HG+TFu%({;+CH?$V9&z361B3#BLF z4$1Vc?rl|{{M!AJp4>y$4;aLNq6sFkgo;aCZwkwciams}4kj|fF621~K!qqH5xxdw zqFoIG)j`6CU=nl|G6+Kg`GqCH@}!SYzOK)PGR*~YCPBzqD407Angl7-u_;*PMiSiH zw1F1wFjEU}9qmy13M;1xJbcrXIZi!`^07Ja21s#UvaLeq*`xOnzmhtN+{;gq7LI1r4j`QtneTT;V*>_ zqW>VAdveCH=!1pq@%VH4>+umXrPWNE5IA)@yHHV~kqC<9P2pgMy}MNtUh@dYaCpaNf(a!zMawVI{dx|-p**SJ=s0I z?AMON+Tb|m^4f7YcU<;1hW%aKhhd{;fzrfLWpZyK(+J?Dj1u zvxbnj21ls(LY6n}gJdT(Gj8P08Gv|P3jp&)+t4z^kMuHSA^VmH5 zU{f|afxDBTvJxrKNm%QPa&y>gHE^#FDl2sA*3p>NX1hZYH zAxaXlCJV?VyYEBJO6ik>^*ZKAo&d;dacqWFIB5A7Q z39{D-3Uf%oiZ^j%9c&7EsgP>HyI@s@k3rz%3786E8L658?gF1MpjIPupaw*kswE}D zFoY$FkuGaQi4gwd$CL6h0M<@&sHLT-{iwpKbuz&`|11eT3k* z@R!BPQ)s0kZKvmpZ9cBpxqQm7$6slnJZ(u@0L&~6odv2w>`C0q~mYWS=jAWvQ2eUjba6 z0&o_oO7>OBK8qxv2lD$VsRK<~yiF{dzb$EkD`jX^>trZ?c_g}E!yL7?pE)B0qp<=w0>9`!|3v3Q!(-V{7jN|Nutw$tCPf4`tgzL zHd1*~z6HZ{CW7QJGEBJ?7VpUy1~-BS$AcYQdpOItRh2pWSox+0EG%{q8{#zVPZKVE z6rEb(Tn~aDV!8tq^Ej~|6_mG*{|Hs{PLDs}1>uCf8~K2%U=3oe!)aTdFzDe2cX=Wr z%tmYg$eY}nfKOP=4LTTXst0lh8~yP?gO$Kvt*Qh&>)}dOA}UOLf}$F%ggK-V<#F5Oy z89PMz*4FJ*lzdE~Czc`OLU6+KGjPIBLfBH>*wz#MAs^diIX&{{;kl4@^kL3;{a;J@LPSGaV0z=*+*&(oD1m32YlM#9cM&eb#gllC( zj8f8ooa#admy=nknF7Y)$M~qVi8l_|EUR~`Wjl4}| zZH*YaRi4VnB^m0v^YQtKDJX!hbIv2A*f$2>lk$4OZc#6mclqAY0F^-6&P=KkP>}vW z1V;7!`1l;}L*X&f;3|B?jTezz_ z4jUK9AVEctqR7ZW^}_B{{f_TirR59KLl4m&TEql=frzSisv~&KP`;3Rc=t@n$LJ`g zWG37ohf>{b6;DAMgYm{N@HVbNiwX9c8`o7hKD~^=lP${eV~R|aA?Hk9ls`|k6;ERN z(vG@H77;a{tf~C0IlxV`yrGJp<(S@)JXe4fm!Ipy3p2cD=o@ScGid3S(S!$BU4s}}a zw=jFP$YaMwF~W5tzn)JRD1JS4i;-M(gd2)qkIk0J^AomxQ`r5G7BG=gQzo|sJUM13 zGfSReXJWABRCes4r=Bn%DBv6^P{d~|gdAl1(A_Pb!3`qH0ozIn^&wZl6;*51Qvu7@ zaDijT9DFJv%a)wdPLw3&iVUTtWGF2PPuN}tl%cRy!lF_hf|LwJ>2u==daFrBBXcM& zB_%D;1I8~TII0WqoDD(%Ige_nJn1rRSJewoiRuXhB_PuEc9=@ZdC&!t5rCr{X$V6w z3UwpZQ-Ks+pg3!AzNnu{$g(A;dg`-u-%Y)kqqLe?H+vc?!n6uQgm~ZJ{}>j*g}Kk< zE^#FDa4u2#*C+rJKdzs9SgBC;hNIm8H$0qbBYGk-(n$=Hhhmi6kw#=+S}6&?(4(qW zk4mggulc8!v9s276W6Mh&7AW5*b2FQr9hX_T`6^-TC{A=bOHL<6E0f!R0Ud9(6W=+V z1)a^qCJh z```b5Bw1RLvCc?N(KdFgtWeE(E-jBsJ*Is$*bH$}4xAB!aVj;*nlQ|jf}WU``;i2E ziGaCLW@gZ<97~>Lw0=l}VHN+{U_2RY^oQ&wu0O4{`@yf=?KZf?*@)>@=Xnn3vI*=L zpo8FxKM1xT8|+*NcKYM~WHiQ259a}B9DW8bx5DK;lnD-Yd0&5AsRcEge!J7CHM*3y3ea0?mR<6vXrL6HI4oKRzcwf5D) z=HwE{V|4bVV6b&*f_OHKtDLhW_|F{C)nG7-D;DBLe#tn@aAW-Gr=MmZhkYM$bDN>Z zA1(qpsCW?X8-CUTzl_FuM>TduHh!TP&2$)~iI&3#S3i zgz-cfSC08id9KYzOfh5=@3Ee5ES>Ea@5G4vQM2a-8L zXC5~pl8{skWv{vp9k8%8Ns->DAlDgQ0s7+?G8Mxv4+p*#1x<}(3=U-G92|Hk@H4Rr zjw%oU`zRDDtPi%~CGkdpdmhd? z`#(2B^t=9fzx>oqL~&CB&&$6%!o;tRi()Z!!k(%Xak=0=Wf8KNMnwDji$&k*TwvF^2UI-w)2d`L5@9Plc8|i%m zxAS>T2PwYiw_!erqBxRyIOS_5>zD_{_(mFSzUE9qUQ!qRux6YF5EB+MLmTN6{LkDA<2m=42lz3wu zBB~BZ2Hq626dK2{5dNS(c_OAP-5#!48H8SZ!hk;TS(ZHM&@4q+_Ec*tRD{Zme@4zb zIdi%eJaH72aW4-HIyr(*;Or-90ZsdUL3j`>V^Ozsj#GA~(` ztS^k6=%WGXsbjp7gx5xT&v zL7xjzaTUl|*F@>xlKun5^jeZKT1N(^Wj0)3Cn`ySnD$VK7(G;)$IAbrtjg+pelVxM${2rYy}M$~P%>bUFSEO+#j zyJr2T)l$9t@8~H~-f&V`&h+Uti{K~C`@QQv2!6)>?cFCv<143^$0I1`1h4GY;Kph7 zD@D3w*(!i>yO4S>q}~T0>^s!LZxTu8MjMwAcsQ4Cl2gQ+3^^|*k6c8SOlVybk&~yv z(@3rStZvzV2vpk2Hua86t7{rj8ELh$HIJm#4T!HpX*J?c42Hwg%UTQ`E)&l~ zXgSdpOFV9W9>oKmBQWV)F5}eGn|xYt)eWe4cyA z?%@m%F1eG!`-i+HQ5xZU z%~`HT{75Fs92Wd+b|*?Un!~j#68Wl+DjXtasG!i;VeT`zOB~5O7C<`JNJj}>DADU( z3M{giNsEqSBwn(<{eJ_1D*g6J5Iz}3+eRifD{_ zlj}QhzcK-iI=QjC8_$7xVFjPfH*knN%Q_pd3dDW8xxb%O#4>W+Pg%p1_<&~N8l`Pl6I>%H&*B>$E{~A=rj(q= ztQF);wCaXf&1b4|C?qSH^$)2OTiqU)9v>CW0er4pU1gzIc^dyAHa4f`Sft0%p9927 z$I$_!X6=N}ufy+Nv+cKQoqDs~UTv+eHr4Jjty;a&UhUT5o38;EeYHlT=Hi4;m;!O+ z98*%L%BVa}_bXpscik6fj9^;PYW!5)H;fUg^yiZ?`!-@iO)rZR0V05hJqldn$l@^{ zm%)Y{;Ybmq(_jckgux~*J)DltEudXq`hPU`-aVl9&0M-IR{9h$%jUhnP9V3ucwC1&YS}qxuk$i`f&dNob@$Za`u^kv|rNHy=Z5ial$NS zhv5|%yUx&#DD9udYZuHNa6-Zfr zG7?onkkv?!)ofxa^=%u@bNNR-)8u8(;sqn(=$me->C6lmA^?{-l6lO@g(%Ipco2tx zZNq6-ad0*+YfbFMZWEzWy5<8Em}sr_F9t(&rH6Crrfr&KR{eZn4q;s_Othx@XieWS zRA1^iBmr^D<9#=G{8^;m!j%6Ocqm%XeMRg{_qmbyzF>Mgv;?1^y)1(7b7)a@3$I(i zhuk;!cQJWtRSftAJy<+ojy^p|jNnEC+H@kac+6*;^0OpPueP%t;u_;yKU6#-#h6fm z)&_X81^KxLUONb`24ix~z7*#p{U--oaI!htKHuLClwG^=8XrkOkg)L37^GAJLiIt` zY{Fd3^Lv%De45zO03xgXlz>!&c{HF2R#2p`=cLDxEgcE<{j@klYkGtW)#P&{E@`y* zckff-^GI%DZOj7?JgaL>{5ESn2^tV4H1UHw*bU7(Kl`a>xJyj9}3#@@DSYPpqHbkxsl+a%DQChp_w^!gAh;IF9ehfhf z%UhFQJVQ+@aA72AAk2{ZnHw?;DE=T65eCzU=)w|Uuq>4ZsyM9AhAmfgQNG&dDzKEI zNb>V5TWuHATo-$@LS{G-Mkx!+se#lJv)nqE_OXHj5Y_B4TVBWJEzO4Ci+SlR(^9iO zI~omx{`Prz9>ETj*NHtJ7;R6^j)t4Z*#B7w9Jf83YQf7zuQ_?sJ_P?hzuYH@!Ph3# z`ND;wnZ1_&@1usdBUZhmu2eRP-apB8LV9h`afF2}39+EXLxqNmw7;5uO8X1@5y5Fg zYppIWEa1dJgxzr30Ic1_T)_~YA=Y$==fv3%WJ@}1cqI8CdX{qPz4|I=Al%pK7&5;O zWv3*TtJ1Z&9}?>?#NG+@7IM#X&>Y9Aq0jc8Z(4|q3k1+a!G~408_7DH`foO5Upi6b zyxw_5x@I2ZyD6Q=O5g55&qXgrE3)RIw393(%s)8$;WQJ93G*}PCyx0{c}(sSM>0>> z5C&v7$6I>7zZFCTN+Hjl6=xkXqdIC^GJjYOBU!wg-@}93ig%NekVnfRVaUYQ8E=Uh zQ@qMtJ5TIipzJ*57qUM8xcop9Yfd}Q@)blb-XvCR%mY7n`J|oX37zSi;-})aA`%B1lqvH*nkS>QkEFT z@}@=wd?}S}jFwNgX=5~jLa!6mB4zoc?0R!@3jy7i^|wOji)uq0a8HwNd5Q@& zU6r&;SEZIwv8uF#3x3Z9BmT_BWbkCbM498ZlBH0BCuW-h6hQU}T)g#%2L{=U%QSSP zhckAhagcCp_9hc+UB;fa&sYh#n2Xc`$~EgT6ISd4wchmV`)pHQjeJ`JY7fI0sU?gY z7c^w~DhMUmkx0Z6Obd+!iEOP`uhR|<24>KPrfxLD<{E$Nc*p<=QM*IXoHH`O?_+EASar zNZ~cT2JEvAzxGf=0cvB{Dv7*sF{(w?zm@bo!(|sCtbo3t7`w8DHeH?{FNRje#(IQ-^ZZ_Y5R_|w)fLUZiPqaSIQ3lIIbX;H3D^EcU6yVogNLtR0<$QDe~Y)jm?f@Y z@1z(Fz7Ooq)C`cAAyPAlHA5UBG?PM^(K-aWrH$4~(_f>K>8c=0sJpJnvO`>H09AL| zvaV=wUD2WiC!fm?mo31S(2@nJh0Umsw7l2g>V%0H!DPovOm+;UIGwPL#SU@wDkclS zATa~bjdh~o!-Tk{bDXeuNcfTEXO`AQapTGs$>kuP%%_BjInUFHV=#Uw7;If4L0gcV zRH;t>2F@$_1zRa!PkfZ5=UFlJ`5zpPt_nGiYY*p=AUNVoLy|ulY}w*vrYStwIXF#U znXoVqA3EkUl3ySlmdbx@in=48|M7z}vV6r@+Vt zqtokfDT`h1mc8-mW$b`wnV}kguDg?Z+}{-uLk{&F=~WPs77);pC2Ay(L$B3B0=git z5+lyEs!&!H`B^pcbD25pG|5?=Y^dbSkeX5rr!AucoF?u!yaKg2rF=a-ednj-{Km=t zHRHk7VEgst+PNlv1LrBW_QIw94*78&&hk0Qbv9>Vu|v&C;mmH{K`ad}%zY+zi6fbZ zGd%e2lJAe~zK1}A4M~Ruo8bhX_?Wb%V{r#6YT|W+&B-N#n4g%HTBL^%0#rcE&%q}a zn2DN_jY^R#iPmU7LNZ%|A}aWjlQ~(wAsuJ#Lhi$xYGXtxv4fKJ5?`5mtqv`KJim)6 z&&wz)d^yRwGha#Acth!#T`n~a%&$J(6#0;daM`=c^~L=|@!EiE52xDXhvSq!M@al9 z4_5{_^V(-F1N=jkQi(^|aQ_*=04G11mQI=h4l+oyLxm?mst9~xMI30MorRP!vOB`a?naDkD892+A9h*{s3=CRHEwGMreJwX ztRs$1!Q&+rOs=&~39hx&E5C&VZ9dnU;FoZ%JHoYQ&uSh%`bWA;0S>XT>UG?XI#^-= z96b)e&D#jy4?(WmATOBHNqAYUrig0v#G?J zL>C6n;4K<_BIres%sygwYdxCc6dXmw8h;%i4a7JkVs0E{U&~A?voWR>5e$f@ZDH?o zDiK%P9T5wF69I0Hq``RMghY#H2BLCJPKFYM)5*7%n_@!3gs!BeQl>nk5P>-%S>Ufd zEu|O`M((Rs8=aPR_VO>eOy}AwNvxBEj&Z&VmIzs#bD~`_sEBcabC7Yea@moK))?9o zcg&?u&U90}P>6#fOO)TuXf>BKk`!8BkBz~<4mM+TCzgeJk(&fRYrR@rA0oQeyzir5UVQxtu zWoKapxqVT*j_*w!+hxdag?=WId$ToZMHNj( z=BuZf-<>`cGCpM%Og6!H$6b8<%{MY^)+s}#>=Gw7CUTr*ek1>A`UVa!zn$5akV zvPS((RaBtg4&XdONGTUj9+ZMS*1z~r(1(r(;vUYWo1Av|!cEAV_8~~(<>fl#Hew+r z*7?%N2(>*tn`4JARBM_khD>NSYXj3jdW0(0;0@p|Sp=%j z5JA0iJ@XD-Nw*sfECbADg5WNg%>;2bTok034)_F~r0pi9XE|t%h*KF-5<{0_ey&!n zmFW~Z55%9?A29IT^t%-!I4e_5Lu^X>h&M&gl}@e5n~F;a^L%smf=^)TcM{FYPHj27 zAD1=xAI6sCcH9z4m1r%%E3+ObiX)kaQzY(GSRnpj9ZC1uA+O9Var2j<$?S3s#U0Tl zz#`PJDl?XG$*l5)nyf~dVT$}hGMW5S@p;-Z)8>qK%|mSfQGxhmVj!j;6}6Cu3;nLTC3SwZ8hrtD%A0K zG`ihZyMepyTC>)~4#TVM8GYKsbK$BvJsFh!e|XQBQ@+amzJ2!T1lv>*q55l;TXsv4;-c@}_-g{!&`E{x8t`)gc#f zgEklK6L8>t7GXkI$|c9wPxA8CnYh5Y&Y6 zBAh3AA;FO|XvkLq!+0jz$u=;~DLz6NbJbAL0Bh9GRK-3KfP5995`@x)#T}0gnVp}- z+>Q$dCk(jYYdG#+z)m-VtYBhVOln4~v*2qi_!@arj;$6k6UsL84$)!GytA0rEax9H zN^a1*9=n+G8J;|}ZeLIl`Sp;Pespy8;q6U0;Cv+LkLesFKRG9^cr_0ZHln@!OqA${bv&S|VEfLG z;ni@ky>;RG?j*Rv{$S;@FM@d5!-a>_ap~c(H;XNfXIwBf$X|n@O}O;W@U%J+{87f# zx59Brv{Q?(w0Ckec;YJEmcT4-P;K;iLNOZsr-{!}pE|}+tWj<~{1v*NhMJ8i*wnj9 zDH;i=t1ap`;;$51I4A(_L6DxIC`B_BlE61N6H+OfrAZ28$Ca(8Gl!m#cwq%-)C-4S zY53+_pqS{dc?HWVF?G?uSrsqnx44| z04UkLrUC#wfJ2z6Trq;e+GBCSMDwF~+H9&-RC!W%br=(QYn?Fe57h z!|1w2uN)${+L3FgX+~V}84V2&QWt0Y+ndVw+wJ&X`Q7&V*zt2TzHa*CkiFJKxAW!9 zbt}!-WRX0G7%Zan>}WI$`rBqFRCX12LOnYgiVlWsy!Ghd;>FSS<9PG}oL_h5v9kf3 zUq?MiNR#@hH>uQ5q`{D9@^IxN5F#E7CC&!mG|0__OYf+fI`xmnzA|ts06^zctH_iC zepTL{GG&x$;|%|@oi2ssC#>5}`0)A*8VezvD5;p(xt+jHBcRGatDR7WZpvg(?y8hN zoa`V2N-sSt|A;0ZCW)8#P@Duc5J1~yTZB1WU#0ThJTFa}7F(4GOm=Ln0RT9doJW0bU1VT74mOg2% zt5Dj?&XUHmA!wy)8Y9wPX|C!$-6PUJQc~E>$jQD9J6ZKH0FfTIdYN^Yx^-yxT8b1k z7J(e2^OJztxcWde-_afqXY3#r<>p$j_1WtWAt1aE?DWU|$tW_Ej-}7K$U|mXY3+NC z`3!Poa+f%gd3H67>#5|5;uAj<40mwT`r@^KCnnZvy;UA5+fSzh}`Po(R7SqUGY|JJ8 z-jM*#=$T60W{xnQjw7M$Dke2BF%qyyRXXE{N@<9#Nezeq0M^QfICTz*A%%??Gp3WI zcO!U~KMt?*@LV5-9bDr)Zo*YuTN-~6x~*xq^Twp9120T)<%DXrbrzBqn{b;F^0oN< zcIYz6m}r@%9_?46H~xl?#Q(p&w~etRJI}*B3Xpb&RuI`7Nq!u*h1KR;Ha!^6A4V2)sQuTG&-GMN8fU;N>R9_pzn=jxDFhF7T%|momkgwBi&Qz1MRqNr zavVdM8e;{$?~?-4(oL-g&I*f8^%rIHXyhFAjivQA0`66&op5er%a zYIBwKiIq@$PB1T!xq~55zYyT#j{41bJuR-P?$xW`E394(no;fx%?9FQ!^Y$!Qf!QEgi&*Mu%RpsHt%*5$dlQ7oWsH z*2Tl_!31F*~1AfRFmM ze27WE=qJGi$cc%c!3F9T9B5~8fd`>LHl!-)LYPQ=qHdUk+YL`q+JQDNK>U=5oG6Oo z|6a`ICb>%lMrZvM8ga~1ssHmPFR`SW`mZsqq#(Ac^&(9@t%&IaC1G_Ko0F2=v?8W= zZ@zUnmCzdEM^KrjwIZgqZGfOG%w{xN5mPH-Diz@zqa3UbCU#3jS`kzHWQ&-nFr#30 z0elsILYo5Tw$72^^c{K&T+tlDR|wCX<-WRB`4r-M_8^2fNLQbOKKOeawlTAl1WC^D3+ zM2s59knkS}nwY}B4yIDahtkU)39JBh1yQy~YNZ^euBhQw^6M2VQKVu>C5~R}#VM%6 ztFj5I$E((&x*SxCqt7YZ@qy~LwS2Cp-_&;dW{G%as(euuwFJIy)}oK5l3xaZ943*!9s$;{94 z2GI;ByRNPLumJ=|UE-j{9rm z@cNX!wzBDo)A3fW=oMBlfh)RiMO70jnc`-ub2i$CxzFq&X=ID+@=S9T+#k>H#5a#7 zhfBqe@6MLX**!dnaBe&zJ!zl3X&OO+hzZ*w_XA)~NVV7k5prh^ZL-lq6s zP`($Ci@8@0OowJ^hRG;>5||F;7zPn$nS@t)SAfZ;5NSFaO*qjmFN4N`>5SD2_l$a| zkU%#EWC!vVea85ONWeqFC`3pvcj7j_Jp#ip+WU(hOCHf$hOd6?BE zbn!HNv9;9$y_Kr)!&+!SY)4?@#=ayT8T?-?@F}yFoTE`q+DmS03na;YR1o2;Cc&kB zz+gIMt}N_52zNj^Qy;U3q>(McnK>wX;MVv1ATFj?=Wy?|Hbx`UPVpZnoBk#AXMKbQ zY#UF#@LynbivH`nnGWYfd_2SGLLW;b>}GNG@!4i+<7enVFDdq8CeP}mR*fKHUw=^{ zAHJOj#Ufoaxscq>Xu%S<$aoMjn;2ZO7tiA4HGjz0{Fh7i1T&*&(YN<2Fk9)^@WJi` zYC0mS5V?D4Eu`*uC-=q2P2)-k%1iS&o~{H6SLoLj-favC-@>Qj30!uBg5vl%HM!vY zGTG%%-o+MRwnO1esV+aW9mCO5It`dAeMy;D9W)P0tFhm8^I9@5yLmO%+iqS-<}Fn0 zHE~iQ*>5HY7{{x$2&Pp(97CRYC|Y6(Y5GKX^Kde`a$fWH$qM?~7@M+nyDEK&)n@Hh zIe#5rUU6%*_luAwzVL-F$a}8ZJr{xsrNT9$!u3HPIwu2qV9!ZCL(C)~ydh~0kq^UA z+9V+1~d$|<-;V{c(9eShaAw;UuKi`L|CFsL{ z5ufl?c@J60KU}R!%va(p_dlXf>mvZpzJ#xdCC$mm_&j`xEy?0H>-qMTlrQ=At351L z@g)kEt7-{{Sm)Ri(Sa~iR1^epovJM~(yZ<^7#G?TGM)TlTZcyxA6HI(!A9tTK}Y7w z!rp_u4k%~pWA>0VvPC#E2ZeIRXz=yJJ9n2iZ_j6wNsiCS6e;<~iLPG2IIXE(nGo-fQv0C(N?5355m>_jzYus@dA?@9l8s`w#&gbfSyLss-=< zcO$S-9kAny+GEx~PvMTykgOAXmb3RBva1db%~fvMIj#qh)~>%UHgz|kw8GZnbaM$G z>eugK|C1h}7u)GhE2mR3-RZpnvv!O8c2_1l!JaorD8Vy~HF7omucUeh%u5^(`@{K(Kyl zMPe^p<)0<;%8A6T?eeeq+&KB&Lu{bEZt;2l?@`=;*(q`x=;y|oFR}Eq7Q@7LZUob_ z{T_Y2(1Sc(y}%-kpDh+QT)WDnU=N;q@gH-@53=MdPyt%$(XTy3a~Lo5bHH)Kb+pf4g2oFn$Pb`E zgd~F25zspDY0qK9O_Pg-h+;-WFsw~-^axtd9yQ|#d$H_kSH`8Ubfm_-hZj2_5V(#c zjuJrQKL8CcQgZe1YT2J1f`-^o$j__LILw8C1!(vk?cs;DNsfMD)cVOj$9^6(HZa)h zZE?5gQ2kU@Ts1ki+PTcFzBLw>mlY%95Vg@0*6g&)=?IR=DkATMZe zLq=Q%Ty+Xxk?H_D!yfTH;g`KMy_PXhFL;MtUF?5rLqN3?>&AdSCMVd9?HjdBTlTZ(#2M8Bb26L8 z7$iuGbuwUT`XC5GVtp~gO#D`Rh#lqip;*L0r=)9e5GX#go^a@j%DSYi159fTTo0Vo zG1MGIOD%!InWK$10IvnpgT&`F81L2<+_LkS5N(A`Fu&BwPd%Ux$JDHia08k;MsVvO zUgm|deuA7T!O9nK3|UR2d$I#o7xhvlS-wxeR!i3&N`A#SY=S-{jUo}t*~bszAEhA` zg|M~Ld_R73iH8w$hwU>j^E1KH)tVP|O z3Q@IjNf9KfhJ3Hxflf73YaN=|0_8z%tL^S?twR-Os78_Nl2|)w9X&CwW4$Gb(prbw zgV(_9w=NyvYJw8H$|+LzayQQL6(`Fk|1(RcFHK9@BEud9ShQeGoejJSQlciW!VSq-R z?apx6>u!(w!=0_s&Pd(vbhZaO+ucroINBQaJKde_LATd%bIN0M_I7Htq=g72#>`7A z1vyb1=rv_$n8`D@m6-#4-#YJSGv?q+JO=ecs-PvpskEdoo8Ydn1 zqwUTn2j?_Gx%c9Hd@mNmOFWHmR-2WEPIOjgA5!l7zo$6Szl%|Sq9%GkP%~}k<5V{U z+m)9GHrteqk_BdA=Q+!9l`-i|cnr&&CB(6#d-tqXP6!P4c3GvR&&^AI-=2A?+$uTe zC8w^mBWmt2*4@z>r$jbzabTzLZ%~*{Nclc*njatiOLi}Fr!k(>z2z~h7>xzkC z2eDNlT7nrHuY-O5Vs|kw%7vjaRfI1?6oL~&sRD+d7gcc(2p5yQl7h*eTnEUaYu0%? z$jX*&%3hBWmiV2dqW^r^>s|A*^#7cNDNeuF>G>Q#?2ldHF5%4PY*lBEg3c@ z=ysAd$-v9oFmHz=rrwx6ZbcK-tj`cU*FHm#x*K!L5-c(h0Wq=2C|Z){YCvXF1(Hb} z0GzxU~C z88iS-+}pPn^PmC9e*uBYz0>ghYxckp6C^Z3(#RI!%pByH_8=618=Cv$33g)ck8j13 zSEnyA$PS)G%xy6={I}!~S|^3VKvR-4dn>SL!(7FZg3k7k8WQsQMAvUBAGjT*rEoVpp_>|OKpyZx?p+} z`%?A2{Ul?057p@ghMPT;5ruUdTS;{W4s&N8WTGx5WmRu(rf{G- zoiV+K`t&^zb17`Pkz|Y_14(knCYaoWCc(NPgrfkM4tZC`*BaqH#;?u~I>|a!&;~BK zn|5PAZ6m$OD$52wX~+yJz%byLTc{A5W~6O%3)SruhQ6m>P)AcZ!fu* z8G7AFGSC1{L6Y3DhrURwURu0E8)8~dI*25a2{l}mm&&?Pg^#>kO-amkypEspN?$e} z5>r9y?4x4{HJwR$o2TxarwnT&wx>`tfKt*g2qtHL*AAFPlbsY~4QVC6PKIBArD*Z# zWY}*Gxb4VX#@RUjGtNQFTND{tzWfiMKB3c$bWego|F{41Rovg$kRtqab3)_S#+Czg zf@Pm9XdmYkW!B7dAj%p_$6Q<6u+}yVyFsxILLh_R0XH#=I7YeQ!x9`SzT$>fL>Pf| z3Rh4>s1o8UUI%Lb@&__H3FoV0y{fr95Ienaa0s>uZp-h8U3`@4xGUF)GJ#D)Bn&_z zoXNpH=5gUia4!i8Vep|gV__6RqE+Hc>5&y{La)d4tt8=^avp~`X7-7HGl$^E*0bu- z_;!5d{1IYt#PfIJ^WqW6cBr#hKAa#!JRRSf#20TRAC$e(g8r6IwL+jw;7@!dK1Dn5 zNWjhP9pR;j(a2K)6X6$fYhFZbt#W}=C;Ec89~D5@kNmt6FG{W!KPopFYRF^=*A%^p zli7hEiLqMGszO6ja=L;8&N`e?UjDk01fICr@pdWCYi(y&e6e*Ix%|srNx06J+mM1N zXR4$^U1y%2kg!pPH>(UXMQZ5U;dnB;BZhRjK#!&!=amEvPQxUbt24iTAjC&&N%w&6 zySaMiDTrp~udOBBlW0k2&m~&Y(OJgc_-J`J(zY8j zx{^gOqgxF&X)Rv_6BBW58yCC{wL>HGa@)Cb6LX`jy#Y>Gxk^;O;F!rH%dcNhXw1vA z^@Ajk08n=Qs0~6x_1hKEq58!gVcXTE!-nOjpK%yiP`;UlwGJ+DEnv1%RHP_&rA2Bw z;cTiupbp2%oSFa(8GBXC;@JfRXYnTv;|Dk5>HVAtlbj4+-Lv|NOXd(t zrj2{4CES){rqbzXt)h(`E@juhkZK$=Qp;KR!IuJ?S*_i3$riadT1w|WQ_jW`qSZIA z5_|vBYKW^^nn|mPUDR*T@H$?lCBs?u!!hCp&a# zvW zxt#ZQY~}8Do)czVY}-wM0?lq)3hOKvY$EbxHzcjPkvrQ)!fDSY5AV#T(a{V+lNWGe z+r1!C3jGVgefNU=U~^fz(^a~o?ExfRx@VjppM&m5305bw$}FmGKSs65<5H596{VZc z0~qXv3@e(6aApqTTTAm)&xM1)Q8s%sO%(qTY|$#7TE$Z~3o#IE~^&nqL`yPfNUSAI@)2;^_9fSI%!^i}6Fb%;lG1 zkFK28`>2xb$2Z1{xAY1uNru5Qvh7UBysX(?cB3*SR1TC-CA^{_hz*xe@Aiu9s6Ac( z`7M_&+p9GY!mbgsFRfvPl1MXi zR%5GV%2eV12xrP#@Sn1yE^A@x(B+b0F~ie}avql`haY0|=|$mlBCjBOpME=*9l3tn z=H-Td`vxgkmfT?Jb!BoPXZ)XBePi$bVmZ5a_+G5mqU%#_^ns@l^HoX#oS*OAwQ{&8 zwYVG}Tsf~SwV}wYG}Astzb&apvha{8i9Xue`un0B&n=eo*<11Dr(Mk*CFDu`^zOfreOoi(aodD;Zh-jETc?n!9Mf#IFUduBS+dk zrCjSGz1`-~Zu3A0NHMZe`(E^J86^qSJ7d~y9+TPpwecigE@RS5vKK|0o(JJ}m$f~S zR3%FH6?PDTnuBWuo6W*i!bV=Jb&;Oz!n|m7e8=@-E#9`#%Qf(kxNh`vNgv<{S@!Kb z)m#C$fM)z0aX0*gKKAy_ri2(M%RTA+fC$wMmXHp+eXcws%9ug5|LnR)MTLz|OEoXqLYi2KEc}_gEYw zp$0?`qoxT|Hqr!Y6RqAui_tZst=f~{Aa6LF%#M{Tl@N^6-2Aex~&^e4iZ z9IVAH02Bl_121$hmFiI;0jZuK!A~A8??Pa*8&75r9vecGj`IhnL4@YI@h|Z*)+fG~ z@9K;i@n?3jtztv~F+jl^yfGmFb8id?UL4^sD+w7d??#Xn-QfJLM0=Riocr=yACF}X z35>Bqf_OROeb^01Opw>A=nCKqLRXjO_{S(s)-KCA#c0UFv#-aumnQZEtrcFL%@5y$ ztI6@?#&~|`aLRi;%$1A?aFPgY^1@ouQN+;HB9i;aAE7jvDJSTM|F}@l*YKc4LEPn# zK|#U$h%DFmiJ!(wvn2Y%uVFGo5w^A$N+hWTacq-G$dAIqzPLTR$>)?VXspL9YQ8jA z-JE&jutU8amuVj4UeYM zmdf~aUm9QvwE2$8JY<8Wm`Wo5zNC;H8S#|4@CwkObYWkL7pZnJUkA*Sn<#iqwHxOQHBy(Gor`-q|oSL99oW9d(e%C5L3J zJx>l`x$YVx>{AS89f4$!3d@82m5WZk#jFlG+1=zA%9^a^Nr72c1Xu|t_Xsr|PL_2X zZN&OEVm*D-Upb%A!Jnas^?AXwAP|1-4g^vg7grdhvnkKS>`3^HxCl;*%K2x_H<55C8N(l&K&K z#1A1^*!Xv|_J)GcxkTX{C#$*2#Khz@6Wm-k{v0>gCrTL5jp_-@>=iHH+v)VT`a@j0 zqt4b~)a`D`gKmFktJ~S>Y;{IkqpjZdus`gCL~GVPvu*oVpL|ze%7(#5Hd9^e%j2B#BNyou}bt_BOaOglW3iwbZR|4(}oY~ zek%QM@V7(%)rfSdocB|{2gldAhyerKUQ-DOx7fUm)Z;Y)^vK>w_tyx1<06Jpi;r^( zh=0Qx9J~ohjymyg@<7_`kB4^(0FuOx1IRjT-bw)G2{6yV)nw}OU>Qz_EmV%1udrjt z*pqb_bp{D~%Z9Dt(pha=N6|DkeToaR!~;c%D`d5FnnMG3X2eoNRt!y#$9#l0T_wcL9JrdW3++$kr1Xb%~LjB1uF5Rw5 zXZM2I4R(!sC$GcpDK8Jk)dRdh(7Ftso8^>&rAr9xsmX0ewbZ-PkW%&95UjP#AuZX)>?KnnO{;5 zE5vD_HrI_CPnwNZc77FkvMfV&YUWpmlSf>uSd&UTs??rN*&Zh5SNRDojln=lP2Id7 zmylLVh4lQ;97|`qvXky8U7RzsIH%^U3cbhb1p|o0yJq1G9>^JH*+@jsOf!Gj+mJM} zML08uhVY(*9N^Y&JdKz`q*F||j!-O+FE8ah=g!@v4$XQ}-r5A#s@So~9ii)SLV^B-sMx7_JoUkpPow&p zs;4$iv0|T;aYCzP*9#;EC2uN9Bk4@=F$cq#FGs7lq+Dfu<9umhTg#$zkivQ4;BXmP zo1*mgvV0x#zo`RXya{h1JgPPfZ@u$u&gOS6!Iq~(CHHwQ%G1T=cOmF_>&p4N%jMDK zOP3xzc(D1PFB!W#J3E);sboDKBk_}_C0g%1t#_V-TyWsLxGj|?MYRm!@&;4FlTlz1 zCg-wcLnsoloH;1pu@u{{*K~_vNq4SKm+_r=ZlpUzq{_@Hb?ietobhue+X>!(|9#xw z*!U%4fBTfX){j$ZWaTMK%5F>yml+3hmAo8AYXI!c(5YshnM#GC%p!(1;>Ol3AIyt5 z4G63_BpoWQV}1E0jg$%()th(62eSv#LEMROZU|V?G2_}~Hkpi%7V&|}A^VHwPuNiLfCh%4-9`S2))2Lrs) zOScz`tZ5Jw8fE*i{&vFRY8KeA$XY@8+5B^3d|oh4w^-!0nB-W7bY(h}tOJ9DDTm?q zV7~{>bg~4&h)4j{LlmyX`R- zuLD|-Z|~uUwMmWvJ;Dua?-CehQQ6YhN`C7{3$&sU@bIC9&5S2TUo7 z@!Vuoz;m0cUJe?+yd zfmCZC)fz}8xp^#9`63OdNEw`T9eDd}FJ2qv9mpQh5}%Gz<7#?4ip z^I0XPCeAKJx?*NJ!6pX-;%oE6d*k^-TkK&Yxzb9wpqNP4q-UGdK|o%b$MJL(K)77K z9v`ey1>yMQUBuB~C3IJ2I+MOlE9gt~n+XDgF1 z_oXn~2(@`FnJ=b!HP$E7ypqgYSkE^T1dQXOv6zKbKOD0<(zTbPHKLlE@dR?R_+ZuM z?C%uS^5EBEpBf`3Yk^r4Hg@qU*Jmhwmc=CNlKlI&q27vCP7%aez*YSjWu4-I$G`Dq&s)iR+a=ND8$k zaKox`3^A91S_TnetsUza^J9MnvZwK6#bGvIGU{8$m&|G$!)&eXYl3-=vrh{O%#uuM zAS8`!5zge`r=Qo^$ai4O5DaHSF1Cue&R0~h#HgI4`5Ig{8C8%FeMP6EfPw3doh zKOD2ZeahWh%LYEF24F24NN#Rtb0j}-kcJ>^P=6zS5me%RggBx>xDLX`T+H3Ffipx& zrQF6uw04vG2Dv!bb5)JforhK9!H6vzSVnk-4YAGqI)=Dq12McjDjC=6FPYUihS^%% zTQ;x>8`zYI%QJ)Z*-5eiU<1{rJMCU!Z+x^ooK5j0!Wq29u&5Sn9V|55N7p)7NDTNo z$K_xlh?()=O%?NCOWv=(LR9mFv_c@X~tTiiUH z-kIcVZkWZk+jvC&(?0QU<_I;H;~H+C>}zR%Tb0}SHE-Mv`%s(~!m?3jx+Jw% zKz&JDu7nGPx$>L)f#vM(hosqw;ucWTD6br_%+{cnssa$j8F1nHX4Y*<x7u7Y{$c5DIu$~j}8d6dNN27RYqs59iUW;83dEFziS7quH5bzAZtj}kz#Ru zS^WHY@H-&Hc91j~LSwjL>_mN)$%L|u?sMCyDR6snHeFteC(AM4ZoWbJ-!uq|q{_BP z`D6uhxDnxOrSW7E&mSu7*|ph&DV{~l{fNV8pS)=wGW$MU;+Nxp0&MFOZ0J?+op`>0 zMi1VwH?ek#Kd3TKP|&Ea-DT7|)@q4S72;gO5^gkFuaEM6_J|C^i*RNR0!60T!k5EiI2vwmkA~gRaBF+i-RbY_j6Ty$KiQ0lw#fK|TeepDa&9eEs)iVZ)fRaTgB3X1Zuvc}IbJ`!b9b3~L3L;T5Hd4lrpim3-MqBlWyhOiUY0sg3uNF;r|1*r+`fy$s3VTe8(=LWk zP_CvjC})OJIbTLD(Z9w&NBqCU=Vxl3;VH~8X1B*jmlto}AJ1b)l@=1EsN>FT8Xe6J zr^^K-L*32c1;k2&qyq{5L?a}&afKlSL?Ajrs|Y^W!qqDeAwUwH4J8nY4Pn(#48kWn zteV_O{E8OId5^8b@MEr^;Q%h_2NUSR1vC_~3u!;3L+FG&@^u832uW82UUr40RbSLC zhKLg-kGnIuRe;#ifm2g7P4cF4At>U$YL7>dFjYm0(^$h$L4-FXjcgH%61h=B%frxf z3bVZ)FO~>KhWim8J|fbzPu{c-!BHRno+6I=XQ15Hh@-YZ9-Mw0rJ%HNREEY{Nv)}< zzX04ZUfzwMjlDt403W=={T-dy!^G&QduqPn>5iUy5oX)IOhUmi%!-_tHXX^pVw^*f z)Wy`kRL|62AGPSmn9`<{N&;2wOA7TPBc4i|stAA+{6#2j(LsSoOU#XKAgAh-Bme{a z5aSN(lbV?vvNMv{7ktTEd(sv4ltAkuDv4?!0O3t^k2#T&u~Gvd|7hGR17`+G@JxbK zicotnDOsI}95tF7I#X=s%P_-n>0W3?Riw<59%CmECt5 z8@;gBHL%+SV|Su!AX=~7MWvy%7r@LeswT!p$xbRuz;-8M?40XUhD!g;?re_ja@klw zaE$v`7^^#3EoC3l)@FZSc+2h0?Y+?^-1qE2MFGVG{#TbSqvQ1VsH?ye$wFfQDTF)w zQq5o!b_AO{WMuJHRAL7OpsYX(-nG{(imC(3;#v_G_L%iEadoIebI`N)a>V)JLoK4c zuFZVtwWLYq*7i~d_^B}Nc#hajj3ubf=shlX0*Q zW1k(F>_|W+)Q>Q2af263`h8q5t@m*0%6vzngZ<*njM*-=3^oUQ9R|x9Z0_J85)gsm zv1(xLvpwUFf%980Fva!t=Ri`gmB~6`5p6h=ML=zQxh^;8iB?FP#hFNPFI?rHWfqq+ ztGl+#zv6RaR=3yXU-5arV71=uV7u{-oX|`S^mF5PJ%P_!3X>HM-)w)shp)1~*W2cz zg#Eiv#)}dj*REm{dl2JNMUNcvgKUft#|!65zXvHVp5rEU^328Ski2ELvxi@)PqJ{9 z_*c7h`ON}HFM8Nz%$YQj>&`y^BW&VQkFnRcwXZ#att+r~0UImAqARe$Hcw!~?+*R2 zOKp;)09sM~Wse)yb&Nm{A@d|Cp6q*uC7oPH``k)R(0D-x`2iFiHEbOLt+OYVcf4tG zvCuyL8|~qTwJF;?g4VOKhWVBkOJgQygO=3lx4nQM4vlB7=A9L{vu|7e=4{MVg{lcjA6AM0Qm@k2%N?#}&K#ajH4mSc23RdJ> z6R6l6pyCA?i$VG`*HFP%n6gZ&(iyM~>Ol5Xwm6O_|Y^Z0L`)C%^V9gD^_a4`yg1 z%SOsVELtMs($^yC)nt>E0fY~9oidg|^A(MUO~B^j`Jdr#RxRapm7 zsOhP8j68c0Qo^|%CeJWg^nW`}BFP{dl!|KjUx;`G*&>{ogGhmUsbj>4%ZW_*b=qg9 z9R3lC_H*ZoMhCf!M11zC%OxNi&^KD|WGCdE%n+t!^e7f_cqao5(9x!%9Z;3ztCXqe zK$(he3pq+FQBYJu;$TTeA&{e}0OY6`f+})Ua*+xXUtZwKRBe)@L;9gY?~%||YyjSz z;ldeLAwU_zhqNc4B25XXc==#?f+mV|tjR>Ab=)cECD?%^gHn*Yd`~2nR}LWSs6AE! zkfR~H>a~Om|GEZ_41BFvIV%CybmUTUB1jdJhtcRKI1V0yP`zDWVaJQLmhqL~;|f>_ zU)js0ngWMeZ$g*NYUAm=jdQ`ru*1Y5Uru^uJfWCvux$PZ0QL(9hs(&)f@q7Ad>v#3 z-Y|9O2;{6HCo}ZhOc5v%A4R0@n3{< zeU41I{@SPc$1EV`y73+4dZHEtkJ>|2>)G9VS_kghw@odI*|^O#J?LCHuWinfT^j|@ zHW|k@*#^6Ltvfihjy6jp?+2!i7rE7W?*@6SewSfX)o)jrFZJ8+Lg1<)Qr>$Kh<4}q z7kBkYs5C{>Mzelt@y;Fm%kRU1s{*K9vO-cd37|Yh=p-XqN`}i2ewNVG(8w!DVN9(S zDTi9oW^yF{lXF2PNZN5gT!#o&&XqXKVF8ldj*+y@51axv8OsSg?h^i$EU2HL*z^1b zKNU}a9YaUO@e0z9nW<9lCi4PTGif$&pm{9>=B0TYPucJ0)sWtJJw8~i62kJyyNAn| z)l}FQIwyVhO$PM{&GN`BVf<8s!HbFxZi3z-BcY)loV!et5-fVn>fir(p9L18`irxiHY)}lz$)h zuFY=WCoBHS_+FfdRjMi#5hsU6`_=V%#6_+`!x=fy_38Nb^6(wOZdL0pR~MSJ-CyjE z=PB8OyAe+17li1NE568Jc-K0-6oi#e44Uviuf&{AocG&n$9X4fJzK-L$xK2WaORBT zyaJ-j>{+pqPhkV5K|U2&Pa{+yJeW8o%tT)p3&m=bupoBBX22KA+(tsfIU&QtE9U{9 zb}vkS3x;#Tvt$dYRgu~QgQX#y8zCksCE#qlnX|>P*$PkDI{4C8jqGbLe#IpcoBT*6Q>;W|Q5Q@*^j+?TL~tWT-{!}C*b)-NzR4KAZ- zrH%2S{=N(TLq`|-Q2HWH2(H#7ETEBElaSYuATPDoAx0e@5sT?TN#O3>{H79YDys)7&l%7c3R&@f0lWW zb?H`8w>8N&&pb=g&DsB2oJL~H(3)A$h6AI}6=Rd`4KX>P@d%uG((tuI3uaoK;37W8 zVBJARi6$q;xCFVu87aFHZLK1osLnsUxgF6Vjfyq=*0Ehy+OQ!T4}OWcsb*^u(62G?fF3mF{>;TGJG$*qLjD-xPuR4c>Bt<+GC zKh@l&XGI~U+B&+?(zN_O3x$hv_D$9Pc*v)>j&AObCA6N6)je#HhnT3d=v1m#=&Yua z^l`w+vW}y5bTgmbpB~uJQt6S$77486DKFuG$~YWRRgmg#9o^)7w50B8Jl}ll=tef8 zxs^qM97*fwCe_}#2h(sG6>LEHVA_Q>CN=^n67nHwWQ%msIrXUbw;y}z8j z48JxvW(V=jyR!!$zmCTdPB*jp!+1zSOln2Vra^P%Bi|ukDtz{t{N}pxJSuy#zSP2} zsZ1!0rVrm#R?}yFi&Zv~C02;FI5U0{rJo{eN$d(M3@7-S9mKY6t#{mQX&x!88TV>p zFU^i#rDCzEcg4$=O2ekZonMsLiHa5utv0$QVXV{W@Kx80cA zYK&Tq5ey&Qs*lR0Z6%EiQGY32Vax7XjS+`QAKc3Y$DpYl67u%B0kuiy^Bl{Gd>YiCO00D zj$VM6h(B={Ke!Q3@4p<6;jx{om&W%}X;^{WQ6l`^+AaMz$y^tP`9q zin5k>oFlSr^KGW{hY;DH``(6L^1e5L+Cab2y2n|!FfMPeZTv-7ZXp%FdF5M3Tf=Uw zhI9Z;=f7vlu$z?3-c9rjHG7C8VST~Vx$tb zyv~;$a==8zTI=Lb5owKIti``Idb#GqBjwQO<&rAEVV29#g}EO%Yp0z|XQVgikr^U$O`hw7xgR=&C>F6O z?ICEK&x3ShNw;5`AExR|$>{mf1~`=zRK5ylxv#EOyxHyGZJl}nr-m{s3(Q+lh~z1_MnTqwH@)Zcvt{O<*iJQK0HzV+uxxH2P75OdZ0{kO3)8s4 zC%o+82X}cQ!CYI2>cpE2=ENtg=DizuFi;QVP9MebKu38(d;u0guqXVeMi6e2GzcnY zF8;7VHll(Nz;hLwQURYB@PSR?B9R^loIH`B1aKs*x`4ub!VAM2u!KCpjtKlGH6s25 z+kpRL)jA~sj2*$&Pp{sZy_4?7(T%w;>`a-Xt5?@Mv#}|8>-5iT z1*LOlKbBqH#_&q*vAJ?yuG$cg0q+tw3$~wy;s>4R15`a-T@iH(UA3bpNtI~?3R;C^ z7m(D)YE;GETC#eDpve^^s;=DiP(kx3W80N$5xIO&Ew1^eX5X>V4g*EK{Ud_iHeQT|0ao?9&Ev$x{QPb<}?{`Vqr z#O?9X<;C0g$Me|Sy$Anq^9eR}E-xeaR)!*(O&$tfIhq|#my0XshZh(nQes>p<#joc z;3H8&J_J5W^pl7}r(mz+2J>H6us$4+ zfM&BNrvw>L%Hkl|ZTs#ZbdV$3t(~ux*uY)X0bCuqod?xa0_G{}fGp*7f(Fggz%c+< zS1RU!?o;?`nnK62`p^hHF;dXDvPjVVU3{kN+cyH|1}Dr;1$yt(fUd?-t=U^?Ue%q;z3+`)_C6Na}`DL5X*oi5@w@gnynFSDW&)FG91 zxAvqI@33Z_SEYK$Bh~hhNfN9_=f@o+6+C_+N1{nnxrck;1R>iC@NvrmFzkktArOGMNDj`B= zWQ%ZS4o)TG=}8;#P}+>U5%X0l*v@g%m5G_Zy)q9O&liWYDWsa4K*{gGo(cwIa7_z~ zKPYPGm-gLzlPP2scbChf%a<-ac<^BJL4R{LzjFzbxpN8bXmys$??OiLR$0dG&d$yy zc`6&VpJzCYr=EJA{x|Q;rco*lff?fF@B-|u;SXw79HXUS5b zb>hA#ksMhv>Cub)%Sx6FqQK09>rhOw&R%bu%3oy_PQ5M-!IjHVcqXNpxBM#CrF={! zaEDXZZ{|%*I=*wovV6>jj9}vkg*&3vxC(_k5aV-cJm*Y(o1yFY7$yQGfB=bX!#*zh1t>_=M+5wsM#!l0?R?eBGpijPRL186fF_OS(OpGc3*mRhx0G49 z7&^hvJL)eqDlh5&aygsYK~Bqsk@*p$6#)liX2rJ%9;jR(4tD zxhMmg)TI5Y7I898F7tO8uY3o781>{wTn$;`(}?|%Rg&?xq!NzJ%j0{u?!zm@oSzDZ zkcL+2XTd_bum3Dtk)dzN!SUU@dpJ1|1N>Ky;%UwZ-{d60UUtYbT(;Bo_c5WLBncSMX`iRMN<;J zvha)Wi&TixJ(8MKo|FyPC)1KFq@(s!WN}OlSTccCTCns2Tu1Fw&zfYxGYen41;r-B zKrCt}X+f4&e37*G};jc`DxTL7onTq=P$sq3q~S zU-`rbbD&)5lX=9ZMdM|kR4jAh3UB)O9dOekYm*!uvYZvvY$DTV1E5=XDA8ARD>sew zNuWv)AVP(Im_dHfbXP&u6{t{_8%%K1p0wsnB|d; z%bCs}PO9i%qq&wUTAmfEsN25)sqyxOAq>lrXvv}~_kNrVw!ol-vTH&X{kyeJo3kvN z%LG><$r3~wSv*BT_*g7MLNuH{dM23JIN62Au`s5r%1YpIdGRn({&kUs9pJ6HZr4(N z=7|!!ut@pWw{G9OJ%_sp%E@xl45J7zSB{N+IM?kL@c!1gZiA?%b~2-@T&rHPloyH) zp?ljOKaA&}36f?gC~fIMvrwxx_9@xerUVw(rwjOW{><)d4$l{PnME#)^A8o}STG{PQs*$@?FqKf9X->>*YCkS ziZ<1`)=owmnr9|s{TQQ9uW2fRW`Nd9z$updIp_@5hyI@!`ZI|3EM1DY zKf3cA>DQcC?uD!Tv&3#WvD~#?{uQ4abKSiz|BBE1I#Q_1^UNR@Ni>14j7;W2vfrb9 z3boQ$G9XyPcfCacAFf>$ho?6bxgT>ta340B^hxnH+K z!JpKp7BA-ae*e!WG<+5~PDYXX(T;@zza1t018n#QV8M|Levk{&Kf=}(*t&p?6)EW- zb1^q8b5Q}6+)|t5pj}J`G>{fTG9fx=8pmhYa4v++gO%5u>u8_9 z08K8)K+w=)53iQ}*&%4X9e_rp2bXpDWiDRDLTR*zBx{o#{lcjAlTm|>8UrPyqs9gX zd%Z0VH@4BEfuX!Lfr`xmDqfI5evkyvglb!$+6H|?IMBAv#Vg1k4j6t|o8(ZN_vHl* zZpetsfU8d7D^eZ61uu#klplGt$w1O*CHeG!RnKMbGk?4!CL%$YJmSd#ttT{7Ju0PDWJDVJw zBVDEh${#;!#mQIBAI;-MJbx!X|HO!sMGg%2U`j}ZtsTlBX9W3_h^@e+kbB>z`S$jn z2(-3=-+`=|MgB*jeUTZX8n9c)-331{a%Cn=3pN68#mQlGH)%HywyKhcSBsN(*GdG6 z_nR}X+c_z5@_>S2P&=TKM4lt0(+C8T{I7L4J4)}f1Fa8cZAnTbr82G%|kTVe9U37lKT)A6lIeDM~{>+cjoqBB6Ktxn7sGql3wR+wB6 zix#;YTVmS^lZgOZVR9=>o=s+RWqa2OlQ%@3e+p&p7XRJ~lh-UvrcCIS@jKjG{=&OQ z*_#auFs3MC-Gm=5$p{rP^Fc;Cg7a^c+F}WL3cHehlmM$h zR}V;mIgk>D1}U1Tv8xI`;dO=pUQFHCKKdyj?TadX2s<|Pl9_2T z1G+#ZhB^R;DcA>4 z$bl4LmlTBAlIkL#N>Lc1QqUet{yy@nI*&1J}`S3(( zvhjl8zJu}?yfhl^u@<~~)d9R*x~T`~NYO(+I;B(UUJvXe`-3OSZV)LBt2~wOObWmi zm<&EXKWuoCWRFf{*pD9jt==J%a9BoIndE!N+g2H*?<}MS0Tt;FL|~-XF}B1HiER@K z^_>wkxQSDb(Hr$eN+}9>5zkN8r zJ&B{+aN5%ayLkJdy3VzO@xv?#mXrJ&LXN-fsVUUnhu?{qs3^h%~g{XMa^@&qs8*Ll5X@}`;Hc1 zNGOx}%e}C`YifsX4=7Je_S6pDEoG^P3^3keE~xTZ2$p*C3vDgd7;UM?TvYUKQO&zW zB`<4}934hPso0^b)wJZ+9P^DIk8$4-^i8{TwW!DUQ7ctuQ*~<{eB}bLLLcncwR&)A zYV960eh$;Cpy4C_*@xqN7_bQrW+BIWt&6JiqZX)wEgvAyaq+Y@7#*+46Aj4;c#u|P0# z$_y=A+BmwnHbcuwJQ+kA=ZR1Q9*IB?N+>5n?ZOW5ENs^ZKAX<14WC_jMIxDT;CS*N z-n+hx@8J^RtTuFa?n7s3>tMz7f@rSJ4UB(+v1}3QV+hZbxYtNF5au>88q4?O`PsnC ziP?oVML**v@QqN5!Ct3CYH`*ubFJa?N~QP$8lq>v1vza^Ygmx;4Y(Yq7HD0iKowsi?BWeC`imprdkhSt%tCnz#*kx5v&~*fdSPtYwNVsSi3&u)bflJjW}2e zJ_^;Wx)#-T&2L09*$mZ5a%0xQyFuUdsn7Gh68D~V?y_{dc25s3PvZwrroy;|F%GkK z{byzE9;me&edx7oH$LC9yqacwh-D$W^i>=Tc-<3Ecw5R79&G<;u#F7z12aEt z`=`}kS8V_22@e+6i6=bRXp8M1ei20)4_KSnWYhK!;okUrgTEb?huI-b2PNDa%>-#O zNV~zFG8`0(Lv34#+^{#4rr{sYm?6?ik^kVCv@2GN%3P6FhmsAh@T5KYwau%G+b4sa z#57{})`rs@oP28I5d>aq*O!=9P_k{zEAr`bnfS9P!IKABcfBrT!=mNm*gfL5J7RZp zMKXJ^ahwJgbIoQd`7f}XsW0D0*L}1U5^7KHPClyYqeq`jW4XGwB_M;y@@JQj9<_gJ}iy;HWkfpI9nW7s zymNQS#ka7EBA@>VTn!7A1eSBHmah9~C(5_Q4qKhwkKcT9`%3F=gt%4vA3lLd!T3MI zxlv6tkP0Z<1F^YQp=fs)ZDGgcDc^Ulp>%39gVea`$HiA#Z*4#<^7(kWcyl(tcjde!Cy0IVEcnIl z@MGt76qMQIp}=@FJDe^TXdzgOkp?VrHPi1nn}Lo*Vxeupjd(>YwCZ*S?(S>_N1`>& z9D~(xv+WqNzt&yUu|(HVPkXjSc&G=pBiU2d0a*if`|<5cu1ncCy1(kS2x560c?qd7 zbyxz;ifOLx)`s#3zwOqBm|_#N?U!_#Z$gXLe^OYfI40dWfZHy1K;xQ~swYiTi7-}b z!P5b2);DUxHb|iy3Wu4R{4XSpY!S{4ayvYE$asuzy&R7by)1nvMzWUPfnSVHB~d7V z0UQI3xvI82zwAOlIa43Ahoq4$!kIbvb&|FDl)xq5RKzI30CcBGI1W?UPf@D z0;(S_RPg)Y@L+lO%6aCeCVmCo<9N+d}lU|3=Q17Kubvd1FgsfI&zSIJNg$69WL}D80cyU z6g!}tSR+)C)$@YV#DHRk6tQ~H$3F6zPQw1lj4AHsT1dDBtKzK78j2)581?Gy<>5Oq zr%vUPke4KcyM<{|Qf>0$+}@`LgkdM7xvo&j&gMMh@Cw+X@#F(C4zdP>p=X2mh|Y(76RlRZW?oCLs#QuT1+OAK>@=`oQl6OwuY?V-TJ*Ww zXY&xHsFf7y2&dXGM_5QB@tQwmE%?EDYY1nZE>~Pb{s9K*OsyelY}e+dtQ*7 z&$U61QP2jAODX?RJukU%?Qc_0KcIgfJmpC>KHIZ3>{!xd^<~g=iQ8tu#ui|D01tY& zipc@2%j60Nc{CjWSiI21p2{_V=>Y-h3RoyhUqrZRa!DZu;e($!SOd^qk@$5ZSTH?c zdpG#oVfl{gm6#r|2kZ^Igl3uKV3=;pAV_(PMKVG(HBe)Q1cpQYmyu+3DjQ4>q&@ky z2gX|L%)prSQ;{Ur`f1Z7D3>glAS3kP_Oy7dTGT_Cg<3F)=8k2-Y_#mDz$j&FrDMe- z_}H}&)C(6UNKV5u1dpd9sT3)wFHXwf#5-c~o~N-V&Vg%4O5odxaAppY7Rl;tX?Jit zVnzw!Muv|IH37;Wvf!SpUZ}aq^TRQV{yAB#Q+mkIJRARP-OS$B$@=GQzIxY>rckzC zr>ksck%eIz@Vr?Zu#9p^;3|MC4C(OOgRfU!BxpDxYVHP@MNVfb*1uqT}5~cMu z5E5xxTg{_vYc3fPqDq5W-BCXhqgj3!N17)BN+Sn;Ju)IqjbO@lXs8SXreWmNc=^Ta&mBy)~qLe=EKINh9$>jG(l$2;_~hTu8j&oex%JfBF1;@Rb-Y1?fU6`=L4hD!;gKun z?=F`|moHs<@ZiDbgZ}1hey0(tS)0ZtobH1*M{8>~p*dHo98YN)tKJ?TU0%F>e>{($ zD>uN+)R}00I;20J`)n$cddegDNr*7Rw$kSI%K1^kwpv(s5}iYl{3}`; zY+XQfBG8X8iIpFi!;*}Y-%$uH>FY*n>6`5bdZXEI^vGBnAQ{|`=Y?7JHJw`ju4Dua z`;4S~6EkQ{aQh(5lEStn2tzI5RMDB3KtQVt2zkVSL_@qIq!@ro5^xbOkG#~s)frTS zPYOoeEUnDK)h*hEBLtLHPl@`ga`?BBFF0@BBB7>|UhzM~wHjVP*V4|gS2*PXI_Ccj ztxhFg^rb5_b(fydT3zlWGowkDMv0ww@1K+erq+%y7I~!Br~ufu81;jO}1DYpN=bX*qEK zXK}!1N$%A~2`u#h@xk$GOBuQ2leWe4Sjg&2b&PWZu9uEBxTL}cZKdjoZXDI8C}X7- zJRPv+eWNChN%EDmZxG2BdJ(ZFk2os!$(!~OYSUnsVOq-laH`HVWadVTWj^3ohC8!7 zQ&gGLHkv;HIA&!$X67iraYrvc@OaF;2jPGDCQ~%P{|qYdrI9VdnK`rxhuW;M4>>QM zM$94YFyT6yBC!pEcy8mIf!JI(Vmw$MGj|F?#$}l_?6XTnsjh=Gb@F2xja&3pj zR{1u(*T(QDq1#pIOQK#-R#tWFocNYX)l5V+QZ?ljT%GyV*gMB?i-&oytSBUnY!S{4 z+8(nE4{jy03=XePm+_r={@Q$Y1P?6_e-KXKKV{;b?c5r$lc zKYqj>laL2AKmT)gW{$0u8L)i!yWb7Y4p1=D z+}Zhk?@q?I-}*amsFp%4d>Q|ECaq*mB%gWa8FwrEwDV?_z2R^E=5N+3 zGVHwb&O7cR#X0H)s$lo!g(sJL*!jg@{6#k?{G48zj~{xgPp({Z2b5CwYw0BkCH<8Y~J|e z|1GRo7O8j7JyBp&-`g(luM=yWEo#$`h(arewY0diZx1`0aVZfk!u^&H-(t;IunMmuCcMq4b_uWts^r?6ceCow-P^)S+%p0lD(O zf6GHImC`r>`k(*dzjF^sX(5m+zx~_4?JmTRAy0Z-9Qw!pB*~R8ed$Z?&XiF&$4stx z;VFvZ`k?#=RfbRuasP|A!xeLKmYvm zp$k1a5|;HVyC!QMb(N7TcE6kU;un757s5b`t{TuRY+X*uxqIOvJFqI9`}99@zeHC# zk}GfgckXgTK!z5u5&6cQ-*gvplPkae4G)I2i)9yF?~>>wSML4NAGl#$nOyM>x0hV; z4!E0K@ea9N~a32b^h(Q-ws{p z(UGvMU)eQTL#P$I-%WdgI>JDUt{Tt+s1=hn-wPMj0qpbKKmJqqOLUb30{V|W|NHK8 zE^1}}w*tuyi^Ktp?|(h8SQe>xmklSia`C5r#oaMYtvuS>bLVl>9O#O7ophJ1!uW1# z#XAVcL9J9GEfKDG7YR$a@@q2AUf~Kc(zW=_@%_p2N0H2b`+4F6FTpF}%IC+>x0;~Y z{pmqOP0+Xgjb|#B(j6GTKm4=*&plmA3pLaPdF524#EN%~cMvOHv11wKQ6X_GD{{=D z6|dT+K&;q0k;42k#EQ4dgji`cLFJN$wdhdFL@TxitSPZ_YBWJ!Uf)BkcsYF+vEt?P zZ5c_HSZPHo!1&$)cM~h#AwLdc<*|!aNSz=K+2QRt60t%c#q!aQe$>5!mQXBS@c?14 zzS+))KJ+1XMEb#Va6Yf0%E8pL)}^9?*fp53*ee&ia*IlQqwrl~F8buNN-L1K8)Y|Eq^za+L!D z`rE(sZTDOv)+$p5{lq`@@L6t(<)8ekKXbQb7t10Q@3P?(ul%*Y|F7JQY4OUxdGNkF zk6TEB;r1>z?vkWf^ijG@xG5IzARGt9Qi-%gyy6{)RJ`(Uzy5RSKy&S|ZKPitPvYe= zCUv1H7BOjg^Zq1|X!*uBzLD0RpZO(3OD!>rcS*}pA^0%<;xGQf4NERNz6P&YAR$^V zU-nQ5hG_ZdfAKHeEtk?C0QX;f^E)*Q0qAf3*>`Ie0@3mZfA9zHLJ2vMC0ZVjn8i!z zlu;nP;g`SsWp`)FiVQo8#ll^rNVIrmKRGg_0-jv%3Q!Eu;_YHWv~+&{Wp}S^qUDQU z{GvOfMYMQ7lO*4;^Si(MyYBjqjc7qHLWvf1BrNM!c1_ki>N+l>1!ETmT6EQbX5s8| zxstmVF5&~&=dXS0zj41rS2-Y{@1OpLyPS(?@oq@4sSgVW0mgLg65rDawD0+5$a4`AUU;Tb|*#WR2aX#~F9>Rm(pJ*GSE3Cv3WhOHJ=t` zTfgvacR44WHUD4Sh1_)3Mrg4tVrWKZ-T$(uV7Px`*b)Cp;La&a}`kgs&u7)_+LGpezq37V{flwC7Rk3 zczzWB=PS-rZkT?pe2R2gE1x=u{PMo_5oBKBO*ui<%BRxlpP$nf-2{P1K)zN!MJ~0e zYOs}06;>5D-Sh;>r@ZT=ml*PDblk*{m#g#Jy*%gd4@>$s2G9UPEl6($glG@~V}Ltf|o!t9Rdh*FAJD`O#1R^iS6; z1o@Fy@tP14*2u#K$opbTarq3zx=EyKk`ngoJ6Ru{K(!^ zTtM7G@}op16uiaCyW7GdSG=D|l5dEhmy!D$EEV(EC7Leus3S~v6J13|!m@s4*JRC8 zab;qjv)2okxCVUYcYobuU+F3b1pa@2k;{ZbJmeDdJo>F4au;%wE5XIGNX09*aH`XO zmOGD|=)iD$(W$#+)r#pRSGDebug - D:\Dp10RepoV1\项目代码\D10myXushang\A05基础资料管理\testDll.exe + D:\Dp10RepoV1\项目代码\D10xhGemei\A05基础资料管理\testDll.exe CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName) @@ -158,17 +158,11 @@ dfm - -