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

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMaternityArchiveController.java |   26 +++++
 smartor/src/main/java/com/smartor/service/IPatMaternityArchiveService.java                    |    3 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatChildArchiveController.java     |   25 +++++
 smartor/src/main/java/com/smartor/service/IPatChildArchiveService.java                        |    3 
 smartor/src/main/java/com/smartor/domain/PatMaternityArchiveDetail.java                       |   31 ++++++
 smartor/src/main/java/com/smartor/service/impl/PatMaternityArchiveServiceImpl.java            |   76 +++++++++++++++
 smartor/src/main/java/com/smartor/service/impl/PatChildArchiveServiceImpl.java                |   76 +++++++++++++++
 smartor/src/main/java/com/smartor/domain/PatMaternityArchive.java                             |    8 
 smartor/src/main/resources/mapper/smartor/PatMaternityArchiveDetailMapper.xml                 |   30 ++++++
 9 files changed, 274 insertions(+), 4 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatChildArchiveController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatChildArchiveController.java
index 74927de..1456e58 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatChildArchiveController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatChildArchiveController.java
@@ -5,14 +5,18 @@
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.utils.PageUtils;
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.smartor.domain.PatChildArchive;
+import com.smartor.domain.PatChildArchiveDetail;
 import com.smartor.service.IPatChildArchiveService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -25,6 +29,7 @@
  * @author ruoyi
  * @date 2026-10-09
  */
+@Slf4j
 @Api(description = "鍎跨妗f")
 @RestController
 @RequestMapping("/smartor/childArchive")
@@ -85,4 +90,24 @@
     public AjaxResult remove(@PathVariable Long[] ids) {
         return toAjax(patChildArchiveService.deletePatChildArchiveByIds(ids));
     }
+
+    /**
+     * 鏂板鎴栦慨鏀瑰効绉戞。妗�
+     */
+    @ApiOperation("鏂板鎴栦慨鏀瑰効绉戞。妗�")
+    @PostMapping("/insertOrUpdateChildArchive")
+    public AjaxResult insertOrUpdateChildArchive(@RequestBody PatChildArchiveDetail patChildArchiveDetail) {
+        log.info("insertOrUpdateChildArchive鐨勫叆鍙備负锛歿}", patChildArchiveDetail);
+        LoginUser loginUser = getLoginUser();
+        SysUser user = loginUser.getUser();
+        patChildArchiveDetail.setCreateBy(user.getNickName());
+        patChildArchiveDetail.setUpdateBy(user.getNickName());
+        patChildArchiveDetail.setOrgid(user.getOrgid());
+        if(StringUtils.isNotEmpty(user.getCampusid())){
+            patChildArchiveDetail.setCampusid(user.getCampusid());
+        }else {
+            patChildArchiveDetail.setCampusid("1");
+        }
+        return success(patChildArchiveService.insertOrUpdateChildArchive(patChildArchiveDetail));
+    }
 }
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMaternityArchiveController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMaternityArchiveController.java
index 8250a36..4188eab 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMaternityArchiveController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMaternityArchiveController.java
@@ -5,14 +5,19 @@
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.utils.PageUtils;
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.smartor.domain.PatMaternityArchive;
+import com.smartor.domain.PatMaternityArchiveDetail;
+import com.smartor.domain.SvyTaskVO;
 import com.smartor.service.IPatMaternityArchiveService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -25,6 +30,7 @@
  * @author ruoyi
  * @date 2026-10-09
  */
+@Slf4j
 @Api(description = "濡囩妗f")
 @RestController
 @RequestMapping("/smartor/maternityArchive")
@@ -85,4 +91,24 @@
     public AjaxResult remove(@PathVariable Long[] ids) {
         return toAjax(patMaternityArchiveService.deletePatMaternityArchiveByIds(ids));
     }
+
+    /**
+     * 鏂板鎴栦慨鏀瑰绉戞。妗�
+     */
+    @ApiOperation("鏂板鎴栦慨鏀瑰绉戞。妗�")
+    @PostMapping("/insertOrUpdateMaternityArchive")
+    public AjaxResult insertOrUpdateMaternityArchive(@RequestBody PatMaternityArchiveDetail patMaternityArchiveDetail) {
+        log.info("insertOrUpdateMaternityArchive鐨勫叆鍙備负锛歿}", patMaternityArchiveDetail);
+        LoginUser loginUser = getLoginUser();
+        SysUser user = loginUser.getUser();
+        patMaternityArchiveDetail.setCreateBy(user.getNickName());
+        patMaternityArchiveDetail.setUpdateBy(user.getNickName());
+        patMaternityArchiveDetail.setOrgid(user.getOrgid());
+        if(StringUtils.isNotEmpty(user.getCampusid())){
+            patMaternityArchiveDetail.setCampusid(user.getCampusid());
+        }else {
+            patMaternityArchiveDetail.setCampusid("1");
+        }
+        return success(patMaternityArchiveService.insertOrUpdateMaternityArchive(patMaternityArchiveDetail));
+    }
 }
diff --git a/smartor/src/main/java/com/smartor/domain/PatMaternityArchive.java b/smartor/src/main/java/com/smartor/domain/PatMaternityArchive.java
index be9ce5f..9bb36b9 100644
--- a/smartor/src/main/java/com/smartor/domain/PatMaternityArchive.java
+++ b/smartor/src/main/java/com/smartor/domain/PatMaternityArchive.java
@@ -60,7 +60,7 @@
     private String parentname;
 
     /** 鍑虹敓鏃ユ湡 */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd[ HH:mm:ss]", timezone = "GMT+8")
     @Excel(name = "鍑虹敓鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value = "鍑虹敓鏃ユ湡")
     private Date birthdate;
@@ -76,19 +76,19 @@
     private String phone;
 
     /** 璇婃柇鏃堕棿 */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd[ HH:mm:ss]", timezone = "GMT+8")
     @Excel(name = "璇婃柇鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value = "璇婃柇鏃堕棿")
     private Date diagTime;
 
     /** 寤烘。鏃堕棿 */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd[ HH:mm:ss]", timezone = "GMT+8")
     @Excel(name = "寤烘。鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value = "寤烘。鏃堕棿")
     private Date archiveTime;
 
     /** 鎷熼殢璁挎椂闂� */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd[ HH:mm:ss]", timezone = "GMT+8")
     @Excel(name = "鎷熼殢璁挎椂闂�", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value = "鎷熼殢璁挎椂闂�")
     private Date plannedFollowTime;
diff --git a/smartor/src/main/java/com/smartor/domain/PatMaternityArchiveDetail.java b/smartor/src/main/java/com/smartor/domain/PatMaternityArchiveDetail.java
index ce7e64b..af5f83b 100644
--- a/smartor/src/main/java/com/smartor/domain/PatMaternityArchiveDetail.java
+++ b/smartor/src/main/java/com/smartor/domain/PatMaternityArchiveDetail.java
@@ -190,6 +190,37 @@
     @ApiModelProperty(value = "闅忚鍛ㄦ湡")
     private String followupPeriod;
 
+    /** 闅忚鍛ㄦ湡(娆℃暟) */
+    @Excel(name = "闅忚鍛ㄦ湡(娆℃暟)")
+    @ApiModelProperty(value = "闅忚鍛ㄦ湡(娆℃暟)")
+    private String followupCycleTimes;
+
+    /** 鏈鏈堢粡 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "鏈鏈堢粡", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "鏈鏈堢粡")
+    private Date lastMenstrualTime;
+
+    /** 棣栬瘖鍖荤敓 */
+    @Excel(name = "棣栬瘖鍖荤敓")
+    @ApiModelProperty(value = "棣栬瘖鍖荤敓")
+    private String firstDoctorCode;
+
+    /** 缁忕鍖荤敓濮撳悕 */
+    @Excel(name = "缁忕鍖荤敓濮撳悕")
+    @ApiModelProperty(value = "缁忕鍖荤敓濮撳悕")
+    private String firstDoctorName;
+
+    /** 鑱旂郴浜鸿仈绯荤數璇� */
+    @Excel(name = "鑱旂郴浜鸿仈绯荤數璇�")
+    @ApiModelProperty(value = "鑱旂郴浜鸿仈绯荤數璇�")
+    private String contactPhone;
+
+    /** 灞呬綇鍦板潃 */
+    @Excel(name = "灞呬綇鍦板潃")
+    @ApiModelProperty(value = "灞呬綇鍦板潃")
+    private String address;
+
     /** 鏃╁瓡鍏崇埍-鏃╁瓡闅忚琛� */
     @ApiModelProperty(value = "鏃╁瓡鍏崇埍-鏃╁瓡闅忚琛�")
     private String epEarlyPregnancyFollowupForm;
diff --git a/smartor/src/main/java/com/smartor/service/IPatChildArchiveService.java b/smartor/src/main/java/com/smartor/service/IPatChildArchiveService.java
index c32bf24..ebf4d23 100644
--- a/smartor/src/main/java/com/smartor/service/IPatChildArchiveService.java
+++ b/smartor/src/main/java/com/smartor/service/IPatChildArchiveService.java
@@ -1,6 +1,7 @@
 package com.smartor.service;
 
 import com.smartor.domain.PatChildArchive;
+import com.smartor.domain.PatChildArchiveDetail;
 
 import java.util.List;
 
@@ -23,4 +24,6 @@
     public int deletePatChildArchiveByIds(Long[] ids);
 
     public int deletePatChildArchiveById(Long id);
+
+    public int insertOrUpdateChildArchive(PatChildArchiveDetail patChildArchiveDetail);
 }
diff --git a/smartor/src/main/java/com/smartor/service/IPatMaternityArchiveService.java b/smartor/src/main/java/com/smartor/service/IPatMaternityArchiveService.java
index 61c7145..2d100ac 100644
--- a/smartor/src/main/java/com/smartor/service/IPatMaternityArchiveService.java
+++ b/smartor/src/main/java/com/smartor/service/IPatMaternityArchiveService.java
@@ -1,6 +1,7 @@
 package com.smartor.service;
 
 import com.smartor.domain.PatMaternityArchive;
+import com.smartor.domain.PatMaternityArchiveDetail;
 
 import java.util.List;
 
@@ -23,4 +24,6 @@
     public int deletePatMaternityArchiveByIds(Long[] ids);
 
     public int deletePatMaternityArchiveById(Long id);
+
+    public int insertOrUpdateMaternityArchive(PatMaternityArchiveDetail patMaternityArchiveDetail);
 }
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..f42c794 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)
@@ -58,4 +70,68 @@
     {
         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();
+    }
 }
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..ae4bd5d 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)
@@ -58,4 +70,68 @@
     {
         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();
+    }
 }
