From f4f38d9777a706686a5260938eaad01336c7bb90 Mon Sep 17 00:00:00 2001 From: ZhangYingJie Date: Tue, 22 Apr 2025 14:59:36 +0800 Subject: [PATCH] dev --- .../entity/social/SocialChronicDisease.java | 55 +++++ .../server/entity/social/SocialDiagnose.java | 66 ++++++ .../social/SocialIcpcDoctorDiagnose.java | 52 +++++ .../SocialIcpcExaminationTreatment.java | 58 ++++++ .../entity/social/SocialIcpcSelfPaying.java | 53 +++++ .../server/entity/social/SocialItem.java | 56 +++++ .../social/SocialChronicDiseaseMapper.java | 7 + .../mapper/social/SocialDiagnoseMapper.java | 7 + .../SocialIcpcDoctorDiagnoseMapper.java | 7 + .../SocialIcpcExaminationTreatmentMapper.java | 7 + .../social/SocialIcpcSelfPayingMapper.java | 7 + .../mapper/social/SocialItemMapper.java | 7 + .../social/SocialChronicDiseaseService.java | 43 ++++ .../service/social/SocialDiagnoseService.java | 52 +++++ .../social/SocialDirectoryService.java | 197 +++++++----------- .../social/SocialDirectoryVersionService.java | 22 ++ .../SocialIcpcDoctorDiagnoseService.java | 50 +++++ ...SocialIcpcExaminationTreatmentService.java | 52 +++++ .../social/SocialIcpcSelfPayingService.java | 50 +++++ .../service/social/SocialItemService.java | 65 ++++++ src/main/resources/doc_title/1307.json | 20 +- .../xml/SocialChronicDiseaseMapper.xml | 5 + src/main/resources/xml/SocialDiagnose.xml | 5 + .../xml/SocialIcpcDoctorDiagnoseMapper.xml | 5 + .../SocialIcpcExaminationTreatmentMapper.xml | 5 + .../xml/SocialIcpcSelfPayingMapper.xml | 5 + src/main/resources/xml/SocialItemMapper.xml | 5 + .../clinic/server/ServerApplicationTests.java | 4 +- 28 files changed, 835 insertions(+), 132 deletions(-) create mode 100644 src/main/java/com/syjiaer/clinic/server/entity/social/SocialChronicDisease.java create mode 100644 src/main/java/com/syjiaer/clinic/server/entity/social/SocialDiagnose.java create mode 100644 src/main/java/com/syjiaer/clinic/server/entity/social/SocialIcpcDoctorDiagnose.java create mode 100644 src/main/java/com/syjiaer/clinic/server/entity/social/SocialIcpcExaminationTreatment.java create mode 100644 src/main/java/com/syjiaer/clinic/server/entity/social/SocialIcpcSelfPaying.java create mode 100644 src/main/java/com/syjiaer/clinic/server/entity/social/SocialItem.java create mode 100644 src/main/java/com/syjiaer/clinic/server/mapper/social/SocialChronicDiseaseMapper.java create mode 100644 src/main/java/com/syjiaer/clinic/server/mapper/social/SocialDiagnoseMapper.java create mode 100644 src/main/java/com/syjiaer/clinic/server/mapper/social/SocialIcpcDoctorDiagnoseMapper.java create mode 100644 src/main/java/com/syjiaer/clinic/server/mapper/social/SocialIcpcExaminationTreatmentMapper.java create mode 100644 src/main/java/com/syjiaer/clinic/server/mapper/social/SocialIcpcSelfPayingMapper.java create mode 100644 src/main/java/com/syjiaer/clinic/server/mapper/social/SocialItemMapper.java create mode 100644 src/main/java/com/syjiaer/clinic/server/service/social/SocialChronicDiseaseService.java create mode 100644 src/main/java/com/syjiaer/clinic/server/service/social/SocialDiagnoseService.java create mode 100644 src/main/java/com/syjiaer/clinic/server/service/social/SocialIcpcDoctorDiagnoseService.java create mode 100644 src/main/java/com/syjiaer/clinic/server/service/social/SocialIcpcExaminationTreatmentService.java create mode 100644 src/main/java/com/syjiaer/clinic/server/service/social/SocialIcpcSelfPayingService.java create mode 100644 src/main/java/com/syjiaer/clinic/server/service/social/SocialItemService.java create mode 100644 src/main/resources/xml/SocialChronicDiseaseMapper.xml create mode 100644 src/main/resources/xml/SocialDiagnose.xml create mode 100644 src/main/resources/xml/SocialIcpcDoctorDiagnoseMapper.xml create mode 100644 src/main/resources/xml/SocialIcpcExaminationTreatmentMapper.xml create mode 100644 src/main/resources/xml/SocialIcpcSelfPayingMapper.xml create mode 100644 src/main/resources/xml/SocialItemMapper.xml diff --git a/src/main/java/com/syjiaer/clinic/server/entity/social/SocialChronicDisease.java b/src/main/java/com/syjiaer/clinic/server/entity/social/SocialChronicDisease.java new file mode 100644 index 0000000..9d004e3 --- /dev/null +++ b/src/main/java/com/syjiaer/clinic/server/entity/social/SocialChronicDisease.java @@ -0,0 +1,55 @@ +package com.syjiaer.clinic.server.entity.social; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 医保目录 + *

+ * + * @author NiuZiYuan + * @since 2025-04-02 + */ +@Getter +@Setter +@ToString +@Accessors(chain = true) +@TableName("social_chronic_disease") +@ApiModel(value = "SocialChronicDisease对象", description = "门诊慢特病种目录") +public class SocialChronicDisease implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("门诊慢特病种名称") + private String name; + + @ApiModelProperty("门诊慢特病种大类名称") + private String chronicDiseasesName; + + @ApiModelProperty("医保目录编码") + private String socialCode; + + @ApiModelProperty("数据创建时间") + private LocalDateTime createDatetime; + + @ApiModelProperty("数据修改时间") + private LocalDateTime updateDatetime; + + @ApiModelProperty("版本名称") + private String versionName; +} diff --git a/src/main/java/com/syjiaer/clinic/server/entity/social/SocialDiagnose.java b/src/main/java/com/syjiaer/clinic/server/entity/social/SocialDiagnose.java new file mode 100644 index 0000000..b9b390f --- /dev/null +++ b/src/main/java/com/syjiaer/clinic/server/entity/social/SocialDiagnose.java @@ -0,0 +1,66 @@ +package com.syjiaer.clinic.server.entity.social; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 医保目录 + *

