zhaowenxuan
2025-06-18 75ee6a6218f67d3720f9ab8824809ddb2abe525c
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjProjectController.java
@@ -9,6 +9,7 @@
import cn.hutool.extra.pinyin.PinyinUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.injector.methods.UpdateById;
import com.ltkj.common.core.domain.entity.SysDept;
import com.ltkj.common.core.redis.RedisCache;
import com.ltkj.common.utils.SecurityUtils;
@@ -26,6 +27,7 @@
import jodd.util.StringUtil;
import lombok.extern.slf4j.Slf4j;
import net.sf.ehcache.constructs.scheduledrefresh.OverseerJob;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.session.SqlSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -72,6 +74,8 @@
    private RedisCache redisCache;
    @Autowired
    private TjProjectXgjlService xgjlService;
    @Autowired
    private TjBzProService bzProService;
    @GetMapping("/getTjHyBgList")
@@ -665,5 +669,159 @@
    }
    @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 {
            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);
        }
    }
}