已修改5个文件
已添加6个文件
624 ■■■■■ 文件已修改
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatChildArchiveDetailController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMaternityArchiveDetailController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatSpecificArchiveGenerateConfigController.java 118 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/PatChildArchive.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/PatSpecificArchiveGenerateConfig.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/mapper/PatSpecificArchiveGenerateConfigMapper.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/IPatSpecificArchiveGenerateConfigService.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/PatSpecificArchiveGenerateConfigServiceImpl.java 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/resources/mapper/smartor/PatChildArchiveMapper.xml 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/resources/mapper/smartor/PatSpecificArchiveGenerateConfigMapper.xml 134 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatChildArchiveDetailController.java
@@ -13,6 +13,7 @@
import com.smartor.service.IPatChildArchiveDetailService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -53,10 +54,14 @@
    }
    @ApiOperation("获取儿科档案详情详细信息")
    //@PreAuthorize("@ss.hasPermi('system:childArchiveDetail:query')")
    @GetMapping(value = "/getInfo/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id) {
        return success(patChildArchiveDetailService.selectPatChildArchiveDetailById(id));
    @GetMapping(value = "/getInfo/{archiveid}")
    public AjaxResult getInfo(@PathVariable("archiveid") Long archiveid) {
        PatChildArchiveDetail patChildArchiveDetail = new PatChildArchiveDetail();
        patChildArchiveDetail.setArchiveid(archiveid);
        List<PatChildArchiveDetail> list = patChildArchiveDetailService.selectPatChildArchiveDetailList(patChildArchiveDetail);
        if(CollectionUtils.isNotEmpty(list)){
            return success(list.get(0));
        }else return success(null);
    }
    @ApiOperation("新增儿科档案详情")
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMaternityArchiveDetailController.java
@@ -13,6 +13,7 @@
import com.smartor.service.IPatMaternityArchiveDetailService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -53,10 +54,14 @@
    }
    @ApiOperation("获取妇科档案详情详细信息")
    //@PreAuthorize("@ss.hasPermi('system:maternityArchiveDetail:query')")
    @GetMapping(value = "/getInfo/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id) {
        return success(patMaternityArchiveDetailService.selectPatMaternityArchiveDetailById(id));
    @GetMapping(value = "/getInfo/{archiveid}")
    public AjaxResult getInfo(@PathVariable("archiveid") Long archiveid) {
        PatMaternityArchiveDetail patMaternityArchiveDetail = new PatMaternityArchiveDetail();
        patMaternityArchiveDetail.setArchiveid(archiveid);
        List<PatMaternityArchiveDetail> list = patMaternityArchiveDetailService.selectPatMaternityArchiveDetailList(patMaternityArchiveDetail);
        if(CollectionUtils.isNotEmpty(list)){
            return success(list.get(0));
        }else return success(null);
    }
    @ApiOperation("新增妇科档案详情")
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatSpecificArchiveGenerateConfigController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,118 @@
package com.ruoyi.web.controller.smartor;
import com.ruoyi.common.annotation.AddOrgId;
import com.ruoyi.common.annotation.Log;
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.PatSpecificArchiveGenerateConfig;
import com.smartor.service.IPatSpecificArchiveGenerateConfigService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
 * ä¸“科档案生成配置Controller
 *
 * @author ruoyi
 * @date 2026-10-12
 */
@Api(description = "专科档案生成配置")
@RestController
@RequestMapping("/smartor/specificArchiveGenerateConfig")
public class PatSpecificArchiveGenerateConfigController extends BaseController {
    @Autowired
    private IPatSpecificArchiveGenerateConfigService patSpecificArchiveGenerateConfigService;
    @ApiOperation("查询专科档案生成配置列表")
    //@PreAuthorize("@ss.hasPermi('system:specificArchiveGenerateConfig:list')")
    @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
    @PostMapping("/selectPatSpecificArchiveGenerateConfigList")
    public TableDataInfo selectPatSpecificArchiveGenerateConfigList(@RequestBody PatSpecificArchiveGenerateConfig patSpecificArchiveGenerateConfig) {
        PageUtils.startPageByPost(patSpecificArchiveGenerateConfig.getPageNum(), patSpecificArchiveGenerateConfig.getPageSize());
        List<PatSpecificArchiveGenerateConfig> list = patSpecificArchiveGenerateConfigService.selectPatSpecificArchiveGenerateConfigList(patSpecificArchiveGenerateConfig);
        return getDataTable(list);
    }
    @ApiOperation("导出专科档案生成配置列表")
    //@PreAuthorize("@ss.hasPermi('system:specificArchiveGenerateConfig:export')")
    @Log(title = "专科档案生成配置", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, PatSpecificArchiveGenerateConfig patSpecificArchiveGenerateConfig) {
        List<PatSpecificArchiveGenerateConfig> list = patSpecificArchiveGenerateConfigService.selectPatSpecificArchiveGenerateConfigList(patSpecificArchiveGenerateConfig);
        ExcelUtil<PatSpecificArchiveGenerateConfig> util = new ExcelUtil<PatSpecificArchiveGenerateConfig>(PatSpecificArchiveGenerateConfig.class);
        util.exportExcel(response, list, "专科档案生成配置数据");
    }
    @ApiOperation("获取专科档案生成配置详细信息")
    //@PreAuthorize("@ss.hasPermi('system:specificArchiveGenerateConfig:query')")
    @GetMapping(value = "/getInfo/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id) {
        return success(patSpecificArchiveGenerateConfigService.selectPatSpecificArchiveGenerateConfigById(id));
    }
    @ApiOperation("新增专科档案生成配置")
    //@PreAuthorize("@ss.hasPermi('system:specificArchiveGenerateConfig:add')")
    @Log(title = "专科档案生成配置", businessType = BusinessType.INSERT)
    @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
    @PostMapping("/add")
    public AjaxResult add(@RequestBody PatSpecificArchiveGenerateConfig patSpecificArchiveGenerateConfig) {
        SysUser user = getLoginUser().getUser();
        patSpecificArchiveGenerateConfig.setOrgid(user.getOrgid());
        return toAjax(patSpecificArchiveGenerateConfigService.insertPatSpecificArchiveGenerateConfig(patSpecificArchiveGenerateConfig));
    }
    @ApiOperation("修改专科档案生成配置")
    //@PreAuthorize("@ss.hasPermi('system:specificArchiveGenerateConfig:edit')")
    @Log(title = "专科档案生成配置", businessType = BusinessType.UPDATE)
    @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
    @PostMapping("/edit")
    public AjaxResult edit(@RequestBody PatSpecificArchiveGenerateConfig patSpecificArchiveGenerateConfig) {
        return toAjax(patSpecificArchiveGenerateConfigService.updatePatSpecificArchiveGenerateConfig(patSpecificArchiveGenerateConfig));
    }
    @ApiOperation("删除专科档案生成配置")
    //@PreAuthorize("@ss.hasPermi('system:specificArchiveGenerateConfig:remove')")
    @Log(title = "专科档案生成配置", businessType = BusinessType.DELETE)
    @GetMapping("/remove/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids) {
        return toAjax(patSpecificArchiveGenerateConfigService.deletePatSpecificArchiveGenerateConfigByIds(ids));
    }
    @ApiOperation("批量删除专科档案生成配置")
    //@PreAuthorize("@ss.hasPermi('system:specificArchiveGenerateConfig:remove')")
    @Log(title = "专科档案生成配置", businessType = BusinessType.DELETE)
    @PostMapping("/batchDelete")
    public AjaxResult batchDelete(@RequestBody Long[] ids) {
        return toAjax(patSpecificArchiveGenerateConfigService.batchDeletePatSpecificArchiveGenerateConfigByIds(ids));
    }
    /**
     * æ–°å¢žæˆ–修改专科档案生成配置
     */
    @ApiOperation("新增或修改专科档案生成配置")
    @PostMapping("/insertOrUpdatePatSpecificArchiveGenerateConfig")
    public AjaxResult insertOrUpdatePatSpecificArchiveGenerateConfig(@RequestBody PatSpecificArchiveGenerateConfig patSpecificArchiveGenerateConfig) {
        LoginUser loginUser = getLoginUser();
        SysUser user = loginUser.getUser();
        patSpecificArchiveGenerateConfig.setCreateBy(user.getNickName());
        patSpecificArchiveGenerateConfig.setUpdateBy(user.getNickName());
        patSpecificArchiveGenerateConfig.setOrgid(user.getOrgid());
        if (StringUtils.isNotEmpty(user.getCampusid())) {
            patSpecificArchiveGenerateConfig.setCampusid(user.getCampusid());
        } else {
            patSpecificArchiveGenerateConfig.setCampusid("1");
        }
        return toAjax(patSpecificArchiveGenerateConfigService.insertOrUpdatePatSpecificArchiveGenerateConfig(patSpecificArchiveGenerateConfig));
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -8,12 +8,14 @@
import com.ruoyi.common.utils.DtoConversionUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.TreeUtils;
import com.ruoyi.common.utils.bean.BeanValidators;
import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.system.domain.SysPost;
import com.ruoyi.system.domain.SysUserPost;
import com.ruoyi.system.mapper.*;
import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.system.service.ISysDeptService;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.common.core.service.IUserExtInfoService;
import com.ruoyi.system.mapper.SysUserDeptMapper;
@@ -45,6 +47,9 @@
    @Autowired
    private SysUserMapper userMapper;
    @Autowired
    private ISysDeptService sysDeptService;
    @Autowired
    private SysDeptMapper sysDeptMapper;
@@ -139,15 +144,15 @@
        List<SysUserDept> sysUserDeptBQs = null;
        if (StringUtils.isNotEmpty(sysUser.getSearchscope()) && sysUser.getSearchscope().equals("0")) {
            sysUserDept.setDeptType("1");
            sysUserDeptKSs = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
            sysUserDeptKSs = selectLeafSysDeptList(sysUserDept);
            sysUserDept.setDeptType("2");
            sysUserDeptBQs = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
            sysUserDeptBQs = selectLeafSysDeptList(sysUserDept);
        } else if (StringUtils.isNotEmpty(sysUser.getSearchscope()) && sysUser.getSearchscope().equals("1")) {
            sysUserDept.setDeptType("1");
            sysUserDeptKSs = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
            sysUserDeptKSs = selectLeafSysDeptList(sysUserDept);
        } else if (StringUtils.isNotEmpty(sysUser.getSearchscope()) && sysUser.getSearchscope().equals("2")) {
            sysUserDept.setDeptType("2");
            sysUserDeptBQs = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
            sysUserDeptBQs = selectLeafSysDeptList(sysUserDept);
        }
        sysUser.setDepts(deptIds);
@@ -241,8 +246,8 @@
                    SysDept deptBQ = new SysDept();
                    deptBQ.setOrgid(split[1]);
                    deptBQ.setDeptType("2");
                    CompletableFuture<List<SysDept>> ksFuture = CompletableFuture.supplyAsync(() -> sysDeptMapper.selectDeptList(deptKS), executor);
                    CompletableFuture<List<SysDept>> bqFuture = CompletableFuture.supplyAsync(() -> sysDeptMapper.selectDeptList(deptBQ), executor);
                    CompletableFuture<List<SysDept>> ksFuture = CompletableFuture.supplyAsync(() -> selectLeafSysDeptForAdmin(deptKS), executor);
                    CompletableFuture<List<SysDept>> bqFuture = CompletableFuture.supplyAsync(() -> selectLeafSysDeptForAdmin(deptBQ), executor);
                    try {
                        sysUserDeptKSs = distinctByDeptCode(DtoConversionUtils.sourceToTarget(ksFuture.get(5, TimeUnit.SECONDS), SysUserDept.class));
                        sysUserDeptBQs = distinctByDeptCode(DtoConversionUtils.sourceToTarget(bqFuture.get(5, TimeUnit.SECONDS), SysUserDept.class));
@@ -259,8 +264,8 @@
                    queryBQ.setUserId(sysUser.getUserId());
                    queryBQ.setDeptType("2");
                    queryBQ.setOrgid(split[1]);
                    CompletableFuture<List<SysUserDept>> ksFuture = CompletableFuture.supplyAsync(() -> sysUserDeptMapper.selectSysUserDeptList(queryKS), executor);
                    CompletableFuture<List<SysUserDept>> bqFuture = CompletableFuture.supplyAsync(() -> sysUserDeptMapper.selectSysUserDeptList(queryBQ), executor);
                    CompletableFuture<List<SysUserDept>> ksFuture = CompletableFuture.supplyAsync(() -> selectLeafSysDeptList(queryKS), executor);
                    CompletableFuture<List<SysUserDept>> bqFuture = CompletableFuture.supplyAsync(() -> selectLeafSysDeptList(queryBQ), executor);
                    try {
                        sysUserDeptKSs = ksFuture.get(5, TimeUnit.SECONDS);
                        sysUserDeptBQs = bqFuture.get(5, TimeUnit.SECONDS);
@@ -273,13 +278,13 @@
                queryKS.setUserId(sysUser.getUserId());
                queryKS.setDeptType("1");
                queryKS.setOrgid(split[1]);
                sysUserDeptKSs = sysUserDeptMapper.selectSysUserDeptList(queryKS);
                sysUserDeptKSs = selectLeafSysDeptList(queryKS);
            } else if ("2".equals(sysUser.getSearchscope())) {
                SysUserDept queryBQ = new SysUserDept();
                queryBQ.setUserId(sysUser.getUserId());
                queryBQ.setDeptType("2");
                queryBQ.setOrgid(split[1]);
                sysUserDeptBQs = sysUserDeptMapper.selectSysUserDeptList(queryBQ);
                sysUserDeptBQs = selectLeafSysDeptList(queryBQ);
            }
        }
@@ -375,20 +380,20 @@
                sysUserDept.setUserId(null);
            }
            sysUserDept.setDeptType("1");
            sysUserDeptKSs = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
            sysUserDeptKSs = selectLeafSysDeptList(sysUserDept);
            sysUserDept.setDeptType("2");
            sysUserDeptBQs = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
            sysUserDeptBQs = selectLeafSysDeptList(sysUserDept);
            //如果是admin,需要对sysUserDeptBQs,sysUserDeptBQs去重
            if (StringUtils.isNotEmpty(split[0]) && split[0].equals("admin")) {
                //如果是admin,只能去sys_dept去取数据
                SysDept dept = new SysDept();
                dept.setOrgid(split[1]);
                dept.setDeptType("1");
                sysDepts = sysDeptMapper.selectDeptList(dept);
                sysDepts = selectLeafSysDeptForAdmin(dept);
                sysUserDeptKSs = DtoConversionUtils.sourceToTarget(sysDepts, SysUserDept.class);
                dept.setDeptType("2");
                sysDepts = sysDeptMapper.selectDeptList(dept);
                sysDepts = selectLeafSysDeptForAdmin(dept);
                sysUserDeptBQs = DtoConversionUtils.sourceToTarget(sysDepts, SysUserDept.class);
                List<SysUserDept> distinctUserDepts = new ArrayList<>();
@@ -973,4 +978,24 @@
        }
        return successMsg.toString();
    }
    public List<SysUserDept> selectLeafSysDeptList(SysUserDept sysUserDept){
        List<SysDept> list =  sysDeptMapper.selectSysDeptListBySysUserDept(sysUserDept);
        if(org.apache.commons.collections4.CollectionUtils.isNotEmpty(list)){
            List<SysDept> tree = TreeUtils.buildDeptTree(list);
            list = TreeUtils.getLeafDepts(tree);
        }
        List<SysUserDept> list1 = DtoConversionUtils.sourceToTarget(list, SysUserDept.class);
        return list1;
    }
    public List<SysDept> selectLeafSysDeptForAdmin(SysDept sysDept){
        SysUserDept sysUserDept = DtoConversionUtils.sourceToTarget(sysDept, SysUserDept.class);
        List<SysDept> list =  sysDeptMapper.selectSysDeptListBySysUserDept(sysUserDept);
        if(org.apache.commons.collections4.CollectionUtils.isNotEmpty(list)){
            List<SysDept> tree = TreeUtils.buildDeptTree(list);
            list = TreeUtils.getLeafDepts(tree);
        }
        return list;
    }
}
smartor/src/main/java/com/smartor/domain/PatChildArchive.java
@@ -1,5 +1,6 @@
package com.smartor.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
@@ -93,11 +94,6 @@
    @ApiModelProperty(value = "拟随访时间")
    private Date plannedFollowTime;
    /** éšè®¿å‘¨æœŸ(次数) */
    @Excel(name = "随访周期(次数)")
    @ApiModelProperty(value = "随访周期(次数)")
    private String followupCycleTimes;
    /** æ€§åˆ« 1:男 2:女 */
    @Excel(name = "性别")
    @ApiModelProperty(value = "性别 1:男 2:女")
