一、立项背景和目标:服装/鞋帽制造行业存在款式多、尺码颜色组合复杂、物料种类繁杂、外发加工频繁、跟单信息分散等痛点。传统手工或Excel管理下,订单→采购→生产→仓储→发货→对账各环节信息割裂,进度难追踪,库存混乱,对账效率低,客户无法自助查询。心影ERP旨在以销售订单为核心驱动,打通从客户建档、样衣确认、采购物料、工厂生产、入库出库、发货物流到财务对账的全业务链路,实现数据一体化、进度可视化、财务自动化,并为客户提供只读自助门户降低沟通成本。
二、核心功能模块:系统共12大模块——基础资料(客户/供应商档案、尺码动态分类、颜色中英文、跟进类型/发货方式/合同条款自定义配置);产品管理(产品录入、BOM物料清单、面料辅料加工费用自动成本核算);订单及进度(样衣版本管理、销售订单9种动态跟进类型跟单、产品明细/工厂信息、发货信息统一模型);采购管理(采购单录入、合同审核锁定、合同模板动态化、采购与入库数量对比);辅料管理(分类/入库/出库,采购合同审核后才可入库);面料仓库(双虚拟仓:原始仓→检验出库→生产仓→再加工出库→销售出库,库存不足禁止出库,销售出库自动生成应收应付);成品发货申请(申请→审核→出库→生成应收,业务员数据隔离);成品服装管理(SKU按品级×颜色区分、撤销出入库联动财务单据、检验结果录入);财务管理(应收应付自动生成、收付款/发票/对账单、年度同比折线图与客户占比饼图);统计查询(20+维度);手机端查询;系统管理(RBAC权限、角色/管理员管理、授权管理)。
三、业务流程:核心闭环为"客户建档→样衣确认→销售订单创建→采购物料(面料/辅料采购单→合同审核)→面料入仓原始仓→检验出库→生产仓→辅料入库→成品入库(按SKU)→发货申请→审核→成品出库(扣库存+生成应收)→发货物流→财务结算(应收应付→收付款→发票→对账单)"。客户门户为英文只读门户,提供订单查询、7类跟单进度查看、发货物流查询,不支持自助下单/对账/付款。
一、整体架构:采用DDD领域驱动设计分层架构,5个项目单向依赖——表现层(WeShare.UserInterface):ASP.NET Core 3.1 MVC+Web API,前端jQuery+Bootstrap+layer+select2+bootstrap-table,Swagger接口文档,Quartz.NET定时任务宿主;应用层(WeShare.Application):53个应用服务,AutoMapper对象映射;领域层(WeShare.Domain):160+实体类、仓储接口、DTO;基础设施层(WeShare.Infrastructure):SqlSugar ORM+MySQL,JWT鉴权,NLog日志,快递鸟物流API,微信退款,RSA授权校验,自定义ActionFilter(权限/日志/异常/模型校验);基础层(WeShare.Core):通用工具、ILicenseValidator抽象、机器码生成、在线用户追踪。部署方案为Docker容器化+Nginx反向代理,支持一键部署脚本和多实例部署。
二、我的负责模块和结果:1)沿用已有DDD五层架构,在其基础上完成160+实体、53个应用服务、134个后台控制器+5个客户门户控制器的开发;2)销售订单核心模块:订单全生命周期管理,9种动态跟进类型,产品明细/工厂信息多行录入,业务员数据隔离;3)仓储出入库模块:面料双虚拟仓流转模型,成品SKU管理,撤销出入库联动(删除财务单据+调整库存+重置采购单状态+库存日志),库存不足禁止出库校验;4)财务自动化:出入库自动生成应收应付,销售出库支持加价,统计含同比折线图与占比饼图;5)RBAC权限系统:菜单+按钮级权限,PermissionsFilter三级匹配,角色权限缓存;6)License授权体系:机器码生成+RSA签名校验+在线校验+离线宽限+开发/生产授权分级;7)客户门户英文只读门户,ticket凭证24h有效;8)Quartz持久化调度;9)一键Docker部署脚本+代码混淆+部署/用户手册。
三、遇到的难点与解决方案:1)面料双虚拟仓撤销联动——出入库记录标记仓类型,撤销时按反方向调整双仓库存并写入变更日志,成品撤销在事务内级联操作(删除财务单据+调整库存+重置采购单状态+库存日志)保证一致性;2)RBAC细粒度权限与特殊映射——同一Controller下不同页面需独立权限控制,引入PermissionAttribute标注FunName、PermissionActionAttribute标注ActionType、funParams参数区分页面实例,在PermissionsFilter中实现三级匹配逻辑,并增加特殊映射区域处理检验回仓、销售出库等跨模块场景。