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
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)
|
|
|