@@ -153,11 +149,45 @@
    @ApiModelProperty(value = "诊断名称")
    private String diagname;
    /** é¢„约情况 */
    @ApiModelProperty(value = "预约情况")
    private String appointmentSituation;
    /** ç»“案状态 */
    @Excel(name = "结案状态")
    @ApiModelProperty(value = "结案状态")
    private String closeStatus;
    /** è¥å…»æ€§ç–¾ç—…ID */
    @Excel(name = "营养性疾病ID")
    @ApiModelProperty(value = "营养性疾病ID")
    private String nutritionIcd10Code;
    /** è¥å…»æ€§ç–¾ç—…名称 */
    @Excel(name = "营养性疾病名称")
    @ApiModelProperty(value = "营养性疾病名称")
    private String nutritionDiagName;
    /** å‡ºç”Ÿå­•周 */
    @Excel(name = "出生孕周")
    @ApiModelProperty(value = "出生孕周")
    private BigDecimal gestationalWeek;
    /** å‡ºç”Ÿä½“重(kg) */
    @Excel(name = "出生体重(kg)")
    @ApiModelProperty(value = "出生体重(kg)")
    private BigDecimal birthWeight;
    /** é«˜å±å„¿åˆ†ç±» */
    @Excel(name = "高危儿分类")
    @ApiModelProperty(value = "高危儿分类")
    private String highRiskChildType;
    /** é«˜å±å„¿åç§° */
    @Excel(name = "高危儿名称")
    @ApiModelProperty(value = "高危儿名称")
    private String highRiskChildName;
    /** ç™»è®°äººå‘˜ */
    @Excel(name = "登记人员")
    @ApiModelProperty(value = "登记人员")
