From 4d5bc05f3537e19ee1ae813efa633031058137d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E4=BD=B3=E7=82=9C?= <1503983799@qq.com> Date: Fri, 7 Mar 2025 09:09:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=93=E5=8D=B0=E5=AF=BC=E6=A3=80=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CheckUpResultController.java | 9 +++ .../admin/checkupresult/vo/PrintRespVO.java | 37 ++++++++++ .../InspectPatientitemsService.java | 4 +- .../InspectPatientitemsServiceImpl.java | 71 +++++++++++++++++++ 4 files changed, 120 insertions(+), 1 deletion(-) create mode 100644 yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/controller/admin/checkupresult/vo/PrintRespVO.java diff --git a/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/controller/admin/checkupresult/CheckUpResultController.java b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/controller/admin/checkupresult/CheckUpResultController.java index 8d9e232..1fda19e 100644 --- a/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/controller/admin/checkupresult/CheckUpResultController.java +++ b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/controller/admin/checkupresult/CheckUpResultController.java @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.inspect.controller.admin.checkupresult; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.inspect.controller.admin.checkupresult.vo.PrintRespVO; import cn.iocoder.yudao.module.inspect.controller.admin.inspectpatient.vo.InspectPatientRespVO; import cn.iocoder.yudao.module.inspect.controller.admin.inspectpatient.vo.InspectPatientSaveReqVO; import cn.iocoder.yudao.module.inspect.controller.admin.inspectpatientitems.vo.InspectPatientitemsRespVO; @@ -91,4 +92,12 @@ public class CheckUpResultController { return success(existUncheck); } + @GetMapping("/printInfoOfMedicalSn") + @Operation(summary = "打印模板的数据") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + public CommonResult printInfoOfMedicalSn(@RequestParam("medicalSn") String medicalSn) { + PrintRespVO printRespVO = patientitemsService.printItemsOfMedicalSn(medicalSn); + return success(printRespVO); + } + } diff --git a/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/controller/admin/checkupresult/vo/PrintRespVO.java b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/controller/admin/checkupresult/vo/PrintRespVO.java new file mode 100644 index 0000000..cfbf554 --- /dev/null +++ b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/controller/admin/checkupresult/vo/PrintRespVO.java @@ -0,0 +1,37 @@ +package cn.iocoder.yudao.module.inspect.controller.admin.checkupresult.vo; + +import cn.iocoder.yudao.module.inspect.dal.dataobject.inspectpatientitems.InspectPatientitemsDO; +import lombok.Data; + +import java.util.List; + +@Data +public class PrintRespVO { + + private String pName; + + private String gender; + + private String age; + + private String phone; + + private String medicalSn; + + private String address; + + private String mealFront; + + private String mealAfter; + + private String mealOther; + + private String barcode; + + private String qrcode; + + private List table; + + + +} diff --git a/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatientitems/InspectPatientitemsService.java b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatientitems/InspectPatientitemsService.java index 1221623..b65edaa 100644 --- a/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatientitems/InspectPatientitemsService.java +++ b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatientitems/InspectPatientitemsService.java @@ -1,6 +1,8 @@ package cn.iocoder.yudao.module.inspect.service.inspectpatientitems; import java.util.*; + +import cn.iocoder.yudao.module.inspect.controller.admin.checkupresult.vo.PrintRespVO; import cn.iocoder.yudao.module.inspect.controller.admin.inspectpatientitems.vo.*; import cn.iocoder.yudao.module.inspect.dal.dataobject.inspectpatient.InspectPatientDO; import cn.iocoder.yudao.module.inspect.dal.dataobject.inspectpatientitems.InspectPatientitemsDO; @@ -81,5 +83,5 @@ public interface InspectPatientitemsService { List groupNameItemsOfMedicalSn( String medicalSn ); - + PrintRespVO printItemsOfMedicalSn(String medicalSn); } \ No newline at end of file diff --git a/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatientitems/InspectPatientitemsServiceImpl.java b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatientitems/InspectPatientitemsServiceImpl.java index dd13f7a..99b8f81 100644 --- a/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatientitems/InspectPatientitemsServiceImpl.java +++ b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatientitems/InspectPatientitemsServiceImpl.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.inspect.service.inspectpatientitems; +import cn.iocoder.yudao.module.inspect.controller.admin.checkupresult.vo.PrintRespVO; import cn.iocoder.yudao.module.inspect.dal.dataobject.inspectpatient.InspectPatientDO; import cn.iocoder.yudao.module.inspect.dal.mysql.inspectpatient.InspectPatientMapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -10,6 +11,8 @@ import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.*; import cn.iocoder.yudao.module.inspect.controller.admin.inspectpatientitems.vo.*; import cn.iocoder.yudao.module.inspect.dal.dataobject.inspectpatientitems.InspectPatientitemsDO; @@ -157,4 +160,72 @@ public class InspectPatientitemsServiceImpl implements InspectPatientitemsServic return patientitemsMapper.groupNameItems(medicalSn); } + @Override + public PrintRespVO printItemsOfMedicalSn(String medicalSn) { + PrintRespVO printRespVO = new PrintRespVO(); + //获取患者信息 + LambdaQueryWrapper lambdaQuery = new LambdaQueryWrapper<>(); + lambdaQuery.eq(InspectPatientDO::getMedicalSn, medicalSn); + InspectPatientDO inspectPatientDO = patientMapper.selectOne(lambdaQuery); + printRespVO.setMedicalSn(inspectPatientDO.getMedicalSn()); + printRespVO.setPName(inspectPatientDO.getPName()); + printRespVO.setGender(inspectPatientDO.getGender()); + printRespVO.setPhone(inspectPatientDO.getPhoneNum()); + //没有校验身份证是否正确 + if (inspectPatientDO.getCardId()!=null && !Objects.equals(inspectPatientDO.getCardId(), "")){ + String age = String.valueOf(getAgeByIdCard(inspectPatientDO.getCardId())); + printRespVO.setAge(age); + } + // 地址 + + //获取检查项目 + LambdaQueryWrapper lambdaQuery2 = new LambdaQueryWrapper<>(); + lambdaQuery2.eq(InspectPatientitemsDO::getMedicalSn, medicalSn); + List list = patientitemsMapper.selectList(lambdaQuery2); + StringBuilder mealFront = new StringBuilder(); + StringBuilder mealAfter = new StringBuilder(); + StringBuilder mealOther = new StringBuilder(); + for (InspectPatientitemsDO item : list) { + if (Objects.equals(item.getMealfrontorafter(), "") || item.getMealfrontorafter()==null){ + mealOther.append("【").append(item.getItemName()).append("】"); + } else if (item.getMealfrontorafter().equals("餐前")) { + mealFront.append("【").append(item.getItemName()).append("】"); + } else if (item.getMealfrontorafter().equals("餐后")) { + mealAfter.append("【").append(item.getItemName()).append("】"); + } + } + printRespVO.setMealAfter(mealAfter.toString()); + printRespVO.setMealFront(mealFront.toString()); + printRespVO.setMealOther(mealOther.toString()); + + printRespVO.setTable(list); + + printRespVO.setBarcode("111222333"); + printRespVO.setQrcode("333444555"); + + return printRespVO; + } + + public int getAgeByIdCard(String idCard) { + String birthDateStr = idCard.substring(6, 14); // 身份证号码的7到14位为出生日期 + SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd"); + Date birthDate; + try { + birthDate = formatter.parse(birthDateStr); + } catch (ParseException e) { + e.printStackTrace(); + return -1; // 如果解析出生日期失败,返回-1 + } + + Calendar birth = Calendar.getInstance(); + birth.setTime(birthDate); + Calendar today = Calendar.getInstance(); + + int age = today.get(Calendar.YEAR) - birth.get(Calendar.YEAR); + if (today.get(Calendar.DAY_OF_YEAR) < birth.get(Calendar.DAY_OF_YEAR)) { + age -= 1; // 如果当前日期在生日之前,年龄减一 + } + return age; + } + } \ No newline at end of file