刘文博 liuwb

liuwb pushed para master em ZZYDOP/AiDOPWarehouse

  • 4239e0d46f feat(s8): add evaluator command timeout and max rows guard

há 15 horas atrás

liuwb pushed para master em ZZYDOP/AiDOPWarehouse

  • b4beb673a5 chore(s8): add log retention cleanup job - Add S8LogRetentionCleanupJob with [Daily] (midnight) cadence: - ado_s8_detection_log: 30-day retention (detected_at cutoff) - ado_s8_notification_log: 90-day retention (created_at cutoff) - SysJobTriggerRecord: 14-day retention (CreatedTime cutoff) - Default OFF; opt-in via AIDOP_S8_LOG_CLEANUP_ENABLED=true env (same AIDOP_* convention as SqlSugarSetup / S8WatchSchedulerJob). - Batched physical DELETE via Queryable.Take(1000) + Deleteable.Where(ids) two-step (SqlSugar Deleteable does not support Take); per-Job/per-table cap is 50 batches = 50,000 rows, residual swept on next day. - Single-fire disabled log via Interlocked.Exchange (_firstDisabledLogged); per-run summary always logged at LogInformation. - Does not touch SysLogEx / SysLogOp / Admin.NET.Core LogJob; runs alongside [Daily] @00:00 LogJob with no table overlap. Bump csproj 1.0.136 -> 1.0.137.

há 19 horas atrás

liuwb pushed para master em ZZYDOP/AiDOPWarehouse

  • 8606217907 fix(s0): default line post domain to legacy data

há 1 dia atrás

liuwb pushed para master em ZZYDOP/AiDOPWarehouse

  • 08bd61f62b fix(s8): reduce detection log write volume

há 1 dia atrás

liuwb pushed para master em ZZYDOP/AiDOPWarehouse

  • cf7c2d86ed fix(s0): default work center domain to legacy data

há 1 dia atrás

liuwb pushed para master em ZZYDOP/AiDOPWarehouse

  • a45a8301bd docs(s8): correct scheduler environment override hint

há 1 dia atrás

liuwb pushed para master em ZZYDOP/AiDOPWarehouse

  • 4ca9ccfa2f fix(s0): align barcode and nbr type entities with legacy schema 将 BarCodeNbr / NbrTypeMaster 两张 legacy 表的 Entity 字段 ColumnName 改回真实 PascalCase 列名(Domain / NbrType / NbrClass / Descr1 / Customer / Type 等), 使 70 行 NbrTypeMaster + 1 行 BarCodeNbr 历史业务数据可见。 - AdoS0NbrTypeMaster: 业务字段 ColumnName 改 PascalCase;补全 21 个缺失字段 (Descr2/Acct/SubAcct/Name/Start/Nbr/UserID/Confirm/Tran1-5/Page1-5/ BusinessID/IsConfirm/IsChanged);加 [IgnoreTable] 防 CodeFirst 再 ALTER; 移除 ITenantIdFilter(DB tenant_id 列全 NULL);移除 snake_case SugarIndex - AdoS0BarCodeNbr: 业务字段 ColumnName 改 PascalCase;新增 ItemNum; 字段长度对齐 DB(FirmString* 100→20 等);加 [IgnoreTable];移除 SugarIndex - C# 属性名保留(DomainCode/NbrType/Customer/Type 等),前端 camelCase 字段名零破坏,DTO / Controller / 前端无需改动 - 保留 company_ref_id / factory_ref_id snake_case 映射(Controller 强依赖) - NumberRuleService 走裸 SQL 不依赖 Entity,路径架构性不受影响 - bump server version 1.0.134 → 1.0.135

há 1 dia atrás