smartor/src/main/java/com/smartor/domain/PatSpecificArchiveGenerateConfig.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,60 @@
package com.smartor.domain;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * ä¸“科档案生成配置对象 pat_specific_archive_generate_config
 *
 * @author ruoyi
 * @date 2026-10-12
 */
@Data
@ApiModel(value = "专科档案生成配置对象")
public class PatSpecificArchiveGenerateConfig extends BaseEntity {
    private static final long serialVersionUID = 1L;
    /** é…ç½®è¡¨ä¸»é”®ID */
    @ApiModelProperty(value = "配置表主键ID")
    private Long id;
    /** éƒ¨é—¨ç±»åž‹ï¼š1科室,2病区 */
    @Excel(name = "部门类型")
    @ApiModelProperty(value = "部门类型:1科室,2病区")
    private String deptType;
    /** éƒ¨é—¨åˆ†ç±»: 1妇科 2儿科 */
    @Excel(name = "部门分类")
    @ApiModelProperty(value = "部门分类: 1妇科 2儿科")
    private String deptCategory;
    /** æ¡£æ¡ˆç±»åž‹: å¦‡ç§‘档案类型(1 æ—©å­•关爱2 å›´ç»ç»æœŸMHI),儿科档案类型(1营养性疾病 2学习困难 3高危儿专案) */
    @Excel(name = "档案类型")
    @ApiModelProperty(value = "档案类型: å¦‡ç§‘档案类型(1 æ—©å­•关爱2 å›´ç»ç»æœŸMHI),儿科档案类型(1营养性疾病 2学习困难 3高危儿专案)")
    private String archiveType;
    /** ç§‘室Code集合(JSON格式,如 ["D001","D002"]) */
    @ApiModelProperty(value = "科室Code集合(JSON格式,如 [\"D001\",\"D002\"])")
    private String deptCodes;
    /** è¯Šæ–­code集合(JSON格式,如 ["E10.901","E11.901"]) */
    @ApiModelProperty(value = "诊断code集合(JSON格式,如 [\"E10.901\",\"E11.901\"])")
    private String icd10Codes;
    /** åŒ»é™¢æœºæž„ID */
    @Excel(name = "医院机构ID")
    @ApiModelProperty(value = "医院机构ID")
    private String orgid;
    /** é™¢åŒºID */
    @Excel(name = "院区ID")
    @ApiModelProperty(value = "院区ID")
    private String campusid;
    /** åˆ é™¤æ ‡å¿—(0:未删除,1:已删除) */
    @ApiModelProperty(value = "删除标志(0:未删除,1:已删除)")
    private String delFlag;
}
smartor/src/main/java/com/smartor/mapper/PatSpecificArchiveGenerateConfigMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
package com.smartor.mapper;
import com.smartor.domain.PatSpecificArchiveGenerateConfig;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
 * ä¸“科档案生成配置Mapper接口
 *
 * @author ruoyi
 * @date 2026-10-12
 */
