0%

8.1

  1. 8月计划
    • 满意度报告 – 金翔、毛子杰、陈潇
    • 体检预约 – 高翔、陈潇、姚成润
    • 子宫内膜增生 – 高翔、姚成润
    • 医共体上线跟踪 – 高翔
    • 5个专病 – 高翔、吴森、姚成润、陈潇
    • 迭代 – 吴森、毛子杰、汪佳美、姚成润
    • 智宣教 – 金翔、汪佳美

8.3

  1. esb培训ppt准备
  2. 知识库改造8.8提测 8.12验收 – 高翔、陈潇

8.4

  1. esb验证工具验收 – 8.14改造再次验收
    • 日志、配置文件(徐贤)
    • 时间轴、展示字段、接口上线状态(张成汉)
  2. 攀枝花自建方案默认启用
  3. CMMI详细设计文档
    • 04系统设计
      • 概要设计说明书
      • 详细设计说明书
      • 购买,复用,自制评价表(完成)
      • 技术解决方案(完成)
    • 14决策分析(完成)
    • 16技术数据包
  4. 深圳妇幼保健院环境问题(jh-hos进程未杀干净)

8.5

  1. 绩效打分
  2. 附加宣教演示环境搭建
  3. 知识库宣教分类修改会议讨论
  4. 重庆医药培训内容
    • 网络架构
    • 技术架构
    • 技术选型
    • 开发工具及环境要求
    • 随访工程目录结构(介绍了工程结构,各模块代码入口,以及如何找到对应方法入口)
    • 随访运行环境维护
    • 搭建开发环境(可以成功运行)
  5. 重庆医药提供资料
    • 培训PPT
    • 随访、esb源代码
    • 表结构pdm

8.6

  1. 参加智宣教会议
  2. 迭代宣讲
  3. cmmi详细设计文档编写

8.7

  1. 江苏省人民随访程序卡(mongodb占用cpu资源过高导致发送cpu爆满,相关表创建索引)
  2. 迭代测试用例评审
  3. 知识库专病档案测试用例评审
  4. 满意度AI自动推送手动触发入口 http://saas.joinhealth.cn/hug_interview/satiflup/doSendAI.htm
  5. vte 静脉血栓栓塞症

8.8

  1. 接口培训
  2. mongdb查询条件整理(cdr – 徐贤、随访 – 金翔)

8.10

  1. 专病路径核对

    专科病种 路径 开发 上线
    子宫内膜增生症(省妇保) 无需路径,随访维护(产品设计8.14) 路径待修改
    VTE(连云港) 有(静脉血栓栓塞症)(8.14确认上线内容) 统计无需开发
    骨质疏松(连云港) 有(8.14确认上线内容) 统计无需开发
    盆底专科(广医附一) 无(待调研)
    慢阻肺(广医附一) 有(慢性阻塞性肺疾病)– 吴云波设计中
    2型糖尿病(广医附一) 有(待发布) 已完成 上线中
    胰腺癌(邵逸夫) 无(待调研)
    乳腺癌(邵逸夫) 有(8.14确认上线内容)
    神经母细胞瘤(省儿保) 有(统计待完成)
    单病种数据库 路径 开发 上线
    生物样本库(邵逸夫) 开发完成 上线中
    IBD(邵逸夫) 用专科实现 上线中
    胃癌(邵逸夫) 用专科实现 上线中
    • 省妇保:子宫内膜增生症
    • 连云港:VTE(路径已维护,就一条任务?)/骨质疏松(已维护)
    • 广医附一:盆底专科/慢阻肺/2型糖尿病(已开发,上线中)
    • 邵逸夫:胰腺癌/乳腺癌
    • 省儿保:神经母细胞瘤
    • 邵逸夫:生物样本库(单病种数据库,上线中)、IBD(普通专病,上线中)、胃癌(普通专病,上线中)
  2. 新冠专科导入患者失败(配置有问题,邀请码–科室代码不对)

  3. 省儿保知识库模式院内新建表单、宣教问题处理

  4. 满意度报告技术难点

    • 表格合并单元格
    • 字体颜色

8.11

  1. java操作word文档技术选型

    所用技术 优点 缺点
    Jacob 功能强大 代码量大,设置样式繁琐;需要windows平台支持,无法跨平台
    Apache POI 读写excel功能强大、操作简单 一般只用它读取word,能够创建简单的word,不能设置样式,功能太少
    Java2word 功能强大,操作简单 能满足一般要求,不支持07格式,国人开发的,参考资料较多,需要windows平台支持
    iText 功能全,能满足一般要求 不能直接生成或操作doc文档,只能生成rtf格式的文档,rtf也可以用word打开
    JSP 操作简单,代码量少 能把当前页面导出简单的word,不能设置样式,美观性差,无法操作word
    XML(最佳) free maker 代码量少,样式、内容容易控制,打印不变形,完全符合office标准 需要提前设计好word模板,把需要替换的地方用特殊标记标出来
  2. 职工所属科室变动同步方案设计

    随访提供接口供医院调用:工号、from科室、to科室,返回成功/失败,失败原因

    如果医院不愿意改造,提供变更信息接口,由esb个性化来处理

  3. 现场问题处理

  4. 广妇儿问题会议