+ * + * @author NiuZiYuan + * @since 2025-04-02 + */ +@Getter +@Setter +@ToString +@Accessors(chain = true) +@TableName("social_diagnose") +@ApiModel(value = "SocialIDiagnose对象", description = "医疗服务项目1305,1321") +public class SocialDiagnose implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("医保目录编码") + private String socialCode; + + @ApiModelProperty("数据创建时间") + private LocalDateTime createDatetime; + + @ApiModelProperty("数据修改时间") + private LocalDateTime updateDatetime; + + @ApiModelProperty("版本名称") + private String versionName; + + @ApiModelProperty("章名称") + private String chapterName; + + @ApiModelProperty("节名称") + private String secondaryName; + + @ApiModelProperty("类目名称") + private String categoryName; + + @ApiModelProperty("亚目名称") + private String suborderName; + + @ApiModelProperty("诊断名称") + private String diagnosisName; + +} diff --git a/src/main/java/com/syjiaer/clinic/server/entity/social/SocialIcpcDoctorDiagnose.java b/src/main/java/com/syjiaer/clinic/server/entity/social/SocialIcpcDoctorDiagnose.java new file mode 100644 index 0000000..f5b9626 --- /dev/null +++ b/src/main/java/com/syjiaer/clinic/server/entity/social/SocialIcpcDoctorDiagnose.java @@ -0,0 +1,52 @@ +package com.syjiaer.clinic.server.entity.social; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 医保目录 + *

+ * + * @author NiuZiYuan + * @since 2025-04-02 + */ +@Getter +@Setter +@ToString +@Accessors(chain = true) +@TableName("social_icpc_doctor_diagnose") +@ApiModel(value = "SocialChronicDisease对象", description = "门诊慢特病种目录") +public class SocialIcpcDoctorDiagnose implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("门诊诊疗名称") + private String name; + + @ApiModelProperty("医保目录编码") + private String socialCode; + + @ApiModelProperty("数据创建时间") + private LocalDateTime createDatetime; + + @ApiModelProperty("数据修改时间") + private LocalDateTime updateDatetime; + + @ApiModelProperty("版本名称") + private String versionName; +} diff --git a/src/main/java/com/syjiaer/clinic/server/entity/social/SocialIcpcExaminationTreatment.java b/src/main/java/com/syjiaer/clinic/server/entity/social/SocialIcpcExaminationTreatment.java new file mode 100644 index 0000000..3b5fdeb --- /dev/null +++ b/src/main/java/com/syjiaer/clinic/server/entity/social/SocialIcpcExaminationTreatment.java @@ -0,0 +1,58 @@ +package com.syjiaer.clinic.server.entity.social; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 医保目录 + *

+ * + * @author NiuZiYuan + * @since 2025-04-02 + */ +@Getter +@Setter +@ToString +@Accessors(chain = true) +@TableName("social_icpc_examination_treatment") +@ApiModel(value = "SocialChronicDisease对象", description = "门诊慢特病种目录") +public class SocialIcpcExaminationTreatment implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("门诊诊疗名称") + private String name; + + @ApiModelProperty("医保目录编码") + private String socialCode; + + @ApiModelProperty("数据创建时间") + private LocalDateTime createDatetime; + + @ApiModelProperty("数据修改时间") + private LocalDateTime updateDatetime; + + @ApiModelProperty("版本名称") + private String versionName; + + @ApiModelProperty("icpc编码") + private String icpcCode; + + @ApiModelProperty("icpc编码应用标识") + private String icpcCodeFlag; +} diff --git a/src/main/java/com/syjiaer/clinic/server/entity/social/SocialIcpcSelfPaying.java b/src/main/java/com/syjiaer/clinic/server/entity/social/SocialIcpcSelfPaying.java new file mode 100644 index 0000000..14af385 --- /dev/null +++ b/src/main/java/com/syjiaer/clinic/server/entity/social/SocialIcpcSelfPaying.java @@ -0,0 +1,53 @@ +package com.syjiaer.clinic.server.entity.social; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 医保目录 + *

+ * + * @author NiuZiYuan + * @since 2025-04-02 + */ +@Getter +@Setter +@ToString +@Accessors(chain = true) +@TableName("social_icpc_self_paying") +@ApiModel(value = "SocialIcpcSelfPaying对象", description = "自费项目目录") +public class SocialIcpcSelfPaying implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("自费项目名称") + private String name; + + @ApiModelProperty("自费项目编码") + private String socialCode; + + @ApiModelProperty("数据创建时间") + private LocalDateTime createDatetime; + + @ApiModelProperty("数据修改时间") + private LocalDateTime updateDatetime; + + @ApiModelProperty("版本名称") + private String versionName; + +} diff --git a/src/main/java/com/syjiaer/clinic/server/entity/social/SocialItem.java b/src/main/java/com/syjiaer/clinic/server/entity/social/SocialItem.java new file mode 100644 index 0000000..2f7e0de --- /dev/null +++ b/src/main/java/com/syjiaer/clinic/server/entity/social/SocialItem.java @@ -0,0 +1,56 @@ +package com.syjiaer.clinic.server.entity.social; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 医保目录 + *