@Mapper
public interface PatSpecificArchiveGenerateConfigMapper
{
    public PatSpecificArchiveGenerateConfig selectPatSpecificArchiveGenerateConfigById(Long id);
    public List<PatSpecificArchiveGenerateConfig> selectPatSpecificArchiveGenerateConfigList(PatSpecificArchiveGenerateConfig patSpecificArchiveGenerateConfig);
    public int insertPatSpecificArchiveGenerateConfig(PatSpecificArchiveGenerateConfig patSpecificArchiveGenerateConfig);
    public int updatePatSpecificArchiveGenerateConfig(PatSpecificArchiveGenerateConfig patSpecificArchiveGenerateConfig);
    public int deletePatSpecificArchiveGenerateConfigById(Long id);
    public int deletePatSpecificArchiveGenerateConfigByIds(Long[] ids);
}
smartor/src/main/java/com/smartor/service/IPatSpecificArchiveGenerateConfigService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,30 @@
package com.smartor.service;
import com.smartor.domain.PatSpecificArchiveGenerateConfig;
import java.util.List;
/**
 * ä¸“科档案生成配置Service接口
 *
 * @author ruoyi
 * @date 2026-10-12
 */
public interface IPatSpecificArchiveGenerateConfigService
{
    public PatSpecificArchiveGenerateConfig selectPatSpecificArchiveGenerateConfigById(Long id);
    public List<PatSpecificArchiveGenerateConfig> selectPatSpecificArchiveGenerateConfigList(PatSpecificArchiveGenerateConfig patSpecificArchiveGenerateConfig);
    public int insertPatSpecificArchiveGenerateConfig(PatSpecificArchiveGenerateConfig patSpecificArchiveGenerateConfig);
    public int updatePatSpecificArchiveGenerateConfig(PatSpecificArchiveGenerateConfig patSpecificArchiveGenerateConfig);
    public int deletePatSpecificArchiveGenerateConfigByIds(Long[] ids);
    public int batchDeletePatSpecificArchiveGenerateConfigByIds(Long[] ids);
    public int deletePatSpecificArchiveGenerateConfigById(Long id);
    public int insertOrUpdatePatSpecificArchiveGenerateConfig(PatSpecificArchiveGenerateConfig patSpecificArchiveGenerateConfig);
}
smartor/src/main/java/com/smartor/service/impl/PatSpecificArchiveGenerateConfigServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,88 @@
package com.smartor.service.impl;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.smartor.domain.PatSpecificArchiveGenerateConfig;
import com.smartor.mapper.PatSpecificArchiveGenerateConfigMapper;
import com.smartor.service.IPatSpecificArchiveGenerateConfigService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * ä¸“科档案生成配置Service业务层处理
 *
 * @author ruoyi
 * @date 2026-10-12
 */
