From 1917e1b69a8480654c086df54e32b0be94a88e7d Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期一, 17 三月 2025 17:51:35 +0800 Subject: [PATCH] zjh20250317 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java | 460 +++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 361 insertions(+), 99 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java index 90bd1e0..f5413de 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java @@ -49,6 +49,7 @@ import javax.annotation.Resource; import java.math.BigDecimal; +import java.text.Collator; import java.util.*; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -56,6 +57,8 @@ import static com.ltkj.framework.datasource.DynamicDataSourceContextHolder.log; import static org.apache.poi.hemf.record.emfplus.HemfPlusRecordType.save; import static org.apache.poi.hemf.record.emfplus.HemfPlusRecordType.setClipRect; +import static org.jeecg.modules.jmreport.dyndb.util.b.a; +import static org.jeecg.modules.jmreport.dyndb.util.b.e; /** * @Author: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃/璧典匠璞� @@ -122,49 +125,63 @@ private RedissonClient redissonClient; @Autowired private ITjRulesService rulesService; + @Autowired + private ITjProAdvicerulesService tjProAdvicerulesService; + @Autowired + private TjOrderYcxmService ycxmService; + @Autowired + private SysConfigController configController; @GetMapping ("/ceshicc") @ApiOperation (value = "娴嬭瘯璋冪敤瀛樺偍杩囩▼鑰楁椂鎺ュ彛") @RepeatSubmit // @Transactional - public AjaxResult ceshicc(String s) { + public AjaxResult ceshicc() { - Map<String,Object> map=new HashMap<>(); - List<List<?>> tjpled = testMapper.tjplUpdateDetatilByVi(map); - log.info(tjpled.toString()); - Integer object = (Integer) map.get("total"); - return AjaxResult.success(object); + List<LtkjExamJcsqd> jcsqdList = testMapper.getCcXZxYyPacsLtkjExamJcsqd1("8003241206085556"); + if(null !=jcsqdList && !jcsqdList.isEmpty()){ + jcsqdService.deletedLtkjJcsqdByTjhAndTmh("8003241206085556"); + jcbgdService.deletedLtkjJcbgdByTjhAndTmh("8003241206085556"); + jcsqdService.saveBatch(jcsqdList); + List<LtkjExamJcbgd> jcbgdList = testMapper.getCcXZxYyPacsLtkjExamJcbgd1("8003241206085556"); + if(null != jcbgdList && !jcbgdList.isEmpty())jcbgdService.saveBatch(jcbgdList); + DynamicDataSourceContextHolder.clearDataSourceType(); + } + return AjaxResult.success(); } - @GetMapping ("/ceshi") - @ApiOperation (value = "娴嬭瘯璋冪敤lis瑙嗗浘鏁版嵁鎺ュ彛") - @RepeatSubmit -// @Transactional - public AjaxResult ceshi() { - List<Map<String, Object>> ccXZxYyLisJgSt = testMapper.getCcXZxYyLisJgSt(); - return AjaxResult.success(ccXZxYyLisJgSt); - } +// @GetMapping ("/ceshi") +// @ApiOperation (value = "娴嬭瘯璋冪敤lis瑙嗗浘鏁版嵁鎺ュ彛") +// @RepeatSubmit +//// @Transactional +// public AjaxResult ceshi() { +// List<Map<String, Object>> ccXZxYyLisJgSt = testMapper.getCcXZxYyLisJgSt(); +// return AjaxResult.success(ccXZxYyLisJgSt); +// } - @GetMapping ("/pacs") - @ApiOperation (value = "娴嬭瘯璋冪敤pacs瑙嗗浘鏁版嵁鎺ュ彛") - @RepeatSubmit - public AjaxResult pacs() { - List<Map<String, Object>> ccXZxYyPacsJgSt = testMapper.getCcXZxYyPacsJgSt(); +// @GetMapping ("/pacs") +// @ApiOperation (value = "娴嬭瘯璋冪敤pacs瑙嗗浘鏁版嵁鎺ュ彛") +// @RepeatSubmit +// public AjaxResult pacs() { +// List<Map<String, Object>> ccXZxYyPacsJgSt = testMapper.getCcXZxYyPacsJgSt(); +// +// List<LtkjExamJcsqd> list = testMapper.getCcXZxYyPacsLtkjExamJcsqd(""); +// +// log.info(list.toString()); +// +// List<LtkjExamJcbgd> list1 = testMapper.getCcXZxYyPacsLtkjExamJcbgd(""); +// +// log.info(list1.toString()); +// +// return AjaxResult.success(ccXZxYyPacsJgSt); +// } - List<LtkjExamJcsqd> list = testMapper.getCcXZxYyPacsLtkjExamJcsqd(""); - log.info(list.toString()); - List<LtkjExamJcbgd> list1 = testMapper.getCcXZxYyPacsLtkjExamJcbgd(""); - - log.info(list1.toString()); - - return AjaxResult.success(ccXZxYyPacsJgSt); - } @GetMapping ("/getOperationPermissionsByTjNum") @ApiOperation (value = "(鍒濆椤甸潰 鍜� 鍖荤敓椤甸潰)鏍规嵁浣撴鍙疯幏鍙栨槸鍚﹀彲鎿嶄綔鏉冮檺鎺ュ彛 true鍙搷浣� 鍙嶄箣涓嶅彲") @@ -192,6 +209,7 @@ @ApiParam (value = "浣撴鍗曞彿") @RequestParam (required = false) String tjNumber, @ApiParam (value = "鍗曚綅") @RequestParam (required = false) Long compId, @ApiParam (value = "濮撳悕)") @RequestParam (required = false) String name, + @ApiParam (value = "濂楅鍚�)") @RequestParam (required = false) String tcm, @ApiParam (value = "寮�濮嬫椂闂�") @RequestParam (required = false) String beginTime, @ApiParam (value = "缁撴潫鏃堕棿") @RequestParam (required = false) String endTime) { @@ -277,7 +295,8 @@ if (name == null) name = ""; if (beginTime == null) beginTime = ""; if (endTime == null) endTime = ""; - return AjaxResult.success(orderService.getCsCunChuGuoChengCustomerList(tjNumber, page, pageSize, checkStatus, value, beginTime, endTime, name)); + if (tcm == null) tcm = ""; + return AjaxResult.success(orderService.getCsCunChuGuoChengCustomerList(tjNumber, page, pageSize, checkStatus, value, beginTime, endTime, name,tcm)); } @@ -321,7 +340,7 @@ public List<CsProVo> getCsProVos(String tjNumber,boolean sfzpacs) { List<CsProVo> list = orderRemarkService.cSWebGetProByTjNumAndOrderId(tjNumber,sfzpacs); - if (null != list && list.size() > 0) { + if (null != list && !list.isEmpty()) { list.sort(new Comparator<CsProVo>() { @Override public int compare(CsProVo o1, CsProVo o2) { @@ -384,7 +403,7 @@ @RepeatSubmit // @Transactional public AjaxResult dataSynchronization(@RequestParam String tjNumber) { - + String dqyyyqbm = configService.selectConfigByKey("dqyyyqbm"); RLock lock = redissonClient.getLock("lock:check:dataSynchronization:" + tjNumber); try { boolean tryLock = lock.tryLock(3L, TimeUnit.SECONDS); @@ -545,7 +564,7 @@ maps.put("ksbm", "浣撴涓績"); maps.put("pagecount", 100); maps.put("page", 1); -// AjaxResult results = service.getHISDataNew("Getexamreportinfo", maps); + LambdaQueryWrapper<HisApiConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, "Getexamreportinfo"); @@ -553,7 +572,15 @@ /*鍚屾妫�鏌� his瀛樺偍杩囩▼*/ - AjaxResult results = jcsqdService.getTjJcProByHisCall("浣撴涓績", order.getCardId(), "''", 100, 1, "'1'"); + + String jctbfs = configService.selectConfigByKey("jctbfs"); + AjaxResult results =null; + if (jctbfs.equalsIgnoreCase("Y")){ + results = service.getHISDataNew("Getexamreportinfo", maps); + }else{ + results = jcsqdService.getTjJcProByHisCall("浣撴涓績", order.getCardId(), "''", 100, 1, "'1'"); + } + DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); DynamicDataSourceContextHolder.clearDataSourceType(); @@ -641,7 +668,7 @@ return AjaxResult.success("鍚屾鎴愬姛"); } else if(null !=sfkqdshitulianjie && sfkqdshitulianjie.equalsIgnoreCase("Y")){ - List<LtkjHysqd> hysqdList = testMapper.getCcXZxYyLtkjHysqdByLisVi(order.getTjNumber()); + List<LtkjHysqd> hysqdList = testMapper.getCcXZxYyLtkjHysqdByLisVi(order.getTjNumber(),dqyyyqbm); if(null != hysqdList && !hysqdList.isEmpty()){ for (LtkjHysqd hysqd : hysqdList) { LtkjHysqd jybgid = ltkjHysqdService.getLtkjHysqdByTjhAndTmh(hysqd.getTjh(),hysqd.getTmh()); @@ -656,7 +683,7 @@ } DynamicDataSourceContextHolder.clearDataSourceType(); } - List<LtkjExamJcsqd> jcsqdList = testMapper.getCcXZxYyPacsLtkjExamJcsqd(order.getTjNumber()); + List<LtkjExamJcsqd> jcsqdList = testMapper.getCcXZxYyPacsLtkjExamJcsqd(order.getTjNumber(),dqyyyqbm); if(null !=jcsqdList && !jcsqdList.isEmpty()){ jcsqdService.deletedLtkjJcsqdByTjhAndTmh(order.getCardId()); jcbgdService.deletedLtkjJcbgdByTjhAndTmh(order.getCardId()); @@ -716,17 +743,21 @@ if ("Y".equals(getInfoFromSqlData)) { tbhyxm(order); //鍚屾鍖栭獙椤圭洰 - testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId); +// testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId); //鍚屾妫�鏌ラ」鐩� - testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId); +// testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId); asyncService.updateCheckType(order.getTjNumber()); } + // 11:42:04.617 [http-nio-5000-exec-72] ERROR c.a.d.p.DruidDataSource - [init,905] - init datasource error, url: jdbc:sqlserver://192.168.10.2:1433;DatabaseName=hospital;&characterEncoding=utf8 + //com.microsoft.sqlserver.jdbc.SQLServerException: 椹卞姩绋嬪簭鏃犳硶閫氳繃浣跨敤瀹夊叏濂楁帴瀛楀眰(SSL)鍔犲瘑涓� SQL Server 寤虹珛瀹夊叏杩炴帴銆傞敊璇�:鈥淣o appropriate protocol (protocol is disabled or cipher suites are inappropriate)鈥濄�� + // //寮�鍚拰his瀵规帴 if (null != sfkqdyhis && sfkqdyhis.equals("Y")) { List<String> baoGaoDans = ltkjHybgdService.getJianYanBaoGaoDan(order.getCardId()); List<String> jianChaBaoGaoDan = ltkjHybgdService.getJianChaBaoGaoDan(order.getCardId()); //鍚屾妫�楠� + String resultMsg = ""; if (null != baoGaoDans && !baoGaoDans.isEmpty()) { Date dates = new Date(); Map<String, Object> map = new HashMap<>(); @@ -741,43 +772,53 @@ String result1 = getAjaxResult(result); JSONObject object = getJSONObject(result1); String code = object.getStr("ResultCode"); - if (null == code || !code.equals("0")) { - return AjaxResult.error("鍖栭獙椤圭洰鏆傛椂鏈嚭缁撴灉,璇风◢鍚庡悓姝�!!!"); - } - JSONArray data = object.getJSONArray("ResultData"); - for (Object datum : data) { - JSONObject jsonObject = (JSONObject) datum; - boolean isInsertHysqd = false; - LtkjHysqd hysqd = new LtkjHysqd(); - hysqd.setTjh(order.getCardId()); - hysqd.setTmh(jsonObject.getStr("JYBGID")); - hysqd.setBbbh(jsonObject.getStr("BBDM")); - hysqd.setBbmc(jsonObject.getStr("BBMC")); - hysqd.setXmid(jsonObject.getStr("JYXMDM")); - hysqd.setXmmc(jsonObject.getStr("JYXMMC")); - hysqd.setSqsj(jsonObject.getStr("SQRQ")); - hysqd.setSqys(jsonObject.getStr("SQRBH")); - hysqd.setJgsj(jsonObject.getStr("JYBGRQ")); - hysqd.setSqrxm(jsonObject.getStr("SQRXM")); - hysqd.setSqdh(jsonObject.getStr("SQDBH")); - hysqd.setShrdm(jsonObject.getStr("JYYSBH")); - hysqd.setShrxm(jsonObject.getStr("JYYSQM")); - hysqd.setJybgjg(jsonObject.getStr("JYBGJG")); - QueryWrapper<LtkjHysqd> queryWrapper = new QueryWrapper<>(hysqd); - List<LtkjHysqd> list = ltkjHysqdService.list(queryWrapper); - if (list.isEmpty()) - isInsertHysqd = true; - if (isInsertHysqd){ - saveHysqd(hysqd); - }else { - saveHybgd(hysqd); +// if (null == code || !code.equals("0")) { +// return AjaxResult.error("鍖栭獙椤圭洰鏆傛椂鏈嚭缁撴灉,璇风◢鍚庡悓姝�!!!"); +// } + if(null != code && code.equals("0")) { + JSONArray data = object.getJSONArray("ResultData"); + for (Object datum : data) { + JSONObject jsonObject = (JSONObject) datum; + LtkjHysqd jybgid = ltkjHysqdService.getLtkjHysqdByTjhAndTmh(order.getCardId(), jsonObject.getStr("JYBGID")); + if (null != jybgid) { + ltkjHysqdService.deletedLtkjHysqdByTjhAndTmh(order.getCardId(), jsonObject.getStr("JYBGID")); + ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(jybgid.getTmh()); + } + boolean isInsertHysqd = false; + LtkjHysqd hysqd = new LtkjHysqd(); + hysqd.setTjh(order.getCardId()); + hysqd.setTmh(jsonObject.getStr("JYBGID")); + hysqd.setBbbh(jsonObject.getStr("BBDM")); + hysqd.setBbmc(jsonObject.getStr("BBMC")); + hysqd.setXmid(jsonObject.getStr("JYXMDM")); + hysqd.setXmmc(jsonObject.getStr("JYXMMC")); + hysqd.setSqsj(jsonObject.getStr("SQRQ")); + hysqd.setSqys(jsonObject.getStr("SQRBH")); + hysqd.setJgsj(jsonObject.getStr("JYBGRQ")); + hysqd.setSqrxm(jsonObject.getStr("SQRXM")); + hysqd.setSqdh(jsonObject.getStr("SQDBH")); + hysqd.setShrdm(jsonObject.getStr("JYYSBH")); + hysqd.setShrxm(jsonObject.getStr("JYYSQM")); + hysqd.setJybgjg(jsonObject.getStr("JYBGJG")); + hysqd.setCreateTime(new Date()); + QueryWrapper<LtkjHysqd> queryWrapper = new QueryWrapper<>(hysqd); + List<LtkjHysqd> list = ltkjHysqdService.list(queryWrapper); + if (list.isEmpty()) + isInsertHysqd = true; + if (isInsertHysqd) { + saveHysqd(hysqd); + } else { + saveHybgd(hysqd); + } } + }else{ + resultMsg = "鍖栭獙椤圭洰鏆傛椂鏈嚭缁撴灉,璇风◢鍚庡悓姝�!!!"; } //鍚屾鍖栭獙椤圭洰 - testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId); +// testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId); } /*鍚屾妫�鏌� his鎺ュ彛*/ - if (null != jianChaBaoGaoDan && jianChaBaoGaoDan.size() > 0) { + if (null != jianChaBaoGaoDan && !jianChaBaoGaoDan.isEmpty()) { Map<String, Object> maps = new HashMap<>(); maps.put("his_registration_id", order.getCardId()); maps.put("ksbm", "浣撴涓績"); @@ -787,8 +828,14 @@ lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, "Getexamreportinfo"); HisApiConfig hisApiConfig = hisApiConfigService.getOne(lambdaQueryWrapper); /*鍚屾妫�鏌� his瀛樺偍杩囩▼*/ - AjaxResult results = jcsqdService.getTjJcProByHisCall("浣撴涓績", order.getCardId(), "''", 100, 1, "'1'"); - DynamicDataSourceContextHolder.clearDataSourceType(); + String jctbfs = configService.selectConfigByKey("jctbfs"); + AjaxResult results =null; + if (jctbfs.equalsIgnoreCase("Y")){ + results = service.getHISDataNew("Getexamreportinfo", maps); + }else{ + results = jcsqdService.getTjJcProByHisCall("浣撴涓績", order.getCardId(), "''", 100, 1, "'1'"); + DynamicDataSourceContextHolder.clearDataSourceType(); + } log.info("妫�鏌ラ」鐩煡璇㈣繑鍥炲��: " + results.toString()); if (Integer.parseInt(results.get("code").toString()) == 200) { List<Map<String, Object>> datas = (List<Map<String, Object>>) results.get("data"); @@ -829,16 +876,20 @@ jcbgd.setJcbw(objectMap.get("JCBW").toString()); if (null != objectMap.get("SQRQSJ") || !objectMap.get("SQRQSJ").equals("")) jcbgd.setSqsj(objectMap.get("SQRQSJ").toString()); + jcbgd.setCreateTime(new Date()); jcbgdService.save(jcbgd); } jcsqdService.saveLtkjExamJcsqd(order.getCardId()); testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId); }else { - return AjaxResult.error("妫�鏌ラ」鐩殏鏃舵湭鍑虹粨鏋�,璇风◢鍚庡悓姝�!!!"); +// return AjaxResult.error("妫�鏌ラ」鐩殏鏃舵湭鍑虹粨鏋�,璇风◢鍚庡悓姝�!!!"); + resultMsg+="\n妫�鏌ラ」鐩殏鏃舵湭鍑虹粨鏋�,璇风◢鍚庡悓姝�!!!"; } } } - return AjaxResult.success("鍚屾鎴愬姛"); + if (StrUtil.isBlank(resultMsg)) + return AjaxResult.success("鍚屾鎴愬姛"); + else return AjaxResult.error(resultMsg); } //鍖栭獙 testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId); @@ -850,7 +901,7 @@ } return AjaxResult.error("璇ヤ汉鍛樻暟鎹鍦ㄥ悓姝ヤ腑锛岃绋嶇瓑"); } catch (InterruptedException e) { - e.printStackTrace(); + log.error(String.valueOf(e),e.getMessage()); return AjaxResult.error("璇ヤ汉鍛樻暟鎹鍦ㄥ悓姝ヤ腑锛岃绋嶇瓑"); } finally { lock.unlock(); @@ -892,6 +943,7 @@ bgd.setShys(js.getStr("SHRBH")); bgd.setShysmc(js.getStr("SHRXM")); bgd.setYcbz(js.getStr("YCTS")); + bgd.setCreateTime(new Date()); // bgd.setTpurl(js.getStr("")); QueryWrapper<LtkjHybgd> queryWrapper = new QueryWrapper<>(bgd); List<LtkjHybgd> list = ltkjHybgdService.list(queryWrapper); @@ -946,7 +998,7 @@ private void tbhyxm(TjOrder order) { List<LtkjHysqd> one = testMapper.getHysqdByTmh(order.getCardId()); - if (one != null && one.size() > 0) { + if (one != null && !one.isEmpty()) { for (LtkjHysqd ltkjHysqd : one) { ltkjHysqdService.deletedLtkjHysqdByTjhAndTmh(ltkjHysqd.getTjh(), ltkjHysqd.getTmh()); ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(ltkjHysqd.getTmh()); @@ -955,7 +1007,7 @@ ltkjHysqdService.save(ltkjHysqd); DynamicDataSourceContextHolder.clearDataSourceType(); List<LtkjHybgd> one1 = testMapper.getHybgdByTmh(ltkjHysqd.getTmh()); - if (one1 != null && one1.size() > 0) { + if (one1 != null && !one1.isEmpty()) { DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); ltkjHybgdService.saveBatch(one1); DynamicDataSourceContextHolder.clearDataSourceType(); @@ -1212,7 +1264,7 @@ int num = orderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber); if (num > 0) return AjaxResult.error("瀛樺湪鏈鎴栧欢鏈熼」鐩殏涓嶈兘鐢熸垚鎶ュ憡!!!"); } - + Date date = new Date(); if (null != tjNumber) { Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId()); SysUser sysUser = userService.getById(userId); @@ -1224,17 +1276,15 @@ tjOrder.setCheckStatus(checkStatus); tjOrder.setStatus(TjConstants.TJ_CHECK); tjOrder.setCheckDoctor(sysUser.getNickName()); - tjOrder.setCheckTime(new Date()); + tjOrder.setCheckTime(date); tjOrder.setStatus(401); + tjOrder.setFinishTime(date); if (orderService.updateById(tjOrder)) { TjCustomer customer = customerService.getById(tjOrder.getUserId()); if (null != customer) { customer.setCusNumber(customer.getCusNumber() + 1); + customer.setCardId("0"); if (customerService.updateById(customer)) { -// LambdaQueryWrapper<TbTransition> wqq = new LambdaQueryWrapper<>(); -// wqq.eq(TbTransition::getCusId, customer.getCusIdcard()); -// wqq.eq(TbTransition::getCardId, customer.getCardId()); -// transitionService.remove(wqq); asyncService.updateCheckType(tjNumber); return AjaxResult.success("鎿嶄綔鎴愬姛"); } @@ -1382,14 +1432,14 @@ List<TjOrderDetail> tjOrderDetails = detailService.addHuaYanTable(tjNumber); - if (null != remarkList && remarkList.size() > 0) { + if (null != remarkList && !remarkList.isEmpty()) { for (TjOrderRemark remark : remarkList) { Map<String, Object> parent = new HashMap<>(); parent.put("checkAdvice", one.getCheckAdvice()); parent.put("parent", remark.getProName()); parent.put("parentId", remark.getProId().toString()); List<TjOrderDetail> dels = new ArrayList<>(); - if (null != tjOrderDetails && tjOrderDetails.size() > 0) { + if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) { for (TjOrderDetail tjOrderDetail : tjOrderDetails) { if (remark.getProId().equals(tjOrderDetail.getProId())) { String ckfw = tjOrderDetail.getStanId(); @@ -1523,7 +1573,9 @@ tjOrderDetail.setProResult(tjOrderDetail.getProResult()); } - dels.add(tjOrderDetail); + if(remark.getOrgType().equals(tjOrderDetail.getOrgType())){ + dels.add(tjOrderDetail); + } } } String summary = remark.getSummary(); @@ -1536,6 +1588,12 @@ if (dels.isEmpty()) { continue; } + dels=dels.stream().sorted(Comparator.comparing(TjOrderDetail::getProName, Collator.getInstance(Locale.CHINA))).collect(Collectors.toList()); + dels = dels.stream() + .sorted(Comparator.comparingInt( + tjPdfVO -> tjPdfVO.getProName().length() // 鏍规嵁鍚嶅瓧鐨勯暱搴︽帓搴� + )) + .collect(Collectors.toList()); parent.put("sons", dels); parent.put("remark", remark.getRemark()); parent.put("jgbx", remark.getJgbx()); @@ -1569,7 +1627,7 @@ @PostMapping ("/checkUpdateOrderRemark") @ApiOperation (value = "鎬绘淇敼澶囨敞鎺ュ彛") public AjaxResult checkUpdateOrderRemark(@RequestBody List<UpdateOrderRemarkVo> updateOrderRemarkVos) { - if (null != updateOrderRemarkVos && updateOrderRemarkVos.size() > 0) { + if (null != updateOrderRemarkVos && !updateOrderRemarkVos.isEmpty()) { for (UpdateOrderRemarkVo remarkVo : updateOrderRemarkVos) { LambdaQueryWrapper<TjOrderRemark> wqm = new LambdaQueryWrapper<>(); wqm.eq(TjOrderRemark::getTjNumber, remarkVo.getTjNumber()); @@ -1625,18 +1683,90 @@ @ApiOperation (value = "鎬绘鏌ョ湅寮傚父椤圭洰鎺ュ彛") public AjaxResult getzongjianyishengchakanyichangxiangmu(@RequestParam String tjNum) { if (StrUtil.isNotBlank(tjNum)) { - return zongjianyishengchakanyichangxiangmu(tjNum); + TjOrder one = orderService.getOrderByTjNum(tjNum); + + if (one == null) { + return AjaxResult.error("鏆傛棤鏁版嵁锛侊紒"); + } + + LambdaQueryWrapper<TjOrderYcxm> wq=new LambdaQueryWrapper<>(); + wq.eq(TjOrderYcxm::getTjh,tjNum); + List<TjOrderYcxm> list = ycxmService.list(wq); + if(null !=list && !list.isEmpty()){ + Collections.reverse(list); + Map<String, List<TjOrderYcxm>> map = list.stream().collect(Collectors.groupingBy(TjOrderYcxm::getParentName)); + List<Map<String, Object>> maps = new ArrayList<>(); + for (Map.Entry<String, List<TjOrderYcxm>> entry : map.entrySet()) { + Map<String, Object> parent = new HashMap<>(); + List<TjOrderDetail> dels = new ArrayList<>(); + for (TjOrderYcxm ycxm : entry.getValue()) { + TjOrderDetail detail=new TjOrderDetail(); + detail.setOrderDetailId(Long.valueOf(ycxm.getId())); + detail.setProName(ycxm.getJcxm()); + detail.setProResult(ycxm.getJcjg()); + detail.setStanId(ycxm.getCkfw()); + detail.setProAdvice(ycxm.getDw()); + List<Map<String,Object>> btnrlist=new ArrayList<>(); + String jynr = ycxm.getJynr(); + JSONArray array = JSONUtil.parseArray(jynr); + for (Object object : array) { + Map<String,Object> objectMap=new HashMap<>(); + JSONObject jsonObject = (JSONObject) object; + String bt = jsonObject.getStr("bt"); + String nr = jsonObject.getStr("nr"); + objectMap.put("bt",bt); + objectMap.put("nr",nr); + if(null !=bt || null !=nr) btnrlist.add(objectMap); + } + detail.setAdvices(btnrlist); + dels.add(detail); + } + + parent.put("proName",entry.getKey()); + parent.put("jyjc",entry.getValue().get(0).getJyjc()); + parent.put("sone",dels); + maps.add(parent); + } + List<Map<String, Object>> mapList = zongjianyishengchakanyichangxiangmu(tjNum); + + + List<Map<String, Object>> collect = mapList.stream() + .filter(b -> maps.stream() + .noneMatch(a -> a.get("proName").equals(b.get("proName")))) // 杩囨护鎺夊湪 maps 涓瓨鍦ㄧ殑鐩稿悓鍏冪礌 + .collect(Collectors.toList()); + if(!collect.isEmpty()){ + maps.addAll(collect); + } + if(!maps.isEmpty()){ + List<Map<String, Object>> collect1 = maps.stream() + .sorted((map1, map2) -> map2.get("proName").toString().compareTo(map1.get("proName").toString())) + .collect(Collectors.toList()); + return AjaxResult.success(collect1); + } + return AjaxResult.success(maps); + }else { + List<Map<String, Object>> mapList = zongjianyishengchakanyichangxiangmu(tjNum); +// if(mapList.isEmpty()){ +// return AjaxResult.success("鏆傛棤鏁版嵁"); +// } + return AjaxResult.success(mapList); + } + +// return zongjianyishengchakanyichangxiangmu(tjNum); } return AjaxResult.error(); } - private AjaxResult zongjianyishengchakanyichangxiangmu(String tjNumber) { -// asyncService.updateCheckType(tjNumber); - TjOrder one = orderService.getOrderByTjNum(tjNumber); + @GetMapping ("/delzongjianyishengchakanyichangxiangmu") + @ApiOperation (value = "鎬绘鍒犻櫎寮傚父椤圭洰鎺ュ彛") + public AjaxResult delzongjianyishengchakanyichangxiangmu(@RequestParam String id) { + ycxmService.removeById(id); + return AjaxResult.success(); + } - if (one == null) { - return AjaxResult.error("鏆傛棤鏁版嵁锛侊紒"); - } + /*private List<Map<String, Object>> zongjianyishengchakanyichangxiangmu(String tjNumber) { +// asyncService.updateCheckType(tjNumber); + List<TjOrderRemark> remarkList = orderRemarkService.getzongjianyishengchakanyichangxiangmu(tjNumber); List<TjOrderDetail> tjOrderDetails = detailService.getzongjianyishengchakanyichangxiangmu(tjNumber); List<Map<String, Object>> list = new ArrayList<>(); @@ -1648,10 +1778,31 @@ for (TjOrderDetail tjOrderDetail : tjOrderDetails) { if (remark.getProsId().equals(tjOrderDetail.getProsId())) { if(null !=tjOrderDetail.getProId()&& null !=tjOrderDetail.getYcbz()){ - List<Map<String,Object>> maps= rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString(),"",tjOrderDetail.getYcbz(),tjNumber); - if(null !=maps && !maps.isEmpty()){ - tjOrderDetail.setAdvices(maps); + if(!tjOrderDetail.getDeptId().equals("2")){ + List<Map<String,Object>> maps= rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString() + ,"",tjOrderDetail.getYcbz().replaceAll(" ", ""),tjNumber + ,tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[锛�)]", "") + .replaceAll("[ 娴嬪畾妫�娴媇","") + ,tjOrderDetail.getProResult()); + if(null !=maps && !maps.isEmpty()){ + tjOrderDetail.setAdvices(maps); + } + }else { + String[] split = tjOrderDetail.getProResult().split("銆倈,|锛�"); + List<Map<String,Object>> mapList=new ArrayList<>(); + for (String s : split) { + s = s.replaceAll("\n", ""); +// Map<String,Object> maps= rulesService.getyichangxiangmujianyiguizeJianCha(s); + Map<String,Object> maps= tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(remark.getKs(),s,"0"); + if(null !=maps && !maps.isEmpty()){ + Object bt = maps.get("bt"); + Object nr = maps.get("nr"); + if(null !=bt || null !=nr) mapList.add(maps); + } + } + tjOrderDetail.setAdvices(mapList); } + } dels.add(tjOrderDetail); @@ -1663,13 +1814,73 @@ parent.put("sone",dels); list.add(parent); } - } else { - return AjaxResult.success("璇ヤ汉鍛樻棤寮傚父椤圭洰"); } } - return AjaxResult.success(list); + } - return AjaxResult.success("璇ヤ汉鍛樻病鏈変綋妫�椤圭洰鏁版嵁锛�"); + return list; + }*/ + + private List<Map<String, Object>> zongjianyishengchakanyichangxiangmu(String tjNumber) { +// asyncService.updateCheckType(tjNumber); + + List<TjOrderRemark> remarkList = orderRemarkService.getzongjianyishengchakanyichangxiangmu(tjNumber); + List<TjOrderDetail> tjOrderDetails = detailService.getzongjianyishengchakanyichangxiangmu(tjNumber); + List<Map<String, Object>> list = new ArrayList<>(); + if (null != remarkList && !remarkList.isEmpty()) { + for (TjOrderRemark remark : remarkList) { + Map<String, Object> parent = new HashMap<>(); + if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) { + List<TjOrderDetail> dels = new ArrayList<>(); + for (TjOrderDetail tjOrderDetail : tjOrderDetails) { + if (remark.getProsId().equals(tjOrderDetail.getProsId())) { + if(null !=tjOrderDetail.getProId()&& null !=tjOrderDetail.getYcbz()){ + if(!tjOrderDetail.getDeptId().equals("2")){ + List<Map<String,Object>> maps= rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString() + ,tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[锛�)]", "") + .replaceAll("[ 娴嬪畾妫�娴� 鈼哴","").replaceAll("\\[.*?\\]", "") + ,tjOrderDetail.getYcbz().replaceAll(" ", ""),tjNumber + ,tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "") + .replaceAll("[ 娴嬪畾妫�娴� 鈼哴","").replaceAll("\\[.*?\\]", "") + ,tjOrderDetail.getProResult()); + + + if(null !=maps && !maps.isEmpty()){ + tjOrderDetail.setAdvices(maps); + } + + }else { + String[] split = tjOrderDetail.getProResult().split("銆倈,|锛�"); + List<Map<String,Object>> mapList=new ArrayList<>(); + for (String s : split) { + s = s.replaceAll("\n", ""); +// Map<String,Object> maps= rulesService.getyichangxiangmujianyiguizeJianCha(s); + Map<String,Object> maps= tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(remark.getKs(),s,"0"); + if(null !=maps && !maps.isEmpty()){ + Object bt = maps.get("bt"); + Object nr = maps.get("nr"); + if(null !=bt || null !=nr) mapList.add(maps); + } + } + tjOrderDetail.setAdvices(mapList); + } + + } + + dels.add(tjOrderDetail); + } + } + if(!dels.isEmpty()){ + parent.put("proName",remark.getProName()); + parent.put("jyjc",remark.getJyjc()); + parent.put("sone",dels); + list.add(parent); + } + } + } + + } + return list; } @GetMapping ("/chushenyemianchakanxiangmujieguo") @@ -1687,5 +1898,56 @@ } + @PostMapping ("/addOrderYcXmByTjh") + @ApiOperation (value = "鎬绘鍖荤敓椤甸潰鏂板寮傚父椤圭洰寤鸿") + public AjaxResult addOrderYcXmJyByTjh(@RequestBody List<TjOrderYcxm> ycxms) { + if(null !=ycxms && !ycxms.isEmpty()){ + String tjh = ycxms.get(0).getTjh(); + if(StringUtils.isNotBlank(tjh)){ + ycxmService.delOrderYcXmJyByTjh(tjh); + + for (TjOrderYcxm ycxm : ycxms) { + ycxm.setJynr(JSONUtil.toJsonStr(ycxm.getMap())); + } +// List<TjOrderYcxm> collect = ycxms.stream().distinct().collect(Collectors.toList()); + ycxmService.saveBatch(ycxms); + return AjaxResult.success(); + } + } + return AjaxResult.success(); + } + + + + + /** + * 鍚屾sql server鏁版嵁鍒版湰鍦版暟鎹簱鏁版嵁鎺ュ彛 + */ + @GetMapping ("/newdataSynchronization") + @ApiOperation (value = "鏈�鏂板叕鍏卞悓姝ql server鏁版嵁鍒版湰鍦版暟鎹簱鏁版嵁鎺ュ彛") + @RepeatSubmit + public AjaxResult newdataSynchronization(@RequestParam String tjNumber) { + try { + //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12 + final String sfkqdyhis = configService.selectConfigByKey("sfkqdyhis"); + TjOrder order = orderService.getOrderByTjNum(tjNumber); + if (null != order) { + if (null != sfkqdyhis && sfkqdyhis.equals("Y")) { + dataSynchronizationApi(tjNumber); + }else { + configController.shoudongtbjyjcwsxmjg("jyjc",tjNumber); + } + return AjaxResult.success("鍚屾鎴愬姛"); + } + return AjaxResult.error("鏈煡鍒拌浜哄憳浣撴璁板綍"); + } catch (Exception e) { +// throw new RuntimeException(ex); + log.error(String.valueOf(e),e.getMessage()); + return AjaxResult.error("璇ヤ汉鍛樻暟鎹鍦ㄥ悓姝ヤ腑锛岃绋嶇瓑"); + } + } + + + } -- Gitblit v1.8.0