1. 系统需求
- 可以维护商品信息库,采购进货单可以从中选择商品,销售出货从库存中选择商品;
- 采购进货和销售出货支持月结和现金结算,月结的单据需要与客户和供应商对账单;
- 采购和销售需支持退货;
- 提供库存查询、进出退货明细、利润表等报表功能;
- 支持单机桌面版和云Web版。
2. 功能模块
- 基础数据:包含数据字典、组织结构、商品信息、供应商、客户管理。
- 进货管理:包含采购进货单、采购退货单。
- 销货管理:包含销售出货单、销售退货单。
- 库存管理:包含商品库存查询。
- 财务管理:包含客户对账单、供应商对账单。
- 统计报表:包含进货明细表、进退货明细表、销货明细表、销退货明细表、商品利润表。
- 系统管理:包含角色管理、用户管理、系统附件、系统日志。
3. 项目结构
├─JxcLite -> 包含配置、常量、枚举、模型、服务接口、路由、页面。 |
├─JxcLite.Core -> 后端类库,包含实体、业务逻辑、数据访问。 |
├─JxcLite.Wasm -> 项目WebAssembly,Auto模式前端程序。 |
├─JxcLite.Web -> 项目Web App,云Web程序。 |
├─JxcLite.WinForm -> 项目WinForm App,单机桌面程序。 |
├─JxcLite.sln -> 项目解决方案文件。 |
4. 框架搭建
打开VS2022创建一个空的解决方案JxcLite.sln,然后再添加各个项目。
4.1. JxcLite项目
- 添加
JxcLite类库,引用Known 3.*,工程文件如下:
<Project Sdk="Microsoft.NET.Sdk.Razor"> |
<ItemGroup> |
<PackageReference Include="Known" Version="3.*" /> |
</ItemGroup> |
</Project> |
├─wwwroot -> 静态文件夹,包含css、img、js,桌面和Web共用资产。 |
├─Apps -> 移动端页面文件夹。 |
├─Models -> 前后端数据交互模型文件夹。 |
├─Pages -> PC端页面文件夹。 |
├─Services -> 前后端数据交互服务接口和Http客户端文件夹。 |
├─Shared -> 模块共享组件文件夹。 |
├─_Imports.razor -> 全局命名空间引用文件。 |
├─AppConfig.cs -> 系统配置类。 |
├─AppConstant.cs -> 系统所有常量类文件。 |
├─AppEnums.cs -> 系统所有枚举文件。 |
├─AppModule.cs -> 系统一级模块配置类。 |
├─Routes.razor -> 系统路由组件。 |
4.2. JxcLite.Core项目
- 添加
JxcLite.Core类库,引用JxcLite项目和Known.Core 3.*等库,工程文件如下:
<Project Sdk="Microsoft.NET.Sdk"> |
<ItemGroup> |
<PackageReference Include="Known.Cells" Version="1.*" /> |
<PackageReference Include="Known.Core" Version="3.*" /> |
<ProjectReference Include="..\JxcLite\JxcLite.csproj" /> |
</ItemGroup> |
</Project> |
├─Entities -> 实体类文件夹。 |
├─Extensions -> 后端业务扩展类文件夹。 |
├─Imports -> 数据导入类文件夹。 |
├─Repositories -> 数据访问类文件夹,SQL语句都写在此处。 |
├─Services -> 业务逻辑服务实现类文件夹。 |
├─_Imports.cs -> 全局命名空间引用文件。 |
├─AppCore.cs -> 后端配置类。 |
4.3. JxcLite.Wasm项目
- 添加
JxcLite.Wasm类库,引用JxcLite项目和WebAssembly等库,工程文件如下:
<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly"> |
<ItemGroup> |
<ProjectReference Include="..\JxcLite\JxcLite.csproj" /> |
</ItemGroup> |
</Project> |
- 该项目只有一个Wasm程序入口文件
Program.cs
├─Program.cs -> Wasm程序入口。 |
4.4. JxcLite.Web项目