Merge branch 'master' of ssh://git.jizhiweb.cn:2222/clinic-v2/server
This commit is contained in:
commit
3eb09a0ffc
|
|
@ -3,8 +3,10 @@ package com.syjiaer.clinic.server;
|
||||||
import org.mybatis.spring.annotation.MapperScan;
|
import org.mybatis.spring.annotation.MapperScan;
|
||||||
import org.springframework.boot.SpringApplication;
|
import org.springframework.boot.SpringApplication;
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
|
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||||
|
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
|
@EnableScheduling
|
||||||
@MapperScan("com.syjiaer.clinic.server.mapper.*")
|
@MapperScan("com.syjiaer.clinic.server.mapper.*")
|
||||||
public class ServerApplication {
|
public class ServerApplication {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,56 @@
|
||||||
|
package com.syjiaer.clinic.server.common.task;
|
||||||
|
|
||||||
|
import com.syjiaer.clinic.server.common.util.CacheUtil;
|
||||||
|
import com.syjiaer.clinic.server.common.util.DateUtil;
|
||||||
|
import com.syjiaer.clinic.server.entity.social.dto.ReconciliationItemDto;
|
||||||
|
import com.syjiaer.clinic.server.entity.social.vo.ReconciliationItemVo;
|
||||||
|
import com.syjiaer.clinic.server.service.social.SocialReconciliationService;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
@Slf4j
|
||||||
|
public class SocialReconciliationManager {
|
||||||
|
@Autowired
|
||||||
|
private SocialReconciliationService socialReconciliationService;
|
||||||
|
@Autowired
|
||||||
|
private CacheUtil cacheUtil;
|
||||||
|
@Scheduled(cron = "0 0 8 1/1 * ?")
|
||||||
|
public void everyDayReconciliation() {
|
||||||
|
LocalDate localDate = cacheUtil.get("social:reconciliation:lastEveryDayReconciliationTime", LocalDate.class);
|
||||||
|
System.out.println(localDate);
|
||||||
|
cacheUtil.set("social:reconciliation:lastEveryDayReconciliationTime", LocalDate.now().plusDays(-1));
|
||||||
|
List<LocalDate> dateList = DateUtil.getDatesBetween(localDate, LocalDate.now());
|
||||||
|
|
||||||
|
for (LocalDate date : dateList) {
|
||||||
|
LocalDateTime beginTime = date.atStartOfDay();
|
||||||
|
LocalDateTime endTime = date.atTime(23, 59, 59);
|
||||||
|
List<ReconciliationItemVo> list = socialReconciliationService.getList(beginTime,endTime);
|
||||||
|
for (ReconciliationItemVo vo : list){
|
||||||
|
ReconciliationItemDto dto = new ReconciliationItemDto();
|
||||||
|
dto.setReconciliationType(vo.getReconciliationType());
|
||||||
|
dto.setInsuranceType(vo.getInsuranceType());
|
||||||
|
dto.setHandlingInstitution(vo.getHandlingInstitution());
|
||||||
|
dto.setTotalMedicalCost(vo.getTotalMedicalCost());
|
||||||
|
dto.setTotalFundPayment(vo.getTotalFundPayment());
|
||||||
|
dto.setTotalPersonalAccountPayment(vo.getTotalPersonalAccountPayment());
|
||||||
|
dto.setSettlementCount(vo.getSettlementCount());
|
||||||
|
dto.setBeginTime(beginTime);
|
||||||
|
dto.setEndTime(endTime);
|
||||||
|
try {
|
||||||
|
socialReconciliationService.totalDo(dto);
|
||||||
|
}catch (Exception e){
|
||||||
|
log.error("对账失败",e);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -20,6 +20,12 @@ public class CacheUtil {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void set(String key, Object value) {
|
||||||
|
String s = JSONObject.toJSONString(value);
|
||||||
|
redisTemplate.opsForValue().set(key, s);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public <T> T get(String key, Class<T> clazz) {
|
public <T> T get(String key, Class<T> clazz) {
|
||||||
String json = (String) redisTemplate.opsForValue().get(key);
|
String json = (String) redisTemplate.opsForValue().get(key);
|
||||||
if (json == null) return null;
|
if (json == null) return null;
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ 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;
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
public class DateUtil {
|
public class DateUtil {
|
||||||
public static final String DATE_FORMAT = "yyyy-MM-dd";
|
public static final String DATE_FORMAT = "yyyy-MM-dd";
|
||||||
|
|
@ -70,4 +71,9 @@ public class DateUtil {
|
||||||
}
|
}
|
||||||
return dates;
|
return dates;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static List<LocalDate> getDatesBetween(LocalDate startDate, LocalDate endDate) {
|
||||||
|
return Stream.iterate(startDate, date -> date.plusDays(1))
|
||||||
|
.limit(java.time.temporal.ChronoUnit.DAYS.between(startDate, endDate) + 1).toList();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -59,7 +59,7 @@ public class SocialReconciliationController extends BaseController {
|
||||||
*/
|
*/
|
||||||
@RequestMapping("/pageHistory")
|
@RequestMapping("/pageHistory")
|
||||||
public Result<Page<SocialReconciliationLog>> pageHistory(){
|
public Result<Page<SocialReconciliationLog>> pageHistory(){
|
||||||
ReconciliationLogQuery query = parmsUtil.getObject("data", ReconciliationLogQuery.class);
|
ReconciliationLogQuery query = parmsUtil.getObject("query", ReconciliationLogQuery.class);
|
||||||
return success(socialReconciliationService.pageLogs(query));
|
return success(socialReconciliationService.pageLogs(query));
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue