This commit is contained in:
ZhangYingJie 2025-04-22 17:16:38 +08:00
parent a4507d8664
commit 565e1f145e
16 changed files with 195 additions and 163 deletions

View File

@ -14,13 +14,11 @@ import java.io.*;
import java.net.URL; import java.net.URL;
import java.net.URLConnection; import java.net.URLConnection;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.HashMap; import java.util.*;
import java.util.Map;
import java.util.Random;
import java.util.UUID;
import java.util.logging.Logger; import java.util.logging.Logger;
@Slf4j @Slf4j
@ -28,6 +26,8 @@ import java.util.logging.Logger;
public class HttpUtil { public class HttpUtil {
@Autowired @Autowired
private Config config; private Config config;
@Autowired
private FileUtil fileUtil;
private Logger logger = Logger.getLogger(HttpUtil.class.getName()); private Logger logger = Logger.getLogger(HttpUtil.class.getName());
@ -85,6 +85,73 @@ public class HttpUtil {
return output; return output;
} }
public List<String[]> download(String version_name, int type) {
Map<String, Object> input = new HashMap<>();
input.put("ver", version_name);
String infno = String.valueOf(type);
System.out.println("上个版本号:" + version_name);
JSONObject result = null;
try {
result = callBackMsgId(infno, "data", input);
} catch (Exception e) {
return null;
}
String filename = result.getString("filename");
String file_qury_no = result.getString("file_qury_no");
String fixmedins_code = config.get("social", "fixmedinsCode");
String path = "";
try {
// 创建临时目录
Path tempDir = Files.createTempDirectory("temp");
path = tempDir.toString();
} catch (Exception e) {
throw new MessageException("创建临时下载目录失败");
}
Map<String, Object> input_dw = new HashMap<>();
input_dw.put("file_qury_no", file_qury_no);
input_dw.put("fixmedins_code", fixmedins_code);
input_dw.put("filename", filename);
System.out.println("文件地址:" + path + "/" + filename);
callToFile("9102", "fsDownloadIn", input_dw, path + "/" + filename);
List<String> file_list = fileUtil.unzip(path, filename);
List<String> read_list = fileUtil.readToList(file_list);
List<String[]> tab_list = new ArrayList<>();
//将read_list中的每一行按tab分割存入tab_list中
for (String s : read_list) {
String[] line_array = s.split("\t");
for (int j = 0; j < line_array.length; j++) {
if (line_array[j].equals("null")) {
line_array[j] = "";
}
}
tab_list.add(line_array);
}
return tab_list;
}
public JSONArray 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 不能为空");
}
Map<String, Object> input = new HashMap<>();
input.put("ver", pre_version_name);
String infno = String.valueOf(type);
logger.info("上个版本号:" + pre_version_name);
JSONObject result = null;
try {
result = callBackMsgId(infno, "data", input);
} catch (Exception e) {
return null;
}
if (result == null || result.getJSONArray("result") == null || result.getJSONArray("result").isEmpty()) {
throw new MessageException("获取数据失败");
}
JSONArray jsonArray = result.getJSONArray("result");
return jsonArray
}
private JSONArray postArray(String posturl, String params) { private JSONArray postArray(String posturl, String params) {
String result = ""; String result = "";
try { try {

View File

@ -0,0 +1,23 @@
package com.syjiaer.clinic.server.controller.social;
import com.syjiaer.clinic.server.common.exception.MessageException;
import com.syjiaer.clinic.server.controller.BaseController;
import com.syjiaer.clinic.server.service.social.SocialChineseMedicinalGranulaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/social/recipe")
public class SocialChineseMedicinalGranulaController extends BaseController {
@Autowired
private SocialChineseMedicinalGranulaService socialChineseMedicinalGranulaService;
@RequestMapping("download")
public String download() {
String version = parmsUtil.getString("version");
if (version == null || version.isEmpty()) {
throw new MessageException("version版本不能为空");
}
return socialChineseMedicinalGranulaService.download(version);
}
}

View File

@ -0,0 +1,19 @@
package com.syjiaer.clinic.server.controller.social;
import com.syjiaer.clinic.server.common.vo.Result;
import com.syjiaer.clinic.server.service.social.SocialChronicDiseaseService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/social/disease")
public class SocialChronicDiseaseController {
@Autowired
private SocialChronicDiseaseService socialChronicDiseaseService;
@RequestMapping("download")
public Result download() {
// return socialChronicDiseaseService.download();
return null;
}
}

View File

@ -60,17 +60,6 @@ public class SocialDirectoryController extends BaseController {
return success(socialDirectoryService.download(ver, type)); return success(socialDirectoryService.download(ver, type));
} }
@PostMapping("download2")
public Result<Object> download2() {
Map<String, Object> parms = getParms();
String ver = (String) parms.get("ver");
int type = (Integer) parms.get("type");
if (ver == null || ver.trim().isEmpty()) {
// 处理参数为空的情况这里假设返回一个错误结果
return error("参数 ver 不能为空");
}
return success(socialDirectoryService.download2(ver, type));
}
@RequestMapping("column_list") @RequestMapping("column_list")
public Result<Object> get_column_list() { public Result<Object> get_column_list() {

View File

@ -2,29 +2,29 @@ package com.syjiaer.clinic.server.service.social;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.syjiaer.clinic.server.common.util.DateUtil; import com.syjiaer.clinic.server.common.util.DateUtil;
import com.syjiaer.clinic.server.common.util.HttpUtil;
import com.syjiaer.clinic.server.entity.social.SocialChineseMedicinalGranula; import com.syjiaer.clinic.server.entity.social.SocialChineseMedicinalGranula;
import com.syjiaer.clinic.server.entity.social.SocialTcmDiseaseCatalogue;
import com.syjiaer.clinic.server.mapper.social.SocialChineseMedicinalGranulaMapper; import com.syjiaer.clinic.server.mapper.social.SocialChineseMedicinalGranulaMapper;
import lombok.experimental.Accessors;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@Service @Service
public class SocialChineseMedicinalGranulaService { public class SocialChineseMedicinalGranulaService {
@Autowired
private HttpUtil httpUtil;
@Autowired @Autowired
private SocialChineseMedicinalGranulaMapper socialChineseMedicinalGranulaMapper; private SocialChineseMedicinalGranulaMapper socialChineseMedicinalGranulaMapper;
@Autowired @Autowired
private SocialDirectoryVersionService socialDirectoryVersionService; private SocialDirectoryVersionService socialDirectoryVersionService;
public String download(List<String[]> tab_list, int type, String version_name) { public String download(String version_name) {
DateTimeFormatter dateTimeFormatter = DateUtil.getDateTimeFormatter(DateUtil.DATE_TIME_FORMAT); List<String[]> tabList = httpUtil.download(version_name, 1320);
List<String> code_list = new ArrayList<>(); List<String> code_list = new ArrayList<>();
List<SocialChineseMedicinalGranula> list = new ArrayList<>(); List<SocialChineseMedicinalGranula> list = new ArrayList<>();
for (String[] line_array : tab_list) { for (String[] line_array : tabList) {
String flag = line_array[28]; String flag = line_array[28];
if (!flag.equals("1")) { if (!flag.equals("1")) {
continue; continue;
@ -51,7 +51,7 @@ public class SocialChineseMedicinalGranulaService {
queryWrapper.in("social_code", code_list); queryWrapper.in("social_code", code_list);
socialChineseMedicinalGranulaMapper.delete(queryWrapper); socialChineseMedicinalGranulaMapper.delete(queryWrapper);
socialChineseMedicinalGranulaMapper.insert(list, 100); socialChineseMedicinalGranulaMapper.insert(list, 100);
socialDirectoryVersionService.setSocialDirectoryVersion(type, version_name, list.get(0).getVersionName(), list.size()); socialDirectoryVersionService.setSocialDirectoryVersion(1320, version_name, list.get(0).getVersionName(), list.size());
return list.get(0).getVersionName(); return list.get(0).getVersionName();
} }
} }

View File

@ -2,6 +2,7 @@ package com.syjiaer.clinic.server.service.social;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.syjiaer.clinic.server.common.util.DateUtil; import com.syjiaer.clinic.server.common.util.DateUtil;
import com.syjiaer.clinic.server.common.util.HttpUtil;
import com.syjiaer.clinic.server.entity.social.SocialChronicDisease; import com.syjiaer.clinic.server.entity.social.SocialChronicDisease;
import com.syjiaer.clinic.server.entity.social.SocialDiagnose; import com.syjiaer.clinic.server.entity.social.SocialDiagnose;
import com.syjiaer.clinic.server.entity.social.SocialTcmDiseaseCatalogue; import com.syjiaer.clinic.server.entity.social.SocialTcmDiseaseCatalogue;
@ -12,20 +13,25 @@ import org.springframework.stereotype.Service;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
@Service @Service
public class SocialChronicDiseaseService { public class SocialChronicDiseaseService {
@Autowired
private HttpUtil httpUtil;
@Autowired @Autowired
private SocialChronicDiseaseMapper socialChronicDiseaseMapper; private SocialChronicDiseaseMapper socialChronicDiseaseMapper;
@Autowired @Autowired
private SocialDirectoryVersionService socialDirectoryVersionService; private SocialDirectoryVersionService socialDirectoryVersionService;
public String download(List<String[]> tab_list, int type, String version_name) { public Map<String, Object> download(String version_name) {
List<String[]> tabList = httpUtil.download(version_name, 1309);
DateTimeFormatter dateTimeFormatter = DateUtil.getDateTimeFormatter(DateUtil.DATE_TIME_FORMAT); DateTimeFormatter dateTimeFormatter = DateUtil.getDateTimeFormatter(DateUtil.DATE_TIME_FORMAT);
List<String> code_list = new ArrayList<>(); List<String> code_list = new ArrayList<>();
List<SocialChronicDisease> list = new ArrayList<>(); List<SocialChronicDisease> list = new ArrayList<>();
for (String[] line_array : tab_list) { for (String[] line_array : tabList) {
String flag = line_array[5]; String flag = line_array[5];
if (!flag.equals("1")) { if (!flag.equals("1")) {
continue; continue;
@ -44,7 +50,10 @@ public class SocialChronicDiseaseService {
queryWrapper.in("social_code", code_list); queryWrapper.in("social_code", code_list);
socialChronicDiseaseMapper.delete(queryWrapper); socialChronicDiseaseMapper.delete(queryWrapper);
socialChronicDiseaseMapper.insert(list, 100); socialChronicDiseaseMapper.insert(list, 100);
socialDirectoryVersionService.setSocialDirectoryVersion(type, version_name, list.get(0).getVersionName(), list.size()); socialDirectoryVersionService.setSocialDirectoryVersion(1309, version_name, list.get(0).getVersionName(), list.size());
return list.get(0).getVersionName(); Map<String, Object> hashMap = new HashMap<>();
hashMap.put("current_version_name", list.get(0).getVersionName());
hashMap.put("pre_version_name", version_name);
return hashMap;
} }
} }

View File

@ -1,8 +1,11 @@
package com.syjiaer.clinic.server.service.social; package com.syjiaer.clinic.server.service.social;
import com.alibaba.fastjson2.JSONObject; 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.DateUtil;
import com.syjiaer.clinic.server.common.util.DictoryUtil; import com.syjiaer.clinic.server.common.util.DictoryUtil;
import com.syjiaer.clinic.server.common.util.HttpUtil;
import com.syjiaer.clinic.server.entity.social.SocialChronicDisease;
import com.syjiaer.clinic.server.entity.social.SocialDiagnose; import com.syjiaer.clinic.server.entity.social.SocialDiagnose;
import com.syjiaer.clinic.server.entity.social.SocialItem; import com.syjiaer.clinic.server.entity.social.SocialItem;
import com.syjiaer.clinic.server.mapper.social.SocialDiagnoseMapper; import com.syjiaer.clinic.server.mapper.social.SocialDiagnoseMapper;
@ -19,14 +22,18 @@ import java.util.Map;
@Service @Service
public class SocialDiagnoseService { public class SocialDiagnoseService {
@Autowired
private HttpUtil httpUtil;
@Autowired @Autowired
private SocialDiagnoseMapper socialDiagnoseMapper; private SocialDiagnoseMapper socialDiagnoseMapper;
@Autowired @Autowired
private SocialDirectoryVersionService socialDirectoryVersionService; private SocialDirectoryVersionService socialDirectoryVersionService;
public String download(List<String[]> tab_list, int type, String version_name) { public String download(int type, String version_name) {
List<String[]> tab_list = httpUtil.download(version_name, type);
DateTimeFormatter dateTimeFormatter = DateUtil.getDateTimeFormatter(DateUtil.DATE_TIME_FORMAT); DateTimeFormatter dateTimeFormatter = DateUtil.getDateTimeFormatter(DateUtil.DATE_TIME_FORMAT);
List<SocialDiagnose> list = new ArrayList<>(); List<SocialDiagnose> list = new ArrayList<>();
List<String> codeList = new ArrayList<>();
for (String[] line_array : tab_list) { for (String[] line_array : tab_list) {
String flag = line_array[18]; String flag = line_array[18];
if (!flag.equals("1")) { if (!flag.equals("1")) {
@ -44,7 +51,11 @@ public class SocialDiagnoseService {
socialDiagnose.setCreateDatetime(LocalDateTime.parse(line_array[20], dateTimeFormatter)); socialDiagnose.setCreateDatetime(LocalDateTime.parse(line_array[20], dateTimeFormatter));
socialDiagnose.setUpdateDatetime(LocalDateTime.parse(line_array[21], dateTimeFormatter)); socialDiagnose.setUpdateDatetime(LocalDateTime.parse(line_array[21], dateTimeFormatter));
list.add(socialDiagnose); list.add(socialDiagnose);
codeList.add(socialDiagnose.getSocialCode());
} }
QueryWrapper<SocialDiagnose> queryWrapper = new QueryWrapper<>();
queryWrapper.in("social_code", codeList);
socialDiagnoseMapper.delete(queryWrapper);
socialDiagnoseMapper.insert(list, 100); socialDiagnoseMapper.insert(list, 100);
socialDirectoryVersionService.setSocialDirectoryVersion(type, version_name, list.get(0).getVersionName(), list.size()); socialDirectoryVersionService.setSocialDirectoryVersion(type, version_name, list.get(0).getVersionName(), list.size());
return list.get(0).getVersionName(); return list.get(0).getVersionName();

View File

@ -20,8 +20,6 @@ import java.io.BufferedReader;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.nio.file.Files;
import java.nio.file.Path;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
@ -78,54 +76,12 @@ public class SocialDirectoryService extends BaseService {
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Map<String, Object> download(String version_name, int type) { public Map<String, Object> download(String version_name, int type) {
Integer[] type_list = {1301, 1302, 1305, 1306, 1307, 1309, 1314, 1315, 1320, 1321}; Integer[] type_list = {1301, 1302, 1306};
//判断type在数组中 //判断type在数组中
if (!Arrays.asList(type_list).contains(type)) { if (!Arrays.asList(type_list).contains(type)) {
throw new MessageException("参数type不正确"); throw new MessageException("参数type不正确");
} }
Map<String, Object> input = new HashMap<>(); List<String[]> tab_list = httpUtil.download(version_name, type);
input.put("ver", version_name);
String infno = String.valueOf(type);
System.out.println("上个版本号:" + version_name);
JSONObject result = null;
try {
result = httpUtil.callBackMsgId(infno, "data", input);
} catch (Exception e) {
return null;
}
String filename = result.getString("filename");
String file_qury_no = result.getString("file_qury_no");
String fixmedins_code = config.get("social", "fixmedinsCode");
String path = "";
try {
// 创建临时目录
Path tempDir = Files.createTempDirectory("temp");
path = tempDir.toString();
} catch (Exception e) {
throw new MessageException("创建临时下载目录失败");
}
Map<String, Object> input_dw = new HashMap<>();
input_dw.put("file_qury_no", file_qury_no);
input_dw.put("fixmedins_code", fixmedins_code);
input_dw.put("filename", filename);
System.out.println("文件地址:" + path + "/" + filename);
httpUtil.callToFile("9102", "fsDownloadIn", input_dw, path + "/" + filename);
List<String> file_list = fileUtil.unzip(path, filename);
List<String> read_list = fileUtil.readToList(file_list);
List<String[]> tab_list = new ArrayList<>();
//将read_list中的每一行按tab分割存入tab_list中
for (String s : read_list) {
String[] line_array = s.split("\t");
for (int j = 0; j < line_array.length; j++) {
if (line_array[j].equals("null")) {
line_array[j] = "";
}
}
tab_list.add(line_array);
}
//清楚原有的code //清楚原有的code
int batchSize = 100; int batchSize = 100;
for (int i = 0; i < tab_list.size(); i += batchSize) { for (int i = 0; i < tab_list.size(); i += batchSize) {
@ -139,42 +95,15 @@ public class SocialDirectoryService extends BaseService {
queryWrapper.in("code", code_list); queryWrapper.in("code", code_list);
socialDirectoryMapper.delete(queryWrapper); socialDirectoryMapper.delete(queryWrapper);
} }
String current_version_name = ""; String current_version_name = insertSocialDirectorys(version_name, type, tab_list);
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;
case 1314:
current_version_name = socialTcmDiseaseCatalogueService.download(tab_list, type, version_name);
break;
case 1315:
current_version_name = socialTcmSyndromeService.download(tab_list, type, version_name);
break;
case 1320:
current_version_name = socialChineseMedicinalGranulaService.download(tab_list, type, version_name);
default:
break;
}
Map<String, Object> hashMap = new HashMap<>(); Map<String, Object> hashMap = new HashMap<>();
hashMap.put("current_version_name", current_version_name); hashMap.put("current_version_name", current_version_name);
hashMap.put("pre_version_name", version_name); hashMap.put("pre_version_name", version_name);
return hashMap; return hashMap;
} }
private String insertSocialDirectorys(String version_name, int type, String infno, List<String[]> tab_list) { private String insertSocialDirectorys(String version_name, int type, List<String[]> tab_list) {
Map<String, String> title_map = dictoryUtil.getTitleMap(infno); Map<String, String> title_map = dictoryUtil.getTitleMap(String.valueOf(type));
List<SocialDirectory> list = new ArrayList<>(); List<SocialDirectory> list = new ArrayList<>();
HashMap<String, SocialDirectory> tmp_map = new HashMap<>(); HashMap<String, SocialDirectory> tmp_map = new HashMap<>();
for (String[] line_array : tab_list) { for (String[] line_array : tab_list) {
@ -227,47 +156,6 @@ public class SocialDirectoryService extends BaseService {
return list.get(0).getVersionName(); return list.get(0).getVersionName();
} }
@Transactional(rollbackFor = Exception.class)
public Map<String, Object> 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 不能为空");
}
Map<String, Object> input = new HashMap<>();
input.put("ver", pre_version_name);
String infno = String.valueOf(type);
logger.info("上个版本号:" + pre_version_name);
JSONObject result = null;
try {
result = httpUtil.callBackMsgId(infno, "data", input);
} catch (Exception e) {
return null;
}
if (result == null || result.getJSONArray("result") == null || result.getJSONArray("result").isEmpty()) {
throw new MessageException("获取数据失败");
}
JSONArray jsonArray = result.getJSONArray("result");
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;
}
Map<String, Object> hashMap = new HashMap<>();
hashMap.put("current_version_name", versionName);
hashMap.put("pre_version_name", pre_version_name);
return hashMap;
}
/* /*
* 搜索接口 * 搜索接口
* @param keyword 关键字 * @param keyword 关键字

View File

@ -5,6 +5,7 @@ import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.syjiaer.clinic.server.common.exception.MessageException; import com.syjiaer.clinic.server.common.exception.MessageException;
import com.syjiaer.clinic.server.common.util.DateUtil; import com.syjiaer.clinic.server.common.util.DateUtil;
import com.syjiaer.clinic.server.common.util.HttpUtil;
import com.syjiaer.clinic.server.entity.social.SocialIcpcDoctorDiagnose; import com.syjiaer.clinic.server.entity.social.SocialIcpcDoctorDiagnose;
import com.syjiaer.clinic.server.mapper.social.SocialIcpcDoctorDiagnoseMapper; import com.syjiaer.clinic.server.mapper.social.SocialIcpcDoctorDiagnoseMapper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -17,12 +18,15 @@ import java.util.List;
@Service @Service
public class SocialIcpcDoctorDiagnoseService { public class SocialIcpcDoctorDiagnoseService {
@Autowired
private HttpUtil httpUtil;
@Autowired @Autowired
private SocialIcpcDoctorDiagnoseMapper socialIcpcDoctorDiagnoseMapper; private SocialIcpcDoctorDiagnoseMapper socialIcpcDoctorDiagnoseMapper;
@Autowired @Autowired
private SocialDirectoryVersionService socialDirectoryVersionService; private SocialDirectoryVersionService socialDirectoryVersionService;
public String download(JSONArray jsonArray, String pre_version_name) { public String download(String pre_version_name) {
JSONArray jsonArray = httpUtil.download2("icpc_doctor_diagnose", 1361);
List<String> code_list = new ArrayList<>(); List<String> code_list = new ArrayList<>();
DateTimeFormatter dateTimeFormatter = DateUtil.getDateTimeFormatter(DateUtil.DATE_TIME_FORMAT); DateTimeFormatter dateTimeFormatter = DateUtil.getDateTimeFormatter(DateUtil.DATE_TIME_FORMAT);
List<SocialIcpcDoctorDiagnose> list = new ArrayList<>(); List<SocialIcpcDoctorDiagnose> list = new ArrayList<>();

View File

@ -5,6 +5,7 @@ import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.syjiaer.clinic.server.common.exception.MessageException; import com.syjiaer.clinic.server.common.exception.MessageException;
import com.syjiaer.clinic.server.common.util.DateUtil; import com.syjiaer.clinic.server.common.util.DateUtil;
import com.syjiaer.clinic.server.common.util.HttpUtil;
import com.syjiaer.clinic.server.entity.social.SocialIcpcDoctorDiagnose; import com.syjiaer.clinic.server.entity.social.SocialIcpcDoctorDiagnose;
import com.syjiaer.clinic.server.entity.social.SocialIcpcExaminationTreatment; import com.syjiaer.clinic.server.entity.social.SocialIcpcExaminationTreatment;
import com.syjiaer.clinic.server.mapper.social.SocialIcpcExaminationTreatmentMapper; import com.syjiaer.clinic.server.mapper.social.SocialIcpcExaminationTreatmentMapper;
@ -18,11 +19,14 @@ import java.util.List;
@Service @Service
public class SocialIcpcExaminationTreatmentService { public class SocialIcpcExaminationTreatmentService {
@Autowired
private HttpUtil httpUtil;
@Autowired @Autowired
private SocialIcpcExaminationTreatmentMapper socialIcpcExaminationTreatmentMapper; private SocialIcpcExaminationTreatmentMapper socialIcpcExaminationTreatmentMapper;
@Autowired @Autowired
private SocialDirectoryVersionService socialDirectoryVersionService; private SocialDirectoryVersionService socialDirectoryVersionService;
public String download(JSONArray jsonArray, String pre_version_name) { public String download(String pre_version_name) {
JSONArray jsonArray = httpUtil.download2(pre_version_name, 1362);
List<String> code_list = new ArrayList<>(); List<String> code_list = new ArrayList<>();
DateTimeFormatter dateTimeFormatter = DateUtil.getDateTimeFormatter(DateUtil.DATE_TIME_FORMAT); DateTimeFormatter dateTimeFormatter = DateUtil.getDateTimeFormatter(DateUtil.DATE_TIME_FORMAT);
List<SocialIcpcExaminationTreatment> list = new ArrayList<>(); List<SocialIcpcExaminationTreatment> list = new ArrayList<>();

View File

@ -5,6 +5,7 @@ import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.syjiaer.clinic.server.common.exception.MessageException; import com.syjiaer.clinic.server.common.exception.MessageException;
import com.syjiaer.clinic.server.common.util.DateUtil; import com.syjiaer.clinic.server.common.util.DateUtil;
import com.syjiaer.clinic.server.common.util.HttpUtil;
import com.syjiaer.clinic.server.entity.social.SocialIcpcDoctorDiagnose; import com.syjiaer.clinic.server.entity.social.SocialIcpcDoctorDiagnose;
import com.syjiaer.clinic.server.entity.social.SocialIcpcSelfPaying; import com.syjiaer.clinic.server.entity.social.SocialIcpcSelfPaying;
import com.syjiaer.clinic.server.mapper.social.SocialIcpcSelfPayingMapper; import com.syjiaer.clinic.server.mapper.social.SocialIcpcSelfPayingMapper;
@ -17,12 +18,15 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
@Service @Service
public class SocialIcpcSelfPayingService { public class SocialIcpcSelfPayingService {
@Autowired
private HttpUtil httpUtil;
@Autowired @Autowired
private SocialIcpcSelfPayingMapper socialIcpcSelfPayingMapper; private SocialIcpcSelfPayingMapper socialIcpcSelfPayingMapper;
@Autowired @Autowired
private SocialDirectoryVersionService socialDirectoryVersionService; private SocialDirectoryVersionService socialDirectoryVersionService;
public String download(JSONArray jsonArray, String pre_version_name) { public String download(String pre_version_name) {
JSONArray jsonArray = httpUtil.download2(pre_version_name, 1363);
List<String> code_list = new ArrayList<>(); List<String> code_list = new ArrayList<>();
DateTimeFormatter dateTimeFormatter = DateUtil.getDateTimeFormatter(DateUtil.DATE_TIME_FORMAT); DateTimeFormatter dateTimeFormatter = DateUtil.getDateTimeFormatter(DateUtil.DATE_TIME_FORMAT);
List<SocialIcpcSelfPaying> list = new ArrayList<>(); List<SocialIcpcSelfPaying> list = new ArrayList<>();

View File

@ -1,9 +1,12 @@
package com.syjiaer.clinic.server.service.social; package com.syjiaer.clinic.server.service.social;
import com.alibaba.fastjson2.JSONObject; 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.DateUtil;
import com.syjiaer.clinic.server.common.util.DictoryUtil; import com.syjiaer.clinic.server.common.util.DictoryUtil;
import com.syjiaer.clinic.server.common.util.HttpUtil;
import com.syjiaer.clinic.server.common.util.StringUtil; import com.syjiaer.clinic.server.common.util.StringUtil;
import com.syjiaer.clinic.server.entity.social.SocialChineseMedicinalGranula;
import com.syjiaer.clinic.server.entity.social.SocialDirectory; import com.syjiaer.clinic.server.entity.social.SocialDirectory;
import com.syjiaer.clinic.server.entity.social.SocialDirectoryVersion; import com.syjiaer.clinic.server.entity.social.SocialDirectoryVersion;
import com.syjiaer.clinic.server.entity.social.SocialItem; import com.syjiaer.clinic.server.entity.social.SocialItem;
@ -22,42 +25,45 @@ import java.util.*;
@Service @Service
public class SocialItemService { public class SocialItemService {
@Autowired
private HttpUtil httpUtil;
@Autowired @Autowired
private SocialItemMapper socialItemMapper; private SocialItemMapper socialItemMapper;
@Autowired @Autowired
private SocialDirectoryVersionService socialDirectoryVersionService; private SocialDirectoryVersionService socialDirectoryVersionService;
public String download(List<String[]> tab_list, String info, int type, String version_name) { public String download(int type, String version_name) {
List<String[]> tab_list = httpUtil.download(version_name, type);
List<SocialItem> list = new ArrayList<>(); List<SocialItem> list = new ArrayList<>();
DateTimeFormatter dateTimeFormatter = DateUtil.getDateTimeFormatter(DateUtil.DATE_TIME_FORMAT); String value = String.valueOf(type);
List<String> codeList = new ArrayList<>();
for (String[] line_array : tab_list) { for (String[] line_array : tab_list) {
String flag = ""; String flag = "";
SocialItem socialItem = new SocialItem(); SocialItem socialItem = new SocialItem();
if (info.equals("1305")) { if (value.equals("1305")) {
flag = line_array[6]; flag = line_array[6];
String code = line_array[0]; String code = line_array[0];
socialItem.setSocialCode(code); socialItem.setSocialCode(code);
socialItem.setName(line_array[9]); socialItem.setName(line_array[9]);
socialItem.setVersionName(line_array[16]); socialItem.setVersionName(line_array[16]);
socialItem.setUnit(line_array[1]); socialItem.setUnit(line_array[1]);
// socialItem.setCreateDatetime(LocalDateTime.parse(line_array[11], dateTimeFormatter)); }else if (value.equals("1321")) {
// socialItem.setUpdateDatetime(LocalDateTime.parse(line_array[12], dateTimeFormatter));
}else if (info.equals("1321")) {
flag = line_array[13]; flag = line_array[13];
String code = line_array[2]; String code = line_array[2];
socialItem.setSocialCode(code); socialItem.setSocialCode(code);
socialItem.setName(line_array[6]); socialItem.setName(line_array[6]);
socialItem.setVersionName(line_array[21]); socialItem.setVersionName(line_array[21]);
socialItem.setUnit(line_array[10]); 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")) { if (!flag.equals("1")) {
continue; continue;
} }
codeList.add(socialItem.getSocialCode());
list.add(socialItem); list.add(socialItem);
} }
System.out.println(list); QueryWrapper<SocialItem> queryWrapper = new QueryWrapper<>();
queryWrapper.in("social_code", codeList);
socialItemMapper.delete(queryWrapper);
socialItemMapper.insert(list, 100); socialItemMapper.insert(list, 100);
socialDirectoryVersionService.setSocialDirectoryVersion(type, version_name, list.get(0).getVersionName(), list.size()); socialDirectoryVersionService.setSocialDirectoryVersion(type, version_name, list.get(0).getVersionName(), list.size());
return list.get(0).getVersionName(); return list.get(0).getVersionName();

View File

@ -2,6 +2,7 @@ package com.syjiaer.clinic.server.service.social;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.syjiaer.clinic.server.common.util.DateUtil; import com.syjiaer.clinic.server.common.util.DateUtil;
import com.syjiaer.clinic.server.common.util.HttpUtil;
import com.syjiaer.clinic.server.entity.social.SocialChronicDisease; import com.syjiaer.clinic.server.entity.social.SocialChronicDisease;
import com.syjiaer.clinic.server.entity.social.SocialTcmDiseaseCatalogue; import com.syjiaer.clinic.server.entity.social.SocialTcmDiseaseCatalogue;
import com.syjiaer.clinic.server.mapper.social.SocialTcmDiseaseCatalogueMapper; import com.syjiaer.clinic.server.mapper.social.SocialTcmDiseaseCatalogueMapper;
@ -15,15 +16,18 @@ import java.util.List;
@Service @Service
public class SocialTcmDiseaseCatalogueService { public class SocialTcmDiseaseCatalogueService {
@Autowired
private HttpUtil httpUtil;
@Autowired @Autowired
private SocialTcmDiseaseCatalogueMapper socialTcmDiseaseCatalogueMapper; private SocialTcmDiseaseCatalogueMapper socialTcmDiseaseCatalogueMapper;
@Autowired @Autowired
private SocialDirectoryVersionService socialDirectoryVersionService; private SocialDirectoryVersionService socialDirectoryVersionService;
public String download(List<String[]> tab_list, int type, String version_name) { public String download(int type, String version_name) {
List<String[]> tabList = httpUtil.download(version_name, type);
DateTimeFormatter dateTimeFormatter = DateUtil.getDateTimeFormatter(DateUtil.DATE_TIME_FORMAT); DateTimeFormatter dateTimeFormatter = DateUtil.getDateTimeFormatter(DateUtil.DATE_TIME_FORMAT);
List<String> code_list = new ArrayList<>(); List<String> code_list = new ArrayList<>();
List<SocialTcmDiseaseCatalogue> list = new ArrayList<>(); List<SocialTcmDiseaseCatalogue> list = new ArrayList<>();
for (String[] line_array : tab_list) { for (String[] line_array : tabList) {
String flag = line_array[8]; String flag = line_array[8];
if (!flag.equals("1")) { if (!flag.equals("1")) {
continue; continue;

View File

@ -2,6 +2,7 @@ package com.syjiaer.clinic.server.service.social;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.syjiaer.clinic.server.common.util.DateUtil; import com.syjiaer.clinic.server.common.util.DateUtil;
import com.syjiaer.clinic.server.common.util.HttpUtil;
import com.syjiaer.clinic.server.entity.social.SocialTcmDiseaseCatalogue; import com.syjiaer.clinic.server.entity.social.SocialTcmDiseaseCatalogue;
import com.syjiaer.clinic.server.entity.social.SocialTcmSyndrome; import com.syjiaer.clinic.server.entity.social.SocialTcmSyndrome;
import com.syjiaer.clinic.server.mapper.social.SocialTcmSyndromeMapper; import com.syjiaer.clinic.server.mapper.social.SocialTcmSyndromeMapper;
@ -15,15 +16,18 @@ import java.util.List;
@Service @Service
public class SocialTcmSyndromeService { public class SocialTcmSyndromeService {
@Autowired
private HttpUtil httpUtil;
@Autowired @Autowired
private SocialTcmSyndromeMapper socialTcmSyndromeMapper; private SocialTcmSyndromeMapper socialTcmSyndromeMapper;
@Autowired @Autowired
private SocialDirectoryVersionService socialDirectoryVersionService; private SocialDirectoryVersionService socialDirectoryVersionService;
public String download(List<String[]> tab_list, int type, String version_name) { public String download(int type, String version_name) {
List<String[]> tabList = httpUtil.download(version_name, type);
DateTimeFormatter dateTimeFormatter = DateUtil.getDateTimeFormatter(DateUtil.DATE_TIME_FORMAT); DateTimeFormatter dateTimeFormatter = DateUtil.getDateTimeFormatter(DateUtil.DATE_TIME_FORMAT);
List<String> code_list = new ArrayList<>(); List<String> code_list = new ArrayList<>();
List<SocialTcmSyndrome> list = new ArrayList<>(); List<SocialTcmSyndrome> list = new ArrayList<>();
for (String[] line_array : tab_list) { for (String[] line_array : tabList) {
String flag = line_array[8]; String flag = line_array[8];
if (!flag.equals("1")) { if (!flag.equals("1")) {
continue; continue;

View File

@ -3,9 +3,9 @@ spring:
name: server name: server
datasource: datasource:
driver-class-name: org.postgresql.Driver driver-class-name: org.postgresql.Driver
url: jdbc:postgresql://dev.jizhiweb.cn:15321/syjiaer_clinic url: jdbc:postgresql://localhost:5432/syjiaer_clinic
username: postgres username: postgres
password: i7L0BS91pADGuy7z password: 123456
hikari: hikari:
maximum-pool-size: 10 maximum-pool-size: 10
minimum-idle: 5 minimum-idle: 5

View File

@ -15,7 +15,7 @@ class ServerApplicationTests {
private SocialDirectoryService socialDirectoryService; private SocialDirectoryService socialDirectoryService;
@Test @Test
void contextLoads() { void contextLoads() {
Map<String, Object> download = socialDirectoryService.download("0", 1320); Map<String, Object> download = socialDirectoryService.download("0", 1315);
System.out.println(download); System.out.println(download);
} }