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)
if not table_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:
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 = {
'未评级': [i['name'] for i in data if i['job_level'] == '未评级'],
'p1-p3': [i['name'] for i in data if i['job_level'] in ['p1', 'p2', 'p3']],
'p4': [i['name'] for i in data if i['job_level'] == 'p4'],
'p5': [i['name'] for i in data if i['job_level'] == 'p5'],
'p6': [i['name'] for i in data if i['job_level'] == 'p6'],
'p7': [i['name'] for i in data if i['job_level'] == 'p7'],
'p8': [i['name'] for i in data if i['job_level'] == 'p8'],
'm1': [i['name'] for i in data if i['job_level'] == 'm1'],
'm2': [i['name'] for i in data if i['job_level'] == 'm2'],
'm3': [i['name'] for i in data if i['job_level'] == 'm3'],
'm4': [i['name'] for i in data if i['job_level'] == 'm4'],
'未评级': [i['name'] for i in new_data2 if i['extension']['岗位职级'] == ''],
'p1-p3': [i['name'] for i in new_data2 if i['extension']['岗位职级'] in ['P1', 'P2', 'P3']],
'p4': [i['name'] for i in new_data2 if i['extension']['岗位职级'] == 'P4'],
'p5': [i['name'] for i in new_data2 if i['extension']['岗位职级'] == 'P5'],
'p6': [i['name'] for i in new_data2 if i['extension']['岗位职级'] == 'P6'],
'p7': [i['name'] for i in new_data2 if i['extension']['岗位职级'] == 'P7'],
'p8': [i['name'] for i in new_data2 if i['extension']['岗位职级'] == 'P8'],
'm1': [i['name'] for i in new_data2 if i['extension']['岗位职级'] == 'M1'],
'm2': [i['name'] for i in new_data2 if i['extension']['岗位职级'] == 'M2'],
'm3': [i['name'] for i in new_data2 if i['extension']['岗位职级'] == 'M3'],
'm4': [i['name'] for i in new_data2 if i['extension']['岗位职级'] == 'M4'],
'总人数': len(data)
}
res_msg['未评级'].extend([i['name'] for i in new_data1])
res_data = []
res_msg1 = {
'title': '数量',

View File

@ -11,14 +11,14 @@ class CRUDCountInWorker(CRUDBase):
return await self.find_many(db, {}, {'_id': 0})
# 获取指定字段
async def find_count_some(self, db: AsyncIOMotorDatabase, findlist=[]):
findWhere = {'_id': 0}
if findlist:
for key in findlist:
findWhere.update({
async def find_count_some(self, db: AsyncIOMotorDatabase, find_list=[]):
find_where = {'_id': 0}
if find_list:
for key in find_list:
find_where.update({
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):