From 75eaa22e62e5f59c8e756d801f4bd505ea3b5fa2 Mon Sep 17 00:00:00 2001 From: LiJianZhao Date: Fri, 30 May 2025 16:27:37 +0800 Subject: [PATCH] =?UTF-8?q?upinfo=E8=A1=A8=E6=8F=92=E5=85=A5=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/common/enums/ChrgitmLvEnum.java | 8 +++++ .../server/common/util/DictoryUtil.java | 3 ++ .../social/SocialDirectoryService.java | 36 +++++++++++++++++++ .../service/social/SocialItemService.java | 21 +++++++++++ 4 files changed, 68 insertions(+) diff --git a/src/main/java/com/syjiaer/clinic/server/common/enums/ChrgitmLvEnum.java b/src/main/java/com/syjiaer/clinic/server/common/enums/ChrgitmLvEnum.java index 5f00557..bf9039a 100644 --- a/src/main/java/com/syjiaer/clinic/server/common/enums/ChrgitmLvEnum.java +++ b/src/main/java/com/syjiaer/clinic/server/common/enums/ChrgitmLvEnum.java @@ -24,4 +24,12 @@ public enum ChrgitmLvEnum { } return null; } + public static String getCodeByName(String name) { + for (ChrgitmLvEnum chrgitmLvEnum : ChrgitmLvEnum.values()) { + if (chrgitmLvEnum.getName().equals(name)) { + return chrgitmLvEnum.getCode(); + } + } + return null; + } } diff --git a/src/main/java/com/syjiaer/clinic/server/common/util/DictoryUtil.java b/src/main/java/com/syjiaer/clinic/server/common/util/DictoryUtil.java index c8d8728..ba1063b 100644 --- a/src/main/java/com/syjiaer/clinic/server/common/util/DictoryUtil.java +++ b/src/main/java/com/syjiaer/clinic/server/common/util/DictoryUtil.java @@ -70,6 +70,9 @@ public class DictoryUtil { } catch (IOException e) { e.printStackTrace(); } + if (content.isEmpty()){ + return new JSONArray(); + } JSONArray list = JSON.parseArray(content.toString()); return list; } 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 e20d311..98559bb 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 @@ -4,6 +4,7 @@ import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.syjiaer.clinic.server.common.enums.ChrgitmLvEnum; import com.syjiaer.clinic.server.common.exception.MessageException; import com.syjiaer.clinic.server.common.util.DateUtil; import com.syjiaer.clinic.server.common.util.DebugUtil; @@ -35,6 +36,7 @@ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; +import java.math.BigInteger; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; @@ -90,6 +92,10 @@ public class SocialDirectoryService extends BaseService { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in("code", code_list); socialDirectoryMapper.delete(queryWrapper); + // 清除upinfo表里的老数据 + QueryWrapper upinfoQueryWrapper = new QueryWrapper<>(); + upinfoQueryWrapper.in("code", code_list); + socialDirectoryUpinfoMapper.delete(upinfoQueryWrapper); } return insertAll(version_name, type, tab_list); } @@ -97,11 +103,13 @@ public class SocialDirectoryService extends BaseService { private String insertAll(String version_name, int type, List tab_list) { Map title_map = dictoryUtil.getTitleMap(String.valueOf(type)); List list = new ArrayList<>(); + List upinfoList = new ArrayList<>(); HashMap tmp_map = new HashMap<>(); String next_version_name = ""; for (int i = 0; i < tab_list.size(); i++) { String[] line_array = tab_list.get(i); SocialDirectory socialDirectory = new SocialDirectory(); + SocialDirectoryUpinfo upinfo = new SocialDirectoryUpinfo(); socialDirectory.setType(type); String code = line_array[0]; socialDirectory.setId(code); @@ -121,6 +129,7 @@ public class SocialDirectoryService extends BaseService { socialDirectory.setName(map.get("name")); socialDirectory.setVersionName(map.get("version_name")); String flag = ""; + DateTimeFormatter dateTimeFormatter = DateUtil.getDateTimeFormatter(DateUtil.DATE_TIME_FORMAT); if (type == 1301) { flag = line_array[78]; @@ -128,12 +137,36 @@ public class SocialDirectoryService extends BaseService { socialDirectory.setKeyword(line_array[1] + "," + line_array[3] + "," + line_array[61]+","+socialDirectory.getProducer()+","+socialDirectory.getName()+","+socialDirectory.getCode()); socialDirectory.setCreateDatetime(LocalDateTime.parse(line_array[80], dateTimeFormatter)); socialDirectory.setUpdateDatetime(LocalDateTime.parse(line_array[81], dateTimeFormatter)); + + + upinfo.setCode(socialDirectory.getCode()); + upinfo.setBegndate(line_array[36]!=null &&!line_array[36].isEmpty()?DateUtil.getDateTime(line_array[36]):null); + upinfo.setEnddate(line_array[37]!=null &&!line_array[37].isEmpty()?DateUtil.getDateTime(line_array[37]):null); + upinfo.setWubi(line_array[49]); + upinfo.setPinyin(line_array[50]); + upinfo.setRid(new BigInteger(line_array[79])); + String chrgitm_lv = ChrgitmLvEnum.getCodeByName(line_array[91]); + upinfo.setChrgitmLv(chrgitm_lv); + + + + + + } if (type == 1302) { flag = line_array[13]; socialDirectory.setKeyword(line_array[19]+","+socialDirectory.getProducer()+","+socialDirectory.getName()+","+socialDirectory.getCode()); socialDirectory.setCreateDatetime(LocalDateTime.parse(DateUtil.parseAndFormatDate(line_array[15]), dateTimeFormatter)); socialDirectory.setUpdateDatetime(LocalDateTime.parse(DateUtil.parseAndFormatDate(line_array[16]), dateTimeFormatter)); + + + upinfo.setCode(socialDirectory.getCode()); + upinfo.setBegndate(line_array[11]!=null &&!line_array[11].isEmpty()?DateUtil.getDateTime(line_array[11]):null); + upinfo.setEnddate(line_array[12]!=null &&!line_array[12].isEmpty()?DateUtil.getDateTime(line_array[12]):null); + upinfo.setRid(new BigInteger(line_array[14])); + + } if (type == 1306) { flag = line_array[67]; @@ -159,6 +192,7 @@ public class SocialDirectoryService extends BaseService { next_version_name = socialDirectory.getVersionName(); } if (tmp_socialDirectory == null && flag.equals("1")) { + upinfoList.add(upinfo); list.add(socialDirectory); tmp_map.put(code, socialDirectory); } @@ -176,6 +210,8 @@ public class SocialDirectoryService extends BaseService { for (int i = 0; i < list.size(); i += 1000) { List subList = list.subList(i, Math.min(i + 1000, list.size())); socialDirectoryMapper.insertAll(subList); + List subUpinfoList = upinfoList.subList(i, Math.min(i + 1000, list.size())); + socialDirectoryUpinfoMapper.insert(subUpinfoList); } socialDirectoryVersionService.saveVersion(type, version_name, next_version_name, list.size()); 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 index 0f5dbc0..901e8d1 100644 --- a/src/main/java/com/syjiaer/clinic/server/service/social/SocialItemService.java +++ b/src/main/java/com/syjiaer/clinic/server/service/social/SocialItemService.java @@ -2,6 +2,7 @@ package com.syjiaer.clinic.server.service.social; import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.syjiaer.clinic.server.common.util.DateUtil; import com.syjiaer.clinic.server.common.util.HttpUtil; import com.syjiaer.clinic.server.common.vo.Page; import com.syjiaer.clinic.server.entity.social.SocialDirectoryLimit; @@ -19,6 +20,11 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.math.BigInteger; +import java.text.DateFormat; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.List; @@ -43,13 +49,16 @@ public class SocialItemService extends BaseService { return null; } List list = new ArrayList<>(); + List upinfoList = new ArrayList<>(); String value = String.valueOf(1305); List codeList = new ArrayList<>(); String next_version_name = ""; + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); for (int i = 0; i < tab_list.size(); i++) { String[] line_array = tab_list.get(i); String flag = ""; SocialItem socialItem = new SocialItem(); + SocialDirectoryUpinfo upinfo = new SocialDirectoryUpinfo(); if (value.equals("1305")) { flag = line_array[6]; String code = line_array[0]; @@ -57,6 +66,13 @@ public class SocialItemService extends BaseService { socialItem.setName(line_array[9]); socialItem.setVersionName(line_array[15]); socialItem.setUnit(line_array[1]); + //upinfo表数据 + upinfo.setCode(code); + upinfo.setBegndate(line_array[11]!=null &&!line_array[11].isEmpty()? DateUtil.getDateTime(line_array[11]):null); + upinfo.setEnddate(line_array[12]!=null &&!line_array[12].isEmpty()?DateUtil.getDateTime(line_array[12]):null); + upinfo.setRid(new BigInteger(line_array[13])); + upinfoList.add(upinfo); + } else if (value.equals("1321")) { flag = line_array[13]; String code = line_array[2]; @@ -82,9 +98,14 @@ public class SocialItemService extends BaseService { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in("code", codeList); socialItemMapper.delete(queryWrapper); + + QueryWrapper upinfoQueryWrapper = new QueryWrapper<>(); + upinfoQueryWrapper.in("code", codeList); + socialDirectoryUpinfoMapper.delete(upinfoQueryWrapper); } socialItemMapper.insert(list, 100); + socialDirectoryUpinfoMapper.insertOrUpdate(upinfoList, 100); return next_version_name; }