Files
zkxw/docs/中科兴皖需求V0.3.md
T
2026-05-17 08:36:37 +08:00

40 KiB
Raw Blame History

1、客户口述的需求

  • 公司介绍:中科兴皖,是一家做细胞医疗服务的。 主要业务是存储产妇脐带血,干细胞治疗等
  • 公司分为六大部分:市场营销部门(下设 采集部、临床部、中试服务部、支持中心、客服部) 、技术研发部、生产部、质量安全部、财务部、综合部
  • 公司主营业务:细胞存储、细胞培养及医疗应用

1.1、细胞存储

  • 业务流程: 采集专员创建细胞存储协议单,细胞存储协议单创建后会触发两个流程:一个签订协议缴费流程 ,一个是采集、运输、检测、入库的流程
  • 签订协议缴费流程:采集专员在现场跟客户线下签订协议,将签订的协议拍照上传到系统,用户缴费的截图上传到系统。由市场支持专员审核后,标注为已缴费
  • 采集、运输、签收、检测、入库的流程:采集专员在现场采集到细胞样本后,通过快递或其他方式将样本送到站点、站点签收,如果这时候发现样本不合理,此样本作废。流程终止。如果样本正常签收 。 签收成功后会触发两个流程:样本检测、样本制备。 样本检测如果不正常,样本作废。 样本制备如果制备异常,制备终止。如果样本检测正常、样本制备正常,最后由质检专员点击,表示该细胞样本入库成功,开始存储了。这中间只要涉及到不成功,都需要给用户退款(退款流程由市场支持专员发起,财务人员完成)
  • 如果中间客户提出毁约,细胞存储协议单也会被作废掉。给用户退款(退款流程由市场支持专员发起,财务人员完成)

1.2、科研捐赠

  • 科研捐赠采集协议单管理跟细胞存储采集协议单唯一的差别,就是不用缴费。
  • 科研捐赠独立建设一套表模型进行业务数据维护,不跟细胞存储采集单共享。但是基础的样本类型管理、采集协议号管理、客户管理、样本编码管理、采集地区及医院管理,这些基础数据是共享的 【后续补充,暂不开发】

1.3、中试服务

中试服务是渠道商来购买细胞产品,然后提供需要细胞产品服务的人员进行产品的输注。费用是从渠道商账户上扣除

1.4、临床应用

临床应用跟中试服务操作思路一致,有这些区别

  • 临床应用会从用户收费、中试服务是从渠道商扣费
  • 临床应用需要创建一个临床应用单位信息表:核心字段 单位名称、科室/部门、联系人、联系电话
  • 临床应用有个知情同意书签署的附件上传
  • 临床应用不需要体检
  • 临床应用的交付方式是(shsm - 送货上门、kdfh - 快递发货),交付附件、备注、交接温度、送货人姓名、联系电话、出发时间、预计到达时间、交通方式( dc - 打车 、gsc - 公司车 、 qt - 其他)、交通费用(元) 、发货人、发运时间、快递公司、快递单号、快递费用、预计到达时间 。如果交付方式是shsm - 送货上门 ,则需要填写 送货人姓名、联系电话、出发时间、预计到达时间、交通方式( dc - 打车 、gsc - 公司车 、 qt - 其他)、交通费用(元) 。 如果交付方式是 kdfh - 快递发货 , 则需要填写 发货人、发运时间、快递公司、快递单号、快递费用、预计到达时间 【后续补充,暂不开发】

2、系统功能菜单

  • 系统管理
    • 租户管理[2.1.1、租户管理]
    • 字典管理[2.1.2、字典管理]
    • 组织管理[2.1.3、组织管理]
    • 用户管理[2.1.4、用户管理]
    • 角色管理[2.1.5、角色管理]
    • 菜单管理[2.1.6、菜单管理]
    • 站点管理[2.1.7、站点管理]
    • 职位管理[2.1.8、职位管理]
    • 物品单位管理[2.1.9、物品单位管理]
    • 快递公司管理[2.1.10、快递公司管理]
  • 细胞存储管理
    • 采集协议单[2.2.6、采集协议单]
    • 采集协议单审核[2.2.7、采集协议单审核]
    • 采集协议单收款确认(财务确认)[2.2.8、采集协议单收款确认(财务确认)]
    • 采集协议单退费确认(财务确认)[2.2.9、采集协议单退费确认(财务确认)]
    • 分期缴费用户预警模块[2.2.10、分期缴费用户预警模块]
  • 科研捐赠(暂时不开发,后续在完善)
  • 中试服务管理
    • 细胞产品类型管理[2.3.1、细胞产品类型管理]
    • 细胞产品规格管理[2.3.2、细胞产品规格管理]
    • 细胞产品价格体系管理[2.3.3、细胞产品价格体系管理]
    • 细胞产品项目价格管理[2.3.4、细胞产品项目价格管理]
    • 渠道信息管理[2.3.5、渠道信息管理]
    • 体检机构及体检项目及价格维护模块[2.3.6、体检机构及体检项目及价格维护模块]
    • 渠道服务购买订单管理[2.3.7、渠道服务购买订单管理]
    • 渠道服务购买订单管理(财务确认)[2.3.8、渠道服务购买订单管理(财务确认)]
    • 中试服务单管理[2.3.9、中试服务单管理]
  • 临床应用(暂时不开发,后续在完善)
  • 运营支撑
    • 洁净室管理[2.4.1、洁净室管理]
    • 库位管理[2.4.2、库位管理]
    • 展馆预约[2.4.3、展馆预约]
    • 物料管理(暂时不开发,后续在完善)
  • 财务管理(暂时不开发,后续在完善)
  • 生产管理
    • 耗材管理[2.5.1、耗材管理]
    • 耗材包管理[2.5.2、耗材包管理]
    • 试剂管理[2.5.3、试剂管理]
    • SOP文档[2.5.4、SOP文档]
    • 工艺工序分类[2.5.5、工艺工序分类]
    • 工艺产出物类型[2.3.6、工艺产出物类型]
    • 工艺库管理[2.3.7、工艺库管理]
    • 工艺路线配置[2.3.8、工艺路线配置]
    • 细胞存储协议单
    • 中试服务单
    • 生产工单
  • 质检管理
    • (暂时不开发,后续在完善)
  • 基础信息管理
    • 客户管理[2.2.1、客户管理]
    • 细胞样本类型管理[2.2.2、细胞样本类型管理]
    • 采集地区及医院管理[2.2.3、采集地区及医院管理]
    • 采集协议号管理[2.2.4、采集协议号管理]
    • 样本编码管理[2.2.5、样本编码管理]

