zjh
2025-02-11 a5bbda30b568e9d72679da762166c40c9508b414
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
@@ -90,6 +90,7 @@
import org.aspectj.weaver.ast.Var;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.http.HttpRequest;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -240,6 +241,8 @@
    @Autowired
    private TbTransitionMapper tbTransitionMapper;
    private static final String TJH = "tjhs:tjh";
    //将方法返回值解析成json格式
    public JSONObject getJSONObject(String builder) {
        String Response = JSONUtil.parseObj(builder).getStr("Response");
@@ -305,7 +308,7 @@
            wqq.like(TjCustomer::getCusName, name);
            List<TjCustomer> customerList = tjCustomerService.list(wqq);
            List<TjOrder> list2 = new ArrayList<>();
            if (null != customerList && customerList.size() > 0) {
            if (null != customerList && !customerList.isEmpty()) {
                List<TjOrder> list = new ArrayList<>();
                for (TjCustomer customer : customerList) {
                    LambdaQueryWrapper<TjOrder> wq = new LambdaQueryWrapper<>();
@@ -316,13 +319,13 @@
                    list.addAll(tjOrderService.list(wq));
                }
                List<TjOrder> collect = null;
                if (list.size() > 0) {
                if (!list.isEmpty()) {
                    for (TjOrder order : list) {
                        //筛选有调查问卷的
                        LambdaQueryWrapper<TjSurveyRecord> wqq1 = new LambdaQueryWrapper<>();
                        wqq1.eq(TjSurveyRecord::getTjnumber, order.getTjNumber());
                        List<TjSurveyRecord> one = surveyRecordService.list(wqq1);
                        if (one.size() == 0) {
                        if (one.isEmpty()) {
                            TjCustomer tjCustomer = tjCustomerService.getById(order.getUserId());
                            if (null != tjCustomer) {
                                order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName()));
@@ -383,7 +386,7 @@
                LambdaQueryWrapper<TjSurveyRecord> wqq = new LambdaQueryWrapper<>();
                wqq.eq(TjSurveyRecord::getTjnumber, order.getTjNumber());
                List<TjSurveyRecord> one = surveyRecordService.list(wqq);
                if (one.size() == 0) {
                if (one.isEmpty()) {
                    TjCustomer tjCustomer = tjCustomerService.getById(order.getUserId());
                    if (null != tjCustomer) {
                        order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName()));
@@ -1099,7 +1102,7 @@
//        if(StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber=makeLisTmhPrefix+tjNumber;
        String tjNumber = (SecurityUtils.getUsername() + IdUtils.getTjNumber());
        String tjNumber = (SecurityUtils.getUsername() + idUtils.getTjNumber());
        if (StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber = makeLisTmhPrefix + tjNumber;
        tjOrder.setTjNumber(tjNumber);
@@ -1558,15 +1561,11 @@
//                            }
//                        }
//                    });
                    String tjh = (sysUser.getUserName() + new SimpleDateFormat("yyMMddHHmmss").format(new Date()));
                    String finalTjh = tjh;
                    Future<AjaxResult> future = executor.submit(new Callable<AjaxResult>() {
                        @Override
                        public AjaxResult call() throws Exception {
                            return getAjaxResult(aLong, sysUser, daoDto.getTjCategory(), finalTjh);
                            return getAjaxResult(aLong, sysUser, daoDto.getTjCategory());
                        }
                    });
                    try {
@@ -1580,7 +1579,7 @@
                            errTjh.add(userId);
                        }
                    } catch (InterruptedException | ExecutionException e) {
                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
//                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                        e.printStackTrace();
                    }
                }
@@ -1588,7 +1587,7 @@
            }
            // TODO 因为有体检号会查出空数据 先使用死数据  打印导诊单
            if (!tjNumbers.isEmpty()) {
                Map<String, Object> map = null;
            /*    Map<String, Object> map = null;
                try {
                    map = PDFDocumentUtil.getDocument();
                    Document document = (Document) map.get("document");
@@ -1643,15 +1642,19 @@
                } catch (IOException | DocumentException e) {
                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                    e.printStackTrace();
                }
                return AjaxResult.success("操作成功");
                }*/
                Map<String,Object> map=new HashMap<>();
                map.put("tjh",tjNumbers);
                return AjaxResult.success("操作成功",map);
            }
            if (!errTjh.isEmpty()){
                return AjaxResult.success("以上人员签到失败",errTjh);
                Map<String,Object> map=new HashMap<>();
                map.put("errtjh",errTjh);
                return AjaxResult.success("以上人员签到失败",map);
            }
            return AjaxResult.success();
        }
        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
//        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
        return AjaxResult.error();
    }
@@ -1665,7 +1668,7 @@
        return AjaxResult.success(hashMap);
    }
//    @Transactional
    @Transactional
    public void getAjaxResults(String cusIdcard) {
        if (!"".equals(cusIdcard) && cusIdcard != null) {
            //根据配置调取存储过程 将临时表数据存入预约表2023.12.12
@@ -1800,8 +1803,8 @@
        DynamicDataSourceContextHolder.clearDataSourceType();
    }
//    @Transactional
    public AjaxResult getAjaxResult(Long userId, SysUser sysUser, String tjCategory,String tjh) throws IOException {
    @Transactional
    public AjaxResult getAjaxResult(Long userId, SysUser sysUser, String tjCategory) throws IOException {
        LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>();
        wq.eq(TjCustomer::getCusId, userId);
@@ -1858,14 +1861,33 @@
//            tjReservationService.updateById(tjReservation);
            //生成体检号
            String tjNumber = (sysUser.getUserName() + new SimpleDateFormat("yyMMddHHmmss").format(new Date()));
//            String tjNumber = (sysUser.getUserName() + new SimpleDateFormat("yyMMddHHmmss").format(new Date()));
//            tjNumber = tjNumber.replaceAll(".{6}$", userId.toString().substring(userId.toString().length() - 6));
            tjNumber = tjNumber.replaceAll(".{4}$", userId.toString().substring(userId.toString().length() - 4));
            tjh = tjh.replaceAll(".{4}$", userId.toString().substring(userId.toString().length() - 4));
            //获取拼接前缀
            String makeLisTmhPrefix = configService.selectConfigByKey("make_lis_tmh_prefix");
            String tjNumber = (sysUser.getUserName() + idUtils.getTjNumber());
            if (StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber = makeLisTmhPrefix + tjNumber;
//            tjOrder.setTjNumber(tjNumber);
            tjOrder.setTjNumber(tjh);
//            if (redisCache.hasKey(TJH)) {
//                while (true){
//                    List<String> tjh = redisCache.getCacheList(TJH);
//                    if(tjh.contains(tjNumber)){
//                        tjNumber =(sysUser.getUserName() + IdUtils.getTjNumber());
//                        if (StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber = makeLisTmhPrefix + tjNumber;
//                    }else {
//                        tjh.add(tjNumber);
//                    }
//                }
//            }else {
//                List<String> stringList = tjOrderService.
//                        list(new LambdaQueryWrapper<TjOrder>().select(TjOrder::getTjNumber)).stream().map(TjOrder::getTjNumber).collect(Collectors.toList());
//                stringList.add(tjNumber);
//                redisCache.setCacheList(TJH,stringList);
//            }
            tjOrder.setTjNumber(tjNumber);
            if (null != tjOrder.getPhoto()) {
                File file = new File(tjOrder.getPhoto());
                if (file.isFile()) {
@@ -1910,8 +1932,12 @@
                tjFlowingWater.setUpdateTime(date);
                tjFlowingWater.setCreateBy(sysUser.getNickName());
                tjFlowingWater.setUpdateBy(sysUser.getNickName());
                tjFlowingWater.setCopeWith(tbTransitionMapper.sumTbTransitionOrdPriceByTjNum(tjOrder.getTjNumber()));
                tjFlowingWater.setPaidIn(tbTransitionMapper.sumTbTransitionNowPriceByTjNum(tjOrder.getTjNumber()));
//                BigDecimal bigDecimal = tbTransitionMapper.sumTbTransitionOrdPriceByTjNum(tjOrder.getTjNumber());
                BigDecimal bigDecimal = tbTransitionMapper.sumTbTransitionOrdPriceByTjNumIsNull(tjCustomer.getCusIdcard());
                tjFlowingWater.setCopeWith(bigDecimal);
//                BigDecimal bigDecimal1 = tbTransitionMapper.sumTbTransitionNowPriceByTjNum(tjOrder.getTjNumber());
                BigDecimal bigDecimal1 = tbTransitionMapper.sumTbTransitionNowPriceByTjNumIsNull(tjCustomer.getCusIdcard());
                tjFlowingWater.setPaidIn(bigDecimal1);
                tjFlowingWater.setDiscount(String.valueOf(10));
                tjFlowingWater.setPayStasus(1L);
                tjFlowingWater.setPayType(3L);