def update_audit_flow(apps, schema_editor): specs.updateAuditConfig(spec='law.biz_contract_no_risk:\ fin.fin_accountant->\ fin.owner...') specs.updateAuditConfig(spec='law.biz_contract_risk:\ fin.fin_accountant->\ _.owner->\ root.ceo...')
def test_create_and_update_audit_config(self): positions = [ {'name': '总裁', 'code': 'ceo'}, {'name': '负责人', 'code': 'owner'}, {'name': '会计', 'code': 'accountant'}, {'name': '出纳', 'code': 'cashier'}, {'name': '组员', 'code': 'member'}, # 各部门一般成员职位 {'name': '业务经理', 'code': 'mgr'} # 只在大宗商品事业部 ] for pos in positions: Position.objects.create(**pos) departments = [ {'name': '总部', 'code': 'root'}, {'name': '大宗商品事业部', 'code': 'dazong'}, {'name': '财务中心', 'code': 'fin'}, {'name': '人力行政中心', 'code': 'hr'}, ] for dep in departments: Department.objects.create(**dep) specs.createAuditConfig(spec='fin.cost_lte_5000:\ fin.accountant->\ _.owner->\ hr.owner->\ fin.owner->\ fin.cashier') config = AuditActivityConfig.objects.all()[0] self.assertEqual(config.category, 'fin') self.assertEqual(config.subtype, 'cost_lte_5000') steps = AuditActivityConfigStep.objects.filter( config=config).order_by('position') self.assertEqual(steps.count(), 5) stepDeps = [ s.assigneeDepartment.code if s.assigneeDepartment else None for s in steps] stepPos = [ s.assigneePosition.code if s.assigneePosition else None for s in steps] self.assertListEqual(stepDeps, ['fin', None, 'hr', 'fin', 'fin']) self.assertListEqual( stepPos, ['accountant', 'owner', 'owner', 'owner', 'cashier']) specs.updateAuditConfig(spec='fin.cost_lte_5000:fin.accountant->_.owner->hr.owner') config = AuditActivityConfig.objects.first() self.assertEqual(config.category, 'fin') self.assertEqual(config.subtype, 'cost_lte_5000') steps = AuditActivityConfigStep.objects.filter( config=config).order_by('position') self.assertEqual(steps.count(), 3) stepDeps = [ s.assigneeDepartment.code if s.assigneeDepartment else None for s in steps] stepPos = [ s.assigneePosition.code if s.assigneePosition else None for s in steps] self.assertListEqual(stepDeps, ['fin', None, 'hr']) self.assertListEqual( stepPos, ['accountant', 'owner', 'owner'])
def update_biz_audit_flow(apps, schema_editor): pos_law_mgr = Position.objects.filter(code='law_mgr').first() if pos_law_mgr is None: pos_law_mgr = Position.objects.create(name='投资法务顾问', code='law_mgr') dep_dichan = Department.objects.filter(code='dichan').first() if dep_dichan is None: dep_dichan = Department.objects.create(code='dichan', name='地产事业部') if DepPos.objects.filter(pos=pos_law_mgr, dep=dep_dichan).count() == 0: DepPos.objects.create(pos=pos_law_mgr, dep=dep_dichan) specs.updateAuditConfig(spec='law.biz_contract_no_risk:\ fin.fin_accountant->\ dichan.law_mgr->\ _.owner...') specs.updateAuditConfig(spec='law.biz_contract_risk:\ fin.fin_accountant->\ dichan.law_mgr->\ _.owner->\ root.ceo...')
def update_biz_audit_flow(apps, schema_editor): specs.updateAuditConfig(spec='fin.money_transfer:fin.fin_accountant->fin.owner...')