diff --git a/smartor/src/main/resources/mapper/smartor/PatMaternityArchiveDetailMapper.xml b/smartor/src/main/resources/mapper/smartor/PatMaternityArchiveDetailMapper.xml
index 731cdac..895e675 100644
--- a/smartor/src/main/resources/mapper/smartor/PatMaternityArchiveDetailMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/PatMaternityArchiveDetailMapper.xml
@@ -39,6 +39,12 @@
         <result property="dueDate" column="due_date"/>
         <result property="registerUser" column="register_user"/>
         <result property="followupPeriod" column="followup_period"/>
+        <result property="followupCycleTimes" column="followup_cycle_times"/>
+        <result property="lastMenstrualTime" column="last_menstrual_time"/>
+        <result property="firstDoctorCode" column="first_doctor_code"/>
+        <result property="firstDoctorName" column="first_doctor_name"/>
+        <result property="contactPhone" column="contact_phone"/>
+        <result property="address" column="address"/>
         <result property="epEarlyPregnancyFollowupForm" column="ep_early_pregnancy_followup_form"/>
         <result property="mhiMenopauseFollowupSystemIssuesForm" column="mhi_menopause_followup_system_issues_form"/>
         <result property="mhiMhtInitialVisitMedicalRecordForm" column="mhi_mht_initial_visit_medical_record_form"/>
