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.
 
 
 
 
 

86 lines
3.4 KiB

"""
api.basic
~~~~~~~~~~~~~~
有关基础字典的接口.
:copyright: 云南新八达科技有限公司.
:author: 李进才.
"""
from pypinyin import lazy_pinyin, Style
from utils.apiDoc import *
from utils.basicHelper import get_basic_entry_list
from utils.configOperatingTypeHelper import GetOperatingTypeBasicEntryClose, GetOperatingTypeBasicEntryOpen, \
GetOperatingTypeBasicReagentClose, GetOperatingTypeBasicReagentOpen
from utils.listHelper import list2String
from utils.logHelper import LogAdd
@basic.route('/basicReagent')
class BasicReagent(Resource):
@staticmethod
def get():
return get_basic_entry_list(ReagtReagent, request.args, ReagtReagent.Using.desc())
@basic.route('/basicEntry')
class BasicEntry(Resource):
@staticmethod
def get():
return get_basic_entry_list(ReagtEntry, request.args, ReagtEntry.Using.desc())
@basic.route('/disableReagent')
class DisableReagent(Resource):
@staticmethod
def get():
token = request.headers.get('X-Token')
data = request.args
if len(ReagtStock.query.filter_by(ReagentId=int(data.get('ReagentId'))).all()) > 0:
return SuccessResponse(ResultCode.BASIC_INFO_IS_USING, None, None)
disable_reagent = ReagtReagent.query.filter_by(ReagentId=int(data.get('ReagentId'))).first()
disable_reagent.Using = not disable_reagent.Using
LogAdd(token,
GetOperatingTypeBasicReagentClose() if disable_reagent.Using else GetOperatingTypeBasicReagentOpen(),
data, None, data.get('Name'),
list2String(lazy_pinyin(disable_reagent.Name + disable_reagent.Specification, style=Style.FIRST_LETTER)),
'', disable_reagent.Specification, '', remark=F'{"停用" if disable_reagent.Using else "启用"}基础信息(库存盘点)')
db.session.commit()
return SuccessResponse(ResultCode.SUCCESS, None, None)
@basic.route('/disableEntry')
class DisableEntry(Resource):
@staticmethod
def get():
token = request.headers.get('X-Token')
data = request.args
disable_entry = ReagtEntry.query.filter_by(EntryId=int(data.get('EntryId'))).first()
disable_entry.Using = not disable_entry.Using
LogAdd(token,
GetOperatingTypeBasicEntryClose() if disable_entry.Using else GetOperatingTypeBasicEntryOpen(),
data, None, disable_entry.Name,
list2String(lazy_pinyin(disable_entry.Name + disable_entry.Specification, style=Style.FIRST_LETTER)),
disable_entry.Number, disable_entry.Specification, disable_entry.Position,
remark=F'{"停用" if disable_entry.Using else "启用"}基础信息(入库提示)')
db.session.commit()
return SuccessResponse(ResultCode.SUCCESS, None, None)
@basic.route('/groupBind')
class GroupBind(Resource):
@staticmethod
def post():
for item in request.json['reagentData']:
entity = Dict2Obj(item)
reagent_reagent = ReagtReagent.query.filter_by(ReagentId=entity.ReagentId).first()
reagent_reagent.GroupName = request.json.get('groupName')
reagent_reagent.ReportItemName = request.json.get('reportItemName')
reagent_reagent.ReportItemCode = request.json.get('reportItemCode')
reagent_reagent.ReagentMark = entity.ReagentMark
db.session.commit()
return SuccessResponse(ResultCode.SUCCESS, None, None)