1747191978@qq.com 3 months ago
parent
commit
765f733bba
  1. 1
      acupuncture-admin/src/main/java/com/acupuncture/web/controller/web/ScreeningController.java
  2. 2
      acupuncture-admin/src/main/java/com/acupuncture/web/task/TaskController.java
  3. 71
      acupuncture-admin/src/main/resources/application-prod.yml
  4. 9
      acupuncture-admin/src/main/resources/screenQrCodeTemplate.docx
  5. 2
      acupuncture-framework/src/main/java/com/acupuncture/framework/web/service/WebDmsLoginService.java
  6. 4
      acupuncture-system/src/main/java/com/acupuncture/system/domain/vo/PmsTreatmentVo.java
  7. 4
      acupuncture-system/src/main/java/com/acupuncture/system/persist/dao/ExternalDao.java
  8. 12
      acupuncture-system/src/main/java/com/acupuncture/system/service/impl/ExternalServiceImpl.java
  9. 6
      acupuncture-system/src/main/java/com/acupuncture/system/service/impl/PmsPatientServiceImpl.java
  10. 134
      acupuncture-system/src/main/java/com/acupuncture/system/service/impl/PmsTreatmentServiceImpl.java
  11. 57
      acupuncture-system/src/main/resources/mapper/dao/PmsTreatmentDao.xml
  12. 4
      acupuncture-system/src/main/resources/mapper/dao/ScreeningDetailDao.xml

1
acupuncture-admin/src/main/java/com/acupuncture/web/controller/web/ScreeningController.java

@ -161,7 +161,6 @@ public class ScreeningController {
screeningService.exportRzScreen(response, param.getParam());
}
// @Anonymous
// @ApiOperation(value = "导出筛查记录", notes = "")
// @RequestMapping(value = "/export", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"})

2
acupuncture-admin/src/main/java/com/acupuncture/web/task/TaskController.java

