Browse Source

北京北汽

master
mingliang.tang 1 year ago
commit
9ed98a5f23
  1. 3
      .vs/ProjectSettings.json
  2. BIN
      .vs/bjbq/v16/.suo
  3. BIN
      .vs/slnx.sqlite
  4. 63
      北京北汽/.gitattributes
  5. 268
      北京北汽/.gitignore
  6. 43
      北京北汽/CK.SCP.Controller/ASNController.cs
  7. 114
      北京北汽/CK.SCP.Controller/BaseDocContoller.cs
  8. 99
      北京北汽/CK.SCP.Controller/CK.SCP.Controller.csproj
  9. 12
      北京北汽/CK.SCP.Controller/Class1.cs
  10. 59
      北京北汽/CK.SCP.Controller/InfoController.cs
  11. 85
      北京北汽/CK.SCP.Controller/InvoiceController.cs
  12. 37
      北京北汽/CK.SCP.Controller/InvoiceDetailController.cs
  13. 33
      北京北汽/CK.SCP.Controller/OadOrderController.cs
  14. 115
      北京北汽/CK.SCP.Controller/POController.cs
  15. 68
      北京北汽/CK.SCP.Controller/PODetailController.cs
  16. 29
      北京北汽/CK.SCP.Controller/PartController.cs
  17. 60
      北京北汽/CK.SCP.Controller/PlanMonthController.cs
  18. 36
      北京北汽/CK.SCP.Controller/Properties/AssemblyInfo.cs
  19. 54
      北京北汽/CK.SCP.Controller/PublicDataController.cs
  20. 22
      北京北汽/CK.SCP.Controller/ReceiveController.cs
  21. 33
      北京北汽/CK.SCP.Controller/ReceiveDetailController.cs
  22. 42
      北京北汽/CK.SCP.Controller/ResultObject.cs
  23. 23
      北京北汽/CK.SCP.Controller/ShipController.cs
  24. 57
      北京北汽/CK.SCP.Controller/ShipDetailController.cs
  25. 32
      北京北汽/CK.SCP.Controller/SupplierController.cs
  26. 29
      北京北汽/CK.SCP.Controller/SupplierPartController.cs
  27. 253
      北京北汽/CK.SCP.Controller/UniApiController.cs
  28. 14
      北京北汽/CK.SCP.Controller/UserController.cs
  29. 21
      北京北汽/CK.SCP.Controller/VEND_USERController.cs
  30. 25
      北京北汽/CK.SCP.Controller/app.config
  31. 5
      北京北汽/CK.SCP.Controller/packages.config
  32. 6
      北京北汽/CK.SCP.DCUNI/App.config
  33. 87
      北京北汽/CK.SCP.DCUNI/CK.SCP.DCUNI.csproj
  34. 39
      北京北汽/CK.SCP.DCUNI/Form1.Designer.cs
  35. 20
      北京北汽/CK.SCP.DCUNI/Form1.cs
  36. 22
      北京北汽/CK.SCP.DCUNI/Program.cs
  37. 36
      北京北汽/CK.SCP.DCUNI/Properties/AssemblyInfo.cs
  38. 71
      北京北汽/CK.SCP.DCUNI/Properties/Resources.Designer.cs
  39. 117
      北京北汽/CK.SCP.DCUNI/Properties/Resources.resx
  40. 30
      北京北汽/CK.SCP.DCUNI/Properties/Settings.Designer.cs
  41. 7
      北京北汽/CK.SCP.DCUNI/Properties/Settings.settings
  42. 20
      北京北汽/CK.SCP.Models/App.config
  43. 94
      北京北汽/CK.SCP.Models/AppBoxEntity/AppBoxContext.cs
  44. 686
      北京北汽/CK.SCP.Models/AppBoxEntity/AppBoxDatabaseInitializer.cs
  45. 19
      北京北汽/CK.SCP.Models/AppBoxEntity/Config.cs
  46. 67
      北京北汽/CK.SCP.Models/AppBoxEntity/Dept.cs
  47. 25
      北京北汽/CK.SCP.Models/AppBoxEntity/ICustomTree.cs
  48. 8
      北京北汽/CK.SCP.Models/AppBoxEntity/IKeyID.cs
  49. 26
      北京北汽/CK.SCP.Models/AppBoxEntity/Log.cs
  50. 74
      北京北汽/CK.SCP.Models/AppBoxEntity/Menu.cs
  51. 23
      北京北汽/CK.SCP.Models/AppBoxEntity/Online.cs
  52. 119
      北京北汽/CK.SCP.Models/AppBoxEntity/PasswordUtil.cs
  53. 27
      北京北汽/CK.SCP.Models/AppBoxEntity/Power.cs
  54. 24
      北京北汽/CK.SCP.Models/AppBoxEntity/Role.cs
  55. 23
      北京北汽/CK.SCP.Models/AppBoxEntity/Title.cs
  56. 85
      北京北汽/CK.SCP.Models/AppBoxEntity/User.cs
  57. 252
      北京北汽/CK.SCP.Models/CK.SCP.Models.csproj
  58. 28
      北京北汽/CK.SCP.Models/DbSetting.cs
  59. 148
      北京北汽/CK.SCP.Models/EntitiesFactory.cs
  60. 162
      北京北汽/CK.SCP.Models/EntitiesHelper.cs
  61. 158
      北京北汽/CK.SCP.Models/Enums/BillType.cs
  62. 11
      北京北汽/CK.SCP.Models/Enums/CollectionStepFinish.cs
  63. 16
      北京北汽/CK.SCP.Models/Enums/ControlType.cs
  64. 10
      北京北汽/CK.SCP.Models/Enums/DataBaseType.cs
  65. 29
      北京北汽/CK.SCP.Models/Enums/DataState.cs
  66. 11
      北京北汽/CK.SCP.Models/Enums/EquipmentState.cs
  67. 19
      北京北汽/CK.SCP.Models/Enums/ErpInterfaceType.cs
  68. 15
      北京北汽/CK.SCP.Models/Enums/GroupType.cs
  69. 14
      北京北汽/CK.SCP.Models/Enums/InspectType.cs
  70. 14
      北京北汽/CK.SCP.Models/Enums/InspectionType.cs
  71. 19
      北京北汽/CK.SCP.Models/Enums/InventoryState.cs
  72. 24
      北京北汽/CK.SCP.Models/Enums/InvoiceState.cs
  73. 15
      北京北汽/CK.SCP.Models/Enums/LocType.cs
  74. 17
      北京北汽/CK.SCP.Models/Enums/LogType.cs
  75. 16
      北京北汽/CK.SCP.Models/Enums/LoginState.cs
  76. 12
      北京北汽/CK.SCP.Models/Enums/ManageType.cs
  77. 18
      北京北汽/CK.SCP.Models/Enums/ManufactureProcedureType.cs
  78. 24
      北京北汽/CK.SCP.Models/Enums/NotifyType.cs
  79. 11
      北京北汽/CK.SCP.Models/Enums/OperateType.cs
  80. 14
      北京北汽/CK.SCP.Models/Enums/PartKind.cs
  81. 17
      北京北汽/CK.SCP.Models/Enums/PartState.cs
  82. 24
      北京北汽/CK.SCP.Models/Enums/PartType.cs
  83. 23
      北京北汽/CK.SCP.Models/Enums/PlanDayState.cs
  84. 144
      北京北汽/CK.SCP.Models/Enums/PlanState.cs
  85. 16
      北京北汽/CK.SCP.Models/Enums/PortalType.cs
  86. 12
      北京北汽/CK.SCP.Models/Enums/PrintType.cs
  87. 15
      北京北汽/CK.SCP.Models/Enums/Project.cs
  88. 16
      北京北汽/CK.SCP.Models/Enums/ProjectName.cs
  89. 12
      北京北汽/CK.SCP.Models/Enums/ReceiveBillType.cs
  90. 14
      北京北汽/CK.SCP.Models/Enums/ReceiveState.cs
  91. 32
      北京北汽/CK.SCP.Models/Enums/ResultCode.cs
  92. 52
      北京北汽/CK.SCP.Models/Enums/ServiceType.cs
  93. 16
      北京北汽/CK.SCP.Models/Enums/ShipState.cs
  94. 18
      北京北汽/CK.SCP.Models/Enums/StockState.cs
  95. 11
      北京北汽/CK.SCP.Models/Enums/StockWhereType.cs
  96. 26
      北京北汽/CK.SCP.Models/Enums/StopLineType.cs
  97. 32
      北京北汽/CK.SCP.Models/Enums/StoreArea.cs
  98. 56
      北京北汽/CK.SCP.Models/Enums/SubBillType.cs
  99. 10
      北京北汽/CK.SCP.Models/Enums/UniApiState.cs
  100. 17
      北京北汽/CK.SCP.Models/Enums/UniApiType.cs

3
.vs/ProjectSettings.json

@ -0,0 +1,3 @@
{
"CurrentProjectSetting": null
}

BIN
.vs/bjbq/v16/.suo

Binary file not shown.

BIN
.vs/slnx.sqlite

Binary file not shown.

63
北京北汽/.gitattributes

@ -0,0 +1,63 @@
###############################################################################
# Set default behavior to automatically normalize line endings.
###############################################################################
* text=auto
###############################################################################
# Set default behavior for command prompt diff.
#
# This is need for earlier builds of msysgit that does not have it on by
# default for csharp files.
# Note: This is only used by command line
###############################################################################
#*.cs diff=csharp
###############################################################################
# Set the merge driver for project and solution files
#
# Merging from the command prompt will add diff markers to the files if there
# are conflicts (Merging from VS is not affected by the settings below, in VS
# the diff markers are never inserted). Diff markers may cause the following
# file extensions to fail to load in VS. An alternative would be to treat
# these files as binary and thus will always conflict and require user
# intervention with every merge. To do so, just uncomment the entries below
###############################################################################
#*.sln merge=binary
#*.csproj merge=binary
#*.vbproj merge=binary
#*.vcxproj merge=binary
#*.vcproj merge=binary
#*.dbproj merge=binary
#*.fsproj merge=binary
#*.lsproj merge=binary
#*.wixproj merge=binary
#*.modelproj merge=binary
#*.sqlproj merge=binary
#*.wwaproj merge=binary
###############################################################################
# behavior for image files
#
# image files are treated as binary by default.
###############################################################################
#*.jpg binary
#*.png binary
#*.gif binary
###############################################################################
# diff behavior for common document formats
#
# Convert binary document formats to text before diffing them. This feature
# is only available from the command line. Turn it on by uncommenting the
# entries below.
###############################################################################
#*.doc diff=astextplain
#*.DOC diff=astextplain
#*.docx diff=astextplain
#*.DOCX diff=astextplain
#*.dot diff=astextplain
#*.DOT diff=astextplain
#*.pdf diff=astextplain
#*.PDF diff=astextplain
#*.rtf diff=astextplain
#*.RTF diff=astextplain

268
北京北汽/.gitignore

@ -0,0 +1,268 @@
## 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
/SCP/exportfiles/收货审核明细-20180530135736242.xls
/SCP/exportfiles/收货审核明细-20180530150636394.xls
/SCP/exportfiles/收货审核明细-20180530142739101.xls
/SCP/exportfiles/收货审核明细-20180530142542391.xls
/SCP/exportfiles
/SCP/uploadfiles
/SCP/grf/SendBill.grf

43
北京北汽/CK.SCP.Controller/ASNController.cs

@ -0,0 +1,43 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CK.SCP.Models;
using CK.SCP.Models.ScpEntity;
namespace CK.SCP.Controller
{
public class ASNController
{
public static TF_ASN GetDetaillistByuid(int uid)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.TF_ASN.SingleOrDefault(p => p.UID == uid);
}
}
public static TF_ASN GetASNlist(string billnum, string vendid)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.TF_ASN.SingleOrDefault(p => p.PoBillNum == billnum && p.VendId == vendid);
}
}
public static TF_ASN_DETAIL GetASNlistDetail(string billnum)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.TF_ASN_DETAIL.SingleOrDefault(p => p.PoBillNum == billnum);
}
}
public static TF_ASN_DETAIL GetASNlistDetailByLine(string billnum, int linenum)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.TF_ASN_DETAIL.SingleOrDefault(p => p.BillNum == billnum && p.PoLineNum == linenum);
}
}
}
}

114
北京北汽/CK.SCP.Controller/BaseDocContoller.cs

@ -0,0 +1,114 @@
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Data.Entity.Core.Common.CommandTrees;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.Entity.Migrations;
using System.Linq.Expressions;
using CK.SCP.Models;
namespace CK.SCP.Controller
{
public static class EntitiesHelper
{
public static List<dynamic> GetModeList_genaral<T, TKey>(Expression<Func<T, dynamic>> select,
Expression<Func<T, bool>> where, Expression<Func<T, TKey>> order, out int count)
where T : class
{
List<dynamic> list = null;
count = 0;
using (DbContext db = EntitiesFactory.CreateScpInstance())
{
count = db.Set<T>().Where(where).Count();
list =
db.Set<T>()
.Where(where)
.OrderBy(order)
.Select(select).ToList();
}
return list;
}
public static List<dynamic> GetPagedModelListAsc<T, TKey>(Expression<Func<T, dynamic>> select,
Expression<Func<T, bool>> where, Expression<Func<T, TKey>> order, int pageIndex, int pageSize, out int total)
where T : class
{
List<dynamic> list = null;
total = 0;
using (DbContext db = EntitiesFactory.CreateScpInstance())
{
total = db.Set<T>().Where(where).Count();
list =
db.Set<T>()
.Where(where)
.OrderBy(order)
.Select(select)
.Skip((pageIndex - 1) * pageSize)
.Take(pageSize).ToList();
}
return list;
}
public static List<T> GetPagedDataAsc<T, TKey>(Expression<Func<T, T>> select,
Expression<Func<T, bool>> where, Expression<Func<T, TKey>> order, int pageIndex, int pageSize, out int total)
where T : class
{
List<T> list = null;
total = 0;
using (DbContext db = EntitiesFactory.CreateScpInstance())
{
total = db.Set<T>().Where(where.Compile()).AsQueryable().Count();
list =
db.Set<T>()
.Where(where.Compile()).AsQueryable()
.OrderBy(order)
.Select(select)
.Skip((pageIndex - 1) * pageSize)
.Take(pageSize).ToList();
}
return list;
}
//TODO 分页 原来 pageIndex-1
public static List<dynamic> GetPagedDataDesc<T, TKey>(DbContext db, Expression<Func<T, dynamic>> select,
Expression<Func<T, bool>> where, Expression<Func<T, TKey>> order, int pageIndex, int pageSize, out int total)
where T : class
{
List<dynamic> list = null;
total = 0;
total = db.Set<T>().Where(where).Count();
list =
db.Set<T>()
.Where(where)
.OrderByDescending(order)
.Select(select)
.Skip((pageIndex) * pageSize)
.Take(pageSize).ToList();
return list;
}
public static List<T> GetPagedList<T, TKey>(DbContext db, Expression<Func<T, TKey>> order, int pageIndex, int pageSize, out int total)
where T : class
{
List<T> list = null;
total = 0;
total = db.Set<T>().Count();
list =
db.Set<T>()
.OrderByDescending(order)
.Skip((pageIndex) * pageSize)
.Take(pageSize).ToList();
return list;
}
}
}

99
北京北汽/CK.SCP.Controller/CK.SCP.Controller.csproj

