| | |
| | | package com.ltkj.web.controller.service; |
| | | |
| | | import cn.hutool.core.bean.BeanUtil; |
| | | import cn.hutool.core.date.DateTime; |
| | | import cn.hutool.core.date.DateUtil; |
| | | import cn.hutool.core.util.IdUtil; |
| | | import cn.hutool.json.JSONArray; |
| | | import cn.hutool.json.JSONObject; |
| | | import cn.hutool.json.JSONUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.ltkj.common.core.domain.AjaxResult; |
| | | import com.ltkj.common.core.domain.entity.SysUser; |
| | | import com.ltkj.common.core.redis.RedisCache; |
| | | import com.ltkj.common.utils.SecurityUtils; |
| | | import com.ltkj.common.utils.IdUtils; |
| | | import com.ltkj.common.utils.StringUtils; |
| | | import com.ltkj.framework.config.MatchUtils; |
| | | import com.ltkj.hosp.domain.*; |
| | | import com.ltkj.hosp.hisDto.*; |
| | | import com.ltkj.hosp.pacsDto.SavePacsApply; |
| | | import com.ltkj.hosp.service.*; |
| | | import com.ltkj.hosp.vodomain.AddNewReservationConfirm; |
| | | import com.ltkj.hosp.vodomain.LineChartsVo; |
| | | import com.ltkj.hosp.vodomain.PieChartVo; |
| | | import com.ltkj.hosp.vodomain.QjDomainVo; |
| | | import com.ltkj.mall.mallOrderUtils.TjConstants; |
| | | import com.ltkj.system.service.ISysConfigService; |
| | | import com.ltkj.system.service.ISysDeptService; |
| | | import com.ltkj.system.service.ISysDictDataService; |
| | | import com.ltkj.system.service.ISysUserService; |
| | | import com.ltkj.web.controller.his.HisApiGetMethodService; |
| | | import com.ltkj.web.controller.his.HisApiMethodService; |
| | | import com.ltkj.web.controller.lis.LisApiMethod; |
| | | import com.ltkj.web.controller.pacs.PacsApiMethodService; |
| | | import com.ltkj.web.controller.system.SamplingServiceApi; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.scheduling.annotation.Async; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | * @Date: 2023/9/15 15:57 |
| | | */ |
| | | |
| | | @Slf4j |
| | | @Service |
| | | @Transactional |
| | | public class TjSysAsyncServiceImpl implements TjAsyncService { |
| | |
| | | private IDictSfxmService dictSfxmService; |
| | | @Autowired |
| | | private ITjRulesService tjRulesService; |
| | | @Autowired |
| | | private HisApiMethodService controller; |
| | | @Autowired |
| | | private HisApiConfigService hisApiConfigService; |
| | | @Autowired |
| | | private HisApiGetMethodService hisApiGetMethodService; |
| | | @Resource |
| | | private ISysConfigService configService; |
| | | @Autowired |
| | | private LtkjJfzhglmxjfxmzdService ltkjJfzhglmxjfxmzdService; |
| | | @Autowired |
| | | private LtkjMxjfxmzdService ltkjMxjfxmzdService; |
| | | @Autowired |
| | | private LtkjEjjfxmzdService ltkjEjjfxmzdService; |
| | | @Autowired |
| | | private LtkjJianchajianyanTreeService ltkjJianchajianyanTreeService; |
| | | @Autowired |
| | | private TjProBlService blService; |
| | | @Resource |
| | | private ITjFlowingWaterService tjFlowingWaterService; |
| | | @Resource |
| | | private ISysDeptService deptService; |
| | | @Autowired |
| | | private TjCfService cfService; |
| | | @Resource |
| | | private LtkjHysqdService hysqdService; |
| | | @Autowired |
| | | private PacsApiMethodService pacsApiMethodService; |
| | | @Autowired |
| | | private LisApiMethod lisApiMethod; |
| | | @Autowired |
| | | private IdUtils idUtils; |
| | | @Autowired |
| | | private LtkjJybbzdService jybbzdService; |
| | | @Autowired |
| | | private LisJyflhbService lisJyflhbService; |
| | | @Autowired |
| | | private SamplingServiceApi samplingServiceApi; |
| | | @Autowired |
| | | private ISysDictDataService sysDictDataService; |
| | | |
| | | |
| | | @Override |
| | |
| | | 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())); |
| | | tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()),tjOrder.getCardId()); |
| | | |
| | | //修改每项的原价现价 |
| | | for (TbTransition transition : tbTransitionList) { |
| | |
| | | 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())); |
| | | boolean b = tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), |
| | | String.valueOf(sysUser.getUserId()),tjOrder.getCardId()); |
| | | if (!b) { |
| | | List<TjGroupingPro> proList = groupingProService.list(new LambdaQueryWrapper<TjGroupingPro>().eq(TjGroupingPro::getGroupingId, tjOrder.getGroupId())); |
| | | if (null != proList && proList.size() > 0) { |
| | | if (null != proList && !proList.isEmpty()) { |
| | | for (TjGroupingPro groupingPro : proList) { |
| | | TjOrderDetail detail = new TjOrderDetail(); |
| | | // if (null != transition.getPacId()) { |
| | |
| | | tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()), |
| | | sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber())); |
| | | } |
| | | if (tjFlowingWater.getDiscount() == null) { |
| | | transitionService.updateTbTransitionPriceByCusId(tjCustomer.getCusIdcard(), new BigDecimal(10), tjOrder.getTjNumber()); |
| | | } else { |
| | | transitionService.updateTbTransitionPriceByCusId(tjCustomer.getCusIdcard(), BigDecimal.valueOf(Long.parseLong(tjFlowingWater.getDiscount())), tjOrder.getTjNumber()); |
| | | } |
| | | |
| | | tjOrderDetailService.saveTjPureToneTesByCusId(tjCustomer.getCusIdcard(), tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()),tjOrder.getCardId()); |
| | | // List<TjOrderDetail> list = tjOrderDetailService.getTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId())); |
| | | // if (list != null) { |
| | | // for (TjOrderDetail tjOrderDetail : list) { |
| | |
| | | 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); |
| | | // 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) { |
| | |
| | | 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) { |
| | | // 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); |
| | | List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(order.getOrderId()); |
| | | addCaiYangDengJi(detailList, !detailList.isEmpty(), order, sysUser,null); |
| | | } |
| | | |
| | | public void addCaiYangDengJi(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser,String jxbz) { |
| | | if (null != detailList && detailList1) { |
| | | String format = DateUtil.format(new Date(), "yyMMddHHmmssSSS"); |
| | | for (TjOrderDetail detail : detailList) { |
| | | TjSampling sampling = new TjSampling(); |
| | | if (null == projectService.getById(detail.getProId())) continue; |
| | | Long proParentId = projectService.getById(detail.getProId()).getProParentId(); |
| | | TjProject project = projectService.getById(detail.getProId()); |
| | | Long proParentId = project.getProParentId(); |
| | | if (null != proParentId && proParentId == 0) { |
| | | sampling.setSpecimenType(projectService.getById(detail.getProId()).getSpecimenType()); |
| | | sampling.setJyxh(idUtils.generateLisID()); |
| | | LtkjJyxmzd jyxmzd = lisApiMethod.getJyxmzd(project); |
| | | if (jyxmzd != null) { |
| | | sampling.setSpecimenTypeCode(jyxmzd.getJybbdm()); |
| | | LambdaQueryWrapper<LtkjJybbzd> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm()); |
| | | LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper); |
| | | sampling.setSpecimenType(jybbzd.getJybbmc()); |
| | | sampling.setJyxmdm(jyxmzd.getJyxmdm()); |
| | | } |
| | | } else { |
| | | sampling.setSpecimenType(projectService.getById(projectService.getById(detail.getProId()).getProParentId()).getSpecimenType()); |
| | | TjProject project1 = projectService.getById(proParentId); |
| | | sampling.setJyxh(idUtils.generateLisID()); |
| | | LtkjJyxmzd jyxmzd = lisApiMethod.getJyxmzd(project1); |
| | | if (jyxmzd != null) { |
| | | sampling.setSpecimenTypeCode(jyxmzd.getJybbdm()); |
| | | LambdaQueryWrapper<LtkjJybbzd> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm()); |
| | | LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper); |
| | | sampling.setSpecimenType(jybbzd.getJybbmc()); |
| | | sampling.setJyxmdm(jyxmzd.getJyxmdm()); |
| | | } |
| | | } |
| | | sampling.setSamplingNumber(format); |
| | | sampling.setTjNum(order.getTjNumber()); |
| | |
| | | sampling.setUpdateTime(new Date()); |
| | | sampling.setCreateId(String.valueOf(sysUser.getUserId())); |
| | | sampling.setUpdateId(String.valueOf(sysUser.getUserId())); |
| | | sampling.setJxbz(jxbz); |
| | | samplingService.save(sampling); |
| | | } |
| | | } |
| | | String config = configService.selectConfigByKey("sfkqdyhis"); |
| | | if (lisApiMethod.isUseLisAndPacsRegister(order) && (null != config && config.equals("Y"))){ |
| | | AjaxResult ajaxResult = lisApiMethod.getJyFlHb(); |
| | | if (ajaxResult.get("code").toString().equals("200")){ |
| | | String str = ajaxResult.get("data").toString(); |
| | | str = str.replace("=", ":"); |
| | | JSONArray array = JSONUtil.parseArray(str); |
| | | for (Object o : array) { |
| | | JSONObject object = (JSONObject) o; |
| | | LisJyflhb lisJyflhb = new LisJyflhb(); |
| | | lisJyflhb.setHbhxm(object.getStr("hbhxm")); |
| | | lisJyflhb.setFlmc(object.getStr("flmc")); |
| | | lisJyflhb.setMc(object.getStr("mc")); |
| | | lisJyflhb.setFlbm(object.getStr("flbm")); |
| | | LambdaQueryWrapper<LisJyflhb> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.eq(LisJyflhb::getFlbm,lisJyflhb.getFlbm()); |
| | | LisJyflhb jyflhb = lisJyflhbService.getOne(wrapper); |
| | | if (jyflhb == null) { |
| | | lisJyflhb.setId(IdUtil.getSnowflake().nextId()); |
| | | lisJyflhbService.save(lisJyflhb); |
| | | }else { |
| | | lisJyflhb.setId(jyflhb.getId()); |
| | | lisJyflhbService.updateById(lisJyflhb); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | |
| | | 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); |
| | | } |
| | | // 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())); |
| | |
| | | |
| | | @Override |
| | | @Async("async") |
| | | public void iundividualCharges(TjFlowingWater tjFlowingWater, TjOrder order, TjCustomer customer, SysUser sysUser) { |
| | | List<TjConsumables> list2 = new ArrayList<>(); |
| | | 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 Boolean iundividualCharges(TjFlowingWater tjFlowingWater, TjOrder order, TjCustomer customer, SysUser sysUser,String jxbz) { |
| | | Date dates = new Date(); |
| | | final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss"); |
| | | |
| | | tjFlowingWater.setJxbz(jxbz); |
| | | tjFlowingWaterService.updateById(tjFlowingWater); |
| | | |
| | | TjProBl proBl=new TjProBl(); |
| | | proBl.setTjh(order.getTjNumber()); |
| | | proBl.setBldh(jxbz); |
| | | proBl.setBlsj(date); |
| | | proBl.setBlrdm(sysUser.getUserName()); |
| | | proBl.setBlrmc(sysUser.getNickName()); |
| | | proBl.setBlje(String.valueOf(tjFlowingWater.getPaidIn())); |
| | | blService.save(proBl); |
| | | |
| | | String[] tjProIds = tjFlowingWater.getTjProIds(); |
| | | |
| | | String config = configService.selectConfigByKey("sfkqdyhis"); |
| | | |
| | | // //检验 |
| | | // List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>(); |
| | | // |
| | | // //检查 |
| | | // List<OutpintestapplyDetailsDto> detailsDtoss = new ArrayList<>(); |
| | | // |
| | | // |
| | | // //处置 |
| | | // List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>(); |
| | | // |
| | | // List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos =new ArrayList<>(); |
| | | |
| | | List<TjProject> projectList=new ArrayList<>(); |
| | | |
| | | ArrayList<TjOrderDetail> tjOrderDetails = new ArrayList<>(); |
| | | for (String tjProId : tjProIds) { |
| | | TjProject project = projectService.selectTjProjectByProId(Long.valueOf(tjProId)); |
| | | 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(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); |
| | | 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(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); |
| | | for (Long proId : proIds) { |
| | | TjProject project = projectService.getById(Long.valueOf(tjProId)); |
| | | if (null != project && project.getProParentId() == 0) { |
| | | TjOrderRemark tjOrderRemark = new TjOrderRemark(); |
| | | tjOrderRemark.setProId(Long.valueOf(tjProId)); |
| | | tjOrderRemark.setProName(project.getProName()); |
| | | tjOrderRemark.setDeptId(project.getDeptId()); |
| | | tjOrderRemark.setTjNumber(order.getTjNumber()); |
| | | tjOrderRemark.setCreateBy(sysUser.getNickName()); |
| | | tjOrderRemark.setCreateTime(dates); |
| | | tjOrderRemark.setUpdateBy(sysUser.getNickName()); |
| | | tjOrderRemark.setUpdateTime(dates); |
| | | tjOrderRemark.setCreateId(String.valueOf(sysUser.getUserId())); |
| | | tjOrderRemark.setUpdateId(String.valueOf(sysUser.getUserId())); |
| | | tjOrderRemark.setJxbz(jxbz); |
| | | orderRemarkService.save(tjOrderRemark); |
| | | |
| | | List<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())); |
| | | detail.setJxbz(jxbz); |
| | | tjOrderDetailService.save(detail); |
| | | for (Long proId : proIds) { |
| | | TjOrderDetail detail1 = new TjOrderDetail(); |
| | | detail1.setTjStatus(0L); |
| | | detail1.setOrderId(tjFlowingWater.getOrderId()); |
| | | // detail1.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber())); |
| | | detail1.setProId(proId); |
| | | detail1.setIsAddition("Y"); |
| | | detail1.setCreateBy(sysUser.getNickName()); |
| | | detail1.setCreateTime(dates); |
| | | detail1.setUpdateBy(sysUser.getNickName()); |
| | | detail1.setUpdateTime(dates); |
| | | detail1.setCreateId(String.valueOf(sysUser.getUserId())); |
| | | detail1.setUpdateId(String.valueOf(sysUser.getUserId())); |
| | | detail1.setJxbz(jxbz); |
| | | tjOrderDetailService.save(detail1); |
| | | } |
| | | |
| | | if(null !=config && config.equals("Y")){ |
| | | //检验 |
| | | // if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getJyDeptIds().contains(project.getDeptId().toString())) { |
| | | // if (null != project.getHisXmbm()) { |
| | | // OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); |
| | | // detailsDto.setMxfyxmbm(project.getHisXmbm()); |
| | | // if (project.getSfzhfy().equals("Y")) { |
| | | // detailsDto.setSfzhfy("1"); |
| | | // } else { |
| | | // detailsDto.setSfzhfy("0"); |
| | | // } |
| | | // detailsDto.setSl(project.getSl()); |
| | | // detailsDtos.add(detailsDto); |
| | | // } |
| | | // if(project.getProId()==1740177341251154377L){ |
| | | // OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); |
| | | // detilsDto.setYpbm("00006670"); |
| | | // detilsDto.setPcbm("06"); |
| | | // detilsDto.setSl("1"); |
| | | // detilsDto.setDj("60"); |
| | | // detilsDto.setDcjl("1"); |
| | | // detilsDto.setPj("60"); |
| | | // detilsDto.setJj("60"); |
| | | // detilsDto.setJldw(""); |
| | | // detilsDto.setTjbm(""); |
| | | // detilsDto.setPs(""); |
| | | // detilsDto.setPsbm(""); |
| | | // detilsDto.setYyts(""); |
| | | // detilsDto.setXtph(""); |
| | | // detilsDto.setScph(""); |
| | | // detilsDto.setYpxq(""); |
| | | // detilsDto.setCdbm(""); |
| | | // detilsDto.setKfdw(""); |
| | | // detilsDto.setYfdw(""); |
| | | // detilsDto.setYysm(""); |
| | | // detilsDto.setFzbl("1"); |
| | | // detilsDto.setZh("0"); |
| | | // outpinmedicapplyDetilsDtos.add(detilsDto); |
| | | // } |
| | | // } |
| | | |
| | | //检查 |
| | | |
| | | // if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getJcDeptIds().contains(project.getDeptId().toString())) { |
| | | // if (null != project.getHisXmbm()) { |
| | | // OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); |
| | | // detailsDto.setMxfyxmbm(project.getHisXmbm()); |
| | | // if (project.getSfzhfy().equals("Y")) { |
| | | // detailsDto.setSfzhfy("1"); |
| | | // } else { |
| | | // detailsDto.setSfzhfy("0"); |
| | | // } |
| | | // detailsDto.setSl(project.getSl()); |
| | | // detailsDtoss.add(detailsDto); |
| | | // } |
| | | // if(project.getProId()==1740177341251154377L){ |
| | | // OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); |
| | | // detilsDto.setYpbm("00006670"); |
| | | // detilsDto.setPcbm("06"); |
| | | // detilsDto.setSl("1"); |
| | | // detilsDto.setDj("60"); |
| | | // detilsDto.setDcjl("1"); |
| | | // detilsDto.setPj("60"); |
| | | // detilsDto.setJj("60"); |
| | | // detilsDto.setJldw(""); |
| | | // detilsDto.setTjbm(""); |
| | | // detilsDto.setPs(""); |
| | | // detilsDto.setPsbm(""); |
| | | // detilsDto.setYyts(""); |
| | | // detilsDto.setXtph(""); |
| | | // detilsDto.setScph(""); |
| | | // detilsDto.setYpxq(""); |
| | | // detilsDto.setCdbm(""); |
| | | // detilsDto.setKfdw(""); |
| | | // detilsDto.setYfdw(""); |
| | | // detilsDto.setYysm(""); |
| | | // detilsDto.setFzbl("1"); |
| | | // detilsDto.setZh("0"); |
| | | // outpinmedicapplyDetilsDtos.add(detilsDto); |
| | | // } |
| | | // } |
| | | |
| | | //处置 |
| | | |
| | | // if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getCzDeptIds().contains(project.getDeptId().toString())) { |
| | | // if (null != project.getHisXmbm()) { |
| | | // OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); |
| | | // detailsDto.setMxfyxmbm(project.getHisXmbm()); |
| | | // if (project.getSfzhfy().equals("Y")) { |
| | | // detailsDto.setSfzhfy("1"); |
| | | // } else { |
| | | // detailsDto.setSfzhfy("0"); |
| | | // } |
| | | // detailsDto.setSl(project.getSl()); |
| | | // detailDtos.add(detailsDto); |
| | | // } |
| | | // if(project.getProId()==1740177341251154377L){ |
| | | // OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); |
| | | // detilsDto.setYpbm("00006670"); |
| | | // detilsDto.setPcbm("06"); |
| | | // detilsDto.setSl("1"); |
| | | // detilsDto.setDj("60"); |
| | | // detilsDto.setDcjl("1"); |
| | | // detilsDto.setPj("60"); |
| | | // detilsDto.setJj("60"); |
| | | // detilsDto.setJldw(""); |
| | | // detilsDto.setTjbm(""); |
| | | // detilsDto.setPs(""); |
| | | // detilsDto.setPsbm(""); |
| | | // detilsDto.setYyts(""); |
| | | // detilsDto.setXtph(""); |
| | | // detilsDto.setScph(""); |
| | | // detilsDto.setYpxq(""); |
| | | // detilsDto.setCdbm(""); |
| | | // detilsDto.setKfdw(""); |
| | | // detilsDto.setYfdw(""); |
| | | // detilsDto.setYysm(""); |
| | | // detilsDto.setFzbl("1"); |
| | | // detilsDto.setZh("0"); |
| | | // outpinmedicapplyDetilsDtos.add(detilsDto); |
| | | // } |
| | | // } |
| | | } |
| | | |
| | | } else { |
| | | |
| | | //如果该项目存在 则 不保存 |
| | | |
| | | TjOrderDetail orderDetail = tjOrderDetailService.getTjOrderDetailByOrderId(String.valueOf(tjFlowingWater.getOrderId()), tjProId); |
| | | if(null !=orderDetail) continue; |
| | | |
| | | TjProject projects = projectService.selectTjProjectByProId(Long.valueOf(tjProId)); |
| | | if (null != projects) { |
| | | TjProject projectss = projectService.getById(projects.getProParentId()); |
| | | if (null != projectss && projectss.getProParentId()==0L) { |
| | | projectList.add(projectss); |
| | | } |
| | | } |
| | | TjOrderDetail detail = new TjOrderDetail(); |
| | | detail.setTjStatus(0L); |
| | | detail.setOrderId(tjFlowingWater.getOrderId()); |
| | | detail.setProId(Long.valueOf(tjProId)); |
| | | detail.setIsAddition("Y"); |
| | | detail.setCreateBy(sysUser.getNickName()); |
| | | detail.setCreateTime(dates); |
| | | detail.setUpdateBy(sysUser.getNickName()); |
| | | detail.setUpdateTime(dates); |
| | | detail.setCreateId(String.valueOf(sysUser.getUserId())); |
| | | detail.setUpdateId(String.valueOf(sysUser.getUserId())); |
| | | detail.setJxbz(jxbz); |
| | | tjOrderDetailService.save(detail); |
| | | tjOrderDetails.add(detail); |
| | | |
| | | } |
| | | |
| | | List<TbTransition> tbTransitionList = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(customer.getCusIdcard(),tjProId); |
| | | if (null != tbTransitionList && !tbTransitionList.isEmpty()) { |
| | | for (TbTransition transition : tbTransitionList) { |
| | | transitionService.updateTbTransitionById(transition.getId().toString(),jxbz,order.getTjNumber(),order.getCardId(), |
| | | transition.getOrdPrice().multiply(BigDecimal.valueOf(Double.parseDouble(tjFlowingWater.getDiscount())).divide(BigDecimal.valueOf(10)))); |
| | | } |
| | | } |
| | | |
| | | } |
| | | // TODO 和签到登记一样 只有配置中的以及收费类型为体检票时才增加到采样管理表 |
| | | // List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(),jxbz); |
| | | // addCaiYangDengJi(detailList,!detailList.isEmpty(), order, sysUser,jxbz); |
| | | |
| | | tjOrderDetails = new ArrayList<>(); |
| | | |
| | | ArrayList<TjProject> jianChaProjects = new ArrayList<>(); |
| | | // ArrayList<TjProject> jianYanProjects = new ArrayList<>(); |
| | | |
| | | if(!projectList.isEmpty()){ |
| | | 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())); |
| | | tjOrderRemark.setJxbz(jxbz); |
| | | orderRemarkService.save(tjOrderRemark); |
| | | |
| | | TjOrderDetail detail1 = new TjOrderDetail(); |
| | | detail1.setTjStatus(0L); |
| | | detail1.setOrderId(tjFlowingWater.getOrderId()); |
| | | detail1.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber())); |
| | | detail1.setProId(proId); |
| | | detail1.setProId(project.getProId()); |
| | | detail1.setIsAddition("Y"); |
| | | 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())); |
| | | detail1.setCreateBy(sysUser.getNickName()); |
| | | detail1.setCreateTime(dates); |
| | | detail1.setUpdateBy(sysUser.getNickName()); |
| | | detail1.setUpdateTime(dates); |
| | | detail1.setCreateId(String.valueOf(sysUser.getUserId())); |
| | | detail1.setUpdateId(String.valueOf(sysUser.getUserId())); |
| | | detail1.setJxbz(jxbz); |
| | | tjOrderDetailService.save(detail1); |
| | | tjOrderDetails.add(detail1); |
| | | // if(null !=config && config.equals("Y")){ |
| | | //检验 |
| | | // if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getJyDeptIds().contains(project.getDeptId().toString())) { |
| | | // if (null != project.getHisXmbm()) { |
| | | // jianYanProjects.add(project); |
| | | // OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); |
| | | // |
| | | // detailsDto.setMxfyxmbm(project.getHisXmbm()); |
| | | // |
| | | // if (project.getSfzhfy().equals("Y")) { |
| | | // detailsDto.setSfzhfy("1"); |
| | | // } else { |
| | | // detailsDto.setSfzhfy("0"); |
| | | // } |
| | | // detailsDto.setSl(project.getSl()); |
| | | // detailsDtos.add(detailsDto); |
| | | // } |
| | | // if(project.getProId()==1740177341251154377L){ |
| | | // OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); |
| | | // detilsDto.setYpbm("00006670"); |
| | | // detilsDto.setPcbm("06"); |
| | | // detilsDto.setSl("1"); |
| | | // detilsDto.setDj("60"); |
| | | // detilsDto.setDcjl("1"); |
| | | // detilsDto.setPj("60"); |
| | | // detilsDto.setJj("60"); |
| | | // detilsDto.setJldw(""); |
| | | // detilsDto.setTjbm(""); |
| | | // detilsDto.setPs(""); |
| | | // detilsDto.setPsbm(""); |
| | | // detilsDto.setYyts(""); |
| | | // detilsDto.setXtph(""); |
| | | // detilsDto.setScph(""); |
| | | // detilsDto.setYpxq(""); |
| | | // detilsDto.setCdbm(""); |
| | | // detilsDto.setKfdw(""); |
| | | // detilsDto.setYfdw(""); |
| | | // detilsDto.setYysm(""); |
| | | // detilsDto.setFzbl("1"); |
| | | // detilsDto.setZh("0"); |
| | | // outpinmedicapplyDetilsDtos.add(detilsDto); |
| | | // } |
| | | // } |
| | | |
| | | //检查 |
| | | |
| | | if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getJcDeptIds().contains(project.getDeptId().toString())) { |
| | | if (null != project.getHisXmbm()) { |
| | | jianChaProjects.add(project); |
| | | // OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); |
| | | // detailsDto.setMxfyxmbm(project.getHisXmbm()); |
| | | // if (project.getSfzhfy().equals("Y")) { |
| | | // detailsDto.setSfzhfy("1"); |
| | | // } else { |
| | | // detailsDto.setSfzhfy("0"); |
| | | // } |
| | | // detailsDto.setSl(project.getSl()); |
| | | // detailsDtoss.add(detailsDto); |
| | | } |
| | | // if(project.getProId()==1740177341251154377L){ |
| | | // OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); |
| | | // detilsDto.setYpbm("00006670"); |
| | | // detilsDto.setPcbm("06"); |
| | | // detilsDto.setSl("1"); |
| | | // detilsDto.setDj("60"); |
| | | // detilsDto.setDcjl("1"); |
| | | // detilsDto.setPj("60"); |
| | | // detilsDto.setJj("60"); |
| | | // detilsDto.setJldw(""); |
| | | // detilsDto.setTjbm(""); |
| | | // detilsDto.setPs(""); |
| | | // detilsDto.setPsbm(""); |
| | | // detilsDto.setYyts(""); |
| | | // detilsDto.setXtph(""); |
| | | // detilsDto.setScph(""); |
| | | // detilsDto.setYpxq(""); |
| | | // detilsDto.setCdbm(""); |
| | | // detilsDto.setKfdw(""); |
| | | // detilsDto.setYfdw(""); |
| | | // detilsDto.setYysm(""); |
| | | // detilsDto.setFzbl("1"); |
| | | // detilsDto.setZh("0"); |
| | | // outpinmedicapplyDetilsDtos.add(detilsDto); |
| | | // } |
| | | } |
| | | |
| | | //处置 |
| | | // if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getCzDeptIds().contains(project.getDeptId().toString())) { |
| | | // if (null != project.getHisXmbm()) { |
| | | // OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); |
| | | // detailsDto.setMxfyxmbm(project.getHisXmbm()); |
| | | // if (project.getSfzhfy().equals("Y")) { |
| | | // detailsDto.setSfzhfy("1"); |
| | | // } else { |
| | | // detailsDto.setSfzhfy("0"); |
| | | // } |
| | | // detailsDto.setSl(project.getSl()); |
| | | // detailDtos.add(detailsDto); |
| | | // } |
| | | // if(project.getProId()==1740177341251154377L){ |
| | | // OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); |
| | | // detilsDto.setYpbm("00006670"); |
| | | // detilsDto.setPcbm("06"); |
| | | // detilsDto.setSl("1"); |
| | | // detilsDto.setDj("60"); |
| | | // detilsDto.setDcjl("1"); |
| | | // detilsDto.setPj("60"); |
| | | // detilsDto.setJj("60"); |
| | | // detilsDto.setJldw(""); |
| | | // detilsDto.setTjbm(""); |
| | | // detilsDto.setPs(""); |
| | | // detilsDto.setPsbm(""); |
| | | // detilsDto.setYyts(""); |
| | | // detilsDto.setXtph(""); |
| | | // detilsDto.setScph(""); |
| | | // detilsDto.setYpxq(""); |
| | | // detilsDto.setCdbm(""); |
| | | // detilsDto.setKfdw(""); |
| | | // detilsDto.setYfdw(""); |
| | | // detilsDto.setYysm(""); |
| | | // detilsDto.setFzbl("1"); |
| | | // detilsDto.setZh("0"); |
| | | // outpinmedicapplyDetilsDtos.add(detilsDto); |
| | | // } |
| | | // } |
| | | // } |
| | | } |
| | | LambdaQueryWrapper<TbTransition> wqq = new LambdaQueryWrapper<>(); |
| | | wqq.eq(TbTransition::getCusId, customer.getCusIdcard()); |
| | | wqq.in(TbTransition::getProId, proIds); |
| | | 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(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); |
| | | |
| | | // TODO 和签到登记一样 只有配置中的以及收费类型为体检票时才增加到采样管理表 |
| | | if(config.equals("Y")){ |
| | | if (lisApiMethod.isUseLisAndPacsRegister(order) && tjFlowingWater.getPayType() == 6L) { |
| | | List<TjOrderDetail> detailLists = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(), jxbz); |
| | | addCaiYangDengJi(detailLists, !detailLists.isEmpty(), order, sysUser, jxbz); |
| | | } |
| | | }else { |
| | | tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(order.getOrderId()), |
| | | sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber())); |
| | | List<TjOrderDetail> detailLists = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(), jxbz); |
| | | addCaiYangDengJiByDiaoYongShiTu(detailLists, !detailLists.isEmpty(), order, sysUser, jxbz); |
| | | } |
| | | |
| | | } |
| | | |
| | | // Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order); |
| | | if(null !=config && config.equals("Y")){ |
| | | AjaxResult result = tijianbulushenqing(customer, date, order.getCardId(), jxbz, jianChaProjects, tjFlowingWater.getPayType() == 6L); |
| | | if (!result.get("code").toString().equals("200")) |
| | | return false; |
| | | // if (useLisAndPacsRegister) { |
| | | // List<TjProject> projectList2 = jianYanProjects.stream().distinct().collect(Collectors.toList()); |
| | | // 检查申请 |
| | | // pacsReg(order, customer, jianChaProjects); |
| | | // }else { |
| | | |
| | | |
| | | /* //检验申请 |
| | | if(!detailsDtos.isEmpty()){ |
| | | OutpintestapplyDto dto = new OutpintestapplyDto(); |
| | | dto.setHisRegistrationId(order.getCardId()); |
| | | dto.setSfzh(customer.getCusIdcard()); |
| | | dto.setSqysbm("00029"); |
| | | dto.setMzksbm("0101"); |
| | | dto.setSjrq(date); |
| | | dto.setCzybm("00029"); |
| | | dto.setCzyksbm("0101"); |
| | | dto.setSfjz("0"); |
| | | dto.setDetails(detailsDtos.stream().distinct().collect(Collectors.toList())); |
| | | AjaxResult ajaxResult1 = controller.Outpintestapply(dto); |
| | | String result5 = getAjaxResult(ajaxResult1); |
| | | JSONObject object3 = getJSONObject(result5); |
| | | String code3 = object3.getStr("ResultCode"); |
| | | if (code3.equals("0")) { |
| | | List<OutpintestapplyDetailsDto> details = dto.getDetails(); |
| | | for (OutpintestapplyDetailsDto detail : details) { |
| | | LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); |
| | | tree.setSfjx("Y"); |
| | | tree.setJxbz(jxbz); |
| | | tree.setCardId(dto.getHisRegistrationId()); |
| | | LambdaQueryWrapper<TjCustomer> wrapper4 = new LambdaQueryWrapper<>(); |
| | | wrapper4.eq(TjCustomer::getCardId, tree.getCardId()); |
| | | TjCustomer tjCustomer = tjCustomerService.getOne(wrapper4); |
| | | tree.setPationid(tjCustomer.getPationId()); |
| | | JSONObject resultData = object3.getJSONObject("ResultData"); |
| | | tree.setSqdh(resultData.getStr("jysqdh")); |
| | | tree.setFyhj(resultData.getStr("fyhj")); |
| | | String mxfyxmbm = detail.getMxfyxmbm(); |
| | | tree.setHisXmdm(mxfyxmbm); |
| | | tree.setType("检验"); |
| | | LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.eq(TjProject::getHisXmbm, mxfyxmbm); |
| | | wrapper.eq(TjProject::getProParentId,0); |
| | | List<TjProject> list = projectService.list(wrapper); |
| | | String tj_price = ""; |
| | | for (TjProject project : list) { |
| | | tj_price += project.getProPrice() + "、"; |
| | | } |
| | | tree.setTjPrice(tj_price.substring(0, tj_price.length() - 1)); |
| | | LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>(); |
| | | if (detail.getSfzhfy().equals("1")) |
| | | wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm); |
| | | else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm); |
| | | List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); |
| | | if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { |
| | | String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); |
| | | LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>(); |
| | | wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); |
| | | LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); |
| | | LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>(); |
| | | wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); |
| | | LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); |
| | | tree.setXmfl(ejjfxmzd.getYjkmdm()); |
| | | } |
| | | tree.setCreateTime(dates); |
| | | ltkjJianchajianyanTreeService.save(tree); |
| | | } |
| | | |
| | | // List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(order.getOrderId()); |
| | | // addCaiYangDengJi(detailList,!detailList.isEmpty(), order, sysUser,jxbz); |
| | | |
| | | } |
| | | } |
| | | //父项 |
| | | TjProject parentProject = projectService.getById(tjProId); |
| | | 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); |
| | | |
| | | //门诊检查申请 |
| | | if(!detailsDtoss.isEmpty()){ |
| | | OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto(); |
| | | outpinexamapplyDto.setHisRegistrationId(order.getCardId()); |
| | | outpinexamapplyDto.setSfzh(customer.getCusIdcard()); |
| | | outpinexamapplyDto.setSqysbm("00029"); |
| | | outpinexamapplyDto.setMzksbm("0101"); |
| | | outpinexamapplyDto.setCzybm("00029"); |
| | | outpinexamapplyDto.setCzyksbm("0101"); |
| | | outpinexamapplyDto.setSfjz("0"); |
| | | outpinexamapplyDto.setDetails(detailsDtoss.stream().distinct().collect(Collectors.toList())); |
| | | AjaxResult ajaxResult2 = controller.Outpinexamapply(outpinexamapplyDto); |
| | | String result6 = getAjaxResult(ajaxResult2); |
| | | JSONObject object5 = getJSONObject(result6); |
| | | String code4 = object5.getStr("ResultCode"); |
| | | if (code4.equals("0")) { |
| | | List<OutpintestapplyDetailsDto> details = outpinexamapplyDto.getDetails(); |
| | | for (OutpintestapplyDetailsDto detail : details) { |
| | | LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); |
| | | tree.setSfjx("Y"); |
| | | tree.setJxbz(jxbz); |
| | | tree.setCardId(outpinexamapplyDto.getHisRegistrationId()); |
| | | LambdaQueryWrapper<TjCustomer> wrapper4 = new LambdaQueryWrapper<>(); |
| | | wrapper4.eq(TjCustomer::getCardId, tree.getCardId()); |
| | | TjCustomer tjCustomer = tjCustomerService.getOne(wrapper4); |
| | | tree.setPationid(tjCustomer.getPationId()); |
| | | JSONObject resultData = object5.getJSONObject("ResultData"); |
| | | tree.setSqdh(resultData.getStr("jcsqdh")); |
| | | tree.setFyhj(resultData.getStr("fyhj")); |
| | | String mxfyxmbm = detail.getMxfyxmbm(); |
| | | tree.setHisXmdm(mxfyxmbm); |
| | | tree.setType("检查"); |
| | | LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.eq(TjProject::getHisXmbm, mxfyxmbm); |
| | | wrapper.eq(TjProject::getProParentId,0); |
| | | List<TjProject> list = projectService.list(wrapper); |
| | | String tj_price = ""; |
| | | for (TjProject project : list) { |
| | | tj_price += project.getProPrice() + "、"; |
| | | } |
| | | tree.setTjPrice(tj_price.substring(0, tj_price.length() - 1)); |
| | | LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>(); |
| | | if (detail.getSfzhfy().equals("1")) |
| | | wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm); |
| | | else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm); |
| | | List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); |
| | | if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { |
| | | String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); |
| | | LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>(); |
| | | wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); |
| | | LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); |
| | | LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>(); |
| | | wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); |
| | | LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); |
| | | tree.setXmfl(ejjfxmzd.getYjkmdm()); |
| | | } |
| | | tree.setCreateTime(dates); |
| | | ltkjJianchajianyanTreeService.save(tree); |
| | | } |
| | | } |
| | | }*/ |
| | | // } |
| | | /* //药品申请 |
| | | if(!outpinmedicapplyDetilsDtos.isEmpty()){ |
| | | OutpinmedicapplyDto dto1=new OutpinmedicapplyDto(); |
| | | dto1.setHisRegistrationId(order.getCardId()); |
| | | dto1.setSfzh(customer.getCusIdcard()); |
| | | dto1.setSqysbm("00029"); |
| | | dto1.setMzksbm("0101"); |
| | | dto1.setSjrq(date); |
| | | dto1.setCzybm("00029"); |
| | | dto1.setCzyksbm("0101"); |
| | | dto1.setCflxbm("A"); |
| | | dto1.setYfbm("1"); |
| | | dto1.setFyts("1"); |
| | | dto1.setMzzd(""); |
| | | dto1.setDetails(outpinmedicapplyDetilsDtos); |
| | | AjaxResult result = controller.Outpinmedicapply(dto1); |
| | | String result1 = getAjaxResult(result); |
| | | JSONObject object = getJSONObject(result1); |
| | | String code = object.getStr("ResultCode"); |
| | | if(null !=code && code.equals("0")){ |
| | | JSONObject resultData = object.getJSONObject("ResultData"); |
| | | // Map<String, Object> resultDatasss = (Map<String, Object>) resultData.get(0); |
| | | String cfh = resultData.getStr("cfh"); |
| | | |
| | | for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) { |
| | | TjCf cf=new TjCf(); |
| | | cf.setCardId(order.getCardId()); |
| | | cf.setSfzh(customer.getCusIdcard()); |
| | | cf.setCfh(cfh); |
| | | cf.setSqysbm("00029"); |
| | | cf.setSqysxm("王健萍"); |
| | | cf.setMzksbn("0101"); |
| | | cf.setSqrq(date); |
| | | cf.setCzybm("00029"); |
| | | cf.setYpbm(detilsDto.getYpbm()); |
| | | cf.setYpmc("尿素[14C]呼气试验药盒"); |
| | | cf.setSl(String.valueOf(detilsDto.getSl())); |
| | | cf.setDj(String.valueOf(detilsDto.getDj())); |
| | | cf.setDcjl(String.valueOf(detilsDto.getDcjl())); |
| | | cf.setPj(String.valueOf(detilsDto.getPj())); |
| | | cf.setJj(String.valueOf(detilsDto.getJj())); |
| | | cf.setCreateTime(new Date()); |
| | | cf.setJxbz(jxbz); |
| | | cfService.save(cf); |
| | | } |
| | | } |
| | | } |
| | | |
| | | //门诊治疗处置申请 |
| | | if(!detailDtos.isEmpty()){ |
| | | OutpintreatapplyDto dao = new OutpintreatapplyDto(); |
| | | dao.setHisRegistrationId(order.getCardId()); |
| | | dao.setSfzh(customer.getCusIdcard()); |
| | | dao.setSqysbm("00029"); |
| | | dao.setMzksbm("0101"); |
| | | dao.setSjrq(date); |
| | | dao.setCzybm("00029"); |
| | | dao.setCzyksbm("0101"); |
| | | dao.setSfjz("0"); |
| | | dao.setDetails(detailDtos.stream().distinct().collect(Collectors.toList())); |
| | | AjaxResult mzylyzsq1 = controller.Outpintreatapply(dao); |
| | | String mzylyzsq2 = getAjaxResult(mzylyzsq1); |
| | | JSONObject mzylyzsq3 = getJSONObject(mzylyzsq2); |
| | | String code5 = mzylyzsq3.getStr("ResultCode"); |
| | | if (code5.equals("0")) { |
| | | List<OutpintestapplyDetailsDto> details1 = dao.getDetails(); |
| | | for (OutpintestapplyDetailsDto detail : details1) { |
| | | LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); |
| | | tree.setSfjx("Y"); |
| | | tree.setJxbz(jxbz); |
| | | tree.setCardId(dao.getHisRegistrationId()); |
| | | LambdaQueryWrapper<TjCustomer> wrapper4 = new LambdaQueryWrapper<>(); |
| | | wrapper4.eq(TjCustomer::getCardId, tree.getCardId()); |
| | | TjCustomer tjCustomer = tjCustomerService.getOne(wrapper4); |
| | | tree.setPationid(tjCustomer.getPationId()); |
| | | JSONObject resultData = mzylyzsq3.getJSONObject("ResultData"); |
| | | tree.setSqdh(resultData.getStr("zlczh")); |
| | | tree.setFyhj(resultData.getStr("fyhj")); |
| | | String mxfyxmbm = detail.getMxfyxmbm(); |
| | | tree.setHisXmdm(mxfyxmbm); |
| | | tree.setType("处置"); |
| | | LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.eq(TjProject::getHisXmbm, mxfyxmbm); |
| | | wrapper.eq(TjProject::getProParentId,0); |
| | | List<TjProject> list = projectService.list(wrapper); |
| | | String tj_price = ""; |
| | | for (TjProject project : list) { |
| | | tj_price += project.getProPrice() + "、"; |
| | | } |
| | | tree.setTjPrice(tj_price.substring(0, tj_price.length() - 1)); |
| | | LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>(); |
| | | if (detail.getSfzhfy().equals("1")) |
| | | wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm); |
| | | else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm); |
| | | List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); |
| | | if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { |
| | | String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); |
| | | LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>(); |
| | | wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); |
| | | LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); |
| | | LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>(); |
| | | wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); |
| | | LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); |
| | | tree.setXmfl(ejjfxmzd.getYjkmdm()); |
| | | } |
| | | tree.setCreateTime(dates); |
| | | ltkjJianchajianyanTreeService.save(tree); |
| | | } |
| | | } |
| | | }*/ |
| | | } |
| | | |
| | | //父项耗材 |
| | | // 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); |
| | | // } |
| | | return true; |
| | | } |
| | | |
| | | public void addCaiYangDengJiByDiaoYongShiTu(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser,String jxbz) { |
| | | if (null != detailList && detailList1) { |
| | | Date date = new Date(); |
| | | String format = DateUtil.format(date, "yyMMddHHmmssSSS"); |
| | | for (TjOrderDetail detail : detailList) { |
| | | TjSampling sampling = new TjSampling(); |
| | | if (null == projectService.getById(detail.getProId())) continue; |
| | | TjProject project = projectService.getById(detail.getProId()); |
| | | Long proParentId = project.getProParentId(); |
| | | String dictLabel = sysDictDataService.selectDictLabel("sys_dict_specimen", project.getSpecimenType()); |
| | | if (null != proParentId && proParentId == 0) { |
| | | sampling.setJyxh(idUtils.generateLisID()); |
| | | sampling.setSpecimenTypeCode(project.getSpecimenType()); |
| | | sampling.setSpecimenType(dictLabel); |
| | | sampling.setJyxmdm(project.getProId().toString()); |
| | | } else { |
| | | TjProject project1 = projectService.getById(proParentId); |
| | | sampling.setJyxh(idUtils.generateLisID()); |
| | | |
| | | sampling.setSpecimenTypeCode(project1.getSpecimenType()); |
| | | sampling.setSpecimenType(dictLabel); |
| | | sampling.setJyxmdm(project.getProId().toString()); |
| | | |
| | | } |
| | | sampling.setSamplingNumber(format); |
| | | sampling.setTjNum(order.getTjNumber()); |
| | | sampling.setCusId(String.valueOf(order.getUserId())); |
| | | if (tjCustomerService.getById(String.valueOf(order.getUserId())) != null) { |
| | | sampling.setCusName(tjCustomerService.getById(String.valueOf(order.getUserId())).getCusName()); |
| | | } |
| | | sampling.setApplicationTime(date); |
| | | sampling.setTjTime(order.getCreateTime()); |
| | | sampling.setProId(String.valueOf(detail.getProId())); |
| | | sampling.setProName(projectService.getById(detail.getProId()).getProName()); |
| | | sampling.setCreateBy(sysUser.getNickName()); |
| | | sampling.setCreateTime(date); |
| | | sampling.setUpdateBy(sysUser.getNickName()); |
| | | sampling.setUpdateTime(date); |
| | | sampling.setCreateId(String.valueOf(sysUser.getUserId())); |
| | | sampling.setUpdateId(String.valueOf(sysUser.getUserId())); |
| | | sampling.setJxbz(jxbz); |
| | | samplingService.save(sampling); |
| | | } |
| | | } |
| | | String config = configService.selectConfigByKey("sfkqdyhis"); |
| | | if (lisApiMethod.isUseLisAndPacsRegister(order) && (null != config && config.equals("Y"))){ |
| | | AjaxResult ajaxResult = lisApiMethod.getJyFlHb(); |
| | | if (ajaxResult.get("code").toString().equals("200")){ |
| | | String str = ajaxResult.get("data").toString(); |
| | | str = str.replace("=", ":"); |
| | | JSONArray array = JSONUtil.parseArray(str); |
| | | for (Object o : array) { |
| | | JSONObject object = (JSONObject) o; |
| | | LisJyflhb lisJyflhb = new LisJyflhb(); |
| | | lisJyflhb.setHbhxm(object.getStr("hbhxm")); |
| | | lisJyflhb.setFlmc(object.getStr("flmc")); |
| | | lisJyflhb.setMc(object.getStr("mc")); |
| | | lisJyflhb.setFlbm(object.getStr("flbm")); |
| | | LambdaQueryWrapper<LisJyflhb> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.eq(LisJyflhb::getFlbm,lisJyflhb.getFlbm()); |
| | | LisJyflhb jyflhb = lisJyflhbService.getOne(wrapper); |
| | | if (jyflhb == null) { |
| | | lisJyflhb.setId(IdUtil.getSnowflake().nextId()); |
| | | lisJyflhbService.save(lisJyflhb); |
| | | }else { |
| | | lisJyflhb.setId(jyflhb.getId()); |
| | | lisJyflhbService.updateById(lisJyflhb); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | //体检对his申请单调用方法 |
| | | public AjaxResult tijianbulushenqing(TjCustomer customer, String date,String cardId,String jxbz,ArrayList<TjProject> jianChaProjects,Boolean isTuanTiPiao) { |
| | | TjOrder order = orderService.getOrderByCardId(cardId); |
| | | if(null !=order){ |
| | | String dept = configService.selectConfigByKey("request_default_dept"); |
| | | String ysbm = configService.selectConfigByKey("request_default_ysbm"); |
| | | String ysmc = configService.selectConfigByKey("request_default_ysmc"); |
| | | List<TbTransition> detailList = transitionService.getBlTbTransitionListByCusId(customer.getCusIdcard(),cardId,jxbz); |
| | | Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order); |
| | | List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos =new ArrayList<>(); |
| | | if (useLisAndPacsRegister && isTuanTiPiao) { |
| | | // 检查申请 |
| | | pacsReg(order, customer, jianChaProjects); |
| | | LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.eq(TjSampling::getTjNum,order.getTjNumber()); |
| | | wrapper.eq(TjSampling::getJxbz,jxbz); |
| | | List<TjSampling> list = tjSamplingService.list(wrapper); |
| | | log.info("采样数据 ->{}",JSONUtil.toJsonStr(list)); |
| | | if (!list.isEmpty()){ |
| | | Map<String, List<TjSampling>> listMap = list.stream().collect(Collectors.groupingBy(TjSampling::getSpecimenTypeCode)); |
| | | log.info("分组后 ->{}",JSONUtil.toJsonStr(listMap)); |
| | | ArrayList<String> ids = new ArrayList<>(); |
| | | for (Map.Entry<String, List<TjSampling>> entry : listMap.entrySet()) { |
| | | log.info("key ->{},val ->{}",entry.getKey(),entry.getValue()); |
| | | // Lis标本代码 |
| | | String specimenTypeCode = entry.getKey(); |
| | | List<TjSampling> samplings = entry.getValue(); |
| | | if (samplings.size() >= 2){ |
| | | // 进行合并 |
| | | List<String> stringList = samplings.stream().map(TjSampling::getId).collect(Collectors.toList()); |
| | | log.info("提取id ->{}",stringList); |
| | | for (int i = 0; i < stringList.size(); i++) { |
| | | String s = stringList.get(i); |
| | | if (tjSamplingService.isMergeItem(s) != 0) { |
| | | stringList.remove(s); |
| | | ids.add(s); |
| | | } |
| | | } |
| | | if (stringList.size() > 1) { |
| | | String id = tjSamplingService.mergeCaiYangApi(stringList); |
| | | ids.add(id); |
| | | }else { |
| | | ids.add(stringList.get(0)); |
| | | } |
| | | }else { |
| | | ids.add(samplings.get(0).getId()); |
| | | } |
| | | } |
| | | Boolean confirmed = samplingServiceApi.confirmSamplingApi(ids, "Y", "N"); |
| | | if (!confirmed) |
| | | return AjaxResult.error("处理失败"); |
| | | } |
| | | }else { |
| | | //检验申请 |
| | | OutpintestapplyDto dto = new OutpintestapplyDto(); |
| | | dto.setHisRegistrationId(cardId); |
| | | dto.setSfzh(customer.getCusIdcard()); |
| | | dto.setSqysbm(ysbm); |
| | | dto.setMzksbm(dept); |
| | | dto.setSjrq(date); |
| | | dto.setCzybm(ysbm); |
| | | dto.setCzyksbm(dept); |
| | | dto.setSfjz("0"); |
| | | |
| | | List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>(); |
| | | if (null != detailList && !detailList.isEmpty()) { |
| | | LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); |
| | | wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); |
| | | // wq.groupBy(TjProject::getHisXmbm); |
| | | // wq.in(TjProject::getDeptId, "241", "317"); |
| | | wq.in(TjProject::getDeptId,deptService.getJyDeptIds()); |
| | | List<TjProject> projects = projectService.list(wq); |
| | | if (null != projects && !projects.isEmpty()) { |
| | | for (TjProject project : projects) { |
| | | if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { |
| | | if (null != project.getHisXmbm()) { |
| | | OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); |
| | | detailsDto.setMxfyxmbm(project.getHisXmbm()); |
| | | if (project.getSfzhfy().equals("Y")) { |
| | | detailsDto.setSfzhfy("1"); |
| | | } else { |
| | | detailsDto.setSfzhfy("0"); |
| | | } |
| | | detailsDto.setSl(project.getSl()); |
| | | detailsDto.setProjg(project.getProPrice()); |
| | | detailsDtos.add(detailsDto); |
| | | } |
| | | if(project.getProId()==1740177341251154377L){ |
| | | OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); |
| | | detilsDto.setYpbm("00006670"); |
| | | detilsDto.setPcbm("06"); |
| | | detilsDto.setSl("1"); |
| | | detilsDto.setDj("60"); |
| | | detilsDto.setDcjl("1"); |
| | | detilsDto.setPj("60"); |
| | | detilsDto.setJj("60"); |
| | | detilsDto.setJldw(""); |
| | | detilsDto.setTjbm(""); |
| | | detilsDto.setPs(""); |
| | | detilsDto.setPsbm(""); |
| | | detilsDto.setYyts(""); |
| | | detilsDto.setXtph(""); |
| | | detilsDto.setScph(""); |
| | | detilsDto.setYpxq(""); |
| | | detilsDto.setCdbm(""); |
| | | detilsDto.setKfdw(""); |
| | | detilsDto.setYfdw(""); |
| | | detilsDto.setYysm(""); |
| | | detilsDto.setFzbl("1"); |
| | | detilsDto.setZh("0"); |
| | | outpinmedicapplyDetilsDtos.add(detilsDto); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if (!detailsDtos.isEmpty()) { |
| | | dto.setDetails(detailsDtos); |
| | | AjaxResult ajaxResult1 = controller.Outpintestapply(dto); |
| | | String result5 = getAjaxResult(ajaxResult1); |
| | | JSONObject object3 = getJSONObject(result5); |
| | | String code3 = object3.getStr("ResultCode"); |
| | | if (code3.equals("0")) { |
| | | List<OutpintestapplyDetailsDto> details = dto.getDetails(); |
| | | for (OutpintestapplyDetailsDto detail : details) { |
| | | LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); |
| | | tree.setJxbz(jxbz); |
| | | tree.setCardId(dto.getHisRegistrationId()); |
| | | tree.setPationid(customer.getPationId()); |
| | | JSONObject resultData = object3.getJSONObject("ResultData"); |
| | | tree.setSqdh(resultData.getStr("jysqdh")); |
| | | tree.setFyhj(resultData.getStr("fyhj")); |
| | | String mxfyxmbm = detail.getMxfyxmbm(); |
| | | tree.setHisXmdm(mxfyxmbm); |
| | | tree.setType("检验"); |
| | | tree.setService("his"); |
| | | tree.setTjPrice(String.valueOf(detail.getProjg())); |
| | | LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>(); |
| | | if (detail.getSfzhfy().equals("1")) |
| | | wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm); |
| | | else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm); |
| | | List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); |
| | | if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { |
| | | String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); |
| | | LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>(); |
| | | wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); |
| | | LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); |
| | | LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>(); |
| | | wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); |
| | | LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); |
| | | tree.setXmfl(ejjfxmzd.getYjkmdm()); |
| | | } |
| | | tree.setCreateTime(DateUtil.date()); |
| | | ltkjJianchajianyanTreeService.save(tree); |
| | | } |
| | | } |
| | | } |
| | | |
| | | //门诊检查申请 |
| | | OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto(); |
| | | outpinexamapplyDto.setHisRegistrationId(cardId); |
| | | outpinexamapplyDto.setSfzh(customer.getCusIdcard()); |
| | | outpinexamapplyDto.setSqysbm(ysbm); |
| | | outpinexamapplyDto.setMzksbm(dept); |
| | | outpinexamapplyDto.setCzybm(ysbm); |
| | | outpinexamapplyDto.setCzyksbm(dept); |
| | | outpinexamapplyDto.setSfjz("0"); |
| | | // List<TbTransition> detailLists = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); |
| | | List<OutpintestapplyDetailsDto> detailsDtoss = new ArrayList<>(); |
| | | if (null != detailList && !detailList.isEmpty()) { |
| | | LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); |
| | | wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); |
| | | wq.in(TjProject::getDeptId,deptService.getJcDeptIds()); |
| | | List<TjProject> projects = projectService.list(wq); |
| | | if (null != projects && !projects.isEmpty()) { |
| | | for (TjProject project : projects) { |
| | | if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { |
| | | if (null != project.getHisXmbm()) { |
| | | OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); |
| | | detailsDto.setMxfyxmbm(project.getHisXmbm()); |
| | | if (project.getSfzhfy().equals("Y")) { |
| | | detailsDto.setSfzhfy("1"); |
| | | } else { |
| | | detailsDto.setSfzhfy("0"); |
| | | } |
| | | detailsDto.setSl(project.getSl()); |
| | | detailsDto.setProjg(project.getProPrice()); |
| | | detailsDtoss.add(detailsDto); |
| | | } |
| | | if(project.getProId()==1740177341251154377L){ |
| | | OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); |
| | | detilsDto.setYpbm("00006670"); |
| | | detilsDto.setPcbm("06"); |
| | | detilsDto.setSl("1"); |
| | | detilsDto.setDj("60"); |
| | | detilsDto.setDcjl("1"); |
| | | detilsDto.setPj("60"); |
| | | detilsDto.setJj("60"); |
| | | detilsDto.setJldw(""); |
| | | detilsDto.setTjbm(""); |
| | | detilsDto.setPs(""); |
| | | detilsDto.setPsbm(""); |
| | | detilsDto.setYyts(""); |
| | | detilsDto.setXtph(""); |
| | | detilsDto.setScph(""); |
| | | detilsDto.setYpxq(""); |
| | | detilsDto.setCdbm(""); |
| | | detilsDto.setKfdw(""); |
| | | detilsDto.setYfdw(""); |
| | | detilsDto.setYysm(""); |
| | | detilsDto.setFzbl("1"); |
| | | detilsDto.setZh("0"); |
| | | outpinmedicapplyDetilsDtos.add(detilsDto); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if (!detailsDtoss.isEmpty()) { |
| | | outpinexamapplyDto.setDetails(detailsDtoss); |
| | | AjaxResult ajaxResult2 = controller.Outpinexamapply(outpinexamapplyDto); |
| | | String result6 = getAjaxResult(ajaxResult2); |
| | | JSONObject object5 = getJSONObject(result6); |
| | | String code4 = object5.getStr("ResultCode"); |
| | | if (code4.equals("0")) { |
| | | List<OutpintestapplyDetailsDto> details = outpinexamapplyDto.getDetails(); |
| | | for (OutpintestapplyDetailsDto detail : details) { |
| | | LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); |
| | | tree.setJxbz(jxbz); |
| | | tree.setCardId(outpinexamapplyDto.getHisRegistrationId()); |
| | | tree.setPationid(customer.getPationId()); |
| | | JSONObject resultData = object5.getJSONObject("ResultData"); |
| | | tree.setSqdh(resultData.getStr("jcsqdh")); |
| | | tree.setFyhj(resultData.getStr("fyhj")); |
| | | String mxfyxmbm = detail.getMxfyxmbm(); |
| | | tree.setHisXmdm(mxfyxmbm); |
| | | tree.setType("检查"); |
| | | tree.setService("his"); |
| | | tree.setTjPrice(String.valueOf(detail.getProjg())); |
| | | LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>(); |
| | | if (detail.getSfzhfy().equals("1")) |
| | | wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm); |
| | | else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm); |
| | | List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); |
| | | if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { |
| | | String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); |
| | | LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>(); |
| | | wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); |
| | | LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); |
| | | LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>(); |
| | | wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); |
| | | LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); |
| | | tree.setXmfl(ejjfxmzd.getYjkmdm()); |
| | | } |
| | | tree.setCreateTime(DateUtil.date()); |
| | | ltkjJianchajianyanTreeService.save(tree); |
| | | } |
| | | } |
| | | } |
| | | |
| | | //门诊治疗处置申请 |
| | | OutpintreatapplyDto dao = new OutpintreatapplyDto(); |
| | | dao.setHisRegistrationId(cardId); |
| | | dao.setSfzh(customer.getCusIdcard()); |
| | | dao.setSqysbm(ysbm); |
| | | dao.setMzksbm(dept); |
| | | dao.setSjrq(date); |
| | | dao.setCzybm(ysbm); |
| | | dao.setCzyksbm(dept); |
| | | dao.setSfjz("0"); |
| | | // List<TbTransition> details = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId); |
| | | List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>(); |
| | | if (null != detailList && !detailList.isEmpty()) { |
| | | LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); |
| | | wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList())); |
| | | wq.in(TjProject::getDeptId,deptService.getCzDeptIds()); |
| | | List<TjProject> projects = projectService.list(wq); |
| | | if (null != projects && !projects.isEmpty()) { |
| | | for (TjProject project : projects) { |
| | | if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) { |
| | | if (null != project.getHisXmbm()) { |
| | | OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); |
| | | detailsDto.setMxfyxmbm(project.getHisXmbm()); |
| | | if (project.getSfzhfy().equals("Y")) { |
| | | detailsDto.setSfzhfy("1"); |
| | | } else { |
| | | detailsDto.setSfzhfy("0"); |
| | | } |
| | | detailsDto.setSl(project.getSl()); |
| | | detailsDto.setProjg(project.getProPrice()); |
| | | detailDtos.add(detailsDto); |
| | | } |
| | | if(project.getProId()==1740177341251154377L){ |
| | | OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto(); |
| | | detilsDto.setYpbm("00006670"); |
| | | detilsDto.setPcbm("06"); |
| | | detilsDto.setSl("1"); |
| | | detilsDto.setDj("60"); |
| | | detilsDto.setDcjl("1"); |
| | | detilsDto.setPj("60"); |
| | | detilsDto.setJj("60"); |
| | | detilsDto.setJldw(""); |
| | | detilsDto.setTjbm(""); |
| | | detilsDto.setPs(""); |
| | | detilsDto.setPsbm(""); |
| | | detilsDto.setYyts(""); |
| | | detilsDto.setXtph(""); |
| | | detilsDto.setScph(""); |
| | | detilsDto.setYpxq(""); |
| | | detilsDto.setCdbm(""); |
| | | detilsDto.setKfdw(""); |
| | | detilsDto.setYfdw(""); |
| | | detilsDto.setYysm(""); |
| | | detilsDto.setFzbl("1"); |
| | | detilsDto.setZh("0"); |
| | | outpinmedicapplyDetilsDtos.add(detilsDto); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if (!detailDtos.isEmpty()) { |
| | | dao.setDetails(detailDtos); |
| | | AjaxResult mzylyzsq1 = controller.Outpintreatapply(dao); |
| | | String mzylyzsq2 = getAjaxResult(mzylyzsq1); |
| | | JSONObject mzylyzsq3 = getJSONObject(mzylyzsq2); |
| | | String code5 = mzylyzsq3.getStr("ResultCode"); |
| | | if (code5.equals("0")) { |
| | | List<OutpintestapplyDetailsDto> details1 = dao.getDetails(); |
| | | for (OutpintestapplyDetailsDto detail : details1) { |
| | | LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree(); |
| | | tree.setJxbz(jxbz); |
| | | tree.setCardId(dao.getHisRegistrationId()); |
| | | tree.setPationid(customer.getPationId()); |
| | | JSONObject resultData = mzylyzsq3.getJSONObject("ResultData"); |
| | | tree.setSqdh(resultData.getStr("zlczh")); |
| | | tree.setFyhj(resultData.getStr("fyhj")); |
| | | String mxfyxmbm = detail.getMxfyxmbm(); |
| | | tree.setHisXmdm(mxfyxmbm); |
| | | tree.setType("处置"); |
| | | tree.setTjPrice(String.valueOf(detail.getProjg())); |
| | | LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>(); |
| | | if (detail.getSfzhfy().equals("1")) |
| | | wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm); |
| | | else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm); |
| | | List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1); |
| | | if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) { |
| | | String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm(); |
| | | LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>(); |
| | | wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm); |
| | | LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2); |
| | | LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>(); |
| | | wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm()); |
| | | LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); |
| | | tree.setXmfl(ejjfxmzd.getYjkmdm()); |
| | | } |
| | | tree.setCreateTime(DateUtil.date()); |
| | | ltkjJianchajianyanTreeService.save(tree); |
| | | } |
| | | } |
| | | } |
| | | |
| | | //药品申请 |
| | | if(!outpinmedicapplyDetilsDtos.isEmpty()){ |
| | | OutpinmedicapplyDto dto1=new OutpinmedicapplyDto(); |
| | | dto1.setHisRegistrationId(cardId); |
| | | dto1.setSfzh(customer.getCusIdcard()); |
| | | dto1.setSqysbm(ysbm); |
| | | dto1.setMzksbm(dept); |
| | | dto1.setSjrq(date); |
| | | dto1.setCzybm(ysbm); |
| | | dto1.setCzyksbm(dept); |
| | | dto1.setCflxbm("A"); |
| | | dto1.setYfbm("1"); |
| | | dto1.setFyts("1"); |
| | | dto1.setMzzd(""); |
| | | dto1.setDetails(outpinmedicapplyDetilsDtos); |
| | | AjaxResult result = controller.Outpinmedicapply(dto1); |
| | | String result1 = getAjaxResult(result); |
| | | JSONObject object = getJSONObject(result1); |
| | | String code = object.getStr("ResultCode"); |
| | | if(null !=code && code.equals("0")){ |
| | | JSONObject resultData = object.getJSONObject("ResultData"); |
| | | // Map<String, Object> resultDatasss = (Map<String, Object>) resultData.get(0); |
| | | String cfh = resultData.getStr("cfh"); |
| | | log.info("药品申请后的处方号是: "+cfh+" outpinmedicapplyDetilsDtos 里面的值为: "+outpinmedicapplyDetilsDtos.toString()); |
| | | for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) { |
| | | TjCf cf=new TjCf(); |
| | | cf.setJxbz(jxbz); |
| | | cf.setCardId(cardId); |
| | | cf.setSfzh(customer.getCusIdcard()); |
| | | cf.setCfh(cfh); |
| | | cf.setSqysbm(ysbm); |
| | | cf.setSqysxm(ysmc); |
| | | cf.setMzksbn(dept); |
| | | cf.setSqrq(date); |
| | | cf.setCzybm(ysbm); |
| | | cf.setYpbm(detilsDto.getYpbm()); |
| | | cf.setYpmc("尿素[14C]呼气试验药盒"); |
| | | cf.setSl(String.valueOf(detilsDto.getSl())); |
| | | cf.setDj(String.valueOf(detilsDto.getDj())); |
| | | cf.setDcjl(String.valueOf(detilsDto.getDcjl())); |
| | | cf.setPj(String.valueOf(detilsDto.getPj())); |
| | | cf.setJj(String.valueOf(detilsDto.getJj())); |
| | | cf.setCreateTime(new Date()); |
| | | cfService.save(cf); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | //父项耗材 |
| | | 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); |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | public void pacsReg(TjOrder order, TjCustomer customer, ArrayList<TjProject> jianChaProjects) { |
| | | List<TjProject> projectList1 = jianChaProjects.stream().distinct().collect(Collectors.toList()); |
| | | JSONArray array = JSONUtil.createArray(); |
| | | ArrayList<SavePacsApply> successPacsList = new ArrayList<>(); |
| | | ArrayList<SavePacsApply> errorPacsList = new ArrayList<>(); |
| | | int allTotal = 0; |
| | | try { |
| | | allTotal = pacsApiMethodService.saveProjects(order, customer, projectList1, array, successPacsList, errorPacsList); |
| | | } catch (Exception e) { |
| | | log.error(e.getMessage()); |
| | | for (Object object : array) { |
| | | JSONObject jsonObject = (JSONObject) object; |
| | | pacsApiMethodService.updatePacsApply(jsonObject.getStr("regNo"), jsonObject.getStr("cardId"), jsonObject.getStr("name")); |
| | | } |
| | | } |
| | | log.info("检查总计 ->{}个", allTotal); |
| | | if (!errorPacsList.isEmpty()) { |
| | | log.info("成功 ->{}", successPacsList); |
| | | log.error("失败 ->{}", errorPacsList); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | @Async("async") |
| | | public void dockerSetCustomerLisByRedis(List<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 |
| | |
| | | @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()); |
| | | //给弃检表添加记录 |
| | |
| | | |
| | | 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()); |
| | |
| | | } |
| | | } |
| | | 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(new DateTime()); |
| | | tjOrder.setUpdateTime(date); |
| | | tjOrder.setUpdateId(String.valueOf(sysUser.getUserId())); |
| | | orderService.updateById(tjOrder); |
| | | TjCustomer customer = tjCustomerService.selectTjCustomerByCusId(tjOrder.getUserId()); |
| | |
| | | yqOrder.setSex(String.valueOf(customer.getCusSex())); |
| | | yqOrder.setAge(customer.getAge()); |
| | | yqOrder.setPhone(customer.getCusPhone()); |
| | | yqOrder.setYqTime(new Date()); |
| | | 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(new DateTime()); |
| | | yqOrder.setCreateTime(date); |
| | | yqOrder.setUpdateBy(sysUser.getNickName()); |
| | | yqOrder.setUpdateTime(new DateTime()); |
| | | yqOrder.setUpdateTime(date); |
| | | yqOrder.setCreateId(String.valueOf(sysUser.getUserId())); |
| | | yqOrder.setUpdateId(String.valueOf(sysUser.getUserId())); |
| | | yqOrderService.save(yqOrder); |
| | |
| | | |
| | | @Override |
| | | @Async("async") |
| | | public void saveRedisTransitionByPacId(String cusId, Long pacId, List<Long> proIds) { |
| | | public void saveRedisTransitionByPacId(String cusId,String cardId, Long pacId, List<Long> proIds) { |
| | | if (null != pacId) { |
| | | transitionService.saveRedisTransitionByPacId(cusId, pacId); |
| | | transitionService.saveRedisTransitionByPacId(cusId,cardId ,pacId); |
| | | } |
| | | if (null != proIds && proIds.size() > 0) { |
| | | saveRedisTransitionByProId(cusId, proIds); |
| | | saveRedisTransitionByProId(cusId,cardId, proIds); |
| | | } |
| | | } |
| | | |
| | |
| | | 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); |
| | | } |
| | | |
| | | List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(order.getOrderId()); |
| | | addCaiYangDengJi(detailList, detailList.size() > 0, order, sysUser,null); |
| | | } |
| | | |
| | | |
| | | |
| | | //首页饼状图登记人数接口 |
| | | private AjaxResult getPieCharts() { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | |
| | | Date date=new Date(); |
| | | |
| | | //获取体检登记数 |
| | | LambdaQueryWrapper<TjOrder> wq0 = new LambdaQueryWrapper<>(); |
| | | wq0.between(TjOrder::getCreateTime, DateUtil.lastMonth(), DateUtil.now()); |
| | | wq0.between(TjOrder::getCreateTime,DateUtil.offsetMonth(date,-1),date); |
| | | List<TjOrder> orderCountList = orderService.list(wq0); |
| | | if (null != orderCountList && orderCountList.size() > 0) { |
| | | if (null != orderCountList && !orderCountList.isEmpty()) { |
| | | List<PieChartVo> pieChartVoList = getTjorderCountMap(orderCountList); |
| | | map.put("tjdj", pieChartVoList); |
| | | } else { |
| | |
| | | } |
| | | //获取体检异常数 |
| | | 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); |
| | | wq1.between(TjOrder::getCreateTime,DateUtil.offsetMonth(date,-1),date); |
| | | // wq1.isNotNull(TjOrder::getFinishTime); |
| | | // wq1.eq(TjOrder::getCheckStatus, 1); |
| | | List<TjOrder> orderList = orderService.list(wq1); |
| | | if (null !=orderList && !orderList.isEmpty()) { |
| | | // List<TjOrder> orderList = orderAbnormalCountList.stream().distinct().collect(Collectors.toList()); |
| | | List<PieChartVo> pieChartVoList = getTjorderAbnormalCountMap(orderList); |
| | | map.put("tjyc", pieChartVoList); |
| | | } else { |
| | | map.put("tjyc", 0); |
| | |
| | | int c = 0; |
| | | int d = 0; |
| | | int e = 0; |
| | | Map<String, Object> map = null; |
| | | Map<String, Object> map = new HashMap<>(); |
| | | 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) { |
| | | int count = hysqdService.getHyYcXmCount(tjOrder.getCardId()); |
| | | if ((null != list && !list.isEmpty()) || (count>0)) { |
| | | TjCustomer customer = tjCustomerService.getById(tjOrder.getUserId()); |
| | | if (null != customer) { |
| | | int age = DateUtil.ageOfNow(customer.getCusBrithday()); |
| | |
| | | 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); |
| | | } |
| | | } |
| | | 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()); |
| | |
| | | } |
| | | } |
| | | |
| | | //已检 |
| | | //已检(整体存入) |
| | | public List<TjCustomer> getYjAjaxResult(List<Long> ksproList) { |
| | | List<TjCustomer> customerLis = new ArrayList<>(); |
| | | LambdaQueryWrapper<TjOrderDetail> wq1 = new LambdaQueryWrapper<>(); |
| | |
| | | () -> 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) { |
| | |
| | | } |
| | | LambdaQueryWrapper<TjOrderDetail> qww = new LambdaQueryWrapper<>(); |
| | | qww.eq(TjOrderDetail::getOrderId, order.getOrderId()); |
| | | qww.eq(TjOrderDetail::getTjStatus,0); |
| | | qww.eq(TjOrderDetail::getTjStatus, 0); |
| | | qww.isNotNull(TjOrderDetail::getFlowingWaterId); |
| | | List<TjOrderDetail> lists = tjOrderDetailService.list(qww); |
| | | if (null != lists&&lists.size()>0) { |
| | | if (null != lists && lists.size() > 0) { |
| | | continue; |
| | | } |
| | | |
| | |
| | | //遍历项目 判断是否有重大阳性 标记 |
| | | for (TjOrderDetail tjOrderDetail11 : lists) { |
| | | customer.setIsPositive(tjOrderDetail11.getIsPositive()); |
| | | if (tjOrderDetail11.getIsPositive()==1){ |
| | | if (tjOrderDetail11.getIsPositive() == 1) { |
| | | break; |
| | | } |
| | | } |
| | |
| | | return customerLis; |
| | | } |
| | | |
| | | //未检 |
| | | //未检(整体存入) |
| | | public List<TjCustomer> getWjAjaxResult(List<Long> ksproList) { |
| | | List<TjCustomer> customerLis = new ArrayList<>(); |
| | | LambdaQueryWrapper<TjOrderDetail> wq1 = new LambdaQueryWrapper<>(); |
| | |
| | | () -> 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) { |
| | |
| | | //遍历项目 判断是否有重大阳性 标记 |
| | | for (TjOrderDetail tjOrderDetail11 : lists) { |
| | | customer.setIsPositive(tjOrderDetail11.getIsPositive()); |
| | | if (tjOrderDetail11.getIsPositive()==1){ |
| | | if (tjOrderDetail11.getIsPositive() == 1) { |
| | | break; |
| | | } |
| | | } |
| | |
| | | StringBuilder stringBuilder = new StringBuilder(); |
| | | for (TjOrderRemark remark : list) { |
| | | TjProject byId = projectService.getById(remark.getProId()); |
| | | stringBuilder.append(byId.getProName()).append(";"); |
| | | 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) { |
| | |
| | | } |
| | | } |
| | | 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(); |
| | | } |
| | | |
| | | //总检点击体检信息详情 |
| | |
| | | } |
| | | |
| | | //临时表添加单项 |
| | | public void saveRedisTransitionByProId(String cusId, List<Long> proIds) { |
| | | 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; |
| | | TjProject project = projectService.selectTjProjectByProId(proId); |
| | | if(null !=project){ //&& (!project.getProName().contains("静脉采血")|| !project.getProName().contains("费")) |
| | | List<TbTransition> transitionList = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(cusId, String.valueOf(proId)); |
| | | if (null == transitionList || transitionList.size() == 0) { |
| | | transitionService.saveRedisTransitionByProId(cusId,cardId, proId); |
| | | } |
| | | } |
| | | transitionService.saveRedisTransitionByProId(cusId, proId); |
| | | // if(null !=project) transitionService.saveRedisTransitionByProId(cusId,cardId, proId); |
| | | } |
| | | } |
| | | |
| | |
| | | map.put("remark", remark.getRemark()); |
| | | return map; |
| | | } |
| | | |
| | | @Override |
| | | public void tjUpdateDetatilByVi(String s) { |
| | | |
| | | } |
| | | } |