lvmeng
|
c76164fa66
|
feat(inbound): 添加规格下拉选择功能
- 新增 SpecOption 数据模型定义
- 在 GlobalData 中添加 specOptionList 全局变量
- 实现 InboundApiService 中的 getSpecOptions 接口
- 添加 InboundRepository 中的 getSpecOptions 方法
- 在 StoreViewModel 中添加 specOptions 相关状态管理
- 在 StoreActivity 预加载规格选项数据
- 将入库规格字段从文本框改为下拉选择框
- 修复代码中的空字符串初始化问题
|
2026-06-08 14:38:03 +08:00 |
|
mazengfei
|
74fcd65f1b
|
fix(inbound): 修正入库时间处理逻辑并添加保质期时间戳
- 提取入库时间变量避免重复计算
- 为保质期字段添加时间部分,格式化为日期+时间
- 确保时间格式与系统ISO标准保持一致
- 优化参数传递过程中的数据处理流程
|
2026-06-04 18:09:54 +08:00 |
|
mazengfei
|
0dfe84898b
|
chore(app): 更新应用名称
- 将应用名称从"入库客户端"更改为"入库新"
|
2026-06-04 11:20:26 +08:00 |
|
mazengfei
|
5284cebf5e
|
修改包名
|
2026-06-03 18:09:59 +08:00 |
|
lvmeng
|
15e1f87913
|
refactor(network): 重构网络请求配置以支持动态环境切换
- 将布局文件中的 Button 替换为 AppCompatButton 组件
- 更新环境切换对话框中的 URL 映射关系
- 添加 LOCAL_BASE_URL 和修改 TEST_BASE_URL 的常量定义
- 启用并实现环境切换功能的时间点击事件处理
- 在 API 接口定义中使用 @Url 注解实现动态 URL 设置
- 创建 DynamicBaseUrlInterceptor 拦截器实现实时域名替换
- 更新依赖注入模块以使用新的拦截器和全局基础 URL
- 修改仓库层调用以使用具名参数传递
|
2026-06-03 16:48:50 +08:00 |
|
lvmeng
|
ee84189fdf
|
refactor(form): 重构表单字段模型和映射逻辑
- 移除 FormField 中的 submitValueId 和 valueId 字段
- 在 DictType 中添加操作符函数支持字段名取值
- 简化下拉框选择时的 extraValues 映射逻辑
- 更新日期选择器只保存显示格式值
- 调整表单提交时的参数构建逻辑
- 为入库时间和操作时间字段移除 ISO 格式提交配置
- 添加 materId 参数到入库提交数据中
|
2026-06-02 17:17:06 +08:00 |
|
lvmeng
|
285238ed9c
|
fix(inbound): 修复入库商品存储对话框返回逻辑
- 移除商品为空时自动关闭活动页面的逻辑
- 防止在对话框取消时意外结束父页面
- 确保页面导航的一致性体验
|
2026-05-27 15:32:37 +08:00 |
|
lvmeng
|
aa24059caa
|
feat(inbound): 新增入库秤毛菜/净菜入库功能完整实现
- StoreActivity 进入时统一弹出 InboundGoodsSearchDialog,关闭后退出页面
- InboundGoodsStoreDialog 支持 goods 可空,适配无溯源码直接入库场景
- FormField 新增 extraApiKeys/extraValues 支持下拉多字段提交(供应商id+type、区域id+name)
- DictType 新增 type 字段,供应商选项携带类型信息
- FormFieldAdapter 下拉选中时按 extraApiKeys 映射写入 extraValues
- InboundApiService 使用 @JvmSuppressWildcards 修复 Retrofit Map 泛型通配符异常
- BaseActivity 改为继承 AppCompatActivity,主题切换为 MaterialComponents
- 日期格式统一为 yyyy-MM-dd HH:mm:ss(去除 ISO 8601 的 T 分隔符)
- 搜索列表选中逻辑修复,改用 notifyDataSetChanged 触发刷新
|
2026-05-27 15:24:37 +08:00 |
|
lvmeng
|
e63078dfd0
|
fix(inbound): 修复API响应码类型不匹配问题
- 将InboundApiResponse中的code字段从Int类型改为String?类型
- 更新isSuccess方法判断逻辑,由code == 200改为code == "00000"
- 修改错误处理中返回的响应码格式,统一使用字符串"-1"
|
2026-05-27 09:23:07 +08:00 |
|
lvmeng
|
8b0f850d27
|
feat(activity): StoreActivity 进入时直接弹出入库弹窗,关闭后退出页面
- InboundGoodsStoreDialog.goods 改为可空类型,支持毛菜无需预搜索直接录入
- StoreActivity 根据 storeType 自动弹出对应弹窗(毛菜→录入弹窗,净菜→检索弹窗)
- GoodsListActivity.recognizeFood 标记为 open,StoreActivity override 为空以关闭识别
- 修复相机预览被 cvImageBg 白色遮罩遮挡的问题
|
2026-05-27 09:21:39 +08:00 |
|
lvmeng
|
080f505c5d
|
refactor(inbound): 将净材相关功能调整为净菜入库功能
- 将界面中的"净材"文本全部替换为"净菜"
- 更新按钮ID命名从btnOrderPurchase改为btnCleanDishStore
- 更新毛菜按钮ID从btnOrderSelfProcurement改为btnRawDishStore
- 修改入库弹窗类注释说明,将净材改为净菜
- 更新storeType参数说明,将净材改为净菜
- 重构动态表单字段配置,统一字段提示文本为"请输入/请选择"格式
- 将净菜类型字段设置为固定类型并添加规格下拉选项
- 更新RecyclerView设置方式,优化代码结构
- 调整标题显示逻辑,根据入库类型动态显示净菜或毛菜入库
- 优化相机预览布局,隐藏图片背景视图
- 更新StoreActivity中关于净菜类型的注释说明
|
2026-05-27 09:08:18 +08:00 |
|
lvmeng
|
37289d43f3
|
fix(ui): 将表单布局从 FlexboxLayoutManager 改为 GridLayoutManager 两列,溯源码改为必填
|
2026-05-26 21:34:38 +08:00 |
|
 lvmengandClaude Sonnet 4.6
