diff --git a/yuthon_issue/models/inherit_room_booking.py b/yuthon_issue/models/inherit_room_booking.py index 1e6391a80..ed55e33c9 100644 --- a/yuthon_issue/models/inherit_room_booking.py +++ b/yuthon_issue/models/inherit_room_booking.py @@ -117,7 +117,10 @@ class IssueMeetingLine(models.Model): def _onchange_decision_results(self): if not self.meeting_booking_id.meeting_type_id: return + meeting_type_name = str(self.meeting_booking_id.meeting_type_id.name).strip() + suffix_list = ['(通过)', '(未通过)'] + if self.decision_results == 'agree': is_agree = 'pass' agree_name = '(通过)' @@ -126,18 +129,37 @@ class IssueMeetingLine(models.Model): is_agree = 'reject' agree_name = '(未通过)' issue_state = 'will' + self.issue_library_id.issue_state = issue_state + + # 2. 党委会相关:先清理旧后缀,再拼接新后缀 if '党' in meeting_type_name: self.issue_library_id.is_party_passed = is_agree original_party_char = self.issue_library_id.party_char or "" - self.issue_library_id.party_char = original_party_char + agree_name + # 清理原有后缀(避免重复拼接) + 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 + # 3. 班子会相关:先清理旧后缀,再拼接新后缀 if '班子' in meeting_type_name: self.issue_library_id.is_class_passed = is_agree original_class_char = self.issue_library_id.class_char or "" - self.issue_library_id.class_char = original_class_char + agree_name + # 清理原有后缀 + 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 + # 4. 董事会相关:先清理旧后缀,再拼接新后缀 if '董事' in meeting_type_name: self.issue_library_id.is_boss_passed = is_agree original_boss_char = self.issue_library_id.boss_char or "" - self.issue_library_id.boss_char = original_boss_char + agree_name + # 清理原有后缀 + clean_boss_char = original_boss_char + for suffix in suffix_list: + clean_boss_char = clean_boss_char.removesuffix(suffix) + # 拼接新后缀 + self.issue_library_id.boss_char = clean_boss_char + agree_name diff --git a/yuthon_trade/report/seal_approval_templates.xml b/yuthon_trade/report/seal_approval_templates.xml index 86d05edc8..2dfb61704 100644 --- a/yuthon_trade/report/seal_approval_templates.xml +++ b/yuthon_trade/report/seal_approval_templates.xml @@ -59,20 +59,11 @@