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