From 5723d458f427570793e26c13d4ecf22d096e9519 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期六, 10 十月 2026 17:31:41 +0800
Subject: [PATCH] 【丽水】新增接口/smartor/maternityArchive/batchDelete /smartor/childArchive/batchDelete

---
 smartor/src/main/java/com/smartor/service/impl/PatMaternityArchiveServiceImpl.java |   86 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 86 insertions(+), 0 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/PatMaternityArchiveServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatMaternityArchiveServiceImpl.java
index 49b170a..f5706f4 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMaternityArchiveServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMaternityArchiveServiceImpl.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.PatMaternityArchive;
+import com.smartor.domain.PatMaternityArchiveDetail;
 import com.smartor.mapper.PatMaternityArchiveMapper;
+import com.smartor.service.IPatMaternityArchiveDetailService;
 import com.smartor.service.IPatMaternityArchiveService;
+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 PatMaternityArchiveServiceImpl implements IPatMaternityArchiveService
 {
     @Autowired
     private PatMaternityArchiveMapper patMaternityArchiveMapper;
+
+    @Autowired
+    private IPatMaternityArchiveDetailService patMaternityArchiveDetailService;
 
     @Override
     public PatMaternityArchive selectPatMaternityArchiveById(Long id)
@@ -54,8 +66,82 @@
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
+    public int batchDeletePatMaternityArchiveByIds(Long[] ids)
+    {
+        // 鍏堝垹闄ゅ搴旂殑璇︽儏琛ㄦ暟鎹�
+        patMaternityArchiveDetailService.deletePatMaternityArchiveDetailByArchiveIds(ids);
+        // 鍐嶅垹闄や富琛ㄦ暟鎹�
+        return patMaternityArchiveMapper.deletePatMaternityArchiveByIds(ids);
+    }
+
+    @Override
     public int deletePatMaternityArchiveById(Long id)
     {
         return patMaternityArchiveMapper.deletePatMaternityArchiveById(id);
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public int insertOrUpdateMaternityArchive(PatMaternityArchiveDetail patMaternityArchiveDetail) {
+        if (patMaternityArchiveDetail == null) {
+            log.error("insertOrUpdateMaternityArchive鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�");
+            throw new BaseException("濡囩妗f鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�");
+        }
+
+        // 鍙紶浜嗚鎯卛d鏃讹紝鍙嶆煡鍑哄搴旂殑妗f涓婚敭id锛屼繚璇佸悗缁兘姝g‘鏇存柊涓昏〃
+        if (patMaternityArchiveDetail.getId() != null && patMaternityArchiveDetail.getArchiveid() == null) {
+            PatMaternityArchiveDetail existDetail = patMaternityArchiveDetailService.selectPatMaternityArchiveDetailById(patMaternityArchiveDetail.getId());
+            if (existDetail != null) {
+                patMaternityArchiveDetail.setArchiveid(existDetail.getArchiveid());
+            }
+        }
+
+        // 灏嗚鎯呬腑鐨勫叕鍏卞瓧娈靛鍒跺埌涓昏〃瀵硅薄
+        PatMaternityArchive patMaternityArchive = DtoConversionUtils.sourceToTarget(patMaternityArchiveDetail, PatMaternityArchive.class);
+        if (patMaternityArchive == null) {
+            throw new BaseException("濡囩妗f瀵硅薄杞崲澶辫触锛岃妫�鏌ュ叆鍙�");
+        }
+        // 闃叉鎶婅鎯呰〃id锛坧atMaternityArchiveDetail.id锛夊綋浣滀富琛╥d锛屼富琛╥d蹇呴』浠rchiveid涓哄噯
+        patMaternityArchive.setId(patMaternityArchiveDetail.getArchiveid());
+
+        // 涓昏〃锛氭湁id涓斿簱涓瓨鍦ㄥ垯淇敼锛屽惁鍒欐柊澧�
+        if (patMaternityArchive.getId() != null
+                && patMaternityArchiveMapper.selectPatMaternityArchiveById(patMaternityArchive.getId()) != null) {
+            patMaternityArchive.setUpdateTime(DateUtils.getNowDate());
+            patMaternityArchiveMapper.updatePatMaternityArchive(patMaternityArchive);
+        } else {
+            patMaternityArchive.setCreateTime(DateUtils.getNowDate());
+            if (StringUtils.isEmpty(patMaternityArchive.getDelFlag())) {
+                patMaternityArchive.setDelFlag("0");
+            }
+            patMaternityArchiveMapper.insertPatMaternityArchive(patMaternityArchive);
+        }
+
+        // 鍥炲~涓昏〃id鍒拌鎯咃紝鍚屾鐢熸垚/鏇存柊璇︽儏琛�
+        patMaternityArchiveDetail.setArchiveid(patMaternityArchive.getId());
+
+        Long detailId = patMaternityArchiveDetail.getId();
+        if (detailId == null && patMaternityArchiveDetail.getArchiveid() != null) {
+            PatMaternityArchiveDetail query = new PatMaternityArchiveDetail();
+            query.setArchiveid(patMaternityArchiveDetail.getArchiveid());
+            List<PatMaternityArchiveDetail> existList = patMaternityArchiveDetailService.selectPatMaternityArchiveDetailList(query);
+            if (CollectionUtils.isNotEmpty(existList)) {
+                detailId = existList.get(0).getId();
+            }
+        }
+
+        if (detailId != null) {
+            patMaternityArchiveDetail.setId(detailId);
+            patMaternityArchiveDetailService.updatePatMaternityArchiveDetail(patMaternityArchiveDetail);
+        } else {
+            if (StringUtils.isEmpty(patMaternityArchiveDetail.getDelFlag())) {
+                patMaternityArchiveDetail.setDelFlag("0");
+            }
+            patMaternityArchiveDetailService.insertPatMaternityArchiveDetail(patMaternityArchiveDetail);
+        }
+
+        log.info("insertOrUpdateMaternityArchive澶勭悊瀹屾垚锛屼富琛╥d锛歿}锛岃鎯卛d锛歿}", patMaternityArchive.getId(), patMaternityArchiveDetail.getId());
+        return patMaternityArchive.getId().intValue();
+    }
 }

--
Gitblit v1.9.3