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.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.OutpinexamapplyDto;
|
import com.ltkj.hosp.hisDto.OutpintestapplyDetailsDto;
|
import com.ltkj.hosp.hisDto.OutpintestapplyDto;
|
import com.ltkj.hosp.hisDto.OutpintreatapplyDto;
|
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.ISysUserService;
|
import com.ltkj.web.controller.his.HisApiGetMethodService;
|
import com.ltkj.web.controller.his.HisApiMethodService;
|
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
|
*/
|
|
@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;
|
|
@Override
|
public void newSaveextracted(TjOrder tjOrder, TjCustomer tjCustomer, BigDecimal discount, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) {
|
long l = System.currentTimeMillis();
|
|
LambdaQueryWrapper<TjAskMedicalHistory> 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<TbTransition> tbTransitionList = null;
|
if (redisCache.hasKey(tjCustomer.getCusIdcard())) {
|
tbTransitionList = redisCache.getCacheList(tjCustomer.getCusIdcard());
|
redisCache.deleteObject(tjCustomer.getCusIdcard());
|
} else {
|
LambdaQueryWrapper<TbTransition> 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()));
|
|
//修改每项的原价现价
|
for (TbTransition transition : tbTransitionList) {
|
transition.setOrdPrice(transition.getNowPrice());
|
transition.setNowPrice(transition.getNowPrice().multiply(discount));
|
transitionService.updateById(transition);
|
}
|
}
|
LambdaQueryWrapper<TjOrderDetail> wrapper1 = new LambdaQueryWrapper<>();
|
wrapper1.eq(TjOrderDetail::getOrderId, tjOrder.getOrderId());
|
List<TjOrderDetail> 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()));
|
if (!b) {
|
List<TjGroupingPro> proList = groupingProService.list(new LambdaQueryWrapper<TjGroupingPro>().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<String> list = proList.stream().map(TjGroupingPro::getProId).collect(Collectors.toList());
|
List<TjProject> projectList = projectService.list(new LambdaQueryWrapper<TjProject>().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()));
|
// List<TjOrderDetail> 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<TjConsumables> list2, List<TbTransition> 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<TbTransition> collect1 = tbTransitionList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(TbTransition::getParentProId))), ArrayList::new));
|
List<Long> 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<TjProConsumables> wqqq = new LambdaQueryWrapper<>();
|
wqqq.eq(TjProConsumables::getProId, parentProject.getProId());
|
List<TjProConsumables> 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<String, Object> map = getOrderDetailByProParentId(String.valueOf(parentProId), order.getTjNumber());
|
redisCache.setCacheMapValue("getOrderDetailByProParentId" + order.getTjNumber(), String.valueOf(parentProId), map);
|
}
|
}
|
}
|
|
ArrayList<TjConsumables> 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<TjOrderDetail> wq = new LambdaQueryWrapper<>();
|
wq.eq(TjOrderDetail::getOrderId, order.getOrderId());
|
wq.isNotNull(TjOrderDetail::getFlowingWaterId);
|
wq.eq(TjOrderDetail::getIsSampling, 0);
|
List<TjOrderDetail> detailList = tjOrderDetailService.list(wq);
|
if (null != detailList && detailList.size() > 0) {
|
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<TjOrderDetail> list, SysUser sysUser) {
|
for (TjOrderDetail tjOrderDetail : list) {
|
LambdaQueryWrapper<TjProject> 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<TjOrderRemark> 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<TjOrderDetail> tjOrderDetailList, SysUser sysUser, TjOrder order) {
|
for (TjOrderDetail detail : tjOrderDetailList) {
|
detail.setTjStatus(1L);
|
LambdaQueryWrapper<TjStandard> 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<TjStandard> 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");
|
List<TjConsumables> list2 = new ArrayList<>();
|
String[] tjProIds = tjFlowingWater.getTjProIds();
|
|
String config = configService.selectConfigByKey("sfkqdyhis");
|
|
//检验
|
List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>();
|
|
//检查
|
List<OutpintestapplyDetailsDto> detailsDtoss = new ArrayList<>();
|
|
|
//处置
|
List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>();
|
|
|
List<TjProject> projectList=new ArrayList<>();
|
|
for (String tjProId : tjProIds) {
|
LambdaQueryWrapper<TbTransition> wqq = new LambdaQueryWrapper<>();
|
wqq.eq(TbTransition::getCusId, customer.getCusIdcard());
|
TjProject project = projectService.selectTjProjectByProId(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()));
|
orderRemarkService.save(tjOrderRemark);
|
|
List<Long> 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()));
|
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");
|
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()));
|
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 (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(1);
|
detailsDtos.add(detailsDto);
|
}
|
}
|
|
//检查
|
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 (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(1);
|
detailsDtoss.add(detailsDto);
|
}
|
}
|
|
//处置
|
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 (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(1);
|
detailDtos.add(detailsDto);
|
}
|
}
|
}
|
|
|
|
} else {
|
wqq.in(TbTransition::getProId, Arrays.asList(tjProIds));
|
TjProject projects = projectService.selectTjProjectByProId(Long.valueOf(tjProId));
|
if (null != projects) {
|
TjProject projectss = projectService.selectTjProjectByProId(projects.getProParentId());
|
if (null != projectss && projectss.getProParentId()==0L) {
|
projectList.add(projectss);
|
}
|
|
|
}
|
// List<Long> 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()));
|
tjOrderDetailService.save(detail);
|
|
}
|
|
List<TbTransition> tbTransitionList = transitionService.list(wqq);
|
if (null != tbTransitionList && tbTransitionList.size() > 0) {
|
for (TbTransition transition : tbTransitionList) {
|
transition.setNowPrice(transition.getOrdPrice().multiply(BigDecimal.valueOf(Double.parseDouble(tjFlowingWater.getDiscount())).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(dates);
|
tjChargingStandard.setUpdateBy(sysUser.getNickName());
|
tjChargingStandard.setUpdateTime(dates);
|
tjChargingStandard.setCreateId(String.valueOf(sysUser.getUserId()));
|
tjChargingStandard.setUpdateId(String.valueOf(sysUser.getUserId()));
|
chargingStandardService.save(tjChargingStandard);
|
}
|
}
|
//父项
|
|
TjProject parentProject = projectService.selectTjProjectByProId(Long.valueOf(tjProId));
|
if (null != parentProject && parentProject.getProParentId() == 0) {
|
LambdaQueryWrapper<TjProConsumables> wqqq = new LambdaQueryWrapper<>();
|
wqqq.eq(TjProConsumables::getProId, parentProject.getProId());
|
List<TjProConsumables> proConsumables = proConsumablesService.list(wqqq);
|
if (null != proConsumables && proConsumables.size() > 0) {
|
for (TjProConsumables tjProConsumables : proConsumables) {
|
TjConsumables tjConsumables = consumablesService.selectTjConsumablesById(tjProConsumables.getConsumablesId());
|
list2.add(tjConsumables);
|
}
|
}
|
|
} else {
|
TjProject parentProjects = projectService.getById(tjProId);
|
if (null != parentProjects) {
|
LambdaQueryWrapper<TjProConsumables> wqqq = new LambdaQueryWrapper<>();
|
wqqq.eq(TjProConsumables::getProId, parentProjects.getProId());
|
List<TjProConsumables> proConsumables = proConsumablesService.list(wqqq);
|
if (null != proConsumables && proConsumables.size() > 0) {
|
for (TjProConsumables tjProConsumables : proConsumables) {
|
TjConsumables tjConsumables = consumablesService.selectTjConsumablesById(tjProConsumables.getConsumablesId());
|
list2.add(tjConsumables);
|
}
|
}
|
}
|
}
|
}
|
}
|
|
if(projectList.size()>0){
|
List<TjProject> 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()));
|
orderRemarkService.save(tjOrderRemark);
|
|
TjOrderDetail detail1 = new TjOrderDetail();
|
detail1.setTjStatus(0L);
|
detail1.setOrderId(tjFlowingWater.getOrderId());
|
// detail1.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber()));
|
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()));
|
tjOrderDetailService.save(detail1);
|
if(null !=config && config.equals("Y")){
|
//检验
|
if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && (project.getDeptId() == 241L || project.getDeptId() == 317L)) {
|
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(1);
|
detailsDtos.add(detailsDto);
|
}
|
}
|
|
//检查
|
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 (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(1);
|
detailsDtoss.add(detailsDto);
|
}
|
}
|
|
//处置
|
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 (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(1);
|
detailDtos.add(detailsDto);
|
}
|
}
|
}
|
}
|
}
|
|
if(null !=config && config.equals("Y")){
|
|
|
//检验申请
|
if(detailsDtos.size()>0){
|
OutpintestapplyDto dto = new OutpintestapplyDto();
|
dto.setHisRegistrationId(order.getCardId());
|
dto.setSfjz(customer.getCusIdcard());
|
dto.setSqysbm(sysUser.getUserName());
|
dto.setMzksbm("0101");
|
dto.setSjrq(date);
|
dto.setCzybm("00029");
|
dto.setCzyksbm("0101");
|
dto.setSfjz("1");
|
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")) {
|
Map<String, Object> datas = object3.getJSONObject("ResultData");
|
datas.put("cardId", order.getCardId());
|
JSONObject object4 = JSONUtil.parseObj(datas);
|
LambdaQueryWrapper<HisApiConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, "Outpintestapply");
|
HisApiConfig hisApiConfig = hisApiConfigService.getOne(lambdaQueryWrapper);
|
hisApiGetMethodService.save(object4, "Outpintestapply", hisApiConfig,JSONUtil.toJsonStr(BeanUtil.beanToMap(dto)));
|
|
}
|
}
|
|
//门诊检查申请
|
if(detailsDtoss.size()>0){
|
OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto();
|
outpinexamapplyDto.setHisRegistrationId(order.getCardId());
|
outpinexamapplyDto.setSfzh(customer.getCusIdcard());
|
outpinexamapplyDto.setSqysbm(sysUser.getUserName());
|
outpinexamapplyDto.setMzksbm("0101");
|
outpinexamapplyDto.setCzybm("00029");
|
outpinexamapplyDto.setCzyksbm("0101");
|
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")) {
|
Map<String, Object> map = object5.getJSONObject("ResultData");
|
map.put("cardId", order.getCardId());
|
JSONObject jsonObject = JSONUtil.parseObj(map);
|
LambdaQueryWrapper<HisApiConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, "Outpinexamapply");
|
HisApiConfig hisApiConfig = hisApiConfigService.getOne(lambdaQueryWrapper);
|
hisApiGetMethodService.save(jsonObject, "Outpinexamapply", hisApiConfig,JSONUtil.toJsonStr(BeanUtil.beanToMap(outpinexamapplyDto)));
|
|
}
|
}
|
|
|
//门诊治疗处置申请
|
if(detailDtos.size()>0){
|
OutpintreatapplyDto dao = new OutpintreatapplyDto();
|
dao.setHisRegistrationId(order.getCardId());
|
dao.setSfzh(customer.getCusIdcard());
|
dao.setSqysbm(sysUser.getUserName());
|
dao.setMzksbm("0101");
|
dao.setSjrq(date);
|
dao.setCzybm("00029");
|
dao.setCzyksbm("0101");
|
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")) {
|
Map<String, Object> map = mzylyzsq3.getJSONObject("ResultData");
|
map.put("cardId", order.getCardId());
|
JSONObject jsonObject = JSONUtil.parseObj(map);
|
LambdaQueryWrapper<HisApiConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, "Outpintreatapply");
|
HisApiConfig hisApiConfig = hisApiConfigService.getOne(lambdaQueryWrapper);
|
hisApiGetMethodService.save(jsonObject, "Outpintreatapply", hisApiConfig,JSONUtil.toJsonStr(BeanUtil.beanToMap(dao)));
|
}
|
}
|
|
|
}
|
|
|
//父项耗材
|
ArrayList<TjConsumables> 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);
|
}
|
}
|
|
@Override
|
@Async("async")
|
public void dockerSetCustomerLisByRedis(List<Long> ksproList, String ksId) {
|
|
List<TjCustomer> yjAjaxResult = getYjAjaxResult(ksproList);
|
List<TjCustomer> 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<TjCustomer> wsResult = getWsResult(config);
|
List<TjCustomer> ysResult = getYsResult(config);
|
redisCache.setCacheMapValue("check", "ws", wsResult);
|
redisCache.setCacheMapValue("check", "ys", ysResult);
|
//查询
|
}
|
|
@Override
|
@Async("async")
|
public void wCScheckSetCustomerLisByRedis(List<TjOrder> orderList) {
|
List<TjCustomer> 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<TjOrder> orderList) {
|
List<TjCustomer> 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<TjProject> refundPros, String tjNum) {
|
for (TjProject refundPro : refundPros) {
|
LambdaQueryWrapper<TjProject> wq0 = new LambdaQueryWrapper<>();
|
wq0.eq(TjProject::getProParentId, refundPro.getProId());
|
List<Long> collect = projectService.list(wq0).stream().map(TjProject::getProId).collect(Collectors.toList());
|
LambdaQueryWrapper<TjSampling> wq1 = new LambdaQueryWrapper<>();
|
wq1.eq(TjSampling::getTjNum, tjNum);
|
wq1.in(TjSampling::getProId, collect);
|
List<TjSampling> list = samplingService.list(wq1);
|
if (null != list && list.size() > 0)
|
samplingService.removeByIds(list.stream().map(TjSampling::getId).collect(Collectors.toList()));
|
LambdaQueryWrapper<TjSampling> 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<QjDomainVo> domainVos, SysUser sysUser, Set<String> 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<TjProject> wq1 = new LambdaQueryWrapper<>();
|
wq1.eq(TjProject::getProParentId, remark.getProId());
|
wq1.eq(TjProject::getNeedReport, "Y");
|
List<TjProject> projectList = projectService.list(wq1);
|
if (null != projectList && projectList.size() > 0) {
|
List<Long> collect = projectList.stream().map(TjProject::getProId).collect(Collectors.toList());
|
LambdaQueryWrapper<TjOrderDetail> wq2 = new LambdaQueryWrapper<>();
|
wq2.eq(TjOrderDetail::getOrderId, order.getOrderId());
|
wq2.in(TjOrderDetail::getProId, collect);
|
List<TjOrderDetail> 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<TjPackageProject> 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<TjProject> wq2 = new LambdaQueryWrapper<>();
|
wq2.eq(TjProject::getProParentId, project.getProId());
|
List<TjProject> 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<Long> 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<Long> 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<TjProject> wq1 = new LambdaQueryWrapper<>();
|
wq1.eq(TjProject::getProParentId, project.getProId());
|
List<TjProject> tjProSonList = projectService.list(wq1);
|
if (null != tjProSonList && tjProSonList.size() > 0) {
|
for (TjProject tjProject : tjProSonList) {
|
List<TbTransition> 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<TjPackage>().eq(TjPackage::getPacStatus, 0)));
|
}
|
|
@Override
|
@Async("async")
|
public void addNewReservationConfirm(List<TjReservation> rightList) {
|
if (null != rightList && rightList.size() > 0) {
|
for (TjReservation reservation : rightList) {
|
transitionService.deletedTbTransitionByCusId(reservation.getIdCard());
|
List<AddNewReservationConfirm> confirmList = groupingProService.getAddNewReservationConfirm(reservation.getGroupingId());
|
if (null != confirmList && confirmList.size() > 0) {
|
for (AddNewReservationConfirm confirm : confirmList) {
|
List<TbTransition> 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<TjReservation> 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<TjOrder> list) {
|
|
redisCache.setCacheMapValue("getPrintOrderList", "0", extracted(0, list));
|
redisCache.setCacheMapValue("getPrintOrderList", "1", extracted(1, list));
|
|
}
|
|
@Override
|
@Async("async")
|
public void getDictSfxms() {
|
List<DictSfxm> dictSfxm = getDictSfxm();
|
redisCache.setCacheObject("getDictSfxms", dictSfxm);
|
}
|
|
@Override
|
@Async("async")
|
public void getOrderDetailByProParentId(String tjNumber, Map<String, Object> 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<TbTransition> tbTransitionList, SysUser sysUser) {
|
List<TjConsumables> 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<TbTransition> collect1 = tbTransitionList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(TbTransition::getParentProId))), ArrayList::new));
|
List<Long> 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<TjProConsumables> wqqq = new LambdaQueryWrapper<>();
|
wqqq.eq(TjProConsumables::getProId, parentProject.getProId());
|
List<TjProConsumables> proConsumables = proConsumablesService.list(wqqq);
|
if (null != proConsumables && proConsumables.size() > 0) {
|
for (TjProConsumables tjProConsumables : proConsumables) {
|
TjConsumables tjConsumables = consumablesService.selectTjConsumablesById(tjProConsumables.getConsumablesId());
|
list2.add(tjConsumables);
|
}
|
}
|
}
|
}
|
}
|
|
ArrayList<TjConsumables> 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<TjOrderDetail> wq = new LambdaQueryWrapper<>();
|
wq.eq(TjOrderDetail::getOrderId, order.getOrderId());
|
wq.isNotNull(TjOrderDetail::getFlowingWaterId);
|
wq.eq(TjOrderDetail::getIsSampling, 0);
|
List<TjOrderDetail> detailList = tjOrderDetailService.list(wq);
|
if (null != detailList && detailList.size() > 0) {
|
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);
|
}
|
}
|
}
|
|
//首页饼状图登记人数接口
|
private AjaxResult getPieCharts() {
|
Map<String, Object> map = new HashMap<>();
|
|
//获取体检登记数
|
LambdaQueryWrapper<TjOrder> wq0 = new LambdaQueryWrapper<>();
|
wq0.between(TjOrder::getCreateTime, DateUtil.lastMonth(), DateUtil.now());
|
List<TjOrder> orderCountList = orderService.list(wq0);
|
if (null != orderCountList && orderCountList.size() > 0) {
|
List<PieChartVo> pieChartVoList = getTjorderCountMap(orderCountList);
|
map.put("tjdj", pieChartVoList);
|
} else {
|
map.put("tjdj", 0);
|
}
|
//获取体检异常数
|
LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>();
|
wq1.between(TjOrder::getFinishTime, DateUtil.lastMonth(), DateUtil.now());
|
wq1.eq(TjOrder::getCheckStatus, 1);
|
List<TjOrder> orderAbnormalCountList = orderService.list(wq1);
|
if (null != orderAbnormalCountList && orderAbnormalCountList.size() > 0) {
|
List<PieChartVo> pieChartVoList = getTjorderAbnormalCountMap(orderAbnormalCountList);
|
map.put("tjyc", pieChartVoList);
|
} else {
|
map.put("tjyc", 0);
|
}
|
|
return AjaxResult.success(map);
|
}
|
|
//首页折线图数据
|
private AjaxResult getLineCharts() {
|
// List<Map<Object, Object>> line = orderService.getLine();
|
List<LineChartsVo> line = orderService.getLine();
|
Collections.reverse(line);
|
return AjaxResult.success("折线图数据", line);
|
}
|
|
|
//获取体检登记数
|
private List<PieChartVo> getTjorderCountMap(List<TjOrder> orderList) {
|
int a = 0;
|
int b = 0;
|
int c = 0;
|
int d = 0;
|
int e = 0;
|
Map<String, Object> 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<PieChartVo> pieChartVoList = new ArrayList<>();
|
assert map != null;
|
for (Map.Entry<String, Object> entry : map.entrySet()) {
|
PieChartVo pieChartVo = new PieChartVo();
|
pieChartVo.setName(entry.getKey());
|
pieChartVo.setCount((Integer) entry.getValue());
|
pieChartVoList.add(pieChartVo);
|
}
|
return pieChartVoList;
|
}
|
|
//获取体检异常数
|
private List<PieChartVo> getTjorderAbnormalCountMap(List<TjOrder> orderList) {
|
int a = 0;
|
int b = 0;
|
int c = 0;
|
int d = 0;
|
int e = 0;
|
Map<String, Object> map = null;
|
for (TjOrder tjOrder : orderList) {
|
map = new HashMap<>();
|
LambdaQueryWrapper<TjOrderDetail> wq = new LambdaQueryWrapper<>();
|
wq.eq(TjOrderDetail::getOrderId, tjOrder.getOrderId());
|
wq.eq(TjOrderDetail::getExceptionDesc, 1);
|
List<TjOrderDetail> list = tjOrderDetailService.list(wq);
|
if (null != list && list.size() > 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<PieChartVo> pieChartVoList = new ArrayList<>();
|
assert map != null;
|
for (Map.Entry<String, Object> entry : map.entrySet()) {
|
PieChartVo pieChartVo = new PieChartVo();
|
pieChartVo.setName(entry.getKey());
|
pieChartVo.setCount((Integer) entry.getValue());
|
pieChartVoList.add(pieChartVo);
|
}
|
return pieChartVoList;
|
}
|
|
private List<DictSfxm> getDictSfxm() {
|
List<DictSfxm> dictSfxms = dictSfxmService.getYjDictSfxmList();
|
if (null != dictSfxms && dictSfxms.size() > 0) {
|
for (DictSfxm dictSfxm : dictSfxms) {
|
List<DictSfxm> sfxms = dictSfxmService.getEjDictSfxmList(dictSfxm.getId());
|
if (null != sfxms && sfxms.size() > 0) {
|
for (DictSfxm sfxm : sfxms) {
|
List<DictSfxm> sfx = dictSfxmService.getSjDictSfxmList(dictSfxm.getId());
|
sfxm.setDictSfxms(sfx);
|
}
|
}
|
dictSfxm.setDictSfxms(sfxms);
|
}
|
}
|
return dictSfxms;
|
}
|
|
private List<TjOrder> extracted(Integer type, List<TjOrder> list) {
|
List<TjOrder> 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<TjPackage> tjPackageList) {
|
if (null != tjPackageList && tjPackageList.size() > 0) {
|
for (TjPackage aPackage : tjPackageList) {
|
List<TjProject> tjProjectList = new ArrayList<>();
|
List<TjPackageProject> 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<TjProject> 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<TjProConsumables> list = tjProConsumablesService.list(packageProject.getProId());
|
// List<TjConsumables> list1 = new ArrayList<>();
|
// for (TjProConsumables tjProConsumables : list) {
|
// list1.add(tjConsumablesService.selectTjConsumablesById(tjProConsumables.getConsumablesId()));
|
// }
|
List<TjConsumables> 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<TjPackage> tjPackageList) {
|
if (null != tjPackageList && tjPackageList.size() > 0) {
|
for (TjPackage aPackage : tjPackageList) {
|
List<TjProject> tjProjectList = new ArrayList<>();
|
List<TjPackageProject> 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<TjProject> 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<TjProConsumables> list = tjProConsumablesService.list(packageProject.getProId());
|
// List<TjConsumables> list1 = new ArrayList<>();
|
// for (TjProConsumables tjProConsumables : list) {
|
// list1.add(tjConsumablesService.selectTjConsumablesById(tjProConsumables.getConsumablesId()));
|
// }
|
List<TjConsumables> 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<TjPackage> tjPackageList) {
|
if (null != tjPackageList && tjPackageList.size() > 0) {
|
for (TjPackage aPackage : tjPackageList) {
|
List<TjProject> tjProjectList = new ArrayList<>();
|
List<TjPackageProject> 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<TjConsumables> 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<TjCustomer> getYjAjaxResult(List<Long> ksproList) {
|
List<TjCustomer> customerLis = new ArrayList<>();
|
LambdaQueryWrapper<TjOrderDetail> wq1 = new LambdaQueryWrapper<>();
|
wq1.eq(TjOrderDetail::getTjStatus, 1);
|
wq1.in(TjOrderDetail::getProId, ksproList);
|
wq1.isNotNull(TjOrderDetail::getFlowingWaterId);
|
wq1.orderByDesc(TjOrderDetail::getCreateTime);
|
List<TjOrderDetail> detailList = tjOrderDetailService.list(wq1);
|
if (null != detailList && detailList.size() > 0) {
|
//收集orderId并去重
|
List<Long> 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<TjOrderDetail> qww = new LambdaQueryWrapper<>();
|
qww.eq(TjOrderDetail::getOrderId, order.getOrderId());
|
qww.eq(TjOrderDetail::getTjStatus, 0);
|
qww.isNotNull(TjOrderDetail::getFlowingWaterId);
|
List<TjOrderDetail> 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<TjOrderRemark> wq = new LambdaQueryWrapper<>();
|
wq.eq(TjOrderRemark::getTjNumber, order.getTjNumber());
|
wq.in(TjOrderRemark::getType, 0, 3);
|
List<TjOrderRemark> 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<TjCustomer> getWjAjaxResult(List<Long> ksproList) {
|
List<TjCustomer> customerLis = new ArrayList<>();
|
LambdaQueryWrapper<TjOrderDetail> wq1 = new LambdaQueryWrapper<>();
|
wq1.eq(TjOrderDetail::getTjStatus, 0);
|
wq1.in(TjOrderDetail::getProId, ksproList);
|
wq1.isNotNull(TjOrderDetail::getFlowingWaterId);
|
wq1.orderByDesc(TjOrderDetail::getCreateTime);
|
List<TjOrderDetail> detailList = tjOrderDetailService.list(wq1);
|
if (null != detailList && detailList.size() > 0) {
|
//收集orderId并去重
|
List<Long> 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<TjOrderDetail> qww = new LambdaQueryWrapper<>();
|
qww.eq(TjOrderDetail::getOrderId, order.getOrderId());
|
qww.isNotNull(TjOrderDetail::getFlowingWaterId);
|
List<TjOrderDetail> 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<TjOrderRemark> wq = new LambdaQueryWrapper<>();
|
wq.eq(TjOrderRemark::getTjNumber, order.getTjNumber());
|
wq.in(TjOrderRemark::getType, 0, 3);
|
List<TjOrderRemark> 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<TjOrderDetail> 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<TjOrderDetail> 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<TjOrderRemark> wq = new LambdaQueryWrapper<>();
|
wq.eq(TjOrderRemark::getTjNumber, order.getTjNumber());
|
wq.in(TjOrderRemark::getType, 0, 3);
|
List<TjOrderRemark> 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<TjOrderDetail> qww = new LambdaQueryWrapper<>();
|
qww.eq(TjOrderDetail::getOrderId, order.getOrderId());
|
qww.isNotNull(TjOrderDetail::getFlowingWaterId);
|
List<TjOrderDetail> 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<TjOrderRemark> wq = new LambdaQueryWrapper<>();
|
wq.eq(TjOrderRemark::getTjNumber, order.getTjNumber());
|
wq.in(TjOrderRemark::getType, 0, 3);
|
List<TjOrderRemark> 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<TjCustomer> getYsResult(String config) {
|
List<TjOrder> orderList = null;
|
if ("Y".equals(config)) {
|
orderList = orderService.getCsTjOrderList1(null, 1, null, null, null);
|
} else {
|
orderList = orderService.getTjOrderList(null, 1, null, null, null);
|
}
|
List<TjCustomer> 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<TjCustomer> getWsResult(String config) {
|
List<TjOrder> orderList = null;
|
if ("Y".equals(config)) {
|
orderList = orderService.getCsTjOrderList1(null, 0, null, null, null);
|
} else {
|
orderList = orderService.getTjOrderList(null, 0, null, null, null);
|
}
|
List<TjCustomer> 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<Map<String, Object>> getAjaxResult(String tjNumber) {
|
List<Map<String, Object>> list = new ArrayList<>();
|
TjOrder one = orderService.getOrderByTjNum(tjNumber);
|
if (one == null) {
|
return list;
|
}
|
TjCustomer customer = tjCustomerService.getById(one.getUserId());
|
List<TjOrderRemark> remarkList = orderRemarkService.getRemarkListByTjNumAndType(tjNumber);
|
|
if (null != remarkList && remarkList.size() > 0) {
|
for (TjOrderRemark remark : remarkList) {
|
Map<String, Object> 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<TjOrderDetail> 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<TjStandard> 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<Long> 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<Map<String, Object>> getYWqsResult(int a) {
|
LambdaQueryWrapper<TjSampling> wq = new LambdaQueryWrapper<>();
|
List<Map<String, Object>> arrayList = new ArrayList<>();
|
wq.orderByDesc(TjSampling::getApplicationTime);
|
wq.eq(TjSampling::getIsSignFor, a);
|
List<TjSampling> list = tjSamplingService.list(wq);
|
if (null != list && list.size() > 0) {
|
Map<String, List<TjSampling>> stringListMap = list.stream().collect(Collectors.groupingBy(TjSampling::getCusId));
|
for (Map.Entry<String, List<TjSampling>> entry : stringListMap.entrySet()) {
|
Map<String, Object> 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<TjSampling> samplings = entry.getValue();
|
if (null != samplings && samplings.size() > 0) {
|
List<TjSampling> 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<Long> proIds) {
|
for (Long proId : proIds) {
|
List<TbTransition> transitionList = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(cusId, String.valueOf(proId));
|
if (null != transitionList && transitionList.size() > 0) {
|
continue;
|
}
|
transitionService.saveRedisTransitionByProId(cusId,cardId, proId);
|
}
|
}
|
|
//向缓存中添加 父项目的子项目详情
|
private Map<String, Object> getOrderDetailByProParentId(String proParentId, String tjNumber) {
|
TjOrderRemark remark = orderRemarkService.getTjOrderRemarkByTjNumAndProParentId(tjNumber, proParentId);
|
List<TjProject> proParentList = projectService.getTjProjectListBySoneId(proParentId);
|
if (null == proParentList) {
|
return AjaxResult.error("该项目下暂时没数据");
|
}
|
List<Long> proParentIdList = proParentList.stream().map(TjProject::getProId).collect(Collectors.toList());
|
TjOrder one = orderService.getOrderByTjNum(tjNumber);
|
if (null == one) {
|
return AjaxResult.success("该用户暂时没有体检数据");
|
}
|
List<TjOrderDetail> 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<TjRules> rulesList = tjRulesService.getTjRulesListByTjNumAndProId(tjNumber, tjOrderDetail.getProId());
|
tjOrderDetail.setRulesList(rulesList);
|
|
//查标准和单位----start
|
List<TjStandard> 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<TjStandard> 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<TjStandard> 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<TjStandard> 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<String, Object> map = new HashMap<>();
|
List<TjAdvice> adviceList = new ArrayList<>();
|
if (null != remark) {
|
String[] strings = StringUtils.split(remark.getSummary(), ";");
|
if (null != strings && strings.length > 0) {
|
List<TjAdvice> 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;
|
}
|
}
|