@@ -20,16 +20,32 @@ class RoomBooking(models.Model):
|
||||
if record.issue_meeting_line_ids:
|
||||
for meet in record.issue_meeting_line_ids:
|
||||
if meet.issue_library_id:
|
||||
meeting_type_name = str(self.meeting_type_id.name).strip()
|
||||
meeting_type_name = str(record.meeting_type_id.name).strip()
|
||||
if '党' in meeting_type_name:
|
||||
meet.issue_library_id.party_char = str(self.start_datetime.date()) + self.meeting_type_id.name
|
||||
meet.issue_library_id.party_char = str(
|
||||
record.start_datetime.date()) + record.meeting_type_id.name
|
||||
meet.issue_library_id.issue_state_party = 'meeting'
|
||||
|
||||
if '班子' in meeting_type_name:
|
||||
meet.issue_library_id.class_char = str(self.start_datetime.date()) + f'第{self.number_of_meetings}' + self.meeting_type_id.name
|
||||
meet.issue_library_id.class_char = str(
|
||||
record.start_datetime.date()) + f'第{record.number_of_meetings}' + record.meeting_type_id.name
|
||||
meet.issue_library_id.issue_state_class = 'meeting'
|
||||
|
||||
if '董事' in meeting_type_name:
|
||||
meet.issue_library_id.boss_char = str(self.start_datetime.date()) + self.meeting_type_id.name
|
||||
meet.issue_library_id.boss_char = str(
|
||||
record.start_datetime.date()) + record.meeting_type_id.name
|
||||
meet.issue_library_id.issue_state_boss = 'meeting'
|
||||
|
||||
elif '套' in meeting_type_name:
|
||||
if meet.issue_library_id.is_party and (meet.issue_library_id.is_party_passed == 'reject' or not meet.issue_library_id.is_party_passed):
|
||||
meet.issue_library_id.party_char = str(
|
||||
record.start_datetime.date()) + record.meeting_type_id.name
|
||||
meet.issue_library_id.issue_state_party = 'meeting'
|
||||
elif meet.issue_library_id.is_class and (meet.issue_library_id.is_class_passed == 'reject' or not meet.issue_library_id.is_class_passed):
|
||||
meet.issue_library_id.class_char = str(
|
||||
record.start_datetime.date()) + f'第{record.number_of_meetings}' + record.meeting_type_id.name
|
||||
meet.issue_library_id.issue_state_class = 'meeting'
|
||||
|
||||
if self.code:
|
||||
self.env['issue.library.approval.line'].create({
|
||||
'issue_library_id': meet.issue_library_id.id,
|
||||
@@ -300,3 +316,34 @@ class IssueMeetingLine(models.Model):
|
||||
self.issue_library_id.issue_state_boss = 'on_meet'
|
||||
else:
|
||||
self.issue_library_id.issue_state_boss = 'will'
|
||||
|
||||
if '套' in meeting_type_name:
|
||||
if (self.issue_library_id.is_party and
|
||||
(self.issue_library_id.is_party_passed == 'reject' or not self.issue_library_id.is_party_passed)):
|
||||
if self.issue_library_id.is_class:
|
||||
self.issue_library_id.is_push_class = is_push
|
||||
|
||||
self.issue_library_id.is_party_passed = is_agree
|
||||
original_party_char = self.issue_library_id.party_char or ""
|
||||
clean_party_char = original_party_char
|
||||
for suffix in suffix_list:
|
||||
clean_party_char = clean_party_char.removesuffix(suffix)
|
||||
self.issue_library_id.party_char = clean_party_char + agree_name
|
||||
if is_push:
|
||||
self.issue_library_id.issue_state_party = 'on_meet'
|
||||
else:
|
||||
self.issue_library_id.issue_state_party = 'will'
|
||||
|
||||
elif (self.issue_library_id.is_class and
|
||||
(self.issue_library_id.is_class_passed == 'reject' or not self.issue_library_id.is_class_passed)):
|
||||
# 复用班子会的修改逻辑
|
||||
self.issue_library_id.is_class_passed = is_agree
|
||||
original_class_char = self.issue_library_id.class_char or ""
|
||||
clean_class_char = original_class_char
|
||||
for suffix in suffix_list:
|
||||
clean_class_char = clean_class_char.removesuffix(suffix)
|
||||
self.issue_library_id.class_char = clean_class_char + agree_name
|
||||
if is_push:
|
||||
self.issue_library_id.issue_state_class = 'on_meet'
|
||||
else:
|
||||
self.issue_library_id.issue_state_class = 'will'
|
||||
|
||||
@@ -591,6 +591,26 @@ class IssueLibrary(models.Model):
|
||||
break
|
||||
elif passed_result == 'pass':
|
||||
continue
|
||||
|
||||
if len(issue_active_ids) == 2 and all(ras.company_id.name == "天河粮储" for ras in issue_active_ids):
|
||||
record_a, record_b = issue_active_ids
|
||||
# 定义核心判断条件:
|
||||
# 场景1:A党勾 + B党未勾且班子勾 OR 场景2:B党勾 + A党未勾且班子勾
|
||||
condition = ((getattr(record_a, 'is_party', False) and not getattr(record_b, 'is_party', False) and getattr(record_b, 'is_class', False))
|
||||
or
|
||||
(getattr(record_b, 'is_party', False) and not getattr(record_a, 'is_party',False) and getattr(record_a,'is_class', False)))
|
||||
all_char_empty = (
|
||||
not getattr(record_a, 'party_char', '') and not getattr(record_a, 'class_char', '')
|
||||
and
|
||||
not getattr(record_b, 'party_char', '') and not getattr(record_b, 'class_char', '')
|
||||
)
|
||||
if condition and all_char_empty:
|
||||
meeting_type_with_tao = self.env['room.meeting.type'].search([
|
||||
('name', 'ilike', '套')# 模糊匹配含「套」的会议类型
|
||||
], limit=1)
|
||||
if meeting_type_with_tao:
|
||||
target_meeting_type_id = meeting_type_with_tao.id
|
||||
|
||||
form_id = self.env.ref("room.room_booking_view_form", raise_if_not_found=False)
|
||||
return {
|
||||
"type": "ir.actions.act_window",
|
||||
|
||||
@@ -53,9 +53,9 @@
|
||||
decoration-info="issue_state == 'will'"
|
||||
decoration-success="issue_state == 'done'"
|
||||
decoration-muted="issue_state == 'cancel'">
|
||||
<!-- <header>-->
|
||||
<!-- <button name="all_issue_pull" string="提交议题审批" type="object"/>-->
|
||||
<!-- </header>-->
|
||||
<header>
|
||||
<button name="all_meeting_issue" type="object" string="会议安排" class="oe_highlight" groups="yuthon_salary.group_lc_user"/>
|
||||
</header>
|
||||
<field name="name" column_invisible="1"/>
|
||||
<field name="department_id"/>
|
||||
<field name="name_text" class="list_width"/>
|
||||
@@ -358,7 +358,7 @@
|
||||
decoration-success="issue_state_party == 'done'"
|
||||
decoration-muted="issue_state_party == 'cancel'">
|
||||
<header>
|
||||
<button name="all_meeting_issue" type="object" string="批量上会" class="oe_highlight"/>
|
||||
<button name="all_meeting_issue" type="object" string="会议安排" class="oe_highlight"/>
|
||||
<button name="issue_party1_approval" type="object" string="批量审批" class="oe_highlight"/>
|
||||
</header>
|
||||
<field name="name"/>
|
||||
@@ -396,7 +396,7 @@
|
||||
decoration-success="issue_state_party == 'done'"
|
||||
decoration-muted="issue_state_party == 'cancel'">
|
||||
<header>
|
||||
<button name="all_meeting_issue" type="object" string="批量上会" class="oe_highlight"/>
|
||||
<button name="all_meeting_issue" type="object" string="会议安排" class="oe_highlight"/>
|
||||
<button name="issue_party_approval" type="object" string="批量审批" class="oe_highlight"/>
|
||||
</header>
|
||||
<field name="name"/>
|
||||
@@ -574,7 +574,7 @@
|
||||
decoration-success="issue_state == 'done'"
|
||||
decoration-muted="issue_state == 'cancel'">
|
||||
<header>
|
||||
<button name="all_meeting_issue" type="object" string="批量上会" class="oe_highlight"/>
|
||||
<button name="all_meeting_issue" type="object" string="会议安排" class="oe_highlight"/>
|
||||
<button name="issue_class_approval" type="object" string="批量审批" class="oe_highlight"/>
|
||||
</header>
|
||||
<field name="name"/>
|
||||
@@ -735,7 +735,7 @@
|
||||
decoration-success="issue_state_boss == 'done'"
|
||||
decoration-muted="issue_state_boss == 'cancel'">
|
||||
<header>
|
||||
<button name="all_meeting_issue" type="object" string="批量上会" class="oe_highlight"/>
|
||||
<button name="all_meeting_issue" type="object" string="会议安排" class="oe_highlight"/>
|
||||
<button name="issue_boss_approval" type="object" string="批量审批" class="oe_highlight"/>
|
||||
</header>
|
||||
<field name="name"/>
|
||||
|
||||
Reference in New Issue
Block a user