CSFrameworkV6开发框架打造塑木地板新材料行业ERP系统
广东邦英新材料有限公司ERP系统(Bongywood ERP)是一套面向新材料行业的 Windows 桌面企业管理软件,基于 CSFrameworkV6.1 旗舰版快速开发框架构建,覆盖销售、采购、库存、生产、财务、人力资源、报表中心与系统管理八大业务域。本文从技术栈与功能模块两个维度,介绍这套系统的实现方案。
目录
一、项目背景
新材料行业的生产组织方式介于化工与离散制造之间:既有挤出、造粒等连续工艺环节,又需要按客户订单进行批号、交期与成本核算管理。邦英 ERP 围绕这一业务特征,以「材料 / 产品双口径」为主线组织库存与单据体系,销售发货、采购入库、材料出库、生产计划、挤出登记等单据均围绕物料编码(ProductCode)贯通,最终形成从接单到出库、从对账到收付款的完整闭环。
系统采用 MDI 多文档界面,主窗体按业务模块组织导航,各模块以独立项目程序集承载,便于按客户授权范围裁剪与增量升级。
二、技术栈
1、开发框架与运行环境
| 层次 | 选型 | 说明 |
|---|---|---|
| 开发框架 | CSFrameworkV6.1 旗舰版 | 提供窗体基类、Bridge 数据通道、ORM 映射、权限、多语言、报表等基础设施 |
| 运行平台 | .NET 8(net8.0-windows) | Windows 桌面应用,WinExe 输出 |
| 界面技术 | WinForms + DevExpress 22.1 | GridControl / XtraEditors 等控件,皮肤样式可由用户配置 |
| 数据访问 | Entity Framework Core 8.0.6 + CSFramework.EF 封装 | 支持 SQL Server(主)、Oracle、MySQL 多数据库提供程序 |
| 报表组件 | FastReport.Net | 40 余张业务报表与单据打印模板,支持用户自定义报表 |
| 部署形态 | ADO 直连 / WebApi 双通道 | 启动时由 BridgeFactory 决定通道,业务代码无感知 |
| 工程规模 | 21 个项目,约 1,258 个 .cs 文件 | 解决方案 XQ-Bongywood-NET8.sln |
2、分层架构与解决方案结构
系统沿用框架标准的接口层—业务层—数据层—模型层四层划分,业务模块各自独立成程序集:
CSFrameworkV6.Main ★ 入口 EXE (WinExe)
CSFrameworkV6.Models 实体模型层(约 399 个文件)
CSFrameworkV6.Business 业务逻辑层(BLL)
CSFrameworkV6.DataAccess 数据访问层(DAL)
CSFrameworkV6.Interfaces 接口/契约层(Bridge)
CSFrameworkV6.Common 公共工具类
CSFrameworkV6.Library 共享 UI 框架库(frmBase 等)
CSFrameworkV6.Language 多语言支持
CSFrameworkV6.WebApiClient Web API 客户端(HTTP 通道)
CSFrameworkV6.DataDictionary 数据字典/基础资料
CSFrameworkV6.SalesModule 销售模块
CSFrameworkV6.PurchaseModule 采购模块
CSFrameworkV6.InventoryModule 库存模块(最大的业务模块)
CSFrameworkV6.ProductionModule 生产模块
CSFrameworkV6.FinancelModule 财务模块
CSFrameworkV6.HumanResource 人力资源
CSFrameworkV6.ReportModule 报表模块
CSFrameworkV6.SystemModule 系统管理
CSFrameworkV6.Home 首页仪表盘
CSFrameworkV6.UserCustom 用户自定义扩展
窗体侧统一继承框架基类:frmBaseBusinessForm(业务单据:汇总 Grid + 明细 Grid + 编辑 Panel + 工具条)与 frmBaseDataDictionary(基础资料单表编辑),新增单据时只需继承并配置数据容器即可,界面交互与工具栏按钮由基类统一接管。
3、双通道数据访问(Bridge 模式)
框架在启动时通过 BridgeFactory.InitializeBridge() 确定数据通道,ADO Direct 模式下 DAL 类直连数据库,WebApi 模式下由 WebApiClient 通过 HTTP 调用后端服务;两种模式实现相同的 IBridge_* 接口,切换对业务代码完全透明。
配合 DalFactory.RegistAssembly() 反射扫描带 ORM 映射特性的 DAL 类,建立「ORM 类型 → DAL 类型」映射表:
[DefaultORM_UpdateMode(typeof(tb_SO), true)]
public class dal_SO_Product : dalBaseBusiness { ... }
同时由 DatabaseProvider 区分「系统数据库」(共享元数据)与「账套数据库」(公司业务数据),以 Loginer.CurrentUser.DBID 定位当前操作库,天然支持多公司、多账套。
4、主从单据与数据字典基类
业务单据统一走 BusinessData<TMaster, TDetail> 主从数据容器,经 bllBaseBusiness<TM,TD> → dalBaseBusiness 落地;基础资料则走 bllBaseDataDict<T> / dalBaseDataDict<T> 单表泛型基类。所有实体统一使用 isid(Snowflake 主键)、CreatedBy / CreationDate、LastUpdatedBy / LastUpdateDate、FlagApp(审批状态)、FlagPeriod(期末结账锁定)等公共字段,审计与月结控制由基类统一处理。
以「禁用物料检测」这类跨单据业务规则为例,只需要在基类提供一个方法,各单据在保存与审核两个入口各自调用一次即可完成全库覆盖:
// 保存时:拦截录入已禁用物料(含修改模式下新增的明细行)
if (isAdd)
{
AssertStopProducts(data.Details.Select(s => s.ProductCode).Distinct().ToList());
}
if (listAdded.Count > 0)
{
AssertStopProducts(listAdded.Select(s => s.ProductCode).Distinct().ToList());
}
// 审核时:拦截「录入时未禁用、之后被停用」的单据
if (input.Type == ApprovalType.Approval)
{
AssertStopProducts(q_INs.Select(s => s.ProductCode).Distinct().ToList());
}
三、主要功能模块
1、模块功能一览
| 模块 | 主要窗体 / 单据 | 功能描述 |
|---|---|---|
| 销售管理 | frmSO 销售订单、frmDO 发货单、frmSR 销售退货 | 销售订单录入与审核、发货出库、销售退货处理,支持订单交期跟踪、金额与数量汇总,订单执行状态可穿透查询至出入库流水 |
| 采购管理 | frmPR 请购单、frmPO 采购订单 | 请购申请转采购订单、供应商价格策略与比价、交期回复(供应商交期 / 回复 PMC 交期)、采购入库进度追踪 |
| 库存管理 | frm_IN_Product / frm_IN_Material 入库单、frm_IO_Material 出库单、frm_IA_Product / frm_IA_Material 调整单、frm_IC_Product / frm_IC_Material 盘点单、frm_Inventory_* 库存余额、frm_InventoryLog_* 流水追溯、frm_Inventory_InOutFIFO、frm_Location 库位 | 材料与产品双口径库存管理;入库、出库、调整、盘点四类单据覆盖全部库存变动场景;FIFO 先进先出核算与出库成本追溯;库位管理与批号跟踪;盘点盈亏自动生成调整数据;库存流水可按单据号反向追溯 |
| 生产管理 | frm_PFPlan 生产计划、frmPFSummary 生产汇总、frmProcess 工序、frm_ExtrusionReg 挤出登记 | 生产计划下达与明细展开、按计划维度汇总产出与进度、工序与工艺路线定义;挤出登记贴合新材料行业挤出工艺,记录机台、班次、工艺参数与产出明细 |
| 财务管理 | frmAR 应收账款、frmAP 应付账款、frm_VF 预付款核销、frm_IV_Customer 客户对账单、frm_IV_Supplier 供应商对账单、frmAccountItem 会计科目、frmQueryOutstandingDlg 未结款项查询 | 应收应付登记与核销、预付款按单据核销、客户 / 供应商对账单生成与确认、往来余额与未结款项查询、账龄与收付款计划跟踪 |
| 基础资料 | frmCustomer 客户、frmSupplier 供应商、frmProduct 产品 / 物料、frmProductCategory 分类、frmProductCustomer 客户物料对照、frmUnit 单位、frm_Currency 币种、frm_Car 车辆、frmCommonDataDict 通用数据字典、Excel 批量导入 | 客户、供应商、产品主数据维护,物料停用(IsStopUse)标记与价格策略;单位、币种、车辆等辅助资料;通用数据字典支撑下拉项自定义;支持 Excel 批量导入客户、产品、供应商 |
| 人力资源 | frm_Employee 员工档案、frm_EmployeeContract 劳动合同、frm_EmployeEvaluation 绩效考核、frm_EmployeRewards 奖惩记录、frm_EmployeTraining 培训记录、frm_EmployeSalaryAdjustment 调薪、frm_EmployePositionAdjustment 岗位异动 | 员工档案与合同管理,全任职周期的考核、奖惩、培训、调薪、异动记录留痕,形成完整人事档案链 |
| 报表中心 | ReportSO / PO / PR / DO / IN / IO / SR / PFPlan / ET 等 40 余张报表窗体,frmPreview 预览、frmBasePrint 打印、frmUserCustomReport 自定义报表 | 基于 FastReport.Net 的单据打印与业务报表;覆盖订单明细汇总、出入库明细、订单交期与出入库追溯、应收应付汇总与账龄、客户利润分析等;支持用户自定义报表与打印格式配置 |
| 系统管理 | frmUser / frmRole 用户与角色权限、frmOrganization 组织架构、frmSystemSettings 系统参数、frmDocNoRule 单据编号规则、frmDocType 单据类型、frmLogViewer 日志查看、frmLanguageData 多语言、frmDatabaseBackup 数据备份、frmDatasetManager 账套管理、frmReportManager 报表配置、frmMessageBroadcast 消息广播 | 功能权限与数据权限控制、系统参数集中配置、单据编号规则自定义、操作日志审计、中英文多语言切换、数据库备份与账套管理、报表模板在线配置、系统消息广播 |
| 首页看板 | frmModuleMain(首页仪表盘) | 登录后进入的经营数据概览与待办事项汇总,按角色聚合待审核单据、交期预警与关键经营指标 |
2、单据与实体命名规范
为让 21 个项目的协作保持统一,系统沿用框架的实体命名约定,从名称即可判断对象性质:
| 前缀 | 含义 | 示例 |
|---|---|---|
| dt_ | 数据字典 / 基础资料(单表) | dt_Customer、dt_Supplier、dt_Product |
| tb_ | 业务单据表(主从结构) | tb_SO / tb_SOs、tb_PO / tb_POs |
| sys_ | 系统表 | sys_CompanyInfo、sys_Language、sys_Log |
| req_ / res_ | 查询请求 / 响应模型 | req_SO、res_Inventory |
四、框架能力复用小结
回顾本项目的落地过程,CSFrameworkV6 快速开发框架带来的收益集中在四点:
1. 单据开发模板化。继承 frmBaseBusinessForm + BusinessData<TM,TD> 后,新增一张主从单据的工作量收敛为「建实体 → 写 DAL → 配窗体」,界面与工具条由基类接管。
2. 数据通道可切换。ADO Direct 与 WebApi 双通道共用同一套 IBridge_* 接口,从局域网直连迁移到集中式部署时,业务层无需改动。
3. 基础能力开箱即用。权限、多语言、日志、单据编号规则、系统参数、账套切换、自动升级、报表管理均由框架提供,项目只需要关注业务规则本身。
4. 公共字段与审计统一。isid / FlagApp / FlagPeriod 等公共字段与审批、月结控制内建在基类中,跨单据的业务规则(如禁用物料检测)可在基类一处实现、各单据按需调用。
了解更多 CSFrameworkV6 快速开发框架,请访问 C/S框架网。
CSFrameworkV6旗舰版|成功案例|塑料板材行业ERP系统|C/S开发框架
CSFrameworkV6旗舰版|成功案例|纸箱行业ERP系统|C/S开发框架
CSFrameworkV6旗舰版开发框架 | 集成软件授权认证系统|C/S开发框架
CSFrameworkV6旗舰版开发框架 | 集成软件授权认证系统|C/S开发框架
塑胶板材行业ERP系统软件开发平台(VS2022+C#+Winform)
喜鹊软件 - 塑料板材行业ERP系统管理软件(v2023版)
ERP/MES系统通用快速开发平台(VS2022+C#+EF)
C/S快速开发框架|旗舰版V5.1客户案例 | 染厂ERP系统|C/S开发框架
CSFrameworkV6.0开发指南 | 新增系统参数(sys_SystemSettings表)|C/S开发框架
软件开发团队使用ERP系统快速开发框架的优势
Winform C/S结构与Web B/S结构开发MES/ERP系统优缺点及区别|C/S开发框架
羊毛衫针织行业ERP|库存模块系统详细设计说明书docx文件下载|软件文档
羊毛衫针织行业ERP|人事考勤管理系统详细设计说明书doc文件下载|软件文档
羊毛衫针织行业ERP|生产管理系统详细设计说明书docx文档下载|软件文档
润祥文化ERP系统详细设计说明书docx文件下载|软件文档
ERP钢铁钢材贸易管理系统详细设计说明书docx文档下载|软件文档
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