@ -0,0 +1,99 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" 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>{0C706E36-C79D-467C-91CA-DDF39BC43113}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>CK.SCP.Controller</RootNamespace>
<AssemblyName>CK.SCP.Controller</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\DLL\</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="EntityFramework">
<HintPath>..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.dll</HintPath>
</Reference>
<Reference Include="EntityFramework.Extensions">
<HintPath>..\packages\EntityFramework.Extensions.0.0.2\lib\net40\EntityFramework.Extensions.dll</HintPath>
</Reference>
<Reference Include="EntityFramework.SqlServer">
<HintPath>..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.SqlServer.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<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="ASNController.cs" />
<Compile Include="BaseDocContoller.cs" />
<Compile Include="Class1.cs" />
<Compile Include="InfoController.cs" />
<Compile Include="InvoiceController.cs" />
<Compile Include="InvoiceDetailController.cs" />
<Compile Include="OadOrderController.cs" />
<Compile Include="PartController.cs" />
<Compile Include="PlanMonthController.cs" />
<Compile Include="POController.cs" />
<Compile Include="PODetailController.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="PublicDataController.cs" />
<Compile Include="ReceiveController.cs" />
<Compile Include="ReceiveDetailController.cs" />
<Compile Include="ResultObject.cs" />
<Compile Include="ShipController.cs" />
<Compile Include="ShipDetailController.cs" />
<Compile Include="SupplierController.cs" />
<Compile Include="SupplierPartController.cs" />
<Compile Include="UniApiController.cs" />
<Compile Include="UserController.cs" />
<Compile Include="VEND_USERController.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\CK.SCP.Models\CK.SCP.Models.csproj">
<Project>{dd7c0def-71e7-443f-b0b7-db2f5b12a506}</Project>
<Name>CK.SCP.Models</Name>
</ProjectReference>
<ProjectReference Include="..\Models\Models.csproj">
<Project>{74DCE5F2-A501-45F2-B4F9-494AA1867226}</Project>
<Name>Models</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

12
北京北汽/CK.SCP.Controller/Class1.cs

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CK.SCP.Controller
{
public class Class1
{
}
}

59
北京北汽/CK.SCP.Controller/InfoController.cs

@ -0,0 +1,59 @@
using System;
using System.Collections.Generic;
using System.Data.Entity.Migrations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CK.SCP.Models;
using CK.SCP.Models.ScpEntity;
namespace CK.SCP.Controller
{
public class InfoController
{
public static bool SaveInfo(TA_Info model)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
db.TA_Info.AddOrUpdate(model);
db.SaveChanges();
}
return true;
}
public static bool UpdateInfo(TA_Info model)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
db.TA_Info.AddOrUpdate(p => p.ID, model);
db.SaveChanges();
}
return true;
}
public static TA_Info GetlistByBillNo(int id)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.TA_Info.SingleOrDefault(p => p.ID == id);
}
}
public static V_Info GetInfoByBillNo(int id)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.V_Info.SingleOrDefault(p => p.ID == id);
}
}
public static void DeleteById(int id)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
var info = db.TA_Info.SingleOrDefault(p => p.ID == id);
if (info != null) db.TA_Info.Remove(info);
db.SaveChanges();
}
}
}
}

85
北京北汽/CK.SCP.Controller/InvoiceController.cs

@ -0,0 +1,85 @@
using System;
using System.Collections.Generic;
using System.Data.Entity.Migrations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CK.SCP.Models;
using CK.SCP.Models.ScpEntity;
namespace CK.SCP.Controller
{
public class InvoiceController
{
public static List<V_BillInvoice> GetDataByBillInvoice( string billnum)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.V_BillInvoice.Where(p => p.BillNum == billnum).ToList();
}
}
public static V_BillInvoice GetDataByBillInvoiceDetailModel(string billnum)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.V_BillInvoice.SingleOrDefault(p => p.BillNum == billnum);
}
}
public static bool UpdateData(int state, TB_INVOICE model)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
model.State = state;
db.TB_INVOICE.AddOrUpdate(p => p.UID, model);
EntitiesFactory.SaveDb(db);
}
return true;
}
public static bool UpdateDataRemark(string remark, TB_INVOICE model)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
model.Remark = remark;
db.TB_INVOICE.AddOrUpdate(p => p.UID, model);
EntitiesFactory.SaveDb(db);
}
return true;
}
public static bool UpdateDataReason(string remark, string billnum)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
TB_INVOICE model = new TB_INVOICE
{
Remark = remark,
BillNum = billnum
};
db.TB_INVOICE.AddOrUpdate(p => p.BillNum, model);
}
return true;
}
public static TB_INVOICE GetDataByBillInvoiceBillNum(string id)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.TB_INVOICE.SingleOrDefault(p => p.BillNum == id);
}
}
public static V_BillInvoice GetBillInvoiceByBillNum(string id)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.V_BillInvoice.SingleOrDefault(p => p.BillNum == id);
}
}
}
}

37
北京北汽/CK.SCP.Controller/InvoiceDetailController.cs

@ -0,0 +1,37 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CK.SCP.Models;
using CK.SCP.Models.ScpEntity;
namespace CK.SCP.Controller
{
public class InvoiceDetailController
{
public static List<V_BillInvoiceDetail> GetDataByBillInvoiceDetail(string billnum)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.V_BillInvoiceDetail.Where(p => p.BillNum == billnum).ToList();
}
}
public static V_BillInvoiceDetail GetDataByBillInvoiceDetailModel(string billnum)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.V_BillInvoiceDetail.SingleOrDefault(p => p.BillNum == billnum);
}
}
public static V_BillInvoiceDetail GetDataByBillInvoiceDetailBillNum(string id)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.V_BillInvoiceDetail.SingleOrDefault(p => p.BillNum == id);
}
}
}
}

33
北京北汽/CK.SCP.Controller/OadOrderController.cs

@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CK.SCP.Models;
using CK.SCP.Models.ScpEntity;
namespace CK.SCP.Controller
{
public class OadOrderController
{
// public List<QadOrder> GetList()
// {
// using (ScpEntities db = EntitiesFactory.CreateScpInstance())
// {
// // db.TB_QadOrder.Where(p=>p.BillNo==db.)
// var query = db.TB_QadOrder.Join(db.TB_QadOrderDetail, a => a.BillNo, g => g.BillNo, (a, g) => new
// {
// a.BillNo,
// a.SupplierCode,
// a.StartDate,
// a.Address,
// a.ProductCode,
// a.Qty,
// }).ToList();
//// return query;
// // return db.V_BillInvoice.Where(p => p.BillNum == billnum).ToList();
//
// }
// }
}
}

115
北京北汽/CK.SCP.Controller/POController.cs

@ -0,0 +1,115 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity.Migrations;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CK.SCP.Models;
using CK.SCP.Models.Enums;
using CK.SCP.Models.ScpEntity;
namespace CK.SCP.Controller
{
public class POController
{
public static List<V_POAll> Getlist()
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.V_POAll.ToList();
}
}
public static bool UpdatePOState(TF_PO model)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
db.TF_PO.AddOrUpdate(p => p.UID, model);
EntitiesFactory.SaveDb(db);
}
return true;
}
public static TF_PO GetlistByID(int uid)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.TF_PO.SingleOrDefault(p => p.UID == uid);
}
}
public static TF_PO GetlistByBillNum(string billnum)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.TF_PO.SingleOrDefault(p => p.BillNum == billnum);
}
}
public static V_POAll GetPOAlllistByBillNum(string billnum)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.V_POAll.SingleOrDefault(p => p.BillNum == billnum);
}
}
public static void UpdateOrderByUID(int state, int uid)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
TF_PO model = new TF_PO();
model.State = state;
model.UID = uid;
db.SaveChanges();
}
}
public static void UpdatePOOBybillno(TF_PO model)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
model.State = (int)PlanState.Confirm;
db.TF_PO.AddOrUpdate(p => p.UID, model);
db.SaveChanges();
}
}
public static List<V_POAll> GetlistByBillNum(V_POAll model)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.V_POAll.Where(p => p.BillNum == model.BillNum).ToList();
}
}
public static TF_PO GetASNlist(string billnum, string vendid)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.TF_PO.SingleOrDefault(p => p.BillNum == billnum && p.VendId == vendid);
}
}
public static TF_PO GetPOModel(int id)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.TF_PO.SingleOrDefault(p => p.UID == id);
}
}
public static List<TF_PO> GetASNlist()
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.TF_PO.ToList();
}
}
public static void DeletePO(TF_PO model)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
db.TF_PO.Remove(model);
db.SaveChanges();
}
}
}
}

68
北京北汽/CK.SCP.Controller/PODetailController.cs

@ -0,0 +1,68 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CK.SCP.Models;
using CK.SCP.Models.ScpEntity;
namespace CK.SCP.Controller
{
public class PODetailController
{
public static V_POAllDetail GetlistByBillNum(string billnum)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.V_POAllDetail.SingleOrDefault(p => p.BillNum == billnum);
}
}
public static TA_VENDER GetlistBySupplierCode(string VendId)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.TA_VENDER.SingleOrDefault(p => p.VendId == VendId);
}
}
public static List<TF_PO_DETAIL> GetDetaillistByBillNum(string billnum)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.TF_PO_DETAIL.Where(p => p.BillNum == billnum).ToList();
}
}
public static TF_PO_DETAIL GetDetaillistByuid(int uid)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.TF_PO_DETAIL.SingleOrDefault(p => p.UID == uid);
}
}
public static List<TF_PO_DETAIL> GetDetaillistBybillnos(string billno)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.TF_PO_DETAIL.Where(p => p.BillNum == billno).ToList();
}
}
public static void Delete(TF_PO_DETAIL model)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
db.TF_PO_DETAIL.Remove(model);
}
}
public static TF_PO_DETAIL GetDetaillistBybillidandline(string bill, int linenum)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.TF_PO_DETAIL.SingleOrDefault(p => p.BillNum == bill && p.ErpLineNum == linenum);
}
}
}
}

29
北京北汽/CK.SCP.Controller/PartController.cs

@ -0,0 +1,29 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CK.SCP.Models;
using CK.SCP.Models.ScpEntity;
namespace CK.SCP.Controller
{
public class PartController
{
public static List<TA_PART> Getlist()
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.TA_PART.ToList();
}
}
public static List<TA_PART> GetlistByPartCode(TA_PART model)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.TA_PART.Where(p=>p.PartCode==model.PartCode).ToList();
}
}
}
}

60
北京北汽/CK.SCP.Controller/PlanMonthController.cs

@ -0,0 +1,60 @@
using System;
using System.Collections.Generic;
using System.Data.Entity.Migrations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CK.SCP.Models;
using CK.SCP.Models.ScpEntity;
namespace CK.SCP.Controller
{
public class PlanMonthController
{
public static TB_PlanMonth GetPlanMonthById(int id)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.TB_PlanMonth.SingleOrDefault(p => p.ID == id);
}
}
public static bool UpdatePlanMonthById(TB_PlanMonth model)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
model.IsSend = "是";
model.SendTime = DateTime.Now;
db.TB_PlanMonth.AddOrUpdate(model);
db.SaveChanges();
}
return true;
}
public static TA_VENDER GetVend()
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.TA_VENDER.OrderByDescending(p => p.Email).SingleOrDefault(p => p.Email != null);
}
}
public static List<TA_VENDER> GetVendList()
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.TA_VENDER.ToList();
}
}
public static bool SaveTbPlanMonth(TB_PlanMonth model)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
db.TB_PlanMonth.AddOrUpdate(model);
db.SaveChanges();
}
return true;
}
}
}

36
北京北汽/CK.SCP.Controller/Properties/AssemblyInfo.cs

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的一般信息由以下
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("CK.SCP.CK.SCP.Controller")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("CK.SCP.CK.SCP.Controller")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2018")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
//将 ComVisible 设置为 false 将使此程序集中的类型
//对 COM 组件不可见。 如果需要从 COM 访问此程序集中的类型,
//请将此类型的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("0c706e36-c79d-467c-91ca-ddf39bc43113")]
// 程序集的版本信息由下列四个值组成:
//
// 主版本
// 次版本
// 生成号
// 修订号
//
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值,
// 方法是按如下所示使用“*”: :
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

54
北京北汽/CK.SCP.Controller/PublicDataController.cs

@ -0,0 +1,54 @@
using System;
using System.Collections.Generic;
using System.Data.Entity.Migrations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CK.SCP.Models;
using CK.SCP.Models.ScpEntity;
namespace CK.SCP.Controller
{
public class PublicDataController
{
public static TB_PublicData GetlistByBillNo(int id)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.TB_PublicData.SingleOrDefault(p => p.ID == id);
}
}
public static bool SaveInfo(TB_PublicData model)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
db.TB_PublicData.AddOrUpdate(model);
db.SaveChanges();
}
return true;
}
public static bool UpdateInfo(TB_PublicData model)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
db.TB_PublicData.AddOrUpdate(p => p.ID, model);
db.SaveChanges();
}
return true;
}
public static void DeleteById(int id)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
var info = db.TB_PublicData.SingleOrDefault(p => p.ID == id);
if (info != null) db.TB_PublicData.Remove(info);
db.SaveChanges();
}
}
}
}

22
北京北汽/CK.SCP.Controller/ReceiveController.cs

@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CK.SCP.Models;
using CK.SCP.Models.ScpEntity;
namespace CK.SCP.Controller
{
public class ReceiveController
{
public static V_Receive GetlistByBillNum(string billnum)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.V_Receive.SingleOrDefault(p => p.BillNum == billnum);
}
}
}
}

33
北京北汽/CK.SCP.Controller/ReceiveDetailController.cs

@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.Data.Entity.Migrations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CK.SCP.Models;
using CK.SCP.Models.ScpEntity;
namespace CK.SCP.Controller
{
public class ReceiveDetailController
{
public static V_ReceiveDetail GetlistByBillNum(string billnum)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.V_ReceiveDetail.SingleOrDefault(p => p.BillNum == billnum);
}
}
public static bool UpdateReceive(V_ReceiveDetail model)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
db.V_ReceiveDetail.AddOrUpdate(p => p.UID, model);
EntitiesFactory.SaveDb(db);
}
return true;
}
}
}

42
北京北汽/CK.SCP.Controller/ResultObject.cs

@ -0,0 +1,42 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CK.SCP.Controller
{
/// <summary>
///返回结果类
/// </summary>
/// <typeparam name="T"></typeparam>
public class ResultObject<T>
{
public ResultObject()
{
ErrorList = new List<Exception>();
}
/// <summary>
/// 返回结果
/// </summary>
public T Result { set; get; }
/// <summary>
/// 错误列表
/// </summary>
public List<Exception> ErrorList { set; get; }
/// <summary>
/// 返回状态
/// </summary>
public ReturnStatus State
{private set; get; }
}
public enum ReturnStatus
{
[Description("失败")]
Failed,
[Description("成功")]
Succeed
}
}

23
北京北汽/CK.SCP.Controller/ShipController.cs

@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CK.SCP.Models;
namespace CK.SCP.Controller
{
public class ShipController
{
public static void DeleteById(int id)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
var asn = db.TF_ASN.SingleOrDefault(p => p.UID == id);
if (asn != null) db.TF_ASN.Remove(asn);
db.SaveChanges();
}
}
}
}

57
北京北汽/CK.SCP.Controller/ShipDetailController.cs

@ -0,0 +1,57 @@
using System;
using System.Collections.Generic;
using System.Data.Entity.Migrations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CK.SCP.Models;
using CK.SCP.Models.ScpEntity;
namespace CK.SCP.Controller
{
public class ShipDetailController
{
public static V_BillShipDetail GetlistByBillNum(string billnum)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.V_BillShipDetail.SingleOrDefault(p => p.BillNum == billnum);
}
}
public static V_BillShip GetBillShiplistByBillNo(string billnum)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.V_BillShip.SingleOrDefault(p => p.Bill == billnum);
}
}
public static TF_ASN GetlistByBillNo(string billnum)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.TF_ASN.SingleOrDefault(p => p.BillNum == billnum);
}
}
public static TF_ASN_DETAIL GetDeatillistByBillNo(string billnum)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.TF_ASN_DETAIL.SingleOrDefault(p => p.BillNum == billnum);
}
}
public static bool UpdateShip(TF_ASN model)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
db.TF_ASN.AddOrUpdate(p => p.UID, model);
EntitiesFactory.SaveDb(db);
}
return true;
}
}
}

32
北京北汽/CK.SCP.Controller/SupplierController.cs

