From df838d2b3b146c9256df11e149d48754821568cb Mon Sep 17 00:00:00 2001 From: zhangheng <3226558941@qq.com> Date: Tue, 27 Feb 2024 15:13:42 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E5=8F=8A=E6=A0=91?= =?UTF-8?q?=E5=9B=BE=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/template/机构信息导入表.xlsx | Bin 0 -> 10463 bytes .../com/xinelu/common/constant/Constants.java | 15 + .../xinelu/common/utils/regex/RegexUtil.java | 63 +++ .../controller/agency/AgencyController.java | 29 ++ .../ImportDownloadController.java | 56 +++ .../xinelu/manage/domain/agency/Agency.java | 22 +- .../domain/agencycategory/AgencyCategory.java | 15 - .../manage/mapper/agency/AgencyMapper.java | 25 + .../agencycategory/AgencyCategoryMapper.java | 9 + .../manage/service/agency/IAgencyService.java | 13 +- .../agency/impl/AgencyServiceImpl.java | 95 +++- .../IAgencyCategoryService.java | 4 +- .../impl/AgencyCategoryServiceImpl.java | 33 +- .../importdownload/ImportDownloadService.java | 10 + .../impl/ImportDownloadServiceImpl.java | 15 + .../xinelu/manage/vo/agency/AgencyTreeVO.java | 24 +- .../com/xinelu/manage/vo/agency/AgencyVO.java | 24 +- .../agencycategory/AgencyCategoryTreeVO.java | 69 +++ .../vo/agencycategory/AgencyCategoryVO.java | 44 +- .../mapper/manage/agency/AgencyMapper.xml | 460 +++++++++++------- .../agencycategory/AgencyCategoryMapper.xml | 4 + 21 files changed, 743 insertions(+), 286 deletions(-) create mode 100644 postdischarge-admin/src/main/resources/template/机构信息导入表.xlsx create mode 100644 postdischarge-common/src/main/java/com/xinelu/common/utils/regex/RegexUtil.java create mode 100644 postdischarge-manage/src/main/java/com/xinelu/manage/controller/importdownload/ImportDownloadController.java create mode 100644 postdischarge-manage/src/main/java/com/xinelu/manage/service/importdownload/ImportDownloadService.java create mode 100644 postdischarge-manage/src/main/java/com/xinelu/manage/service/importdownload/impl/ImportDownloadServiceImpl.java create mode 100644 postdischarge-manage/src/main/java/com/xinelu/manage/vo/agencycategory/AgencyCategoryTreeVO.java diff --git a/postdischarge-admin/src/main/resources/template/机构信息导入表.xlsx b/postdischarge-admin/src/main/resources/template/机构信息导入表.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..8bb9aadd0440526aa9f7628a595d2920a150e979 GIT binary patch literal 10463 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 Vl!5-`I50rhL_BED9OO^h{|{Nt+&BOL literal 0 HcmV?d00001 diff --git a/postdischarge-common/src/main/java/com/xinelu/common/constant/Constants.java b/postdischarge-common/src/main/java/com/xinelu/common/constant/Constants.java index 9c63c487..4424712d 100644 --- a/postdischarge-common/src/main/java/com/xinelu/common/constant/Constants.java +++ b/postdischarge-common/src/main/java/com/xinelu/common/constant/Constants.java @@ -134,8 +134,23 @@ public class Constants { public static final String[] JOB_ERROR_STR = {"java.net.URL", "javax.naming.InitialContext", "org.yaml.snakeyaml", "org.springframework", "org.apache", "com.xinelu.common.utils.file"}; + /** + * Excel文件格式后缀 + */ + public static final String XLSX = "xlsx"; + + /** + * Excel文件格式后缀 + */ + public static final String XLS = "xls"; + /** * 机构类别编码前缀 */ public static final String CATEGORY_CODE = "CC"; + + /** + * 机构信息导入标识 + */ + public static final String AGENCY = "agency"; } diff --git a/postdischarge-common/src/main/java/com/xinelu/common/utils/regex/RegexUtil.java b/postdischarge-common/src/main/java/com/xinelu/common/utils/regex/RegexUtil.java new file mode 100644 index 00000000..f49c51bf --- /dev/null +++ b/postdischarge-common/src/main/java/com/xinelu/common/utils/regex/RegexUtil.java @@ -0,0 +1,63 @@ +package com.xinelu.common.utils.regex; + +import com.xinelu.common.exception.ServiceException; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Component; + +import java.util.regex.Pattern; + +/** + * @Description 正则表达式工具类 + * @Author 纪寒 + * @Date 2022-08-24 13:58:48 + * @Version 1.0 + */ +@Component +public class RegexUtil { + + /** + * 校验手机号码 + * + * @param phone 手机号码 + * @return 校验结果 + */ + public boolean regexPhone(String phone) { + if (StringUtils.isBlank(phone)) { + throw new ServiceException("手机号码不能为空!"); + } + //校验手机号 + String regex = "^(((13[0-9]{1})|(14[0-9]{1})|(15[0-9]{1})|(16[2567]{1})|(17[0-9]{1})|(18[0-9]{1})|(19[0-9]{1}))+\\d{8})$"; + return Pattern.matches(regex, phone); + } + + /** + * 校验身份证号码 + * + * @param cardNo 身份证号码 + * @return 校验结果 + */ + public boolean regexCardNo(String cardNo) { + if (StringUtils.isBlank(cardNo)) { + throw new ServiceException("身份证号不能为空!"); + } + //校验身份证号码 + String regex = "(^[1-9]\\d{5}(18|19|20)\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$)|" + + "(^[1-9]\\d{5}\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}$)"; + return Pattern.matches(regex, cardNo); + } + + /** + * 校验座机手机号码 + * + * @param seatNumber 座机手机号码 + * @return 校验结果 + */ + public boolean regexSeatNumber(String seatNumber) { + if (StringUtils.isBlank(seatNumber)) { + throw new ServiceException("手机号码不能为空!"); + } + //校验座机手机号 + String regex = "^(([0-9]{4,13}))"; + return Pattern.matches(regex, seatNumber); + } +} \ No newline at end of file diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/agency/AgencyController.java b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/agency/AgencyController.java index f282e77d..31361061 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/agency/AgencyController.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/agency/AgencyController.java @@ -1,6 +1,7 @@ package com.xinelu.manage.controller.agency; import com.xinelu.common.annotation.Log; +import com.xinelu.common.constant.Constants; import com.xinelu.common.core.controller.BaseController; import com.xinelu.common.core.domain.AjaxResult; import com.xinelu.common.core.page.TableDataInfo; @@ -8,12 +9,15 @@ import com.xinelu.common.enums.BusinessType; import com.xinelu.common.utils.poi.ExcelUtil; import com.xinelu.manage.domain.agency.Agency; import com.xinelu.manage.service.agency.IAgencyService; +import org.apache.commons.lang3.StringUtils; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.util.List; +import java.util.Objects; /** * 机构信息Controller @@ -96,4 +100,29 @@ public class AgencyController extends BaseController { public AjaxResult agencyList() { return AjaxResult.success(agencyService.agencyList()); } + + /** + * 导入机构信息 + * + * @param file 模板文件 + * @return 导入结果 + * @throws Exception 异常信息 + */ + @PreAuthorize("@ss.hasPermi('system:agency:importStationInfo')") + @Log(title = "导入机构信息", businessType = BusinessType.IMPORT) + @PostMapping("/insertAgencyImportList") + public AjaxResult insertAgencyImportList(MultipartFile file) throws Exception { + //判断excel里面是否有数据/文件格式 + if (Objects.isNull(file) || StringUtils.isBlank(file.getOriginalFilename())) { + return AjaxResult.error("请选择需要导入的文件!"); + } + // 获取文件名 + String orgName = file.getOriginalFilename(); + if (!orgName.endsWith(Constants.XLSX) && !orgName.endsWith(Constants.XLS)) { + return AjaxResult.error("导入文件格式不正确,请导入xlsx或xls格式的文件!"); + } + ExcelUtil util = new ExcelUtil<>(Agency.class); + List list = util.importExcel(file.getInputStream()); + return agencyService.insertAgencyImportList(list); + } } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/importdownload/ImportDownloadController.java b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/importdownload/ImportDownloadController.java new file mode 100644 index 00000000..f5790d87 --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/importdownload/ImportDownloadController.java @@ -0,0 +1,56 @@ +package com.xinelu.manage.controller.importdownload; + +import com.xinelu.common.constant.Constants; +import com.xinelu.common.exception.ServiceException; +import org.apache.commons.io.FileUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.util.ResourceUtils; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.IOException; +import java.util.Objects; + +/** + * 导入与下载Controller + * + * @author zh + * @date 2024-02-26 + */ + +@RestController +@RequestMapping("/system/importDownload") +public class ImportDownloadController { + + /** + * 下载导入模板 + * + * @param fileType 文件类型 + * @param res http请求 + **/ + @RequestMapping("downloadTemplate") + public void download(@RequestParam(value = "fileType") String fileType, HttpServletResponse res) throws IOException { + if (StringUtils.isBlank(fileType)) { + throw new ServiceException("请选择文件类型!"); + } + File file = null; + if (fileType.equals(Constants.AGENCY)) { + file = ResourceUtils.getFile("classpath:template/机构信息导入表.xlsx"); + } + if (Objects.isNull(file)) { + throw new ServiceException("下载导入模板文件失败,请联系管理员!"); + } + res.setCharacterEncoding("UTF-8"); + res.setHeader("Content-Disposition", "inline;filename=" + fileType + ".txt"); + res.setContentType("text/plain;UTF-8"); + ServletOutputStream os = res.getOutputStream(); + byte[] bytes = FileUtils.readFileToByteArray(file); + os.write(bytes); + os.flush(); + os.close(); + } +} \ No newline at end of file diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/domain/agency/Agency.java b/postdischarge-manage/src/main/java/com/xinelu/manage/domain/agency/Agency.java index 91a4ab42..28933814 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/domain/agency/Agency.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/domain/agency/Agency.java @@ -11,9 +11,6 @@ import lombok.NoArgsConstructor; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; -import java.util.ArrayList; -import java.util.List; - /** * 机构信息对象 agency * @@ -37,14 +34,14 @@ public class Agency extends BaseEntity { * 上级机构id */ @ApiModelProperty(value = "上级机构id") - @Excel(name = "上级机构id") + @Excel(name = "上级机构") private Long parentId; /** * 所属机构类别id */ @ApiModelProperty(value = "所属机构类别id") - @Excel(name = "所属机构类别id") + @Excel(name = "所属机构类别") private Long agencyCategoryId; /** @@ -100,7 +97,7 @@ public class Agency extends BaseEntity { * 节点类型,节点类型,卫健委:HEALTH_COMMISSION,医保局:MEDICAL_INSURANCE_BUREAU,医院:HOSPITAL,院区:CAMPUS,药店:PHARMACY,科室:DEPARTMENT,病区:WARD,中国:CHINA,省份:PROVINCE */ @ApiModelProperty(value = "节点类型,节点类型,卫健委:HEALTH_COMMISSION,医保局:MEDICAL_INSURANCE_BUREAU,医院:HOSPITAL,院区:CAMPUS,药店:PHARMACY,科室:DEPARTMENT,病区:WARD,中国:CHINA,省份:PROVINCE") - @Excel(name = "节点类型,节点类型,卫健委:HEALTH_COMMISSION,医保局:MEDICAL_INSURANCE_BUREAU,医院:HOSPITAL,院区:CAMPUS,药店:PHARMACY,科室:DEPARTMENT,病区:WARD,中国:CHINA,省份:PROVINCE") + @Excel(name = "节点类型") private String nodeType; /** @@ -114,7 +111,7 @@ public class Agency extends BaseEntity { * 机构分类管理类别,非营利性医疗机构:NON_PROFIT_MEDICAL_AGENCY,营利性医疗机构:FOR_PROFIT_MEDICAL_AGENCY,其他卫生机构:OTHER_HEALTH_AGENCY */ @ApiModelProperty(value = "机构分类管理类别,非营利性医疗机构:NON_PROFIT_MEDICAL_AGENCY,营利性医疗机构:FOR_PROFIT_MEDICAL_AGENCY,其他卫生机构:OTHER_HEALTH_AGENCY") - @Excel(name = "机构分类管理类别,非营利性医疗机构:NON_PROFIT_MEDICAL_AGENCY,营利性医疗机构:FOR_PROFIT_MEDICAL_AGENCY,其他卫生机构:OTHER_HEALTH_AGENCY") + @Excel(name = "机构分类管理类别") private String agencyCategoryManageLevel; /** @@ -152,17 +149,6 @@ public class Agency extends BaseEntity { @Excel(name = "机构排序") private Integer agencySort; - private List children = new ArrayList(); - - public List getChildren() { - return children; - } - - public void setChildren(List children) { - this.children = children; - } - - @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/domain/agencycategory/AgencyCategory.java b/postdischarge-manage/src/main/java/com/xinelu/manage/domain/agencycategory/AgencyCategory.java index 86e53c8f..f99265d1 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/domain/agencycategory/AgencyCategory.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/domain/agencycategory/AgencyCategory.java @@ -11,9 +11,6 @@ import lombok.NoArgsConstructor; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; -import java.util.ArrayList; -import java.util.List; - /** * 机构类别对象 agency_category * @@ -75,18 +72,6 @@ public class AgencyCategory extends BaseEntity { @Excel(name = "类别概述") private String categoryRemark; - - private List children = new ArrayList(); - - public List getChildren() { - return children; - } - - public void setChildren(List children) { - this.children = children; - } - - @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/agency/AgencyMapper.java b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/agency/AgencyMapper.java index 499e16b9..dae202aa 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/agency/AgencyMapper.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/agency/AgencyMapper.java @@ -2,6 +2,7 @@ package com.xinelu.manage.mapper.agency; import com.xinelu.manage.domain.agency.Agency; import com.xinelu.manage.vo.agency.AgencyVO; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -37,6 +38,14 @@ public interface AgencyMapper { */ List selectAgencyList(Agency agency); + /** + * 查询机构信息列表 + * + * @param agency 机构信息 + * @return 机构信息集合 + */ + List selectAgencyVOList(Agency agency); + /** * 新增机构信息 * @@ -68,4 +77,20 @@ public interface AgencyMapper { * @return 结果 */ int deleteAgencyByIds(Long[] ids); + + /** + * 查询所有的机构信息 + * + * @param agencyNames 机构信息集合 + * @return 列表集合信息 + */ + List getAllAgencyInfo(@Param("agencyNames") List agencyNames); + + /** + * 机构信息导入 + * + * @param agencyList 机构信息 + * @return int + **/ + int insertAgencyImportList(List agencyList); } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/agencycategory/AgencyCategoryMapper.java b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/agencycategory/AgencyCategoryMapper.java index ba0ab704..567d57af 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/agencycategory/AgencyCategoryMapper.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/agencycategory/AgencyCategoryMapper.java @@ -1,6 +1,7 @@ package com.xinelu.manage.mapper.agencycategory; import com.xinelu.manage.domain.agencycategory.AgencyCategory; +import com.xinelu.manage.vo.agencycategory.AgencyCategoryVO; import java.util.List; @@ -28,6 +29,14 @@ public interface AgencyCategoryMapper { */ List selectAgencyCategoryList(AgencyCategory agencyCategory); + /** + * 查询机构类别列表 + * + * @param agencyCategory 机构类别 + * @return 机构类别集合 + */ + List selectAgencyCategoryVOList(AgencyCategory agencyCategory); + /** * 新增机构类别 * diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/agency/IAgencyService.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/agency/IAgencyService.java index d56e556c..f7d27b97 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/agency/IAgencyService.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/agency/IAgencyService.java @@ -1,7 +1,9 @@ package com.xinelu.manage.service.agency; +import com.xinelu.common.core.domain.AjaxResult; import com.xinelu.manage.domain.agency.Agency; import com.xinelu.manage.vo.agency.AgencyTreeVO; +import com.xinelu.manage.vo.agency.AgencyVO; import java.util.List; @@ -19,7 +21,7 @@ public interface IAgencyService { * @param id 机构信息主键 * @return 机构信息 */ - Agency selectAgencyById(Long id); + AgencyVO selectAgencyById(Long id); /** * 查询机构信息列表 @@ -67,4 +69,13 @@ public interface IAgencyService { * @return AgencyVO */ List agencyList(); + + + /** + * 机构信息导入 + * + * @param agencyList 机构信息 + * @return int + **/ + AjaxResult insertAgencyImportList(List agencyList); } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/agency/impl/AgencyServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/agency/impl/AgencyServiceImpl.java index 4247fa3e..073b76f6 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/agency/impl/AgencyServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/agency/impl/AgencyServiceImpl.java @@ -1,15 +1,27 @@ package com.xinelu.manage.service.agency.impl; +import com.xinelu.common.constant.Constants; +import com.xinelu.common.core.domain.AjaxResult; +import com.xinelu.common.exception.ServiceException; import com.xinelu.common.utils.DateUtils; +import com.xinelu.common.utils.SecurityUtils; import com.xinelu.common.utils.StringUtils; +import com.xinelu.common.utils.bean.BeanUtils; +import com.xinelu.common.utils.codes.GenerateSystemCodeUtil; +import com.xinelu.common.utils.regex.RegexUtil; import com.xinelu.manage.domain.agency.Agency; import com.xinelu.manage.mapper.agency.AgencyMapper; import com.xinelu.manage.service.agency.IAgencyService; import com.xinelu.manage.vo.agency.AgencyTreeVO; +import com.xinelu.manage.vo.agency.AgencyVO; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.BooleanUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.ArrayList; +import java.util.Date; import java.util.Iterator; import java.util.List; import java.util.stream.Collectors; @@ -25,6 +37,10 @@ import java.util.stream.Collectors; public class AgencyServiceImpl implements IAgencyService { @Resource private AgencyMapper agencyMapper; + @Resource + private RegexUtil regexUtil; + @Resource + private GenerateSystemCodeUtil generateSystemCodeUtil; /** * 查询机构信息 @@ -33,8 +49,8 @@ public class AgencyServiceImpl implements IAgencyService { * @return 机构信息 */ @Override - public Agency selectAgencyById(Long id) { - return agencyMapper.selectAgencyById(id); + public AgencyVO selectAgencyById(Long id) { + return agencyMapper.selectAgencyVOById(id); } /** @@ -101,18 +117,65 @@ public class AgencyServiceImpl implements IAgencyService { */ @Override public List agencyList() { - List agencies = agencyMapper.selectAgencyList(null); - List agenciesTree = buildDeptTree(agencies); + List agencies = agencyMapper.selectAgencyVOList(null); + for (AgencyVO agency : agencies) { + agency.setValue(agency.getId().toString()); + } + List agenciesTree = buildDeptTree(agencies); return agenciesTree.stream().map(AgencyTreeVO::new).collect(Collectors.toList()); } - public List buildDeptTree(List agencies) { - List returnList = new ArrayList(); + /** + * 机构信息导入 + * + * @param agencyList 机构信息 + * @return 导入结果 + **/ + @Transactional(rollbackFor = Exception.class) + @Override + public AjaxResult insertAgencyImportList(List agencyList) { + //判断添加的数据是否为空 + if (CollectionUtils.isEmpty(agencyList)) { + return AjaxResult.error("请添加机构导入信息!"); + } + //根据护理站名称做去除处理 + List importDataList = agencyList.stream().filter(item -> StringUtils.isNotBlank(item.getAgencyName())).distinct().collect(Collectors.toList()); + //校验联系电话格式是否正确 + Agency agency = importDataList.stream().filter(item -> StringUtils.isNotBlank(item.getAgencyPhone())).filter(item -> BooleanUtils.isFalse(regexUtil.regexPhone(item.getAgencyPhone()))).findFirst().orElse(new Agency()); + if (StringUtils.isNotBlank(agency.getAgencyPhone())) { + return AjaxResult.error("当前机构联系电话:" + agency.getAgencyPhone() + " 格式不正确,请重新录入!"); + } + List agencyNames = importDataList.stream().filter(item -> StringUtils.isNotBlank(item.getAgencyName())).map(Agency::getAgencyName).distinct().collect(Collectors.toList()); + //根据名称查询护理站基本信息 + List allNurseStationInfo = agencyMapper.getAllAgencyInfo(agencyNames); + //做差集,去除数据库中已经存在的护理站信息 + List subtractList = new ArrayList<>(CollectionUtils.subtract(importDataList, allNurseStationInfo)); + if (CollectionUtils.isEmpty(subtractList)) { + return AjaxResult.success(); + } + List saveAgencyList = new ArrayList<>(); + for (Agency item : subtractList) { + item.setCreateBy(SecurityUtils.getUsername()); + item.setCreateTime(new Date()); + item.setAgencyCode(Constants.CATEGORY_CODE + generateSystemCodeUtil.generateSystemCode(Constants.CATEGORY_CODE)); + Agency nurseStations = new Agency(); + BeanUtils.copyProperties(item, nurseStations); + saveAgencyList.add(nurseStations); + } + int insertCount = agencyMapper.insertAgencyImportList(saveAgencyList); + if (insertCount <= 0) { + throw new ServiceException("导入护理站信息失败,请联系管理员!"); + } + return AjaxResult.success(); + } + + public List buildDeptTree(List agencies) { + List returnList = new ArrayList(); List tempList = new ArrayList(); - for (Agency agency : agencies) { + for (AgencyVO agency : agencies) { tempList.add(agency.getId()); } - for (Agency agency : agencies) { + for (AgencyVO agency : agencies) { // 如果是顶级节点, 遍历该父节点的所有子节点 if (!tempList.contains(agency.getParentId())) { recursionFn(agencies, agency); @@ -125,22 +188,22 @@ public class AgencyServiceImpl implements IAgencyService { return returnList; } - private void recursionFn(List list, Agency t) { + private void recursionFn(List list, AgencyVO t) { // 得到子节点列表 - List childList = getChildList(list, t); + List childList = getChildList(list, t); t.setChildren(childList); - for (Agency tChild : childList) { + for (AgencyVO tChild : childList) { if (hasChild(list, tChild)) { recursionFn(list, tChild); } } } - private List getChildList(List list, Agency t) { - List tlist = new ArrayList(); - Iterator it = list.iterator(); + private List getChildList(List list, AgencyVO t) { + List tlist = new ArrayList(); + Iterator it = list.iterator(); while (it.hasNext()) { - Agency n = (Agency) it.next(); + AgencyVO n = (AgencyVO) it.next(); if (StringUtils.isNotNull(n.getParentId()) && n.getParentId().longValue() == t.getId().longValue()) { tlist.add(n); } @@ -151,7 +214,7 @@ public class AgencyServiceImpl implements IAgencyService { /** * 判断是否有子节点 */ - private boolean hasChild(List list, Agency t) { + private boolean hasChild(List list, AgencyVO t) { return getChildList(list, t).size() > 0; } } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/agencycategory/IAgencyCategoryService.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/agencycategory/IAgencyCategoryService.java index 6433b6b6..356cd00f 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/agencycategory/IAgencyCategoryService.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/agencycategory/IAgencyCategoryService.java @@ -2,7 +2,7 @@ package com.xinelu.manage.service.agencycategory; import com.xinelu.manage.domain.agencycategory.AgencyCategory; -import com.xinelu.manage.vo.agencycategory.AgencyCategoryVO; +import com.xinelu.manage.vo.agencycategory.AgencyCategoryTreeVO; import java.util.List; @@ -66,5 +66,5 @@ public interface IAgencyCategoryService { * * @return AgencyVO */ - List agencyCategoryList(); + List agencyCategoryList(); } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/agencycategory/impl/AgencyCategoryServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/agencycategory/impl/AgencyCategoryServiceImpl.java index 988b47ac..23af9515 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/agencycategory/impl/AgencyCategoryServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/agencycategory/impl/AgencyCategoryServiceImpl.java @@ -8,6 +8,7 @@ import com.xinelu.common.utils.codes.GenerateSystemCodeUtil; import com.xinelu.manage.domain.agencycategory.AgencyCategory; import com.xinelu.manage.mapper.agencycategory.AgencyCategoryMapper; import com.xinelu.manage.service.agencycategory.IAgencyCategoryService; +import com.xinelu.manage.vo.agencycategory.AgencyCategoryTreeVO; import com.xinelu.manage.vo.agencycategory.AgencyCategoryVO; import org.springframework.stereotype.Service; @@ -111,19 +112,19 @@ public class AgencyCategoryServiceImpl implements IAgencyCategoryService { * @return AgencyCategoryVO */ @Override - public List agencyCategoryList() { - List agencyCategoryList = agencyCategoryMapper.selectAgencyCategoryList(null); - List agencyTree = buildDeptTree(agencyCategoryList); - return agencyTree.stream().map(AgencyCategoryVO::new).collect(Collectors.toList()); + public List agencyCategoryList() { + List agencyCategoryList = agencyCategoryMapper.selectAgencyCategoryVOList(null); + List agencyTree = buildDeptTree(agencyCategoryList); + return agencyTree.stream().map(AgencyCategoryTreeVO::new).collect(Collectors.toList()); } - public List buildDeptTree(List agencyCategoryList) { - List returnList = new ArrayList(); + public List buildDeptTree(List agencyCategoryList) { + List returnList = new ArrayList(); List tempList = new ArrayList(); - for (AgencyCategory agencyCategory : agencyCategoryList) { + for (AgencyCategoryVO agencyCategory : agencyCategoryList) { tempList.add(agencyCategory.getId()); } - for (AgencyCategory agencyCategory : agencyCategoryList) { + for (AgencyCategoryVO agencyCategory : agencyCategoryList) { // 如果是顶级节点, 遍历该父节点的所有子节点 if (!tempList.contains(agencyCategory.getParentCategoryId())) { recursionFn(agencyCategoryList, agencyCategory); @@ -136,22 +137,22 @@ public class AgencyCategoryServiceImpl implements IAgencyCategoryService { return returnList; } - private void recursionFn(List list, AgencyCategory t) { + private void recursionFn(List list, AgencyCategoryVO t) { // 得到子节点列表 - List childList = getChildList(list, t); + List childList = getChildList(list, t); t.setChildren(childList); - for (AgencyCategory tChild : childList) { + for (AgencyCategoryVO tChild : childList) { if (hasChild(list, tChild)) { recursionFn(list, tChild); } } } - private List getChildList(List list, AgencyCategory t) { - List tlist = new ArrayList(); - Iterator it = list.iterator(); + private List getChildList(List list, AgencyCategoryVO t) { + List tlist = new ArrayList(); + Iterator it = list.iterator(); while (it.hasNext()) { - AgencyCategory n = (AgencyCategory) it.next(); + AgencyCategoryVO n = (AgencyCategoryVO) it.next(); if (StringUtils.isNotNull(n.getParentCategoryId()) && n.getParentCategoryId().longValue() == t.getId().longValue()) { tlist.add(n); } @@ -162,7 +163,7 @@ public class AgencyCategoryServiceImpl implements IAgencyCategoryService { /** * 判断是否有子节点 */ - private boolean hasChild(List list, AgencyCategory t) { + private boolean hasChild(List list, AgencyCategoryVO t) { return getChildList(list, t).size() > 0; } } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/importdownload/ImportDownloadService.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/importdownload/ImportDownloadService.java new file mode 100644 index 00000000..36a3c76f --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/importdownload/ImportDownloadService.java @@ -0,0 +1,10 @@ +package com.xinelu.manage.service.importdownload; + +/** + * 导入Service接口 + * + * @author xinelu + * @date 2024-02-26 + */ +public interface ImportDownloadService { +} \ No newline at end of file diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/importdownload/impl/ImportDownloadServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/importdownload/impl/ImportDownloadServiceImpl.java new file mode 100644 index 00000000..4a519aca --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/importdownload/impl/ImportDownloadServiceImpl.java @@ -0,0 +1,15 @@ +package com.xinelu.manage.service.importdownload.impl; + + +import com.xinelu.manage.service.importdownload.ImportDownloadService; +import org.springframework.stereotype.Service; + +/** + * 导入Service业务层处理 + * + * @author xinelu + * @date 2024-02-26 + */ +@Service +public class ImportDownloadServiceImpl implements ImportDownloadService { +} \ No newline at end of file diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/agency/AgencyTreeVO.java b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/agency/AgencyTreeVO.java index 48dd031f..a1aa51f5 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/agency/AgencyTreeVO.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/agency/AgencyTreeVO.java @@ -1,8 +1,6 @@ package com.xinelu.manage.vo.agency; import com.fasterxml.jackson.annotation.JsonInclude; -import com.xinelu.common.core.domain.entity.SysMenu; -import com.xinelu.manage.domain.agency.Agency; import java.io.Serializable; import java.util.List; @@ -27,6 +25,11 @@ public class AgencyTreeVO implements Serializable { */ private String label; + /** + * 节点名称 + */ + private String value; + /** * 子节点 */ @@ -37,18 +40,13 @@ public class AgencyTreeVO implements Serializable { } - public AgencyTreeVO(Agency agency) { + public AgencyTreeVO(AgencyVO agency) { this.id = agency.getId(); this.label = agency.getAgencyName(); + this.value = agency.getValue(); this.children = agency.getChildren().stream().map(AgencyTreeVO::new).collect(Collectors.toList()); } - public AgencyTreeVO(SysMenu menu) { - this.id = menu.getMenuId(); - this.label = menu.getMenuName(); - this.children = menu.getChildren().stream().map(AgencyTreeVO::new).collect(Collectors.toList()); - } - public Long getId() { return id; } @@ -65,6 +63,14 @@ public class AgencyTreeVO implements Serializable { this.label = label; } + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + public List getChildren() { return children; } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/agency/AgencyVO.java b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/agency/AgencyVO.java index 8098626f..010a5e19 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/agency/AgencyVO.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/agency/AgencyVO.java @@ -1,6 +1,11 @@ package com.xinelu.manage.vo.agency; import com.xinelu.manage.domain.agency.Agency; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.ArrayList; +import java.util.List; /** * 机构树图信息对象vo agency @@ -8,8 +13,25 @@ import com.xinelu.manage.domain.agency.Agency; * @author xinelu * @date 2024-02-26 */ + +@EqualsAndHashCode(callSuper = true) +@Data public class AgencyVO extends Agency { - private String a; + /** + * 上级机构 + */ + private String parentAgencyName; + private String value; + + private List children = new ArrayList(); + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/agencycategory/AgencyCategoryTreeVO.java b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/agencycategory/AgencyCategoryTreeVO.java new file mode 100644 index 00000000..af1224ae --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/agencycategory/AgencyCategoryTreeVO.java @@ -0,0 +1,69 @@ +package com.xinelu.manage.vo.agencycategory; + +import com.fasterxml.jackson.annotation.JsonInclude; + +import java.io.Serializable; +import java.util.List; +import java.util.stream.Collectors; + +public class AgencyCategoryTreeVO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 节点ID + */ + private Long id; + + /** + * 节点名称 + */ + private String label; + + private String value; + + /** + * 子节点 + */ + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List children; + + public AgencyCategoryTreeVO(AgencyCategoryVO agencyCategory) { + this.id = agencyCategory.getId(); + this.label = agencyCategory.getCategoryName(); + this.value = agencyCategory.getValue(); + this.children = agencyCategory.getChildren().stream().map(AgencyCategoryTreeVO::new).collect(Collectors.toList()); + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getLabel() { + return label; + } + + public void setLabel(String label) { + this.label = label; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } +} \ No newline at end of file diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/agencycategory/AgencyCategoryVO.java b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/agencycategory/AgencyCategoryVO.java index 19a21e37..b4062f1f 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/agencycategory/AgencyCategoryVO.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/agencycategory/AgencyCategoryVO.java @@ -1,43 +1,25 @@ package com.xinelu.manage.vo.agencycategory; -import com.fasterxml.jackson.annotation.JsonInclude; import com.xinelu.manage.domain.agencycategory.AgencyCategory; +import lombok.Data; +import lombok.EqualsAndHashCode; -import java.io.Serializable; +import java.util.ArrayList; import java.util.List; -import java.util.stream.Collectors; -public class AgencyCategoryVO implements Serializable { +@EqualsAndHashCode(callSuper = true) +@Data +public class AgencyCategoryVO extends AgencyCategory { - private static final long serialVersionUID = 1L; + private String value; - /** - * 节点ID - */ - private Long id; + private List children = new ArrayList(); - /** - * 节点名称 - */ - private String label; - - /** - * 子节点 - */ - @JsonInclude(JsonInclude.Include.NON_EMPTY) - private List children; - - public AgencyCategoryVO(AgencyCategory agencyCategory) { - this.id = agencyCategory.getId(); - this.label = agencyCategory.getCategoryName(); - this.children = agencyCategory.getChildren().stream().map(AgencyCategoryVO::new).collect(Collectors.toList()); + public List getChildren() { + return children; } - public Long getId() { - return id; + public void setChildren(List children) { + this.children = children; } - - public void setId(Long id) { - this.id = id; - } -} \ No newline at end of file +} diff --git a/postdischarge-manage/src/main/resources/mapper/manage/agency/AgencyMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/agency/AgencyMapper.xml index a396d67e..ded4c9b9 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/agency/AgencyMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/agency/AgencyMapper.xml @@ -5,32 +5,54 @@ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - select id, parent_id, agency_category_id, agency_category_name, area_code, area_name, agency_name, agency_code, agency_abbreviation, agency_status, node_type, org_agency_code, agency_category_manage_level, agency_contacts, agency_phone, agency_address, agency_remark, agency_sort, create_by, create_time, update_by, update_time from agency + select id, + parent_id, + agency_category_id, + agency_category_name, + area_code, + area_name, + agency_name, + agency_code, + agency_abbreviation, + agency_status, + node_type, + org_agency_code, + agency_category_manage_level, + agency_contacts, + agency_phone, + agency_address, + agency_remark, + agency_sort, + create_by, + create_time, + update_by, + update_time + from agency + + + insert into agency - parent_id, - - agency_category_id, - - agency_category_name, - - area_code, - - area_name, - - agency_name, - - agency_code, - - agency_abbreviation, - - agency_status, - - node_type, - - org_agency_code, - - agency_category_manage_level, - - agency_contacts, - - agency_phone, - - agency_address, - - agency_remark, - - agency_sort, - - create_by, - - create_time, - - update_by, - - update_time, - + parent_id, + + agency_category_id, + + agency_category_name, + + area_code, + + area_name, + + agency_name, + + agency_code, + + agency_abbreviation, + + agency_status, + + node_type, + + org_agency_code, + + agency_category_manage_level, + + agency_contacts, + + agency_phone, + + agency_address, + + agency_remark, + + agency_sort, + + create_by, + + create_time, + + update_by, + + update_time, + - #{parentId}, - - #{agencyCategoryId}, - - #{agencyCategoryName}, - - #{areaCode}, - - #{areaName}, - - #{agencyName}, - - #{agencyCode}, - - #{agencyAbbreviation}, - - #{agencyStatus}, - - #{nodeType}, - - #{orgAgencyCode}, - - #{agencyCategoryManageLevel}, - - #{agencyContacts}, - - #{agencyPhone}, - - #{agencyAddress}, - - #{agencyRemark}, - - #{agencySort}, - - #{createBy}, - - #{createTime}, - - #{updateBy}, - - #{updateTime}, - + #{parentId}, + + #{agencyCategoryId}, + + #{agencyCategoryName}, + + #{areaCode}, + + #{areaName}, + + #{agencyName}, + + #{agencyCode}, + + #{agencyAbbreviation}, + + #{agencyStatus}, + + #{nodeType}, + + #{orgAgencyCode}, + + #{agencyCategoryManageLevel}, + + #{agencyContacts}, + + #{agencyPhone}, + + #{agencyAddress}, + + #{agencyRemark}, + + #{agencySort}, + + #{createBy}, + + #{createTime}, + + #{updateBy}, + + #{updateTime}, + update agency - parent_id = - #{parentId}, - - agency_category_id = - #{agencyCategoryId}, - - agency_category_name = - #{agencyCategoryName}, - - area_code = - #{areaCode}, - - area_name = - #{areaName}, - - agency_name = - #{agencyName}, - - agency_code = - #{agencyCode}, - - agency_abbreviation = - #{agencyAbbreviation}, - - agency_status = - #{agencyStatus}, - - node_type = - #{nodeType}, - - org_agency_code = - #{orgAgencyCode}, - - agency_category_manage_level = - #{agencyCategoryManageLevel}, - - agency_contacts = - #{agencyContacts}, - - agency_phone = - #{agencyPhone}, - - agency_address = - #{agencyAddress}, - - agency_remark = - #{agencyRemark}, - - agency_sort = - #{agencySort}, - - create_by = - #{createBy}, - - create_time = - #{createTime}, - - update_by = - #{updateBy}, - - update_time = - #{updateTime}, - + parent_id = + #{parentId}, + + agency_category_id = + #{agencyCategoryId}, + + agency_category_name = + #{agencyCategoryName}, + + area_code = + #{areaCode}, + + area_name = + #{areaName}, + + agency_name = + #{agencyName}, + + agency_code = + #{agencyCode}, + + agency_abbreviation = + #{agencyAbbreviation}, + + agency_status = + #{agencyStatus}, + + node_type = + #{nodeType}, + + org_agency_code = + #{orgAgencyCode}, + + agency_category_manage_level = + #{agencyCategoryManageLevel}, + + agency_contacts = + #{agencyContacts}, + + agency_phone = + #{agencyPhone}, + + agency_address = + #{agencyAddress}, + + agency_remark = + #{agencyRemark}, + + agency_sort = + #{agencySort}, + + create_by = + #{createBy}, + + create_time = + #{createTime}, + + update_by = + #{updateBy}, + + update_time = + #{updateTime}, + where id = #{id} - delete from agency where id = #{id} + delete + from agency + where id = #{id} @@ -293,4 +321,82 @@ #{id} + + + + + insert into agency( + select + parent_id, + agency_category_id, + agency_category_name, + area_code, + area_name, + agency_name, + agency_code, + agency_abbreviation, + agency_status, + node_type, + org_agency_code, + agency_category_manage_level, + agency_contacts, + agency_phone, + agency_address, + agency_remark, + agency_sort + ) values + + ( + #{Agency.parentId}, + #{Agency.agencyCategoryId}, + #{Agency.agencyCategoryName}, + #{Agency.areaCode}, + #{Agency.areaName}, + #{Agency.agencyName}, + #{Agency.agencyCode}, + #{Agency.agencyAbbreviation}, + #{Agency.agencyStatus}, + #{Agency.nodeType}, + #{Agency.orgAgencyCode}, + #{Agency.agencyCategoryManageLevel}, + #{Agency.agencyContacts}, + #{Agency.agencyPhone}, + #{Agency.agencyAddress}, + #{Agency.agencyRemark}, + #{Agency.agencySort} + ) + + \ No newline at end of file diff --git a/postdischarge-manage/src/main/resources/mapper/manage/agencycategory/AgencyCategoryMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/agencycategory/AgencyCategoryMapper.xml index 946bf6e5..1c3e5876 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/agencycategory/AgencyCategoryMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/agencycategory/AgencyCategoryMapper.xml @@ -57,6 +57,10 @@ + + + + + + From 9fecec238af35927fc22b3efbf3413128c2901f8 Mon Sep 17 00:00:00 2001 From: zhangheng <3226558941@qq.com> Date: Wed, 28 Feb 2024 10:19:56 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xinelu/manage/controller/agency/AgencyController.java | 4 ++-- .../agencycategory/impl/AgencyCategoryServiceImpl.java | 3 +++ .../manage/vo/agencycategory/AgencyCategoryTreeVO.java | 6 +++--- .../xinelu/manage/vo/agencycategory/AgencyCategoryVO.java | 2 +- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/agency/AgencyController.java b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/agency/AgencyController.java index 6a2eba1b..bf4c094b 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/agency/AgencyController.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/agency/AgencyController.java @@ -68,7 +68,7 @@ public class AgencyController extends BaseController { */ @PreAuthorize("@ss.hasPermi('system:agency:add')") @Log(title = "机构信息", businessType = BusinessType.INSERT) - @PostMapping("/add") + @PostMapping public AjaxResult add(@RequestBody Agency agency) { return toAjax(agencyService.insertAgency(agency)); } @@ -78,7 +78,7 @@ public class AgencyController extends BaseController { */ @PreAuthorize("@ss.hasPermi('system:agency:edit')") @Log(title = "机构信息", businessType = BusinessType.UPDATE) - @PutMapping("/edit") + @PutMapping public AjaxResult edit(@RequestBody Agency agency) { return toAjax(agencyService.updateAgency(agency)); } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/agencycategory/impl/AgencyCategoryServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/agencycategory/impl/AgencyCategoryServiceImpl.java index 23af9515..c342ddf1 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/agencycategory/impl/AgencyCategoryServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/agencycategory/impl/AgencyCategoryServiceImpl.java @@ -114,6 +114,9 @@ public class AgencyCategoryServiceImpl implements IAgencyCategoryService { @Override public List agencyCategoryList() { List agencyCategoryList = agencyCategoryMapper.selectAgencyCategoryVOList(null); + for (AgencyCategoryVO agencyCategory : agencyCategoryList) { + agencyCategory.setValue(agencyCategory.getId()); + } List agencyTree = buildDeptTree(agencyCategoryList); return agencyTree.stream().map(AgencyCategoryTreeVO::new).collect(Collectors.toList()); } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/agencycategory/AgencyCategoryTreeVO.java b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/agencycategory/AgencyCategoryTreeVO.java index af1224ae..e871080b 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/agencycategory/AgencyCategoryTreeVO.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/agencycategory/AgencyCategoryTreeVO.java @@ -20,7 +20,7 @@ public class AgencyCategoryTreeVO implements Serializable { */ private String label; - private String value; + private Long value; /** * 子节点 @@ -51,11 +51,11 @@ public class AgencyCategoryTreeVO implements Serializable { this.label = label; } - public String getValue() { + public Long getValue() { return value; } - public void setValue(String value) { + public void setValue(Long value) { this.value = value; } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/agencycategory/AgencyCategoryVO.java b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/agencycategory/AgencyCategoryVO.java index b4062f1f..67bf5231 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/agencycategory/AgencyCategoryVO.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/agencycategory/AgencyCategoryVO.java @@ -11,7 +11,7 @@ import java.util.List; @Data public class AgencyCategoryVO extends AgencyCategory { - private String value; + private Long value; private List children = new ArrayList(); From b979884e85674c7e17da0d6f309d3e3154fd17b1 Mon Sep 17 00:00:00 2001 From: zhangheng <3226558941@qq.com> Date: Wed, 28 Feb 2024 11:07:30 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E7=BB=86=E5=88=86=E5=A2=9E=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../questioninfo/QuestionInfoController.java | 91 +++++++ .../SubdivisionCategoryController.java | 91 +++++++ .../domain/questioninfo/QuestionInfo.java | 150 +++++++++++ .../SubdivisionCategory.java | 69 +++++ .../questioninfo/QuestionInfoMapper.java | 62 +++++ .../SubdivisionCategoryMapper.java | 62 +++++ .../questioninfo/IQuestionInfoService.java | 62 +++++ .../impl/QuestionInfoServiceImpl.java | 90 +++++++ .../ISubdivisionCategoryService.java | 61 +++++ .../impl/SubdivisionCategoryServiceImpl.java | 91 +++++++ .../questioninfo/QuestionInfoMapper.xml | 248 ++++++++++++++++++ .../SubdivisionCategoryMapper.xml | 138 ++++++++++ 12 files changed, 1215 insertions(+) create mode 100644 postdischarge-manage/src/main/java/com/xinelu/manage/controller/questioninfo/QuestionInfoController.java create mode 100644 postdischarge-manage/src/main/java/com/xinelu/manage/controller/subdivisioncategory/SubdivisionCategoryController.java create mode 100644 postdischarge-manage/src/main/java/com/xinelu/manage/domain/questioninfo/QuestionInfo.java create mode 100644 postdischarge-manage/src/main/java/com/xinelu/manage/domain/subdivisioncategory/SubdivisionCategory.java create mode 100644 postdischarge-manage/src/main/java/com/xinelu/manage/mapper/questioninfo/QuestionInfoMapper.java create mode 100644 postdischarge-manage/src/main/java/com/xinelu/manage/mapper/subdivisioncategory/SubdivisionCategoryMapper.java create mode 100644 postdischarge-manage/src/main/java/com/xinelu/manage/service/questioninfo/IQuestionInfoService.java create mode 100644 postdischarge-manage/src/main/java/com/xinelu/manage/service/questioninfo/impl/QuestionInfoServiceImpl.java create mode 100644 postdischarge-manage/src/main/java/com/xinelu/manage/service/subdivisioncategory/ISubdivisionCategoryService.java create mode 100644 postdischarge-manage/src/main/java/com/xinelu/manage/service/subdivisioncategory/impl/SubdivisionCategoryServiceImpl.java create mode 100644 postdischarge-manage/src/main/resources/mapper/manage/questioninfo/QuestionInfoMapper.xml create mode 100644 postdischarge-manage/src/main/resources/mapper/manage/subdivisioncategory/SubdivisionCategoryMapper.xml diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/questioninfo/QuestionInfoController.java b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/questioninfo/QuestionInfoController.java new file mode 100644 index 00000000..906561f2 --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/questioninfo/QuestionInfoController.java @@ -0,0 +1,91 @@ +package com.xinelu.manage.controller.questioninfo; + +import com.xinelu.common.annotation.Log; +import com.xinelu.common.core.controller.BaseController; +import com.xinelu.common.core.domain.AjaxResult; +import com.xinelu.common.core.page.TableDataInfo; +import com.xinelu.common.enums.BusinessType; +import com.xinelu.common.utils.poi.ExcelUtil; +import com.xinelu.manage.domain.questioninfo.QuestionInfo; +import com.xinelu.manage.service.questioninfo.IQuestionInfoService; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 问卷基本信息Controller + * + * @author xinelu + * @date 2024-02-28 + */ +@RestController +@RequestMapping("/system/question") +public class QuestionInfoController extends BaseController { + @Resource + private IQuestionInfoService questionInfoService; + + /** + * 查询问卷基本信息列表 + */ + @PreAuthorize("@ss.hasPermi('system:question:list')") + @GetMapping("/list") + public TableDataInfo list(QuestionInfo questionInfo) { + startPage(); + List list = questionInfoService.selectQuestionInfoList(questionInfo); + return getDataTable(list); + } + + /** + * 导出问卷基本信息列表 + */ + @PreAuthorize("@ss.hasPermi('system:question:export')") + @Log(title = "问卷基本信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, QuestionInfo questionInfo) { + List list = questionInfoService.selectQuestionInfoList(questionInfo); + ExcelUtil util = new ExcelUtil(QuestionInfo.class); + util.exportExcel(response, list, "问卷基本信息数据"); + } + + /** + * 获取问卷基本信息详细信息 + */ + @PreAuthorize("@ss.hasPermi('system:question:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) { + return AjaxResult.success(questionInfoService.selectQuestionInfoById(id)); + } + + /** + * 新增问卷基本信息 + */ + @PreAuthorize("@ss.hasPermi('system:question:add')") + @Log(title = "问卷基本信息", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody QuestionInfo questionInfo) { + return toAjax(questionInfoService.insertQuestionInfo(questionInfo)); + } + + /** + * 修改问卷基本信息 + */ + @PreAuthorize("@ss.hasPermi('system:question:edit')") + @Log(title = "问卷基本信息", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody QuestionInfo questionInfo) { + return toAjax(questionInfoService.updateQuestionInfo(questionInfo)); + } + + /** + * 删除问卷基本信息 + */ + @PreAuthorize("@ss.hasPermi('system:question:remove')") + @Log(title = "问卷基本信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) { + return toAjax(questionInfoService.deleteQuestionInfoByIds(ids)); + } +} diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/subdivisioncategory/SubdivisionCategoryController.java b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/subdivisioncategory/SubdivisionCategoryController.java new file mode 100644 index 00000000..ec69937f --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/subdivisioncategory/SubdivisionCategoryController.java @@ -0,0 +1,91 @@ +package com.xinelu.manage.controller.subdivisioncategory; + +import com.xinelu.common.annotation.Log; +import com.xinelu.common.core.controller.BaseController; +import com.xinelu.common.core.domain.AjaxResult; +import com.xinelu.common.core.page.TableDataInfo; +import com.xinelu.common.enums.BusinessType; +import com.xinelu.common.utils.poi.ExcelUtil; +import com.xinelu.manage.domain.subdivisioncategory.SubdivisionCategory; +import com.xinelu.manage.service.subdivisioncategory.ISubdivisionCategoryService; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 细分类别信息Controller + * + * @author xinelu + * @date 2024-02-28 + */ +@RestController +@RequestMapping("/system/subdivision") +public class SubdivisionCategoryController extends BaseController { + @Resource + private ISubdivisionCategoryService subdivisionCategoryService; + + /** + * 查询细分类别信息列表 + */ + @PreAuthorize("@ss.hasPermi('system:subdivision:list')") + @GetMapping("/list") + public TableDataInfo list(SubdivisionCategory subdivisionCategory) { + startPage(); + List list = subdivisionCategoryService.selectSubdivisionCategoryList(subdivisionCategory); + return getDataTable(list); + } + + /** + * 导出细分类别信息列表 + */ + @PreAuthorize("@ss.hasPermi('system:subdivision:export')") + @Log(title = "细分类别信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, SubdivisionCategory subdivisionCategory) { + List list = subdivisionCategoryService.selectSubdivisionCategoryList(subdivisionCategory); + ExcelUtil util = new ExcelUtil(SubdivisionCategory.class); + util.exportExcel(response, list, "细分类别信息数据"); + } + + /** + * 获取细分类别信息详细信息 + */ + @PreAuthorize("@ss.hasPermi('system:subdivision:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) { + return AjaxResult.success(subdivisionCategoryService.selectSubdivisionCategoryById(id)); + } + + /** + * 新增细分类别信息 + */ + @PreAuthorize("@ss.hasPermi('system:subdivision:add')") + @Log(title = "细分类别信息", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody SubdivisionCategory subdivisionCategory) { + return toAjax(subdivisionCategoryService.insertSubdivisionCategory(subdivisionCategory)); + } + + /** + * 修改细分类别信息 + */ + @PreAuthorize("@ss.hasPermi('system:subdivision:edit')") + @Log(title = "细分类别信息", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody SubdivisionCategory subdivisionCategory) { + return toAjax(subdivisionCategoryService.updateSubdivisionCategory(subdivisionCategory)); + } + + /** + * 删除细分类别信息 + */ + @PreAuthorize("@ss.hasPermi('system:subdivision:remove')") + @Log(title = "细分类别信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) { + return toAjax(subdivisionCategoryService.deleteSubdivisionCategoryByIds(ids)); + } +} diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/domain/questioninfo/QuestionInfo.java b/postdischarge-manage/src/main/java/com/xinelu/manage/domain/questioninfo/QuestionInfo.java new file mode 100644 index 00000000..28bd2f82 --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/domain/questioninfo/QuestionInfo.java @@ -0,0 +1,150 @@ +package com.xinelu.manage.domain.questioninfo; + +import com.xinelu.common.annotation.Excel; +import com.xinelu.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.math.BigDecimal; + +/** + * 问卷基本信息对象 question_info + * + * @author xinelu + * @date 2024-02-28 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "问卷基本信息对象", description = "question_info") +public class QuestionInfo extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + private Long id; + + /** + * 所属科室id + */ + @ApiModelProperty(value = "所属科室id") + @Excel(name = "所属科室id") + private Long departmentId; + + /** + * 所属科室名称 + */ + @ApiModelProperty(value = "所属科室名称") + @Excel(name = "所属科室名称") + private String departmentName; + + /** + * 病种id + */ + @ApiModelProperty(value = "病种id") + @Excel(name = "病种id") + private Long diseaseTypeId; + + /** + * 病种名称 + */ + @ApiModelProperty(value = "病种名称") + @Excel(name = "病种名称") + private String diseaseTypeName; + + /** + * 问卷标题 + */ + @ApiModelProperty(value = "问卷标题") + @Excel(name = "问卷标题") + private String questionnaireName; + + /** + * 问卷说明 + */ + @ApiModelProperty(value = "问卷说明") + @Excel(name = "问卷说明") + private String questionnaireDescription; + + /** + * 作答方式,一页一题:ONE_PAGE_ONE_QUESTION,非一页一题:NOT_ONE_PAGE_ONE_QUESTION + */ + @ApiModelProperty(value = "作答方式,一页一题:ONE_PAGE_ONE_QUESTION,非一页一题:NOT_ONE_PAGE_ONE_QUESTION") + @Excel(name = "作答方式,一页一题:ONE_PAGE_ONE_QUESTION,非一页一题:NOT_ONE_PAGE_ONE_QUESTION") + private String answeringMethod; + + /** + * 问卷ID + */ + @ApiModelProperty(value = "问卷ID") + @Excel(name = "问卷ID") + private String questionnaireId; + + /** + * 问题个数 + */ + @ApiModelProperty(value = "问题个数") + @Excel(name = "问题个数") + private Integer questionCount; + + /** + * 问卷总分值,小数点后两位 + */ + @ApiModelProperty(value = "问卷总分值,小数点后两位") + @Excel(name = "问卷总分值,小数点后两位") + private BigDecimal questionnaireTotalScore; + + /** + * 问卷状态,已发布:PUBLISHED,未发布:UNPUBLISHED + */ + @ApiModelProperty(value = "问卷状态,已发布:PUBLISHED,未发布:UNPUBLISHED") + @Excel(name = "问卷状态,已发布:PUBLISHED,未发布:UNPUBLISHED") + private String questionnaireStatus; + + /** + * 问卷排序 + */ + @ApiModelProperty(value = "问卷排序") + @Excel(name = "问卷排序") + private Integer questionnaireSort; + + /** + * 问卷备注信息 + */ + @ApiModelProperty(value = "问卷备注信息") + @Excel(name = "问卷备注信息") + private String questionnaireRemark; + + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("departmentId", getDepartmentId()) + .append("departmentName", getDepartmentName()) + .append("diseaseTypeId", getDiseaseTypeId()) + .append("diseaseTypeName", getDiseaseTypeName()) + .append("questionnaireName", getQuestionnaireName()) + .append("questionnaireDescription", getQuestionnaireDescription()) + .append("answeringMethod", getAnsweringMethod()) + .append("questionnaireId", getQuestionnaireId()) + .append("questionCount", getQuestionCount()) + .append("questionnaireTotalScore", getQuestionnaireTotalScore()) + .append("questionnaireStatus", getQuestionnaireStatus()) + .append("questionnaireSort", getQuestionnaireSort()) + .append("questionnaireRemark", getQuestionnaireRemark()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/domain/subdivisioncategory/SubdivisionCategory.java b/postdischarge-manage/src/main/java/com/xinelu/manage/domain/subdivisioncategory/SubdivisionCategory.java new file mode 100644 index 00000000..755e8187 --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/domain/subdivisioncategory/SubdivisionCategory.java @@ -0,0 +1,69 @@ +package com.xinelu.manage.domain.subdivisioncategory; + +import com.xinelu.common.annotation.Excel; +import com.xinelu.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 细分类别信息对象 subdivision_category + * + * @author xinelu + * @date 2024-02-28 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "细分类别信息对象", description = "subdivision_category") +public class SubdivisionCategory extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + private Long id; + + /** + * 细分类别名称 + */ + @ApiModelProperty(value = "细分类别名称") + @Excel(name = "细分类别名称") + private String subdivisionCategoryName; + + /** + * 细分类别编码 + */ + @ApiModelProperty(value = "细分类别编码") + @Excel(name = "细分类别编码") + private String subdivisionCategoryCode; + + /** + * 细分类别排序 + */ + @ApiModelProperty(value = "细分类别排序") + @Excel(name = "细分类别排序") + private Integer sort; + + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("subdivisionCategoryName", getSubdivisionCategoryName()) + .append("subdivisionCategoryCode", getSubdivisionCategoryCode()) + .append("sort", getSort()) + .append("remark", getRemark()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/questioninfo/QuestionInfoMapper.java b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/questioninfo/QuestionInfoMapper.java new file mode 100644 index 00000000..90bf7d39 --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/questioninfo/QuestionInfoMapper.java @@ -0,0 +1,62 @@ +package com.xinelu.manage.mapper.questioninfo; + +import com.xinelu.manage.domain.questioninfo.QuestionInfo; + +import java.util.List; + + +/** + * 问卷基本信息Mapper接口 + * + * @author xinelu + * @date 2024-02-28 + */ +public interface QuestionInfoMapper { + /** + * 查询问卷基本信息 + * + * @param id 问卷基本信息主键 + * @return 问卷基本信息 + */ + public QuestionInfo selectQuestionInfoById(Long id); + + /** + * 查询问卷基本信息列表 + * + * @param questionInfo 问卷基本信息 + * @return 问卷基本信息集合 + */ + public List selectQuestionInfoList(QuestionInfo questionInfo); + + /** + * 新增问卷基本信息 + * + * @param questionInfo 问卷基本信息 + * @return 结果 + */ + public int insertQuestionInfo(QuestionInfo questionInfo); + + /** + * 修改问卷基本信息 + * + * @param questionInfo 问卷基本信息 + * @return 结果 + */ + public int updateQuestionInfo(QuestionInfo questionInfo); + + /** + * 删除问卷基本信息 + * + * @param id 问卷基本信息主键 + * @return 结果 + */ + public int deleteQuestionInfoById(Long id); + + /** + * 批量删除问卷基本信息 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteQuestionInfoByIds(Long[] ids); +} diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/subdivisioncategory/SubdivisionCategoryMapper.java b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/subdivisioncategory/SubdivisionCategoryMapper.java new file mode 100644 index 00000000..1b9a46cb --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/subdivisioncategory/SubdivisionCategoryMapper.java @@ -0,0 +1,62 @@ +package com.xinelu.manage.mapper.subdivisioncategory; + +import com.xinelu.manage.domain.subdivisioncategory.SubdivisionCategory; + +import java.util.List; + + +/** + * 细分类别信息Mapper接口 + * + * @author xinelu + * @date 2024-02-28 + */ +public interface SubdivisionCategoryMapper { + /** + * 查询细分类别信息 + * + * @param id 细分类别信息主键 + * @return 细分类别信息 + */ + public SubdivisionCategory selectSubdivisionCategoryById(Long id); + + /** + * 查询细分类别信息列表 + * + * @param subdivisionCategory 细分类别信息 + * @return 细分类别信息集合 + */ + public List selectSubdivisionCategoryList(SubdivisionCategory subdivisionCategory); + + /** + * 新增细分类别信息 + * + * @param subdivisionCategory 细分类别信息 + * @return 结果 + */ + public int insertSubdivisionCategory(SubdivisionCategory subdivisionCategory); + + /** + * 修改细分类别信息 + * + * @param subdivisionCategory 细分类别信息 + * @return 结果 + */ + public int updateSubdivisionCategory(SubdivisionCategory subdivisionCategory); + + /** + * 删除细分类别信息 + * + * @param id 细分类别信息主键 + * @return 结果 + */ + public int deleteSubdivisionCategoryById(Long id); + + /** + * 批量删除细分类别信息 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteSubdivisionCategoryByIds(Long[] ids); +} diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/questioninfo/IQuestionInfoService.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/questioninfo/IQuestionInfoService.java new file mode 100644 index 00000000..d0572915 --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/questioninfo/IQuestionInfoService.java @@ -0,0 +1,62 @@ +package com.xinelu.manage.service.questioninfo; + +import com.xinelu.manage.domain.questioninfo.QuestionInfo; + +import java.util.List; + + +/** + * 问卷基本信息Service接口 + * + * @author xinelu + * @date 2024-02-28 + */ +public interface IQuestionInfoService { + /** + * 查询问卷基本信息 + * + * @param id 问卷基本信息主键 + * @return 问卷基本信息 + */ + public QuestionInfo selectQuestionInfoById(Long id); + + /** + * 查询问卷基本信息列表 + * + * @param questionInfo 问卷基本信息 + * @return 问卷基本信息集合 + */ + public List selectQuestionInfoList(QuestionInfo questionInfo); + + /** + * 新增问卷基本信息 + * + * @param questionInfo 问卷基本信息 + * @return 结果 + */ + public int insertQuestionInfo(QuestionInfo questionInfo); + + /** + * 修改问卷基本信息 + * + * @param questionInfo 问卷基本信息 + * @return 结果 + */ + public int updateQuestionInfo(QuestionInfo questionInfo); + + /** + * 批量删除问卷基本信息 + * + * @param ids 需要删除的问卷基本信息主键集合 + * @return 结果 + */ + public int deleteQuestionInfoByIds(Long[] ids); + + /** + * 删除问卷基本信息信息 + * + * @param id 问卷基本信息主键 + * @return 结果 + */ + public int deleteQuestionInfoById(Long id); +} diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/questioninfo/impl/QuestionInfoServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/questioninfo/impl/QuestionInfoServiceImpl.java new file mode 100644 index 00000000..57d9261a --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/questioninfo/impl/QuestionInfoServiceImpl.java @@ -0,0 +1,90 @@ +package com.xinelu.manage.service.questioninfo.impl; + +import com.xinelu.common.utils.DateUtils; +import com.xinelu.manage.domain.questioninfo.QuestionInfo; +import com.xinelu.manage.mapper.questioninfo.QuestionInfoMapper; +import com.xinelu.manage.service.questioninfo.IQuestionInfoService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 问卷基本信息Service业务层处理 + * + * @author xinelu + * @date 2024-02-28 + */ +@Service +public class QuestionInfoServiceImpl implements IQuestionInfoService { + @Resource + private QuestionInfoMapper questionInfoMapper; + + /** + * 查询问卷基本信息 + * + * @param id 问卷基本信息主键 + * @return 问卷基本信息 + */ + @Override + public QuestionInfo selectQuestionInfoById(Long id) { + return questionInfoMapper.selectQuestionInfoById(id); + } + + /** + * 查询问卷基本信息列表 + * + * @param questionInfo 问卷基本信息 + * @return 问卷基本信息 + */ + @Override + public List selectQuestionInfoList(QuestionInfo questionInfo) { + return questionInfoMapper.selectQuestionInfoList(questionInfo); + } + + /** + * 新增问卷基本信息 + * + * @param questionInfo 问卷基本信息 + * @return 结果 + */ + @Override + public int insertQuestionInfo(QuestionInfo questionInfo) { + questionInfo.setCreateTime(DateUtils.getNowDate()); + return questionInfoMapper.insertQuestionInfo(questionInfo); + } + + /** + * 修改问卷基本信息 + * + * @param questionInfo 问卷基本信息 + * @return 结果 + */ + @Override + public int updateQuestionInfo(QuestionInfo questionInfo) { + questionInfo.setUpdateTime(DateUtils.getNowDate()); + return questionInfoMapper.updateQuestionInfo(questionInfo); + } + + /** + * 批量删除问卷基本信息 + * + * @param ids 需要删除的问卷基本信息主键 + * @return 结果 + */ + @Override + public int deleteQuestionInfoByIds(Long[] ids) { + return questionInfoMapper.deleteQuestionInfoByIds(ids); + } + + /** + * 删除问卷基本信息信息 + * + * @param id 问卷基本信息主键 + * @return 结果 + */ + @Override + public int deleteQuestionInfoById(Long id) { + return questionInfoMapper.deleteQuestionInfoById(id); + } +} diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/subdivisioncategory/ISubdivisionCategoryService.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/subdivisioncategory/ISubdivisionCategoryService.java new file mode 100644 index 00000000..4795d560 --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/subdivisioncategory/ISubdivisionCategoryService.java @@ -0,0 +1,61 @@ +package com.xinelu.manage.service.subdivisioncategory; + +import com.xinelu.manage.domain.subdivisioncategory.SubdivisionCategory; + +import java.util.List; + +/** + * 细分类别信息Service接口 + * + * @author xinelu + * @date 2024-02-28 + */ +public interface ISubdivisionCategoryService { + /** + * 查询细分类别信息 + * + * @param id 细分类别信息主键 + * @return 细分类别信息 + */ + public SubdivisionCategory selectSubdivisionCategoryById(Long id); + + /** + * 查询细分类别信息列表 + * + * @param subdivisionCategory 细分类别信息 + * @return 细分类别信息集合 + */ + public List selectSubdivisionCategoryList(SubdivisionCategory subdivisionCategory); + + /** + * 新增细分类别信息 + * + * @param subdivisionCategory 细分类别信息 + * @return 结果 + */ + public int insertSubdivisionCategory(SubdivisionCategory subdivisionCategory); + + /** + * 修改细分类别信息 + * + * @param subdivisionCategory 细分类别信息 + * @return 结果 + */ + public int updateSubdivisionCategory(SubdivisionCategory subdivisionCategory); + + /** + * 批量删除细分类别信息 + * + * @param ids 需要删除的细分类别信息主键集合 + * @return 结果 + */ + public int deleteSubdivisionCategoryByIds(Long[] ids); + + /** + * 删除细分类别信息信息 + * + * @param id 细分类别信息主键 + * @return 结果 + */ + public int deleteSubdivisionCategoryById(Long id); +} diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/subdivisioncategory/impl/SubdivisionCategoryServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/subdivisioncategory/impl/SubdivisionCategoryServiceImpl.java new file mode 100644 index 00000000..51c7043c --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/subdivisioncategory/impl/SubdivisionCategoryServiceImpl.java @@ -0,0 +1,91 @@ +package com.xinelu.manage.service.subdivisioncategory.impl; + +import com.xinelu.common.utils.DateUtils; +import com.xinelu.manage.domain.subdivisioncategory.SubdivisionCategory; +import com.xinelu.manage.mapper.subdivisioncategory.SubdivisionCategoryMapper; +import com.xinelu.manage.service.subdivisioncategory.ISubdivisionCategoryService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + + +/** + * 细分类别信息Service业务层处理 + * + * @author xinelu + * @date 2024-02-28 + */ +@Service +public class SubdivisionCategoryServiceImpl implements ISubdivisionCategoryService { + @Resource + private SubdivisionCategoryMapper subdivisionCategoryMapper; + + /** + * 查询细分类别信息 + * + * @param id 细分类别信息主键 + * @return 细分类别信息 + */ + @Override + public SubdivisionCategory selectSubdivisionCategoryById(Long id) { + return subdivisionCategoryMapper.selectSubdivisionCategoryById(id); + } + + /** + * 查询细分类别信息列表 + * + * @param subdivisionCategory 细分类别信息 + * @return 细分类别信息 + */ + @Override + public List selectSubdivisionCategoryList(SubdivisionCategory subdivisionCategory) { + return subdivisionCategoryMapper.selectSubdivisionCategoryList(subdivisionCategory); + } + + /** + * 新增细分类别信息 + * + * @param subdivisionCategory 细分类别信息 + * @return 结果 + */ + @Override + public int insertSubdivisionCategory(SubdivisionCategory subdivisionCategory) { + subdivisionCategory.setCreateTime(DateUtils.getNowDate()); + return subdivisionCategoryMapper.insertSubdivisionCategory(subdivisionCategory); + } + + /** + * 修改细分类别信息 + * + * @param subdivisionCategory 细分类别信息 + * @return 结果 + */ + @Override + public int updateSubdivisionCategory(SubdivisionCategory subdivisionCategory) { + subdivisionCategory.setUpdateTime(DateUtils.getNowDate()); + return subdivisionCategoryMapper.updateSubdivisionCategory(subdivisionCategory); + } + + /** + * 批量删除细分类别信息 + * + * @param ids 需要删除的细分类别信息主键 + * @return 结果 + */ + @Override + public int deleteSubdivisionCategoryByIds(Long[] ids) { + return subdivisionCategoryMapper.deleteSubdivisionCategoryByIds(ids); + } + + /** + * 删除细分类别信息信息 + * + * @param id 细分类别信息主键 + * @return 结果 + */ + @Override + public int deleteSubdivisionCategoryById(Long id) { + return subdivisionCategoryMapper.deleteSubdivisionCategoryById(id); + } +} diff --git a/postdischarge-manage/src/main/resources/mapper/manage/questioninfo/QuestionInfoMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/questioninfo/QuestionInfoMapper.xml new file mode 100644 index 00000000..43c798ea --- /dev/null +++ b/postdischarge-manage/src/main/resources/mapper/manage/questioninfo/QuestionInfoMapper.xml @@ -0,0 +1,248 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, + department_id, + department_name, + disease_type_id, + disease_type_name, + questionnaire_name, + questionnaire_description, + answering_method, + questionnaire_id, + question_count, + questionnaire_total_score, + questionnaire_status, + questionnaire_sort, + questionnaire_remark, + create_by, + create_time, + update_by, + update_time + from question_info + + + + + + + + insert into question_info + + department_id, + + department_name, + + disease_type_id, + + disease_type_name, + + questionnaire_name, + + questionnaire_description, + + answering_method, + + questionnaire_id, + + question_count, + + questionnaire_total_score, + + questionnaire_status, + + questionnaire_sort, + + questionnaire_remark, + + create_by, + + create_time, + + update_by, + + update_time, + + + + #{departmentId}, + + #{departmentName}, + + #{diseaseTypeId}, + + #{diseaseTypeName}, + + #{questionnaireName}, + + #{questionnaireDescription}, + + #{answeringMethod}, + + #{questionnaireId}, + + #{questionCount}, + + #{questionnaireTotalScore}, + + #{questionnaireStatus}, + + #{questionnaireSort}, + + #{questionnaireRemark}, + + #{createBy}, + + #{createTime}, + + #{updateBy}, + + #{updateTime}, + + + + + + update question_info + + department_id = + #{departmentId}, + + department_name = + #{departmentName}, + + disease_type_id = + #{diseaseTypeId}, + + disease_type_name = + #{diseaseTypeName}, + + questionnaire_name = + #{questionnaireName}, + + questionnaire_description = + #{questionnaireDescription}, + + answering_method = + #{answeringMethod}, + + questionnaire_id = + #{questionnaireId}, + + question_count = + #{questionCount}, + + questionnaire_total_score = + #{questionnaireTotalScore}, + + questionnaire_status = + #{questionnaireStatus}, + + questionnaire_sort = + #{questionnaireSort}, + + questionnaire_remark = + #{questionnaireRemark}, + + create_by = + #{createBy}, + + create_time = + #{createTime}, + + update_by = + #{updateBy}, + + update_time = + #{updateTime}, + + + where id = #{id} + + + + delete + from question_info + where id = #{id} + + + + delete from question_info where id in + + #{id} + + + \ No newline at end of file diff --git a/postdischarge-manage/src/main/resources/mapper/manage/subdivisioncategory/SubdivisionCategoryMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/subdivisioncategory/SubdivisionCategoryMapper.xml new file mode 100644 index 00000000..08a8e4e3 --- /dev/null +++ b/postdischarge-manage/src/main/resources/mapper/manage/subdivisioncategory/SubdivisionCategoryMapper.xml @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + select id, + subdivision_category_name, + subdivision_category_code, + sort, + remark, + create_by, + create_time, + update_by, + update_time + from subdivision_category + + + + + + + + insert into subdivision_category + + subdivision_category_name, + + subdivision_category_code, + + sort, + + remark, + + create_by, + + create_time, + + update_by, + + update_time, + + + + #{subdivisionCategoryName}, + + #{subdivisionCategoryCode}, + + #{sort}, + + #{remark}, + + #{createBy}, + + #{createTime}, + + #{updateBy}, + + #{updateTime}, + + + + + + update subdivision_category + + subdivision_category_name = + #{subdivisionCategoryName}, + + subdivision_category_code = + #{subdivisionCategoryCode}, + + sort = + #{sort}, + + remark = + #{remark}, + + create_by = + #{createBy}, + + create_time = + #{createTime}, + + update_by = + #{updateBy}, + + update_time = + #{updateTime}, + + + where id = #{id} + + + + delete + from subdivision_category + where id = #{id} + + + + delete from subdivision_category where id in + + #{id} + + + \ No newline at end of file