zhaowenxuan
昨天 dedacd79c93f8ef95e0cb986f5e7fbd27ddbd907
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjProjectController.java
@@ -18,6 +18,7 @@
import com.ltkj.hosp.mapper.TestMapper;
import com.ltkj.hosp.service.*;
import com.ltkj.hosp.treeUtil.TreeSelect;
import com.ltkj.mall.service.IMallKeywordService;
import com.ltkj.system.service.ISysConfigService;
import com.ltkj.system.service.ISysDeptService;
import io.swagger.annotations.Api;
@@ -72,6 +73,10 @@
    private RedisCache redisCache;
    @Autowired
    private TjProjectXgjlService xgjlService;
    @Autowired
    private TjBzProService bzProService;
    @Autowired
    private IMallKeywordService mallKeywordService;
    @GetMapping("/getTjHyBgList")
@@ -93,7 +98,7 @@
        List<TjProject> tjProjects = tjProjectService.getDxTjProjectList();
        String config = configService.selectConfigByKey("tj_dxsxtj");
        if (null != config && config.equals("N")) {
            tjProjects = tjProjectService.getOpenDxTjProjectList();
            tjProjects = tjProjectService.getOpenDxTjProjectList(null, null);
        }
        if (tjProjects != null) {
            for (TjProject project : tjProjects) {
@@ -359,10 +364,11 @@
                return AjaxResult.error("该项目正在套餐中使用,暂时不能停用");
            }
            if(tjProject.getProParentId() !=0){
                LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
                wq.eq(TjProject::getProParentId, tjProject.getProParentId());
                wq.eq(TjProject::getProStatus,0);
                List<TjProject> list = tjProjectService.list(wq);
//                LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
//                wq.eq(TjProject::getProParentId, tjProject.getProParentId());
//                wq.eq(TjProject::getProStatus,0);
//                List<TjProject> list = tjProjectService.list(wq);
                List<TjProject> list = tjProjectService.getTjProjectListBySoneId(tjProject.getProParentId().toString());
                if (null != list && !list.isEmpty()) {
                    int i = list.size();
                    if(i<2) return AjaxResult.error("至少保留一个子项目,不可全部停用!!!");
@@ -587,11 +593,11 @@
     */
    @GetMapping("/getProParentIdDxList")
    @ApiOperation(value = "选择体检项目(所有页面项目)选单项时调用的接口")
    public AjaxResult getProParentIdDxList() {
    public AjaxResult getProParentIdDxList(String xb) {
        List<TjProject> tjProjects = tjProjectService.getDxTjProjectList();
        String config = configService.selectConfigByKey("tj_dxsxtj");
        if (null != config && config.equals("N")) {
            tjProjects = tjProjectService.getOpenDxTjProjectList();
            tjProjects = tjProjectService.getOpenDxTjProjectList(null, xb);
        }
        String key = configService.selectConfigByKey("is_open_sfxm");
        Map<String, Object> map = new HashMap<>();
@@ -604,11 +610,16 @@
    @GetMapping("/getProParentIdDxListByFenYe")
    @ApiOperation(value = "选择体检项目(所有页面项目)选单项时调用的接口(有分页)")
    public AjaxResult getProParentIdDxListByFenYe(@RequestParam(defaultValue = "1") int page,@RequestParam(defaultValue = "10") int pageSize) {
    public AjaxResult getProParentIdDxListByFenYe(@RequestParam(defaultValue = "1") int page,@RequestParam(defaultValue = "10") int pageSize,String nr,String xb) {
        List<TjProject> tjProjects = tjProjectService.getDxTjProjectList();
        String config = configService.selectConfigByKey("tj_dxsxtj");
        if(StringUtil.isNotBlank(xb)){
            if(xb.contains("4"))xb="0";
            if(xb.contains("5"))xb="1";
            if(xb.contains("4") && xb.contains("5"))xb=null;
        }
        if (null != config && config.equals("N")) {
            tjProjects = tjProjectService.getOpenDxTjProjectList();
            tjProjects = tjProjectService.getOpenDxTjProjectList(nr,xb);
        }
        String key = configService.selectConfigByKey("is_open_sfxm");
        Map<String, Object> map = new HashMap<>();
@@ -662,4 +673,205 @@
            throw new RuntimeException(e);
        }
    }
    @GetMapping("/getProListByBblx")
    @ApiOperation(value = "查询标本对应项目或未对应标本的项目")
    public AjaxResult getProListByBblx(@ApiParam(value = "标本类型")@RequestParam(required = false) String bblx) {
        try {
            List<TjProject> projectList =tjProjectService.getProListByBblx(bblx);
            return AjaxResult.success(projectList);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
    @GetMapping("/delProByBblx")
    @ApiOperation(value = "删除项目对应标本")
    @Transactional
    public AjaxResult delProByBblx(@ApiParam(value = "项目ID")@RequestParam(required = false) String proId) {
        try {
            TjProject tjProject = tjProjectService.getById(proId);
            tjProject.setSpecimenType(null);
            tjProjectService.updateById(tjProject);
            return AjaxResult.success();
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
    @PostMapping("/updateProByBblx")
    @ApiOperation(value = "修改所选项目的标本类型")
    @Transactional
    public AjaxResult updateProByBblx(@ApiParam(value = "项目ID集合")@RequestParam(required = false) List<String> proIds,
                                      @ApiParam(value = "标本类型")@RequestParam(required = false)String bblx) {
        try {
            if(null !=  proIds && !proIds.isEmpty()){
                for (String proId : proIds) {
                    TjProject tjProject = tjProjectService.getById(proId);
                    tjProject.setSpecimenType(bblx);
                    tjProjectService.updateById(tjProject);
                }
            }
            return AjaxResult.success();
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
    @GetMapping("/getProListByBwwh")
    @ApiOperation(value = "查询部位对应项目或未对应部位的项目")
    public AjaxResult getProListByBwwh(@ApiParam(value = "标本类型")@RequestParam(required = false) String bw) {
        try {
            List<TjProject> projectList =tjProjectService.getProListByBwwh(bw);
            return AjaxResult.success(projectList);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
    @GetMapping("/delProByBbwwh")
    @ApiOperation(value = "删除项目对应部位")
    @Transactional
    public AjaxResult delProByBbwwh(@ApiParam(value = "项目ID")@RequestParam(required = false) String proId) {
        try {
            TjProject tjProject = tjProjectService.getById(proId);
            tjProject.setCheckBw(null);
            tjProjectService.updateById(tjProject);
            return AjaxResult.success();
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
    @PostMapping("/updateProByBwwh")
    @ApiOperation(value = "修改所选项目的部位")
    @Transactional
    public AjaxResult updateProByBwwh(@ApiParam(value = "项目ID集合")@RequestParam(required = false) List<String> proIds,
                                      @ApiParam(value = "标本类型")@RequestParam(required = false)String bw) {
        try {
            if(null !=  proIds && !proIds.isEmpty()){
                for (String proId : proIds) {
                    TjProject tjProject = tjProjectService.getById(proId);
                    tjProject.setCheckBw(bw);
                    tjProjectService.updateById(tjProject);
                }
            }
            return AjaxResult.success();
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
//    @PostMapping("/addOrupdateProByBz")
//    @ApiOperation(value = "新增或修改所选项目的对应病种信息")
//    @Transactional
//    public AjaxResult addOrupdateProByBz(@ApiParam(value = "项目ID集合")@RequestParam(required = false) List<String> proIds,
//                                         @ApiParam(value = "病种ID")@RequestParam(required = false)String bz) {
//        try {
//            if(null !=  proIds && !proIds.isEmpty()){
//                bzProService.remove(new LambdaQueryWrapper<>(TjBzPro.class).eq(TjBzPro::getBzId,bz));
//                for (String proId : proIds) {
//                    TjBzPro bzPro=new TjBzPro();
//                    bzPro.setBzId(Long.valueOf(bz));
//                    bzPro.setProId(Long.valueOf(proId));
//                    bzProService.save(bzPro);
//                }
//            }
//            return AjaxResult.success();
//        } catch (Exception e) {
//            throw new RuntimeException(e);
//        }
//    }
//
//
//    @GetMapping("/getProByBz")
//    @ApiOperation(value = "查询病种对应项目")
//    public AjaxResult getProByBz(@ApiParam(value = "病种ID")@RequestParam(required = false)String bz) {
//        try {
//            List<TjBzPro> list = bzProService.list(new LambdaQueryWrapper<>(TjBzPro.class).eq(TjBzPro::getBzId, bz));
//            return AjaxResult.success(list);
//        } catch (Exception e) {
//            throw new RuntimeException(e);
//        }
//    }
//
//
//    @DeleteMapping("/delProByBz")
//    @ApiOperation(value = "删除病种对应项目")
//    public AjaxResult delProByBz(@ApiParam(value = "病种ID")@RequestParam(required = false)String bz,
//                                 @ApiParam(value = "项目ID")@RequestParam(required = false)String proId) {
//        try {
//            bzProService.remove(new LambdaQueryWrapper<>(TjBzPro.class).eq(TjBzPro::getBzId,bz).eq(TjBzPro::getProId,proId));
//            return AjaxResult.success();
//        } catch (Exception e) {
//            throw new RuntimeException(e);
//        }
//    }
    @PostMapping("/addOrupdateProByBz")
    @ApiOperation(value = "新增或修改所选项目的对应病种信息")
    @Transactional
    public AjaxResult addOrupdateProByBz(@ApiParam(value = "项目ID集合")@RequestParam(required = false) List<String> proIds,
                                         @ApiParam(value = "病种ID")@RequestParam(required = false)String bz) {
        try {
            if(null !=  proIds && !proIds.isEmpty()){
                bzProService.remove(new LambdaQueryWrapper<>(TjBzPro.class).eq(TjBzPro::getBzId,bz));
                for (String proId : proIds) {
                    TjBzPro bzPro=new TjBzPro();
                    bzPro.setBzId(Long.valueOf(bz));
                    bzPro.setProId(Long.valueOf(proId));
                    bzProService.save(bzPro);
                }
            }
            return AjaxResult.success();
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
    @GetMapping("/getProByBz")
    @ApiOperation(value = "查询病种对应项目")
    public AjaxResult getProByBz(@ApiParam(value = "病种ID")@RequestParam(required = false)String bz) {
        try {
            LambdaQueryWrapper<TjBzPro> tjBzProLambdaQueryWrapper = new LambdaQueryWrapper<>(TjBzPro.class);
            if(StringUtil.isNotBlank(bz)){
                tjBzProLambdaQueryWrapper.eq(TjBzPro::getBzId, bz);
                List<TjBzPro> list = bzProService.list(tjBzProLambdaQueryWrapper);
                for (TjBzPro bzPro : list) {
                    TjProject tjProject = tjProjectService.getById(bzPro.getProId());
                    if(null != tjProject)bzPro.setProName(tjProject.getProName());
                }
                return AjaxResult.success(list);
            }else {
                List<TjProject> list = tjProjectService.selectTjProjectListByBz();
                return AjaxResult.success(list);
            }
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
    @DeleteMapping("/delProByBz")
    @ApiOperation(value = "删除病种对应项目")
    public AjaxResult delProByBz(@ApiParam(value = "病种ID")@RequestParam(required = false)String bz,
                                 @ApiParam(value = "项目ID")@RequestParam(required = false)String proId) {
        try {
            bzProService.remove(new LambdaQueryWrapper<>(TjBzPro.class).eq(TjBzPro::getBzId,bz).eq(TjBzPro::getProId,proId));
            return AjaxResult.success();
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
}