|
fabc4d780a
|
feat(inbound): 新增入库秤毛菜/净材入库功能
- 新增入库专用网络层(InboundApiService、InboundRepository、InboundNetworkModule、InboundInterceptor)
- 新增入库相关数据模型(IngredientByTrace、SupplierOption、ZoneOption、GoodsSearchModel、CleanInboundParam、RawInboundParam、InboundApiResponse)
- 新增 FormField 动态表单模型(FieldType 枚举、apiKey 字段映射、submitValueId 控制提交值)
- 新增 FormFieldAdapter,基于 FlexboxLayoutManager 实现两列自动换行表单,支持五种字段类型
- 新增 InboundGoodsSearchDialog(溯源码检索食材)和 InboundGoodsStoreDialog(入库录入,表单转 Map 提交)
- 新增 StoreViewModel,提交接口入参改为 Map<String, Any>
- 重构 StoreActivity:注入 StoreViewModel,onResume 预加载供应商/区域列表到 GlobalData
- 修改 GoodsListActivity:抽取 onGoodsSearchRequested() 供子类重写
- 修改 GoodsRecognizeDialog:StoreActivity 场景下打开 InboundGoodsStoreDialog
- GlobalData 新增 inboundSupplierList / inboundZoneList 全局缓存
- build.gradle.kts 新增 flexbox:3.0.0 依赖
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-26 21:18:09 +08:00 |
|
 lvmengandClaude Sonnet 4.6
|
ac9494a0f3
|
feat: 新增首页净材/毛菜入口按钮及StoreActivity称重识别页面
- 首页新增净材、毛菜两个渐变色按钮(蓝/橙),隐藏原ImageView入口
- 新增StoreActivity,继承GoodsListActivity,复用秤监听、相机、识别弹窗能力
- GoodsListActivity.replaceIncludeContent()新增else分支,非采购/自采页面隐藏flContainer
- BaseDialog设备列表提取为常量,优化小屏幕判断逻辑
- 更新本地测试环境地址及环境切换弹窗文案
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-26 18:54:30 +08:00 |
|
lvmeng
|
fa58304ca1
|
refactor(network): 移除设备认证和登录相关API接口
- 注释掉设备获取token的API接口和服务端点
- 移除设备信息查询相关的API接口和服务端点
- 删除登录功能的API接口和服务端点
- 移除部分收货功能的API接口和服务端点
- 注释掉添加物品采购单位的API接口和服务端点
- 相应移除ViewModel中的设备认证和登录逻辑
- 删除Repository中对应的网络请求方法
|
2026-05-26 14:10:00 +08:00 |
|
mazengfei
|
1092a7c43d
|
接口报错显示具体信息
|
2026-05-25 10:33:33 +08:00 |
|
mazengfei
|
0c0aba2aeb
|
接口报错显示具体信息
|
2026-05-20 14:21:03 +08:00 |
|
mazengfei
|
e81df4f55c
|
优化
|
2026-05-13 09:55:11 +08:00 |
|
lvmeng
|
07e0a1996f
|
入库单数据提交入库新增采购单号字段purCode
|
2026-05-11 18:20:35 +08:00 |
|
lvmeng
|
79f58a36e3
|
fix(activity): 修复拿走物品后识别弹窗未自动关闭的问题
- 将关闭阈值从 weight < 10 调整为 weight < 20,覆盖轻微零点漂移
- 将 size == 1 判断改为 none { isShowing && it != goodsRecognizeDialog },避免 DialogManager 中存在幽灵条目时导致关闭逻辑失效
- GoodsStoreDialog:无论 funcType 值,均拍照上传图片以增加样本数据
- BaseViewModel:recognizeGoodsList 增加异常捕获,异常时回调空列表
|
2026-05-09 15:44:05 +08:00 |
|
lvmeng
|
7c5278bc88
|
Merge remote-tracking branch 'origin/main_lvmeng_0131' into main_lvmeng_0131
# Conflicts:
# app/src/main/assets/best_embedding_model_mobile.pt
# app/src/main/assets/data/class_info.json
# app/src/main/assets/data/embeddings.json
# app/src/main/assets/data/labels.json
|
2026-04-28 15:42:47 +08:00 |
|
lvmeng
|
c995daf48d
|
优化已采集页面数据统计、更新初始化页面加载动画资源、替换新识别模型
|
2026-04-28 15:29:53 +08:00 |
|
 mazengfeiandClaude Sonnet 4.6
|
d95a00b8a9
|
feat(global): 更新UAT端口并在切换环境时自动重置本地数据库及识别模型
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-22 16:03:45 +08:00 |
|
mazengfei
|
13f893cd0c
|
生产域名配置
|
2026-03-31 19:46:39 +08:00 |
|
 lvmengandClaude Sonnet 4.6