liuwb pushed para master em ZZYDOP/AiDOPWarehouse

  • c39ef4607d fix(s8): gate scheduler jobs with safe env overrides - Add Scheduler:Enabled / S8:Scheduler:Enabled / S8:Scheduler:WatchTickIntervalMs to WatchScheduler.json (defaults: env on, S8 off, tick 300000ms). - Dev override anchors S8:Scheduler:Enabled=false to prevent accidental auto-scheduling in development. - Three S8 jobs gate at ExecuteAsync entry with single-fire disabled log and AIDOP_SCHEDULER_ENABLED / AIDOP_S8_SCHEDULER_ENABLED env overrides (Furion JSON loader is positioned after the ASP.NET Core env provider, so AIDOP_* env vars are read directly via Environment.GetEnvironmentVariable, matching the SqlSugarSetup AIDOP_* convention). - S8WatchSchedulerJob: AIDOP_S8_SCHEDULER_WATCH_TICK_MS env override and in-process 5-min due-skip on top of the 60s hardware tick; empty-tick summary (all six counters zero) downgraded from LogInformation to LogDebug. - Non-parsable env values keep the JSON value and emit a single LogWarning with the env name only (no raw value). Bump csproj 1.0.133 -> 1.0.134.

há 1 dia atrás

liuwb pushed para master em ZZYDOP/AiDOPWarehouse

  • 29d2dda1f8 fix(s0): switch process flow card list to missed print records 将「工序流转卡」页面数据源从 S0ProcessFlowCard(0 行)切换为 legacy MissedPrint 表(202 行);页面只读化,移除新增/编辑/删除/启停。 - 新增 Entity:AdoS0MissedPrintRecord(9 字段只读投影 + [IgnoreTable]) - 追加 Entity:AdoGeneralizedCodeRecord(用于 LeftJoin 翻译 BarcodeStatus) - 新增 DTO:AdoS0FlowCardPrintRecordQueryDto / S0MfgFlowCardPrintRecordRow - 重写 Controller GetPagedAsync 走 MissedPrint + LeftJoin GeneralizedCode(.MergeTable()) - 删除 Controller 5 个写入/详情 Action(页面只读) - 前端 API 类型重写、s0MfgProcessFlowCardsApi 仅保留 list - ProcessFlowCardList.vue 改为只读列表(9 列 + 6 个查询字段) - 菜单 Title 保持「工序流转卡」、Remark 注明数据源 = legacy MissedPrint - bump server 1.0.132 → 1.0.133 / Web 2.4.170 → 2.4.171

há 1 dia atrás

liuwb pushed para master em ZZYDOP/AiDOPWarehouse

  • 10e32b818a fix(s0): migrate material substitution data 将 ic_bom × ic_bom_child × ic_substitute_group_detail 三表 INNER JOIN 排除原料自身(icitem_number <> item_number)后导入 ItemSubstituteDetail。 - 新增 UpdateScripts/1.0.132.sql:执行前 5 项校验 + INSERT SELECT + 对账 + 回滚草案 - 字段映射:ParentItem=ic_bom.item_number / ItemNum=ic_bom_child.item_number / SubstituteItem=ic_substitute_group_detail.icitem_number / SubstituteQty=replace_qty / SubstituteType='替代' / Domain='8010' - 实测落库 1147 行,前端「物料替代」页面 total=1147 + 表格正常显示 - bump server version 1.0.131 → 1.0.132(跳过远端已用的 1.0.130/131)

há 1 dia atrás

liuwb pushed para master em ZZYDOP/AiDOPWarehouse

  • 76eedece94 fix(s8): 移除制造详情面板演示数据徽标 设备制造(本体生产)·阶段详情卡片在生产展示中不再附加"演示数据"标识。 版本同步:Web 2.4.170。

há 1 dia atrás

liuwb pushed para master em ZZYDOP/AiDOPWarehouse

  • ffbbf477ed fix(s0): show standard bom item codes from imported fields - Controller 列表 parentItemNum 改用 m.ParentItem(53032 行已 100% 有值的字符串编码字段) - Controller 列表 componentItemNum 改用 m.ComponentItem - 不依赖 ParentMaterialId / ComponentMaterialId 数字 ID(当前全 0/NULL) - 父子项名称仍走 matMap(命中部分天然恢复,等 ItemMaster 补导独立批次) - bump server version 1.0.128 → 1.0.129

há 2 dias atrás

liuwb pushed para master em ZZYDOP/AiDOPWarehouse

  • 3f7eb4aa60 fix(s0): align standard bom unit field - StandardBomManagement.vue 列表 prop="UM" → prop="um" - s0ManufacturingApi.ts S0MfgStandardBomLineRow.UM → um - bump Web version 2.4.165 → 2.4.167(跳过远端已用的 2.4.166)

