Commit Graph

120 Commits (23eda3751f37adcbd084c679501cf956eade03a0)
 

Author SHA1 Message Date
haoliang af8994617f 新增采集服务设计文档(双循环模型+字段映射+产量分段+日汇总+配置热更新+管理API) 7 days ago
haoliang ce53e343cf 品牌编辑页面字段映射表格改为自适应宽度 7 days ago
haoliang 6c3ca47fb7 采集地址:穿梭框显示全部同品牌机床、删除按钮禁用、后端Delete抛异常、数据库允许NULL 1 week ago
haoliang f015afe301 采集地址穿梭框改为显示同品牌全部机床,可从其他地址转移机床 1 week ago
haoliang 74b611d6e1 采集地址关联机床改为穿梭框:后端DTO加MachineIds+SetCollectAddress,前端el-transfer替换checkbox 1 week ago
haoliang 2a5568ecfc 可用机床列表改为获取全部机床(不限在线状态),修复available-machines返回空的问题 1 week ago
haoliang 3166ee94a5 弹窗加宽900px,穿梭框左侧过滤已绑定其他工人的机床,改为按需加载 1 week ago
haoliang f865de2a9a 修复员工机床绑定保存失败:DTO增加MachineIds字段,Service Create/Update增加绑定逻辑 1 week ago
haoliang aeddfad8c8 修复编辑工人时已绑定机床未回填:改用/worker/{id}/machines接口获取machineId列表 1 week ago
haoliang 6b74ef2bd1 穿梭框状态色点改用内联style,修复scoped样式无法穿透el-transfer问题 1 week ago
haoliang 5493277b8b 穿梭框右侧标题改为'已选择',移到右侧即生效无需勾选 1 week ago
haoliang feb388286c 修复穿梭框图例色点CSS选择器:添加.status-dot.online/offline/disabled直接class规则 1 week ago
haoliang e91fc70ca7 员工管理穿梭框改造:显示全部机床+状态色点(绿在线/灰离线/红停用)+图例说明 1 week ago
haoliang 8a18fdc998 前端默认语言改为中文:html lang设为zh-CN,页面标题改为CNC机床数据采集系统 1 week ago
haoliang d7fb9fc2b1 修复前端API路径与后端RESTful路由不匹配:升级mock插件支持参数化路由,修正6处API URL 1 week ago
haoliang 2065bf75c5 表头内容居中+操作列按钮统一nowrap+员工穿梭框绑定机床
- 02-前端全局规范.md: el-table增加居中规则,操作按钮增加link统一风格+nowrap规则
- 8个页面设计文档§4: 对齐列全部改为center
- 06-01-员工管理页面.md: 弹窗改为穿梭框(el-transfer),宽度700px,离线机床可绑定
- admin.scss: 全局el-table单元格居中
- 8个Vue组件: 操作列按钮统一link风格+white-space:nowrap
- WorkerListPage.vue: el-select multiple改为el-transfer穿梭框,弹窗700px
1 week ago
haoliang d1ac40ed26 修正设备列表和员工列表交互流程描述:批量操作从底部栏改为操作栏 1 week ago
haoliang c5847b1f71 全局列宽均分+批量按钮统一到上方+修改预处理协议增加执行验证阶段
- 02-前端全局规范.md: 新增el-table列宽均分规则和操作按钮统一布局规则
- 8个页面设计文档: 列表字段列宽改为自动均分,批量操作按钮从底部栏改为页头
- 05-修改请求预处理协议.md: 新增第四步执行中验证和第五步完成验收,配2个完整示例
- 8个Vue组件: 移除数据列固定width,批量操作按钮移到操作栏
1 week ago
haoliang 8d24cb54c7 refactor: 将修改请求预处理协议从AGENTS.md提取为独立文档docs/05-修改请求预处理协议.md 1 week ago
haoliang acf73fab15 docs: 移除PowerShell编码配置说明,编码已通过Profile永久修复 1 week ago
haoliang 271a7d2c40 refactor: PowerShell编码已通过Profile永久配置,移除AGENTS.md中的手动编码修复要求 1 week ago
haoliang a0cef659c5 refactor: 重组AGENTS.md结构——铁律置顶、项目上下文居中、示例下沉为附录 1 week ago
haoliang d2b44d2c64 docs: 增加修改请求预处理协议——每次修改前必须分析影响面并等待确认 1 week ago
haoliang 71f8e7fbc7 修复机床排行machineId缺失+清理gitignore(移除publish/tools/dll/测试报告) 1 week ago
haoliang 3e7c34c52f 修复设备详情关联名称为空(Bug6)+布尔字段类型(Bug7)+异常过滤器生产模式 1 week ago
haoliang 6522b2ae49 补齐操作日志导出端点(adjustment/export占位) 1 week ago
haoliang 126cecfa09 补齐产量报表2个端点(adjustment-history/export占位)+修复前端API路径参数 + 新增DTO + Repository方法 1 week ago
haoliang 1168b3c4ac 补齐员工管理4个端点(machines/production-today/production-trend/available-machines)+修复前端详情页API路径参数 + 新增4个DTO 1 week ago
haoliang 6fb571f565 补齐采集地址3个详情子端点(machines/collect-records/raw-json)+修复前端详情页API路径参数 + 新增3个DTO + DI注册 1 week ago
haoliang 7052cbf5a1 规范:新增10条联调测试规范——后端5条(端点对照表/DTO断言/布尔类型/需求驱动测试/覆盖率声明)+前端4条(Mock切换Checklist/RESTful调用/分页组件/布尔类型)+联调测试1条(逐字段验证) 1 week ago
haoliang b5bff2a815 修复分页切换不生效:添加@current-change和@size-change事件触发loadData 1 week ago
haoliang dfc18fabb5 设备管理联调:修复brandId缺失、batchToggle改逐个toggle、详情页添加4个子API端点
- 前端:新增/编辑机床时传递brandId字段
- 前端:启停切换改为逐个调用PUT /admin/machine/{id}/toggle
- 前端:详情页API调用从query参数改为RESTful路径参数
- 后端:新增4个详情页API(status/production-today/production-trend/collect-records)
- 后端:新增3个DTO(MachineTodayProdItem/MachineTrendItem/MachineCollectRecordItem)
- 后端:更新MachineStatusResponse字段以匹配前端展示需求
1 week ago
haoliang 2e3199490c 前端:19处写操作URL从Mock风格切换为RESTful(PUT/DELETE+路径参数) 1 week ago
haoliang 81743f8bb9 规范:统一17个页面文件§9为新格式(接口引用表+数据结构),不重复URL,数据结构是唯一定义处 1 week ago
haoliang 04f3a170c2 规范:统一4个文件的职责划分——03只管URL,数据结构由页面文件§9定义 1 week ago
haoliang 8b9809e3f6 规范:更新§16格式说明,接口引用表只列编号+界面用途不重复URL,数据结构是唯一定义处 1 week ago
haoliang 2887568c5f 规范:删除03-API接口设计.md中所有返回数据结构定义(10个模块),03只保留URL和Method,数据结构由各页面文件§9定义 1 week ago
haoliang 293e1cf233 规范:精简系统设置页面§9,引用表只列编号+界面用途,不重复URL;数据结构保留完整JSON 1 week ago
haoliang 16fac603fc 规范:系统设置页面§9改为§9接口引用与数据结构(引用端点清单编号+两列URL+完整JSON数据结构) 1 week ago
haoliang 5d1d5ebb27 docs: 完善前后端接口规范,解决Mock不动规则与RESTful规范的冲突 1 week ago
haoliang 32a7bf49d0 fix: 修复20个列表接口返回格式与Mock不一致问题,新增5.2.1 Mock数据结构对齐规范 1 week ago
haoliang a094e59ffc 修复API返回PascalCase导致前端取不到message的问题
- WebApiConfig: 添加CamelCasePropertyNamesContractResolver
- 后端JSON输出从 Code/Message/Data 改为 code/message/data
- 前端拦截器 res.message 现在能正确取到后端错误信息
1 week ago
haoliang 0cd61a51b3 修复路由重定向到/login + 登录失败提示不显示
- router: createWebHistory base设为import.meta.env.BASE_URL(build=/admin/, dev=/)
- vite.config: base按command区分(build时/admin/,dev时/)
- request.ts: HTTP错误(4xx/5xx)时解析后端返回的message显示给用户
- request.ts: token过期跳转登录页使用routerBase而非硬编码路径
1 week ago
haoliang b28a89f263 IIS部署联调修复:OWIN禁用+程序集绑定+SPA路由回退+错误详情输出
- Web.config: 禁用OWIN自动发现(owin:AutomaticAppStartup=false),添加MySqlConnector依赖的程序集绑定重定向
- Global.asax.cs: Application_BeginRequest实现/admin/路径的SPA路由回退(无需URL Rewrite模块)
- GlobalExceptionFilter: 输出完整异常堆栈+InnerException,便于联调定位问题
- request.ts: 错误提示直接显示后端返回的message,不再覆盖为固定文案
- vite.config.ts: base设为/admin/,静态资源路径正确指向/admin/assets/
1 week ago
haoliang 126154fc7b IIS部署准备:csproj输出到bin\ + 前端build输出到admin + 修复全部TS类型错误
- CncWebApi.csproj: OutputPath改为bin\,AppendTargetFrameworkToOutputPath=false
- .gitignore: 排除src/CncWebApi/admin/目录
- vite.config.ts: build.outDir指向../src/CncWebApi/admin
- deploy-admin.ps1: 一键编译后端+前端部署脚本
- request.ts: 类型安全封装,返回Promise<ApiResponse<T>>
- types/index.ts: 扩展Machine/Alert/OperationLog/ScreenCard/CollectAddress/MachineStatus字段
- 修复11个页面文件的TS类型错误(vue-tsc 0错误)
1 week ago
haoliang 16016d0df7 新增CncWebApi.Tests:14个控制器127个测试全部通过
- ControllerFactory:封装14个Controller的创建(含完整Repository→Service→Controller依赖链)
- TestDb:测试数据库辅助(TruncateAll+SeedData+SetRealPasswordHash+辅助查询)
- DatabaseCollection:xUnit串行测试集合(共享cnc_test库)
- 14个Controller测试文件覆盖所有API端点:
  Health(1) + Auth(6) + Brand(15) + Machine(10) + CollectAddress(10) +
  Worker(13) + Dashboard(9) + Settings(15) + Production(6) + Alert(7) +
  Log(4) + ScreenConfig(12) + Screen(11) + Option(8) = 127个测试
