package com.ltkj.web.controller.system; import java.math.BigDecimal; import java.util.*; import java.util.concurrent.*; import java.util.stream.Collectors; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import cn.hutool.extra.pinyin.PinyinUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ltkj.common.core.domain.entity.SysDept; import com.ltkj.common.core.redis.RedisCache; import com.ltkj.common.utils.SecurityUtils; import com.ltkj.common.utils.bean.BeanUtils; import com.ltkj.framework.datasource.DynamicDataSourceContextHolder; import com.ltkj.hosp.domain.*; import com.ltkj.hosp.mapper.TestMapper; import com.ltkj.hosp.service.*; import com.ltkj.hosp.treeUtil.TreeSelect; import com.ltkj.system.service.ISysConfigService; import com.ltkj.system.service.ISysDeptService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import jodd.util.StringUtil; import lombok.extern.slf4j.Slf4j; import net.sf.ehcache.constructs.scheduledrefresh.OverseerJob; import org.apache.ibatis.session.SqlSession; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import com.ltkj.common.annotation.Log; import com.ltkj.common.core.controller.BaseController; import com.ltkj.common.core.domain.AjaxResult; import com.ltkj.common.enums.BusinessType; import com.ltkj.common.utils.poi.ExcelUtil; /** * 体检项目Controller * * @author ltkj * @date 2022-11-17 */ @RestController @RequestMapping("/hosp/project") @Api(tags = "体检项目管理") @Slf4j public class TjProjectController extends BaseController { @Resource private ITjProjectService tjProjectService; @Resource private ITjStandardService tjStandardService; @Resource private ITjPackageProjectService ppservice; @Resource private TjProConsumablesService proConsumablesService; @Resource private ITjConsumablesService consumablesService; @Resource private ISysDeptService deptService; @Resource private ISysConfigService configService; @Resource private DictProSfxmService dictProSfxmService; @Autowired private ITjRulesService tjRulesService; @Resource private TestMapper testMapper; @Resource private RedisCache redisCache; @Autowired private TjProjectXgjlService xgjlService; @Autowired private TjBzProService bzProService; @GetMapping("/getTjHyBgList") @ApiOperation(value = "查询lis数据库项目信息接口") public AjaxResult getTjHyBgList(@RequestParam(required = false) String pacCode, @RequestParam(required = false) String pacName, @RequestParam(required = false) String pacRemark) { List> maps = testMapper.getTjHyBgList(pacCode, pacName, pacRemark); DynamicDataSourceContextHolder.clearDataSourceType(); return AjaxResult.success(maps); } /** * 选择体检项目选单项时调用的接口 */ @GetMapping("/getDxList") @ApiOperation(value = "选择体检项目选单项时调用的接口") public AjaxResult getDxList() { List tjProjects = tjProjectService.getDxTjProjectList(); String config = configService.selectConfigByKey("tj_dxsxtj"); if (null != config && config.equals("N")) { tjProjects = tjProjectService.getOpenDxTjProjectList(null); } if (tjProjects != null) { for (TjProject project : tjProjects) { List projectList = tjProjectService.getTjProjectListBySoneId(String.valueOf(project.getProId())); project.setTjProjectList(projectList); } } String key = configService.selectConfigByKey("is_open_sfxm"); Map map = new HashMap<>(); map.put("list", tjProjects); map.put("key", key); return AjaxResult.success(map); } /** * 查询体检项目列表 */ @GetMapping("/getlist") @ApiOperation(value = "查询体检项目列表(树形结构)") public AjaxResult getlist(@RequestParam(required = false) @ApiParam(value = "项目名称") String proName, @RequestParam(required = false) @ApiParam(value = "检查类别") String checkType, @RequestParam(required = false) @ApiParam(value = "部门id") String deptId) { //上面的换sql final List tjProjects = tjProjectService.getProBySqlAndName(proName, checkType, deptId); // if (tjProjects != null) { // for (TjProject project : tjProjects) { // List projectList = tjProjectService.getTjProjectListBySoneId(String.valueOf(project.getProId())); // project.setTjProjectList(projectList); // SysDept sysDept = deptService.selectDeptById(project.getDeptId()); // if (sysDept != null) { // project.setDeptName(sysDept.getDeptName()); // } // // } // } String key = configService.selectConfigByKey("is_open_sfxm"); Map map = new HashMap<>(); map.put("list", tjProjects); map.put("key", key); return AjaxResult.success(map); } /** * 查询项目子项 */ @GetMapping("/getAllChildListById") @ApiOperation(value = "查询项目子项") public AjaxResult getAllChildListById(@RequestParam(required = false) String proId, @RequestParam(required = false) String proName, @RequestParam(required = false) String checkType) { LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); if (proId != null) { wq.eq(TjProject::getProParentId, proId); } if (proName != null) { wq.like(TjProject::getProName, proName); } if (checkType != null) { wq.eq(TjProject::getProCheckType, checkType); } List tjProjects = tjProjectService.list(wq); // List tjProjects = tjProjectService.getAllChildListById(proId); if (tjProjects != null) { for (TjProject project : tjProjects) { SysDept sysDept = deptService.selectDeptById(project.getDeptId()); if (sysDept != null) { project.setDeptName(sysDept.getDeptName()); } } } String key = configService.selectConfigByKey("is_open_sfxm"); Map map = new HashMap<>(); map.put("list", tjProjects); map.put("key", key); return AjaxResult.success(map); } @GetMapping("/getPacTjProjectList") @ApiOperation(value = "维护套餐页面新增项目时调用") public AjaxResult getPacTjProjectList() { List tjProjects = tjProjectService.getPacTjProjectList(); return AjaxResult.success(tjProjects); } /** * 查询体检项目列表 */ @GetMapping("/list") @ApiOperation(value = "查询体检项目列表") public AjaxResult list() { // LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); // wq.eq(TjProject::getProParentId, 0); // wq.eq(TjProject::getProStatus, 0); List tjProjects = tjProjectService.getTjProjectList(); if (tjProjects != null) { for (TjProject project : tjProjects) { List projectList = tjProjectService.getTjProjectListBySoneId(String.valueOf(project.getProId())); project.setTjProjectList(projectList); } return AjaxResult.success(tjProjects); } return AjaxResult.success(null); } @GetMapping("/getPacProList") @ApiOperation(value = "查询体检项目列表") public AjaxResult getPacProList() { LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); wq.eq(TjProject::getProParentId, 0); wq.eq(TjProject::getProStatus, 0); List tjProjects = tjProjectService.list(wq); return AjaxResult.success(tjProjects); } /** * 导出体检项目列表 */ //@PreAuthorize("@ss.hasPermi('hosp:project:export')") @Log(title = "体检项目", businessType = BusinessType.EXPORT) @PostMapping("/export") @ApiOperation(value = "导出体检项目列表") public void export(HttpServletResponse response, TjProject tjProject) { List list = tjProjectService.selectTjProjectList(tjProject); ExcelUtil util = new ExcelUtil(TjProject.class); util.exportExcel(response, list, "体检项目数据"); } /** * 获取体检项目详细信息 */ //@PreAuthorize("@ss.hasPermi('hosp:project:query')") @GetMapping(value = "/{proId}") @ApiOperation(value = "获取体检项目详细信息") public AjaxResult getInfo(@PathVariable("proId") @ApiParam(value = "体检项目id") Long proId) { TjProject tjProject = tjProjectService.getById(proId); if (null != tjProject) { if (tjProject.getProParentId() == 0) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(TjProConsumables::getProId, tjProject.getProId()); List list = proConsumablesService.list(wrapper); if (null != list && list.size() > 0) { List list1 = new ArrayList<>(); for (TjProConsumables tjProConsumables : list) { TjConsumables byId = consumablesService.getById(tjProConsumables.getConsumablesId()); list1.add(byId); } tjProject.setConsumablesList(list1); } } else { LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); wq.eq(TjStandard::getProId, proId); tjProject.setTjStandardList(tjStandardService.list(wq)); } //根据每个项目的deptId拿到name 2023/2/7 SysDept sysDept = deptService.selectDeptById(tjProject.getDeptId()); if (sysDept != null) { tjProject.setDeptName(sysDept.getDeptName()); } return AjaxResult.success(tjProject); } return AjaxResult.error(); } /** * 新增体检项目 */ //@PreAuthorize("@ss.hasPermi('hosp:project:add')") @ApiOperation(value = "新增体检项目") @Log(title = "体检项目", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody @ApiParam(value = "体检项目对象") TjProject tjProject) { if (null != tjProject.getConsumablesList() && !tjProject.getConsumablesList().isEmpty()) { tjProject.setProPrice(BigDecimal.valueOf(0.00)); tjProject.setProStandard(0); } if (null != tjProject.getTjStandardList() && !tjProject.getTjStandardList().isEmpty()) { tjProject.setProStandard(1); } tjProject.setProEngName(PinyinUtil.getFirstLetter(tjProject.getProName(),"")); if (tjProjectService.save(tjProject)) { if (null != tjProject.getSfxmId()) { DictProSfxm proSfxm = new DictProSfxm(); proSfxm.setSfxmId(tjProject.getSfxmId()); proSfxm.setProId(tjProject.getProId()); dictProSfxmService.save(proSfxm); } List consumablesList = tjProject.getConsumablesList(); if (null != consumablesList && !consumablesList.isEmpty()) { for (TjConsumables tjConsumables : consumablesList) { TjProConsumables proConsumables = new TjProConsumables(); proConsumables.setProId(tjProject.getProId()); proConsumables.setConsumablesId(tjConsumables.getId()); proConsumablesService.save(proConsumables); } } List tjStandardList = tjProject.getTjStandardList(); if (null != tjStandardList && !tjStandardList.isEmpty()) { for (TjStandard tjStandard : tjStandardList) { TjStandard tjStandard1 = new TjStandard(); BeanUtils.copyBeanProp(tjStandard1, tjStandard); tjStandard1.setProId(tjProject.getProId()); tjStandardService.save(tjStandard1); } tjProject.setProStandard(1); if (null == tjProject.getProPrice()) { tjProject.setProPrice(BigDecimal.valueOf(0.00)); } Long proParentId = tjProject.getProParentId(); if (null != proParentId && proParentId != 0) { // LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); // wq.eq(TjProject::getProParentId, proParentId); // wq.eq(TjProject::getProStatus,0); // List projectList = tjProjectService.list(wq); List projectList = tjProjectService.getTjProjectListBySoneId(String.valueOf(proParentId)); if (null != projectList && !projectList.isEmpty()) { BigDecimal bigDecimal = new BigDecimal("0.00"); for (TjProject project : projectList) { if (project.getProPrice() != null) { bigDecimal = bigDecimal.add(project.getProPrice().multiply(new BigDecimal(project.getSl()))); } } // if (tjProject.getProPrice() != null) { // bigDecimal.add(tjProject.getProPrice()); // } TjProject byId = tjProjectService.getById(proParentId); tjProject.setIsSampling(byId.getIsSampling()); tjProjectService.updateById(tjProject); byId.setProPrice(bigDecimal); tjProjectService.updateById(byId); } } } return AjaxResult.success(); } return AjaxResult.error(); } /** * 修改体检项目 */ //@PreAuthorize("@ss.hasPermi('hosp:project:edit')") @Log(title = "体检项目", businessType = BusinessType.UPDATE) @PutMapping @ApiOperation(value = "修改体检项目") @Transactional public AjaxResult edit(@RequestBody @ApiParam(value = "体检项目对象") TjProject tjProject) { TjProject ytjproject = tjProjectService.getById(tjProject.getProId()); if(null==ytjproject)return AjaxResult.error(); if (tjProject.getProStatus() == 1) { LambdaQueryWrapper wq1 = new LambdaQueryWrapper<>(); wq1.eq(TjPackageProject::getProId, tjProject.getProId()); List list1 = ppservice.list(wq1); if (null != list1 && !list1.isEmpty()) { return AjaxResult.error("该项目正在套餐中使用,暂时不能停用"); } if(tjProject.getProParentId() !=0){ LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); wq.eq(TjProject::getProParentId, tjProject.getProParentId()); wq.eq(TjProject::getProStatus,0); List list = tjProjectService.list(wq); if (null != list && !list.isEmpty()) { int i = list.size(); if(i<2) return AjaxResult.error("至少保留一个子项目,不可全部停用!!!"); } } } tjProject.setProEngName(PinyinUtil.getFirstLetter(tjProject.getProName(),"")); Date date=new Date(); if (tjProject.getProParentId() == 0) { if (tjProjectService.updateById(tjProject)) { if(ytjproject.getProPrice().compareTo(tjProject.getProPrice())!=0){ TjProjectXgjl xgjl=new TjProjectXgjl(); BeanUtils.copyBeanProp(xgjl,ytjproject); xgjl.setCreateTime(date); xgjl.setCreateBy(SecurityUtils.getLoginUser().getUser().getNickName()); xgjlService.save(xgjl); } if (dictProSfxmService.deletedProSfxm(tjProject.getProId())) { if (null != tjProject.getSfxmId()) { DictProSfxm proSfxm = new DictProSfxm(); proSfxm.setSfxmId(tjProject.getSfxmId()); proSfxm.setProId(tjProject.getProId()); dictProSfxmService.save(proSfxm); } } LambdaQueryWrapper wqq = new LambdaQueryWrapper<>(); wqq.eq(TjProject::getProParentId,tjProject.getProId()); if(ytjproject.getProStatus()==0) wqq.eq(TjProject::getProStatus,0); List list = tjProjectService.list(wqq); if (null != list && !list.isEmpty()) { for (TjProject project : list) { project.setDeptId(tjProject.getDeptId()); project.setProType(tjProject.getProType()); project.setProCheckMethod(tjProject.getProCheckMethod()); project.setProStatus(tjProject.getProStatus()); project.setIsSampling(tjProject.getIsSampling()); tjProjectService.updateById(project); } } List consumablesList = tjProject.getConsumablesList(); if (null != consumablesList && !consumablesList.isEmpty()) { LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); wq.eq(TjProConsumables::getProId, tjProject.getProId()); proConsumablesService.remove(wq); for (TjConsumables tjConsumables : consumablesList) { TjProConsumables proConsumables = new TjProConsumables(); proConsumables.setProId(tjProject.getProId()); proConsumables.setConsumablesId(tjConsumables.getId()); proConsumablesService.save(proConsumables); } return AjaxResult.success(); } return AjaxResult.success(); } } TjProject byId1 = tjProjectService.selectTjProjectByProId(tjProject.getProParentId()); if (null != byId1 && !tjProject.getDeptId().equals(byId1.getDeptId())) { return AjaxResult.error("不可更改父项目科室!"); } if (null != byId1) { tjProject.setIsSampling(byId1.getIsSampling()); } if (tjProjectService.updateById(tjProject)) { if(ytjproject.getProPrice().compareTo(tjProject.getProPrice())!=0){ TjProjectXgjl xgjl=new TjProjectXgjl(); BeanUtils.copyBeanProp(xgjl,ytjproject); xgjl.setCreateTime(date); xgjl.setCreateBy(SecurityUtils.getLoginUser().getUser().getNickName()); xgjlService.save(xgjl); } if (dictProSfxmService.deletedProSfxm(tjProject.getProId())) { if (null != tjProject.getSfxmId()) { DictProSfxm proSfxm = new DictProSfxm(); proSfxm.setSfxmId(tjProject.getSfxmId()); proSfxm.setProId(tjProject.getProId()); dictProSfxmService.save(proSfxm); } } List tjStandardList = tjProject.getTjStandardList(); if (null != tjStandardList && !tjStandardList.isEmpty()) { for (TjStandard tjStandard : tjStandardList) { if (null == tjStandard.getTjSex()) { tjStandard.setTjSex(null); } tjStandard.setProId(tjProject.getProId()); tjStandardService.saveOrUpdate(tjStandard); } } if (null == tjProject.getProPrice()) { tjProject.setProPrice(BigDecimal.valueOf(0.00)); } Long proParentId = tjProject.getProParentId(); if (null != proParentId) { // LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); // wq.eq(TjProject::getProParentId, proParentId); // wq.eq(TjProject::getProStatus,0); // List projectList = tjProjectService.list(wq); List projectList = tjProjectService.getTjProjectListBySoneId(String.valueOf(proParentId)); if (null != projectList && !projectList.isEmpty()) { BigDecimal bigDecimal = new BigDecimal("0.00"); for (TjProject project : projectList) { bigDecimal = bigDecimal.add(project.getProPrice().multiply(new BigDecimal(project.getSl()))); } // bigDecimal.add(tjProject.getProPrice()); TjProject byId = tjProjectService.getById(proParentId); byId.setProPrice(bigDecimal); tjProjectService.updateById(byId); } } return AjaxResult.success(); } return AjaxResult.error(); } /** * 删除体检项目 */ // @PreAuthorize("@ss.hasPermi('hosp:project:remove')") @Log(title = "体检项目", businessType = BusinessType.DELETE) @DeleteMapping("/{proIds}") @ApiOperation(value = "删除体检项目(可删除父项目和子项目)") @Transactional public AjaxResult remove(@PathVariable Long[] proIds) { if (null == proIds || proIds.length <= 0) { return AjaxResult.error("请选择要删除的项目"); } for (Long proId : proIds) { TjProject project1 = tjProjectService.getById(proId); if (null != project1) { if (project1.getProParentId() == 0) { LambdaQueryWrapper wq0 = new LambdaQueryWrapper<>(); wq0.eq(TjProject::getProParentId, proId); List list = tjProjectService.list(wq0); LambdaQueryWrapper wq1 = new LambdaQueryWrapper<>(); wq1.eq(TjPackageProject::getProId, proId); List list1 = ppservice.list(wq1); if (null != list1 && list1.size() > 0) { return AjaxResult.error("该项目正在套餐中使用,暂时不能删除"); } LambdaQueryWrapper wq2 = new LambdaQueryWrapper<>(); wq2.eq(TjPackageProject::getProId, proId); LambdaQueryWrapper wq3 = new LambdaQueryWrapper<>(); wq3.eq(TjProConsumables::getProId, proId); proConsumablesService.remove(wq3); ppservice.remove(wq2); tjProjectService.removeByIds(list.stream().map(TjProject::getProId).collect(Collectors.toList())); tjProjectService.removeById(project1.getProId()); } else { LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); wq.eq(TjStandard::getProId, proId); tjStandardService.remove(wq); tjProjectService.removeById(project1.getProId()); TjProject project = tjProjectService.getById(project1.getProParentId()); project.setProPrice(tjProjectService.getMoneys(project1.getProParentId().toString())); tjProjectService.updateById(project); } } } return AjaxResult.success("删除成功"); } /** * 获取项目树列表 */ @GetMapping("/projectTree") @ApiOperation("获取项目树列表") public AjaxResult projectTree(TjProject tjProject) { final List treeSelects = tjProjectService.selectProjectTreeList(tjProject); // for (TreeSelect treeSelect : treeSelects) { // for (TreeSelect child : treeSelect.getChildren()) { // LambdaQueryWrapper wq=new LambdaQueryWrapper<>(); // wq.eq(TjRules::getProId,child.getId()); // final List list = tjRulesService.list(); // List res=new ArrayList<>(); // for (TjRules tjRules : list) { // TreeSelect a=new TreeSelect(); // a.setId(Long.valueOf(tjRules.getAid())); // a.setLabel(tjRules.getBingzhong()); // res.add(a); // } // child.setChildren(res); // } // } return success(treeSelects); } /** * 查询体检项目子项列表 */ @GetMapping("/getSonsList") @ApiOperation(value = "查询体检项目子项列表") public AjaxResult getSonsList(@RequestParam(required = false) @ApiParam(value = "项目名称") String proName) { LambdaQueryWrapper wq0 = new LambdaQueryWrapper<>(); wq0.ne(TjProject::getProParentId, 0); if (null != proName) { wq0.like(TjProject::getProName, proName); } List tjProjects = tjProjectService.list(wq0); return AjaxResult.success(tjProjects); } /** * 获取体检项目详细信息 */ @GetMapping(value = "/getInfoByProId") @ApiOperation(value = "获取体检项目详细信息") public AjaxResult getInfoByProId(@RequestParam Long proId) { TjProject tjProject = tjProjectService.getById(proId); return AjaxResult.success(tjProject); } /** * 选择体检项目选单项时调用的接口 */ @GetMapping("/getProParentIdDxList") @ApiOperation(value = "选择体检项目(所有页面项目)选单项时调用的接口") public AjaxResult getProParentIdDxList() { List tjProjects = tjProjectService.getDxTjProjectList(); String config = configService.selectConfigByKey("tj_dxsxtj"); if (null != config && config.equals("N")) { tjProjects = tjProjectService.getOpenDxTjProjectList(null); } String key = configService.selectConfigByKey("is_open_sfxm"); Map map = new HashMap<>(); map.put("list", tjProjects); map.put("key", key); return AjaxResult.success(map); } @GetMapping("/getProParentIdDxListByFenYe") @ApiOperation(value = "选择体检项目(所有页面项目)选单项时调用的接口(有分页)") public AjaxResult getProParentIdDxListByFenYe(@RequestParam(defaultValue = "1") int page,@RequestParam(defaultValue = "10") int pageSize,String nr) { List tjProjects = tjProjectService.getDxTjProjectList(); String config = configService.selectConfigByKey("tj_dxsxtj"); if (null != config && config.equals("N")) { tjProjects = tjProjectService.getOpenDxTjProjectList(nr); } String key = configService.selectConfigByKey("is_open_sfxm"); Map map = new HashMap<>(); if(null !=tjProjects && !tjProjects.isEmpty()){ List collect = tjProjects.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); map.put("total", tjProjects.size()); map.put("list", collect); }else { map.put("total",0); map.put("list", tjProjects); } map.put("key", key); return AjaxResult.success(map); } @GetMapping("/getProSonDxList") @ApiOperation(value = "选择体检项目(根据父项id选择子项)选单项时调用的接口") public AjaxResult getProSonDxList(@RequestParam String proId) { List projectList = tjProjectService.getTjProjectListBySoneId(proId); String key = configService.selectConfigByKey("is_open_sfxm"); Map map = new HashMap<>(); map.put("list", projectList); map.put("key", key); return AjaxResult.success(map); } @GetMapping("/plxgpym") @ApiOperation(value = "批量修改拼音码") public AjaxResult plxgpym(@RequestParam String tbname,@RequestParam String zd,@RequestParam String pymzd) { String sql="SELECT 1"; try { sql="SELECT "+ zd +","+ pymzd +" FROM "+tbname; List> projectList = tjProjectService.zdysqlcx(sql); if(null !=projectList && !projectList.isEmpty()){ for (Map map : projectList) { Object zd1 = map.get(zd); if(null !=zd1 && StringUtil.isNotBlank(zd1.toString())){ String letter = PinyinUtil.getFirstLetter(zd1.toString(), ""); sql="UPDATE "+ tbname +" "+ " set " +pymzd+" = "+ "'" +letter+"'"+" where "+zd+" = "+"'"+zd1+"'" ; tjProjectService.zdysqlxg(sql); } } } return AjaxResult.success(projectList); } catch (Exception e) { log.info("sql查询失败"+ sql); throw new RuntimeException(e); } } @GetMapping("/getProListByBblx") @ApiOperation(value = "查询标本对应项目或未对应标本的项目") public AjaxResult getProListByBblx(@ApiParam(value = "标本类型")@RequestParam(required = false) String bblx) { try { List 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 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 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 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 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 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 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 tjBzProLambdaQueryWrapper = new LambdaQueryWrapper<>(TjBzPro.class); if(StringUtil.isNotBlank(bz)){ tjBzProLambdaQueryWrapper.eq(TjBzPro::getBzId, bz); List 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 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); } } }