@ -66,7 +66,7 @@ public class TaskController {
@ApiOperation("定时任务添加随访工单")
@PostMapping("/task")
@Scheduled(fixedRate = 10000)
@Scheduled(cron = "0 0 0 * * ?")
@Anonymous
public void task() {
// TODO 生成工单第一次生成之后2周的,往后只生成之后一周。第一次随访时间: ( 患者的出院时间 - 7 + 轮次时间) 到 (患者的出院时间 + 7 + 轮次时间 )

71
acupuncture-admin/src/main/resources/application-prod.yml

@ -0,0 +1,71 @@
# 数据源配置
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
druid:
# 主库数据源
master:
url: jdbc:mysql://192.168.0.192:3306/acupuncture?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8
username: root
password: csylcx18aA
# 从库数据源
slave:
# 从数据源开关/默认关闭
enabled: false
url: jdbc:mysql://localhost:3306/acupuncture_yfyy?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: po3OynBO[M3579p6L7)o
# 初始连接数
initialSize: 5
# 最小连接池数量
minIdle: 10
# 最大连接池数量
maxActive: 20
# 配置获取连接等待超时的时间
maxWait: 60000
# 配置连接超时时间
connectTimeout: 30000
# 配置网络超时时间
socketTimeout: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
minEvictableIdleTimeMillis: 300000
# 配置一个连接在池中最大生存的时间,单位是毫秒
maxEvictableIdleTimeMillis: 900000
# 配置检测连接是否有效
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
webStatFilter:
enabled: true
statViewServlet:
enabled: true
# 设置白名单,不填则允许所有访问
allow:
url-pattern: /druid/*
# 控制台管理用户名和密码
login-username: acupuncture
login-password: 123456
filter:
stat:
enabled: true
# 慢SQL记录
log-slow-sql: true
slow-sql-millis: 1000
merge-sql: true
wall:
config:
multi-statement-allow: true
file:
PatientTemplate: /home/acupuncture/server/profile/PatientTemplate.xlsx
TreamentTemplate: /home/acupuncture/server/profile/TreamentTemplate.xlsx
wxQrCodeTemplate: /home/acupuncture/server/profile/wxQrCodeTemplate.docx
screenQrCodeTemplate: /home/acupuncture/server/profile/screenQrCodeTemplate.docx
hbTemplate: /home/acupuncture/server/profile/screenHbQrCodeTemplate.docx
screenPath: http://test.tall.wiki/acupuncture/web-admin/screening/H5?hospitalId=hosId&hospitalName=hosName&centerId=cId
pgTemplate: /home/acupuncture/server/profile/TreamtmentPgTemplate.docx
jmrsUrl: /home/acupuncture/server/profile/uploads/jmrsTemplate.docx

9
acupuncture-admin/src/main/resources/screenQrCodeTemplate.docx

@ -0,0 +1,9 @@
减重失眠筛查倡议书
--------------------------------------------------------------------------------
尊敬的社区成员、医疗机构、社会组织及所有关心健康的朋友们:
--------------------------------------------------------------------------------
大家好!近年来,随着生活方式的改变,减重和失眠已成为影响人们健康的突出问题。为了更早地发现和预防这些健康问题,我们倡议开展减重失眠筛查工作。健康是每个人的宝贵财富,也是我们共同的责任。让我们携手共进,通过筛查,为构建健康社区、实现全民健康贡献我们的力量!
{{@pic}}
健康是每个人的宝贵财富,也是我们共同的责任。让我们携手共进,开展减重失眠筛查工作,为构建健康社区、实现全民健康贡献我们的力量!您可通过扫描上方二维码参与减重失眠筛查工作。感谢您的参与,谢谢!
{{hospitalName}}

2
acupuncture-framework/src/main/java/com/acupuncture/framework/web/service/WebDmsLoginService.java

@ -62,7 +62,7 @@ public class WebDmsLoginService
public String login(String username, String password, String code, String uuid)
{
// 验证码校验
// validateCaptcha(username, code, uuid);
validateCaptcha(username, code, uuid);
// 登录前置校验
loginPreCheck(username, password);
// 用户验证

4
acupuncture-system/src/main/java/com/acupuncture/system/domain/vo/PmsTreatmentVo.java

@ -55,6 +55,8 @@ public class PmsTreatmentVo {
private String tenantName;
private String zyzdQt;
@Data
public static class QueueVo{
private Long queueId;
@ -70,6 +72,8 @@ public class PmsTreatmentVo {
private String name;
private String tenantName;
private String pinyinFull;
private String pinyinSimple;

4
acupuncture-system/src/main/java/com/acupuncture/system/persist/dao/ExternalDao.java

@ -5,6 +5,8 @@ import com.acupuncture.system.domain.vo.DmsLoginUserVo;
import com.acupuncture.system.domain.vo.ExternalVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @Author zzc
* @Package com.acupuncture.system.persist.dao
@ -13,5 +15,5 @@ import org.apache.ibatis.annotations.Param;
*/
public interface ExternalDao {
ExternalVo.Result select(@Param("query") ExternalDto.Query query);
List<ExternalVo.Result> select(@Param("query") ExternalDto.Query query);
}

12
acupuncture-system/src/main/java/com/acupuncture/system/service/impl/ExternalServiceImpl.java

@ -44,7 +44,11 @@ public class ExternalServiceImpl implements ExternalService {
ExternalDto.Query query = new ExternalDto.Query();
query.setFrom(from);
query.setMemberid(memberid);
return externalDao.select(query);
List<ExternalVo.Result> select = externalDao.select(query);
if (CollectionUtil.isNotEmpty(select)) {
return select.get(0);
}
return new ExternalVo.Result();
}
@Override
@ -139,6 +143,12 @@ public class ExternalServiceImpl implements ExternalService {
uplRtcfInfos.setBmiMax(rtcfInfoDto.getBMIMax());
uplRtcfInfos.setBmiMin(rtcfInfoDto.getBMIMin());
UplRtcfInfoExample uplRtcfInfoExample = new UplRtcfInfoExample();
uplRtcfInfoExample.createCriteria().andUuidEqualTo(rtcfInfoDto.getUUID()).andMemberidEqualTo(rtcfInfoDto.getMemberid()).andDelFlagEqualTo((byte) 0);
UplRtcfInfo uplRtcfInfo = new UplRtcfInfo();
uplRtcfInfo.setDelFlag((byte) 1);
uplRtcfInfoMapper.updateByExampleSelective(uplRtcfInfo, uplRtcfInfoExample);
int insert = uplRtcfInfoMapper.insert(uplRtcfInfos);
if (insert > 0) {
redisCache.set("rtcfInfo:" + uplRtcfInfos.getMemberid(), uplRtcfInfos.getUuid());

6
acupuncture-system/src/main/java/com/acupuncture/system/service/impl/PmsPatientServiceImpl.java

@ -136,6 +136,8 @@ public class PmsPatientServiceImpl implements PmsPatientService {
writer.writeCellValue(7, row, "港澳居民来往内地通行证");
break;
case 3:
writer.writeCellValue(7, row, "台湾居民来往大陆通行证");
case 4:
writer.writeCellValue(7, row, "其他");
}
}
@ -154,6 +156,8 @@ public class PmsPatientServiceImpl implements PmsPatientService {
}
}
writer.writeCellValue(10, row, patientList.get(i).getCurrentIllnessHistory());
writer.writeCellValue(11, row, patientList.get(i).getCurrentIllnessHistoryQt());
writer.writeCellValue(12, row, patientList.get(i).getTenantName());
}
String filename = StrUtil.format("患者档案-{}.xlsx", DateUtil.date().toString("yyyyMMdd"));
@ -253,6 +257,8 @@ public class PmsPatientServiceImpl implements PmsPatientService {
writer.writeCellValue(7, row, "港澳居民来往内地通行证");
break;
case 3:
writer.writeCellValue(7, row, "台湾居民来往大陆通行证");
case 4:
writer.writeCellValue(7, row, "其他");
}
}

134
acupuncture-system/src/main/java/com/acupuncture/system/service/impl/PmsTreatmentServiceImpl.java

@ -12,6 +12,7 @@ import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.pinyin.PinyinUtil;
import cn.hutool.poi.excel.BigExcelWriter;
import cn.hutool.poi.excel.ExcelUtil;
import com.acupuncture.common.constant.UserConstants;
import com.acupuncture.common.core.redis.RedisCache;
import com.acupuncture.common.exception.base.BaseException;
import com.acupuncture.common.utils.AsposeUtils;
@ -25,10 +26,7 @@ import com.acupuncture.system.domain.vo.PmsPatientVo;
import com.acupuncture.system.domain.vo.PmsTreatmentVo;
import com.acupuncture.system.persist.dao.FmsFollowupDao;
import com.acupuncture.system.persist.dao.PmsTreatmentDao;
import com.acupuncture.system.persist.mapper.FmsPatientQueueRelationMapper;
import com.acupuncture.system.persist.mapper.PmsPatientMapper;
import com.acupuncture.system.persist.mapper.PmsTreatmentMapper;
import com.acupuncture.system.persist.mapper.PmsTreatmentRecordMapper;
import com.acupuncture.system.persist.mapper.*;
import com.acupuncture.system.service.PmsPatientService;
import com.acupuncture.system.service.PmsTreatmentService;
import com.deepoove.poi.XWPFTemplate;
@ -72,6 +70,8 @@ public class PmsTreatmentServiceImpl implements PmsTreatmentService {
private FmsFollowupDao fmsFollowupDao;
@Resource
private RedisCache redisCache;
@Resource
private DmsTenantMapper dmsTenantMapper;
@Value("${file.TreamentTemplate}")
private String treamentTemplate;
@Value("${file.pgTemplate}")
@ -117,6 +117,8 @@ public class PmsTreatmentServiceImpl implements PmsTreatmentService {
FmsPatientQueueRelation patientQueueRelation = BeanUtil.copyProperties(dto, FmsPatientQueueRelation.class);
patientQueueRelation.setId(IdUtil.getSnowflakeNextId());
patientQueueRelation.setDelFlag((byte) 0);
patientQueueRelation.setPinyinFull(PinyinUtil.getPinyin(pmsTreatment.getName(), ""));
patientQueueRelation.setPinyinSimple(PinyinUtil.getFirstLetter(pmsTreatment.getName(), ""));
patientQueueRelation.setIdCard(dto.getIdCard());
patientQueueRelation.setIdCardType(dto.getIdCardType().byteValue());
patientQueueRelation.setCreateBy(SecurityUtils.getUsername());
@ -129,6 +131,8 @@ public class PmsTreatmentServiceImpl implements PmsTreatmentService {
FmsPatientQueueRelation patientQueueRelation = BeanUtil.copyProperties(dto, FmsPatientQueueRelation.class);
patientQueueRelation.setId(IdUtil.getSnowflakeNextId());
patientQueueRelation.setDelFlag((byte) 0);
patientQueueRelation.setPinyinFull(PinyinUtil.getPinyin(pmsTreatment.getName(), ""));
patientQueueRelation.setPinyinSimple(PinyinUtil.getFirstLetter(pmsTreatment.getName(), ""));
patientQueueRelation.setCreateBy(SecurityUtils.getUsername());
patientQueueRelation.setTenantId(SecurityUtils.getTenantId());
patientQueueRelation.setIdCard(dto.getIdCard());
@ -197,12 +201,22 @@ public class PmsTreatmentServiceImpl implements PmsTreatmentService {
List<Object> commonFollowupQueue = redisCache.getCacheList("common_followup_queue");
for (PmsTreatmentVo.TreatmentVO treatmentVO : query) {
PmsTreatmentRecordExample pmsTreatmentRecordExample = new PmsTreatmentRecordExample();
pmsTreatmentRecordExample.createCriteria().andDelFlagEqualTo((byte) 0).andQuestionCodeEqualTo("JBXX_ZYZD").andTreatmentIdEqualTo(treatmentVO.getId());
pmsTreatmentRecordExample.createCriteria().andDelFlagEqualTo((byte) 0).andQuestionCodeIn(CollectionUtil.newArrayList("JBXX_ZYZD", "JBXX_ZYZD_QT")).andTreatmentIdEqualTo(treatmentVO.getId());
List<PmsTreatmentRecord> pmsTreatmentRecords = pmsTreatmentRecordMapper.selectByExample(pmsTreatmentRecordExample);
if (CollectionUtil.isNotEmpty(pmsTreatmentRecords)) {
String answer = pmsTreatmentRecords.get(0).getAnswer();
if (StrUtil.isNotEmpty(answer)) {
treatmentVO.setDiagnosisName(answer.replace("!@#", ","));
for (PmsTreatmentRecord pmsTreatmentRecord : pmsTreatmentRecords) {
if ("JBXX_ZYZD".equals(pmsTreatmentRecord.getQuestionCode())) {
String answer = pmsTreatmentRecord.getAnswer();
if (StrUtil.isNotEmpty(answer)) {
treatmentVO.setDiagnosisName(answer.replace("!@#", ","));
}
}
if ("JBXX_ZYZD_QT".equals(pmsTreatmentRecord.getQuestionCode())) {
String answer = pmsTreatmentRecord.getAnswer();
if (StrUtil.isNotEmpty(answer)) {
treatmentVO.setZyzdQt(answer.replace("!@#", ","));
}
}
}
}
List<PmsTreatmentVo.TreatmentVO.QueueVo> queueVos = fmsFollowupDao.queryQueueListByPatientId(treatmentVO.getPatientId());
@ -267,15 +281,15 @@ public class PmsTreatmentServiceImpl implements PmsTreatmentService {
willSavedRecord.setCreateBy(SecurityUtils.getUsername());
willSavedFirstAidRecordList.add(willSavedRecord);
//处理随访队列
//删除队列
//如有患者档案信息,则需要判断患者是否有随访队列,如果有,则需要删除(先删除后新增)
FmsPatientQueueRelationExample fmsPatientQueueRelationExample = new FmsPatientQueueRelationExample();
fmsPatientQueueRelationExample.createCriteria().andPatientIdEqualTo(pmsTreatment.getPatientId()).andDelFlagEqualTo((byte) 0);
FmsPatientQueueRelation fmsPatientQueueRelation = new FmsPatientQueueRelation();
fmsPatientQueueRelation.setDelFlag((byte) 1);
fmsPatientQueueRelationMapper.updateByExampleSelective(fmsPatientQueueRelation, fmsPatientQueueRelationExample);
if ("SFDL".equals(codeAndAnswer.getQuestionCode())) {
//处理随访队列
//删除队列
//如有患者档案信息,则需要判断患者是否有随访队列,如果有,则需要删除(先删除后新增)
FmsPatientQueueRelationExample fmsPatientQueueRelationExample = new FmsPatientQueueRelationExample();
fmsPatientQueueRelationExample.createCriteria().andPatientIdEqualTo(pmsTreatment.getPatientId()).andDelFlagEqualTo((byte) 0);
FmsPatientQueueRelation fmsPatientQueueRelation = new FmsPatientQueueRelation();
fmsPatientQueueRelation.setDelFlag((byte) 1);
fmsPatientQueueRelationMapper.updateByExampleSelective(fmsPatientQueueRelation, fmsPatientQueueRelationExample);
//新增随访队列
if (CollectionUtil.isNotEmpty(codeAndAnswer.getAnswer())) {
List<String> answer = codeAndAnswer.getAnswer();
@ -451,18 +465,22 @@ public class PmsTreatmentServiceImpl implements PmsTreatmentService {
writer.writeCellValue(7, row, "港澳居民来往内地通行证");
break;
case 3:
writer.writeCellValue(7, row, "台湾居民来往大陆通行证");
case 4:
writer.writeCellValue(7, row, "其他");
}
}
writer.writeCellValue(8, row, treatmentVOList.get(i).getIdCard());
writer.writeCellValue(9, row, treatmentVOList.get(i).getVisitType() == 0 ? "门诊" : "住院");
writer.writeCellValue(9, row, treatmentVOList.get(i).getVisitNumber());
writer.writeCellValue(10, row, DateUtil.format(treatmentVOList.get(i).getVisitTime(), "yyyy-MM-dd HH:mm:ss"));
writer.writeCellValue(12, row, DateUtil.format(treatmentVOList.get(i).getDischargeTime(), "yyyy-MM-dd HH:mm:ss"));
writer.writeCellValue(13, row, treatmentVOList.get(i).getDoctor());
writer.writeCellValue(14, row, treatmentVOList.get(i).getCreateBy());
writer.writeCellValue(9, row, treatmentVOList.get(i).getDiagnosisName());
writer.writeCellValue(10, row, treatmentVOList.get(i).getZyzdQt());
writer.writeCellValue(11, row, treatmentVOList.get(i).getVisitType() == 0 ? "门诊" : "住院");
writer.writeCellValue(12, row, treatmentVOList.get(i).getVisitNumber());
writer.writeCellValue(13, row, DateUtil.format(treatmentVOList.get(i).getVisitTime(), "yyyy-MM-dd HH:mm:ss"));
writer.writeCellValue(14, row, DateUtil.format(treatmentVOList.get(i).getDischargeTime(), "yyyy-MM-dd HH:mm:ss"));
writer.writeCellValue(15, row, treatmentVOList.get(i).getDoctor());
writer.writeCellValue(16, row, treatmentVOList.get(i).getCreateBy());
}
String filename = StrUtil.format("患者档案-{}.xlsx", DateUtil.date().toString("yyyyMMdd"));
String filename = StrUtil.format("HZDA-{}.xlsx", DateUtil.date().toString("yyyyMMdd"));
//response为HttpServletResponse对象
response.setContentType("application/vnd.ms-excel;charset=utf-8");
@ -472,8 +490,7 @@ public class PmsTreatmentServiceImpl implements PmsTreatmentService {
try {
out = response.getOutputStream();
writer.flush(out);
} catch (
IOException e) {
} catch (IOException e) {
e.printStackTrace();
} finally {
// 关闭writer,释放内存
@ -493,6 +510,9 @@ public class PmsTreatmentServiceImpl implements PmsTreatmentService {
pmsTreatmentRecordExample.createCriteria().andTreatmentIdEqualTo(dto.getTreatmentId()).andDelFlagEqualTo((byte) 0);
List<PmsTreatmentRecord> pmsTreatmentRecords = pmsTreatmentRecordMapper.selectByExample(pmsTreatmentRecordExample);
//查询租户
DmsTenant dmsTenant = dmsTenantMapper.selectByPrimaryKey(pmsTreatment.getTenantId());
String pdfName = pmsTreatment.getName() + "_" + pmsTreatment.getVisitNumber();
String wordPath = profilePath + File.separator + pdfName + ".docx";
String pdfPath = profilePath + File.separator + pdfName + ".pdf";
@ -501,17 +521,39 @@ public class PmsTreatmentServiceImpl implements PmsTreatmentService {
Map<String, Object> map = new HashMap<>();
map.put("name", pmsTreatment.getName());
map.put("sex", pmsTreatment.getGender() == 0 ? "男" : "女");
map.put("age", pmsTreatment.getAge());
map.put("age", pmsTreatment.getAge() + " 岁");
map.put("phone", pmsTreatment.getPhone());
map.put("visitNum", pmsTreatment.getVisitNumber());
map.put("visitTime", DateUtil.format(pmsTreatment.getVisitTime(), "yyyy-MM-dd HH:mm:ss"));
map.put("visitTime", DateUtil.format(pmsTreatment.getVisitTime(), "yyyy-MM-dd"));
map.put("doctor", pmsTreatment.getDoctor());
map.put("createBy", pmsTreatment.getCreateBy());
map.put("createTime", DateUtil.format(pmsTreatment.getCreateTime(), "yyyy-MM-dd HH:mm:ss"));
map.put("status", pmsTreatment.getStatus() == 0 ? "未完成" : "已完成");
map.put("report_date", DateUtil.format(new Date(), "yyyy-MM-dd"));
if (dmsTenant != null) {
map.put("h_name", dmsTenant.getName());
}
if (CollectionUtil.isNotEmpty(pmsTreatmentRecords)) {
Map<String, PmsTreatmentRecord> recordMap = pmsTreatmentRecords.stream().collect(Collectors.toMap(PmsTreatmentRecord::getQuestionCode, Function.identity()));
map.put("Clinical_diagnosis", recordMap.get("JBXX_ZYZD") == null ? "" : StrUtil.split(recordMap.get("JBXX_ZYZD").getAnswer(), UserConstants.ANSWER_JOIN_STRING).stream().collect(Collectors.joining(", ")));
map.put("PG_RTCF_TXLX", recordMap.get("PG_RTCF_TXLX") == null ? "" : recordMap.get("PG_RTCF_TXLX").getAnswer());
map.put("PG_RTCF_STNL", recordMap.get("PG_RTCF_STNL") == null ? "" : recordMap.get("PG_RTCF_STNL").getAnswer());
map.put("PG_RTCF_JKPF", recordMap.get("PG_RTCF_JKPF") == null ? "" : recordMap.get("PG_RTCF_JKPF").getAnswer());
map.put("PG_RTCF_TZ", recordMap.get("PG_RTCF_TZ") == null ? "" : recordMap.get("PG_RTCF_TZ").getAnswer());
map.put("PG_RTCF_QZTZ", recordMap.get("PG_RTCF_QZTZ") == null ? "" : recordMap.get("PG_RTCF_QZTZ").getAnswer());
map.put("PG_RTCF_JRL", recordMap.get("PG_RTCF_JRL") == null ? "" : recordMap.get("PG_RTCF_JRL").getAnswer());
map.put("PG_RTCF_TBW", recordMap.get("PG_RTCF_TBW") == null ? "" : recordMap.get("PG_RTCF_TBW").getAnswer());
map.put("PG_RTCF_DBZ", recordMap.get("PG_RTCF_DBZ") == null ? "" : recordMap.get("PG_RTCF_DBZ").getAnswer());
map.put("PG_RTCF_GZ", recordMap.get("PG_RTCF_GZ") == null ? "" : recordMap.get("PG_RTCF_GZ").getAnswer());
map.put("PG_RTCF_GGJ", recordMap.get("PG_RTCF_GGJ") == null ? "" : recordMap.get("PG_RTCF_GGJ").getAnswer());
map.put("PG_RTCF_ZF", recordMap.get("PG_RTCF_ZF") == null ? "" : recordMap.get("PG_RTCF_ZF").getAnswer());
map.put("PG_RTCF_WHR", recordMap.get("PG_RTCF_WHR") == null ? "" : recordMap.get("PG_RTCF_WHR").getAnswer());
map.put("PG_RTCF_BMI", recordMap.get("PG_RTCF_BMI") == null ? "" : recordMap.get("PG_RTCF_BMI").getAnswer());
map.put("PG_RTCF_PBF", recordMap.get("PG_RTCF_PBF") == null ? "" : recordMap.get("PG_RTCF_PBF").getAnswer());
map.put("PG_RTCF_NZZFSP", recordMap.get("PG_RTCF_NZZFSP") == null ? "" : recordMap.get("PG_RTCF_NZZFSP").getAnswer());
map.put("PG_TZBS_ZYTZ", recordMap.get("PG_TZBS_ZYTZ") == null ? "" : recordMap.get("PG_TZBS_ZYTZ").getAnswer());
map.put("PG_TZBS_JJTZ", recordMap.get("PG_TZBS_JJTZ") == null ? "" : StrUtil.split(recordMap.get("PG_TZBS_JJTZ").getAnswer(), UserConstants.ANSWER_JOIN_STRING).stream().collect(Collectors.joining(",")));
map.put("score1", recordMap.get("PG_TT_TAPS_DF") == null ? "" : recordMap.get("PG_TT_TAPS_DF").getAnswer());
map.put("score2", recordMap.get("PG_TT_TRACE_DF") == null ? "" : recordMap.get("PG_TT_TRACE_DF").getAnswer());
map.put("score3", recordMap.get("PG_TT_SRS22_DF") == null ? "" : recordMap.get("PG_TT_SRS22_DF").getAnswer());
@ -554,17 +596,39 @@ public class PmsTreatmentServiceImpl implements PmsTreatmentService {
Map<String, Object> map = new HashMap<>();
map.put("name", treatmentRecordVO.getName());
map.put("sex", treatmentRecordVO.getGender() == 0 ? "男" : "女");
map.put("age", treatmentRecordVO.getAge());
map.put("age", treatmentRecordVO.getAge() + " 岁");
map.put("phone", treatmentRecordVO.getPhone());
map.put("visitNum", treatmentRecordVO.getVisitNumber());
map.put("visitTime", DateUtil.format(treatmentRecordVO.getVisitTime(), "yyyy-MM-dd HH:mm:ss"));
map.put("visitTime", DateUtil.format(treatmentRecordVO.getVisitTime(), "yyyy-MM-dd"));
map.put("doctor", treatmentRecordVO.getDoctor());
map.put("createBy", treatmentRecordVO.getCreateBy());
map.put("createTime", DateUtil.format(treatmentRecordVO.getCreateTime(), "yyyy-MM-dd HH:mm:ss"));
map.put("status", treatmentRecordVO.getStatus() == 0 ? "未完成" : "已完成");
map.put("report_date", DateUtil.format(new Date(), "yyyy-MM-dd"));
if (treatmentRecordVO != null) {
map.put("h_name", treatmentRecordVO.getTenantName());
}
if (CollectionUtil.isNotEmpty(pmsTreatmentRecords)) {
Map<String, PmsTreatmentRecord> recordMap = pmsTreatmentRecords.stream().collect(Collectors.toMap(PmsTreatmentRecord::getQuestionCode, Function.identity()));
map.put("Clinical_diagnosis", recordMap.get("JBXX_ZYZD") == null ? "" : StrUtil.split(recordMap.get("JBXX_ZYZD").getAnswer(), UserConstants.ANSWER_JOIN_STRING).stream().collect(Collectors.joining(", ")));
map.put("PG_RTCF_TXLX", recordMap.get("PG_RTCF_TXLX") == null ? "" : recordMap.get("PG_RTCF_TXLX").getAnswer());
map.put("PG_RTCF_STNL", recordMap.get("PG_RTCF_STNL") == null ? "" : recordMap.get("PG_RTCF_STNL").getAnswer());
map.put("PG_RTCF_JKPF", recordMap.get("PG_RTCF_JKPF") == null ? "" : recordMap.get("PG_RTCF_JKPF").getAnswer());
map.put("PG_RTCF_TZ", recordMap.get("PG_RTCF_TZ") == null ? "" : recordMap.get("PG_RTCF_TZ").getAnswer());
map.put("PG_RTCF_QZTZ", recordMap.get("PG_RTCF_QZTZ") == null ? "" : recordMap.get("PG_RTCF_QZTZ").getAnswer());
map.put("PG_RTCF_JRL", recordMap.get("PG_RTCF_JRL") == null ? "" : recordMap.get("PG_RTCF_JRL").getAnswer());
map.put("PG_RTCF_TBW", recordMap.get("PG_RTCF_TBW") == null ? "" : recordMap.get("PG_RTCF_TBW").getAnswer());
map.put("PG_RTCF_DBZ", recordMap.get("PG_RTCF_DBZ") == null ? "" : recordMap.get("PG_RTCF_DBZ").getAnswer());
map.put("PG_RTCF_GZ", recordMap.get("PG_RTCF_GZ") == null ? "" : recordMap.get("PG_RTCF_GZ").getAnswer());
map.put("PG_RTCF_GGJ", recordMap.get("PG_RTCF_GGJ") == null ? "" : recordMap.get("PG_RTCF_GGJ").getAnswer());
map.put("PG_RTCF_ZF", recordMap.get("PG_RTCF_ZF") == null ? "" : recordMap.get("PG_RTCF_ZF").getAnswer());
map.put("PG_RTCF_WHR", recordMap.get("PG_RTCF_WHR") == null ? "" : recordMap.get("PG_RTCF_WHR").getAnswer());
map.put("PG_RTCF_BMI", recordMap.get("PG_RTCF_BMI") == null ? "" : recordMap.get("PG_RTCF_BMI").getAnswer());
map.put("PG_RTCF_PBF", recordMap.get("PG_RTCF_PBF") == null ? "" : recordMap.get("PG_RTCF_PBF").getAnswer());
map.put("PG_RTCF_NZZFSP", recordMap.get("PG_RTCF_NZZFSP") == null ? "" : recordMap.get("PG_RTCF_NZZFSP").getAnswer());
map.put("PG_TZBS_ZYTZ", recordMap.get("PG_TZBS_ZYTZ") == null ? "" : recordMap.get("PG_TZBS_ZYTZ").getAnswer());
map.put("PG_TZBS_JJTZ", recordMap.get("PG_TZBS_JJTZ") == null ? "" : StrUtil.split(recordMap.get("PG_TZBS_JJTZ").getAnswer(), UserConstants.ANSWER_JOIN_STRING).stream().collect(Collectors.joining(",")));
map.put("score1", recordMap.get("PG_TT_TAPS_DF") == null ? "" : recordMap.get("PG_TT_TAPS_DF").getAnswer());
map.put("score2", recordMap.get("PG_TT_TRACE_DF") == null ? "" : recordMap.get("PG_TT_TRACE_DF").getAnswer());
map.put("score3", recordMap.get("PG_TT_SRS22_DF") == null ? "" : recordMap.get("PG_TT_SRS22_DF").getAnswer());
@ -623,8 +687,7 @@ public class PmsTreatmentServiceImpl implements PmsTreatmentService {
addTreatment(dto);
} catch (Exception e) {
e.printStackTrace();
throw new BaseException(StrUtil.format("导入诊疗信息错误:sheet:{},row:{}, {}",
sheetIndex + 1, rowIndex + 1, ExceptionUtil.getExceptionMessage(e)));
throw new BaseException(StrUtil.format("导入诊疗信息错误:sheet:{},row:{}, {}", sheetIndex + 1, rowIndex + 1, ExceptionUtil.getExceptionMessage(e)));
}
});
}
@ -704,6 +767,8 @@ public class PmsTreatmentServiceImpl implements PmsTreatmentService {
writer.writeCellValue(7, row, "港澳居民来往内地通行证");
break;
case 3:
writer.writeCellValue(7, row, "台湾居民来往大陆通行证");
case 4:
writer.writeCellValue(7, row, "其他");
}
}
@ -725,8 +790,7 @@ public class PmsTreatmentServiceImpl implements PmsTreatmentService {
try {
out = response.getOutputStream();
writer.flush(out);
} catch (
IOException e) {
} catch (IOException e) {
e.printStackTrace();
} finally {
// 关闭writer,释放内存

57
acupuncture-system/src/main/resources/mapper/dao/PmsTreatmentDao.xml

@ -141,32 +141,35 @@
<select id="adminQueryTreatment" resultType="com.acupuncture.system.domain.vo.PmsTreatmentVo$TreatmentRecordVO">
select
id,
patient_id as patientId,
name,
gender,
age,
birth_date as birthDate,
ethnicity,
education_years as educationYears,
phone,
id_card_type as idCardType,
id_card as idCard,
visit_type as visitType,
visit_number as visitNumber,
visit_time as visitTime,
discharge_time as dischargeTime,
doctor,
dept_name as deptName,
diagnosis_code as diagnosisCode,
diagnosis_name as diagnosisName,
status,
create_by as createBy,
create_time as createTime
t.id,
t.patient_id as patientId,
t.name,
t.gender,
t.age,
t.birth_date as birthDate,
t.ethnicity,
t.education_years as educationYears,
t.phone,
t.id_card_type as idCardType,
t.id_card as idCard,
t.visit_type as visitType,
t.visit_number as visitNumber,
t.visit_time as visitTime,
t.discharge_time as dischargeTime,
t.doctor,
t.dept_name as deptName,
t.diagnosis_code as diagnosisCode,
t.diagnosis_name as diagnosisName,
t.status,
t.create_by as createBy,
t.create_time as createTime,
d.name as tenantName
from
v_pms_treatment
where del_flag = 0
and id = #{id}
v_pms_treatment t
left join
dms_tenant d on t.tenant_id = d.id
where t.del_flag = 0
and t.id = #{id}
</select>
<insert id="batchInsertRecord">
@ -207,7 +210,9 @@
create_by as createBy,
create_time as createTime
from pms_treatment_record
where treatment_id = #{treatmentId}
where
del_flag = 0
and treatment_id = #{treatmentId}
<if test="codeList != null and codeList.size() > 0">
and question_code in
<foreach collection="codeList" item="item" index="index" open="(" close=")" separator=",">

4
acupuncture-system/src/main/resources/mapper/dao/ScreeningDetailDao.xml

@ -90,10 +90,10 @@
<if test="param.tenantId != null">
and r.tenant_id = #{param.tenantId}
</if>
<if test="param.startTime != null and param.startTime != ''">
<if test="param.startTime != null">
and r.create_time &gt;= #{param.startTime}
</if>
<if test="param.endTime != null and param.endTime != ''">
<if test="param.endTime != null">
and r.create_time &lt;= #{param.endTime}
</if>
<if test="param.startAge != null and param.endAge != ''">

Loading…
Cancel
Save