@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CK.SCP.Models;
using CK.SCP.Models.ScpEntity;
namespace CK.SCP.Controller
{
public class SupplierController
{
public static List<TA_VENDER> GetlistByName(TA_VENDER model)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.TA_VENDER.Where(p => p.VendName == model.VendName).ToList();
}
}
public static List<TA_VENDER> Getlist()
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.TA_VENDER.ToList();
}
}
}
}

29
北京北汽/CK.SCP.Controller/SupplierPartController.cs

@ -0,0 +1,29 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CK.SCP.Models;
using CK.SCP.Models.ScpEntity;
namespace CK.SCP.Controller
{
public class SupplierPartController
{
// public static List<V_VenderPart> Getlist()
// {
// using (ScpEntities db = EntitiesFactory.CreateScpInstance())
// {
// return db.V_VenderPart.ToList();
// }
// }
// public static List<V_VenderPart> GetlistByPartCode(V_VenderPart model)
// {
// using (ScpEntities db = EntitiesFactory.CreateScpInstance())
// {
// return db.V_VenderPart.Where(p => p.PartCode == model.PartCode).ToList();
// }
// }
}
}

253
北京北汽/CK.SCP.Controller/UniApiController.cs

@ -0,0 +1,253 @@
using System;
using System.Collections.Generic;
using System.Linq;
using CK.SCP.Models;
using CK.SCP.Models.Enums;
using CK.SCP.Models.ScpEntity;
using CK.SCP.Models.UniApiEntity;
namespace CK.SCP.Controller
{
public static class UniApiController
{
public static void RemoveList(ScpEntities db, List<TS_UNI_API> uniApiList)
{
db.TS_UNI_API.RemoveRange(uniApiList);
}
public static void AddHisList(ScpEntities db, List<TS_UNI_API_HIS> uniApiHisList)
{
db.TS_UNI_API_HIS.AddRange(uniApiHisList);
}
public static void AddApiData(ScpEntities wdb, TS_UNI_API apiData)
{
wdb.TS_UNI_API.Add(apiData);
}
public static void AddApiDataList(ScpEntities wdb, List<TS_UNI_API> apiDataList)
{
wdb.TS_UNI_API.AddRange(apiDataList);
}
public static WmsTableName GetTableName(UniApiType uniApiType)
{
WmsTableName tableName;
switch (uniApiType)
{
case UniApiType.PO:
tableName = WmsTableName.TS_UNI_API;//中间表的名字
break;
case UniApiType.Receive:
tableName = WmsTableName.TS_UNI_API;
break;
case UniApiType.BarCode:
tableName = WmsTableName.TS_UNI_API;
break;
case UniApiType.Invoice:
tableName = WmsTableName.TS_UNI_API;
break;
default:
throw new ArgumentOutOfRangeException(nameof(uniApiType), uniApiType, null);
}
return tableName;
}
//创建采购订单
public static TS_UNI_API CreateBy(TF_PO bill, TF_PO_DETAIL detail, UniApiType uniApiType)
{
var tableName = GetTableName(uniApiType);
var apiData = new TS_UNI_API
{
InterfaceType = uniApiType.ToString(),
TableName = tableName.ToString(),
BillNum = bill.BillNum,
PartCode = detail.PartCode,
Batch = "",
Qty = detail.BillQty,
PoUnit = detail.PoUnit,
LocUnit = detail.LocUnit,
State = detail.State,
CreateOper = bill.OperName,
CreateTime = bill.BillTime,
PutTime = ScpCache.GetServerTime(),
VendId = bill.VendId,
BillType = (int)BillType.PuchaseOrder,
SubBillType = 0,
ValidDate = detail.DueDate,
ErpBillNum = bill.ErpBillNum,
ErpLineNum = detail.ErpLineNum,
VendBatch = "",
SourceBillNum = "",
Price = detail.Price,
PackQty = detail.PackQty,
Currency = detail.Currency,
Attn = "",//TODO
Buyer = bill.Buyer,
BuyerPhone = bill.BuyerPhone,
ModType = bill.ModType,
Receiver = "",//TODO
UmConv = (decimal)detail.UmConv,
};
return apiData;
}
private static ScpEntities db = EntitiesFactory.CreateScpInstance();
public static TS_UNI_API CreateBy(TF_PO bill, List<TF_PO_DETAIL> detail, UniApiType uniApiType)
{
var tableName = GetTableName(uniApiType);
TS_UNI_API asp = new TS_UNI_API();
foreach (var item in detail)
{
asp.InterfaceType = uniApiType.ToString();
asp.TableName = tableName.ToString();
asp.BillNum = bill.BillNum;
asp.Batch = string.Empty;
asp.CreateOper = bill.OperName;
asp.CreateTime = bill.BillTime;
asp.PutTime = ScpCache.GetServerTime();
asp.VendId = bill.VendId;
asp.BillType = (int)BillType.PO;
asp.SubBillType = 0;
asp.VendBatch = string.Empty;
asp.SourceBillNum = string.Empty;
asp.Attn = "";//TODO
asp.Buyer = bill.Buyer;
asp.BuyerPhone = bill.BuyerPhone;
asp.ModType = bill.ModType;
asp.Receiver = "";//TODO
asp.PartCode = item.PartCode;
asp.Qty = item.BillQty;
asp.PoUnit = item.PoUnit;
asp.LocUnit = item.LocUnit;
asp.State = item.State;
asp.ValidDate = item.DueDate;
asp.ErpBillNum = bill.BillNum;//暂时跟billnum 一样 后期可能会改 预留
asp.ErpLineNum = item.ErpLineNum;
asp.Price = item.Price;
asp.PackQty = item.PackQty;
asp.Currency = item.Currency;
asp.UmConv = (decimal)item.UmConv;
db.TS_UNI_API.Add(asp);
db.SaveChanges();
}
return asp;
}
//创建发货单
public static TS_UNI_API CreateBy(TF_ASN bill, TF_ASN_DETAIL detail, UniApiType uniApiType)
{
var tableName = GetTableName(uniApiType);
var apiData = new TS_UNI_API
{
InterfaceType = uniApiType.ToString(),
TableName = tableName.ToString(),
BillNum = bill.BillNum,
PartCode = detail.PartCode,
Batch = detail.Batch,
Qty = detail.BillQty,
PoUnit = detail.PoUnit,
LocUnit = detail.LocUnit,
State = detail.State,
CreateOper = bill.OperName,
CreateTime = bill.BillTime,
PutTime = ScpCache.GetServerTime(),
VendId = bill.VendId,
BillType = (int)BillType.PuchaseOrder,
SubBillType = 0,
ValidDate = detail.ProduceDate,
ErpBillNum = bill.PoBillNum,
ErpLineNum = detail.PoLineNum,
VendBatch = detail.VendBatch,
Price = detail.Price,
PackQty = detail.PackQty,
Currency = detail.Currency,
UmConv = (decimal) detail.UmConv,
};
return apiData;
}
//创建条码
public static TS_UNI_API CreateBy(TF_ASN bill, TS_BARCODE detail, UniApiType uniApiType)
{
var tableName = GetTableName(uniApiType);
var apiData = new TS_UNI_API
{
Barcode = detail.BarCode,
InterfaceType = uniApiType.ToString(),
TableName = tableName.ToString(),
BillNum = bill.BillNum,
PartCode = detail.PartCode,
Batch = detail.Batch,
Qty = detail.Qty,
PoUnit = detail.PoUnit,
LocUnit = detail.LocUnit,
State = detail.State,
CreateOper = bill.OperName,
CreateTime = bill.BillTime,
PutTime = ScpCache.GetServerTime(),
VendId = bill.VendId,
BillType = (int)BillType.PuchaseOrder,
SubBillType = 0,
ValidDate = detail.ProduceDate,
ErpBillNum = bill.PoBillNum,
ErpLineNum = detail.PoBillLine,
VendBatch = detail.VendBatch,
SourceBillNum = detail.FullBarCode,
PackQty = detail.PackQty,
};
return apiData;
}
//创建发票
public static TS_UNI_API CreateBy(TB_INVOICE bill, TB_INVOICE_DETAIL detail, UniApiType uniApiType)
{
var tableName = GetTableName(uniApiType);
var apiData = new TS_UNI_API
{
InterfaceType = uniApiType.ToString(),
TableName = tableName.ToString(),
BillNum = bill.BillNum,
PartCode = detail.PartCode,
Batch = "",
Qty = detail.Qty,
PoUnit = detail.PoUnit,
LocUnit = detail.LocUnit,
State = detail.State,
CreateOper = bill.OperName,
CreateTime = bill.BillTime,
PutTime = ScpCache.GetServerTime(),
VendId = bill.VendId,
BillType = (int)BillType.PuchaseOrder,
SubBillType = 0,
ValidDate = detail.ProduceDate,
ErpBillNum = detail.PoBillNum,
ErpLineNum = detail.PoLineNum,
VendBatch = "",
SourceBillNum = "",
Price = detail.Price,
PackQty = detail.PackQty,
Currency = detail.Currency,
Invoice = bill.InvoiceNum,
Tax = detail.Tax,
TaxAmt = detail.TaxAmt,
};
return apiData;
}
public static List<TS_UNI_API> GetNewInterfaceList(ScpEntities wdb)
{
return wdb.TS_UNI_API.Where(p => p.State == (int)BillState.New).OrderBy(p => p.UID).ToList();
}
}
}

14
北京北汽/CK.SCP.Controller/UserController.cs

@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CK.SCP.Controller
{
public class UserController
{
}
}

21
北京北汽/CK.SCP.Controller/VEND_USERController.cs

@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CK.SCP.Models;
using CK.SCP.Models.ScpEntity;
namespace CK.SCP.Controller
{
public class VEND_USERController
{
public static TA_VEND_USER GetVendUserModel(int id)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
return db.TA_VEND_USER.SingleOrDefault(p => p.UID == id);
}
}
}
}

25
北京北汽/CK.SCP.Controller/app.config

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="EntityFramework" publicKeyToken="b77a5c561934e089" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
</configuration>

5
北京北汽/CK.SCP.Controller/packages.config

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EntityFramework" version="6.2.0" targetFramework="net452" />
<package id="Newtonsoft.Json" version="10.0.3" targetFramework="net452" />
</packages>

6
北京北汽/CK.SCP.DCUNI/App.config

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
</configuration>

87
北京北汽/CK.SCP.DCUNI/CK.SCP.DCUNI.csproj

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" 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>{1EE718E2-C8BA-4DD5-80EC-A1DE0449A58D}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>CK.SCP.DCUNI</RootNamespace>
<AssemblyName>CK.SCP.DCUNI</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<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' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<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.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

39
北京北汽/CK.SCP.DCUNI/Form1.Designer.cs

@ -0,0 +1,39 @@
namespace CK.SCP.DCUNI
{
partial class Form1
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows 窗体设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要修改
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Text = "Form1";
}
#endregion
}
}

20
北京北汽/CK.SCP.DCUNI/Form1.cs

@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace CK.SCP.DCUNI
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
}
}

22
北京北汽/CK.SCP.DCUNI/Program.cs

@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace CK.SCP.DCUNI
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}

36
北京北汽/CK.SCP.DCUNI/Properties/AssemblyInfo.cs

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的一般信息由以下
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("CK.SCP.DCUNI")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("CK.SCP.DCUNI")]
[assembly: AssemblyCopyright("Copyright © 2019")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
//将 ComVisible 设置为 false 将使此程序集中的类型
//对 COM 组件不可见。 如果需要从 COM 访问此程序集中的类型,
//请将此类型的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("1ee718e2-c8ba-4dd5-80ec-a1de0449a58d")]
// 程序集的版本信息由下列四个值组成:
//
// 主版本
// 次版本
// 生成号
// 修订号
//
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值,
// 方法是按如下所示使用“*”: :
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

71
北京北汽/CK.SCP.DCUNI/Properties/Resources.Designer.cs

@ -0,0 +1,71 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本: 4.0.30319.42000
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace CK.SCP.DCUNI.Properties
{
/// <summary>
/// 强类型资源类,用于查找本地化字符串等。
/// </summary>
// 此类是由 StronglyTypedResourceBuilder
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或删除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources
{
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources()
{
}
/// <summary>
/// 返回此类使用的缓存 ResourceManager 实例。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager
{
get
{
if ((resourceMan == null))
{
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CK.SCP.DCUNI.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// 覆盖当前线程的 CurrentUICulture 属性
/// 使用此强类型的资源类的资源查找。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture
{
get
{
return resourceCulture;
}
set
{
resourceCulture = value;
}
}
}
}

117
北京北汽/CK.SCP.DCUNI/Properties/Resources.resx

@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

30
北京北汽/CK.SCP.DCUNI/Properties/Settings.Designer.cs

@ -0,0 +1,30 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace CK.SCP.DCUNI.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
return defaultInstance;
}
}
}
}

7
北京北汽/CK.SCP.DCUNI/Properties/Settings.settings

@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

20
北京北汽/CK.SCP.Models/App.config

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --></configSections>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
<connectionStrings>
<add name="ScpEntities" connectionString="data source=127.0.0.1;initial catalog=ChangKeTecSCP;persist security info=True;user id=sa;password=Microsoft2008;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>

94
北京北汽/CK.SCP.Models/AppBoxEntity/AppBoxContext.cs

@ -0,0 +1,94 @@
using System.Data.Entity;
namespace CK.SCP.Models.AppBoxEntity
{
public class AppBoxContext : DbContext
{
public AppBoxContext() : base(EntitiesFactory.GetEfConnectionString(GlobalConfig.AppBoxDatabase))
{
}
public AppBoxContext(string strConn) : base(strConn)
{
}
public DbSet<Config> Configs { get; set; }
public DbSet<Dept> Depts { get; set; }
public DbSet<User> Users { get; set; }
public DbSet<Role> Roles { get; set; }
public DbSet<Title> Titles { get; set; }
public DbSet<Online> Onlines { get; set; }
public DbSet<Log> Logs { get; set; }
public DbSet<Power> Powers { get; set; }
public DbSet<Menu> Menus { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Role>()
.HasMany(r => r.Users)
.WithMany(u => u.Roles)
.Map(x => x.ToTable("RoleUsers")
.MapLeftKey("RoleID")
.MapRightKey("UserID"));
modelBuilder.Entity<Title>()
.HasMany(t => t.Users)
.WithMany(u => u.Titles)
.Map(x => x.ToTable("TitleUsers")
.MapLeftKey("TitleID")
.MapRightKey("UserID"));
modelBuilder.Entity<Dept>()
.HasOptional(d => d.Parent)
.WithMany(d => d.Children)
.Map(x => x.MapKey("ParentID"));
modelBuilder.Entity<Dept>()
.HasMany(d => d.Users)
.WithOptional(u => u.Dept)
.Map(x => x.MapKey("DeptID"));
modelBuilder.Entity<Online>()
.HasRequired(o => o.User)
.WithMany()
.Map(x => x.MapKey("UserID"));
modelBuilder.Entity<Menu>()
.HasOptional(m => m.Parent)
.WithMany(m => m.Children)
.Map(x => x.MapKey("ParentID"));
//modelBuilder.Entity<Menu>()
// .HasOptional(m => m.Module)
// .WithMany()
// .Map(x => x.MapKey("ModuleID"));
//modelBuilder.Entity<Module>()
// .HasMany(m => m.ModulePowers)
// .WithRequired(mp => mp.Module);
//modelBuilder.Entity<Power>()
// .HasMany(p => p.ModulePowers)
// .WithRequired(mp => mp.Power);
modelBuilder.Entity<Menu>()
.HasOptional(m => m.ViewPower)
.WithMany()
.Map(x => x.MapKey("ViewPowerID"));
modelBuilder.Entity<Role>()
.HasMany(r => r.Powers)
.WithMany(p => p.Roles)
.Map(x => x.ToTable("RolePowers")
.MapLeftKey("RoleID")
.MapRightKey("PowerID"));
}
}
}