8.12

  1. 随访门诊科室、住院科室分开方案设计 – 吴云波 8.19
  2. 广妇儿每日表单、宣教发送量统计sql
  3. 广妇儿自助建档 – 汪佳美 2019.10完成
  4. 重庆医药问题答复
  5. 省儿保门诊患者看不到住院记录(门诊、住院记录未做颜色区分)
  6. 南京鼓楼患者app注册状态同步问题(重启云端server、user服务)

8.13

  1. java freemaker动态生成目录
  2. 专病筛选范围每次最多筛1个月数据改进,可一次性筛选所有数据
  3. 健管云会议 – 隐藏发送状态(配置文件控制)
  4. 江苏省人民医院CPU 100%排查 – 定位到是病程数据同步导致

8.14

  1. 江苏省人民医院病程数据同步问题解决方案讨论(每次定时器触发最多处理1天数据,处理数据异常try-catch)
  2. 重庆医药文档准备
    • 主业务的代码调用流程,最好有时序图
    • 主系统,esb子系统,云端的服务调用过程,以及调用数据参数,返回参数说明
    • 客户群选取的逻辑以及代码串讲
  3. 健管云任务处理页面隐藏发送状态,“异”显示

8.17

  1. 深圳市人民医院 – 接口业务说明文档

  2. 浙二按随访方式统计、失访原因统计数据对不上(计划删除,任务还是统计进去了)

  3. 省妇保CPU 100%

  4. 体检预约、知识库专病档案验收

  5. 专病跟进 8月份上线专病:子宫内膜增生、VTE、小儿哮喘、胃癌

    专科病种 路径 开发 上线
    子宫内膜增生症(省妇保) 无需路径,随访维护(产品设计8.14) 路径待修改
    VTE(连云港) 有(静脉血栓栓塞症) 统计无需开发 AI已上线
    骨质疏松(连云港)待确认 有(8.14确认上线内容) 统计无需开发
    盆底专科(广医附一) 无(待调研)
    慢阻肺(广医附一) 有(慢性阻塞性肺疾病)– 吴云波设计中
    2型糖尿病(广医附一) 有(待发布) 已完成 上线中
    胰腺癌(邵逸夫) 无(待调研),前提:胃癌汇报
    乳腺癌(邵逸夫) 有(8.14确认上线内容),前提:全院进展汇报– 汪、曹、沈
    神经母细胞瘤(省儿保) 内容已维护,统计张琳设计中
    小儿哮喘(省儿保) 路径更换,根据年龄匹配路径开发中 开发中 王宏程维护中
    单病种数据库 路径 开发 上线
    生物样本库(邵逸夫) 开发完成 上线中
    IBD(邵逸夫) 用专科实现 上线中
    胃癌(邵逸夫) 用专科实现 上线中

8.18

  1. 重庆医药出差 – 源代码培训,问题解答
    • 和云端交互的数据内容和原因
    • 保密措施
    • 部署需要用到的url配置
    • 定时任务目前用到的列出来

8.19

  1. 重庆医药厂商查看随访任务,记录,统计工作量评估(产品 4人/日 + 开发 26人/日 测试 5人/日)

    • 产品设计 4人/日

    • 用户管理 2人/日

    • 名单+任务列表患者信息脱敏 2人/日

    • 名单+任务列表操作按钮隐藏 4人/日

    • 名单+任务列表患者姓名跳转禁用 2人/日

    • 随访查看页面患者信息脱敏 2人/日

    • 随访查看页面所有操作禁用 4人/日

    • 表单单题统计 10人/日

    • 测试 5人/日

  2. 重庆医药文档整理

8.20

  1. 单病种数据库设计构思
  2. 医渡云、科普云产品学习
  3. 数据迁移

8.24

  1. 江苏省人民接口数据
  2. 质量控制
    • 代码质量 – bug分级,绩效挂钩
    • 现场问题处理 – 24小时内处理掉
    • 测试质量 – 完善自动化测试脚本 (个性化功能自动化脚本无法覆盖)
    • 数据质量 – esb数据样本量增加
    • 问题不容易复现不能放过
    • 日志 – 存储至少一周,按功能模块区分
    • bug提交规范
    • 失败显示错误码,可查看错误码对照表
    • SOP

8.25

  1. 专病档案下发历史数据问题(云端、院内数据库修改)
  2. 历史数据处理存储过程优化(一条一条处理太慢)

8.26

  1. 满意度报告验收
  2. 迭代宣讲
  3. 随访规章制度
    • 产品
    • 研发
    • 测试
    • 现场问题
  4. 网络问题培训 – 云端、jh-hos、sf,知识库配置
  5. Tomcat启动优化

8.27

  1. 表单自动填充 – 选择题
  2. 邵逸夫IBD调研
    • 选择题、下拉提自动填充
    • 手术史 是/否 自动填充
    • 病理报告患者档案展示问题

