--- trigger: always_on --- 1. 读取ExcelFile/20251218161818.xlsx文件,这个是其他系统导出的Excel模板文件,文件名称里面是时间信息,里面有多个Sheet,每个Sheet都是一个表 2. 根据这个Excel文件和里面的多个Sheet帮我建立一个多个数据模型,数据模型建立在FATrace.Model/FileModel 下面 3. 数据模型/表的翻译如下: 工厂-入库 :FactoryInbound 工厂-领料:FactoryMaterial Withdrawal 工厂-出入库:**FactoryInventoryTransaction** 工厂-原料生产信息:FactoryProductionRecord 工厂-成品出库:FactoryOutbound OEM-入库:OEMInbound OEM-出库:OEMOutbound OEM-出入库:OEMInventoryTransaction OEM-原料使用信息:OEMRawUsageInfo 4. 每个表/模型的字段属性的名称,你可以读取excel里面的列头中文进行翻译,要求简洁。 很多的字段属性在FATrace.Model下其他的表/模型里面有有了,你可以借鉴他们的属性字段英文名称,这样属性字段能统一。 这些sheet里面的数据我后期只是展示用,表/模型的主键用long,其他Excel数据属性字段数据类型全部用string 类型, 5. 其他系统是计划在每天0点下载一次这个文件(上面的Excel模板文件),我们每天每个小时进行文件数据的检查,发现文件后读取Excel文件,把这些数据按照sheet(表格)存储到数据库中,然后把这些文件文件拷贝到另一个地方,那么读取文件的路径和拷贝到另一个文件的路径要可配置。 6. 每次读取Excel文件且拷贝并保存到数据库成功后要把这个信息记录一个表中,这个表的你可以自己定义,方便我后期查找问题和对照数据 7. 按照我的框架和模型,每个表都要做一个查询界面(从数据库中查询),这些查询界面View和ViewModel等其他,你需要按照我当前的框架和模式开发,这样代码能统一,这些数据的查询界面单独一个菜单目录节点,不要跟其他的查询放到一起,要分开 8. 有不理解的地方需要跟我确认,你要列一个任务清单,一个一个的执行 9. 你可以联网查询你需要的内容 10. 这些逻辑放到FATrace.WPLApp.Services.ReadFileServices 中,查询界面(View + ViewModel)放到FATrace.WPLApp中 11. 每个Sheet的列头内容 工厂-入库 | 产地 | 原料代码 | 原料名称 | 重量 | 登录日 | 登录时间 | 登录日期时间 | | ---- | -------- | -------- | ---- | ------ | -------- | ------------ | 工厂-领料 | 产地 | 原料代码 | 原料名称 | 重量 | 登录日 | 登录时间 | 登录日期时间 | | ---- | -------- | -------- | ---- | ------ | -------- | ------------ | 工厂-出入库 | 入库时间 | 出库时间 | 产地 | 原料代码 | 原料名称 | 入库总重量KG | 出库总重量KG | 剩余重量KG | | -------- | -------- | ---- | -------- | -------- | ------------ | ------------ | ---------- | 工厂-原料生产信息 | 原料编号 | 原料名称 | 产地 | 内袋二维码 | 外箱二维码 | 批号 | 保质期 | 称重重量(g) | 配料日期 | 剩余重量(Kg) | 入库总重量(Kg) | 称重时间 | 操作者 | 确认者 | 外箱扫码时间 | | -------- | -------- | ---- | ---------- | ---------- | ---- | ------ | ----------- | -------- | ------------ | -------------- | -------- | ------ | ------ | ------------ | 工厂-成品出库 | 批号 | 重量 | 保质期 | 产地 | 原料代码 | 原料名称 | 序号 | 登录日 | 登录时间 | 登录日期时间 | | ---- | ---- | ------ | ---- | -------- | -------- | ---- | ------ | -------- | ------------ | OEM-入库 | 批号 | 重量 | 保质期 | 产地 | 原料代码 | 原料名称 | 序号 | 登录日 | 登录时间 | 登录日期时间 | | ---- | ---- | ------ | ---- | -------- | -------- | ---- | ------ | -------- | ------------ | OEM-出库 | 批号 | 重量 | 保质期 | 产地 | 原料代码 | 原料名称 | 序号 | 登录日 | 登录时间 | 登录日期时间 | | ---- | ---- | ------ | ---- | -------- | -------- | ---- | ------ | -------- | ------------ | OEM-出入库 | 入库时间 | 出库时间 | 产地 | 原料代码 | 原料名称 | 入库总重量KG | 出库总重量KG | 剩余重量KG | | -------- | -------- | ---- | -------- | -------- | ------------ | ------------ | ---------- | OEM-原料使用信息 | 原料使用时间 | 内袋二维码 | 原料产地 | 原料名称 | 原料代码 | 视频链接 | | ------------ | ---------- | -------- | -------- | -------- | -------- |