| | |
| | | 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; |
| | |
| | | private ITjOrderDetailService detailService; |
| | | @Resource |
| | | private ITjProjectService projectService; |
| | | @Resource |
| | | private ITbTransitionService tbTransitionService; |
| | | @Autowired |
| | | private HisApiConfigService hisApiConfigService; |
| | | @Autowired |
| | | private HisApiGetMethodService hisApiGetMethodService; |
| | | @Resource |
| | | private ISysConfigService configService; |
| | | @Resource |
| | | private ITbTransitionService transitionService; |
| | | @Autowired |
| | | private LtkjJianchajianyanTreeService ltkjJianchajianyanTreeService; |
| | | @Autowired |
| | | private LtkjJfzhglmxjfxmzdService ltkjJfzhglmxjfxmzdService; |
| | | @Autowired |
| | | private LtkjMxjfxmzdService ltkjMxjfxmzdService; |
| | | @Autowired |
| | | private LtkjEjjfxmzdService ltkjEjjfxmzdService; |
| | | |
| | | //将方法返回值解析成json格式 |
| | | public JSONObject getJSONObject(String builder) { |
| | |
| | | |
| | | //对接his总接口 注册挂号接诊申请单操作 |
| | | @Transactional |
| | | public void HisApiMethods(TjCustomer customer, Long orderId) { |
| | | HisApiGetMethodService hisApiGetMethodService = new HisApiGetMethodService(); |
| | | public AjaxResult HisApiMethods(TjCustomer customer, Long orderId) { |
| | | |
| | | TjOrder tjOrder = orderService.getById(orderId); |
| | | Date dates = new Date(); |
| | | final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss"); |
| | | AjaxResult result = controller.Outpincreateapply(customer); |
| | |
| | | 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(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"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | customer.setPationId(pationid); |
| | | // customerService.updateById(customer); |
| | | /* 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) { |
| | | Map<String, Object> resultDatasss = (Map<String, Object>) resultDatas.get(0); |
| | | String hisRegistrationId = resultDatasss.get("his_registration_id").toString(); |
| | | //门诊医生接诊 |
| | | controller.Outpinconapply(hisRegistrationId, date, SecurityUtils.getUsername()); |
| | | customer.setCardId(hisRegistrationId); |
| | | customerService.updateById(customer); |
| | | transitionService.updateCardIdByTjNumAndIdCard(customer.getCusIdcard(),hisRegistrationId); |
| | | if(null !=tjOrder){ |
| | | tjOrder.setCardId(hisRegistrationId); |
| | | orderService.updateById(tjOrder); |
| | | } |
| | | } |
| | | |
| | | }*/ |
| | | AjaxResult error = tijianshenqing(customer, date); |
| | | if (error != null) return error; |
| | | return AjaxResult.success(); |
| | | } |
| | | } |
| | | |
| | | } |
| | | return AjaxResult.error(); |
| | | } |
| | | |
| | | |
| | | //体检对his申请单调用方法 |
| | | private AjaxResult tijianshenqing(TjCustomer customer, String date) { |
| | | //检验申请 |
| | | 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"); |
| | | } |
| | | detailsDto.setSl(project.getSl()); |
| | | detailsDtos.add(detailsDto); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if (detailsDtos.size()>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")) { |
| | | List<OutpintestapplyDetailsDto> details = dto.getDetails(); |
| | | for (OutpintestapplyDetailsDto detail : details) { |
| | | LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); |
| | | tree.setCardId(dto.getHisRegistrationId()); |
| | | LambdaQueryWrapper<TjCustomer> wrapper4 = new LambdaQueryWrapper<>(); |
| | | wrapper4.eq(TjCustomer::getCardId,tree.getCardId()); |
| | | TjCustomer tjCustomer = customerService.getOne(wrapper4); |
| | | tree.setPationid(tjCustomer.getPationId()); |
| | | JSONObject resultData = object3.getJSONObject("ResultData"); |
| | | tree.setSqdh(resultData.getStr("jysqdh")); |
| | | tree.setFyhj(resultData.getStr("fyhj")); |
| | | String mxfyxmbm = detail.getMxfyxmbm(); |
| | | tree.setHisXmdm(mxfyxmbm); |
| | | tree.setType("检验"); |
| | | LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.eq(TjProject::getHisXmbm,mxfyxmbm); |
| | | List<TjProject> list = projectService.list(wrapper); |
| | | String tj_price = ""; |
| | | for (TjProject project : list) { |
| | | tj_price+= project.getProPrice()+"、"; |
| | | } |
| | | tree.setTjPrice(tj_price.substring(0,tj_price.length()-1)); |
| | | LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>(); |
| | | if (detail.getSfzhfy().equals("1")) |
| | | wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm,mxfyxmbm); |
| | | else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm,mxfyxmbm); |
| | | List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); |
| | | if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()){ |
| | | String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); |
| | | LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>(); |
| | | wrapper2.eq(LtkjMxjfxmzd::getXmdm,xmdm); |
| | | LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); |
| | | LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>(); |
| | | wrapper3.eq(LtkjEjjfxmzd::getEjkmdm,mxjfxmzd.getEjkmdm()); |
| | | LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); |
| | | tree.setXmfl(ejjfxmzd.getYjkmdm()); |
| | | } |
| | | ltkjJianchajianyanTreeService.save(tree); |
| | | } |
| | | // 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.error(); |
| | | } |
| | | } |
| | | |
| | | //门诊检查申请 |
| | | 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(project.getSl()); |
| | | detailsDtoss.add(detailsDto); |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if (detailsDtoss.size()>0) { |
| | | 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")) { |
| | | List<OutpintestapplyDetailsDto> details = outpinexamapplyDto.getDetails(); |
| | | for (OutpintestapplyDetailsDto detail : details) { |
| | | LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); |
| | | tree.setCardId(outpinexamapplyDto.getHisRegistrationId()); |
| | | LambdaQueryWrapper<TjCustomer> wrapper4 = new LambdaQueryWrapper<>(); |
| | | wrapper4.eq(TjCustomer::getCardId,tree.getCardId()); |
| | | TjCustomer tjCustomer = customerService.getOne(wrapper4); |
| | | tree.setPationid(tjCustomer.getPationId()); |
| | | JSONObject resultData = object5.getJSONObject("ResultData"); |
| | | tree.setSqdh(resultData.getStr("jcsqdh")); |
| | | tree.setFyhj(resultData.getStr("fyhj")); |
| | | String mxfyxmbm = detail.getMxfyxmbm(); |
| | | tree.setHisXmdm(mxfyxmbm); |
| | | tree.setType("检查"); |
| | | LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.eq(TjProject::getHisXmbm,mxfyxmbm); |
| | | List<TjProject> list = projectService.list(wrapper); |
| | | String tj_price = ""; |
| | | for (TjProject project : list) { |
| | | tj_price+= project.getProPrice()+"、"; |
| | | } |
| | | tree.setTjPrice(tj_price.substring(0,tj_price.length()-1)); |
| | | LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>(); |
| | | if (detail.getSfzhfy().equals("1")) |
| | | wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm,mxfyxmbm); |
| | | else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm,mxfyxmbm); |
| | | List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); |
| | | if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()){ |
| | | String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); |
| | | LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>(); |
| | | wrapper2.eq(LtkjMxjfxmzd::getXmdm,xmdm); |
| | | LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); |
| | | LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>(); |
| | | wrapper3.eq(LtkjEjjfxmzd::getEjkmdm,mxjfxmzd.getEjkmdm()); |
| | | LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); |
| | | tree.setXmfl(ejjfxmzd.getYjkmdm()); |
| | | } |
| | | ltkjJianchajianyanTreeService.save(tree); |
| | | } |
| | | // 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.error(); |
| | | } |
| | | } |
| | | |
| | | |
| | | //门诊治疗处置申请 |
| | | 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"); |
| | | wq.isNull(TjProject::getDeptId); |
| | | 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(project.getSl()); |
| | | detailDtos.add(detailsDto); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if (detailDtos.size()>0) { |
| | | 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")) { |
| | | List<OutpintestapplyDetailsDto> details1 = dao.getDetails(); |
| | | for (OutpintestapplyDetailsDto detail : details1) { |
| | | LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); |
| | | tree.setCardId(dao.getHisRegistrationId()); |
| | | LambdaQueryWrapper<TjCustomer> wrapper4 = new LambdaQueryWrapper<>(); |
| | | wrapper4.eq(TjCustomer::getCardId,tree.getCardId()); |
| | | TjCustomer tjCustomer = customerService.getOne(wrapper4); |
| | | tree.setPationid(tjCustomer.getPationId()); |
| | | JSONObject resultData = mzylyzsq3.getJSONObject("ResultData"); |
| | | tree.setSqdh(resultData.getStr("zlczh")); |
| | | tree.setFyhj(resultData.getStr("fyhj")); |
| | | String mxfyxmbm = detail.getMxfyxmbm(); |
| | | tree.setHisXmdm(mxfyxmbm); |
| | | tree.setType("处置"); |
| | | LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.eq(TjProject::getHisXmbm,mxfyxmbm); |
| | | List<TjProject> list = projectService.list(wrapper); |
| | | String tj_price = ""; |
| | | for (TjProject project : list) { |
| | | tj_price+= project.getProPrice()+"、"; |
| | | } |
| | | tree.setTjPrice(tj_price.substring(0, tj_price.length() - 1)); |
| | | LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>(); |
| | | if (detail.getSfzhfy().equals("1")) |
| | | wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm,mxfyxmbm); |
| | | else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm,mxfyxmbm); |
| | | List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); |
| | | if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()){ |
| | | String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); |
| | | LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>(); |
| | | wrapper2.eq(LtkjMxjfxmzd::getXmdm,xmdm); |
| | | LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); |
| | | LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>(); |
| | | wrapper3.eq(LtkjEjjfxmzd::getEjkmdm,mxjfxmzd.getEjkmdm()); |
| | | LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); |
| | | tree.setXmfl(ejjfxmzd.getYjkmdm()); |
| | | } |
| | | ltkjJianchajianyanTreeService.save(tree); |
| | | } |
| | | // 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 null; |
| | | } |
| | | |
| | | |
| | | //退费后取消接诊作废申请单等操作 |
| | | @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"); |
| | | |
| | | } |
| | | |
| | | } |