2.5、生产管理

2.5.1、耗材管理

  • 此模块用于生产耗材管理,支持耗材的新增、修改、删除等功能
  • 生产耗材表核心字段:耗材编码、耗材名称、规格型号、标准用量、描述

2.5.2、耗材包管理

  • 此模块将生产耗材组合成一个耗材包,方便日常数据录入
  • 耗材包主表:编号、名称、使用场景、类型(bzhcb - 标准耗材包、 zdyhcb - 自定义耗材包),状态 (1 - 启用 、 0 - 停用)、备注
  • 耗材包耗材明细表:耗材包id、耗材编码、耗材名称、耗材规格型号、标准用量、备注

2.5.3、试剂管理

  • 此模块用于生产试剂信息的管理
  • 试剂信息表的核心字段:试剂编码、试剂名称、规格、标准用量、单位[下拉数据从 2.1.9、物品单位管理 获取]、描述

2.5.4、SOP文档

  • 此模块用于管理SOP文档管理
  • SOP文档表核心字段:SOP编号、SOP文档名称、版本号、SOP文档附件

2.5.5、工艺工序分类

  • 此模块用于工艺工序分类管理
  • 工艺工序分类表核心字段:分类编码、分类名称

2.3.6、工艺产出物类型

  • 此模块用于工艺产出物类型管理
  • 工艺产出物类型表核心字段:类型编码、类型名称

2.3.7、工艺库管理

  • 此模块用于定义细胞生产过程中的每个工艺的信息,包括预计使用的试剂、预计使用的耗材、预计产出物等关联信息。工艺信息理解就是一个预设的情况,等后续真正生产时候,有这些预制的值可以起到指导作用,同时也方便用户录入信息
  • 生产工艺主表 核心字段:工序代码、工序分类[下拉数据来自于 2.5.5、工艺工序分类]、工序名称、描述、预计使用设备名称、预估耗时、关联的SOP文[从 2.5.4、SOP文档 关联选择, 支持多个附件]
    • 生产工艺试剂关联表 核心字段: 试剂编码、试剂名称、规格、标准用量、单位、是否关键物料 。 (通过关联2.5.3、试剂管理 下拉后,将试剂编码、试剂名称、规格、标准用量、单位都带过来,但是用户可以自己改 标准用量)
    • 生产工艺耗材关联表:核心字段:耗材编码、耗材名称、耗材规格型号、标准用量、是否必需(1 - 必须 , 0 - 可选)、备注, 可以通过从2.5.2、耗材包管理 关联一次性将耗材批量带过来,然后修改。 也可以从2.5.1、耗材管理 待过来
    • 生产工艺产出关联表:核心字段:产出类型(下拉数据来源于 2.3.6、工艺产出物类型)、产出物名称、产出物条码。 产出物条码只有在真实生产时候才会有数据