|
8eae8c2b3c
|
feat(global): 新增多环境切换弹窗及启动时自动读取已保存环境配置
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-31 09:25:16 +08:00 |
|
lvmeng
|
532f840a78
|
feat(model): 添加移动端嵌入模型文件
- 新增 best_embedding_model_mobile.pt 模型文件
- 该模型用于移动端设备的嵌入计算功能
- 文件大小约为 431 行二进制数据
|
2026-03-26 09:15:09 +08:00 |
|
mazengfei
|
21b9b03014
|
测试配置
|
2026-03-23 10:20:17 +08:00 |
|
mazengfei
|
4047cd67d8
|
Merge remote-tracking branch 'origin/main_lvmeng_0131' into main_lvmeng_0131
|
2026-03-23 10:12:23 +08:00 |
|
mazengfei
|
441d40b584
|
增加异常日志记录,接口报错提示,app启动时有网络不再进行倒计时处理
|
2026-03-23 10:12:11 +08:00 |
|
lvmeng
|
915e20cd23
|
Merge remote-tracking branch 'origin/main_lvmeng_0131' into main_lvmeng_0131
|
2026-03-20 15:58:40 +08:00 |
|
lvmeng
|
d0fa46a8c8
|
增加测试环境配置
|
2026-03-20 15:58:30 +08:00 |
|
mazengfei
|
8a83de3238
|
优化
|
2026-03-16 10:33:09 +08:00 |
|
lvmeng
|
4b241ba81b
|
feat(activity): 新增 InitActivity 初始化页面,实现网络检测和倒计时功能
|
2026-03-13 17:36:46 +08:00 |
|
lvmeng
|
75306af483
|
fix: 修正 Toast 扩展方法导入和更新下载地址
- 恢复 ToastUtils.kt 为原始注释状态(Compose 版本)
- 修正 FunActivity 导入,使用 Common.kt 中已定义的 Context.toast 扩展方法
- 更新下载地址为真实的资源包地址
|
2026-03-13 14:16:16 +08:00 |
|
lvmeng
|
c697b4aa65
|
feat(activity): 添加 Zip 文件下载解压工具和趣味页面
- 新增 ZipDownloadUtils:支持大文件下载、进度回调、断点续传
- 新增 ZipExtractUtils:支持 Zip 文件解压、进度回调、自动创建目录
- 新增 ModelResourceManager:高层资源管理器,协调下载和解压流程
- 新增 FunActivity:趣味测试页面,包含 3 个按钮
- 按钮 1:下载 Zip 文件
- 按钮 2:解压 Zip 文件
- 按钮 3:读取 JSON 并保存到 ObjectBox 数据库
- 新增 activity_fun.xml:趣味页面布局
- 新增 ZipToolsUsageExample:工具使用示例文档
- 改进 ToastUtils:改为 Context 扩展方法 (toast/toastLong)
- 暂时注释 HomeActivity 中 tvTime 的点击事件
|
2026-03-13 11:27:53 +08:00 |
|
lvmeng
|
baee019444
|
ObjectBox数据库操作增加线程资源清理
|
2026-03-12 17:25:23 +08:00 |
|
lvmeng
|
e50d6ceb60
|
入库列表页增加采集入库,方法采集完成直接入库和验证识别效果
|
2026-03-12 14:39:41 +08:00 |
|
 lvmengandClaude Sonnet 4.6
|
7563209cf1
|
refactor(activity): 优化 FoodCollectionActivity 性能与稳定性
- 修复 runBlocking 阻塞主线程,改为 lifecycleScope.launch 协程异步执行
- 耗时操作(I/O、图像裁剪、TFLite 推理、ObjectBox 读写)全部切换至 Dispatchers.IO
- 修复 bitmap 内存泄漏:用 try/finally 保证所有退出路径均回收
- 修复 uriToBitmap 返回 null 时 loading 转圈永不消失的 Bug
- 修复 DbException 块、index==-1 分支缺少 hideWaitingDialog() 的 Bug
- 移除重复 ReceiptViewModel,统一使用单例;移除空 initBox() 函数
- 新增 searchJob 取消上一次未完成搜索,修复 clearData() 遗漏取消的 Bug
- 提取 createWaitingDialog() 消除 dialog 创建代码重复
- 修复 clearCoilCache() 使用新实例无法清缓存,改用 context.imageLoader 单例
- upload() 两处强制解包 !! 改为安全调用,避免 NPE 崩溃
- 清理无用注释、废弃代码块、冗余注解及无用 import
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-11 18:04:21 +08:00 |
|
mazengfei
|
05015a7a18
|
优化采购的数据的重量清除问题
|
2026-03-10 17:24:25 +08:00 |
|
lvmeng
|
1cc2358d72
|
优化向量查询,替换新模型
|
2026-03-10 13:33:31 +08:00 |
|
lvmeng
|
1206ecd575
|
优化向量查询结果数据
|
2026-03-10 13:00:45 +08:00 |
|
lvmeng
|
f53669d048
|
优化统计
|
2026-03-10 11:24:39 +08:00 |
|
lvmeng
|
244013f99f
|
填充采购单数据并对优化显示格式
|
2026-03-09 10:16:21 +08:00 |
|
 lvmengandClaude Sonnet 4.6
