Admin.NET.Plugin.AiDOP S0 业务异常码。 第一版先覆盖长期使用中的高频业务失败场景。 S0 产销(Batch2)可单测的业务规则:与控制器中的赋值保持一致。 PriorityCode.OrderBy 源值:0 为倒序,否则为正序(与源平台列表 SQL 一致)。 将 Ai-DOP 种子菜单 Id 补写到 sys_tenant_menu / sys_role_menu。 解决:SysTenantMenuSeedData 带 IgnoreUpdateSeed,库已存在时新增菜单不会自动进租户/角色;多租户下仅补默认租户会导致其它租户侧栏与菜单管理不可见。 与框架种子中首条「系统管理员」角色 Id 一致。 将 S1「订单管理」「工单管理」升级为目录并修正 path/name; 「产销协同看板」单独菜单路径为 /aidop/s1/SalesKanBan; 「工单下达」父级须为工单管理目录 1322000000004(历史错误曾挂到 0005)。 与 Gitee Ai-DOP Demo 一致的分页参数规范化 AiDOP 插件常量 Swagger 分组显示名 路由模块段(动态 API 路径的一部分) 智慧运营看板基础查询下拉:产品、订单号、产线(来自 Demo 业务表;无租户列时忽略 tenant/factory)。 前处理要素参数(源平台 DevMonitor 子集;固定 CodeType='PrevProcess')。 生产线维护(LineMaster 语义,表 ado_s0_mfg_line_master)。 标准工序维护(StdOpMaster 语义,表 ado_s0_mfg_std_op_master)。 标准 BOM 行级维护(路线 A,复刻 ProductStructureMaster + ProductStructureOp)。 工单控制参数设置(WorkOrdControl):单记录配置表单。 S0 客户主数据(CustMaster 语义) S0 物料替代关系(ItemSubstituteDetail 语义) S0 物料主数据(ItemMaster 语义) S0 订单优先级配置(PriorityCode 语义) S0 选择替代方案(源平台 ic_substitute;只读查询模型) S0 货源清单(srm_purchase 语义,左联物料主数据展示) S0 供应商主数据(SuppMaster 语义) 按 Domain + PurContact 批量匹配库位主数据,填充 LocationName(与源平台 left join LocationMaster 一致)。 与 MySQL:TRIM(CONCAT(l.Location,' ',IFNULL(l.Descr,''))) 一致;无匹配时退回库位编码。 S0 条码规则主数据(BarCodeNbr 语义) S0 成本中心主数据(CostCtrMaster 语义) S0 部门主数据(DepartmentMaster 语义) S0 雇员主数据(EmployeeMaster 语义) S0 物料职责维护(EmpWorkDutyMaster 语义) S0 零件包装规格(ItemPackMaster 语义) S0 标签格式头表(BarCodeType 语义) S0 库位主数据(LocationMaster 语义) S0 货架主数据(LocationShelfMaster 语义) S0 单号规则主数据(NbrControl 语义) S0 单号类型主数据(NbrTypeMaster 语义) S0 物料状态任务指派(wms_rwzp 语义) 制造列表查询公共段:公司/工厂、keyword、isEnabled、分页。 S0 使用 pageNo 时可通过 绑定,控制器内取 EffectivePage。 与 Gitee Demo 一致的页码(默认 1)。 S0 PagedQuery.pageNo;若传入则优先于 标准工序主数据列表(StdOpMaster 语义)。 按标准工序名称(std_op)模糊过滤。 生产线主数据列表(LineMaster 语义)。 按生产线编码(line)模糊过滤。 SOP 维护(源平台 QualitySegmentImage):列表查询 列表须支持 elementCategory 过滤(§7 / 附录 F)。 标准 BOM 行级列表(ProductStructureMaster 路线 A)。 SOP 文件类型(源平台 ImageType):列表查询 生产要素参数(DevMonitor;固定 CodeType='Prod'):列表查询 固定为 Prod 物料工序生产要素(ItemOpCondition;固定 CodeType='Prod'):列表查询 固定为 Prod 人员技能维护(EmpSkills):列表查询。 工厂域(Domain) 人员编号(Employee) 工作组(Site) 技能编码(SkillNo) 工作中心(WorkCtrMaster):列表查询 生产线物料(ProdLineDetail):列表查询 工单控制参数设置(WorkOrdControl):按 Domain 查询单记录。 RecID → Id;存在则按 Id 更新。 标准 BOM 行维护 Upsert(含多工序号,对应 ProductStructureOp)。 多工序号(去重排序后落 ProductStructureOp)。 标准工艺路线明细行(RoutingOpDetail 复刻)Upsert。 产线岗位维护(LineSkillMaster):列表查询 匹配生产线/岗位编码/岗位描述 选择替代方案(ic_substitute)只读查询 源平台 company_id;为空则不按公司过滤。 源平台 factory_id;为空则不按工厂过滤。 替代方案编码(模糊匹配) 客户主数据启停(CustMaster / IsActive) 同时匹配客户编码、客户简称 物料主数据启停(ItemMaster / IsActive) 匹配物料编码、物料名称 订单优先级(PriorityCode / IsActive) 匹配名称、来源表、工单字段 value 0=倒序,非0=正序 供应商主数据启停(SuppMaster / IsActive) 同时匹配供应商编码、简称 物料编码 / 名称关键字 订单(看板基础查询用,对应旧版 ado_order 表) 工单(看板基础查询用,对应旧版 ado_work_order 表) 计划(看板基础查询用,对应旧版 ado_plan 表) 生产要素参数(源平台 DevMonitor;页面固定 CodeType='Prod')。 人员技能维护(源平台 EmpSkills:员工与技能关系表)。 通用码表(源平台 GeneralizedCodeMaster)。 用于提供 Op/Type 等字段的中文/描述展示(仅查询展示,不作为业务实体入口)。 SOP 文件类型(源平台 ImageType)。 物料工序生产要素(源平台 ItemOpCondition;页面固定 CodeType='Prod')。 生产线主数据(复刻 LineMaster)。 产线岗位技能明细(子表)。源平台子表结构待确认;当前以“岗位→人员技能主数据引用”占位实现。 产线岗位维护(源平台 LineSkillMaster 语义,头表)。 标准工艺路线明细(源平台 RoutingOpDetail 行级复刻,方案 A)。 生产线物料维护(源平台 ProdLineDetail)。 标准 BOM 行维护(复刻 ProductStructureMaster,路线 A)。 行上工序号(原平台 pm.Op),与 ProductStructureOp 多工序并存。 标准 BOM 行关联多工序(复刻 ProductStructureOp)。 SOP 维护(源平台 QualitySegmentImage)。 标准工序主数据(复刻 StdOpMaster)。 工作中心主数据(源平台 WorkCtrMaster)。 工单控制参数(WorkOrdControl 语义):按 Domain 维护的单记录配置。 客户主数据(复刻 CustMaster) 物料主数据(复刻 ItemMaster) 列表展示:库位+库位说明拼接(不落库;无 LocationMaster 时仅库位) 物料替代关系(源平台 ItemSubstituteDetail 行级复刻)。 订单优先级配置(复刻 PriorityCode) 源系统 OrderBy:0=倒序,非0=正序 列表展示:正序/倒序(不落库) 源平台 ic_substitute:替代方案(只读查询模型)。 注意:这是对既有业务表的映射,不代表新增业务实体表。 货源清单 / 物料采购报价(复刻 srm_purchase,左联物料主数据仅用于展示) 列表:物料编码(来自物料主数据,不落库) 列表:规格型号(来自物料主数据) 列表:订货单位(来自物料主数据) 列表:物料类型展示(默认原材料) 列表:物料编码+名称组合 列表:供应商名称+编码组合 供应商主数据(复刻 SuppMaster) 供应商库位(原 PurContact) 列表展示:库位+库位说明拼接(展示字段,不落库) 列表展示:对账周期1开始(展示字段,不落库) 列表展示:对账周期1结束(展示字段,不落库) 列表展示:对账周期2开始(展示字段,不落库) 列表展示:对账周期2结束(展示字段,不落库) 条码规则主数据(复刻 BarCodeNbr) 列表展示:供应商简称(不落库,来自 SuppMaster 关联) 标签格式头表(复刻 BarCodeType) 成本中心主数据(复刻 CostCtrMaster) 部门主数据(复刻 DepartmentMaster) 雇员主数据(复刻 EmployeeMaster) 列表展示:部门说明(不落库,来自 DepartmentMaster 关联) 列表展示:岗位名称(不落库,来自 GeneralizedCodeMaster 翻译) 物料职责主数据(复刻 EmpWorkDutyMaster) 列表展示:员工姓名(不落库) 列表展示:库位+说明(不落库) 列表展示:生产线+说明(不落库) 列表展示:职责中文翻译(不落库) 零件包装规格主数据(复刻 ItemPackMaster) 列表展示:物料名称(不落库,来自 ItemMaster.Descr) 列表展示:物料型号(不落库,来自 ItemMaster.Descr1) 库位主数据(复刻 LocationMaster,供供应商等模块左联展示) 货架主数据(复刻 LocationShelfMaster,从属于 LocationMaster 聚合) 列表展示:库位说明(不落库,来自 LocationMaster 关联) 列表展示:库位:货架 拼接(不落库) 单号规则主数据(复刻 NbrControl) 单号类型主数据(复刻 NbrTypeMaster) 列表展示:部门说明(不落库,来自 DepartmentMaster 关联) 物料状态任务指派(复刻 wms_rwzp) 提出日期(tcrq) 申请人(sqr) 任务类型(rwlx) 物料编码(wlbm) 数量(sl) 批次(rqpc) 原始库位(yskw) 目的库位(mdkw) 需求时间(xqsj) 处理人(clr) 备注(bz) 状态(zt) 列表展示:物料名称(不落库,来自 ItemMaster) 订单发货服务 🚚 路由前缀:/api/Order/asnshipper/... 获取订单发货分页列表 🚚 获取订单发货详情(含明细)🚚 保存订单发货(新增或编辑)🚚 明细三路合并(参照 SeOrderService.SaveEntriesAsync): ① DB有且入参有 → 更新 ② DB无入参有 → 新增 ③ DB有入参无 → 删除 删除发货单(状态非关闭才可删除)🚚 获取销售单下拉列表 🚚 获取客户下拉列表 🚚 获取部门下拉列表 🚚 合同评审服务 📋 路由前缀:/api/Order/contract/... 流程:意见评审(法律事务部→技术售前组→综合主计划→试验站)→意见反馈→二次评审→领导意见→合同盖章 获取合同评审分页列表 📋 获取合同评审详情(含流程节点)📋 保存合同评审(草稿新增或编辑)📋 删除合同评审(审批中不允许删除)📋 提交合同评审(初始化全部流程节点,启动第一个节点)📋 审批通过当前节点,自动推进到下一节点 📋 驳回当前节点,合同评审退回草稿 📋 更新流程节点的审批人账号/姓名(在提交前预填)📋 订单发货列表分页查询入参 发货单号(模糊) 销售单号(模糊) 部门(模糊) 发货日期 >= 此值 发货明细行入参 明细主键(编辑时传入,新增行为 null) 新增 / 编辑订单发货入参 发货单号 删除入参 合同评审列表分页查询入参 单据编号(模糊) 合同标题(模糊) 客户名称(模糊) 流程状态精确匹配:draft/reviewing/completed/rejected 新增 / 编辑合同评审入参 编辑时传入,新增时为 null 负责人账号 负责人姓名 项目开始日期(yyyy-MM-dd) 预计进单月份(yyyy-MM) 预计发货日期(yyyy-MM-dd) 删除合同评审入参 提交审批入参 审批通过入参 审批意见 审批人账号(不传则取当前登录账号) 审批人姓名(不传则取当前登录账号) 审批驳回入参 驳回原因 审批人账号(不传则取当前登录账号) 审批人姓名(不传则取当前登录账号) 更新流程节点审批人信息入参 审批人账号 审批人姓名 补填意见 订单交付列表分页查询入参 订单号(模糊) 客户编码(模糊) 物料编码(模糊) 客户交期 >= (yyyy-MM-dd) 交付进度(精确:1~7) 价值流顶部基础信息 Tab1 订单信息 Tab2 订单评审主体 Tab2 变更记录子表 Tab3 计划排程 Tab4 物料需求 Tab5 采购订单 Tab5 采购申请 Tab5 物料交货单 Tab6 生产备料 Tab7 生产报工 Tab7 IQC信息 Tab8 FQC信息 Tab8 生产入库 Tab8 成品发运 1=常规 2=非标 父行 Id;null/0 为根;新建行可用负数临时 Id,保存时解析 1=常规 2=非标 订单列表分页查询入参 订单号(模糊) 客户编码(模糊) 状态:新建 / 评审 / 确认 订单类别:1=销售 2=计划 关键词分页查询(客户 / 物料弹窗) 订单明细行入参 明细主键(编辑时传入,新增行为 null) 新增 / 编辑销售订单入参 签订日期(yyyy-MM-dd) 变更申请保存入参 销售订单评审业务操作日志(写入 sys_log_op) 操作人用户 Id 操作说明,如:新增订单、修改订单 业务表名(展示用) 业务主键,一般为订单 Id 可读摘要(含变动前后说明) 变动前快照 JSON(可选) 变动后快照 JSON(可选) 出货计划列表分页查询入参 客户订单号(模糊) 订单编号(模糊) 国家(精确) 出货日期 >= 此值 客户编码(模糊) 物料编号(模糊) 出货计划明细行入参 明细主键(编辑时传入,新增行为 null) 关联订单行 ID(crm_seorderentry.Id,雪花 ID 以字符串传输) 新增 / 编辑出货计划入参 销售出库入参 勾选行的主表 id(逗号分隔) 销售发货明细表(ASNBOLShipperDetail) 货运单号(关联主表 Id) 升降序标识(关联主表 RecID) 销售发货主表(ASNBOLShipperMaster) 货运单号 销售出货类型(SH=发货) 输入类型(S=子类型,过滤用) 合同评审主表(ado_contract_review) 单据编号(业务主键,格式 CRyyyyMMxxxx) 合同标题 客户名称 客户编号 销售公司 销售区域 项目编号 CRM机会编号 负责人账号 负责人姓名 项目开始日期 当前审批阶段(0=草稿, 1~5=各环节) 当前审批部门 项目孵化状态 项目成单概率 预计进单月份 预计发货日期 项目需求说明 备注 流程状态:draft/reviewing/completed/rejected 合同评审流程节点表(ado_contract_review_flow) 与主表通过 ReviewRecID(主键关联)和 ReviewBillNo(业务编号关联)双字段关联 关联主表 RecID(主键关联) 关联主表 BillNo(业务编号关联) 审批环节编号(1=意见评审, 2=意见反馈, 3=二次评审, 4=领导意见, 5=合同盖章) 审批环节名称 审批部门名称 审批部门编号 同一环节内的顺序(意见评审环节共4个子节点) 审批人账号 审批人姓名 审批意见 节点开始时间(进入审批时记录) 节点完成时间(审批完成/驳回时记录) 实际处理天数(CompleteTime - StartTime,自动计算) 节点状态:pending / reviewing / approved / rejected 产品设计主表 单据编号(PDyyyyMMxxxx) 合同号 1=常规产品 2=非标产品 图号 zh / en 产品设计标准 BOM 明细 父级 BOM 行 Id,null 表示根节点 产品设计工艺路线明细 1=关键工序 产线 1=报工 路线编码 销售订单主表(crm_seorder) 1=销售 2=计划 签订日期 1=加急 0=普通 客户订单号 客户下单日期 销售订单变更表(crm_seorder_change) 1=销售 2=计划 变更原因:客户原因 / 公司原因 变更要求:变更订单 / 取消订单 销售订单明细表(crm_seorderentry) 客户要求交期 最终交货日期 系统建议交期(产能) 0=再评审 1=新建 2=评审 3=确认 出货计划主表(ShippingPlan) 出货计划明细表(ShippingPlanDetail) 订单交付服务 📦 路由前缀:/api/Order/delivery/... 获取订单交付分页列表 📦 获取订单价值流全量数据(8个Tab)📦 产品设计服务(常规/非标;合同维度跟踪设计负责人、图号、BOM、工艺、图纸计划/实际时间) 路由前缀:/api/Order/productdesign/... 按父子顺序排列:父(含库中已有 Id)先于子;负数临时 Id 先于引用它的子行。 销售订单保存前后快照与差异文本(用于操作日志) 生成「变动前 / 变动后」可读文本 + 结构化 JSON 销售订单评审业务操作日志写入(sys_log_op) 写入操作日志;失败不影响主流程 销售订单评审服务 🗂️ 路由前缀:/api/Order/seorder/... 获取订单评审分页列表 🗂️ 获取客户选择列表 🗂️ 获取物料选择列表 🗂️ 获取订单详情(含明细)🗂️ 保存销售订单(新增或编辑)🗂️ 明细三路合并: ① DB有且入参有(按 Id 匹配)→ 更新 ② DB无但入参有 → 新增(补填 bill_no / progress=0 / create_by) ③ DB有但入参无 → 删除 资源解锁 🔓 提交订单变更申请 🔖 出货计划服务 📦 路由前缀:/api/Order/shippingplan/... 获取出货计划分页列表 📦 获取出货计划详情(含明细)📦 保存出货计划(新增或编辑)📦 明细三路合并(参照 SeOrderService.SaveEntriesAsync): ① DB有且入参有(按 RecID 匹配)→ 更新 ② DB无但入参有 → 新增 ③ DB有但入参无 → 删除 销售出库(调用存储过程 pr_WMS_AutoCreateShipper)📦 S0 业务字典值种子(灌入 SysDictData,与 S0DictTypeSeedData 配套) S0 业务字典类型种子(灌入 SysDictType,编码加 s0_ 前缀与系统字典隔离) S0 示范组织节点种子(灌入 SysOrg,公司 Type=201 / 工厂 Type=501) Ai-DOP 规划菜单;类名须为 SysMenuSeedData,以便租户默认菜单聚合所有程序集种子。 智慧诊断 + 智慧运营看板(入库,便于平台「菜单管理」配置;勿在 Web aidopMenuDisplay 再注入整段菜单)。 S1 等模块下叶子菜单 path 覆盖(目录化后使用语义路径)。 S1 等模块下叶子菜单 route name 覆盖。 需要从 Menu 提升为 Dir(目录)的叶子节点;用于承载子级菜单。 S1「订单管理」「工单管理」目录化后的子菜单:销售订单、合同评审、产品设计、工单下达等。 父级 Id:订单管理=1322000000003,工单管理=1322000000004(menuSeq 与 ModuleDefinitions 中 S1 叶子顺序一致)。 产销协同看板=1322000000005,路径 /aidop/s1/SalesKanBan(勿与工单管理目录混淆)。 AiDOP 插件启动配置(按需扩展 DI) 开发环境下为 Demo 表执行 CodeFirst(表已存在则跳过变更,行为取决于 SqlSugar 配置)。 客户通用选择 — 分页查询入参 当前页码 页码容量 客户编号(模糊匹配) 客户简称(模糊匹配) 排序字段(前端 prop 名,如 cust / sortName) 排序方向:asc / desc 客户通用选择 — 单行输出 客户编号 客户简称 自增主键 物料通用选择 — 分页查询入参 当前页码 页码容量 零件号(模糊匹配) 描述(模糊匹配) 排序字段(前端 prop 名,如 itemNum / descr / um 等) 排序方向:asc / desc 物料通用选择 — 单行输出 自增主键 零件号 描述 描述1 单位 库位 版本 图纸 客户主数据(CustMaster 表,外部 ERP 表,只读映射) 自增列 客户编号 简称 域名 地点 等级 货币 类别 信用限额 信用冻结 区域 发至 运输方式 语言 销售员1 应交税 税类型 变更日期 创建时间 更新时间 有效 备注 税ID 银行帐户 物料主数据(ItemMaster 表,外部 ERP 表,只读映射) 自增列 域名 零件号 描述 描述1 单位 库位 版本 图纸 状态 零件类型 P/L 件(P=采购/L=制造) 地点 购买者 计划员 生产线 采购计量单位 变更日期 创建时间 更新时间 有效 备注 通用客户选择服务 🏢 路由前缀:/api/Universal 获取客户选择分页列表 🏢 通用物料选择服务 📦 路由前缀:/api/Universal 获取物料选择分页列表 📦 工单下达列表分页查询入参 工单编号(模糊) 物料编码(模糊) 物料名称(模糊) 开工日期 >= 此值 工单下达入参 工单编号 公司域名 开工日期(yyyy-MM-dd) 生产批号 物料齐套检查入参 开始时间 结束时间 公司ID 用户账号 生成物料需求计划入参 公司ID 工单下达服务 🏭 路由前缀:/api/WorkOrder/dispatch/... 获取工单下达分页列表 🏭 工单下达(更新开工日期、生产批号,状态改为 r)🏭