From 1630243ed75a92c60d0638e7d14477e4aadcf2b7 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期五, 18 四月 2025 17:41:44 +0800 Subject: [PATCH] zjh20250418 --- ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java | 1100 +++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 856 insertions(+), 244 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java index 57db3ae..6ca25c6 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java @@ -1,6 +1,5 @@ package com.ltkj.web.controller.service; -import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; @@ -14,11 +13,13 @@ import com.ltkj.common.core.domain.entity.SysDept; import com.ltkj.common.core.domain.entity.SysUser; import com.ltkj.common.core.redis.RedisCache; -import com.ltkj.common.utils.IdUtils; +import com.ltkj.hosp.idutil.IdUtils; import com.ltkj.common.utils.StringUtils; import com.ltkj.framework.config.MatchUtils; import com.ltkj.hosp.domain.*; import com.ltkj.hosp.hisDto.*; +import com.ltkj.hosp.mapper.TjOrderDetailMapper; +import com.ltkj.hosp.mapper.TjOrderRemarkMapper; import com.ltkj.hosp.mapper.TjSamplingMapper; import com.ltkj.hosp.pacsDto.SavePacsApply; import com.ltkj.hosp.service.*; @@ -171,6 +172,12 @@ private ITjRulesService rulesService; @Autowired private ITjProAdvicerulesService tjProAdvicerulesService; + + @Autowired + private TjOrderDetailMapper detailMapper; + + @Autowired + private TjOrderRemarkMapper remarkMapper; @@ -444,101 +451,107 @@ } public void addCaiYangDengJi(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser,String jxbz) { - String lis_tmh_prefix = sysConfigService.selectConfigByKey("make_lis_tmh_prefix"); - String config = configService.selectConfigByKey("sfkqdyhis"); - Boolean lisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order); - if (null != detailList && detailList1) { - String format = DateUtil.format(new Date(), "yyMMddHHmmssSSS"); - for (TjOrderDetail detail : detailList) { - TjSampling sampling = new TjSampling(); - if (null == projectService.getById(detail.getProId())) continue; - TjProject project = projectService.getById(detail.getProId()); - Long proParentId = project.getProParentId(); - String dictLabel = sysDictDataService.selectDictLabel("sys_dict_specimen", project.getSpecimenType()); - if (null != proParentId && proParentId == 0) { - sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix)); -// LtkjJyxmzd jyxmzd = lisApiMethod.getJyxmzd(project); -// if (jyxmzd != null) { - if (config.equals("Y") && lisAndPacsRegister) - sampling.setJyxmdm(project.getLisXmbm()); - else sampling.setJyxmdm(String.valueOf(project.getProId())); - sampling.setSpecimenTypeCode(project.getSpecimenType()); - sampling.setSpecimenType(dictLabel); -// LambdaQueryWrapper<LtkjJybbzd> wrapper = new LambdaQueryWrapper<>(); -// wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm()); -// LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper); -// sampling.setSpecimenType(jybbzd.getJybbmc()); -// sampling.setJyxmdm(jyxmzd.getJyxmdm()); -// } - } else { - TjProject project1 = projectService.getById(proParentId); - sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix)); - sampling.setSpecimenTypeCode(project1.getSpecimenType()); - sampling.setSpecimenType(dictLabel); - if (config.equals("Y") && lisAndPacsRegister) - sampling.setJyxmdm(project1.getLisXmbm()); - else sampling.setJyxmdm(String.valueOf(project1.getProId())); -// LtkjJyxmzd jyxmzd = lisApiMethod.getJyxmzd(project1); -// if (jyxmzd != null) { -// sampling.setSpecimenTypeCode(jyxmzd.getJybbdm()); -// LambdaQueryWrapper<LtkjJybbzd> wrapper = new LambdaQueryWrapper<>(); -// wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm()); -// LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper); -// sampling.setSpecimenType(jybbzd.getJybbmc()); -// sampling.setJyxmdm(jyxmzd.getJyxmdm()); -// } + try { + String lis_tmh_prefix = sysConfigService.selectConfigByKey("make_lis_tmh_prefix"); + String config = configService.selectConfigByKey("sfkqdyhis"); + Boolean lisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order); + if (null != detailList && detailList1) { + String format = DateUtil.format(new Date(), "yyMMddHHmmssSSS"); + for (TjOrderDetail detail : detailList) { + int i = samplingService.isExistProId(order.getTjNumber(), String.valueOf(detail.getProId())); + if(i>0) continue; + TjSampling sampling = new TjSampling(); + if (null == projectService.getById(detail.getProId())) continue; + TjProject project = projectService.getById(detail.getProId()); + Long proParentId = project.getProParentId(); + String dictLabel = sysDictDataService.selectDictLabel("sys_dict_specimen", project.getSpecimenType()); + if (null != proParentId && proParentId == 0) { + sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix)); + // LtkjJyxmzd jyxmzd = lisApiMethod.getJyxmzd(project); + // if (jyxmzd != null) { + if (config.equals("Y") && lisAndPacsRegister) + sampling.setJyxmdm(project.getLisXmbm()); + else sampling.setJyxmdm(String.valueOf(project.getProId())); + sampling.setSpecimenTypeCode(project.getSpecimenType()); + sampling.setSpecimenType(dictLabel); + // LambdaQueryWrapper<LtkjJybbzd> wrapper = new LambdaQueryWrapper<>(); + // wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm()); + // LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper); + // sampling.setSpecimenType(jybbzd.getJybbmc()); + // sampling.setJyxmdm(jyxmzd.getJyxmdm()); + // } + } else { + TjProject project1 = projectService.getById(proParentId); + sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix)); + sampling.setSpecimenTypeCode(project1.getSpecimenType()); + sampling.setSpecimenType(dictLabel); + if (config.equals("Y") && lisAndPacsRegister) + sampling.setJyxmdm(project1.getLisXmbm()); + else sampling.setJyxmdm(String.valueOf(project1.getProId())); + // LtkjJyxmzd jyxmzd = lisApiMethod.getJyxmzd(project1); + // if (jyxmzd != null) { + // sampling.setSpecimenTypeCode(jyxmzd.getJybbdm()); + // LambdaQueryWrapper<LtkjJybbzd> wrapper = new LambdaQueryWrapper<>(); + // wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm()); + // LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper); + // sampling.setSpecimenType(jybbzd.getJybbmc()); + // sampling.setJyxmdm(jyxmzd.getJyxmdm()); + // } + } + sampling.setSamplingNumber(format); + sampling.setTjNum(order.getTjNumber()); + sampling.setCusId(String.valueOf(order.getUserId())); + if (tjCustomerService.getById(String.valueOf(order.getUserId())) != null) { + sampling.setCusName(tjCustomerService.getById(String.valueOf(order.getUserId())).getCusName()); + } + sampling.setApplicationTime(new Date()); + sampling.setTjTime(order.getCreateTime()); + sampling.setProId(String.valueOf(detail.getProId())); + sampling.setProName(projectService.getById(detail.getProId()).getProName()); + sampling.setCreateBy(sysUser.getNickName()); + sampling.setCreateTime(new Date()); + sampling.setUpdateBy(sysUser.getNickName()); + sampling.setUpdateTime(new Date()); + sampling.setCreateId(String.valueOf(sysUser.getUserId())); + sampling.setUpdateId(String.valueOf(sysUser.getUserId())); + sampling.setJxbz(jxbz); + samplingService.save(sampling); } - sampling.setSamplingNumber(format); - sampling.setTjNum(order.getTjNumber()); - sampling.setCusId(String.valueOf(order.getUserId())); - if (tjCustomerService.getById(String.valueOf(order.getUserId())) != null) { - sampling.setCusName(tjCustomerService.getById(String.valueOf(order.getUserId())).getCusName()); - } - sampling.setApplicationTime(new Date()); - sampling.setTjTime(order.getCreateTime()); - sampling.setProId(String.valueOf(detail.getProId())); - sampling.setProName(projectService.getById(detail.getProId()).getProName()); - sampling.setCreateBy(sysUser.getNickName()); - sampling.setCreateTime(new Date()); - sampling.setUpdateBy(sysUser.getNickName()); - sampling.setUpdateTime(new Date()); - sampling.setCreateId(String.valueOf(sysUser.getUserId())); - sampling.setUpdateId(String.valueOf(sysUser.getUserId())); - sampling.setJxbz(jxbz); - samplingService.save(sampling); } - } - if (lisApiMethod.isUseLisAndPacsRegister(order) && (null != config && config.equals("Y"))){ - AjaxResult ajaxResult = lisApiMethod.getJyFlHb(); - if (ajaxResult.get("code").toString().equals("200")){ - String str = ajaxResult.get("data").toString(); - str = str.replace("=", ":"); - JSONArray array = JSONUtil.parseArray(str); - for (Object o : array) { - JSONObject object = (JSONObject) o; - LisJyflhb lisJyflhb = new LisJyflhb(); - lisJyflhb.setHbhxm(object.getStr("hbhxm")); - lisJyflhb.setFlmc(object.getStr("flmc")); - lisJyflhb.setMc(object.getStr("mc")); - lisJyflhb.setFlbm(object.getStr("flbm")); - LambdaQueryWrapper<LisJyflhb> wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(LisJyflhb::getFlbm,lisJyflhb.getFlbm()); - LisJyflhb jyflhb = lisJyflhbService.getOne(wrapper); - if (jyflhb == null) { - lisJyflhb.setId(IdUtil.getSnowflake().nextId()); - lisJyflhbService.save(lisJyflhb); - }else { - lisJyflhb.setId(jyflhb.getId()); - lisJyflhbService.updateById(lisJyflhb); + if (lisApiMethod.isUseLisAndPacsRegister(order) && (null != config && config.equals("Y"))){ + AjaxResult ajaxResult = lisApiMethod.getJyFlHb(); + if (ajaxResult.get("code").toString().equals("200")){ + String str = ajaxResult.get("data").toString(); + str = str.replace("=", ":"); + JSONArray array = JSONUtil.parseArray(str); + for (Object o : array) { + JSONObject object = (JSONObject) o; + LisJyflhb lisJyflhb = new LisJyflhb(); + lisJyflhb.setHbhxm(object.getStr("hbhxm")); + lisJyflhb.setFlmc(object.getStr("flmc")); + lisJyflhb.setMc(object.getStr("mc")); + lisJyflhb.setFlbm(object.getStr("flbm")); + LambdaQueryWrapper<LisJyflhb> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(LisJyflhb::getFlbm,lisJyflhb.getFlbm()); + LisJyflhb jyflhb = lisJyflhbService.getOne(wrapper); + if (jyflhb == null) { + lisJyflhb.setId(IdUtil.getSnowflake().nextId()); + lisJyflhbService.save(lisJyflhb); + }else { + lisJyflhb.setId(jyflhb.getId()); + lisJyflhbService.updateById(lisJyflhb); + } } } - } - } - if (StrUtil.isNotBlank(jxbz)){ - tjSamplingMapper.updateUserIdByTjNumAndJxbz(order.getTjNumber(),sysUser.getNickName(), String.valueOf(sysUser.getUserId()),jxbz); - }else { - tjSamplingMapper.updateUserIdByTjNum(order.getTjNumber(),sysUser.getNickName(), String.valueOf(sysUser.getUserId())); + } + if (StrUtil.isNotBlank(jxbz)){ + tjSamplingMapper.updateUserIdByTjNumAndJxbz(order.getTjNumber(),sysUser.getNickName(), String.valueOf(sysUser.getUserId()),jxbz); + }else { + tjSamplingMapper.updateUserIdByTjNum(order.getTjNumber(),sysUser.getNickName(), String.valueOf(sysUser.getUserId())); + } + } catch (Exception e) { + log.error(e.getMessage()); } } @@ -595,7 +608,7 @@ }else { deptname=dept.getDeptName(); } - + String xb= tjCustomerService.getSexByTjh(order.getTjNumber()); for (TjOrderDetail detail : tjOrderDetailList) { detail.setTjStatus(1L); @@ -624,7 +637,7 @@ for (String s : split) { s = s.replaceAll("\n", ""); // Map<String,Object> maps= rulesService.getyichangxiangmujianyiguizeJianCha(s); - Map<String,Object> mapss= tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(deptname,s,"0"); + Map<String,Object> mapss= tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(deptname,s,"0",xb); if(null !=mapss && !mapss.isEmpty()){ Object bt = mapss.get("bt"); Object nr = mapss.get("nr"); @@ -745,7 +758,10 @@ //濡傛灉璇ラ」鐩瓨鍦� 鍒� 涓嶄繚瀛� TjOrderDetail orderDetail = tjOrderDetailService.getTjOrderDetailByOrderId(String.valueOf(tjFlowingWater.getOrderId()), tjProId); - if(null !=orderDetail) continue; +// if(null !=orderDetail) continue; + if(null !=orderDetail) { + detailMapper.updateTjOrderDetailDel(orderDetail.getOrderDetailId().toString()); + } TjProject projects = projectService.selectTjProjectByProId(Long.valueOf(tjProId)); if (null != projects) { @@ -788,6 +804,12 @@ if(!projectList.isEmpty()){ List<TjProject> list = projectList.stream().distinct().collect(Collectors.toList()); for (TjProject project : list) { + + TjOrderRemark orderRemark = orderRemarkService.getTjOrderRemarkByTjNumAndProParentId(order.getTjNumber(), String.valueOf(project.getProId())); + if(null !=orderRemark){ + remarkMapper.updateTjOrderRemarkdel(orderRemark.getRemarkId().toString()); + } + TjOrderRemark tjOrderRemark = new TjOrderRemark(); tjOrderRemark.setProId(project.getProId()); tjOrderRemark.setProName(project.getProName()); @@ -801,6 +823,12 @@ tjOrderRemark.setUpdateId(String.valueOf(sysUser.getUserId())); tjOrderRemark.setJxbz(jxbz); orderRemarkService.save(tjOrderRemark); + + + TjOrderDetail orderDetail = tjOrderDetailService.getTjOrderDetailByOrderId(String.valueOf(tjFlowingWater.getOrderId()), project.getProId().toString()); + if(null !=orderDetail) { + detailMapper.updateTjOrderDetailDel(orderDetail.getOrderDetailId().toString()); + } TjOrderDetail detail1 = new TjOrderDetail(); detail1.setTjStatus(0L); @@ -833,7 +861,7 @@ AjaxResult result; if (isUseMx.equalsIgnoreCase("Y")) result = tijianbulushenqing(customer, date, order.getCardId(), jxbz, jianChaProjects, tjFlowingWater.getPayType() == 6L); - else result = tijianbulushenqingOld(customer, date, order.getCardId(), jxbz, jianChaProjects, tjFlowingWater.getPayType() == 6L); + else result = tijianbulushenqingJinchuanNew (customer, date, order.getCardId(), jxbz, jianChaProjects, tjFlowingWater.getPayType() == 6L); return result.get("code").toString().equals("200"); }else { List<TjOrderDetail> detailLists = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(), jxbz); @@ -845,86 +873,577 @@ } public void addCaiYangDengJiByDiaoYongShiTu(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser,String jxbz) { - String lis_tmh_prefix = sysConfigService.selectConfigByKey("make_lis_tmh_prefix"); - if (null != detailList && detailList1) { - Date date = new Date(); - String format = DateUtil.format(date, "yyMMddHHmmssSSS"); - for (TjOrderDetail detail : detailList) { - TjSampling sampling = new TjSampling(); - if (null == projectService.getById(detail.getProId())) continue; - TjProject project = projectService.getById(detail.getProId()); - Long proParentId = project.getProParentId(); - String dictLabel = sysDictDataService.selectDictLabel("sys_dict_specimen", project.getSpecimenType()); - if (null != proParentId && proParentId == 0) { - sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix)); - sampling.setSpecimenTypeCode(project.getSpecimenType()); - sampling.setSpecimenType(dictLabel); - sampling.setJyxmdm(project.getProId().toString()); - } else { - TjProject project1 = projectService.getById(proParentId); - sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix)); + try { + String lis_tmh_prefix = sysConfigService.selectConfigByKey("make_lis_tmh_prefix"); + if (null != detailList && detailList1) { + Date date = new Date(); + String format = DateUtil.format(date, "yyMMddHHmmssSSS"); + for (TjOrderDetail detail : detailList) { + int i = samplingService.isExistProId(order.getTjNumber(), String.valueOf(detail.getProId())); + if(i>0) continue; - sampling.setSpecimenTypeCode(project1.getSpecimenType()); - sampling.setSpecimenType(dictLabel); - sampling.setJyxmdm(project.getProId().toString()); + TjSampling sampling = new TjSampling(); + if (null == projectService.getById(detail.getProId())) continue; + TjProject project = projectService.getById(detail.getProId()); + Long proParentId = project.getProParentId(); + String dictLabel = sysDictDataService.selectDictLabel("sys_dict_specimen", project.getSpecimenType()); + if (null != proParentId && proParentId == 0) { + sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix)); + sampling.setSpecimenTypeCode(project.getSpecimenType()); + sampling.setSpecimenType(dictLabel); + sampling.setJyxmdm(project.getProId().toString()); + } else { + TjProject project1 = projectService.getById(proParentId); + sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix)); + sampling.setSpecimenTypeCode(project1.getSpecimenType()); + sampling.setSpecimenType(dictLabel); + sampling.setJyxmdm(project.getProId().toString()); + + } + sampling.setSamplingNumber(format); + sampling.setTjNum(order.getTjNumber()); + sampling.setCusId(String.valueOf(order.getUserId())); + if (tjCustomerService.getById(String.valueOf(order.getUserId())) != null) { + sampling.setCusName(tjCustomerService.getById(String.valueOf(order.getUserId())).getCusName()); + } + sampling.setApplicationTime(date); + sampling.setTjTime(order.getCreateTime()); + sampling.setProId(String.valueOf(detail.getProId())); + sampling.setProName(projectService.getById(detail.getProId()).getProName()); + sampling.setCreateBy(sysUser.getNickName()); + sampling.setCreateTime(date); + sampling.setUpdateBy(sysUser.getNickName()); + sampling.setUpdateTime(date); + sampling.setCreateId(String.valueOf(sysUser.getUserId())); + sampling.setUpdateId(String.valueOf(sysUser.getUserId())); + sampling.setJxbz(jxbz); + samplingService.save(sampling); } - sampling.setSamplingNumber(format); - sampling.setTjNum(order.getTjNumber()); - sampling.setCusId(String.valueOf(order.getUserId())); - if (tjCustomerService.getById(String.valueOf(order.getUserId())) != null) { - sampling.setCusName(tjCustomerService.getById(String.valueOf(order.getUserId())).getCusName()); - } - sampling.setApplicationTime(date); - sampling.setTjTime(order.getCreateTime()); - sampling.setProId(String.valueOf(detail.getProId())); - sampling.setProName(projectService.getById(detail.getProId()).getProName()); - sampling.setCreateBy(sysUser.getNickName()); - sampling.setCreateTime(date); - sampling.setUpdateBy(sysUser.getNickName()); - sampling.setUpdateTime(date); - sampling.setCreateId(String.valueOf(sysUser.getUserId())); - sampling.setUpdateId(String.valueOf(sysUser.getUserId())); - sampling.setJxbz(jxbz); - samplingService.save(sampling); } - } - String config = configService.selectConfigByKey("sfkqdyhis"); - if (lisApiMethod.isUseLisAndPacsRegister(order) && (null != config && config.equals("Y"))){ - AjaxResult ajaxResult = lisApiMethod.getJyFlHb(); - if (ajaxResult.get("code").toString().equals("200")){ - String str = ajaxResult.get("data").toString(); - str = str.replace("=", ":"); - JSONArray array = JSONUtil.parseArray(str); - for (Object o : array) { - JSONObject object = (JSONObject) o; - LisJyflhb lisJyflhb = new LisJyflhb(); - lisJyflhb.setHbhxm(object.getStr("hbhxm")); - lisJyflhb.setFlmc(object.getStr("flmc")); - lisJyflhb.setMc(object.getStr("mc")); - lisJyflhb.setFlbm(object.getStr("flbm")); - LambdaQueryWrapper<LisJyflhb> wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(LisJyflhb::getFlbm,lisJyflhb.getFlbm()); - LisJyflhb jyflhb = lisJyflhbService.getOne(wrapper); - if (jyflhb == null) { - lisJyflhb.setId(IdUtil.getSnowflake().nextId()); - lisJyflhbService.save(lisJyflhb); - }else { - lisJyflhb.setId(jyflhb.getId()); - lisJyflhbService.updateById(lisJyflhb); + String config = configService.selectConfigByKey("sfkqdyhis"); + if (lisApiMethod.isUseLisAndPacsRegister(order) && (null != config && config.equals("Y"))){ + AjaxResult ajaxResult = lisApiMethod.getJyFlHb(); + if (ajaxResult.get("code").toString().equals("200")){ + String str = ajaxResult.get("data").toString(); + str = str.replace("=", ":"); + JSONArray array = JSONUtil.parseArray(str); + for (Object o : array) { + JSONObject object = (JSONObject) o; + LisJyflhb lisJyflhb = new LisJyflhb(); + lisJyflhb.setHbhxm(object.getStr("hbhxm")); + lisJyflhb.setFlmc(object.getStr("flmc")); + lisJyflhb.setMc(object.getStr("mc")); + lisJyflhb.setFlbm(object.getStr("flbm")); + LambdaQueryWrapper<LisJyflhb> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(LisJyflhb::getFlbm,lisJyflhb.getFlbm()); + LisJyflhb jyflhb = lisJyflhbService.getOne(wrapper); + if (jyflhb == null) { + lisJyflhb.setId(IdUtil.getSnowflake().nextId()); + lisJyflhbService.save(lisJyflhb); + }else { + lisJyflhb.setId(jyflhb.getId()); + lisJyflhbService.updateById(lisJyflhb); + } } } - } - } - if (StrUtil.isNotBlank(jxbz)){ - tjSamplingMapper.updateUserIdByTjNumAndJxbz(order.getTjNumber(),sysUser.getNickName(), String.valueOf(sysUser.getUserId()),jxbz); - }else { - tjSamplingMapper.updateUserIdByTjNum(order.getTjNumber(),sysUser.getNickName(), String.valueOf(sysUser.getUserId())); + } + if (StrUtil.isNotBlank(jxbz)){ + tjSamplingMapper.updateUserIdByTjNumAndJxbz(order.getTjNumber(),sysUser.getNickName(), String.valueOf(sysUser.getUserId()),jxbz); + }else { + tjSamplingMapper.updateUserIdByTjNum(order.getTjNumber(),sysUser.getNickName(), String.valueOf(sysUser.getUserId())); + } + } catch (Exception e) { + log.error(e.getMessage()); } } + private static List<String> mapJinchuan=null; + public AjaxResult tijianbulushenqingJinchuanNew(TjCustomer customer, String date,String cardId,String jxbz,ArrayList<TjProject> jianChaProjects,Boolean isTuanTiPiao) { + mapJinchuan=new ArrayList<>(); + tijianbulushenqingOld( customer,date, cardId, jxbz, jianChaProjects, isTuanTiPiao); + tijianbulushenqingJinchuan( customer,date, cardId, jxbz, jianChaProjects, isTuanTiPiao); + return AjaxResult.success(); + //return AjaxResult.success(); + } + public AjaxResult tijianbulushenqingJinchuan(TjCustomer customer, String date,String cardId,String jxbz,ArrayList<TjProject> jianChaProjects,Boolean isTuanTiPiao) { + TjOrder order = orderService.getOrderByCardId(cardId); + if(null !=order){ + String dept = configService.selectConfigByKey("request_default_dept"); + String ysbm = configService.selectConfigByKey("request_default_ysbm"); + String ysmc = configService.selectConfigByKey("request_default_ysmc"); + String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix"); + List<TbTransition> detailList = transitionService.getBlTbTransitionListByCusId(customer.getCusIdcard(),cardId,jxbz); + Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order); + List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos =new ArrayList<>(); + if (useLisAndPacsRegister && isTuanTiPiao) { + // 妫�鏌ョ敵璇� + pacsReg(order, customer, jianChaProjects); + LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjSampling::getTjNum,order.getTjNumber()); + wrapper.eq(TjSampling::getJxbz,jxbz); + List<TjSampling> list = tjSamplingService.list(wrapper); + log.info("閲囨牱鏁版嵁 ->{}",JSONUtil.toJsonStr(list)); + if (!list.isEmpty()){ + Map<String, List<TjSampling>> listMap = list.stream().collect(Collectors.groupingBy(TjSampling::getSpecimenTypeCode)); + log.info("鍒嗙粍鍚� ->{}",JSONUtil.toJsonStr(listMap)); + ArrayList<String> ids = new ArrayList<>(); + for (Map.Entry<String, List<TjSampling>> entry : listMap.entrySet()) { + log.info("key ->{},val ->{}",entry.getKey(),entry.getValue()); + // Lis鏍囨湰浠g爜 + String specimenTypeCode = entry.getKey(); + List<TjSampling> samplings = entry.getValue(); + if (samplings.size() >= 2){ + // 杩涜鍚堝苟 + List<String> 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 = samplingServiceApi.confirmSamplingApi(ids, "Y", "N"); + if (!confirmed) + return AjaxResult.error("澶勭悊澶辫触"); + } + }else { + List<TjOutpinmedicXm> outpinmedicXms = tjOutpinmedicXmService.list(); + //妫�楠岀敵璇� + if (null != detailList && !detailList.isEmpty()) { + LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); + wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); +// wq.groupBy(TjProject::getHisXmbm); +// wq.in(TjProject::getDeptId, "241", "317"); + wq.in(TjProject::getDeptId,deptService.getJyDeptIds()); + List<TjProject> projects = projectService.list(wq); + if (null != projects && !projects.isEmpty()) { + List<TjProject> notNull = projects.stream().filter(i -> i.getSpecimenType() != null).collect(Collectors.toList()); + List<TjProject> isNull = projects.stream().filter(i -> i.getSpecimenType() == null).collect(Collectors.toList()); + Map<String, List<TjProject>> listMap = notNull.stream().collect(Collectors.groupingBy(TjProject::getSpecimenType)); + if (!isNull.isEmpty()) + listMap.put("",isNull); + for (Map.Entry<String, List<TjProject>> 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<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>(); + List<TjProject> value = entry.getValue(); + for (TjProject project : value) { + LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjProject::getProParentId,project.getProId()); + if (!mapJinchuan.isEmpty()) { + wrapper.notIn(TjProject::getProId, mapJinchuan); + wrapper.notIn(TjProject::getProParentId, mapJinchuan); + } + List<TjProject> 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()); + 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<OutpintestapplyDetailsDto> 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<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>(); + if (detail.getSfzhfy().equals("1")) + wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm); + else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm); + List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); + if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { + String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); + LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>(); + wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); + LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); + LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>(); + wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); + LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); + tree.setXmfl(ejjfxmzd.getYjkmdm()); + } + tree.setCreateTime(DateUtil.date()); + ltkjJianchajianyanTreeService.save(tree); + } + // TODO 涓汉浠ュ強鍥綋 鏆備笉鍚戦噰鏍风鐞嗗啓鏁版嵁 + // HIS鍙戦�佹棤娉曞悎骞舵搷浣� 鏃犳硶鑾峰彇LIS鐨勬楠屽簭鍙� 鏉$爜鏃犳硶鎵撳嵃 +// TjOrder tjOrder = orderService.getOrderByCardId(cardId); +// if(null !=tjOrder){ +// List<TjOrderDetail> dengJi = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); +// tjSysAsyncService.addCaiYangDengJi(dengJi,!dengJi.isEmpty(),tjOrder, SecurityUtils.getLoginUser().getUser(), null); +// } + } + } + } + } + } + + //闂ㄨ瘖妫�鏌ョ敵璇� +// List<TbTransition> detailLists = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); + if (null != detailList && !detailList.isEmpty()) { + LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); + wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); + wq.in(TjProject::getDeptId,deptService.getJcDeptIds()); + List<TjProject> projects = projectService.list(wq); + List<Long> proIds = projects.stream().map(TjProject::getProId).collect(Collectors.toList()); + if (!proIds.isEmpty()){ + QueryWrapper<TjProject> 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<OutpintestapplyDetailsDto> detailsDtoss = 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()); + detailsDtoss.add(detailsDto); + } + } + } + List<Long> 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 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<OutpintestapplyDetailsDto> details = outpinexamapplyDto.getDetails(); + for (OutpintestapplyDetailsDto detail : details) { + LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); + tree.setJxbz(jxbz); + 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<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>(); + if (detail.getSfzhfy().equals("1")) + wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm); + else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm); + List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); + if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { + String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); + LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>(); + wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); + LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); + LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>(); + wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); + LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); + tree.setXmfl(ejjfxmzd.getYjkmdm()); + } + 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<TbTransition> details = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); + if (null != detailList && !detailList.isEmpty()) { + LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); + wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); + wq.in(TjProject::getDeptId,deptService.getCzDeptIds()); + List<TjProject> projects = projectService.list(wq); + List<Long> proIds = projects.stream().map(TjProject::getProId).collect(Collectors.toList()); + if (!proIds.isEmpty()){ + QueryWrapper<TjProject> 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<OutpintestapplyDetailsDto> detailDtos = 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()); + detailDtos.add(detailsDto); + } + } + List<Long> 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<OutpintestapplyDetailsDto> details1 = dao.getDetails(); + for (OutpintestapplyDetailsDto detail : details1) { + LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); + tree.setJxbz(jxbz); + 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<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>(); + if (detail.getSfzhfy().equals("1")) + wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm); + else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm); + List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); + if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { + String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); + LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>(); + wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); + LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); + LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>(); + wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); + LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); + tree.setXmfl(ejjfxmzd.getYjkmdm()); + } + 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(dept); + 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<String, Object> resultDatasss = (Map<String, Object>) resultData.get(0); + String cfh = resultData.getStr("cfh"); + log.info("鑽搧鐢宠鍚庣殑澶勬柟鍙锋槸: "+cfh+" outpinmedicapplyDetilsDtos 閲岄潰鐨勫�间负: "+outpinmedicapplyDetilsDtos.toString()); + for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) { + TjCf cf=new TjCf(); + cf.setJxbz(jxbz); + 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(); + } // 浣撴瀵筯is鐢宠鍗曡皟鐢ㄦ柟娉� public AjaxResult tijianbulushenqingOld(TjCustomer customer, String date,String cardId,String jxbz,ArrayList<TjProject> jianChaProjects,Boolean isTuanTiPiao) { @@ -1004,16 +1523,19 @@ 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"); + mapJinchuan.add(project.getProId().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()); + detailsDtos.add(detailsDto); } - 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 -> { @@ -1109,16 +1631,19 @@ 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"); + 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()); + detailsDtoss.add(detailsDto); } - detailsDto.setSl(project.getSl()); - detailsDto.setProjg(project.getProPrice()); - detailsDtoss.add(detailsDto); } List<Long> proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList()); if (!outpinmedicXms.isEmpty()) { @@ -1216,16 +1741,34 @@ 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"); + { + + 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); + } + +// 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); } - detailsDto.setSl(project.getSl()); - detailsDto.setProjg(project.getProPrice()); - detailDtos.add(detailsDto); } List<Long> proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList()); if (!outpinmedicXms.isEmpty()) { @@ -1300,7 +1843,7 @@ } } } - +/* //鑽搧鐢宠 if(!outpinmedicapplyDetilsDtos.isEmpty()){ OutpinmedicapplyDto dto1=new OutpinmedicapplyDto(); @@ -1348,6 +1891,7 @@ } } } + */ } } return AjaxResult.success(); @@ -1917,6 +2461,7 @@ detilsDto.setYpmc(i.getYpmc()); detilsDto.setFzbl(i.getFzbl()); detilsDto.setZh(i.getZh()); + detilsDto.setCflx(i.getCflx()); outpinmedicapplyDetilsDtos.add(detilsDto); }); } @@ -2028,6 +2573,7 @@ detilsDto.setYpmc(i.getYpmc()); detilsDto.setFzbl(i.getFzbl()); detilsDto.setZh(i.getZh()); + detilsDto.setCflx(i.getCflx()); outpinmedicapplyDetilsDtos.add(detilsDto); }); } @@ -2147,6 +2693,7 @@ detilsDto.setYpmc(i.getYpmc()); detilsDto.setFzbl(i.getFzbl()); detilsDto.setZh(i.getZh()); + detilsDto.setCflx(i.getCflx()); outpinmedicapplyDetilsDtos.add(detilsDto); }); } @@ -2194,65 +2741,130 @@ } } - //鑽搧鐢宠 + //鑽搧鐢宠 鍘熺増 +// 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(dept); +// 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<String, Object> resultDatasss = (Map<String, Object>) resultData.get(0); +// String cfh = resultData.getStr("cfh"); +// log.info("鑽搧鐢宠鍚庣殑澶勬柟鍙锋槸: "+cfh+" outpinmedicapplyDetilsDtos 閲岄潰鐨勫�间负: "+outpinmedicapplyDetilsDtos.toString()); +// for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) { +// TjCf cf=new TjCf(); +// cf.setJxbz(jxbz); +// 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()){ - 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(dept); - 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<String, Object> resultDatasss = (Map<String, Object>) resultData.get(0); - String cfh = resultData.getStr("cfh"); - log.info("鑽搧鐢宠鍚庣殑澶勬柟鍙锋槸: "+cfh+" outpinmedicapplyDetilsDtos 閲岄潰鐨勫�间负: "+outpinmedicapplyDetilsDtos.toString()); - for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) { - TjCf cf=new TjCf(); - cf.setJxbz(jxbz); - 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); +// String cflxbm = configService.selectConfigByKey("chufang_cflxbm"); + Map<String, List<OutpinmedicapplyDetilsDto>> 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); + } } - } + }); } } } -- Gitblit v1.8.0