|  | @@ -492,56 +492,59 @@ class TongCe:
 | 
	
		
			
				|  |  |          # 筛选写入data的数据
 | 
	
		
			
				|  |  |          count = 0
 | 
	
		
			
				|  |  |          no_data_case = []
 | 
	
		
			
				|  |  | -        for ci in crowd_info:
 | 
	
		
			
				|  |  | -            insert_data = []
 | 
	
		
			
				|  |  | -            crowd_info_id = ci[0]
 | 
	
		
			
				|  |  | -            zhifuli = ci[1]
 | 
	
		
			
				|  |  | -            age = ci[2]
 | 
	
		
			
				|  |  | -            city = ci[3]
 | 
	
		
			
				|  |  | -            juzhujiegou = ci[4]
 | 
	
		
			
				|  |  | -            data = self.filter_people(city, age, zhifuli, juzhujiegou)
 | 
	
		
			
				|  |  | -            data.sort(key=lambda obj: obj[0])
 | 
	
		
			
				|  |  | -            for key, questions_data in groupby(data, key=lambda obj: obj[0]):
 | 
	
		
			
				|  |  | -                question_data_list = []
 | 
	
		
			
				|  |  | -                for qd in questions_data:
 | 
	
		
			
				|  |  | -                    question_data_list.append([x for x in qd])
 | 
	
		
			
				|  |  | -                rule_id = self.get_rule_id(key, rule)
 | 
	
		
			
				|  |  | -                if rule_id is not None:
 | 
	
		
			
				|  |  | -                    question_people = len(question_data_list)
 | 
	
		
			
				|  |  | -                    if question_people > 0:
 | 
	
		
			
				|  |  | -                        question_data_list.sort(key=lambda obj: obj[3])
 | 
	
		
			
				|  |  | -                        for option_name, option_data_1 in groupby(question_data_list, key=lambda obj: obj[3]):
 | 
	
		
			
				|  |  | -                            option_data_list = []
 | 
	
		
			
				|  |  | -                            for od in option_data_1:
 | 
	
		
			
				|  |  | -                                option_data_list.append([x for x in od])
 | 
	
		
			
				|  |  | -                            if len(option_data_list) > 0:
 | 
	
		
			
				|  |  | -                                match_id = 0
 | 
	
		
			
				|  |  | -                                option_name_alias = option_name
 | 
	
		
			
				|  |  | -                                option_id = option_data_list[0][2]
 | 
	
		
			
				|  |  | -                                for md in self.match_data_info:
 | 
	
		
			
				|  |  | -                                    if str(md[1]) == str(key) and str(md[2]) == str(option_id):
 | 
	
		
			
				|  |  | -                                        match_id = md[0]
 | 
	
		
			
				|  |  | -                                        option_name_alias = md[3]
 | 
	
		
			
				|  |  | -                                insert_data.append([crowd_info_id, match_id, rule_id, option_name_alias, len(option_data_list)])
 | 
	
		
			
				|  |  | -                            else:
 | 
	
		
			
				|  |  | -                                no_data_case.append([zhifuli, city, age, juzhujiegou, option_name])
 | 
	
		
			
				|  |  | -                    else:
 | 
	
		
			
				|  |  | -                        no_data_case.append([zhifuli, city, age, juzhujiegou, key])
 | 
	
		
			
				|  |  | -            count += len(insert_data)
 | 
	
		
			
				|  |  | -            self.linshi_db.add_some(self.sql_6, insert_data)
 | 
	
		
			
				|  |  | -        isnert_data_all = []
 | 
	
		
			
				|  |  | -        quanliang_scores = self.scores()
 | 
	
		
			
				|  |  | -        for q_s in quanliang_scores:
 | 
	
		
			
				|  |  | -            rule_id = self.get_rule_id(q_s[0], rule)
 | 
	
		
			
				|  |  | -            if rule_id:
 | 
	
		
			
				|  |  | -                for md in self.match_data_info:
 | 
	
		
			
				|  |  | -                    if str(md[1]) == str(q_s[0]) and str(md[2]) == str(q_s[1]):
 | 
	
		
			
				|  |  | -                        match_id = md[0]
 | 
	
		
			
				|  |  | -                        option_name_alias = md[3]
 | 
	
		
			
				|  |  | -                        isnert_data_all.append([5405, match_id, rule_id, option_name_alias, q_s[2]])
 | 
	
		
			
				|  |  | -        self.linshi_db.add_some(self.sql_6, isnert_data_all)
 | 
	
		
			
				|  |  | -        count += len(isnert_data_all)
 | 
	
		
			
				|  |  | -        return {'写入库中的数据': count, '无数据': len(no_data_case)}
 | 
	
		
			
				|  |  | +        try:
 | 
	
		
			
				|  |  | +            for ci in crowd_info:
 | 
	
		
			
				|  |  | +                insert_data = []
 | 
	
		
			
				|  |  | +                crowd_info_id = ci[0]
 | 
	
		
			
				|  |  | +                zhifuli = ci[1]
 | 
	
		
			
				|  |  | +                age = ci[2]
 | 
	
		
			
				|  |  | +                city = ci[3]
 | 
	
		
			
				|  |  | +                juzhujiegou = ci[4]
 | 
	
		
			
				|  |  | +                data = self.filter_people(city, age, zhifuli, juzhujiegou)
 | 
	
		
			
				|  |  | +                data.sort(key=lambda obj: obj[0])
 | 
	
		
			
				|  |  | +                for key, questions_data in groupby(data, key=lambda obj: obj[0]):
 | 
	
		
			
				|  |  | +                    question_data_list = []
 | 
	
		
			
				|  |  | +                    for qd in questions_data:
 | 
	
		
			
				|  |  | +                        question_data_list.append([x for x in qd])
 | 
	
		
			
				|  |  | +                    rule_id = self.get_rule_id(key, rule)
 | 
	
		
			
				|  |  | +                    if rule_id is not None:
 | 
	
		
			
				|  |  | +                        question_people = len(question_data_list)
 | 
	
		
			
				|  |  | +                        if question_people > 0:
 | 
	
		
			
				|  |  | +                            question_data_list.sort(key=lambda obj: obj[3])
 | 
	
		
			
				|  |  | +                            for option_name, option_data_1 in groupby(question_data_list, key=lambda obj: obj[3]):
 | 
	
		
			
				|  |  | +                                option_data_list = []
 | 
	
		
			
				|  |  | +                                for od in option_data_1:
 | 
	
		
			
				|  |  | +                                    option_data_list.append([x for x in od])
 | 
	
		
			
				|  |  | +                                if len(option_data_list) > 0:
 | 
	
		
			
				|  |  | +                                    match_id = 0
 | 
	
		
			
				|  |  | +                                    option_name_alias = option_name
 | 
	
		
			
				|  |  | +                                    option_id = option_data_list[0][2]
 | 
	
		
			
				|  |  | +                                    for md in self.match_data_info:
 | 
	
		
			
				|  |  | +                                        if str(md[1]) == str(key) and str(md[2]) == str(option_id):
 | 
	
		
			
				|  |  | +                                            match_id = md[0]
 | 
	
		
			
				|  |  | +                                            option_name_alias = md[3]
 | 
	
		
			
				|  |  | +                                    insert_data.append([crowd_info_id, match_id, rule_id, option_name_alias, len(option_data_list)])
 | 
	
		
			
				|  |  | +                                else:
 | 
	
		
			
				|  |  | +                                    no_data_case.append([zhifuli, city, age, juzhujiegou, option_name])
 | 
	
		
			
				|  |  | +                        else:
 | 
	
		
			
				|  |  | +                            no_data_case.append([zhifuli, city, age, juzhujiegou, key])
 | 
	
		
			
				|  |  | +                count += len(insert_data)
 | 
	
		
			
				|  |  | +                self.linshi_db.add_some(self.sql_6, insert_data)
 | 
	
		
			
				|  |  | +            isnert_data_all = []
 | 
	
		
			
				|  |  | +            quanliang_scores = self.scores()
 | 
	
		
			
				|  |  | +            for q_s in quanliang_scores:
 | 
	
		
			
				|  |  | +                rule_id = self.get_rule_id(q_s[0], rule)
 | 
	
		
			
				|  |  | +                if rule_id:
 | 
	
		
			
				|  |  | +                    for md in self.match_data_info:
 | 
	
		
			
				|  |  | +                        if str(md[1]) == str(q_s[0]) and str(md[2]) == str(q_s[1]):
 | 
	
		
			
				|  |  | +                            match_id = md[0]
 | 
	
		
			
				|  |  | +                            option_name_alias = md[3]
 | 
	
		
			
				|  |  | +                            isnert_data_all.append([5405, match_id, rule_id, option_name_alias, q_s[2]])
 | 
	
		
			
				|  |  | +            self.linshi_db.add_some(self.sql_6, isnert_data_all)
 | 
	
		
			
				|  |  | +            count += len(isnert_data_all)
 | 
	
		
			
				|  |  | +            return {'写入库中的数据': count, '无数据': len(no_data_case)}
 | 
	
		
			
				|  |  | +        except Exception as e:
 | 
	
		
			
				|  |  | +            return str(e)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      sql_20 = '''
 | 
	
		
			
				|  |  |              UPDATE mvp_page_display_rule
 |