686
北京北汽/CK.SCP.Models/AppBoxEntity/AppBoxDatabaseInitializer.cs

@ -0,0 +1,686 @@
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
namespace CK.SCP.Models.AppBoxEntity
{
public class AppBoxDatabaseInitializer : DropCreateDatabaseIfModelChanges<AppBoxContext> // DropCreateDatabaseAlways<AppBoxContext> DropCreateDatabaseIfModelChanges<AppBoxContext>
{
protected override void Seed(AppBoxContext context)
{
GetConfigs().ForEach(c => context.Configs.Add(c));
GetDepts().ForEach(d => context.Depts.Add(d));
GetUsers().ForEach(u => context.Users.Add(u));
GetRoles().ForEach(r => context.Roles.Add(r));
GetPowers().ForEach(p => context.Powers.Add(p));
GetTitles().ForEach(t => context.Titles.Add(t));
context.SaveChanges();
// 添加菜单时需要指定ViewPower,所以上面需要先保存到数据库
GetMenus(context).ForEach(m => context.Menus.Add(m));
}
private static List<Menu> GetMenus(AppBoxContext context)
{
var menus = new List<Menu> {
new Menu
{
Name = "系统管理",
SortIndex = 1,
Remark = "顶级菜单",
Children = new List<Menu> {
new Menu
{
Name = "用户管理",
SortIndex = 10,
Remark = "二级菜单",
NavigateUrl = "~/admin/user.aspx",
ImageUrl = "~/res/icon/tag_blue.png",
ViewPower = context.Powers.Where(p => p.Name == "CoreUserView").FirstOrDefault<Power>()
},
new Menu
{
Name = "职称管理",
SortIndex = 20,
Remark = "二级菜单",
NavigateUrl = "~/admin/title.aspx",
ImageUrl = "~/res/icon/tag_blue.png",
ViewPower = context.Powers.Where(p => p.Name == "CoreTitleView").FirstOrDefault<Power>()
},
new Menu
{
Name = "职称用户管理",
SortIndex = 30,
Remark = "二级菜单",
NavigateUrl = "~/admin/title_user.aspx",
ImageUrl = "~/res/icon/tag_blue.png",
ViewPower = context.Powers.Where(p => p.Name == "CoreTitleUserView").FirstOrDefault<Power>()
},
new Menu
{
Name = "部门管理",
SortIndex = 40,
Remark = "二级菜单",
NavigateUrl = "~/admin/dept.aspx",
ImageUrl = "~/res/icon/tag_blue.png",
ViewPower = context.Powers.Where(p => p.Name == "CoreDeptView").FirstOrDefault<Power>()
},
new Menu
{
Name = "部门用户管理",
SortIndex = 50,
Remark = "二级菜单",
NavigateUrl = "~/admin/dept_user.aspx",
ImageUrl = "~/res/icon/tag_blue.png",
ViewPower = context.Powers.Where(p => p.Name == "CoreDeptUserView").FirstOrDefault<Power>()
},
new Menu
{
Name = "角色管理",
SortIndex = 60,
Remark = "二级菜单",
NavigateUrl = "~/admin/role.aspx",
ImageUrl = "~/res/icon/tag_blue.png",
ViewPower = context.Powers.Where(p => p.Name == "CoreRoleView").FirstOrDefault<Power>()
},
new Menu
{
Name = "角色用户管理",
SortIndex = 70,
Remark = "二级菜单",
NavigateUrl = "~/admin/role_user.aspx",
ImageUrl = "~/res/icon/tag_blue.png",
ViewPower = context.Powers.Where(p => p.Name == "CoreRoleUserView").FirstOrDefault<Power>()
},
new Menu
{
Name = "权限管理",
SortIndex = 80,
Remark = "二级菜单",
NavigateUrl = "~/admin/power.aspx",
ImageUrl = "~/res/icon/tag_blue.png",
ViewPower = context.Powers.Where(p => p.Name == "CorePowerView").FirstOrDefault<Power>()
},
new Menu
{
Name = "角色权限管理",
SortIndex = 90,
Remark = "二级菜单",
NavigateUrl = "~/admin/role_power.aspx",
ImageUrl = "~/res/icon/tag_blue.png",
ViewPower = context.Powers.Where(p => p.Name == "CoreRolePowerView").FirstOrDefault<Power>()
},
new Menu
{
Name = "菜单管理",
SortIndex = 100,
Remark = "二级菜单",
NavigateUrl = "~/admin/menu.aspx",
ImageUrl = "~/res/icon/tag_blue.png",
ViewPower = context.Powers.Where(p => p.Name == "CoreMenuView").FirstOrDefault<Power>()
},
new Menu
{
Name = "在线统计",
SortIndex = 110,
Remark = "二级菜单",
NavigateUrl = "~/admin/online.aspx",
ImageUrl = "~/res/icon/tag_blue.png",
ViewPower = context.Powers.Where(p => p.Name == "CoreOnlineView").FirstOrDefault<Power>()
},
new Menu
{
Name = "系统配置",
SortIndex = 120,
Remark = "二级菜单",
NavigateUrl = "~/admin/config.aspx",
ImageUrl = "~/res/icon/tag_blue.png",
ViewPower = context.Powers.Where(p => p.Name == "CoreConfigView").FirstOrDefault<Power>()
},
new Menu
{
Name = "用户设置",
SortIndex = 130,
Remark = "二级菜单",
NavigateUrl = "~/admin/profile.aspx",
ImageUrl = "~/res/icon/tag_blue.png"
}
}
}
};
return menus;
}
private static List<Title> GetTitles()
{
var titles = new List<Title>()
{
new Title()
{
Name = "总经理"
},
new Title()
{
Name = "部门经理"
},
new Title()
{
Name = "高级工程师"
},
new Title()
{
Name = "工程师"
}
};
return titles;
}
private static List<Power> GetPowers()
{
var powers = new List<Power>
{
new Power
{
Name = "CoreUserView",
Title = "浏览用户列表",
GroupName = "CoreUser"
},
new Power
{
Name = "CoreUserNew",
Title = "新增用户",
GroupName = "CoreUser"
},
new Power
{
Name = "CoreUserEdit",
Title = "编辑用户",
GroupName = "CoreUser"
},
new Power
{
Name = "CoreUserDelete",
Title = "删除用户",
GroupName = "CoreUser"
},
new Power
{
Name = "CoreUserChangePassword",
Title = "修改用户登陆密码",
GroupName = "CoreUser"
},
new Power
{
Name = "CoreRoleView",
Title = "浏览角色列表",
GroupName = "CoreRole"
},
new Power
{
Name = "CoreRoleNew",
Title = "新增角色",
GroupName = "CoreRole"
},
new Power
{
Name = "CoreRoleEdit",
Title = "编辑角色",
GroupName = "CoreRole"
},
new Power
{
Name = "CoreRoleDelete",
Title = "删除角色",
GroupName = "CoreRole"
},
new Power
{
Name = "CoreRoleUserView",
Title = "浏览角色用户列表",
GroupName = "CoreRoleUser"
},
new Power
{
Name = "CoreRoleUserNew",
Title = "向角色添加用户",
GroupName = "CoreRoleUser"
},
new Power
{
Name = "CoreRoleUserDelete",
Title = "从角色中删除用户",
GroupName = "CoreRoleUser"
},
new Power
{
Name = "CoreOnlineView",
Title = "浏览在线用户列表",
GroupName = "CoreOnline"
},
new Power
{
Name = "CoreConfigView",
Title = "浏览全局配置参数",
GroupName = "CoreConfig"
},
new Power
{
Name = "CoreConfigEdit",
Title = "修改全局配置参数",
GroupName = "CoreConfig"
},
new Power
{
Name = "CoreMenuView",
Title = "浏览菜单列表",
GroupName = "CoreMenu"
},
new Power
{
Name = "CoreMenuNew",
Title = "新增菜单",
GroupName = "CoreMenu"
},
new Power
{
Name = "CoreMenuEdit",
Title = "编辑菜单",
GroupName = "CoreMenu"
},
new Power
{
Name = "CoreMenuDelete",
Title = "删除菜单",
GroupName = "CoreMenu"
},
new Power
{
Name = "CoreLogView",
Title = "浏览日志列表",
GroupName = "CoreLog"
},
new Power
{
Name = "CoreLogDelete",
Title = "删除日志",
GroupName = "CoreLog"
},
new Power
{
Name = "CoreTitleView",
Title = "浏览职务列表",
GroupName = "CoreTitle"
},
new Power
{
Name = "CoreTitleNew",
Title = "新增职务",
GroupName = "CoreTitle"
},
new Power
{
Name = "CoreTitleEdit",
Title = "编辑职务",
GroupName = "CoreTitle"
},
new Power
{
Name = "CoreTitleDelete",
Title = "删除职务",
GroupName = "CoreTitle"
},
new Power
{
Name = "CoreTitleUserView",
Title = "浏览职务用户列表",
GroupName = "CoreTitleUser"
},
new Power
{
Name = "CoreTitleUserNew",
Title = "向职务添加用户",
GroupName = "CoreTitleUser"
},
new Power
{
Name = "CoreTitleUserDelete",
Title = "从职务中删除用户",
GroupName = "CoreTitleUser"
},
new Power
{
Name = "CoreDeptView",
Title = "浏览部门列表",
GroupName = "CoreDept"
},
new Power
{
Name = "CoreDeptNew",
Title = "新增部门",
GroupName = "CoreDept"
},
new Power
{
Name = "CoreDeptEdit",
Title = "编辑部门",
GroupName = "CoreDept"
},
new Power
{
Name = "CoreDeptDelete",
Title = "删除部门",
GroupName = "CoreDept"
},
new Power
{
Name = "CoreDeptUserView",
Title = "浏览部门用户列表",
GroupName = "CoreDeptUser"
},
new Power
{
Name = "CoreDeptUserNew",
Title = "向部门添加用户",
GroupName = "CoreDeptUser"
},
new Power
{
Name = "CoreDeptUserDelete",
Title = "从部门中删除用户",
GroupName = "CoreDeptUser"
},
new Power
{
Name = "CorePowerView",
Title = "浏览权限列表",
GroupName = "CorePower"
},
new Power
{
Name = "CorePowerNew",
Title = "新增权限",
GroupName = "CorePower"
},
new Power
{
Name = "CorePowerEdit",
Title = "编辑权限",
GroupName = "CorePower"
},
new Power
{
Name = "CorePowerDelete",
Title = "删除权限",
GroupName = "CorePower"
},
new Power
{
Name = "CoreRolePowerView",
Title = "浏览角色权限列表",
GroupName = "CoreRolePower"
},
new Power
{
Name = "CoreRolePowerEdit",
Title = "编辑角色权限",
GroupName = "CoreRolePower"
}
};
return powers;
}
private static List<Role> GetRoles()
{
var roles = new List<Role>()
{
new Role()
{
Name = "系统管理员",
Remark = ""
},
new Role()
{
Name = "部门管理员",
Remark = ""
},
new Role()
{
Name = "项目经理",
Remark = ""
},
new Role()
{
Name = "开发经理",
Remark = ""
},
new Role()
{
Name = "开发人员",
Remark = ""
},
new Role()
{
Name = "后勤人员",
Remark = ""
},
new Role()
{
Name = "外包人员",
Remark = ""
}
};
return roles;
}
private static List<User> GetUsers()
{
string[] USER_NAMES = { "男", "童光喜", "男", "方原柏", "女", "祝春亚", "男", "涂辉", "男", "舒兆国", "男", "熊忠文", "男", "徐吉琳", "男", "方金海", "男", "包卫峰", "女", "靖小燕", "男", "杨习斌", "男", "徐长旺", "男", "聂建雄", "男", "周敦友", "男", "陈友庭", "女", "陆静芳", "男", "袁国柱", "女", "骆新桂", "男", "许治国", "男", "马先加", "男", "赵恢川", "男", "柯常胜", "男", "黄国鹏", "男", "柯尊北", "男", "刘海云", "男", "罗清波", "男", "张业权", "女", "丁溯鋆", "男", "吴俊", "男", "郑江", "男", "李亚华", "男", "石光富", "男", "谭志洪", "男", "胡中生", "男", "董龙剑", "男", "陈红", "男", "汪海平", "男", "彭道洲", "女", "尹莉君", "男", "占耀玲", "男", "付杰", "男", "王红艳", "男", "邝兴", "男", "饶玮", "男", "王方胜", "男", "陈劲松", "男", "邓庆华", "男", "王石林", "男", "胡俊明", "男", "索相龙", "男", "陈海军", "男", "吴文涛", "女", "熊望梅", "女", "段丽华", "女", "胡莎莎", "男", "徐友安", "男", "肖诗涛", "男", "王闯", "男", "余兴龙", "男", "芦荫杰", "男", "丁金富", "男", "谭军令", "女", "鄢旭燕", "男", "田坤", "男", "夏德胜", "男", "喻显发", "男", "马兴宝", "男", "孙学涛", "男", "陶云成", "男", "马远健", "男", "田华", "男", "聂子森", "男", "郑永军", "男", "余昌平", "男", "陶俊华", "男", "李小林", "男", "李荣宝", "男", "梅盈凯", "男", "张元群", "男", "郝新华", "男", "刘红涛", "男", "向志强", "男", "伍小峰", "男", "胡勇民", "男", "黄定祥", "女", "高红香", "男", "刘军", "男", "叶松", "男", "易俊林", "男", "张威", "男", "刘卫华", "男", "李浩", "男", "李寿庚", "男", "涂洋", "男", "曹晶", "男", "陈辉", "女", "彭博", "男", "严雪冰", "男", "刘青", "女", "印媛", "男", "吴道雄", "男", "邓旻", "男", "陈骏", "男", "崔波", "男", "韩静颐", "男", "严安勇", "男", "刘攀", "女", "刘艳", "女", "孙昕", "女", "郑新", "女", "徐睿", "女", "李月杰", "男", "吕焱鑫", "女", "刘沈", "男", "朱绍军", "女", "马茜", "女", "唐蕾", "女", "刘姣", "女", "于芳", "男", "吴健", "女", "张丹梅", "女", "王燕", "女", "贾兆梅", "男", "程柏漠", "男", "程辉", "女", "任明慧", "女", "焦莹", "女", "马淑娟", "男", "徐涛", "男", "孙庆国", "男", "刘胜", "女", "傅广凤", "男", "袁弘", "男", "高令旭", "男", "栾树权", "女", "申霞", "女", "韩文萍", "女", "隋艳", "男", "邢海洲", "女", "王宁", "女", "陈晶", "女", "吕翠", "女", "刘少敏", "女", "刘少君", "男", "孔鹏", "女", "张冰", "女", "王芳", "男", "万世忠", "女", "徐凡", "女", "张玉梅", "女", "何莉", "女", "时会云", "女", "王玉杰", "女", "谭素英", "女", "李艳红", "女", "刘素莉", "男", "王旭海", "女", "安丽梅", "女", "姚露", "女", "贾颖", "女", "曹微", "男", "黄经华", "女", "陈玉华", "女", "姜媛", "女", "魏立平", "女", "张萍", "男", "来辉", "女", "陈秀玫", "男", "石岩", "男", "王洪捍", "男", "张树军", "女", "李亚琴", "女", "王凤", "女", "王珊华", "女", "杨丹丹", "女", "教黎明", "女", "修晶", "女", "丁晓霞", "女", "张丽", "女", "郭素兰", "女", "徐艳丽", "女", "任子英", "女", "胡雁", "女", "彭洪亮", "女", "高玉珍", "女", "王玉姝", "男", "郑伟", "女", "姜春玲", "女", "张伟", "女", "王颖", "女", "金萍", "男", "孙望", "男", "闫宝东", "男", "周相永", "女", "杨美娜", "女", "欧立新", "女", "刘宝霞", "女", "刘艳杰", "女", "宋艳平", "男", "李克", "女", "梁翠", "女", "宗宏伟", "女", "刘国伟", "女", "敖志敏", "女", "尹玲" };
string[] EMAIL_NAMES = { "qq.com", "gmail.com", "163.com", "126.com", "outlook.com", "foxmail.com" };
var users = new List<User>();
var rdm = new Random();
for (int i = 0, count = USER_NAMES.Length; i < count; i += 2)
{
string gender = USER_NAMES[i];
string chineseName = USER_NAMES[i + 1];
string userName = "user" + i.ToString();
users.Add(new User
{
Name = userName,
Gender = gender,
Password = PasswordUtil.CreateDbPassword(userName),
ChineseName = chineseName,
Email = userName + "@" + EMAIL_NAMES[rdm.Next(0, EMAIL_NAMES.Length)],
Enabled = true,
CreateTime = DateTime.Now
});
}
// 添加超级管理员
users.Add(new User
{
Name = "admin",
Gender = "男",
Password = PasswordUtil.CreateDbPassword("admin"),
ChineseName = "超级管理员",
Email = "admin@examples.com",
Enabled = true,
CreateTime = DateTime.Now
});
return users;
}
private static List<Dept> GetDepts()
{
var depts = new List<Dept> {
new Dept
{
Name = "研发部",
SortIndex = 1,
Remark = "顶级部门",
Children = new List<Dept> {
new Dept
{
Name = "开发部",
SortIndex = 1,
Remark = "二级部门"
},
new Dept
{
Name = "测试部",
SortIndex = 2,
Remark = "二级部门"
}
}
},
new Dept
{
Name = "销售部",
SortIndex = 2,
Remark = "顶级部门",
Children = new List<Dept> {
new Dept
{
Name = "直销部",
SortIndex = 1,
Remark = "二级部门"
},
new Dept
{
Name = "渠道部",
SortIndex = 2,
Remark = "二级部门"
}
}
},
new Dept
{
Name = "客服部",
SortIndex = 3,
Remark = "顶级部门",
Children = new List<Dept> {
new Dept
{
Name = "实施部",
SortIndex = 1,
Remark = "二级部门"
},
new Dept
{
Name = "售后服务部",
SortIndex = 2,
Remark = "二级部门"
},
new Dept
{
Name = "大客户服务部",
SortIndex = 3,
Remark = "二级部门"
}
}
},
new Dept
{
Name = "财务部",
SortIndex = 4,
Remark = "顶级部门"
},
new Dept
{
Name = "行政部",
SortIndex = 5,
Remark = "顶级部门",
Children = new List<Dept> {
new Dept
{
Name = "人事部",
SortIndex = 1,
Remark = "二级部门"
},
new Dept
{
Name = "后勤部",
SortIndex = 2,
Remark = "二级部门"
},
new Dept
{
Name = "运输部",
SortIndex = 3,
Remark = "二级部门",
Children = new List<Dept>{
new Dept{
Name = "省内运输部",
SortIndex = 1,
Remark = "三级部门",
},
new Dept{
Name = "国内运输部",
SortIndex = 2,
Remark = "三级部门",
},
new Dept{
Name = "国际运输部",
SortIndex = 3,
Remark = "三级部门",
}
}
}
}
}
};
return depts;
}
private static List<Config> GetConfigs()
{
var configs = new List<Config> {
new Config
{
ConfigKey = "Title",
ConfigValue = "AppBox - 通用权限管理框架",
Remark = "网站的标题"
},
new Config
{
ConfigKey = "PageSize",
ConfigValue = "20",
Remark = "表格每页显示的个数"
},
new Config
{
ConfigKey = "MenuType",
ConfigValue = "tree",
Remark = "左侧菜单样式"
},
new Config
{
ConfigKey = "Theme",
ConfigValue = "Neptune",
Remark = "网站主题"
},
new Config
{
ConfigKey = "HelpList",
ConfigValue = "[{\"Text\":\"万年历\",\"Icon\":\"Calendar\",\"ID\":\"wannianli\",\"URL\":\"~/admin/help/wannianli.htm\"},{\"Text\":\"科学计算器\",\"Icon\":\"Calculator\",\"ID\":\"jisuanqi\",\"URL\":\"~/admin/help/jisuanqi.htm\"},{\"Text\":\"系统帮助\",\"Icon\":\"Help\",\"ID\":\"help\",\"URL\":\"~/admin/help/help.htm\"}]",
Remark = "帮助下拉列表的JSON字符串"
}
};
return configs;
}
}
}

