From 99cd67e2599e10b83466d5c64568f527c7ccd060 Mon Sep 17 00:00:00 2001
From: he <109787524@qq.com>
Date: Wed, 19 Nov 2025 09:52:38 +0800
Subject: [PATCH] =?UTF-8?q?=E5=9B=BE=E8=A1=A8=20=E6=96=87=E4=BB=B6?=
=?UTF-8?q?=E5=90=8D=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../IRaCIS.Core.API/IRaCIS.Core.API.csproj | 2 +-
.../IRaCIS.Core.API/IRaCIS.Core.API.xml | 557 ------------------
src/service/IRaCIS.Core.API/favicon.ico | Bin 7886 -> 4286 bytes
3 files changed, 1 insertion(+), 558 deletions(-)
diff --git a/src/service/IRaCIS.Core.API/IRaCIS.Core.API.csproj b/src/service/IRaCIS.Core.API/IRaCIS.Core.API.csproj
index e03d35b..718a733 100644
--- a/src/service/IRaCIS.Core.API/IRaCIS.Core.API.csproj
+++ b/src/service/IRaCIS.Core.API/IRaCIS.Core.API.csproj
@@ -13,7 +13,7 @@
1.0.0.1
favicon.ico
AnyCPU;x64
- EI_Image_Viewer
+ HT_MIRS
diff --git a/src/service/IRaCIS.Core.API/IRaCIS.Core.API.xml b/src/service/IRaCIS.Core.API/IRaCIS.Core.API.xml
index 999ba0b..e69de29 100644
--- a/src/service/IRaCIS.Core.API/IRaCIS.Core.API.xml
+++ b/src/service/IRaCIS.Core.API/IRaCIS.Core.API.xml
@@ -1,557 +0,0 @@
-
-
-
- EI_Image_Viewer
-
-
-
-
- 主要处理 前端404等错误 全局业务异常已统一处理了,非业务错误会来到这里
-
-
-
-
-
-
- 医生基本信息 、工作信息 专业信息、审核状态
-
-
-
-
- 获取医生详情
-
-
-
-
-
-
-
-
-
-
-
- 系统用户登录接口[New]
-
-
- 添加实验项目-返回新增Id[AUTH]
-
- 新记录Id
-
-
-
- 添加或更新工作量[AUTH]
-
-
-
-
-
-
-
- 添加或更新汇率(会触发没有对锁定的费用计算)
-
-
-
-
- 添加或更新 职称单价[AUTH]
-
-
-
-
- 添加或更新(替换)医生支付展信息[AUTH]
-
-
-
-
- 保存(替换)项目支付价格信息(会触发没有被锁定的费用计算)[AUTH]
-
-
-
-
- 批量更新奖励费用[AUTH]
-
-
-
-
- 计算医生月度费用,并将计算的结果存入费用表
-
-
-
-
- Financials /Monthly Payment 列表查询接口
-
-
-
-
- 获取稽查数据
-
-
-
-
-
- 提交肿瘤学阅片任务
-
-
-
-
-
-
- 提交Diocm阅片
-
-
-
-
-
-
- 提交全局阅片任务
-
-
-
-
-
-
- 项目阅片信息签名
-
-
-
-
-
-
- 医学审核完成
-
-
-
-
-
-
- 确认项目医学审核问题
-
-
-
-
-
-
- 提交阅片问题
-
-
-
-
-
-
- 提交阅片裁判问题
-
-
-
-
-
-
- 配置 基础逻辑信息并确认
-
-
-
-
-
-
- 配置流程并确认
-
-
-
-
-
-
- 配置加急信息并确认
-
-
-
-
-
-
- 签名确认
-
-
-
-
-
- IC RequestToQC 批量提交
-
-
-
-
-
-
- 设置QC 通过或者不通过 7:QC failed 8:QC passed
-
-
-
-
- 一致性核查 回退 对话记录不清除 只允许PM回退
-
-
-
-
- 影像阅片临床数据签名
-
-
-
-
-
-
- IC 设置已经重传完成
-
-
-
-
- 更新项目状态
-
-
-
-
-
-
- 用户 签名某个文档
-
-
-
-
-
- 重阅同意
-
-
-
-
- 流式上传 直接返回
-
-
- 流式上传 通用封装 不返回任何数据,后续还有事情处理
-
-
- 流式上传 Dicom上传
-
-
- Dicom 归档
-
-
-
- 上传临床数据 多文件
-
-
-
-
-
-
- 上传临床数据模板
-
-
-
-
-
-
- 上传阅片临床数据
-
-
-
-
-
-
-
-
- 上传截图
-
-
-
-
-
-
- 上传Reading问题的图像
-
-
-
-
-
-
-
- 上传裁判任务的图像
-
-
-
-
-
-
-
- 上传医学审核图片
-
-
-
-
-
-
-
- 上传非Dicom 文件 支持压缩包 多文件上传
-
-
-
-
-
-
-
-
-
-
- 一致性核查 excel上传 支持三种格式
-
-
-
-
-
- 医生文件上传下载
-
-
-
- 上传文件[FileUpload]
-
- 附件类型
- 医生Id
- 返回文件信息
-
-
-
- 上传文件( 不是医生个人的文件)[FileUpload]
- 例如:阅片章程等
-
- 文件类型
-
-
-
-
- 下载多个医生的所有附件
-
-
-
-
-
-
- 下载医生官方简历
-
-
-
-
-
-
-
- 下载指定医生的指定附件
-
- 医生Id
- 要下载的附件Id
-
-
-
- 缩略图
-
-
- 通用文件下载
-
-
-
- 下载项目临床数据文件
-
-
-
-
-
-
-
- 下载系统临床数据文件
-
-
-
-
-
-
-
- 上传项目签名文档
-
-
-
-
-
-
- 上传系统签名文档
-
-
-
-
-
- 上传通用文档 比如一致性核查的 比如导出的excel 模板
-
-
-
-
-
- 上传系统通知文档
-
-
-
-
-
- IPLimit限流 启动服务
-
-
-
-
- 创建属性
-
- 类型
- 序列化成员
-
-
-
-
- 为了前端 一段时间无操作,需要重新登陆
-
-
-
-
-
-
- 对称可逆加密
-
-
-
-
- 用户登录成功以后,用来生成Token的方法
-
-
-
-
-
-
-
- 非对称可逆加密
-
-
-
-
- 从本地文件中读取用来签发 Token 的 RSA Key
-
- 存放密钥的文件夹路径
-
-
-
-
-
-
- 生成并保存 RSA 公钥与私钥
-
-
-
-
-
-
- Holder for reflection information generated from Protos/GrpcToken.proto
-
-
- File descriptor for Protos/GrpcToken.proto
-
-
-
- 新增用户时需要传递数据消息, 可理解为一个类
-
-
-
- Field number for the "id" field.
-
-
- Field number for the "userName" field.
-
-
- Field number for the "realName" field.
-
-
- Field number for the "reviewerCode" field.
-
-
- Field number for the "userTypeEnumInt" field.
-
-
- Field number for the "userTypeShortName" field.
-
-
- Field number for the "isAdmin" field.
-
-
-
- 新增时返回的消息格式
-
-
-
- Field number for the "code" field.
-
-
- Field number for the "token" field.
-
-
-
- service 用标识定义服务的,里面写对应的方法
-
-
-
- Service descriptor
-
-
- Client for TokenGrpcService
-
-
- Creates a new client for TokenGrpcService
- The channel to use to make remote calls.
-
-
- Creates a new client for TokenGrpcService that uses a custom CallInvoker.
- The callInvoker to use to make remote calls.
-
-
- Protected parameterless constructor to allow creation of test doubles.
-
-
- Protected constructor to allow creation of configured clients.
- The client configuration.
-
-
-
- 获取token
-
- The request to send to the server.
- The initial metadata to send with the call. This parameter is optional.
- An optional deadline for the call. The call will be cancelled if deadline is hit.
- An optional token for canceling the call.
- The response received from the server.
-
-
-
- 获取token
-
- The request to send to the server.
- The options for the call.
- The response received from the server.
-
-
-
- 获取token
-
- The request to send to the server.
- The initial metadata to send with the call. This parameter is optional.
- An optional deadline for the call. The call will be cancelled if deadline is hit.
- An optional token for canceling the call.
- The call object.
-
-
-
- 获取token
-
- The request to send to the server.
- The options for the call.
- The call object.
-
-
- Creates a new instance of client from given ClientBaseConfiguration.
-
-
-
diff --git a/src/service/IRaCIS.Core.API/favicon.ico b/src/service/IRaCIS.Core.API/favicon.ico
index 70e9d37fc718762afe01d026773da1f1d82a35a5..0679e02463e80c119a053b7262dfbb84069b0c3c 100644
GIT binary patch
literal 4286
zcmdT|X;4;G7`_OmnVOoT1t=({CWeA23P!k>iIbW+uGyGoV~OMv0*c81YMH71(8X&5EY)D_k7&Tx8YJYO~*N$JNG;Hectss?@`kn_|M&4
zlfPPg6HRNOXO>nqFuc{zs#dx)$E6K=SSDh`(_eYpz|w>T7>u
z?e!ug+$_QV@>{rGc^_3z*rq#GmDpB#4U-E`qHF$PG|Wv$o#VTp9Zyr!fvZ!_E;P^E
zi@>wTFt4}(*>`S3^!+D8zCTEtCS1%zv%EdfvQvpC(}ZhxWM7MaLh_Uqura)
zWarOnHs#tdJrNFBmcDSz+=*vXH>y32(>C$<6y-0M6Z^2?M)4!%#oekZ#FU)F(>c2p
zwo^tjf)>oi$G!dVNe>@{b@xU{p8&kHb~zkWJWR20JeG`r*a*z->5Dmj-OzXbOgJ9f
zY4ROo=1M;%-n#nGP^_n(jhSC6wz<3Ev0)XWJUe1>D_1OXYlS7PTrle0(QqQ3dHluJ
z{t+_}=iVBzZQRgn@jPh!zGhDXpWgGGRmM*Z1-*W2)M0V+n#jRa2*QX1d`K_f7($JK3B>Z7Law^Jda@|aax<`^Q
zapX`XQ}9LhTa(9I#9rz`axW-qmh!#CN%s0LinPHOAB?<^gHqO)`B;ACqNVM+4)lTF
z=L-z~i|jDpu5j7(9ke{gmpLeQ_gpd`Bc_bU)WQ7`{h|kB;EYMb2IHy2f3R-Nd`h{(
zQ%A~64S4bWDC%V57t6ikKk?(-Ze5HRhz?`Mk3_>gTTq92=eltno=f@(&eUmO*mMjC
z55fCy3_!TI7o2~ko|Iw4l=zP1PT_5Rl-$3E?q`nL$LD^j!Es}Ts~Ql$>hrbP(-gkQ
z7ytK*3}tM_!6`EZp5H7(j7J*;Mu*wpi=C60hx*7QS4(}G>uB*TFJ(`3L>sBHlF2a;EtkvM@lTEy-$5U3~2cOS|aE*-gvYV`V^1JyS^JnH))8qt%
z2KK@t=AUlAti5BxO?kjQ&2}WHdYKvEM_;+9IcUy@hJJ>8;`b}aM0s@`?kc;X&NSn9
zbL{G8;kscTOf>31umwZxlk=uY$}h@C5_jPXsgsDVozXUawO#zaX84DA#lB3^|uw
zYyO+-KO|&|O&y5M^Iq-*w}iFOPSKC#Z7sK^KQaGae~v9VucyCS!;8<_`pMc4fWHE*?Jh9UJ?l
z7N-piLW6xeNBio!#$fe*^Y&
zpIy1|NPVdELBdaVbAj;_t{eK%dzkU6zv}mL1vqIM@c8@fKcj^oI}DP
z{TaKJyt`asE^}tMxB!iqwq&
literal 7886
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
e!K>-;3bYpA=W