From 0abbee42ed08582645795b4b98e2637cc10cfed0 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期日, 19 四月 2026 20:12:01 +0800
Subject: [PATCH] 修改一下fuFlag的默认值 fuFlag:0不要 1要(默认)
---
smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java | 104 +++++++++++++++++++++++++++++++++-------------------
1 files changed, 66 insertions(+), 38 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java
index 119a6da..fa6a9d7 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java
@@ -40,7 +40,6 @@
public class ServiceSLTDHealthcareRecordServiceImpl implements IServiceSLTDHealthcareRecordService {
private static final String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";
- public static final String APP_KEY = "ak-zUMiOWhqXiJQWPB1pCbz0pjr";
@Autowired
private IPatArchiveService patArchiveService;
@@ -71,6 +70,9 @@
@Value("${userPwd}")
private String userPwd;
+
+ @Value("${lwl_app_key}")
+ private String APP_KEY;
@Override
public List<ServiceSLTDInhospResDTO> queryHealthcareRecordList(ServiceSLTDInhospReqVO reqVO) {
@@ -290,19 +292,19 @@
sysUserDept.setCreateTime(new Date());
sysUserDept.setDelFlag(0L);
- //鍒ゆ柇涓�涓嬫槸涓嶆槸宸茬粡瀛樺湪浜�
- if (ObjectUtils.isNotEmpty(sysUser1) && ObjectUtils.isNotEmpty(sysDept)) {
+ //鍒ゆ柇涓�涓嬬敤鎴�-閮ㄩ棬鍏崇郴鏄笉鏄凡缁忓瓨鍦ㄤ簡锛堟棤璁烘柊鐢ㄦ埛杩樻槸鑰佺敤鎴烽兘闇�瑕佸幓閲嶏級
+ if (ObjectUtils.isNotEmpty(sysUser.getUserId()) && ObjectUtils.isNotEmpty(sysDept)) {
SysUserDept sud = new SysUserDept();
- sud.setUserId(sysUser1.getUserId());
+ sud.setUserId(sysUser.getUserId());
sud.setDeptId(sysDept.getDeptId());
+ sud.setOrgid(sysDept.getOrgid());
List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sud);
if (CollectionUtils.isNotEmpty(sysUserDepts)) {
sysUserDept.setId(sysUserDepts.get(0).getId());
sysUserDeptMapper.updateSysUserDept(sysUserDept);
+ } else {
+ sysUserDeptMapper.insertSysUserDept(sysUserDept);
}
- } else {
- //涓嶅瓨鍦紝鍒欐柊澧�
- sysUserDeptMapper.insertSysUserDept(sysUserDept);
}
if (StringUtils.isNotEmpty(sysDept.getDeptType()) && sysDept.getDeptType().equals("1")) {
hospInfoList.add(Arrays.asList(sysDept.getDeptCode()));
@@ -325,7 +327,7 @@
sur.setOrgid(sysUser.getOrgid());
//鍏堟煡璇竴涓嬶紝鏄惁瀛樺湪
- SysUserRole sysUserRole = sysUserRoleMapper.selectUserRoleByRoleIdAndUserId(sysUser.getUserId(), 3L);
+ SysUserRole sysUserRole = sysUserRoleMapper.selectUserRoleByRoleIdAndUserId(3L, sysUser.getUserId());
if (ObjectUtils.isNotEmpty(sysUserRole)) continue;
userRoleList.add(sur);
@@ -457,11 +459,21 @@
}
private void processResultList(List<ServiceSLTDInhospResDTO> resultList, List<String> types, String cry, String campusId) {
- for (String type : types)
+ // 闂ㄨ瘖(FH0108.01)鍜屾�ヨ瘖(FH0108.03)鍦ㄤ笟鍔′笂鏄悓涓�绫绘暟鎹紝鍏辩敤鍚屼竴涓� resultList銆�
+ // 鑻� types 鍚屾椂鍖呭惈涓よ�咃紝outHospitalDate 浼氳璋冪敤涓ゆ瀵艰嚧閲嶅鍏ュ簱銆�
+ // 鍥犳鍙 types 涓惈鏈変换鎰忎竴涓棬鎬ヨ瘖绫诲瀷锛屽氨鍙鐞嗕竴娆°��
+ boolean outpProcessed = false;
+ for (String type : types) {
switch (type) {
case "FH0108.01":
- log.info("銆恜arseResponseData銆戣В鏋愰棬璇婃暟鎹�");
- outHospitalDate(resultList);
+ case "FH0108.03":
+ if (!outpProcessed) {
+ log.info("銆恜arseResponseData銆戣В鏋愰棬鎬ヨ瘖鏁版嵁锛宼ypes={}", types);
+ outHospitalDate(resultList);
+ outpProcessed = true;
+ } else {
+ log.info("銆恜arseResponseData銆戦棬鎬ヨ瘖鏁版嵁宸插鐞嗭紝璺宠繃 type={}", type);
+ }
break;
case "FH0109.26":
log.info("銆恜arseResponseData銆戣В鏋愪綇闄㈡暟鎹�");
@@ -483,14 +495,11 @@
log.info("銆恜arseResponseData銆戣В鏋愰浣忛櫌锛堝叾浠栵級鏁版嵁");
inHospitalDate(resultList, cry);
break;
-// case "FH0108.03":
-// log.info("銆恜arseResponseData銆戣В鏋愭�ヨ瘖鏁版嵁");
-// outHospitalDate(resultList);
-// break;
default:
log.warn("銆恜arseResponseData銆戞湭鐭ョ殑鏁版嵁绫诲瀷锛歿}", type);
break;
}
+ }
}
private Boolean outHospitalDate(List<ServiceSLTDInhospResDTO> resultList) {
@@ -544,6 +553,9 @@
patMedOuthosp.setCreateTime(new Date());
patMedOuthosp.setOrgid(dto.getOrgId());
patMedOuthosp.setCampusid(dto.getCampusId());
+ patMedOuthosp.setFuflag("1");
+ if (StringUtils.isNotEmpty(patArchive.getNotrequiredFlag()) && patArchive.getNotrequiredFlag().equals("1"))
+ patMedOuthosp.setFuflag("0");
return patMedOuthosp;
}
@@ -607,37 +619,38 @@
}
} else if (cry.equals("1")) {
-// 鍑洪櫌鏁版嵁澶勭悊
- if (CollectionUtils.isEmpty(existingInhosps)) {
- //濡傛灉涓虹┖锛岃鍏堝垽鏂紝棰勫叆闄㈡槸鍚︽湁鍊硷紝鏈夊�肩殑璇濆垯鏇存柊
+ // 鍑洪櫌鏁版嵁澶勭悊
+ if (CollectionUtils.isNotEmpty(existingInhosps)) {
+ // 宸插瓨鍦ㄥ嚭闄㈣褰曪紝鐩存帴鏇存柊锛堜繚鎸佹渶鏂版暟鎹級
+ patMedInhosp.setInhospid(existingInhosps.get(0).getInhospid());
+ patMedInhospService.updatePatMedInhosp(patMedInhosp);
+ log.info("鍑洪櫌璁板綍宸插瓨鍦紝鎵ц鏇存柊锛歴erialnum={}, orgid={}", patMedInhosp.getSerialnum(), patMedInhosp.getOrgid());
+ } else {
+ // 涓嶅瓨鍦ㄥ嚭闄㈣褰曪紝鍏堟煡棰勫叆闄紙state=3锛夛紝鍐嶆煡鍏ラ櫌锛坰tate=0锛�
queryInhosp.setInhospstate("3");
- log.info("-----patMedInhospList杩涙潵浜嗕笉锛熷叆鍙備负锛歿}", queryInhosp);
+ log.info("-----鏌ヨ棰勫叆闄㈣褰曪紝鍏ュ弬涓猴細{}", queryInhosp);
List<PatMedInhosp> patMedInhospList = patMedInhospService.selectPatMedInhosp(queryInhosp);
- log.info("----patMedInhospList杩涙潵浜嗕笉锛熻繑鍙備负锛歿}", CollectionUtils.isEmpty(patMedInhospList) ? null : patMedInhospList.get(0).getSerialnum());
+ log.info("----棰勫叆闄㈡煡璇㈢粨鏋滐細{}", CollectionUtils.isEmpty(patMedInhospList) ? "绌�" : patMedInhospList.get(0).getSerialnum());
if (CollectionUtils.isNotEmpty(patMedInhospList)) {
- //濡傛灉棰勫叆闄笉涓虹┖锛屽垯杩涜淇敼
+ // 瀛樺湪棰勫叆闄㈣褰曪紝鏇存柊涓哄嚭闄㈢姸鎬�
+ patMedInhosp.setInhospid(patMedInhospList.get(0).getInhospid());
patMedInhospService.updatePatMedInhosp(patMedInhosp);
+ log.info("鐢遍鍏ラ櫌鏇存柊涓哄嚭闄細serialnum={}", patMedInhosp.getSerialnum());
} else {
- //濡傛灉鍏ラ櫌涓嶄负绌猴紝鍒欒繘琛屼慨鏀�
+ // 鍐嶆煡鍏ラ櫌璁板綍锛坰tate=0锛�
queryInhosp.setInhospstate("0");
patMedInhospList = patMedInhospService.selectPatMedInhosp(queryInhosp);
+ log.debug("鍏ラ櫌鏌ヨ缁撴灉锛歿}", CollectionUtils.isEmpty(patMedInhospList) ? "绌�" : patMedInhospList.size());
if (CollectionUtils.isNotEmpty(patMedInhospList)) {
+ // 瀛樺湪鍏ラ櫌璁板綍锛屾洿鏂颁负鍑洪櫌鐘舵��
+ patMedInhosp.setInhospid(patMedInhospList.get(0).getInhospid());
patMedInhospService.updatePatMedInhosp(patMedInhosp);
- }
- }
-
- //濡傛灉閮戒负绌猴紝鍒欒繘琛屾柊澧�
- if (CollectionUtils.isEmpty(patMedInhospList)) {
- //濡傛灉鍏ラ櫌涓嶄负绌猴紝鍒欒繘琛屼慨鏀�
- queryInhosp.setInhospstate("0");
- log.debug("鍑洪櫌queryInhosp鍏ュ弬涓猴細{}", queryInhosp);
- List<PatMedInhosp> patMedInhosps = patMedInhospService.selectPatMedInhosp(queryInhosp);
- log.debug("鍑洪櫌patMedInhospList杩斿弬涓猴細{}", CollectionUtils.isEmpty(patMedInhosps) ? null : patMedInhosps.size());
- if (CollectionUtils.isNotEmpty(patMedInhosps)) {
- patMedInhospService.updatePatMedInhosp(patMedInhosp);
+ log.info("鐢卞叆闄㈡洿鏂颁负鍑洪櫌锛歴erialnum={}", patMedInhosp.getSerialnum());
} else {
+ // 棰勫叆闄㈠拰鍏ラ櫌鍧囦笉瀛樺湪锛岀洿鎺ユ柊澧炲嚭闄㈣褰�
try {
patMedInhospService.insertPatMedInhosp(patMedInhosp);
+ log.info("鏂板鍑洪櫌璁板綍锛歴erialnum={}", patMedInhosp.getSerialnum());
} catch (org.springframework.dao.DuplicateKeyException e) {
log.warn("鍑洪櫌璁板綍宸插瓨鍦紝璺宠繃锛歴erialnum={}, orgid={}, state={}", patMedInhosp.getSerialnum(), patMedInhosp.getOrgid(), patMedInhosp.getInhospstate());
}
@@ -696,6 +709,8 @@
patMedInhosp.setNurseName(dto.getChiefNurseName());
patMedInhosp.setSerialnum(dto.getHealthcareRecordNo());
patMedInhosp.setFuflag("1");
+ if (StringUtils.isNotEmpty(patArchive.getNotrequiredFlag()) && patArchive.getNotrequiredFlag().equals("1"))
+ patMedInhosp.setFuflag("0");
if ("0".equals(cry)) patMedInhosp.setInhospstate("0");
if ("1".equals(cry)) patMedInhosp.setInhospstate("1");
if ("3".equals(cry)) patMedInhosp.setInhospstate("3");
@@ -743,9 +758,20 @@
}
private PatArchive processPatientArchive(ServiceSLTDInhospResDTO dto) {
- PatArchive queryArchive = new PatArchive();
- queryArchive.setIdcardno(StringUtils.isEmpty(dto.getIdCardNo()) ? "" + dto.getMedicalCardId() : dto.getIdCardNo().trim());
- List<PatArchive> existingArchives = patArchiveService.selectPatArchiveList(queryArchive);
+ List<PatArchive> existingArchives = null;
+
+ // 浼樺厛鎸� patientno 绮剧‘鏌ラ噸锛屾煡涓嶅埌鍐嶆寜 idcardno 鏌ラ噸锛圓ND鏉′欢浼氭紡鏌ュ悓涓�浜轰笉鍚宲atientno鐨勬儏鍐碉級
+ if (dto.getPatientId() != null) {
+ PatArchive queryByPatientNo = new PatArchive();
+ queryByPatientNo.setPatientno(String.valueOf(dto.getPatientId()));
+ queryByPatientNo.setIdcardno(StringUtils.isNotEmpty(dto.getIdCardNo()) ? dto.getIdCardNo().trim() : null);
+ existingArchives = patArchiveService.selectPatArchiveList(queryByPatientNo);
+ }
+// if (CollectionUtils.isEmpty(existingArchives) && !StringUtils.isEmpty(dto.getIdCardNo())) {
+// PatArchive queryByIdCard = new PatArchive();
+// queryByIdCard.setIdcardno(dto.getIdCardNo().trim());
+// existingArchives = patArchiveService.selectPatArchiveList(queryByIdCard);
+// }
PatArchive patArchive = buildPatientArchive(dto);
@@ -754,6 +780,8 @@
log.debug("銆恜rocessPatientArchive銆戞柊澧炴偅鑰呮。妗堬紝鎮h�呯紪鍙凤細{}", patArchive.getPatientno());
} else {
patArchive.setId(existingArchives.get(0).getId());
+ patArchive.setNotrequiredFlag(existingArchives.get(0).getNotrequiredFlag());
+ patArchive.setNotrequiredreason(existingArchives.get(0).getNotrequiredreason());
patArchiveService.updateArchive(patArchive);
log.debug("銆恜rocessPatientArchive銆戞洿鏂版偅鑰呮。妗堬紝鎮h�呯紪鍙凤細{}", patArchive.getPatientno());
}
@@ -763,7 +791,7 @@
private PatArchive buildPatientArchive(ServiceSLTDInhospResDTO dto) {
PatArchive patArchive = new PatArchive();
- patArchive.setPatientno("" + dto.getPatientId());
+ patArchive.setPatientno(dto.getPatientId() == null ? null : String.valueOf(dto.getPatientId()));
patArchive.setIdcardno(StringUtils.isEmpty(dto.getIdCardNo()) ? "" + dto.getMedicalCardId() : dto.getIdCardNo().trim());
patArchive.setName(dto.getPatientName());
patArchive.setSourcefrom(2L);
--
Gitblit v1.9.3