Known框架实战演练——进销存框架搭建
本文介绍如何使用Known开发框架搭建进销存管理系统的项目结构,以及开发前的一些配置和基础代码。
- 项目代码:JxcLite
- 开源地址:
https://gitee.com/known/JxcLite
1. 创建项目结构
使用cmd命令工具,进入
D:\Publics\JxcLite
目录,先安装Known框架项目模板,再用命令创建项目结构。两个命令如下:
dotnet new install KnownTemplate
dotnet new known --name=JxcLite
命令执行成功后,该文件夹下面自动生成JxcLite项目文件,项目文件结构如下:
├─JxcLite -> 项目模块类库。
├─JxcLite.Client -> 项目前端页面类库。
├─JxcLite.Web -> 项目后端业务逻辑类库。
├─JxcLite.WinForm -> 项目WinForm App。
├─JxcLite.sln -> 项目解决方案文件。
双击打开
JxcLite.sln
文件,即可通过VS2022开发工具修改和添加系统项目文件。
2. 开发前准备
2.1. 配置数据库
本项目默认使用Known框架模板提供的
SQLite
数据库,如果要更改其他数据库,请参考官方文档
更换数据库
。
2.2. 配置系统名称
用VS2022打开项目后,双击
JxcLite
项目中的
AppConfig.cs
文件,修改系统名称。代码如下:
public static class AppConfig
{
public static string AppName => "进销存管理系统";
}
2.3. 配置系统扩展按钮
双击
JxcLite
项目中的
Resources\actions.txt
资源文件,在此扩展Known框架提供的功能按钮信息,例如本项目除增删改查导按钮之外,还需要退货、确认、开票、回款按钮。
Return | 退货 | rollback | primary
Confirm | 确认 | check | primary
Invoice | 开票 | profile | primary
Payment | 回款 | pay-circle | primary
2.4. 配置多语言
如果项目需要多语言,双击打开
JxcLite
项目中的
AppConfig.cs
文件,在
AddJxcLite
方法中修改多语言设置,代码如下:
public static class AppConfig
{
public static void AddJxcLite(this IServiceCollection services)
{
services.AddKnown(info =>
{
...
info.IsLanguage = true;
...
});
}
}
在
JxcLite
项目中的
Resources\Locales
文件夹下修改对应语言的资源文件,资源文件为
Dictionary
对象的JSON数据,内容如下所示:
//简体中文
{
"Menu.BasicData": "基础数据",
"GoodsInfo": "商品信息",
}
//English
{
"Menu.BasicData": "Basic Data",
"GoodsInfo": "Goods Info",
}
2.5. 系统常量
系统常量包含商业伙伴类型(PartnerType)和业务单据类型(BillType),代码如下:
public class PartnerType
{
public const string Supplier = "供应商";
public const string Customer = "客户";
}
public class BillType
{
public const string Import = "进货";
public const string ImportReturn = "进退货";
public const string Export = "销货";
public const string ExportReturn = "销退货";
}
3. 安装运行
配置完成后,直接运行项目。第一次运行,需要先安装程序,填写企业信息和管理员密码,安装时,自动生成框架数据库表和示例数据。安装成功后,直接跳转到登录页面,输入Admin和安装时设置的管理员密码登录进入系统。
4. 配置数据字典
在
基础数据-数据字典
模块添加如下数据字典。
类别代码 | 类别名称 | 字典内容 |
---|---|---|
GoodsType | 商品类别 | 测试 |
Unit | 计量单位 | 个、千克 |
SettleMode | 结算方式 | 现金、微信、支付宝、对账 |
5. 配置功能菜单
下面我们根据需求文档整理好功能模块数据,在
系统管理-模块管理
中逐一添加进去,各模块数据表格如下:
一级模块 | 二级模块 | 代码 | 图标 | Url | 描述 |
---|---|---|---|---|---|
基础数据 | BaseData | database | |||
商品信息 | GoodsList | ordered-list | /bds/goods | 查询和维护商品信息。 | |
供应商管理 | SupplierList | usergroup-delete | /bds/suppliers | 查询和维护供应商信息。 | |
客户管理 | CustomerList | usergroup-add | /bds/customers | 查询和维护客户信息。 | |
进货管理 | Import | import | |||
采购进货单 | ImportList | unordered-list | /bms/ImportList | 查询和维护采购进货单信息。 | |
采购退货单 | ImportReturn | unordered-list | /bms/ImportReturn | 查询和维护采购退货单信息。 | |
销货管理 | Export | export | |||
销售出货单 | ExportList | unordered-list | /bms/ExportList | 查询和维护销售出货单信息。 | |
销售退货单 | ExportReturn | unordered-list | /bms/ExportReturn | 查询和维护销售退货单信息。 | |
库存管理 | Inventory | appstore | |||
商品库存表 | GoodsInventory | table | /wms/GoodsInventory | 查询和维护商品库存表。 | |
财务管理 | Finance | property-safety | |||
客户对账单 | CustomerAccount | unordered-list | /fms/CustomerAccount | 查询和维护客户对账单信息。 | |
供应商对账单 | SupplierAccount | unordered-list | /fms/SupplierAccount | 查询和维护供应商对账单信息。 | |
统计报表 | Report | line-chart | |||
进货明细表 | ImportDetail | table | /rms/ImportDetail | 查询进货明细表。 | |
进退货明细表 | ImportReturnDetail | table | /rms/ImportReturnDetail | 查询进退货明细表。 | |
销货明细表 | ExportDetail | table | /rms/ExportDetail | 查询销货明细表。 | |
销退货明细表 | ExportReturnDetail | table | /rms/ExportReturnDetail | 查询销退货明细表。 | |
商品利润表 | GoodsProfit | table | /rms/GoodsProfit | 查询商品利润表。 |