2.3.8、工艺路线配置

  • 此模块用于将多个生产工艺组织成一个工艺路线图,方便实验室人员在进行细胞生产过程中,快速勾选一个工艺路线图,调整后就可以将生产过程记录下来了
  • 工艺路线图主表 核心字段:路线编码、产品类型(下拉数据来自于 2.3.1、细胞产品类型管理)、路线名称、备注
    • 工艺路线图工艺明细表:工序代码、工序分类[下拉数据来自于 2.5.5、工艺工序分类]、工序名称、描述、预计使用设备名称、预估耗时、关联的SOP文[从 2.5.4、SOP文档 关联选择, 支持多个附件]、排序号
      • 工艺路线图工艺明细表试剂关联表 核心字段: 试剂编码、试剂名称、规格、标准用量、单位、是否关键物料 。 (通过关联2.5.3、试剂管理 下拉后,将试剂编码、试剂名称、规格、标准用量、单位都带过来,但是用户可以自己改 标准用量)
      • 工艺路线图工艺明细表耗材关联表:核心字段:耗材编码、耗材名称、耗材规格型号、标准用量、是否必需(1 - 必须 , 0 - 可选)、备注, 可以通过从2.5.2、耗材包管理 关联一次性将耗材批量带过来,然后修改。 也可以从2.5.1、耗材管理 待过来
      • 工艺路线图工艺明细表产出关联表:核心字段:产出类型(下拉数据来源于 2.3.6、工艺产出物类型)、产出物名称、产出物条码。 产出物条码只有在真实生产时候才会有数据
  • 工艺路线配置这个界面,是可以做成拖拉配置的。界面分三部分、左边是内置的生产工艺的卡片、中间是生产工艺排版的界面,右侧是每个工艺对应的内容(工艺信息、试剂关联信息、耗材关联信息、产出物信息等)

2.4、运营支撑

2.4.1、洁净室管理

  • 此模块用于洁净室信息录入 和 人员出入数据录入就行了
  • 两个表:洁净室信息表、 洁净室人员进出表
  • 洁净室信息表 核心字段:编号、名称、等级(A级、B级、C级、D级)、状态(正常、异常)、面积(m²)
  • 洁净室人员进出表 核心字段:人员、部门、进入时间、目的、离开时间、体温

2.4.2、库位管理

  • 此模块用于细胞存储设施的管理,比如一个液氮罐,可以分很多层、每一层也可以放多个盒子、每个盒子又可以有很多的小方格子
  • 可以考虑要用树形结构来设计存储设施的存储结果
  • 两个表:细胞存储设施表、 细胞存储设施储存位置表(只有叶子节点才是真正的存储细胞的位置)

2.4.3、展馆预约

  • 此模块用于录入展馆预约的信息
  • 展馆预约表核心字段:预约编号、来访单位、联系人、到访日期、人数、接待人员、备注

2.4.4、物料管理

  • (暂时不开发,后续在完善)

2.3、中试服务

  • 表模型层级关系
    • 细胞产品类型表
    • 细胞产品规格表
    • 细胞产品价格体系表
    • 细胞产品项目价格体系表
    • 渠道信息表:渠道名称、统一社会信用代码、渠道类型(yy - 医院、hzjg - 合作机构 、 zs - 诊所、 zfjg - 政府机构 、qt - 其他 )、联系人姓名、联系电话、联系邮箱、渠道协议附件、备注
      • 渠道开票信息子表:一个渠道可能会有多个开票信息。核心字段:单位名称、税号、单位地址、电话、开户银行、银行账号
      • 渠道邮寄地址信息子表:一个渠道可能会有多个邮寄地址。 核心字段:邮寄地址、邮寄联系人、邮寄联系电话
      • 渠道协议信息子表:协议类型( kyxy - 科研协议、 zsxy - 中试协议 、 lcxy - 临床协议), 业务类型 (如果 协议类型 为 科研协议 , 业务类型 就是 kyyy - 科研应用 , 如果协议类型 为 中试协议, 业务类型 就是 中试应用 , 如果 协议类型 为 临床协议, 业务类型为 临床应用)、结算方式( yj - 月结、 jj - 季结 、 nj - 年结 、dcjs - 单次结算)、授信额度(元)、生效日期(YYYYMMDD)、到期日期(YYYYMMDD)、协议状态(生效中、已作废)
        • 渠道协议信息子表-细胞产品价格表,核心字段:项目名称、项目编码、细胞类型编码[2.3.1、细胞产品类型管理]、细胞类型名称[2.3.1、细胞产品类型管理]、规格[2.3.2、细胞产品规格管理]、原价(元)、协议价(元)
    • 体检机构表
      • 体检机构项目价格明细表
      • 体检机构开票信息表
    • 渠道购买服务订单表
      • 渠道服务购买订单-购买产品明细表
      • 渠道服务购买订单-财务确认表
    • 渠道中试服务申请单
      • 患者信息表:支持从[客户管理]中选择。核心字段:姓名、性别、年龄、身份证号、联系电话、紧急联系人、紧急联系人电话、临床诊断、诊断附件、是否需要体检(1 - 需要, 0 - 不需要)(客户信息可以从客户信息表customer选择,然后将信息带出到母亲信息中。 如果客户信息表customer 没有这块的数据, 在保存采集协议单的时候,会新增或者修改客户信息表customer中的客户信息数据)
      • 中试申请单输注方案明细表:一个中式申请单会存在多个细胞输注方案,核心字段包括细胞类型、规格、总疗程数、疗程间隔、输注途径、输注开始日期、备注
        • 中试申请单输注计划明细表,一个细胞类型输注方案会产生多个输注计划,核心字段包括细胞类型、规格、输注时间、状态(待生产、已生产、已交付、已取消)、附件、备注
          • 中试申请单输注计划应用确认子表:一个输注计划就有一个应用确认信息,核心字段包括:确认人、确认时间、确认描述
          • 中试申请单输注计划交付信息子表:一个输注计划就有一个交付信息,核心字段包括:交付编号(自动生成)、备注
            • 中试申请单输注计划交付信息子表的物料清单表:一个交付信息会有多个物料清单:核心字段包括:物料名称、数量、单位
            • 中试申请单输注计划交付信息子表的交付方式表:一个交付信息会有一个交付方式:交付方式( qdzt - 渠道自提 、 kdfh - 快递发货)、交付附件、发运时间、交接温度、备注 、自提人员、联系电话、发货人、快递公司、快递单号、快递费用、预计到达时间。 如果 交付方式 为 qdzt - 渠道自提,则需要填写 交付附件、发运时间、交接温度、备注 、自提人员、联系电话 。 如果交付方式为kdfh - 快递发货,则需要填写 交付附件、发运时间、交接温度、备注 、发货人、快递公司、快递单号、快递费用、预计到达时间。
      • 中试申请单体检信息表,核心字段:中试申请单id 、体检机构、预约时间、预约的费用、实际体检时间、实际体检费用、费用是否结算、体检状态(待体检、已体检)、费用状态(未结算、已结算)、体检备注、体检报告附件
        • 中试申请单体检预约项目明细表:核心字段:项目名称、项目费用(元)、备注
        • 中试申请单体检实际项目明细表:核心字段:项目名称、项目费用(元)、备注