19
北京北汽/CK.SCP.Models/AppBoxEntity/Config.cs

@ -0,0 +1,19 @@
using System.ComponentModel.DataAnnotations;
namespace CK.SCP.Models.AppBoxEntity
{
public class Config : IKeyID
{
[Key]
public int ID { get; set; }
[Required, StringLength(50)]
public string ConfigKey { get; set; }
[Required, StringLength(4000)]
public string ConfigValue { get; set; }
[StringLength(500)]
public string Remark { get; set; }
}
}

67
北京北汽/CK.SCP.Models/AppBoxEntity/Dept.cs

@ -0,0 +1,67 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace CK.SCP.Models.AppBoxEntity
{
public class Dept : ICustomTree, IKeyID, ICloneable
{
[Key]
public int ID { get; set; }
[Required, StringLength(50)]
public string Name { get; set; }
[Required]
public int SortIndex { get; set; }
[StringLength(500)]
public string Remark { get; set; }
public virtual Dept Parent { get; set; }
public virtual ICollection<Dept> Children { get; set; }
public virtual ICollection<User> Users { get; set; }
/// <summary>
/// 菜单在树形结构中的层级(从0开始)
/// </summary>
[NotMapped]
public int TreeLevel { get; set; }
/// <summary>
/// 是否可用(默认true),在模拟树的下拉列表中使用
/// </summary>
[NotMapped]
public bool Enabled { get; set; }
/// <summary>
/// 是否叶子节点(默认true)
/// </summary>
[NotMapped]
public bool IsTreeLeaf { get; set; }
public object Clone()
{
Dept dept = new Dept
{
ID = ID,
Name = Name,
Remark = Remark,
SortIndex = SortIndex,
TreeLevel = TreeLevel,
Enabled = Enabled,
IsTreeLeaf = IsTreeLeaf
};
return dept;
}
}
}

25
北京北汽/CK.SCP.Models/AppBoxEntity/ICustomTree.cs

@ -0,0 +1,25 @@
namespace CK.SCP.Models.AppBoxEntity
{
public interface ICustomTree
{
/// <summary>
/// 名称
/// </summary>
string Name { get; set; }
/// <summary>
/// 菜单在树形结构中的层级(从0开始)
/// </summary>
int TreeLevel { get; set; }
/// <summary>
/// 是否可用(默认true),在模拟树的下拉列表中使用
/// </summary>
bool Enabled { get; set; }
/// <summary>
/// 是否叶子节点(默认true)
/// </summary>
bool IsTreeLeaf { get; set; }
}
}

8
北京北汽/CK.SCP.Models/AppBoxEntity/IKeyID.cs

@ -0,0 +1,8 @@
namespace CK.SCP.Models.AppBoxEntity
{
public interface IKeyID
{
int ID { get; set; }
}
}

26
北京北汽/CK.SCP.Models/AppBoxEntity/Log.cs

@ -0,0 +1,26 @@
using System;
using System.ComponentModel.DataAnnotations;
namespace CK.SCP.Models.AppBoxEntity
{
public class Log : IKeyID
{
[Key]
public int ID { get; set; }
[StringLength(20)]
public string Level { get; set; }
[StringLength(200)]
public string Logger { get; set; }
[StringLength(4000)]
public string Message { get; set; }
[StringLength(4000)]
public string Exception { get; set; }
public DateTime LogTime { get; set; }
}
}

74
北京北汽/CK.SCP.Models/AppBoxEntity/Menu.cs

@ -0,0 +1,74 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace CK.SCP.Models.AppBoxEntity
{
public class Menu : ICustomTree, IKeyID, ICloneable
{
[Key]
public int ID { get; set; }
[Required, StringLength(50)]
public string Name { get; set; }
[StringLength(200)]
public string ImageUrl { get; set; }
[StringLength(200)]
public string NavigateUrl { get; set; }
[StringLength(500)]
public string Remark { get; set; }
[Required]
public int SortIndex { get; set; }
public virtual Menu Parent { get; set; }
public virtual ICollection<Menu> Children { get; set; }
public virtual Power ViewPower {get; set;}
/// <summary>
/// 菜单在树形结构中的层级(从0开始)
/// </summary>
[NotMapped]
public int TreeLevel { get; set; }
/// <summary>
/// 是否可用(默认true),在模拟树的下拉列表中使用
/// </summary>
[NotMapped]
public bool Enabled { get; set; }
/// <summary>
/// 是否叶子节点(默认true)
/// </summary>
[NotMapped]
public bool IsTreeLeaf { get; set; }
public object Clone()
{
Menu menu = new Menu {
ID = ID,
Name = Name,
ImageUrl = ImageUrl,
NavigateUrl = NavigateUrl,
Remark = Remark,
SortIndex = SortIndex,
TreeLevel = TreeLevel,
Enabled = Enabled,
IsTreeLeaf = IsTreeLeaf
};
return menu;
}
}
}

23
北京北汽/CK.SCP.Models/AppBoxEntity/Online.cs

@ -0,0 +1,23 @@
using System;
using System.ComponentModel.DataAnnotations;
namespace CK.SCP.Models.AppBoxEntity
{
public class Online : IKeyID
{
[Key]
public int ID { get; set; }
[StringLength(50)]
public string IPAdddress { get; set; }
public DateTime LoginTime { get; set; }
public DateTime? UpdateTime { get; set; }
public virtual User User { get; set; }
}
}

119
北京北汽/CK.SCP.Models/AppBoxEntity/PasswordUtil.cs

@ -0,0 +1,119 @@
using System;
using System.Security.Cryptography;
namespace CK.SCP.Models.AppBoxEntity
{
/// <summary>
/// 单相混淆加密用户密码,并比较密码是否一致的类
/// </summary>
public class PasswordUtil
{
#region field & constructor
//private static readonly Log _log = new Log(typeof(PasswordUtil));
private const int saltLength = 4;
public PasswordUtil() { }
#endregion
/// <summary>
/// 对比用户明文密码是否和加密后密码一致
/// </summary>
/// <param name="dbPassword">数据库中单向加密后的密码</param>
/// <param name="userPassword">用户明文密码</param>
/// <returns></returns>
public static bool ComparePasswords(string dbPassword,string userPassword)
{
byte[] dbPwd = Convert.FromBase64String(dbPassword);
byte[] hashedPwd = HashString(userPassword);
if(dbPwd.Length ==0 || hashedPwd.Length ==0 || dbPwd.Length !=hashedPwd.Length + saltLength)
{
return false;
}
byte[] saltValue = new byte[saltLength];
// int saltOffset = dbPwd.Length - hashedPwd.Length;
int saltOffset = hashedPwd.Length;
for (int i = 0; i < saltLength; i++)
saltValue[i] = dbPwd[saltOffset + i];
byte[] saltedPassword = CreateSaltedPassword(saltValue, hashedPwd);
// compare the values
return CompareByteArray(dbPwd, saltedPassword);
}
/// <summary>
/// 创建用户的数据库密码
/// </summary>
/// <param name="password"></param>
/// <returns></returns>
public static string CreateDbPassword(string userPassword)
{
byte[] unsaltedPassword = HashString(userPassword);
//Create a salt value
byte[] saltValue = new byte[saltLength];
RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
rng.GetBytes(saltValue);
byte[] saltedPassword = CreateSaltedPassword(saltValue, unsaltedPassword);
return Convert.ToBase64String(saltedPassword);
}
#region 私有函数
/// <summary>
/// 将一个字符串哈希化
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
private static byte[] HashString(string str)
{
byte[] pwd = System.Text.Encoding.UTF8.GetBytes(str);
SHA1 sha1 = SHA1.Create();
byte[] saltedPassword = sha1.ComputeHash(pwd);
return saltedPassword;
}
private static bool CompareByteArray(byte[] array1, byte[] array2)
{
if (array1.Length != array2.Length)
return false;
for (int i = 0; i < array1.Length; i++)
{
if (array1[i] != array2[i])
return false;
}
return true;
}
// create a salted password given the salt value
private static byte[] CreateSaltedPassword(byte[] saltValue, byte[] unsaltedPassword)
{
// add the salt to the hash
byte[] rawSalted = new byte[unsaltedPassword.Length + saltValue.Length];
unsaltedPassword.CopyTo(rawSalted,0);
saltValue.CopyTo(rawSalted,unsaltedPassword.Length);
//Create the salted hash
SHA1 sha1 = SHA1.Create();
byte[] saltedPassword = sha1.ComputeHash(rawSalted);
// add the salt value to the salted hash
byte[] dbPassword = new byte[saltedPassword.Length + saltValue.Length];
saltedPassword.CopyTo(dbPassword,0);
saltValue.CopyTo(dbPassword,saltedPassword.Length);
return dbPassword;
}
#endregion
}
}

27
北京北汽/CK.SCP.Models/AppBoxEntity/Power.cs

@ -0,0 +1,27 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
namespace CK.SCP.Models.AppBoxEntity
{
public class Power : IKeyID
{
[Key]
public int ID { get; set; }
[Required, StringLength(50)]
public string Name { get; set; }
[StringLength(50)]
public string GroupName { get; set; }
[StringLength(200)]
public string Title { get; set; }
[StringLength(500)]
public string Remark { get; set; }
public virtual ICollection<Role> Roles { get; set; }
}
}

24
北京北汽/CK.SCP.Models/AppBoxEntity/Role.cs

@ -0,0 +1,24 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
namespace CK.SCP.Models.AppBoxEntity
{
public class Role : IKeyID
{
[Key]
public int ID { get; set; }
[Required, StringLength(50)]
public string Name { get; set; }
[StringLength(500)]
public string Remark { get; set; }
public virtual ICollection<User> Users { get; set; }
public virtual ICollection<Power> Powers { get; set; }
}
}

23
北京北汽/CK.SCP.Models/AppBoxEntity/Title.cs

@ -0,0 +1,23 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
namespace CK.SCP.Models.AppBoxEntity
{
public class Title : IKeyID
{
[Key]
public int ID { get; set; }
[Required, StringLength(50)]
public string Name { get; set; }
[StringLength(500)]
public string Remark { get; set; }
public virtual ICollection<User> Users { get; set; }
}
}

85
北京北汽/CK.SCP.Models/AppBoxEntity/User.cs

@ -0,0 +1,85 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace CK.SCP.Models.AppBoxEntity
{
public class User : IKeyID
{
[Key]
public int ID { get; set; }
[Required, StringLength(50)]
public string Name { get; set; }
[Required, StringLength(100)]
public string Email { get; set; }
[Required, StringLength(50)]
public string Password { get; set; }
[Required]
public bool Enabled { get; set; }
[StringLength(10)]
public string Gender { get; set; }
[StringLength(100)]
public string ChineseName { get; set; }
[StringLength(100)]
public string EnglishName { get; set; }
[StringLength(200)]
public string Photo { get; set; }
[StringLength(50)]
public string QQ { get; set; }
[StringLength(100)]
public string CompanyEmail { get; set; }
[StringLength(50)]
public string OfficePhone { get; set; }
[StringLength(50)]
public string OfficePhoneExt { get; set; }
[StringLength(50)]
public string HomePhone { get; set; }
[StringLength(50)]
public string CellPhone { get; set; }
[StringLength(500)]
public string Address { get; set; }
[StringLength(500)]
public string Remark { get; set; }
[StringLength(500)]
public string SupplierCode { get; set; }
[NotMapped]
[StringLength(500)]
public string VendName { get; set; }
[StringLength(50)]
public string IdentityCard { get; set; }
public DateTime? Birthday { get; set; }
public DateTime? TakeOfficeTime { get; set; }
public DateTime? LastLoginTime { get; set; }
public DateTime? CreateTime { get; set; }
public virtual ICollection<Role> Roles { get; set; }
public virtual ICollection<Title> Titles { get; set; }
public virtual Dept Dept { get; set; }
}
}