@Service
public class PatSpecificArchiveGenerateConfigServiceImpl implements IPatSpecificArchiveGenerateConfigService
{
    @Autowired
    private PatSpecificArchiveGenerateConfigMapper patSpecificArchiveGenerateConfigMapper;
    @Override
    public PatSpecificArchiveGenerateConfig selectPatSpecificArchiveGenerateConfigById(Long id)
    {
        return patSpecificArchiveGenerateConfigMapper.selectPatSpecificArchiveGenerateConfigById(id);
    }
    @Override
    public List<PatSpecificArchiveGenerateConfig> selectPatSpecificArchiveGenerateConfigList(PatSpecificArchiveGenerateConfig patSpecificArchiveGenerateConfig)
    {
        return patSpecificArchiveGenerateConfigMapper.selectPatSpecificArchiveGenerateConfigList(patSpecificArchiveGenerateConfig);
    }
    @Override
    public int insertPatSpecificArchiveGenerateConfig(PatSpecificArchiveGenerateConfig patSpecificArchiveGenerateConfig)
    {
        patSpecificArchiveGenerateConfig.setCreateTime(DateUtils.getNowDate());
        return patSpecificArchiveGenerateConfigMapper.insertPatSpecificArchiveGenerateConfig(patSpecificArchiveGenerateConfig);
    }
    @Override
    public int updatePatSpecificArchiveGenerateConfig(PatSpecificArchiveGenerateConfig patSpecificArchiveGenerateConfig)
    {
        patSpecificArchiveGenerateConfig.setUpdateTime(DateUtils.getNowDate());
        return patSpecificArchiveGenerateConfigMapper.updatePatSpecificArchiveGenerateConfig(patSpecificArchiveGenerateConfig);
    }
    @Override
    public int insertOrUpdatePatSpecificArchiveGenerateConfig(PatSpecificArchiveGenerateConfig patSpecificArchiveGenerateConfig)
    {
        if (patSpecificArchiveGenerateConfig.getId() != null
                && patSpecificArchiveGenerateConfigMapper.selectPatSpecificArchiveGenerateConfigById(patSpecificArchiveGenerateConfig.getId()) != null)
        {
            patSpecificArchiveGenerateConfig.setUpdateTime(DateUtils.getNowDate());
            return patSpecificArchiveGenerateConfigMapper.updatePatSpecificArchiveGenerateConfig(patSpecificArchiveGenerateConfig);
        }
        else
        {
            patSpecificArchiveGenerateConfig.setCreateTime(DateUtils.getNowDate());
            if (StringUtils.isEmpty(patSpecificArchiveGenerateConfig.getDelFlag()))
            {
                patSpecificArchiveGenerateConfig.setDelFlag("0");
            }
            return patSpecificArchiveGenerateConfigMapper.insertPatSpecificArchiveGenerateConfig(patSpecificArchiveGenerateConfig);
        }
    }
    @Override
    public int batchDeletePatSpecificArchiveGenerateConfigByIds(Long[] ids)
    {
        return patSpecificArchiveGenerateConfigMapper.deletePatSpecificArchiveGenerateConfigByIds(ids);
    }
    @Override
    public int deletePatSpecificArchiveGenerateConfigByIds(Long[] ids)
    {
        return patSpecificArchiveGenerateConfigMapper.deletePatSpecificArchiveGenerateConfigByIds(ids);
    }
    @Override
    public int deletePatSpecificArchiveGenerateConfigById(Long id)
    {
        return patSpecificArchiveGenerateConfigMapper.deletePatSpecificArchiveGenerateConfigById(id);
    }
}
smartor/src/main/resources/mapper/smartor/PatChildArchiveMapper.xml
@@ -19,7 +19,6 @@
        <result property="diagTime" column="diag_time"/>
        <result property="archiveTime" column="archive_time"/>
        <result property="plannedFollowTime" column="planned_follow_time"/>
        <result property="followupCycleTimes" column="followup_cycle_times"/>
        <result property="sex" column="sex"/>
        <result property="doctorCode" column="doctor_code"/>
        <result property="doctorName" column="doctor_name"/>