2.3.9、中试服务单管理

  • 基于渠道的服务购买订单,渠道就可以提交中试申请单了,每个中试申请单必须跟一个渠道服务购买订单表关联。
  • 中试申请单这个表,核心字段:id、渠道服务购买订单id 、备注
  • 这个模块用于中试服务单的管理,支持新增、修改、删除

2.3.7、渠道服务购买订单管理

  • 渠道服务购买订单表,核心字段:渠道id、渠道名称、科室/部门、订单类型( yfk - 预付款 、gmcp - 购买产品) 、预付金额(订单类型为yfk - 预付款 就是预付金额)、 购买总金额(订单类型为gmcp - 购买产品 , 就是所有购买的产品总金额)、状态(生效中、 已作废)、备注信息
  • 渠道服务购买订单-购买产品明细表, 当订单类型 为 gmcp - 购买产品。 这里存储购买产品明细,核心字段:项目编码、项目名称、细胞类型、规格、协议单价、购买数量、购买金额、备注
  • 这个模块用于创建渠道服务购买订单信息的管理,新增、修改、删除

2.3.8、渠道服务购买订单管理(财务确认)

  • 渠道服务购买订单-财务确认表,核心字段:确认时间、确认描述、确认附件、备注
  • 这个模块用于财务可以看见渠道服务购买订单信息,看看是否财务到账,进行财务确认工作

2.3.6、体检机构及体检项目及价格维护模块

  • 体检机构表,核心字段:体检机构名称、体检机构地址、联系人、联系人电话、状态(1 - 正常、 0 - 停用)
  • 体检机构开票信息表,核心字段:单位名称、税号、单位地址、电话、开户银行、银行账号
  • 体检机构项目及价格表,核心字段:项目名称、项目费用(元)
  • 此模块用于管理体检信息及体检项目、价格表

2.3.5、渠道信息管理

这个模块可以对渠道信息进行管理。分为基础信息、开票信息、邮寄地址信息、协议信息(点击生效按钮,协议生效。 点击作废按钮,协议作废)

2.3.1、细胞产品类型管理

这个模块用于管理细胞产品类型,核心字段:细胞产品类型编码、细胞产品类型名称

2.3.2、细胞产品规格管理

这个模块用于管理细胞产品规格,核心字段:细胞产品规格编码、细胞产品规格名称

2.3.3、细胞产品价格体系管理

这个模块用于管理细胞产品价格体系,核心字段:项目名称、项目编码、细胞类型编码[2.3.1、细胞产品类型管理]、细胞类型名称[2.3.1、细胞产品类型管理]、规格[2.3.2、细胞产品规格管理]、单价(元)

2.3.4、细胞产品项目价格管理

  • 细胞产品项目价格体系管理,就是将多个细胞产品组合在一起,方便后续跟渠道签协议时候使用
  • 细胞产品项目价格体系表,核心字段: 体系名称、体系编码、状态(1 - 正常、 0 - 停用)
  • 细胞产品项目价格体系-细胞价格表,从【细胞产品价格体系表】选择之后,然后调整下价格就行了。核心字段:项目名称、项目编码、细胞类型编码[2.3.1、细胞产品类型管理]、细胞类型名称[2.3.1、细胞产品类型管理]、规格[2.3.2、细胞产品规格管理]、单价(元)

