已修改16个文件
352 ■■■■■ 文件已修改
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatChildArchiveController.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMaternityArchiveController.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/PatMaternityArchive.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/PatMaternityArchiveDetail.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/mapper/PatChildArchiveDetailMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/mapper/PatMaternityArchiveDetailMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/IPatChildArchiveDetailService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/IPatChildArchiveService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/IPatMaternityArchiveDetailService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/IPatMaternityArchiveService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/PatChildArchiveDetailServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/PatChildArchiveServiceImpl.java 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/PatMaternityArchiveDetailServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/PatMaternityArchiveServiceImpl.java 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/resources/mapper/smartor/PatChildArchiveDetailMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/resources/mapper/smartor/PatMaternityArchiveDetailMapper.xml 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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 = "儿科档案")
@RestController
@RequestMapping("/smartor/childArchive")
@@ -85,4 +90,32 @@
    public AjaxResult remove(@PathVariable Long[] ids) {
        return toAjax(patChildArchiveService.deletePatChildArchiveByIds(ids));
    }
    @ApiOperation("批量删除儿科档案")
    //@PreAuthorize("@ss.hasPermi('system:childArchive:remove')")
    @Log(title = "儿科档案", businessType = BusinessType.DELETE)
    @PostMapping("/batchDelete")
    public AjaxResult batchDelete(@RequestBody Long[] ids) {
        return toAjax(patChildArchiveService.batchDeletePatChildArchiveByIds(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));
    }
}
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 = "妇科档案")
@RestController
@RequestMapping("/smartor/maternityArchive")
@@ -85,4 +91,32 @@
    public AjaxResult remove(@PathVariable Long[] ids) {
        return toAjax(patMaternityArchiveService.deletePatMaternityArchiveByIds(ids));
    }
    @ApiOperation("批量删除妇科档案")
    //@PreAuthorize("@ss.hasPermi('system:maternityArchive:remove')")
    @Log(title = "妇科档案", businessType = BusinessType.DELETE)
    @PostMapping("/batchDelete")
    public AjaxResult batchDelete(@RequestBody Long[] ids) {
        return toAjax(patMaternityArchiveService.batchDeletePatMaternityArchiveByIds(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));
    }
}
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;
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;
smartor/src/main/java/com/smartor/mapper/PatChildArchiveDetailMapper.java
@@ -25,4 +25,6 @@
    public int deletePatChildArchiveDetailById(Long id);
    public int deletePatChildArchiveDetailByIds(Long[] ids);
    public int deletePatChildArchiveDetailByArchiveIds(Long[] archiveIds);
}
smartor/src/main/java/com/smartor/mapper/PatMaternityArchiveDetailMapper.java
@@ -25,4 +25,6 @@
    public int deletePatMaternityArchiveDetailById(Long id);
    public int deletePatMaternityArchiveDetailByIds(Long[] ids);
    public int deletePatMaternityArchiveDetailByArchiveIds(Long[] archiveIds);
}
smartor/src/main/java/com/smartor/service/IPatChildArchiveDetailService.java
@@ -22,5 +22,7 @@
    public int deletePatChildArchiveDetailByIds(Long[] ids);
    public int deletePatChildArchiveDetailByArchiveIds(Long[] archiveIds);
    public int deletePatChildArchiveDetailById(Long id);
}
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;
@@ -22,5 +23,9 @@
    public int deletePatChildArchiveByIds(Long[] ids);
    public int batchDeletePatChildArchiveByIds(Long[] ids);
    public int deletePatChildArchiveById(Long id);
    public int insertOrUpdateChildArchive(PatChildArchiveDetail patChildArchiveDetail);
}
smartor/src/main/java/com/smartor/service/IPatMaternityArchiveDetailService.java
@@ -22,5 +22,7 @@
    public int deletePatMaternityArchiveDetailByIds(Long[] ids);
    public int deletePatMaternityArchiveDetailByArchiveIds(Long[] archiveIds);
    public int deletePatMaternityArchiveDetailById(Long id);
}
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;
@@ -22,5 +23,9 @@
    public int deletePatMaternityArchiveByIds(Long[] ids);
    public int batchDeletePatMaternityArchiveByIds(Long[] ids);
    public int deletePatMaternityArchiveById(Long id);
    public int insertOrUpdateMaternityArchive(PatMaternityArchiveDetail patMaternityArchiveDetail);
}
smartor/src/main/java/com/smartor/service/impl/PatChildArchiveDetailServiceImpl.java
@@ -54,6 +54,12 @@
    }
    @Override
    public int deletePatChildArchiveDetailByArchiveIds(Long[] archiveIds)
    {
        return patChildArchiveDetailMapper.deletePatChildArchiveDetailByArchiveIds(archiveIds);
    }
    @Override
    public int deletePatChildArchiveDetailById(Long id)
    {
        return patChildArchiveDetailMapper.deletePatChildArchiveDetailById(id);
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("儿科档案入参为空,请检查入参");
        }
        // 只传了详情id时,反查出对应的档案主键id,保证后续能正确更新主表
        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("儿科档案对象转换失败,请检查入参");
        }
        // 防止把详情表id(patChildArchiveDetail.id)当作主表id,主表id必须以archiveid为准
        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处理完成,主表id:{},详情id:{}", patChildArchive.getId(), patChildArchiveDetail.getId());
        return patChildArchive.getId().intValue();
    }
}
smartor/src/main/java/com/smartor/service/impl/PatMaternityArchiveDetailServiceImpl.java
@@ -54,6 +54,12 @@
    }
    @Override
    public int deletePatMaternityArchiveDetailByArchiveIds(Long[] archiveIds)
    {
        return patMaternityArchiveDetailMapper.deletePatMaternityArchiveDetailByArchiveIds(archiveIds);
    }
    @Override
    public int deletePatMaternityArchiveDetailById(Long id)
    {
        return patMaternityArchiveDetailMapper.deletePatMaternityArchiveDetailById(id);
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("妇科档案入参为空,请检查入参");
        }
        // 只传了详情id时,反查出对应的档案主键id,保证后续能正确更新主表
        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("妇科档案对象转换失败,请检查入参");
        }
        // 防止把详情表id(patMaternityArchiveDetail.id)当作主表id,主表id必须以archiveid为准
        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处理完成,主表id:{},详情id:{}", patMaternityArchive.getId(), patMaternityArchiveDetail.getId());
        return patMaternityArchive.getId().intValue();
    }
}
smartor/src/main/resources/mapper/smartor/PatChildArchiveDetailMapper.xml
@@ -374,4 +374,11 @@
            #{id}
        </foreach>
    </update>
    <update id="deletePatChildArchiveDetailByArchiveIds" parameterType="String">
        update pat_child_archive_detail set del_flag = '1' where archiveid in
        <foreach item="archiveId" collection="array" open="(" separator="," close=")">
            #{archiveId}
        </foreach>
    </update>
</mapper>
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>
@@ -328,4 +358,11 @@
            #{id}
        </foreach>
    </update>
    <update id="deletePatMaternityArchiveDetailByArchiveIds" parameterType="String">
        update pat_maternity_archive_detail set del_flag = '1' where archiveid in
        <foreach item="archiveId" collection="array" open="(" separator="," close=")">
            #{archiveId}
        </foreach>
    </update>
</mapper>