- 直接实例化Controller调用方法,不经过HTTP管线
- 使用真实数据库(cnc_test库),与Service.Tests共享同一测试库
1 week ago
haoliang 8845ffb3f6 新增CncService.Tests(180个测试全部通过)+ 修复Repository层SQL字段名bug
- 新增12个Service测试文件(180个测试用例,覆盖全部Service方法)
- 修复BrandFieldMappingRepository.BatchCreate连接未打开的bug
- 修复DailyProductionRepository中引用不存在的worker_id列的bug
- 修复DashboardRepository.GetWorkerRank中引用不存在的worker_id列的bug
- 修复SystemLogRepository.GetList参数未添加Limit/Offset的bug
1 week ago
haoliang 3a1912f4a1 修复所有Repository SQL列名为snake_case,新增CncRepository.Tests(37个测试全部通过)
- 修复20个Repository文件中SQL列名从PascalCase改为snake_case匹配数据库
- 新增TestDb.cs测试辅助类(DELETE+重置自增+种子数据)
- 新增5个测试类(Alert/Brand/Machine/SysConfig/Workshop)共37个测试
- 添加[Collection(Database)]串行执行避免并行竞争
- 解决TRUNCATE外键约束问题改用DELETE FROM
1 week ago
haoliang 03aaeb11c2 feat(webapi): CncWebApi完整实现 - 13控制器+DI+JWT认证,编译通过
- Controllers: 13个API控制器(Auth/Dashboard/Machine/Brand/CollectAddress/Worker/Production/Alert/Settings/Log/ScreenConfig/Screen/Option)
- Infrastructure: ServiceResolver(手动DI)+JwtAuthFilter(HMACSHA256签名验证)
- 路由: 属性路由覆盖,管理后台/api/admin/**+大屏/api/screen/**
- 认证: JwtAuthFilter标记admin接口,ScreenController免认证
- DI: WebApiConfig注册ServiceResolver,手动解析Repository+Service依赖链
- WorkshopRepository: 从CncRepository.Impl移入CncRepository/Impl统一管理
1 week ago
haoliang fd40475271 feat(service): CncService层完整实现 - 12接口+12实现,编译通过
- Interface: 12个服务接口(IAuthService/IDashboardService/IBrandService/ICollectAddressService/IMachineService/IWorkshopService/IWorkerService/IProductionService/IAlertService/IScreenService/ISystemLogService/ICollectDataService)
- Impl: 12个服务实现(构造函数注入Repository+参数校验+DTO转换+业务逻辑)
- 登录: BCrypt密码验证+HS256 JWT生成
- 仪表盘: 7项统计+采集服务心跳检测
- 品牌: CRUD+复制+16标准字段
- 机床/车间/员工: CRUD+唯一性校验+绑定管理
- 产量: 分页查询+汇总+修正审计
- 告警: 分页+单条/批量处理+统计
- 大屏: 卡片配置+筛选条件管理
- 采集数据: 原始记录分页+最新记录
- 系统日志: 分页查询
- 添加BCrypt.Net-Next 4.0.3 NuGet包
1 week ago