zjh
2024-07-02 a51a70b780ef0ed24abb81b096c80649a0255ece
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
@@ -46,6 +46,7 @@
import com.ltkj.framework.datasource.DynamicDataSourceContextHolder;
import com.ltkj.hosp.domain.*;
import com.ltkj.hosp.dto.QianDaoDto;
import com.ltkj.hosp.hisDto.OutpinimpapplyDto;
import com.ltkj.hosp.mapper.TestMapper;
import com.ltkj.hosp.service.*;
import com.ltkj.hosp.sqlDomain.LtkjMiddleDetail;
@@ -66,6 +67,7 @@
import com.ltkj.system.service.ISysUserService;
import com.ltkj.web.controller.his.HisApiGetMethodService;
import com.ltkj.web.controller.his.HisApiMethod;
import com.ltkj.web.controller.his.HisApiMethodService;
import com.ltkj.web.controller.his.HisMzJysqController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -188,7 +190,8 @@
    private HisApiGetMethodService hisApiGetMethodService;
    @Autowired
    private ISysDeptService sysDeptService;
    @Autowired
    private HisApiMethodService controller;
    /**
     * 查询体检记录列表
@@ -925,6 +928,11 @@
        if (null != mallOrder) tjOrder.setMallOrderId(String.valueOf(mallOrder.getId()));
        tjOrder.setStatus(TjConstants.TJ_BEGIN);
        tjOrder.setCardId(tjCustomer.getCardId());
        if(null !=tjOrder.getTjCategory() && tjOrder.getTjCategory().equals("13")){
            tjOrder.setFinishTime(new Date());
            tjOrder.setCheckStatus(1);
            tjOrder.setStatus(TjConstants.TJ_WAIT);
        }
        if (tjOrderService.save(tjOrder)) {
            //保存收货地址
@@ -1522,66 +1530,68 @@
                redisCache.deleteCacheMapValue(cardId + cusId + "cusId", cardId + cusId);
            }
        }
        List<TbTransition> tbTransitionList = null;
        if (!redisCache.hasKey(cardId + cusId)) {
            tbTransitionList = new ArrayList<>();
        } else {
            tbTransitionList = redisCache.getCacheList(cardId + cusId);
        }
//        List<TbTransition> tbTransitionList = null;
//        if (!redisCache.hasKey(cardId + cusId)) {
//            tbTransitionList = new ArrayList<>();
//        } else {
//            tbTransitionList = redisCache.getCacheList(cardId + cusId);
//        }
        //套餐
        /*套餐*/
        if (null != packId && !packId.equals("")) {
            Long pacId = Long.valueOf(packId.toString());
            List<TbTransition> list = transitionService.getTbTransitionListByCusIdAndPac(cusId, String.valueOf(pacId));
            if (null == list || list.size() == 0) {
                transitionService.deletedTbTransitionListByCusIdAndPac(cusId, cardId);
                if (redisCache.hasKey(cardId + cusId + "cusId"))
                    redisCache.deleteCacheMapValue(cardId + cusId + "cusId", cardId + cusId);
                if (redisCache.hasKey(cardId + cusId)) {
                    tbTransitionList = new ArrayList<>();
                    redisCache.deleteObject(cardId + cusId);
                }
//                if (redisCache.hasKey(cardId + cusId + "cusId"))
//                    redisCache.deleteCacheMapValue(cardId + cusId + "cusId", cardId + cusId);
//                if (redisCache.hasKey(cardId + cusId)) {
//                    tbTransitionList = new ArrayList<>();
//                    redisCache.deleteObject(cardId + cusId);
//                }
                List<TjPackageProject> ppList = tjPackageProjectService.getTjPackageProjectListByPacId(String.valueOf(pacId));
                if (null != ppList && ppList.size() > 0) {
                    transitionService.saveRedisTransitionByPacId(cusId,cardId ,pacId);
                    //异步保存数据库
//                    asyncService.addRedisTransitionPac(cusId, pacId, ppList);
                    asyncService.saveRedisTransitionByPacId(cusId, cardId, pacId, null);
                    for (TjPackageProject tjPackageProject : ppList) {
                        TjProject project = projectService.getTjProjectById(String.valueOf(tjPackageProject.getProId()));
                        if (null != project) {
                            BigDecimal divide = BigDecimal.valueOf(0);
                            if (tjPackageProject.getPriceNow().compareTo(BigDecimal.valueOf(0)) == 0 || project.getProPrice().compareTo(BigDecimal.valueOf(0)) == 0) {
                                divide = BigDecimal.valueOf(0);
                            } else {
                                divide = tjPackageProject.getPriceNow().divide(project.getProPrice(), 5, RoundingMode.HALF_DOWN);
                            }
                            List<TjProject> tjProSonList = projectService.getTjProjectListBySoneId(String.valueOf(project.getProId()));
                            if (null != tjProSonList && tjProSonList.size() > 0) {
                                //addRedisTransitionPac(cusId, tbTransitionList, pacId, tjPackageProject, project, divide, tjProSonList);
                                for (TjProject tjProject : tjProSonList) {
                                    TbTransition tbTransition = new TbTransition();
                                    tbTransition.setCusId(cusId);
                                    tbTransition.setPacId(pacId);
                                    if (null != tjPackageProject.getPriceNow() && divide.compareTo(BigDecimal.valueOf(0)) > 0) {
                                        tbTransition.setNowPrice(tjProject.getProPrice().multiply(divide).setScale(2, RoundingMode.HALF_DOWN));
                                        tbTransition.setOrdPrice(tjProject.getProPrice().multiply(divide).setScale(2, RoundingMode.HALF_DOWN));
                                    } else {
                                        tbTransition.setNowPrice(BigDecimal.valueOf(0.00));
                                        tbTransition.setOrdPrice(BigDecimal.valueOf(0.00));
                                    }
                                    tbTransition.setParentProId(project.getProId());
                                    tbTransition.setParentProName(project.getProName());
                                    tbTransition.setProId(tjProject.getProId());
                                    tbTransition.setProName(tjProject.getProName());
                                    tbTransition.setPacName(tjPackageService.getById(tbTransition.getPacId()).getPacName());
                                    tbTransition.setProType(tjProject.getProType());
                                    tbTransition.setProCheckMethod(tjProject.getProCheckMethod());
                                    tbTransitionList.add(tbTransition);
                                }
                            }
                        }
                    }
//                    asyncService.saveRedisTransitionByPacId(cusId, cardId, pacId, null);
//                    for (TjPackageProject tjPackageProject : ppList) {
//                        TjProject project = projectService.getTjProjectById(String.valueOf(tjPackageProject.getProId()));
//                        if (null != project) {
//
//                            BigDecimal divide = BigDecimal.valueOf(0);
//                            if (tjPackageProject.getPriceNow().compareTo(BigDecimal.valueOf(0)) == 0 || project.getProPrice().compareTo(BigDecimal.valueOf(0)) == 0) {
//                                divide = BigDecimal.valueOf(0);
//                            } else {
//                                divide = tjPackageProject.getPriceNow().divide(project.getProPrice(), 5, RoundingMode.HALF_DOWN);
//                            }
//                            List<TjProject> tjProSonList = projectService.getTjProjectListBySoneId(String.valueOf(project.getProId()));
//                            if (null != tjProSonList && tjProSonList.size() > 0) {
//                                //addRedisTransitionPac(cusId, tbTransitionList, pacId, tjPackageProject, project, divide, tjProSonList);
//                                for (TjProject tjProject : tjProSonList) {
//                                    TbTransition tbTransition = new TbTransition();
//                                    tbTransition.setCusId(cusId);
//                                    tbTransition.setPacId(pacId);
//                                    if (null != tjPackageProject.getPriceNow() && divide.compareTo(BigDecimal.valueOf(0)) > 0) {
//                                        tbTransition.setNowPrice(tjProject.getProPrice().multiply(divide).setScale(2, RoundingMode.HALF_DOWN));
//                                        tbTransition.setOrdPrice(tjProject.getProPrice().multiply(divide).setScale(2, RoundingMode.HALF_DOWN));
//                                    } else {
//                                        tbTransition.setNowPrice(BigDecimal.valueOf(0.00));
//                                        tbTransition.setOrdPrice(BigDecimal.valueOf(0.00));
//                                    }
//                                    tbTransition.setParentProId(project.getProId());
//                                    tbTransition.setParentProName(project.getProName());
//                                    tbTransition.setProId(tjProject.getProId());
//                                    tbTransition.setProName(tjProject.getProName());
//                                    tbTransition.setPacName(tjPackageService.getById(tbTransition.getPacId()).getPacName());
//                                    tbTransition.setProType(tjProject.getProType());
//                                    tbTransition.setProCheckMethod(tjProject.getProCheckMethod());
//                                    tbTransitionList.add(tbTransition);
//                                }
//
//                            }
//                        }
//                    }
                }
            }
        }