252
北京北汽/CK.SCP.Models/CK.SCP.Models.csproj

@ -0,0 +1,252 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" 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>{DD7C0DEF-71E7-443F-B0B7-DB2F5B12A506}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>CK.SCP.Models</RootNamespace>
<AssemblyName>CK.SCP.Models</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\DLL\</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="EntityFramework">
<HintPath>..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.dll</HintPath>
</Reference>
<Reference Include="EntityFramework.SqlServer">
<HintPath>..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.SqlServer.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json">
<HintPath>..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<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="AppBoxEntity\AppBoxContext.cs" />
<Compile Include="AppBoxEntity\AppBoxDatabaseInitializer.cs" />
<Compile Include="AppBoxEntity\Config.cs" />
<Compile Include="AppBoxEntity\Dept.cs" />
<Compile Include="AppBoxEntity\ICustomTree.cs" />
<Compile Include="AppBoxEntity\IKeyID.cs" />
<Compile Include="AppBoxEntity\Log.cs" />
<Compile Include="AppBoxEntity\Menu.cs" />
<Compile Include="AppBoxEntity\Online.cs" />
<Compile Include="AppBoxEntity\PasswordUtil.cs" />
<Compile Include="AppBoxEntity\Power.cs" />
<Compile Include="AppBoxEntity\Role.cs" />
<Compile Include="AppBoxEntity\Title.cs" />
<Compile Include="AppBoxEntity\User.cs" />
<Compile Include="DbSetting.cs" />
<Compile Include="EntitiesFactory.cs" />
<Compile Include="EntitiesHelper.cs" />
<Compile Include="Enums\BillType.cs" />
<Compile Include="Enums\CollectionStepFinish.cs" />
<Compile Include="Enums\ControlType.cs" />
<Compile Include="Enums\DataBaseType.cs" />
<Compile Include="Enums\DataState.cs" />
<Compile Include="Enums\EquipmentState.cs" />
<Compile Include="Enums\ErpInterfaceType.cs" />
<Compile Include="Enums\GroupType.cs" />
<Compile Include="Enums\InspectionType.cs" />
<Compile Include="Enums\InspectType.cs" />
<Compile Include="Enums\InventoryState.cs" />
<Compile Include="Enums\InvoiceState.cs" />
<Compile Include="Enums\LocType.cs" />
<Compile Include="Enums\LoginState.cs" />
<Compile Include="Enums\LogType.cs" />
<Compile Include="Enums\ManageType.cs" />
<Compile Include="Enums\ManufactureProcedureType.cs" />
<Compile Include="Enums\NotifyType.cs" />
<Compile Include="Enums\OperateType.cs" />
<Compile Include="Enums\PartKind.cs" />
<Compile Include="Enums\PartState.cs" />
<Compile Include="Enums\PartType.cs" />
<Compile Include="Enums\PlanDayState.cs" />
<Compile Include="Enums\PlanState.cs" />
<Compile Include="Enums\PortalType.cs" />
<Compile Include="Enums\PrintType.cs" />
<Compile Include="Enums\Project.cs" />
<Compile Include="Enums\ProjectName.cs" />
<Compile Include="Enums\ReceiveBillType.cs" />
<Compile Include="Enums\ReceiveState.cs" />
<Compile Include="Enums\ResultCode.cs" />
<Compile Include="Enums\ServiceType.cs" />
<Compile Include="Enums\ShipState.cs" />
<Compile Include="Enums\StockState.cs" />
<Compile Include="Enums\StockWhereType.cs" />
<Compile Include="Enums\StopLineType.cs" />
<Compile Include="Enums\StoreArea.cs" />
<Compile Include="Enums\SubBillType.cs" />
<Compile Include="Enums\UniApiState.cs" />
<Compile Include="Enums\UniApiType.cs" />
<Compile Include="Enums\VinState.cs" />
<Compile Include="Enums\WhseType.cs" />
<Compile Include="Enums\WorkLineType.cs" />
<Compile Include="GlobalConfig.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ScpCache.cs" />
<Compile Include="ScpEntities.cs" />
<Compile Include="ScpEntity\ERP_ORDER.cs" />
<Compile Include="ScpEntity\ERP_ORDER_DETAIL.cs" />
<Compile Include="ScpEntity\QadOrder.cs" />
<Compile Include="ScpEntity\TA_BillNoType.cs" />
<Compile Include="ScpEntity\TA_BILLTYPE.cs" />
<Compile Include="ScpEntity\TA_CONFIG.cs" />
<Compile Include="ScpEntity\TA_FACTORY.cs" />
<Compile Include="ScpEntity\TA_Info.cs" />
<Compile Include="ScpEntity\TA_LANGUAGE.cs" />
<Compile Include="ScpEntity\TA_PART.cs" />
<Compile Include="ScpEntity\TA_Part_User.cs" />
<Compile Include="ScpEntity\TA_VENDER.cs" />
<Compile Include="ScpEntity\TA_VEND_PART.cs" />
<Compile Include="ScpEntity\TA_VEND_USER.cs" />
<Compile Include="ScpEntity\TB_ASK.cs" />
<Compile Include="ScpEntity\TB_ASK_DETAIL.cs" />
<Compile Include="ScpEntity\TB_ASN.cs" />
<Compile Include="ScpEntity\TB_ASN_DETAIL.cs" />
<Compile Include="ScpEntity\TB_INVOICE.cs" />
<Compile Include="ScpEntity\TB_INVOICE_DETAIL.cs" />
<Compile Include="ScpEntity\TB_PLAN.cs" />
<Compile Include="ScpEntity\TB_PlanMonth.cs" />
<Compile Include="ScpEntity\TB_PLAN_DETAIL.cs" />
<Compile Include="ScpEntity\TB_PO.cs" />
<Compile Include="ScpEntity\TB_PO_DETAIL.cs" />
<Compile Include="ScpEntity\TB_PublicData.cs" />
<Compile Include="ScpEntity\TB_QadOrder.cs" />
<Compile Include="ScpEntity\TB_QadOrderDetail.cs" />
<Compile Include="ScpEntity\TB_RECEIVE.cs" />
<Compile Include="ScpEntity\TB_RECEIVE_DETAIL.cs" />
<Compile Include="ScpEntity\TB_REJECT.cs" />
<Compile Include="ScpEntity\TB_REJECT_DETAIL.cs" />
<Compile Include="ScpEntity\TB_RETURN.cs" />
<Compile Include="ScpEntity\TB_RETURN_DETAIL.cs" />
<Compile Include="ScpEntity\TF_ASN.cs" />
<Compile Include="ScpEntity\TF_ASN_DETAIL.cs" />
<Compile Include="ScpEntity\TF_PO.cs" />
<Compile Include="ScpEntity\TF_PO_DETAIL.cs" />
<Compile Include="ScpEntity\TL_BASEDATA.cs" />
<Compile Include="ScpEntity\TL_BILL.cs" />
<Compile Include="ScpEntity\TL_OPER.cs" />
<Compile Include="ScpEntity\TL_USER.cs" />
<Compile Include="ScpEntity\TS_BARCODE.cs" />
<Compile Include="ScpEntity\TS_INFO.cs" />
<Compile Include="ScpEntity\TS_STOCK.cs" />
<Compile Include="ScpEntity\TS_UNI_API.cs" />
<Compile Include="ScpEntity\TS_UNI_API_HIS.cs" />
<Compile Include="ScpEntity\TT_CURRENCY.cs" />
<Compile Include="ScpEntity\TT_PROJECT.cs" />
<Compile Include="ScpEntity\TT_UNIT.cs" />
<Compile Include="ScpEntity\V_BillInvoice.cs" />
<Compile Include="ScpEntity\V_BillInvoiceDetail.cs" />
<Compile Include="ScpEntity\V_BillShip.cs" />
<Compile Include="ScpEntity\V_BillShipDetail.cs" />
<Compile Include="ScpEntity\V_Info.cs" />
<Compile Include="ScpEntity\V_PlanMonth.cs" />
<Compile Include="ScpEntity\V_POAll.cs" />
<Compile Include="ScpEntity\V_POAllDetail.cs" />
<Compile Include="ScpEntity\V_POReport.cs" />
<Compile Include="ScpEntity\V_QadOrder.cs" />
<Compile Include="ScpEntity\V_Receive.cs" />
<Compile Include="ScpEntity\V_ReceiveDetail.cs" />
<Compile Include="ScpEntity\V_ReportReceive.cs" />
<Compile Include="ScpEntity\V_Stock.cs" />
<Compile Include="SCPException.cs" />
<Compile Include="UniApiEntity\IControlTable.cs" />
<Compile Include="UniApiEntity\IDataTable.cs" />
<Compile Include="UniApiEntity\ITable.cs" />
<Compile Include="UniApiEntity\QadTableName.cs" />
<Compile Include="UniApiEntity\UniApiEntities.cs" />
<Compile Include="UniApiEntity\UniInterfaceExtention.cs" />
<Compile Include="UniApiEntity\xxbom_code_mstr.cs" />
<Compile Include="UniApiEntity\xxbom_ctrl.cs" />
<Compile Include="UniApiEntity\xxbom_ps_mstr.cs" />
<Compile Include="UniApiEntity\xxbom_pt_mstr.cs" />
<Compile Include="UniApiEntity\xxbom_ro_mstr.cs" />
<Compile Include="UniApiEntity\xxmes_ctrl.cs" />
<Compile Include="UniApiEntity\xxqad_cm_mstr.cs" />
<Compile Include="UniApiEntity\xxqad_ctrl.cs" />
<Compile Include="UniApiEntity\xxqad_ld_det.cs" />
<Compile Include="UniApiEntity\xxqad_line_mstr.cs" />
<Compile Include="UniApiEntity\xxqad_loc_det.cs" />
<Compile Include="UniApiEntity\xxqad_pod_det.cs" />
<Compile Include="UniApiEntity\xxqad_pprice_det.cs" />
<Compile Include="UniApiEntity\xxqad_prh_det.cs" />
<Compile Include="UniApiEntity\xxqad_ps_mstr.cs" />
<Compile Include="UniApiEntity\xxqad_pt_mstr.cs" />
<Compile Include="UniApiEntity\xxqad_repsch_det.cs" />
<Compile Include="UniApiEntity\xxqad_ro_mstr.cs" />
<Compile Include="UniApiEntity\xxqad_sche_mstr.cs" />
<Compile Include="UniApiEntity\xxqad_sct_det.cs" />
<Compile Include="UniApiEntity\xxqad_sod_det.cs" />
<Compile Include="UniApiEntity\xxqad_sprice_det.cs" />
<Compile Include="UniApiEntity\xxqad_vd_mstr.cs" />
<Compile Include="UniApiEntity\xxqad_vp_mstr.cs" />
<Compile Include="UniApiEntity\xxscm_ctrl.cs" />
<Compile Include="UniApiEntity\xxscm_inv_det.cs" />
<Compile Include="UniApiEntity\xxscm_pod_det.cs" />
<Compile Include="UniApiEntity\xxscm_tx_det.cs" />
<Compile Include="UniApiEntity\xxscm_tx_mstr.cs" />
<Compile Include="UniApiEntity\xxwms_bk_mstr.cs" />
<Compile Include="UniApiEntity\xxwms_ctrl.cs" />
<Compile Include="UniApiEntity\xxwms_iss_det.cs" />
<Compile Include="UniApiEntity\xxwms_ld_det.cs" />
<Compile Include="UniApiEntity\xxwms_rct_det.cs" />
<Compile Include="UniApiEntity\xxwms_rc_det.cs" />
<Compile Include="UniApiEntity\xxwms_rt_det.cs" />
<Compile Include="UniApiEntity\xxwms_soiss_det.cs" />
<Compile Include="UniApiEntity\xxwms_tag_det.cs" />
<Compile Include="UniApiEntity\xxwms_tr_det.cs" />
<Compile Include="ScpEntity\V_TB_ASK.cs" />
<Compile Include="ScpEntity\V_TB_ASK_DETAIL.cs" />
<Compile Include="ScpEntity\V_TB_ASN.cs" />
<Compile Include="ScpEntity\V_TB_ASN_DETAIL.cs" />
<Compile Include="ScpEntity\V_TB_PO.cs" />
<Compile Include="ScpEntity\V_TB_PO_DETAIL.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\CK.SCP.Utils\CK.SCP.Utils.csproj">
<Project>{7118ac83-9dc0-41f5-94ea-e6f405ae0448}</Project>
<Name>CK.SCP.Utils</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

28
北京北汽/CK.SCP.Models/DbSetting.cs

@ -0,0 +1,28 @@
using CK.SCP.Models.Enums;
namespace CK.SCP.Models
{
public class DbSetting
{
public override string ToString()
{
return EntitiesHelper.GetPropertiesString(this);
}
public DbSetting() { }
public DbSetting(DataBaseType type)
{
= type.ToString();
}
public string { get; set; } = Enums.DataBaseType.SQLServer.ToString();
public string { get; set; } = "127.0.0.1";
public string { get; set; } = "1433";
public string { get; set; } = "DB_NAME";
public string { get; set; } = "sa";
public string { get; set; } = "5E0AFEB85CA001A3371A9F19E7EC4DFF";
}
}

148
北京北汽/CK.SCP.Models/EntitiesFactory.cs

@ -0,0 +1,148 @@
using System;
using System.Data.Entity;
using System.Data.Entity.Core;
using System.Data.Entity.Core.EntityClient;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CK.SCP.Models.AppBoxEntity;
using CK.SCP.Models.Enums;
using CK.SCP.Models.UniApiEntity;
using CK.SCP.Utils;
namespace CK.SCP.Models
{
public static class EntitiesFactory
{
static EntitiesFactory()
{
Database.SetInitializer<ScpEntities>(null);
Database.SetInitializer<UniApiEntities>(null);
}
public static ScpEntities CreateScpInstance()
{
try
{
// var strConn = setting == null ? GetEfConnectionString("Wms") : GetEfConnectionString(setting);
var strConn = GetEfConnectionString(GlobalConfig.ScpDatabase);
var db = new ScpEntities(strConn);
return db;
}
catch (SqlException ex)
{
throw new Exception($"系统无法连接到数据库:{GlobalConfig.ScpDatabase},请检查配置的服务器,数据库,用户名和密码等信息是否正确。" + Environment.NewLine + ex);
}
}
public static UniApiEntities CreateUniApiInstance()
{
try
{
// var strConn = setting == null ? GetEfConnectionString("UniApi") : GetEfConnectionString(setting);
var strConn = GetEfConnectionString(GlobalConfig.UniApiDatabase);
var db = new UniApiEntities(strConn);
return db;
}
catch (SqlException ex)
{
throw new Exception($"系统无法连接到数据库:{GlobalConfig.UniApiDatabase},请检查配置的服务器,数据库,用户名和密码等信息是否正确。" + Environment.NewLine + ex);
}
}
public static AppBoxContext CreateAppBoxInstance()
{
try
{
// var strConn = setting == null ? GetEfConnectionString("UniApi") : GetEfConnectionString(setting);
var strConn = GetEfConnectionString(GlobalConfig.AppBoxDatabase);
var db = new AppBoxContext(strConn);
return db;
}
catch (SqlException ex)
{
throw new Exception($"系统无法连接到数据库:{GlobalConfig.AppBoxDatabase},请检查配置的服务器,数据库,用户名和密码等信息是否正确。" + Environment.NewLine + ex);
}
}
public static string GetEfConnectionString(DbSetting dbSetting)
{
var sbConn = new StringBuilder();
if (string.IsNullOrEmpty(dbSetting.))
{
throw new Exception("配置文件错误,请检查");
}
switch (dbSetting.)
{
case "SQLServer":
sbConn.Append($"Data source ={dbSetting.服务器地址}");
sbConn.Append(dbSetting. == "0" ? ";" : $",{dbSetting.端口};");
sbConn.Append($"Initial catalog = {dbSetting.数据库名称};");
sbConn.Append($"User id = {dbSetting.用户名};");
sbConn.Append($"Password = {EncryptHelper.Decrypt(dbSetting.密码)};");
sbConn.Append("MultipleActiveResultSets = True;");
sbConn.Append("persist security info = True;");
sbConn.Append("App = EntityFramework;");
break;
case "MySql":
sbConn.Append($"server ={dbSetting.服务器地址};");
sbConn.Append($"port ={dbSetting.端口};");
sbConn.Append($"database = {dbSetting.数据库名称};");
sbConn.Append($"user id = {dbSetting.用户名};");
sbConn.Append($"password = {EncryptHelper.Decrypt(dbSetting.密码)};");
sbConn.Append("persistsecurityinfo =True;");
break;
}
// LogHelper.Write(sbConn.ToString());
return sbConn.ToString();
}
public static void SaveDb(DbContext db)
{
try
{
db.SaveChanges();
}
catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)//捕获实体验证异常
{
var sb = new StringBuilder();
foreach (var error in dbEx.EntityValidationErrors.ToList())
{
error.ValidationErrors.ToList().ForEach(i =>
{
sb.AppendFormat("表:{0},字段:{1},信息:{2}\r\n", error.Entry.Entity.GetType().Name, i.PropertyName, i.ErrorMessage);
});
}
throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "字段验证失败" + sb.ToString());
}
catch (OptimisticConcurrencyException ex)//并发冲突异常
{
Console.WriteLine(ex.ToString());
throw new ScpException(ResultCode.Exception, "9999", ex.ToString());
}
catch (ScpException ex)
{
Console.WriteLine(ex.ToString());
if (ex.InnerException != null && ex.InnerException.GetType() == typeof(UpdateException))
{
var inner = (UpdateException)ex.InnerException;
//Console.WriteLine(inner?.StateEntries[0].EntitySet.Name);
throw new ScpException(ResultCode.Exception, "0000", ex.ToString());
}
else
{
if (ex.InnerException != null) throw ex.InnerException;
}
}
}
}
}

