From 518092d44214562384660f78b9bf91229194584d Mon Sep 17 00:00:00 2001 From: loser <12524321+loser111@user.noreply.gitee.com> Date: Wed, 10 May 2023 15:17:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BA=E7=89=A9=E8=B5=84=E7=AE=A1=E7=90=86?= =?UTF-8?q?=EF=BC=8C=E6=89=93=E5=8D=A1=E8=AE=B0=E5=BD=95=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0excel=E5=AF=BC=E5=85=A5=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/CheckManageController.java | 24 ++- .../web/controller/PatientManageController.java | 71 +++---- .../web/controller/supplies/NucleicController.java | 50 +++-- .../web/controller/supplies/VaccineController.java | 50 +++-- .../templates/check/checkManage/checkManage.html | 35 ++-- .../patient/patientManage/patientManage.html | 8 +- .../templates/supplies/nucleic/nucleic.html | 27 +++ .../templates/supplies/vaccine/vaccine.html | 27 +++ .../controller/PatientManageBaseController.java | 226 +++++++++++++++++++++ .../com/ruoyi/supplies/mapper/NucleicMapper.java | 9 + .../com/ruoyi/supplies/mapper/VaccineMapper.java | 8 + .../main/java/com/ruoyi/system/domain/Nucleic.java | 13 ++ .../main/java/com/ruoyi/system/domain/Vaccine.java | 13 ++ .../com/ruoyi/system/mapper/CheckManageMapper.java | 8 + .../ruoyi/system/service/ICheckManageService.java | 8 + .../com/ruoyi/system/service/INucleicService.java | 9 + .../com/ruoyi/system/service/IVaccineService.java | 9 + .../service/impl/CheckManageServiceImpl.java | 69 ++++++- .../system/service/impl/NucleicServiceImpl.java | 68 +++++++ .../service/impl/PatientManageServiceImpl.java | 2 +- .../system/service/impl/VaccineServiceImpl.java | 68 +++++++ .../main/resources/mapper/CheckManageMapper.xml | 12 +- .../resources/mapper/supplies/NucleicMapper.xml | 12 +- .../resources/mapper/supplies/VaccineMapper.xml | 11 +- 24 files changed, 743 insertions(+), 94 deletions(-) create mode 100644 ruoyi-common/src/main/java/com/ruoyi/common/core/controller/PatientManageBaseController.java diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/CheckManageController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/CheckManageController.java index 90fdbb2..3c17544 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/CheckManageController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/CheckManageController.java @@ -18,6 +18,7 @@ import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.core.page.TableDataInfo; +import org.springframework.web.multipart.MultipartFile; /** * 打卡管理Controller @@ -53,7 +54,28 @@ public class CheckManageController extends BaseController List list = checkManageService.selectCheckManageList(checkManage); return getDataTable(list); } - + /** + * 导入患者管理列表 + */ + @Log(title = "患者管理", businessType = BusinessType.IMPORT) + @RequiresPermissions("check:checkManage:import") + @PostMapping("/importData") + @ResponseBody + public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception + { + ExcelUtil util = new ExcelUtil(CheckManage.class); + List checkList = util.importExcel(file.getInputStream()); + String message = checkManageService.importCheck(checkList,updateSupport); + return AjaxResult.success(message); + } + @RequiresPermissions("patient:patientManage:view") + @GetMapping("/importTemplate") + @ResponseBody + public AjaxResult importTemplate() + { + ExcelUtil util = new ExcelUtil(CheckManage.class); + return util.importTemplateExcel("打卡人数据"); + } /** * 导出打卡管理列表 */ diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/PatientManageController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/PatientManageController.java index 58f1b35..306e13c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/PatientManageController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/PatientManageController.java @@ -55,41 +55,6 @@ public class PatientManageController extends BaseController return getDataTable(list); } - /** - * 导入患者管理列表 - */ - @Log(title = "患者管理", businessType = BusinessType.IMPORT) - @RequiresPermissions("patient:patientManage:import") - @PostMapping("/importData") - @ResponseBody - public AjaxResult importData(MultipartFile file,boolean updateSupport) throws Exception - { - ExcelUtil util = new ExcelUtil(PatientManage.class); - List patientList = util.importExcel(file.getInputStream()); - String message = patientManageService.importPatient(patientList,updateSupport); - return AjaxResult.success(message); - } - @RequiresPermissions("patient:patientManage:view") - @GetMapping("/importTemplate") - @ResponseBody - public AjaxResult importTemplate() - { - ExcelUtil util = new ExcelUtil(PatientManage.class); - return util.importTemplateExcel("患者数据"); - } - /** - * 导出患者管理列表 - */ - @RequiresPermissions("patient:patientManage:export") - @Log(title = "患者管理", businessType = BusinessType.EXPORT) - @PostMapping("/export") - @ResponseBody - public AjaxResult export(PatientManage patientManage) - { - List list = patientManageService.selectPatientManageList(patientManage); - ExcelUtil util = new ExcelUtil(PatientManage.class); - return util.exportExcel(list, "患者管理数据"); - } /** @@ -148,4 +113,40 @@ public class PatientManageController extends BaseController { return toAjax(patientManageService.deletePatientManageByPatientIds(ids)); } + /** + * 导入患者管理列表 + */ + @Log(title = "患者管理", businessType = BusinessType.IMPORT) + @RequiresPermissions("patient:patientManage:import") + @PostMapping("/importData") + @ResponseBody + public AjaxResult importData(MultipartFile file,boolean updateSupport) throws Exception + { + ExcelUtil util = new ExcelUtil(PatientManage.class); + List patientList = util.importExcel(file.getInputStream()); + String message = patientManageService.importPatient(patientList,updateSupport); + return AjaxResult.success(message); + } + @RequiresPermissions("patient:patientManage:view") + @GetMapping("/importTemplate") + @ResponseBody + public AjaxResult importTemplate() + { + ExcelUtil util = new ExcelUtil(PatientManage.class); + return util.importTemplateExcel("患者数据"); + } + /** + * 导出患者管理列表 + */ + @RequiresPermissions("patient:patientManage:export") + @Log(title = "患者管理", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ResponseBody + public AjaxResult export(PatientManage patientManage) + { + List list = patientManageService.selectPatientManageList(patientManage); + ExcelUtil util = new ExcelUtil(PatientManage.class); + return util.exportExcel(list, "患者管理数据"); + } + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/supplies/NucleicController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/supplies/NucleicController.java index c7d3bba..a77a108 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/supplies/NucleicController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/supplies/NucleicController.java @@ -18,6 +18,7 @@ import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.core.page.TableDataInfo; +import org.springframework.web.multipart.MultipartFile; /** * 核酸管理Controller @@ -54,19 +55,7 @@ public class NucleicController extends BaseController return getDataTable(list); } - /** - * 导出核酸管理列表 - */ - @RequiresPermissions("supplies:nucleic:export") - @Log(title = "核酸管理", businessType = BusinessType.EXPORT) - @PostMapping("/export") - @ResponseBody - public AjaxResult export(Nucleic nucleic) - { - List list = nucleicService.selectNucleicList(nucleic); - ExcelUtil util = new ExcelUtil(Nucleic.class); - return util.exportExcel(list, "核酸管理数据"); - } + /** * 新增核酸管理 @@ -124,4 +113,39 @@ public class NucleicController extends BaseController { return toAjax(nucleicService.deleteNucleicByNucleicIds(ids)); } + /** + * 导入患者管理列表 + */ + @Log(title = "患者管理", businessType = BusinessType.IMPORT) + @RequiresPermissions("patient:patientManage:import") + @PostMapping("/importData") + @ResponseBody + public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception + { + ExcelUtil util = new ExcelUtil(Nucleic.class); + List nucleicList = util.importExcel(file.getInputStream()); + String message = nucleicService.importNucleic(nucleicList,updateSupport); + return AjaxResult.success(message); + } + @RequiresPermissions("patient:patientManage:view") + @GetMapping("/importTemplate") + @ResponseBody + public AjaxResult importTemplate() + { + ExcelUtil util = new ExcelUtil(Nucleic.class); + return util.importTemplateExcel("核酸数据"); + } + /** + * 导出核酸管理列表 + */ + @RequiresPermissions("supplies:nucleic:export") + @Log(title = "核酸管理", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ResponseBody + public AjaxResult export(Nucleic nucleic) + { + List list = nucleicService.selectNucleicList(nucleic); + ExcelUtil util = new ExcelUtil(Nucleic.class); + return util.exportExcel(list, "核酸管理数据"); + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/supplies/VaccineController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/supplies/VaccineController.java index 65d382e..69201f4 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/supplies/VaccineController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/supplies/VaccineController.java @@ -18,6 +18,7 @@ import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.core.page.TableDataInfo; +import org.springframework.web.multipart.MultipartFile; /** * 疫苗管理Controller @@ -54,19 +55,7 @@ public class VaccineController extends BaseController return getDataTable(list); } - /** - * 导出疫苗管理列表 - */ - @RequiresPermissions("supplies:vaccine:export") - @Log(title = "疫苗管理", businessType = BusinessType.EXPORT) - @PostMapping("/export") - @ResponseBody - public AjaxResult export(Vaccine vaccine) - { - List list = vaccineService.selectVaccineList(vaccine); - ExcelUtil util = new ExcelUtil(Vaccine.class); - return util.exportExcel(list, "疫苗管理数据"); - } + /** * 新增疫苗管理 @@ -124,4 +113,39 @@ public class VaccineController extends BaseController { return toAjax(vaccineService.deleteVaccineByVaccineIds(ids)); } + /** + * 导入患者管理列表 + */ + @Log(title = "患者管理", businessType = BusinessType.IMPORT) + @RequiresPermissions("patient:patientManage:import") + @PostMapping("/importData") + @ResponseBody + public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception + { + ExcelUtil util = new ExcelUtil(Vaccine.class); + List vaccineList = util.importExcel(file.getInputStream()); + String message = vaccineService.importVaccine(vaccineList,updateSupport); + return AjaxResult.success(message); + } + @RequiresPermissions("patient:patientManage:view") + @GetMapping("/importTemplate") + @ResponseBody + public AjaxResult importTemplate() + { + ExcelUtil util = new ExcelUtil(Vaccine.class); + return util.importTemplateExcel("疫苗数据"); + } + /** + * 导出疫苗管理列表 + */ + @RequiresPermissions("supplies:vaccine:export") + @Log(title = "疫苗管理", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ResponseBody + public AjaxResult export(Vaccine vaccine) + { + List list = vaccineService.selectVaccineList(vaccine); + ExcelUtil util = new ExcelUtil(Vaccine.class); + return util.exportExcel(list, "疫苗管理数据"); + } } diff --git a/ruoyi-admin/src/main/resources/templates/check/checkManage/checkManage.html b/ruoyi-admin/src/main/resources/templates/check/checkManage/checkManage.html index aa82178..25a9a66 100644 --- a/ruoyi-admin/src/main/resources/templates/check/checkManage/checkManage.html +++ b/ruoyi-admin/src/main/resources/templates/check/checkManage/checkManage.html @@ -23,22 +23,6 @@
  • - - -
  • -
  • - - -
  • -
  • - - -
  • -
  • - - -
  • -
  • @@ -69,6 +53,9 @@ 删除 + + 导入 + 导出 @@ -91,6 +78,8 @@ updateUrl: prefix + "/edit/{id}", removeUrl: prefix + "/remove", exportUrl: prefix + "/export", + importUrl: prefix + "/importData", + importTemplateUrl: prefix + "/importTemplate", modalName: "打卡管理", columns: [{ checkbox: true @@ -159,4 +148,18 @@ }); + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/patient/patientManage/patientManage.html b/ruoyi-admin/src/main/resources/templates/patient/patientManage/patientManage.html index b691a4a..385964e 100644 --- a/ruoyi-admin/src/main/resources/templates/patient/patientManage/patientManage.html +++ b/ruoyi-admin/src/main/resources/templates/patient/patientManage/patientManage.html @@ -19,14 +19,14 @@
  • - - -
  • -
  • + + +
  • +
  • diff --git a/ruoyi-admin/src/main/resources/templates/supplies/nucleic/nucleic.html b/ruoyi-admin/src/main/resources/templates/supplies/nucleic/nucleic.html index c8ff2f2..de937a9 100644 --- a/ruoyi-admin/src/main/resources/templates/supplies/nucleic/nucleic.html +++ b/ruoyi-admin/src/main/resources/templates/supplies/nucleic/nucleic.html @@ -19,6 +19,10 @@
  • + + +
  • +
  • @@ -41,6 +45,9 @@ 删除 + + 导入 + 导出 @@ -63,6 +70,8 @@ updateUrl: prefix + "/edit/{id}", removeUrl: prefix + "/remove", exportUrl: prefix + "/export", + importUrl: prefix + "/importData", + importTemplateUrl: prefix + "/importTemplate", modalName: "核酸管理", columns: [{ checkbox: true @@ -80,6 +89,10 @@ field: 'nucleicNumber', title: '核酸数量' }, + { + field: 'nucleicIdNumber', + title: '核酸编号' + }, { field: 'nucleicDescription', title: '核酸描述' @@ -99,4 +112,18 @@ }); + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/supplies/vaccine/vaccine.html b/ruoyi-admin/src/main/resources/templates/supplies/vaccine/vaccine.html index d68555c..104dbd4 100644 --- a/ruoyi-admin/src/main/resources/templates/supplies/vaccine/vaccine.html +++ b/ruoyi-admin/src/main/resources/templates/supplies/vaccine/vaccine.html @@ -19,6 +19,10 @@
  • + + +
  • +
  • @@ -41,6 +45,9 @@ 删除 + + 导入 + 导出 @@ -63,6 +70,8 @@ updateUrl: prefix + "/edit/{id}", removeUrl: prefix + "/remove", exportUrl: prefix + "/export", + importUrl: prefix + "/importData", + importTemplateUrl: prefix + "/importTemplate", modalName: "疫苗管理", columns: [{ checkbox: true @@ -76,6 +85,10 @@ field: 'vaccineNumber', title: '疫苗数量' }, + { + field: 'vaccineIdNumber', + title: '疫苗编号' + }, { field: 'vaccineDescription', title: '疫苗描述' @@ -99,4 +112,18 @@ }); + \ No newline at end of file diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/PatientManageBaseController.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/PatientManageBaseController.java new file mode 100644 index 0000000..32b68c9 --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/PatientManageBaseController.java @@ -0,0 +1,226 @@ +package com.ruoyi.common.core.controller; + +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.AjaxResult.Type; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.core.page.PageDomain; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.core.page.TableSupport; +import com.ruoyi.common.utils.*; +import com.ruoyi.common.utils.sql.SqlUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.web.bind.WebDataBinder; +import org.springframework.web.bind.annotation.InitBinder; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +import java.beans.PropertyEditorSupport; +import java.util.Date; +import java.util.List; + +/** + * web层通用数据处理 + * + * + */ +public class PatientManageBaseController +{ + protected final Logger logger = LoggerFactory.getLogger(this.getClass()); + + /** + * 将前台传递过来的日期格式的字符串,自动转化为Date类型 + */ + @InitBinder + public void initBinder(WebDataBinder binder) + { + // Date 类型转换 + binder.registerCustomEditor(Date.class, new PropertyEditorSupport() + { + @Override + public void setAsText(String text) + { + setValue(DateUtils.parseDate(text)); + } + }); + } + + /** + * 设置请求分页数据 + */ + protected void startPage() + { + PageUtils.startPage(); + } + + /** + * 设置请求排序数据 + */ + protected void startOrderBy() + { + PageDomain pageDomain = TableSupport.buildPageRequest(); + if (StringUtils.isNotEmpty(pageDomain.getOrderBy())) + { + String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy()); + PageHelper.orderBy(orderBy); + } + } + + /** + * 清理分页的线程变量 + */ + protected void clearPage() + { + PageUtils.clearPage(); + } + + /** + * 获取request + */ + public HttpServletRequest getRequest() + { + return ServletUtils.getRequest(); + } + + /** + * 获取response + */ + public HttpServletResponse getResponse() + { + return ServletUtils.getResponse(); + } + + /** + * 获取session + */ + public HttpSession getSession() + { + return getRequest().getSession(); + } + + /** + * 响应请求分页数据 + */ + @SuppressWarnings({ "rawtypes", "unchecked" }) + protected TableDataInfo getDataTable(List list) + { + TableDataInfo rspData = new TableDataInfo(); + rspData.setCode(0); + rspData.setRows(list); + rspData.setTotal(new PageInfo(list).getTotal()); + return rspData; + } + + /** + * 响应返回结果 + * + * @param rows 影响行数 + * @return 操作结果 + */ + protected AjaxResult toAjax(int rows) + { + return rows > 0 ? success() : error(); + } + + /** + * 响应返回结果 + * + * @param result 结果 + * @return 操作结果 + */ + protected AjaxResult toAjax(boolean result) + { + return result ? success() : error(); + } + + /** + * 返回成功 + */ + public AjaxResult success() + { + return AjaxResult.success(); + } + + /** + * 返回失败消息 + */ + public AjaxResult error() + { + return AjaxResult.error(); + } + + /** + * 返回成功消息 + */ + public AjaxResult success(String message) + { + return AjaxResult.success(message); + } + + /** + * 返回成功数据 + */ + public static AjaxResult success(Object data) + { + return AjaxResult.success("操作成功", data); + } + + /** + * 返回失败消息 + */ + public AjaxResult error(String message) + { + return AjaxResult.error(message); + } + + /** + * 返回错误码消息 + */ + public AjaxResult error(Type type, String message) + { + return new AjaxResult(type, message); + } + + /** + * 页面跳转 + */ + public String redirect(String url) + { + return StringUtils.format("redirect:{}", url); + } + + /** + * 获取用户缓存信息 + */ + public SysUser getSysUser() + { + return ShiroUtils.getSysUser(); + } + + /** + * 设置用户缓存信息 + */ + public void setSysUser(SysUser user) + { + ShiroUtils.setSysUser(user); + } + + /** + * 获取登录用户id + */ + public Long getUserId() + { + return getSysUser().getUserId(); + } + + /** + * 获取登录用户名 + */ + public String getLoginName() + { + return getSysUser().getLoginName(); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/supplies/mapper/NucleicMapper.java b/ruoyi-system/src/main/java/com/ruoyi/supplies/mapper/NucleicMapper.java index 25532ea..2372ca0 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/supplies/mapper/NucleicMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/supplies/mapper/NucleicMapper.java @@ -2,6 +2,7 @@ package com.ruoyi.supplies.mapper; import java.util.List; import com.ruoyi.system.domain.Nucleic; +import com.ruoyi.system.domain.Vaccine; /** * 核酸管理Mapper接口 @@ -58,4 +59,12 @@ public interface NucleicMapper * @return 结果 */ public int deleteNucleicByNucleicIds(String[] nucleicIds); + + /** + * 通过编号查询核酸 + * + * @param nucleicIdNumber 编号 + * @return 核酸信息 + */ + public Nucleic selectNucleicByNucleicIdNumber(String nucleicIdNumber); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/supplies/mapper/VaccineMapper.java b/ruoyi-system/src/main/java/com/ruoyi/supplies/mapper/VaccineMapper.java index d1dd85e..8d1ff7b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/supplies/mapper/VaccineMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/supplies/mapper/VaccineMapper.java @@ -58,4 +58,12 @@ public interface VaccineMapper * @return 结果 */ public int deleteVaccineByVaccineIds(String[] vaccineIds); + + /** + * 通过编号查询疫苗 + * + * @param vaccineIdNumber 编号 + * @return 疫苗信息 + */ + public Vaccine selectVaccineByVaccineIdNumber(String vaccineIdNumber); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/Nucleic.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/Nucleic.java index 5ff7cc9..42f73f5 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/Nucleic.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/Nucleic.java @@ -26,6 +26,10 @@ public class Nucleic extends BaseEntity @Excel(name = "核酸数量") private String nucleicNumber; + /** 核酸编号 */ + @Excel(name = "核酸编号") + private String nucleicIdNumber; + /** 核酸描述 */ @Excel(name = "核酸描述") private String nucleicDescription; @@ -48,6 +52,14 @@ public class Nucleic extends BaseEntity { return nucleicName; } + + public String getnucleicIdNumber() { + return nucleicIdNumber; + } + + public void setnucleicIdNumber(String nucleicIdNumber) { + this.nucleicIdNumber = nucleicIdNumber; + } public void setnucleicNumber(String nucleicNumber) { this.nucleicNumber = nucleicNumber; @@ -73,6 +85,7 @@ public class Nucleic extends BaseEntity .append("nucleicId", getnucleicId()) .append("nucleicName", getnucleicName()) .append("nucleicNumber", getnucleicNumber()) + .append("nucleicIdNumber", getnucleicIdNumber()) .append("nucleicDescription", getnucleicDescription()) .toString(); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/Vaccine.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/Vaccine.java index e84811a..f8a58c2 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/Vaccine.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/Vaccine.java @@ -22,6 +22,10 @@ public class Vaccine extends BaseEntity @Excel(name = "疫苗数量") private String vaccineNumber; + /** 疫苗编号 */ + @Excel(name = "疫苗编号") + private String vaccineIdNumber; + /** 疫苗描述 */ @Excel(name = "疫苗描述") private String vaccineDescription; @@ -67,11 +71,20 @@ public class Vaccine extends BaseEntity return vaccineName; } + public String getVaccineIdNumber() { + return vaccineIdNumber; + } + + public void setVaccineIdNumber(String vaccineIdNumber) { + this.vaccineIdNumber = vaccineIdNumber; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) .append("vaccineId", getVaccineId()) .append("vaccineNumber", getVaccineNumber()) + .append("vaccineIdNumber", getVaccineIdNumber()) .append("vaccineDescription", getVaccineDescription()) .append("vaccineName", getVaccineName()) .toString(); diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/CheckManageMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/CheckManageMapper.java index b69759f..40ed2a6 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/CheckManageMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/CheckManageMapper.java @@ -58,4 +58,12 @@ public interface CheckManageMapper * @return 结果 */ public int deleteCheckManageByCheckManageIds(String[] checkManageIds); + + /** + * 通过身份证查询患者 + * + * @param patientIdCard 身份证 + * @return 患者信息 + */ + public CheckManage selectCheckByPatientIdCard(String patientIdCard); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ICheckManageService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ICheckManageService.java index 1feff3b..40260e9 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ICheckManageService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ICheckManageService.java @@ -58,4 +58,12 @@ public interface ICheckManageService * @return 结果 */ public int deleteCheckManageByCheckManageId(Long checkManageId); + /** + * 导入打卡数据 + * + * @param checkList 患者数据列表 + * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据 + * @return 结果 + */ + public String importCheck(List checkList, Boolean isUpdateSupport); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/INucleicService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/INucleicService.java index 81bf47f..ae3dca6 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/INucleicService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/INucleicService.java @@ -58,4 +58,13 @@ public interface INucleicService * @return 结果 */ public int deleteNucleicByNucleicId(Long nucleicId); + + /** + * 导入核酸数据 + * + * @param nucleicList 患者数据列表 + * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据 + * @return 结果 + */ + public String importNucleic(List nucleicList, Boolean isUpdateSupport); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/IVaccineService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/IVaccineService.java index c8c1450..4fffee1 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/IVaccineService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/IVaccineService.java @@ -58,4 +58,13 @@ public interface IVaccineService * @return 结果 */ public int deleteVaccineByVaccineId(Long vaccineId); + + /** + * 导入疫苗数据 + * + * @param vaccineList 患者数据列表 + * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据 + * @return 结果 + */ + public String importVaccine(List vaccineList, Boolean isUpdateSupport); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CheckManageServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CheckManageServiceImpl.java index a62d064..dedd996 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CheckManageServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CheckManageServiceImpl.java @@ -1,6 +1,12 @@ package com.ruoyi.system.service.impl; import java.util.List; + +import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.bean.BeanValidators; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.system.mapper.CheckManageMapper; @@ -8,6 +14,8 @@ import com.ruoyi.system.domain.CheckManage; import com.ruoyi.system.service.ICheckManageService; import com.ruoyi.common.core.text.Convert; +import javax.validation.Validator; + /** * 打卡管理Service业务层处理 * @@ -17,9 +25,11 @@ import com.ruoyi.common.core.text.Convert; @Service public class CheckManageServiceImpl implements ICheckManageService { + private static final Logger log = LoggerFactory.getLogger(PatientManageServiceImpl.class); @Autowired private CheckManageMapper checkManageMapper; - + @Autowired + protected Validator validator; /** * 查询打卡管理 * @@ -91,4 +101,61 @@ public class CheckManageServiceImpl implements ICheckManageService { return checkManageMapper.deleteCheckManageByCheckManageId(checkManageId); } + + @Override + public String importCheck(List checkList, Boolean isUpdateSupport) { + if (StringUtils.isNull(checkList) || checkList.size() == 0) + { + throw new ServiceException("导入打卡数据不能为空!"); + } + int successNum = 0; + int failureNum = 0; + StringBuilder successMsg = new StringBuilder(); + StringBuilder failureMsg = new StringBuilder(); + for (CheckManage checkManage : checkList) + { + try + { + // 验证是否存在这个患者 + CheckManage p = checkManageMapper.selectCheckByPatientIdCard(checkManage.getPatientIdCard()); + if (StringUtils.isNull(p)) + { + BeanValidators.validateWithException(validator, checkManage); + this.insertCheckManage(checkManage); + successNum++; + successMsg.append("
    " + successNum + "、身份证: " + checkManage.getPatientIdCard() + " 导入成功"); + } + else if (isUpdateSupport) + { + BeanValidators.validateWithException(validator, checkManage); + checkManage.setCheckManageId(p.getCheckManageId()); + this.updateCheckManage(checkManage); + successNum++; + successMsg.append("
    " + successNum + "、身份证: " + checkManage.getPatientIdCard() + " 的打卡信息更新成功"); + } + else + { + failureNum++; + failureMsg.append("
    " + failureNum + "、身份证 " + checkManage.getPatientIdCard() + " 已存在"); + } + } + catch (Exception e) + { + failureNum++; + String msg = "
    " + failureNum + "、身份证 " + checkManage.getPatientIdCard() + " 导入失败:"; + failureMsg.append(msg + e.getMessage()); + log.error(msg, e); + } + } + if (failureNum > 0) + { + failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); + throw new ServiceException(failureMsg.toString()); + } + else + { + successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:"); + } + return successMsg.toString(); + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/NucleicServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/NucleicServiceImpl.java index 941340a..85a8fa6 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/NucleicServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/NucleicServiceImpl.java @@ -1,6 +1,12 @@ package com.ruoyi.system.service.impl; import java.util.List; + +import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.bean.BeanValidators; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.supplies.mapper.NucleicMapper; @@ -8,6 +14,8 @@ import com.ruoyi.system.domain.Nucleic; import com.ruoyi.system.service.INucleicService; import com.ruoyi.common.core.text.Convert; +import javax.validation.Validator; + /** * 核酸管理Service业务层处理 * @@ -17,6 +25,9 @@ import com.ruoyi.common.core.text.Convert; @Service public class NucleicServiceImpl implements INucleicService { + private static final Logger log = LoggerFactory.getLogger(PatientManageServiceImpl.class); + @Autowired + protected Validator validator; @Autowired private NucleicMapper nucleicMapper; @@ -91,4 +102,61 @@ public class NucleicServiceImpl implements INucleicService { return nucleicMapper.deleteNucleicByNucleicId(nucleicId); } + + @Override + public String importNucleic(List nucleicList, Boolean isUpdateSupport) { + if (StringUtils.isNull(nucleicList) || nucleicList.size() == 0) + { + throw new ServiceException("导入患者数据不能为空!"); + } + int successNum = 0; + int failureNum = 0; + StringBuilder successMsg = new StringBuilder(); + StringBuilder failureMsg = new StringBuilder(); + for (Nucleic nucleic : nucleicList) + { + try + { + // 验证是否存在这个疫苗 + Nucleic p = nucleicMapper.selectNucleicByNucleicIdNumber(nucleic.getnucleicIdNumber()); + if (StringUtils.isNull(p)) + { + BeanValidators.validateWithException(validator, nucleic); + this.insertNucleic(nucleic); + successNum++; + successMsg.append("
    " + successNum + "、身份证: " + nucleic.getnucleicIdNumber() + " 导入成功"); + } + else if (isUpdateSupport) + { + BeanValidators.validateWithException(validator, nucleic); + nucleic.setnucleicId(p.getnucleicId()); + this.updateNucleic(nucleic); + successNum++; + successMsg.append("
    " + successNum + "、核酸编号: " + nucleic.getnucleicIdNumber() + " 的信息更新成功"); + } + else + { + failureNum++; + failureMsg.append("
    " + failureNum + "、核酸编号: " + nucleic.getnucleicIdNumber() + " 已存在"); + } + } + catch (Exception e) + { + failureNum++; + String msg = "
    " + failureNum + "、核酸编号 " + nucleic.getnucleicIdNumber() + " 导入失败:"; + failureMsg.append(msg + e.getMessage()); + log.error(msg, e); + } + } + if (failureNum > 0) + { + failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); + throw new ServiceException(failureMsg.toString()); + } + else + { + successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:"); + } + return successMsg.toString(); + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/PatientManageServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/PatientManageServiceImpl.java index 2fc5cc7..e9f8fa1 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/PatientManageServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/PatientManageServiceImpl.java @@ -165,7 +165,7 @@ public class PatientManageServiceImpl implements IPatientManageService catch (Exception e) { failureNum++; - String msg = "
    " + failureNum + "、账号 " + patientManage.getPatientIdCard() + " 导入失败:"; + String msg = "
    " + failureNum + "、身份证 " + patientManage.getPatientIdCard() + " 导入失败:"; failureMsg.append(msg + e.getMessage()); log.error(msg, e); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VaccineServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VaccineServiceImpl.java index dc9f28e..477c070 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VaccineServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VaccineServiceImpl.java @@ -1,6 +1,12 @@ package com.ruoyi.system.service.impl; import java.util.List; + +import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.bean.BeanValidators; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.supplies.mapper.VaccineMapper; @@ -8,6 +14,8 @@ import com.ruoyi.system.domain.Vaccine; import com.ruoyi.system.service.IVaccineService; import com.ruoyi.common.core.text.Convert; +import javax.validation.Validator; + /** * 疫苗管理Service业务层处理 * @@ -17,6 +25,9 @@ import com.ruoyi.common.core.text.Convert; @Service public class VaccineServiceImpl implements IVaccineService { + private static final Logger log = LoggerFactory.getLogger(PatientManageServiceImpl.class); + @Autowired + protected Validator validator; @Autowired private VaccineMapper vaccineMapper; @@ -91,4 +102,61 @@ public class VaccineServiceImpl implements IVaccineService { return vaccineMapper.deleteVaccineByVaccineId(vaccineId); } + + @Override + public String importVaccine(List vaccineList, Boolean isUpdateSupport) { + if (StringUtils.isNull(vaccineList) || vaccineList.size() == 0) + { + throw new ServiceException("导入患者数据不能为空!"); + } + int successNum = 0; + int failureNum = 0; + StringBuilder successMsg = new StringBuilder(); + StringBuilder failureMsg = new StringBuilder(); + for (Vaccine vaccine : vaccineList) + { + try + { + // 验证是否存在这个疫苗 + Vaccine p = vaccineMapper.selectVaccineByVaccineIdNumber(vaccine.getVaccineIdNumber()); + if (StringUtils.isNull(p)) + { + BeanValidators.validateWithException(validator, vaccine); + this.insertVaccine(vaccine); + successNum++; + successMsg.append("
    " + successNum + "、身份证: " + vaccine.getVaccineIdNumber() + " 导入成功"); + } + else if (isUpdateSupport) + { + BeanValidators.validateWithException(validator, vaccine); + vaccine.setVaccineId(p.getVaccineId()); + this.updateVaccine(vaccine); + successNum++; + successMsg.append("
    " + successNum + "、核酸编号: " + vaccine.getVaccineIdNumber() + " 的信息更新成功"); + } + else + { + failureNum++; + failureMsg.append("
    " + failureNum + "、核酸编号: " + vaccine.getVaccineIdNumber() + " 已存在"); + } + } + catch (Exception e) + { + failureNum++; + String msg = "
    " + failureNum + "、核酸编号 " + vaccine.getVaccineIdNumber() + " 导入失败:"; + failureMsg.append(msg + e.getMessage()); + log.error(msg, e); + } + } + if (failureNum > 0) + { + failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); + throw new ServiceException(failureMsg.toString()); + } + else + { + successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:"); + } + return successMsg.toString(); + } } diff --git a/ruoyi-system/src/main/resources/mapper/CheckManageMapper.xml b/ruoyi-system/src/main/resources/mapper/CheckManageMapper.xml index 7839b74..b48c93e 100644 --- a/ruoyi-system/src/main/resources/mapper/CheckManageMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/CheckManageMapper.xml @@ -7,7 +7,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - @@ -20,14 +19,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select check_manage_id, check_name, check_age, check_sex, patient_id_card, is_diagnosed, is_cure, is_touch, is_dead, description, check_postition, temperature from check_manage + select check_manage_id, check_name, check_sex, patient_id_card, is_diagnosed, is_cure, is_touch, is_dead, description, check_postition, temperature from check_manage + + where patient_id_card = #{patientIdCard} + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/supplies/NucleicMapper.xml b/ruoyi-system/src/main/resources/mapper/supplies/NucleicMapper.xml index fcc48a2..db5f04f 100644 --- a/ruoyi-system/src/main/resources/mapper/supplies/NucleicMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/supplies/NucleicMapper.xml @@ -8,11 +8,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + - select nucleic_id, nucleic_name, nucleic_number, nucleic_description from nucleic + select nucleic_id, nucleic_name, nucleic_number,nucleic_id_number, nucleic_description from nucleic @@ -34,11 +36,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" nucleic_name, nucleic_number, + nucleic_id_number, nucleic_description, #{nucleicName}, #{nucleicNumber}, + #{nucleicIdNumber}, #{nucleicDescription}, @@ -48,6 +52,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" nucleic_name = #{nucleicName}, nucleic_number = #{nucleicNumber}, + nucleic_id_number = #{nucleicIdNumber} nucleic_description = #{nucleicDescription}, where nucleic_id = #{nucleicId} @@ -63,5 +68,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{nucleicId} - + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/supplies/VaccineMapper.xml b/ruoyi-system/src/main/resources/mapper/supplies/VaccineMapper.xml index 52f4b0c..4e51526 100644 --- a/ruoyi-system/src/main/resources/mapper/supplies/VaccineMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/supplies/VaccineMapper.xml @@ -7,6 +7,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -19,6 +20,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and vaccine_number = #{vaccineNumber} + and vaccine_id_number = #{vaccineIdNumber} and vaccine_description = #{vaccineDescription} and vaccine_name like concat('%', #{vaccineName}, '%') @@ -33,11 +35,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" insert into vaccine vaccine_number, + vaccine_id_number, vaccine_description, vaccine_name, #{vaccineNumber}, + #{vaccineIdNumber}, #{vaccineDescription}, #{vaccineName}, @@ -47,6 +51,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update vaccine vaccine_number = #{vaccineNumber}, + + vaccine_id_number = #{vaccineIdNumber} vaccine_description = #{vaccineDescription}, vaccine_name = #{vaccineName}, @@ -63,5 +69,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{vaccineId} - + \ No newline at end of file