@@ -91,6 +97,12 @@
                due_date,
                register_user,
                followup_period,
+               followup_cycle_times,
+               last_menstrual_time,
+               first_doctor_code,
+               first_doctor_name,
+               contact_phone,
+               address,
                ep_early_pregnancy_followup_form,
                mhi_menopause_followup_system_issues_form,
                mhi_mht_initial_visit_medical_record_form,
@@ -191,6 +203,12 @@
             <if test="dueDate != null">due_date,</if>
             <if test="registerUser != null">register_user,</if>
             <if test="followupPeriod != null">followup_period,</if>
+            <if test="followupCycleTimes != null">followup_cycle_times,</if>
+            <if test="lastMenstrualTime != null">last_menstrual_time,</if>
+            <if test="firstDoctorCode != null">first_doctor_code,</if>
+            <if test="firstDoctorName != null">first_doctor_name,</if>
+            <if test="contactPhone != null">contact_phone,</if>
+            <if test="address != null">address,</if>
             <if test="epEarlyPregnancyFollowupForm != null">ep_early_pregnancy_followup_form,</if>
             <if test="mhiMenopauseFollowupSystemIssuesForm != null">mhi_menopause_followup_system_issues_form,</if>
             <if test="mhiMhtInitialVisitMedicalRecordForm != null">mhi_mht_initial_visit_medical_record_form,</if>
@@ -241,6 +259,12 @@
             <if test="dueDate != null">#{dueDate},</if>
             <if test="registerUser != null">#{registerUser},</if>
             <if test="followupPeriod != null">#{followupPeriod},</if>
+            <if test="followupCycleTimes != null">#{followupCycleTimes},</if>
+            <if test="lastMenstrualTime != null">#{lastMenstrualTime},</if>
+            <if test="firstDoctorCode != null">#{firstDoctorCode},</if>
+            <if test="firstDoctorName != null">#{firstDoctorName},</if>
+            <if test="contactPhone != null">#{contactPhone},</if>
+            <if test="address != null">#{address},</if>
             <if test="epEarlyPregnancyFollowupForm != null">#{epEarlyPregnancyFollowupForm},</if>
             <if test="mhiMenopauseFollowupSystemIssuesForm != null">#{mhiMenopauseFollowupSystemIssuesForm},</if>
             <if test="mhiMhtInitialVisitMedicalRecordForm != null">#{mhiMhtInitialVisitMedicalRecordForm},</if>
@@ -295,6 +319,12 @@
             <if test="dueDate != null">due_date = #{dueDate},</if>
             <if test="registerUser != null">register_user = #{registerUser},</if>
             <if test="followupPeriod != null">followup_period = #{followupPeriod},</if>
+            <if test="followupCycleTimes != null">followup_cycle_times = #{followupCycleTimes},</if>
+            <if test="lastMenstrualTime != null">last_menstrual_time = #{lastMenstrualTime},</if>
+            <if test="firstDoctorCode != null">first_doctor_code = #{firstDoctorCode},</if>
+            <if test="firstDoctorName != null">first_doctor_name = #{firstDoctorName},</if>
+            <if test="contactPhone != null">contact_phone = #{contactPhone},</if>
+            <if test="address != null">address = #{address},</if>
             <if test="epEarlyPregnancyFollowupForm != null">ep_early_pregnancy_followup_form = #{epEarlyPregnancyFollowupForm},</if>
             <if test="mhiMenopauseFollowupSystemIssuesForm != null">mhi_menopause_followup_system_issues_form = #{mhiMenopauseFollowupSystemIssuesForm},</if>
             <if test="mhiMhtInitialVisitMedicalRecordForm != null">mhi_mht_initial_visit_medical_record_form = #{mhiMhtInitialVisitMedicalRecordForm},</if>

--
Gitblit v1.9.3