2.2、细胞存储管理

  • 表模型层级关系
    • 客户信息表: customer
      • 客户随访表:核心字段客户id、随访时间、随访描述
    • 细胞样本类型表
    • 采集地区医院表
    • 采集协议号表
    • 样本编码表
    • 采集协议单表:(id、采集协议号[采集协议号管理]、状态(dsx - 待生效 、 sxz - 生效中、 ygq - 已过期 、 yzf - 已作废、 zky - 转科研)、 协议附件、登记日期(YYYYMMDD)、备注信息、协议生效时间、协议生效描述、协议过期时间、协议过期描述、协议作废时间、协议作废描述、协议转科研时间、协议转科研描述 。 采集协议单状态当前有4个状态、创建协议单时候状态默认 dsx - 待生效 , 后续提供四个按钮 协议生效、协议过期、协议作废、协议转科研 ,来改变协议状态)
      • 采集信息表 : (采集协议单id、采集地区[2.2.3、采集地区及医院管理]、采集医院[2.2.3、采集地区及医院管理]、采集医护、销售人员[2.1.4、用户管理][默认当前登录人]、样本采集时间(YYYYMMDD hh:mm:ss)、母血采集时间(YYYYMMDD hh:mm:ss))
      • 样本信息表 :(1对多的关系,1个采集协议单会有多个样本信息)(采集协议单id、样本类型[2.2.2、细胞样本类型管理]、样本编码[样本编码管理]、采集量、单位[2.1.9、物品单位管理]、价格、存储年限(年)、样本状态(ycj - 已采集、 jcz - 检测中、 yrk - 已入库、yzf - 已作废)、入库日期(YYYYMMDD)、检测开始日期、作废日期、存储到期日期(YYYYMMDD)(= 入库日期 + 存储年限(年))、备注。 样本状态:创建样本信息时候,默认状态就是 ycj -已采集 。 提供三个按钮 样本检测、样本入库、样本作废,分别来修改样本的状态。 样本检测 按钮点击后,样本状态会变成jcz - 检测中,检测开始日期为当天。样本入库 按钮点击时候,会记录入库日期为当天,样本状态变成 yrk - 已入库。 样本作废 按钮点击后,样本状态就变成了 yzf - 已作废,作废日期 为当天)
        • 运输信息表 : (一个样本对应一个运输信息,在界面操作时候也支持勾选所有样本录入一份的信息,那就代表这些样本都是同样的快递信息)(采集协议单中样本运输信息表核心字段:采集协议单id、样本id、运输类型(kdys - 快递运输 、 ryxd - 人员携带 )、快递公司[2.1.10、快递公司管理]、快递单号、目的站点[2.1.7、站点管理]、快递费用(元)、预计到达时间(YYYYMMDD hh:mm:ss)、携带人员姓名、携带人员联系电话。 如果运输类型是 kdys - 快递运输 ,则填写 快递公司、快递单号、目的站点、快递费用(元)、预计到达时间。 如果运输类型是ryxd - 人员携带,则填写 携带人员姓名、携带人员联系电话、目的站点、预计到达时间)
      • 缴费信息表: (采集协议单中缴费信息主表核心字段: 采集协议单id、缴费方式(dj - 趸交 、 fq - 分期)、合同金额、分期期数、每期间隔(月)、趸交截止时间(YYYYMMDD)、分期开始时间(YYYYMMDD, 缴费方式为fq - 分期,这个字段要填,填写完成后,分期期数、每期间隔(月),就会自动在子表中生成数据 ))(缴费方式中趸交就是一次性缴费的意思)
        • 缴费信息子表: (采集协议单中缴费信息子表核心字段:缴费信息主表id、转账方式(wxzz - 微信转账、 zzbzz - 支付宝转账 、 yhkzz - 银行卡转账 、 xj - 现金) 、转账金额、转账时间 、转账附件 、财务确认附件、缴费状态(待缴费、缴费确认中、已缴费、退费确认中、已退费) 分期期数(如果是趸交,这个期数就为空)、分期应缴费时间(YYYYMMDD 缴费方式为分期时候,才有这个值)、备注。 如果为缴费方式为 dj - 趸交, 则只有一条记录。如果为缴费方式 为 fq - 分期,则有分期数一样数目的记录)
      • 客户信息表: (这里是采集协议单中客户信息表,跟客户信息表 customer 不一样)(客户信息表核心字段:采集协议单id、客户id,母亲姓名、母亲联系电话、母亲身份证号、母亲出生年月(YYYYMM)、母亲民族、母亲家庭住址、父亲姓名、父亲电话、父亲身份证号、新生儿分娩时间、新生儿性别(1 - 男 、0 - 女)、分娩方式(sc - 顺产、 pgc - 剖宫产)、胎次(生育第几胎的意思,生育第一胎就是1 , 生育第二胎就是2,以此类推) 、 新生儿体重(克)、新生儿评分(1分钟)、新生儿评分(5分钟)、采集专员[用户管理,默认当前登录用户的id])
      • 审核信息表: (采集协议单有一条审核记录表,核心字段: 采集协议单id、审核人、审核备注、审核状态(shtg - 审核通过、 shth - 审核退回))
      • 新生儿满月待办表: (生效中的采集协议单中已满月的新生儿信息, 这个满月待办表中,核心字段:采集单协议id、满月待办状态(1 - 已办报销 、 0 - 未办保险)、办理日期、办理备注、保险附件)
      • 储存证表: (生效中的,并且样本已经入库的采集协议单, 储存证表中,核心字段:制作状态(1 - 已制作 , 0 - 未制作) 储存证图片、制作日期,备注)
      • 操作日志表: (采集协议单操作日志表:记录针对采集协议单的操作日志信息,需要我们针对协议单的所有操作都要有个编码、名称。方便记录操作日志)