@@ -1589,53 +1599,63 @@
        //单项
        if (null != proIds && proIds.size() > 0) {
            //异步保存数据库表
            asyncService.saveRedisTransitionByPacId(cusId, cardId, null, proIds);
//            asyncService.saveRedisTransitionByPacId(cusId, cardId, null, proIds);
            for (Long proId : proIds) {
                List<TbTransition> transitions = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(cusId, String.valueOf(proId));
                if (null != transitions && transitions.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);
                    }
                }
                TjProject tjProject = projectService.getTjProjectById(String.valueOf(proId));
                if (null != tjProject) {
//                    List<TjProject> tjProSonList = projectService.getTjProjectListBySoneId(String.valueOf(project.getProId()));
//                    if (null != tjProSonList && tjProSonList.size() > 0) {
//                        for (TjProject tjProject : tjProSonList) {
//                    List<TbTransition> transitionss = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(cusId, String.valueOf(tjProject.getProId()));
//                    if (null != transitionss && transitionss.size() > 0) {
//                        continue;
//            if(null !=project) transitionService.saveRedisTransitionByProId(cusId,cardId, proId);
            }
//            for (Long proId : proIds) {
//                List<TbTransition> transitions = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(cusId, String.valueOf(proId));
//                if (null != transitions && transitions.size() > 0) {
//                    continue;
//                }
//                TjProject tjProject = projectService.getTjProjectById(String.valueOf(proId));
//                if (null != tjProject) {
////                    List<TjProject> tjProSonList = projectService.getTjProjectListBySoneId(String.valueOf(project.getProId()));
////                    if (null != tjProSonList && tjProSonList.size() > 0) {
////                        for (TjProject tjProject : tjProSonList) {
////                    List<TbTransition> transitionss = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(cusId, String.valueOf(tjProject.getProId()));
////                    if (null != transitionss && transitionss.size() > 0) {
////                        continue;
////                    }
//                    TbTransition tbTransition = new TbTransition();
//                    tbTransition.setCusId(cusId);
//                    tbTransition.setPacId(null);
//                    if (null != tjProject.getProPrice()) {
//                        tbTransition.setOrdPrice(tjProject.getProPrice());
//                        tbTransition.setNowPrice(tjProject.getProPrice());
//                    } else {
//                        tbTransition.setOrdPrice(BigDecimal.valueOf(0.00));
//                        tbTransition.setNowPrice(BigDecimal.valueOf(0.00));
//                    }
                    TbTransition tbTransition = new TbTransition();
                    tbTransition.setCusId(cusId);
                    tbTransition.setPacId(null);
                    if (null != tjProject.getProPrice()) {
                        tbTransition.setOrdPrice(tjProject.getProPrice());
                        tbTransition.setNowPrice(tjProject.getProPrice());
                    } else {
                        tbTransition.setOrdPrice(BigDecimal.valueOf(0.00));
                        tbTransition.setNowPrice(BigDecimal.valueOf(0.00));
                    }
                    tbTransition.setParentProId(tjProject.getProParentId());
                    if (tjProject.getProParentId() != null) {
                        TjProject byId = projectService.getById(tjProject.getProParentId());
                        if (null != byId) {
                            tbTransition.setParentProName(byId.getProName());
                        }
                    }
                    tbTransition.setParentProName("");
                    tbTransition.setProId(tjProject.getProId());
                    tbTransition.setProName(tjProject.getProName());
                    tbTransition.setProType(tjProject.getProType());
                    tbTransition.setProCheckMethod(tjProject.getProCheckMethod());
                    tbTransitionList.add(tbTransition);
