From b57c0f8b28c5cfbf66986f7e73cf3d1f601bc60e Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期四, 20 三月 2025 14:34:37 +0800 Subject: [PATCH] zjh20250320 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java | 418 ++++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 353 insertions(+), 65 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 99b3545..e64e858 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 @@ -37,6 +37,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; +import jodd.util.StringUtil; import lombok.extern.slf4j.Slf4j; import lombok.var; import org.aspectj.weaver.AjAttribute; @@ -49,6 +50,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 +58,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,6 +126,14 @@ private RedissonClient redissonClient; @Autowired private ITjRulesService rulesService; + @Autowired + private ITjProAdvicerulesService tjProAdvicerulesService; + @Autowired + private TjOrderYcxmService ycxmService; + @Autowired + private SysConfigController configController; + @Autowired + private TjJcycxmService jcycxmService; @GetMapping ("/ceshicc") @@ -200,6 +212,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) { @@ -285,7 +298,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)); } @@ -392,7 +406,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); @@ -553,7 +567,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"); @@ -561,7 +575,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(); @@ -649,7 +671,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()); @@ -664,7 +686,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()); @@ -715,7 +737,7 @@ String doctorId = configService.selectConfigByKey("request_default_check_doctorId"); //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12 final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData"); - + String dqyyyqbm = configService.selectConfigByKey("dqyyyqbm"); final String sfkqdyhis = configService.selectConfigByKey("sfkqdyhis"); TjOrder order = orderService.getOrderByTjNum(tjNumber); if (null != order) { @@ -724,17 +746,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<>(); @@ -749,43 +775,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); } /*鍚屾妫�鏌� 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", "浣撴涓績"); @@ -795,8 +831,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"); @@ -837,28 +879,56 @@ 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()); + /* List<LtkjExamJcsqd> jcsqdList = jcsqdService.getLtkjJcsqdByTjh(order.getCardId()); + if(null !=jcsqdList && !jcsqdList.isEmpty()) { + for (LtkjExamJcsqd jcsqd : jcsqdList) { + if (StringUtil.isNotBlank(jcsqd.getJgzt())) { + String[] split = jcsqd.getJgzt().replaceAll("\n", "").split("銆倈锛泑;"); + for (String jg : split) { + if (StringUtil.isNotBlank(jg) && !jg.contains("鏈寮傚父") + && !jg.contains("鏈鏄庢樉寮傚父") && !jg.contains("鏈鍗犱綅") && !jg.contains("鏈") + && !jg.contains("鏈鏄庢樉") && !jg.contains("姝e父") && !jg.contains("鍙屼晶妞庨棿瀛旀棤鐙獎")) { + TjJcycxm jcycxm = new TjJcycxm(); + jcycxm.setTjh(order.getTjNumber()); + jcycxm.setYqid(dqyyyqbm); + String[] split1 = jcsqd.getJcxmid().split(";"); + jcycxm.setProId(split1[0]); + jcycxm.setProName(jcsqd.getJcxmmc()); + jcycxm.setCreateTime(new Date()); + jcycxm.setJcjg(jg); + jcycxmService.save(jcycxm); + } + } + } + } + }*/ 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); +// testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId); //妫�鏌� - jcsqdService.saveLtkjExamJcsqd(order.getCardId()); +// jcsqdService.saveLtkjExamJcsqd(order.getCardId()); return AjaxResult.success("鍚屾鎴愬姛"); } return AjaxResult.error("鏈煡鍒拌浜哄憳浣撴璁板綍"); } return AjaxResult.error("璇ヤ汉鍛樻暟鎹鍦ㄥ悓姝ヤ腑锛岃绋嶇瓑"); } catch (InterruptedException e) { - e.printStackTrace(); + log.error(String.valueOf(e),e.getMessage()); return AjaxResult.error("璇ヤ汉鍛樻暟鎹鍦ㄥ悓姝ヤ腑锛岃绋嶇瓑"); } finally { lock.unlock(); @@ -900,6 +970,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); @@ -954,7 +1025,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()); @@ -963,7 +1034,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(); @@ -1529,7 +1600,9 @@ tjOrderDetail.setProResult(tjOrderDetail.getProResult()); } - dels.add(tjOrderDetail); + if(remark.getOrgType().equals(tjOrderDetail.getOrgType())){ + dels.add(tjOrderDetail); + } } } String summary = remark.getSummary(); @@ -1542,6 +1615,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()); @@ -1575,7 +1654,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()); @@ -1630,19 +1709,96 @@ @GetMapping ("/getzongjianyishengchakanyichangxiangmu") @ApiOperation (value = "鎬绘鏌ョ湅寮傚父椤圭洰鎺ュ彛") public AjaxResult getzongjianyishengchakanyichangxiangmu(@RequestParam String tjNum) { + long l = System.currentTimeMillis(); if (StrUtil.isNotBlank(tjNum)) { - return zongjianyishengchakanyichangxiangmu(tjNum); + TjOrder one = orderService.getOrderByTjNum(tjNum); + + if (one == null) { + return AjaxResult.error("鏆傛棤鏁版嵁锛侊紒"); + } + String yqbm = configService.selectConfigByKey("common_api_service_hospbm"); + jcycxmService.deletedByTjh(tjNum); + configController.zongjianshengchengyichangxiangmu(tjNum,yqbm); + + 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()); + System.out.println("鎬昏�楁椂:"+(System.currentTimeMillis()-l)); + return AjaxResult.success(collect1); + } + System.out.println("鎬昏�楁椂:"+(System.currentTimeMillis()-l)); + + return AjaxResult.success(maps); + }else { + List<Map<String, Object>> mapList = zongjianyishengchakanyichangxiangmu(tjNum); + System.out.println("鎬昏�楁椂:"+(System.currentTimeMillis()-l)); + 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<>(); @@ -1654,10 +1810,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); @@ -1669,13 +1846,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") @@ -1693,5 +1930,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