package com.ltkj.web.controller.sqlserver;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.ltkj.common.core.controller.BaseController;
|
import com.ltkj.common.core.domain.AjaxResult;
|
import com.ltkj.common.core.redis.RedisCache;
|
import com.ltkj.common.enums.DataSourceType;
|
import com.ltkj.framework.datasource.DynamicDataSourceContextHolder;
|
import com.ltkj.hosp.domain.TjOrder;
|
import com.ltkj.hosp.domain.TjOrderRemark;
|
import com.ltkj.hosp.service.*;
|
import com.ltkj.hosp.sqlDomain.*;
|
import com.ltkj.hosp.mapper.TestMapper;
|
import com.ltkj.system.service.ISysDeptService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.checkerframework.checker.units.qual.A;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.data.redis.core.ConvertingCursor;
|
import org.springframework.data.redis.core.Cursor;
|
import org.springframework.data.redis.core.RedisTemplate;
|
import org.springframework.data.redis.core.ScanOptions;
|
import org.springframework.data.redis.serializer.RedisSerializer;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import java.sql.ResultSet;
|
import java.sql.SQLException;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
import static com.ltkj.framework.datasource.DynamicDataSourceContextHolder.log;
|
import static org.apache.poi.hemf.record.emfplus.HemfPlusRecordType.save;
|
|
|
@RestController
|
@RequestMapping("/sqlserver/getdata")
|
@Api(tags = "获取从库数据")
|
public class TjSqlController extends BaseController {
|
@Resource
|
private TestMapper testMapper;
|
|
@Resource
|
private TjvLtkjvtjpatService tjvLtkjvtjpatService;
|
|
@Resource
|
private LtkjMiddleDetailService middleDetailService;
|
|
@Resource
|
private LtkjMiddleHeadService headService;
|
@Resource
|
private LtkjExamJcbgdService ltkjExamJcbgdService;
|
@Resource
|
private LtkjExamJcsqdService ltkjExamJcsqdService;
|
@Resource
|
private LtkjHybgdService ltkjHybgdService;
|
@Resource
|
private LtkjHysqdService ltkjHysqdService;
|
@Autowired
|
public RedisTemplate<Object,Object> redisTemplate;
|
@Resource
|
private RedisCache redisCache;
|
@Resource
|
private TjAsyncService asyncService;
|
@Resource
|
private ITjOrderRemarkService remarkService;
|
@Resource
|
private ITjOrderService orderService;
|
@Resource
|
private ISysDeptService deptService;
|
@GetMapping("/getRedisValue")
|
@ApiOperation(value = "测试redis模糊查询")
|
public AjaxResult getRedisValue(@RequestParam int aa,
|
@RequestParam(defaultValue = "1") Integer page,
|
@RequestParam(defaultValue = "10") Integer pageSize,
|
@RequestParam(required = false) String deptId,
|
@RequestParam(required = false) String tjName,
|
@RequestParam(required = false) String tjNum) throws SQLException, JsonProcessingException {
|
// long start = System.currentTimeMillis();
|
// //需要匹配的key
|
// ScanOptions options = ScanOptions.scanOptions()
|
// //这里指定每次扫描key的数量(很多博客瞎说要指定Integer.MAX_VALUE,这样的话跟 keys有什么区别?)
|
// .count(10000)
|
// .match(aa+"*").build();
|
// RedisSerializer<String> redisSerializer = (RedisSerializer<String>) redisTemplate.getKeySerializer();
|
// Cursor cursor = redisTemplate.executeWithStickyConnection(redisConnection -> new ConvertingCursor<>(redisConnection.scan(options), redisSerializer::deserialize));
|
// List<Object> result = new ArrayList<>();
|
// while(cursor.hasNext()){
|
// String s = cursor.next().toString();
|
// redisCache.deleteObject(s);
|
// }
|
// //切记这里一定要关闭,否则会耗尽连接数。报Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisException: Could not get a
|
// cursor.close();
|
//// System.out.println(result);
|
// log.info("scan扫描共耗时:{} ms key数量:{}",System.currentTimeMillis()-start,result.size());
|
// Map<String,Object>map=new HashMap<>();
|
// map.put("result",result);
|
// map.put("scan扫描共耗时:{} ms key数量:{}",System.currentTimeMillis()-start+result.size());
|
// List<TjOrderRemark> list = remarkService.list(new LambdaQueryWrapper<TjOrderRemark>().ne(TjOrderRemark::getType,2).groupBy(TjOrderRemark::getTjNumber));
|
// for (TjOrderRemark remark : list) {
|
// TjOrder orderByTjNum = orderService.getOrderByTjNum(remark.getTjNumber());
|
// if(null !=orderByTjNum){
|
// asyncService.dockerSetWjCustomerByRedis(orderByTjNum.getOrderId(),remark.getDeptId());
|
// asyncService.dockerSetYjCustomerByRedis(orderByTjNum.getOrderId(),remark.getDeptId());
|
// }
|
// }
|
if(null==deptId) deptId="";
|
if(null==tjName) tjName="";
|
if(null==tjNum) tjNum="";
|
|
// List<Map<String, Object>> map = deptService.getSysDeptYjWjCustomerList(deptId, tjName, tjNum, aa, page, pageSize);
|
// List<ResultSet> map = deptService.getSysDeptYjWjCustomerList1(deptId, tjName, tjNum, aa, page, pageSize);
|
// ResultSet resultSet = deptService.getSysDeptYjWjCustomerList12(deptId, tjName, tjNum, aa, page, pageSize);
|
// while (resultSet.next()){
|
// String anInt = resultSet.getString(1);
|
// System.out.println(anInt);
|
// }
|
|
Map<String,Object> map = deptService.getSysDeptYjWjCustomerList13(deptId, tjName, tjNum, aa, page, pageSize);
|
return AjaxResult.success(map);
|
}
|
|
|
@GetMapping("/getMiddleDetail")
|
public AjaxResult getMiddleDetail() {
|
List<LtkjMiddleDetail> list = testMapper.getMiddleDetail();
|
DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
|
for (LtkjMiddleDetail ltkjMiddleDetail : list) {
|
final boolean save = middleDetailService.save(ltkjMiddleDetail);
|
}
|
DynamicDataSourceContextHolder.clearDataSourceType();
|
return AjaxResult.success(list);
|
}
|
|
|
@GetMapping("/getMiddleHead")
|
public AjaxResult getMiddleHead() {
|
List<LtkjMiddleHead> list = testMapper.getMiddleHead();
|
DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
|
for (LtkjMiddleHead ltkjMiddleHead : list) {
|
final boolean save = headService.save(ltkjMiddleHead);
|
}
|
DynamicDataSourceContextHolder.clearDataSourceType();
|
return AjaxResult.success(list);
|
}
|
|
// @GetMapping("/getVbjitem")
|
// @ApiOperation(value = "查看列表")
|
// public AjaxResult getVbjitem() {
|
// List<LtkjVbjitem> list = testMapper.getVbjitem();
|
// return AjaxResult.success(list);
|
// }
|
|
|
@GetMapping("/getTjPat")
|
public AjaxResult getTjPat() {
|
List<LtkjTjPat> list = testMapper.getTjPat();
|
DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
|
for (LtkjTjPat ltkjTjPat : list) {
|
final boolean save = tjvLtkjvtjpatService.save(ltkjTjPat);
|
}
|
DynamicDataSourceContextHolder.clearDataSourceType();
|
return AjaxResult.success(list);
|
}
|
|
@GetMapping("/getExamJcbgd")
|
public AjaxResult getExamJcbgd() {
|
List<LtkjExamJcbgd> list = testMapper.getExamJcbgd();
|
DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
|
for (LtkjExamJcbgd ltkjExamJcbgd : list) {
|
final boolean save = ltkjExamJcbgdService.save(ltkjExamJcbgd);
|
}
|
DynamicDataSourceContextHolder.clearDataSourceType();
|
return AjaxResult.success(list);
|
}
|
|
@GetMapping("/getExamJcsqd")
|
public AjaxResult getExamJcsqd() {
|
List<LtkjExamJcsqd> list = testMapper.getExamJcsqd();
|
DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
|
for (LtkjExamJcsqd ltkjExamJcsqd : list) {
|
final boolean save = ltkjExamJcsqdService.save(ltkjExamJcsqd);
|
}
|
DynamicDataSourceContextHolder.clearDataSourceType();
|
return AjaxResult.success(list);
|
}
|
|
@GetMapping("/getHybgd")
|
public AjaxResult getHybgd() {
|
List<LtkjHybgd> list = testMapper.getHybgd();
|
DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
|
for (LtkjHybgd ltkjHybgd : list) {
|
final boolean save = ltkjHybgdService.save(ltkjHybgd);
|
}
|
DynamicDataSourceContextHolder.clearDataSourceType();
|
return AjaxResult.success(list);
|
}
|
|
@GetMapping("/getHysqd")
|
public AjaxResult getHysqd() {
|
List<LtkjHysqd> list = testMapper.getHysqd();
|
DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
|
for (LtkjHysqd ltkjHysqd : list) {
|
final boolean save = ltkjHysqdService.save(ltkjHysqd);
|
}
|
DynamicDataSourceContextHolder.clearDataSourceType();
|
return AjaxResult.success(list);
|
}
|
|
|
|
@GetMapping("/getTjPatByCusId")
|
public AjaxResult getTjPatByCusId(String cusId) {
|
testMapper.getTjPatByCusId(cusId);
|
return AjaxResult.success();
|
}
|
|
|
@GetMapping("/saveMiddleHeadByPatId")
|
public AjaxResult saveMiddleHeadByPatId(String id) {
|
List<LtkjMiddleHead> one = testMapper.saveMiddleHeadByPatId(id);
|
DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
|
for (LtkjMiddleHead ltkjMiddleHead : one) {
|
final boolean save = headService.save(ltkjMiddleHead);
|
}
|
DynamicDataSourceContextHolder.clearDataSourceType();
|
return AjaxResult.success(save);
|
}
|
|
|
@GetMapping("/getMiddleDetailByHeadId")
|
public AjaxResult getMiddleDetailByHeadId(String id) {
|
List<LtkjMiddleDetail> one = testMapper.getMiddleDetailByHeadId(id);
|
for (LtkjMiddleDetail ltkjMiddleDetail : one) {
|
DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
|
final boolean save = middleDetailService.save(ltkjMiddleDetail);
|
DynamicDataSourceContextHolder.clearDataSourceType();
|
}
|
return AjaxResult.success(one);
|
}
|
|
@GetMapping("/test")
|
public AjaxResult getHysqdByTmh(String id) {
|
List<LtkjHysqd> one = testMapper.getHysqdByTmh(id);
|
DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
|
ltkjHysqdService.saveBatch(one);
|
DynamicDataSourceContextHolder.clearDataSourceType();
|
for (LtkjHysqd ltkjHysqd : one) {
|
List<LtkjHybgd> one1 = testMapper.getHybgdByTmh(ltkjHysqd.getTmh());
|
DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
|
ltkjHybgdService.saveBatch(one1);
|
DynamicDataSourceContextHolder.clearDataSourceType();
|
}
|
|
return AjaxResult.success();
|
}
|
|
|
|
}
|