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; 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.ltkj.common.core.domain.AjaxResult; import com.ltkj.common.core.domain.entity.SysUser; import com.ltkj.common.core.redis.RedisCache; import com.ltkj.common.utils.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.TjSamplingMapper; import com.ltkj.hosp.pacsDto.SavePacsApply; import com.ltkj.hosp.service.*; import com.ltkj.hosp.vodomain.AddNewReservationConfirm; import com.ltkj.hosp.vodomain.LineChartsVo; import com.ltkj.hosp.vodomain.PieChartVo; import com.ltkj.hosp.vodomain.QjDomainVo; import com.ltkj.mall.mallOrderUtils.TjConstants; import com.ltkj.system.service.ISysConfigService; import com.ltkj.system.service.ISysDeptService; import com.ltkj.system.service.ISysDictDataService; import com.ltkj.system.service.ISysUserService; import com.ltkj.web.controller.his.HisApiGetMethodService; import com.ltkj.web.controller.his.HisApiMethodService; import com.ltkj.web.controller.lis.LisApiMethod; import com.ltkj.web.controller.pacs.PacsApiMethodService; import com.ltkj.web.controller.system.SamplingServiceApi; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.*; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; /** * @Company: 西安路泰科技有限公司 * @Author: zjh * @Date: 2023/9/15 15:57 */ @Slf4j @Service @Transactional public class TjSysAsyncServiceImpl implements TjAsyncService { @Resource private ITjProjectService projectService; @Resource private ITjCustomerService tjCustomerService; @Resource private ITbTransitionService transitionService; @Resource private ITjOrderDetailService tjOrderDetailService; @Resource private ITjOrderRemarkService orderRemarkService; @Resource private ITjChargingStandardService chargingStandardService; @Resource private TjProConsumablesService proConsumablesService; @Resource private ITjConsumablesService consumablesService; @Resource private ITjDiscardInspectionService discardInspectionService; @Resource private ITjPackageService tjPackageService; @Resource private RedisCache redisCache; @Resource private ITjOrderService orderService; @Resource private IDictCompService compService; @Resource private ITjSamplingService samplingService; @Resource private ITjSamplingService tjSamplingService; @Resource private ITjPackageProjectService ppservice; @Resource private TjYqOrderService yqOrderService; @Autowired private ITjAskMedicalHistoryService tjAskMedicalHistoryService; @Autowired private ITjGroupingProService groupingProService; @Resource private ITjStandardService tjStandardService; @Resource private ITjAdviceService tjAdviceService; @Resource private ISysUserService userService; @Resource private IJimuOnlineReportService reportService; @Resource private ITjDwDeptService dwDeptService; @Resource private ITjPrintOrderService printOrderService; @Resource private IDictSfxmService dictSfxmService; @Autowired private ITjRulesService tjRulesService; @Autowired private HisApiMethodService controller; @Autowired private HisApiConfigService hisApiConfigService; @Autowired private HisApiGetMethodService hisApiGetMethodService; @Resource private ISysConfigService configService; @Autowired private LtkjJfzhglmxjfxmzdService ltkjJfzhglmxjfxmzdService; @Autowired private LtkjMxjfxmzdService ltkjMxjfxmzdService; @Autowired private LtkjEjjfxmzdService ltkjEjjfxmzdService; @Autowired private LtkjJianchajianyanTreeService ltkjJianchajianyanTreeService; @Autowired private TjProBlService blService; @Resource private ITjFlowingWaterService tjFlowingWaterService; @Resource private ISysDeptService deptService; @Autowired private TjCfService cfService; @Resource private LtkjHysqdService hysqdService; @Autowired private PacsApiMethodService pacsApiMethodService; @Autowired private LisApiMethod lisApiMethod; @Autowired private IdUtils idUtils; @Autowired private LtkjJybbzdService jybbzdService; @Autowired private LisJyflhbService lisJyflhbService; @Autowired private SamplingServiceApi samplingServiceApi; @Autowired private ISysDictDataService sysDictDataService; @Autowired private TjSamplingMapper tjSamplingMapper; @Autowired private ISysConfigService sysConfigService; @Resource private ITjXdPictureService xdPictureService; @Autowired private TjOutpinmedicXmService tjOutpinmedicXmService; @Override public void newSaveextracted(TjOrder tjOrder, TjCustomer tjCustomer, BigDecimal discount, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) { long l = System.currentTimeMillis(); LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); wq.eq(TjAskMedicalHistory::getCusId, tjCustomer.getCusId()); wq.isNull(TjAskMedicalHistory::getTjNum); TjAskMedicalHistory history = tjAskMedicalHistoryService.getOne(wq); if (null != history) { history.setTjNum(tjOrder.getTjNumber()); tjAskMedicalHistoryService.updateById(history); } List tbTransitionList = null; if (redisCache.hasKey(tjCustomer.getCusIdcard())) { tbTransitionList = redisCache.getCacheList(tjCustomer.getCusIdcard()); redisCache.deleteObject(tjCustomer.getCusIdcard()); } else { LambdaQueryWrapper wqq = new LambdaQueryWrapper<>(); wqq.eq(TbTransition::getCusId, tjCustomer.getCusIdcard()); tbTransitionList = transitionService.list(wqq); } if (redisCache.hasKey(tjCustomer.getCusIdcard() + "cusId")) redisCache.deleteObject(tjCustomer.getCusIdcard() + "cusId"); if (null != tbTransitionList && tbTransitionList.size() > 0) { tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()),tjOrder.getCardId()); //修改每项的原价现价 for (TbTransition transition : tbTransitionList) { transition.setOrdPrice(transition.getNowPrice()); transition.setNowPrice(transition.getNowPrice().multiply(discount)); transitionService.updateById(transition); } } LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); wrapper1.eq(TjOrderDetail::getOrderId, tjOrder.getOrderId()); List list = tjOrderDetailService.list(wrapper1); if (list != null && list.size() > 0) { for (TjOrderDetail tjOrderDetail : list) { TjProject tjProject = projectService.getById(tjOrderDetail.getProId()); if (tjProject == null) { continue; } tjOrderDetail.setProject(tjProject); if (tjProject.getProParentId() == 0) { TjOrderRemark tjOrderRemark = new TjOrderRemark(); tjOrderRemark.setProId(tjProject.getProId()); tjOrderRemark.setProName(tjProject.getProName()); tjOrderRemark.setDeptId(tjProject.getDeptId()); tjOrderRemark.setTjNumber(tjOrder.getTjNumber()); tjOrderRemark.setCreateBy(sysUser.getNickName()); tjOrderRemark.setCreateTime(new Date()); tjOrderRemark.setUpdateBy(sysUser.getNickName()); tjOrderRemark.setUpdateTime(new Date()); tjOrderRemark.setCreateId(String.valueOf(sysUser.getUserId())); tjOrderRemark.setUpdateId(String.valueOf(sysUser.getUserId())); orderRemarkService.save(tjOrderRemark); } if ("1".equals(tjOrder.getTjType())) { if (null != tjReservation && tjReservation.getPayType() == 1) { tjOrderDetail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber())); } } if (tjFlowingWater.getPayStasus() == 1) { tjOrderDetail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber())); } tjOrderDetailService.updateById(tjOrderDetail); } } System.out.println("这段代码时间" + (l - System.currentTimeMillis())); } @Override @Async("async") public void ttextracted(TjOrder tjOrder, TjCustomer tjCustomer, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) { tjAskMedicalHistoryService.updateTjAskMedicalHistoryByCusId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjCustomer.getCusId())); boolean b = tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()),tjOrder.getCardId()); if (!b) { List proList = groupingProService.list(new LambdaQueryWrapper().eq(TjGroupingPro::getGroupingId, tjOrder.getGroupId())); if (null != proList && !proList.isEmpty()) { for (TjGroupingPro groupingPro : proList) { TjOrderDetail detail = new TjOrderDetail(); // if (null != transition.getPacId()) { // detail.setProType(String.valueOf(transition.getPacId())); // } TjProject tjProject = projectService.selectTjProjectByProId(Long.valueOf(groupingPro.getProId())); detail.setIsSampling(String.valueOf(tjProject.getIsSampling())); detail.setOrderId(tjOrder.getOrderId()); detail.setProId(Long.valueOf(groupingPro.getProId())); detail.setTjStatus(0L); detail.setCreateBy(sysUser.getNickName()); detail.setCreateTime(new Date()); detail.setUpdateBy(sysUser.getNickName()); detail.setUpdateTime(new Date()); detail.setCreateId(String.valueOf(sysUser.getUserId())); detail.setUpdateId(String.valueOf(sysUser.getUserId())); tjOrderDetailService.save(detail); } List list = proList.stream().map(TjGroupingPro::getProId).collect(Collectors.toList()); List projectList = projectService.list(new LambdaQueryWrapper().in(TjProject::getProParentId, list)); for (TjProject project : projectList) { TjOrderDetail detail = new TjOrderDetail(); detail.setOrderId(tjOrder.getOrderId()); detail.setProId(project.getProId()); detail.setTjStatus(0L); detail.setCreateBy(sysUser.getNickName()); detail.setCreateTime(new Date()); detail.setUpdateBy(sysUser.getNickName()); detail.setUpdateTime(new Date()); detail.setCreateId(String.valueOf(sysUser.getUserId())); detail.setUpdateId(String.valueOf(sysUser.getUserId())); //获取该项目的默认值赋值给结果 if (null != project.getProDefault()) { detail.setProResult(project.getProDefault()); } else { detail.setProResult(null); } detail.setIsSampling(String.valueOf(project.getIsSampling())); tjOrderDetailService.save(detail); } } } //添加remark表数据 orderRemarkService.saveTjOrderRemarkByOrderId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjOrder.getOrderId())); //判断是否交钱 if ("1".equals(tjOrder.getTjType())) { if (null != tjReservation && tjReservation.getPayType() == 1) { tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber())); orderRemarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(),tjFlowingWater.getTjSerialNumber().toString()); } } if (tjFlowingWater.getPayStasus() == 1) { tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber())); orderRemarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(),tjFlowingWater.getTjSerialNumber().toString()); } if (tjFlowingWater.getDiscount() == null) { transitionService.updateTbTransitionPriceByCusId(tjCustomer.getCusIdcard(), new BigDecimal(10), tjOrder.getTjNumber()); } else { transitionService.updateTbTransitionPriceByCusId(tjCustomer.getCusIdcard(), BigDecimal.valueOf(Long.parseLong(tjFlowingWater.getDiscount())), tjOrder.getTjNumber()); } tjOrderDetailService.saveTjPureToneTesByCusId(tjCustomer.getCusIdcard(), tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()),tjOrder.getCardId()); // List list = tjOrderDetailService.getTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId())); // if (list != null) { // for (TjOrderDetail tjOrderDetail : list) { // TjProject tjProject = projectService.getById(tjOrderDetail.getProId()); // if(tjProject==null){ // continue; // } // tjOrderDetail.setProject(tjProject); // if (tjProject.getProParentId() == 0) { // TjOrderRemark tjOrderRemark = new TjOrderRemark(); // tjOrderRemark.setProId(tjProject.getProId()); // tjOrderRemark.setProName(tjProject.getProName()); // tjOrderRemark.setDeptId(tjProject.getDeptId()); // tjOrderRemark.setTjNumber(tjOrder.getTjNumber()); // tjOrderRemark.setCreateBy(sysUser.getNickName()); // tjOrderRemark.setCreateTime(new Date()); // tjOrderRemark.setUpdateBy(sysUser.getNickName()); // tjOrderRemark.setUpdateTime(new Date()); // tjOrderRemark.setCreateId(String.valueOf(sysUser.getUserId())); // tjOrderRemark.setUpdateId(String.valueOf(sysUser.getUserId())); // orderRemarkService.save(tjOrderRemark); // } // if ("1".equals(tjOrder.getTjType())) { // if (null != tjReservation && tjReservation.getPayType() == 1) { // tjOrderDetail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber())); // } // } // if(tjFlowingWater.getPayStasus()==1){ // tjOrderDetail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber())); // } // tjOrderDetailService.updateById(tjOrderDetail); // } // } } @Override @Async("async") public void collectFees(TjOrder order, List list2, List tbTransitionList, SysUser sysUser, String discount) { // orderRemarkService.deletedOrderRemarkByTjNum(order.getTjNumber()); // redisCache.deleteObject("getOrderDetailByProParentId" + order.getTjNumber()); for (TbTransition transition : tbTransitionList) { // transition.setNowPrice(transition.getOrdPrice().multiply(BigDecimal.valueOf(Double.parseDouble(discount)).divide(BigDecimal.valueOf(10)))); // transitionService.updateById(transition); TjProject tjProject = projectService.selectTjProjectByProId(transition.getProId()); //子项 if (null != tjProject) { TjChargingStandard tjChargingStandard = new TjChargingStandard(); tjChargingStandard.setTjNum(order.getTjNumber()); tjChargingStandard.setProId(transition.getProId()); tjChargingStandard.setPrice(transition.getNowPrice()); tjChargingStandard.setProName(tjProject.getProName()); tjChargingStandard.setCreateBy(sysUser.getNickName()); tjChargingStandard.setCreateTime(new Date()); tjChargingStandard.setUpdateBy(sysUser.getNickName()); tjChargingStandard.setUpdateTime(new Date()); tjChargingStandard.setCreateId(String.valueOf(sysUser.getUserId())); tjChargingStandard.setUpdateId(String.valueOf(sysUser.getUserId())); chargingStandardService.save(tjChargingStandard); } } //父项 ArrayList collect1 = tbTransitionList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(TbTransition::getParentProId))), ArrayList::new)); List parentProIds = collect1.stream().map(TbTransition::getParentProId).collect(Collectors.toList()); if (!parentProIds.isEmpty()) { for (Long parentProId : parentProIds) { TjProject parentProject = projectService.selectTjProjectByProId(parentProId); if (null != parentProject) { LambdaQueryWrapper wqqq = new LambdaQueryWrapper<>(); wqqq.eq(TjProConsumables::getProId, parentProject.getProId()); List proConsumables = proConsumablesService.list(wqqq); if (null != proConsumables && !proConsumables.isEmpty()) { for (TjProConsumables tjProConsumables : proConsumables) { TjConsumables tjConsumables = consumablesService.selectTjConsumablesById(tjProConsumables.getConsumablesId()); list2.add(tjConsumables); } } // TjOrderRemark tjOrderRemark = new TjOrderRemark(); // tjOrderRemark.setProId(parentProId); // tjOrderRemark.setProName(parentProject.getProName()); // tjOrderRemark.setDeptId(parentProject.getDeptId()); // tjOrderRemark.setTjNumber(order.getTjNumber()); // tjOrderRemark.setCreateBy(sysUser.getNickName()); // tjOrderRemark.setCreateTime(new Date()); // tjOrderRemark.setUpdateBy(sysUser.getNickName()); // tjOrderRemark.setUpdateTime(new Date()); // tjOrderRemark.setCreateId(String.valueOf(sysUser.getUserId())); // tjOrderRemark.setUpdateId(String.valueOf(sysUser.getUserId())); // orderRemarkService.save(tjOrderRemark); // Map map = getOrderDetailByProParentId(String.valueOf(parentProId), order.getTjNumber()); // redisCache.setCacheMapValue("getOrderDetailByProParentId" + order.getTjNumber(), String.valueOf(parentProId), map); } } } ArrayList collect = list2.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(TjConsumables::getId))), ArrayList::new)); for (TjConsumables tjConsumables : collect) { TjChargingStandard tjChargingStandard = new TjChargingStandard(); tjChargingStandard.setTjNum(order.getTjNumber()); tjChargingStandard.setConsumablesId(tjConsumables.getId()); tjChargingStandard.setPrice(tjConsumables.getPrice()); tjChargingStandard.setProName(tjConsumables.getMakings()); tjChargingStandard.setConsumablesName(tjConsumables.getMakings()); tjChargingStandard.setCompany(tjConsumables.getSpecifications()); tjChargingStandard.setCreateBy(sysUser.getNickName()); tjChargingStandard.setCreateTime(new Date()); tjChargingStandard.setUpdateBy(sysUser.getNickName()); tjChargingStandard.setUpdateTime(new Date()); tjChargingStandard.setCreateId(String.valueOf(sysUser.getUserId())); tjChargingStandard.setUpdateId(String.valueOf(sysUser.getUserId())); chargingStandardService.save(tjChargingStandard); } List detailList = tjOrderDetailService.getCaiYangDengJi(order.getOrderId()); addCaiYangDengJi(detailList, !detailList.isEmpty(), order, sysUser,null); List xdPictureList = xdPictureService.saveTjXdPicture(order.getTjNumber()); xdPictureService.saveBatch(xdPictureList); } public void addCaiYangDengJi(List 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 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 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); } } 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 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())); } } @Override @Async("async") public void abandonCheck(String tjNumber, TjOrder tjOrder, List list, SysUser sysUser) { for (TjOrderDetail tjOrderDetail : list) { LambdaQueryWrapper wq1 = new LambdaQueryWrapper<>(); wq1.eq(TjProject::getProId, tjOrderDetail.getProId()); TjProject one = projectService.getOne(wq1); if (one != null) { // if (one.getProParentId() != 0) { tjOrderDetail.setTjStatus(2L); tjOrderDetail.setProResult("弃检"); tjOrderDetail.setUpdateTime(new DateTime()); tjOrderDetailService.updateById(tjOrderDetail); // } else { // tjOrderDetail.setTjStatus(1L); // tjOrderDetail.setUpdateTime(new DateTime()); // tjOrderDetailService.updateById(tjOrderDetail); // } // LambdaQueryWrapper wq=new LambdaQueryWrapper<>(); // wq.eq(TjOrderRemark::getTjNumber,tjNumber); // wq.eq(TjOrderRemark::getProId,tjOrderDetail.getProId()); orderRemarkService.updateTjOrderRemark(tjNumber, String.valueOf(tjOrderDetail.getProId())); //给弃检表添加记录 TjDiscardInspection td = new TjDiscardInspection(); td.setProId(String.valueOf(one.getProId())); td.setProName(one.getProName()); td.setCusId(String.valueOf(tjOrder.getUserId())); td.setCusName((tjCustomerService.getById(tjOrder.getUserId())).getCusName()); td.setRegistrationTime(tjOrder.getCreateTime()); td.setTjNum(tjNumber); td.setCreateBy(sysUser.getNickName()); td.setCreateTime(new DateTime()); td.setUpdateBy(sysUser.getNickName()); td.setUpdateTime(new DateTime()); td.setCreateId(String.valueOf(sysUser.getUserId())); td.setUpdateId(String.valueOf(sysUser.getUserId())); discardInspectionService.save(td); } } } @Override @Async("async") public void updateOrdeltile(List tjOrderDetailList, SysUser sysUser, TjOrder order) { for (TjOrderDetail detail : tjOrderDetailList) { detail.setTjStatus(1L); LambdaQueryWrapper wq0 = new LambdaQueryWrapper<>(); wq0.eq(TjStandard::getProId, detail.getProId()); detail.setUpdateBy(sysUser.getNickName()); detail.setUpdateTime(new Date()); detail.setCreateId(String.valueOf(sysUser.getUserId())); detail.setUpdateId(String.valueOf(sysUser.getUserId())); tjOrderDetailService.updateById(detail); } } @Override @Async("async") public void updateOrdeltile2(TjOrderDetail detail, SysUser sysUser) { // for (TjOrderDetail detail : tjOrderDetailList) { detail.setTjStatus(1L); LambdaQueryWrapper wq0 = new LambdaQueryWrapper<>(); wq0.eq(TjStandard::getProId, detail.getProId()); detail.setUpdateBy(sysUser.getNickName()); detail.setUpdateTime(new Date()); detail.setCreateId(String.valueOf(sysUser.getUserId())); detail.setUpdateId(String.valueOf(sysUser.getUserId())); tjOrderDetailService.updateById(detail); // } } @Override // @Async("async") // @Transactional public Boolean iundividualCharges(TjFlowingWater tjFlowingWater, TjOrder order, TjCustomer customer, SysUser sysUser,String jxbz) { Date dates = new Date(); final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss"); tjFlowingWater.setJxbz(jxbz); tjFlowingWaterService.updateById(tjFlowingWater); TjProBl proBl=new TjProBl(); proBl.setTjh(order.getTjNumber()); proBl.setBldh(jxbz); proBl.setBlsj(date); proBl.setBlrdm(sysUser.getUserName()); proBl.setBlrmc(sysUser.getNickName()); proBl.setBlje(String.valueOf(tjFlowingWater.getPaidIn())); blService.save(proBl); String[] tjProIds = tjFlowingWater.getTjProIds(); String config = configService.selectConfigByKey("sfkqdyhis"); List projectList=new ArrayList<>(); // ArrayList tjOrderDetails = new ArrayList<>(); for (String tjProId : tjProIds) { TjProject project = projectService.getById(Long.valueOf(tjProId)); if (null != project && project.getProParentId() == 0) { TjOrderRemark tjOrderRemark = new TjOrderRemark(); tjOrderRemark.setProId(Long.valueOf(tjProId)); tjOrderRemark.setProName(project.getProName()); tjOrderRemark.setDeptId(project.getDeptId()); tjOrderRemark.setTjNumber(order.getTjNumber()); tjOrderRemark.setCreateBy(sysUser.getNickName()); tjOrderRemark.setCreateTime(dates); tjOrderRemark.setUpdateBy(sysUser.getNickName()); tjOrderRemark.setUpdateTime(dates); tjOrderRemark.setCreateId(String.valueOf(sysUser.getUserId())); tjOrderRemark.setUpdateId(String.valueOf(sysUser.getUserId())); tjOrderRemark.setJxbz(jxbz); orderRemarkService.save(tjOrderRemark); List proIds = projectService.getTjProjectListBySoneId(tjProId).stream().map(TjProject::getProId).collect(Collectors.toList()); TjOrderDetail detail = new TjOrderDetail(); detail.setTjStatus(0L); detail.setOrderId(tjFlowingWater.getOrderId()); // detail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber())); detail.setProId(Long.valueOf(tjProId)); detail.setIsAddition("Y"); detail.setCreateBy(sysUser.getNickName()); detail.setCreateTime(dates); detail.setUpdateBy(sysUser.getNickName()); detail.setUpdateTime(dates); detail.setCreateId(String.valueOf(sysUser.getUserId())); detail.setUpdateId(String.valueOf(sysUser.getUserId())); detail.setJxbz(jxbz); tjOrderDetailService.save(detail); for (Long proId : proIds) { TjOrderDetail detail1 = new TjOrderDetail(); detail1.setTjStatus(0L); detail1.setOrderId(tjFlowingWater.getOrderId()); // detail1.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber())); detail1.setProId(proId); detail1.setIsAddition("Y"); detail1.setCreateBy(sysUser.getNickName()); detail1.setCreateTime(dates); detail1.setUpdateBy(sysUser.getNickName()); detail1.setUpdateTime(dates); detail1.setCreateId(String.valueOf(sysUser.getUserId())); detail1.setUpdateId(String.valueOf(sysUser.getUserId())); detail1.setJxbz(jxbz); tjOrderDetailService.save(detail1); } } else { //如果该项目存在 则 不保存 TjOrderDetail orderDetail = tjOrderDetailService.getTjOrderDetailByOrderId(String.valueOf(tjFlowingWater.getOrderId()), tjProId); if(null !=orderDetail) continue; TjProject projects = projectService.selectTjProjectByProId(Long.valueOf(tjProId)); if (null != projects) { TjProject projectss = projectService.getById(projects.getProParentId()); if (null != projectss && projectss.getProParentId()==0L) { projectList.add(projectss); } } TjOrderDetail detail = new TjOrderDetail(); detail.setTjStatus(0L); detail.setOrderId(tjFlowingWater.getOrderId()); detail.setProId(Long.valueOf(tjProId)); detail.setIsAddition("Y"); detail.setCreateBy(sysUser.getNickName()); detail.setCreateTime(dates); detail.setUpdateBy(sysUser.getNickName()); detail.setUpdateTime(dates); detail.setCreateId(String.valueOf(sysUser.getUserId())); detail.setUpdateId(String.valueOf(sysUser.getUserId())); detail.setJxbz(jxbz); tjOrderDetailService.save(detail); // tjOrderDetails.add(detail); } List tbTransitionList = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(customer.getCusIdcard(),tjProId); if (null != tbTransitionList && !tbTransitionList.isEmpty()) { for (TbTransition transition : tbTransitionList) { transitionService.updateTbTransitionById(transition.getId().toString(),jxbz,order.getTjNumber(),order.getCardId(), transition.getOrdPrice().multiply(BigDecimal.valueOf(Double.parseDouble(tjFlowingWater.getDiscount())).divide(BigDecimal.valueOf(10)))); } } } // TODO 和签到登记一样 只有配置中的以及收费类型为体检票时才增加到采样管理表 // tjOrderDetails = new ArrayList<>(); ArrayList jianChaProjects = new ArrayList<>(); if(!projectList.isEmpty()){ List list = projectList.stream().distinct().collect(Collectors.toList()); for (TjProject project : list) { TjOrderRemark tjOrderRemark = new TjOrderRemark(); tjOrderRemark.setProId(project.getProId()); tjOrderRemark.setProName(project.getProName()); tjOrderRemark.setDeptId(project.getDeptId()); tjOrderRemark.setTjNumber(order.getTjNumber()); tjOrderRemark.setCreateBy(sysUser.getNickName()); tjOrderRemark.setCreateTime(dates); tjOrderRemark.setUpdateBy(sysUser.getNickName()); tjOrderRemark.setUpdateTime(dates); tjOrderRemark.setCreateId(String.valueOf(sysUser.getUserId())); tjOrderRemark.setUpdateId(String.valueOf(sysUser.getUserId())); tjOrderRemark.setJxbz(jxbz); orderRemarkService.save(tjOrderRemark); TjOrderDetail detail1 = new TjOrderDetail(); detail1.setTjStatus(0L); detail1.setOrderId(tjFlowingWater.getOrderId()); detail1.setProId(project.getProId()); detail1.setIsAddition("Y"); detail1.setCreateBy(sysUser.getNickName()); detail1.setCreateTime(dates); detail1.setUpdateBy(sysUser.getNickName()); detail1.setUpdateTime(dates); detail1.setCreateId(String.valueOf(sysUser.getUserId())); detail1.setUpdateId(String.valueOf(sysUser.getUserId())); detail1.setJxbz(jxbz); tjOrderDetailService.save(detail1); // tjOrderDetails.add(detail1); if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getJcDeptIds().contains(project.getDeptId().toString())) { if (null != project.getHisXmbm()) { jianChaProjects.add(project); } } } // TODO 和签到登记一样 只有配置中的以及收费类型为体检票时才增加到采样管理表 if(config.equalsIgnoreCase("Y")){ // if (lisApiMethod.isUseLisAndPacsRegister(order) && tjFlowingWater.getPayType() == 6L) { List detailLists = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(), jxbz); addCaiYangDengJi(detailLists, !detailLists.isEmpty(), order, sysUser, jxbz); // } AjaxResult result = tijianbulushenqing(customer, date, order.getCardId(), jxbz, jianChaProjects, tjFlowingWater.getPayType() == 6L); if (!result.get("code").toString().equals("200")) return false; }else { List detailLists = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(), jxbz); addCaiYangDengJiByDiaoYongShiTu(detailLists, !detailLists.isEmpty(), order, sysUser, jxbz); } } return true; } public void addCaiYangDengJiByDiaoYongShiTu(List 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)); 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); } } 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 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())); } } //体检对his申请单调用方法 // public AjaxResult tijianbulushenqing(TjCustomer customer, String date,String cardId,String jxbz,ArrayList 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 detailList = transitionService.getBlTbTransitionListByCusId(customer.getCusIdcard(),cardId,jxbz); // Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order); // List outpinmedicapplyDetilsDtos =new ArrayList<>(); // if (useLisAndPacsRegister && isTuanTiPiao) { // // 检查申请 // pacsReg(order, customer, jianChaProjects); // LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); // wrapper.eq(TjSampling::getTjNum,order.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 = samplingServiceApi.confirmSamplingApi(ids, "Y", "N"); // if (!confirmed) // return AjaxResult.error("处理失败"); // } // }else { // //检验申请 // 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<>(); // 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()) { // 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(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.setJxbz(jxbz); // 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); // } // } // } // // //门诊检查申请 // 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()) { // 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); // } // 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.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.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 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()) { // 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.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 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.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("尿素[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 tijianbulushenqing(TjCustomer customer, String date,String cardId,String jxbz,ArrayList 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 detailList = transitionService.getBlTbTransitionListByCusId(customer.getCusIdcard(),cardId,jxbz); // Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order); // List outpinmedicapplyDetilsDtos =new ArrayList<>(); // if (useLisAndPacsRegister && isTuanTiPiao) { // // 检查申请 // pacsReg(order, customer, jianChaProjects); // LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); // wrapper.eq(TjSampling::getTjNum,order.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 = samplingServiceApi.confirmSamplingApi(ids, "Y", "N"); // if (!confirmed) // return AjaxResult.error("处理失败"); // } // }else { // //检验申请 // 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); //// } // } // } // } // } // } // // //门诊检查申请 //// List detailLists = 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.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.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.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 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); // if (null != projects && !projects.isEmpty()) { // 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.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.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 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.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("尿素[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 tijianbulushenqing(TjCustomer customer, String date,String cardId,String jxbz,ArrayList 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 detailList = transitionService.getBlTbTransitionListByCusId(customer.getCusIdcard(),cardId,jxbz); Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order); List outpinmedicapplyDetilsDtos =new ArrayList<>(); if (useLisAndPacsRegister && isTuanTiPiao) { // 检查申请 pacsReg(order, customer, jianChaProjects); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(TjSampling::getTjNum,order.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 = samplingServiceApi.confirmSamplingApi(ids, "Y", "N"); if (!confirmed) return AjaxResult.error("处理失败"); } }else { List outpinmedicXms = tjOutpinmedicXmService.list(); //检验申请 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()); 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); // } } } } } } //门诊检查申请 // List detailLists = 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.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 (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 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 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 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 (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()); 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.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 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.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(); } public void pacsReg(TjOrder order, TjCustomer customer, ArrayList jianChaProjects) { List projectList1 = jianChaProjects.stream().distinct().collect(Collectors.toList()); JSONArray array = JSONUtil.createArray(); ArrayList successPacsList = new ArrayList<>(); ArrayList errorPacsList = new ArrayList<>(); int allTotal = 0; try { allTotal = pacsApiMethodService.saveProjects(order, customer, projectList1, array, successPacsList, errorPacsList); } catch (Exception e) { log.error(e.getMessage()); for (Object object : array) { JSONObject jsonObject = (JSONObject) object; pacsApiMethodService.updatePacsApply(jsonObject.getStr("regNo"), jsonObject.getStr("cardId"), jsonObject.getStr("name")); } } log.info("检查总计 ->{}个", allTotal); if (!errorPacsList.isEmpty()) { log.info("成功 ->{}", successPacsList); log.error("失败 ->{}", errorPacsList); } } @Override @Async("async") public void dockerSetCustomerLisByRedis(List ksproList, String ksId) { List yjAjaxResult = getYjAjaxResult(ksproList); List wjAjaxResult = getWjAjaxResult(ksproList); redisCache.setCacheMapValue(ksId + "ks", "wj", wjAjaxResult); redisCache.setCacheMapValue(ksId + "ks", "yj", yjAjaxResult); } @Override @Async("async") public void dockerSetYjCustomerByRedis(Long orderId, Long ksId) { //已检(单个存入)0未检,1已检 getDgYjAjaxResult(orderId, ksId); } @Override @Async("async") public void dockerSetWjCustomerByRedis(Long orderId, Long ksId) { //未检(单个存入)0未检,1已检 getDgWjAjaxResult(orderId, ksId); } @Override @Async("async") public void checkSetCustomerLisByRedis(String config) { List wsResult = getWsResult(config); List ysResult = getYsResult(config); redisCache.setCacheMapValue("check", "ws", wsResult); redisCache.setCacheMapValue("check", "ys", ysResult); //查询 } @Override @Async("async") public void wCScheckSetCustomerLisByRedis(List orderList) { List customerList = new ArrayList<>(); if (null != orderList && orderList.size() > 0) { for (TjOrder tjOrder : orderList) { if (null != tjOrder) { TjCustomer customer = tjCustomerService.selectTjCustomerByCusId(tjOrder.getUserId()); if (customer == null) { continue; } customer.setCusName(hideCusName(customer.getCusName())); customer.setCusPhone(hidePhoneNum(customer.getCusPhone())); customer.setCusIdcard(hideIdCardNum(customer.getCusIdcard())); customer.setTjNumber(tjOrder.getTjNumber()); customer.setTjStatus(Long.valueOf(tjOrder.getCheckStatus())); customer.setOrderId(tjOrder.getOrderId()); customer.setTjTime(tjOrder.getCreateTime()); customer.setFinishTime(tjOrder.getFinishTime()); customer.setConfirmStatus(String.valueOf(tjOrder.getStatus())); if (tjOrder.getFirmId() == null) { customer.setTjCompName("无"); } else { DictComp byId = compService.selectDictCompByDrugManufacturerId(tjOrder.getFirmId()); if (byId != null) { customer.setTjCompName(byId.getCnName()); } } customerList.add(customer); } } } redisCache.setCacheMapValue("cScheck", "ws", customerList); } @Override @Async("async") public void yCScheckSetCustomerLisByRedis(List orderList) { List customerList = new ArrayList<>(); if (null != orderList && orderList.size() > 0) { for (TjOrder tjOrder : orderList) { if (null != tjOrder) { TjCustomer customer = tjCustomerService.selectTjCustomerByCusId(tjOrder.getUserId()); if (customer == null) { continue; } customer.setCusName(hideCusName(customer.getCusName())); customer.setCusPhone(hidePhoneNum(customer.getCusPhone())); customer.setCusIdcard(hideIdCardNum(customer.getCusIdcard())); customer.setTjNumber(tjOrder.getTjNumber()); customer.setTjStatus(Long.valueOf(tjOrder.getCheckStatus())); customer.setOrderId(tjOrder.getOrderId()); customer.setTjTime(tjOrder.getCreateTime()); customer.setFinishTime(tjOrder.getFinishTime()); customer.setConfirmStatus(String.valueOf(tjOrder.getStatus())); if (tjOrder.getFirmId() == null) { customer.setTjCompName("无"); } else { DictComp byId = compService.selectDictCompByDrugManufacturerId(tjOrder.getFirmId()); if (byId != null) { customer.setTjCompName(byId.getCnName()); } } customerList.add(customer); } } } redisCache.setCacheMapValue("cScheck", "ys", customerList); } @Override @Async("async") public void tjRefund(List refundPros, String tjNum) { for (TjProject refundPro : refundPros) { LambdaQueryWrapper wq0 = new LambdaQueryWrapper<>(); wq0.eq(TjProject::getProParentId, refundPro.getProId()); List collect = projectService.list(wq0).stream().map(TjProject::getProId).collect(Collectors.toList()); LambdaQueryWrapper wq1 = new LambdaQueryWrapper<>(); wq1.eq(TjSampling::getTjNum, tjNum); wq1.in(TjSampling::getProId, collect); List list = samplingService.list(wq1); if (null != list && list.size() > 0) samplingService.removeByIds(list.stream().map(TjSampling::getId).collect(Collectors.toList())); LambdaQueryWrapper wq2 = new LambdaQueryWrapper<>(); wq2.eq(TjSampling::getTjNum, tjNum); wq2.eq(TjSampling::getProId, refundPro.getProId()); samplingService.remove(wq2); redisCache.deleteCacheMapValue("getOrderDetailByProParentId" + tjNum, String.valueOf(refundPro.getProId())); } } @Override @Async("async") public void saveSampling() { redisCache.setCacheMapValue("sampling", "yqs", getYWqsResult(0)); redisCache.setCacheMapValue("sampling", "wqs", getYWqsResult(1)); } @Override @Async("async") public void tjGoutAsync(List domainVos, SysUser sysUser, Set list) { Integer day = 0; for (QjDomainVo domainVo : domainVos) { day = domainVo.getDay(); TjOrderRemark remark = orderRemarkService.getById(domainVo.getRemarkId()); TjOrder order = orderService.getOrderByTjNum(domainVo.getTjNumber()); //给弃检表添加记录 if (domainVo.getType().equals(2)) { TjDiscardInspection td = new TjDiscardInspection(); td.setProId(String.valueOf(remark.getProId())); td.setProName(projectService.selectTjProjectByProId(remark.getProId()).getProName()); td.setCusId(String.valueOf(order.getUserId())); td.setCusName((tjCustomerService.getById(order.getUserId())).getCusName()); td.setRegistrationTime(order.getCreateTime()); td.setTjNum(domainVo.getTjNumber()); td.setCreateBy(sysUser.getNickName()); td.setCreateTime(new DateTime()); td.setUpdateBy(sysUser.getNickName()); td.setUpdateTime(new DateTime()); td.setCreateId(String.valueOf(sysUser.getUserId())); td.setUpdateId(String.valueOf(sysUser.getUserId())); discardInspectionService.save(td); redisCache.deleteCacheMapValue("getOrderDetailByProParentId" + domainVo.getTjNumber(), String.valueOf(remark.getProId())); } LambdaQueryWrapper wq1 = new LambdaQueryWrapper<>(); wq1.eq(TjProject::getProParentId, remark.getProId()); wq1.eq(TjProject::getNeedReport, "Y"); List projectList = projectService.list(wq1); if (null != projectList && projectList.size() > 0) { List collect = projectList.stream().map(TjProject::getProId).collect(Collectors.toList()); LambdaQueryWrapper wq2 = new LambdaQueryWrapper<>(); wq2.eq(TjOrderDetail::getOrderId, order.getOrderId()); wq2.in(TjOrderDetail::getProId, collect); List detailList = tjOrderDetailService.list(wq2); if (null != detailList && detailList.size() > 0) { for (TjOrderDetail detail : detailList) { detail.setTjStatus(Long.valueOf(remark.getType())); if (null != remark.getRemark()) detail.setRemark(domainVo.getRemark()); if (null != remark.getYqDeadline()) detail.setYqDeadline(remark.getYqDeadline()); tjOrderDetailService.updateById(detail); } } } } if (list.size() > 0) { Date date = new Date(); for (String s : list) { TjOrder tjOrder = orderService.getOrderByTjNum(s); if (null != tjOrder) { tjOrder.setStatus(TjConstants.TJ_DELAY); tjOrder.setFinishTime(null); tjOrder.setUpdateBy(sysUser.getNickName()); tjOrder.setUpdateTime(date); tjOrder.setUpdateId(String.valueOf(sysUser.getUserId())); orderService.updateById(tjOrder); TjCustomer customer = tjCustomerService.selectTjCustomerByCusId(tjOrder.getUserId()); TjYqOrder yqOrder = new TjYqOrder(); yqOrder.setTjNum(s); yqOrder.setCusName(customer.getCusName()); yqOrder.setSex(String.valueOf(customer.getCusSex())); yqOrder.setAge(customer.getAge()); yqOrder.setPhone(customer.getCusPhone()); yqOrder.setYqTime(DateUtil.offsetDay(date, day)); yqOrder.setOrderTime(tjOrder.getCreateTime()); yqOrder.setProIds(orderRemarkService.getTjOrderRemarkProIdList(s)); yqOrder.setEmilSend("0"); yqOrder.setMsgSend("0"); yqOrder.setCreateBy(sysUser.getNickName()); yqOrder.setCreateTime(date); yqOrder.setUpdateBy(sysUser.getNickName()); yqOrder.setUpdateTime(date); yqOrder.setCreateId(String.valueOf(sysUser.getUserId())); yqOrder.setUpdateId(String.valueOf(sysUser.getUserId())); yqOrderService.save(yqOrder); } } } } @Override @Async("async") public void addRedisTransitionPac(String cusId, Long pacId, List ppList) { for (TjPackageProject tjPackageProject : ppList) { TjProject project = projectService.getById(tjPackageProject.getProId()); if (null != project) { BigDecimal divide = tjPackageProject.getPriceNow().divide(project.getProPrice(), 5, RoundingMode.DOWN); LambdaQueryWrapper wq2 = new LambdaQueryWrapper<>(); wq2.eq(TjProject::getProParentId, project.getProId()); List tjProSonList = projectService.list(wq2); if (null != tjProSonList && tjProSonList.size() > 0) { for (TjProject tjProject : tjProSonList) { TbTransition tbTransition = new TbTransition(); tbTransition.setCusId(cusId); tbTransition.setPacId(pacId); if (null != tjPackageProject.getPriceNow() && divide.compareTo(BigDecimal.valueOf(0)) > 0) { tbTransition.setNowPrice(tjProject.getProPrice().multiply(divide).setScale(2, RoundingMode.HALF_DOWN)); tbTransition.setOrdPrice(tjProject.getProPrice().multiply(divide).setScale(2, RoundingMode.HALF_DOWN)); } else { tbTransition.setNowPrice(BigDecimal.valueOf(0.00)); tbTransition.setOrdPrice(BigDecimal.valueOf(0.00)); } tbTransition.setParentProId(project.getProId()); tbTransition.setParentProName(project.getProName()); tbTransition.setProId(tjProject.getProId()); tbTransition.setProName(tjProject.getProName()); tbTransition.setPacName(tjPackageService.getById(tbTransition.getPacId()).getPacName()); tbTransition.setCreateTime(new Date()); tbTransition.setProType(tjProject.getProType()); tbTransition.setProCheckMethod(tjProject.getProCheckMethod()); transitionService.save(tbTransition); } } } } } @Override @Async("async") public void saveRedisTransitionByPacId(String cusId,String cardId, Long pacId, List proIds) { if (null != pacId) { transitionService.saveRedisTransitionByPacId(cusId,cardId ,pacId); } if (null != proIds && proIds.size() > 0) { saveRedisTransitionByProId(cusId,cardId, proIds); } } @Override @Async("async") public void addRedisTransitionPro(String cusId, List proIds) { for (Long proId : proIds) { if (null != transitionService.getTbTransitionListByCusIdAndPacIdAndProId(cusId, String.valueOf(proId)) && transitionService.getTbTransitionListByCusIdAndPacIdAndProId(cusId, String.valueOf(proId)).size() > 0) { continue; } TjProject project = projectService.getById(proId); if (null != project) { LambdaQueryWrapper wq1 = new LambdaQueryWrapper<>(); wq1.eq(TjProject::getProParentId, project.getProId()); List tjProSonList = projectService.list(wq1); if (null != tjProSonList && tjProSonList.size() > 0) { for (TjProject tjProject : tjProSonList) { List transitionss = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(cusId, String.valueOf(tjProject.getProId())); if (null != transitionss && transitionss.size() > 0) { continue; } TbTransition tbTransition = new TbTransition(); tbTransition.setCusId(cusId); tbTransition.setPacId(null); if (null != tjProject.getProPrice()) { tbTransition.setOrdPrice(tjProject.getProPrice()); tbTransition.setNowPrice(tjProject.getProPrice()); } else { tbTransition.setOrdPrice(BigDecimal.valueOf(0.00)); tbTransition.setNowPrice(BigDecimal.valueOf(0.00)); } tbTransition.setParentProId(proId); tbTransition.setParentProName(project.getProName()); tbTransition.setProId(tjProject.getProId()); tbTransition.setProName(tjProject.getProName()); tbTransition.setCreateTime(new Date()); tbTransition.setProType(tjProject.getProType()); tbTransition.setProCheckMethod(tjProject.getProCheckMethod()); transitionService.save(tbTransition); } } } } } @Override @Async("async") public void getTjPackageList() { //男人 getTjPackageListsByMan(tjPackageService.getTjPackageListByMan()); //女人 getTjPackageListByWoMan(tjPackageService.getTjPackageListByWoMan()); //未知 getTjPackageListByManAndWoMan(tjPackageService.list(new LambdaQueryWrapper().eq(TjPackage::getPacStatus, 0))); } @Override @Async("async") public void addNewReservationConfirm(List rightList) { if (null != rightList && rightList.size() > 0) { for (TjReservation reservation : rightList) { transitionService.deletedTbTransitionByCusId(reservation.getIdCard()); List confirmList = groupingProService.getAddNewReservationConfirm(reservation.getGroupingId()); if (null != confirmList && confirmList.size() > 0) { for (AddNewReservationConfirm confirm : confirmList) { List transitionss = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(reservation.getIdCard(), confirm.getPid()); if (null != transitionss && transitionss.size() > 0) { continue; } TbTransition tbTransition = new TbTransition(); tbTransition.setCusId(reservation.getIdCard()); tbTransition.setPacId(null); if (null != confirm.getProPrice()) { tbTransition.setOrdPrice(confirm.getProPrice()); tbTransition.setNowPrice(confirm.getProPrice().multiply(BigDecimal.valueOf(Long.parseLong(confirm.getLimits())).divide(BigDecimal.valueOf(10)))); } else { tbTransition.setOrdPrice(BigDecimal.valueOf(0.00)); tbTransition.setNowPrice(BigDecimal.valueOf(0.00)); } tbTransition.setParentProId(Long.valueOf(confirm.getProId())); tbTransition.setParentProName(confirm.getProName()); tbTransition.setProId(Long.valueOf(confirm.getPid())); tbTransition.setProName(confirm.getPname()); tbTransition.setCreateTime(new Date()); transitionService.save(tbTransition); } } } } } @Override @Async("async") public void saveNewReservationConfirm(List rightList) { if (null != rightList && rightList.size() > 0) { //创建线程池 ExecutorService threadPool = Executors.newFixedThreadPool(rightList.size()); for (TjReservation reservation : rightList) { //删除之前的数据 transitionService.deletedTbTransitionByCusId(reservation.getIdCard()); //获取线程 threadPool.execute(new Runnable() { @Override public void run() { try { // transitionService.saveTemoTransitionByGroupingId(reservation.getIdCard(), reservation.getGroupingId()); transitionService.ttsaveTemoTransitionByGroupingId(reservation.getIdCard(),"0",reservation.getGroupingId()); threadPool.shutdown(); } catch (Exception e) { e.printStackTrace(); } } }); } } } @Override @Async("async") public void updateCheckType(String tjNum) { redisCache.setCacheMapValue("updateCheckType" + tjNum, tjNum, getAjaxResult(tjNum)); redisCache.setHashKeyExpireTime("updateCheckType" + tjNum, 7L, TimeUnit.DAYS); } @Override @Async("async") public void getPrintOrderList(List list) { redisCache.setCacheMapValue("getPrintOrderList", "0", extracted(0, list)); redisCache.setCacheMapValue("getPrintOrderList", "1", extracted(1, list)); } @Override @Async("async") public void getDictSfxms() { List dictSfxm = getDictSfxm(); redisCache.setCacheObject("getDictSfxms", dictSfxm); } @Override @Async("async") public void getOrderDetailByProParentId(String tjNumber, Map map, String proParentId) { if (null != map && !map.isEmpty()) { redisCache.setCacheMapValue("getOrderDetailByProParentId" + tjNumber, proParentId, map); } else { redisCache.setCacheMapValue("getOrderDetailByProParentId" + tjNumber, proParentId, getOrderDetailByProParentId(proParentId, tjNumber)); } redisCache.setHashKeyExpireTime("getOrderDetailByProParentId" + tjNumber, 7L, TimeUnit.DAYS); } @Override @Async("async") public void getLineChart() { redisCache.setCacheObject("getLineChart", getLineCharts()); } @Override @Async("async") public void getPieChart() { redisCache.setCacheObject("getPieChart", getPieCharts()); } @Override public void addTjChargingStandard(TjOrder order, List tbTransitionList, SysUser sysUser) { List list2 = new ArrayList<>(); for (TbTransition transition : tbTransitionList) { if (transition.getNowPrice().compareTo(BigDecimal.valueOf(0)) == 0) { continue; } TjProject tjProject = projectService.selectTjProjectByProId(transition.getProId()); //子项 if (null != tjProject) { TjChargingStandard tjChargingStandard = new TjChargingStandard(); tjChargingStandard.setTjNum(order.getTjNumber()); tjChargingStandard.setProId(transition.getProId()); tjChargingStandard.setPrice(transition.getNowPrice()); tjChargingStandard.setProName(tjProject.getProName()); tjChargingStandard.setCreateBy(sysUser.getNickName()); tjChargingStandard.setCreateTime(new Date()); tjChargingStandard.setUpdateBy(sysUser.getNickName()); tjChargingStandard.setUpdateTime(new Date()); tjChargingStandard.setCreateId(String.valueOf(sysUser.getUserId())); tjChargingStandard.setUpdateId(String.valueOf(sysUser.getUserId())); chargingStandardService.save(tjChargingStandard); } } //父项 ArrayList collect1 = tbTransitionList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(TbTransition::getParentProId))), ArrayList::new)); List parentProIds = collect1.stream().map(TbTransition::getParentProId).collect(Collectors.toList()); if (parentProIds.size() > 0) { for (Long parentProId : parentProIds) { TjProject parentProject = projectService.selectTjProjectByProId(parentProId); if (null != parentProject) { LambdaQueryWrapper wqqq = new LambdaQueryWrapper<>(); wqqq.eq(TjProConsumables::getProId, parentProject.getProId()); List proConsumables = proConsumablesService.list(wqqq); if (null != proConsumables && proConsumables.size() > 0) { for (TjProConsumables tjProConsumables : proConsumables) { TjConsumables tjConsumables = consumablesService.selectTjConsumablesById(tjProConsumables.getConsumablesId()); list2.add(tjConsumables); } } } } } ArrayList collect = list2.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(TjConsumables::getId))), ArrayList::new)); for (TjConsumables tjConsumables : collect) { TjChargingStandard tjChargingStandard = new TjChargingStandard(); tjChargingStandard.setTjNum(order.getTjNumber()); tjChargingStandard.setConsumablesId(tjConsumables.getId()); tjChargingStandard.setPrice(tjConsumables.getPrice()); tjChargingStandard.setProName(tjConsumables.getMakings()); tjChargingStandard.setConsumablesName(tjConsumables.getMakings()); tjChargingStandard.setCompany(tjConsumables.getSpecifications()); tjChargingStandard.setCreateBy(sysUser.getNickName()); tjChargingStandard.setCreateTime(new Date()); tjChargingStandard.setUpdateBy(sysUser.getNickName()); tjChargingStandard.setUpdateTime(new Date()); tjChargingStandard.setCreateId(String.valueOf(sysUser.getUserId())); tjChargingStandard.setUpdateId(String.valueOf(sysUser.getUserId())); chargingStandardService.save(tjChargingStandard); } List detailList = tjOrderDetailService.getCaiYangDengJi(order.getOrderId()); addCaiYangDengJi(detailList, detailList.size() > 0, order, sysUser,null); } //首页饼状图登记人数接口 private AjaxResult getPieCharts() { Map map = new HashMap<>(); Date date=new Date(); //获取体检登记数 LambdaQueryWrapper wq0 = new LambdaQueryWrapper<>(); wq0.between(TjOrder::getCreateTime,DateUtil.offsetMonth(date,-1),date); List orderCountList = orderService.list(wq0); if (null != orderCountList && !orderCountList.isEmpty()) { List pieChartVoList = getTjorderCountMap(orderCountList); map.put("tjdj", pieChartVoList); } else { map.put("tjdj", 0); } //获取体检异常数 LambdaQueryWrapper wq1 = new LambdaQueryWrapper<>(); wq1.between(TjOrder::getCreateTime,DateUtil.offsetMonth(date,-1),date); // wq1.isNotNull(TjOrder::getFinishTime); // wq1.eq(TjOrder::getCheckStatus, 1); List orderList = orderService.list(wq1); if (null !=orderList && !orderList.isEmpty()) { // List orderList = orderAbnormalCountList.stream().distinct().collect(Collectors.toList()); List pieChartVoList = getTjorderAbnormalCountMap(orderList); map.put("tjyc", pieChartVoList); } else { map.put("tjyc", 0); } return AjaxResult.success(map); } //首页折线图数据 private AjaxResult getLineCharts() { // List> line = orderService.getLine(); List line = orderService.getLine(); Collections.reverse(line); return AjaxResult.success("折线图数据", line); } //获取体检登记数 private List getTjorderCountMap(List orderList) { int a = 0; int b = 0; int c = 0; int d = 0; int e = 0; Map map = null; for (TjOrder tjOrder : orderList) { map = new HashMap<>(); TjCustomer customer = tjCustomerService.getById(tjOrder.getUserId()); if (null != customer) { int age = DateUtil.ageOfNow(customer.getCusBrithday()); if (age >= 0 && age <= 3) { a += 1; } else if (age > 3 && age <= 16) { b += 1; } else if (age > 16 && age <= 40) { c += 1; } else if (age > 40 && age <= 60) { d += 1; } else { e += 1; } } map.put("0-3岁", a); map.put("3-16岁", b); map.put("16-40岁", c); map.put("40-60岁", d); map.put("60岁以上", e); } List pieChartVoList = new ArrayList<>(); assert map != null; for (Map.Entry entry : map.entrySet()) { PieChartVo pieChartVo = new PieChartVo(); pieChartVo.setName(entry.getKey()); pieChartVo.setCount((Integer) entry.getValue()); pieChartVoList.add(pieChartVo); } return pieChartVoList; } //获取体检异常数 private List getTjorderAbnormalCountMap(List orderList) { int a = 0; int b = 0; int c = 0; int d = 0; int e = 0; Map map = new HashMap<>(); for (TjOrder tjOrder : orderList) { LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); wq.eq(TjOrderDetail::getOrderId, tjOrder.getOrderId()); wq.eq(TjOrderDetail::getExceptionDesc, 1); List list = tjOrderDetailService.list(wq); int count = hysqdService.getHyYcXmCount(tjOrder.getCardId()); if ((null != list && !list.isEmpty()) || (count>0)) { TjCustomer customer = tjCustomerService.getById(tjOrder.getUserId()); if (null != customer) { int age = DateUtil.ageOfNow(customer.getCusBrithday()); if (age >= 0 && age <= 3) { a += 1; } else if (age > 3 && age <= 16) { b += 1; } else if (age > 16 && age <= 40) { c += 1; } else if (age > 40 && age <= 60) { d += 1; } else { e += 1; } } } } map.put("0-3岁", a); map.put("3-16岁", b); map.put("16-40岁", c); map.put("40-60岁", d); map.put("60岁以上", e); List pieChartVoList = new ArrayList<>(); for (Map.Entry entry : map.entrySet()) { PieChartVo pieChartVo = new PieChartVo(); pieChartVo.setName(entry.getKey()); pieChartVo.setCount((Integer) entry.getValue()); pieChartVoList.add(pieChartVo); } return pieChartVoList; } private List getDictSfxm() { List dictSfxms = dictSfxmService.getYjDictSfxmList(); if (null != dictSfxms && dictSfxms.size() > 0) { for (DictSfxm dictSfxm : dictSfxms) { List sfxms = dictSfxmService.getEjDictSfxmList(dictSfxm.getId()); if (null != sfxms && sfxms.size() > 0) { for (DictSfxm sfxm : sfxms) { List sfx = dictSfxmService.getSjDictSfxmList(dictSfxm.getId()); sfxm.setDictSfxms(sfx); } } dictSfxm.setDictSfxms(sfxms); } } return dictSfxms; } private List extracted(Integer type, List list) { List list1 = new ArrayList<>(); for (TjOrder order : list) { TjCustomer tjCustomer = tjCustomerService.selectTjCustomerByCusId(order.getUserId()); if (null != tjCustomer) { order.setTjCustomerSex(tjCustomer.getCusSex()); order.setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday())); order.setGrMoBanId(reportService.getGrMoBanIds()); order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName())); if (null != tjCustomer.getCusPhone()) order.setTjCustomerPhone(MatchUtils.hidePhoneNum(tjCustomer.getCusPhone())); if (null != tjCustomer.getCusIdcard()) order.setTjCusIdCard(MatchUtils.hideIdCardNum(tjCustomer.getCusIdcard())); } String firmId = order.getFirmId(); if (firmId != null && null != compService.selectDictCompByDrugManufacturerId(String.valueOf(order.getFirmId()))) { order.setDictCompName(compService.selectDictCompByDrugManufacturerId(String.valueOf(order.getFirmId())).getCnName()); } if (null != order.getPacId()) { if (null != tjPackageService.getById(order.getPacId())) { order.setPacName(tjPackageService.getById(order.getPacId()).getPacName()); } if (null != dwDeptService.getById(order.getPacId())) { order.setPacName(dwDeptService.getById(order.getPacId()).getDwDeptName()); } } //从打印记录查出最新打印时间 TjPrintOrder one = printOrderService.getTjPrintOrderByTjNum(order.getTjNumber()); if (null != type && type == 1 && one != null) { order.setPrintTime(one.getCreateTime()); order.setPrintName(one.getCreateBy()); order.setType(1); list1.add(order); } if (null != type && type == 0 && one == null) { order.setType(0); list1.add(order); } } return list1; } private void getTjPackageListsByMan(List tjPackageList) { if (null != tjPackageList && tjPackageList.size() > 0) { for (TjPackage aPackage : tjPackageList) { List tjProjectList = new ArrayList<>(); List pplist = ppservice.getTjPackageProjectListByPacId(String.valueOf(aPackage.getPacId())); StringBuilder allProName = new StringBuilder(); String allSonName = null; if (null != pplist) { for (TjPackageProject packageProject : pplist) { // StringBuilder allSonProName = new StringBuilder(); TjProject tjProject = projectService.selectTjProjectByProId(packageProject.getProId()); if (null != tjProject) { allProName.append(tjProject.getProName()).append(";"); // List projects = tjProjectService.getTjProjectListBySoneId(String.valueOf(packageProject.getProId())); String name = projectService.appendTjProjectName(String.valueOf(packageProject.getProId())); // for (TjProject project : projects) { // allSonProName.append(project.getProName()).append(";"); // allSonName.append(project.getProName()).append(";"); // tjProject.setAllSonProName(allSonProName.toString()); // } allSonName = name; tjProject.setAllSonProName(name); tjProjectList.add(tjProject); // List list = tjProConsumablesService.list(packageProject.getProId()); // List list1 = new ArrayList<>(); // for (TjProConsumables tjProConsumables : list) { // list1.add(tjConsumablesService.selectTjConsumablesById(tjProConsumables.getConsumablesId())); // } List list1 = consumablesService.getTjConsumablesList(String.valueOf(packageProject.getProId())); tjProject.setConsumablesList(list1); } } } aPackage.setTjProjectList(tjProjectList); aPackage.setAllProName(allProName.toString()); aPackage.setAllSonName(allSonName); } if (redisCache.hasKey("getTjPackageListBySex")) { redisCache.deleteCacheMapValue("getTjPackageListBySex", "getTjPackageListByMan"); } redisCache.setCacheMapValue("getTjPackageListBySex", "getTjPackageListByMan", tjPackageList); } } private void getTjPackageListByWoMan(List tjPackageList) { if (null != tjPackageList && tjPackageList.size() > 0) { for (TjPackage aPackage : tjPackageList) { List tjProjectList = new ArrayList<>(); List pplist = ppservice.getTjPackageProjectListByPacId(String.valueOf(aPackage.getPacId())); StringBuilder allProName = new StringBuilder(); String allSonName = null; if (null != pplist) { for (TjPackageProject packageProject : pplist) { // StringBuilder allSonProName = new StringBuilder(); TjProject tjProject = projectService.selectTjProjectByProId(packageProject.getProId()); if (null != tjProject) { allProName.append(tjProject.getProName()).append(";"); // List projects = tjProjectService.getTjProjectListBySoneId(String.valueOf(packageProject.getProId())); String name = projectService.appendTjProjectName(String.valueOf(packageProject.getProId())); // for (TjProject project : projects) { // allSonProName.append(project.getProName()).append(";"); // allSonName.append(project.getProName()).append(";"); // tjProject.setAllSonProName(allSonProName.toString()); // } allSonName = name; tjProject.setAllSonProName(name); tjProjectList.add(tjProject); // List list = tjProConsumablesService.list(packageProject.getProId()); // List list1 = new ArrayList<>(); // for (TjProConsumables tjProConsumables : list) { // list1.add(tjConsumablesService.selectTjConsumablesById(tjProConsumables.getConsumablesId())); // } List list1 = consumablesService.getTjConsumablesList(String.valueOf(packageProject.getProId())); tjProject.setConsumablesList(list1); } } } aPackage.setTjProjectList(tjProjectList); aPackage.setAllProName(allProName.toString()); aPackage.setAllSonName(allSonName); } if (redisCache.hasKey("getTjPackageListBySex")) { redisCache.deleteCacheMapValue("getTjPackageListBySex", "getTjPackageListByWoMan"); } redisCache.setCacheMapValue("getTjPackageListBySex", "getTjPackageListByWoMan", tjPackageList); } } private void getTjPackageListByManAndWoMan(List tjPackageList) { if (null != tjPackageList && tjPackageList.size() > 0) { for (TjPackage aPackage : tjPackageList) { List tjProjectList = new ArrayList<>(); List pplist = ppservice.getTjPackageProjectListByPacId(String.valueOf(aPackage.getPacId())); StringBuilder allProName = new StringBuilder(); String allSonName = null; if (null != pplist) { for (TjPackageProject packageProject : pplist) { TjProject tjProject = projectService.selectTjProjectByProId(packageProject.getProId()); if (null != tjProject) { allProName.append(tjProject.getProName()).append(";"); String name = projectService.appendTjProjectName(String.valueOf(packageProject.getProId())); allSonName = name; tjProject.setAllSonProName(name); tjProjectList.add(tjProject); List list1 = consumablesService.getTjConsumablesList(String.valueOf(packageProject.getProId())); tjProject.setConsumablesList(list1); } } } aPackage.setTjProjectList(tjProjectList); aPackage.setAllProName(allProName.toString()); aPackage.setAllSonName(allSonName); } if (redisCache.hasKey("getTjPackageListBySex")) { redisCache.deleteCacheMapValue("getTjPackageListBySex", "getTjPackageListByManAndWoMan"); } redisCache.setCacheMapValue("getTjPackageListBySex", "getTjPackageListByManAndWoMan", tjPackageList); } } //已检(整体存入) public List getYjAjaxResult(List ksproList) { List customerLis = new ArrayList<>(); LambdaQueryWrapper wq1 = new LambdaQueryWrapper<>(); wq1.eq(TjOrderDetail::getTjStatus, 1); wq1.in(TjOrderDetail::getProId, ksproList); wq1.isNotNull(TjOrderDetail::getFlowingWaterId); wq1.orderByDesc(TjOrderDetail::getCreateTime); List detailList = tjOrderDetailService.list(wq1); if (null != detailList && detailList.size() > 0) { //收集orderId并去重 List orderIds = detailList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection( () -> new TreeSet<>(Comparator.comparing(TjOrderDetail::getOrderId)) ), ArrayList::new)).stream().map(TjOrderDetail::getOrderId).collect(Collectors.toList()); for (Long orderId : orderIds) { if (null != orderId) { TjOrder order = orderService.getById(orderId); if (null == order) { continue; } LambdaQueryWrapper qww = new LambdaQueryWrapper<>(); qww.eq(TjOrderDetail::getOrderId, order.getOrderId()); qww.eq(TjOrderDetail::getTjStatus, 0); qww.isNotNull(TjOrderDetail::getFlowingWaterId); List lists = tjOrderDetailService.list(qww); if (null != lists && lists.size() > 0) { continue; } TjCustomer customer = tjCustomerService.getById(order.getUserId()); if (null != customer) { //遍历项目 判断是否有重大阳性 标记 for (TjOrderDetail tjOrderDetail11 : lists) { customer.setIsPositive(tjOrderDetail11.getIsPositive()); if (tjOrderDetail11.getIsPositive() == 1) { break; } } customer.setCusName(hideCusName(customer.getCusName())); customer.setCusPhone(hidePhoneNum(customer.getCusPhone())); customer.setCusIdcard(hideIdCardNum(customer.getCusIdcard())); if (order.getTjType().equals("1")) { customer.setTjType("团体"); } if (order.getTjType().equals("2")) { customer.setTjType("个人"); } customer.setTjTime(order.getCreateTime()); customer.setTjNumber(order.getTjNumber()); customer.setTjStatus(1L); customer.setOrderId(order.getOrderId()); customer.setIsHz(order.getIsHz()); customer.setTjCategory(order.getTjCategory()); LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); wq.eq(TjOrderRemark::getTjNumber, order.getTjNumber()); wq.in(TjOrderRemark::getType, 0, 3); List list = orderRemarkService.list(wq); if (null != list && list.size() > 0) { StringBuilder stringBuilder = new StringBuilder(); for (TjOrderRemark remark : list) { TjProject byId = projectService.getById(remark.getProId()); stringBuilder.append(byId.getProName()).append(";"); } customer.setNotCheckeds(String.valueOf(stringBuilder)); if (null == customer.getNotCheckeds()) customer.setNotCheckeds("全部已检"); } customerLis.add(customer); } } } } return customerLis; } //未检(整体存入) public List getWjAjaxResult(List ksproList) { List customerLis = new ArrayList<>(); LambdaQueryWrapper wq1 = new LambdaQueryWrapper<>(); wq1.eq(TjOrderDetail::getTjStatus, 0); wq1.in(TjOrderDetail::getProId, ksproList); wq1.isNotNull(TjOrderDetail::getFlowingWaterId); wq1.orderByDesc(TjOrderDetail::getCreateTime); List detailList = tjOrderDetailService.list(wq1); if (null != detailList && detailList.size() > 0) { //收集orderId并去重 List orderIds = detailList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection( () -> new TreeSet<>(Comparator.comparing(TjOrderDetail::getOrderId)) ), ArrayList::new)).stream().map(TjOrderDetail::getOrderId).collect(Collectors.toList()); for (Long orderId : orderIds) { // for (Long aLong : ksproList) { // getDgWjAjaxResult(orderId,aLong); // } if (null != orderId) { TjOrder order = orderService.getById(orderId); if (null == order) { continue; } TjCustomer customer = tjCustomerService.getById(order.getUserId()); if (null != customer) { LambdaQueryWrapper qww = new LambdaQueryWrapper<>(); qww.eq(TjOrderDetail::getOrderId, order.getOrderId()); qww.isNotNull(TjOrderDetail::getFlowingWaterId); List lists = tjOrderDetailService.list(qww); if (null != lists) { //遍历项目 判断是否有重大阳性 标记 for (TjOrderDetail tjOrderDetail11 : lists) { customer.setIsPositive(tjOrderDetail11.getIsPositive()); if (tjOrderDetail11.getIsPositive() == 1) { break; } } } customer.setCusName(hideCusName(customer.getCusName())); customer.setCusPhone(hidePhoneNum(customer.getCusPhone())); customer.setCusIdcard(hideIdCardNum(customer.getCusIdcard())); if (order.getTjType().equals("1")) { customer.setTjType("团体"); } if (order.getTjType().equals("2")) { customer.setTjType("个人"); } customer.setTjTime(order.getCreateTime()); customer.setTjNumber(order.getTjNumber()); customer.setOrderId(order.getOrderId()); customer.setIsHz(order.getIsHz()); customer.setTjCategory(order.getTjCategory()); customer.setTjStatus(0L); LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); wq.eq(TjOrderRemark::getTjNumber, order.getTjNumber()); wq.in(TjOrderRemark::getType, 0, 3); List list = orderRemarkService.list(wq); if (null != list && list.size() > 0) { StringBuilder stringBuilder = new StringBuilder(); for (TjOrderRemark remark : list) { TjProject byId = projectService.getById(remark.getProId()); if (null != byId) { stringBuilder.append(byId.getProName()).append(";"); } } customer.setNotCheckeds(String.valueOf(stringBuilder)); if (null == customer.getNotCheckeds()) customer.setNotCheckeds("全部已检"); } customerLis.add(customer); } } } } return customerLis; } //已检(单个存入)0未检,1已检 public void getDgYjAjaxResult(Long orderId, Long ksId) { if (null != orderId) { TjOrder order = orderService.getById(orderId); if (null != order) { LambdaQueryWrapper qww = new LambdaQueryWrapper<>(); qww.eq(TjOrderDetail::getOrderId, order.getOrderId()); qww.eq(TjOrderDetail::getTjStatus, 0); qww.isNotNull(TjOrderDetail::getFlowingWaterId); TjCustomer customer = tjCustomerService.getById(order.getUserId()); List lists = tjOrderDetailService.list(qww); if (null == lists || lists.size() == 0) { redisCache.deleteCacheMapValue("ks" + ksId + customer.getCusId(), "1"); redisCache.setCacheMapValue("ks:" + ksId + ":" + customer.getCusId(), "0", customer); } if (null != customer) { //遍历项目 判断是否有重大阳性 标记 for (TjOrderDetail tjOrderDetail11 : lists) { customer.setIsPositive(tjOrderDetail11.getIsPositive()); if (tjOrderDetail11.getIsPositive() == 1) { break; } } customer.setCusName(hideCusName(customer.getCusName())); customer.setCusPhone(hidePhoneNum(customer.getCusPhone())); customer.setCusIdcard(hideIdCardNum(customer.getCusIdcard())); if (order.getTjType().equals("1")) { customer.setTjType("团体"); } if (order.getTjType().equals("2")) { customer.setTjType("个人"); } customer.setTjTime(order.getCreateTime()); customer.setTjNumber(order.getTjNumber()); customer.setTjStatus(1L); customer.setOrderId(order.getOrderId()); customer.setIsHz(order.getIsHz()); customer.setTjCategory(order.getTjCategory()); LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); wq.eq(TjOrderRemark::getTjNumber, order.getTjNumber()); wq.in(TjOrderRemark::getType, 0, 3); List list = orderRemarkService.list(wq); if (null != list && list.size() > 0) { StringBuilder stringBuilder = new StringBuilder(); for (TjOrderRemark remark : list) { TjProject byId = projectService.getById(remark.getProId()); stringBuilder.append(byId.getProName()).append(";"); } customer.setNotCheckeds(String.valueOf(stringBuilder)); if (null == customer.getNotCheckeds()) customer.setNotCheckeds("全部已检"); } redisCache.setCacheMapValue("ks:" + ksId + ":" + customer.getCusId(), "1", customer); } } } } //未检(单个存入)0未检,1已检 public void getDgWjAjaxResult(Long orderId, Long ksId) { if (null != orderId) { TjOrder order = orderService.getById(orderId); if (null == order) { TjCustomer customer = tjCustomerService.getById(order.getUserId()); if (null != customer) { LambdaQueryWrapper qww = new LambdaQueryWrapper<>(); qww.eq(TjOrderDetail::getOrderId, order.getOrderId()); qww.isNotNull(TjOrderDetail::getFlowingWaterId); List lists = tjOrderDetailService.list(qww); if (null != lists) { //遍历项目 判断是否有重大阳性 标记 for (TjOrderDetail tjOrderDetail11 : lists) { customer.setIsPositive(tjOrderDetail11.getIsPositive()); if (tjOrderDetail11.getIsPositive() == 1) { break; } } } customer.setCusName(hideCusName(customer.getCusName())); customer.setCusPhone(hidePhoneNum(customer.getCusPhone())); customer.setCusIdcard(hideIdCardNum(customer.getCusIdcard())); if (order.getTjType().equals("1")) { customer.setTjType("团体"); } if (order.getTjType().equals("2")) { customer.setTjType("个人"); } customer.setTjTime(order.getCreateTime()); customer.setTjNumber(order.getTjNumber()); customer.setOrderId(order.getOrderId()); customer.setIsHz(order.getIsHz()); customer.setTjCategory(order.getTjCategory()); customer.setTjStatus(0L); LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); wq.eq(TjOrderRemark::getTjNumber, order.getTjNumber()); wq.in(TjOrderRemark::getType, 0, 3); List list = orderRemarkService.list(wq); if (null != list && list.size() > 0) { StringBuilder stringBuilder = new StringBuilder(); for (TjOrderRemark remark : list) { TjProject byId = projectService.getById(remark.getProId()); stringBuilder.append(byId.getProName()).append(";"); } customer.setNotCheckeds(String.valueOf(stringBuilder)); if (null == customer.getNotCheckeds()) customer.setNotCheckeds("全部已检"); } // redisCache.setCacheMapValue("ks"+ksId+":"+customer.getCusId(),"1",customer); redisCache.setCacheMapValue("ks" + ksId + ":" + customer.getCusId(), "0", customer); } } } } //已审 private List getYsResult(String config) { List orderList = null; if ("Y".equals(config)) { orderList = orderService.getCsTjOrderList1(null, 1, null, null, null); } else { orderList = orderService.getTjOrderList(null, 1, null, null, null); } List customerList = new ArrayList<>(); if (null != orderList && orderList.size() > 0) { for (TjOrder tjOrder : orderList) { if (null != tjOrder) { TjCustomer customer = tjCustomerService.selectTjCustomerByCusId(tjOrder.getUserId()); if (customer == null) { continue; } customer.setCusName(hideCusName(customer.getCusName())); customer.setCusPhone(hidePhoneNum(customer.getCusPhone())); customer.setCusIdcard(hideIdCardNum(customer.getCusIdcard())); customer.setTjNumber(tjOrder.getTjNumber()); customer.setTjStatus(Long.valueOf(tjOrder.getCheckStatus())); customer.setOrderId(tjOrder.getOrderId()); customer.setTjTime(tjOrder.getCreateTime()); customer.setFinishTime(tjOrder.getFinishTime()); customer.setConfirmStatus(String.valueOf(tjOrder.getStatus())); customer.setTjCategory(tjOrder.getTjCategory()); if (tjOrder.getFirmId() == null) { customer.setTjCompName("无"); } else { DictComp byId = compService.selectDictCompByDrugManufacturerId(tjOrder.getFirmId()); if (byId != null) { customer.setTjCompName(byId.getCnName()); } } customerList.add(customer); } } } return customerList; } //未审 private List getWsResult(String config) { List orderList = null; if ("Y".equals(config)) { orderList = orderService.getCsTjOrderList1(null, 0, null, null, null); } else { orderList = orderService.getTjOrderList(null, 0, null, null, null); } List customerList = new ArrayList<>(); if (null != orderList && orderList.size() > 0) { for (TjOrder tjOrder : orderList) { if (null != tjOrder) { TjCustomer customer = tjCustomerService.selectTjCustomerByCusId(tjOrder.getUserId()); if (customer == null) { continue; } customer.setCusName(hideCusName(customer.getCusName())); customer.setCusPhone(hidePhoneNum(customer.getCusPhone())); customer.setCusIdcard(hideIdCardNum(customer.getCusIdcard())); customer.setTjNumber(tjOrder.getTjNumber()); customer.setTjStatus(Long.valueOf(tjOrder.getCheckStatus())); customer.setOrderId(tjOrder.getOrderId()); customer.setTjTime(tjOrder.getCreateTime()); customer.setFinishTime(tjOrder.getFinishTime()); customer.setConfirmStatus(String.valueOf(tjOrder.getStatus())); customer.setTjCategory(tjOrder.getTjCategory()); if (tjOrder.getFirmId() == null) { customer.setTjCompName("无"); } else { DictComp byId = compService.selectDictCompByDrugManufacturerId(tjOrder.getFirmId()); if (byId != null) { customer.setTjCompName(byId.getCnName()); } } customerList.add(customer); } } } return customerList; } //将方法返回值解析成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(); } //总检点击体检信息详情 private List> getAjaxResult(String tjNumber) { List> list = new ArrayList<>(); TjOrder one = orderService.getOrderByTjNum(tjNumber); if (one == null) { return list; } TjCustomer customer = tjCustomerService.getById(one.getUserId()); List remarkList = orderRemarkService.getRemarkListByTjNumAndType(tjNumber); if (null != remarkList && remarkList.size() > 0) { for (TjOrderRemark remark : remarkList) { Map parent = new HashMap<>(); parent.put("checkAdvice", one.getCheckAdvice()); TjProject project = projectService.selectTjProjectByProId(remark.getProId()); if (null != project) { parent.put("parent", project.getProName()); parent.put("parentId", project.getProId().toString()); } List tjOrderDetails = tjOrderDetailService.getDetailByOrderIdAndParId(one.getOrderId(), remark.getProId()); if (null != tjOrderDetails && tjOrderDetails.size() > 0) { for (TjOrderDetail tjOrderDetail : tjOrderDetails) { final TjProject byId = projectService.selectTjProjectByProId(tjOrderDetail.getProId()); if (null == byId) { tjOrderDetailService.removeById(tjOrderDetail.getOrderDetailId()); } else { tjOrderDetail.setProject(byId); } List list2 = tjStandardService.getTjStandardListByProId(String.valueOf(tjOrderDetail.getProId())); if (list2.size() == 0) { tjOrderDetail.setStandard(new TjStandard()); } else if (list2.size() == 1) { tjOrderDetail.setStandard(list2.get(0)); } else { final int ageType = StringUtils.getAgeType(DateUtil.ageOfNow(customer.getCusBrithday())); TjStandard tjStandard1 = tjStandardService.getListBySexAndType(customer.getCusSex(), ageType, String.valueOf(tjOrderDetail.getProId())); tjOrderDetail.setStandard(tjStandard1); } } String summary = remark.getSummary(); if (null != summary) { String[] split = summary.split(";"); // List longList = new ArrayList<>(); // for (String str : split) { // if(!"".equals(str)){ // longList.add(Long.valueOf(str)); // } // } parent.put("parentAdvice", tjAdviceService.getAdviceStringByIds(split)); } else { parent.put("parentAdvice", null); } parent.put("sons", tjOrderDetails); parent.put("remark", remark.getRemark()); if (remark.getDoctorName() != null && null != userService.getById(remark.getDoctorName())) { parent.put("doctorName", userService.getById(remark.getDoctorName()).getNickName()); } list.add(parent); } } } return list; } //已签收/未签收 private List> getYWqsResult(int a) { LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); List> arrayList = new ArrayList<>(); wq.orderByDesc(TjSampling::getApplicationTime); wq.eq(TjSampling::getIsSignFor, a); List list = tjSamplingService.list(wq); if (null != list && list.size() > 0) { Map> stringListMap = list.stream().collect(Collectors.groupingBy(TjSampling::getCusId)); for (Map.Entry> entry : stringListMap.entrySet()) { Map map = new HashMap<>(); TjCustomer customer = tjCustomerService.getById(entry.getKey()); if (customer == null) { continue; } customer.setCusName(hideCusName(customer.getCusName())); customer.setCusPhone(hidePhoneNum(customer.getCusPhone())); customer.setCusIdcard(hideIdCardNum(customer.getCusIdcard())); customer.setTjNumber(entry.getValue().get(0).getTjNum()); customer.setApplicationTime(entry.getValue().get(0).getApplicationTime()); List samplings = entry.getValue(); if (null != samplings && samplings.size() > 0) { List projectList = new ArrayList<>(); for (TjSampling sampling : samplings) { TjProject project = projectService.getById(sampling.getProId()); if (null != project && project.getProParentId() == 0) { projectList.add(sampling); } } map.put("list", projectList); } map.put("customer", customer); arrayList.add(map); } } return arrayList; } /** * 隐藏手机号 * * @param phoneNum * @return */ public static String hidePhoneNum(String phoneNum) { if (null == phoneNum) { return ""; } if (phoneNum.contains("*")) { return phoneNum; } Pattern pattern = Pattern.compile("((13[0-9])|(14[5,7,9])|(15([0-3]|[5-9]))|(17[0,1,3,5,6,7,8])|(18[0-9])|(19[8|9]))\\d{8}"); Matcher matcher = pattern.matcher(phoneNum); StringBuffer sb = new StringBuffer(); try { while (matcher.find()) { String phoneStr = matcher.group(); phoneStr = phoneStr.substring(0, 3) + "****" + phoneStr.substring(7, phoneStr.length()); matcher.appendReplacement(sb, phoneStr); } matcher.appendTail(sb); } catch (Exception ex) { ex.printStackTrace(); } return sb.toString(); } /** * 隐藏身份证号码 * * @param idCardNum * @return */ public static String hideIdCardNum(String idCardNum) { if (null == idCardNum) { return ""; } if (idCardNum.contains("*")) { return idCardNum; } Pattern pattern = Pattern.compile("(\\d{6})(19|20)(\\d{2})(1[0-2]|0[1-9])(0[1-9]|[1-2][0-9]|3[0-1])(\\d{3})(\\d|X|x)"); Matcher matcher = pattern.matcher(idCardNum); StringBuffer sb = new StringBuffer(); try { while (matcher.find()) { String idCardStr = matcher.group(); int len = idCardStr.length(); if (len >= 9) { idCardStr = idCardStr.replaceAll("(.{" + (len < 12 ? 3 : 6) + "})(.*)(.{4})", "$1" + "****" + "$3"); } matcher.appendReplacement(sb, idCardStr); } matcher.appendTail(sb); } catch (Exception ex) { ex.printStackTrace(); } return sb.toString(); } /** * 隐藏用户姓名 * * @param cusName * @return */ public static String hideCusName(String cusName) { if (null == cusName) { return ""; } if (!cusName.contains("*")) { String realname = null; char[] r = cusName.toCharArray(); if (r.length == 1) { realname = cusName; } if (r.length == 2) { realname = cusName.replaceFirst(cusName.substring(1), "*"); } if (r.length > 2) { realname = cusName.replaceFirst(cusName.substring(1, r.length - 1), "*"); } return realname; } return cusName; } //临时表添加单项 public void saveRedisTransitionByProId(String cusId,String cardId, List proIds) { for (Long proId : proIds) { TjProject project = projectService.selectTjProjectByProId(proId); if(null !=project){ //&& (!project.getProName().contains("静脉采血")|| !project.getProName().contains("费")) List transitionList = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(cusId, String.valueOf(proId)); if (null == transitionList || transitionList.size() == 0) { transitionService.saveRedisTransitionByProId(cusId,cardId, proId); } } // if(null !=project) transitionService.saveRedisTransitionByProId(cusId,cardId, proId); } } //向缓存中添加 父项目的子项目详情 private Map getOrderDetailByProParentId(String proParentId, String tjNumber) { TjOrderRemark remark = orderRemarkService.getTjOrderRemarkByTjNumAndProParentId(tjNumber, proParentId); List proParentList = projectService.getTjProjectListBySoneId(proParentId); if (null == proParentList) { return AjaxResult.error("该项目下暂时没数据"); } List proParentIdList = proParentList.stream().map(TjProject::getProId).collect(Collectors.toList()); TjOrder one = orderService.getOrderByTjNum(tjNumber); if (null == one) { return AjaxResult.success("该用户暂时没有体检数据"); } List tjOrderDetails = tjOrderDetailService.getTjOrderDetailListInProParentIdList(String.valueOf(one.getOrderId()), proParentIdList); TjCustomer customer = tjCustomerService.getById(one.getUserId()); if (null != tjOrderDetails && tjOrderDetails.size() > 0) { for (TjOrderDetail tjOrderDetail : tjOrderDetails) { TjProject project = projectService.getById(tjOrderDetail.getProId()); List rulesList = tjRulesService.getTjRulesListByTjNumAndProId(tjNumber, tjOrderDetail.getProId()); tjOrderDetail.setRulesList(rulesList); //查标准和单位----start List list26 = tjStandardService.getTjStandardListByProId(String.valueOf(tjOrderDetail.getProId())); if (list26.size() == 0) { project.setProMetering("/"); project.setProScope("/"); } else if (list26.size() == 1) { project.setProMetering(list26.get(0).getCompany() == null ? " " : list26.get(0).getCompany()); project.setProScope((list26.get(0).getTjStandardLtValue() == null ? " " : list26.get(0).getTjStandardLtValue()) + "-" + (list26.get(0).getTjStandardGtValue() == null ? " " : list26.get(0).getTjStandardGtValue())); } else { Long cusSex = customer.getCusSex(); Date cusBrithday = customer.getCusBrithday(); int age = DateUtil.ageOfNow(cusBrithday); for (TjStandard tjStandard : list26) { LambdaQueryWrapper wq8 = new LambdaQueryWrapper<>(); if (tjStandard.getTjSex() != null) { wq8.eq(TjStandard::getTjSex, cusSex); } if (tjStandard.getTjType() != null) { wq8.eq(TjStandard::getTjType, StringUtils.getAgeType(age)); } TjStandard standard = tjStandardService.getOne(wq8); project.setProMetering(standard.getCompany()); project.setProScope((standard.getTjStandardLtValue() == null ? " " : standard.getTjStandardLtValue()) + "-" + (standard.getTjStandardGtValue() == null ? " " : standard.getTjStandardGtValue())); } } //查标准和单位-----end tjOrderDetail.setProject(project); List list2 = tjStandardService.getTjStandardListByProId(String.valueOf(project.getProId())); if (list2.size() == 0) { tjOrderDetail.setStandard(null); } else if (list2.size() == 1) { tjOrderDetail.setStandard(list2.get(0)); } else { for (TjStandard tjStandard : list2) { LambdaQueryWrapper wq8 = new LambdaQueryWrapper<>(); if (tjStandard.getTjSex() != null) { wq8.eq(TjStandard::getTjSex, customer.getCusSex()); } if (tjStandard.getTjType() != null) { wq8.eq(TjStandard::getTjType, StringUtils.getAgeType(DateUtil.ageOfNow(customer.getCusBrithday()))); } TjStandard standard = tjStandardService.getOne(wq8); tjOrderDetail.setStandard(standard); } } if (null != remark.getDoctorName()) { //lg0412 SysUser byId = userService.getById(remark.getDoctorName()); if (byId != null) { tjOrderDetail.setDoctorName(userService.getById(remark.getDoctorName()).getNickName()); } } else { tjOrderDetail.setDoctorName(null); } } } Map map = new HashMap<>(); List adviceList = new ArrayList<>(); if (null != remark) { String[] strings = StringUtils.split(remark.getSummary(), ";"); if (null != strings && strings.length > 0) { List list = tjAdviceService.getAdviceStringByIds(strings); adviceList.addAll(list); } map.put("xiaoJieIds", StringUtils.split(remark.getSummary(), ";")); } else { map.put("xiaoJieIds", null); } map.put("sons", tjOrderDetails); map.put("xiaoJie", adviceList); map.put("remark", remark.getRemark()); return map; } @Override public void tjUpdateDetatilByVi(String s) { } }