package com.ltkj.web.controller.his; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.copier.CopyOptions; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.ltkj.common.core.domain.AjaxResult; import com.ltkj.common.core.domain.entity.SysUser; import com.ltkj.common.utils.SecurityUtils; import com.ltkj.hosp.domain.*; import com.ltkj.hosp.hisDto.*; import com.ltkj.hosp.service.*; import com.ltkj.system.service.ISysConfigService; import com.ltkj.system.service.ISysDeptService; import com.ltkj.web.controller.lis.LisApiMethod; import com.ltkj.web.controller.pacs.PacsApiMethodService; import com.ltkj.web.controller.service.TjSysAsyncServiceImpl; import com.ltkj.web.controller.system.SamplingServiceApi; import jdk.nashorn.internal.runtime.logging.Logger; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.NoTransactionException; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; import javax.annotation.Resource; import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; /* @Authot:zjh * @Date: 2024-05-30 * */ @Component @Slf4j 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; @Resource private ISysDeptService deptService; @Resource private ITbTransitionService transitionService; @Autowired private LtkjJianchajianyanTreeService ltkjJianchajianyanTreeService; @Autowired private LtkjJfzhglmxjfxmzdService ltkjJfzhglmxjfxmzdService; @Autowired private LtkjMxjfxmzdService ltkjMxjfxmzdService; @Autowired private LtkjEjjfxmzdService ltkjEjjfxmzdService; @Autowired private TjCfService cfService; @Autowired private PacsApiMethodService pacsApiMethodService; @Autowired private ITjOrderDetailService tjOrderDetailService; @Autowired private TjSysAsyncServiceImpl tjSysAsyncService; @Autowired private LisApiMethod lisApiMethod; @Autowired private ISysConfigService configService; @Autowired private ITjSamplingService tjSamplingService; @Autowired private SamplingServiceApi samplingService; @Autowired private TbLisSqService tbLisSqService; @Autowired private TjOutpinmedicXmService tjOutpinmedicXmService; //将方法返回值解析成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(); } //对接his总接口 注册挂号接诊申请单操作 @Logger public AjaxResult HisApiMethods(TjCustomer customer,TjOrder tjOrder) { String jzh=null; String dept = configService.selectConfigByKey("request_default_dept"); String ysbm = configService.selectConfigByKey("request_default_ysbm"); try { // TjOrder tjOrder = orderService.getById(orderId); Date dates = new Date(); final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss"); OutpinregapplyDto outpinregapplyDto = new OutpinregapplyDto(); outpinregapplyDto.setPationid(customer.getPationId()); outpinregapplyDto.setSqysbm(ysbm); outpinregapplyDto.setMzksbm(dept); outpinregapplyDto.setCzybm(ysbm); 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.isEmpty()) { Map resultDatasss = (Map) resultDatas.get(0); String hisRegistrationId = resultDatasss.get("his_registration_id").toString(); jzh=hisRegistrationId; //保存挂号入参出参 resultDatasss.put("cardId",hisRegistrationId); JSONObject object4 = JSONUtil.parseObj(resultDatasss); LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, "Outpinregapply"); HisApiConfig hisApiConfig = hisApiConfigService.getOne(lambdaQueryWrapper); hisApiGetMethodService.save(object4, "Outpinregapply", hisApiConfig, JSONUtil.toJsonStr(BeanUtil.beanToMap(outpinregapplyDto))); //门诊医生接诊 AjaxResult result = controller.Outpinconapply(hisRegistrationId, date, ysbm); String result3 = getAjaxResult(result); JSONObject object2 = getJSONObject(result3); String code2 = object2.getStr("ResultCode"); if (!code2.equals("0")) { return AjaxResult.error(object2.getStr("ResultContent")); } log.info("his接口-----医生接诊成功!"); if(null != tjOrder.getTjCategory() && !tjOrder.getTjCategory().equals("13")){ customer.setCardId(hisRegistrationId); }else { customer.setCardId("0"); } customerService.updateById(customer); transitionService.updateCardIdByTjNumAndIdCard(customer.getCusIdcard(), hisRegistrationId, tjOrder.getTjNumber()); tjOrder.setCardId(hisRegistrationId); orderService.updateById(tjOrder); } //添加体检诊断 OutpinimpapplyDto dto=new OutpinimpapplyDto(); dto.setHisRegistrationId(tjOrder.getCardId()); dto.setMzzdid(1); dto.setSqysbm(ysbm); dto.setMzksbm(dept); dto.setFbrq(date); dto.setZdrq(date); dto.setCzybm(ysbm); dto.setCzyksbm(dept); dto.setZs("健康查体"); dto.setBs("不详"); dto.setClyz(""); dto.setJws(""); dto.setTgjc(""); dto.setGms(""); dto.setJbbm("Z00.001"); dto.setJbbm1(""); dto.setJbbm2(""); dto.setFzbz("1"); dto.setHzqx("6"); dto.setSfqc("0"); dto.setQchs(""); dto.setSfqj("0"); dto.setJzqk(9); controller.Outpinimpapply(dto); return AjaxResult.success(); } return AjaxResult.error(); } catch (Exception e) { e.printStackTrace(); return AjaxResult.error().put("jzh",jzh); } } // Map mapJinchuan=new HashMap<>(); private static List mapJinchuan=null; public AjaxResult tijianshenqingJinchuanNew(TjCustomer customer, String date,String cardId) { mapJinchuan=new ArrayList<>(); tijianshenqingOldJinchuan( customer, date, cardId); tijianshenqingJinchuan( customer, date, cardId); return AjaxResult.success(); } public AjaxResult tijianshenqingJinchuan(TjCustomer customer, String date,String cardId) { String dept = configService.selectConfigByKey("request_default_dept"); String ysbm = configService.selectConfigByKey("request_default_ysbm"); String ysmc = configService.selectConfigByKey("request_default_ysmc"); log.info("mapJinchuan集合里面的数据是: "+mapJinchuan.toString()); List detailList = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); List outpinmedicXms = tjOutpinmedicXmService.list(); //检验申请 List outpinmedicapplyDetilsDtos =new ArrayList<>(); if (null != detailList && !detailList.isEmpty()) { LambdaQueryWrapper 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"); wq.in(TjProject::getDeptId,deptService.getJyDeptIds()); List projects = projectService.list(wq); if (null != projects && !projects.isEmpty()) { List notNull = projects.stream().filter(i -> i.getSpecimenType() != null).collect(Collectors.toList()); List isNull = projects.stream().filter(i -> i.getSpecimenType() == null).collect(Collectors.toList()); Map> listMap = notNull.stream().collect(Collectors.groupingBy(TjProject::getSpecimenType)); if (!isNull.isEmpty()) listMap.put("",isNull); for (Map.Entry> entry : listMap.entrySet()) { OutpintestapplyDto dto = new OutpintestapplyDto(); dto.setHisRegistrationId(cardId); dto.setSfzh(customer.getCusIdcard()); dto.setSqysbm(ysbm); dto.setMzksbm(dept); dto.setSjrq(date); dto.setCzybm(ysbm); dto.setCzyksbm(dept); dto.setSfjz("0"); List detailsDtos = new ArrayList<>(); List value = entry.getValue(); for (TjProject project : value) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(TjProject::getProParentId,project.getProId()); if (!mapJinchuan.isEmpty()) { wrapper.notIn(TjProject::getProId, mapJinchuan); wrapper.notIn(TjProject::getProParentId, mapJinchuan); } List list = projectService.list(wrapper); log.info("检验申请集合里面的数据是: "+list.toString()); for (TjProject tjProject : list) { if (StrUtil.isNotBlank(tjProject.getHisXmbm()) && tjProject.getProPrice().compareTo(BigDecimal.ZERO) != 0) { OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); detailsDto.setMxfyxmbm(tjProject.getHisXmbm()); if (tjProject.getSfzhfy().equals("Y")) { detailsDto.setSfzhfy("1"); } else { detailsDto.setSfzhfy("0"); } detailsDto.setSl(tjProject.getSl()); detailsDto.setProjg(tjProject.getProPrice()); detailsDtos.add(detailsDto); } } if (!outpinmedicXms.isEmpty()) { outpinmedicXms.stream().filter(i -> i.getProId().equals(project.getProId())).forEach(i -> { OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); detilsDto.setYpbm(i.getYpbm()); detilsDto.setPcbm(i.getPcbm()); detilsDto.setSl(i.getSl()); detilsDto.setDj(i.getDj()); detilsDto.setDcjl(i.getDcjl()); detilsDto.setPj(i.getPj()); detilsDto.setJj(i.getJj()); detilsDto.setJldw(""); detilsDto.setTjbm(""); detilsDto.setPs(""); detilsDto.setPsbm(""); detilsDto.setYyts(""); detilsDto.setXtph(""); detilsDto.setScph(""); detilsDto.setYpxq(""); detilsDto.setCdbm(""); detilsDto.setKfdw(""); detilsDto.setYfdw(""); detilsDto.setYysm(""); detilsDto.setYpmc(i.getYpmc()); detilsDto.setFzbl(i.getFzbl()); detilsDto.setZh(i.getZh()); detilsDto.setCflx(i.getCflx()); outpinmedicapplyDetilsDtos.add(detilsDto); }); } } if (!detailsDtos.isEmpty()) { 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 details = dto.getDetails(); for (OutpintestapplyDetailsDto detail : details) { LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); tree.setCardId(dto.getHisRegistrationId()); tree.setPationid(customer.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("检验"); tree.setService("his"); tree.setTjPrice(String.valueOf(detail.getProjg())); LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); if (detail.getSfzhfy().equals("1")) wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm); else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm); List ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); LambdaQueryWrapper wrapper2 = new LambdaQueryWrapper<>(); wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); LambdaQueryWrapper wrapper3 = new LambdaQueryWrapper<>(); wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); tree.setXmfl(ejjfxmzd.getYjkmdm()); } tree.setCreateTime(DateUtil.date()); ltkjJianchajianyanTreeService.save(tree); } // TODO 个人以及团体 暂不向采样管理写数据 // HIS发送无法合并操作 无法获取LIS的检验序号 条码无法打印 // TjOrder tjOrder = orderService.getOrderByCardId(cardId); // if(null !=tjOrder){ // List dengJi = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); // tjSysAsyncService.addCaiYangDengJi(dengJi,!dengJi.isEmpty(),tjOrder, SecurityUtils.getLoginUser().getUser(), null); // } } } } } } //门诊检查申请 if (null != detailList && !detailList.isEmpty()) { LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); wq.in(TjProject::getDeptId,deptService.getJcDeptIds()); List projects = projectService.list(wq); List proIds = projects.stream().map(TjProject::getProId).collect(Collectors.toList()); if (!proIds.isEmpty()){ QueryWrapper wrapper4 = new QueryWrapper<>(); wrapper4.select("sum(sl) as sl","pro_id" ,"pro_parent_id","pro_name","his_xmbm","his_xmmc" ,"pro_price"); wrapper4.in("pro_parent_id",proIds); wrapper4.groupBy("his_xmbm"); if (!mapJinchuan.isEmpty()) { wrapper4.notIn("pro_id", mapJinchuan); wrapper4.notIn("pro_parent_id", mapJinchuan); } projects = projectService.list(wrapper4); if (null != projects && !projects.isEmpty()) { List detailsDtoss = new ArrayList<>(); for (TjProject project : projects) { if (StrUtil.isNotBlank(project.getHisXmbm()) && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); detailsDto.setMxfyxmbm(project.getHisXmbm()); detailsDto.setSfzhfy("0"); detailsDto.setSl(project.getSl()); detailsDto.setProjg(project.getProPrice()); detailsDtoss.add(detailsDto); } } List proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList()); if (!outpinmedicXms.isEmpty()) { outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> { OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); detilsDto.setYpbm(i.getYpbm()); detilsDto.setPcbm(i.getPcbm()); detilsDto.setSl(i.getSl()); detilsDto.setDj(i.getDj()); detilsDto.setDcjl(i.getDcjl()); detilsDto.setPj(i.getPj()); detilsDto.setJj(i.getJj()); detilsDto.setJldw(""); detilsDto.setTjbm(""); detilsDto.setPs(""); detilsDto.setPsbm(""); detilsDto.setYyts(""); detilsDto.setXtph(""); detilsDto.setScph(""); detilsDto.setYpxq(""); detilsDto.setCdbm(""); detilsDto.setKfdw(""); detilsDto.setYfdw(""); detilsDto.setYysm(""); detilsDto.setYpmc(i.getYpmc()); detilsDto.setFzbl(i.getFzbl()); detilsDto.setZh(i.getZh()); detilsDto.setCflx(i.getCflx()); outpinmedicapplyDetilsDtos.add(detilsDto); }); } if (!detailsDtoss.isEmpty()) { OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto(); outpinexamapplyDto.setHisRegistrationId(cardId); outpinexamapplyDto.setSfzh(customer.getCusIdcard()); outpinexamapplyDto.setSqysbm(ysbm); outpinexamapplyDto.setMzksbm(dept); outpinexamapplyDto.setCzybm(ysbm); outpinexamapplyDto.setCzyksbm(dept); outpinexamapplyDto.setSfjz("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 details = outpinexamapplyDto.getDetails(); for (OutpintestapplyDetailsDto detail : details) { LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); tree.setCardId(outpinexamapplyDto.getHisRegistrationId()); tree.setPationid(customer.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("检查"); tree.setService("his"); tree.setTjPrice(String.valueOf(detail.getProjg())); LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); if (detail.getSfzhfy().equals("1")) wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm); else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm); List ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); LambdaQueryWrapper wrapper2 = new LambdaQueryWrapper<>(); wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); LambdaQueryWrapper wrapper3 = new LambdaQueryWrapper<>(); wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); tree.setXmfl(ejjfxmzd.getYjkmdm()); } tree.setCreateTime(DateUtil.date()); ltkjJianchajianyanTreeService.save(tree); } } } } } } //门诊治疗处置申请 OutpintreatapplyDto dao = new OutpintreatapplyDto(); dao.setHisRegistrationId(cardId); dao.setSfzh(customer.getCusIdcard()); dao.setSqysbm(ysbm); dao.setMzksbm(dept); dao.setSjrq(date); dao.setCzybm(ysbm); dao.setCzyksbm(dept); dao.setSfjz("0"); // List details = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); if (null != detailList && !detailList.isEmpty()) { LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); wq.in(TjProject::getDeptId,deptService.getCzDeptIds()); List projects = projectService.list(wq); List proIds = projects.stream().map(TjProject::getProId).collect(Collectors.toList()); if (!proIds.isEmpty()){ QueryWrapper wrapper4 = new QueryWrapper<>(); wrapper4.select("sum(sl) as sl","pro_id" ,"pro_parent_id","pro_name","his_xmbm","his_xmmc" ,"pro_price"); wrapper4.in("pro_parent_id",proIds); wrapper4.groupBy("his_xmbm"); if (!mapJinchuan.isEmpty()) { wrapper4.notIn("pro_id", mapJinchuan); wrapper4.notIn("pro_parent_id", mapJinchuan); } projects = projectService.list(wrapper4); if (null != projects && !projects.isEmpty()) { List detailDtos = new ArrayList<>(); for (TjProject project : projects) { if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { if (StrUtil.isNotBlank(project.getHisXmbm()) && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); detailsDto.setMxfyxmbm(project.getHisXmbm()); detailsDto.setSfzhfy("0"); detailsDto.setSl(project.getSl()); detailsDto.setProjg(project.getProPrice()); detailDtos.add(detailsDto); } } } List proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList()); if (!outpinmedicXms.isEmpty()) { outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> { OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); detilsDto.setYpbm(i.getYpbm()); detilsDto.setPcbm(i.getPcbm()); detilsDto.setSl(i.getSl()); detilsDto.setDj(i.getDj()); detilsDto.setDcjl(i.getDcjl()); detilsDto.setPj(i.getPj()); detilsDto.setJj(i.getJj()); detilsDto.setJldw(""); detilsDto.setTjbm(""); detilsDto.setPs(""); detilsDto.setPsbm(""); detilsDto.setYyts(""); detilsDto.setXtph(""); detilsDto.setScph(""); detilsDto.setYpxq(""); detilsDto.setCdbm(""); detilsDto.setKfdw(""); detilsDto.setYfdw(""); detilsDto.setYysm(""); detilsDto.setYpmc(i.getYpmc()); detilsDto.setFzbl(i.getFzbl()); detilsDto.setZh(i.getZh()); detilsDto.setCflx(i.getCflx()); outpinmedicapplyDetilsDtos.add(detilsDto); }); } if (!detailDtos.isEmpty()) { 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 details1 = dao.getDetails(); for (OutpintestapplyDetailsDto detail : details1) { LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); tree.setCardId(dao.getHisRegistrationId()); tree.setPationid(customer.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("处置"); tree.setTjPrice(String.valueOf(detail.getProjg())); LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); if (detail.getSfzhfy().equals("1")) wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm); else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm); List ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); LambdaQueryWrapper wrapper2 = new LambdaQueryWrapper<>(); wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); LambdaQueryWrapper wrapper3 = new LambdaQueryWrapper<>(); wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); tree.setXmfl(ejjfxmzd.getYjkmdm()); } tree.setCreateTime(DateUtil.date()); ltkjJianchajianyanTreeService.save(tree); } } } } } } //药品申请原版 // if(!outpinmedicapplyDetilsDtos.isEmpty()){ // OutpinmedicapplyDto dto1=new OutpinmedicapplyDto(); // dto1.setHisRegistrationId(cardId); // dto1.setSfzh(customer.getCusIdcard()); // dto1.setSqysbm(ysbm); // dto1.setMzksbm(dept); // dto1.setSjrq(date); // String yfbm = configService.selectConfigByKey("chufang_yfbm"); // String mzzd = configService.selectConfigByKey("chufang_mzzd"); // String czybm = configService.selectConfigByKey("chufang_czybm"); // String czyksbm = configService.selectConfigByKey("chufang_czyksbm"); // String cflxbm = configService.selectConfigByKey("chufang_cflxbm"); // if (czybm.equalsIgnoreCase("N")) // dto1.setCzybm(ysbm); // else dto1.setCzybm(czybm); // if (czyksbm.equalsIgnoreCase("N")) // dto1.setCzyksbm(dept); // else dto1.setCzyksbm(czyksbm); // dto1.setCflxbm(cflxbm); // if (yfbm.equalsIgnoreCase("N")) // dto1.setYfbm("1"); // else dto1.setYfbm(yfbm); // dto1.setFyts("1"); // if (mzzd.equalsIgnoreCase("N")) // dto1.setMzzd(""); // else dto1.setMzzd(mzzd); // dto1.setDetails(outpinmedicapplyDetilsDtos); // AjaxResult result = controller.Outpinmedicapply(dto1); // String result1 = getAjaxResult(result); // JSONObject object = getJSONObject(result1); // String code = object.getStr("ResultCode"); // if(null !=code && code.equals("0")){ // JSONObject resultData = object.getJSONObject("ResultData"); //// Map resultDatasss = (Map) resultData.get(0); // String cfh = resultData.getStr("cfh"); // log.info("药品申请后的处方号是: "+cfh+" outpinmedicapplyDetilsDtos 里面的值为: "+outpinmedicapplyDetilsDtos.toString()); // for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) { // TjCf cf=new TjCf(); // cf.setCardId(cardId); // cf.setSfzh(customer.getCusIdcard()); // cf.setCfh(cfh); // cf.setSqysbm(ysbm); // cf.setSqysxm(ysmc); // cf.setMzksbn(dept); // cf.setSqrq(date); // cf.setCzybm(ysbm); // cf.setYpbm(detilsDto.getYpbm()); // cf.setYpmc(detilsDto.getYpmc()); // cf.setSl(String.valueOf(detilsDto.getSl())); // cf.setDj(String.valueOf(detilsDto.getDj())); // cf.setDcjl(String.valueOf(detilsDto.getDcjl())); // cf.setPj(String.valueOf(detilsDto.getPj())); // cf.setJj(String.valueOf(detilsDto.getJj())); // cf.setCreateTime(new Date()); // cfService.save(cf); // } // } // } /** * 药品申请 处方类型维护在药品表 */ if(!outpinmedicapplyDetilsDtos.isEmpty()){ String yfbm = configService.selectConfigByKey("chufang_yfbm"); String mzzd = configService.selectConfigByKey("chufang_mzzd"); String czybm = configService.selectConfigByKey("chufang_czybm"); String czyksbm = configService.selectConfigByKey("chufang_czyksbm"); // String cflxbm = configService.selectConfigByKey("chufang_cflxbm"); Map> listMap = outpinmedicapplyDetilsDtos.stream().collect(Collectors.groupingBy(OutpinmedicapplyDetilsDto::getCflx)); listMap.forEach((cflx, details) -> { OutpinmedicapplyDto dto1 = new OutpinmedicapplyDto(); dto1.setHisRegistrationId(cardId); dto1.setSfzh(customer.getCusIdcard()); dto1.setSqysbm(ysbm); dto1.setMzksbm(dept); dto1.setSjrq(date); if (czybm.equalsIgnoreCase("N")) dto1.setCzybm(ysbm); else dto1.setCzybm(czybm); if (czyksbm.equalsIgnoreCase("N")) dto1.setCzyksbm(dept); else dto1.setCzyksbm(czyksbm); dto1.setCflxbm(cflx); if (yfbm.equalsIgnoreCase("N")) dto1.setYfbm("1"); else dto1.setYfbm(yfbm); dto1.setFyts("1"); if (mzzd.equalsIgnoreCase("N")) dto1.setMzzd(""); else dto1.setMzzd(mzzd); dto1.setDetails(details); AjaxResult result = controller.Outpinmedicapply(dto1); String result1 = getAjaxResult(result); JSONObject object = getJSONObject(result1); String code = object.getStr("ResultCode"); if (null != code && code.equals("0")) { JSONObject resultData = object.getJSONObject("ResultData"); String cfh = resultData.getStr("cfh"); log.info("药品申请后的处方号是: " + cfh + " outpinmedicapplyDetilsDtos 里面的值为: " + outpinmedicapplyDetilsDtos.toString()); for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) { TjCf cf = new TjCf(); cf.setCardId(cardId); cf.setSfzh(customer.getCusIdcard()); cf.setCfh(cfh); cf.setSqysbm(ysbm); cf.setSqysxm(ysmc); cf.setMzksbn(dept); cf.setSqrq(date); cf.setCzybm(ysbm); cf.setYpbm(detilsDto.getYpbm()); cf.setYpmc(detilsDto.getYpmc()); cf.setSl(String.valueOf(detilsDto.getSl())); cf.setDj(String.valueOf(detilsDto.getDj())); cf.setDcjl(String.valueOf(detilsDto.getDcjl())); cf.setPj(String.valueOf(detilsDto.getPj())); cf.setJj(String.valueOf(detilsDto.getJj())); cf.setCreateTime(new Date()); cfService.save(cf); } } }); } return AjaxResult.success(); } // 体检对his申请单调用方法 public AjaxResult tijianshenqingOldJinchuan(TjCustomer customer, String date,String cardId) { String dept = configService.selectConfigByKey("request_default_dept"); String ysbm = configService.selectConfigByKey("request_default_ysbm"); String ysmc = configService.selectConfigByKey("request_default_ysmc"); List detailList = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); List outpinmedicXms = tjOutpinmedicXmService.list(); //检验申请 OutpintestapplyDto dto = new OutpintestapplyDto(); dto.setHisRegistrationId(cardId); dto.setSfzh(customer.getCusIdcard()); dto.setSqysbm(ysbm); dto.setMzksbm(dept); dto.setSjrq(date); dto.setCzybm(ysbm); dto.setCzyksbm(dept); dto.setSfjz("0"); List detailsDtos = new ArrayList<>(); List outpinmedicapplyDetilsDtos =new ArrayList<>(); if (null != detailList && !detailList.isEmpty()) { LambdaQueryWrapper 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"); wq.in(TjProject::getDeptId,deptService.getJyDeptIds()); List projects = projectService.list(wq); if (null != projects && !projects.isEmpty()) { for (TjProject project : projects) { if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { if (null != project.getHisXmbm()) { if (project.getSfzhfy().equals("Y")) { mapJinchuan.add(project.getProId().toString()); //TODO 这里detailsDto 改成传递所有的小项 检验是合并之后进行发送 一个样本代码一次请求 // 所有的小项全部添加到这个集合之中 OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); detailsDto.setMxfyxmbm(project.getHisXmbm()); if (project.getSfzhfy().equals("Y")) { detailsDto.setSfzhfy("1"); } else { detailsDto.setSfzhfy("0"); } detailsDto.setSl(project.getSl()); detailsDto.setProjg(project.getProPrice()); detailsDtos.add(detailsDto); } } if (!outpinmedicXms.isEmpty()) { outpinmedicXms.stream().filter(i -> i.getProId().equals(project.getProId())).forEach(i -> { OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); detilsDto.setYpbm(i.getYpbm()); detilsDto.setPcbm(i.getPcbm()); detilsDto.setSl(i.getSl()); detilsDto.setDj(i.getDj()); detilsDto.setDcjl(i.getDcjl()); detilsDto.setPj(i.getPj()); detilsDto.setJj(i.getJj()); detilsDto.setJldw(""); detilsDto.setTjbm(""); detilsDto.setPs(""); detilsDto.setPsbm(""); detilsDto.setYyts(""); detilsDto.setXtph(""); detilsDto.setScph(""); detilsDto.setYpxq(""); detilsDto.setCdbm(""); detilsDto.setKfdw(""); detilsDto.setYfdw(""); detilsDto.setYysm(""); detilsDto.setYpmc(i.getYpmc()); detilsDto.setFzbl(i.getFzbl()); detilsDto.setZh(i.getZh()); outpinmedicapplyDetilsDtos.add(detilsDto); }); } } } } } if (!detailsDtos.isEmpty()) { 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 details = dto.getDetails(); for (OutpintestapplyDetailsDto detail : details) { LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); tree.setCardId(dto.getHisRegistrationId()); tree.setPationid(customer.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("检验"); tree.setService("his"); tree.setTjPrice(String.valueOf(detail.getProjg())); LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); if (detail.getSfzhfy().equals("1")) wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm); else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm); List ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); LambdaQueryWrapper wrapper2 = new LambdaQueryWrapper<>(); wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); LambdaQueryWrapper wrapper3 = new LambdaQueryWrapper<>(); wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); tree.setXmfl(ejjfxmzd.getYjkmdm()); } tree.setCreateTime(DateUtil.date()); ltkjJianchajianyanTreeService.save(tree); } // TODO 个人以及团体 暂不向采样管理写数据 // HIS发送无法合并操作 无法获取LIS的检验序号 条码无法打印 // TjOrder tjOrder = orderService.getOrderByCardId(cardId); // if(null !=tjOrder){ // List dengJi = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); // tjSysAsyncService.addCaiYangDengJi(dengJi,!dengJi.isEmpty(),tjOrder, SecurityUtils.getLoginUser().getUser(), null); // } } } //门诊检查申请 OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto(); outpinexamapplyDto.setHisRegistrationId(cardId); outpinexamapplyDto.setSfzh(customer.getCusIdcard()); outpinexamapplyDto.setSqysbm(ysbm); outpinexamapplyDto.setMzksbm(dept); outpinexamapplyDto.setCzybm(ysbm); outpinexamapplyDto.setCzyksbm(dept); outpinexamapplyDto.setSfjz("0"); // List detailLists = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); List detailsDtoss = new ArrayList<>(); if (null != detailList && !detailList.isEmpty()) { LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); wq.in(TjProject::getDeptId,deptService.getJcDeptIds()); List projects = projectService.list(wq); if (null != projects && !projects.isEmpty()) { for (TjProject project : projects) { if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { if (null != project.getHisXmbm()) { if (project.getSfzhfy().equals("Y")){ mapJinchuan.add(project.getProParentId().toString()); //TODO 这里改为小项集合 也是按照原本的查询所有的大项 然后根据大项查出自己的小项 一个大项为一次请求 OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); detailsDto.setMxfyxmbm(project.getHisXmbm()); if (project.getSfzhfy().equals("Y")) { detailsDto.setSfzhfy("1"); } else { detailsDto.setSfzhfy("0"); } detailsDto.setSl(project.getSl()); detailsDto.setProjg(project.getProPrice()); detailsDtoss.add(detailsDto); } } List proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList()); if (!outpinmedicXms.isEmpty()) { outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> { OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); detilsDto.setYpbm(i.getYpbm()); detilsDto.setPcbm(i.getPcbm()); detilsDto.setSl(i.getSl()); detilsDto.setDj(i.getDj()); detilsDto.setDcjl(i.getDcjl()); detilsDto.setPj(i.getPj()); detilsDto.setJj(i.getJj()); detilsDto.setJldw(""); detilsDto.setTjbm(""); detilsDto.setPs(""); detilsDto.setPsbm(""); detilsDto.setYyts(""); detilsDto.setXtph(""); detilsDto.setScph(""); detilsDto.setYpxq(""); detilsDto.setCdbm(""); detilsDto.setKfdw(""); detilsDto.setYfdw(""); detilsDto.setYysm(""); detilsDto.setYpmc(i.getYpmc()); detilsDto.setFzbl(i.getFzbl()); detilsDto.setZh(i.getZh()); outpinmedicapplyDetilsDtos.add(detilsDto); }); } } } } } if (!detailsDtoss.isEmpty()) { 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 details = outpinexamapplyDto.getDetails(); for (OutpintestapplyDetailsDto detail : details) { LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); tree.setCardId(outpinexamapplyDto.getHisRegistrationId()); tree.setPationid(customer.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("检查"); tree.setService("his"); tree.setTjPrice(String.valueOf(detail.getProjg())); LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); if (detail.getSfzhfy().equals("1")) wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm); else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm); List ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); LambdaQueryWrapper wrapper2 = new LambdaQueryWrapper<>(); wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); LambdaQueryWrapper wrapper3 = new LambdaQueryWrapper<>(); wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); tree.setXmfl(ejjfxmzd.getYjkmdm()); } tree.setCreateTime(DateUtil.date()); ltkjJianchajianyanTreeService.save(tree); } } } //门诊治疗处置申请 OutpintreatapplyDto dao = new OutpintreatapplyDto(); dao.setHisRegistrationId(cardId); dao.setSfzh(customer.getCusIdcard()); dao.setSqysbm(ysbm); dao.setMzksbm(dept); dao.setSjrq(date); dao.setCzybm(ysbm); dao.setCzyksbm(dept); dao.setSfjz("0"); // List details = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); List detailDtos = new ArrayList<>(); if (null != detailList && !detailList.isEmpty()) { LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); wq.in(TjProject::getDeptId,deptService.getCzDeptIds()); List projects = projectService.list(wq); if (null != projects && !projects.isEmpty()) { for (TjProject project : projects) { if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { if (null != project.getHisXmbm()) { if (project.getSfzhfy().equals("Y")) { mapJinchuan.add(project.getProParentId().toString()); OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); detailsDto.setMxfyxmbm(project.getHisXmbm()); if (project.getSfzhfy().equals("Y")) { detailsDto.setSfzhfy("1"); } else { detailsDto.setSfzhfy("0"); } detailsDto.setSl(project.getSl()); detailsDto.setProjg(project.getProPrice()); detailDtos.add(detailsDto); } } List proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList()); if (!outpinmedicXms.isEmpty()) { outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> { OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); detilsDto.setYpbm(i.getYpbm()); detilsDto.setPcbm(i.getPcbm()); detilsDto.setSl(i.getSl()); detilsDto.setDj(i.getDj()); detilsDto.setDcjl(i.getDcjl()); detilsDto.setPj(i.getPj()); detilsDto.setJj(i.getJj()); detilsDto.setJldw(""); detilsDto.setTjbm(""); detilsDto.setPs(""); detilsDto.setPsbm(""); detilsDto.setYyts(""); detilsDto.setXtph(""); detilsDto.setScph(""); detilsDto.setYpxq(""); detilsDto.setCdbm(""); detilsDto.setKfdw(""); detilsDto.setYfdw(""); detilsDto.setYysm(""); detilsDto.setYpmc(i.getYpmc()); detilsDto.setFzbl(i.getFzbl()); detilsDto.setZh(i.getZh()); outpinmedicapplyDetilsDtos.add(detilsDto); }); } } } } } if (!detailDtos.isEmpty()) { 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 details1 = dao.getDetails(); for (OutpintestapplyDetailsDto detail : details1) { LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); tree.setCardId(dao.getHisRegistrationId()); tree.setPationid(customer.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("处置"); tree.setTjPrice(String.valueOf(detail.getProjg())); LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); if (detail.getSfzhfy().equals("1")) wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm); else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm); List ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); LambdaQueryWrapper wrapper2 = new LambdaQueryWrapper<>(); wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); LambdaQueryWrapper wrapper3 = new LambdaQueryWrapper<>(); wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); tree.setXmfl(ejjfxmzd.getYjkmdm()); } tree.setCreateTime(DateUtil.date()); ltkjJianchajianyanTreeService.save(tree); } } } /* //药品申请 if(!outpinmedicapplyDetilsDtos.isEmpty()){ OutpinmedicapplyDto dto1=new OutpinmedicapplyDto(); dto1.setHisRegistrationId(cardId); dto1.setSfzh(customer.getCusIdcard()); dto1.setSqysbm(ysbm); dto1.setMzksbm(dept); dto1.setSjrq(date); dto1.setCzybm(ysbm); dto1.setCzyksbm(dept); dto1.setCflxbm("A"); dto1.setYfbm("1"); dto1.setFyts("1"); dto1.setMzzd(""); dto1.setDetails(outpinmedicapplyDetilsDtos); AjaxResult result = controller.Outpinmedicapply(dto1); String result1 = getAjaxResult(result); JSONObject object = getJSONObject(result1); String code = object.getStr("ResultCode"); if(null !=code && code.equals("0")){ JSONObject resultData = object.getJSONObject("ResultData"); // Map resultDatasss = (Map) resultData.get(0); String cfh = resultData.getStr("cfh"); log.info("药品申请后的处方号是: "+cfh+" outpinmedicapplyDetilsDtos 里面的值为: "+outpinmedicapplyDetilsDtos.toString()); for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) { TjCf cf=new TjCf(); cf.setCardId(cardId); cf.setSfzh(customer.getCusIdcard()); cf.setCfh(cfh); cf.setSqysbm(ysbm); cf.setSqysxm(ysmc); cf.setMzksbn(dept); cf.setSqrq(date); cf.setCzybm(ysbm); cf.setYpbm(detilsDto.getYpbm()); cf.setYpmc("尿素[14C]呼气试验药盒"); cf.setSl(String.valueOf(detilsDto.getSl())); cf.setDj(String.valueOf(detilsDto.getDj())); cf.setDcjl(String.valueOf(detilsDto.getDcjl())); cf.setPj(String.valueOf(detilsDto.getPj())); cf.setJj(String.valueOf(detilsDto.getJj())); cf.setCreateTime(new Date()); cfService.save(cf); } } } */ return AjaxResult.success(); } /**/ // public AjaxResult tijianshenqing(TjCustomer customer, String date,String cardId) { // String dept = configService.selectConfigByKey("request_default_dept"); // String ysbm = configService.selectConfigByKey("request_default_ysbm"); // String ysmc = configService.selectConfigByKey("request_default_ysmc"); // // List detailList = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); // // //检验申请 // List outpinmedicapplyDetilsDtos =new ArrayList<>(); // if (null != detailList && !detailList.isEmpty()) { // LambdaQueryWrapper 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"); // wq.in(TjProject::getDeptId,deptService.getJyDeptIds()); // List projects = projectService.list(wq); // if (null != projects && !projects.isEmpty()) { // List notNull = projects.stream().filter(i -> i.getSpecimenType() != null).collect(Collectors.toList()); // List isNull = projects.stream().filter(i -> i.getSpecimenType() == null).collect(Collectors.toList()); // Map> listMap = notNull.stream().collect(Collectors.groupingBy(TjProject::getSpecimenType)); // if (!isNull.isEmpty()) // listMap.put("",isNull); // for (Map.Entry> entry : listMap.entrySet()) { // OutpintestapplyDto dto = new OutpintestapplyDto(); // dto.setHisRegistrationId(cardId); // dto.setSfzh(customer.getCusIdcard()); // dto.setSqysbm(ysbm); // dto.setMzksbm(dept); // dto.setSjrq(date); // dto.setCzybm(ysbm); // dto.setCzyksbm(dept); // dto.setSfjz("0"); // List detailsDtos = new ArrayList<>(); // List value = entry.getValue(); // for (TjProject project : value) { // LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); // wrapper.eq(TjProject::getProParentId,project.getProId()); // List list = projectService.list(wrapper); // for (TjProject tjProject : list) { // if (StrUtil.isNotBlank(tjProject.getHisXmbm()) && tjProject.getProPrice().compareTo(BigDecimal.ZERO) != 0) { // OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); // detailsDto.setMxfyxmbm(tjProject.getHisXmbm()); // if (tjProject.getSfzhfy().equals("Y")) { // detailsDto.setSfzhfy("1"); // } else { // detailsDto.setSfzhfy("0"); // } // detailsDto.setSl(tjProject.getSl()); // detailsDto.setProjg(tjProject.getProPrice()); // detailsDtos.add(detailsDto); // } // } // if(project.getProId()==1740177341251154377L){ // OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); // detilsDto.setYpbm("00006670"); // detilsDto.setPcbm("06"); // detilsDto.setSl("1"); // detilsDto.setDj("60"); // detilsDto.setDcjl("1"); // detilsDto.setPj("60"); // detilsDto.setJj("60"); // detilsDto.setJldw(""); // detilsDto.setTjbm(""); // detilsDto.setPs(""); // detilsDto.setPsbm(""); // detilsDto.setYyts(""); // detilsDto.setXtph(""); // detilsDto.setScph(""); // detilsDto.setYpxq(""); // detilsDto.setCdbm(""); // detilsDto.setKfdw(""); // detilsDto.setYfdw(""); // detilsDto.setYysm(""); // detilsDto.setFzbl("1"); // detilsDto.setZh("0"); // outpinmedicapplyDetilsDtos.add(detilsDto); // } // } // if (!detailsDtos.isEmpty()) { // 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 details = dto.getDetails(); // for (OutpintestapplyDetailsDto detail : details) { // LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); // tree.setCardId(dto.getHisRegistrationId()); // tree.setPationid(customer.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("检验"); // tree.setService("his"); // tree.setTjPrice(String.valueOf(detail.getProjg())); // LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); // if (detail.getSfzhfy().equals("1")) // wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm); // else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm); // List ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); // if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { // String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); // LambdaQueryWrapper wrapper2 = new LambdaQueryWrapper<>(); // wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); // LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); // LambdaQueryWrapper wrapper3 = new LambdaQueryWrapper<>(); // wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); // LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); // tree.setXmfl(ejjfxmzd.getYjkmdm()); // } // tree.setCreateTime(DateUtil.date()); // ltkjJianchajianyanTreeService.save(tree); // } // // TODO 个人以及团体 暂不向采样管理写数据 // // HIS发送无法合并操作 无法获取LIS的检验序号 条码无法打印 //// TjOrder tjOrder = orderService.getOrderByCardId(cardId); //// if(null !=tjOrder){ //// List dengJi = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); //// tjSysAsyncService.addCaiYangDengJi(dengJi,!dengJi.isEmpty(),tjOrder, SecurityUtils.getLoginUser().getUser(), null); //// } // } // } // } // } // } // // //门诊检查申请 // if (null != detailList && !detailList.isEmpty()) { // LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); // wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); // wq.in(TjProject::getDeptId,deptService.getJcDeptIds()); // List projects = projectService.list(wq); // if (null != projects && !projects.isEmpty()) { // for (TjProject project : projects) { // OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto(); // outpinexamapplyDto.setHisRegistrationId(cardId); // outpinexamapplyDto.setSfzh(customer.getCusIdcard()); // outpinexamapplyDto.setSqysbm(ysbm); // outpinexamapplyDto.setMzksbm(dept); // outpinexamapplyDto.setCzybm(ysbm); // outpinexamapplyDto.setCzyksbm(dept); // outpinexamapplyDto.setSfjz("0"); // List detailsDtoss = new ArrayList<>(); // if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { // LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); // wrapper.eq(TjProject::getProParentId,project.getProId()); // List list = projectService.list(wrapper); // for (TjProject tjProject : list) { // if (StrUtil.isNotBlank(tjProject.getHisXmbm()) && tjProject.getProPrice().compareTo(BigDecimal.ZERO) != 0) { // OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); // detailsDto.setMxfyxmbm(tjProject.getHisXmbm()); // if (tjProject.getSfzhfy().equals("Y")) { // detailsDto.setSfzhfy("1"); // } else { // detailsDto.setSfzhfy("0"); // } // detailsDto.setSl(tjProject.getSl()); // detailsDto.setProjg(tjProject.getProPrice()); // detailsDtoss.add(detailsDto); // } // } // if(project.getProId()==1740177341251154377L){ // OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); // detilsDto.setYpbm("00006670"); // detilsDto.setPcbm("06"); // detilsDto.setSl("1"); // detilsDto.setDj("60"); // detilsDto.setDcjl("1"); // detilsDto.setPj("60"); // detilsDto.setJj("60"); // detilsDto.setJldw(""); // detilsDto.setTjbm(""); // detilsDto.setPs(""); // detilsDto.setPsbm(""); // detilsDto.setYyts(""); // detilsDto.setXtph(""); // detilsDto.setScph(""); // detilsDto.setYpxq(""); // detilsDto.setCdbm(""); // detilsDto.setKfdw(""); // detilsDto.setYfdw(""); // detilsDto.setYysm(""); // detilsDto.setFzbl("1"); // detilsDto.setZh("0"); // outpinmedicapplyDetilsDtos.add(detilsDto); // } // } // 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 details = outpinexamapplyDto.getDetails(); // for (OutpintestapplyDetailsDto detail : details) { // LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); // tree.setCardId(outpinexamapplyDto.getHisRegistrationId()); // tree.setPationid(customer.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("检查"); // tree.setService("his"); // tree.setTjPrice(String.valueOf(detail.getProjg())); // LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); // if (detail.getSfzhfy().equals("1")) // wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm); // else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm); // List ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); // if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { // String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); // LambdaQueryWrapper wrapper2 = new LambdaQueryWrapper<>(); // wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); // LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); // LambdaQueryWrapper wrapper3 = new LambdaQueryWrapper<>(); // wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); // LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); // tree.setXmfl(ejjfxmzd.getYjkmdm()); // } // tree.setCreateTime(DateUtil.date()); // ltkjJianchajianyanTreeService.save(tree); // } // } // } // } // } // } // // // //门诊治疗处置申请 // OutpintreatapplyDto dao = new OutpintreatapplyDto(); // dao.setHisRegistrationId(cardId); // dao.setSfzh(customer.getCusIdcard()); // dao.setSqysbm(ysbm); // dao.setMzksbm(dept); // dao.setSjrq(date); // dao.setCzybm(ysbm); // dao.setCzyksbm(dept); // dao.setSfjz("0"); //// List details = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); // if (null != detailList && detailList.size() > 0) { // LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); // wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); // wq.in(TjProject::getDeptId,deptService.getCzDeptIds()); // List projects = projectService.list(wq); // if (null != projects && projects.size() > 0) { // for (TjProject project : projects) { // List detailDtos = new ArrayList<>(); // if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { // LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); // wrapper.eq(TjProject::getProParentId,project.getProId()); // List list = projectService.list(wrapper); // for (TjProject tjProject : list) { // if (StrUtil.isNotBlank(tjProject.getHisXmbm()) && tjProject.getProPrice().compareTo(BigDecimal.ZERO) != 0) { // OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); // detailsDto.setMxfyxmbm(tjProject.getHisXmbm()); // if (tjProject.getSfzhfy().equals("Y")) { // detailsDto.setSfzhfy("1"); // } else { // detailsDto.setSfzhfy("0"); // } // detailsDto.setSl(tjProject.getSl()); // detailsDto.setProjg(tjProject.getProPrice()); // detailDtos.add(detailsDto); // } // } // if(project.getProId()==1740177341251154377L){ // OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); // detilsDto.setYpbm("00006670"); // detilsDto.setPcbm("06"); // detilsDto.setSl("1"); // detilsDto.setDj("60"); // detilsDto.setDcjl("1"); // detilsDto.setPj("60"); // detilsDto.setJj("60"); // detilsDto.setJldw(""); // detilsDto.setTjbm(""); // detilsDto.setPs(""); // detilsDto.setPsbm(""); // detilsDto.setYyts(""); // detilsDto.setXtph(""); // detilsDto.setScph(""); // detilsDto.setYpxq(""); // detilsDto.setCdbm(""); // detilsDto.setKfdw(""); // detilsDto.setYfdw(""); // detilsDto.setYysm(""); // detilsDto.setFzbl("1"); // detilsDto.setZh("0"); // outpinmedicapplyDetilsDtos.add(detilsDto); // } // } // 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 details1 = dao.getDetails(); // for (OutpintestapplyDetailsDto detail : details1) { // LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); // tree.setCardId(dao.getHisRegistrationId()); // tree.setPationid(customer.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("处置"); // tree.setTjPrice(String.valueOf(detail.getProjg())); // LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); // if (detail.getSfzhfy().equals("1")) // wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm); // else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm); // List ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); // if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { // String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); // LambdaQueryWrapper wrapper2 = new LambdaQueryWrapper<>(); // wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); // LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); // LambdaQueryWrapper wrapper3 = new LambdaQueryWrapper<>(); // wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); // LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); // tree.setXmfl(ejjfxmzd.getYjkmdm()); // } // tree.setCreateTime(DateUtil.date()); // ltkjJianchajianyanTreeService.save(tree); // } // } // } // } // } // } // // //药品申请 // if(outpinmedicapplyDetilsDtos.size()>0){ // OutpinmedicapplyDto dto1=new OutpinmedicapplyDto(); // dto1.setHisRegistrationId(cardId); // dto1.setSfzh(customer.getCusIdcard()); // dto1.setSqysbm(ysbm); // dto1.setMzksbm(dept); // dto1.setSjrq(date); // dto1.setCzybm(ysbm); // dto1.setCzyksbm(dept); // dto1.setCflxbm("A"); // dto1.setYfbm("1"); // dto1.setFyts("1"); // dto1.setMzzd(""); // dto1.setDetails(outpinmedicapplyDetilsDtos); // AjaxResult result = controller.Outpinmedicapply(dto1); // String result1 = getAjaxResult(result); // JSONObject object = getJSONObject(result1); // String code = object.getStr("ResultCode"); // if(null !=code && code.equals("0")){ // JSONObject resultData = object.getJSONObject("ResultData"); //// Map resultDatasss = (Map) resultData.get(0); // String cfh = resultData.getStr("cfh"); // log.info("药品申请后的处方号是: "+cfh+" outpinmedicapplyDetilsDtos 里面的值为: "+outpinmedicapplyDetilsDtos.toString()); // for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) { // TjCf cf=new TjCf(); // cf.setCardId(cardId); // cf.setSfzh(customer.getCusIdcard()); // cf.setCfh(cfh); // cf.setSqysbm(ysbm); // cf.setSqysxm(ysmc); // cf.setMzksbn(dept); // cf.setSqrq(date); // cf.setCzybm(ysbm); // cf.setYpbm(detilsDto.getYpbm()); // cf.setYpmc("尿素[14C]呼气试验药盒"); // cf.setSl(String.valueOf(detilsDto.getSl())); // cf.setDj(String.valueOf(detilsDto.getDj())); // cf.setDcjl(String.valueOf(detilsDto.getDcjl())); // cf.setPj(String.valueOf(detilsDto.getPj())); // cf.setJj(String.valueOf(detilsDto.getJj())); // cf.setCreateTime(new Date()); // cfService.save(cf); // } // } // } // // return AjaxResult.success(); // } public AjaxResult tijianshenqing(TjCustomer customer, String date,String cardId) { String dept = configService.selectConfigByKey("request_default_dept"); String ysbm = configService.selectConfigByKey("request_default_ysbm"); String ysmc = configService.selectConfigByKey("request_default_ysmc"); List detailList = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); List outpinmedicXms = tjOutpinmedicXmService.list(); //检验申请 List outpinmedicapplyDetilsDtos =new ArrayList<>(); if (null != detailList && !detailList.isEmpty()) { LambdaQueryWrapper 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"); wq.in(TjProject::getDeptId,deptService.getJyDeptIds()); List projects = projectService.list(wq); if (null != projects && !projects.isEmpty()) { List notNull = projects.stream().filter(i -> i.getSpecimenType() != null).collect(Collectors.toList()); List isNull = projects.stream().filter(i -> i.getSpecimenType() == null).collect(Collectors.toList()); Map> listMap = notNull.stream().collect(Collectors.groupingBy(TjProject::getSpecimenType)); if (!isNull.isEmpty()) listMap.put("",isNull); for (Map.Entry> entry : listMap.entrySet()) { OutpintestapplyDto dto = new OutpintestapplyDto(); dto.setHisRegistrationId(cardId); dto.setSfzh(customer.getCusIdcard()); dto.setSqysbm(ysbm); dto.setMzksbm(dept); dto.setSjrq(date); dto.setCzybm(ysbm); dto.setCzyksbm(dept); dto.setSfjz("0"); List detailsDtos = new ArrayList<>(); List value = entry.getValue(); for (TjProject project : value) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(TjProject::getProParentId,project.getProId()); List list = projectService.list(wrapper); for (TjProject tjProject : list) { if (StrUtil.isNotBlank(tjProject.getHisXmbm()) && tjProject.getProPrice().compareTo(BigDecimal.ZERO) != 0) { OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); detailsDto.setMxfyxmbm(tjProject.getHisXmbm()); if (tjProject.getSfzhfy().equals("Y")) { detailsDto.setSfzhfy("1"); } else { detailsDto.setSfzhfy("0"); } detailsDto.setSl(tjProject.getSl()); detailsDto.setProjg(tjProject.getProPrice()); detailsDtos.add(detailsDto); } } if (!outpinmedicXms.isEmpty()) { outpinmedicXms.stream().filter(i -> i.getProId().equals(project.getProId())).forEach(i -> { OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); detilsDto.setYpbm(i.getYpbm()); detilsDto.setPcbm(i.getPcbm()); detilsDto.setSl(i.getSl()); detilsDto.setDj(i.getDj()); detilsDto.setDcjl(i.getDcjl()); detilsDto.setPj(i.getPj()); detilsDto.setJj(i.getJj()); detilsDto.setJldw(""); detilsDto.setTjbm(""); detilsDto.setPs(""); detilsDto.setPsbm(""); detilsDto.setYyts(""); detilsDto.setXtph(""); detilsDto.setScph(""); detilsDto.setYpxq(""); detilsDto.setCdbm(""); detilsDto.setKfdw(""); detilsDto.setYfdw(""); detilsDto.setYysm(""); detilsDto.setYpmc(i.getYpmc()); detilsDto.setFzbl(i.getFzbl()); detilsDto.setZh(i.getZh()); detilsDto.setCflx(i.getCflx()); outpinmedicapplyDetilsDtos.add(detilsDto); }); } } if (!detailsDtos.isEmpty()) { 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 details = dto.getDetails(); for (OutpintestapplyDetailsDto detail : details) { LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); tree.setCardId(dto.getHisRegistrationId()); tree.setPationid(customer.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("检验"); tree.setService("his"); tree.setTjPrice(String.valueOf(detail.getProjg())); LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); if (detail.getSfzhfy().equals("1")) wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm); else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm); List ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); LambdaQueryWrapper wrapper2 = new LambdaQueryWrapper<>(); wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); LambdaQueryWrapper wrapper3 = new LambdaQueryWrapper<>(); wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); tree.setXmfl(ejjfxmzd.getYjkmdm()); } tree.setCreateTime(DateUtil.date()); ltkjJianchajianyanTreeService.save(tree); } // TODO 个人以及团体 暂不向采样管理写数据 // HIS发送无法合并操作 无法获取LIS的检验序号 条码无法打印 // TjOrder tjOrder = orderService.getOrderByCardId(cardId); // if(null !=tjOrder){ // List dengJi = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); // tjSysAsyncService.addCaiYangDengJi(dengJi,!dengJi.isEmpty(),tjOrder, SecurityUtils.getLoginUser().getUser(), null); // } } } } } } //门诊检查申请 if (null != detailList && !detailList.isEmpty()) { LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); wq.in(TjProject::getDeptId,deptService.getJcDeptIds()); List projects = projectService.list(wq); List proIds = projects.stream().map(TjProject::getProId).collect(Collectors.toList()); if (!proIds.isEmpty()){ QueryWrapper wrapper4 = new QueryWrapper<>(); wrapper4.select("sum(sl) as sl","pro_id" ,"pro_parent_id","pro_name","his_xmbm","his_xmmc" ,"pro_price"); wrapper4.in("pro_parent_id",proIds); wrapper4.groupBy("his_xmbm"); projects = projectService.list(wrapper4); if (null != projects && !projects.isEmpty()) { List detailsDtoss = new ArrayList<>(); for (TjProject project : projects) { if (StrUtil.isNotBlank(project.getHisXmbm()) && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); detailsDto.setMxfyxmbm(project.getHisXmbm()); detailsDto.setSfzhfy("0"); detailsDto.setSl(project.getSl()); detailsDto.setProjg(project.getProPrice()); detailsDtoss.add(detailsDto); } } List proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList()); if (!outpinmedicXms.isEmpty()) { outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> { OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); detilsDto.setYpbm(i.getYpbm()); detilsDto.setPcbm(i.getPcbm()); detilsDto.setSl(i.getSl()); detilsDto.setDj(i.getDj()); detilsDto.setDcjl(i.getDcjl()); detilsDto.setPj(i.getPj()); detilsDto.setJj(i.getJj()); detilsDto.setJldw(""); detilsDto.setTjbm(""); detilsDto.setPs(""); detilsDto.setPsbm(""); detilsDto.setYyts(""); detilsDto.setXtph(""); detilsDto.setScph(""); detilsDto.setYpxq(""); detilsDto.setCdbm(""); detilsDto.setKfdw(""); detilsDto.setYfdw(""); detilsDto.setYysm(""); detilsDto.setYpmc(i.getYpmc()); detilsDto.setFzbl(i.getFzbl()); detilsDto.setZh(i.getZh()); detilsDto.setCflx(i.getCflx()); outpinmedicapplyDetilsDtos.add(detilsDto); }); } if (!detailsDtoss.isEmpty()) { OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto(); outpinexamapplyDto.setHisRegistrationId(cardId); outpinexamapplyDto.setSfzh(customer.getCusIdcard()); outpinexamapplyDto.setSqysbm(ysbm); outpinexamapplyDto.setMzksbm(dept); outpinexamapplyDto.setCzybm(ysbm); outpinexamapplyDto.setCzyksbm(dept); outpinexamapplyDto.setSfjz("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 details = outpinexamapplyDto.getDetails(); for (OutpintestapplyDetailsDto detail : details) { LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); tree.setCardId(outpinexamapplyDto.getHisRegistrationId()); tree.setPationid(customer.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("检查"); tree.setService("his"); tree.setTjPrice(String.valueOf(detail.getProjg())); LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); if (detail.getSfzhfy().equals("1")) wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm); else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm); List ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); LambdaQueryWrapper wrapper2 = new LambdaQueryWrapper<>(); wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); LambdaQueryWrapper wrapper3 = new LambdaQueryWrapper<>(); wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); tree.setXmfl(ejjfxmzd.getYjkmdm()); } tree.setCreateTime(DateUtil.date()); ltkjJianchajianyanTreeService.save(tree); } } } } } } //门诊治疗处置申请 OutpintreatapplyDto dao = new OutpintreatapplyDto(); dao.setHisRegistrationId(cardId); dao.setSfzh(customer.getCusIdcard()); dao.setSqysbm(ysbm); dao.setMzksbm(dept); dao.setSjrq(date); dao.setCzybm(ysbm); dao.setCzyksbm(dept); dao.setSfjz("0"); // List details = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); if (null != detailList && !detailList.isEmpty()) { LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); wq.in(TjProject::getDeptId,deptService.getCzDeptIds()); List projects = projectService.list(wq); List proIds = projects.stream().map(TjProject::getProId).collect(Collectors.toList()); if (!proIds.isEmpty()){ QueryWrapper wrapper4 = new QueryWrapper<>(); wrapper4.select("sum(sl) as sl","pro_id" ,"pro_parent_id","pro_name","his_xmbm","his_xmmc" ,"pro_price"); wrapper4.in("pro_parent_id",proIds); wrapper4.groupBy("his_xmbm"); projects = projectService.list(wrapper4); if (null != projects && !projects.isEmpty()) { List detailDtos = new ArrayList<>(); for (TjProject project : projects) { if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { if (StrUtil.isNotBlank(project.getHisXmbm()) && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); detailsDto.setMxfyxmbm(project.getHisXmbm()); detailsDto.setSfzhfy("0"); detailsDto.setSl(project.getSl()); detailsDto.setProjg(project.getProPrice()); detailDtos.add(detailsDto); } } } List proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList()); if (!outpinmedicXms.isEmpty()) { outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> { OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); detilsDto.setYpbm(i.getYpbm()); detilsDto.setPcbm(i.getPcbm()); detilsDto.setSl(i.getSl()); detilsDto.setDj(i.getDj()); detilsDto.setDcjl(i.getDcjl()); detilsDto.setPj(i.getPj()); detilsDto.setJj(i.getJj()); detilsDto.setJldw(""); detilsDto.setTjbm(""); detilsDto.setPs(""); detilsDto.setPsbm(""); detilsDto.setYyts(""); detilsDto.setXtph(""); detilsDto.setScph(""); detilsDto.setYpxq(""); detilsDto.setCdbm(""); detilsDto.setKfdw(""); detilsDto.setYfdw(""); detilsDto.setYysm(""); detilsDto.setYpmc(i.getYpmc()); detilsDto.setFzbl(i.getFzbl()); detilsDto.setZh(i.getZh()); detilsDto.setCflx(i.getCflx()); outpinmedicapplyDetilsDtos.add(detilsDto); }); } if (!detailDtos.isEmpty()) { 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 details1 = dao.getDetails(); for (OutpintestapplyDetailsDto detail : details1) { LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); tree.setCardId(dao.getHisRegistrationId()); tree.setPationid(customer.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("处置"); tree.setTjPrice(String.valueOf(detail.getProjg())); LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); if (detail.getSfzhfy().equals("1")) wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm); else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm); List ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); LambdaQueryWrapper wrapper2 = new LambdaQueryWrapper<>(); wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); LambdaQueryWrapper wrapper3 = new LambdaQueryWrapper<>(); wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); tree.setXmfl(ejjfxmzd.getYjkmdm()); } tree.setCreateTime(DateUtil.date()); ltkjJianchajianyanTreeService.save(tree); } } } } } } //药品申请 原版 // if(!outpinmedicapplyDetilsDtos.isEmpty()){ // OutpinmedicapplyDto dto1=new OutpinmedicapplyDto(); // dto1.setHisRegistrationId(cardId); // dto1.setSfzh(customer.getCusIdcard()); // dto1.setSqysbm(ysbm); // dto1.setMzksbm(dept); // dto1.setSjrq(date); // String yfbm = configService.selectConfigByKey("chufang_yfbm"); // String mzzd = configService.selectConfigByKey("chufang_mzzd"); // String czybm = configService.selectConfigByKey("chufang_czybm"); // String czyksbm = configService.selectConfigByKey("chufang_czyksbm"); // String cflxbm = configService.selectConfigByKey("chufang_cflxbm"); // if (czybm.equalsIgnoreCase("N")) // dto1.setCzybm(ysbm); // else dto1.setCzybm(czybm); // if (czyksbm.equalsIgnoreCase("N")) // dto1.setCzyksbm(dept); // else dto1.setCzyksbm(czyksbm); // dto1.setCflxbm(cflxbm); // if (yfbm.equalsIgnoreCase("N")) // dto1.setYfbm("1"); // else dto1.setYfbm(yfbm); // dto1.setFyts("1"); // if (mzzd.equalsIgnoreCase("N")) // dto1.setMzzd(""); // else dto1.setMzzd(mzzd); // dto1.setDetails(outpinmedicapplyDetilsDtos); // AjaxResult result = controller.Outpinmedicapply(dto1); // String result1 = getAjaxResult(result); // JSONObject object = getJSONObject(result1); // String code = object.getStr("ResultCode"); // if(null !=code && code.equals("0")){ // JSONObject resultData = object.getJSONObject("ResultData"); //// Map resultDatasss = (Map) resultData.get(0); // String cfh = resultData.getStr("cfh"); // log.info("药品申请后的处方号是: "+cfh+" outpinmedicapplyDetilsDtos 里面的值为: "+outpinmedicapplyDetilsDtos.toString()); // for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) { // TjCf cf=new TjCf(); // cf.setCardId(cardId); // cf.setSfzh(customer.getCusIdcard()); // cf.setCfh(cfh); // cf.setSqysbm(ysbm); // cf.setSqysxm(ysmc); // cf.setMzksbn(dept); // cf.setSqrq(date); // cf.setCzybm(ysbm); // cf.setYpbm(detilsDto.getYpbm()); // cf.setYpmc(detilsDto.getYpmc()); // cf.setSl(String.valueOf(detilsDto.getSl())); // cf.setDj(String.valueOf(detilsDto.getDj())); // cf.setDcjl(String.valueOf(detilsDto.getDcjl())); // cf.setPj(String.valueOf(detilsDto.getPj())); // cf.setJj(String.valueOf(detilsDto.getJj())); // cf.setCreateTime(new Date()); // cfService.save(cf); // } // } // } /** * 药品申请 处方类型维护在药品表 */ if(!outpinmedicapplyDetilsDtos.isEmpty()){ String yfbm = configService.selectConfigByKey("chufang_yfbm"); String mzzd = configService.selectConfigByKey("chufang_mzzd"); String czybm = configService.selectConfigByKey("chufang_czybm"); String czyksbm = configService.selectConfigByKey("chufang_czyksbm"); // String cflxbm = configService.selectConfigByKey("chufang_cflxbm"); Map> listMap = outpinmedicapplyDetilsDtos.stream().collect(Collectors.groupingBy(OutpinmedicapplyDetilsDto::getCflx)); listMap.forEach((cflx, details) -> { OutpinmedicapplyDto dto1 = new OutpinmedicapplyDto(); dto1.setHisRegistrationId(cardId); dto1.setSfzh(customer.getCusIdcard()); dto1.setSqysbm(ysbm); dto1.setMzksbm(dept); dto1.setSjrq(date); if (czybm.equalsIgnoreCase("N")) dto1.setCzybm(ysbm); else dto1.setCzybm(czybm); if (czyksbm.equalsIgnoreCase("N")) dto1.setCzyksbm(dept); else dto1.setCzyksbm(czyksbm); dto1.setCflxbm(cflx); if (yfbm.equalsIgnoreCase("N")) dto1.setYfbm("1"); else dto1.setYfbm(yfbm); dto1.setFyts("1"); if (mzzd.equalsIgnoreCase("N")) dto1.setMzzd(""); else dto1.setMzzd(mzzd); dto1.setDetails(details); AjaxResult result = controller.Outpinmedicapply(dto1); String result1 = getAjaxResult(result); JSONObject object = getJSONObject(result1); String code = object.getStr("ResultCode"); if (null != code && code.equals("0")) { JSONObject resultData = object.getJSONObject("ResultData"); String cfh = resultData.getStr("cfh"); log.info("药品申请后的处方号是: " + cfh + " outpinmedicapplyDetilsDtos 里面的值为: " + outpinmedicapplyDetilsDtos.toString()); for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) { TjCf cf = new TjCf(); cf.setCardId(cardId); cf.setSfzh(customer.getCusIdcard()); cf.setCfh(cfh); cf.setSqysbm(ysbm); cf.setSqysxm(ysmc); cf.setMzksbn(dept); cf.setSqrq(date); cf.setCzybm(ysbm); cf.setYpbm(detilsDto.getYpbm()); cf.setYpmc(detilsDto.getYpmc()); cf.setSl(String.valueOf(detilsDto.getSl())); cf.setDj(String.valueOf(detilsDto.getDj())); cf.setDcjl(String.valueOf(detilsDto.getDcjl())); cf.setPj(String.valueOf(detilsDto.getPj())); cf.setJj(String.valueOf(detilsDto.getJj())); cf.setCreateTime(new Date()); cfService.save(cf); } } }); } return AjaxResult.success(); } /** * 对之前代码增加总价以及价格计算规则逻辑 * @param customer * @param date * @param cardId * @return */ public AjaxResult tijianshenqing_v2(TjCustomer customer, String date,String cardId) { String dept = configService.selectConfigByKey("request_default_dept"); String ysbm = configService.selectConfigByKey("request_default_ysbm"); String ysmc = configService.selectConfigByKey("request_default_ysmc"); List detailList = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); List outpinmedicXms = tjOutpinmedicXmService.list(); // his直接单开体检费单项目总价编码 String tjfhisxmbm = configService.selectConfigByKey("tjfhisxmbm"); // 是否开启his直接单开体检费单项目 N使用明细开单 其他都为单项目开总价 String lycdzjhmxj = configService.selectConfigByKey("lycdzjhmxj"); // 是否使用his价格传递规则 Y开启 String sfsyhisjgrule = configService.selectConfigByKey("sfsyhisjgrule"); // his价格传递规则保留得位数 默认2位 String sfsyhisjgrulebaoliuweishu = configService.selectConfigByKey("sfsyhisjgrulebaoliuweishu"); // his价格传递规则 1四舍五入 2直接舍去 String sfsyhisjgrulesconfig = configService.selectConfigByKey("sfsyhisjgrulesconfig"); if (StrUtil.isNotBlank(lycdzjhmxj) && lycdzjhmxj.equalsIgnoreCase("Y")){ // 检验项目 LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); wq.in(TjProject::getDeptId,deptService.getJyDeptIds()); List jyxms = projectService.list(wq); if (!jyxms.isEmpty()){ List notNull = jyxms.stream().filter(i -> i.getSpecimenType() != null).collect(Collectors.toList()); List isNull = jyxms.stream().filter(i -> i.getSpecimenType() == null).collect(Collectors.toList()); Map> listMap = notNull.stream().collect(Collectors.groupingBy(TjProject::getSpecimenType)); if (!isNull.isEmpty()) listMap.put("",isNull); for (Map.Entry> entry : listMap.entrySet()) { } } // 检查项目 wq = new LambdaQueryWrapper<>(); wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); wq.in(TjProject::getDeptId,deptService.getJcDeptIds()); List jcxms = projectService.list(wq); }else { } //检验申请 List outpinmedicapplyDetilsDtos =new ArrayList<>(); if (null != detailList && !detailList.isEmpty()) { LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); wq.in(TjProject::getDeptId,deptService.getJyDeptIds()); List projects = projectService.list(wq); if (null != projects && !projects.isEmpty()) { List notNull = projects.stream().filter(i -> i.getSpecimenType() != null).collect(Collectors.toList()); List isNull = projects.stream().filter(i -> i.getSpecimenType() == null).collect(Collectors.toList()); Map> listMap = notNull.stream().collect(Collectors.groupingBy(TjProject::getSpecimenType)); if (!isNull.isEmpty()) listMap.put("",isNull); for (Map.Entry> entry : listMap.entrySet()) { OutpintestapplyDto dto = new OutpintestapplyDto(); dto.setHisRegistrationId(cardId); dto.setSfzh(customer.getCusIdcard()); dto.setSqysbm(ysbm); dto.setMzksbm(dept); dto.setSjrq(date); dto.setCzybm(ysbm); dto.setCzyksbm(dept); dto.setSfjz("0"); List detailsDtos = new ArrayList<>(); List value = entry.getValue(); for (TjProject project : value) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(TjProject::getProParentId,project.getProId()); List list = projectService.list(wrapper); for (TjProject tjProject : list) { if (StrUtil.isNotBlank(tjProject.getHisXmbm()) && tjProject.getProPrice().compareTo(BigDecimal.ZERO) != 0) { OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); detailsDto.setMxfyxmbm(tjProject.getHisXmbm()); if (tjProject.getSfzhfy().equals("Y")) { detailsDto.setSfzhfy("1"); } else { detailsDto.setSfzhfy("0"); } detailsDto.setSl(tjProject.getSl()); detailsDto.setProjg(tjProject.getProPrice()); detailsDtos.add(detailsDto); } } if (!outpinmedicXms.isEmpty()) { outpinmedicXms.stream().filter(i -> i.getProId().equals(project.getProId())).forEach(i -> { OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); detilsDto.setYpbm(i.getYpbm()); detilsDto.setPcbm(i.getPcbm()); detilsDto.setSl(i.getSl()); detilsDto.setDj(i.getDj()); detilsDto.setDcjl(i.getDcjl()); detilsDto.setPj(i.getPj()); detilsDto.setJj(i.getJj()); detilsDto.setJldw(""); detilsDto.setTjbm(""); detilsDto.setPs(""); detilsDto.setPsbm(""); detilsDto.setYyts(""); detilsDto.setXtph(""); detilsDto.setScph(""); detilsDto.setYpxq(""); detilsDto.setCdbm(""); detilsDto.setKfdw(""); detilsDto.setYfdw(""); detilsDto.setYysm(""); detilsDto.setYpmc(i.getYpmc()); detilsDto.setFzbl(i.getFzbl()); detilsDto.setZh(i.getZh()); detilsDto.setCflx(i.getCflx()); outpinmedicapplyDetilsDtos.add(detilsDto); }); } } if (!detailsDtos.isEmpty()) { 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 details = dto.getDetails(); for (OutpintestapplyDetailsDto detail : details) { LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); tree.setCardId(dto.getHisRegistrationId()); tree.setPationid(customer.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("检验"); tree.setService("his"); tree.setTjPrice(String.valueOf(detail.getProjg())); LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); if (detail.getSfzhfy().equals("1")) wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm); else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm); List ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); LambdaQueryWrapper wrapper2 = new LambdaQueryWrapper<>(); wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); LambdaQueryWrapper wrapper3 = new LambdaQueryWrapper<>(); wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); tree.setXmfl(ejjfxmzd.getYjkmdm()); } tree.setCreateTime(DateUtil.date()); ltkjJianchajianyanTreeService.save(tree); } } } } } } //门诊检查申请 if (null != detailList && !detailList.isEmpty()) { LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); wq.in(TjProject::getDeptId,deptService.getJcDeptIds()); List projects = projectService.list(wq); List proIds = projects.stream().map(TjProject::getProId).collect(Collectors.toList()); if (!proIds.isEmpty()){ QueryWrapper wrapper4 = new QueryWrapper<>(); wrapper4.select("sum(sl) as sl","pro_id" ,"pro_parent_id","pro_name","his_xmbm","his_xmmc" ,"pro_price"); wrapper4.in("pro_parent_id",proIds); wrapper4.groupBy("his_xmbm"); projects = projectService.list(wrapper4); if (null != projects && !projects.isEmpty()) { List detailsDtoss = new ArrayList<>(); for (TjProject project : projects) { if (StrUtil.isNotBlank(project.getHisXmbm()) && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); detailsDto.setMxfyxmbm(project.getHisXmbm()); detailsDto.setSfzhfy("0"); detailsDto.setSl(project.getSl()); detailsDto.setProjg(project.getProPrice()); detailsDtoss.add(detailsDto); } } List proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList()); if (!outpinmedicXms.isEmpty()) { outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> { OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); detilsDto.setYpbm(i.getYpbm()); detilsDto.setPcbm(i.getPcbm()); detilsDto.setSl(i.getSl()); detilsDto.setDj(i.getDj()); detilsDto.setDcjl(i.getDcjl()); detilsDto.setPj(i.getPj()); detilsDto.setJj(i.getJj()); detilsDto.setJldw(""); detilsDto.setTjbm(""); detilsDto.setPs(""); detilsDto.setPsbm(""); detilsDto.setYyts(""); detilsDto.setXtph(""); detilsDto.setScph(""); detilsDto.setYpxq(""); detilsDto.setCdbm(""); detilsDto.setKfdw(""); detilsDto.setYfdw(""); detilsDto.setYysm(""); detilsDto.setYpmc(i.getYpmc()); detilsDto.setFzbl(i.getFzbl()); detilsDto.setZh(i.getZh()); detilsDto.setCflx(i.getCflx()); outpinmedicapplyDetilsDtos.add(detilsDto); }); } if (!detailsDtoss.isEmpty()) { OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto(); outpinexamapplyDto.setHisRegistrationId(cardId); outpinexamapplyDto.setSfzh(customer.getCusIdcard()); outpinexamapplyDto.setSqysbm(ysbm); outpinexamapplyDto.setMzksbm(dept); outpinexamapplyDto.setCzybm(ysbm); outpinexamapplyDto.setCzyksbm(dept); outpinexamapplyDto.setSfjz("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 details = outpinexamapplyDto.getDetails(); for (OutpintestapplyDetailsDto detail : details) { LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); tree.setCardId(outpinexamapplyDto.getHisRegistrationId()); tree.setPationid(customer.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("检查"); tree.setService("his"); tree.setTjPrice(String.valueOf(detail.getProjg())); LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); if (detail.getSfzhfy().equals("1")) wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm); else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm); List ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); LambdaQueryWrapper wrapper2 = new LambdaQueryWrapper<>(); wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); LambdaQueryWrapper wrapper3 = new LambdaQueryWrapper<>(); wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); tree.setXmfl(ejjfxmzd.getYjkmdm()); } tree.setCreateTime(DateUtil.date()); ltkjJianchajianyanTreeService.save(tree); } } } } } } //门诊治疗处置申请 OutpintreatapplyDto dao = new OutpintreatapplyDto(); dao.setHisRegistrationId(cardId); dao.setSfzh(customer.getCusIdcard()); dao.setSqysbm(ysbm); dao.setMzksbm(dept); dao.setSjrq(date); dao.setCzybm(ysbm); dao.setCzyksbm(dept); dao.setSfjz("0"); // List details = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); if (null != detailList && !detailList.isEmpty()) { LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); wq.in(TjProject::getDeptId,deptService.getCzDeptIds()); List projects = projectService.list(wq); List proIds = projects.stream().map(TjProject::getProId).collect(Collectors.toList()); if (!proIds.isEmpty()){ QueryWrapper wrapper4 = new QueryWrapper<>(); wrapper4.select("sum(sl) as sl","pro_id" ,"pro_parent_id","pro_name","his_xmbm","his_xmmc" ,"pro_price"); wrapper4.in("pro_parent_id",proIds); wrapper4.groupBy("his_xmbm"); projects = projectService.list(wrapper4); if (null != projects && !projects.isEmpty()) { List detailDtos = new ArrayList<>(); for (TjProject project : projects) { if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { if (StrUtil.isNotBlank(project.getHisXmbm()) && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); detailsDto.setMxfyxmbm(project.getHisXmbm()); detailsDto.setSfzhfy("0"); detailsDto.setSl(project.getSl()); detailsDto.setProjg(project.getProPrice()); detailDtos.add(detailsDto); } } } List proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList()); if (!outpinmedicXms.isEmpty()) { outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> { OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); detilsDto.setYpbm(i.getYpbm()); detilsDto.setPcbm(i.getPcbm()); detilsDto.setSl(i.getSl()); detilsDto.setDj(i.getDj()); detilsDto.setDcjl(i.getDcjl()); detilsDto.setPj(i.getPj()); detilsDto.setJj(i.getJj()); detilsDto.setJldw(""); detilsDto.setTjbm(""); detilsDto.setPs(""); detilsDto.setPsbm(""); detilsDto.setYyts(""); detilsDto.setXtph(""); detilsDto.setScph(""); detilsDto.setYpxq(""); detilsDto.setCdbm(""); detilsDto.setKfdw(""); detilsDto.setYfdw(""); detilsDto.setYysm(""); detilsDto.setYpmc(i.getYpmc()); detilsDto.setFzbl(i.getFzbl()); detilsDto.setZh(i.getZh()); detilsDto.setCflx(i.getCflx()); outpinmedicapplyDetilsDtos.add(detilsDto); }); } if (!detailDtos.isEmpty()) { 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 details1 = dao.getDetails(); for (OutpintestapplyDetailsDto detail : details1) { LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); tree.setCardId(dao.getHisRegistrationId()); tree.setPationid(customer.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("处置"); tree.setTjPrice(String.valueOf(detail.getProjg())); LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); if (detail.getSfzhfy().equals("1")) wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm); else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm); List ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); LambdaQueryWrapper wrapper2 = new LambdaQueryWrapper<>(); wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); LambdaQueryWrapper wrapper3 = new LambdaQueryWrapper<>(); wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); tree.setXmfl(ejjfxmzd.getYjkmdm()); } tree.setCreateTime(DateUtil.date()); ltkjJianchajianyanTreeService.save(tree); } } } } } } //药品申请 原版 // if(!outpinmedicapplyDetilsDtos.isEmpty()){ // OutpinmedicapplyDto dto1=new OutpinmedicapplyDto(); // dto1.setHisRegistrationId(cardId); // dto1.setSfzh(customer.getCusIdcard()); // dto1.setSqysbm(ysbm); // dto1.setMzksbm(dept); // dto1.setSjrq(date); // String yfbm = configService.selectConfigByKey("chufang_yfbm"); // String mzzd = configService.selectConfigByKey("chufang_mzzd"); // String czybm = configService.selectConfigByKey("chufang_czybm"); // String czyksbm = configService.selectConfigByKey("chufang_czyksbm"); // String cflxbm = configService.selectConfigByKey("chufang_cflxbm"); // if (czybm.equalsIgnoreCase("N")) // dto1.setCzybm(ysbm); // else dto1.setCzybm(czybm); // if (czyksbm.equalsIgnoreCase("N")) // dto1.setCzyksbm(dept); // else dto1.setCzyksbm(czyksbm); // dto1.setCflxbm(cflxbm); // if (yfbm.equalsIgnoreCase("N")) // dto1.setYfbm("1"); // else dto1.setYfbm(yfbm); // dto1.setFyts("1"); // if (mzzd.equalsIgnoreCase("N")) // dto1.setMzzd(""); // else dto1.setMzzd(mzzd); // dto1.setDetails(outpinmedicapplyDetilsDtos); // AjaxResult result = controller.Outpinmedicapply(dto1); // String result1 = getAjaxResult(result); // JSONObject object = getJSONObject(result1); // String code = object.getStr("ResultCode"); // if(null !=code && code.equals("0")){ // JSONObject resultData = object.getJSONObject("ResultData"); //// Map resultDatasss = (Map) resultData.get(0); // String cfh = resultData.getStr("cfh"); // log.info("药品申请后的处方号是: "+cfh+" outpinmedicapplyDetilsDtos 里面的值为: "+outpinmedicapplyDetilsDtos.toString()); // for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) { // TjCf cf=new TjCf(); // cf.setCardId(cardId); // cf.setSfzh(customer.getCusIdcard()); // cf.setCfh(cfh); // cf.setSqysbm(ysbm); // cf.setSqysxm(ysmc); // cf.setMzksbn(dept); // cf.setSqrq(date); // cf.setCzybm(ysbm); // cf.setYpbm(detilsDto.getYpbm()); // cf.setYpmc(detilsDto.getYpmc()); // cf.setSl(String.valueOf(detilsDto.getSl())); // cf.setDj(String.valueOf(detilsDto.getDj())); // cf.setDcjl(String.valueOf(detilsDto.getDcjl())); // cf.setPj(String.valueOf(detilsDto.getPj())); // cf.setJj(String.valueOf(detilsDto.getJj())); // cf.setCreateTime(new Date()); // cfService.save(cf); // } // } // } /** * 药品申请 处方类型维护在药品表 */ if(!outpinmedicapplyDetilsDtos.isEmpty()){ String yfbm = configService.selectConfigByKey("chufang_yfbm"); String mzzd = configService.selectConfigByKey("chufang_mzzd"); String czybm = configService.selectConfigByKey("chufang_czybm"); String czyksbm = configService.selectConfigByKey("chufang_czyksbm"); // String cflxbm = configService.selectConfigByKey("chufang_cflxbm"); Map> listMap = outpinmedicapplyDetilsDtos.stream().collect(Collectors.groupingBy(OutpinmedicapplyDetilsDto::getCflx)); listMap.forEach((cflx, details) -> { OutpinmedicapplyDto dto1 = new OutpinmedicapplyDto(); dto1.setHisRegistrationId(cardId); dto1.setSfzh(customer.getCusIdcard()); dto1.setSqysbm(ysbm); dto1.setMzksbm(dept); dto1.setSjrq(date); if (czybm.equalsIgnoreCase("N")) dto1.setCzybm(ysbm); else dto1.setCzybm(czybm); if (czyksbm.equalsIgnoreCase("N")) dto1.setCzyksbm(dept); else dto1.setCzyksbm(czyksbm); dto1.setCflxbm(cflx); if (yfbm.equalsIgnoreCase("N")) dto1.setYfbm("1"); else dto1.setYfbm(yfbm); dto1.setFyts("1"); if (mzzd.equalsIgnoreCase("N")) dto1.setMzzd(""); else dto1.setMzzd(mzzd); dto1.setDetails(details); AjaxResult result = controller.Outpinmedicapply(dto1); String result1 = getAjaxResult(result); JSONObject object = getJSONObject(result1); String code = object.getStr("ResultCode"); if (null != code && code.equals("0")) { JSONObject resultData = object.getJSONObject("ResultData"); String cfh = resultData.getStr("cfh"); log.info("药品申请后的处方号是: " + cfh + " outpinmedicapplyDetilsDtos 里面的值为: " + outpinmedicapplyDetilsDtos.toString()); for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) { TjCf cf = new TjCf(); cf.setCardId(cardId); cf.setSfzh(customer.getCusIdcard()); cf.setCfh(cfh); cf.setSqysbm(ysbm); cf.setSqysxm(ysmc); cf.setMzksbn(dept); cf.setSqrq(date); cf.setCzybm(ysbm); cf.setYpbm(detilsDto.getYpbm()); cf.setYpmc(detilsDto.getYpmc()); cf.setSl(String.valueOf(detilsDto.getSl())); cf.setDj(String.valueOf(detilsDto.getDj())); cf.setDcjl(String.valueOf(detilsDto.getDcjl())); cf.setPj(String.valueOf(detilsDto.getPj())); cf.setJj(String.valueOf(detilsDto.getJj())); cf.setCreateTime(new Date()); cfService.save(cf); } } }); } return AjaxResult.success(); } public AjaxResult tijianshenqing(TjCustomer customer, String date, TjOrder tjOrder, SysUser sysUser, AjaxResult result) { List detailList = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(), tjOrder.getCardId()); if (!pacsApiMethodService.save(tjOrder, customer, detailList)) { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); Object jzh = result.get("jzh"); if (null != jzh && null != jzh.toString()) { ZfHisApiMethod(jzh.toString()); } log.error("pacs申请失败 该登记人挂号失败, 就诊号为: " + tjOrder.getCardId()); return AjaxResult.error("挂号失败!" + result.get("msg").toString()); } List detailList1 = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); tjSysAsyncService.addCaiYangDengJi(detailList1, !detailList1.isEmpty(), tjOrder, sysUser,null); String mergeRequest = configService.selectConfigByKey("use_lis_pacs_is_auto_merge_request"); String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix"); String isRequestLisAllzx = configService.selectConfigByKey("jcx_is_requestLisAllzx"); if (mergeRequest.equals("Y")){ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(TjSampling::getTjNum,tjOrder.getTjNumber()); List list = tjSamplingService.list(wrapper); if (isRequestLisAllzx != null && isRequestLisAllzx.equals("Y")){ log.info("进入团体根据小项标本合并发送方法"); if(null !=list && !list.isEmpty()){ List strings = list.stream().map(TjSampling::getProId).collect(Collectors.toList()); LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); wrapper1.in(TjProject::getProParentId,strings); wrapper1.eq(TjProject::getProStatus,0); wrapper1.groupBy(TjProject::getProId); List tjProjectList = projectService.list(wrapper1); if(null != tjProjectList && !tjProjectList.isEmpty()){ Map> listMap = tjProjectList.stream() .collect(Collectors.groupingBy(p->p.getSpecimenType()+"_"+p.getYb())); log.info("分组后 ->{}",JSONUtil.toJsonStr(listMap)); boolean save = lisApiMethod.save(listMap, tjOrder, customer); if (!save) { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return AjaxResult.error("处理失败"); } for (TjSampling tjSampling : list) { tjSampling.setIsSignFor("0"); } tjSamplingService.updateBatchById(list); } } }else{ try { // LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); // wrapper.eq(TjSampling::getTjNum,tjOrder.getTjNumber()); // List list = tjSamplingService.list(wrapper); log.info("采样数据 ->{}",JSONUtil.toJsonStr(list)); if (!list.isEmpty()) { Map> listMap = list.stream().collect(Collectors.groupingBy(TjSampling::getSpecimenTypeCode)); log.info("分组后 ->{}",JSONUtil.toJsonStr(listMap)); ArrayList ids = new ArrayList<>(); for (Map.Entry> entry : listMap.entrySet()) { log.info("key ->{},val ->{}",entry.getKey(),entry.getValue()); // Lis标本代码 String specimenTypeCode = entry.getKey(); List samplings = entry.getValue(); if (samplings.size() >= 2) { // 进行合并 List stringList = samplings.stream().map(TjSampling::getId).collect(Collectors.toList()); // log.info("提取id ->{}",stringList); for (int i = 0; i < stringList.size(); i++) { String s = stringList.get(i); if (tjSamplingService.isMergeItem(s) != 0) { stringList.remove(s); ids.add(s); } } if (stringList.size() > 1) { String id = tjSamplingService.mergeCaiYangApi(stringList,lis_tmh_prefix); ids.add(id); }else { ids.add(stringList.get(0)); } } else { ids.add(samplings.get(0).getId()); } } Boolean confirmed = samplingService.confirmSamplingApi(ids, "Y", "N"); if (!confirmed) { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return AjaxResult.error("处理失败"); } } } catch (NoTransactionException e) { // throw new RuntimeException(e); log.error(String.valueOf(e),e.getMessage()); } } } //检验申请 // OutpintestapplyDto dto = new OutpintestapplyDto(); // dto.setHisRegistrationId(tjOrder.getCardId()); // dto.setSfzh(customer.getCusIdcard()); // dto.setSqysbm("00029"); // dto.setMzksbm("0101"); // dto.setSjrq(date); // dto.setCzybm("00029"); // dto.setCzyksbm("0101"); // dto.setSfjz("0"); // List outpinmedicapplyDetilsDtos =new ArrayList<>(); //门诊治疗处置申请 // OutpintreatapplyDto dao = new OutpintreatapplyDto(); // dao.setHisRegistrationId(tjOrder.getCardId()); // dao.setSfzh(customer.getCusIdcard()); // dao.setSqysbm("00029"); // dao.setMzksbm("0101"); // dao.setSjrq(date); // dao.setCzybm("00029"); // dao.setCzyksbm("0101"); // dao.setSfjz("0"); // List detailDtos = new ArrayList<>(); // if (!detailList.isEmpty()) { // LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); // wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); // wq.in(TjProject::getDeptId,deptService.getCzDeptIds()); // List projects = projectService.list(wq); // if (null != projects && !projects.isEmpty()) { // 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()); // detailsDto.setProjg(project.getProPrice()); // detailDtos.add(detailsDto); // } // if(project.getProId()==1740177341251154377L){ // OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); // detilsDto.setYpbm("00006670"); // detilsDto.setPcbm("06"); // detilsDto.setSl("1"); // detilsDto.setDj("60"); // detilsDto.setDcjl("1"); // detilsDto.setPj("60"); // detilsDto.setJj("60"); // detilsDto.setJldw(""); // detilsDto.setTjbm(""); // detilsDto.setPs(""); // detilsDto.setPsbm(""); // detilsDto.setYyts(""); // detilsDto.setXtph(""); // detilsDto.setScph(""); // detilsDto.setYpxq(""); // detilsDto.setCdbm(""); // detilsDto.setKfdw(""); // detilsDto.setYfdw(""); // detilsDto.setYysm(""); // detilsDto.setFzbl("1"); // detilsDto.setZh("0"); // outpinmedicapplyDetilsDtos.add(detilsDto); // } // } // } // } // } // if (!detailDtos.isEmpty()) { // 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 details1 = dao.getDetails(); // for (OutpintestapplyDetailsDto detail : details1) { // LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); // tree.setCardId(dao.getHisRegistrationId()); // tree.setPationid(customer.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("处置"); // tree.setTjPrice(String.valueOf(detail.getProjg())); // LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); // if (detail.getSfzhfy().equals("1")) // wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm); // else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm); // List ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); // if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { // String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); // LambdaQueryWrapper wrapper2 = new LambdaQueryWrapper<>(); // wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); // LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); // LambdaQueryWrapper wrapper3 = new LambdaQueryWrapper<>(); // wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); // LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); // tree.setXmfl(ejjfxmzd.getYjkmdm()); // } // tree.setCreateTime(DateUtil.date()); // ltkjJianchajianyanTreeService.save(tree); // } // } // } //药品申请 // if(!outpinmedicapplyDetilsDtos.isEmpty()){ // OutpinmedicapplyDto dto1=new OutpinmedicapplyDto(); // dto1.setHisRegistrationId(tjOrder.getCardId()); // dto1.setSfzh(customer.getCusIdcard()); // dto1.setSqysbm("00029"); // dto1.setMzksbm("0101"); // dto1.setSjrq(date); // dto1.setCzybm("00029"); // dto1.setCzyksbm("0101"); // dto1.setCflxbm("A"); // dto1.setYfbm("1"); // dto1.setFyts("1"); // dto1.setMzzd(""); // dto1.setDetails(outpinmedicapplyDetilsDtos); // AjaxResult resultt = controller.Outpinmedicapply(dto1); // String result1 = getAjaxResult(resultt); // JSONObject object = getJSONObject(result1); // String code = object.getStr("ResultCode"); // if(null !=code && code.equals("0")){ // JSONObject resultData = object.getJSONObject("ResultData"); //// Map resultDatasss = (Map) resultData.get(0); // String cfh = resultData.getStr("cfh"); // log.info("药品申请后的处方号是: "+cfh+" outpinmedicapplyDetilsDtos 里面的值为: "+outpinmedicapplyDetilsDtos.toString()); // for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) { // TjCf cf=new TjCf(); // cf.setCardId(tjOrder.getCardId()); // cf.setSfzh(customer.getCusIdcard()); // cf.setCfh(cfh); // cf.setSqysbm("00029"); // cf.setSqysxm("王健萍"); // cf.setMzksbn("0101"); // cf.setSqrq(date); // cf.setCzybm("00029"); // cf.setYpbm(detilsDto.getYpbm()); // cf.setYpmc("尿素[14C]呼气试验药盒"); // cf.setSl(String.valueOf(detilsDto.getSl())); // cf.setDj(String.valueOf(detilsDto.getDj())); // cf.setDcjl(String.valueOf(detilsDto.getDcjl())); // cf.setPj(String.valueOf(detilsDto.getPj())); // cf.setJj(String.valueOf(detilsDto.getJj())); // cf.setCreateTime(new Date()); // cfService.save(cf); // } // } // } return AjaxResult.success(); } public AjaxResult tijianBlshenqing(TjCustomer customer,TjOrder tjOrder, SysUser sysUser,String jxbz) { List detailList = tbTransitionService.getBlTbTransitionListByCusId(customer.getCusIdcard(), tjOrder.getCardId(),jxbz); pacsApiMethodService.save(tjOrder, customer, detailList); List detailList1 = tjOrderDetailService.getCaiYangDengJiJxbz(tjOrder.getOrderId(), jxbz); tjSysAsyncService.addCaiYangDengJi(detailList1, !detailList1.isEmpty(), tjOrder, sysUser,null); String mergeRequest = configService.selectConfigByKey("use_lis_pacs_is_auto_merge_request"); String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix"); String isRequestLisAllzx = configService.selectConfigByKey("jcx_is_requestLisAllzx"); if (mergeRequest.equals("Y")){ if (isRequestLisAllzx != null && isRequestLisAllzx.equals("Y")){ log.info("进入团体根据小项标本合并发送方法"); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(TjSampling::getTjNum,tjOrder.getTjNumber()); wrapper.eq(TjSampling::getJxbz,jxbz); List list = tjSamplingService.list(wrapper); List strings = list.stream().map(TjSampling::getProId).collect(Collectors.toList()); LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); wrapper1.in(TjProject::getProParentId,strings); wrapper1.eq(TjProject::getProStatus,0); wrapper1.eq(TjProject::getDeleted,0); wrapper1.groupBy(TjProject::getProId); List tjProjectList = projectService.list(wrapper1); Map> listMap = tjProjectList.stream().collect(Collectors.groupingBy(TjProject::getSpecimenType)); log.info("分组后 ->{}",JSONUtil.toJsonStr(listMap)); boolean save = lisApiMethod.save(listMap, tjOrder, customer); if (!save) { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return AjaxResult.error("处理失败"); } for (TjSampling tjSampling : list) { tjSampling.setIsSignFor("0"); } tjSamplingService.updateBatchById(list); }else{ try { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(TjSampling::getTjNum,tjOrder.getTjNumber()); wrapper.eq(TjSampling::getJxbz,jxbz); List list = tjSamplingService.list(wrapper); log.info("采样数据 ->{}",JSONUtil.toJsonStr(list)); if (!list.isEmpty()) { Map> listMap = list.stream().collect(Collectors.groupingBy(TjSampling::getSpecimenTypeCode)); log.info("分组后 ->{}",JSONUtil.toJsonStr(listMap)); ArrayList ids = new ArrayList<>(); for (Map.Entry> entry : listMap.entrySet()) { log.info("key ->{},val ->{}",entry.getKey(),entry.getValue()); // Lis标本代码 String specimenTypeCode = entry.getKey(); List samplings = entry.getValue(); if (samplings.size() >= 2) { // 进行合并 List stringList = samplings.stream().map(TjSampling::getId).collect(Collectors.toList()); // log.info("提取id ->{}",stringList); for (int i = 0; i < stringList.size(); i++) { String s = stringList.get(i); if (tjSamplingService.isMergeItem(s) != 0) { stringList.remove(s); ids.add(s); } } if (stringList.size() > 1) { String id = tjSamplingService.mergeCaiYangApi(stringList,lis_tmh_prefix); ids.add(id); }else { ids.add(stringList.get(0)); } } else { ids.add(samplings.get(0).getId()); } } Boolean confirmed = samplingService.confirmSamplingApi(ids, "Y", "N"); if (!confirmed) { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return AjaxResult.error("处理失败"); } } } catch (NoTransactionException e) { log.error(String.valueOf(e),e.getMessage()); } } } return AjaxResult.success(); } //退费后取消接诊作废申请单等操作 @Transactional public boolean ZfHisApiMethods(TjCustomer customer, TjOrder order,Boolean isUseLisAndPacsRegister) { String ysbm = configService.selectConfigByKey("request_default_ysbm"); Date dates = new Date(); final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss"); List zlsqdh = orderService.getHuoQuZlsqdh(order.getCardId()); List cfhs = cfService.getCfhs(order.getCardId()); AjaxResult ajaxResult = null; String result2 = null; JSONObject object1 = null; String code1 = null; // if (isUseLisAndPacsRegister){ TjCustomer customer1 = customerService.getById(order.getUserId()); // 作废检查申请 List bljcsqdhByPacs = orderService.getBljcsqdhByPacs(order.getCardId()); if (bljcsqdhByPacs != null && !bljcsqdhByPacs.isEmpty()){ for (String sqdh : bljcsqdhByPacs) { AjaxResult cancelPacsAjaxResult = pacsApiMethodService.updatePacsApply(sqdh, order.getCardId(), customer1.getCusName()); String result = cancelPacsAjaxResult.get("data").toString(); JSONObject object = JSONUtil.parseObj(result); String code = object.getStr("ResultCode"); if(code.equals("1")){ orderService.delHuoQuJcsqdh(order.getCardId()); } } } // 作废检验申请 List bljysqdhByLis = orderService.getBljysqdhByLis(order.getCardId()); if (bljysqdhByLis != null && !bljysqdhByLis.isEmpty()){ for (String sqdh : bljysqdhByLis) { AjaxResult cancelLisAjaxResult = lisApiMethod.cancel(sqdh, order.getCardId(), customer1.getCusName()); log.info("lis请求返回 ->{}",JSONUtil.toJsonStr(cancelLisAjaxResult)); if (cancelLisAjaxResult.get("code").toString().equals("200")){ String result = cancelLisAjaxResult.get("data").toString(); JSONObject object = JSONUtil.parseObj(result); String code= object.getStr("ResultCode"); if(code.equals("1")){ orderService.delHuoQuJysqdh(order.getCardId()); } } } } // }else { List jcsqdh = orderService.getHuoQuJcsqdh(order.getCardId()); List jysqdh = orderService.getHuoQuJysqdh(order.getCardId()); //2.1.6.5 作废门诊检查申请 if (null != jcsqdh && jcsqdh.size()>0) { for (String s : jcsqdh) { AjaxResult result = controller.Outpindelexamapply(order.getCardId(), ysbm, s); String result1 = getAjaxResult(result); JSONObject object = getJSONObject(result1); String code = object.getStr("ResultCode"); if (code.equals("0")) { orderService.delHuoQuJcsqdh(order.getCardId()); } // else { // return false; // } } } //2.1.6.3 作废门诊检验申请 if (null != jysqdh && jysqdh.size()>0) { for (String s : jysqdh) { ajaxResult = controller.Outpindeltestapply(order.getCardId(), ysbm, s); result2 = getAjaxResult(ajaxResult); object1 = getJSONObject(result2); code1 = object1.getStr("ResultCode"); if (code1.equals("0")) { orderService.delHuoQuJysqdh(order.getCardId()); } // else { // return false; // } } } //2.1.6.9 作废门诊治疗处置申请 if (null != zlsqdh && zlsqdh.size()>0) { for (String s : zlsqdh) { ajaxResult = controller.Outpintdelreatapply(order.getCardId(), ysbm, s); result2 = getAjaxResult(ajaxResult); object1 = getJSONObject(result2); code1 = object1.getStr("ResultCode"); if (code1.equals("0")) { orderService.delHuoQuZlsqdh(order.getCardId()); } } } //作废药品申请 if(null !=cfhs && cfhs.size()>0){ for (String cfh : cfhs) { AjaxResult result = controller.Outpindelmedicapply(order.getCardId(), ysbm, cfh); String result1 = getAjaxResult(result); JSONObject object = getJSONObject(result1); String code = object.getStr("ResultCode"); if(null !=code && code.equals("0")){ cfService.delCfByCardId(cfh); } } } // } //2.1.3 门诊医生取消接诊 ajaxResult = controller.Outpinunconapply(order.getCardId(), date, ysbm); result2 = getAjaxResult(ajaxResult); object1 = getJSONObject(result2); code1 = object1.getStr("ResultCode"); // if (!code1.equals("0")) { // return false; // } return true; } //作废补录项目 public boolean ZfBlXm(List bldhs, TjOrder order) { log.info("bldhs ->{}",JSONUtil.toJsonStr(bldhs)); if(null !=bldhs && bldhs.size()>0){ log.info("进入判断"); String ysbm = configService.selectConfigByKey("request_default_ysbm"); try { for (String bldh : bldhs) { List zlsqdh = orderService.getHuoQuBlZlsqdh(order.getCardId(),bldh); List cfhs = cfService.getCfBlhs(order.getCardId(),bldh); AjaxResult ajaxResult = null; String result2 = null; JSONObject object1 = null; String code1 = null; log.info("查询前"); // if (lisApiMethod.isUseLisAndPacsRegister(order)) { TjCustomer customer1 = customerService.getById(order.getUserId()); log.info("customer1 ->{}",customer1); List bljcsqdhByPacs = orderService.getBljcsqdhByPacs(order.getCardId(), bldh); log.info("bljcsqdhByPacs ->{}",bljcsqdhByPacs); // 作废检查申请 if (bljcsqdhByPacs != null && !bljcsqdhByPacs.isEmpty()){ for (String sqdh : bljcsqdhByPacs) { AjaxResult cancelPacsAjaxResult = pacsApiMethodService.updatePacsApply(sqdh, order.getCardId(), customer1.getCusName()); log.info("作废检查 pacs返回 ->{}",JSONUtil.toJsonStr(cancelPacsAjaxResult)); String result = cancelPacsAjaxResult.get("data").toString(); JSONObject object = JSONUtil.parseObj(result); String code = object.getStr("ResultCode"); if(code.equals("1")){ orderService.delHuoQuBlJcsqdh(order.getCardId(),bldh); }else { return false; } } } List bljysqdhByLis = orderService.getBljysqdhByLis(order.getCardId(), bldh); log.info("bljysqdhByLis ->{}",bljysqdhByLis); // 作废检验申请 if (bljysqdhByLis != null && !bljysqdhByLis.isEmpty()){ for (String sqdh : bljysqdhByLis) { AjaxResult cancelLisAjaxResult = lisApiMethod.cancel(sqdh, order.getCardId(), customer1.getCusName()); log.info("作废检验 pacs返回 ->{}",JSONUtil.toJsonStr(cancelLisAjaxResult)); String result = cancelLisAjaxResult.get("data").toString(); JSONObject object = JSONUtil.parseObj(result); String code= object.getStr("ResultCode"); if(code.equals("1")){ orderService.delHuoQuBlJysqdh(order.getCardId(),bldh); }else { return false; } } } List jcsqdh = orderService.getHuoQuBlJcsqdh(order.getCardId(),bldh); List jysqdh = orderService.getHuoQuBlJysqdh(order.getCardId(),bldh); // }else { // 2.1.6.5 作废门诊检查申请 if (null != jcsqdh && jcsqdh.size()>0) { for (String s : jcsqdh) { AjaxResult result = controller.Outpindelexamapply(order.getCardId(), ysbm, s); String result1 = getAjaxResult(result); JSONObject object = getJSONObject(result1); String code = object.getStr("ResultCode"); if (code.equals("0")) { orderService.delHuoQuBlJcsqdh(order.getCardId(),bldh); }else { return false; } } } //2.1.6.3 作废门诊检验申请 if (null != jysqdh && jysqdh.size()>0) { for (String s : jysqdh) { ajaxResult = controller.Outpindeltestapply(order.getCardId(), ysbm, s); result2 = getAjaxResult(ajaxResult); object1 = getJSONObject(result2); code1 = object1.getStr("ResultCode"); if (code1.equals("0")) { orderService.delHuoQuBlJysqdh(order.getCardId(),bldh); }else { return false; } } } //2.1.6.9 作废门诊治疗处置申请 if (null != zlsqdh && zlsqdh.size()>0) { for (String s : zlsqdh) { ajaxResult = controller.Outpintdelreatapply(order.getCardId(), ysbm, s); result2 = getAjaxResult(ajaxResult); object1 = getJSONObject(result2); code1 = object1.getStr("ResultCode"); if (code1.equals("0")) { orderService.delHuoQuZlsqdh(order.getCardId(),bldh); }else { return false; } } } //作废药品申请 if(null !=cfhs && cfhs.size()>0){ for (String cfh : cfhs) { AjaxResult result = controller.Outpindelmedicapply(order.getCardId(), ysbm, cfh); String result1 = getAjaxResult(result); JSONObject object = getJSONObject(result1); String code = object.getStr("ResultCode"); if(null !=code && code.equals("0")){ cfService.delCfByCardId(cfh); }else { return false; } } } // } return true; } } catch (Exception e) { log.error(e.getMessage()); return false; } } return true; } //退费后取消接诊作废申请单等操作 public boolean ZfHisApiMethod(String jzh) { String ysbm = configService.selectConfigByKey("request_default_ysbm"); Date dates = new Date(); final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss"); List jcsqdh = orderService.getHuoQuJcsqdh(jzh); List jysqdh = orderService.getHuoQuJysqdh(jzh); List zlsqdh = orderService.getHuoQuZlsqdh(jzh); List cfhs = cfService.getCfhs(jzh); //2.1.6.5 作废门诊检查申请 if (null != jcsqdh && jcsqdh.size()>0) { for (String s : jcsqdh) { AjaxResult result = controller.Outpindelexamapply(jzh, ysbm, s); String result1 = getAjaxResult(result); JSONObject object = getJSONObject(result1); String code = object.getStr("ResultCode"); if (code.equals("0")) { orderService.delHuoQuJcsqdh(jzh); } } } //2.1.6.3 作废门诊检验申请 AjaxResult ajaxResult = null; String result2 = null; JSONObject object1 = null; String code1 = null; if (null != jysqdh && jysqdh.size()>0) { for (String s : jysqdh) { ajaxResult = controller.Outpindeltestapply(jzh, ysbm, s); result2 = getAjaxResult(ajaxResult); object1 = getJSONObject(result2); code1 = object1.getStr("ResultCode"); if (code1.equals("0")) { orderService.delHuoQuJysqdh(jzh); } } } //2.1.6.9 作废门诊治疗处置申请 if (null != zlsqdh && zlsqdh.size()>0) { for (String s : zlsqdh) { ajaxResult = controller.Outpintdelreatapply(jzh, ysbm, s); result2 = getAjaxResult(ajaxResult); object1 = getJSONObject(result2); code1 = object1.getStr("ResultCode"); if (code1.equals("0")) { orderService.delHuoQuZlsqdh(jzh); } } } //作废药品申请 if(null !=cfhs && cfhs.size()>0){ for (String cfh : cfhs) { AjaxResult result = controller.Outpindelmedicapply(jzh, ysbm, cfh); String result1 = getAjaxResult(result); JSONObject object = getJSONObject(result1); String code = object.getStr("ResultCode"); if(null !=code && code.equals("0")){ cfService.delCfByCardId(cfh); } } } //2.1.3 门诊医生取消接诊 ajaxResult = controller.Outpinunconapply(jzh, date, ysbm); result2 = getAjaxResult(ajaxResult); object1 = getJSONObject(result2); code1 = object1.getStr("ResultCode"); return true; } //获取门诊结算记录 @Transactional public void getHisMzJsJl(TjOrder order) { Date dates = new Date(); final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss"); } public void Getlabreginfoinfo(String hisCardId,String orderTime){ AjaxResult ajaxResult = controller.Getlabreginfoinfo(hisCardId,true,orderTime); saveLabRegInfo(ajaxResult); ajaxResult = controller.Getlabreginfoinfo(hisCardId,false,orderTime); saveLabRegInfo(ajaxResult); } private void saveLabRegInfo(AjaxResult ajaxResult) { if (ajaxResult.get("code").toString().equals("200")){ JSONObject data = JSONUtil.parseObj(ajaxResult.get("data").toString()); JSONObject response = data.getJSONObject("Response"); if (response.getStr("ResultCode").equals("0")) { JSONArray array = response.getJSONArray("ResultData"); if (!array.isEmpty()){ for (Object o : array) { JSONObject jsonObject = (JSONObject) o; TbLisSq tbLisSq = new TbLisSq(); tbLisSq.setGrbslx(trimString(jsonObject.getStr("GRBSLX"))); tbLisSq.setZdjgdm(trimString(jsonObject.getStr("ZDJGDM"))); tbLisSq.setMzzybz(trimString(jsonObject.getStr("MZZYBZ"))); tbLisSq.setZdjgmc(trimString(jsonObject.getStr("ZDJGMC"))); tbLisSq.setBgysqm(trimString(jsonObject.getStr("BGYSQM"))); tbLisSq.setShysqm(trimString(jsonObject.getStr("SHYSQM"))); tbLisSq.setSqrqsj(trimString(jsonObject.getStr("SQRQSJ"))); tbLisSq.setSqjgmc(trimString(jsonObject.getStr("SQJGMC"))); tbLisSq.setSqrbh(trimString(jsonObject.getStr("SQRBH"))); tbLisSq.setXyzddm(trimString(jsonObject.getStr("XYZDDM"))); tbLisSq.setJyxmmc(trimString(jsonObject.getStr("JYXMMC"))); tbLisSq.setCardId(trimString(jsonObject.getStr("his_registration_id"))); tbLisSq.setHzlxdm(trimString(jsonObject.getStr("HZLXDM"))); tbLisSq.setBgysbh(trimString(jsonObject.getStr("BGYSBH"))); tbLisSq.setJyxmdm(trimString(jsonObject.getStr("JYXMDM"))); tbLisSq.setBgksbh(trimString(jsonObject.getStr("BGKSBH"))); tbLisSq.setSqdbh(trimString(jsonObject.getStr("SQDBH"))); tbLisSq.setJyxh(trimString(jsonObject.getStr("JYXH"))); tbLisSq.setHzxb(trimString(jsonObject.getStr("HZXB"))); tbLisSq.setSqjgdm(trimString(jsonObject.getStr("SQJGDM"))); tbLisSq.setSqrxm(trimString(jsonObject.getStr("SQRXM"))); tbLisSq.setBgjgdm(trimString(jsonObject.getStr("BGJGDM"))); tbLisSq.setJyxhHb(trimString(jsonObject.getStr("jyxh_hb"))); tbLisSq.setHzksmc(trimString(jsonObject.getStr("HZKSMC"))); tbLisSq.setHzxm(trimString(jsonObject.getStr("HZXM"))); tbLisSq.setSqksmc(trimString(jsonObject.getStr("SQKSMC"))); tbLisSq.setYljgdm(trimString(jsonObject.getStr("YLJGDM"))); tbLisSq.setPationId(trimString(jsonObject.getStr("PationId"))); tbLisSq.setBgksmc(trimString(jsonObject.getStr("BGKSMC"))); tbLisSq.setDhhm(trimString(jsonObject.getStr("DHHM"))); tbLisSq.setHzzs(trimString(jsonObject.getStr("HZZS"))); tbLisSq.setJyrq(trimString(jsonObject.getStr("JYRQ"))); tbLisSq.setZzksrqsj(trimString(jsonObject.getStr("ZZKSRQSJ"))); tbLisSq.setHznl(trimString(jsonObject.getStr("HZNL"))); tbLisSq.setShrq(trimString(jsonObject.getStr("SHRQ"))); tbLisSq.setBgjgmc(trimString(jsonObject.getStr("BGJGMC"))); tbLisSq.setSqksdm(trimString(jsonObject.getStr("SQKSDM"))); tbLisSq.setHzksdm(trimString(jsonObject.getStr("HZKSDM"))); tbLisSq.setShysbh(trimString(jsonObject.getStr("SHYSBH"))); tbLisSq.setXyzdmc(trimString(jsonObject.getStr("XYZDMC"))); tbLisSq.setZfbz(trimString(jsonObject.getStr("zfbz"))); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(tbLisSq); List list = tbLisSqService.list(wrapper); if (list.isEmpty()){ tbLisSq.setId(IdUtil.getSnowflake().nextId()); tbLisSqService.save(tbLisSq); } } } } } } private String trimString(String value) { return value != null ? value.trim() : null; } }