From a0385d39fd55aaf45f43e2e12e446b9c933efc1c Mon Sep 17 00:00:00 2001 From: zjh <zjh@888> Date: 星期五, 07 六月 2024 15:01:03 +0800 Subject: [PATCH] zjh 本地 2024/06/07 --1 --- ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java | 317 ++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 293 insertions(+), 24 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 541ee34..61546c2 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,15 +1,24 @@ 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; import cn.hutool.json.JSONUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ltkj.common.core.domain.AjaxResult; -import com.ltkj.hosp.domain.TjCustomer; -import com.ltkj.hosp.service.ITjCustomerService; +import com.ltkj.common.utils.SecurityUtils; +import com.ltkj.hosp.domain.*; +import com.ltkj.hosp.hisDto.*; +import com.ltkj.hosp.service.*; 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; import java.util.Map; @@ -23,41 +32,301 @@ public class HisApiMethod { @Autowired private HisApiMethodService controller; - + @Resource + private ITjOrderService orderService; @Autowired private ITjCustomerService customerService; - + @Resource + private ITjOrderDetailService detailService; + @Resource + private ITjProjectService projectService; + @Resource + private ITbTransitionService tbTransitionService; + @Autowired + private HisApiConfigService hisApiConfigService; + @Autowired + private HisApiGetMethodService hisApiGetMethodService; //灏嗘柟娉曡繑鍥炲�艰В鏋愭垚json鏍煎紡 - public JSONObject getJSONObject (String builder) { - return JSONUtil.parseObj (builder); + 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 (); + public String getAjaxResult(AjaxResult result) { + return result.get("data").toString(); } - //瀵规帴his鎬绘帴鍙� - public AjaxResult HisApiMethods (TjCustomer customer) { + //瀵规帴his鎬绘帴鍙� 娉ㄥ唽鎸傚彿鎺ヨ瘖鐢宠鍗曟搷浣� + @Transactional + public void HisApiMethods(TjCustomer customer, Long orderId) { +// HisApiGetMethodService hisApiGetMethodService = new HisApiGetMethodService(); -// Date date = new Date (); - AjaxResult result = controller.Outpincreateapply (customer); - String result1 = getAjaxResult (result); - JSONObject object = getJSONObject (result1); - String code = object.getStr ("ResultCode"); - if (code.equals ("0")) { - Map<String, Object> resultData = (Map<String, Object>) object.get ("ResultData"); - if (null != resultData && resultData.size () > 0) { - String cardId = resultData.get ("pationid").toString (); - if(null !=cardId){ - customer.setCardId (cardId); - customerService.updateById (customer); + Date dates = new Date(); + final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss"); + AjaxResult result = controller.Outpincreateapply(customer); + String result1 = getAjaxResult(result); + JSONObject object = getJSONObject(result1); + String code = object.getStr("ResultCode"); + if (code.equals("0")) { + JSONArray resultDatass = object.getJSONArray("ResultData"); + Map<String, Object> resultData = (Map<String, Object>) resultDatass.get(0); + if (null != resultData && resultData.size() > 0) { + String pationid = resultData.get("PationId").toString(); + 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) { +// //闂ㄨ瘖鍖荤敓鎺ヨ瘖 +// 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(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"); + List<TjProject> projects = projectService.list(wq); + if (null != projects && projects.size() > 0) { + for (TjProject project : projects) { + OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); + if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { + if (null != project.getHisXmbm()) { + detailsDto.setMxfyxmbm(project.getHisXmbm()); +// if(project.getHisXmbm().toLowerCase().contains("z".toLowerCase())){ + detailsDto.setSfzhfy("1"); +// }else { +// detailsDto.setSfzhfy("0"); +// } + } else { + detailsDto.setMxfyxmbm(""); + detailsDto.setSfzhfy("0"); + } + detailsDto.setSfzhfy("1"); + detailsDto.setSl(1); + 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); + + } + //闂ㄨ瘖妫�鏌ョ敵璇� + 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"); + List<TjProject> projects = projectService.list(wq); + if (null != projects && projects.size() > 0) { + for (TjProject project : projects) { + OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); + if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { + if (null != project.getHisXmbm()) { + detailsDto.setMxfyxmbm(project.getHisXmbm()); +// if(project.getHisXmbm().toLowerCase().contains("z".toLowerCase())){ + detailsDto.setSfzhfy("1"); +// }else { +// detailsDto.setSfzhfy("0"); +// } + } else { + detailsDto.setMxfyxmbm(""); + detailsDto.setSfzhfy("0"); + } + 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", 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); + + } + + //闂ㄨ瘖娌荤枟澶勭疆鐢宠 + 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) { + OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); + if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { + if (null != project.getHisXmbm()) { + detailsDto.setMxfyxmbm(project.getHisXmbm()); + if(project.getHisXmbm().toLowerCase().contains("z".toLowerCase())){ + detailsDto.setSfzhfy("1"); + }else { + detailsDto.setSfzhfy("0"); + } + } else { + detailsDto.setMxfyxmbm(""); + detailsDto.setSfzhfy("0"); + } + detailsDto.setSl(1); + 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, "Outpinmedapply"); + HisApiConfig hisApiConfig = hisApiConfigService.getOne(lambdaQueryWrapper); + hisApiGetMethodService.save(jsonObject, "Outpinmedapply",hisApiConfig); + + } + +// } } } - } - return AjaxResult.success (); +// } + + } +// } +//} +// } +// } + + + //閫�璐瑰悗鍙栨秷鎺ヨ瘖浣滃簾鐢宠鍗曠瓑鎿嶄綔 + @Transactional + public void 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 jysqdh = orderService.getHuoQuJysqdh(order.getCardId()); + + + String zlsqdh = orderService.getHuoQuZlsqdh(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()); + } + + //浣滃簾闂ㄨ瘖鐢宠 + 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()); + } + + controller.Outpinunconapply(order.getCardId(), date, "00029"); + + controller.Outpindelmedapply(order.getCardId(), "00029", zlsqdh); + + } + + + //鑾峰彇闂ㄨ瘖缁撶畻璁板綍 + @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