From 1af21ab311f483fdcf0b0bf995beaf17f8644810 Mon Sep 17 00:00:00 2001
From: 王 垚 <1402714037@qq.com>
Date: 星期三, 21 十月 2020 20:25:40 +0800
Subject: [PATCH] COMMIT
---
src/ProductizationTemplate/CommonFilterPlugin/MyCommonFilterPlugIn.cs | 170 ++
src/DAL/Demo.Dal/Demo.DAL.csproj | 142 +
.gitattributes | 63
src/BLL/Demo.OperationService/SCM/SAL_SaleOrder/SAL_SaleOrderSave.cs | 18
src/BLL/Demo.BLL/Properties/AssemblyInfo.cs | 36
src/Interface/Demo.IBLL/SCM/ISAL_SaleOrderBLL.cs | 13
src/BLL/Demo.BLL/SCM/SAL_SaleOrderBLL.cs | 19
src/BLL/Demo.ListView/Properties/AssemblyInfo.cs | 36
src/ProductizationTemplate/Models/Search/Model.cs | 23
src/BLL/Demo.CommonFilter/packages.config | 4
src/ProductizationTemplate/Config/kdapi.config | 9
src/Interface/Demo.ICommonFilter/Demo.ICommonFilter.csproj | 49
src/Interface/Demo.IOperationService/SCM/SAL_SaleOrder/ISAL_SaleOrderService.cs | 12
src/Model/Demo.Model/Entity/SCM/SAL_SaleOrder.cs | 32
src/ProductizationTemplate/ListPlugin/MyListPlugin.cs | 75
src/Model/Demo.Model/Infrastructure/IBillEntry.cs | 16
src/ProductizationTemplate/Extension/KDExtension.cs | 99 +
src/Interface/Demo.IBillView/SCM/ISAL_SaleOrder.cs | 19
src/BLL/Demo.OperationService/Config/kdapi.config | 9
src/Model/Demo.Model/Infrastructure/IBillHead.cs | 22
src/BLL/Demo.DynamicForm/PRD/Pro_WorkBillPlatform.cs | 37
src/Interface/Demo.IDynamicForm/Demo.IDynamicForm.csproj | 48
src/BLL/Demo.OperationService/Properties/AssemblyInfo.cs | 36
src/ProductizationTemplate/ProductizationTemplate.csproj | 181 ++
src/BLL/Demo.SysReportView/packages.config | 4
src/Interface/Demo.IBillView/Properties/AssemblyInfo.cs | 36
src/ProductizationTemplate/Untity/HttpClient.cs | 52
src/ProductizationTemplate/Models/DTO/DemoDTO.cs | 22
src/ProductizationTemplate/Untity/XhHttpClient.cs | 47
src/UnitTestProject/packages.config | 5
src/DAL/Demo.Dal/packages.config | 4
src/ProductizationTemplate/BillConvertServicePlugin/MyBillConvertServicePlugin.cs | 69
src/ProductizationTemplate/BillPlugin/MyBillPlugin.cs | 192 ++
src/UnitTestProject/Properties/AssemblyInfo.cs | 20
src/Interface/Demo.ISysReportView/Demo.ISysReportView.csproj | 48
src/DAL/Demo.IDal/Demo.IDAL.csproj | 51
src/Interface/Demo.ISysReportView/Properties/AssemblyInfo.cs | 36
src/BLL/Demo.Report/Demo.Report.csproj | 131 +
src/Interface/Demo.IOperationService/Properties/AssemblyInfo.cs | 36
src/Interface/Demo.IOperationService/SCM/SAL_SaleOrder/ISAL_SaleOrderConvertBill.cs | 12
src/UnitTestProject/UnitTestProject.csproj | 68
src/BLL/Demo.ListView/packages.config | 4
src/Interface/Demo.IListView/Demo.IListView.csproj | 48
src/ProductizationTemplate/Properties/AssemblyInfo.cs | 36
src/BLL/Demo.Report/packages.config | 4
src/BLL/Demo.SysReportView/Demo.SysReportView.csproj | 131 +
src/DAL/Demo.IDal/Properties/AssemblyInfo.cs | 36
src/ProductizationTemplate/Models/CommonModel.cs | 28
src/DAL/Demo.Dal/Properties/AssemblyInfo.cs | 36
src/BLL/Demo.DynamicForm/packages.config | 4
src/Model/Demo.Model/Entity/infrastructure/IBillHead.cs | 22
src/BLL/Demo.BLL/packages.config | 4
src/ProductizationTemplate/ServicePlugins/PluginARSettlement.cs | 97 +
src/BLL/Demo.CommonFilter/Properties/AssemblyInfo.cs | 36
src/ProductizationTemplate/Models/SaveModel.cs | 50
src/BLL/Demo.OperationService/SCM/SAL_SaleOrder/SAL_SaleOrderSubmit.cs | 13
src/BLL/Demo.BLL/Demo.BLL.csproj | 141 +
src/Model/Demo.Model/Demo.Model.csproj | 53
src/ProductizationTemplate/Constants/KDServerName.cs | 40
src/DAL/Demo.IDal/Basic/IORG_OrganizationsDal.cs | 14
src/Interface/Demo.IBillView/Demo.IBillView.csproj | 49
src/Interface/Demo.ICommonFilter/SCM/ISAL_SaleOrderCommonFilter.cs | 12
src/ProductizationTemplate/Untity/CloudClient.cs | 32
src/ProductizationTemplate/Report/MySysReportServicePlugin.cs | 62
src/Interface/Demo.ICommonFilter/Properties/AssemblyInfo.cs | 36
src/ProductizationTemplate/ServicePlugins/MyOperationPlugin.cs | 82
src/Interface/Demo.IListView/SCM/ISAL_SaleOrderListView.cs | 16
src/Interface/Demo.IDynamicForm/Properties/AssemblyInfo.cs | 36
src/ProductizationTemplate/Constants/Enum.cs | 15
src/Interface/Demo.IBLL/Properties/AssemblyInfo.cs | 36
src/Interface/Demo.IListView/Properties/AssemblyInfo.cs | 36
src/BLL/Demo.BillView/Demo.BillView.csproj | 142 +
src/Interface/Demo.IBLL/Demo.IBLL.csproj | 48
src/Interface/Demo.IDynamicForm/SCM/ISAL_SaleOrderDynamicForm.cs | 12
src/DAL/Demo.IDal/Business/ISAL_SaleOrderDal.cs | 16
README.md | 7
src/ProductizationTemplate/DynamicFormPlugin/MyDynamicFormPlugin.cs | 175 ++
src/BLL/Demo.BillView/SCM/SAL_SaleOrder.cs | 23
src/BLL/Demo.SysReportView/Properties/AssemblyInfo.cs | 36
src/Interface/Demo.ISysReportView/SCM/IReportView.cs | 12
src/ProductizationTemplate/DBService/BigTicketProjectService.cs | 25
src/DAL/Demo.Dal/Basic/BD_MaterialDAL.cs | 35
src/ProductizationTemplate/packages.config | 10
.gitignore | 261 +++
src/ProductizationTemplate/Constants/Url.cs | 29
src/BLL/Demo.DynamicForm/Properties/AssemblyInfo.cs | 36
src/UnitTestProject/UnitTest1.cs | 14
src/BLL/Demo.BillView/Properties/AssemblyInfo.cs | 36
src/BLL/Demo.OperationService/packages.config | 7
src/Interface/Demo.IOperationService/Demo.IOperationService.csproj | 50
src/ProductizationTemplate/Constants/FormId.cs | 85 +
src/BLL/Demo.CommonFilter/Demo.CommonFilter.csproj | 131 +
ProductizationTemplate.sln | 120 +
src/BLL/Demo.BillView/packages.config | 4
src/BLL/Demo.ListView/Demo.ListView.csproj | 131 +
src/Model/Demo.Model/Entity/infrastructure/IBillEntry.cs | 16
src/DAL/Demo.IDal/Basic/IBD_MATERIALDal.cs | 16
src/BLL/Demo.Report/Properties/AssemblyInfo.cs | 36
src/BLL/Demo.DynamicForm/Demo.DynamicForm.csproj | 133 +
src/Model/Demo.Model/SearchModel/SAL_SaleOrderSearch.cs | 17
src/BLL/Demo.OperationService/Demo.OperationService.csproj | 147 +
src/Model/Demo.Model/Properties/AssemblyInfo.cs | 36
102 files changed, 5,056 insertions(+), 0 deletions(-)
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..1ff0c42
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,63 @@
+###############################################################################
+# Set default behavior to automatically normalize line endings.
+###############################################################################
+* text=auto
+
+###############################################################################
+# Set default behavior for command prompt diff.
+#
+# This is need for earlier builds of msysgit that does not have it on by
+# default for csharp files.
+# Note: This is only used by command line
+###############################################################################
+#*.cs diff=csharp
+
+###############################################################################
+# Set the merge driver for project and solution files
+#
+# Merging from the command prompt will add diff markers to the files if there
+# are conflicts (Merging from VS is not affected by the settings below, in VS
+# the diff markers are never inserted). Diff markers may cause the following
+# file extensions to fail to load in VS. An alternative would be to treat
+# these files as binary and thus will always conflict and require user
+# intervention with every merge. To do so, just uncomment the entries below
+###############################################################################
+#*.sln merge=binary
+#*.csproj merge=binary
+#*.vbproj merge=binary
+#*.vcxproj merge=binary
+#*.vcproj merge=binary
+#*.dbproj merge=binary
+#*.fsproj merge=binary
+#*.lsproj merge=binary
+#*.wixproj merge=binary
+#*.modelproj merge=binary
+#*.sqlproj merge=binary
+#*.wwaproj merge=binary
+
+###############################################################################
+# behavior for image files
+#
+# image files are treated as binary by default.
+###############################################################################
+#*.jpg binary
+#*.png binary
+#*.gif binary
+
+###############################################################################
+# diff behavior for common document formats
+#
+# Convert binary document formats to text before diffing them. This feature
+# is only available from the command line. Turn it on by uncommenting the
+# entries below.
+###############################################################################
+#*.doc diff=astextplain
+#*.DOC diff=astextplain
+#*.docx diff=astextplain
+#*.DOCX diff=astextplain
+#*.dot diff=astextplain
+#*.DOT diff=astextplain
+#*.pdf diff=astextplain
+#*.PDF diff=astextplain
+#*.rtf diff=astextplain
+#*.RTF diff=astextplain
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..3c4efe2
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,261 @@
+## Ignore Visual Studio temporary files, build results, and
+## files generated by popular Visual Studio add-ons.
+
+# User-specific files
+*.suo
+*.user
+*.userosscache
+*.sln.docstates
+
+# User-specific files (MonoDevelop/Xamarin Studio)
+*.userprefs
+
+# Build results
+[Dd]ebug/
+[Dd]ebugPublic/
+[Rr]elease/
+[Rr]eleases/
+x64/
+x86/
+bld/
+[Bb]in/
+[Oo]bj/
+[Ll]og/
+
+# Visual Studio 2015 cache/options directory
+.vs/
+# Uncomment if you have tasks that create the project's static files in wwwroot
+#wwwroot/
+
+# MSTest test Results
+[Tt]est[Rr]esult*/
+[Bb]uild[Ll]og.*
+
+# NUNIT
+*.VisualState.xml
+TestResult.xml
+
+# Build Results of an ATL Project
+[Dd]ebugPS/
+[Rr]eleasePS/
+dlldata.c
+
+# DNX
+project.lock.json
+project.fragment.lock.json
+artifacts/
+
+*_i.c
+*_p.c
+*_i.h
+*.ilk
+*.meta
+*.obj
+*.pch
+*.pdb
+*.pgc
+*.pgd
+*.rsp
+*.sbr
+*.tlb
+*.tli
+*.tlh
+*.tmp
+*.tmp_proj
+*.log
+*.vspscc
+*.vssscc
+.builds
+*.pidb
+*.svclog
+*.scc
+
+# Chutzpah Test files
+_Chutzpah*
+
+# Visual C++ cache files
+ipch/
+*.aps
+*.ncb
+*.opendb
+*.opensdf
+*.sdf
+*.cachefile
+*.VC.db
+*.VC.VC.opendb
+
+# Visual Studio profiler
+*.psess
+*.vsp
+*.vspx
+*.sap
+
+# TFS 2012 Local Workspace
+$tf/
+
+# Guidance Automation Toolkit
+*.gpState
+
+# ReSharper is a .NET coding add-in
+_ReSharper*/
+*.[Rr]e[Ss]harper
+*.DotSettings.user
+
+# JustCode is a .NET coding add-in
+.JustCode
+
+# TeamCity is a build add-in
+_TeamCity*
+
+# DotCover is a Code Coverage Tool
+*.dotCover
+
+# NCrunch
+_NCrunch_*
+.*crunch*.local.xml
+nCrunchTemp_*
+
+# MightyMoose
+*.mm.*
+AutoTest.Net/
+
+# Web workbench (sass)
+.sass-cache/
+
+# Installshield output folder
+[Ee]xpress/
+
+# DocProject is a documentation generator add-in
+DocProject/buildhelp/
+DocProject/Help/*.HxT
+DocProject/Help/*.HxC
+DocProject/Help/*.hhc
+DocProject/Help/*.hhk
+DocProject/Help/*.hhp
+DocProject/Help/Html2
+DocProject/Help/html
+
+# Click-Once directory
+publish/
+
+# Publish Web Output
+*.[Pp]ublish.xml
+*.azurePubxml
+# TODO: Comment the next line if you want to checkin your web deploy settings
+# but database connection strings (with potential passwords) will be unencrypted
+#*.pubxml
+*.publishproj
+
+# Microsoft Azure Web App publish settings. Comment the next line if you want to
+# checkin your Azure Web App publish settings, but sensitive information contained
+# in these scripts will be unencrypted
+PublishScripts/
+
+# NuGet Packages
+*.nupkg
+# The packages folder can be ignored because of Package Restore
+**/packages/*
+# except build/, which is used as an MSBuild target.
+!**/packages/build/
+# Uncomment if necessary however generally it will be regenerated when needed
+#!**/packages/repositories.config
+# NuGet v3's project.json files produces more ignoreable files
+*.nuget.props
+*.nuget.targets
+
+# Microsoft Azure Build Output
+csx/
+*.build.csdef
+
+# Microsoft Azure Emulator
+ecf/
+rcf/
+
+# Windows Store app package directories and files
+AppPackages/
+BundleArtifacts/
+Package.StoreAssociation.xml
+_pkginfo.txt
+
+# Visual Studio cache files
+# files ending in .cache can be ignored
+*.[Cc]ache
+# but keep track of directories ending in .cache
+!*.[Cc]ache/
+
+# Others
+ClientBin/
+~$*
+*~
+*.dbmdl
+*.dbproj.schemaview
+*.jfm
+*.pfx
+*.publishsettings
+node_modules/
+orleans.codegen.cs
+
+# Since there are multiple workflows, uncomment next line to ignore bower_components
+# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
+#bower_components/
+
+# RIA/Silverlight projects
+Generated_Code/
+
+# Backup & report files from converting an old project file
+# to a newer Visual Studio version. Backup files are not needed,
+# because we have git ;-)
+_UpgradeReport_Files/
+Backup*/
+UpgradeLog*.XML
+UpgradeLog*.htm
+
+# SQL Server files
+*.mdf
+*.ldf
+
+# Business Intelligence projects
+*.rdl.data
+*.bim.layout
+*.bim_*.settings
+
+# Microsoft Fakes
+FakesAssemblies/
+
+# GhostDoc plugin setting file
+*.GhostDoc.xml
+
+# Node.js Tools for Visual Studio
+.ntvs_analysis.dat
+
+# Visual Studio 6 build log
+*.plg
+
+# Visual Studio 6 workspace options file
+*.opt
+
+# Visual Studio LightSwitch build output
+**/*.HTMLClient/GeneratedArtifacts
+**/*.DesktopClient/GeneratedArtifacts
+**/*.DesktopClient/ModelManifest.xml
+**/*.Server/GeneratedArtifacts
+**/*.Server/ModelManifest.xml
+_Pvt_Extensions
+
+# Paket dependency manager
+.paket/paket.exe
+paket-files/
+
+# FAKE - F# Make
+.fake/
+
+# JetBrains Rider
+.idea/
+*.sln.iml
+
+# CodeRush
+.cr/
+
+# Python Tools for Visual Studio (PTVS)
+__pycache__/
+*.pyc
\ No newline at end of file
diff --git a/ProductizationTemplate.sln b/ProductizationTemplate.sln
new file mode 100644
index 0000000..10917e2
--- /dev/null
+++ b/ProductizationTemplate.sln
@@ -0,0 +1,120 @@
+锘�
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.30104.148
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTestProject", "src\UnitTestProject\UnitTestProject.csproj", "{60CF78A2-D35B-4AA5-92ED-3027F34F7245}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "BLL", "BLL", "{31C70F5D-03A8-485B-B4A9-F8D29552DA00}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DAL", "DAL", "{9D051344-E998-4524-867F-3E2F2421D19F}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Model", "Model", "{F9BB78F7-A52D-4B34-9B67-8DD862A4943C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProductizationTemplate", "src\ProductizationTemplate\ProductizationTemplate.csproj", "{686E6D75-E365-4C5A-BEC9-4D15372B6F17}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Demo.DAL", "src\DAL\Demo.Dal\Demo.DAL.csproj", "{1BD45CA7-DE27-452F-B0AE-AA95AB2B4286}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Demo.IDAL", "src\DAL\Demo.IDal\Demo.IDAL.csproj", "{1B850AD6-24F3-483D-9469-16FA46C15F39}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Demo.Model", "src\Model\Demo.Model\Demo.Model.csproj", "{F79642D8-3172-4655-9FA8-C20151591048}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Demo.DynamicForm", "src\BLL\Demo.DynamicForm\Demo.DynamicForm.csproj", "{D227B701-E3B7-432C-951B-5F396B82B1F3}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Demo.ListView", "src\BLL\Demo.ListView\Demo.ListView.csproj", "{6060A6F0-F708-4AA4-8B58-EF21661E634C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Demo.SysReportView", "src\BLL\Demo.SysReportView\Demo.SysReportView.csproj", "{48248035-7240-44D1-AB24-533FB01774D1}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Demo.Report", "src\BLL\Demo.Report\Demo.Report.csproj", "{8354EB8E-5CF9-47FE-B6AA-566F1A829A01}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Interface", "Interface", "{430FFB73-C977-4D41-8A22-89E69D4489CD}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Demo.CommonFilter", "src\BLL\Demo.CommonFilter\Demo.CommonFilter.csproj", "{C13FA5B0-5D53-49CC-BAFB-3FAA4D0C39FD}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Demo.BillView", "src\BLL\Demo.BillView\Demo.BillView.csproj", "{45D78DAF-CF2E-47D6-A404-76E3B36EEDFF}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Demo.OperationService", "src\BLL\Demo.OperationService\Demo.OperationService.csproj", "{D63F2411-B567-4F8E-B0EA-7DDD2BC9394F}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UI", "UI", "{2D428206-511A-4C87-8A60-4535B238A03E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Demo.BLL", "src\BLL\Demo.BLL\Demo.BLL.csproj", "{C13E0C61-B1C8-45DD-96F6-3C7DD573C6E4}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {60CF78A2-D35B-4AA5-92ED-3027F34F7245}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {60CF78A2-D35B-4AA5-92ED-3027F34F7245}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {60CF78A2-D35B-4AA5-92ED-3027F34F7245}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {60CF78A2-D35B-4AA5-92ED-3027F34F7245}.Release|Any CPU.Build.0 = Release|Any CPU
+ {686E6D75-E365-4C5A-BEC9-4D15372B6F17}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {686E6D75-E365-4C5A-BEC9-4D15372B6F17}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {686E6D75-E365-4C5A-BEC9-4D15372B6F17}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {686E6D75-E365-4C5A-BEC9-4D15372B6F17}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1BD45CA7-DE27-452F-B0AE-AA95AB2B4286}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1BD45CA7-DE27-452F-B0AE-AA95AB2B4286}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1BD45CA7-DE27-452F-B0AE-AA95AB2B4286}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1BD45CA7-DE27-452F-B0AE-AA95AB2B4286}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1B850AD6-24F3-483D-9469-16FA46C15F39}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1B850AD6-24F3-483D-9469-16FA46C15F39}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1B850AD6-24F3-483D-9469-16FA46C15F39}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1B850AD6-24F3-483D-9469-16FA46C15F39}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F79642D8-3172-4655-9FA8-C20151591048}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F79642D8-3172-4655-9FA8-C20151591048}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F79642D8-3172-4655-9FA8-C20151591048}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F79642D8-3172-4655-9FA8-C20151591048}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D227B701-E3B7-432C-951B-5F396B82B1F3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D227B701-E3B7-432C-951B-5F396B82B1F3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D227B701-E3B7-432C-951B-5F396B82B1F3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D227B701-E3B7-432C-951B-5F396B82B1F3}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6060A6F0-F708-4AA4-8B58-EF21661E634C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6060A6F0-F708-4AA4-8B58-EF21661E634C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6060A6F0-F708-4AA4-8B58-EF21661E634C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6060A6F0-F708-4AA4-8B58-EF21661E634C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {48248035-7240-44D1-AB24-533FB01774D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {48248035-7240-44D1-AB24-533FB01774D1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {48248035-7240-44D1-AB24-533FB01774D1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {48248035-7240-44D1-AB24-533FB01774D1}.Release|Any CPU.Build.0 = Release|Any CPU
+ {8354EB8E-5CF9-47FE-B6AA-566F1A829A01}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {8354EB8E-5CF9-47FE-B6AA-566F1A829A01}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {8354EB8E-5CF9-47FE-B6AA-566F1A829A01}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {8354EB8E-5CF9-47FE-B6AA-566F1A829A01}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C13FA5B0-5D53-49CC-BAFB-3FAA4D0C39FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C13FA5B0-5D53-49CC-BAFB-3FAA4D0C39FD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C13FA5B0-5D53-49CC-BAFB-3FAA4D0C39FD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C13FA5B0-5D53-49CC-BAFB-3FAA4D0C39FD}.Release|Any CPU.Build.0 = Release|Any CPU
+ {45D78DAF-CF2E-47D6-A404-76E3B36EEDFF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {45D78DAF-CF2E-47D6-A404-76E3B36EEDFF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {45D78DAF-CF2E-47D6-A404-76E3B36EEDFF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {45D78DAF-CF2E-47D6-A404-76E3B36EEDFF}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D63F2411-B567-4F8E-B0EA-7DDD2BC9394F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D63F2411-B567-4F8E-B0EA-7DDD2BC9394F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D63F2411-B567-4F8E-B0EA-7DDD2BC9394F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D63F2411-B567-4F8E-B0EA-7DDD2BC9394F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C13E0C61-B1C8-45DD-96F6-3C7DD573C6E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C13E0C61-B1C8-45DD-96F6-3C7DD573C6E4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C13E0C61-B1C8-45DD-96F6-3C7DD573C6E4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C13E0C61-B1C8-45DD-96F6-3C7DD573C6E4}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {1BD45CA7-DE27-452F-B0AE-AA95AB2B4286} = {9D051344-E998-4524-867F-3E2F2421D19F}
+ {1B850AD6-24F3-483D-9469-16FA46C15F39} = {9D051344-E998-4524-867F-3E2F2421D19F}
+ {F79642D8-3172-4655-9FA8-C20151591048} = {F9BB78F7-A52D-4B34-9B67-8DD862A4943C}
+ {D227B701-E3B7-432C-951B-5F396B82B1F3} = {2D428206-511A-4C87-8A60-4535B238A03E}
+ {6060A6F0-F708-4AA4-8B58-EF21661E634C} = {2D428206-511A-4C87-8A60-4535B238A03E}
+ {48248035-7240-44D1-AB24-533FB01774D1} = {2D428206-511A-4C87-8A60-4535B238A03E}
+ {8354EB8E-5CF9-47FE-B6AA-566F1A829A01} = {2D428206-511A-4C87-8A60-4535B238A03E}
+ {C13FA5B0-5D53-49CC-BAFB-3FAA4D0C39FD} = {2D428206-511A-4C87-8A60-4535B238A03E}
+ {45D78DAF-CF2E-47D6-A404-76E3B36EEDFF} = {2D428206-511A-4C87-8A60-4535B238A03E}
+ {D63F2411-B567-4F8E-B0EA-7DDD2BC9394F} = {2D428206-511A-4C87-8A60-4535B238A03E}
+ {C13E0C61-B1C8-45DD-96F6-3C7DD573C6E4} = {31C70F5D-03A8-485B-B4A9-F8D29552DA00}
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {92FECC0D-B61B-466C-9421-AAECA846220B}
+ EndGlobalSection
+EndGlobal
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..18a978b
--- /dev/null
+++ b/README.md
@@ -0,0 +1,7 @@
+# 椤圭洰妯℃澘
+
+## 寮�鍙慶loud椤圭洰鍙娇鐢ㄦ瑙e喅鏂规
+
+## clone鍚庯紝璇峰強鏃舵洿鎹㈡枃浠跺悕锛岄」鐩悕绛夈��
+
+## 鏃ュ織鏂囦欢閰嶇疆璇蜂慨鏀筩onfig鏂囦欢澶逛腑log.config锛屽垏鍕胯嚜宸卞啀娣诲姞鏃ュ織浠g爜锛侊紒锛�
\ No newline at end of file
diff --git a/src/BLL/Demo.BLL/Demo.BLL.csproj b/src/BLL/Demo.BLL/Demo.BLL.csproj
new file mode 100644
index 0000000..9256774
--- /dev/null
+++ b/src/BLL/Demo.BLL/Demo.BLL.csproj
@@ -0,0 +1,141 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{C13E0C61-B1C8-45DD-96F6-3C7DD573C6E4}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Demo.BLL</RootNamespace>
+ <AssemblyName>Demo.BLL</AssemblyName>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <Deterministic>true</Deterministic>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="K3Cloud.Extend, Version=0.0.80.5, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\K3Cloud.Extend.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.App, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.App.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.App.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.App.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Business.PlugIn, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Business.PlugIn.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.BusinessEntity, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.BusinessEntity.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Contracts, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Contracts.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.DataEntity, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.DataEntity.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.MpWeiXin, Version=7.0.104.1, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.MpWeiXin.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.QyWeiXin, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.QyWeiXin.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceFacade.KDServiceClient, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceFacade.KDServiceClient.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceFacade.KDServiceClientFx, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceFacade.KDServiceClientFx.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceFacade.KDServiceFx, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceFacade.KDServiceFx.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceHelper, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceHelper.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Web, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Web.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Web.HTML, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Web.HTML.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.WeiXin.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.WeiXin.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.WinForm.KDS20Lib, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.WinForm.KDS20Lib.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.App, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.App.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.App.Stock.Report, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.App.Stock.Report.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.App.Stock.ServicePlugIn, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.App.Stock.ServicePlugIn.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.Business.DynamicForm, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.Business.DynamicForm.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.Common.BusinessEntity, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.Common.BusinessEntity.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.Credit.Business.PlugIn, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.Credit.Business.PlugIn.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.ServiceHelper, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.ServiceHelper.dll</HintPath>
+ </Reference>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Net.Http" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="SCM\SAL_SaleOrderBLL.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Folder Include="Report\" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="packages.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\DAL\Demo.Dal\Demo.DAL.csproj">
+ <Project>{1BD45CA7-DE27-452F-B0AE-AA95AB2B4286}</Project>
+ <Name>Demo.DAL</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project>
\ No newline at end of file
diff --git a/src/BLL/Demo.BLL/Properties/AssemblyInfo.cs b/src/BLL/Demo.BLL/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..ae07d35
--- /dev/null
+++ b/src/BLL/Demo.BLL/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+锘縰sing System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 鏈夊叧绋嬪簭闆嗙殑涓�鑸俊鎭敱浠ヤ笅
+// 鎺у埗銆傛洿鏀硅繖浜涚壒鎬у�煎彲淇敼
+// 涓庣▼搴忛泦鍏宠仈鐨勪俊鎭��
+[assembly: AssemblyTitle("Demo.BLL")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Demo.BLL")]
+[assembly: AssemblyCopyright("Copyright 漏 2020")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 灏� ComVisible 璁剧疆涓� false 浼氫娇姝ょ▼搴忛泦涓殑绫诲瀷
+//瀵� COM 缁勪欢涓嶅彲瑙併�傚鏋滈渶瑕佷粠 COM 璁块棶姝ょ▼搴忛泦涓殑绫诲瀷
+//璇峰皢姝ょ被鍨嬬殑 ComVisible 鐗规�ц缃负 true銆�
+[assembly: ComVisible(false)]
+
+// 濡傛灉姝ら」鐩悜 COM 鍏紑锛屽垯涓嬪垪 GUID 鐢ㄤ簬绫诲瀷搴撶殑 ID
+[assembly: Guid("c13e0c61-b1c8-45dd-96f6-3c7dd573c6e4")]
+
+// 绋嬪簭闆嗙殑鐗堟湰淇℃伅鐢变笅鍒楀洓涓�肩粍鎴�:
+//
+// 涓荤増鏈�
+// 娆$増鏈�
+// 鐢熸垚鍙�
+// 淇鍙�
+//
+//鍙互鎸囧畾鎵�鏈夎繖浜涘�硷紝涔熷彲浠ヤ娇鐢ㄢ�滅敓鎴愬彿鈥濆拰鈥滀慨璁㈠彿鈥濈殑榛樿鍊�
+//閫氳繃浣跨敤 "*"锛屽涓嬫墍绀�:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/src/BLL/Demo.BLL/SCM/SAL_SaleOrderBLL.cs b/src/BLL/Demo.BLL/SCM/SAL_SaleOrderBLL.cs
new file mode 100644
index 0000000..065784e
--- /dev/null
+++ b/src/BLL/Demo.BLL/SCM/SAL_SaleOrderBLL.cs
@@ -0,0 +1,19 @@
+锘縰sing Demo.DAL.Basic;
+using Kingdee.BOS;
+
+namespace Demo.BLL.SCM
+{
+ public class SAL_SaleOrderBLL
+ {
+ readonly Context Context;
+ public SAL_SaleOrderBLL(Context context)
+ {
+ this.Context = context;
+ }
+ public string GetMaterialNameByNumber(string number)
+ {
+ BD_MaterialDAL materialDAL = new BD_MaterialDAL(Context);
+ return materialDAL.GetMaterialNameByNumber(number);
+ }
+ }
+}
diff --git a/src/BLL/Demo.BLL/packages.config b/src/BLL/Demo.BLL/packages.config
new file mode 100644
index 0000000..7658684
--- /dev/null
+++ b/src/BLL/Demo.BLL/packages.config
@@ -0,0 +1,4 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="ZD.Cloud.Common" version="7.5.1.2" targetFramework="net472" />
+</packages>
\ No newline at end of file
diff --git a/src/BLL/Demo.BillView/Demo.BillView.csproj b/src/BLL/Demo.BillView/Demo.BillView.csproj
new file mode 100644
index 0000000..1f3c0d7
--- /dev/null
+++ b/src/BLL/Demo.BillView/Demo.BillView.csproj
@@ -0,0 +1,142 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{45D78DAF-CF2E-47D6-A404-76E3B36EEDFF}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Demo.BillView</RootNamespace>
+ <AssemblyName>Demo.BillView</AssemblyName>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <Deterministic>true</Deterministic>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="K3Cloud.Extend, Version=0.0.80.5, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\K3Cloud.Extend.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.App, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.App.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.App.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.App.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Business.PlugIn, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Business.PlugIn.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.BusinessEntity, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.BusinessEntity.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Contracts, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Contracts.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.DataEntity, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.DataEntity.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.MpWeiXin, Version=7.0.104.1, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.MpWeiXin.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.QyWeiXin, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.QyWeiXin.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceFacade.KDServiceClient, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceFacade.KDServiceClient.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceFacade.KDServiceClientFx, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceFacade.KDServiceClientFx.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceFacade.KDServiceFx, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceFacade.KDServiceFx.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceHelper, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceHelper.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Web, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Web.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Web.HTML, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Web.HTML.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.WeiXin.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.WeiXin.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.WinForm.KDS20Lib, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.WinForm.KDS20Lib.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.App, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.App.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.App.Stock.Report, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.App.Stock.Report.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.App.Stock.ServicePlugIn, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.App.Stock.ServicePlugIn.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.Business.DynamicForm, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.Business.DynamicForm.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.Common.BusinessEntity, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.Common.BusinessEntity.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.Credit.Business.PlugIn, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.Credit.Business.PlugIn.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.ServiceHelper, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.ServiceHelper.dll</HintPath>
+ </Reference>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Net.Http" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="SCM\SAL_SaleOrder.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="packages.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\DAL\Demo.Dal\Demo.DAL.csproj">
+ <Project>{1BD45CA7-DE27-452F-B0AE-AA95AB2B4286}</Project>
+ <Name>Demo.DAL</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\Demo.BLL\Demo.BLL.csproj">
+ <Project>{C13E0C61-B1C8-45DD-96F6-3C7DD573C6E4}</Project>
+ <Name>Demo.BLL</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project>
\ No newline at end of file
diff --git a/src/BLL/Demo.BillView/Properties/AssemblyInfo.cs b/src/BLL/Demo.BillView/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..b4eb65a
--- /dev/null
+++ b/src/BLL/Demo.BillView/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+锘縰sing System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 鏈夊叧绋嬪簭闆嗙殑涓�鑸俊鎭敱浠ヤ笅
+// 鎺у埗銆傛洿鏀硅繖浜涚壒鎬у�煎彲淇敼
+// 涓庣▼搴忛泦鍏宠仈鐨勪俊鎭��
+[assembly: AssemblyTitle("Demo.BillView")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Demo.BillView")]
+[assembly: AssemblyCopyright("Copyright 漏 2020")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 灏� ComVisible 璁剧疆涓� false 浼氫娇姝ょ▼搴忛泦涓殑绫诲瀷
+//瀵� COM 缁勪欢涓嶅彲瑙併�傚鏋滈渶瑕佷粠 COM 璁块棶姝ょ▼搴忛泦涓殑绫诲瀷
+//璇峰皢姝ょ被鍨嬬殑 ComVisible 鐗规�ц缃负 true銆�
+[assembly: ComVisible(false)]
+
+// 濡傛灉姝ら」鐩悜 COM 鍏紑锛屽垯涓嬪垪 GUID 鐢ㄤ簬绫诲瀷搴撶殑 ID
+[assembly: Guid("45d78daf-cf2e-47d6-a404-76e3b36eedff")]
+
+// 绋嬪簭闆嗙殑鐗堟湰淇℃伅鐢变笅鍒楀洓涓�肩粍鎴�:
+//
+// 涓荤増鏈�
+// 娆$増鏈�
+// 鐢熸垚鍙�
+// 淇鍙�
+//
+//鍙互鎸囧畾鎵�鏈夎繖浜涘�硷紝涔熷彲浠ヤ娇鐢ㄢ�滅敓鎴愬彿鈥濆拰鈥滀慨璁㈠彿鈥濈殑榛樿鍊�
+//閫氳繃浣跨敤 "*"锛屽涓嬫墍绀�:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/src/BLL/Demo.BillView/SCM/SAL_SaleOrder.cs b/src/BLL/Demo.BillView/SCM/SAL_SaleOrder.cs
new file mode 100644
index 0000000..ae9813f
--- /dev/null
+++ b/src/BLL/Demo.BillView/SCM/SAL_SaleOrder.cs
@@ -0,0 +1,23 @@
+锘縰sing Demo.BLL.SCM;
+using Kingdee.BOS.Core.Bill.PlugIn;
+using System;
+
+namespace Demo.BillView.SCM
+{
+ public abstract class SAL_SaleOrder : AbstractBillPlugIn
+ {
+
+ public override void AfterLoadData(EventArgs e)
+ {
+ base.AfterLoadData(e);
+ SAL_SaleOrderBLL saleOrderBLL = new SAL_SaleOrderBLL(Context);
+ var name = saleOrderBLL.GetMaterialNameByNumber("010101-A5214");
+ this.View.Model.SetValue("FNote", name);
+ }
+
+ public virtual string GetMaterialNameByNumber(string number)
+ {
+ return "123";
+ }
+ }
+}
diff --git a/src/BLL/Demo.BillView/packages.config b/src/BLL/Demo.BillView/packages.config
new file mode 100644
index 0000000..7658684
--- /dev/null
+++ b/src/BLL/Demo.BillView/packages.config
@@ -0,0 +1,4 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="ZD.Cloud.Common" version="7.5.1.2" targetFramework="net472" />
+</packages>
\ No newline at end of file
diff --git a/src/BLL/Demo.CommonFilter/Demo.CommonFilter.csproj b/src/BLL/Demo.CommonFilter/Demo.CommonFilter.csproj
new file mode 100644
index 0000000..a77317f
--- /dev/null
+++ b/src/BLL/Demo.CommonFilter/Demo.CommonFilter.csproj
@@ -0,0 +1,131 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{C13FA5B0-5D53-49CC-BAFB-3FAA4D0C39FD}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Demo.CommonFilter</RootNamespace>
+ <AssemblyName>Demo.CommonFilter</AssemblyName>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <Deterministic>true</Deterministic>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="K3Cloud.Extend, Version=0.0.80.5, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\K3Cloud.Extend.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.App, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.App.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.App.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.App.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Business.PlugIn, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Business.PlugIn.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.BusinessEntity, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.BusinessEntity.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Contracts, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Contracts.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.DataEntity, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.DataEntity.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.MpWeiXin, Version=7.0.104.1, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.MpWeiXin.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.QyWeiXin, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.QyWeiXin.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceFacade.KDServiceClient, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceFacade.KDServiceClient.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceFacade.KDServiceClientFx, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceFacade.KDServiceClientFx.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceFacade.KDServiceFx, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceFacade.KDServiceFx.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceHelper, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceHelper.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Web, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Web.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Web.HTML, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Web.HTML.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.WeiXin.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.WeiXin.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.WinForm.KDS20Lib, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.WinForm.KDS20Lib.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.App, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.App.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.App.Stock.Report, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.App.Stock.Report.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.App.Stock.ServicePlugIn, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.App.Stock.ServicePlugIn.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.Business.DynamicForm, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.Business.DynamicForm.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.Common.BusinessEntity, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.Common.BusinessEntity.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.Credit.Business.PlugIn, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.Credit.Business.PlugIn.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.ServiceHelper, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.ServiceHelper.dll</HintPath>
+ </Reference>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Net.Http" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="packages.config" />
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project>
\ No newline at end of file
diff --git a/src/BLL/Demo.CommonFilter/Properties/AssemblyInfo.cs b/src/BLL/Demo.CommonFilter/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..f5c3843
--- /dev/null
+++ b/src/BLL/Demo.CommonFilter/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+锘縰sing System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 鏈夊叧绋嬪簭闆嗙殑涓�鑸俊鎭敱浠ヤ笅
+// 鎺у埗銆傛洿鏀硅繖浜涚壒鎬у�煎彲淇敼
+// 涓庣▼搴忛泦鍏宠仈鐨勪俊鎭��
+[assembly: AssemblyTitle("CommonFilter")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("CommonFilter")]
+[assembly: AssemblyCopyright("Copyright 漏 2020")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 灏� ComVisible 璁剧疆涓� false 浼氫娇姝ょ▼搴忛泦涓殑绫诲瀷
+//瀵� COM 缁勪欢涓嶅彲瑙併�傚鏋滈渶瑕佷粠 COM 璁块棶姝ょ▼搴忛泦涓殑绫诲瀷
+//璇峰皢姝ょ被鍨嬬殑 ComVisible 鐗规�ц缃负 true銆�
+[assembly: ComVisible(false)]
+
+// 濡傛灉姝ら」鐩悜 COM 鍏紑锛屽垯涓嬪垪 GUID 鐢ㄤ簬绫诲瀷搴撶殑 ID
+[assembly: Guid("c13fa5b0-5d53-49cc-bafb-3faa4d0c39fd")]
+
+// 绋嬪簭闆嗙殑鐗堟湰淇℃伅鐢变笅鍒楀洓涓�肩粍鎴�:
+//
+// 涓荤増鏈�
+// 娆$増鏈�
+// 鐢熸垚鍙�
+// 淇鍙�
+//
+//鍙互鎸囧畾鎵�鏈夎繖浜涘�硷紝涔熷彲浠ヤ娇鐢ㄢ�滅敓鎴愬彿鈥濆拰鈥滀慨璁㈠彿鈥濈殑榛樿鍊�
+//閫氳繃浣跨敤 "*"锛屽涓嬫墍绀�:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/src/BLL/Demo.CommonFilter/packages.config b/src/BLL/Demo.CommonFilter/packages.config
new file mode 100644
index 0000000..7658684
--- /dev/null
+++ b/src/BLL/Demo.CommonFilter/packages.config
@@ -0,0 +1,4 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="ZD.Cloud.Common" version="7.5.1.2" targetFramework="net472" />
+</packages>
\ No newline at end of file
diff --git a/src/BLL/Demo.DynamicForm/Demo.DynamicForm.csproj b/src/BLL/Demo.DynamicForm/Demo.DynamicForm.csproj
new file mode 100644
index 0000000..62d4b56
--- /dev/null
+++ b/src/BLL/Demo.DynamicForm/Demo.DynamicForm.csproj
@@ -0,0 +1,133 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{D227B701-E3B7-432C-951B-5F396B82B1F3}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Demo.DynamicForm</RootNamespace>
+ <AssemblyName>Demo.DynamicForm</AssemblyName>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <Deterministic>true</Deterministic>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="K3Cloud.Extend, Version=0.0.80.5, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\K3Cloud.Extend.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.App, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.App.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.App.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.App.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Business.PlugIn, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Business.PlugIn.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.BusinessEntity, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.BusinessEntity.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Contracts, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Contracts.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.DataEntity, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.DataEntity.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.MpWeiXin, Version=7.0.104.1, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.MpWeiXin.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.QyWeiXin, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.QyWeiXin.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceFacade.KDServiceClient, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceFacade.KDServiceClient.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceFacade.KDServiceClientFx, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceFacade.KDServiceClientFx.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceFacade.KDServiceFx, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceFacade.KDServiceFx.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceHelper, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceHelper.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Web, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Web.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Web.HTML, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Web.HTML.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.WeiXin.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.WeiXin.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.WinForm.KDS20Lib, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.WinForm.KDS20Lib.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.App, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.App.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.App.Stock.Report, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.App.Stock.Report.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.App.Stock.ServicePlugIn, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.App.Stock.ServicePlugIn.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.Business.DynamicForm, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.Business.DynamicForm.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.Common.BusinessEntity, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.Common.BusinessEntity.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.Credit.Business.PlugIn, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.Credit.Business.PlugIn.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.ServiceHelper, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.ServiceHelper.dll</HintPath>
+ </Reference>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Net.Http" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="PRD\Pro_WorkBillPlatform.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="packages.config" />
+ </ItemGroup>
+ <ItemGroup />
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project>
\ No newline at end of file
diff --git a/src/BLL/Demo.DynamicForm/PRD/Pro_WorkBillPlatform.cs b/src/BLL/Demo.DynamicForm/PRD/Pro_WorkBillPlatform.cs
new file mode 100644
index 0000000..0b5c3cc
--- /dev/null
+++ b/src/BLL/Demo.DynamicForm/PRD/Pro_WorkBillPlatform.cs
@@ -0,0 +1,37 @@
+锘縰sing Kingdee.BOS.Core.Bill.PlugIn;
+using Kingdee.BOS.Core.DynamicForm.PlugIn;
+using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
+using Kingdee.BOS.Util;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Runtime.CompilerServices;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Demo.DynamicForm.PRD
+{
+ [Description("鐢熶骇璁″垝骞冲彴瀵煎嚭")]
+ [HotUpdate]
+ public class Pro_WorkBillPlatform : AbstractDynamicFormPlugIn
+ {
+ public override void BarItemClick(BarItemClickEventArgs e)
+ {
+ base.BarItemClick(e);
+ try
+ {
+ if (e.BarItemKey.ToUpper() == "BTEXPORT")
+ {
+
+ this.View.ShowMessage("娴嬭瘯鍟�");
+ }
+ }
+ catch (Exception)
+ {
+
+ throw;
+ }
+ }
+ }
+}
diff --git a/src/BLL/Demo.DynamicForm/Properties/AssemblyInfo.cs b/src/BLL/Demo.DynamicForm/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..a26ae43
--- /dev/null
+++ b/src/BLL/Demo.DynamicForm/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+锘縰sing System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 鏈夊叧绋嬪簭闆嗙殑涓�鑸俊鎭敱浠ヤ笅
+// 鎺у埗銆傛洿鏀硅繖浜涚壒鎬у�煎彲淇敼
+// 涓庣▼搴忛泦鍏宠仈鐨勪俊鎭��
+[assembly: AssemblyTitle("Demo.DynamicForm")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Demo.DynamicForm")]
+[assembly: AssemblyCopyright("Copyright 漏 2020")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 灏� ComVisible 璁剧疆涓� false 浼氫娇姝ょ▼搴忛泦涓殑绫诲瀷
+//瀵� COM 缁勪欢涓嶅彲瑙併�傚鏋滈渶瑕佷粠 COM 璁块棶姝ょ▼搴忛泦涓殑绫诲瀷
+//璇峰皢姝ょ被鍨嬬殑 ComVisible 鐗规�ц缃负 true銆�
+[assembly: ComVisible(false)]
+
+// 濡傛灉姝ら」鐩悜 COM 鍏紑锛屽垯涓嬪垪 GUID 鐢ㄤ簬绫诲瀷搴撶殑 ID
+[assembly: Guid("d227b701-e3b7-432c-951b-5f396b82b1f3")]
+
+// 绋嬪簭闆嗙殑鐗堟湰淇℃伅鐢变笅鍒楀洓涓�肩粍鎴�:
+//
+// 涓荤増鏈�
+// 娆$増鏈�
+// 鐢熸垚鍙�
+// 淇鍙�
+//
+//鍙互鎸囧畾鎵�鏈夎繖浜涘�硷紝涔熷彲浠ヤ娇鐢ㄢ�滅敓鎴愬彿鈥濆拰鈥滀慨璁㈠彿鈥濈殑榛樿鍊�
+//閫氳繃浣跨敤 "*"锛屽涓嬫墍绀�:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/src/BLL/Demo.DynamicForm/packages.config b/src/BLL/Demo.DynamicForm/packages.config
new file mode 100644
index 0000000..7658684
--- /dev/null
+++ b/src/BLL/Demo.DynamicForm/packages.config
@@ -0,0 +1,4 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="ZD.Cloud.Common" version="7.5.1.2" targetFramework="net472" />
+</packages>
\ No newline at end of file
diff --git a/src/BLL/Demo.ListView/Demo.ListView.csproj b/src/BLL/Demo.ListView/Demo.ListView.csproj
new file mode 100644
index 0000000..0e4ec50
--- /dev/null
+++ b/src/BLL/Demo.ListView/Demo.ListView.csproj
@@ -0,0 +1,131 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{6060A6F0-F708-4AA4-8B58-EF21661E634C}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Demo.ListView</RootNamespace>
+ <AssemblyName>Demo.ListView</AssemblyName>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <Deterministic>true</Deterministic>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="K3Cloud.Extend, Version=0.0.80.5, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\K3Cloud.Extend.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.App, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.App.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.App.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.App.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Business.PlugIn, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Business.PlugIn.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.BusinessEntity, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.BusinessEntity.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Contracts, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Contracts.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.DataEntity, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.DataEntity.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.MpWeiXin, Version=7.0.104.1, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.MpWeiXin.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.QyWeiXin, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.QyWeiXin.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceFacade.KDServiceClient, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceFacade.KDServiceClient.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceFacade.KDServiceClientFx, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceFacade.KDServiceClientFx.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceFacade.KDServiceFx, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceFacade.KDServiceFx.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceHelper, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceHelper.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Web, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Web.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Web.HTML, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Web.HTML.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.WeiXin.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.WeiXin.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.WinForm.KDS20Lib, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.WinForm.KDS20Lib.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.App, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.App.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.App.Stock.Report, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.App.Stock.Report.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.App.Stock.ServicePlugIn, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.App.Stock.ServicePlugIn.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.Business.DynamicForm, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.Business.DynamicForm.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.Common.BusinessEntity, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.Common.BusinessEntity.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.Credit.Business.PlugIn, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.Credit.Business.PlugIn.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.ServiceHelper, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.ServiceHelper.dll</HintPath>
+ </Reference>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Net.Http" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="packages.config" />
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project>
\ No newline at end of file
diff --git a/src/BLL/Demo.ListView/Properties/AssemblyInfo.cs b/src/BLL/Demo.ListView/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..ecceeec
--- /dev/null
+++ b/src/BLL/Demo.ListView/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+锘縰sing System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 鏈夊叧绋嬪簭闆嗙殑涓�鑸俊鎭敱浠ヤ笅
+// 鎺у埗銆傛洿鏀硅繖浜涚壒鎬у�煎彲淇敼
+// 涓庣▼搴忛泦鍏宠仈鐨勪俊鎭��
+[assembly: AssemblyTitle("Demo.ListView")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Demo.ListView")]
+[assembly: AssemblyCopyright("Copyright 漏 2020")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 灏� ComVisible 璁剧疆涓� false 浼氫娇姝ょ▼搴忛泦涓殑绫诲瀷
+//瀵� COM 缁勪欢涓嶅彲瑙併�傚鏋滈渶瑕佷粠 COM 璁块棶姝ょ▼搴忛泦涓殑绫诲瀷
+//璇峰皢姝ょ被鍨嬬殑 ComVisible 鐗规�ц缃负 true銆�
+[assembly: ComVisible(false)]
+
+// 濡傛灉姝ら」鐩悜 COM 鍏紑锛屽垯涓嬪垪 GUID 鐢ㄤ簬绫诲瀷搴撶殑 ID
+[assembly: Guid("6060a6f0-f708-4aa4-8b58-ef21661e634c")]
+
+// 绋嬪簭闆嗙殑鐗堟湰淇℃伅鐢变笅鍒楀洓涓�肩粍鎴�:
+//
+// 涓荤増鏈�
+// 娆$増鏈�
+// 鐢熸垚鍙�
+// 淇鍙�
+//
+//鍙互鎸囧畾鎵�鏈夎繖浜涘�硷紝涔熷彲浠ヤ娇鐢ㄢ�滅敓鎴愬彿鈥濆拰鈥滀慨璁㈠彿鈥濈殑榛樿鍊�
+//閫氳繃浣跨敤 "*"锛屽涓嬫墍绀�:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/src/BLL/Demo.ListView/packages.config b/src/BLL/Demo.ListView/packages.config
new file mode 100644
index 0000000..7658684
--- /dev/null
+++ b/src/BLL/Demo.ListView/packages.config
@@ -0,0 +1,4 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="ZD.Cloud.Common" version="7.5.1.2" targetFramework="net472" />
+</packages>
\ No newline at end of file
diff --git a/src/BLL/Demo.OperationService/Config/kdapi.config b/src/BLL/Demo.OperationService/Config/kdapi.config
new file mode 100644
index 0000000..25b63df
--- /dev/null
+++ b/src/BLL/Demo.OperationService/Config/kdapi.config
@@ -0,0 +1,9 @@
+锘�<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+ <appSettings>
+ <add key="DbId" value="5e8c33972fbb61"></add>
+ <add key="UserName" value="Administrator"></add>
+ <add key="PassWord" value="888888"></add>
+ <add key="KDApiUrl" value="http://localhost/K3Cloud/"></add>
+ </appSettings>
+</configuration>
\ No newline at end of file
diff --git a/src/BLL/Demo.OperationService/Demo.OperationService.csproj b/src/BLL/Demo.OperationService/Demo.OperationService.csproj
new file mode 100644
index 0000000..bd9794a
--- /dev/null
+++ b/src/BLL/Demo.OperationService/Demo.OperationService.csproj
@@ -0,0 +1,147 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{D63F2411-B567-4F8E-B0EA-7DDD2BC9394F}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Demo.OperationService</RootNamespace>
+ <AssemblyName>Demo.OperationService</AssemblyName>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <Deterministic>true</Deterministic>
+ <TargetFrameworkProfile />
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="K3Cloud.Extend, Version=0.0.80.5, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\K3Cloud.Extend.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.App, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.App.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.App.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.App.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Business.PlugIn, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Business.PlugIn.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.BusinessEntity, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.BusinessEntity.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Contracts, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Contracts.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.DataEntity, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.DataEntity.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.MpWeiXin, Version=7.0.104.1, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.MpWeiXin.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.QyWeiXin, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.QyWeiXin.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceFacade.KDServiceClient, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceFacade.KDServiceClient.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceFacade.KDServiceClientFx, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceFacade.KDServiceClientFx.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceFacade.KDServiceFx, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceFacade.KDServiceFx.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceHelper, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceHelper.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Web, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Web.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Web.HTML, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Web.HTML.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.WebApi.Client, Version=7.3.1150.7, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.WebApi.7.3.2.3\lib\net452\Kingdee.BOS.WebApi.Client.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.WebApi.ServicesStub, Version=7.3.1150.7, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.WebApi.7.3.2.3\lib\net452\Kingdee.BOS.WebApi.ServicesStub.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.WeiXin.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.WeiXin.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.WinForm.KDS20Lib, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.WinForm.KDS20Lib.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.App, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.App.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.App.Stock.Report, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.App.Stock.Report.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.App.Stock.ServicePlugIn, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.App.Stock.ServicePlugIn.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.Business.DynamicForm, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.Business.DynamicForm.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.Common.BusinessEntity, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.Common.BusinessEntity.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.Credit.Business.PlugIn, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.Credit.Business.PlugIn.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.ServiceHelper, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.ServiceHelper.dll</HintPath>
+ </Reference>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Net.Http" />
+ <Reference Include="System.Xml" />
+ <Reference Include="ZD.Cloud.WebApi, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.WebApi.7.3.2.3\lib\net452\ZD.Cloud.WebApi.dll</HintPath>
+ </Reference>
+ <Reference Include="ZD.Share, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Share.1.0.2\lib\net452\ZD.Share.dll</HintPath>
+ </Reference>
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="SCM\SAL_SaleOrder\SAL_SaleOrderSave.cs" />
+ <Compile Include="SCM\SAL_SaleOrder\SAL_SaleOrderSubmit.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="Config\kdapi.config" />
+ <None Include="packages.config" />
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project>
\ No newline at end of file
diff --git a/src/BLL/Demo.OperationService/Properties/AssemblyInfo.cs b/src/BLL/Demo.OperationService/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..e7ce17f
--- /dev/null
+++ b/src/BLL/Demo.OperationService/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+锘縰sing System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 鏈夊叧绋嬪簭闆嗙殑涓�鑸俊鎭敱浠ヤ笅
+// 鎺у埗銆傛洿鏀硅繖浜涚壒鎬у�煎彲淇敼
+// 涓庣▼搴忛泦鍏宠仈鐨勪俊鎭��
+[assembly: AssemblyTitle("Demo.Service")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Demo.Service")]
+[assembly: AssemblyCopyright("Copyright 漏 2020")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 灏� ComVisible 璁剧疆涓� false 浼氫娇姝ょ▼搴忛泦涓殑绫诲瀷
+//瀵� COM 缁勪欢涓嶅彲瑙併�傚鏋滈渶瑕佷粠 COM 璁块棶姝ょ▼搴忛泦涓殑绫诲瀷
+//璇峰皢姝ょ被鍨嬬殑 ComVisible 鐗规�ц缃负 true銆�
+[assembly: ComVisible(false)]
+
+// 濡傛灉姝ら」鐩悜 COM 鍏紑锛屽垯涓嬪垪 GUID 鐢ㄤ簬绫诲瀷搴撶殑 ID
+[assembly: Guid("d63f2411-b567-4f8e-b0ea-7ddd2bc9394f")]
+
+// 绋嬪簭闆嗙殑鐗堟湰淇℃伅鐢变笅鍒楀洓涓�肩粍鎴�:
+//
+// 涓荤増鏈�
+// 娆$増鏈�
+// 鐢熸垚鍙�
+// 淇鍙�
+//
+//鍙互鎸囧畾鎵�鏈夎繖浜涘�硷紝涔熷彲浠ヤ娇鐢ㄢ�滅敓鎴愬彿鈥濆拰鈥滀慨璁㈠彿鈥濈殑榛樿鍊�
+//閫氳繃浣跨敤 "*"锛屽涓嬫墍绀�:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/src/BLL/Demo.OperationService/SCM/SAL_SaleOrder/SAL_SaleOrderSave.cs b/src/BLL/Demo.OperationService/SCM/SAL_SaleOrder/SAL_SaleOrderSave.cs
new file mode 100644
index 0000000..098642e
--- /dev/null
+++ b/src/BLL/Demo.OperationService/SCM/SAL_SaleOrder/SAL_SaleOrderSave.cs
@@ -0,0 +1,18 @@
+锘縰sing Kingdee.BOS.Core.DynamicForm.PlugIn;
+using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Demo.OperationService.SCM.SAL_SaleOrder
+{
+ public class SAL_SaleOrderSave : AbstractOperationServicePlugIn
+ {
+ public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e)
+ {
+
+ }
+ }
+}
diff --git a/src/BLL/Demo.OperationService/SCM/SAL_SaleOrder/SAL_SaleOrderSubmit.cs b/src/BLL/Demo.OperationService/SCM/SAL_SaleOrder/SAL_SaleOrderSubmit.cs
new file mode 100644
index 0000000..3654092
--- /dev/null
+++ b/src/BLL/Demo.OperationService/SCM/SAL_SaleOrder/SAL_SaleOrderSubmit.cs
@@ -0,0 +1,13 @@
+锘縰sing Kingdee.BOS.Core.DynamicForm.PlugIn;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Demo.OperationService.SCM.SAL_SaleOrder
+{
+ public class SAL_SaleOrderSubmit : AbstractOperationServicePlugIn
+ {
+ }
+}
diff --git a/src/BLL/Demo.OperationService/packages.config b/src/BLL/Demo.OperationService/packages.config
new file mode 100644
index 0000000..2591833
--- /dev/null
+++ b/src/BLL/Demo.OperationService/packages.config
@@ -0,0 +1,7 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="ZD.Cloud.Common" version="7.5.1.2" targetFramework="net452" />
+ <package id="ZD.Cloud.WebApi" version="7.3.2.3" targetFramework="net452" />
+ <package id="ZD.Newtonsoft.Json" version="1.0.0" targetFramework="net452" />
+ <package id="ZD.Share" version="1.0.2" targetFramework="net452" />
+</packages>
\ No newline at end of file
diff --git a/src/BLL/Demo.Report/Demo.Report.csproj b/src/BLL/Demo.Report/Demo.Report.csproj
new file mode 100644
index 0000000..cba82ec
--- /dev/null
+++ b/src/BLL/Demo.Report/Demo.Report.csproj
@@ -0,0 +1,131 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{8354EB8E-5CF9-47FE-B6AA-566F1A829A01}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Demo.Report</RootNamespace>
+ <AssemblyName>Demo.Report</AssemblyName>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <Deterministic>true</Deterministic>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="K3Cloud.Extend, Version=0.0.80.5, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\K3Cloud.Extend.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.App, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.App.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.App.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.App.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Business.PlugIn, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Business.PlugIn.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.BusinessEntity, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.BusinessEntity.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Contracts, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Contracts.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.DataEntity, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.DataEntity.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.MpWeiXin, Version=7.0.104.1, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.MpWeiXin.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.QyWeiXin, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.QyWeiXin.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceFacade.KDServiceClient, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceFacade.KDServiceClient.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceFacade.KDServiceClientFx, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceFacade.KDServiceClientFx.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceFacade.KDServiceFx, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceFacade.KDServiceFx.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceHelper, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceHelper.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Web, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Web.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Web.HTML, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Web.HTML.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.WeiXin.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.WeiXin.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.WinForm.KDS20Lib, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.WinForm.KDS20Lib.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.App, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.App.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.App.Stock.Report, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.App.Stock.Report.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.App.Stock.ServicePlugIn, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.App.Stock.ServicePlugIn.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.Business.DynamicForm, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.Business.DynamicForm.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.Common.BusinessEntity, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.Common.BusinessEntity.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.Credit.Business.PlugIn, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.Credit.Business.PlugIn.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.ServiceHelper, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.ServiceHelper.dll</HintPath>
+ </Reference>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Net.Http" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="packages.config" />
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project>
\ No newline at end of file
diff --git a/src/BLL/Demo.Report/Properties/AssemblyInfo.cs b/src/BLL/Demo.Report/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..7867c10
--- /dev/null
+++ b/src/BLL/Demo.Report/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+锘縰sing System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 鏈夊叧绋嬪簭闆嗙殑涓�鑸俊鎭敱浠ヤ笅
+// 鎺у埗銆傛洿鏀硅繖浜涚壒鎬у�煎彲淇敼
+// 涓庣▼搴忛泦鍏宠仈鐨勪俊鎭��
+[assembly: AssemblyTitle("Demo.Report")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Demo.Report")]
+[assembly: AssemblyCopyright("Copyright 漏 2020")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 灏� ComVisible 璁剧疆涓� false 浼氫娇姝ょ▼搴忛泦涓殑绫诲瀷
+//瀵� COM 缁勪欢涓嶅彲瑙併�傚鏋滈渶瑕佷粠 COM 璁块棶姝ょ▼搴忛泦涓殑绫诲瀷
+//璇峰皢姝ょ被鍨嬬殑 ComVisible 鐗规�ц缃负 true銆�
+[assembly: ComVisible(false)]
+
+// 濡傛灉姝ら」鐩悜 COM 鍏紑锛屽垯涓嬪垪 GUID 鐢ㄤ簬绫诲瀷搴撶殑 ID
+[assembly: Guid("8354eb8e-5cf9-47fe-b6aa-566f1a829a01")]
+
+// 绋嬪簭闆嗙殑鐗堟湰淇℃伅鐢变笅鍒楀洓涓�肩粍鎴�:
+//
+// 涓荤増鏈�
+// 娆$増鏈�
+// 鐢熸垚鍙�
+// 淇鍙�
+//
+//鍙互鎸囧畾鎵�鏈夎繖浜涘�硷紝涔熷彲浠ヤ娇鐢ㄢ�滅敓鎴愬彿鈥濆拰鈥滀慨璁㈠彿鈥濈殑榛樿鍊�
+//閫氳繃浣跨敤 "*"锛屽涓嬫墍绀�:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/src/BLL/Demo.Report/packages.config b/src/BLL/Demo.Report/packages.config
new file mode 100644
index 0000000..7658684
--- /dev/null
+++ b/src/BLL/Demo.Report/packages.config
@@ -0,0 +1,4 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="ZD.Cloud.Common" version="7.5.1.2" targetFramework="net472" />
+</packages>
\ No newline at end of file
diff --git a/src/BLL/Demo.SysReportView/Demo.SysReportView.csproj b/src/BLL/Demo.SysReportView/Demo.SysReportView.csproj
new file mode 100644
index 0000000..e02371f
--- /dev/null
+++ b/src/BLL/Demo.SysReportView/Demo.SysReportView.csproj
@@ -0,0 +1,131 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{48248035-7240-44D1-AB24-533FB01774D1}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Demo.SysReportView</RootNamespace>
+ <AssemblyName>Demo.SysReportView</AssemblyName>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <Deterministic>true</Deterministic>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="K3Cloud.Extend, Version=0.0.80.5, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\K3Cloud.Extend.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.App, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.App.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.App.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.App.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Business.PlugIn, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Business.PlugIn.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.BusinessEntity, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.BusinessEntity.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Contracts, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Contracts.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.DataEntity, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.DataEntity.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.MpWeiXin, Version=7.0.104.1, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.MpWeiXin.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.QyWeiXin, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.QyWeiXin.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceFacade.KDServiceClient, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceFacade.KDServiceClient.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceFacade.KDServiceClientFx, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceFacade.KDServiceClientFx.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceFacade.KDServiceFx, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceFacade.KDServiceFx.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceHelper, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceHelper.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Web, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Web.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Web.HTML, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Web.HTML.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.WeiXin.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.WeiXin.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.WinForm.KDS20Lib, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.WinForm.KDS20Lib.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.App, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.App.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.App.Stock.Report, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.App.Stock.Report.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.App.Stock.ServicePlugIn, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.App.Stock.ServicePlugIn.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.Business.DynamicForm, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.Business.DynamicForm.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.Common.BusinessEntity, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.Common.BusinessEntity.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.Credit.Business.PlugIn, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.Credit.Business.PlugIn.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.ServiceHelper, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.ServiceHelper.dll</HintPath>
+ </Reference>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Net.Http" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="packages.config" />
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project>
\ No newline at end of file
diff --git a/src/BLL/Demo.SysReportView/Properties/AssemblyInfo.cs b/src/BLL/Demo.SysReportView/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..1b822a2
--- /dev/null
+++ b/src/BLL/Demo.SysReportView/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+锘縰sing System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 鏈夊叧绋嬪簭闆嗙殑涓�鑸俊鎭敱浠ヤ笅
+// 鎺у埗銆傛洿鏀硅繖浜涚壒鎬у�煎彲淇敼
+// 涓庣▼搴忛泦鍏宠仈鐨勪俊鎭��
+[assembly: AssemblyTitle("Demo.SysReportView")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Demo.SysReportView")]
+[assembly: AssemblyCopyright("Copyright 漏 2020")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 灏� ComVisible 璁剧疆涓� false 浼氫娇姝ょ▼搴忛泦涓殑绫诲瀷
+//瀵� COM 缁勪欢涓嶅彲瑙併�傚鏋滈渶瑕佷粠 COM 璁块棶姝ょ▼搴忛泦涓殑绫诲瀷
+//璇峰皢姝ょ被鍨嬬殑 ComVisible 鐗规�ц缃负 true銆�
+[assembly: ComVisible(false)]
+
+// 濡傛灉姝ら」鐩悜 COM 鍏紑锛屽垯涓嬪垪 GUID 鐢ㄤ簬绫诲瀷搴撶殑 ID
+[assembly: Guid("48248035-7240-44d1-ab24-533fb01774d1")]
+
+// 绋嬪簭闆嗙殑鐗堟湰淇℃伅鐢变笅鍒楀洓涓�肩粍鎴�:
+//
+// 涓荤増鏈�
+// 娆$増鏈�
+// 鐢熸垚鍙�
+// 淇鍙�
+//
+//鍙互鎸囧畾鎵�鏈夎繖浜涘�硷紝涔熷彲浠ヤ娇鐢ㄢ�滅敓鎴愬彿鈥濆拰鈥滀慨璁㈠彿鈥濈殑榛樿鍊�
+//閫氳繃浣跨敤 "*"锛屽涓嬫墍绀�:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/src/BLL/Demo.SysReportView/packages.config b/src/BLL/Demo.SysReportView/packages.config
new file mode 100644
index 0000000..7658684
--- /dev/null
+++ b/src/BLL/Demo.SysReportView/packages.config
@@ -0,0 +1,4 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="ZD.Cloud.Common" version="7.5.1.2" targetFramework="net472" />
+</packages>
\ No newline at end of file
diff --git a/src/DAL/Demo.Dal/Basic/BD_MaterialDAL.cs b/src/DAL/Demo.Dal/Basic/BD_MaterialDAL.cs
new file mode 100644
index 0000000..525575b
--- /dev/null
+++ b/src/DAL/Demo.Dal/Basic/BD_MaterialDAL.cs
@@ -0,0 +1,35 @@
+锘縰sing Demo.IDAL.Basic;
+using Kingdee.BOS;
+using Kingdee.BOS.ServiceHelper;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Demo.DAL.Basic
+{
+ public class BD_MaterialDAL : IBD_MaterialDAL
+ {
+ readonly Context Context;
+ public BD_MaterialDAL(Context context)
+ {
+ this.Context = context;
+ }
+ public void GetMaterialById(long materialId)
+ {
+ throw new NotImplementedException();
+ }
+
+ public string GetMaterialNameByNumber(string number)
+ {
+ string sql = $"select t2.fname from t_bd_material t1 left join t_bd_material_l t2 on t1.fmaterialid = t2.fmaterialid where fnumber ='{number}'";
+ return DBServiceHelper.ExecuteScalar<string>(Context, sql, "");
+ }
+
+ public void GetMaterialRecordBySearch()
+ {
+ throw new NotImplementedException();
+ }
+ }
+}
diff --git a/src/DAL/Demo.Dal/Demo.DAL.csproj b/src/DAL/Demo.Dal/Demo.DAL.csproj
new file mode 100644
index 0000000..b5866cd
--- /dev/null
+++ b/src/DAL/Demo.Dal/Demo.DAL.csproj
@@ -0,0 +1,142 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{1BD45CA7-DE27-452F-B0AE-AA95AB2B4286}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Demo.DAL</RootNamespace>
+ <AssemblyName>Demo.DAL</AssemblyName>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <Deterministic>true</Deterministic>
+ <TargetFrameworkProfile />
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="K3Cloud.Extend, Version=0.0.80.5, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\K3Cloud.Extend.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.App, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.App.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.App.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.App.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Business.PlugIn, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Business.PlugIn.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.BusinessEntity, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.BusinessEntity.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Contracts, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Contracts.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.DataEntity, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.DataEntity.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.MpWeiXin, Version=7.0.104.1, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.MpWeiXin.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.QyWeiXin, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.QyWeiXin.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceFacade.KDServiceClient, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceFacade.KDServiceClient.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceFacade.KDServiceClientFx, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceFacade.KDServiceClientFx.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceFacade.KDServiceFx, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceFacade.KDServiceFx.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceHelper, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceHelper.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Web, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Web.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Web.HTML, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Web.HTML.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.WeiXin.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.WeiXin.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.WinForm.KDS20Lib, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.WinForm.KDS20Lib.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.App, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.App.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.App.Stock.Report, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.App.Stock.Report.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.App.Stock.ServicePlugIn, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.App.Stock.ServicePlugIn.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.Business.DynamicForm, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.Business.DynamicForm.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.Common.BusinessEntity, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.Common.BusinessEntity.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.Credit.Business.PlugIn, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.Credit.Business.PlugIn.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.ServiceHelper, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.ServiceHelper.dll</HintPath>
+ </Reference>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Net.Http" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Basic\BD_MaterialDAL.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Folder Include="Business\" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\Demo.IDal\Demo.IDAL.csproj">
+ <Project>{1B850AD6-24F3-483D-9469-16FA46C15F39}</Project>
+ <Name>Demo.IDAL</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="packages.config" />
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project>
\ No newline at end of file
diff --git a/src/DAL/Demo.Dal/Properties/AssemblyInfo.cs b/src/DAL/Demo.Dal/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..3410567
--- /dev/null
+++ b/src/DAL/Demo.Dal/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+锘縰sing System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 鏈夊叧绋嬪簭闆嗙殑涓�鑸俊鎭敱浠ヤ笅
+// 鎺у埗銆傛洿鏀硅繖浜涚壒鎬у�煎彲淇敼
+// 涓庣▼搴忛泦鍏宠仈鐨勪俊鎭��
+[assembly: AssemblyTitle("Demo.DAL")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Demo.DAL")]
+[assembly: AssemblyCopyright("Copyright 漏 2020")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 灏� ComVisible 璁剧疆涓� false 浼氫娇姝ょ▼搴忛泦涓殑绫诲瀷
+//瀵� COM 缁勪欢涓嶅彲瑙併�傚鏋滈渶瑕佷粠 COM 璁块棶姝ょ▼搴忛泦涓殑绫诲瀷
+//璇峰皢姝ょ被鍨嬬殑 ComVisible 鐗规�ц缃负 true銆�
+[assembly: ComVisible(false)]
+
+// 濡傛灉姝ら」鐩悜 COM 鍏紑锛屽垯涓嬪垪 GUID 鐢ㄤ簬绫诲瀷搴撶殑 ID
+[assembly: Guid("1bd45ca7-de27-452f-b0ae-aa95ab2b4286")]
+
+// 绋嬪簭闆嗙殑鐗堟湰淇℃伅鐢变笅鍒楀洓涓�肩粍鎴�:
+//
+// 涓荤増鏈�
+// 娆$増鏈�
+// 鐢熸垚鍙�
+// 淇鍙�
+//
+//鍙互鎸囧畾鎵�鏈夎繖浜涘�硷紝涔熷彲浠ヤ娇鐢ㄢ�滅敓鎴愬彿鈥濆拰鈥滀慨璁㈠彿鈥濈殑榛樿鍊�
+//閫氳繃浣跨敤 "*"锛屽涓嬫墍绀�:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/src/DAL/Demo.Dal/packages.config b/src/DAL/Demo.Dal/packages.config
new file mode 100644
index 0000000..7c67281
--- /dev/null
+++ b/src/DAL/Demo.Dal/packages.config
@@ -0,0 +1,4 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="ZD.Cloud.Common" version="7.5.1.2" targetFramework="net452" />
+</packages>
\ No newline at end of file
diff --git a/src/DAL/Demo.IDal/Basic/IBD_MATERIALDal.cs b/src/DAL/Demo.IDal/Basic/IBD_MATERIALDal.cs
new file mode 100644
index 0000000..ac5446f
--- /dev/null
+++ b/src/DAL/Demo.IDal/Basic/IBD_MATERIALDal.cs
@@ -0,0 +1,16 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Demo.IDAL.Basic
+{
+ public interface IBD_MaterialDAL
+ {
+
+ void GetMaterialRecordBySearch();
+ void GetMaterialById(long materialId);
+ string GetMaterialNameByNumber(string number);
+ }
+}
diff --git a/src/DAL/Demo.IDal/Basic/IORG_OrganizationsDal.cs b/src/DAL/Demo.IDal/Basic/IORG_OrganizationsDal.cs
new file mode 100644
index 0000000..0d95f70
--- /dev/null
+++ b/src/DAL/Demo.IDal/Basic/IORG_OrganizationsDal.cs
@@ -0,0 +1,14 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Demo.IDAL.Basic
+{
+ public interface IORG_OrganizationsDAL
+ {
+ void GetOrgRecordBySearch();
+ void GetOrgById(long fid);
+ }
+}
diff --git a/src/DAL/Demo.IDal/Business/ISAL_SaleOrderDal.cs b/src/DAL/Demo.IDal/Business/ISAL_SaleOrderDal.cs
new file mode 100644
index 0000000..f85ec4c
--- /dev/null
+++ b/src/DAL/Demo.IDal/Business/ISAL_SaleOrderDal.cs
@@ -0,0 +1,16 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Demo.IDAL.Business
+{
+ public interface ISAL_SaleOrderDAL
+ {
+ void GetOrderRecordBySearch();
+ void GetOrderRecordByBillNo(string billNo);
+ void GetOrderHeadRecordByBillNo(string billNo);
+ void GetOrderEntryRecordByBillNo(string billNo);
+ }
+}
diff --git a/src/DAL/Demo.IDal/Demo.IDAL.csproj b/src/DAL/Demo.IDal/Demo.IDAL.csproj
new file mode 100644
index 0000000..1e3b654
--- /dev/null
+++ b/src/DAL/Demo.IDal/Demo.IDAL.csproj
@@ -0,0 +1,51 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{1B850AD6-24F3-483D-9469-16FA46C15F39}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Demo.IDAL</RootNamespace>
+ <AssemblyName>Demo.IDAL</AssemblyName>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <Deterministic>true</Deterministic>
+ <TargetFrameworkProfile />
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Net.Http" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Basic\IBD_MaterialDal.cs" />
+ <Compile Include="Basic\IORG_OrganizationsDal.cs" />
+ <Compile Include="Business\ISAL_SaleOrderDal.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project>
\ No newline at end of file
diff --git a/src/DAL/Demo.IDal/Properties/AssemblyInfo.cs b/src/DAL/Demo.IDal/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..3a27240
--- /dev/null
+++ b/src/DAL/Demo.IDal/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+锘縰sing System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 鏈夊叧绋嬪簭闆嗙殑涓�鑸俊鎭敱浠ヤ笅
+// 鎺у埗銆傛洿鏀硅繖浜涚壒鎬у�煎彲淇敼
+// 涓庣▼搴忛泦鍏宠仈鐨勪俊鎭��
+[assembly: AssemblyTitle("Demo.IDAL")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Demo.IDAL")]
+[assembly: AssemblyCopyright("Copyright 漏 2020")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 灏� ComVisible 璁剧疆涓� false 浼氫娇姝ょ▼搴忛泦涓殑绫诲瀷
+//瀵� COM 缁勪欢涓嶅彲瑙併�傚鏋滈渶瑕佷粠 COM 璁块棶姝ょ▼搴忛泦涓殑绫诲瀷
+//璇峰皢姝ょ被鍨嬬殑 ComVisible 鐗规�ц缃负 true銆�
+[assembly: ComVisible(false)]
+
+// 濡傛灉姝ら」鐩悜 COM 鍏紑锛屽垯涓嬪垪 GUID 鐢ㄤ簬绫诲瀷搴撶殑 ID
+[assembly: Guid("1b850ad6-24f3-483d-9469-16fa46c15f39")]
+
+// 绋嬪簭闆嗙殑鐗堟湰淇℃伅鐢变笅鍒楀洓涓�肩粍鎴�:
+//
+// 涓荤増鏈�
+// 娆$増鏈�
+// 鐢熸垚鍙�
+// 淇鍙�
+//
+//鍙互鎸囧畾鎵�鏈夎繖浜涘�硷紝涔熷彲浠ヤ娇鐢ㄢ�滅敓鎴愬彿鈥濆拰鈥滀慨璁㈠彿鈥濈殑榛樿鍊�
+//閫氳繃浣跨敤 "*"锛屽涓嬫墍绀�:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/src/Interface/Demo.IBLL/Demo.IBLL.csproj b/src/Interface/Demo.IBLL/Demo.IBLL.csproj
new file mode 100644
index 0000000..0b1a47c
--- /dev/null
+++ b/src/Interface/Demo.IBLL/Demo.IBLL.csproj
@@ -0,0 +1,48 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{6EBD3F63-5B7E-402A-90DC-42E3A27CFBE7}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Demo.IBLL</RootNamespace>
+ <AssemblyName>Demo.IBLL</AssemblyName>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <Deterministic>true</Deterministic>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Net.Http" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="SCM\ISAL_SaleOrderBLL.cs" />
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project>
\ No newline at end of file
diff --git a/src/Interface/Demo.IBLL/Properties/AssemblyInfo.cs b/src/Interface/Demo.IBLL/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..4f597b1
--- /dev/null
+++ b/src/Interface/Demo.IBLL/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+锘縰sing System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 鏈夊叧绋嬪簭闆嗙殑涓�鑸俊鎭敱浠ヤ笅
+// 鎺у埗銆傛洿鏀硅繖浜涚壒鎬у�煎彲淇敼
+// 涓庣▼搴忛泦鍏宠仈鐨勪俊鎭��
+[assembly: AssemblyTitle("Demo.IBLL")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Demo.IBLL")]
+[assembly: AssemblyCopyright("Copyright 漏 2020")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 灏� ComVisible 璁剧疆涓� false 浼氫娇姝ょ▼搴忛泦涓殑绫诲瀷
+//瀵� COM 缁勪欢涓嶅彲瑙併�傚鏋滈渶瑕佷粠 COM 璁块棶姝ょ▼搴忛泦涓殑绫诲瀷
+//璇峰皢姝ょ被鍨嬬殑 ComVisible 鐗规�ц缃负 true銆�
+[assembly: ComVisible(false)]
+
+// 濡傛灉姝ら」鐩悜 COM 鍏紑锛屽垯涓嬪垪 GUID 鐢ㄤ簬绫诲瀷搴撶殑 ID
+[assembly: Guid("6ebd3f63-5b7e-402a-90dc-42e3a27cfbe7")]
+
+// 绋嬪簭闆嗙殑鐗堟湰淇℃伅鐢变笅鍒楀洓涓�肩粍鎴�:
+//
+// 涓荤増鏈�
+// 娆$増鏈�
+// 鐢熸垚鍙�
+// 淇鍙�
+//
+//鍙互鎸囧畾鎵�鏈夎繖浜涘�硷紝涔熷彲浠ヤ娇鐢ㄢ�滅敓鎴愬彿鈥濆拰鈥滀慨璁㈠彿鈥濈殑榛樿鍊�
+//閫氳繃浣跨敤 "*"锛屽涓嬫墍绀�:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/src/Interface/Demo.IBLL/SCM/ISAL_SaleOrderBLL.cs b/src/Interface/Demo.IBLL/SCM/ISAL_SaleOrderBLL.cs
new file mode 100644
index 0000000..783c7ef
--- /dev/null
+++ b/src/Interface/Demo.IBLL/SCM/ISAL_SaleOrderBLL.cs
@@ -0,0 +1,13 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Demo.IBLL.SCM
+{
+ public interface ISAL_SaleOrderBLL
+ {
+ string GetMaterialNameByNumber(string number);
+ }
+}
diff --git a/src/Interface/Demo.IBillView/Demo.IBillView.csproj b/src/Interface/Demo.IBillView/Demo.IBillView.csproj
new file mode 100644
index 0000000..99da0bb
--- /dev/null
+++ b/src/Interface/Demo.IBillView/Demo.IBillView.csproj
@@ -0,0 +1,49 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{B247895D-99F6-4E63-9EF2-FF84A88BCD07}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Demo.IBillView</RootNamespace>
+ <AssemblyName>Demo.IBillView</AssemblyName>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <Deterministic>true</Deterministic>
+ <TargetFrameworkProfile />
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Net.Http" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="SCM\ISAL_SaleOrder.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project>
\ No newline at end of file
diff --git a/src/Interface/Demo.IBillView/Properties/AssemblyInfo.cs b/src/Interface/Demo.IBillView/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..96e84d3
--- /dev/null
+++ b/src/Interface/Demo.IBillView/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+锘縰sing System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 鏈夊叧绋嬪簭闆嗙殑涓�鑸俊鎭敱浠ヤ笅
+// 鎺у埗銆傛洿鏀硅繖浜涚壒鎬у�煎彲淇敼
+// 涓庣▼搴忛泦鍏宠仈鐨勪俊鎭��
+[assembly: AssemblyTitle("Demo.View")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Demo.View")]
+[assembly: AssemblyCopyright("Copyright 漏 2020")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 灏� ComVisible 璁剧疆涓� false 浼氫娇姝ょ▼搴忛泦涓殑绫诲瀷
+//瀵� COM 缁勪欢涓嶅彲瑙併�傚鏋滈渶瑕佷粠 COM 璁块棶姝ょ▼搴忛泦涓殑绫诲瀷
+//璇峰皢姝ょ被鍨嬬殑 ComVisible 鐗规�ц缃负 true銆�
+[assembly: ComVisible(false)]
+
+// 濡傛灉姝ら」鐩悜 COM 鍏紑锛屽垯涓嬪垪 GUID 鐢ㄤ簬绫诲瀷搴撶殑 ID
+[assembly: Guid("b247895d-99f6-4e63-9ef2-ff84a88bcd07")]
+
+// 绋嬪簭闆嗙殑鐗堟湰淇℃伅鐢变笅鍒楀洓涓�肩粍鎴�:
+//
+// 涓荤増鏈�
+// 娆$増鏈�
+// 鐢熸垚鍙�
+// 淇鍙�
+//
+//鍙互鎸囧畾鎵�鏈夎繖浜涘�硷紝涔熷彲浠ヤ娇鐢ㄢ�滅敓鎴愬彿鈥濆拰鈥滀慨璁㈠彿鈥濈殑榛樿鍊�
+//閫氳繃浣跨敤 "*"锛屽涓嬫墍绀�:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/src/Interface/Demo.IBillView/SCM/ISAL_SaleOrder.cs b/src/Interface/Demo.IBillView/SCM/ISAL_SaleOrder.cs
new file mode 100644
index 0000000..f08705e
--- /dev/null
+++ b/src/Interface/Demo.IBillView/SCM/ISAL_SaleOrder.cs
@@ -0,0 +1,19 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Demo.IBillView.SCM
+{
+ public interface ISAL_SaleOrder
+ {
+ /// <summary>
+ /// 鏍规嵁鍏蜂綋鍔熻兘鍛藉悕
+ /// </summary>
+ void AddBill();
+ void DelBill();
+ void UpdateBill();
+ void GetBill();
+ }
+}
diff --git a/src/Interface/Demo.ICommonFilter/Demo.ICommonFilter.csproj b/src/Interface/Demo.ICommonFilter/Demo.ICommonFilter.csproj
new file mode 100644
index 0000000..ce24d6c
--- /dev/null
+++ b/src/Interface/Demo.ICommonFilter/Demo.ICommonFilter.csproj
@@ -0,0 +1,49 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{EE696169-FB45-4CA9-8EE2-AC9146637D24}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Demo.ICommonFilter</RootNamespace>
+ <AssemblyName>Demo.ICommonFilter</AssemblyName>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <Deterministic>true</Deterministic>
+ <TargetFrameworkProfile />
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Net.Http" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="SCM\ISAL_SaleOrderCommonFilter.cs" />
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project>
\ No newline at end of file
diff --git a/src/Interface/Demo.ICommonFilter/Properties/AssemblyInfo.cs b/src/Interface/Demo.ICommonFilter/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..70bdea5
--- /dev/null
+++ b/src/Interface/Demo.ICommonFilter/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+锘縰sing System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 鏈夊叧绋嬪簭闆嗙殑涓�鑸俊鎭敱浠ヤ笅
+// 鎺у埗銆傛洿鏀硅繖浜涚壒鎬у�煎彲淇敼
+// 涓庣▼搴忛泦鍏宠仈鐨勪俊鎭��
+[assembly: AssemblyTitle("Demo.ICommonFilter")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Demo.ICommonFilter")]
+[assembly: AssemblyCopyright("Copyright 漏 2020")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 灏� ComVisible 璁剧疆涓� false 浼氫娇姝ょ▼搴忛泦涓殑绫诲瀷
+//瀵� COM 缁勪欢涓嶅彲瑙併�傚鏋滈渶瑕佷粠 COM 璁块棶姝ょ▼搴忛泦涓殑绫诲瀷
+//璇峰皢姝ょ被鍨嬬殑 ComVisible 鐗规�ц缃负 true銆�
+[assembly: ComVisible(false)]
+
+// 濡傛灉姝ら」鐩悜 COM 鍏紑锛屽垯涓嬪垪 GUID 鐢ㄤ簬绫诲瀷搴撶殑 ID
+[assembly: Guid("ee696169-fb45-4ca9-8ee2-ac9146637d24")]
+
+// 绋嬪簭闆嗙殑鐗堟湰淇℃伅鐢变笅鍒楀洓涓�肩粍鎴�:
+//
+// 涓荤増鏈�
+// 娆$増鏈�
+// 鐢熸垚鍙�
+// 淇鍙�
+//
+//鍙互鎸囧畾鎵�鏈夎繖浜涘�硷紝涔熷彲浠ヤ娇鐢ㄢ�滅敓鎴愬彿鈥濆拰鈥滀慨璁㈠彿鈥濈殑榛樿鍊�
+//閫氳繃浣跨敤 "*"锛屽涓嬫墍绀�:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/src/Interface/Demo.ICommonFilter/SCM/ISAL_SaleOrderCommonFilter.cs b/src/Interface/Demo.ICommonFilter/SCM/ISAL_SaleOrderCommonFilter.cs
new file mode 100644
index 0000000..0723603
--- /dev/null
+++ b/src/Interface/Demo.ICommonFilter/SCM/ISAL_SaleOrderCommonFilter.cs
@@ -0,0 +1,12 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Demo.ICommonFilter.SCM
+{
+ public interface ISAL_SaleOrderCommonFilter
+ {
+ }
+}
diff --git a/src/Interface/Demo.IDynamicForm/Demo.IDynamicForm.csproj b/src/Interface/Demo.IDynamicForm/Demo.IDynamicForm.csproj
new file mode 100644
index 0000000..c2bd565
--- /dev/null
+++ b/src/Interface/Demo.IDynamicForm/Demo.IDynamicForm.csproj
@@ -0,0 +1,48 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{7130622E-E30F-4A75-A6D9-35128A1B33F3}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Demo.IDynamicForm</RootNamespace>
+ <AssemblyName>Demo.IDynamicForm</AssemblyName>
+ <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <Deterministic>true</Deterministic>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Net.Http" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="SCM\ISAL_SaleOrderDynamicForm.cs" />
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project>
\ No newline at end of file
diff --git a/src/Interface/Demo.IDynamicForm/Properties/AssemblyInfo.cs b/src/Interface/Demo.IDynamicForm/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..de7887f
--- /dev/null
+++ b/src/Interface/Demo.IDynamicForm/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+锘縰sing System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 鏈夊叧绋嬪簭闆嗙殑涓�鑸俊鎭敱浠ヤ笅
+// 鎺у埗銆傛洿鏀硅繖浜涚壒鎬у�煎彲淇敼
+// 涓庣▼搴忛泦鍏宠仈鐨勪俊鎭��
+[assembly: AssemblyTitle("Demo.IDynamicForm")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Demo.IDynamicForm")]
+[assembly: AssemblyCopyright("Copyright 漏 2020")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 灏� ComVisible 璁剧疆涓� false 浼氫娇姝ょ▼搴忛泦涓殑绫诲瀷
+//瀵� COM 缁勪欢涓嶅彲瑙併�傚鏋滈渶瑕佷粠 COM 璁块棶姝ょ▼搴忛泦涓殑绫诲瀷
+//璇峰皢姝ょ被鍨嬬殑 ComVisible 鐗规�ц缃负 true銆�
+[assembly: ComVisible(false)]
+
+// 濡傛灉姝ら」鐩悜 COM 鍏紑锛屽垯涓嬪垪 GUID 鐢ㄤ簬绫诲瀷搴撶殑 ID
+[assembly: Guid("7130622e-e30f-4a75-a6d9-35128a1b33f3")]
+
+// 绋嬪簭闆嗙殑鐗堟湰淇℃伅鐢变笅鍒楀洓涓�肩粍鎴�:
+//
+// 涓荤増鏈�
+// 娆$増鏈�
+// 鐢熸垚鍙�
+// 淇鍙�
+//
+//鍙互鎸囧畾鎵�鏈夎繖浜涘�硷紝涔熷彲浠ヤ娇鐢ㄢ�滅敓鎴愬彿鈥濆拰鈥滀慨璁㈠彿鈥濈殑榛樿鍊�
+//閫氳繃浣跨敤 "*"锛屽涓嬫墍绀�:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/src/Interface/Demo.IDynamicForm/SCM/ISAL_SaleOrderDynamicForm.cs b/src/Interface/Demo.IDynamicForm/SCM/ISAL_SaleOrderDynamicForm.cs
new file mode 100644
index 0000000..e6c3f04
--- /dev/null
+++ b/src/Interface/Demo.IDynamicForm/SCM/ISAL_SaleOrderDynamicForm.cs
@@ -0,0 +1,12 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Demo.IDynamicForm.SCM
+{
+ public interface ISAL_SaleOrderDynamicForm
+ {
+ }
+}
diff --git a/src/Interface/Demo.IListView/Demo.IListView.csproj b/src/Interface/Demo.IListView/Demo.IListView.csproj
new file mode 100644
index 0000000..2050b08
--- /dev/null
+++ b/src/Interface/Demo.IListView/Demo.IListView.csproj
@@ -0,0 +1,48 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{17AD5715-C575-4A7A-B5F6-FB20C6DCAF67}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Demo.IListView</RootNamespace>
+ <AssemblyName>Demo.IListView</AssemblyName>
+ <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <Deterministic>true</Deterministic>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Net.Http" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="SCM\ISAL_SaleOrderListView.cs" />
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project>
\ No newline at end of file
diff --git a/src/Interface/Demo.IListView/Properties/AssemblyInfo.cs b/src/Interface/Demo.IListView/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..f4ac76b
--- /dev/null
+++ b/src/Interface/Demo.IListView/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+锘縰sing System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 鏈夊叧绋嬪簭闆嗙殑涓�鑸俊鎭敱浠ヤ笅
+// 鎺у埗銆傛洿鏀硅繖浜涚壒鎬у�煎彲淇敼
+// 涓庣▼搴忛泦鍏宠仈鐨勪俊鎭��
+[assembly: AssemblyTitle("Demo.IListView")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Demo.IListView")]
+[assembly: AssemblyCopyright("Copyright 漏 2020")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 灏� ComVisible 璁剧疆涓� false 浼氫娇姝ょ▼搴忛泦涓殑绫诲瀷
+//瀵� COM 缁勪欢涓嶅彲瑙併�傚鏋滈渶瑕佷粠 COM 璁块棶姝ょ▼搴忛泦涓殑绫诲瀷
+//璇峰皢姝ょ被鍨嬬殑 ComVisible 鐗规�ц缃负 true銆�
+[assembly: ComVisible(false)]
+
+// 濡傛灉姝ら」鐩悜 COM 鍏紑锛屽垯涓嬪垪 GUID 鐢ㄤ簬绫诲瀷搴撶殑 ID
+[assembly: Guid("17ad5715-c575-4a7a-b5f6-fb20c6dcaf67")]
+
+// 绋嬪簭闆嗙殑鐗堟湰淇℃伅鐢变笅鍒楀洓涓�肩粍鎴�:
+//
+// 涓荤増鏈�
+// 娆$増鏈�
+// 鐢熸垚鍙�
+// 淇鍙�
+//
+//鍙互鎸囧畾鎵�鏈夎繖浜涘�硷紝涔熷彲浠ヤ娇鐢ㄢ�滅敓鎴愬彿鈥濆拰鈥滀慨璁㈠彿鈥濈殑榛樿鍊�
+//閫氳繃浣跨敤 "*"锛屽涓嬫墍绀�:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/src/Interface/Demo.IListView/SCM/ISAL_SaleOrderListView.cs b/src/Interface/Demo.IListView/SCM/ISAL_SaleOrderListView.cs
new file mode 100644
index 0000000..a39a50b
--- /dev/null
+++ b/src/Interface/Demo.IListView/SCM/ISAL_SaleOrderListView.cs
@@ -0,0 +1,16 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Demo.IListView.SCM
+{
+ public interface ISAL_SaleOrderListView
+ {
+ void AddBill();
+ void DelBill();
+ void UpdateBill();
+ void GetBill();
+ }
+}
diff --git a/src/Interface/Demo.IOperationService/Demo.IOperationService.csproj b/src/Interface/Demo.IOperationService/Demo.IOperationService.csproj
new file mode 100644
index 0000000..c944917
--- /dev/null
+++ b/src/Interface/Demo.IOperationService/Demo.IOperationService.csproj
@@ -0,0 +1,50 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{C1C5AD26-9BE1-4050-B65A-2B8FA2EAAFAB}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Demo.IOperationService</RootNamespace>
+ <AssemblyName>Demo.IOperationService</AssemblyName>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <Deterministic>true</Deterministic>
+ <TargetFrameworkProfile />
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Net.Http" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="SCM\SAL_SaleOrder\ISAL_SaleOrderConvertBill.cs" />
+ <Compile Include="SCM\SAL_SaleOrder\ISAL_SaleOrderService.cs" />
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project>
\ No newline at end of file
diff --git a/src/Interface/Demo.IOperationService/Properties/AssemblyInfo.cs b/src/Interface/Demo.IOperationService/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..1d0693f
--- /dev/null
+++ b/src/Interface/Demo.IOperationService/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+锘縰sing System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 鏈夊叧绋嬪簭闆嗙殑涓�鑸俊鎭敱浠ヤ笅
+// 鎺у埗銆傛洿鏀硅繖浜涚壒鎬у�煎彲淇敼
+// 涓庣▼搴忛泦鍏宠仈鐨勪俊鎭��
+[assembly: AssemblyTitle("Demo.IService")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Demo.IService")]
+[assembly: AssemblyCopyright("Copyright 漏 2020")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 灏� ComVisible 璁剧疆涓� false 浼氫娇姝ょ▼搴忛泦涓殑绫诲瀷
+//瀵� COM 缁勪欢涓嶅彲瑙併�傚鏋滈渶瑕佷粠 COM 璁块棶姝ょ▼搴忛泦涓殑绫诲瀷
+//璇峰皢姝ょ被鍨嬬殑 ComVisible 鐗规�ц缃负 true銆�
+[assembly: ComVisible(false)]
+
+// 濡傛灉姝ら」鐩悜 COM 鍏紑锛屽垯涓嬪垪 GUID 鐢ㄤ簬绫诲瀷搴撶殑 ID
+[assembly: Guid("c1c5ad26-9be1-4050-b65a-2b8fa2eaafab")]
+
+// 绋嬪簭闆嗙殑鐗堟湰淇℃伅鐢变笅鍒楀洓涓�肩粍鎴�:
+//
+// 涓荤増鏈�
+// 娆$増鏈�
+// 鐢熸垚鍙�
+// 淇鍙�
+//
+//鍙互鎸囧畾鎵�鏈夎繖浜涘�硷紝涔熷彲浠ヤ娇鐢ㄢ�滅敓鎴愬彿鈥濆拰鈥滀慨璁㈠彿鈥濈殑榛樿鍊�
+//閫氳繃浣跨敤 "*"锛屽涓嬫墍绀�:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/src/Interface/Demo.IOperationService/SCM/SAL_SaleOrder/ISAL_SaleOrderConvertBill.cs b/src/Interface/Demo.IOperationService/SCM/SAL_SaleOrder/ISAL_SaleOrderConvertBill.cs
new file mode 100644
index 0000000..ee1df3f
--- /dev/null
+++ b/src/Interface/Demo.IOperationService/SCM/SAL_SaleOrder/ISAL_SaleOrderConvertBill.cs
@@ -0,0 +1,12 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Demo.IOperationService.SCM.SAL_SaleOrder
+{
+ public interface ISAL_SaleOrderConvertBill
+ {
+ }
+}
diff --git a/src/Interface/Demo.IOperationService/SCM/SAL_SaleOrder/ISAL_SaleOrderService.cs b/src/Interface/Demo.IOperationService/SCM/SAL_SaleOrder/ISAL_SaleOrderService.cs
new file mode 100644
index 0000000..c2e1e36
--- /dev/null
+++ b/src/Interface/Demo.IOperationService/SCM/SAL_SaleOrder/ISAL_SaleOrderService.cs
@@ -0,0 +1,12 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Demo.IOperationService.SCM.SAL_SaleOrder
+{
+ public interface ISAL_SaleOrderService
+ {
+ }
+}
diff --git a/src/Interface/Demo.ISysReportView/Demo.ISysReportView.csproj b/src/Interface/Demo.ISysReportView/Demo.ISysReportView.csproj
new file mode 100644
index 0000000..94136ba
--- /dev/null
+++ b/src/Interface/Demo.ISysReportView/Demo.ISysReportView.csproj
@@ -0,0 +1,48 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{5BFCB20C-0298-4A59-88BC-1D2604566EBF}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Demo.ISysReportView</RootNamespace>
+ <AssemblyName>Demo.ISysReportView</AssemblyName>
+ <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <Deterministic>true</Deterministic>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Net.Http" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="SCM\IReportView.cs" />
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project>
\ No newline at end of file
diff --git a/src/Interface/Demo.ISysReportView/Properties/AssemblyInfo.cs b/src/Interface/Demo.ISysReportView/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..23bfa48
--- /dev/null
+++ b/src/Interface/Demo.ISysReportView/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+锘縰sing System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 鏈夊叧绋嬪簭闆嗙殑涓�鑸俊鎭敱浠ヤ笅
+// 鎺у埗銆傛洿鏀硅繖浜涚壒鎬у�煎彲淇敼
+// 涓庣▼搴忛泦鍏宠仈鐨勪俊鎭��
+[assembly: AssemblyTitle("Demo.ISysReportView")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Demo.ISysReportView")]
+[assembly: AssemblyCopyright("Copyright 漏 2020")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 灏� ComVisible 璁剧疆涓� false 浼氫娇姝ょ▼搴忛泦涓殑绫诲瀷
+//瀵� COM 缁勪欢涓嶅彲瑙併�傚鏋滈渶瑕佷粠 COM 璁块棶姝ょ▼搴忛泦涓殑绫诲瀷
+//璇峰皢姝ょ被鍨嬬殑 ComVisible 鐗规�ц缃负 true銆�
+[assembly: ComVisible(false)]
+
+// 濡傛灉姝ら」鐩悜 COM 鍏紑锛屽垯涓嬪垪 GUID 鐢ㄤ簬绫诲瀷搴撶殑 ID
+[assembly: Guid("5bfcb20c-0298-4a59-88bc-1d2604566ebf")]
+
+// 绋嬪簭闆嗙殑鐗堟湰淇℃伅鐢变笅鍒楀洓涓�肩粍鎴�:
+//
+// 涓荤増鏈�
+// 娆$増鏈�
+// 鐢熸垚鍙�
+// 淇鍙�
+//
+//鍙互鎸囧畾鎵�鏈夎繖浜涘�硷紝涔熷彲浠ヤ娇鐢ㄢ�滅敓鎴愬彿鈥濆拰鈥滀慨璁㈠彿鈥濈殑榛樿鍊�
+//閫氳繃浣跨敤 "*"锛屽涓嬫墍绀�:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/src/Interface/Demo.ISysReportView/SCM/IReportView.cs b/src/Interface/Demo.ISysReportView/SCM/IReportView.cs
new file mode 100644
index 0000000..b4fecd9
--- /dev/null
+++ b/src/Interface/Demo.ISysReportView/SCM/IReportView.cs
@@ -0,0 +1,12 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Demo.ISysReportView.SCM
+{
+ public interface IReportView
+ {
+ }
+}
diff --git a/src/Model/Demo.Model/Demo.Model.csproj b/src/Model/Demo.Model/Demo.Model.csproj
new file mode 100644
index 0000000..0e7961c
--- /dev/null
+++ b/src/Model/Demo.Model/Demo.Model.csproj
@@ -0,0 +1,53 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{F79642D8-3172-4655-9FA8-C20151591048}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Demo.Model</RootNamespace>
+ <AssemblyName>Demo.Model</AssemblyName>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <Deterministic>true</Deterministic>
+ <TargetFrameworkProfile />
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Net.Http" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Entity\SCM\SAL_SaleOrder.cs" />
+ <Compile Include="Infrastructure\IBillHead.cs" />
+ <Compile Include="Infrastructure\IBillEntry.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="SearchModel\SAL_SaleOrderSearch.cs" />
+ </ItemGroup>
+ <ItemGroup />
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project>
\ No newline at end of file
diff --git a/src/Model/Demo.Model/Entity/SCM/SAL_SaleOrder.cs b/src/Model/Demo.Model/Entity/SCM/SAL_SaleOrder.cs
new file mode 100644
index 0000000..423fda0
--- /dev/null
+++ b/src/Model/Demo.Model/Entity/SCM/SAL_SaleOrder.cs
@@ -0,0 +1,32 @@
+锘縰sing Demo.Model.Infrastructure;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Demo.Model.Entity.SCM
+{
+ public class SAL_SaleOrder : IBillHead
+ {
+ public long FSaleOrgId { get; set; }
+ public DateTime FDate { get; set; }
+ public string FBillNo { get; set; }
+ public string FBillTypeID { get; set; }
+ public long FCreatorId { get; set; }
+ public DateTime FCreateDate { get; set; }
+ public long FModifierId { get; set; }
+ public DateTime FModifyDate { get; set; }
+ public long FApproverId { get; set; }
+ public DateTime FApproveDate { get; set; }
+ public string FDocumentStatus { get; set; }
+ }
+
+ public class SAL_SaleOrderEntry : IBillEntry
+ {
+ public string FMaterialId { get; set; }
+ public string FStockId { get; set; }
+ public decimal FQty { get; set; }
+ public decimal FPrice { get; set; }
+ }
+}
diff --git a/src/Model/Demo.Model/Entity/infrastructure/IBillEntry.cs b/src/Model/Demo.Model/Entity/infrastructure/IBillEntry.cs
new file mode 100644
index 0000000..84a50d8
--- /dev/null
+++ b/src/Model/Demo.Model/Entity/infrastructure/IBillEntry.cs
@@ -0,0 +1,16 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Demo.Model.Entity.infrastructure
+{
+ public interface IBillEntry
+ {
+ string FMaterialId { get; set; }
+ string FStockId { get; set; }
+ decimal FQty { get; set; }
+ decimal FPrice { get; set; }
+ }
+}
diff --git a/src/Model/Demo.Model/Entity/infrastructure/IBillHead.cs b/src/Model/Demo.Model/Entity/infrastructure/IBillHead.cs
new file mode 100644
index 0000000..8b448b6
--- /dev/null
+++ b/src/Model/Demo.Model/Entity/infrastructure/IBillHead.cs
@@ -0,0 +1,22 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Demo.Model.Entity.infrastructure
+{
+ public interface IBillHead
+ {
+ DateTime FDate { get; set; }
+ string FBillNo { get; set; }
+ string FBillTypeID { get; set; }
+ long FCreatorId { get; set; }
+ DateTime FCreateDate { get; set; }
+ long FModifierId { get; set; }
+ DateTime FModifyDate { get; set; }
+ long FApproverId { get; set; }
+ DateTime FApproveDate { get; set; }
+ string FDocumentStatus { get; set; }
+ }
+}
diff --git a/src/Model/Demo.Model/Infrastructure/IBillEntry.cs b/src/Model/Demo.Model/Infrastructure/IBillEntry.cs
new file mode 100644
index 0000000..89d0eb6
--- /dev/null
+++ b/src/Model/Demo.Model/Infrastructure/IBillEntry.cs
@@ -0,0 +1,16 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Demo.Model.Infrastructure
+{
+ public interface IBillEntry
+ {
+ string FMaterialId { get; set; }
+ string FStockId { get; set; }
+ decimal FQty { get; set; }
+ decimal FPrice { get; set; }
+ }
+}
diff --git a/src/Model/Demo.Model/Infrastructure/IBillHead.cs b/src/Model/Demo.Model/Infrastructure/IBillHead.cs
new file mode 100644
index 0000000..a9d1b1c
--- /dev/null
+++ b/src/Model/Demo.Model/Infrastructure/IBillHead.cs
@@ -0,0 +1,22 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Demo.Model.Infrastructure
+{
+ public interface IBillHead
+ {
+ DateTime FDate { get; set; }
+ string FBillNo { get; set; }
+ string FBillTypeID { get; set; }
+ long FCreatorId { get; set; }
+ DateTime FCreateDate { get; set; }
+ long FModifierId { get; set; }
+ DateTime FModifyDate { get; set; }
+ long FApproverId { get; set; }
+ DateTime FApproveDate { get; set; }
+ string FDocumentStatus { get; set; }
+ }
+}
diff --git a/src/Model/Demo.Model/Properties/AssemblyInfo.cs b/src/Model/Demo.Model/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..9de24d5
--- /dev/null
+++ b/src/Model/Demo.Model/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+锘縰sing System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 鏈夊叧绋嬪簭闆嗙殑涓�鑸俊鎭敱浠ヤ笅
+// 鎺у埗銆傛洿鏀硅繖浜涚壒鎬у�煎彲淇敼
+// 涓庣▼搴忛泦鍏宠仈鐨勪俊鎭��
+[assembly: AssemblyTitle("Demo.Model")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Demo.Model")]
+[assembly: AssemblyCopyright("Copyright 漏 2020")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 灏� ComVisible 璁剧疆涓� false 浼氫娇姝ょ▼搴忛泦涓殑绫诲瀷
+//瀵� COM 缁勪欢涓嶅彲瑙併�傚鏋滈渶瑕佷粠 COM 璁块棶姝ょ▼搴忛泦涓殑绫诲瀷
+//璇峰皢姝ょ被鍨嬬殑 ComVisible 鐗规�ц缃负 true銆�
+[assembly: ComVisible(false)]
+
+// 濡傛灉姝ら」鐩悜 COM 鍏紑锛屽垯涓嬪垪 GUID 鐢ㄤ簬绫诲瀷搴撶殑 ID
+[assembly: Guid("f79642d8-3172-4655-9fa8-c20151591048")]
+
+// 绋嬪簭闆嗙殑鐗堟湰淇℃伅鐢变笅鍒楀洓涓�肩粍鎴�:
+//
+// 涓荤増鏈�
+// 娆$増鏈�
+// 鐢熸垚鍙�
+// 淇鍙�
+//
+//鍙互鎸囧畾鎵�鏈夎繖浜涘�硷紝涔熷彲浠ヤ娇鐢ㄢ�滅敓鎴愬彿鈥濆拰鈥滀慨璁㈠彿鈥濈殑榛樿鍊�
+//閫氳繃浣跨敤 "*"锛屽涓嬫墍绀�:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/src/Model/Demo.Model/SearchModel/SAL_SaleOrderSearch.cs b/src/Model/Demo.Model/SearchModel/SAL_SaleOrderSearch.cs
new file mode 100644
index 0000000..60247f6
--- /dev/null
+++ b/src/Model/Demo.Model/SearchModel/SAL_SaleOrderSearch.cs
@@ -0,0 +1,17 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Security.Policy;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Demo.Model.SearchModel
+{
+ public class SAL_SaleOrderSearch
+ {
+ public long FID { get; set; }
+ public string FBillNo { get; set; }
+
+
+ }
+}
diff --git a/src/ProductizationTemplate/BillConvertServicePlugin/MyBillConvertServicePlugin.cs b/src/ProductizationTemplate/BillConvertServicePlugin/MyBillConvertServicePlugin.cs
new file mode 100644
index 0000000..d2d24e4
--- /dev/null
+++ b/src/ProductizationTemplate/BillConvertServicePlugin/MyBillConvertServicePlugin.cs
@@ -0,0 +1,69 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn;
+using Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn.Args;
+using Kingdee.BOS.Core.Metadata;
+using Kingdee.BOS.Core;
+
+namespace ProductizationTemplate.BillConvertServicePlugin
+{
+ public class MyBillConvertServicePlugin : AbstractConvertPlugIn
+ {
+ /// <summary>
+ /// 瑙f瀽瀛楁鏄犲皠鍏崇郴锛屽苟鏋勫缓鏌ヨ鍙傛暟銆�
+ /// 杩欓噷鍙互鍔犲叆浣犳兂瑕佺殑瀛楁
+ /// </summary>
+ /// <param name="e">浜嬩欢鍙傛暟鍖�</param>
+ public override void OnQueryBuilderParemeter(QueryBuilderParemeterEventArgs e)
+ {
+ //e.SelectItems.Add(new SelectorItemInfo("")); 娣诲姞浣犻渶瑕佹坊鍔犵殑瀛楁鐨凨ey
+ }
+
+ /// <summary>
+ /// 鍒涘缓鍏宠仈鍏崇郴鍚庝簨浠�
+ /// </summary>
+ /// <param name="e">浜嬩欢鍙傛暟鍖�</param>
+ public override void OnAfterCreateLink(CreateLinkEventArgs e)
+ {
+
+ }
+
+ /// <summary>
+ /// 涓嬫帹/閫夊崟鏃讹紝鏍规嵁瀛楁鏄犲皠,鍚戠洰鏍囧瓧娈靛~鍏呭��
+ /// </summary>
+ /// <param name="e"></param>
+ public override void OnFieldMapping(FieldMappingEventArgs e)
+ {
+ switch (e.TargetField.Key.ToUpperInvariant())
+ {
+ //case "FXXX": 閫夊崟鏃剁殑鐩爣瀛楁Key銆愬ぇ鍐欍�戯紝鍙互鏍规嵁鏉′欢璁剧疆鍊糴.MapValue
+ // e.MapValue = "";
+ // break;
+ case "":
+ break;
+ default:
+ break;
+ }
+ }
+
+ /// <summary>
+ /// 涓嬫帹/閫夊崟锛岃嚜鍔ㄥ~鍏呯洰鏍囧瓧娈靛�煎畬姣曞悗锛岃繖閲屽彲浠ュ濉厖鍊艰繘琛屼慨澶嶏紝澶勭悊
+ /// </summary>
+ /// <param name="e"></param>
+ public override void OnAfterFieldMapping(AfterFieldMappingEventArgs e)
+ {
+
+ }
+
+ /// <summary>
+ /// 鏈�鍚庤Е鍙戯細鍗曟嵁杞崲鍚庝簨浠�
+ /// </summary>
+ /// <param name="e"></param>
+ public override void AfterConvert(AfterConvertEventArgs e)
+ {
+
+ }
+ }
+}
diff --git a/src/ProductizationTemplate/BillPlugin/MyBillPlugin.cs b/src/ProductizationTemplate/BillPlugin/MyBillPlugin.cs
new file mode 100644
index 0000000..cfa021c
--- /dev/null
+++ b/src/ProductizationTemplate/BillPlugin/MyBillPlugin.cs
@@ -0,0 +1,192 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Kingdee.BOS;
+using Kingdee.BOS.Core.Bill.PlugIn;
+using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
+using Kingdee.BOS.Orm.DataEntity;
+using Kingdee.BOS.Core.SqlBuilder;
+using Kingdee.BOS.Core.Metadata;
+using Kingdee.BOS.Util;
+using System.ComponentModel;
+using Demo.BillView.SCM;
+
+namespace ProductizationTemplate.BillPlugIn
+{
+ [HotUpdate]
+ [Description("琛ㄥ崟鎻掍欢")]
+ public class MyBillPlugin : SAL_SaleOrder
+ {
+ /// <summary>
+ /// 鍒濆鍖栵紝瀵瑰叾浠栫晫闈紶鏉ョ殑鍙傛暟杩涜澶勭悊锛屽鎺т欢鏌愪簺灞炴�ц繘琛屽鐞�
+ /// 杩欓噷涓嶅疁瀵规暟鎹瓺ataModel杩涜澶勭悊
+ /// </summary>
+ /// <param name="e"></param>
+ public override void OnInitialize(InitializeEventArgs e)
+ {
+
+ }
+
+ public override void ButtonClick(ButtonClickEventArgs e)
+ {
+ base.ButtonClick(e);
+ }
+
+ /// <summary>
+ /// 鏂板缓鍗曟嵁鍔犺浇鏁版嵁瀹屾垚涔嬪悗锛岄渶瑕佸鐞嗙殑鍔熻兘
+ /// </summary>
+ /// <param name="e"></param>
+ public override void AfterCreateNewData(EventArgs e)
+ {
+
+ }
+
+ /// <summary>
+ /// 淇敼锛屾煡鐪嬪崟鎹姞杞藉凡鏈夋暟鎹箣鍚庯紝闇�瑕佸鐞嗙殑鍔熻兘
+ /// </summary>
+ /// <param name="e"></param>
+ public override void AfterLoadData(EventArgs e)
+ {
+ base.AfterLoadData(e);
+
+ this.View.Model.SetValue("FText", "123");
+ }
+
+ /// <summary>
+ /// 鏁版嵁鍔犺浇涔嬪悗锛岄渶瑕佸鐞嗙殑鍔熻兘锛岃繖閲屼富瑕佸鐣岄潰鏍峰紡杩涜澶勭悊锛屽敖閲忎笉瑕佸Datamodel杩涜澶勭悊
+ /// </summary>
+ /// <param name="e"></param>
+ public override void AfterBindData(EventArgs e)
+ {
+
+ }
+
+ /// <summary>
+ /// 鍦ㄦ牴鎹紪鐮佹绱㈡暟鎹箣鍓嶈皟鐢紱
+ /// 閫氳繃閲嶈浇鏈簨浠讹紝鍙互璁剧疆蹇呰鐨勮繃婊ゆ潯浠讹紝浠ラ檺瀹氭绱㈣寖鍥达紱
+ /// 杩樺彲浠ユ帶鍒跺綋鍓嶈繃婊ゆ槸鍚﹀惎鐢ㄧ粍缁囬殧绂伙紝鏁版嵁鐘舵�侀殧绂�
+ /// </summary>
+ /// <param name="e"></param>
+ public override void BeforeSetItemValueByNumber(BeforeSetItemValueByNumberArgs e)
+ {
+ switch (e.BaseDataField.Key.ToUpperInvariant())
+ {
+ //case "FXXX":閫氳繃瀛楁鐨凨ey[澶у啓]鏉ュ尯鍒嗕笉鍚岀殑鍩虹璧勬枡
+ //e.Filter = "FXXX= AND fxxy=";杩囨护鐨勫瓧娈典娇鐢ㄥ搴斿熀纭�璧勬枡鐨勫瓧娈电殑Key锛屾敮鎸乲sql璇硶
+ //break;
+ case "":
+ break;
+ default:
+ break;
+ }
+ }
+
+ /// <summary>
+ /// 鏄剧ず鍩虹璧勬枡鍒楄〃涔嬪墠璋冪敤
+ /// 閫氳繃閲嶈浇鏈簨浠讹紝鍙互璁剧疆蹇呰鐨勮繃婊ゆ潯浠讹紝浠ラ檺瀹氭绱㈣寖鍥达紱
+ /// </summary>
+ /// <param name="e"></param>
+ public override void BeforeF7Select(BeforeF7SelectEventArgs e)
+ {
+ switch (e.FieldKey.ToUpperInvariant())
+ {
+ //case "FXXX":閫氳繃瀛楁鐨凨ey[澶у啓]鏉ュ尯鍒嗕笉鍚岀殑鍩虹璧勬枡
+ // e.ListFilterParameter.Filter = "FXXX= AND fxxy=";杩囨护鐨勫瓧娈典娇鐢ㄥ搴斿熀纭�璧勬枡鐨勫瓧娈电殑Key锛屾敮鎸乲sql璇硶
+ //break;
+ case "":
+ break;
+ default:
+ break;
+ }
+ }
+
+ /// <summary>
+ /// 鐣岄潰鏁版嵁鍙戠敓鍙樺寲涔嬪墠锛岄渶瑕佸鐞嗙殑鍔熻兘
+ /// </summary>
+ /// <param name="e"></param>
+ public override void BeforeUpdateValue(BeforeUpdateValueEventArgs e)
+ {
+ switch (e.Key.ToUpperInvariant())
+ {
+ //case "FXXX":閫氳繃瀛楁鐨凨ey[澶у啓]鏉ュ尯鍒嗕笉鍚岀殑鎺т欢鐨勬暟鎹彉鍖栧姛鑳斤紝濡傛灉瑕侀樆姝㈣娆″彉鍖栵紝鍙互鐢╡.Cancel = true;
+ // e.Cancel = true;
+ // break;
+ case "":
+ break;
+ default:
+ break;
+ }
+ }
+
+ /// <summary>
+ /// 鐣岄潰鏁版嵁鍙戠敓鍙樺寲涔嬪悗锛岄渶瑕佸鐞嗙殑鍔熻兘
+ /// </summary>
+ /// <param name="e"></param>
+ public override void DataChanged(DataChangedEventArgs e)
+ {
+ switch (e.Field.Key.ToUpperInvariant())
+ {
+ case "":
+ break;
+ default:
+ break;
+ }
+ }
+
+ /// <summary>
+ /// 鍗曟嵁鎸佹湁浜嬩欢鍙戠敓鍓嶉渶瑕佸畬鎴愮殑鍔熻兘
+ /// </summary>
+ /// <param name="e"></param>
+ public override void BeforeDoOperation(BeforeDoOperationEventArgs e)
+ {
+ switch (e.Operation.FormOperation.Operation.ToUpperInvariant())
+ {
+ //case "SAVE": 琛ㄥ崟瀹氫箟鐨勪簨浠堕兘鍙互鍦ㄨ繖閲屾墽琛岋紝闇�瑕侀�氳繃浜嬩欢鐨勪唬鐮乕澶у啓]鍖哄垎涓嶅悓浜嬩欢
+ //break;
+ case "":
+ break;
+ default:
+ break;
+ }
+
+
+ }
+
+ /// <summary>
+ /// 鍗曟嵁鎸佹湁浜嬩欢鍙戠敓鍚庨渶瑕佸畬鎴愮殑鍔熻兘
+ /// </summary>
+ /// <param name="e"></param>
+ public override void AfterDoOperation(AfterDoOperationEventArgs e)
+ {
+ switch (e.Operation.Operation.ToUpperInvariant())
+ {
+ //case "SAVE": 琛ㄥ崟瀹氫箟鐨勪簨浠堕兘鍙互鍦ㄨ繖閲屾墽琛岋紝闇�瑕侀�氳繃浜嬩欢鐨勪唬鐮乕澶у啓]鍖哄垎涓嶅悓浜嬩欢
+ //break;
+ case "":
+ break;
+ default:
+ break;
+ }
+ }
+
+ /// <summary>
+ /// queryservice鍙栨暟鏂规锛岄�氳繃涓氬姟瀵硅薄鏉ヨ幏鍙栨暟鎹紝鎺ㄨ崘浣跨敤
+ /// </summary>
+ /// <returns></returns>
+ public DynamicObjectCollection GetQueryDatas()
+ {
+ QueryBuilderParemeter paramCatalog = new QueryBuilderParemeter()
+ {
+ FormId = "",//鍙栨暟鐨勪笟鍔″璞�
+ FilterClauseWihtKey = "",//杩囨护鏉′欢锛岄�氳繃涓氬姟瀵硅薄鐨勫瓧娈礙ey鎷艰杩囨护鏉′欢
+ SelectItems = SelectorItemInfo.CreateItems("", "", ""),//瑕佺瓫閫夌殑瀛楁銆愪笟鍔″璞$殑瀛楁Key銆戯紝鍙互澶氫釜锛屽鏋滆鍙栦富閿紝浣跨敤涓婚敭鍚�
+ };
+
+ DynamicObjectCollection dyDatas = Kingdee.BOS.ServiceHelper.QueryServiceHelper.GetDynamicObjectCollection(this.Context, paramCatalog);
+ return dyDatas;
+ }
+ }
+
+
+}
diff --git a/src/ProductizationTemplate/CommonFilterPlugin/MyCommonFilterPlugIn.cs b/src/ProductizationTemplate/CommonFilterPlugin/MyCommonFilterPlugIn.cs
new file mode 100644
index 0000000..70402f9
--- /dev/null
+++ b/src/ProductizationTemplate/CommonFilterPlugin/MyCommonFilterPlugIn.cs
@@ -0,0 +1,170 @@
+锘縰sing Kingdee.BOS.Core.CommonFilter.PlugIn;
+using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
+using Kingdee.BOS.Core.Metadata;
+using Kingdee.BOS.Core.SqlBuilder;
+using Kingdee.BOS.Orm.DataEntity;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace XhOA.CommonFilterPlugIn
+{
+ public class MyCommonFilterPlugin : AbstractCommonFilterPlugIn
+ {
+
+ /// <summary>
+ /// 鍒濆鍖栵紝瀵瑰叾浠栫晫闈紶鏉ョ殑鍙傛暟杩涜澶勭悊锛屽鎺т欢鏌愪簺灞炴�ц繘琛屽鐞�
+ /// 杩欓噷涓嶅疁瀵规暟鎹瓺ataModel杩涜澶勭悊
+ /// </summary>
+ /// <param name="e"></param>
+ public override void OnInitialize(InitializeEventArgs e)
+ {
+
+ }
+
+ /// <summary>
+ /// 鏂板缓鍗曟嵁鍔犺浇鏁版嵁瀹屾垚涔嬪悗锛岄渶瑕佸鐞嗙殑鍔熻兘
+ /// </summary>
+ /// <param name="e"></param>
+ public override void AfterCreateNewData(EventArgs e)
+ {
+
+ }
+
+ /// <summary>
+ /// 鏁版嵁鍔犺浇涔嬪悗锛岄渶瑕佸鐞嗙殑鍔熻兘锛岃繖閲屼富瑕佸鐣岄潰鏍峰紡杩涜澶勭悊锛屽敖閲忎笉瑕佸Datamodel杩涜澶勭悊
+ /// </summary>
+ /// <param name="e"></param>
+ public override void AfterBindData(EventArgs e)
+ {
+
+ }
+
+ /// <summary>
+ /// 鍦ㄦ牴鎹紪鐮佹绱㈡暟鎹箣鍓嶈皟鐢紱
+ /// 閫氳繃閲嶈浇鏈簨浠讹紝鍙互璁剧疆蹇呰鐨勮繃婊ゆ潯浠讹紝浠ラ檺瀹氭绱㈣寖鍥达紱
+ /// 杩樺彲浠ユ帶鍒跺綋鍓嶈繃婊ゆ槸鍚﹀惎鐢ㄧ粍缁囬殧绂伙紝鏁版嵁鐘舵�侀殧绂�
+ /// </summary>
+ /// <param name="e"></param>
+ public override void BeforeSetItemValueByNumber(BeforeSetItemValueByNumberArgs e)
+ {
+ switch (e.BaseDataField.Key.ToUpperInvariant())
+ {
+ //case "FXXX":閫氳繃瀛楁鐨凨ey[澶у啓]鏉ュ尯鍒嗕笉鍚岀殑鍩虹璧勬枡
+ //e.Filter = "FXXX= AND fxxy=";杩囨护鐨勫瓧娈典娇鐢ㄥ搴斿熀纭�璧勬枡鐨勫瓧娈电殑Key锛屾敮鎸乲sql璇硶
+ //break;
+ case "":
+ break;
+ default:
+ break;
+ }
+ }
+
+ /// <summary>
+ /// 鏄剧ず鍩虹璧勬枡鍒楄〃涔嬪墠璋冪敤
+ /// 閫氳繃閲嶈浇鏈簨浠讹紝鍙互璁剧疆蹇呰鐨勮繃婊ゆ潯浠讹紝浠ラ檺瀹氭绱㈣寖鍥达紱
+ /// </summary>
+ /// <param name="e"></param>
+ public override void BeforeF7Select(BeforeF7SelectEventArgs e)
+ {
+ switch (e.FieldKey.ToUpperInvariant())
+ {
+ //case "FXXX":閫氳繃瀛楁鐨凨ey[澶у啓]鏉ュ尯鍒嗕笉鍚岀殑鍩虹璧勬枡
+ // e.ListFilterParameter.Filter = "FXXX= AND fxxy=";杩囨护鐨勫瓧娈典娇鐢ㄥ搴斿熀纭�璧勬枡鐨勫瓧娈电殑Key锛屾敮鎸乲sql璇硶
+ //break;
+ case "":
+ break;
+ default:
+ break;
+ }
+ }
+
+ /// <summary>
+ /// 鐣岄潰鏁版嵁鍙戠敓鍙樺寲涔嬪墠锛岄渶瑕佸鐞嗙殑鍔熻兘
+ /// </summary>
+ /// <param name="e"></param>
+ public override void BeforeUpdateValue(BeforeUpdateValueEventArgs e)
+ {
+ switch (e.Key.ToUpperInvariant())
+ {
+ //case "FXXX":閫氳繃瀛楁鐨凨ey[澶у啓]鏉ュ尯鍒嗕笉鍚岀殑鎺т欢鐨勬暟鎹彉鍖栧姛鑳斤紝濡傛灉瑕侀樆姝㈣娆″彉鍖栵紝鍙互鐢╡.Cancel = true;
+ // e.Cancel = true;
+ // break;
+ case "":
+ break;
+ default:
+ break;
+ }
+ }
+
+ /// <summary>
+ /// 鐣岄潰鏁版嵁鍙戠敓鍙樺寲涔嬪悗锛岄渶瑕佸鐞嗙殑鍔熻兘
+ /// </summary>
+ /// <param name="e"></param>
+ public override void DataChanged(DataChangedEventArgs e)
+ {
+ switch (e.Field.Key.ToUpperInvariant())
+ {
+ case "":
+ break;
+ default:
+ break;
+ }
+ }
+
+ /// <summary>
+ /// 鍗曟嵁鎸佹湁浜嬩欢鍙戠敓鍓嶉渶瑕佸畬鎴愮殑鍔熻兘
+ /// </summary>
+ /// <param name="e"></param>
+ public override void BeforeDoOperation(BeforeDoOperationEventArgs e)
+ {
+ switch (e.Operation.FormOperation.Operation.ToUpperInvariant())
+ {
+ //case "SAVE": 琛ㄥ崟瀹氫箟鐨勪簨浠堕兘鍙互鍦ㄨ繖閲屾墽琛岋紝闇�瑕侀�氳繃浜嬩欢鐨勪唬鐮乕澶у啓]鍖哄垎涓嶅悓浜嬩欢
+ //break;
+ case "":
+ break;
+ default:
+ break;
+ }
+
+
+ }
+
+ /// <summary>
+ /// 鍗曟嵁鎸佹湁浜嬩欢鍙戠敓鍚庨渶瑕佸畬鎴愮殑鍔熻兘
+ /// </summary>
+ /// <param name="e"></param>
+ public override void AfterDoOperation(AfterDoOperationEventArgs e)
+ {
+ switch (e.Operation.Operation.ToUpperInvariant())
+ {
+ //case "SAVE": 琛ㄥ崟瀹氫箟鐨勪簨浠堕兘鍙互鍦ㄨ繖閲屾墽琛岋紝闇�瑕侀�氳繃浜嬩欢鐨勪唬鐮乕澶у啓]鍖哄垎涓嶅悓浜嬩欢
+ //break;
+ case "":
+ break;
+ default:
+ break;
+ }
+ }
+
+ /// <summary>
+ /// queryservice鍙栨暟鏂规锛岄�氳繃涓氬姟瀵硅薄鏉ヨ幏鍙栨暟鎹紝鎺ㄨ崘浣跨敤
+ /// </summary>
+ /// <returns></returns>
+ public DynamicObjectCollection GetQueryDatas()
+ {
+ QueryBuilderParemeter paramCatalog = new QueryBuilderParemeter()
+ {
+ FormId = "",//鍙栨暟鐨勪笟鍔″璞�
+ FilterClauseWihtKey = "",//杩囨护鏉′欢锛岄�氳繃涓氬姟瀵硅薄鐨勫瓧娈礙ey鎷艰杩囨护鏉′欢
+ SelectItems = SelectorItemInfo.CreateItems("", "", ""),//瑕佺瓫閫夌殑瀛楁銆愪笟鍔″璞$殑瀛楁Key銆戯紝鍙互澶氫釜锛屽鏋滆鍙栦富閿紝浣跨敤涓婚敭鍚�
+ };
+
+ DynamicObjectCollection dyDatas = Kingdee.BOS.ServiceHelper.QueryServiceHelper.GetDynamicObjectCollection(this.Context, paramCatalog);
+ return dyDatas;
+ }
+ }
+}
diff --git a/src/ProductizationTemplate/Config/kdapi.config b/src/ProductizationTemplate/Config/kdapi.config
new file mode 100644
index 0000000..25b63df
--- /dev/null
+++ b/src/ProductizationTemplate/Config/kdapi.config
@@ -0,0 +1,9 @@
+锘�<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+ <appSettings>
+ <add key="DbId" value="5e8c33972fbb61"></add>
+ <add key="UserName" value="Administrator"></add>
+ <add key="PassWord" value="888888"></add>
+ <add key="KDApiUrl" value="http://localhost/K3Cloud/"></add>
+ </appSettings>
+</configuration>
\ No newline at end of file
diff --git a/src/ProductizationTemplate/Constants/Enum.cs b/src/ProductizationTemplate/Constants/Enum.cs
new file mode 100644
index 0000000..1dc8fd6
--- /dev/null
+++ b/src/ProductizationTemplate/Constants/Enum.cs
@@ -0,0 +1,15 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace XhOA.Constants
+{
+ public class Enum
+ {
+ public enum BillType { T_AP_PAYABLE, T_AP_REFUNDBILL, T_AP_PAYBILL, T_Ar_Receivable, T_AR_RECEIVEBILL, T_AR_REFUNDBILL }
+ }
+
+
+}
diff --git a/src/ProductizationTemplate/Constants/FormId.cs b/src/ProductizationTemplate/Constants/FormId.cs
new file mode 100644
index 0000000..0876092
--- /dev/null
+++ b/src/ProductizationTemplate/Constants/FormId.cs
@@ -0,0 +1,85 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace XhOA.Constants
+{
+ public class FormId
+ {
+ /// <summary>
+ /// 鐗╂枡ID
+ /// </summary>
+ public const string MaterialFormId = "BD_MATERIAL";
+ /// <summary>
+ /// 鐗╂枡鍒嗙粍ID
+ /// </summary>
+ public const string MaterialGroupFormId = "BD_MATERIAL";
+ /// <summary>
+ /// 鍝佺墝ID
+ /// </summary>
+ public const string BrandFormId = "9d566007-8e68-45d5-b581-b923a43b3fa0";
+ /// <summary>
+ /// 瀹㈡埛ID
+ /// </summary>
+ public const string CustomerFormId = "BD_Customer";
+ /// <summary>
+ /// 閮ㄩ棬ID
+ /// </summary>
+ public const string DepartmentFormId = "BD_Department";
+ /// <summary>
+ /// 鍛樺伐ID
+ /// </summary>
+ public const string EmpinfoFormId = "BD_Empinfo";
+ /// <summary>
+ /// 渚涘簲鍟咺D
+ /// </summary>
+ public const string SupplierFormId = "BD_Supplier";
+ /// <summary>
+ /// 璁¢噺鍗曚綅ID
+ /// </summary>
+ public const string UnitFormId = "BD_UNIT";
+ /// <summary>
+ /// 璁¢噺鍗曚綅鍒嗙粍ID
+ /// </summary>
+ public const string UnitGroupFormId = "BD_UNITGROUP";
+ /// <summary>
+ /// 宀椾綅淇℃伅ID
+ /// </summary>
+ public const string PostFormId = "HR_ORG_HRPOST";
+ /// <summary>
+ /// 鍛樺伐ID
+ /// </summary>
+ public const string StaffFormId = "BD_Empinfo";
+
+ /// <summary>
+ /// 澶у皬绁ㄩ」鐩熀纭�璧勬枡
+ /// </summary>
+ public const string ProjectBasicId = "PXDF_ProjectBasic";
+ /// <summary>
+ /// 閲囪喘璁㈠崟
+ /// </summary>
+ public const string purchaseOrderFormId = "PUR_PurchaseOrder";
+ /// <summary>
+ /// 閲囪喘鍏ュ簱鍗�
+ /// </summary>
+ public const string purInStockFormId = "STK_InStock";
+ /// <summary>
+ /// 搴斾粯鍗�
+ /// </summary>
+ public const string payAbleFormId = "AP_Payable";
+ /// <summary>
+ /// 閿�鍞嚭搴撳崟
+ /// </summary>
+ public const string saleOutStockFormId = "SAL_OUTSTOCK";
+ /// <summary>
+ /// 閿�鍞鍗�
+ /// </summary>
+ public const string SaleOrderFormId = "SAL_SaleOrder";
+ /// <summary>
+ /// 搴旀敹鍗�
+ /// </summary>
+ public const string receivableFormId = "AR_receivable";
+ }
+}
diff --git a/src/ProductizationTemplate/Constants/KDServerName.cs b/src/ProductizationTemplate/Constants/KDServerName.cs
new file mode 100644
index 0000000..a159c8e
--- /dev/null
+++ b/src/ProductizationTemplate/Constants/KDServerName.cs
@@ -0,0 +1,40 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace XhOA.Constants
+{
+ public static class KDServerName
+ {
+ /// <summary>
+ /// 閲戣澏鍒嗙粍鏂板鎺ュ彛鍦板潃
+ /// </summary>
+ public const string GroupSave = "Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.GroupSave";
+ /// <summary>
+ /// 閲戣澏鍗曟嵁淇濆瓨鎺ュ彛鍦板潃
+ /// </summary>
+ public const string BillSave = "Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save";
+ /// <summary>
+ /// 閲戣澏鍗曟嵁鏌ョ湅鎺ュ彛鍦板潃
+ /// </summary>
+ public const string BillView = "Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.View";
+ /// <summary>
+ /// 閲戣澏鍗曟嵁鍙嶅鏍告帴鍙e湴鍧�
+ /// </summary>
+ public const string BillUnAudit = "Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.UnAudit";
+ /// <summary>
+ /// 閲戣澏鍩虹璧勬枡鍒嗛厤鎺ュ彛鍦板潃
+ /// </summary>
+ public const string BillAllocate = "Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Allocate";
+ /// <summary>
+ /// 閲戣澏鍗曟嵁鍒犻櫎鎺ュ彛鍦板潃
+ /// </summary>
+ public const string BillDelete = "Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Delete";
+ /// <summary>
+ /// 閲戣澏鍗曟嵁瀹℃牳鎺ュ彛鍦板潃
+ /// </summary>
+ public const string BillAudit = "Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit";
+ }
+}
diff --git a/src/ProductizationTemplate/Constants/Url.cs b/src/ProductizationTemplate/Constants/Url.cs
new file mode 100644
index 0000000..8e61bd8
--- /dev/null
+++ b/src/ProductizationTemplate/Constants/Url.cs
@@ -0,0 +1,29 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace XhOA.Constants
+{
+ public class Url
+ {
+ /// <summary>
+ /// 鐗╂枡ID
+ /// </summary>
+ ///
+
+#if DEBUG
+ public const string KDApiUrl = "http://localhost/K3Cloud/";
+#else
+ public const string KDApiUrl = "http://192.168.0.2/K3Cloud/";
+ public const string OMSAccount = "xherp";
+ public const string OMSPwd = "dee61b6f3f8d515e3fbedd094017d683273e";
+ public const string OMSUrl = "https://dock.xhgjmall.com/xhmall_dockingplatform/api";
+ public const string fileUrl = "http://172.19.5.122/K3CloudFileServer/UploadFiles";//璇P涓篛MS璁块棶闃块噷浜戞湇鍔″櫒鐨勫湴鍧�
+ public const string EASApiUrl = "http://115.236.73.42:11521/API/AddVoucher.ashx";//EAS鍑瘉瀵规帴鎺ュ彛鍦板潃
+ public const string EASApiDelUrl = "http://115.236.73.42:11521/API/DelVoucher.ashx";//EAS鍑瘉瀵规帴鎺ュ彛鍦板潃
+#endif
+
+ }
+}
diff --git a/src/ProductizationTemplate/DBService/BigTicketProjectService.cs b/src/ProductizationTemplate/DBService/BigTicketProjectService.cs
new file mode 100644
index 0000000..bfaa579
--- /dev/null
+++ b/src/ProductizationTemplate/DBService/BigTicketProjectService.cs
@@ -0,0 +1,25 @@
+锘縰sing Kingdee.BOS;
+using Kingdee.BOS.ServiceHelper;
+using XhOA.Extension;
+using XhOA.Models;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using ZD.Cloud.Logger;
+
+namespace XhOA.DBService
+{
+ public class BigTicketProjectService
+ {
+
+ public decimal GetReceiveBillRate(Context ctx, long proId)
+ {
+ string sql = $"select t2.F_PXDF_Decimal from t_AR_receivable t1 left join t_AR_receivableEntry t2 on t1.fid=t2.fid where t1.fdocumentstatus='C' and t2.FProjectNo='{proId}' ";
+ LogHelper.Info("GetReceiveBillRate:" + sql);
+ return DBServiceHelper.ExecuteScalar(ctx, sql, 0);
+ }
+ }
+}
diff --git a/src/ProductizationTemplate/DynamicFormPlugin/MyDynamicFormPlugin.cs b/src/ProductizationTemplate/DynamicFormPlugin/MyDynamicFormPlugin.cs
new file mode 100644
index 0000000..7312fad
--- /dev/null
+++ b/src/ProductizationTemplate/DynamicFormPlugin/MyDynamicFormPlugin.cs
@@ -0,0 +1,175 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Kingdee.BOS.Core.Bill.PlugIn;
+using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
+using Kingdee.BOS.Core.DynamicForm.PlugIn;
+using Kingdee.BOS.Orm.DataEntity;
+using Kingdee.BOS.Core.SqlBuilder;
+using Kingdee.BOS.Contracts;
+using Kingdee.BOS.Core.Metadata;
+
+namespace ProductizationTemplate.DynamicFormPlugin
+{
+ public class MyDynamicFormPlugin : AbstractDynamicFormPlugIn
+ {
+ /// <summary>
+ /// 鍒濆鍖栵紝瀵瑰叾浠栫晫闈紶鏉ョ殑鍙傛暟杩涜澶勭悊锛屽鎺т欢鏌愪簺灞炴�ц繘琛屽鐞�
+ /// 杩欓噷涓嶅疁瀵规暟鎹瓺ataModel杩涜澶勭悊
+ /// </summary>
+ /// <param name="e"></param>
+ public override void OnInitialize(InitializeEventArgs e)
+ {
+
+ }
+
+ /// <summary>
+ /// 鍔ㄦ�佽〃鍗曞姞杞芥暟鎹畬鎴愪箣鍚庯紝闇�瑕佸鐞嗙殑鍔熻兘
+ /// </summary>
+ /// <param name="e"></param>
+ public override void AfterCreateNewData(EventArgs e)
+ {
+
+ }
+
+
+ /// <summary>
+ /// 鏁版嵁鍔犺浇涔嬪悗锛岄渶瑕佸鐞嗙殑鍔熻兘锛岃繖閲屼富瑕佸鐣岄潰鏍峰紡杩涜澶勭悊锛屽敖閲忎笉瑕佸Datamodel杩涜澶勭悊
+ /// </summary>
+ /// <param name="e"></param>
+ public override void AfterBindData(EventArgs e)
+ {
+
+ }
+
+ /// <summary>
+ /// 鍦ㄦ牴鎹紪鐮佹绱㈡暟鎹箣鍓嶈皟鐢紱
+ /// 閫氳繃閲嶈浇鏈簨浠讹紝鍙互璁剧疆蹇呰鐨勮繃婊ゆ潯浠讹紝浠ラ檺瀹氭绱㈣寖鍥达紱
+ /// 杩樺彲浠ユ帶鍒跺綋鍓嶈繃婊ゆ槸鍚﹀惎鐢ㄧ粍缁囬殧绂伙紝鏁版嵁鐘舵�侀殧绂�
+ /// </summary>
+ /// <param name="e"></param>
+ public override void BeforeSetItemValueByNumber(BeforeSetItemValueByNumberArgs e)
+ {
+ switch (e.BaseDataField.Key.ToUpperInvariant())
+ {
+ //case "FXXX":閫氳繃瀛楁鐨凨ey[澶у啓]鏉ュ尯鍒嗕笉鍚岀殑鍩虹璧勬枡
+ //e.Filter = "FXXX= AND fxxy=";杩囨护鐨勫瓧娈典娇鐢ㄥ搴斿熀纭�璧勬枡鐨勫瓧娈电殑Key锛屾敮鎸乲sql璇硶
+ //break;
+ case "":
+ break;
+ default:
+ break;
+ }
+ }
+
+ /// <summary>
+ /// 鏄剧ず鍩虹璧勬枡鍒楄〃涔嬪墠璋冪敤
+ /// 閫氳繃閲嶈浇鏈簨浠讹紝鍙互璁剧疆蹇呰鐨勮繃婊ゆ潯浠讹紝浠ラ檺瀹氭绱㈣寖鍥达紱
+ /// </summary>
+ /// <param name="e"></param>
+ public override void BeforeF7Select(BeforeF7SelectEventArgs e)
+ {
+ switch (e.FieldKey.ToUpperInvariant())
+ {
+ //case "FXXX":閫氳繃瀛楁鐨凨ey[澶у啓]鏉ュ尯鍒嗕笉鍚岀殑鍩虹璧勬枡
+ // e.ListFilterParameter.Filter = "FXXX= AND fxxy=";杩囨护鐨勫瓧娈典娇鐢ㄥ搴斿熀纭�璧勬枡鐨勫瓧娈电殑Key锛屾敮鎸乲sql璇硶
+ //break;
+ case "":
+ break;
+ default:
+ break;
+ }
+ }
+
+ /// <summary>
+ /// 鐣岄潰鏁版嵁鍙戠敓鍙樺寲涔嬪墠锛岄渶瑕佸鐞嗙殑鍔熻兘
+ /// </summary>
+ /// <param name="e"></param>
+ public override void BeforeUpdateValue(BeforeUpdateValueEventArgs e)
+ {
+ switch (e.Key.ToUpperInvariant())
+ {
+ //case "FXXX":閫氳繃瀛楁鐨凨ey[澶у啓]鏉ュ尯鍒嗕笉鍚岀殑鎺т欢鐨勬暟鎹彉鍖栧姛鑳斤紝濡傛灉瑕侀樆姝㈣娆″彉鍖栵紝鍙互鐢╡.Cancel = true;
+ // e.Cancel = true;
+ // break;
+ case "":
+ break;
+ default:
+ break;
+ }
+ }
+
+ /// <summary>
+ /// 鐣岄潰鏁版嵁鍙戠敓鍙樺寲涔嬪悗锛岄渶瑕佸鐞嗙殑鍔熻兘
+ /// </summary>
+ /// <param name="e"></param>
+ public override void DataChanged(DataChangedEventArgs e)
+ {
+ switch (e.Field.Key.ToUpperInvariant())
+ {
+ case "":
+ break;
+ default:
+ break;
+ }
+ }
+
+
+
+ /// <summary>
+ /// 鍗曟嵁鎸佹湁浜嬩欢鍙戠敓鍓嶉渶瑕佸畬鎴愮殑鍔熻兘
+ /// </summary>
+ /// <param name="e"></param>
+ public override void BeforeDoOperation(BeforeDoOperationEventArgs e)
+ {
+ switch (e.Operation.FormOperation.Operation.ToUpperInvariant())
+ {
+ //case "SAVE": 琛ㄥ崟瀹氫箟鐨勪簨浠堕兘鍙互鍦ㄨ繖閲屾墽琛岋紝闇�瑕侀�氳繃浜嬩欢鐨勪唬鐮乕澶у啓]鍖哄垎涓嶅悓浜嬩欢
+ //break;
+ case "":
+ break;
+ default:
+ break;
+ }
+
+
+ }
+
+ /// <summary>
+ /// 鍗曟嵁鎸佹湁浜嬩欢鍙戠敓鍚庨渶瑕佸畬鎴愮殑鍔熻兘
+ /// </summary>
+ /// <param name="e"></param>
+ public override void AfterDoOperation(AfterDoOperationEventArgs e)
+ {
+ switch (e.Operation.Operation.ToUpperInvariant())
+ {
+ //case "SAVE": 琛ㄥ崟瀹氫箟鐨勪簨浠堕兘鍙互鍦ㄨ繖閲屾墽琛岋紝闇�瑕侀�氳繃浜嬩欢鐨勪唬鐮乕澶у啓]鍖哄垎涓嶅悓浜嬩欢
+ //break;
+ case "":
+ break;
+ default:
+ break;
+ }
+ }
+
+ /// <summary>
+ /// queryservice鍙栨暟鏂规锛岄�氳繃涓氬姟瀵硅薄鏉ヨ幏鍙栨暟鎹紝鎺ㄨ崘浣跨敤
+ /// </summary>
+ /// <returns></returns>
+ public DynamicObjectCollection GetQueryDatas()
+ {
+ QueryBuilderParemeter paramCatalog = new QueryBuilderParemeter()
+ {
+ FormId = "",//鍙栨暟鐨勪笟鍔″璞�
+ FilterClauseWihtKey = "",//杩囨护鏉′欢锛岄�氳繃涓氬姟瀵硅薄鐨勫瓧娈礙ey鎷艰杩囨护鏉′欢
+ SelectItems = SelectorItemInfo.CreateItems("", "", ""),//瑕佺瓫閫夌殑瀛楁銆愪笟鍔″璞$殑瀛楁Key銆戯紝鍙互澶氫釜锛屽鏋滆鍙栦富閿紝浣跨敤涓婚敭鍚�
+ };
+
+ DynamicObjectCollection dyDatas = Kingdee.BOS.ServiceHelper.QueryServiceHelper.GetDynamicObjectCollection(this.Context, paramCatalog);
+ return dyDatas;
+ }
+ }
+
+
+}
diff --git a/src/ProductizationTemplate/Extension/KDExtension.cs b/src/ProductizationTemplate/Extension/KDExtension.cs
new file mode 100644
index 0000000..538c2f5
--- /dev/null
+++ b/src/ProductizationTemplate/Extension/KDExtension.cs
@@ -0,0 +1,99 @@
+锘縰sing Kingdee.BOS.Orm.DataEntity;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace XhOA.Extension
+{
+ public static class KDExtension
+ {
+ /// <summary>
+ /// 鑾峰彇涓�绾у�� 鍙敤浜庤幏鍙栨枃鏈�佹暟缁�
+ /// </summary>
+ /// <param name="dynamicObject"></param>
+ /// <param name="key"></param>
+ /// <returns></returns>
+ public static object GetValue(this DynamicObject dynamicObject, string propertyName)
+ {
+ return dynamicObject[propertyName];
+ }
+ /// <summary>
+ /// 鑾峰彇涓�绾у熀纭�璧勬枡鎴栧崟鎹綋瀵硅薄
+ /// </summary>
+ /// <typeparam name="T"></typeparam>
+ /// <param name="dynamicObject"></param>
+ /// <param name="key"></param>
+ /// <returns></returns>
+ public static T GetValue<T>(this DynamicObject dynamicObject, string propertyName)
+ {
+ var value = dynamicObject.GetValue(propertyName);
+ if (value != null)
+ {
+ return (T)Convert.ChangeType(value, typeof(T));
+ }
+ return default(T);
+ }
+ /// <summary>
+ /// 鑾峰彇鍩虹璧勬枡鐨勫睘鎬�
+ /// </summary>
+ /// <param name="dynamicObject"></param>
+ /// <param name="dataBaseKey"></param>
+ /// <param name="propertyName"></param>
+ /// <returns></returns>
+ public static object GetDataBaseProperty(this DynamicObject dynamicObject, string dataBaseKey, string propertyName)
+ {
+ var dataBase = dynamicObject.GetValue<DynamicObject>(dataBaseKey);
+ if (dataBase != null)
+ {
+ return dataBase.GetValue(propertyName);
+ }
+ return null;
+ }
+
+ public static T GetDataBaseProperty<T>(this DynamicObject dynamicObject, string dataBaseKey, string propertyName)
+ {
+ var dataBase = dynamicObject.GetValue<DynamicObject>(dataBaseKey);
+ if (dataBase != null)
+ {
+ var value = dataBase.GetValue(propertyName);
+ return (T)Convert.ChangeType(value, typeof(T));
+ }
+ return default(T);
+ }
+
+ /// <summary>
+ /// 鑾峰彇鍩虹璧勬枡鐨勭紪鐮�
+ /// </summary>
+ /// <param name="dynamicObject"></param>
+ /// <param name="dataBaseKey"></param>
+ /// <returns></returns>
+ public static object GetDataBaseNumber(this DynamicObject dynamicObject, string dataBaseKey)
+ {
+ return dynamicObject.GetDataBaseProperty(dataBaseKey, "Number");
+ }
+
+ public static T GetDataBaseNumber<T>(this DynamicObject dynamicObject, string dataBaseKey)
+ {
+ return dynamicObject.GetDataBaseProperty<T>(dataBaseKey, "Number");
+ }
+
+
+ /// <summary>
+ /// 鑾峰彇鍩虹璧勬枡鐨勫唴鐮�
+ /// </summary>
+ /// <param name="dynamicObject"></param>
+ /// <param name="dataBaseKey"></param>
+ /// <returns></returns>
+ public static object GetDataBaseId(this DynamicObject dynamicObject, string dataBaseKey)
+ {
+ return dynamicObject.GetDataBaseProperty(dataBaseKey, "Id");
+ }
+
+ public static T GetDataBaseId<T>(this DynamicObject dynamicObject, string dataBaseKey)
+ {
+ return dynamicObject.GetDataBaseProperty<T>(dataBaseKey, "Id");
+ }
+ }
+}
diff --git a/src/ProductizationTemplate/ListPlugin/MyListPlugin.cs b/src/ProductizationTemplate/ListPlugin/MyListPlugin.cs
new file mode 100644
index 0000000..43d4732
--- /dev/null
+++ b/src/ProductizationTemplate/ListPlugin/MyListPlugin.cs
@@ -0,0 +1,75 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Kingdee.BOS.Core.Bill.PlugIn;
+using Kingdee.BOS.Core.List.PlugIn;
+using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
+using Kingdee.BOS.Core.List.PlugIn.Args;
+using Kingdee.BOS.Orm.DataEntity;
+using Kingdee.BOS.Core.SqlBuilder;
+using Kingdee.BOS.Core.Metadata;
+
+namespace ProductizationTemplate.ListPlugin
+{
+ public class MyListPlugin : AbstractListPlugIn
+ {
+ /// <summary>
+ /// 鑿滃崟鐐瑰嚮浜嬩欢锛岃〃鍗曟彃浠跺悓鏍烽�傜敤
+ /// </summary>
+ /// <param name="e"></param>
+ public override void BarItemClick(BarItemClickEventArgs e)
+ {
+ switch (e.BarItemKey.ToUpperInvariant())
+ {
+ //case "TBDELETE": 鍒楄〃宸ュ叿鏍忔寜閽簨浠讹紝閫氳繃鎸夐挳Key[澶у啓]鏉ュ尯鍒嗛偅涓寜閽簨浠�
+ //break;
+ case "":
+ break;
+ default:
+ break;
+ }
+ }
+ /// <summary>
+ /// 鑿滃崟鐐瑰嚮鍚庡鐞嗕簨浠讹紝琛ㄥ崟鎻掍欢鍚屾牱閫傜敤
+ /// </summary>
+ /// <param name="e"></param>
+ public override void AfterBarItemClick(AfterBarItemClickEventArgs e)
+ {
+ switch (e.BarItemKey.ToUpperInvariant())
+ {
+ case "":
+ break;
+ default:
+ break;
+ }
+ }
+
+ /// <summary>
+ /// 瀵瑰垪琛ㄦ暟鎹拷鍔犺繃婊ゆ垨鏄帓搴忥紝鎺ㄨ崘閫氳繃杩囨护鏂规杩涜澶勭悊锛屽鏋滄槸鐗规畩鐨勫己鍒惰繃婊わ紝鍙互鍦ㄨ繖涓綅缃繘琛屽鐞�
+ /// </summary>
+ /// <param name="e"></param>
+ public override void PrepareFilterParameter(FilterArgs e)
+ {
+ e.AppendQueryFilter("");
+ e.AppendQueryOrderby("");
+ }
+
+ /// <summary>
+ /// queryservice鍙栨暟鏂规锛岄�氳繃涓氬姟瀵硅薄鏉ヨ幏鍙栨暟鎹紝鎺ㄨ崘浣跨敤
+ /// </summary>
+ /// <returns></returns>
+ public DynamicObjectCollection GetQueryDatas()
+ {
+ QueryBuilderParemeter paramCatalog = new QueryBuilderParemeter()
+ {
+ FormId = "",//鍙栨暟鐨勪笟鍔″璞�
+ FilterClauseWihtKey = "",//杩囨护鏉′欢锛岄�氳繃涓氬姟瀵硅薄鐨勫瓧娈礙ey鎷艰杩囨护鏉′欢
+ SelectItems = SelectorItemInfo.CreateItems("", "", ""),//瑕佺瓫閫夌殑瀛楁銆愪笟鍔″璞$殑瀛楁Key銆戯紝鍙互澶氫釜锛屽鏋滆鍙栦富閿紝浣跨敤涓婚敭鍚�
+ };
+
+ DynamicObjectCollection dyDatas = Kingdee.BOS.ServiceHelper.QueryServiceHelper.GetDynamicObjectCollection(this.Context, paramCatalog);
+ return dyDatas;
+ }
+ }
+}
diff --git a/src/ProductizationTemplate/Models/CommonModel.cs b/src/ProductizationTemplate/Models/CommonModel.cs
new file mode 100644
index 0000000..4363d11
--- /dev/null
+++ b/src/ProductizationTemplate/Models/CommonModel.cs
@@ -0,0 +1,28 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace XhOA.Models
+{
+ public class CommonModel
+ {
+ }
+
+ public class CreateOrgId
+ {
+ public string FNumber { get; set; }
+ }
+
+ public class UseOrgId
+ {
+ public string FNumber { get; set; }
+ }
+
+ public class BaseUnitId
+ {
+ public string FNumber { get; set; }
+ }
+
+}
diff --git a/src/ProductizationTemplate/Models/DTO/DemoDTO.cs b/src/ProductizationTemplate/Models/DTO/DemoDTO.cs
new file mode 100644
index 0000000..7fc92f8
--- /dev/null
+++ b/src/ProductizationTemplate/Models/DTO/DemoDTO.cs
@@ -0,0 +1,22 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace XhOA.Models
+{
+ public class DemoDTO
+ {
+ public long BasicProjectId { get; set; }
+ public string FNumber { get; set; }
+ public string FName { get; set; }
+ public long? FCustomerOrderId { get; set; }
+ public decimal? FInitialBalance { get; set; }
+ public decimal? FBehalfInvoiceRatio { get; set; }
+ public decimal? FCostEstimationRatio { get; set; }
+ public decimal? FTaxRatio { get; set; }
+ public long FCreateOrgId { get; set; }
+ public long FUseOrgId { get; set; }
+ }
+}
diff --git a/src/ProductizationTemplate/Models/SaveModel.cs b/src/ProductizationTemplate/Models/SaveModel.cs
new file mode 100644
index 0000000..04125d8
--- /dev/null
+++ b/src/ProductizationTemplate/Models/SaveModel.cs
@@ -0,0 +1,50 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace XhOA.Models
+{
+ public class SaveModel
+ {
+ public SaveResult Result { get; set; }
+ public long Id { get; set; }
+ public List<dynamic> NeedReturnData { get; set; }
+ public string Number { get; set; }
+ }
+ public class SaveResult
+ {
+ public SaveResponseStatus ResponseStatus { get; set; }
+ }
+
+ public class SaveResponseStatus
+ {
+ public string ErrorCode { get; set; }
+ public bool IsSuccess { get; set; }
+ public List<SaveErrors> Errors { get; set; }
+ public List<SaveSuccessEntitys> SuccessEntitys { get; set; }
+ public List<SaveSuccessMessages> SuccessMessages { get; set; }
+ public string MsgCode { get; set; }
+ }
+
+ public class SaveErrors
+ {
+ public string FieldName { get; set; }
+ public string Message { get; set; }
+ public int DIndex { get; set; }
+ }
+ public class SaveSuccessEntitys
+ {
+ public string Id { get; set; }
+ public string Number { get; set; }
+ public int DIndex { get; set; }
+ }
+
+ public class SaveSuccessMessages
+ {
+ public string FieldName { get; set; }
+ public string Message { get; set; }
+ public int DIndex { get; set; }
+ }
+}
diff --git a/src/ProductizationTemplate/Models/Search/Model.cs b/src/ProductizationTemplate/Models/Search/Model.cs
new file mode 100644
index 0000000..50b1c7a
--- /dev/null
+++ b/src/ProductizationTemplate/Models/Search/Model.cs
@@ -0,0 +1,23 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace XhOA.Models.Search
+{
+ public class Model
+ {
+ public List<string> ProjectBillNos { get; set; }
+ public string CustomerId { get; set; }
+ public string CostomerOrderNo { get; set; }
+ public string OrderNo { get; set; }
+ public string ProjectName { get; set; }
+ public string OrgId { get; set; }
+ public List<string> OldProjectBillNos { get; set; }
+ public string DepartId { get; set; }
+ public string SalesMan { get; set; }
+ public string WriteOffStartDate { get; set; }
+ public string WriteOffEndDate { get; set; }
+ }
+}
diff --git a/src/ProductizationTemplate/ProductizationTemplate.csproj b/src/ProductizationTemplate/ProductizationTemplate.csproj
new file mode 100644
index 0000000..f595d2f
--- /dev/null
+++ b/src/ProductizationTemplate/ProductizationTemplate.csproj
@@ -0,0 +1,181 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{686E6D75-E365-4C5A-BEC9-4D15372B6F17}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>ProductizationTemplate</RootNamespace>
+ <AssemblyName>ProductizationTemplate</AssemblyName>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <Deterministic>true</Deterministic>
+ <TargetFrameworkProfile />
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="K3Cloud.Extend, Version=0.0.80.5, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\K3Cloud.Extend.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.App, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.App.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.App.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.App.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Business.PlugIn, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Business.PlugIn.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.BusinessEntity, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.BusinessEntity.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Contracts, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Contracts.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.DataEntity, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.DataEntity.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.MpWeiXin, Version=7.0.104.1, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.MpWeiXin.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.QyWeiXin, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.QyWeiXin.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceFacade.KDServiceClient, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceFacade.KDServiceClient.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceFacade.KDServiceClientFx, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceFacade.KDServiceClientFx.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceFacade.KDServiceFx, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceFacade.KDServiceFx.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.ServiceHelper, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.ServiceHelper.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Web, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Web.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.Web.HTML, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.Web.HTML.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.WebApi.Client, Version=7.3.1150.7, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\ZD.Cloud.WebApi.7.3.2.3\lib\net452\Kingdee.BOS.WebApi.Client.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.WebApi.ServicesStub, Version=7.3.1150.7, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\ZD.Cloud.WebApi.7.3.2.3\lib\net452\Kingdee.BOS.WebApi.ServicesStub.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.WeiXin.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.WeiXin.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.BOS.WinForm.KDS20Lib, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.BOS.WinForm.KDS20Lib.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.Core, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.Core.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.App, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.App.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.App.Stock.Report, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.App.Stock.Report.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.App.Stock.ServicePlugIn, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.App.Stock.ServicePlugIn.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.Business.DynamicForm, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.Business.DynamicForm.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.Common.BusinessEntity, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.Common.BusinessEntity.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.Credit.Business.PlugIn, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.Credit.Business.PlugIn.dll</HintPath>
+ </Reference>
+ <Reference Include="Kingdee.K3.SCM.ServiceHelper, Version=7.5.1507.2, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\ZD.Cloud.Common.7.5.1.2\lib\net452\Kingdee.K3.SCM.ServiceHelper.dll</HintPath>
+ </Reference>
+ <Reference Include="Newtonsoft.Json, Version=4.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\ZD.Newtonsoft.Json.1.0.0\lib\Newtonsoft.Json.dll</HintPath>
+ </Reference>
+ <Reference Include="RestSharp, Version=106.11.4.0, Culture=neutral, PublicKeyToken=598062e77f915f75, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\RestSharp.106.11.4\lib\net452\RestSharp.dll</HintPath>
+ </Reference>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Web" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Net.Http" />
+ <Reference Include="System.Xml" />
+ <Reference Include="ZD.Cloud.Logger, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\ZD.Cloud.Logger.1.1.0\lib\net40\ZD.Cloud.Logger.dll</HintPath>
+ </Reference>
+ <Reference Include="ZD.Cloud.WebApi, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\ZD.Cloud.WebApi.7.3.2.3\lib\net452\ZD.Cloud.WebApi.dll</HintPath>
+ </Reference>
+ <Reference Include="ZD.Share, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\ZD.Share.1.0.2\lib\net452\ZD.Share.dll</HintPath>
+ </Reference>
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="BillConvertServicePlugin\MyBillConvertServicePlugin.cs" />
+ <Compile Include="BillPlugin\MyBillPlugin.cs" />
+ <Compile Include="CommonFilterPlugin\MyCommonFilterPlugin.cs" />
+ <Compile Include="Constants\Enum.cs" />
+ <Compile Include="Constants\FormId.cs" />
+ <Compile Include="Constants\KDServerName.cs" />
+ <Compile Include="Constants\Url.cs" />
+ <Compile Include="DBService\BigTicketProjectService.cs" />
+ <Compile Include="DynamicFormPlugin\MyDynamicFormPlugin.cs" />
+ <Compile Include="Extension\KDExtension.cs" />
+ <Compile Include="ListPlugin\MyListPlugin.cs" />
+ <Compile Include="Models\DTO\DemoDTO.cs" />
+ <Compile Include="Models\CommonModel.cs" />
+ <Compile Include="Models\SaveModel.cs" />
+ <Compile Include="Models\Search\Model.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="Report\MySysReportServicePlugin.cs" />
+ <Compile Include="ServicePlugins\MyOperationPlugin.cs" />
+ <Compile Include="Untity\CloudClient.cs" />
+ <Compile Include="Untity\HttpClient.cs" />
+ <Compile Include="Untity\XhHttpClient.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="Config\kdapi.config" />
+ <None Include="packages.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\BLL\Demo.BillView\Demo.BillView.csproj">
+ <Project>{45d78daf-cf2e-47d6-a404-76e3b36eedff}</Project>
+ <Name>Demo.BillView</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project>
\ No newline at end of file
diff --git a/src/ProductizationTemplate/Properties/AssemblyInfo.cs b/src/ProductizationTemplate/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..92e74af
--- /dev/null
+++ b/src/ProductizationTemplate/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+锘縰sing System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 鏈夊叧绋嬪簭闆嗙殑涓�鑸俊鎭敱浠ヤ笅
+// 鎺у埗銆傛洿鏀硅繖浜涚壒鎬у�煎彲淇敼
+// 涓庣▼搴忛泦鍏宠仈鐨勪俊鎭��
+[assembly: AssemblyTitle("XH_Bussiness")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("XH_Bussiness")]
+[assembly: AssemblyCopyright("Copyright 漏 2019")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 灏� ComVisible 璁剧疆涓� false 浼氫娇姝ょ▼搴忛泦涓殑绫诲瀷
+//瀵� COM 缁勪欢涓嶅彲瑙併�傚鏋滈渶瑕佷粠 COM 璁块棶姝ょ▼搴忛泦涓殑绫诲瀷
+//璇峰皢姝ょ被鍨嬬殑 ComVisible 鐗规�ц缃负 true銆�
+[assembly: ComVisible(false)]
+
+// 濡傛灉姝ら」鐩悜 COM 鍏紑锛屽垯涓嬪垪 GUID 鐢ㄤ簬绫诲瀷搴撶殑 ID
+[assembly: Guid("686e6d75-e365-4c5a-bec9-4d15372b6f17")]
+
+// 绋嬪簭闆嗙殑鐗堟湰淇℃伅鐢变笅鍒楀洓涓�肩粍鎴�:
+//
+// 涓荤増鏈�
+// 娆$増鏈�
+// 鐢熸垚鍙�
+// 淇鍙�
+//
+// 鍙互鎸囧畾鎵�鏈夊�硷紝涔熷彲浠ヤ娇鐢ㄤ互涓嬫墍绀虹殑 "*" 棰勭疆鐗堟湰鍙峰拰淇鍙�
+//閫氳繃浣跨敤 "*"锛屽涓嬫墍绀�:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/src/ProductizationTemplate/Report/MySysReportServicePlugin.cs b/src/ProductizationTemplate/Report/MySysReportServicePlugin.cs
new file mode 100644
index 0000000..a9704e0
--- /dev/null
+++ b/src/ProductizationTemplate/Report/MySysReportServicePlugin.cs
@@ -0,0 +1,62 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Kingdee.BOS.Contracts;
+using Kingdee.BOS.Contracts.Report;
+using Kingdee.BOS.Core.Metadata;
+using Kingdee.BOS.Core.Report;
+
+namespace ProductizationTemplate.Report
+{
+ public class MySysReportServicePlugin : SysReportBaseService
+ {
+ public override void Initialize()
+ {
+
+ }
+
+ /// <summary>
+ /// 鍔ㄦ�佹瀯閫犲垪
+ /// </summary>
+ /// <param name="filter"></param>
+ /// <returns></returns>
+ public override ReportHeader GetReportHeaders(IRptParams filter)
+ {
+ ReportHeader header = new ReportHeader();
+ return header;
+ }
+
+ /// <summary>
+ /// 璁剧疆鎶ヨ〃澶�
+ /// </summary>
+ /// <param name="filter"></param>
+ /// <returns></returns>
+ public override ReportTitles GetReportTitles(IRptParams filter)
+ {
+ ReportTitles titles = new ReportTitles();
+ return titles;
+ }
+
+ /// <summary>
+ /// 鏋勯�犲彇鏁癝ql锛屽彇鏁版嵁濉厖鍒颁复鏃惰〃锛歵ableName
+ /// </summary>
+ /// <param name="filter"></param>
+ /// <param name="tableName"></param>
+ public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName)
+ {
+
+ }
+
+ /// <summary>
+ /// 璁剧疆姹囨�昏锛屽彧鏈夋樉绀鸿储鍔′俊鎭椂鎵嶉渶瑕佹眹鎬�
+ /// </summary>
+ /// <param name="filter"></param>
+ /// <returns></returns>
+ public override List<SummaryField> GetSummaryColumnInfo(IRptParams filter)
+ {
+ List<SummaryField> summaryList = new List<SummaryField>();
+ return summaryList;
+ }
+ }
+}
diff --git a/src/ProductizationTemplate/ServicePlugins/MyOperationPlugin.cs b/src/ProductizationTemplate/ServicePlugins/MyOperationPlugin.cs
new file mode 100644
index 0000000..fe75316
--- /dev/null
+++ b/src/ProductizationTemplate/ServicePlugins/MyOperationPlugin.cs
@@ -0,0 +1,82 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Kingdee.BOS.Core.DynamicForm.PlugIn;
+using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
+using Kingdee.BOS.Orm.DataEntity;
+using Kingdee.BOS.Core.Validation;
+
+namespace MyPlugin.ServicePlugIn
+{
+ public class MyOperationPlugin : AbstractOperationServicePlugIn
+ {
+ public override void OnPreparePropertys(PreparePropertysEventArgs e)
+ {
+ //e.FieldKeys.Add("");灏嗛渶瑕佸簲鐢ㄧ殑瀛楁Key鍔犲叆
+ }
+
+ /// <summary>
+ /// 娣诲姞鏍¢獙鍣�
+ /// </summary>
+ /// <param name="e"></param>
+ public override void OnAddValidators(AddValidatorsEventArgs e)
+ {
+ var operValidator = new OperValidator();
+ operValidator.AlwaysValidate = true;
+ operValidator.EntityKey = "FBillHead";
+ e.Validators.Add(operValidator);
+ }
+
+ /// <summary>
+ /// 鎿嶄綔寮�濮嬪墠鍔熻兘澶勭悊
+ /// </summary>
+ /// <param name="e"></param>
+ public override void BeginOperationTransaction(BeginOperationTransactionArgs e)
+ {
+ foreach (DynamicObject o in e.DataEntitys)
+ {
+ }
+ }
+
+ /// <summary>
+ /// 鎿嶄綔缁撴潫鍚庡姛鑳藉鐞�
+ /// </summary>
+ /// <param name="e"></param>
+ public override void EndOperationTransaction(EndOperationTransactionArgs e)
+ {
+ foreach (DynamicObject o in e.DataEntitys)
+ {
+ }
+ }
+
+
+ /// <summary>
+ /// 褰撳墠鎿嶄綔鐨勬牎楠屽櫒
+ /// </summary>
+ private class OperValidator : AbstractValidator
+ {
+ public override void Validate(Kingdee.BOS.Core.ExtendedDataEntity[] dataEntities, ValidateContext validateContext, Kingdee.BOS.Context ctx)
+ {
+ //foreach (var dataEntity in dataEntities)
+ //{
+ //鍒ゆ柇鍒版暟鎹湁閿欒
+ // if()
+ // {
+ // ValidationErrorInfo ValidationErrorInfo = new ValidationErrorInfo(
+ // string.Empty,
+ // dataEntity["Id"].ToString(),
+ // dataEntity.DataEntityIndex,
+ // dataEntity.RowIndex,
+ // dataEntity["Id"].ToString(),
+ // "errMessage",
+ // string.Empty);
+ // validateContext.AddError(null, ValidationErrorInfo);
+ // continue;
+ // }
+
+ //}
+ }
+ }
+ }
+}
diff --git a/src/ProductizationTemplate/ServicePlugins/PluginARSettlement.cs b/src/ProductizationTemplate/ServicePlugins/PluginARSettlement.cs
new file mode 100644
index 0000000..df23d2d
--- /dev/null
+++ b/src/ProductizationTemplate/ServicePlugins/PluginARSettlement.cs
@@ -0,0 +1,97 @@
+锘縰sing Kingdee.BOS.Core.DynamicForm.PlugIn;
+using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
+using Kingdee.BOS.Orm.DataEntity;
+using Kingdee.BOS.ServiceHelper;
+using Kingdee.BOS.WebApi.Client;
+using MDM_Model.Constants;
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using XH_Bussiness.DBService;
+using XH_Bussiness.Models;
+using XH_Bussiness.Untity;
+using ZD.Cloud.Logger;
+using ZD.Cloud.Share.Common;
+
+namespace XH_Bussiness.ServicePlugin
+{
+
+ [Description("搴旀敹缁撶畻娓呭崟鐗╂枡淇濆瓨鏆傛椂涓嶇敤")]
+ public class PluginARSettlement : AbstractOperationServicePlugIn
+ {
+// public override void OnPreparePropertys(PreparePropertysEventArgs e)
+// {
+// base.OnPreparePropertys(e);
+// IList<string> Fields = e.FieldKeys;
+// Fields.Add("FBizBillNo");
+// Fields.Add("FSeq");
+// Fields.Add("FMaterialId");
+// }
+
+// public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e)
+// {
+// if (this.Context.CurrentOrganizationInfo.ID != 1)
+// {
+// return;
+// }
+// //鑾峰彇鍏冩暟鎹泦
+// DynamicObject[] SrcDatas = e.DataEntitys;
+// LogHelper.LogInfo("PluginARSettlement:" + JsonConvert.SerializeObject(e.DataEntitys));
+// foreach (DynamicObject SrcData in SrcDatas)
+// {
+// UpdatePrice(SrcData);
+
+// }
+// }
+
+// private void UpdatePrice(DynamicObject srcData)
+// {
+// var entity = srcData["FDetailEntity"] as DynamicObjectCollection;
+// foreach (DynamicObject item in entity)
+// {
+// string Seq = item["Seq"].ToString();
+// var materialId = Convert.ToInt64(item["FMaterialId"]);
+// var bizBillNo = Convert.ToInt64(item["FBizBillNo"]);
+
+// string sql1 = $@"select F_ProjectNo,FPrice
+// from t_sal_orderentry
+// where fentryid in
+// (select fsid
+// from t_sal_outstockentry_lk
+// where fentryid in (select fentryid
+// from t_sal_outstock t1
+// left join t_sal_outstockentry t2
+// on t1.fid = t2.fid
+// where t1.fbillno = '{bizBillNo}'))
+//";
+// var ds1 = DBServiceHelper.ExecuteDataSet(Context, sql1);
+// var dt1 = ds1.Tables[0];
+
+// if (dt1.Rows.Count == 0)
+// {
+// continue;
+// }
+// List<long> entryIds = new List<long>();
+// foreach (DataRow dr in dt1.Rows)
+// {
+// entryIds.Add(ConvertHelper.ToInt64(dr["F_ProjectNo"]));
+// }
+
+// string sql2 = $"select T1.FBehalfInvoiceRatio from PXDF_BigTicketProject t1 left join PXDF_BigTicketProjectEntry t2 on t1.fid=t2.fid where t2.fentryid in {entryIds.ToListParam()}";
+// var ds2 = DBServiceHelper.ExecuteDataSet(Context, sql2);
+// var list = new List<decimal>();
+// foreach (DataRow dr in dt1.Rows)
+// {
+// list.Add(ConvertHelper.ToDecimal(dr["FBehalfInvoiceRatio"]));
+// }
+
+// }
+
+// }
+ }
+}
diff --git a/src/ProductizationTemplate/Untity/CloudClient.cs b/src/ProductizationTemplate/Untity/CloudClient.cs
new file mode 100644
index 0000000..4f77e00
--- /dev/null
+++ b/src/ProductizationTemplate/Untity/CloudClient.cs
@@ -0,0 +1,32 @@
+锘縰sing Kingdee.BOS.WebApi.Client;
+using Newtonsoft.Json.Linq;
+using XhOA.Constants;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace XhOA.Untity
+{
+ public class CloudClient : K3CloudApiClient
+ {
+#if DEBUG
+ public const string DbId = "5df2f8e7f1848b";//MDM
+#else
+ public const string DbId = "5ce8f62da69d38";
+#endif
+ public const string UserName = "Administrator";
+ public const string PassWord = "Xhgj1234";
+ public CloudClient(string serverUrl = Url.KDApiUrl) : base(serverUrl)
+ {
+ var loginResult = ValidateLogin(DbId, UserName, PassWord, 2052);
+ var resultType = JObject.Parse(loginResult)["LoginResultType"].Value<int>();
+ //鐧诲綍缁撴灉绫诲瀷绛変簬1锛屼唬琛ㄧ櫥褰曟垚鍔�
+ if (resultType != 1)
+ {
+ throw new Exception("鐧诲綍澶辫触锛�");
+ }
+ }
+ }
+}
diff --git a/src/ProductizationTemplate/Untity/HttpClient.cs b/src/ProductizationTemplate/Untity/HttpClient.cs
new file mode 100644
index 0000000..9db6e35
--- /dev/null
+++ b/src/ProductizationTemplate/Untity/HttpClient.cs
@@ -0,0 +1,52 @@
+锘縰sing Newtonsoft.Json;
+using RestSharp;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Net;
+using System.Net.Http;
+using System.Net.Http.Headers;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace XhOA.Untity
+{
+ public class HttpClient
+ {
+ public static string Post(string url, string data)
+ {
+ ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
+
+ var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
+ httpWebRequest.ContentType = "application/json";
+ httpWebRequest.Method = "POST";
+
+ using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
+ {
+ streamWriter.Write(data);
+ streamWriter.Flush();
+ streamWriter.Close();
+ }
+
+ var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
+ using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
+ {
+ var result = streamReader.ReadToEnd();
+ return result;
+ }
+ }
+
+ public static string Post(string url, Dictionary<string, string> dics)
+ {
+ var client = new RestSharp.RestClient(url);
+ var request = new RestRequest(Method.POST);
+ foreach (var item in dics)
+ {
+ request.AddParameter(item.Key, item.Value);
+ }
+ IRestResponse restResponse = client.Execute(request);
+ return restResponse.Content;
+ }
+ }
+}
diff --git a/src/ProductizationTemplate/Untity/XhHttpClient.cs b/src/ProductizationTemplate/Untity/XhHttpClient.cs
new file mode 100644
index 0000000..4d246dd
--- /dev/null
+++ b/src/ProductizationTemplate/Untity/XhHttpClient.cs
@@ -0,0 +1,47 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Globalization;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Newtonsoft.Json;
+namespace XhOA.Untity
+{
+ /// <summary>
+ /// 涔愮鑾峰彇Token
+ /// </summary>
+ public class XhHttpClient
+ {
+#if DEBUG
+ private static string name="xherp";
+ private static string PWD = "dee61b6f3f8d515e3fbedd094017d683273e";
+ private static string url = "http://106.14.62.116:13221/xhmall-dockingplatform/api";
+#else
+ private static string name = "xherp";
+ private static string PWD = "dee61b6f3f8d515e3fbedd094017d683273e";
+ public static string url = "https://dock.xhgjmall.com/xhmall_dockingplatform/api";
+#endif
+
+ public static XhToken GetToken() {
+ string time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss", DateTimeFormatInfo.InvariantInfo);
+ System.Security.Cryptography.MD5CryptoServiceProvider md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
+ string sign = BitConverter.ToString(md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(name + PWD + time + PWD))).Replace("-", "").ToLower();//MD5鍔犲瘑
+ Dictionary<string, string> _params = new Dictionary<string, string>()
+ {
+ {"timestamp",time }, {"username",name }, {"password",PWD }, {"sign",sign }
+ };
+
+
+ var result= HttpClient.Post(url + "/auth2/access_token", _params);
+
+ return JsonConvert.DeserializeObject<XhToken>(result);
+ }
+
+
+ public class XhToken {
+ public bool success { get; set; }
+ public string access_token { get; set; }
+ public DateTime expires_at { get; set; }
+ }
+ }
+}
diff --git a/src/ProductizationTemplate/packages.config b/src/ProductizationTemplate/packages.config
new file mode 100644
index 0000000..164f68d
--- /dev/null
+++ b/src/ProductizationTemplate/packages.config
@@ -0,0 +1,10 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="log4net" version="2.0.8" targetFramework="net452" />
+ <package id="RestSharp" version="106.11.4" targetFramework="net452" />
+ <package id="ZD.Cloud.Common" version="7.5.1.2" targetFramework="net452" />
+ <package id="ZD.Cloud.Logger" version="1.1.0" targetFramework="net452" />
+ <package id="ZD.Cloud.WebApi" version="7.3.2.3" targetFramework="net452" />
+ <package id="ZD.Newtonsoft.Json" version="1.0.0" targetFramework="net452" />
+ <package id="ZD.Share" version="1.0.2" targetFramework="net452" />
+</packages>
\ No newline at end of file
diff --git a/src/UnitTestProject/Properties/AssemblyInfo.cs b/src/UnitTestProject/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..80db07d
--- /dev/null
+++ b/src/UnitTestProject/Properties/AssemblyInfo.cs
@@ -0,0 +1,20 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+[assembly: AssemblyTitle("UnitTestProject")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("UnitTestProject")]
+[assembly: AssemblyCopyright("Copyright 漏 2020")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+[assembly: ComVisible(false)]
+
+[assembly: Guid("60cf78a2-d35b-4aa5-92ed-3027f34f7245")]
+
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/src/UnitTestProject/UnitTest1.cs b/src/UnitTestProject/UnitTest1.cs
new file mode 100644
index 0000000..458e3d5
--- /dev/null
+++ b/src/UnitTestProject/UnitTest1.cs
@@ -0,0 +1,14 @@
+锘縰sing System;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+
+namespace UnitTestProject
+{
+ [TestClass]
+ public class UnitTest1
+ {
+ [TestMethod]
+ public void TestMethod1()
+ {
+ }
+ }
+}
diff --git a/src/UnitTestProject/UnitTestProject.csproj b/src/UnitTestProject/UnitTestProject.csproj
new file mode 100644
index 0000000..7629f72
--- /dev/null
+++ b/src/UnitTestProject/UnitTestProject.csproj
@@ -0,0 +1,68 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="..\..\packages\MSTest.TestAdapter.2.1.0\build\net45\MSTest.TestAdapter.props" Condition="Exists('..\..\packages\MSTest.TestAdapter.2.1.0\build\net45\MSTest.TestAdapter.props')" />
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{60CF78A2-D35B-4AA5-92ED-3027F34F7245}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>UnitTestProject</RootNamespace>
+ <AssemblyName>UnitTestProject</AssemblyName>
+ <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">15.0</VisualStudioVersion>
+ <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages</ReferencePath>
+ <IsCodedUITest>False</IsCodedUITest>
+ <TestProjectType>UnitTest</TestProjectType>
+ <NuGetPackageImportStamp>
+ </NuGetPackageImportStamp>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="Microsoft.VisualStudio.TestPlatform.TestFramework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\MSTest.TestFramework.2.1.0\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\MSTest.TestFramework.2.1.0\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll</HintPath>
+ </Reference>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="UnitTest1.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="packages.config" />
+ </ItemGroup>
+ <Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" />
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+ <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
+ <PropertyGroup>
+ <ErrorText>杩欏彴璁$畻鏈轰笂缂哄皯姝ら」鐩紩鐢ㄧ殑 NuGet 绋嬪簭鍖呫�備娇鐢ㄢ�淣uGet 绋嬪簭鍖呰繕鍘熲�濆彲涓嬭浇杩欎簺绋嬪簭鍖呫�傛湁鍏虫洿澶氫俊鎭紝璇峰弬瑙� http://go.microsoft.com/fwlink/?LinkID=322105銆傜己灏戠殑鏂囦欢鏄� {0}銆�</ErrorText>
+ </PropertyGroup>
+ <Error Condition="!Exists('..\..\packages\MSTest.TestAdapter.2.1.0\build\net45\MSTest.TestAdapter.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\MSTest.TestAdapter.2.1.0\build\net45\MSTest.TestAdapter.props'))" />
+ <Error Condition="!Exists('..\..\packages\MSTest.TestAdapter.2.1.0\build\net45\MSTest.TestAdapter.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\MSTest.TestAdapter.2.1.0\build\net45\MSTest.TestAdapter.targets'))" />
+ </Target>
+ <Import Project="..\..\packages\MSTest.TestAdapter.2.1.0\build\net45\MSTest.TestAdapter.targets" Condition="Exists('..\..\packages\MSTest.TestAdapter.2.1.0\build\net45\MSTest.TestAdapter.targets')" />
+</Project>
\ No newline at end of file
diff --git a/src/UnitTestProject/packages.config b/src/UnitTestProject/packages.config
new file mode 100644
index 0000000..5efcb1e
--- /dev/null
+++ b/src/UnitTestProject/packages.config
@@ -0,0 +1,5 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="MSTest.TestAdapter" version="2.1.0" targetFramework="net452" />
+ <package id="MSTest.TestFramework" version="2.1.0" targetFramework="net452" />
+</packages>
\ No newline at end of file
--
Gitblit v1.9.1