zjh
2024-07-05 ab550ebbfa4b579b373fdd7589e799bbb44362e7
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.dto.TjProBlDto;
import com.ltkj.hosp.hisDto.OutpinimpapplyDto;
import com.ltkj.hosp.mapper.TestMapper;
import com.ltkj.hosp.service.*;
@@ -192,6 +193,10 @@
    private ISysDeptService sysDeptService;
    @Autowired
    private HisApiMethodService controller;
    @Autowired
    private TjProBlService blService;
    @Autowired
    private LtkjJianchajianyanTreeService ltkjJianchajianyanTreeService;
    /**
     * 查询体检记录列表
@@ -1870,7 +1875,7 @@
            TjCustomer customer = tjCustomerService.selectTjCustomerByCusId(tjOrder.getUserId());
            customer.setCardId("0");
            tjCustomerService.updateById(customer);
            String config = configService.selectConfigByKey("sfkqdyhis");
          /*  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();
@@ -1898,7 +1903,7 @@
                dto.setSfqj("0");
                dto.setJzqk(9);
                controller.Outpinimpapply(dto);
            }
            }*/
            return AjaxResult.success("签离成功!");
        } else {
@@ -2746,5 +2751,84 @@
        }
        return AjaxResult.success();
    }
    @GetMapping("/getBlproByTjh")
    @ApiOperation(value = "根据体检号获取补录项目记录")
    @Transactional
    public AjaxResult getBlproByTjh(@RequestParam @ApiParam(value = "体检号") String tjNum) {
        TjOrder order = tjOrderService.getOrderByTjNum(tjNum);
        if (null != order) {
            LambdaQueryWrapper<TjProBl> wq=new LambdaQueryWrapper<>();
            wq.eq(TjProBl::getTjh,tjNum);
            List<TjProBl> blList = blService.list(wq);
            if(null !=blList && blList.size()>0){
                for (TjProBl bl : blList) {
                    LambdaQueryWrapper<TjOrderRemark>wqr=new LambdaQueryWrapper<>();
                    wqr.eq(TjOrderRemark::getJxbz,bl.getBldh());
                    List<TjOrderRemark> remarkList = remarkService.list(wqr);
                    if(null !=remarkList && remarkList.size()>0){
                        List<Long> collect = remarkList.stream().map(TjOrderRemark::getProId).collect(Collectors.toList());
                        LambdaQueryWrapper<TjProject> wqp=new LambdaQueryWrapper<>();
                        wqp.in(TjProject::getProId,collect);
                        List<TjProject> projectList = projectService.list(wqp);
                        for (TjProject project : projectList) {
                            project.setChildren(projectService.getTjProjectListBySoneId(String.valueOf(project.getProId())));
                        }
                        bl.setProjectList(projectList);
                    }
                }
                return AjaxResult.success(blList);
            }
            return AjaxResult.success(null);
        }
        return AjaxResult.error("暂无体检记录");
    }
    @PostMapping("/revokeBlProByBldhAndTjh")
    @ApiOperation(value = "根据补录单号和体检号删除记录")
    @Transactional
    public AjaxResult revokeBlProByBldhAndTjh(@RequestBody TjProBlDto dto) {
        if(null ==dto.getBldhs() || dto.getBldhs().size()==0){
            return AjaxResult.error("请选择要撤销的补录项目");
        }
        TjOrder order = tjOrderService.getOrderByTjNum(dto.getTjh());
        if (null != order) {
            String configByKey = configService.selectConfigByKey("sfkqdyhis");
            if(null !=configByKey && configByKey.equals("Y")){
                HashMap<String, Object> hisRequestParams = new HashMap<>();
                hisRequestParams.put("patientId",order.getCardId());
                AjaxResult queryPay = hisApiGetMethodService.getHISDataNew("QueryPay", hisRequestParams);
                if (Integer.parseInt(queryPay.get("code").toString()) == 200) {
                    List<Map<String, String>> data = (List<Map<String, String>>) queryPay.get("data");
                    BigDecimal cateFeeAll = BigDecimal.ZERO;
                    List<String> advIds=new ArrayList<>();
                    for (Map<String, String> datum : data) {
                        String advId = datum.get("Adv_Id").split("_")[1];
                        BigDecimal cateFee = new BigDecimal(datum.get("CateFee"));
                        cateFeeAll = cateFeeAll.add(cateFee);
                        advIds.add(advId);
                    }
                    if (advIds.containsAll(dto.getBldhs()) && cateFeeAll.compareTo(BigDecimal.ZERO)!=0 ){
                        return AjaxResult.error("改项目已缴费不可撤销!!!");
                    }
                }
            }
            for (String bldh : dto.getBldhs()) {
               remarkService.deleteTjOrderDetailByjxbz(bldh);
                tjOrderDetailService.deleteTjOrderDetailByjxbz(bldh);
                tjFlowingWaterService.deleteTjOrderDetailByjxbz(bldh);
                transitionService.deleteTjOrderDetailByjxbz(bldh);
                blService.remove(new LambdaQueryWrapper<TjProBl>().eq(TjProBl::getTjh,dto.getTjh()).eq(TjProBl::getBldh,bldh));
            }
            return AjaxResult.success();
        }
        return AjaxResult.error();
    }
}