| | |
| | | package com.ltkj.web.controller.system; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | 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.mall.service.IMallKeywordService; |
| | | 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; |
| | |
| | | @RestController |
| | | @RequestMapping("/hosp/project") |
| | | @Api(tags = "体检项目管理") |
| | | @Slf4j |
| | | public class TjProjectController extends BaseController { |
| | | @Resource |
| | | private ITjProjectService tjProjectService; |
| | |
| | | private TestMapper testMapper; |
| | | @Resource |
| | | private RedisCache redisCache; |
| | | @Autowired |
| | | private TjProjectXgjlService xgjlService; |
| | | @Autowired |
| | | private TjBzProService bzProService; |
| | | @Autowired |
| | | private IMallKeywordService mallKeywordService; |
| | | |
| | | |
| | | @GetMapping("/getTjHyBgList") |
| | |
| | | @GetMapping("/getDxList") |
| | | @ApiOperation(value = "选择体检项目选单项时调用的接口") |
| | | public AjaxResult getDxList() { |
| | | // LambdaQueryWrapper<TjProject> wq0 = new LambdaQueryWrapper<>(); |
| | | // wq0.eq(TjProject::getProParentId, 0); |
| | | |
| | | List<TjProject> tjProjects = tjProjectService.getDxTjProjectList(); |
| | | |
| | | //上面的换sql |
| | | // final List<TjProject> tjProjects = tjProjectService.getProBySqlAndName(proName, checkType, deptId); |
| | | |
| | | String config = configService.selectConfigByKey("tj_dxsxtj"); |
| | | if (null != config && config.equals("N")) { |
| | | tjProjects = tjProjectService.getOpenDxTjProjectList(null, null); |
| | | } |
| | | if (tjProjects != null) { |
| | | for (TjProject project : tjProjects) { |
| | | List<TjProject> 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<String,Object> map=new HashMap<>(); |
| | | map.put("list",tjProjects); |
| | | map.put("key",key); |
| | | Map<String, Object> 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, |
| | | public AjaxResult getAllChildListById(@RequestParam(required = false) String proId, |
| | | @RequestParam(required = false) String proName, |
| | | @RequestParam(required = false) String checkType) { |
| | | LambdaQueryWrapper<TjProject> wq=new LambdaQueryWrapper<>(); |
| | | if (proId!=null){ |
| | | wq.eq(TjProject::getProParentId,proId); |
| | | LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); |
| | | if (proId != null) { |
| | | wq.eq(TjProject::getProParentId, proId); |
| | | } |
| | | if (proName!=null){ |
| | | wq.like(TjProject::getProName,proName); |
| | | if (proName != null) { |
| | | wq.like(TjProject::getProName, proName); |
| | | } |
| | | if (checkType!=null){ |
| | | wq.eq(TjProject::getProCheckType,checkType); |
| | | if (checkType != null) { |
| | | wq.eq(TjProject::getProCheckType, checkType); |
| | | } |
| | | List<TjProject> tjProjects = tjProjectService.list(wq); |
| | | // List<TjProject> tjProjects = tjProjectService.getAllChildListById(proId); |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 导出体检项目列表 |
| | | */ |
| | |
| | | @Log(title = "体检项目", businessType = BusinessType.INSERT) |
| | | @PostMapping |
| | | public AjaxResult add(@RequestBody @ApiParam(value = "体检项目对象") TjProject tjProject) { |
| | | if (null != tjProject.getConsumablesList() && tjProject.getConsumablesList().size() > 0) { |
| | | if (null != tjProject.getConsumablesList() && !tjProject.getConsumablesList().isEmpty()) { |
| | | tjProject.setProPrice(BigDecimal.valueOf(0.00)); |
| | | tjProject.setProStandard(0); |
| | | } |
| | | if (null != tjProject.getTjStandardList() && tjProject.getTjStandardList().size() > 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(); |
| | |
| | | dictProSfxmService.save(proSfxm); |
| | | } |
| | | List<TjConsumables> consumablesList = tjProject.getConsumablesList(); |
| | | if (null != consumablesList && consumablesList.size() > 0) { |
| | | if (null != consumablesList && !consumablesList.isEmpty()) { |
| | | for (TjConsumables tjConsumables : consumablesList) { |
| | | TjProConsumables proConsumables = new TjProConsumables(); |
| | | proConsumables.setProId(tjProject.getProId()); |
| | |
| | | } |
| | | } |
| | | List<TjStandard> tjStandardList = tjProject.getTjStandardList(); |
| | | if (null != tjStandardList && tjStandardList.size() > 0) { |
| | | if (null != tjStandardList && !tjStandardList.isEmpty()) { |
| | | for (TjStandard tjStandard : tjStandardList) { |
| | | TjStandard tjStandard1 = new TjStandard(); |
| | | BeanUtils.copyBeanProp(tjStandard1, tjStandard); |
| | |
| | | } |
| | | Long proParentId = tjProject.getProParentId(); |
| | | if (null != proParentId && proParentId != 0) { |
| | | LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); |
| | | wq.eq(TjProject::getProParentId, proParentId); |
| | | List<TjProject> projectList = tjProjectService.list(wq); |
| | | if (null != projectList && projectList.size() > 0) { |
| | | // LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); |
| | | // wq.eq(TjProject::getProParentId, proParentId); |
| | | // wq.eq(TjProject::getProStatus,0); |
| | | // List<TjProject> projectList = tjProjectService.list(wq); |
| | | List<TjProject> 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()); |
| | | bigDecimal = bigDecimal.add(project.getProPrice().multiply(new BigDecimal(project.getSl()))); |
| | | } |
| | | } |
| | | if (tjProject.getProPrice() != null) { |
| | | bigDecimal.add(tjProject.getProPrice()); |
| | | } |
| | | // if (tjProject.getProPrice() != null) { |
| | | // bigDecimal.add(tjProject.getProPrice()); |
| | | // } |
| | | TjProject byId = tjProjectService.getById(proParentId); |
| | | tjProject.setIsSampling(byId.getIsSampling()); |
| | | tjProjectService.updateById(tjProject); |
| | | byId.setProPrice(bigDecimal.setScale(2, BigDecimal.ROUND_DOWN)); |
| | | byId.setProPrice(bigDecimal); |
| | | tjProjectService.updateById(byId); |
| | | } |
| | | } |
| | |
| | | @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<TjPackageProject> wq1 = new LambdaQueryWrapper<>(); |
| | | wq1.eq(TjPackageProject::getProId, tjProject.getProId()); |
| | | List<TjPackageProject> list1 = ppservice.list(wq1); |
| | | if (null != list1 && list1.size() > 0) { |
| | | if (null != list1 && !list1.isEmpty()) { |
| | | 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); |
| | | List<TjProject> list = tjProjectService.getTjProjectListBySoneId(tjProject.getProParentId().toString()); |
| | | 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(); |
| | |
| | | dictProSfxmService.save(proSfxm); |
| | | } |
| | | } |
| | | List<TjProject> list = tjProjectService.getTjProjectListBySoneId(String.valueOf(tjProject.getProId())); |
| | | if (null != list && list.size() > 0) { |
| | | LambdaQueryWrapper<TjProject> wqq = new LambdaQueryWrapper<>(); |
| | | wqq.eq(TjProject::getProParentId,tjProject.getProId()); |
| | | if(ytjproject.getProStatus()==0) |
| | | wqq.eq(TjProject::getProStatus,0); |
| | | List<TjProject> list = tjProjectService.list(wqq); |
| | | if (null != list && !list.isEmpty()) { |
| | | for (TjProject project : list) { |
| | | project.setDeptId(tjProject.getDeptId()); |
| | | project.setProType(tjProject.getProType()); |
| | |
| | | } |
| | | } |
| | | List<TjConsumables> consumablesList = tjProject.getConsumablesList(); |
| | | if (null != consumablesList && consumablesList.size() > 0) { |
| | | if (null != consumablesList && !consumablesList.isEmpty()) { |
| | | LambdaQueryWrapper<TjProConsumables> wq = new LambdaQueryWrapper<>(); |
| | | wq.eq(TjProConsumables::getProId, tjProject.getProId()); |
| | | proConsumablesService.remove(wq); |
| | |
| | | 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(); |
| | |
| | | } |
| | | } |
| | | List<TjStandard> tjStandardList = tjProject.getTjStandardList(); |
| | | if (null != tjStandardList && tjStandardList.size() > 0) { |
| | | if (null != tjStandardList && !tjStandardList.isEmpty()) { |
| | | for (TjStandard tjStandard : tjStandardList) { |
| | | if (null == tjStandard.getTjSex()) { |
| | | tjStandard.setTjSex(null); |
| | |
| | | } |
| | | Long proParentId = tjProject.getProParentId(); |
| | | if (null != proParentId) { |
| | | LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); |
| | | wq.eq(TjProject::getProParentId, proParentId); |
| | | List<TjProject> projectList = tjProjectService.list(wq); |
| | | if (null != projectList && projectList.size() > 0) { |
| | | // LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); |
| | | // wq.eq(TjProject::getProParentId, proParentId); |
| | | // wq.eq(TjProject::getProStatus,0); |
| | | // List<TjProject> projectList = tjProjectService.list(wq); |
| | | List<TjProject> 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()); |
| | | bigDecimal = bigDecimal.add(project.getProPrice().multiply(new BigDecimal(project.getSl()))); |
| | | } |
| | | bigDecimal.add(tjProject.getProPrice()); |
| | | // bigDecimal.add(tjProject.getProPrice()); |
| | | TjProject byId = tjProjectService.getById(proParentId); |
| | | byId.setProPrice(bigDecimal.setScale(2, BigDecimal.ROUND_DOWN)); |
| | | byId.setProPrice(bigDecimal); |
| | | tjProjectService.updateById(byId); |
| | | } |
| | | } |
| | |
| | | @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("请选择要删除的项目"); |
| | |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | |
| | | TjProject tjProject = tjProjectService.getById(proId); |
| | | return AjaxResult.success(tjProject); |
| | | } |
| | | // /** |
| | | // * 获取部门树列表 |
| | | // */ |
| | | // @GetMapping("/deptTree") |
| | | // @ApiOperation("获取部门树列表") |
| | | // public AjaxResult deptTree(SysDept dept) { |
| | | // return success(deptService.selectDeptTreeList(dept)); |
| | | |
| | | |
| | | /** |
| | | * 选择体检项目选单项时调用的接口 |
| | | */ |
| | | @GetMapping("/getProParentIdDxList") |
| | | @ApiOperation(value = "选择体检项目(所有页面项目)选单项时调用的接口") |
| | | 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(null, xb); |
| | | } |
| | | String key = configService.selectConfigByKey("is_open_sfxm"); |
| | | Map<String, Object> 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,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(nr,xb); |
| | | } |
| | | String key = configService.selectConfigByKey("is_open_sfxm"); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | |
| | | if(null !=tjProjects && !tjProjects.isEmpty()){ |
| | | List<TjProject> 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<TjProject> projectList = tjProjectService.getTjProjectListBySoneId(proId); |
| | | String key = configService.selectConfigByKey("is_open_sfxm"); |
| | | Map<String, Object> 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<Map<String,Object>> projectList = tjProjectService.zdysqlcx(sql); |
| | | if(null !=projectList && !projectList.isEmpty()){ |
| | | for (Map<String, Object> 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<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); |
| | | } |
| | | } |
| | | |
| | | } |