2.2.6、采集协议单

  • 这个界面展示采集专员自己创建的所有的协议单。这个界面支持协议单的创建、修改、删除
  • 采集协议单新增弹窗中,要填写客户信息(客户信息可以从客户信息表customer选择,然后将信息带出到母亲信息中。 如果客户信息表customer 没有这块的数据, 在保存采集协议单的时候,会新增或者修改客户信息表customer中的客户信息数据)、采集信息、样本信息、运输信息、缴费信息、协议单信息 、备注

2.2.7、采集协议单审核

  • 这个界面可以看到所有的采集协议单,这个界面也支持协议单的创建、修改、删除
  • 增加一个审核按钮,审核弹窗中,可以填写审核备注、审核状态
  • 增加一个缴费确认发起按钮,点击后,缴费状态变成缴费确认中
  • 增加一个退费确认发起按钮,点击后,缴费状态变成退费确认中
  • 增加四个按钮:协议生效、协议过期、协议作废、协议转科研
  • 增加一个按钮:弹窗中可以查看、新增、编辑、删除客户随访信息

2.2.8、采集协议单收款确认(财务确认)

  • 财务人员可以看见所有的采集协议单的所有的缴费部分的内容,可以对状态为缴费确认中的缴费信息单进行缴费确认,上传确认附件

2.2.9、采集协议单退费确认(财务确认)

  • 财务人员可以看见所有的采集协议单的所有的缴费部分的内容,可以对状态为退费确认中的缴费信息单进行退费确认,上传确认附件

2.2.10、分期缴费用户预警模块

  • 这个模块将分期缴费中最近7天缴费到期的数据展示出来。

2.2.5、样本编码管理

  • 此模块用于样本编码维护管理、核心字段:样本编码(32位)、是否下发(1 - 是 、 0 -否)

2.2.4、采集协议号管理

  • 此模块用于采集协议号表维护管理,核心字段:采集协议号(32位)、是否下发(1 - 是 、 0 -否)

2.2.3、采集地区及医院管理

  • 此模块用于采集地区和地区内医院的信息。
  • 采集地区医院表,核心字段:地区名称、医院名称集(医院名称逗号分隔存储)
  • 这个模块展示采集地区信息,支持采集地区的新增、修改、删除、地区医院的配置。点击【地区医院配置】的按钮弹出弹窗,弹窗中可以进行医院信息的新增、修改、删除
  • 采集地区跟医院之间是1对多的关系

2.2.2、细胞样本类型管理

  • 此模块用于维护样本类型表,核心字段包括: 样本类型编码、样本类型名称、样本存储年份、样本存储价格(元)
  • 目前样本类型有三种:wcqzxgxb - 围产期造血干细胞、qdjczgxb - 脐带间充质干细胞、 tpyqngxb - 胎盘亚全能干细胞
  • 这个模块提供细胞样本类型信息管理功能,包括新增、修改、删除等功能

2.2.1、客户管理

  • 每个客户都有个客户标签字段,这个字段存储着客户所有的标签,标签名称之间用逗号分隔。目前客户标签采取手动写标签名称,没有标准的客户标签
  • 客户信息表customer包括:客户姓名、客户性别(0 - 男 1 - 女 2 - 未知)、身份证号、年龄、联系电话、客户标签(多个标签之间用逗号分隔)。
  • 客户信息表中,客户姓名必须填写,但不要求唯一,因为存在重名的场景。如果身份证一样的,那就不要重复创建用户了,提醒用户已创建
  • 这个模块提供一个客户信息展示、新增、修改、删除的功能

2.1、系统管理

2.1.1、租户管理

  • 此模块给超级系统管理员superadmin 使用
  • 租户信息包括:id,租户编号(用户自由编排),租户名称、联系人姓名、联系电话
  • 目前系统就一个租户: 中科兴皖,租户编号 zkxw
  • 这个模块提供租户的列表展示,提供租户的增加、删除、修改功能

2.1.2、字典管理

  • 字典管理用于给中科兴皖一体化门户系统中,所有的字典项进行统一管理
  • 字典数据表 TABLE sys_dict_data 核心字段:
`dict_label` varchar(100) DEFAULT '' COMMENT '字典标签',
`dict_value` varchar(100) DEFAULT '' COMMENT '字典键值',
`dict_type` varchar(100) DEFAULT '' COMMENT '字典类型',
  • 字典类型表 TABLE sys_dict_type 核心字段:
`dict_name` varchar(100) DEFAULT '' COMMENT '字典名称',
`dict_type` varchar(100) DEFAULT '' COMMENT '字典类型',
  • 界面中展示字典类型信息,支持字典类型的新增、修改、删除、字典数据配置的功能。点击【字典数据配置】按钮,弹出弹窗,弹窗中支持字典类型的字典数据的展示、新增、修改、删除的功能

  • 下面是系统初始化阶段有哪些字典类型及字典数据

    • 组织类别的类型编码: zzlbbm , 字典数据 gs - 公司 、 fgs - 分公司、 bm - 部门
    • 站点类型的类型编码: zdlx , 字典数据 zxjd - 中心基地
    • 站点业务范围的类型编码:zdywfw, 字典数据 ybcj - 样本采集、 ybzb - 样本制备 、zljc - 质量检测 、 xbcc - 细胞存储
    • 部门状态的类型编码:bmzt , 字典数据 0 - 停用 , 1 - 正常