+ * + * @author NiuZiYuan + * @since 2025-04-02 + */ +@Getter +@Setter +@ToString +@Accessors(chain = true) +@TableName("social_item") +@ApiModel(value = "SocialItem对象", description = "医保服务项目目录") +public class SocialItem implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("名称") + private String name; + + @ApiModelProperty("医保目录编码") + private String socialCode; + + @ApiModelProperty("单位") + private String unit; + + @ApiModelProperty("数据创建时间") + private LocalDateTime createDatetime; + + @ApiModelProperty("数据修改时间") + private LocalDateTime updateDatetime; + + @ApiModelProperty("版本名称") + private String versionName; +} diff --git a/src/main/java/com/syjiaer/clinic/server/mapper/social/SocialChronicDiseaseMapper.java b/src/main/java/com/syjiaer/clinic/server/mapper/social/SocialChronicDiseaseMapper.java new file mode 100644 index 0000000..f938912 --- /dev/null +++ b/src/main/java/com/syjiaer/clinic/server/mapper/social/SocialChronicDiseaseMapper.java @@ -0,0 +1,7 @@ +package com.syjiaer.clinic.server.mapper.social; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.syjiaer.clinic.server.entity.social.SocialChronicDisease; + +public interface SocialChronicDiseaseMapper extends BaseMapper { +} diff --git a/src/main/java/com/syjiaer/clinic/server/mapper/social/SocialDiagnoseMapper.java b/src/main/java/com/syjiaer/clinic/server/mapper/social/SocialDiagnoseMapper.java new file mode 100644 index 0000000..38bf47c --- /dev/null +++ b/src/main/java/com/syjiaer/clinic/server/mapper/social/SocialDiagnoseMapper.java @@ -0,0 +1,7 @@ +package com.syjiaer.clinic.server.mapper.social; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.syjiaer.clinic.server.entity.social.SocialDiagnose; + +public interface SocialDiagnoseMapper extends BaseMapper { +} diff --git a/src/main/java/com/syjiaer/clinic/server/mapper/social/SocialIcpcDoctorDiagnoseMapper.java b/src/main/java/com/syjiaer/clinic/server/mapper/social/SocialIcpcDoctorDiagnoseMapper.java new file mode 100644 index 0000000..64c0b38 --- /dev/null +++ b/src/main/java/com/syjiaer/clinic/server/mapper/social/SocialIcpcDoctorDiagnoseMapper.java @@ -0,0 +1,7 @@ +package com.syjiaer.clinic.server.mapper.social; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.syjiaer.clinic.server.entity.social.SocialIcpcDoctorDiagnose; + +public interface SocialIcpcDoctorDiagnoseMapper extends BaseMapper { +} diff --git a/src/main/java/com/syjiaer/clinic/server/mapper/social/SocialIcpcExaminationTreatmentMapper.java b/src/main/java/com/syjiaer/clinic/server/mapper/social/SocialIcpcExaminationTreatmentMapper.java new file mode 100644 index 0000000..52d34b0 --- /dev/null +++ b/src/main/java/com/syjiaer/clinic/server/mapper/social/SocialIcpcExaminationTreatmentMapper.java @@ -0,0 +1,7 @@ +package com.syjiaer.clinic.server.mapper.social; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.syjiaer.clinic.server.entity.social.SocialIcpcExaminationTreatment; + +public interface SocialIcpcExaminationTreatmentMapper extends BaseMapper { +} diff --git a/src/main/java/com/syjiaer/clinic/server/mapper/social/SocialIcpcSelfPayingMapper.java b/src/main/java/com/syjiaer/clinic/server/mapper/social/SocialIcpcSelfPayingMapper.java new file mode 100644 index 0000000..24a3812 --- /dev/null +++ b/src/main/java/com/syjiaer/clinic/server/mapper/social/SocialIcpcSelfPayingMapper.java @@ -0,0 +1,7 @@ +package com.syjiaer.clinic.server.mapper.social; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.syjiaer.clinic.server.entity.social.SocialIcpcSelfPaying; + +public interface SocialIcpcSelfPayingMapper extends BaseMapper { +} diff --git a/src/main/java/com/syjiaer/clinic/server/mapper/social/SocialItemMapper.java b/src/main/java/com/syjiaer/clinic/server/mapper/social/SocialItemMapper.java new file mode 100644 index 0000000..57ceafc --- /dev/null +++ b/src/main/java/com/syjiaer/clinic/server/mapper/social/SocialItemMapper.java @@ -0,0 +1,7 @@ +package com.syjiaer.clinic.server.mapper.social; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.syjiaer.clinic.server.entity.social.SocialItem; + +public interface SocialItemMapper extends BaseMapper { +} diff --git a/src/main/java/com/syjiaer/clinic/server/service/social/SocialChronicDiseaseService.java b/src/main/java/com/syjiaer/clinic/server/service/social/SocialChronicDiseaseService.java new file mode 100644 index 0000000..c1d1383 --- /dev/null +++ b/src/main/java/com/syjiaer/clinic/server/service/social/SocialChronicDiseaseService.java @@ -0,0 +1,43 @@ +package com.syjiaer.clinic.server.service.social; + +import com.syjiaer.clinic.server.common.util.DateUtil; +import com.syjiaer.clinic.server.entity.social.SocialChronicDisease; +import com.syjiaer.clinic.server.entity.social.SocialDiagnose; +import com.syjiaer.clinic.server.mapper.social.SocialChronicDiseaseMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.List; + +@Service +public class SocialChronicDiseaseService { + @Autowired + private SocialChronicDiseaseMapper socialChronicDiseaseMapper; + @Autowired + private SocialDirectoryVersionService socialDirectoryVersionService; + + public String download(List tab_list, int type, String version_name) { + DateTimeFormatter dateTimeFormatter = DateUtil.getDateTimeFormatter(DateUtil.DATE_TIME_FORMAT); + List list = new ArrayList<>(); + for (String[] line_array : tab_list) { + String flag = line_array[5]; + if (!flag.equals("1")) { + continue; + } + SocialChronicDisease socialChronicDisease = new SocialChronicDisease(); + socialChronicDisease.setSocialCode(line_array[0]); + socialChronicDisease.setName(line_array[14]); + socialChronicDisease.setChronicDiseasesName(line_array[1]); + socialChronicDisease.setVersionName(line_array[9]); + socialChronicDisease.setCreateDatetime(LocalDateTime.parse(line_array[7], dateTimeFormatter)); + socialChronicDisease.setUpdateDatetime(LocalDateTime.parse(line_array[8], dateTimeFormatter)); + list.add(socialChronicDisease); + } + socialChronicDiseaseMapper.insert(list, 100); + socialDirectoryVersionService.setSocialDirectoryVersion(type, version_name, list.get(0).getVersionName(), list.size()); + return list.get(0).getVersionName(); + } +} diff --git a/src/main/java/com/syjiaer/clinic/server/service/social/SocialDiagnoseService.java b/src/main/java/com/syjiaer/clinic/server/service/social/SocialDiagnoseService.java new file mode 100644 index 0000000..1e95b39 --- /dev/null +++ b/src/main/java/com/syjiaer/clinic/server/service/social/SocialDiagnoseService.java @@ -0,0 +1,52 @@ +package com.syjiaer.clinic.server.service.social; + +import com.alibaba.fastjson2.JSONObject; +import com.syjiaer.clinic.server.common.util.DateUtil; +import com.syjiaer.clinic.server.common.util.DictoryUtil; +import com.syjiaer.clinic.server.entity.social.SocialDiagnose; +import com.syjiaer.clinic.server.entity.social.SocialItem; +import com.syjiaer.clinic.server.mapper.social.SocialDiagnoseMapper; +import com.syjiaer.clinic.server.mapper.social.SocialItemMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +public class SocialDiagnoseService { + @Autowired + private SocialDiagnoseMapper socialDiagnoseMapper; + @Autowired + private SocialDirectoryVersionService socialDirectoryVersionService; + + public String download(List tab_list, int type, String version_name) { + DateTimeFormatter dateTimeFormatter = DateUtil.getDateTimeFormatter(DateUtil.DATE_TIME_FORMAT); + List list = new ArrayList<>(); + for (String[] line_array : tab_list) { + String flag = line_array[18]; + if (!flag.equals("1")) { + continue; + } + SocialDiagnose socialDiagnose = new SocialDiagnose(); + String code = line_array[0]; + socialDiagnose.setSocialCode(code); + socialDiagnose.setVersionName(line_array[22]); + socialDiagnose.setChapterName(line_array[3]); + socialDiagnose.setSecondaryName(line_array[5]); + socialDiagnose.setCategoryName(line_array[7]); + socialDiagnose.setSuborderName(line_array[9]); + socialDiagnose.setDiagnosisName(line_array[11]); + socialDiagnose.setCreateDatetime(LocalDateTime.parse(line_array[20], dateTimeFormatter)); + socialDiagnose.setUpdateDatetime(LocalDateTime.parse(line_array[21], dateTimeFormatter)); + list.add(socialDiagnose); + } + socialDiagnoseMapper.insert(list, 100); + socialDirectoryVersionService.setSocialDirectoryVersion(type, version_name, list.get(0).getVersionName(), list.size()); + return list.get(0).getVersionName(); + } +} diff --git a/src/main/java/com/syjiaer/clinic/server/service/social/SocialDirectoryService.java b/src/main/java/com/syjiaer/clinic/server/service/social/SocialDirectoryService.java index e6d706a..95151d0 100644 --- a/src/main/java/com/syjiaer/clinic/server/service/social/SocialDirectoryService.java +++ b/src/main/java/com/syjiaer/clinic/server/service/social/SocialDirectoryService.java @@ -42,17 +42,27 @@ public class SocialDirectoryService extends BaseService { @Autowired private DictoryUtil dictoryUtil; @Autowired - private StringUtil stringUtil; + private SocialDiagnoseService socialDiagnoseService; + @Autowired + private SocialItemService socialItemService; @Autowired private SocialDirectoryMapper socialDirectoryMapper; @Autowired + private SocialChronicDiseaseService socialChronicDiseaseService; + @Autowired private SocialDirectoryUpinfoMapper socialDirectoryUpinfoMapper; @Autowired private SocialDirectoryLimitMapper socialDirectoryLimitMapper; @Autowired private SocialDirectorySelfMapper socialDirectorySelfMapper; @Autowired - private SocialDirectoryVersionMapper socialDirectoryVersionMapper; + private SocialDirectoryVersionService socialDirectoryVersionService; + @Autowired + private SocialIcpcDoctorDiagnoseService socialIcpcDoctorDiagnoseService; + @Autowired + private SocialIcpcExaminationTreatmentService socialIcpcExaminationTreatmentService; + @Autowired + private SocialIcpcSelfPayingService socialIcpcSelfPayingService; private Logger logger = Logger.getLogger(SocialDirectoryService.class.getName()); /* @@ -123,8 +133,33 @@ public class SocialDirectoryService extends BaseService { queryWrapper.in("code", code_list); socialDirectoryMapper.delete(queryWrapper); } + String current_version_name = ""; + switch (type) { + case 1301: + case 1302: + case 1306: + current_version_name = insertSocialDirectorys(version_name, type, infno, tab_list); + break; + case 1305: + case 1321: + current_version_name = socialItemService.download(tab_list, infno, type, version_name); + break; + case 1307: + current_version_name = socialDiagnoseService.download(tab_list, type, version_name); + break; + case 1309: + current_version_name = socialChronicDiseaseService.download(tab_list, type, version_name); + break; + default: + break; + } + Map hashMap = new HashMap<>(); + hashMap.put("current_version_name", current_version_name); + hashMap.put("pre_version_name", version_name); + return hashMap; + } - //将tab_list中的每一行存入数据库 + private String insertSocialDirectorys(String version_name, int type, String infno, List tab_list) { Map title_map = dictoryUtil.getTitleMap(infno); List list = new ArrayList<>(); HashMap tmp_map = new HashMap<>(); @@ -163,58 +198,27 @@ public class SocialDirectoryService extends BaseService { socialDirectory.setCreateDatetime(LocalDateTime.parse(line_array[15], dateTimeFormatter)); socialDirectory.setUpdateDatetime(LocalDateTime.parse(line_array[16], dateTimeFormatter)); } - if (type == 1305) { - flag = line_array[6]; - socialDirectory.setKeyword(line_array[9] + "," + line_array[2]); - } if (type == 1306) { flag = line_array[67]; socialDirectory.setProducer(line_array[59]); socialDirectory.setKeyword(line_array[4]); } - if (type == 1307) { - flag = line_array[18]; - socialDirectory.setKeyword(line_array[5] + "," + line_array[7]); - } - if (type == 1309) { - flag = line_array[5]; - //因为1309不使用版本名称,而是版本编号,所以需要手动设置 - socialDirectory.setVersionName(line_array[11]); - } - if (type == 1320) { - flag = line_array[28]; - socialDirectory.setKeyword(line_array[23] + "," + line_array[3] + "," + line_array[4]); - } - if (type == 1321) { - flag = line_array[13]; - socialDirectory.setKeyword(line_array[6] + "," + line_array[10]); - } SocialDirectory tmp_socialDirectory = tmp_map.get(code); if (tmp_socialDirectory == null && flag.equals("1")) { list.add(socialDirectory); tmp_map.put(code, socialDirectory); } } - socialDirectoryMapper.insert(list, 100); - SocialDirectoryVersion socialDirectoryVersion = new SocialDirectoryVersion(); - socialDirectoryVersion.setId(stringUtil.generateRandomId()); - socialDirectoryVersion.setType(type); - socialDirectoryVersion.setPreVersionName(version_name); - socialDirectoryVersion.setCurrentVersionName(list.get(0).getVersionName()); - socialDirectoryVersion.setSize(list.size()); - socialDirectoryVersion.setCreateDatetime(LocalDateTime.now()); - socialDirectoryVersionMapper.insert(socialDirectoryVersion); - Map hashMap = new HashMap<>(); - hashMap.put("current_version_name", list.get(0).getVersionName()); - hashMap.put("pre_version_name", version_name); - return hashMap; + socialDirectoryVersionService.setSocialDirectoryVersion(type, version_name, list.get(0).getVersionName(), list.size()); + return list.get(0).getVersionName(); } + @Transactional(rollbackFor = Exception.class) public Map download2(String pre_version_name, int type) { Integer[] type_list = {1361, 1362, 1363}; //判断type在数组中 if (!Arrays.asList(type_list).contains(type)) { - throw new MessageException("参数 type 不能为空"); + throw new MessageException("参数 type 不能为空"); } Map input = new HashMap<>(); input.put("ver", pre_version_name); @@ -226,86 +230,24 @@ public class SocialDirectoryService extends BaseService { } catch (Exception e) { return null; } - if (result == null) { + if (result == null || result.getJSONArray("result") == null || result.getJSONArray("result").isEmpty()) { throw new MessageException("获取数据失败"); } JSONArray jsonArray = result.getJSONArray("result"); - if (jsonArray == null || jsonArray.isEmpty()) { - throw new MessageException("获取数据失败"); + String versionName = ""; + switch (type) { + case 1361: + versionName = socialIcpcDoctorDiagnoseService.download(jsonArray, pre_version_name); + break; + case 1362: + versionName = socialIcpcExaminationTreatmentService.download(jsonArray, pre_version_name); + break; + case 1363: + versionName = socialIcpcSelfPayingService.download(jsonArray, pre_version_name); + break; + default: + break; } - List code_list = new ArrayList<>(); - List socialDirectories = new ArrayList<>(); - for (int i = 0; i < jsonArray.size(); i++) { - JSONObject jsonObject = jsonArray.getJSONObject(i); - SocialDirectory socialDirectory = new SocialDirectory(); - switch (type) { - case 1361: - socialDirectory.setVersionName(jsonObject.getString("ver")); - socialDirectory.setCode(jsonObject.getString("six_code")); - socialDirectory.setName(jsonObject.getString("six_name")); - socialDirectory.setCreateDatetime(LocalDateTime.parse(jsonObject.getString("crte_time"))); - socialDirectory.setUpdateDatetime(LocalDateTime.parse(jsonObject.getString("updt_time"))); - JSONObject data1361 = new JSONObject(); - data1361.put("unique_record_number", jsonObject.getString("rid")); - data1361.put("valid_flag", jsonObject.getString("vali_flag")); - data1361.put("remarks", jsonObject.getString("memo")); - data1361.put("creation_time", jsonObject.getString("crte_time")); - data1361.put("update_time", jsonObject.getString("updt_time")); - data1361.put("diagnosis_treatment_type", jsonObject.getString("trt_type")); - socialDirectory.setData(data1361.toJSONString()); - socialDirectory.setKeyword(data1361.getString("diagnosis_treatment_type")); - break; - case 1362: - socialDirectory.setVersionName(jsonObject.getString("ver")); -// socialDirectory.setCode(jsonObject.getString("six_code")); - socialDirectory.setName(jsonObject.getString("chrgitm_name")); - socialDirectory.setCreateDatetime(LocalDateTime.parse(jsonObject.getString("crte_time"))); - socialDirectory.setUpdateDatetime(LocalDateTime.parse(jsonObject.getString("updt_time"))); - JSONObject data1362 = new JSONObject(); - data1362.put("unique_record_number", jsonObject.getString("rid")); - data1362.put("valid_flag", jsonObject.getString("vali_flag")); - data1362.put("remarks", jsonObject.getString("memo")); - data1362.put("creation_time", jsonObject.getString("crte_time")); - data1362.put("update_time", jsonObject.getString("updt_time")); - data1362.put("charge_item_attribute", jsonObject.getString("chrgitm_attr")); - socialDirectory.setData(data1362.toJSONString()); - socialDirectory.setKeyword(data1362.getString("charge_item_attribute")); - break; - case 1363: - socialDirectory.setVersionName(jsonObject.getString("ver")); - socialDirectory.setCode(jsonObject.getString("ownpay_code")); - socialDirectory.setName(jsonObject.getString("ownpay_name")); - socialDirectory.setCreateDatetime(LocalDateTime.parse(jsonObject.getString("crte_time"))); - socialDirectory.setUpdateDatetime(LocalDateTime.parse(jsonObject.getString("updt_time"))); - JSONObject data1363 = new JSONObject(); - data1363.put("unique_record_number", jsonObject.getString("rid")); - data1363.put("valid_flag", jsonObject.getString("vali_flag")); - data1363.put("remarks", jsonObject.getString("memo")); - data1363.put("creation_time", jsonObject.getString("crte_time")); - data1363.put("update_time", jsonObject.getString("updt_time")); - data1363.put("self_financing_item_category", jsonObject.getString("chrgitm_attr")); - socialDirectory.setData(data1363.toJSONString()); - socialDirectory.setKeyword(data1363.getString("self_financing_item_category")); - break; - default: - break; - } - code_list.add(socialDirectory.getCode()); - socialDirectories.add(socialDirectory); - } - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.in("code", code_list); - socialDirectoryMapper.delete(queryWrapper); - socialDirectoryMapper.insert(socialDirectories, 100); - SocialDirectoryVersion socialDirectoryVersion = new SocialDirectoryVersion(); - socialDirectoryVersion.setId(stringUtil.generateRandomId()); - socialDirectoryVersion.setType(type); - socialDirectoryVersion.setPreVersionName(pre_version_name); - String versionName = socialDirectories.get(0).getVersionName(); - socialDirectoryVersion.setCurrentVersionName(versionName); - socialDirectoryVersion.setSize(jsonArray.size()); - socialDirectoryVersion.setCreateDatetime(LocalDateTime.now()); - socialDirectoryVersionMapper.insert(socialDirectoryVersion); Map hashMap = new HashMap<>(); hashMap.put("current_version_name", versionName); hashMap.put("pre_version_name", pre_version_name); @@ -492,20 +434,20 @@ public class SocialDirectoryService extends BaseService { SocialDirectoryView socialDirectoryView = JSONObject.parseObject(JSONObject.toJSONString(socialDirectory), SocialDirectoryView.class); SocialDirectoryUpinfo socialDirectoryUpinfo = socialDirectoryUpinfoMapper.selectByCode(code); if (socialDirectoryUpinfo != null) { - socialDirectoryUpinfo.setBegndate( socialDirectoryUpinfo.getBegndate()); - socialDirectoryView.setEnddate( socialDirectoryUpinfo.getEnddate()); - socialDirectoryView.setWubi( socialDirectoryUpinfo.getWubi()); - socialDirectoryView.setPinyin( socialDirectoryUpinfo.getPinyin()); + socialDirectoryUpinfo.setBegndate(socialDirectoryUpinfo.getBegndate()); + socialDirectoryView.setEnddate(socialDirectoryUpinfo.getEnddate()); + socialDirectoryView.setWubi(socialDirectoryUpinfo.getWubi()); + socialDirectoryView.setPinyin(socialDirectoryUpinfo.getPinyin()); } SocialDirectoryLimit socialDirectoryLimit = socialDirectoryLimitMapper.selectByCode(code); if (socialDirectoryLimit != null) { - socialDirectoryView.setHilistPricUplmtAmt( socialDirectoryLimit.getHilistPricUplmtAmt()); - socialDirectoryView.setHilistLmtpricType( socialDirectoryLimit.getHilistLmtpricType()); + socialDirectoryView.setHilistPricUplmtAmt(socialDirectoryLimit.getHilistPricUplmtAmt()); + socialDirectoryView.setHilistLmtpricType(socialDirectoryLimit.getHilistLmtpricType()); } SocialDirectorySelf socialDirectorySelf = socialDirectorySelfMapper.selectByCode(code); if (socialDirectorySelf != null) { - socialDirectoryView.setSelfpayPropType( socialDirectorySelf.getSelfpayPropType()); - socialDirectoryView.setSelfpayProp( socialDirectorySelf.getSelfpayProp()); + socialDirectoryView.setSelfpayPropType(socialDirectorySelf.getSelfpayPropType()); + socialDirectoryView.setSelfpayProp(socialDirectorySelf.getSelfpayProp()); } return socialDirectoryView; } @@ -533,15 +475,15 @@ public class SocialDirectoryService extends BaseService { // 执行查询 codeqw.select("code"); - long count=socialDirectoryMapper.selectCount(codeqw); + long count = socialDirectoryMapper.selectCount(codeqw); codeqw.last("LIMIT " + size + " OFFSET " + (page - 1) * size); - List codeList = listObjs(codeqw, socialDirectoryMapper,obj -> obj.toString()); + List codeList = listObjs(codeqw, socialDirectoryMapper, obj -> obj.toString()); Page result = new Page<>(); - if (!codeList.isEmpty()){ + if (!codeList.isEmpty()) { List list = fullList(codeList); result.setList(list); - }else{ + } else { result.setList(new ArrayList<>()); } @@ -553,13 +495,14 @@ public class SocialDirectoryService extends BaseService { /** * 搜索诊断列表 + * * @param keyword * @return */ public List getDiagnosis(String keyword) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("type", 1307); - if (keyword != null &&!keyword.isEmpty()) { + if (keyword != null && !keyword.isEmpty()) { queryWrapper.and(wrapper -> wrapper.like("name", keyword).or().like("code", keyword).or().like("keyword", keyword)); } queryWrapper.select("code", "name", "data"); diff --git a/src/main/java/com/syjiaer/clinic/server/service/social/SocialDirectoryVersionService.java b/src/main/java/com/syjiaer/clinic/server/service/social/SocialDirectoryVersionService.java index 25b3786..baff909 100644 --- a/src/main/java/com/syjiaer/clinic/server/service/social/SocialDirectoryVersionService.java +++ b/src/main/java/com/syjiaer/clinic/server/service/social/SocialDirectoryVersionService.java @@ -2,12 +2,15 @@ package com.syjiaer.clinic.server.service.social; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.syjiaer.clinic.server.common.exception.MessageException; +import com.syjiaer.clinic.server.common.util.StringUtil; import com.syjiaer.clinic.server.common.vo.Page; import com.syjiaer.clinic.server.entity.social.SocialDirectoryVersion; +import com.syjiaer.clinic.server.entity.social.SocialItem; import com.syjiaer.clinic.server.mapper.social.SocialDirectoryVersionMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.time.LocalDateTime; import java.util.Arrays; import java.util.List; /* @@ -17,6 +20,8 @@ import java.util.List; public class SocialDirectoryVersionService { @Autowired private SocialDirectoryVersionMapper socialDirectoryVersionMapper; + @Autowired + private StringUtil stringUtil; /* * 获取当前版本信息 * @param type 目录类型 @@ -72,4 +77,21 @@ public class SocialDirectoryVersionService { result.setList(socialDirectoryList); return result; } + /* + * 添加版本记录 + * @param type 目录类型 + * @param preVersionName 上一个版本名称 + * @param currentVersionName 当前版本名称 + * @param size 数据量 + */ + public void setSocialDirectoryVersion(int type, String preVersionName, String currentVersionName, int size) { + SocialDirectoryVersion socialDirectoryVersion = new SocialDirectoryVersion(); + socialDirectoryVersion.setId(stringUtil.generateRandomId()); + socialDirectoryVersion.setType(type); + socialDirectoryVersion.setPreVersionName(preVersionName); + socialDirectoryVersion.setCurrentVersionName(currentVersionName); + socialDirectoryVersion.setSize(size); + socialDirectoryVersion.setCreateDatetime(LocalDateTime.now()); + socialDirectoryVersionMapper.insert(socialDirectoryVersion); + } } diff --git a/src/main/java/com/syjiaer/clinic/server/service/social/SocialIcpcDoctorDiagnoseService.java b/src/main/java/com/syjiaer/clinic/server/service/social/SocialIcpcDoctorDiagnoseService.java new file mode 100644 index 0000000..36456ed --- /dev/null +++ b/src/main/java/com/syjiaer/clinic/server/service/social/SocialIcpcDoctorDiagnoseService.java @@ -0,0 +1,50 @@ +package com.syjiaer.clinic.server.service.social; + +import com.alibaba.fastjson2.JSONArray; +import com.alibaba.fastjson2.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.syjiaer.clinic.server.common.exception.MessageException; +import com.syjiaer.clinic.server.common.util.DateUtil; +import com.syjiaer.clinic.server.entity.social.SocialIcpcDoctorDiagnose; +import com.syjiaer.clinic.server.mapper.social.SocialIcpcDoctorDiagnoseMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.List; + +@Service +public class SocialIcpcDoctorDiagnoseService { + @Autowired + private SocialIcpcDoctorDiagnoseMapper socialIcpcDoctorDiagnoseMapper; + @Autowired + private SocialDirectoryVersionService socialDirectoryVersionService; + + public String download(JSONArray jsonArray, String pre_version_name) { + List code_list = new ArrayList<>(); + DateTimeFormatter dateTimeFormatter = DateUtil.getDateTimeFormatter(DateUtil.DATE_TIME_FORMAT); + List list = new ArrayList<>(); + for (int i = 0; i < jsonArray.size(); i++) { + JSONObject jsonObject = jsonArray.getJSONObject(i); + if (!jsonObject.getString("vali_flag").equals("1")) { + continue; + } + SocialIcpcDoctorDiagnose socialIcpcDoctorDiagnose = new SocialIcpcDoctorDiagnose(); + socialIcpcDoctorDiagnose.setName(jsonObject.getString("six_name")); + socialIcpcDoctorDiagnose.setSocialCode(jsonObject.getString("six_code")); + socialIcpcDoctorDiagnose.setVersionName(jsonObject.getString("ver")); + socialIcpcDoctorDiagnose.setCreateDatetime(LocalDateTime.parse(jsonObject.getString("crte_time"), dateTimeFormatter)); + socialIcpcDoctorDiagnose.setUpdateDatetime(LocalDateTime.parse(jsonObject.getString("updt_time"), dateTimeFormatter)); + list.add(socialIcpcDoctorDiagnose); + code_list.add(socialIcpcDoctorDiagnose.getSocialCode()); + } + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("social_code", code_list); + socialIcpcDoctorDiagnoseMapper.delete(queryWrapper); + socialIcpcDoctorDiagnoseMapper.insert(list, 100); + socialDirectoryVersionService.setSocialDirectoryVersion(1361, pre_version_name, list.get(0).getVersionName(), list.size()); + return list.get(0).getVersionName(); + } +} diff --git a/src/main/java/com/syjiaer/clinic/server/service/social/SocialIcpcExaminationTreatmentService.java b/src/main/java/com/syjiaer/clinic/server/service/social/SocialIcpcExaminationTreatmentService.java new file mode 100644 index 0000000..8432be7 --- /dev/null +++ b/src/main/java/com/syjiaer/clinic/server/service/social/SocialIcpcExaminationTreatmentService.java @@ -0,0 +1,52 @@ +package com.syjiaer.clinic.server.service.social; + +import com.alibaba.fastjson2.JSONArray; +import com.alibaba.fastjson2.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.syjiaer.clinic.server.common.exception.MessageException; +import com.syjiaer.clinic.server.common.util.DateUtil; +import com.syjiaer.clinic.server.entity.social.SocialIcpcDoctorDiagnose; +import com.syjiaer.clinic.server.entity.social.SocialIcpcExaminationTreatment; +import com.syjiaer.clinic.server.mapper.social.SocialIcpcExaminationTreatmentMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.List; + +@Service +public class SocialIcpcExaminationTreatmentService { + @Autowired + private SocialIcpcExaminationTreatmentMapper socialIcpcExaminationTreatmentMapper; + @Autowired + private SocialDirectoryVersionService socialDirectoryVersionService; + public String download(JSONArray jsonArray, String pre_version_name) { + List code_list = new ArrayList<>(); + DateTimeFormatter dateTimeFormatter = DateUtil.getDateTimeFormatter(DateUtil.DATE_TIME_FORMAT); + List list = new ArrayList<>(); + for (int i = 0; i < jsonArray.size(); i++) { + JSONObject jsonObject = jsonArray.getJSONObject(i); + if (!jsonObject.getString("vali_flag").equals("1")) { + continue; + } + SocialIcpcExaminationTreatment socialIcpcExaminationTreatment = new SocialIcpcExaminationTreatment(); + socialIcpcExaminationTreatment.setSocialCode(jsonObject.getString("chrgitm_nat_code")); + socialIcpcExaminationTreatment.setVersionName(jsonObject.getString("ver")); + socialIcpcExaminationTreatment.setIcpcCode(jsonObject.getString("icpc_code")); + socialIcpcExaminationTreatment.setIcpcCodeFlag(jsonObject.getString("icpc_code_flag")); + socialIcpcExaminationTreatment.setName(jsonObject.getString("chrgitm_name")); + socialIcpcExaminationTreatment.setCreateDatetime(LocalDateTime.parse(jsonObject.getString("crte_time"), dateTimeFormatter)); + socialIcpcExaminationTreatment.setUpdateDatetime(LocalDateTime.parse(jsonObject.getString("updt_time"), dateTimeFormatter)); + list.add(socialIcpcExaminationTreatment); + code_list.add(socialIcpcExaminationTreatment.getSocialCode()); + } + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("social_code", code_list); + socialIcpcExaminationTreatmentMapper.delete(queryWrapper); + socialIcpcExaminationTreatmentMapper.insert(list, 100); + socialDirectoryVersionService.setSocialDirectoryVersion(1361, pre_version_name, list.get(0).getVersionName(), list.size()); + return list.get(0).getVersionName(); + } +} diff --git a/src/main/java/com/syjiaer/clinic/server/service/social/SocialIcpcSelfPayingService.java b/src/main/java/com/syjiaer/clinic/server/service/social/SocialIcpcSelfPayingService.java new file mode 100644 index 0000000..4b550ed --- /dev/null +++ b/src/main/java/com/syjiaer/clinic/server/service/social/SocialIcpcSelfPayingService.java @@ -0,0 +1,50 @@ +package com.syjiaer.clinic.server.service.social; + +import com.alibaba.fastjson2.JSONArray; +import com.alibaba.fastjson2.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.syjiaer.clinic.server.common.exception.MessageException; +import com.syjiaer.clinic.server.common.util.DateUtil; +import com.syjiaer.clinic.server.entity.social.SocialIcpcDoctorDiagnose; +import com.syjiaer.clinic.server.entity.social.SocialIcpcSelfPaying; +import com.syjiaer.clinic.server.mapper.social.SocialIcpcSelfPayingMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.List; +@Service +public class SocialIcpcSelfPayingService { + @Autowired + private SocialIcpcSelfPayingMapper socialIcpcSelfPayingMapper; + @Autowired + private SocialDirectoryVersionService socialDirectoryVersionService; + + public String download(JSONArray jsonArray, String pre_version_name) { + List code_list = new ArrayList<>(); + DateTimeFormatter dateTimeFormatter = DateUtil.getDateTimeFormatter(DateUtil.DATE_TIME_FORMAT); + List list = new ArrayList<>(); + for (int i = 0; i < jsonArray.size(); i++) { + JSONObject jsonObject = jsonArray.getJSONObject(i); + if (!jsonObject.getString("vali_flag").equals("1")) { + continue; + } + SocialIcpcSelfPaying socialIcpcSelfPaying = new SocialIcpcSelfPaying(); + socialIcpcSelfPaying.setSocialCode(jsonObject.getString("ownpay_code")); + socialIcpcSelfPaying.setVersionName(jsonObject.getString("ver")); + socialIcpcSelfPaying.setName(jsonObject.getString("ownpay_name")); + socialIcpcSelfPaying.setCreateDatetime(LocalDateTime.parse(jsonObject.getString("crte_time"), dateTimeFormatter)); + socialIcpcSelfPaying.setUpdateDatetime(LocalDateTime.parse(jsonObject.getString("updt_time"), dateTimeFormatter)); + list.add(socialIcpcSelfPaying); + code_list.add(socialIcpcSelfPaying.getSocialCode()); + } + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("social_code", code_list); + socialIcpcSelfPayingMapper.delete(queryWrapper); + socialIcpcSelfPayingMapper.insert(list, 100); + socialDirectoryVersionService.setSocialDirectoryVersion(1361, pre_version_name, list.get(0).getVersionName(), list.size()); + return list.get(0).getVersionName(); + } +} diff --git a/src/main/java/com/syjiaer/clinic/server/service/social/SocialItemService.java b/src/main/java/com/syjiaer/clinic/server/service/social/SocialItemService.java new file mode 100644 index 0000000..0e86dda --- /dev/null +++ b/src/main/java/com/syjiaer/clinic/server/service/social/SocialItemService.java @@ -0,0 +1,65 @@ +package com.syjiaer.clinic.server.service.social; + +import com.alibaba.fastjson2.JSONObject; +import com.syjiaer.clinic.server.common.util.DateUtil; +import com.syjiaer.clinic.server.common.util.DictoryUtil; +import com.syjiaer.clinic.server.common.util.StringUtil; +import com.syjiaer.clinic.server.entity.social.SocialDirectory; +import com.syjiaer.clinic.server.entity.social.SocialDirectoryVersion; +import com.syjiaer.clinic.server.entity.social.SocialItem; +import com.syjiaer.clinic.server.mapper.social.SocialDirectoryVersionMapper; +import com.syjiaer.clinic.server.mapper.social.SocialItemMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.ZonedDateTime; +import java.time.format.DateTimeFormatter; +import java.util.*; + +@Service +public class SocialItemService { + @Autowired + private SocialItemMapper socialItemMapper; + @Autowired + private SocialDirectoryVersionService socialDirectoryVersionService; + + public String download(List tab_list, String info, int type, String version_name) { + List list = new ArrayList<>(); + DateTimeFormatter dateTimeFormatter = DateUtil.getDateTimeFormatter(DateUtil.DATE_TIME_FORMAT); + for (String[] line_array : tab_list) { + String flag = ""; + SocialItem socialItem = new SocialItem(); + if (info.equals("1305")) { + flag = line_array[6]; + String code = line_array[0]; + socialItem.setSocialCode(code); + socialItem.setName(line_array[9]); + socialItem.setVersionName(line_array[16]); + socialItem.setUnit(line_array[1]); +// socialItem.setCreateDatetime(LocalDateTime.parse(line_array[11], dateTimeFormatter)); +// socialItem.setUpdateDatetime(LocalDateTime.parse(line_array[12], dateTimeFormatter)); + }else if (info.equals("1321")) { + flag = line_array[13]; + String code = line_array[2]; + socialItem.setSocialCode(code); + socialItem.setName(line_array[6]); + socialItem.setVersionName(line_array[21]); + socialItem.setUnit(line_array[10]); +// socialItem.setCreateDatetime(LocalDateTime.parse(line_array[27], dateTimeFormatter)); +// socialItem.setUpdateDatetime(LocalDateTime.parse(line_array[28], dateTimeFormatter)); + } + if (!flag.equals("1")) { + continue; + } + list.add(socialItem); + } + System.out.println(list); + socialItemMapper.insert(list, 100); + socialDirectoryVersionService.setSocialDirectoryVersion(type, version_name, list.get(0).getVersionName(), list.size()); + return list.get(0).getVersionName(); + } +} diff --git a/src/main/resources/doc_title/1307.json b/src/main/resources/doc_title/1307.json index 96c68b6..72fe543 100644 --- a/src/main/resources/doc_title/1307.json +++ b/src/main/resources/doc_title/1307.json @@ -13,17 +13,31 @@ "column_width": 200 } }, + { + "4": { + "en": "json.chapter_name", + "zh": "章名称", + "column_width": 200 + } + }, { "6": { - "en": "json.section_code", + "en": "json.secondary_name", "zh": "节名称", "column_width": 200 } }, { "8": { - "en": "json.class_code", - "zh": "类名称", + "en": "json.category_name", + "zh": "类目名称", + "column_width": 200 + } + }, + { + "10": { + "en": "json.suborder_name", + "zh": "亚目名称", "column_width": 200 } }, diff --git a/src/main/resources/xml/SocialChronicDiseaseMapper.xml b/src/main/resources/xml/SocialChronicDiseaseMapper.xml new file mode 100644 index 0000000..5383a58 --- /dev/null +++ b/src/main/resources/xml/SocialChronicDiseaseMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/resources/xml/SocialDiagnose.xml b/src/main/resources/xml/SocialDiagnose.xml new file mode 100644 index 0000000..aae798d --- /dev/null +++ b/src/main/resources/xml/SocialDiagnose.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/resources/xml/SocialIcpcDoctorDiagnoseMapper.xml b/src/main/resources/xml/SocialIcpcDoctorDiagnoseMapper.xml new file mode 100644 index 0000000..06f5ae7 --- /dev/null +++ b/src/main/resources/xml/SocialIcpcDoctorDiagnoseMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/resources/xml/SocialIcpcExaminationTreatmentMapper.xml b/src/main/resources/xml/SocialIcpcExaminationTreatmentMapper.xml new file mode 100644 index 0000000..276847f --- /dev/null +++ b/src/main/resources/xml/SocialIcpcExaminationTreatmentMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/resources/xml/SocialIcpcSelfPayingMapper.xml b/src/main/resources/xml/SocialIcpcSelfPayingMapper.xml new file mode 100644 index 0000000..0f9cece --- /dev/null +++ b/src/main/resources/xml/SocialIcpcSelfPayingMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/resources/xml/SocialItemMapper.xml b/src/main/resources/xml/SocialItemMapper.xml new file mode 100644 index 0000000..4057b8e --- /dev/null +++ b/src/main/resources/xml/SocialItemMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/test/java/com/syjiaer/clinic/server/ServerApplicationTests.java b/src/test/java/com/syjiaer/clinic/server/ServerApplicationTests.java index 81b0247..15e2984 100644 --- a/src/test/java/com/syjiaer/clinic/server/ServerApplicationTests.java +++ b/src/test/java/com/syjiaer/clinic/server/ServerApplicationTests.java @@ -15,8 +15,8 @@ class ServerApplicationTests { private SocialDirectoryService socialDirectoryService; @Test void contextLoads() { - List> columnList = socialDirectoryService.getColumnList(1301); - System.out.println(columnList); + Map download = socialDirectoryService.download2("20230801001", 1363); + System.out.println(download); } }