From 04bb7fde019613c8795399c67455677e5436349c Mon Sep 17 00:00:00 2001 From: 赵文轩 <1652863494@qq.com> Date: 星期四, 13 六月 2024 19:03:08 +0800 Subject: [PATCH] 增加查询条件防止多条 --- ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java | 419 +++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 277 insertions(+), 142 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java index dfc1860..0524d57 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java @@ -1,6 +1,7 @@ package com.ltkj.web.controller.his; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; @@ -8,23 +9,16 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ltkj.common.core.domain.AjaxResult; import com.ltkj.common.utils.SecurityUtils; -import com.ltkj.hosp.domain.TjCustomer; -import com.ltkj.hosp.domain.TjOrder; -import com.ltkj.hosp.domain.TjOrderDetail; -import com.ltkj.hosp.domain.TjProject; -import com.ltkj.hosp.hisDto.OutpinexamapplyDto; -import com.ltkj.hosp.hisDto.OutpinregapplyDto; -import com.ltkj.hosp.hisDto.OutpintestapplyDetailsDto; -import com.ltkj.hosp.hisDto.OutpintestapplyDto; -import com.ltkj.hosp.service.ITjCustomerService; -import com.ltkj.hosp.service.ITjOrderDetailService; -import com.ltkj.hosp.service.ITjOrderService; -import com.ltkj.hosp.service.ITjProjectService; +import com.ltkj.hosp.domain.*; +import com.ltkj.hosp.hisDto.*; +import com.ltkj.hosp.service.*; +import com.ltkj.system.service.ISysConfigService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -47,6 +41,14 @@ private ITjOrderDetailService detailService; @Resource private ITjProjectService projectService; + @Resource + private ITbTransitionService tbTransitionService; + @Autowired + private HisApiConfigService hisApiConfigService; + @Autowired + private HisApiGetMethodService hisApiGetMethodService; + @Resource + private ISysConfigService configService; //灏嗘柟娉曡繑鍥炲�艰В鏋愭垚json鏍煎紡 public JSONObject getJSONObject(String builder) { @@ -61,8 +63,7 @@ //瀵规帴his鎬绘帴鍙� 娉ㄥ唽鎸傚彿鎺ヨ瘖鐢宠鍗曟搷浣� @Transactional - public void HisApiMethods(TjCustomer customer, Long orderId) { - HisApiGetMethodService hisApiGetMethodService = new HisApiGetMethodService(); + public AjaxResult HisApiMethods(TjCustomer customer, Long orderId) { Date dates = new Date(); final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss"); @@ -78,159 +79,293 @@ if (null != pationid) { customer.setPationId(pationid); customerService.updateById(customer); - OutpinregapplyDto outpinregapplyDto = new OutpinregapplyDto(); - outpinregapplyDto.setPationid(pationid); -// outpinregapplyDto.setHisRegistrationId(pationid); - outpinregapplyDto.setSqysbm(SecurityUtils.getUsername()); - outpinregapplyDto.setMzksbm("0101"); - outpinregapplyDto.setCzybm("00029"); - outpinregapplyDto.setSfjz("0"); - outpinregapplyDto.setGhzlbm("01"); - outpinregapplyDto.setYwckbm("0001"); - outpinregapplyDto.setSflstd("0"); - outpinregapplyDto.setGhrq(date); - //闂ㄨ瘖鎸傚彿 - AjaxResult ajaxResult = controller.Outpinregapply(outpinregapplyDto); - String result2 = getAjaxResult(ajaxResult); - JSONObject object1 = getJSONObject(result2); - String code1 = object1.getStr("ResultCode"); - if (code1.equals("0")) { - JSONArray resultDatas = object1.getJSONArray("ResultData"); - if (null != resultDatas && resultDatas.size() > 0) { - Map<String, Object> resultDatasss = (Map<String, Object>) resultDatas.get(0); - String hisRegistrationId = resultDatasss.get("his_registration_id").toString(); - if (null != hisRegistrationId) { + /* String key = configService.selectConfigByKey("getInfoFromSqlData"); + if (null != key && key.equals("Y")) { + OutpinregapplyDto outpinregapplyDto = new OutpinregapplyDto(); + outpinregapplyDto.setPationid(pationid); + outpinregapplyDto.setSqysbm(SecurityUtils.getUsername()); + outpinregapplyDto.setMzksbm("0101"); + outpinregapplyDto.setCzybm("00029"); + outpinregapplyDto.setSfjz("0"); + outpinregapplyDto.setGhzlbm("01"); + outpinregapplyDto.setYwckbm("0001"); + outpinregapplyDto.setSflstd("0"); + outpinregapplyDto.setGhrq(date); + //闂ㄨ瘖鎸傚彿 + AjaxResult ajaxResult = controller.Outpinregapply(outpinregapplyDto); + String result2 = getAjaxResult(ajaxResult); + JSONObject object1 = getJSONObject(result2); + String code1 = object1.getStr("ResultCode"); + if (code1.equals("0")) { + JSONArray resultDatas = object1.getJSONArray("ResultData"); + if (null != resultDatas && resultDatas.size() > 0) { //闂ㄨ瘖鍖荤敓鎺ヨ瘖 - AjaxResult result3 = controller.Outpinconapply(hisRegistrationId, date, SecurityUtils.getUsername()); - String result4 = getAjaxResult(result3); - JSONObject object2 = getJSONObject(result4); - String code2 = object2.getStr("ResultCode"); - if (code2.equals("0")) { - Map<String, Object> data = object2.getJSONObject("ResultData"); - String toString = data.get("his_registration_id").toString(); - if (null != toString) { - //妫�楠岀敵璇� - OutpintestapplyDto dto = new OutpintestapplyDto(); - dto.setHisRegistrationId(hisRegistrationId); - dto.setSfjz(customer.getCusIdcard()); - dto.setSqysbm(SecurityUtils.getUsername()); - dto.setMzksbm("0101"); - dto.setSjrq(date); - dto.setCzybm("00029"); - dto.setCzyksbm("0101"); - dto.setSfjz("1"); - List<TjOrderDetail> detailList = detailService.getTjOrderDetailListByOrderId(orderId.toString()); - List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>(); - if (null != detailList && detailList.size() > 0) { - LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); - wq.in(TjProject::getProId, detailList.stream().map(TjOrderDetail::getProId).collect(Collectors.toList())); - List<TjProject> projects = projectService.list(wq); - if (null != projects && projects.size() > 0) { - for (TjProject project : projects) { - OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); -// if(null !=project.getHisXmbm()){ -// detailsDto.setMxfyxmbm(project.getHisXmbm()); -// }else { -// detailsDto.setMxfyxmbm(null); -// } - detailsDto.setMxfyxmbm("tj001"); - detailsDto.setSfzhfy("1"); - detailsDto.setSl(1); - detailsDtos.add(detailsDto); - } - } + controller.Outpinconapply(customer.getCardId(), date, SecurityUtils.getUsername()); + } + } + } +*/ + + //妫�楠岀敵璇� + OutpintestapplyDto dto = new OutpintestapplyDto(); + dto.setHisRegistrationId(customer.getCardId()); + dto.setSfjz(customer.getCusIdcard()); + dto.setSqysbm(SecurityUtils.getUsername()); + dto.setMzksbm("0101"); + dto.setSjrq(date); + dto.setCzybm("00029"); + dto.setCzyksbm("0101"); + dto.setSfjz("1"); + List<TbTransition> detailList = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(), customer.getCardId()); + List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>(); + if (null != detailList && detailList.size() > 0) { + LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); + wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); + wq.groupBy(TjProject::getHisXmbm); + wq.in(TjProject::getDeptId, "241","317"); + List<TjProject> projects = projectService.list(wq); + if (null != projects && projects.size() > 0) { + for (TjProject project : projects) { + if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { + if (null != project.getHisXmbm()) { + OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); + detailsDto.setMxfyxmbm(project.getHisXmbm()); + if(project.getSfzhfy().equals("Y")){ + detailsDto.setSfzhfy("1"); + }else { + detailsDto.setSfzhfy("0"); } - dto.setDetails(detailsDtos); - AjaxResult ajaxResult1 = controller.Outpintestapply(dto); - String result5 = getAjaxResult(ajaxResult1); - JSONObject object3 = getJSONObject(result5); - String code3 = object3.getStr("ResultCode"); - if (code3.equals("0")) { - Map<String, Object> datas = object3.getJSONObject("ResultData"); - datas.put("cardId", hisRegistrationId); - JSONObject object4 = JSONUtil.parseObj(datas); - if(null ==orderService.getHuoQuJysqdh(hisRegistrationId)){ - hisApiGetMethodService.save(object4, "Outpintestapply"); - } - //闂ㄨ瘖妫�鏌ョ敵璇� - OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto(); - outpinexamapplyDto.setHisRegistrationId(hisRegistrationId); - outpinexamapplyDto.setSfzh(customer.getCusIdcard()); - outpinexamapplyDto.setSqysbm(SecurityUtils.getUsername()); - outpinexamapplyDto.setMzksbm("0101"); - outpinexamapplyDto.setCzybm("00029"); - outpinexamapplyDto.setCzyksbm("0101"); - List<TjOrderDetail> detailLists = detailService.getTjOrderDetailListByOrderId(orderId.toString()); - List<OutpintestapplyDetailsDto> detailsDtoss = new ArrayList<>(); - if (null != detailList && detailList.size() > 0) { - LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); - wq.in(TjProject::getProId, detailLists.stream().map(TjOrderDetail::getProId).collect(Collectors.toList())); - List<TjProject> projects = projectService.list(wq); - if (null != projects && projects.size() > 0) { - for (TjProject project : projects) { - OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); - detailsDto.setMxfyxmbm("tj001"); - detailsDto.setSfzhfy("1"); - detailsDto.setSl(1); - detailsDtoss.add(detailsDto); - } - } - } - outpinexamapplyDto.setDetails(detailsDtoss); - AjaxResult ajaxResult2 = controller.Outpinexamapply(outpinexamapplyDto); - String result6 = getAjaxResult(ajaxResult2); - JSONObject object5 = getJSONObject(result6); - String code4 = object5.getStr("ResultCode"); - if (code4.equals("0")) { - Map<String, Object> map = object5.getJSONObject("ResultData"); - map.put("cardId", hisRegistrationId); - JSONObject jsonObject = JSONUtil.parseObj(map); - if(null ==orderService.getHuoQuJcsqdh(hisRegistrationId)) - hisApiGetMethodService.save(jsonObject, "Outpinexamapply"); - } - } + detailsDto.setSl(1); + detailsDtos.add(detailsDto); } } } } } + if (detailsDtos.size()==0) { + OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); + detailsDto.setMxfyxmbm(""); + detailsDto.setSfzhfy(""); + detailsDto.setSl(0); + detailsDtos.add(detailsDto); + } + dto.setDetails(detailsDtos); + AjaxResult ajaxResult1 = controller.Outpintestapply(dto); + String result5 = getAjaxResult(ajaxResult1); + JSONObject object3 = getJSONObject(result5); + String code3 = object3.getStr("ResultCode"); + if (code3.equals("0")) { + Map<String, Object> datas = object3.getJSONObject("ResultData"); + datas.put("cardId", customer.getCardId()); + JSONObject object4 = JSONUtil.parseObj(datas); + LambdaQueryWrapper<HisApiConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, "Outpintestapply"); + HisApiConfig hisApiConfig = hisApiConfigService.getOne(lambdaQueryWrapper); + hisApiGetMethodService.save(object4, "Outpintestapply", hisApiConfig,JSONUtil.toJsonStr(BeanUtil.beanToMap(dto))); + }else { + return AjaxResult.success(); + } + //闂ㄨ瘖妫�鏌ョ敵璇� + OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto(); + outpinexamapplyDto.setHisRegistrationId(customer.getCardId()); + outpinexamapplyDto.setSfzh(customer.getCusIdcard()); + outpinexamapplyDto.setSqysbm(SecurityUtils.getUsername()); + outpinexamapplyDto.setMzksbm("0101"); + outpinexamapplyDto.setCzybm("00029"); + outpinexamapplyDto.setCzyksbm("0101"); + List<TbTransition> detailLists = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(), customer.getCardId()); + List<OutpintestapplyDetailsDto> detailsDtoss = new ArrayList<>(); + if (null != detailLists && detailLists.size() > 0) { + LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); + wq.in(TjProject::getProId, detailLists.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); + wq.groupBy(TjProject::getHisXmbm); + wq.in(TjProject::getDeptId, "247", "248", "249", "250", "251", "252", "271", "273", "274", "275","298"); + List<TjProject> projects = projectService.list(wq); + if (null != projects && projects.size() > 0) { + for (TjProject project : projects) { + if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { + if (null != project.getHisXmbm()) { + OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); + detailsDto.setMxfyxmbm(project.getHisXmbm()); + if(project.getSfzhfy().equals("Y")){ + detailsDto.setSfzhfy("1"); + }else { + detailsDto.setSfzhfy("0"); + } + detailsDto.setSl(1); + detailsDtoss.add(detailsDto); + } + + } + } + } + } + if (detailsDtoss.size()==0) { + OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); + detailsDto.setMxfyxmbm(""); + detailsDto.setSfzhfy(""); + detailsDto.setSl(0); + detailsDtoss.add(detailsDto); + } + outpinexamapplyDto.setDetails(detailsDtoss); + AjaxResult ajaxResult2 = controller.Outpinexamapply(outpinexamapplyDto); + String result6 = getAjaxResult(ajaxResult2); + JSONObject object5 = getJSONObject(result6); + String code4 = object5.getStr("ResultCode"); + if (code4.equals("0")) { + Map<String, Object> map = object5.getJSONObject("ResultData"); + map.put("cardId", customer.getCardId()); + JSONObject jsonObject = JSONUtil.parseObj(map); + LambdaQueryWrapper<HisApiConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, "Outpinexamapply"); + HisApiConfig hisApiConfig = hisApiConfigService.getOne(lambdaQueryWrapper); + hisApiGetMethodService.save(jsonObject, "Outpinexamapply", hisApiConfig,JSONUtil.toJsonStr(BeanUtil.beanToMap(outpinexamapplyDto))); + + }else { + return AjaxResult.success(); + } + + //闂ㄨ瘖娌荤枟澶勭疆鐢宠 + OutpintreatapplyDto dao = new OutpintreatapplyDto(); + dao.setHisRegistrationId(customer.getCardId()); + dao.setSfzh(customer.getCusIdcard()); + dao.setSqysbm(SecurityUtils.getUsername()); + dao.setMzksbm("0101"); + dao.setSjrq(date); + dao.setCzybm("00029"); + dao.setCzyksbm("0101"); + List<TbTransition> details = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(), customer.getCardId()); + List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>(); + if (null != details && details.size() > 0) { + LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); + wq.in(TjProject::getProId, details.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); + wq.groupBy(TjProject::getHisXmbm); + wq.in(TjProject::getDeptId, "100", "240", "253", "254", "255", "257", "258", "259", "269", "270"); + List<TjProject> projects = projectService.list(wq); + if (null != projects && projects.size() > 0) { + for (TjProject project : projects) { + if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { + if (null != project.getHisXmbm()) { + OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); + detailsDto.setMxfyxmbm(project.getHisXmbm()); + if (project.getSfzhfy().equals("Y")) { + detailsDto.setSfzhfy("1"); + } else { + detailsDto.setSfzhfy("0"); + } + detailsDto.setSl(1); + detailDtos.add(detailsDto); + } + } + } + } + } + if (detailDtos.size()==0) { + OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); + detailsDto.setMxfyxmbm(""); + detailsDto.setSfzhfy(""); + detailsDto.setSl(0); + detailDtos.add(detailsDto); + } + dao.setDetails(detailDtos); + AjaxResult mzylyzsq1 = controller.Outpintreatapply(dao); + String mzylyzsq2 = getAjaxResult(mzylyzsq1); + JSONObject mzylyzsq3 = getJSONObject(mzylyzsq2); + String code5 = mzylyzsq3.getStr("ResultCode"); + if (code5.equals("0")) { + Map<String, Object> map = mzylyzsq3.getJSONObject("ResultData"); + map.put("cardId", customer.getCardId()); + JSONObject jsonObject = JSONUtil.parseObj(map); + LambdaQueryWrapper<HisApiConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, "Outpintreatapply"); + HisApiConfig hisApiConfig = hisApiConfigService.getOne(lambdaQueryWrapper); + hisApiGetMethodService.save(jsonObject, "Outpintreatapply", hisApiConfig,JSONUtil.toJsonStr(BeanUtil.beanToMap(dao))); + }else { + return AjaxResult.error(); + } + return AjaxResult.success(); } } - } + return AjaxResult.error(); } //閫�璐瑰悗鍙栨秷鎺ヨ瘖浣滃簾鐢宠鍗曠瓑鎿嶄綔 @Transactional - public void ZfHisApiMethods(TjCustomer customer, TjOrder order) { + public boolean ZfHisApiMethods(TjCustomer customer, TjOrder order) { Date dates = new Date(); final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss"); - String jcsqdh= orderService.getHuoQuJcsqdh(order.getCardId()); + String jcsqdh = orderService.getHuoQuJcsqdh(order.getCardId()); - String jysqdh= orderService.getHuoQuJysqdh(order.getCardId()); + String jysqdh = orderService.getHuoQuJysqdh(order.getCardId()); - //浣滃簾闂ㄨ瘖妫�鏌ョ敵璇� - AjaxResult result = controller.Outpindelexamapply(order.getCardId(), "00029", jcsqdh); - String result1 = getAjaxResult(result); - JSONObject object = getJSONObject(result1); - String code = object.getStr("ResultCode"); - if(code.equals("0")){ - orderService.delHuoQuJcsqdh(order.getCardId()); + + String zlsqdh = orderService.getHuoQuZlsqdh(order.getCardId()); + + //2.1.6.5 浣滃簾闂ㄨ瘖妫�鏌ョ敵璇� + if (null !=jcsqdh){ + AjaxResult result = controller.Outpindelexamapply(order.getCardId(), "00029", jcsqdh); + String result1 = getAjaxResult(result); + JSONObject object = getJSONObject(result1); + String code = object.getStr("ResultCode"); + if (code.equals("0")) { + orderService.delHuoQuJcsqdh(order.getCardId()); + }else { + return false; + } } - //浣滃簾闂ㄨ瘖鐢宠 - AjaxResult ajaxResult = controller.Outpindeltestapply(order.getCardId(), "00029", jysqdh); - String result2 = getAjaxResult(ajaxResult); - JSONObject object1 = getJSONObject(result2); - String code1 = object1.getStr("ResultCode"); - if(code1.equals("0")){ - orderService.delHuoQuJysqdh(order.getCardId()); + + //2.1.6.3 浣滃簾闂ㄨ瘖妫�楠岀敵璇� + + AjaxResult ajaxResult =null; + String result2 =null; + JSONObject object1 =null; + String code1 =null; + + if(null !=jysqdh){ + ajaxResult = controller.Outpindeltestapply(order.getCardId(), "00029", jysqdh); + result2 = getAjaxResult(ajaxResult); + object1 = getJSONObject(result2); + code1 = object1.getStr("ResultCode"); + if (code1.equals("0")) { + orderService.delHuoQuJysqdh(order.getCardId()); + }else { + return false; + } } - controller.Outpinunconapply(order.getCardId(),date,"00029"); + //2.1.6.9 浣滃簾闂ㄨ瘖娌荤枟澶勭疆鐢宠 + if(null !=zlsqdh){ + ajaxResult = controller.Outpintdelreatapply(order.getCardId(), "00029", zlsqdh); + result2 = getAjaxResult(ajaxResult); + object1 = getJSONObject(result2); + code1 = object1.getStr("ResultCode"); + if (!code1.equals("0")){ + return false; + } + } + //2.1.3 闂ㄨ瘖鍖荤敓鍙栨秷鎺ヨ瘖 + ajaxResult = controller.Outpinunconapply(order.getCardId(), date, "00029"); + result2 = getAjaxResult(ajaxResult); + object1 = getJSONObject(result2); + code1 = object1.getStr("ResultCode"); + if (!code1.equals("0")){ + return false; + } + return true; + } + + + //鑾峰彇闂ㄨ瘖缁撶畻璁板綍 + @Transactional + public void getHisMzJsJl(TjOrder order) { + Date dates = new Date(); + final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss"); } + } -- Gitblit v1.8.0