def compliance_risk(param): """ 合规风险打分 Parameters param 近三年合规风险情况 Return score 合规风险得分 """ if param['失信人']: score = 43 elif param['严重违法'] or param['经营异常'] or param['欠税公告'] or param['税收违法']: score = 33 elif param['行政处罚'] or param['环保处罚']: score = 23 else: score = 0 return score def management_risk(param): """ 经营风险打分 """ score = dict() score['立案信息'] = 10 if param['立案信息'] >= 50 else round(param['立案信息'] * 0.2, 2) score['开庭公告'] = 10 if param['开庭公告'] >= 50 else round(param['开庭公告'] * 0.2, 2) score['被执行人'] = 10 if param['被执行人'] >= 30 else round(param['被执行人'] * 0.33, 2) score['法院公告'] = 5 if param['法院公告'] >= 50 else round(param['法院公告'] * 0.1, 2) score['诉讼'] = 10 if param['诉讼'] >= 50 else round(param['诉讼'] * 0.2, 2) score['送达公告'] = 5 if param['送达公告'] >= 50 else round(param['送达公告'] * 0.1, 2) score['股权出质'] = 5 if param['股权出质'] >= 10 else round(param['股权出质'] * 0.5, 2) score['法人变更'] = 1.5 if param['法人变更'] >= 10 else round(param['法人变更'] * 0.15, 2) score['主要成员变更'] = 1.5 if param['主要成员变更'] >= 10 else round(param['主要成员变更'] * 0.15, 2) total_score = round(sum(score.values()), 2) score['合计'] = 10 if total_score > 10 else total_score return score def peripheral_risk(param): """ 关联风险 """ score = dict() score['周边风险'] = dict() score['周边风险']['高风险'] = 5 if param['周边风险']['高风险'] >= 25 else round(param['周边风险']['高风险'] * 0.2, 2) score['周边风险']['警示'] = 5 if param['周边风险']['警示'] >= 50 else round(param['周边风险']['警示'] * 0.1, 2) score['周边风险']['合计'] = sum(score['周边风险'].values()) total_score = sum(score['周边风险'].values()) score['合计'] = 10 if total_score > 10 else total_score return score