This commit is contained in:
Àî×ÚÕñ 2022-09-19 20:09:12 +08:00
parent 05f85e3ff6
commit c2edd6b83a
2 changed files with 24 additions and 18 deletions

View File

@ -2029,24 +2029,30 @@ async def find_worker_form(
table_data = await crud.api_interview_tables.get_one_table(db, table_id) table_data = await crud.api_interview_tables.get_one_table(db, table_id)
if not table_data: if not table_data:
return schemas.Msg(code=200, msg='报表数据错误', data={}) return schemas.Msg(code=200, msg='报表数据错误', data={})
find_column = interview.find_column
if not interview.find_column:
find_column = ['name', 'extension']
data = await crud.worker_info.find_worker_some(db, findlist=interview.find_column) data = await crud.worker_info.find_worker_some(db, findlist=find_column)
if not data: if not data:
return schemas.Msg(code=-9, msg='无数据', data=None) return schemas.Msg(code=-9, msg='无数据', data=None)
new_data1 = [i for i in data if not i['extension'] or '岗位职级' not in i['extension']]
new_data2 = [i for i in data if i['extension'] and '岗位职级' in i['extension']]
res_msg = { res_msg = {
'未评级': [i['name'] for i in data if i['job_level'] == '未评级'], '未评级': [i['name'] for i in new_data2 if i['extension']['岗位职级'] == ''],
'p1-p3': [i['name'] for i in data if i['job_level'] in ['p1', 'p2', 'p3']], 'p1-p3': [i['name'] for i in new_data2 if i['extension']['岗位职级'] in ['P1', 'P2', 'P3']],
'p4': [i['name'] for i in data if i['job_level'] == 'p4'], 'p4': [i['name'] for i in new_data2 if i['extension']['岗位职级'] == 'P4'],
'p5': [i['name'] for i in data if i['job_level'] == 'p5'], 'p5': [i['name'] for i in new_data2 if i['extension']['岗位职级'] == 'P5'],
'p6': [i['name'] for i in data if i['job_level'] == 'p6'], 'p6': [i['name'] for i in new_data2 if i['extension']['岗位职级'] == 'P6'],
'p7': [i['name'] for i in data if i['job_level'] == 'p7'], 'p7': [i['name'] for i in new_data2 if i['extension']['岗位职级'] == 'P7'],
'p8': [i['name'] for i in data if i['job_level'] == 'p8'], 'p8': [i['name'] for i in new_data2 if i['extension']['岗位职级'] == 'P8'],
'm1': [i['name'] for i in data if i['job_level'] == 'm1'], 'm1': [i['name'] for i in new_data2 if i['extension']['岗位职级'] == 'M1'],
'm2': [i['name'] for i in data if i['job_level'] == 'm2'], 'm2': [i['name'] for i in new_data2 if i['extension']['岗位职级'] == 'M2'],
'm3': [i['name'] for i in data if i['job_level'] == 'm3'], 'm3': [i['name'] for i in new_data2 if i['extension']['岗位职级'] == 'M3'],
'm4': [i['name'] for i in data if i['job_level'] == 'm4'], 'm4': [i['name'] for i in new_data2 if i['extension']['岗位职级'] == 'M4'],
'总人数': len(data) '总人数': len(data)
} }
res_msg['未评级'].extend([i['name'] for i in new_data1])
res_data = [] res_data = []
res_msg1 = { res_msg1 = {
'title': '数量', 'title': '数量',

View File

@ -11,14 +11,14 @@ class CRUDCountInWorker(CRUDBase):
return await self.find_many(db, {}, {'_id': 0}) return await self.find_many(db, {}, {'_id': 0})
# 获取指定字段 # 获取指定字段
async def find_count_some(self, db: AsyncIOMotorDatabase, findlist=[]): async def find_count_some(self, db: AsyncIOMotorDatabase, find_list=[]):
findWhere = {'_id': 0} find_where = {'_id': 0}
if findlist: if find_list:
for key in findlist: for key in find_list:
findWhere.update({ find_where.update({
key: 1 key: 1
}) })
return await self.find_many(db, {}, findWhere) return await self.find_many(db, {}, find_where)
# 查询单条数据 # 查询单条数据
async def find_one_count(self, db: AsyncIOMotorDatabase, count_id): async def find_one_count(self, db: AsyncIOMotorDatabase, count_id):