Compare commits
No commits in common. "1ae4903307877386bc1d481b940987ec5cf68b9d" and "3eb09a0ffc05872af8b2ca49a5fda08e3a3fe320" have entirely different histories.
1ae4903307
...
3eb09a0ffc
|
|
@ -1,6 +1,5 @@
|
||||||
package com.syjiaer.clinic.server.common.task;
|
package com.syjiaer.clinic.server.common.task;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
||||||
import com.syjiaer.clinic.server.common.util.CacheUtil;
|
import com.syjiaer.clinic.server.common.util.CacheUtil;
|
||||||
import com.syjiaer.clinic.server.common.util.DateUtil;
|
import com.syjiaer.clinic.server.common.util.DateUtil;
|
||||||
import com.syjiaer.clinic.server.entity.social.dto.ReconciliationItemDto;
|
import com.syjiaer.clinic.server.entity.social.dto.ReconciliationItemDto;
|
||||||
|
|
@ -23,11 +22,35 @@ public class SocialReconciliationManager {
|
||||||
private SocialReconciliationService socialReconciliationService;
|
private SocialReconciliationService socialReconciliationService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private CacheUtil cacheUtil;
|
private CacheUtil cacheUtil;
|
||||||
@Scheduled(cron = "0 0 10,16 * * ? ")
|
@Scheduled(cron = "0 0 8 1/1 * ?")
|
||||||
public void everyDayReconciliation() {
|
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) {
|
||||||
socialReconciliationService.auto();
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -69,7 +69,7 @@ public class SocialReconciliationController extends BaseController {
|
||||||
@RequestMapping("/totalDo")
|
@RequestMapping("/totalDo")
|
||||||
public Result<OM3201> totalDo(){
|
public Result<OM3201> totalDo(){
|
||||||
ReconciliationItemDto dto = parmsUtil.getObject("data", ReconciliationItemDto.class);
|
ReconciliationItemDto dto = parmsUtil.getObject("data", ReconciliationItemDto.class);
|
||||||
return success( socialReconciliationService.totalDo(dto,false));
|
return success( socialReconciliationService.totalDo(dto));
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 明细对账
|
* 明细对账
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,6 @@ import com.syjiaer.clinic.server.common.config.Config;
|
||||||
import com.syjiaer.clinic.server.common.constants.Constants;
|
import com.syjiaer.clinic.server.common.constants.Constants;
|
||||||
import com.syjiaer.clinic.server.common.enums.ChargeTypeEnum;
|
import com.syjiaer.clinic.server.common.enums.ChargeTypeEnum;
|
||||||
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.FileUtil;
|
import com.syjiaer.clinic.server.common.util.FileUtil;
|
||||||
import com.syjiaer.clinic.server.common.util.HttpUtil;
|
import com.syjiaer.clinic.server.common.util.HttpUtil;
|
||||||
import com.syjiaer.clinic.server.common.vo.Page;
|
import com.syjiaer.clinic.server.common.vo.Page;
|
||||||
|
|
@ -36,7 +35,6 @@ import java.io.File;
|
||||||
import java.io.FileWriter;
|
import java.io.FileWriter;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDate;
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
|
@ -130,7 +128,7 @@ public class SocialReconciliationService extends BaseService {
|
||||||
* @param dto
|
* @param dto
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public OM3201 totalDo(ReconciliationItemDto dto,Boolean isRecordLog) {
|
public OM3201 totalDo(ReconciliationItemDto dto) {
|
||||||
IM3201 im3201 = new IM3201();
|
IM3201 im3201 = new IM3201();
|
||||||
IM3201.Data inData = new IM3201.Data();
|
IM3201.Data inData = new IM3201.Data();
|
||||||
inData.setInsutype(dto.getInsuranceType());
|
inData.setInsutype(dto.getInsuranceType());
|
||||||
|
|
@ -144,9 +142,7 @@ public class SocialReconciliationService extends BaseService {
|
||||||
inData.setFixmedins_setl_cnt(new BigDecimal(dto.getSettlementCount()));
|
inData.setFixmedins_setl_cnt(new BigDecimal(dto.getSettlementCount()));
|
||||||
im3201.setData(inData);
|
im3201.setData(inData);
|
||||||
OM3201 om3201 = socialRequest.call3201(im3201);
|
OM3201 om3201 = socialRequest.call3201(im3201);
|
||||||
if (isRecordLog){
|
recordTotalReconciliationLog(dto, om3201);
|
||||||
recordTotalReconciliationLog(dto, om3201);
|
|
||||||
}
|
|
||||||
return om3201;
|
return om3201;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -332,45 +328,4 @@ public class SocialReconciliationService extends BaseService {
|
||||||
}
|
}
|
||||||
return pageHelper(query.getPageNum(), query.getPageSize(), queryWrapper, socialReconciliationLogMapper);
|
return pageHelper(query.getPageNum(), query.getPageSize(), queryWrapper, socialReconciliationLogMapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 自动对账
|
|
||||||
*/
|
|
||||||
public void auto() {
|
|
||||||
//最后一次自动对账的时间
|
|
||||||
QueryWrapper<SocialReconciliationLog> queryWrapper = new QueryWrapper<>();
|
|
||||||
queryWrapper.orderByDesc("create_time");
|
|
||||||
queryWrapper.last("limit 1");
|
|
||||||
LocalDate lastTime = LocalDate.now();
|
|
||||||
SocialReconciliationLog socialReconciliationLog = socialReconciliationLogMapper.selectOne(queryWrapper);
|
|
||||||
if (socialReconciliationLog != null){
|
|
||||||
lastTime = socialReconciliationLog.getCreateTime().toLocalDate();
|
|
||||||
}
|
|
||||||
|
|
||||||
List<LocalDate> dateList = DateUtil.getDatesBetween(lastTime, LocalDate.now());
|
|
||||||
for (LocalDate date : dateList) {
|
|
||||||
LocalDateTime beginTime = date.atStartOfDay();
|
|
||||||
LocalDateTime endTime = date.atTime(23, 59, 59);
|
|
||||||
List<ReconciliationItemVo> list = getList(beginTime,endTime);
|
|
||||||
for (ReconciliationItemVo vo : list){
|
|
||||||
System.out.println(vo.toString());
|
|
||||||
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 {
|
|
||||||
totalDo(dto,true);
|
|
||||||
}catch (Exception e){
|
|
||||||
log.error("对账失败",e);
|
|
||||||
}
|
|
||||||
//
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,10 +10,10 @@ spring:
|
||||||
host: dev.jizhiweb.cn
|
host: dev.jizhiweb.cn
|
||||||
port: 6379
|
port: 6379
|
||||||
datasource:
|
datasource:
|
||||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
url: jdbc:mysql://dev.jizhiweb.cn:3306/syjiaer_clinic
|
url: jdbc:mysql://dev.jizhiweb.cn:3306/syjiaer_clinic
|
||||||
username: root
|
username: root
|
||||||
password: i7L0BS91pADGuy7z
|
password: i7L0BS91pADGuy7z
|
||||||
config:
|
config:
|
||||||
import: optional:classpath:developer-config.yml
|
import: optional:classpath:developer-config.yml
|
||||||
server:
|
server:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue