export namespace API {
    // 收费模块
    export namespace Charge {
        export const Log = {
            list: '/charge/log/list', // 收费记录
            reportWithDays: '/charge/log/reportWithDays', // 每日收费报表
            listByDatetime: '/charge/log/listByDatetime', // 获取收退费记录
            listByPatientId: '/charge/log/listByPatientId' // 病人付费记录
        };

        export const Order = {
            list: '/charge/order/list', // 查询list 只有订单信息
            save: '/charge/order/save', // 保存收费订单
            complete: '/charge/order/complete', // 完成订单
            refund: '/charge/order/refund', //
            getPrintInfoByCode: '/charge/order/getPrintInfoByCode', // 根据订单号获取订单详情,小票打印用
            getByDiagnosisCode: '/charge/order/getByDiagnosisCode', // 根据诊断code和状态获取诊断信息
            getByCode: '/charge/order/getByCode', // 根据code查询订单详情
            listWithDetail: '/charge/order/listWithDetail' // 查询list 带详情
        };

        export const Social = {
            prePay: 'charge/social/prePay', // 医保预支付
            realPay: 'charge/social/realPay', // 医保真实支付
            upload: 'charge/social/upload' // 医保上传支付明细
        };
    }

    // 通用模块
    export namespace Common {
        export const Auth = {
            get: '/common/auth/get', // 获取认证信息
            set: '/common/auth/set', // 设置认证信息
            check: '/common/auth/check' //
        };

        export const Config = {
            get: '/common/config/get', // 根据key获取配置信息
            list: '/common/config/list', // 查询配置信息
            getAll: '/common/config/getAll', // 查询所有配置信息
            edit: '/common/config/edit', // 修改配置信息
            savePrinter: '/common/config/savePrinter', // 保存打印机配置
            getPrintConfig: '/common/config/getPrintConfig' // 获取打印机配置
        };

        export const Log = {
            list: '/common/log/list' // 查询操作日志
        };

        export const File = {
            download: (token: string) => `common/file/download/${token}`, // 下载文件
            uploadToTemp: 'common/file/uploadToTemp', // 上传临时文件
            upload: 'common/file/upload', // 上传文件
            getImage: (fileName: string) => `common/file/getImage/${fileName}` // 获取图片
        };

        export const ManagerUser = {
            list: '/common/ManagerUser/list', // 所有人员信息
            _data: '/common/ManagerUser/' // 登录
        };

        export const Sign = {
            out: '/common/sign/out', // 医保签退
            in: '/common/sign/in' // 医保签到
        };
    }

    // 诊断模块
    export namespace Diagnosis {
        export const Base = {
            save: '/diagnosis/base/save', // 保存诊断
            getRegistrationDetail: '/diagnosis/base/getRegistrationDetail', // 获取挂号信息
            getByDiagnosisCode: '/diagnosis/base/getByDiagnosisCode', // 获取诊断信息
            ChargeQueueList: '/diagnosis/base/ChargeQueueList', // 获取收费队列
            listByPatient: '/diagnosis/base/listByPatient', // 查询患者病历
            getByRegisId: '/diagnosis/base/getByRegisId' // 根据挂单号回显病历详情
        };
    }

    // 商品模块
    export namespace Goods {
        export const Cate = {
            list: '/goods/cate/list', // 根据type获取商品二级分类列表
            save: '/goods/cate/save', // 保存二级分类
            del: '/goods/cate/del', // 删除二级分类
            getAllList: '/goods/cate/getAllList' // 获取所有分类
        };

        export const Base = {
            get: '/goods/base/get', // 根据商品id获取商品
            save: '/goods/base/save', // 商品建档或修改
            search: '/goods/base/search', // 商品搜索一键建档内的搜索
            disableSale: '/goods/base/disableSale', // 停售商品
            addIdCode: '/goods/base/addIdCode', // 商品添加标识码
            enableSale: '/goods/base/enableSale', // 起售商品
            returnInit: '/goods/base/returnInit', // 商品重新初始化医保库存
            getByCateId: '/goods/base/getByCateId', // 获取二级分类绑定的商品数量
            DetailWithSearch: '/goods/base/DetailWithSearch' // 商品搜索
        };
    }

    // 库存模块
    export namespace Inventory {
        export const Apply = {
            list: '/inventory/apply/list', // 分页查询领用单
            create: '/inventory/apply/create', // 创建领用单并领用
            getDetail: '/inventory/apply/getDetail' // 获取领用单详情
        };

        export const Check = {
            list: '/inventory/check/list', // 盘点列表分页查询
            save: '/inventory/check/save', // 保存盘点记录
            getDetail: '/inventory/check/getDetail' // 获取盘点单详情
        };

        export const Goods = {
            log: '/inventory/goods/log', // 获取库存日志
            update: '/inventory/goods/update', // 修改库存采购信息
            listByIds: '/inventory/goods/listByIds', // 根据库存id集合获取库存信息
            statistics: '/inventory/goods/statistics', // 库存统计
            getByGoodsId: '/inventory/goods/getByGoodsId', // 获取商品库存信息 根据goodsId
            listByGoodsId: '/inventory/goods/listByGoodsId', // 获取商品库存信息 根据goodsId
            listByOrderCode: '/inventory/goods/listByOrderCode' // 获取采购单信息 根据code
        };

        export const Order = {
            update: '/inventory/order/update', // 更新采购单基本信息
            list: '/inventory/order/list', // 分页查询采购单
            create: '/inventory/order/create', // 创建采购单
            detail: '/inventory/order/detail', // 获取采购单详情
            refund: '/inventory/order/refund', // 采购单退货
            toExcel: '/inventory/order/toExcel', // 采购一键导入，生成excel
            fromExcel: '/inventory/order/fromExcel', // 采购一键导入，解析excel
            addGoods: '/inventory/order/addGoods' // 采购单修改时 添加采购的商品
        };

        export const Supplier = {
            list: '/inventory/supplier/list', // 分页查询供货商
            save: '/inventory/supplier/save' // 保存供货商
        };
    }

    // 项目模块
    export namespace Item {
        export const get = '/item/get'; // 获取项目详情
        export const search = '/item/search'; // 搜索项目
        export const del = '/item/del'; // 删除项目
        export const list = '/item/list'; // 获取非组套列表
        export const deleteGroup = '/item/deleteGroup'; // 删除组套
        export const edit = '/item/edit'; // 修改项目
        export const groupList = '/item/groupList'; // 获取组套列表
        export const add = '/item/add'; // 添加项目
        export const getGroup = '/item/getGroup'; // 获取组套
        export const saveGroup = '/item/saveGroup'; // 保存组套
    }

    // 组织模块
    export namespace Organization {
        export const Member = {
            get: '/organization/member/get', // 获取成员信息
            list: '/organization/member/list', // 分页查询成员列表
            save: '/organization/member/save', // 保存成员信息
            search: '/organization/member/search', // 搜索成员
            del: '/organization/member/del', // 删除成员
            listBySectionId: '/organization/member/listBySectionId' // 获取当前科室的所有医生
        };

        export const Section = {
            add: '/organization/section/add', // 添加科室
            get: '/organization/section/get', // 获取科室信息
            list: '/organization/section/list', //
            allList: '/organization/section/allList', // 获取所有科室
            del: '/organization/section/del', // 删除科室
            edit: '/organization/section/edit', // 修改科室信息
            listByMemberId: '/organization/section/listByMemberId' // 获取当前成员的所属科室
        };
    }

    // 患者模块
    export namespace Patient {
        export const Base = {
            get: '/patient/base/get', // 获取患者信息
            update: '/patient/base/update', // 修改患者信息
            create: '/patient/base/create', // 创建患者
            search: '/patient/base/search', // 搜索患者
            del: '/patient/base/del', // 删除患者
            changeLevel: '/patient/base/changeLevel', // 改变会员等级
            list: '/patient/base/list' // 分页查询患者列表
        };

        export const Integral = {
            add: '/patient/integral/add', // 添加会员积分
            list: '/patient/integral/list' // 分页查询会员积分记录
        };

        export const LevelConfig = {
            get: '/patient/levelConfig/get', // 根据leveId获取会员等级配置
            save: '/patient/levelConfig/save', // 保存会员等级配置
            create: '/patient/levelConfig/create', // 新增会员等级配置
            del: '/patient/levelConfig/del', // 删除一个会员等级配置
            edit: '/patient/levelConfig/edit', // 修改会员等级配置
            list: '/patient/levelConfig/list' // 分页查询会员等级配置
        };

