OdooDigitizationService/addons/tx_cms_upgrade/models/transformation.py

187 lines
7.7 KiB
Python

# -*- coding: utf-8 -*-
from odoo import models, fields, api
class TxBenchmarkingScenarios(models.Model):
_name = 'tx.benchmarking.scenarios'
_inherit = ['mail.thread', 'mail.activity.mixin']
_description = '标杆场景'
_order = "id desc"
def _domain_technical_ids(self):
parent_id = self.env["tx.data.dict"].search([("code", "=", "ys_technical_type")], limit=1)
return [("parent_id", "=", parent_id.id),
("category", "=", "value")]
def _domain_industry_ids(self):
parent_id = self.env["tx.data.dict"].search([("code", "=", "ys_industry_type")], limit=1)
return [("parent_id", "=", parent_id.id),
("category", "=", "value")]
def _domain_tag_ids(self):
parent_id = self.env["tx.data.dict"].search([("code", "=", "pub_tags")], limit=1)
return [("parent_id", "=", parent_id.id),
("category", "=", "value")]
name = fields.Char(string='场景名称', tracking=True)
company_name = fields.Char(string="公司名称", tracking=True)
brief_introduction = fields.Html(string="场景简介", tracking=True)
content = fields.Html(string="详情", tracking=True)
technical_ids = fields.Many2many("tx.data.dict", "tx_scenarios_technical_ref", "scenarios_id", "technical_id",
tracking=True, string="技术领域", domain=lambda self: self._domain_technical_ids())
industry_ids = fields.Many2many("tx.data.dict", "tx_scenarios_industry_ref", "scenarios_id", "industry_id",
tracking=True, string="行业领域", domain=lambda self: self._domain_industry_ids())
tag_ids = fields.Many2many("tx.data.dict", "tx_scenarios_tag_ref", "scenarios_id", "tag_id", tracking=True,
string="标签类型", domain=lambda self: self._domain_tag_ids())
recommend = fields.Boolean(string="是否推荐", default=False)
remarks = fields.Text(string="备注")
class TxCapabilityDiagnosis(models.Model):
_name = 'tx.capability.diagnosis'
_inherit = ['mail.thread', 'mail.activity.mixin']
_description = '能力诊断'
_order = "id desc"
img = fields.Image(string="图片", tracking=True)
name = fields.Char(string='诊断名称', tracking=True)
diagnosis_range = fields.Char(string="评估范围", tracking=True)
foundation = fields.Char(string="评估依据", tracking=True)
brief_introduction = fields.Html(string="诊断简介", tracking=True)
guide_company_name = fields.Char(string="指导单位", tracking=True)
implement_company_name = fields.Char(string="实施单位", tracking=True)
support_company_name = fields.Char(string="支撑单位", tracking=True)
content = fields.Html(string="诊断内容", tracking=True)
state = fields.Selection([
("draft", "未开始"),
("to_done", "进行中"),
("done", "完成"),
("cancel", "取消")], string="状态", default="draft", tracking=True)
diagnosis_type = fields.Char(string="类型", tracking=True)
remarks = fields.Text(string="备注", tracking=True)
def get_state_value(self, state):
selection = self._fields["state"].selection
for s in selection:
if state == s[0]:
return s[1]
return state
def action_draft(self):
self.write({"state": "draft"})
def action_to_done(self):
self.write({"state": "to_done"})
def action_done(self):
self.write({"state": "done"})
def action_cancel(self):
self.write({"state": "cancel"})
class TxActivityExploration(models.Model):
_name = 'tx.activity.exploration'
_inherit = ['mail.thread', 'mail.activity.mixin']
_description = '活动探索'
_order = "is_top DESC, id DESC"
name = fields.Char(string='名称', tracking=True)
img = fields.Image(string="图片", tracking=True)
brief_introduction = fields.Html(string="简介", tracking=True)
content = fields.Html(string="内容", tracking=True)
start_date = fields.Date(string="开始日期", tracking=True)
end_date = fields.Date(string="结束日期", tracking=True)
is_top = fields.Boolean(string="是否置顶", default=False, tracking=True)
remarks = fields.Text(string="备注", tracking=True)
state = fields.Selection([("draft", "未开始"), ("to_do", "进行中"), ("done", "已结束")],
string="搜索状态", default="draft", compute="_compute_s_state")
def _compute_s_state(self):
for r in self:
if fields.Date.today() < r.start_date:
state = "draft"
elif fields.Date.today() > r.end_date:
state = "done"
else:
state = "to_do"
r.state = state
def get_state_value(self, state):
selection = self._fields["state"].selection
for s in selection:
if state == s[0]:
return s[1]
return state
class TxCollectionDemandScenarios(models.Model):
_name = 'tx.collection.demand.scenarios'
_inherit = ['mail.thread', 'mail.activity.mixin']
_description = '需求场景征集'
company_name = fields.Char(string="企业名称", tracking=True)
name = fields.Char(string='需求场景名称', tracking=True)
scenarios_type = fields.Char(string="类型", tracking=True)
sub_territory = fields.Char(string="细分领域", tracking=True)
describe = fields.Html(string="需求描述", tracking=True)
scenarios_date = fields.Date(string="提交时间", tracking=True)
img = fields.Image(string="需求图片", tracking=True)
demand_file = fields.Binary(string="需求文件", tracking=True)
demand_file_name = fields.Char(string="需求文件", tracking=True)
ask = fields.Text(string="考核要求", tracking=True)
content = fields.Html(string="交付内容", tracking=True)
done_date = fields.Date(string="完成时间", tracking=True)
amount = fields.Float(string="合同金额", tracking=True)
cooperation_intention = fields.Html(string="签约合作意向", tracking=True)
provide_company_name = fields.Char(string="方案提供方", tracking=True)
contact_person = fields.Char(string="联系人")
contact_email = fields.Char(string="联系人邮箱")
state = fields.Selection([
("draft", "草稿"),
("approve", "待审核"),
("done", "通过"),
("reject", "驳回")], string="状态", default="approve")
def action_draft(self):
self.write({"state": "draft"})
def action_approve(self):
self.write({"scenarios_date": fields.Date.today()})
self.write({"state": "approve"})
def action_pass(self):
self.write({"state": "done"})
def action_reject(self):
self.write({"state": "reject"})
class TXDemandScanned(models.Model):
_name = "tx.demand.scanned"
_inherit = ['mail.thread', 'mail.activity.mixin']
_description = '盖章扫描件'
_order = "id desc"
company_name = fields.Char(string="企业名称")
contact_name = fields.Char(string="联系人姓名")
contact_position = fields.Char(string="联系人职务")
contact_phone = fields.Char(string="联系人电话")
scanned_file = fields.Binary(string="扫描文件")
scanned_file_name = fields.Char(string="扫描文件名称")
state = fields.Selection([("1", "待审核"), ("2", "通过"), ("2", "不通过")], string="状态", default="1")
class TxRequirementCollectionConfiguration(models.Model):
_name = 'tx.requirement.collection.configuration'
_inherit = ['mail.thread', 'mail.activity.mixin']
_description = '需求场景征集配置'
_order = "id desc"
name = fields.Char(string='名称', tracking=True)
state = fields.Selection([("1", "开启"), ("2", "关闭")], string="状态", default="1")