há 2 dias atrás

liuwb pushed para master em ZZYDOP/AiDOPWarehouse

  • 01c5d2f59b fix(s8): configure datasource endpoint connection pooling

há 2 dias atrás

liuwb pushed para master em ZZYDOP/AiDOPWarehouse

  • 429e8b6910 refactor(s8): generalize order chain stage substeps rendering

há 2 dias atrás

liuwb pushed para master em ZZYDOP/AiDOPWarehouse

  • 4974c52bda fix(s0): align sourcing list field labels - 单位 → 订货单位 - 价格 → 不含税单价 - 需到货 → 采购类型(行内值 是/否 → 需到货/无需到货) - bump Web version 2.4.164 → 2.4.165

há 2 dias atrás

liuwb pushed para master em ZZYDOP/AiDOPWarehouse

  • 48e8cc6392 fix(s0): improve supplier form usability

há 3 dias atrás

liuwb pushed para master em ZZYDOP/AiDOPWarehouse

  • 4e12a19b81 chore(db): configure mysql connection pool parameters DB-CONNECTION-STRING-POOLING-CONFIG-1 显式约束主库 ConnectionString 的 MySQL 连接池行为,把先前隐式依赖 驱动默认值的状态转为团队显式协作参数。 驱动:MySqlConnector 2.2.5(由 SqlSugarCore 5.1.4.214 间接引入) 文档:https://mysqlconnector.net/connection-options/ 追加 6 项参数到 ConnectionConfigs[0].ConnectionString 末尾,不改 Server/Port/Database/Uid/Pwd/SslMode/Charset 等既有参数,也不改 DbSettings/TableSettings/SeedSettings: Pooling=true Minimum Pool Size=0 Maximum Pool Size=20 (默认 100 → 收紧为 20,减少共享出口 IP 撞 server-side max_connect_errors 的可能) Connection Timeout=10 (默认 15 → 略缩,加速失败发现) Connection Idle Timeout=180 (与默认一致,显式声明锁定行为) Connection LifeTime=300 (默认 0/∞ → 300s,强制连接定期轮转, 防止复用已被服务端断的死连接 → EndOfStreamException 重连风暴) 边界: - 本配置不能解封已发生的 MySQL 1129 host block;已发生的封禁仍需 DBA FLUSH HOSTS 或更换可用出口 IP。 - 仅治理主库 SqlSugar 主链路;S8 evaluator / scheduler 的旁路 new SqlSugarScope (Guid.NewGuid() ConfigId, 不继承本参数) 不在 本批范围,后续独立批次治理: S8-WATCHRULE-DATASOURCE-AUDIT-1 (DB 解封后只读审计 endpoint) S8-DYNAMIC-SQLSUGAR-SCOPE-FACTORY-1 (旁路 scope 工厂化) 阶段 4 冒烟通过:单次 restart_aidop.sh 成功;启动日志显示 6 项参数 被 SqlSugar 正确解析加载;5 分钟观察窗口零新 1129 / 零 Unknown connection option / 零 EndOfStreamException;S8WatchScheduler 多 tick 全 SUCCESS。

há 3 dias atrás

liuwb pushed para master em ZZYDOP/AiDOPWarehouse

  • c7a4cfeee4 fix(s0): add skill dropdown for person skill assignments

há 3 dias atrás

liuwb pushed para master em ZZYDOP/AiDOPWarehouse

  • 51aebd4561 feat(s8): 材料采购默认态关键材料补齐影响台次与准时齐套率 S8-ORDER-CHAIN-MATERIAL-PROCUREMENT-BASELINE-FIELD-ALIGN-1 - AdoS8OrderFlowProcurementPivot 新增 impact_count(int?) / kit_rate(decimal(5,4)?) - Seed 为 BASELINE_PPT 关键材料 grand 单元回填 XX(55/0.85) / YY(23/0.84) / ZZ(10/0.97) - Service.BuildPivot KeyMaterials 透传 ImpactCount / KitRate - UpdateScripts/1.0.125.sql 幂等 ALTER + 3 行 UPDATE - csproj 注册 1.0.125.sql + patch 至 1.0.125 bump version server 1.0.124 → 1.0.125

há 4 dias atrás