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.json.JSONArray; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.SecurityUtils; 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.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.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.TjOrderController; 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; @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.size() > 0) { 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())); } } if (tjFlowingWater.getPayStasus() == 1) { tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber())); } 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.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); } } 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); } LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); wq.eq(TjOrderDetail::getOrderId, order.getOrderId()); wq.isNotNull(TjOrderDetail::getFlowingWaterId); wq.eq(TjOrderDetail::getIsSampling, 0); List detailList = tjOrderDetailService.list(wq); addCaiYangDengJi(detailList, !detailList.isEmpty(), order, sysUser); } public void addCaiYangDengJi(List detailList, boolean detailList1, TjOrder order, SysUser sysUser) { 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; Long proParentId = projectService.getById(detail.getProId()).getProParentId(); if (null != proParentId && proParentId == 0) { sampling.setSpecimenType(projectService.getById(detail.getProId()).getSpecimenType()); } else { sampling.setSpecimenType(projectService.getById(projectService.getById(detail.getProId()).getProParentId()).getSpecimenType()); } 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())); samplingService.save(sampling); } } } @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 void iundividualCharges(TjFlowingWater tjFlowingWater, TjOrder order, TjCustomer customer, SysUser sysUser) { Date dates = new Date(); final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss"); String jxbz = DateUtil.format(dates, "yyyyMMddHHmmss")+order.getOrderId(); 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 detailsDtos = new ArrayList<>(); //检查 List detailsDtoss = new ArrayList<>(); //处置 List detailDtos = new ArrayList<>(); List outpinmedicapplyDetilsDtos =new ArrayList<>(); List projectList=new ArrayList<>(); for (String tjProId : tjProIds) { // LambdaQueryWrapper wqq = new LambdaQueryWrapper<>(); // wqq.eq(TbTransition::getCusId, customer.getCusIdcard()); // wqq.isNull(TbTransition::getTjNum); 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); } // wqq.in(TbTransition::getProId, proIds); if(null !=config && config.equals("Y")){ //检验 // if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && (project.getDeptId() == 241L || project.getDeptId() == 317L)) { if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getJyDeptIds().contains(project.getDeptId().toString())) { if (null != project.getHisXmbm()) { OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); detailsDto.setMxfyxmbm(project.getHisXmbm()); if (project.getSfzhfy().equals("Y")) { detailsDto.setSfzhfy("1"); } else { detailsDto.setSfzhfy("0"); } detailsDto.setSl(project.getSl()); detailsDtos.add(detailsDto); } if(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 (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && // (project.getDeptId() == 247 || project.getDeptId() == 248 || project.getDeptId() == 249 || // project.getDeptId() == 250 || project.getDeptId() == 251 || project.getDeptId() == 252 || // project.getDeptId() == 271 || project.getDeptId() == 273 || project.getDeptId() == 274 || // project.getDeptId() == 275 || project.getDeptId() == 298)) { if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getJcDeptIds().contains(project.getDeptId().toString())) { if (null != project.getHisXmbm()) { OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); detailsDto.setMxfyxmbm(project.getHisXmbm()); if (project.getSfzhfy().equals("Y")) { detailsDto.setSfzhfy("1"); } else { detailsDto.setSfzhfy("0"); } detailsDto.setSl(project.getSl()); detailsDtoss.add(detailsDto); } if(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 (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && // (project.getDeptId() == 100 || project.getDeptId() == 240 || project.getDeptId() == 253 || // project.getDeptId() == 254 || project.getDeptId() == 255 || project.getDeptId() == 257 || // project.getDeptId() == 258 || project.getDeptId() == 259 || project.getDeptId() == 269 || // project.getDeptId() == 270)) { if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getCzDeptIds().contains(project.getDeptId().toString())) { if (null != project.getHisXmbm()) { OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); detailsDto.setMxfyxmbm(project.getHisXmbm()); if (project.getSfzhfy().equals("Y")) { detailsDto.setSfzhfy("1"); } else { detailsDto.setSfzhfy("0"); } detailsDto.setSl(project.getSl()); detailDtos.add(detailsDto); } if(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); } } } } else { // wqq.in(TbTransition::getProId, Arrays.asList(tjProIds)); 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); } // List tbTransitionList = transitionService.list(wqq); List tbTransitionList = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(customer.getCusIdcard(),tjProId); if (null != tbTransitionList && !tbTransitionList.isEmpty()) { for (TbTransition transition : tbTransitionList) { // transition.setJxbz(jxbz); // transition.setTjNum(order.getTjNumber()); // transition.setCardId(order.getCardId()); // transition.setNowPrice(transition.getOrdPrice().multiply(BigDecimal.valueOf(Double.parseDouble(tjFlowingWater.getDiscount())).divide(BigDecimal.valueOf(10)))); // transitionService.updateById(transition); transitionService.updateTbTransitionById(transition.getId().toString(),jxbz,order.getTjNumber(),order.getCardId(), transition.getOrdPrice().multiply(BigDecimal.valueOf(Double.parseDouble(tjFlowingWater.getDiscount())).divide(BigDecimal.valueOf(10)))); } } } ArrayList jianChaProjects = new ArrayList<>(); ArrayList jianYanProjects = 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); if(null !=config && config.equals("Y")){ //检验 // if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && (project.getDeptId() == 241L || project.getDeptId() == 317L)) { if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getJyDeptIds().contains(project.getDeptId().toString())) { if (null != project.getHisXmbm()) { jianYanProjects.add(project); OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); detailsDto.setMxfyxmbm(project.getHisXmbm()); if (project.getSfzhfy().equals("Y")) { detailsDto.setSfzhfy("1"); } else { detailsDto.setSfzhfy("0"); } detailsDto.setSl(project.getSl()); detailsDtos.add(detailsDto); } if(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 (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && // (project.getDeptId() == 247L || project.getDeptId() == 248L || project.getDeptId() == 249L || // project.getDeptId() == 250L || project.getDeptId() == 251L || project.getDeptId() == 252L || // project.getDeptId() == 271L || project.getDeptId() == 273L || project.getDeptId() == 274L || // project.getDeptId() == 275L || project.getDeptId() == 298L)) { if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getJcDeptIds().contains(project.getDeptId().toString())) { if (null != project.getHisXmbm()) { jianChaProjects.add(project); OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); detailsDto.setMxfyxmbm(project.getHisXmbm()); if (project.getSfzhfy().equals("Y")) { detailsDto.setSfzhfy("1"); } else { detailsDto.setSfzhfy("0"); } detailsDto.setSl(project.getSl()); detailsDtoss.add(detailsDto); } if(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 (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && // (project.getDeptId() == 100L || project.getDeptId() == 240L || project.getDeptId() == 253L || // project.getDeptId() == 254L || project.getDeptId() == 255L || project.getDeptId() == 257L || // project.getDeptId() == 258L || project.getDeptId() == 259L || project.getDeptId() == 269L || // project.getDeptId() == 270L)) { if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getCzDeptIds().contains(project.getDeptId().toString())) { if (null != project.getHisXmbm()) { OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); detailsDto.setMxfyxmbm(project.getHisXmbm()); if (project.getSfzhfy().equals("Y")) { detailsDto.setSfzhfy("1"); } else { detailsDto.setSfzhfy("0"); } detailsDto.setSl(project.getSl()); detailDtos.add(detailsDto); } if(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(null !=config && config.equals("Y")){ if (lisApiMethod.isUseLisAndPacsRegister(order)) { List projectList2 = jianYanProjects.stream().distinct().collect(Collectors.toList()); LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); wq.eq(TjOrderDetail::getOrderId, order.getOrderId()); wq.isNotNull(TjOrderDetail::getFlowingWaterId); wq.eq(TjOrderDetail::getIsSampling, 0); List detailList = tjOrderDetailService.list(wq); addCaiYangDengJi(detailList, !detailList.isEmpty(), order, sysUser); // 检查申请 pacsReg(order, customer, jianChaProjects); }else { //检验申请 if(!detailsDtos.isEmpty()){ OutpintestapplyDto dto = new OutpintestapplyDto(); dto.setHisRegistrationId(order.getCardId()); dto.setSfzh(customer.getCusIdcard()); dto.setSqysbm("00029"); dto.setMzksbm("0101"); dto.setSjrq(date); dto.setCzybm("00029"); dto.setCzyksbm("0101"); dto.setSfjz("0"); dto.setDetails(detailsDtos.stream().distinct().collect(Collectors.toList())); 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.setSfjx("Y"); tree.setJxbz(jxbz); tree.setCardId(dto.getHisRegistrationId()); LambdaQueryWrapper wrapper4 = new LambdaQueryWrapper<>(); wrapper4.eq(TjCustomer::getCardId, tree.getCardId()); TjCustomer tjCustomer = tjCustomerService.getOne(wrapper4); tree.setPationid(tjCustomer.getPationId()); JSONObject resultData = object3.getJSONObject("ResultData"); tree.setSqdh(resultData.getStr("jysqdh")); tree.setFyhj(resultData.getStr("fyhj")); String mxfyxmbm = detail.getMxfyxmbm(); tree.setHisXmdm(mxfyxmbm); tree.setType("检验"); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(TjProject::getHisXmbm, mxfyxmbm); List list = projectService.list(wrapper); String tj_price = ""; for (TjProject project : list) { tj_price += project.getProPrice() + "、"; } tree.setTjPrice(tj_price.substring(0, tj_price.length() - 1)); LambdaQueryWrapper 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(dates); ltkjJianchajianyanTreeService.save(tree); } } } //门诊检查申请 if(!detailsDtoss.isEmpty()){ OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto(); outpinexamapplyDto.setHisRegistrationId(order.getCardId()); outpinexamapplyDto.setSfzh(customer.getCusIdcard()); outpinexamapplyDto.setSqysbm("00029"); outpinexamapplyDto.setMzksbm("0101"); outpinexamapplyDto.setCzybm("00029"); outpinexamapplyDto.setCzyksbm("0101"); outpinexamapplyDto.setSfjz("0"); outpinexamapplyDto.setDetails(detailsDtoss.stream().distinct().collect(Collectors.toList())); 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.setSfjx("Y"); tree.setJxbz(jxbz); tree.setCardId(outpinexamapplyDto.getHisRegistrationId()); LambdaQueryWrapper wrapper4 = new LambdaQueryWrapper<>(); wrapper4.eq(TjCustomer::getCardId, tree.getCardId()); TjCustomer tjCustomer = tjCustomerService.getOne(wrapper4); tree.setPationid(tjCustomer.getPationId()); JSONObject resultData = object5.getJSONObject("ResultData"); tree.setSqdh(resultData.getStr("jcsqdh")); tree.setFyhj(resultData.getStr("fyhj")); String mxfyxmbm = detail.getMxfyxmbm(); tree.setHisXmdm(mxfyxmbm); tree.setType("检查"); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(TjProject::getHisXmbm, mxfyxmbm); List list = projectService.list(wrapper); String tj_price = ""; for (TjProject project : list) { tj_price += project.getProPrice() + "、"; } tree.setTjPrice(tj_price.substring(0, tj_price.length() - 1)); LambdaQueryWrapper 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(dates); ltkjJianchajianyanTreeService.save(tree); } } } } //药品申请 if(!outpinmedicapplyDetilsDtos.isEmpty()){ OutpinmedicapplyDto dto1=new OutpinmedicapplyDto(); dto1.setHisRegistrationId(order.getCardId()); dto1.setSfzh(customer.getCusIdcard()); dto1.setSqysbm("00029"); dto1.setMzksbm("0101"); dto1.setSjrq(date); dto1.setCzybm("00029"); dto1.setCzyksbm("0101"); dto1.setCflxbm("A"); dto1.setYfbm("1"); dto1.setFyts("1"); dto1.setMzzd(""); dto1.setDetails(outpinmedicapplyDetilsDtos); AjaxResult 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"); for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) { TjCf cf=new TjCf(); cf.setCardId(order.getCardId()); cf.setSfzh(customer.getCusIdcard()); cf.setCfh(cfh); cf.setSqysbm("00029"); cf.setSqysxm("王健萍"); cf.setMzksbn("0101"); cf.setSqrq(date); cf.setCzybm("00029"); cf.setYpbm(detilsDto.getYpbm()); cf.setYpmc("尿素[14C]呼气试验药盒"); cf.setSl(String.valueOf(detilsDto.getSl())); cf.setDj(String.valueOf(detilsDto.getDj())); cf.setDcjl(String.valueOf(detilsDto.getDcjl())); cf.setPj(String.valueOf(detilsDto.getPj())); cf.setJj(String.valueOf(detilsDto.getJj())); cf.setCreateTime(new Date()); cf.setJxbz(jxbz); cfService.save(cf); } } } //门诊治疗处置申请 if(!detailDtos.isEmpty()){ OutpintreatapplyDto dao = new OutpintreatapplyDto(); dao.setHisRegistrationId(order.getCardId()); dao.setSfzh(customer.getCusIdcard()); dao.setSqysbm("00029"); dao.setMzksbm("0101"); dao.setSjrq(date); dao.setCzybm("00029"); dao.setCzyksbm("0101"); dao.setSfjz("0"); dao.setDetails(detailDtos.stream().distinct().collect(Collectors.toList())); 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.setSfjx("Y"); tree.setJxbz(jxbz); tree.setCardId(dao.getHisRegistrationId()); LambdaQueryWrapper wrapper4 = new LambdaQueryWrapper<>(); wrapper4.eq(TjCustomer::getCardId, tree.getCardId()); TjCustomer tjCustomer = tjCustomerService.getOne(wrapper4); tree.setPationid(tjCustomer.getPationId()); JSONObject resultData = mzylyzsq3.getJSONObject("ResultData"); tree.setSqdh(resultData.getStr("zlczh")); tree.setFyhj(resultData.getStr("fyhj")); String mxfyxmbm = detail.getMxfyxmbm(); tree.setHisXmdm(mxfyxmbm); tree.setType("处置"); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(TjProject::getHisXmbm, mxfyxmbm); List list = projectService.list(wrapper); String tj_price = ""; for (TjProject project : list) { tj_price += project.getProPrice() + "、"; } tree.setTjPrice(tj_price.substring(0, tj_price.length() - 1)); LambdaQueryWrapper 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(dates); ltkjJianchajianyanTreeService.save(tree); } } } } //父项耗材 // 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(dates); // tjChargingStandard.setUpdateBy(sysUser.getNickName()); // tjChargingStandard.setUpdateTime(dates); // tjChargingStandard.setCreateId(String.valueOf(sysUser.getUserId())); // tjChargingStandard.setUpdateId(String.valueOf(sysUser.getUserId())); // chargingStandardService.save(tjChargingStandard); // } } private 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()); 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); } LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); wq.eq(TjOrderDetail::getOrderId, order.getOrderId()); wq.isNotNull(TjOrderDetail::getFlowingWaterId); wq.eq(TjOrderDetail::getIsSampling, 0); List detailList = tjOrderDetailService.list(wq); addCaiYangDengJi(detailList, detailList.size() > 0, order, sysUser); } //首页饼状图登记人数接口 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; } }