From 0d4a80fd817b39417ad7eee88aa5d14bf571f79c Mon Sep 17 00:00:00 2001 From: zjh <zjh@888> Date: 星期五, 28 六月 2024 17:29:09 +0800 Subject: [PATCH] zjh 本地 2024/06/28 --1 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java | 208 ++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 176 insertions(+), 32 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 74c5d82..9cc2433 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 @@ -2,6 +2,10 @@ import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -25,9 +29,11 @@ import com.ltkj.system.service.ISysConfigService; import com.ltkj.system.service.ISysDeptService; import com.ltkj.system.service.ISysUserService; +import com.ltkj.web.controller.his.HisApiMethodService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; +import lombok.var; import org.aspectj.weaver.AjAttribute; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; @@ -35,6 +41,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; @@ -95,6 +102,9 @@ private LtkjHybgdService ltkjHybgdService; @Resource private LtkjHysqdService ltkjHysqdService; + @Autowired + private HisApiMethodService controller; + @GetMapping("/getOperationPermissionsByTjNum") @@ -269,7 +279,7 @@ @ApiParam(value = "鐘舵�� 0鍚屾剰 1鎷掔粷 榛樿鍚屾剰") @RequestParam(defaultValue = "0") Integer status, @ApiParam(value = "椹冲洖鐞嗙敱") @RequestParam(required = false) String remark) { int num = orderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber); - if (num > 0) return AjaxResult.error("璇峰厛鍚屾浣撴椤圭洰!"); + if (num > 0) return AjaxResult.error("璇锋鏌ユ槸鍚﹀瓨鍦ㄦ湭妫�鎴栧欢鏈熼」鐩�"); if (null != tjNumber) { Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId()); SysUser sysUser = userService.getById(userId); @@ -308,36 +318,19 @@ @GetMapping("/dataSynchronization") @ApiOperation(value = "鍚屾sql server鏁版嵁鍒版湰鍦版暟鎹簱鏁版嵁鎺ュ彛") @RepeatSubmit + @Transactional 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) { -// LambdaQueryWrapper<LtkjHysqd> wq0=new LambdaQueryWrapper<>(); -// wq0.eq(LtkjHysqd::getTjh,ltkjHysqd.getTjh()); -// wq0.eq(LtkjHysqd::getTmh,ltkjHysqd.getTmh()); -// ltkjHysqdService.remove(wq0); - ltkjHysqdService.deletedLtkjHysqdByTjhAndTmh(ltkjHysqd.getTjh(), ltkjHysqd.getTmh()); - ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(ltkjHysqd.getTmh()); - 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); + final String sfkqdyhis = configService.selectConfigByKey("sfkqdyhis"); + TjOrder order = orderService.getOrderByTjNum(tjNumber); + if(null !=order){ + + //寮�鍚瓧鍏稿脊绐� + if ("Y".equals(getInfoFromSqlData)) { + tbhyxm(order); + // List<LtkjExamJcsqd> one2 = testMapper.getExamJcsqdTmh(tjNumber); // if (one2 != null && one2.size() > 0) { // DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); // ltkjExamJcsqdService.saveBatch(one2); @@ -356,9 +349,139 @@ //鍚屾妫�鏌ラ」鐩� testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId()); asyncService.updateCheckType(order.getTjNumber()); + + } + + //寮�鍚拰his瀵规帴 + if(null !=sfkqdyhis && sfkqdyhis.equals("Y")){ + + List<String> baoGaoDans = ltkjHybgdService.getJianYanBaoGaoDan(order.getCardId()); + if(null !=baoGaoDans && baoGaoDans.size()>0){ + +// List<LtkjHysqd> one = testMapper.getHysqdByTmh(order.getCardId()); +// if (one != null && one.size() > 0) { +// for (LtkjHysqd ltkjHysqd : one) { +// ltkjHysqdService.deletedLtkjHysqdByTjhAndTmh(ltkjHysqd.getTjh(), ltkjHysqd.getTmh()); +// ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(ltkjHysqd.getTmh()); +// } +// } +// for (String baoGaoDan : baoGaoDans) { + Date dates = new Date(); + Map<String,Object> map=new HashMap<>(); + map.put("his_registration_id",order.getCardId()); + map.put("ksbm",""); + map.put("pationid",""); + map.put("ksrq",DateUtil.format(DateUtil.beginOfDay(order.getCreateTime()), "yyyy-MM-dd HH:mm:ss")); + map.put("jsrq",DateUtil.format(DateUtil.endOfDay(dates), "yyyy-MM-dd HH:mm:ss")); + map.put("pagecount",10); + map.put("page",1); + AjaxResult result = controller.Getlabreportinfo(map); + 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; + LtkjHysqd jybgid = ltkjHysqdService.getLtkjHysqdByTjhAndTmh(order.getCardId(), jsonObject.getStr("JYBGID")); + if(null !=jybgid){ + ltkjHysqdService.deletedLtkjHysqdByTjhAndTmh(order.getCardId(),jsonObject.getStr("JYBGID")); + ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(jybgid.getTmh()); + } + 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")); + if (ltkjHysqdService.save(hysqd)) { + Map<String,Object> hashMap=new HashMap<>(); + hashMap.put("jybgid",hysqd.getTmh()); + AjaxResult bgdres = controller.Getlabdetailinfo(hashMap); + String result2 = getAjaxResult(bgdres); + JSONObject object1 = getJSONObject(result2); + String code1 = object1.getStr("ResultCode"); + if(null ==code1 || !code1.equals("0")){ + return AjaxResult.error("鍖栭獙椤圭洰鏆傛椂鏃犵粨鏋�,璇风◢鍚庡悓姝�!!!"); + } + JSONArray datas = object1.getJSONArray("ResultData"); + for (Object o : datas) { + JSONObject js = (JSONObject)o; +// ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(jsonObject.getStr("JYBGID")); + LtkjHybgd bgd=new LtkjHybgd(); + bgd.setTmh(hysqd.getTmh()); + bgd.setJcxmid(js.getStr("JCZBDM")); + bgd.setJcxm(js.getStr("JCZBMC")); + bgd.setTdh(js.getStr("")); + bgd.setJyjg(js.getStr("JCZBJG")); + bgd.setJgdw(js.getStr("JLDW")); + bgd.setFwzdz(js.getStr("")); + bgd.setFwzgz(js.getStr("")); + bgd.setFwz(js.getStr("CKZFW")); + bgd.setJysj(js.getStr("BGRQ")); + bgd.setJyys(js.getStr("JCRBH")); + bgd.setShsj(js.getStr("BGRQ")); + bgd.setShsj(js.getStr("BGRQ")); + bgd.setShys(js.getStr("SHRBH")); + bgd.setYcbz(js.getStr("YCTS")); +// bgd.setTpurl(js.getStr("")); + ltkjHybgdService.save(bgd); + } + } + } +// } + //鍚屾鍖栭獙椤圭洰 + testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId()); + //鍚屾妫�鏌ラ」鐩� + testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId()); + asyncService.updateCheckType(order.getTjNumber()); } + + } return AjaxResult.success("鍚屾鎴愬姛"); + } + return AjaxResult.error(); + } + + //灏嗘柟娉曡繑鍥炲�艰В鏋愭垚json鏍煎紡 + public JSONObject getJSONObject(String builder) { + String Response = JSONUtil.parseObj(builder).getStr("Response"); + return JSONUtil.parseObj(Response); + } + + //鑾峰彇鏂规硶杩斿洖鍊间俊鎭� + public String getAjaxResult(AjaxResult result) { + return result.get("data").toString(); + } + + private void tbhyxm(TjOrder order) { + List<LtkjHysqd> one = testMapper.getHysqdByTmh(order.getCardId()); + if (one != null && one.size() > 0) { + for (LtkjHysqd ltkjHysqd : one) { + ltkjHysqdService.deletedLtkjHysqdByTjhAndTmh(ltkjHysqd.getTjh(), ltkjHysqd.getTmh()); + ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(ltkjHysqd.getTmh()); + 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(); + } + } + } + } } @@ -465,6 +588,7 @@ // } // return getResult(page, pageSize, orderList, customerList, map); // } + String value = String.valueOf(compId); if (tjNumber == null) tjNumber = ""; if (compId == null) value = ""; @@ -509,10 +633,10 @@ if (null != customer) { customer.setCusNumber(customer.getCusNumber() + 1); if (customerService.updateById(customer)) { - LambdaQueryWrapper<TbTransition> wqq = new LambdaQueryWrapper<>(); - wqq.eq(TbTransition::getCusId, customer.getCusIdcard()); - wqq.eq(TbTransition::getCardId, customer.getCardId()); - transitionService.remove(wqq); +// 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("鎿嶄綔鎴愬姛"); } @@ -641,6 +765,9 @@ if (one == null) { return AjaxResult.error("鏆傛棤鏁版嵁锛侊紒"); } + final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData"); + if(null !=getInfoFromSqlData && getInfoFromSqlData.equals("Y")) + tbhyxm(one); // TjCustomer customer = customerService.getById(one.getUserId()); List<TjOrderRemark> remarkList = orderRemarkService.addHuaYanTable(tjNumber); List<TjOrderDetail> tjOrderDetails = detailService.addHuaYanTable(tjNumber); @@ -648,7 +775,6 @@ if (null != remarkList && remarkList.size() > 0) { for (TjOrderRemark remark : remarkList) { - Map<String, Object> parent = new HashMap<>(); parent.put("checkAdvice", one.getCheckAdvice()); parent.put("parent", remark.getProName()); @@ -657,6 +783,24 @@ if (null != tjOrderDetails && tjOrderDetails.size() > 0) { for (TjOrderDetail tjOrderDetail : tjOrderDetails) { if(remark.getProId().equals(tjOrderDetail.getProId())){ + String ckfw = tjOrderDetail.getStanId(); + if (StrUtil.isNotBlank(ckfw)) { + try { + Integer.parseInt(tjOrderDetail.getYcbz()); + String[] split = ckfw.split("-"); + BigDecimal min = new BigDecimal(split[0]); + BigDecimal max = new BigDecimal(split[1]); + String proResult = tjOrderDetail.getProResult(); + BigDecimal jyjgval = new BigDecimal(proResult); + if (jyjgval.compareTo(min) < 0) { + tjOrderDetail.setYcbz("鈫�"); + } else if (jyjgval.compareTo(max) > 0) { + tjOrderDetail.setYcbz("鈫�"); + }else { + tjOrderDetail.setYcbz(""); + } + } catch (NumberFormatException ignored) { } + } if(null !=tjOrderDetail.getYcbz() && !tjOrderDetail.getYcbz().equals("")){ tjOrderDetail.setProResult(tjOrderDetail.getProResult()+" ["+tjOrderDetail.getYcbz()+"]"); } -- Gitblit v1.8.0