From 7b9a3eb074edc9b37950cd6457207a02192c61ce Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期一, 12 十月 2026 17:39:34 +0800
Subject: [PATCH] 【丽水】专科档案生成配置
---
smartor/src/main/java/com/smartor/service/impl/PatChildArchiveServiceImpl.java | 86 +++++++++++++++++++++++++++++++++++++++++++
1 files changed, 86 insertions(+), 0 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/service/impl/PatChildArchiveServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatChildArchiveServiceImpl.java
index c7f4390..04aef2b 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatChildArchiveServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatChildArchiveServiceImpl.java
@@ -1,11 +1,19 @@
package com.smartor.service.impl;
+import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.DtoConversionUtils;
+import com.ruoyi.common.utils.StringUtils;
import com.smartor.domain.PatChildArchive;
+import com.smartor.domain.PatChildArchiveDetail;
import com.smartor.mapper.PatChildArchiveMapper;
+import com.smartor.service.IPatChildArchiveDetailService;
import com.smartor.service.IPatChildArchiveService;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -15,11 +23,15 @@
* @author ruoyi
* @date 2026-10-09
*/
+@Slf4j
@Service
public class PatChildArchiveServiceImpl implements IPatChildArchiveService
{
@Autowired
private PatChildArchiveMapper patChildArchiveMapper;
+
+ @Autowired
+ private IPatChildArchiveDetailService patChildArchiveDetailService;
@Override
public PatChildArchive selectPatChildArchiveById(Long id)
@@ -54,8 +66,82 @@
}
@Override
+ @Transactional(rollbackFor = Exception.class)
+ public int batchDeletePatChildArchiveByIds(Long[] ids)
+ {
+ // 鍏堝垹闄ゅ搴旂殑璇︽儏琛ㄦ暟鎹�
+ patChildArchiveDetailService.deletePatChildArchiveDetailByArchiveIds(ids);
+ // 鍐嶅垹闄や富琛ㄦ暟鎹�
+ return patChildArchiveMapper.deletePatChildArchiveByIds(ids);
+ }
+
+ @Override
public int deletePatChildArchiveById(Long id)
{
return patChildArchiveMapper.deletePatChildArchiveById(id);
}
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public int insertOrUpdateChildArchive(PatChildArchiveDetail patChildArchiveDetail) {
+ if (patChildArchiveDetail == null) {
+ log.error("insertOrUpdateChildArchive鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�");
+ throw new BaseException("鍎跨妗f鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�");
+ }
+
+ // 鍙紶浜嗚鎯卛d鏃讹紝鍙嶆煡鍑哄搴旂殑妗f涓婚敭id锛屼繚璇佸悗缁兘姝g‘鏇存柊涓昏〃
+ if (patChildArchiveDetail.getId() != null && patChildArchiveDetail.getArchiveid() == null) {
+ PatChildArchiveDetail existDetail = patChildArchiveDetailService.selectPatChildArchiveDetailById(patChildArchiveDetail.getId());
+ if (existDetail != null) {
+ patChildArchiveDetail.setArchiveid(existDetail.getArchiveid());
+ }
+ }
+
+ // 灏嗚鎯呬腑鐨勫叕鍏卞瓧娈靛鍒跺埌涓昏〃瀵硅薄
+ PatChildArchive patChildArchive = DtoConversionUtils.sourceToTarget(patChildArchiveDetail, PatChildArchive.class);
+ if (patChildArchive == null) {
+ throw new BaseException("鍎跨妗f瀵硅薄杞崲澶辫触锛岃妫�鏌ュ叆鍙�");
+ }
+ // 闃叉鎶婅鎯呰〃id锛坧atChildArchiveDetail.id锛夊綋浣滀富琛╥d锛屼富琛╥d蹇呴』浠rchiveid涓哄噯
+ patChildArchive.setId(patChildArchiveDetail.getArchiveid());
+
+ // 涓昏〃锛氭湁id涓斿簱涓瓨鍦ㄥ垯淇敼锛屽惁鍒欐柊澧�
+ if (patChildArchive.getId() != null
+ && patChildArchiveMapper.selectPatChildArchiveById(patChildArchive.getId()) != null) {
+ patChildArchive.setUpdateTime(DateUtils.getNowDate());
+ patChildArchiveMapper.updatePatChildArchive(patChildArchive);
+ } else {
+ patChildArchive.setCreateTime(DateUtils.getNowDate());
+ if (StringUtils.isEmpty(patChildArchive.getDelFlag())) {
+ patChildArchive.setDelFlag("0");
+ }
+ patChildArchiveMapper.insertPatChildArchive(patChildArchive);
+ }
+
+ // 鍥炲~涓昏〃id鍒拌鎯咃紝鍚屾鐢熸垚/鏇存柊璇︽儏琛�
+ patChildArchiveDetail.setArchiveid(patChildArchive.getId());
+
+ Long detailId = patChildArchiveDetail.getId();
+ if (detailId == null && patChildArchiveDetail.getArchiveid() != null) {
+ PatChildArchiveDetail query = new PatChildArchiveDetail();
+ query.setArchiveid(patChildArchiveDetail.getArchiveid());
+ List<PatChildArchiveDetail> existList = patChildArchiveDetailService.selectPatChildArchiveDetailList(query);
+ if (CollectionUtils.isNotEmpty(existList)) {
+ detailId = existList.get(0).getId();
+ }
+ }
+
+ if (detailId != null) {
+ patChildArchiveDetail.setId(detailId);
+ patChildArchiveDetailService.updatePatChildArchiveDetail(patChildArchiveDetail);
+ } else {
+ if (StringUtils.isEmpty(patChildArchiveDetail.getDelFlag())) {
+ patChildArchiveDetail.setDelFlag("0");
+ }
+ patChildArchiveDetailService.insertPatChildArchiveDetail(patChildArchiveDetail);
+ }
+
+ log.info("insertOrUpdateChildArchive澶勭悊瀹屾垚锛屼富琛╥d锛歿}锛岃鎯卛d锛歿}", patChildArchive.getId(), patChildArchiveDetail.getId());
+ return patChildArchive.getId().intValue();
+ }
}
--
Gitblit v1.9.3