162
北京北汽/CK.SCP.Models/EntitiesHelper.cs

@ -0,0 +1,162 @@
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection;
using System.Text;
namespace CK.SCP.Models
{
public static class EntitiesHelper
{
public static string GetPropertiesString<T>(T t,bool withName = true)
{
var peroperties = t.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance);
var sb = new StringBuilder();
foreach (var property in peroperties)
{
if (withName)
sb.Append($"{property.Name}:");
sb.Append($"{property.GetValue(t)},");
}
return sb.ToString();
}
public static List<T> GetData<T, TKey>(DbContext db, Expression<Func<T, T>> select,
Expression<Func<T, bool>> where, Expression<Func<T, TKey>> order)
where T : class
{
var list = db.Set<T>()
.Where(@where)
.OrderBy(order)
.Select(@select).ToList();
return list;
}
public static List<dynamic> GetData<T, TKey>(DbContext db, Expression<Func<T, dynamic>> select,
Expression<Func<T, bool>> where, Expression<Func<T, TKey>> order, out int count)
where T : class
{
count = db.Set<T>().Where(@where).Count();
var list = db.Set<T>()
.Where(@where)
.OrderBy(order)
.Select(@select).ToList();
return list;
}
public static List<dynamic> GetPagedDataAsc<T, TKey>(DbContext db, Expression<Func<T, dynamic>> select,
Expression<Func<T, bool>> where, Expression<Func<T, TKey>> order, int pageIndex, int pageSize, out int total)
where T : class
{
total = db.Set<T>().Where(@where).Count();
var list = db.Set<T>()
.Where(@where)
.OrderBy(order)
.Select(@select)
.Skip((pageIndex - 1) * pageSize)
.Take(pageSize).ToList();
return list;
}
public static List<T> GetPagedDataAsc<T, TKey>(DbContext db, Expression<Func<T, T>> select,
Expression<Func<T, bool>> where, Expression<Func<T, TKey>> order, int pageIndex, int pageSize, out int total)
where T : class
{
total = db.Set<T>().Where(@where.Compile()).AsQueryable().Count();
var list = db.Set<T>()
.Where(@where.Compile()).AsQueryable()
.OrderBy(order)
.Select(@select)
.Skip((pageIndex - 1) * pageSize)
.Take(pageSize).ToList();
return list;
}
public static List<T> GetPagedDataAsc<T, TKey>(List<T> sourceList, Expression<Func<T, T>> select,
Expression<Func<T, bool>> where, Expression<Func<T, TKey>> order, int pageIndex, int pageSize, out int total)
where T : class
{
List<T> list = null;
total = 0;
try
{
total = sourceList.Where(where.Compile()).AsQueryable().Count();
}
catch (Exception e)
{
Console.WriteLine(e);
}
try
{
list = sourceList.Where(@where.Compile()).AsQueryable()
.OrderBy(order)
.Select(@select)
.Skip((pageIndex - 1) * pageSize)
.Take(pageSize).ToList();
}
catch (Exception e)
{
Console.WriteLine(e);
}
return list;
}
public static List<dynamic> GetPagedDataDesc<T, TKey>(DbContext db, Expression<Func<T, dynamic>> select,
Expression<Func<T, bool>> where, Expression<Func<T, TKey>> order, int pageIndex, int pageSize, out int total)
where T : class
{
total = db.Set<T>().Where(@where).Count();
var list = db.Set<T>()
.Where(@where)
.OrderByDescending(order)
.Select(@select)
.Skip((pageIndex - 1) * pageSize)
.Take(pageSize).ToList();
return list;
}
public static List<T> GetPagedDataDesc<T, TKey>(DbContext db, Expression<Func<T, T>> select,
Expression<Func<T, bool>> where, Expression<Func<T, TKey>> order, int pageIndex, int pageSize, out int total)
where T : class
{
total = db.Set<T>().Where(@where).Count();
var list = db.Set<T>()
.Where(@where)
.OrderByDescending(order)
.Select(@select)
.Skip((pageIndex - 1) * pageSize)
.Take(pageSize).ToList();
return list;
}
public static List<T> GetPagedDataDesc<T, TKey>(List<T> sourceList, Expression<Func<T, T>> select,
Expression<Func<T, bool>> where, Expression<Func<T, TKey>> order, int pageIndex, int pageSize, out int total)
where T : class
{
total = sourceList.Where(@where.Compile()).AsQueryable().Count();
var list = sourceList
.Where(@where.Compile()).AsQueryable()
.OrderByDescending(order)
.Select(@select)
.Skip((pageIndex - 1) * pageSize)
.Take(pageSize).ToList();
return list;
}
}
}

158
北京北汽/CK.SCP.Models/Enums/BillType.cs

@ -0,0 +1,158 @@
using System.ComponentModel;
namespace CK.SCP.Models.Enums
{
public enum BillType
{
[Description("原料收货")]
MaterialReceive = 101,
[Description("原料入库")]
MaterialIn = 102,
[Description("原料出库")]
MaterialDeliver = 103,
[Description("生产叫料")]
MaterialAsk = 104,
[Description("原料退货")]
MatertialReturn = 105,
[Description("生产退库")]
MaterialBack = 106,
[Description("委外出库")]
OutsourceDeliver = 109,
// [Description("原料退货")]
// MaterialBack = 105,
// [Description("生产退库")]
// MaterialReturn = 106,
[Description("成品收货")]
ProductReceive = 201,
[Description("成品入库")]
ProductIn = 202,
[Description("成品发货")]
DeliverPlan = 204,
[Description("客户退货")]
ProductReturn = 205,
[Description("成品顺序发货")]
ProductSortedDeliver = 206,
[Description("成品销售")]
ProductSell = 207,
[Description("成品返修")]
ProductRepair = 208,
[Description("委外入库")]
OutsourceReceive = 209,
[Description("其它入库")]
OtherIn = 300,
[Description("其它出库")]
OtherOut = 301,
[Description("移库")]
StockMove = 302,
[Description("打包")]
StockPack = 303,
[Description("拆包")]
StockUnpack = 304,
[Description("盘点计划")]
InventoryPlan = 305,
[Description("结算比对")]
BalanceCompare = 307,
[Description("盘点库位")]
InventoryLoc = 306,
[Description("器具初始化")]
EqptRecover = 401,
[Description("器具保养")]
EqptMaintain = 402,
[Description("器具报废")]
EqptScrap = 403,
[Description("码托")]
EqptLoad = 404,
[Description("JIS收货")]
VinReceive = 501,
[Description("JIS发货")]
VinDeliver = 502,
[Description("JIS销售")]
VinSell = 503,
[Description("报检")]
Inspect = 601,
[Description("追溯")]
TraceBack = 602,
[Description("备货单")]
PickPlan = 603,
[Description("发料单")]
PickFact = 604,
[Description("生产计划")]
ProducePlan = 605,
[Description("生产订单")]
ManuOrder = 607,
[Description("不合格品单")]
UnqualifiedProd = 608,
[Description("设备点检模板")]
CheckModeEquipment = 609,
[Description("设备点检单")]
CheckBillEquipment = 610,
[Description("产品点检模板")]
CheckModeProduct = 611,
[Description("产品点检单")]
CheckBillProduct = 612,
[Description("首检模板")]
SpotInspectFirstMode = 613,
[Description("首检单")]
SpotInspectionFirst = 615,
[Description("巡检模板")]
SpotInspectMedMode = 616,
[Description("巡检单")]
SpotInspectionMed = 617,
[Description("末检模板")]
SpotInspectLastMode = 618,
[Description("末检单")]
SpotInspectionLast = 619,
[Description("停线单")]
LineStopBill = 620,
[Description("产线识别码")]
WorkLineDoc = 621,
[Description("工位识别码")]
WorkStationDoc = 622,
[Description("路由识别码")]
RouteDoc = 623,
[Description("工位拆解识别码")]
RouteBOMDoc = 624,
[Description("参数识别码")]
RoutePDoc = 625,
[Description("工位部件识别码")]
MachinePart = 626,
[Description("停线发通知编号")]
LineStopNoticeBill = 627,
[Description("停线预计处理编号")]
LineStopPrepareBill = 628,
[Description("措施编号")]
LineStopMeasureBill = 629,
[Description("点检表编号")]
CheckCode = 630,
ReHandleVin = 701,
[Description("采购订单")]
PuchaseOrder = 702,
[Description("发货单")]
AsnOrder = 703,
[Description("销售订单")]
SaleOrder = 704,
[Description("确认订单")]
PO = 704,
[Description("收货")]
Receive = 704,
[Description("条码")]
BarCode = 704,
[Description("发票")]
Invoice = 704,
}
}

11
北京北汽/CK.SCP.Models/Enums/CollectionStepFinish.cs

@ -0,0 +1,11 @@
using System.ComponentModel;
namespace CK.SCP.Models.Enums
{
public enum CollectionStepFinish
{
[Description("零件扫条码")] ScanPartBarCode = 1,
[Description("机器复位信号")] ScanMachineReset = 2,
[Description("专用计数设备")] counters = 3
}
}

16
北京北汽/CK.SCP.Models/Enums/ControlType.cs

@ -0,0 +1,16 @@
using System.ComponentModel;
namespace CK.SCP.Models.Enums
{
public enum ControlType
{
[Description("标签")]
Tab = 0,
[Description("群组")]
Grp = 1,
[Description("容器")]
Ctn = 2,
[Description("菜单项")]
Itm = 3,
}
}

10
北京北汽/CK.SCP.Models/Enums/DataBaseType.cs

@ -0,0 +1,10 @@
namespace CK.SCP.Models.Enums
{
public enum DataBaseType
{
SQLServer,
MySql,
Oracle,
PostgreSQL,
}
}

29
北京北汽/CK.SCP.Models/Enums/DataState.cs

@ -0,0 +1,29 @@
using System.ComponentModel;
namespace CK.SCP.Models.Enums
{
public enum DataState
{
[Description("无效")]
Disabled = 0,
[Description("有效")]
Enabled = 1,
}
public enum FormState
{
[Description("开放")]
= 1,
[Description("关闭")]
= 0,
}
public enum BillState
{
Cancel = -1,
New = 0,
Process = 1,
Finish = 2,
}
}

11
北京北汽/CK.SCP.Models/Enums/EquipmentState.cs

@ -0,0 +1,11 @@
namespace CK.SCP.Models.Enums
{
public enum EquipmentState
{
Idle,
InUsed,
Sent,
Maintaining,
Scraped
}
}

19
北京北汽/CK.SCP.Models/Enums/ErpInterfaceType.cs

@ -0,0 +1,19 @@
using System.ComponentModel;
namespace CK.SCP.Models.Enums
{
public enum ErpInterfaceType
{
[Description("移库")]
TR,
[Description("回冲")]
BK,
MaterialIn,
MaterialOut,
ProductIn,
ProductOut,
[Description("销售")]
SH,
RCT
}
}

15
北京北汽/CK.SCP.Models/Enums/GroupType.cs

@ -0,0 +1,15 @@
using System.ComponentModel;
namespace CK.SCP.Models.Enums
{
public enum GroupType
{
[Description("高位货架")]
Shelf = 0,
[Description("地面库位")]
Ground = 1,
[Description("线边货架")]
Wip = 2,
}
}

14
北京北汽/CK.SCP.Models/Enums/InspectType.cs

@ -0,0 +1,14 @@
using System.ComponentModel;
namespace CK.SCP.Models.Enums
{
public enum InspectType
{
[Description("免检")]
No = 0,
[Description("全检")]
All = 1,
[Description("抽检")]
Partial = 2
}
}

14
北京北汽/CK.SCP.Models/Enums/InspectionType.cs

@ -0,0 +1,14 @@
using System.ComponentModel;
namespace CK.SCP.Models.Enums
{
public enum InspectionType
{
//[Description("未知")] Unknow = 0,
[Description("首检")] InspectionFirst = 1,
[Description("巡检")] InspectionMed = 2,
[Description("末检")] InspectionLast = 3,
[Description("设备点检")] CheckEquipment = 4,
[Description("产品点检")] CheckProduction = 5,
}
}

19
北京北汽/CK.SCP.Models/Enums/InventoryState.cs

@ -0,0 +1,19 @@
using System.ComponentModel;
namespace CK.SCP.Models.Enums
{
public enum InventoryState
{
//状态 0:新建 1:已初盘 2:已重盘 3:已生成接口 -1:已取消
[Description("新建")]
New = 0,
[Description("已初盘")]
Checked = 1,
[Description("已重盘")]
ReChecked = 2,
[Description("已生成接口")]
ToErp = 3,
[Description("取消")]
Cancelled = -1
}
}

24
北京北汽/CK.SCP.Models/Enums/InvoiceState.cs

@ -0,0 +1,24 @@
using System.ComponentModel;
namespace CK.SCP.Models.Enums
{
public enum InvoiceState
{
[Description("新建")]
New = 0,
[Description("供应商申请")]
Apply = 1,
[Description("采购审核退回")]
CheckFail = 2,
[Description("采购审核通过")]
CheckSuccess = 3,
[Description("发票寄出")]
Mail = 4,
[Description("财务收票")]
FinanceReceive = 5,
[Description("财务退回")]
FinanceFail = 6,
[Description("发票作废")]
Reject = -1,
}
}

15
北京北汽/CK.SCP.Models/Enums/LocType.cs

@ -0,0 +1,15 @@
using System.ComponentModel;
namespace CK.SCP.Models.Enums
{
public enum LocType
{
[Description("存储库位")]
Store = 0,
[Description("线边库位")]
Wip = 1,
[Description("功能库位")]
Functional = 2,
}
}

17
北京北汽/CK.SCP.Models/Enums/LogType.cs

@ -0,0 +1,17 @@
namespace CK.SCP.Models.Enums
{
public enum LogType
{
Login,
Logout,
BillCreate,
BillModify,
BillDelete,
BillCancel,
BaseDataCreate,
BaseDataModify,
BaseDataDisable,
BaseDataDelete,
StockMove
}
}

16
北京北汽/CK.SCP.Models/Enums/LoginState.cs

