This commit is contained in:
牛子源 2025-05-14 17:07:57 +08:00
parent 9acc82b9c1
commit 6aa6ed9134
5 changed files with 42 additions and 13 deletions

View File

@ -31,7 +31,11 @@
</properties> </properties>
<dependencies> <dependencies>
<!-- Spring boot --> <!-- Spring boot -->
<dependency>
<groupId>com.meilisearch.sdk</groupId>
<artifactId>meilisearch-java</artifactId>
<version>0.14.4</version>
</dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId> <artifactId>spring-boot-starter-web</artifactId>

View File

@ -27,6 +27,9 @@ public class DateUtil {
} }
public static LocalDateTime getDateTime(String dateTimeStr) { public static LocalDateTime getDateTime(String dateTimeStr) {
if(dateTimeStr==null){
return null;
}
//如果传入dateStr //如果传入dateStr
if (dateTimeStr.length() == 10) { if (dateTimeStr.length() == 10) {
dateTimeStr = dateTimeStr + " 00:00:00"; dateTimeStr = dateTimeStr + " 00:00:00";

View File

@ -1,23 +1,26 @@
package com.syjiaer.clinic.server.entity.social; package com.syjiaer.clinic.server.entity.social;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.time.LocalDateTime;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString; import lombok.ToString;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigInteger;
import java.time.LocalDateTime;
/** /**
* <p> * <p>
* 医保有效期 1312 * 医保有效期 1312
* </p> * </p>
* *
* @author NiuZiYuan * @author NiuZiYuan
* @since 2025-04-17 * @since 2025-05-14
*/ */
@Getter @Getter
@Setter @Setter
@ -29,12 +32,15 @@ public class SocialDirectoryUpinfo implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@TableId("code")
@ApiModelProperty("医保目录编码") @ApiModelProperty("医保目录编码")
private String code; private String code;
@ApiModelProperty("开始日期") @ApiModelProperty("开始日期")
private LocalDateTime begndate; private LocalDateTime begndate;
@TableField(fill = FieldFill.INSERT_UPDATE)
@ApiModelProperty("结束日期") @ApiModelProperty("结束日期")
private LocalDateTime enddate; private LocalDateTime enddate;

View File

@ -32,7 +32,7 @@ public class SocialDirectoryLimitService {
* @param pageNum 页码 * @param pageNum 页码
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Map<String, Object> updateSocial(String updtTime, int pageNum) { public Map<String, Object> update(String updtTime, int pageNum) {
if (updtTime == null || updtTime.trim().isEmpty()) { if (updtTime == null || updtTime.trim().isEmpty()) {
// 处理参数为空的情况这里假设返回一个错误结果 // 处理参数为空的情况这里假设返回一个错误结果
throw new MessageException("参数 updt_time 不能为空"); throw new MessageException("参数 updt_time 不能为空");

View File

@ -16,6 +16,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigInteger; import java.math.BigInteger;
import java.time.LocalDate;
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;
@ -44,26 +45,41 @@ public class SocialDirectoryUpinfoService {
* @param pageNum 页码 * @param pageNum 页码
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Map<String, Object> updateSocial(String updtTime, int pageNum) { public Map<String, Object> update(String updtTime, int pageNum) {
if (updtTime == null) { if (updtTime == null) {
throw new MessageException("updtTime不能为空"); throw new MessageException("更新时间不能为空");
} }
LocalDate updateDate=LocalDate.parse(updtTime, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
//如果当前时间是在早上六点到晚上19点之间
if (LocalDateTime.now().getHour() <6 || LocalDateTime.now().getHour() >19) {
//如果更新时间是30天外
if (updateDate.isBefore(LocalDate.now().minusDays(30))) {
throw new MessageException("因医保限制早6点到晚19点间只可以更新30天内数据");
}
}
updtTime=updtTime+" 00:00:00";
IM1312 im1312 = new IM1312(); IM1312 im1312 = new IM1312();
logger.info("正在处理第" + pageNum + "");
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
im1312.setUpdtTime(LocalDateTime.parse(updtTime, formatter)); im1312.setUpdtTime(LocalDateTime.parse(updtTime, formatter));
im1312.setValiFlag("1"); im1312.setValiFlag("1");
im1312.setPageNum(pageNum); im1312.setPageNum(pageNum);
im1312.setPageSize(1000); im1312.setPageSize(1000);
OM1312 om1312 = socialRequest.call1312(im1312); OM1312 om1312 = socialRequest.call1312(im1312);
System.out.println(pageNum + "/" + om1312.getPages());
List<Map<String, Object>> data = om1312.getData(); List<Map<String, Object>> data = om1312.getData();
for (Map<String, Object> datum : data) { for (Map<String, Object> datum : data) {
SocialDirectoryUpinfo socialDirectoryUpinfo = new SocialDirectoryUpinfo(); SocialDirectoryUpinfo socialDirectoryUpinfo = new SocialDirectoryUpinfo();
socialDirectoryUpinfo.setRid(new BigInteger(datum.get("rid").toString())); socialDirectoryUpinfo.setRid(new BigInteger(datum.get("rid").toString()));
socialDirectoryUpinfo.setCode(datum.get("hilist_code").toString()); socialDirectoryUpinfo.setCode(datum.get("hilist_code").toString());
socialDirectoryUpinfo.setBegndate(DateUtil.getDateTime(datum.get("begndate").toString())); socialDirectoryUpinfo.setBegndate(DateUtil.getDateTime(datum.get("begndate").toString()));
socialDirectoryUpinfo.setEnddate(DateUtil.getDateTime(datum.get("enddate").toString())); if(datum.get("enddate")==null){
socialDirectoryUpinfo.setEnddate(null);
}else{
socialDirectoryUpinfo.setEnddate(DateUtil.getDateTime(datum.get("enddate").toString()));
}
socialDirectoryUpinfo.setLmtUsedFlag(datum.get("lmt_used_flag").toString()); socialDirectoryUpinfo.setLmtUsedFlag(datum.get("lmt_used_flag").toString());
socialDirectoryUpinfo.setChrgitmLv(datum.get("chrgitm_lv").toString()); socialDirectoryUpinfo.setChrgitmLv(datum.get("chrgitm_lv").toString());
socialDirectoryUpinfo.setMedChrgitmType(datum.get("med_chrgitm_type").toString()); socialDirectoryUpinfo.setMedChrgitmType(datum.get("med_chrgitm_type").toString());
@ -101,7 +117,7 @@ public class SocialDirectoryUpinfoService {
return result_map; return result_map;
} }
@Transactional(rollbackFor = Exception.class)
private int saveJsonList(JSONArray json_list) { private int saveJsonList(JSONArray json_list) {
List<SocialDirectoryUpinfo> list = new ArrayList<>(); List<SocialDirectoryUpinfo> list = new ArrayList<>();
for (int i = 0; i < json_list.size(); i++) { for (int i = 0; i < json_list.size(); i++) {