王 垚
2020-10-21 1af21ab311f483fdcf0b0bf995beaf17f8644810
COMMIT
102个文件已添加
5056 ■■■■■ 已修改文件
.gitattributes 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.gitignore 261 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ProductizationTemplate.sln 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
README.md 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.BLL/Demo.BLL.csproj 141 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.BLL/Properties/AssemblyInfo.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.BLL/SCM/SAL_SaleOrderBLL.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.BLL/packages.config 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.BillView/Demo.BillView.csproj 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.BillView/Properties/AssemblyInfo.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.BillView/SCM/SAL_SaleOrder.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.BillView/packages.config 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.CommonFilter/Demo.CommonFilter.csproj 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.CommonFilter/Properties/AssemblyInfo.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.CommonFilter/packages.config 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.DynamicForm/Demo.DynamicForm.csproj 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.DynamicForm/PRD/Pro_WorkBillPlatform.cs 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.DynamicForm/Properties/AssemblyInfo.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.DynamicForm/packages.config 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.ListView/Demo.ListView.csproj 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.ListView/Properties/AssemblyInfo.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.ListView/packages.config 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.OperationService/Config/kdapi.config 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.OperationService/Demo.OperationService.csproj 147 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.OperationService/Properties/AssemblyInfo.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.OperationService/SCM/SAL_SaleOrder/SAL_SaleOrderSave.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.OperationService/SCM/SAL_SaleOrder/SAL_SaleOrderSubmit.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.OperationService/packages.config 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.Report/Demo.Report.csproj 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.Report/Properties/AssemblyInfo.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.Report/packages.config 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.SysReportView/Demo.SysReportView.csproj 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.SysReportView/Properties/AssemblyInfo.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.SysReportView/packages.config 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DAL/Demo.Dal/Basic/BD_MaterialDAL.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DAL/Demo.Dal/Demo.DAL.csproj 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DAL/Demo.Dal/Properties/AssemblyInfo.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DAL/Demo.Dal/packages.config 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DAL/Demo.IDal/Basic/IBD_MATERIALDal.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DAL/Demo.IDal/Basic/IORG_OrganizationsDal.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DAL/Demo.IDal/Business/ISAL_SaleOrderDal.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DAL/Demo.IDal/Demo.IDAL.csproj 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/DAL/Demo.IDal/Properties/AssemblyInfo.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Interface/Demo.IBLL/Demo.IBLL.csproj 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Interface/Demo.IBLL/Properties/AssemblyInfo.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Interface/Demo.IBLL/SCM/ISAL_SaleOrderBLL.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Interface/Demo.IBillView/Demo.IBillView.csproj 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Interface/Demo.IBillView/Properties/AssemblyInfo.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Interface/Demo.IBillView/SCM/ISAL_SaleOrder.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Interface/Demo.ICommonFilter/Demo.ICommonFilter.csproj 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Interface/Demo.ICommonFilter/Properties/AssemblyInfo.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Interface/Demo.ICommonFilter/SCM/ISAL_SaleOrderCommonFilter.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Interface/Demo.IDynamicForm/Demo.IDynamicForm.csproj 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Interface/Demo.IDynamicForm/Properties/AssemblyInfo.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Interface/Demo.IDynamicForm/SCM/ISAL_SaleOrderDynamicForm.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Interface/Demo.IListView/Demo.IListView.csproj 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Interface/Demo.IListView/Properties/AssemblyInfo.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Interface/Demo.IListView/SCM/ISAL_SaleOrderListView.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Interface/Demo.IOperationService/Demo.IOperationService.csproj 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Interface/Demo.IOperationService/Properties/AssemblyInfo.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Interface/Demo.IOperationService/SCM/SAL_SaleOrder/ISAL_SaleOrderConvertBill.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Interface/Demo.IOperationService/SCM/SAL_SaleOrder/ISAL_SaleOrderService.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Interface/Demo.ISysReportView/Demo.ISysReportView.csproj 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Interface/Demo.ISysReportView/Properties/AssemblyInfo.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Interface/Demo.ISysReportView/SCM/IReportView.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Model/Demo.Model/Demo.Model.csproj 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Model/Demo.Model/Entity/SCM/SAL_SaleOrder.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Model/Demo.Model/Entity/infrastructure/IBillEntry.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Model/Demo.Model/Entity/infrastructure/IBillHead.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Model/Demo.Model/Infrastructure/IBillEntry.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Model/Demo.Model/Infrastructure/IBillHead.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Model/Demo.Model/Properties/AssemblyInfo.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Model/Demo.Model/SearchModel/SAL_SaleOrderSearch.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/ProductizationTemplate/BillConvertServicePlugin/MyBillConvertServicePlugin.cs 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/ProductizationTemplate/BillPlugin/MyBillPlugin.cs 192 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/ProductizationTemplate/CommonFilterPlugin/MyCommonFilterPlugIn.cs 170 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/ProductizationTemplate/Config/kdapi.config 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/ProductizationTemplate/Constants/Enum.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/ProductizationTemplate/Constants/FormId.cs 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/ProductizationTemplate/Constants/KDServerName.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/ProductizationTemplate/Constants/Url.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/ProductizationTemplate/DBService/BigTicketProjectService.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/ProductizationTemplate/DynamicFormPlugin/MyDynamicFormPlugin.cs 175 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/ProductizationTemplate/Extension/KDExtension.cs 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/ProductizationTemplate/ListPlugin/MyListPlugin.cs 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/ProductizationTemplate/Models/CommonModel.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/ProductizationTemplate/Models/DTO/DemoDTO.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/ProductizationTemplate/Models/SaveModel.cs 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/ProductizationTemplate/Models/Search/Model.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/ProductizationTemplate/ProductizationTemplate.csproj 181 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/ProductizationTemplate/Properties/AssemblyInfo.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/ProductizationTemplate/Report/MySysReportServicePlugin.cs 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/ProductizationTemplate/ServicePlugins/MyOperationPlugin.cs 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/ProductizationTemplate/ServicePlugins/PluginARSettlement.cs 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/ProductizationTemplate/Untity/CloudClient.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/ProductizationTemplate/Untity/HttpClient.cs 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/ProductizationTemplate/Untity/XhHttpClient.cs 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/ProductizationTemplate/packages.config 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/UnitTestProject/Properties/AssemblyInfo.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/UnitTestProject/UnitTest1.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/UnitTestProject/UnitTestProject.csproj 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/UnitTestProject/packages.config 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.gitattributes
New file
@@ -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
.gitignore
New file
@@ -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
ProductizationTemplate.sln
New file
@@ -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
README.md
New file
@@ -0,0 +1,7 @@
# 项目模板
## 开发cloud项目可使用此解决方案
## clone后,请及时更换文件名,项目名等。
## 日志文件配置请修改config文件夹中log.config,切勿自己再添加日志代码!!!
src/BLL/Demo.BLL/Demo.BLL.csproj
New file
@@ -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>
src/BLL/Demo.BLL/Properties/AssemblyInfo.cs
New file
@@ -0,0 +1,36 @@
using 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")]
src/BLL/Demo.BLL/SCM/SAL_SaleOrderBLL.cs
New file
@@ -0,0 +1,19 @@
using 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);
        }
    }
}
src/BLL/Demo.BLL/packages.config
New file
@@ -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>
src/BLL/Demo.BillView/Demo.BillView.csproj
New file
@@ -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>
src/BLL/Demo.BillView/Properties/AssemblyInfo.cs
New file
@@ -0,0 +1,36 @@
using 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")]
src/BLL/Demo.BillView/SCM/SAL_SaleOrder.cs
New file
@@ -0,0 +1,23 @@
using 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";
        }
    }
}
src/BLL/Demo.BillView/packages.config
New file
@@ -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>
src/BLL/Demo.CommonFilter/Demo.CommonFilter.csproj
New file
@@ -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>
src/BLL/Demo.CommonFilter/Properties/AssemblyInfo.cs
New file
@@ -0,0 +1,36 @@
using 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")]
src/BLL/Demo.CommonFilter/packages.config
New file
@@ -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>
src/BLL/Demo.DynamicForm/Demo.DynamicForm.csproj
New file
@@ -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>
src/BLL/Demo.DynamicForm/PRD/Pro_WorkBillPlatform.cs
New file
@@ -0,0 +1,37 @@
using 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;
            }
        }
    }
}
src/BLL/Demo.DynamicForm/Properties/AssemblyInfo.cs
New file
@@ -0,0 +1,36 @@
using 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")]
src/BLL/Demo.DynamicForm/packages.config
New file
@@ -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>
src/BLL/Demo.ListView/Demo.ListView.csproj
New file
@@ -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>
src/BLL/Demo.ListView/Properties/AssemblyInfo.cs
New file
@@ -0,0 +1,36 @@
using 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")]
src/BLL/Demo.ListView/packages.config
New file
@@ -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>
src/BLL/Demo.OperationService/Config/kdapi.config
New file
@@ -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>
src/BLL/Demo.OperationService/Demo.OperationService.csproj
New file
@@ -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>
src/BLL/Demo.OperationService/Properties/AssemblyInfo.cs
New file
@@ -0,0 +1,36 @@
using 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")]
src/BLL/Demo.OperationService/SCM/SAL_SaleOrder/SAL_SaleOrderSave.cs
New file
@@ -0,0 +1,18 @@
using 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)
        {
        }
    }
}
src/BLL/Demo.OperationService/SCM/SAL_SaleOrder/SAL_SaleOrderSubmit.cs
New file
@@ -0,0 +1,13 @@
using 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
    {
    }
}
src/BLL/Demo.OperationService/packages.config
New file
@@ -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>
src/BLL/Demo.Report/Demo.Report.csproj
New file
@@ -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>
src/BLL/Demo.Report/Properties/AssemblyInfo.cs
New file
@@ -0,0 +1,36 @@
using 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")]
src/BLL/Demo.Report/packages.config
New file
@@ -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>
src/BLL/Demo.SysReportView/Demo.SysReportView.csproj
New file
@@ -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>
src/BLL/Demo.SysReportView/Properties/AssemblyInfo.cs
New file
@@ -0,0 +1,36 @@
using 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")]
src/BLL/Demo.SysReportView/packages.config
New file
@@ -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>
src/DAL/Demo.Dal/Basic/BD_MaterialDAL.cs
New file
@@ -0,0 +1,35 @@
using 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();
        }
    }
}
src/DAL/Demo.Dal/Demo.DAL.csproj
New file
@@ -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>
src/DAL/Demo.Dal/Properties/AssemblyInfo.cs
New file
@@ -0,0 +1,36 @@
using 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")]
src/DAL/Demo.Dal/packages.config
New file
@@ -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>
src/DAL/Demo.IDal/Basic/IBD_MATERIALDal.cs
New file
@@ -0,0 +1,16 @@
using 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);
    }
}
src/DAL/Demo.IDal/Basic/IORG_OrganizationsDal.cs
New file
@@ -0,0 +1,14 @@
using 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);
    }
}
src/DAL/Demo.IDal/Business/ISAL_SaleOrderDal.cs
New file
@@ -0,0 +1,16 @@
using 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);
    }
}
src/DAL/Demo.IDal/Demo.IDAL.csproj
New file
@@ -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>
src/DAL/Demo.IDal/Properties/AssemblyInfo.cs
New file
@@ -0,0 +1,36 @@
using 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")]
src/Interface/Demo.IBLL/Demo.IBLL.csproj
New file
@@ -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>
src/Interface/Demo.IBLL/Properties/AssemblyInfo.cs
New file
@@ -0,0 +1,36 @@
using 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")]
src/Interface/Demo.IBLL/SCM/ISAL_SaleOrderBLL.cs
New file
@@ -0,0 +1,13 @@
using 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);
    }
}
src/Interface/Demo.IBillView/Demo.IBillView.csproj
New file
@@ -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>
src/Interface/Demo.IBillView/Properties/AssemblyInfo.cs
New file
@@ -0,0 +1,36 @@
using 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")]
src/Interface/Demo.IBillView/SCM/ISAL_SaleOrder.cs
New file
@@ -0,0 +1,19 @@
using 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();
    }
}
src/Interface/Demo.ICommonFilter/Demo.ICommonFilter.csproj
New file
@@ -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>
src/Interface/Demo.ICommonFilter/Properties/AssemblyInfo.cs
New file
@@ -0,0 +1,36 @@
using 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")]
src/Interface/Demo.ICommonFilter/SCM/ISAL_SaleOrderCommonFilter.cs
New file
@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Demo.ICommonFilter.SCM
{
    public interface ISAL_SaleOrderCommonFilter
    {
    }
}
src/Interface/Demo.IDynamicForm/Demo.IDynamicForm.csproj
New file
@@ -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>
src/Interface/Demo.IDynamicForm/Properties/AssemblyInfo.cs
New file
@@ -0,0 +1,36 @@
using 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")]
src/Interface/Demo.IDynamicForm/SCM/ISAL_SaleOrderDynamicForm.cs
New file
@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Demo.IDynamicForm.SCM
{
    public interface ISAL_SaleOrderDynamicForm
    {
    }
}
src/Interface/Demo.IListView/Demo.IListView.csproj
New file
@@ -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>
src/Interface/Demo.IListView/Properties/AssemblyInfo.cs
New file
@@ -0,0 +1,36 @@
using 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")]
src/Interface/Demo.IListView/SCM/ISAL_SaleOrderListView.cs
New file
@@ -0,0 +1,16 @@
using 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();
    }
}
src/Interface/Demo.IOperationService/Demo.IOperationService.csproj
New file
@@ -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>
src/Interface/Demo.IOperationService/Properties/AssemblyInfo.cs
New file
@@ -0,0 +1,36 @@
using 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")]
src/Interface/Demo.IOperationService/SCM/SAL_SaleOrder/ISAL_SaleOrderConvertBill.cs
New file
@@ -0,0 +1,12 @@
using 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
    {
    }
}
src/Interface/Demo.IOperationService/SCM/SAL_SaleOrder/ISAL_SaleOrderService.cs
New file
@@ -0,0 +1,12 @@
using 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
    {
    }
}
src/Interface/Demo.ISysReportView/Demo.ISysReportView.csproj
New file
@@ -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>
src/Interface/Demo.ISysReportView/Properties/AssemblyInfo.cs
New file
@@ -0,0 +1,36 @@
using 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")]
src/Interface/Demo.ISysReportView/SCM/IReportView.cs
New file
@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Demo.ISysReportView.SCM
{
    public interface IReportView
    {
    }
}
src/Model/Demo.Model/Demo.Model.csproj
New file
@@ -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>
src/Model/Demo.Model/Entity/SCM/SAL_SaleOrder.cs
New file
@@ -0,0 +1,32 @@
using 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; }
    }
}
src/Model/Demo.Model/Entity/infrastructure/IBillEntry.cs
New file
@@ -0,0 +1,16 @@
using 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; }
    }
}
src/Model/Demo.Model/Entity/infrastructure/IBillHead.cs
New file
@@ -0,0 +1,22 @@
using 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; }
    }
}
src/Model/Demo.Model/Infrastructure/IBillEntry.cs
New file
@@ -0,0 +1,16 @@
using 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; }
    }
}
src/Model/Demo.Model/Infrastructure/IBillHead.cs
New file
@@ -0,0 +1,22 @@
using 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; }
    }
}
src/Model/Demo.Model/Properties/AssemblyInfo.cs
New file
@@ -0,0 +1,36 @@
using 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")]
src/Model/Demo.Model/SearchModel/SAL_SaleOrderSearch.cs
New file
@@ -0,0 +1,17 @@
using 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; }
    }
}
src/ProductizationTemplate/BillConvertServicePlugin/MyBillConvertServicePlugin.cs
New file
@@ -0,0 +1,69 @@
using 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>
        /// 解析字段映射关系,并构建查询参数。
        /// 这里可以加入你想要的字段
        /// </summary>
        /// <param name="e">事件参数包</param>
        public override void OnQueryBuilderParemeter(QueryBuilderParemeterEventArgs e)
        {
            //e.SelectItems.Add(new SelectorItemInfo("")); 添加你需要添加的字段的Key
        }
        /// <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【大写】,可以根据条件设置值e.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)
        {
        }
    }
}
src/ProductizationTemplate/BillPlugin/MyBillPlugin.cs
New file
@@ -0,0 +1,192 @@
using 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>
        /// 初始化,对其他界面传来的参数进行处理,对控件某些属性进行处理
        /// 这里不宜对数据DataModel进行处理
        /// </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":通过字段的Key[大写]来区分不同的基础资料
                //e.Filter = "FXXX= AND fxxy=";过滤的字段使用对应基础资料的字段的Key,支持ksql语法
                //break;
                case "":
                    break;
                default:
                    break;
            }
        }
        /// <summary>
        /// 显示基础资料列表之前调用
        /// 通过重载本事件,可以设置必要的过滤条件,以限定检索范围;
        /// </summary>
        /// <param name="e"></param>
        public override void BeforeF7Select(BeforeF7SelectEventArgs e)
        {
            switch (e.FieldKey.ToUpperInvariant())
            {
                //case "FXXX":通过字段的Key[大写]来区分不同的基础资料
                //    e.ListFilterParameter.Filter = "FXXX= AND fxxy=";过滤的字段使用对应基础资料的字段的Key,支持ksql语法
                //break;
                case "":
                    break;
                default:
                    break;
            }
        }
        /// <summary>
        /// 界面数据发生变化之前,需要处理的功能
        /// </summary>
        /// <param name="e"></param>
        public override void BeforeUpdateValue(BeforeUpdateValueEventArgs e)
        {
            switch (e.Key.ToUpperInvariant())
            {
                //case "FXXX":通过字段的Key[大写]来区分不同的控件的数据变化功能,如果要阻止该次变化,可以用e.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 = "",//过滤条件,通过业务对象的字段Key拼装过滤条件
                SelectItems = SelectorItemInfo.CreateItems("", "", ""),//要筛选的字段【业务对象的字段Key】,可以多个,如果要取主键,使用主键名
            };
            DynamicObjectCollection dyDatas = Kingdee.BOS.ServiceHelper.QueryServiceHelper.GetDynamicObjectCollection(this.Context, paramCatalog);
            return dyDatas;
        }
    }
}
src/ProductizationTemplate/CommonFilterPlugin/MyCommonFilterPlugIn.cs
New file
@@ -0,0 +1,170 @@
using 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>
        /// 初始化,对其他界面传来的参数进行处理,对控件某些属性进行处理
        /// 这里不宜对数据DataModel进行处理
        /// </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":通过字段的Key[大写]来区分不同的基础资料
                //e.Filter = "FXXX= AND fxxy=";过滤的字段使用对应基础资料的字段的Key,支持ksql语法
                //break;
                case "":
                    break;
                default:
                    break;
            }
        }
        /// <summary>
        /// 显示基础资料列表之前调用
        /// 通过重载本事件,可以设置必要的过滤条件,以限定检索范围;
        /// </summary>
        /// <param name="e"></param>
        public override void BeforeF7Select(BeforeF7SelectEventArgs e)
        {
            switch (e.FieldKey.ToUpperInvariant())
            {
                //case "FXXX":通过字段的Key[大写]来区分不同的基础资料
                //    e.ListFilterParameter.Filter = "FXXX= AND fxxy=";过滤的字段使用对应基础资料的字段的Key,支持ksql语法
                //break;
                case "":
                    break;
                default:
                    break;
            }
        }
        /// <summary>
        /// 界面数据发生变化之前,需要处理的功能
        /// </summary>
        /// <param name="e"></param>
        public override void BeforeUpdateValue(BeforeUpdateValueEventArgs e)
        {
            switch (e.Key.ToUpperInvariant())
            {
                //case "FXXX":通过字段的Key[大写]来区分不同的控件的数据变化功能,如果要阻止该次变化,可以用e.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 = "",//过滤条件,通过业务对象的字段Key拼装过滤条件
                SelectItems = SelectorItemInfo.CreateItems("", "", ""),//要筛选的字段【业务对象的字段Key】,可以多个,如果要取主键,使用主键名
            };
            DynamicObjectCollection dyDatas = Kingdee.BOS.ServiceHelper.QueryServiceHelper.GetDynamicObjectCollection(this.Context, paramCatalog);
            return dyDatas;
        }
    }
}
src/ProductizationTemplate/Config/kdapi.config
New file
@@ -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>
src/ProductizationTemplate/Constants/Enum.cs
New file
@@ -0,0 +1,15 @@
using 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 }
    }
}
src/ProductizationTemplate/Constants/FormId.cs
New file
@@ -0,0 +1,85 @@
using 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>
        /// 供应商ID
        /// </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";
    }
}
src/ProductizationTemplate/Constants/KDServerName.cs
New file
@@ -0,0 +1,40 @@
using 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>
        /// 金蝶单据反审核接口地址
        /// </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";
    }
}
src/ProductizationTemplate/Constants/Url.cs
New file
@@ -0,0 +1,29 @@
using 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";//该IP为OMS访问阿里云服务器的地址
        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
    }
}
src/ProductizationTemplate/DBService/BigTicketProjectService.cs
New file
@@ -0,0 +1,25 @@
using 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);
        }
    }
}
src/ProductizationTemplate/DynamicFormPlugin/MyDynamicFormPlugin.cs
New file
@@ -0,0 +1,175 @@
using 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>
        /// 初始化,对其他界面传来的参数进行处理,对控件某些属性进行处理
        /// 这里不宜对数据DataModel进行处理
        /// </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":通过字段的Key[大写]来区分不同的基础资料
                //e.Filter = "FXXX= AND fxxy=";过滤的字段使用对应基础资料的字段的Key,支持ksql语法
                //break;
                case "":
                    break;
                default:
                    break;
            }
        }
        /// <summary>
        /// 显示基础资料列表之前调用
        /// 通过重载本事件,可以设置必要的过滤条件,以限定检索范围;
        /// </summary>
        /// <param name="e"></param>
        public override void BeforeF7Select(BeforeF7SelectEventArgs e)
        {
            switch (e.FieldKey.ToUpperInvariant())
            {
                //case "FXXX":通过字段的Key[大写]来区分不同的基础资料
                //    e.ListFilterParameter.Filter = "FXXX= AND fxxy=";过滤的字段使用对应基础资料的字段的Key,支持ksql语法
                //break;
                case "":
                    break;
                default:
                    break;
            }
        }
        /// <summary>
        /// 界面数据发生变化之前,需要处理的功能
        /// </summary>
        /// <param name="e"></param>
        public override void BeforeUpdateValue(BeforeUpdateValueEventArgs e)
        {
            switch (e.Key.ToUpperInvariant())
            {
                //case "FXXX":通过字段的Key[大写]来区分不同的控件的数据变化功能,如果要阻止该次变化,可以用e.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 = "",//过滤条件,通过业务对象的字段Key拼装过滤条件
                SelectItems = SelectorItemInfo.CreateItems("", "", ""),//要筛选的字段【业务对象的字段Key】,可以多个,如果要取主键,使用主键名
            };
            DynamicObjectCollection dyDatas = Kingdee.BOS.ServiceHelper.QueryServiceHelper.GetDynamicObjectCollection(this.Context, paramCatalog);
            return dyDatas;
        }
    }
}
src/ProductizationTemplate/Extension/KDExtension.cs
New file
@@ -0,0 +1,99 @@
using 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");
        }
    }
}
src/ProductizationTemplate/ListPlugin/MyListPlugin.cs
New file
@@ -0,0 +1,75 @@
using 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 = "",//过滤条件,通过业务对象的字段Key拼装过滤条件
                SelectItems = SelectorItemInfo.CreateItems("", "", ""),//要筛选的字段【业务对象的字段Key】,可以多个,如果要取主键,使用主键名
            };
            DynamicObjectCollection dyDatas = Kingdee.BOS.ServiceHelper.QueryServiceHelper.GetDynamicObjectCollection(this.Context, paramCatalog);
            return dyDatas;
        }
    }
}
src/ProductizationTemplate/Models/CommonModel.cs
New file
@@ -0,0 +1,28 @@
using 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; }
    }
}
src/ProductizationTemplate/Models/DTO/DemoDTO.cs
New file
@@ -0,0 +1,22 @@
using 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; }
    }
}
src/ProductizationTemplate/Models/SaveModel.cs
New file
@@ -0,0 +1,50 @@
using 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; }
    }
}
src/ProductizationTemplate/Models/Search/Model.cs
New file
@@ -0,0 +1,23 @@
using 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; }
    }
}
src/ProductizationTemplate/ProductizationTemplate.csproj
New file
@@ -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>
src/ProductizationTemplate/Properties/AssemblyInfo.cs
New file
@@ -0,0 +1,36 @@
using 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")]
src/ProductizationTemplate/Report/MySysReportServicePlugin.cs
New file
@@ -0,0 +1,62 @@
using 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>
        /// 构造取数Sql,取数据填充到临时表:tableName
        /// </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;
        }
    }
}
src/ProductizationTemplate/ServicePlugins/MyOperationPlugin.cs
New file
@@ -0,0 +1,82 @@
using 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;
                //    }
                //}
            }
        }
    }
}
src/ProductizationTemplate/ServicePlugins/PluginARSettlement.cs
New file
@@ -0,0 +1,97 @@
using 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"]));
//                }
//            }
//        }
    }
}
src/ProductizationTemplate/Untity/CloudClient.cs
New file
@@ -0,0 +1,32 @@
using 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("登录失败!");
            }
        }
    }
}
src/ProductizationTemplate/Untity/HttpClient.cs
New file
@@ -0,0 +1,52 @@
using 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;
        }
    }
}
src/ProductizationTemplate/Untity/XhHttpClient.cs
New file
@@ -0,0 +1,47 @@
using 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; }
        }
    }
}
src/ProductizationTemplate/packages.config
New file
@@ -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>
src/UnitTestProject/Properties/AssemblyInfo.cs
New file
@@ -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")]
src/UnitTestProject/UnitTest1.cs
New file
@@ -0,0 +1,14 @@
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace UnitTestProject
{
    [TestClass]
    public class UnitTest1
    {
        [TestMethod]
        public void TestMethod1()
        {
        }
    }
}
src/UnitTestProject/UnitTestProject.csproj
New file
@@ -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 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 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>
src/UnitTestProject/packages.config
New file
@@ -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>