        export const Registration = {
            add: '/patient/registration/add', // 挂号
            get: '/patient/registration/get', // 获取挂号信息 根据挂号id
            list: '/patient/registration/list', // 分页查询挂号列表
            cancel: '/patient/registration/cancel', // 取消挂号
            allList: '/patient/registration/allList', // 获取挂号信息列表
            del: '/patient/registration/del', // 删除挂号信息
            changeStatus: '/patient/registration/changeStatus', // 更改挂号单状态
            getWithPatient: '/patient/registration/getWithPatient', // 根据id返回挂号详细信息 包含患者信息
            edit: '/patient/registration/edit', // 修改挂号信息
            listByType: '/patient/registration/listByType' // 挂号信息分页搜索
        };
    }

    // 社保模块
    export namespace Social {
        export const Recipe = {
            download: '/social/recipe/download' // 下载中药颗粒
        };

        export const Disease = {
            download: '/social/disease/download' //
        };

        export const Diagnose = {
            search: '/social/diagnose/search' // 诊断搜索
        };

        export const Directory = {
            search: '/social/directory/search', // 搜索目录信息
            _data: '/social/directory/', // 同步到MongoDB
            getByCode: '/social/directory/getByCode', // 根据医保码，获取医保商品信息
            searchProducer: '/social/directory/searchProducer', // 搜索企业信息
            get_doc_list: '/social/directory/get_doc_list', // 获取目录列表
            itemSearch: '/social/directory/itemSearch', // 服务项目搜索
            column_list: '/social/directory/column_list', // 获取目录列 列表
            getItemByCode: '/social/directory/getItemByCode' // 根据医保码，获取医保服务项目信息
        };

        export const DirectoryLimit = {
            get_page: '/social/directory_limit/get_page' // 分页查询目录限制信息
        };

        export const DirectorySelf = {
            get_page: '/social/directory_self/get_page' // 分页查询自付比例信息
        };

        export const DirectoryUpinfo = {
            get_page: '/social/directory_upinfo/get_page' // 分页查询更新信息
        };

        export const DirectoryVersion = {
            list: '/social/directory_version/list', // 获取医保目录版本列表
            get_current: '/social/directory_version/get_current' // 获取当前医保目录版本
        };

        export const Person = {
            getCustomSocialInfo: '/social/person/getCustomSocialInfo', // 获取社保人员信息
            getSocialInfoByPsnNo: '/social/person/getSocialInfoByPsnNo' // 根据社保人员编号获取医保人员信息 redis
        };

        export const Reconciliation = {
            list: '/social/reconciliation/list', // 医保-对账列表
            doDetail: '/social/reconciliation/doDetail', // 明细对账
            doTotal: '/social/reconciliation/doTotal', // 对总账
            reversal: '/social/reconciliation/reversal', // 冲正
            historyList: '/social/reconciliation/historyList' // 自动对账历史记录列表
        };

        export const Upload = {
            getNotDoNumber: '/social/upload/getNotDoNumber', // 获取进销存 3501-3506 未上报数量
            get3503List: '/social/upload/get3503List', // 分页查询 库存采购数据
            get3501List: '/social/upload/get3501List', // 分页查询 商品初始化数据
            get3502List: '/social/upload/get3502List', // 分页查询 商品库存变更记录
            get3505List: '/social/upload/get3505List', // 获取3505列表
            quickUpload: '/social/upload/quickUpload' // 进销存一键上报接口
        };
    }

    // 统计模块
    export namespace Statistics {
        export const getSalesVolumeOverview = '/statistics/getSalesVolumeOverview'; // 销售人次趋势
        export const numberEarlyWarning = '/statistics/numberEarlyWarning'; // 库存预警
        export const goodsStatistics = '/statistics/goodsStatistics'; // 商品统计
        export const expiryDateWarning = '/statistics/expiryDateWarning'; // 有效期预警
        export const getRevenueOverview = '/statistics/getRevenueOverview'; // 营收概况
        export const getPayOverview = '/statistics/getPayOverview'; // 经营概况
        export const salePerson = '/statistics/salePerson'; // 销售人员统计
        export const getQueueCount = '/statistics/getQueueCount'; // 获取收费队列 就诊队列数量
    }
}