diff --git a/acupuncture-admin/src/main/java/com/acupuncture/web/controller/web/ScreeningController.java b/acupuncture-admin/src/main/java/com/acupuncture/web/controller/web/ScreeningController.java index 8f0e268f..7fdcf95b 100644 --- a/acupuncture-admin/src/main/java/com/acupuncture/web/controller/web/ScreeningController.java +++ b/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"}) diff --git a/acupuncture-admin/src/main/java/com/acupuncture/web/task/TaskController.java b/acupuncture-admin/src/main/java/com/acupuncture/web/task/TaskController.java index ae352a71..76f20bed 100644 --- a/acupuncture-admin/src/main/java/com/acupuncture/web/task/TaskController.java +++ b/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 + 轮次时间 ) diff --git a/acupuncture-admin/src/main/resources/application-prod.yml b/acupuncture-admin/src/main/resources/application-prod.yml new file mode 100644 index 00000000..1f416db3 --- /dev/null +++ b/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¢erId=cId + pgTemplate: /home/acupuncture/server/profile/TreamtmentPgTemplate.docx + jmrsUrl: /home/acupuncture/server/profile/uploads/jmrsTemplate.docx diff --git a/acupuncture-admin/src/main/resources/screenQrCodeTemplate.docx b/acupuncture-admin/src/main/resources/screenQrCodeTemplate.docx new file mode 100644 index 00000000..b45eb624 --- /dev/null +++ b/acupuncture-admin/src/main/resources/screenQrCodeTemplate.docx @@ -0,0 +1,9 @@ + 减重失眠筛查倡议书 +-------------------------------------------------------------------------------- +尊敬的社区成员、医疗机构、社会组织及所有关心健康的朋友们: +-------------------------------------------------------------------------------- +大家好!近年来,随着生活方式的改变,减重和失眠已成为影响人们健康的突出问题。为了更早地发现和预防这些健康问题,我们倡议开展减重失眠筛查工作。健康是每个人的宝贵财富,也是我们共同的责任。让我们携手共进,通过筛查,为构建健康社区、实现全民健康贡献我们的力量! + {{@pic}} + 健康是每个人的宝贵财富,也是我们共同的责任。让我们携手共进,开展减重失眠筛查工作,为构建健康社区、实现全民健康贡献我们的力量!您可通过扫描上方二维码参与减重失眠筛查工作。感谢您的参与,谢谢! + + {{hospitalName}} diff --git a/acupuncture-framework/src/main/java/com/acupuncture/framework/web/service/WebDmsLoginService.java b/acupuncture-framework/src/main/java/com/acupuncture/framework/web/service/WebDmsLoginService.java index 9f65dacb..f5a40b40 100644 --- a/acupuncture-framework/src/main/java/com/acupuncture/framework/web/service/WebDmsLoginService.java +++ b/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); // 用户验证 diff --git a/acupuncture-system/src/main/java/com/acupuncture/system/domain/vo/PmsTreatmentVo.java b/acupuncture-system/src/main/java/com/acupuncture/system/domain/vo/PmsTreatmentVo.java index 8287394c..342fdc49 100644 --- a/acupuncture-system/src/main/java/com/acupuncture/system/domain/vo/PmsTreatmentVo.java +++ b/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; diff --git a/acupuncture-system/src/main/java/com/acupuncture/system/persist/dao/ExternalDao.java b/acupuncture-system/src/main/java/com/acupuncture/system/persist/dao/ExternalDao.java index 772e2dc7..abc338f4 100644 --- a/acupuncture-system/src/main/java/com/acupuncture/system/persist/dao/ExternalDao.java +++ b/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 select(@Param("query") ExternalDto.Query query); } diff --git a/acupuncture-system/src/main/java/com/acupuncture/system/service/impl/ExternalServiceImpl.java b/acupuncture-system/src/main/java/com/acupuncture/system/service/impl/ExternalServiceImpl.java index 9def122e..21c7a869 100644 --- a/acupuncture-system/src/main/java/com/acupuncture/system/service/impl/ExternalServiceImpl.java +++ b/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 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()); diff --git a/acupuncture-system/src/main/java/com/acupuncture/system/service/impl/PmsPatientServiceImpl.java b/acupuncture-system/src/main/java/com/acupuncture/system/service/impl/PmsPatientServiceImpl.java index ed996850..06a526c9 100644 --- a/acupuncture-system/src/main/java/com/acupuncture/system/service/impl/PmsPatientServiceImpl.java +++ b/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, "其他"); } } diff --git a/acupuncture-system/src/main/java/com/acupuncture/system/service/impl/PmsTreatmentServiceImpl.java b/acupuncture-system/src/main/java/com/acupuncture/system/service/impl/PmsTreatmentServiceImpl.java index 9af11510..081f7e08 100644 --- a/acupuncture-system/src/main/java/com/acupuncture/system/service/impl/PmsTreatmentServiceImpl.java +++ b/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 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 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 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 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 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 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 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 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 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,释放内存 diff --git a/acupuncture-system/src/main/resources/mapper/dao/PmsTreatmentDao.xml b/acupuncture-system/src/main/resources/mapper/dao/PmsTreatmentDao.xml index c88a27d1..cd848231 100644 --- a/acupuncture-system/src/main/resources/mapper/dao/PmsTreatmentDao.xml +++ b/acupuncture-system/src/main/resources/mapper/dao/PmsTreatmentDao.xml @@ -141,32 +141,35 @@ @@ -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} and question_code in diff --git a/acupuncture-system/src/main/resources/mapper/dao/ScreeningDetailDao.xml b/acupuncture-system/src/main/resources/mapper/dao/ScreeningDetailDao.xml index e7ec883f..1ebbbfac 100644 --- a/acupuncture-system/src/main/resources/mapper/dao/ScreeningDetailDao.xml +++ b/acupuncture-system/src/main/resources/mapper/dao/ScreeningDetailDao.xml @@ -90,10 +90,10 @@ and r.tenant_id = #{param.tenantId} - + and r.create_time >= #{param.startTime} - + and r.create_time <= #{param.endTime}