ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiGetMethodService.java
@@ -33,7 +33,7 @@ @Component public class HisApiGetMethodService { // 数据库配置文件路径 private static final String CONFIG_PATH = "/Users/chacca/开发相关/代码/ltkj_peis/ltkj-admin/src/main/resources/config.properties"; private static final String CONFIG_PATH = "D:\\ltkjprojectconf\\config.properties"; // private static final String CONFIG_PATH = "D:\\ltkjprojectconf\\config.properties"; // 数据库名 private static String DB_NAME = ""; 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,15 @@ 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 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 +40,12 @@ 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) { @@ -62,7 +61,7 @@ //对接his总接口 注册挂号接诊申请单操作 @Transactional public void HisApiMethods(TjCustomer customer, Long orderId) { HisApiGetMethodService hisApiGetMethodService = new HisApiGetMethodService(); // HisApiGetMethodService hisApiGetMethodService = new HisApiGetMethodService(); Date dates = new Date(); final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss"); @@ -78,128 +77,210 @@ 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(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); } } } 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"); } } // 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); } // } } } } // } } // } //} // } // } //退费后取消接诊作废申请单等操作 @@ -208,16 +289,19 @@ 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()); 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")){ if (code.equals("0")) { orderService.delHuoQuJcsqdh(order.getCardId()); } @@ -226,11 +310,23 @@ String result2 = getAjaxResult(ajaxResult); JSONObject object1 = getJSONObject(result2); String code1 = object1.getStr("ResultCode"); if(code1.equals("0")){ if (code1.equals("0")) { orderService.delHuoQuJysqdh(order.getCardId()); } controller.Outpinunconapply(order.getCardId(),date,"00029"); 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"); } } ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethodService.java
@@ -54,9 +54,9 @@ public AjaxResult Outpincreateapply (TjCustomer customer) { Map<String, Object> map = new HashMap<> (); if (null != customer.getPationId () && !customer.getPationId().equals("0")) { map.put ("pationid", customer.getPationId ()); map.put ("Pationid", customer.getPationId ()); } else { map.put ("pationid", null); map.put ("Pationid", null); } map.put ("brxm", customer.getCusName ()); map.put ("brxb", customer.getCusSex ()); ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
@@ -901,12 +901,12 @@ @Override @Async("async") public void saveRedisTransitionByPacId(String cusId, Long pacId, List<Long> proIds) { public void saveRedisTransitionByPacId(String cusId,String cardId, Long pacId, List<Long> proIds) { if (null != pacId) { transitionService.saveRedisTransitionByPacId(cusId, pacId); transitionService.saveRedisTransitionByPacId(cusId,cardId ,pacId); } if (null != proIds && proIds.size() > 0) { saveRedisTransitionByProId(cusId, proIds); saveRedisTransitionByProId(cusId,cardId, proIds); } } @@ -2032,13 +2032,13 @@ } //临时表添加单项 public void saveRedisTransitionByProId(String cusId, List<Long> proIds) { public void saveRedisTransitionByProId(String cusId,String cardId, List<Long> proIds) { for (Long proId : proIds) { List<TbTransition> transitionList = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(cusId, String.valueOf(proId)); if (null != transitionList && transitionList.size() > 0) { continue; } transitionService.saveRedisTransitionByProId(cusId, proId); transitionService.saveRedisTransitionByProId(cusId,cardId, proId); } } ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java
@@ -2,22 +2,32 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; 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.enums.DataSourceType; import com.ltkj.common.utils.SecurityUtils; import com.ltkj.framework.config.MatchUtils; import com.ltkj.framework.datasource.DynamicDataSourceContextHolder; import com.ltkj.hosp.domain.TjCustomerBlack; import com.ltkj.hosp.domain.TjReservation; import com.ltkj.hosp.hisDto.OutpinregapplyDto; import com.ltkj.hosp.mapper.TestMapper; import com.ltkj.hosp.service.*; import com.ltkj.hosp.sqlDomain.LtkjMiddleDetail; import com.ltkj.hosp.sqlDomain.LtkjMiddleHead; import com.ltkj.hosp.sqlDomain.LtkjTjPat; import com.ltkj.system.service.ISysConfigService; import com.ltkj.web.controller.his.HisApiGetMethodService; import com.ltkj.web.controller.his.HisApiMethod; import com.ltkj.web.controller.his.HisApiMethodService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.DigestUtils; import org.springframework.web.bind.annotation.*; import com.ltkj.common.core.controller.BaseController; @@ -64,13 +74,29 @@ private ITjOrderService tjOrderService; @Resource private TjCustomerBlackService blackService; @Autowired private HisApiMethod hisApiMethod; @Autowired private HisApiMethodService controller; //将方法返回值解析成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(); } @GetMapping("/newGetTjPat") @ApiOperation(value = "查询his数据库返回新的数据") public AjaxResult newGetTjPat(@RequestParam(required = false)String pacCode, @RequestParam(required = false)String pacName, @RequestParam(required = false)String pacRemark) { List<Map<String, Object>> maps = testMapper.newGetTjPat(pacCode,pacName,pacRemark); public AjaxResult newGetTjPat(@RequestParam(required = false) String pacCode, @RequestParam(required = false) String pacName, @RequestParam(required = false) String pacRemark) { List<Map<String, Object>> maps = testMapper.newGetTjPat(pacCode, pacName, pacRemark); DynamicDataSourceContextHolder.clearDataSourceType(); // List<Map<String, Object>> list=new ArrayList<>(); // if(null !=maps && maps.size()>0){ @@ -87,15 +113,14 @@ // } // } List<String> strings = tjOrderService.selectTjOrderByCardId1(); if(null !=strings && strings.size()>0){ if (null != strings && strings.size() > 0) { List<Map<String, Object>> collect = maps.stream() .filter(item -> !strings.contains(item.get("pacCode").toString())).collect(Collectors.toList()); .filter(item -> !strings.contains(item.get("pacCode").toString())).collect(Collectors.toList()); return AjaxResult.success(collect); } return AjaxResult.success(maps); // return AjaxResult.success(maps); } /** @@ -119,27 +144,27 @@ // } //根据配置调取存储过程 将临时表数据存入预约表2023.12.12 final String getInfoFromSqlData = sysConfigService.selectConfigByKey("getInfoFromSqlData"); if ("Y".equals(getInfoFromSqlData)){ if ("Y".equals(getInfoFromSqlData)) { //根据身份证号从his查信息 LtkjTjPat tjPatByIdCard = testMapper.getTjPatByIdCard(cusIdcard); if(null != tjPatByIdCard){ if (null != tjPatByIdCard) { String fcardNo = tjPatByIdCard.getFcardNo(); if(null !=fcardNo && !fcardNo.equals("")){ fcardNo=fcardNo.trim(); if (null != fcardNo && !fcardNo.equals("")) { fcardNo = fcardNo.trim(); tjPatByIdCard.setFcardNo(fcardNo); }else { fcardNo=cusIdcard.trim(); } else { fcardNo = cusIdcard.trim(); tjPatByIdCard.setFcardNo(fcardNo); } //根据身份证号从数据库拿信息 没有的话保存 LtkjTjPat ltkjTjPat = tjvLtkjvtjpatService.getLtkjTjPatByCusIdCard(cusIdcard); if(null==ltkjTjPat){ if (null == ltkjTjPat) { tjvLtkjvtjpatService.save(tjPatByIdCard); } DynamicDataSourceContextHolder.clearDataSourceType(); //再根据身份证号写customer表 TjCustomer tjCustomer = tjCustomerService.getTjCustomerByCusIdCard(tjPatByIdCard.getFcardNo()); if(null == tjCustomer){ if (null == tjCustomer) { //为空的话掉存储过程保存到客户表 testMapper.getTjPatByCusId(cusIdcard); LambdaQueryWrapper<TjCustomer> qw = new LambdaQueryWrapper<>(); @@ -148,11 +173,11 @@ customer.setReservationId(customer.getCardId()); extracted(customer); return success(customer); }else { } else { String cardId = tjPatByIdCard.getFcardId(); if(null !=cardId && !cardId.equals("0")){ if (null != cardId && !cardId.equals("0")) { int i = tjOrderService.selectTjOrderByCardId(cardId); if(i>0){ if (i > 0) { return AjaxResult.error("不可重复签到"); } @@ -242,7 +267,7 @@ LambdaQueryWrapper<TjCustomer> qw = new LambdaQueryWrapper<>(); qw.eq(TjCustomer::getCusIdcard, cusIdcard); TjCustomer tjCustomer = tjCustomerService.getOne(qw); return AjaxResult.success("暂无预约信息",tjCustomer); return AjaxResult.success("暂无预约信息", tjCustomer); } return error("身份证号不存在"); } @@ -251,16 +276,16 @@ //从his表抓数据 LtkjMiddleHead pat = testMapper.getMiddleHeadByPartId(customer.getCardId()); if (null != pat) { LambdaQueryWrapper<LtkjMiddleHead> wq1=new LambdaQueryWrapper<>(); wq1.eq(LtkjMiddleHead::getFeadId,customer.getCardId()); LambdaQueryWrapper<LtkjMiddleHead> wq1 = new LambdaQueryWrapper<>(); wq1.eq(LtkjMiddleHead::getFeadId, customer.getCardId()); headService.remove(wq1); LambdaQueryWrapper<LtkjMiddleDetail> wq0=new LambdaQueryWrapper<>(); wq0.eq(LtkjMiddleDetail::getFheadId,pat.getFeadId()); LambdaQueryWrapper<LtkjMiddleDetail> wq0 = new LambdaQueryWrapper<>(); wq0.eq(LtkjMiddleDetail::getFheadId, pat.getFeadId()); middleDetailService.remove(wq0); List<LtkjMiddleDetail> list = testMapper.getMiddleDetailByFeadId(pat.getFeadId()); DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); LtkjMiddleHead o = headService.getMiddleHeadByPartId(customer.getCardId()); if(o==null){ if (o == null) { headService.save(pat); for (LtkjMiddleDetail ltkjMiddleDetail : list) { middleDetailService.save(ltkjMiddleDetail); @@ -281,16 +306,16 @@ public TableDataInfo list(TjCustomer tjCustomer) { startPage(); List<TjCustomer> list = tjCustomerService.selectTjCustomerList(tjCustomer); if(null !=list && list.size()>0){ if (null != list && list.size() > 0) { for (TjCustomer customer : list) { // customer.setCusName(MatchUtils.hideCusName(customer.getCusName())); customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone())); customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard())); TjCustomerBlack tjCustomerBlack = blackService.isTjCustomerBlack(String.valueOf(customer.getCusId())); if(null !=tjCustomerBlack){ customer.setIsBlack("Y"); }else { customer.setIsBlack("N"); if (null != tjCustomerBlack) { customer.setIsBlack("Y"); } else { customer.setIsBlack("N"); } } } @@ -328,20 +353,25 @@ if (null == tjCustomer.getCusIdcard() || null == tjCustomer.getCusPhone()) { return AjaxResult.error("请输入身份证号或手机号"); } HisApiGetMethodService hisApiGetMethodService = new HisApiGetMethodService(); Date dates = new Date(); final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss"); String cusIdcard = tjCustomer.getCusIdcard(); boolean b=true; if(null !=tjCustomer.getIdType()){ if(tjCustomer.getIdType().equals("1")){ boolean b = true; if (null != tjCustomer.getIdType()) { if (tjCustomer.getIdType().equals("1")) { b = MatchUtils.isIdCard(cusIdcard); } // else { // b = MatchUtils.cardValidate(cusIdcard, tjCustomer.getIdType()); // } }else { } else { return AjaxResult.error("请选择证件类型"); } if(!b) return AjaxResult.error("证件号有误"); if (!b) return AjaxResult.error("证件号有误"); //判断身份证号格式是否正确 if (!(MatchUtils.isMobileNO(tjCustomer.getCusPhone()))) @@ -362,14 +392,74 @@ String substring = cusIdcard.substring(cusIdcard.length() - 6); substring = DigestUtils.md5DigestAsHex(substring.getBytes()); tjCustomer.setCusPassword(substring); if(tjCustomer.getIdType().equals("1")){ tjCustomer.setCusBrithday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjCustomer.getCusIdcard()), "yyyy-MM-dd")); } // if (tjCustomer.getIdType().equals("1")) { // tjCustomer.setCusBrithday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjCustomer.getCusIdcard()), "yyyy-MM-dd")); // } tjCustomer.setCusNumber(0L); if (tjCustomerService.save(tjCustomer)) { return AjaxResult.success(tjCustomer); String config = sysConfigService.selectConfigByKey("sfkqdyhis"); if(null !=config && config.equals("Y")){ AjaxResult tjCustomer1 = suijieHisXinXi(tjCustomer, date); if (tjCustomer1 != null) return tjCustomer1; } return AjaxResult.error(); } private AjaxResult suijieHisXinXi(TjCustomer tjCustomer, String date) { AjaxResult result = controller.Outpincreateapply(tjCustomer); 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) { 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(); // tjCustomer.setPationId(pationid); tjCustomer.setCardId(toString); // tjCustomerService.updateById(tjCustomer); } } } } } } if (tjCustomerService.save(tjCustomer)) { return AjaxResult.success(tjCustomer); } } return null; } /** ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
@@ -1022,11 +1022,16 @@ // // } // } /*调用his接口*/ String config = configService.selectConfigByKey("sfkqdyhis"); if(null !=config && config.equals("Y")){ hisApiMethod.HisApiMethods(tjCustomer,tjOrder.getOrderId()); } tjCustomer.setCardId("0"); tjCustomerService.updateById(tjCustomer); //调用his接口 hisApiMethod.HisApiMethods(tjCustomer,tjOrder.getOrderId()); // hisMzJysqController.getHisMzJysq(tjCustomer.getCusIdcard(),tjCustomer.getCardId(),tjOrder.getOrderId().toString()); return AjaxResult.success(tjNumber); } return AjaxResult.error(); @@ -1520,7 +1525,7 @@ if (null != ppList && ppList.size() > 0) { //异步保存数据库 // asyncService.addRedisTransitionPac(cusId, pacId, ppList); asyncService.saveRedisTransitionByPacId(cusId, pacId, null); asyncService.saveRedisTransitionByPacId(cusId,cardId, pacId, null); for (TjPackageProject tjPackageProject : ppList) { TjProject project = projectService.getTjProjectById(String.valueOf(tjPackageProject.getProId())); if (null != project) { @@ -1565,7 +1570,7 @@ //单项 if (null != proIds && proIds.size() > 0) { //异步保存数据库表 asyncService.saveRedisTransitionByPacId(cusId, null, proIds); asyncService.saveRedisTransitionByPacId(cusId,cardId,null, proIds); for (Long proId : proIds) { List<TbTransition> transitions = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(cusId, String.valueOf(proId)); if (null != transitions && transitions.size() > 0) { ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TbTransitionMapper.java
@@ -126,7 +126,8 @@ " now_price,\n" + " create_time,\n" + " pro_check_method,\n" + " pro_type\n" + " pro_type,\n" + " card_id\n" + ")\n" + "SELECT\n" + "\t#{cusId},\n" + @@ -140,7 +141,8 @@ " IFNULL(TRUNCATE(c.pro_price * (TRUNCATE ( a.price_now / b.pro_price, 5 )),2),0), " + "\tSYSDATE(),\n" + "\tc.pro_check_method,\n" + "\tIFNULL(c.pro_type,'')\n" + "\tIFNULL(c.pro_type,''),\n" + "\t#{cardId}\n" + "FROM\n" + "\ttj_package_project a\n" + "\tLEFT JOIN tj_project b ON a.pro_id = b.pro_id\n" + @@ -148,15 +150,16 @@ "\tLEFT JOIN tj_package d ON a.pac_id=d.pac_id\n" + "\t\n" + "\tWHERE a.pac_id=#{pacId} and c.deleted=0") void saveRedisTransitionByPacId(@Param("cusId") String cusId,@Param("pacId") Long pacId); void saveRedisTransitionByPacId(@Param("cusId") String cusId,@Param("cardId")String cardId,@Param("pacId") Long pacId); @Insert("INSERT INTO tb_transition \n" + "(cus_id, pro_id, pro_name, parent_pro_id, parent_pro_name, ord_price, now_price, create_time, pro_check_method, pro_type ) \n" + "(cus_id, pro_id, pro_name, parent_pro_id, parent_pro_name, ord_price, now_price, create_time, pro_check_method, pro_type,card_id ) \n" + "SELECT\n" + "#{cusId},\n" + "a.pro_id,a.pro_name,b.pro_id,b.pro_name,a.pro_price,a.pro_price,SYSDATE(),a.pro_check_method,\n" + "IFNULL ( a.pro_type, '' ) \n" + "IFNULL ( a.pro_type, '' ), \n" + "#{cardId}\n" + "FROM\n" + "\ttj_project a\n" + "\tLEFT JOIN \n" + @@ -164,7 +167,7 @@ "\tON a.pro_parent_id = b.pro_id \n" + "WHERE\n" + "\ta.pro_id = #{proId}") void saveRedisTransitionByProId(@Param("cusId")String cusId,@Param("proId") Long proId); void saveRedisTransitionByProId(@Param("cusId")String cusId,@Param("cardId")String cardId,@Param("proId") Long proId); @Insert("INSERT INTO tb_transition(\n" + ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderMapper.java
@@ -237,8 +237,14 @@ @Select("SELECT a.jysqdh FROM ltkj_outpintestapply a WHERE a.cardId='20240604000001'") @Select("SELECT a.jysqdh FROM ltkj_outpintestapply a WHERE a.cardId=#{cardId} ") String getHuoQuJysqdh(String cardId); @Delete("DELETE FROM ltkj_outpintestapply WHERE cardId=#{cardId}") String delHuoQuJysqdh(String cardId); @Select("SELECT a.ylyzh FROM ltkj_Outpinmedapply a WHERE a.cardId=#{cardId}") String getHuoQuZlsqdh(String cardId); @Delete("DELETE FROM ltkj_Outpinmedapply WHERE cardId=#{cardId}") String delHuoQuZlsqdh(String cardId); } ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITbTransitionService.java
@@ -101,9 +101,9 @@ public boolean updateTbTransitionPriceByCusId(String cusId,BigDecimal discount,String tjNum); void saveRedisTransitionByPacId(String cusId, Long pacId); void saveRedisTransitionByPacId(String cusId,String cardId, Long pacId); void saveRedisTransitionByProId(String cusId, Long proId); void saveRedisTransitionByProId(String cusId,String cardId, Long proId); boolean saveTemoTransitionByGroupingId(String cusId,String groupingId); ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderService.java
@@ -144,4 +144,7 @@ String getHuoQuJysqdh(String cardId); String delHuoQuJysqdh(String cardId); String getHuoQuZlsqdh(String cardId); String delHuoQuZlsqdh(String cardId); } ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjAsyncService.java
@@ -67,7 +67,7 @@ void addRedisTransitionPac(String cusId, Long pacId, List<TjPackageProject> ppList); void saveRedisTransitionByPacId(String cusId, Long pacId,List<Long> proIds); void saveRedisTransitionByPacId(String cusId,String cardId, Long pacId,List<Long> proIds); //添加临时表单项 void addRedisTransitionPro(String cusId, List<Long> proIds); ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TbTransitionServiceImpl.java
@@ -153,13 +153,13 @@ @Override public void saveRedisTransitionByPacId(String cusId, Long pacId) { tbTransitionMapper.saveRedisTransitionByPacId(cusId,pacId); public void saveRedisTransitionByPacId(String cusId,String cardId, Long pacId) { tbTransitionMapper.saveRedisTransitionByPacId(cusId,cardId,pacId); } @Override public void saveRedisTransitionByProId(String cusId, Long proId) { tbTransitionMapper.saveRedisTransitionByProId(cusId,proId); public void saveRedisTransitionByProId(String cusId,String cardId, Long proId) { tbTransitionMapper.saveRedisTransitionByProId(cusId,cardId,proId); } @Override ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderServiceImpl.java
@@ -303,4 +303,14 @@ public String delHuoQuJysqdh(String cardId) { return tjOrderMapper.delHuoQuJysqdh(cardId); } @Override public String getHuoQuZlsqdh(String cardId) { return tjOrderMapper.getHuoQuZlsqdh(cardId); } @Override public String delHuoQuZlsqdh(String cardId) { return tjOrderMapper.delHuoQuZlsqdh(cardId); } }