//                    tbTransition.setParentProId(tjProject.getProParentId());
//                    if (tjProject.getProParentId() != null) {
//                        TjProject byId = projectService.getById(tjProject.getProParentId());
//                        if (null != byId) {
//                            tbTransition.setParentProName(byId.getProName());
//                        }
//                    }
                }
            }
//                    tbTransition.setParentProName("");
//
//                    tbTransition.setProId(tjProject.getProId());
//                    tbTransition.setProName(tjProject.getProName());
//                    tbTransition.setProType(tjProject.getProType());
//                    tbTransition.setProCheckMethod(tjProject.getProCheckMethod());
//                    tbTransitionList.add(tbTransition);
////                        }
////                    }
//                }
//            }
        }
        if (null != tbTransitionList && tbTransitionList.size() > 0) {
//        if (null != tbTransitionList && tbTransitionList.size() > 0) {
//            if (redisCache.hasKey(cardId + cusId)) {
//                redisCache.deleteObject(cardId + cusId);
//                redisCache.setCacheList(cardId + cusId, tbTransitionList);
@@ -1644,9 +1664,9 @@
//                redisCache.setCacheList(cardId + cusId, tbTransitionList);
//                redisCache.setCacheMapValue(cardId + cusId + "cusId", cardId + cusId, getMaps(cusId, cardId));
//            }
            List<Map<String, Object>> map1 = getMap(cusId, cardId, tbTransitionList);
            return AjaxResult.success(map1);
        }