8.28

  1. 培训材料准备
    • 网络问题排查
    • 知识库配置
  2. PMO
    • 接口管理规范(文档,新增流程)
  3. 周会
    • 子宫内膜增生 – 已发布,更新上线需要销售提交申请
  4. pubmed https://pubmed.ncbi.nlm.nih.gov/
  5. put delete请求不安全

8.31

  1. 月会
    • 手汗症、低颅压综合症
    • IBD科研单病种数据库 消化内科、肿瘤内科
  2. 9月份目标制定
    • 体检预约 – 高翔、陈潇
    • IBD单病种数据库 – 林剑、高翔、陈潇
    • 5个专科 – 吴森、陈潇
    • 日常迭代 – 吴森、毛子杰、姚成润
    • 健管云 – 毛子杰、姚成润
    • esb数据样本扩容 – 徐贤、张成汉
    • 配置文件整理(按功能模块) – 高翔
    • Tomcat启动优化 – 林剑
    • 历史数据备份迁移 – 金翔
  3. 投标演示内容准备
  4. 如何开月会
    • 事业部汇报
      • 财务 收入、支出 销售和确认收入,回款和支出,人力资源 确认收入统一出口–财务,薪资、差旅
      • 人事 人员编制情况
      • 项目情况,在建/异常/验收/售后/延期,责任主体
    • 需配合事项
    • 信息同步机制

问题描述

首先先给A组提供了上传接口,并没有在spring的配置文件进行multipartResolver的配置,后台Controller的java的获取为:

1
2
3
4
MultipartResolver resolver = new CommonsMultipartResolver(request.getSession().getServletContext());
MultipartHttpServletRequest multipartRequest = resolver.resolveMultipart(request);
MultipartFile file = multipartRequest.getFile("file");
String a1 = multipartRequest.getParameter("a1");

将request请求的上下文转换为MultipartResolver,然后转换为MultipartHttpServletRequest请求,通过multi请求就可以获取对应的file文件信息,这样的方法没有问题,后台能获取到相应的参数;

稍后组里另一个同事也用到上传,基于网上查的资料,认为应该把配置文件给加上去了,于是问题出来了,也造成了我记录该博客的原因:

1
2
3
4
5
6
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 设定默认编码 -->
<property name="defaultEncoding" value="UTF-8"></property>
<!-- 设定文件上传的最大值5MB,5*1024*1024 -->
<property name="maxUploadSize" value="20971520"></property>
</bean>

进行该配置后,我在后台的该方法获取file为空造成了上传错误

解决方案

在spring-config配置了<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> 之后,后台的获取有两种方法:

  1. 指定@RequestParam MultipartFile file 例如:public Map<String, Object> logsUpload(@RequestParam MultipartFile file,@RequestParam(value="key") String key) 参数;

  2. 将request转化为MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest)(request);

原理

使用spring的CommosMultipartResolver 配置MultipartResolver 用于文件上传,DispatcherServlet 将调用 MultipartResolver 的 isMultipart(request) 方法检查当前 Web 请求是否为 multipart类型。如果是,DispatcherServlet 将调用 MultipartResolver 的 resolveMultipart(request) 方法,对原始 request 进行装饰,并返回一个 MultipartHttpServletRequest 供后继处理流程使用(最初的 HttpServletRequest 被偷梁换柱成了 MultipartHttpServletRequest),否则,直接返回最初的 HttpServletRequest。

快捷键

F8

进入下一步,如果当前行断点是一个方法,则不进入当前方法体内,跳到下一条执行语句。

F7

进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果该方法体还有方法,则会进入该内嵌的方法中 。

Shift + F8

跳出该方法,跳回原来地方。

F9

执行到下一个断电

阅读全文 »

问题

    前一天晚上停电导致Git服务器关闭,停电的时候有push代码,导致服务器文件损坏。第二天push代码的时候提示push mater to origin/master was rejected by remote

    查看控制台,显示

1
2
remote: error: object file ./objects/71/7d869c6b441db44debf43f794bbe75a62747bd is empty        
remote: fatal: loose object 717d869c6b441db44debf43f794bbe75a62747bd (stored in ./objects/71/7d869c6b441db44debf43f794bbe75a62747bd) is corrupt

原因分析

由于网络波动,使用的是gitLab HTTP协议来提交的代码,在提交代码时会发生提交的文件在服务端损坏的情况,这个时候客户端应为这个文件损坏而无法pull代码

解决方案

  1. 进入服务器跟目录(这一步很重要)

    1
    cd /
  2. 查出问题项目的仓库目录

    1
    2
    # 这里举例为test.git,在知道目录的情况下这一步可以省略
    find -name hug_interview.git
  3. 修改gitlab目录下git-data的权限

    1
    chmod -R 777 git-data/(默认情况下这个是没有权限可写)
  4. 进入仓库目录报错的文件对应的文件夹

    在git目录下找到objects文件并进入(git提交的文件都会以一个hash值为名字的文件存储在objects目录下)

  5. 文件替换

    找到最后提交代码的开发人员本地仓库找到对应的损坏的文件上传至服务器对应的覆盖文件即可,这里报错的文件目录为

    1
    ./objects/71/7d869c6b441db44debf43f794bbe75a62747bd