mcpField
D
dtg-base

dtg-base

github.com/unclecatvn开发148329 次安装2 周前更新
代码仓库

关于 dtg-base

dtg-base 是面向 Odoo 18 开发者的 DTG Base 工具参考技能,介绍可由抽象模型继承使用的日期、时区、条码、批处理、文本、文件和数字工具。

主要功能

  1. 01日期与周期计算
  2. 02本地时间与 UTC 转换
  3. 03条码检查和 EAN13 生成
  4. 04记录集批量处理
  5. 05越南语去重音处理
  6. 06文件与数字工具

适用场景

  1. 01在 Odoo 代码中计算周期边界
  2. 02转换本地时间与 UTC 日期时间
  3. 03分批处理大型记录集
  4. 04使用条码和文件工具

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/unclecatvn/agent-skills --skill dtg-base

安装后在 Claude Code 中输入/dtg-base确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

CLAUDE.md
odoo-18-dtg-base-guide.md
README.md

详细介绍

DTG Base 技能

Odoo 18 中 DTG Base 模块实用工具和辅助函数的完整参考。

什么是 DTG Base?

DTG Base 是一个自定义抽象模型(dtg_base.DTGBase),提供 Odoo 开发常用的实用方法。其他模型可以继承它,以使用这些实用工具。

快速参考

实用工具描述
日期与周期查找周期的第一天/最后一天,遍历周期
时区本地时间转 UTC,UTC 转本地时间
条码检查条码是否存在,生成 EAN13
批量处理将大型记录集拆分为多个批次
after_commit在事务提交后执行代码
越南语文本去除重音符号,转换为无重音文本
文件实用工具压缩目录,获取文件大小
数字实用工具四舍五入到指定小数位数

主要指南

文件:odoo-18-dtg-base-guide.md

何时使用此技能
  • 使用 DTG Odoo 代码库
  • 需要进行日期/周期计算
  • 需要进行时区转换
  • 需要验证条码
  • 需要批量处理大型记录集
  • 需要处理越南语文本
  • 需要使用文件压缩工具

DTGBase 抽象模型

继承 DTGBase

位置:addons_customs/erp/dtg_base/models/dtg_base.py

from odoo import models

class MyModel(models.Model):
    _name = 'my.model'
    _inherit = ['dtg_base.dtg_base']

    def my_method(self):
        # Now you have access to all DTGBase utilities
        first_date = self.find_first_date_of_period('2024-01-15', 'month')
        utc_date = self.convert_local_to_utc('2024-01-15 10:00:00')

文件结构

agent-skills/skills/dtg-base/
├── SKILL.md                       # This file - master index
├── odoo-18-dtg-base-guide.md      # Complete DTG Base utilities reference
└── README.md                      # Skill overview

实用工具概览

日期与周期实用工具
  • find_first_date_of_period(date, period_type) - 获取周期的第一天
  • find_last_date_of_period(date, period_type) - 获取周期的最后一天
  • period_iter(start_date, end_date, period_type) - 遍历各个周期
时区转换
  • convert_local_to_utc(local_dt, tz=None) - 将本地日期时间转换为 UTC
  • convert_utc_to_local(utc_dt, tz=None) - 将 UTC 转换为本地日期时间
条码实用工具
  • barcode_exists(barcode, exclude_id=0) - 检查条码是否已存在
  • get_ean13 barcode) - 生成/检查 EAN13 条码
批量处理
  • splittor(limit=None) - 将记录集拆分为多个批次进行处理
字符串与文本实用工具
  • strip_accents(text) - 去除越南语重音符号
  • _no_accent_vietnamese(text) - 转换越南语文本
文件实用工具
  • zip_dir(source_dir, output_file) - 压缩目录
  • zip_dirs(dirs, output_file) - 压缩多个目录
  • _get_file_size(file_path) - 获取易读的文件大小
数字实用工具
  • round_decimal(value, decimal_places) - 四舍五入到指定小数位数

详细文档请参阅 odoo-18-dtg-base-guide.md

评论

支持 Markdown