|
a14c2c3348
|
refactor(utils): 移除 onSuccess 冗余回调并优化 ObjectBox 数据库操作
- PhotoCaptureHelper: 删除构造参数 onSuccess,成功回调统一由 callbackList 分发
- CameraUtils: 同步移除 initCaptureHelper 中的 onSuccess = {} 空参数
- ObjectBox: 使用 QueryBuilder 替代全量内存过滤(count/filter/remove),提升查询性能
- ObjectBox: 修复 isStorageAvailable 错误检查外部存储状态,改为仅检查内部存储
- ObjectBox: boxStore 添加 @Volatile 注解保证多线程可见性
- ObjectBox: copyAndGzipDatabaseFileTo 增加 IOException 捕获,避免文件异常崩溃
- ObjectBox: safeDbOp 中使用安全调用替代 !! 断言,避免 NPE
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-06 16:52:19 +08:00 |
|
 lvmengandClaude Sonnet 4.6
|
26d9eabc5f
|
feat(activity): 优化图片加载为协程并新增大图左右切换功能
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-06 14:41:39 +08:00 |
|
 lvmengandClaude Sonnet 4.6
|
301b91581b
|
feat(activity): 新增本地图片预览功能及大图查看入口
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-06 14:22:38 +08:00 |
|
 lvmengandClaude Sonnet 4.6
|
8a6a6dfa2d
|
chore(assets): 替换嵌入模型及更新对应数据文件
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-06 09:58:10 +08:00 |
|
 lvmengandClaude Sonnet 4.6
|
2c3ebd86f9
|
refactor: 注释移除 Compose 相关代码,统一入口替换为 HomeActivity
- 注释掉全部 Compose UI 代码(ui/、theme/、NavController、MainActivity、InitActivity 等)
- BorderExt、TextExt、ToastUtils、LoadingState 中的 Compose 逻辑全部注释
- LoadingState 保留 show()/hide() 空方法避免编译报错
- 注释 SensorScaleUtils、BaseViewModel、DeviceViewModel 中的 ToastUtils 调用
- BootReceiver、CrashHandler 中 MainActivity 替换为 HomeActivity
- UserViewModel、PurchaseOrderActivity 删除残余 Compose import
- build.gradle.kts 替换为非 Compose 的 activity-ktx 和 coil 依赖
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-06 09:28:55 +08:00 |
|
 lvmengandClaude Sonnet 4.6
|
b6c7570efd
|
feat(activity): 新增 BaseActivity 沉浸式基类和 HomeActivity 首页,统一 Activity 继承关系
- 新增 BaseActivity:继承 ComponentActivity,隐藏状态栏和导航栏,底部上滑可临时唤出导航栏
- 新增 HomeActivity(XML 版本)及对应布局 activity_home.xml,作为应用启动入口
- GoodsListActivity、FoodCollectionActivity、LocalImagePreviewActivity、PurchaseOrderActivity 统一改为继承 BaseActivity
- 更新 AndroidManifest.xml:HomeActivity 注册为启动入口
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-05 18:54:01 +08:00 |
|
lvmeng
|
d50b11c9aa
|
采购单入库商品默认显示采购单信息;采集数据显示优化
|
2026-03-05 16:26:38 +08:00 |
|