You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

53 lines
2.6 KiB

# -*- coding: utf-8 -*-
"""
api.user
~~~~~~~~~~~~~~
有关用户操作的接口.
:copyright: 云南新八达科技有限公司.
:author: 李进才.
"""
from sqlalchemy import func, or_
from utils.apiDoc import *
from utils.PageHepler import *
from utils.configOperatingTypeHelper import GetOperatingTypeOutStock
@accounting.route('/instrumentList')
class InstrumentList(Resource):
@staticmethod
def get():
dictFilter = db.session.query(DictInstrument.InsName.label('InsName'),
func.count(RptCheckresult.SampleCode).label('orderNumber')) \
.join(RptCheckresult, func.substring(RptCheckresult.SampleCode, 1, 2) == DictInstrument.SampleCode) \
.filter(RptCheckresult.TestDate >= request.args.get('startTime')) \
.filter(RptCheckresult.TestDate <= request.args.get('endTime')) \
.group_by(DictInstrument.InsName)
return SuccessResponse(ResultCode.SUCCESS, {'list': db_page(dictFilter,
DictInstrument.InsName,
request.args, 6),
'totalNumber': dictFilter.count()}, None)
@accounting.route('/reagentOutList')
class ReagentOutList(Resource):
@staticmethod
def get():
query = request.args.get('query')
reagent_out_filter = db.session.query(ReagtLog.ReagentName,
ReagtLog.ReagentSpecification,
func.sum(ReagtLog.ReagentNumber).label('ReagentNumber'),
func.sum(ReagtLog.OperateMinNumber).label('OperateMinNumber'))\
.filter(ReagtLog.OperatingType == GetOperatingTypeOutStock()) \
.filter(ReagtLog.OperatingTime >= request.args.get('startTime')) \
.filter(ReagtLog.OperatingTime <= request.args.get('endTime')) \
.filter(or_(ReagtLog.ReagentName.contains(query),
ReagtLog.PinYinCode.contains(query),
ReagtLog.ReagentPosition.contains(query)))\
.group_by(ReagtLog.ReagentName, ReagtLog.ReagentSpecification)
return SuccessResponse(ResultCode.SUCCESS, {'list': db_page(reagent_out_filter,
ReagtLog.ReagentName,
request.args, 6),
'totalNumber': reagent_out_filter.count()}, None)