@ -0,0 +1,16 @@
using System.ComponentModel;
namespace CK.SCP.Models.Enums
{
public enum LoginState
{
[Description("登录失败,未知原因")]
Fault = 0,
[Description("登录成功")]
OK = 1,
[Description("错误的用户名或密码,登录失败!")]
BadCode = 2,
[Description("登录失败,尝试次数太多。稍后再试。")]
Itm = 3,
}
}

12
北京北汽/CK.SCP.Models/Enums/ManageType.cs

@ -0,0 +1,12 @@
using System.ComponentModel;
namespace CK.SCP.Models.Enums
{
public enum ManageType
{
[Description("批量")]
Batch =0,
[Description("单包装")]
SinglePack =1
}
}

18
北京北汽/CK.SCP.Models/Enums/ManufactureProcedureType.cs

@ -0,0 +1,18 @@
using System.ComponentModel;
namespace CK.SCP.Models.Enums
{
public enum ManufactureProcedureType
{
[Description("批量生产")]
Ordinary = 1,
[Description("试制")]
TrialManufacture = 2,
[Description("拆解返修")]
Disassembly = 3,
[Description("小修理")]
Replace = 4
}
}

24
北京北汽/CK.SCP.Models/Enums/NotifyType.cs

@ -0,0 +1,24 @@
using System.ComponentModel;
namespace CK.SCP.Models.Enums
{
public enum NotifyType
{
[Description("新增备料单")]
MaterialAsk=0,
[Description("未知客户物料号")]
UnknowCustPart=1,
[Description("新增检验单")]
Inspect=2,
[Description("新增生产计划单")]
ProducePlan=3,
[Description("新增发货计划单")]
DeliverPlan=4,
[Description("新增盘点计划单")]
InventoryPlan=5,
[Description("新增委外计划单")]
OmPlan=6,
[Description("VIN处理错误")]
VinError=7,
}
}

11
北京北汽/CK.SCP.Models/Enums/OperateType.cs

@ -0,0 +1,11 @@
namespace CK.SCP.Models.Enums
{
public enum OperateType
{
Add,
Update,
Delete,
Cancel,
Finish
}
}

14
北京北汽/CK.SCP.Models/Enums/PartKind.cs

@ -0,0 +1,14 @@
using System.ComponentModel;
namespace CK.SCP.Models.Enums
{
public enum PartKind
{
[Description("总成")]
FG,
[Description("原料")]
RAW,
[Description("半成品")]
SUB
}
}

17
北京北汽/CK.SCP.Models/Enums/PartState.cs

@ -0,0 +1,17 @@
using System.ComponentModel;
namespace CK.SCP.Models.Enums
{
public enum PartState
{
[Description("Actived")]
A,
[Description("Designing")]
D,
[Description("Hold")]
H,
[Description("Noneactived")]
N
}
}

24
北京北汽/CK.SCP.Models/Enums/PartType.cs

@ -0,0 +1,24 @@
using System.ComponentModel;
namespace CK.SCP.Models.Enums
{
public enum PartType
{
[Description("采购件")]
B = 0,
[Description("自制件")]
M = 1,
[Description("客户指定")]
D = 2,
[Description("客户指定国外")]
DN = 21,
[Description("客户指定国内")]
DY = 22,
[Description("委外件")]
S = 3,
[Description("管理公司采购件")]
Y = 4
}
}

23
北京北汽/CK.SCP.Models/Enums/PlanDayState.cs

@ -0,0 +1,23 @@
using System.ComponentModel;
namespace CK.SCP.Models.Enums
{
public enum PlanDayState
{
[Description("取消")]
Cancelled = -1,
[Description("新建")]
New = 0,
[Description("提交")]
Handling = 1,
[Description("已分配工单")]
Assigned = 2,
[Description("禁止自动分配工单")]
AssignDisable = 3,
[Description("完成")]
Finished = 4,
[Description("失败")]
Failed = 5,
}
}

144
北京北汽/CK.SCP.Models/Enums/PlanState.cs

@ -0,0 +1,144 @@
using System;
using System.ComponentModel;
namespace CK.SCP.Models.Enums
{
public enum PlanState
{
[Description("新建")]
New = 0,
[Description("发布")]
Release = 1,
[Description("已确认")]
Confirm = 2,
[Description("已发货")]
Ship = 3,
[Description("已收货")]
Receive = 4,
[Description("已完成")]
Complete = 5,
[Description("强制完结")]
CompleteForce = 6,
[Description("已作废")]
Reject = -1,
}
/* public class F_StatePlan
{
public static int New = 0;
public static int Release = 1;
public static int Confirm = 2;
public static int Ship = 3;
public static int Receive = 4;
public static int Complete = 5;
public static int CompleteForce = 6;
public static int Reject = -1;
public static string GetName(object State)
{
string ret = "";
if (Convert.ToInt32(State) == New) ret = "新建";
if (Convert.ToInt32(State) == Release) ret = "发布";
if (Convert.ToInt32(State) == Confirm) ret = "已确认";
if (Convert.ToInt32(State) == Ship) ret = "已发货";
if (Convert.ToInt32(State) == Receive) ret = "已收货";
if (Convert.ToInt32(State) == Complete) ret = "已完成";
if (Convert.ToInt32(State) == CompleteForce) ret = "强制完结";
if (Convert.ToInt32(State) == Reject) ret = "已作废";
return ret;
}
}
public class F_StateShip
{
public static int New = 0;
public static int Ship = 1;
public static int Receive = 2;
public static int Reject = -1;
public static string GetName(object State)
{
string ret = "";
if (Convert.ToInt32(State) == New) ret = "新建";
if (Convert.ToInt32(State) == Ship) ret = "已发货";
if (Convert.ToInt32(State) == Receive) ret = "已收货";
if (Convert.ToInt32(State) == Reject) ret = "已作废";
return ret;
}
}
public class F_StateReceive
{
public static int Receive = 0;
public static int Check = 1;
public static int Invoice = 2;
public static string GetName(object State)
{
string ret = "";
if (Convert.ToInt32(State) == Receive) ret = "已收货";
if (Convert.ToInt32(State) == Check) ret = "审核通过";
if (Convert.ToInt32(State) == Invoice) ret = "已开票";
return ret;
}
}
public class F_StateReceiveType
{
public static int Receive = 1;
public static int Return = 2;
public static string GetName(object State)
{
string ret = "";
if (Convert.ToInt32(State) == Receive) ret = "收货单";
if (Convert.ToInt32(State) == Return) ret = "退货单";
return ret;
}
}
public class F_StateInvoice
{
public static int New = 0;
public static int Apply = 1;
public static int CheckFail = 2;
public static int CheckSuccess = 3;
public static int Mail = 4;
public static int FinanceReceive = 5;
public static int FinanceFail = 6;
public static int Reject = -1;
public static string GetName(object State)
{
string ret = "";
if (Convert.ToInt32(State) == New) ret = "新建";
if (Convert.ToInt32(State) == Apply) ret = "供应商申请";
if (Convert.ToInt32(State) == CheckFail) ret = "采购审核退回";
if (Convert.ToInt32(State) == CheckSuccess) ret = "采购审核通过";
if (Convert.ToInt32(State) == Mail) ret = "发票寄出";
if (Convert.ToInt32(State) == FinanceFail) ret = "财务退回";
if (Convert.ToInt32(State) == FinanceReceive) ret = "财务收票";
if (Convert.ToInt32(State) == Reject) ret = "发票作废";
return ret;
}
}*/
}

16
北京北汽/CK.SCP.Models/Enums/PortalType.cs

@ -0,0 +1,16 @@
using System.ComponentModel;
namespace CK.SCP.Models.Enums
{
public enum PortalType
{
[Description("客户端")]
WinForm = 0,
[Description("网站")]
Web = 1,
[Description("手持")]
Pda = 2,
[Description("其它")]
Other = 3,
}
}

12
北京北汽/CK.SCP.Models/Enums/PrintType.cs

@ -0,0 +1,12 @@
using System.ComponentModel;
namespace CK.SCP.Models.Enums
{
public enum PrintType
{
[Description("直接打印")]
Print=0,
[Description("打印预览")]
PrintPreview=1
}
}

15
北京北汽/CK.SCP.Models/Enums/Project.cs

@ -0,0 +1,15 @@
using System.ComponentModel;
namespace CK.SCP.Models.Enums
{
public enum Project
{
[Description("CKPT")]
X261CC = 0,
[Description("DP")]
X261CDC = 1,
[Description("CNSL")]
X261CCC = 2,
}
}

16
北京北汽/CK.SCP.Models/Enums/ProjectName.cs

@ -0,0 +1,16 @@
namespace CK.SCP.Models.Enums
{
public enum ProjectName
{
,
,
,
,
,
,
,
,
,
}
}

12
北京北汽/CK.SCP.Models/Enums/ReceiveBillType.cs

@ -0,0 +1,12 @@
using System.ComponentModel;
namespace CK.SCP.Models.Enums
{
public enum ReceiveBillType
{
[Description("收货单")]
Receive = 1,
[Description("退货单")]
Reject = 2,
}
}

14
北京北汽/CK.SCP.Models/Enums/ReceiveState.cs

@ -0,0 +1,14 @@
using System.ComponentModel;
namespace CK.SCP.Models.Enums
{
public enum ReceiveState
{
[Description("已收货")]
Receive = 0,
[Description("审核通过")]
Check = 1,
[Description("待开票")]
Invoice = 2,
}
}

32
北京北汽/CK.SCP.Models/Enums/ResultCode.cs

@ -0,0 +1,32 @@
using System.ComponentModel;
namespace CK.SCP.Models.Enums
{
public enum ResultCode
{
[Description("成功")]
Success = 0,
[Description("警告")]
Warning = 1,
[Description("连接错误")]
ErrorConnection = 1001,
[Description("未找到数据")]
DataNotFound = 2001,
[Description("数据已存在")]
DataAlreadyExist = 2002,
[Description("数据状态错误")]
DataStateError = 2003,
[Description("数量错误")]
DataQtyError=2004,
[Description("发现新零件")]
NewCustPart = 4001,
[Description("系统错误")]
Exception=-1,
[Description("数据校验失败")]
DbEntityValidationException=-2,
[Description("库存不足")]
StockNotEnough,
}
}

52
北京北汽/CK.SCP.Models/Enums/ServiceType.cs

@ -0,0 +1,52 @@
namespace CK.SCP.Models.Enums
{
public enum ServiceType
{
GetConfigList,
GetWhseList,
GetAreaList,
GetGroupList,
GetLocList,
GetPartList,
GetVendPartList,
GetCustPartList,
GetSupplierList,
GetCustomerList,
GetShiftList,
GetTeamList,
GetWorklineList,
GetBomList,
GetBarcode,
GetLocByLocCode,
GetPartByPartCode,
GetPartByErpPartCode,
GetCustPartByCustPartCode,
GetPoByCode,
GetAsnByCode,
GetProducePlanByCode,
GetSoByCode,
GetEqptByCode,
GetStock,
GetStockList,
GetBill,
GetBillList,
GetSourceBill,
AddBill,
StartBill,
InventoryLoc,
FinishBill,
GetInventoryLoc,
GetStockDetailList,
CancelBill,
GetOtscById,
GetPdaPowerMenu,
GetSubBillTypeList,
UnlockLoc
}
}

16
北京北汽/CK.SCP.Models/Enums/ShipState.cs

@ -0,0 +1,16 @@
using System.ComponentModel;
namespace CK.SCP.Models.Enums
{
public enum ShipState
{
[Description("新建")]
New = 0,
[Description("已发货")]
Ship =1,
[Description("已收货")]
Receive = 2,
[Description("已作废")]
Reject = -1,
}
}

18
北京北汽/CK.SCP.Models/Enums/StockState.cs

@ -0,0 +1,18 @@
using System.ComponentModel;
namespace CK.SCP.Models.Enums
{
public enum StockState
{
[Description("待检")]
Inspect=0,
[Description("合格")]
Valid = 1,
[Description("不合格")]
InValid = 2,
[Description("过期")]
Overdue = 3,
[Description("待判定")]
Hold = 4,
}
}

11
北京北汽/CK.SCP.Models/Enums/StockWhereType.cs

@ -0,0 +1,11 @@
namespace CK.SCP.Models.Enums
{
public enum StockWhereType
{
BarCode,
LocCode,
BarCodeAndLocCode,
EqptCode,
PartCode
}
}

26
北京北汽/CK.SCP.Models/Enums/StopLineType.cs

@ -0,0 +1,26 @@
using System.ComponentModel;
namespace CK.SCP.Models.Enums
{
/// <summary>
/// 停线类型。也就是停线原因。
/// </summary>
public enum StopLineType
{
[Description("质量问题")] QA = 1,
[Description("设备问题")] EQ = 2,
[Description("缺料")] Mat = 3,
[Description("工艺设计问题")] ProcessDesign = 4,
}
/// <summary>
/// 停线事故等级。枚举值必须从小到大排列.以后要改的话,必须注意。要逐级触发系统动作的。
/// </summary>
public enum StopLineLevel
{
[Description("轻度")] Minimum = 100,
[Description("一般")] Commonly = 200,
[Description("严重")] Serious = 300,
[Description("重大")] Weighty = 400,
}
}

32
北京北汽/CK.SCP.Models/Enums/StoreArea.cs

@ -0,0 +1,32 @@
using System.ComponentModel;
namespace CK.SCP.Models.Enums
{
public enum StoreArea
{
[Description("原料库")]
RAW=11,
[Description("线边库")]
WIP=21,
[Description("成品库")]
FG=12,
[Description("销售库")]
SALE=13,
[Description("隔离库")]
HOLD=22,
[Description("在途库")]
ROAD=14,
[Description("其它库")]
OTHER=15,
[Description("废品库")]
SCRAP=23,
[Description("半成品库")]
HF=16,
[Description("待检库")]
INSPECT=0,
[Description("委外库")]
OS = 17,
[Description("备品库")]
AST
}
}

56
北京北汽/CK.SCP.Models/Enums/SubBillType.cs

@ -0,0 +1,56 @@
using System.ComponentModel;
namespace CK.SCP.Models.Enums
{
public enum SubBillType
{
//其它出入库-出库
[Description("其它出库")]
OtherOut = 30101,
//[Description("原料退货")]
//ReturnToSupplier=30102,
[Description("盘盈单")]
InventoryProfit = 30103,
[Description("报废销毁")]
ScrapDestroy=30104,
//其它出入库-入库
[Description("其它入库")]
OtherIn = 30111,
//[Description("销售退货")]
//ProductReturn=30112,
[Description("盘亏单")]
InventoryLoss=30113,
//其它出入库-移库
[Description("成品隔离")]
ProductUndecide = 30131,
//[Description("成品返修")]
//ProductRepair = 30132,
[Description("成品报废")]
ProductScrap = 30133,
//[Description("生产退库")]
//BackToStore = 30134,
//移库
[Description("移库单")]
StockMove = 30201,
[Description("原料入库单")]
MaterialStockIn = 30202,
[Description("成品入库单")]
ProductStockIn = 30203,
[Description("成品出库单")]
ProductStockOut = 30204,
[Description("原料出库单")]
PartPickFact = 30205,
//采购收货
[Description("订单收货单")]
PoReceive = 10101,
[Description("ASN收货单")]
AsnReceive = 10102,
}
}

10
北京北汽/CK.SCP.Models/Enums/UniApiState.cs

@ -0,0 +1,10 @@
namespace CK.SCP.Models.Enums
{
public enum UniApiState
{
= 0,
= 1,
= 2,
= 9,
}
}

17
北京北汽/CK.SCP.Models/Enums/UniApiType.cs

@ -0,0 +1,17 @@
using System.ComponentModel;
namespace CK.SCP.Models.Enums
{
public enum UniApiType
{
[Description("订单")]
PO,
[Description("收货")]
Receive,
[Description("条码")]
BarCode,
[Description("发票")]
Invoice,
}
}

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save