//            List<Map<String, Object>> map1 = getMap(cusId, cardId, tbTransitionList);
//            return AjaxResult.success();
//        }
        return AjaxResult.success();
    }
@@ -1850,6 +1870,35 @@
            TjCustomer customer = tjCustomerService.selectTjCustomerByCusId(tjOrder.getUserId());
            customer.setCardId("0");
            tjCustomerService.updateById(customer);
            String config = configService.selectConfigByKey("sfkqdyhis");
            if(null !=config && config.equals("Y")){
                final String date = DateUtil.format(tjOrder.getCreateTime(), "yyyy-MM-dd HH:mm:ss");
                OutpinimpapplyDto dto=new OutpinimpapplyDto();
                dto.setHisRegistrationId(tjOrder.getCardId());
                dto.setMzzdid(1);
                dto.setSqysbm("00029");
                dto.setMzksbm("0101");
                dto.setFbrq(date);
                dto.setZdrq(date);
                dto.setCzybm("00029");
                dto.setCzyksbm("0101");
                dto.setZs("健康查体");
                dto.setBs("不详");
                dto.setClyz("");
                dto.setJws("");
                dto.setTgjc("");
                dto.setGms("");
                dto.setJbbm("Z00.001");
                dto.setJbbm1("");
                dto.setJbbm2("");
                dto.setFzbz("1");
                dto.setHzqx("6");
                dto.setSfqc("0");
                dto.setQchs("");
                dto.setSfqj("0");
                dto.setJzqk(9);
                controller.Outpinimpapply(dto);
            }
            return AjaxResult.success("签离成功!");
        } else {
@@ -2287,12 +2336,23 @@
    public void newSaveextracted(TjOrder tjOrder, TjCustomer tjCustomer, BigDecimal discount, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) {
        tjAskMedicalHistoryService.updateTjAskMedicalHistoryByCusId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjCustomer.getCusId()));
        tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()));
         if(null !=tjOrder.getTjCategory() && tjOrder.getTjCategory().equals("13")){
             tjOrderDetailService.saveJSYTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()));
         }else {
             tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()));
         }
        tjOrderDetailService.saveTjPureToneTesByCusId(tjCustomer.getCusIdcard(), tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()));
        //修改每项的原价现价 //修改临时表体检号
        transitionService.updateTbTransitionPriceByCusId(tjCustomer.getCusIdcard(), discount, tjOrder.getTjNumber());
        //添加remark表数据
        remarkService.saveTjOrderRemarkByOrderId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjOrder.getOrderId()));
        if(null !=tjOrder.getTjCategory() && tjOrder.getTjCategory().equals("13")){
            remarkService.saveJSYTjOrderRemarkByOrderId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjOrder.getOrderId()));
        }else {
            remarkService.saveTjOrderRemarkByOrderId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjOrder.getOrderId()));
        }
        //判断是否交钱
        if ("1".equals(tjOrder.getTjType())) {
            if (null != tjReservation && tjReservation.getPayType() == 1) {