@@ -31,7 +30,14 @@
        <result property="wardname" column="wardname"/>
        <result property="icd10code" column="icd10code"/>
        <result property="diagname" column="diagname"/>
        <result property="appointmentSituation" column="appointment_situation"/>
        <result property="closeStatus" column="close_status"/>
        <result property="nutritionIcd10Code" column="nutrition_icd10_code"/>
        <result property="nutritionDiagName" column="nutrition_diag_name"/>
        <result property="gestationalWeek" column="gestational_week"/>
        <result property="birthWeight" column="birth_weight"/>
        <result property="highRiskChildType" column="high_risk_child_type"/>
        <result property="highRiskChildName" column="high_risk_child_name"/>
        <result property="registerUser" column="register_user"/>
        <result property="remark" column="remark"/>
        <result property="orgid" column="orgid"/>
@@ -58,7 +64,6 @@
               diag_time,
               archive_time,
               planned_follow_time,
               followup_cycle_times,
               sex,
               doctor_code,
               doctor_name,
@@ -70,7 +75,14 @@
               wardname,
               icd10code,
               diagname,
               appointment_situation,
               close_status,
               nutrition_icd10_code,
               nutrition_diag_name,
               gestational_week,
               birth_weight,
               high_risk_child_type,
               high_risk_child_name,
               register_user,
               remark,
               orgid,
