From 2eb40036e885988fbf93ebcb98a339b197fb6340 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期四, 05 六月 2025 17:39:52 +0800 Subject: [PATCH] zjh20250605 --- ltkj-admin/src/main/java/com/ltkj/web/controller/sqlserver/TjSqlController.java | 381 ++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 326 insertions(+), 55 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/sqlserver/TjSqlController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/sqlserver/TjSqlController.java index 27ff245..3f4bde8 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/sqlserver/TjSqlController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/sqlserver/TjSqlController.java @@ -1,33 +1,53 @@ 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.annotation.RepeatSubmit; 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.config.UserHoder; import com.ltkj.framework.datasource.DynamicDataSourceContextHolder; +import com.ltkj.hosp.domain.*; 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 io.swagger.annotations.ApiParam; +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.util.List; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpSession; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.*; +import java.util.stream.Collectors; + +import static com.ltkj.framework.datasource.DynamicDataSourceContextHolder.log; +import static org.apache.poi.hemf.record.emfplus.HemfPlusRecordType.save; @RestController @RequestMapping("/sqlserver/getdata") -@Api(tags = "鑾峰彇浠庡簱鏁版嵁") +@Api(tags = "AAAAAAAAAAA鑾峰彇浠庡簱鏁版嵁") public class TjSqlController extends BaseController { @Resource private TestMapper testMapper; - @Resource private TjvLtkjvtjpatService tjvLtkjvtjpatService; - @Resource private LtkjMiddleDetailService middleDetailService; - @Resource private LtkjMiddleHeadService headService; @Resource @@ -38,9 +58,113 @@ private LtkjHybgdService ltkjHybgdService; @Resource private LtkjHysqdService ltkjHysqdService; + @Resource + private ITjCustomerService tjCustomerService; + @Resource + private ITjOrderService orderService; + @Resource + private ISysDeptService deptService; + @Resource + private LtkjHisUserService hisUserService; + @Resource + private ITjProjectService tjProjectService; + @Autowired + private ITjOrderDetailService tjOrderDetailService; + @Resource + private ITjOrderRemarkService tjOrderRemarkService; + @Resource + private ITjProjectService projectService; + + + @GetMapping("/getTjHyBgList") + @ApiOperation(value = "鏌ヨlis鏁版嵁搴撻」鐩俊鎭帴鍙�") + public AjaxResult getTjHyBgList(@RequestParam(defaultValue = "1")Integer page, + @RequestParam(defaultValue = "10")Integer pageSize, + @RequestParam(required = false)String pname, + @RequestParam(required = false)String pid, + @RequestParam(required = false)String pym, + @RequestParam(required = false)String checktype) { +// List<Map<String, Object>> maps = testMapper.getTjHyBgList(pacCode,pacName,pacRemark); +// DynamicDataSourceContextHolder.clearDataSourceType(); + Map<String,Object> map= projectService.getTjHyBgList(page,pageSize,pname,pid,pym,checktype); + return AjaxResult.success(map); + } + + + @GetMapping("/newGetTjPat") + @ApiOperation(value = "A------鏂扮殑鏌ヨ浣撴淇℃伅鎺ュ彛") + public AjaxResult newGetTjPat(@RequestParam(required = false)String pacCode, + @RequestParam(required = false)String pacName, + @RequestParam(required = false)String pacRemark) { + List<Map<String, Object>> maps = testMapper.newGetTjPat(pacCode,pacName,pacRemark); + DynamicDataSourceContextHolder.clearDataSourceType(); + List<String> strings = orderService.selectTjOrderByCardId1(); + if(null !=strings && strings.size()>0){ + List<Map<String, Object>> collect = maps.stream() + .filter(item -> !strings.contains(item.get("pacCode").toString())).collect(Collectors.toList()); + return AjaxResult.success(collect); + } + return AjaxResult.success(maps); + } + + + + + @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鐨勬暟閲�(寰堝鍗氬鐬庤瑕佹寚瀹欼nteger.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") + @ApiOperation(value = "鏌ヨ鏀惰垂椤圭洰璇︽儏") public AjaxResult getMiddleDetail() { List<LtkjMiddleDetail> list = testMapper.getMiddleDetail(); DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); @@ -53,6 +177,7 @@ @GetMapping("/getMiddleHead") + @ApiOperation(value = "鏌ヨ鏀惰垂淇℃伅") public AjaxResult getMiddleHead() { List<LtkjMiddleHead> list = testMapper.getMiddleHead(); DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); @@ -63,15 +188,32 @@ return AjaxResult.success(list); } -// @GetMapping("/getVbjitem") -// @ApiOperation(value = "鏌ョ湅鍒楄〃") -// public AjaxResult getVbjitem() { -// List<LtkjVbjitem> list = testMapper.getVbjitem(); -// return AjaxResult.success(list); -// } + @GetMapping("/getMiddleHeadByPartId") + @ApiOperation(value = "鏍规嵁韬唤璇佸彿鏌ヨ鏀惰垂淇℃伅") + public AjaxResult getMiddleHeadByPartId(@RequestParam String partId) { + TjCustomer customer = tjCustomerService.getTjCustomerByCusIdCard(partId); + LtkjMiddleHead pat = testMapper.getMiddleHeadByPartId(customer.getCardId()); + if (null != pat) { + List<LtkjMiddleDetail> list = testMapper.getMiddleDetailByFeadId(pat.getFeadId()); + DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); + LtkjMiddleHead o = headService.getMiddleHeadByPartId(customer.getCardId()); + if(o==null){ + headService.save(pat); + for (LtkjMiddleDetail ltkjMiddleDetail : list) { + middleDetailService.save(ltkjMiddleDetail); + } + testMapper.saveTjProByCusId(customer.getCardId(),customer.getCusIdcard()); + } + testMapper.saveTjProByCusId(customer.getCardId(),customer.getCusIdcard()); + } + DynamicDataSourceContextHolder.clearDataSourceType(); + return AjaxResult.success(); + } + @GetMapping("/getTjPat") + @ApiOperation(value = "娴嬭瘯getTjPat") public AjaxResult getTjPat() { List<LtkjTjPat> list = testMapper.getTjPat(); DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); @@ -80,6 +222,31 @@ } DynamicDataSourceContextHolder.clearDataSourceType(); return AjaxResult.success(list); + } + + + @GetMapping("/getTjPatByIdCard") + @ApiOperation(value = "鏍规嵁韬唤璇佸彿娴嬭瘯getTjPat") + public AjaxResult getTjPatByIdCard(@RequestParam String idCard) { + LtkjTjPat tjPatByIdCard = testMapper.getTjPatByIdCard(idCard.trim()); + if(null != tjPatByIdCard){ + String fcardNo = tjPatByIdCard.getFcardNo(); + if(null !=fcardNo){ + fcardNo=fcardNo.trim(); + tjPatByIdCard.setFcardNo(fcardNo); + } + LtkjTjPat ltkjTjPat = tjvLtkjvtjpatService.getLtkjTjPatByCusIdCard(idCard); + if(null==ltkjTjPat){ + tjvLtkjvtjpatService.save(tjPatByIdCard); + } + } + DynamicDataSourceContextHolder.clearDataSourceType(); + //鍐嶆牴鎹韩浠借瘉鍙峰啓customer琛� + TjCustomer tjCustomer = tjCustomerService.getTjCustomerByCusIdCard(idCard); + if(null == tjCustomer){ + testMapper.getTjPatByCusId(idCard); + } + return AjaxResult.success(tjPatByIdCard); } @GetMapping("/getExamJcbgd") @@ -127,69 +294,173 @@ } - @GetMapping("/getLtkjTjPatById") - public AjaxResult getLtkjTjPatById(String id) { - LtkjTjPat one = testMapper.getTjPatById(id); + + @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()); - final boolean save = tjvLtkjvtjpatService.save(one); + for (LtkjMiddleHead ltkjMiddleHead : one) { + final boolean save = headService.save(ltkjMiddleHead); + } DynamicDataSourceContextHolder.clearDataSourceType(); return AjaxResult.success(save); } - @GetMapping("/getMiddleDetailById") - public AjaxResult getMiddleDetailById(String id) { - LtkjMiddleDetail one = testMapper.getMiddleDetailById(id); + @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()); - final boolean save = middleDetailService.save(one); + ltkjHysqdService.saveBatch(one); DynamicDataSourceContextHolder.clearDataSourceType(); - return AjaxResult.success(save); + for (LtkjHysqd ltkjHysqd : one) { + List<LtkjHybgd> one1 = testMapper.getHybgdByTmh(ltkjHysqd.getTmh()); + DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); + ltkjHybgdService.saveBatch(one1); + DynamicDataSourceContextHolder.clearDataSourceType(); + } + + return AjaxResult.success(); } - @GetMapping("/getMiddleHeadById") - public AjaxResult getMiddleHeadById(String id) { - LtkjMiddleHead one = testMapper.getMiddleHeadById(id); - DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); - final boolean save = headService.save(one); - DynamicDataSourceContextHolder.clearDataSourceType(); - return AjaxResult.success(save); + @GetMapping("/getLtkjHisUser") + @ApiOperation(value = "鍚屾his鐢ㄦ埛") + public AjaxResult getLtkjHisUser() { + List<LtkjHisUser> list = testMapper.getLtkjHisUser(); + if(null !=list && list.size()>0){ + DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); + for (LtkjHisUser user : list) { + LtkjHisUser hisUser= hisUserService.getHisUserByHisGh(user.getHisgh()); + if(null == hisUser){ + hisUserService.save(user); + } + } + DynamicDataSourceContextHolder.clearDataSourceType(); + } + return AjaxResult.success(); } - @GetMapping("/getExamJcbgdById") - public AjaxResult getExamJcbgdById(String id) { - LtkjExamJcbgd one = testMapper.getExamJcbgdById(id); - DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); - final boolean save = ltkjExamJcbgdService.save(one); - DynamicDataSourceContextHolder.clearDataSourceType(); - return AjaxResult.success(save); + + + @GetMapping("/dataSynchronization") + @ApiOperation(value = "鍚屾sql server鏁版嵁鍒版湰鍦版暟鎹簱鏁版嵁鎺ュ彛") + @RepeatSubmit + public AjaxResult dataSynchronization(@RequestParam String tjNumber) { + //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12 +// final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData"); +// if ("Y".equals(getInfoFromSqlData)) { + TjOrder order = orderService.getOrderByTjNum(tjNumber); + if (null != order) { + List<LtkjHysqd> one = testMapper.getHysqdByTmh(order.getCardId()); + if (one != null && one.size() > 0) { + for (LtkjHysqd ltkjHysqd : one) { +// DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); + LtkjHysqd hysqd = ltkjHysqdService.getLtkjHysqdByTjhAndTmh(ltkjHysqd.getTjh(), ltkjHysqd.getTmh()); + if(hysqd==null){ + ltkjHysqdService.save(ltkjHysqd); + DynamicDataSourceContextHolder.clearDataSourceType(); + List<LtkjHybgd> one1 = testMapper.getHybgdByTmh(ltkjHysqd.getTmh()); + if (one1 != null && one1.size() > 0) { + DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); + ltkjHybgdService.saveBatch(one1); + DynamicDataSourceContextHolder.clearDataSourceType(); + } + } + } + } + +// List<LtkjExamJcsqd> one2 = testMapper.getExamJcsqdTmh(tjNumber); +// if (one2 != null && one2.size() > 0) { +// DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); +// ltkjExamJcsqdService.saveBatch(one2); +// DynamicDataSourceContextHolder.clearDataSourceType(); +// for (LtkjExamJcsqd ltkjExamJcsqd : one2) { +// List<LtkjExamJcbgd> one3 = testMapper.getExamJcbgdByTjh(ltkjExamJcsqd.getTmh()); +// if (one3 != null && one3.size() > 0) { +// DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); +// ltkjExamJcbgdService.saveBatch(one3); +// DynamicDataSourceContextHolder.clearDataSourceType(); +// } +// } +// } + //鍚屾鍖栭獙椤圭洰 + testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()),order.getTjNumber(), "1"); + //鍚屾妫�鏌ラ」鐩� +// testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()),order.getTjNumber(),"1"); + } +// } + return AjaxResult.success("鍚屾鎴愬姛"); } - @GetMapping("/getExamJcsqdById") - public AjaxResult getExamJcsqdById(String id) { - LtkjExamJcsqd one = testMapper.getExamJcsqdById(id); - DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); - final boolean save = ltkjExamJcsqdService.save(one); - DynamicDataSourceContextHolder.clearDataSourceType(); - return AjaxResult.success(save); + + + @GetMapping("/getTjYxjcList") + @ApiOperation(value = "鏌ヨ褰卞搷妫�鏌ラ」鐩�") + public AjaxResult getTjYxjcList() { + List<Map<String, Object>> tjYxjcList = testMapper.getTjYxjcList("鏉ㄤ簯浜�",null,null); + return AjaxResult.success(tjYxjcList); } - @GetMapping("/getHybgdById") - public AjaxResult getHybgdById(String id) { - LtkjHybgd one = testMapper.getHybgdById(id); - DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); - final boolean save = ltkjHybgdService.save(one); - DynamicDataSourceContextHolder.clearDataSourceType(); - return AjaxResult.success(save); + + + @GetMapping("/getPacTjProjectList") + @ApiOperation(value = "缁存姢濂楅椤甸潰鏂板椤圭洰鏃惰皟鐢�") + public AjaxResult getPacTjProjectList() { +// LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); +// wq.eq(TjProject::getProParentId, 0); +// wq.eq(TjProject::getProStatus, 0); + List<TjProject> tjProjects = tjProjectService.getPacTjProjectList(); +// if (tjProjects != null) { +// for (TjProject project : tjProjects) { +// List<TjProject> projectList = tjProjectService.getTjProjectListBySoneId(String.valueOf(project.getProId())); +// project.setTjProjectList(projectList); +// } +// return AjaxResult.success(tjProjects); +// } + return AjaxResult.success(tjProjects); } - @GetMapping("/getHysqdById") - public AjaxResult getHysqdById(String id) { - LtkjHysqd one = testMapper.getHysqdById(id); - DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); - final boolean save = ltkjHysqdService.save(one); - DynamicDataSourceContextHolder.clearDataSourceType(); - return AjaxResult.success(save); + + @GetMapping("/getHuaYanProByTjNum") + @ApiOperation(value = "鏍规嵁浣撴鍙锋煡璇㈠寲楠岄」鐩帴鍙�") + public AjaxResult getHuaYanProByTjNum(@RequestParam @ApiParam(value = "浣撴鍙�") String tjNumber) { + Map<String,Object> map=new HashMap<>(); + + List<TjOrderDetail> tjOrderDetails = tjOrderDetailService.addHuaYanTable(tjNumber); + List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.addHuaYanTable(tjNumber); + map.put("tjOrderDetails",tjOrderDetails); + map.put("tjOrderRemarks",tjOrderRemarks); + return AjaxResult.success(map); } + + + @GetMapping("/getWsxmLtkjHysqdByLisViBySLAVEWS") + @ApiOperation(value = "鏌ヨ澶栭�侀」鐩甋qlServer鎺ュ彛") + public AjaxResult getWsxmLtkjHysqdByLisViBySLAVEWS(@RequestParam String s) { +// List<LtkjHybgd> wsbg = testMapper.getWsxmLtkjHybgdByLisViBySLAVEWS(s); +// log.info(wsbg.toString()); + return AjaxResult.success(testMapper.getWsxmLtkjHysqdByLisViBySLAVEWS(s)); + } + + } -- Gitblit v1.8.0