2.1.3、组织管理

  • 要支持多级组织
  • 组织信息表sys_dept,核心字段包括:组织id、组织名称、父组织id、组织类别编码(数据见字典表,字典类型的编码:zzlbbm)、部门状态( 字典类型的编码:bmzt , 0 - 停用 , 1 - 正常)、部门负责人、部门负责人联系电话、排序号
  • 当前中科兴皖的组织:市场营销部门(下设 采集部、临床部、中试服务部、支持中心、客服部) 、技术研发部、生产部、质量安全部、财务部、综合部
  • 界面以树形表单展示组织信息,支持组织的新增、修改、删除、新增子组织等功能

2.1.4、用户管理

  • 支持对组织下的用户进行管理
  • 用户表:sys_user,核心字段
`dept_id` bigint(20) DEFAULT NULL COMMENT '部门ID',
`user_no` varchar(30) NOT NULL COMMENT '用户账号',
`nick_name` varchar(30) NOT NULL COMMENT '用户名',
`email` varchar(50) DEFAULT '' COMMENT '用户邮箱',
`phone_no` varchar(11) DEFAULT '' COMMENT '手机号码',
`sex` char(1) DEFAULT '0' COMMENT '用户性别(0 - 男 1 - 女 2 - 未知)',
`avatar` bigint(20) DEFAULT NULL COMMENT '头像地址(minio上图片的完整访问地址)',
`password` varchar(100) DEFAULT '' COMMENT '密码',
`status` char(1) DEFAULT '0' COMMENT '帐号状态(1- 正常, 0 -停用)',
  • 界面分左右两部分、左侧用树形结构展示组织信息。点击组织信息[2.1.3、组织管理],右侧列表中就会展示出来当前组织下的用户。在右侧区域支持组织下用户的新增、修改、删除、停用等操作

2.1.5、角色管理

  • 支持系统角色信息的维护管理。

    • 角色表 sys_role

    role_name varchar(30) NOT NULL COMMENT '角色名称', data_scope char(1) DEFAULT '1' COMMENT '数据权限范围(1:全部数据权限 2:本部门数据权限 3:本部门及以下数据权限 4:仅本人数据权限 5:自定义数据权限 )', status char(1) NOT NULL COMMENT '角色状态(1 正常 0 停用)',

  • 在这个模块可以给角色授予用户

  • 在这个模块可以给角色授予菜单权限

    • 角色菜单关联表 sys_role_menu
    `role_id` VARCHAR(64) NOT NULL COMMENT '角色ID',
    `menu_id` VARCHAR(64) NOT NULL COMMENT '菜单ID',
    
  • 在这个模块可以给角色授予数据权限,通过角色表的data_scope,但是涉及到了自定义数据权限。

    • 自定义数据权限表 sys_role_data_scope_detail

    role_id bigint(20) NOT NULL COMMENT '角色ID', -- 核心字段:定义“范围”的类型和值 scope_type varchar(20) NOT NULL COMMENT '范围类型:dept(部门), user(用户)', scope_value varchar(100) NOT NULL COMMENT '范围值:部门ID/用户ID',

  • 特别注意:一个用户可能会存在多个角色。所以菜单权限和数据权限是要用这个用户所有角色的权限之和

  • 界面展示角色信息列表,支持角色的新增、修改、删除、角色菜单配置、角色数据权限配置。

  • 【角色菜单配置】按钮点击弹出弹窗,弹窗中列表树形结构方式展示菜单信息[2.1.6、菜单管理],树形结构节点前面有个多选框,支持勾选。勾选子菜单默认会将父菜单一起勾选上

  • 【角色数据权限配置】按钮点击弹出弹窗,弹窗中支持用户下拉框方式选择数据权限范围(1:全部数据权限 2:本部门数据权限 3:本部门及以下数据权限 4:仅本人数据权限 5:自定义数据权限 ),当用户选择了自定义数据权限。弹窗下方区域左侧支持勾选组织2.1.3、组织管理、右侧支持勾选用户[2.1.4、用户管理]

2.1.5.1、角色表 sys_role、角色菜单关联表 sys_role_menu、自定义数据权限表 sys_role_data_scope_detail的层级关系

  • 角色表 sys_role
    • 角色菜单关联表 sys_role_menu
    • 自定义数据权限表 sys_role_data_scope_detail

2.1.6、菜单管理

  • 在这个模块可以对web端和小程序端的菜单进行维护管理
  • 系统菜单支持多级菜单模式
  • 系统菜单表 sys_menu, 核心字段
  `menu_name` varchar(50) NOT NULL COMMENT '菜单名称',
  `parent_id` bigint(20) DEFAULT '0' COMMENT '父菜单ID',
  `is_frame` int(1) DEFAULT '1' COMMENT '是否为外链(1 是 0 否)',
  `visible` char(1) DEFAULT '0' COMMENT '显示状态(1 显示 0 隐藏)',
  `status` char(1) DEFAULT '0' COMMENT '菜单状态(1 正常 0 停用)',
  • 系统默认有两个数据,分别是 1 - web端菜单, 2 - 移动端菜单,这两个菜单数据的parent_id = 0 。其他菜单数据都在这两个节点下创建。
  • 界面以树形结构展示菜单数据,支持菜单数据的新增、修改、删除、新增子菜单。

2.1.7、站点管理

  • 此模块用于维护管理公司站点信息。
  • 目前就一个站点:中科兴皖
  • 站点信息包括:站点名称、站点编码(自定义编写)、所属租户、站点类型(字典类型编码 zdlx )、状态(1 正常 0 停用)、详细地址、联系人、联系电话、业务范围(字典编码的类型编码为:zdywfw)
  • 这里设置了站点,为了后续细胞存储、细胞生产、质量检测都可以选择站点,目前这个功能不做,默认所有的都在一个站点:中科兴皖

2.1.8、职位管理

  • 这个模块用于职位信息的维护管理,支持职位绑定用户,一个职位可以绑定多个用户,一个用户可以绑定多个职位
  • 职位表 sys_post,核心字段包括: 职位名称、职位编码、排序号、状态(1 正常 0 停用)
  • 职位与用户关联表 sys_user_post, 核心字段: 用户id、职位id
  • 职位表和职位与用户关联表的关系
    • 职位表
      • 职位与用户关联表
  • 界面中展示职位信息,支持职位信息的新增、修改、删除、职位用户配置。点击【职位用户配置】按钮,弹出弹窗,弹窗中展示用户信息[2.1.4、用户管理],支持勾选多个用户

2.1.9、物品单位管理

  • 记录物品单位的表,核心字段: 单位编码、单位名称 (例如:单位编码 g 、 单位名称 克)

2.1.10、快递公司管理

  • 维护快递公司信息表,核心字段:快递公司编码、快递公司名称

2.1.11、流程管理

流程管理分为两部分:1、流程配置与启用 2、流程办理中心

  • 本次我们后端采用python语言实现一套全新的工作流系统。 实现目标类似钉钉宜搭工作流(低代码平台那种简易工作流)的配置,
  • 图形化配置审批流程。流程配置节点和连接线,节点包括但不限于开始节点、结束节点、审批人节点(支持配置用户、支持配置角色等)、条件分支(支持多分支)等节点 。节点之间用连接线进行连接。
  • 工作流还要支持流程变量:就是申请人的部门id等信息塞入到系统流程变量,也支持发起工作流时候动态塞入流程变量
  • 审批人节点要支持配置一个用户、支持配置多个用户、支持配置一个角色、支持配置多个角色、同时还要支持通过sql模式找到审批人(通过sql模式结合流程变量,就可以实现当前申请人部门的主管审批这样的场景)。
  • 审批人节点还支持配置一个人审批通过就算通过,还是所有配置审批人都审核通过了才算通过
  • 条件分支支持两个条件、也支持多个条件(例如,金额小于等于100,金额大于100,小于300, 金额大于等于300)走不同的分支。这里金额就是一个动态的流程变量
  • 流程配置支持版本号、因为有的流程通过老版本的流程发起的,还需要继续按照老版本运行。后续新增的都是按照新版本号流程
  • 工作流配置好了,下一步就是业务工单发起工作流,工作流的待办中心、已办中心。
  • 流程管理模块预计的功能模块
    • 流程配置管理
    • 待办中心
    • 已办中心

3、技术要求

  • mysql 5.7 数据库
  • 所有表都有的公共字段
    • id VARCHAR(64) NOT NULL COMMENT '主键ID', 采用UUID
    • tenant_no VARCHAR(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号'
    • order_num int NULL COMMENT '排序号'
    • remark varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注',
    • create_by varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人id',
    • create_dept_id VARCHAR(64) NOT NULL COMMENT '创建人部门ID',
    • create_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    • update_by varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人id',
    • update_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    • del_flag tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0 - 正常 1 - 已删除',
  • 创建表模型时候,业务字段放在id后面、其他的字段如tenant_no、order_num、remark、create_by、create_dept_id、create_time、update_by、update_time、del_flag放在业务字段后面
  • 所有数据都不可以直接删除,都必须要用虚拟删除(0/1, 0 表示 未删除, 1 表示 已删除)
  • 系统中附件都是支持多个附件的、用一个字段存储。存储方式:多个附件的minio地址用逗号分隔
  • API接口返回数据在没有特殊排序要求的,都是按照order_num正序排列、创建时间倒序排列
  • 后端用python语言
  • 后端API查询接口都需要带上tenant_no = 当前登录人的tenant_no进行查询。后端API查询接口都需要带上当前登录人的数据权限之和进行查询
  • 后端API操作类接口,需要表信息中的tenant_no 修改为 当前登录人的tenant_no
  • 前端用 https://github.com/Daymychen/art-design-pro 这个开源的框架,然后使用pnpm clean:dev 进行精简,在精简版本上开发
  • 小程序端使用hbuilderx创建一个空的UNI-app工程,然后在这个工程上使用vue3、vant-ui来开发业务功能

4、术语库

  • 趸交 - 一次性缴费