@@ -100,7 +112,6 @@
            <if test="phone != null and phone != ''">and phone = #{phone}</if>
            <if test="diagTime != null">and diag_time = #{diagTime}</if>
            <if test="plannedFollowTime != null">and planned_follow_time = #{plannedFollowTime}</if>
            <if test="followupCycleTimes != null and followupCycleTimes != ''">and followup_cycle_times = #{followupCycleTimes}</if>
            <if test="sex != null">and sex = #{sex}</if>
            <if test="doctorCode != null and doctorCode != ''">and doctor_code = #{doctorCode}</if>
            <if test="doctorName != null and doctorName != ''">and doctor_name like concat('%', #{doctorName}, '%')</if>
@@ -112,7 +123,13 @@
            <if test="wardname != null and wardname != ''">and wardname like concat('%', #{wardname}, '%')</if>
            <if test="icd10code != null and icd10code != ''">and icd10code = #{icd10code}</if>
            <if test="diagname != null and diagname != ''">and diagname like concat('%', #{diagname}, '%')</if>
            <if test="nutritionIcd10Code != null and nutritionIcd10Code != ''">and nutrition_icd10_code = #{nutritionIcd10Code}</if>
            <if test="nutritionDiagName != null and nutritionDiagName != ''">and nutrition_diag_name like concat('%', #{nutritionDiagName}, '%')</if>
            <if test="highRiskChildType != null and highRiskChildType != ''">and high_risk_child_type = #{highRiskChildType}</if>
            <if test="highRiskChildName != null and highRiskChildName != ''">and high_risk_child_name like concat('%', #{highRiskChildName}, '%')</if>
            <if test="closeStatus != null and closeStatus != ''">and close_status = #{closeStatus}</if>
            <if test="gestationalWeek != null">and gestational_week = #{gestationalWeek}</if>
            <if test="birthWeight != null">and birth_weight = #{birthWeight}</if>
            <if test="registerUser != null and registerUser != ''">and register_user = #{registerUser}</if>
            <if test="orgid != null and orgid != ''">and orgid = #{orgid}</if>
            <if test="campusid != null and campusid != ''">and campusid = #{campusid}</if>
@@ -146,7 +163,6 @@
            <if test="diagTime != null">diag_time,</if>
            <if test="archiveTime != null">archive_time,</if>
            <if test="plannedFollowTime != null">planned_follow_time,</if>
            <if test="followupCycleTimes != null">followup_cycle_times,</if>
            <if test="sex != null">sex,</if>
            <if test="doctorCode != null">doctor_code,</if>
            <if test="doctorName != null">doctor_name,</if>
@@ -158,7 +174,14 @@
            <if test="wardname != null">wardname,</if>
            <if test="icd10code != null">icd10code,</if>
            <if test="diagname != null">diagname,</if>
            <if test="appointmentSituation != null">appointment_situation,</if>
            <if test="closeStatus != null">close_status,</if>
            <if test="nutritionIcd10Code != null">nutrition_icd10_code,</if>
            <if test="nutritionDiagName != null">nutrition_diag_name,</if>
            <if test="gestationalWeek != null">gestational_week,</if>
            <if test="birthWeight != null">birth_weight,</if>
            <if test="highRiskChildType != null">high_risk_child_type,</if>
            <if test="highRiskChildName != null">high_risk_child_name,</if>
            <if test="registerUser != null">register_user,</if>
            <if test="remark != null">remark,</if>
            <if test="orgid != null">orgid,</if>
@@ -183,7 +206,6 @@
            <if test="diagTime != null">#{diagTime},</if>
            <if test="archiveTime != null">#{archiveTime},</if>
            <if test="plannedFollowTime != null">#{plannedFollowTime},</if>
            <if test="followupCycleTimes != null">#{followupCycleTimes},</if>
            <if test="sex != null">#{sex},</if>
            <if test="doctorCode != null">#{doctorCode},</if>
            <if test="doctorName != null">#{doctorName},</if>
@@ -195,7 +217,14 @@
            <if test="wardname != null">#{wardname},</if>
            <if test="icd10code != null">#{icd10code},</if>
            <if test="diagname != null">#{diagname},</if>
            <if test="appointmentSituation != null">#{appointmentSituation},</if>
            <if test="closeStatus != null">#{closeStatus},</if>
            <if test="nutritionIcd10Code != null">#{nutritionIcd10Code},</if>
            <if test="nutritionDiagName != null">#{nutritionDiagName},</if>
            <if test="gestationalWeek != null">#{gestationalWeek},</if>
            <if test="birthWeight != null">#{birthWeight},</if>
            <if test="highRiskChildType != null">#{highRiskChildType},</if>
            <if test="highRiskChildName != null">#{highRiskChildName},</if>
            <if test="registerUser != null">#{registerUser},</if>
            <if test="remark != null">#{remark},</if>
            <if test="orgid != null">#{orgid},</if>
@@ -224,7 +253,6 @@
            <if test="diagTime != null">diag_time = #{diagTime},</if>
            <if test="archiveTime != null">archive_time = #{archiveTime},</if>
            <if test="plannedFollowTime != null">planned_follow_time = #{plannedFollowTime},</if>
            <if test="followupCycleTimes != null">followup_cycle_times = #{followupCycleTimes},</if>
            <if test="sex != null">sex = #{sex},</if>
            <if test="doctorCode != null">doctor_code = #{doctorCode},</if>
            <if test="doctorName != null">doctor_name = #{doctorName},</if>
@@ -236,7 +264,14 @@
            <if test="wardname != null">wardname = #{wardname},</if>
            <if test="icd10code != null">icd10code = #{icd10code},</if>
            <if test="diagname != null">diagname = #{diagname},</if>
            <if test="appointmentSituation != null">appointment_situation = #{appointmentSituation},</if>
            <if test="closeStatus != null">close_status = #{closeStatus},</if>
            <if test="nutritionIcd10Code != null">nutrition_icd10_code = #{nutritionIcd10Code},</if>
            <if test="nutritionDiagName != null">nutrition_diag_name = #{nutritionDiagName},</if>
            <if test="gestationalWeek != null">gestational_week = #{gestationalWeek},</if>
            <if test="birthWeight != null">birth_weight = #{birthWeight},</if>
            <if test="highRiskChildType != null">high_risk_child_type = #{highRiskChildType},</if>
            <if test="highRiskChildName != null">high_risk_child_name = #{highRiskChildName},</if>
            <if test="registerUser != null">register_user = #{registerUser},</if>
            <if test="remark != null">remark = #{remark},</if>
            <if test="orgid != null">orgid = #{orgid},</if>
smartor/src/main/resources/mapper/smartor/PatSpecificArchiveGenerateConfigMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,134 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.smartor.mapper.PatSpecificArchiveGenerateConfigMapper">
    <resultMap type="com.smartor.domain.PatSpecificArchiveGenerateConfig" id="PatSpecificArchiveGenerateConfigResult">
        <result property="id" column="id"/>
        <result property="deptType" column="dept_type"/>
        <result property="deptCategory" column="dept_category"/>
        <result property="archiveType" column="archive_type"/>
        <result property="deptCodes" column="dept_codes"/>
        <result property="icd10Codes" column="icd10_codes"/>
        <result property="remark" column="remark"/>
        <result property="orgid" column="orgid"/>
        <result property="campusid" column="campusid"/>
        <result property="updateBy" column="update_by"/>
        <result property="updateTime" column="update_time"/>
        <result property="createBy" column="create_by"/>
        <result property="createTime" column="create_time"/>
        <result property="delFlag" column="del_flag"/>
    </resultMap>
    <sql id="selectPatSpecificArchiveGenerateConfigVo">
        select id,
               dept_type,
               dept_category,
               archive_type,
               dept_codes,
               icd10_codes,
               remark,
               orgid,
               campusid,
               update_by,
               update_time,
               create_by,
               create_time,
               del_flag
        from pat_specific_archive_generate_config
    </sql>
    <select id="selectPatSpecificArchiveGenerateConfigList" parameterType="com.smartor.domain.PatSpecificArchiveGenerateConfig"
            resultMap="PatSpecificArchiveGenerateConfigResult">
        <include refid="selectPatSpecificArchiveGenerateConfigVo"/>
        where 1=1
            and del_flag = '0'
            <if test="deptType != null and deptType != ''">and dept_type = #{deptType}</if>
            <if test="deptCategory != null and deptCategory != ''">and dept_category = #{deptCategory}</if>
            <if test="archiveType != null and archiveType != ''">and archive_type = #{archiveType}</if>
            <if test="orgid != null and orgid != ''">and orgid = #{orgid}</if>
            <if test="campusid != null and campusid != ''">and campusid = #{campusid}</if>
            <if test="params.beginTime != null and params.beginTime != ''">
                and date_format(create_time, '%y%m%d') &gt;= date_format(#{params.beginTime}, '%y%m%d')
            </if>
            <if test="params.endTime != null and params.endTime != ''">
                and date_format(create_time, '%y%m%d') &lt;= date_format(#{params.endTime}, '%y%m%d')
            </if>
    </select>
    <select id="selectPatSpecificArchiveGenerateConfigById" parameterType="Long" resultMap="PatSpecificArchiveGenerateConfigResult">
        <include refid="selectPatSpecificArchiveGenerateConfigVo"/>
        where id = #{id}
    </select>
    <insert id="insertPatSpecificArchiveGenerateConfig" parameterType="com.smartor.domain.PatSpecificArchiveGenerateConfig"
            useGeneratedKeys="true" keyProperty="id">
        insert into pat_specific_archive_generate_config
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="deptType != null">dept_type,</if>
            <if test="deptCategory != null">dept_category,</if>
            <if test="archiveType != null">archive_type,</if>
            <if test="deptCodes != null">dept_codes,</if>
            <if test="icd10Codes != null">icd10_codes,</if>
            <if test="remark != null">remark,</if>
            <if test="orgid != null">orgid,</if>
            <if test="campusid != null">campusid,</if>
            <if test="updateBy != null">update_by,</if>
            <if test="updateTime != null">update_time,</if>
            <if test="createBy != null">create_by,</if>
            <if test="createTime != null">create_time,</if>
            <if test="delFlag != null and delFlag != ''">del_flag,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="deptType != null">#{deptType},</if>
            <if test="deptCategory != null">#{deptCategory},</if>
            <if test="archiveType != null">#{archiveType},</if>
            <if test="deptCodes != null">#{deptCodes},</if>
            <if test="icd10Codes != null">#{icd10Codes},</if>
            <if test="remark != null">#{remark},</if>
            <if test="orgid != null">#{orgid},</if>
            <if test="campusid != null">#{campusid},</if>
            <if test="updateBy != null">#{updateBy},</if>
            <if test="updateTime != null">#{updateTime},</if>
            <if test="createBy != null">#{createBy},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="delFlag != null and delFlag != ''">#{delFlag},</if>
        </trim>
    </insert>
    <update id="updatePatSpecificArchiveGenerateConfig" parameterType="com.smartor.domain.PatSpecificArchiveGenerateConfig">
        update pat_specific_archive_generate_config
        <trim prefix="SET" suffixOverrides=",">
            <if test="deptType != null">dept_type = #{deptType},</if>
            <if test="deptCategory != null">dept_category = #{deptCategory},</if>
            <if test="archiveType != null">archive_type = #{archiveType},</if>
            <if test="deptCodes != null">dept_codes = #{deptCodes},</if>
            <if test="icd10Codes != null">icd10_codes = #{icd10Codes},</if>
            <if test="remark != null">remark = #{remark},</if>
            <if test="orgid != null">orgid = #{orgid},</if>
            <if test="campusid != null">campusid = #{campusid},</if>
            <if test="updateBy != null">update_by = #{updateBy},</if>
            <if test="updateTime != null">update_time = #{updateTime},</if>
            <if test="createBy != null">create_by = #{createBy},</if>
            <if test="createTime != null">create_time = #{createTime},</if>
            <if test="delFlag != null and delFlag != ''">del_flag = #{delFlag},</if>
        </trim>
        where id = #{id}
    </update>
    <update id="deletePatSpecificArchiveGenerateConfigById" parameterType="Long">
        update pat_specific_archive_generate_config
        <trim prefix="SET" suffixOverrides=",">
            del_flag = '1'
        </trim>
        where id = #{id}
    </update>
    <update id="deletePatSpecificArchiveGenerateConfigByIds" parameterType="String">
        update pat_specific_archive_generate_config set del_flag = '1' where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </update>
</mapper>