| | |
| | | public AjaxResult getPacInFo(@ApiParam(value = "体检套餐对象id") String pacId) { |
| | | TjPackage aPackage = tjPackageService.getById(pacId); |
| | | if (null != aPackage) { |
| | | List<TjProject> tjProjectList = new ArrayList<>(); |
| | | List<TjPackageProject> pplist = ppservice.getTjPackageProjectListByPacId(String.valueOf(aPackage.getPacId())); |
| | | if (null != pplist) { |
| | | for (TjPackageProject packageProject : pplist) { |
| | | // StringBuilder allSonProName = new StringBuilder(); //2023.2.7 套餐内每一父项目的子项目字符串 |
| | | TjProject tjProject = tjProjectService.getById(packageProject.getProId()); |
| | | if (null != tjProject) { |
| | | // List<TjProject> listBySoneId = tjProjectService.getTjProjectListBySoneId(String.valueOf(packageProject.getProId())); |
| | | // for (TjProject project : listBySoneId) { |
| | | // allSonProName.append(project.getProName()).append(";"); //2023.2.7 套餐内每一父项目的子项目字符串 |
| | | // } |
| | | tjProject.setAllSonProName(tjProjectService.getAllSonNames(String.valueOf(packageProject.getProId()))); //2023.2.7 套餐内每一父项目的子项目字符串 |
| | | tjProjectList.add(tjProject); |
| | | //现价赋值判断null赋原价 2023.2.8 |
| | | if (packageProject.getPriceNow() != null) { |
| | | tjProject.setPriceNow(packageProject.getPriceNow()); |
| | | } else { |
| | | tjProject.setPriceNow(tjProject.getProPrice()); |
| | | } |
| | | |
| | | packageProject.setProName(tjProject.getProName()); |
| | | } |
| | | } |
| | | } |
| | | aPackage.setTjProjectList(tjProjectList); |
| | | aPackage.setPackageProjects(pplist); |
| | | return AjaxResult.success(aPackage); |
| | | } |
| | | return AjaxResult.success(aPackage); |
| | | return AjaxResult.error(); |
| | | } |
| | | |
| | | |
| | |
| | | @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()); |
| | |
| | | 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); |
| | | if (null != list && !list.isEmpty()) { |
| | | int i = list.size(); |
| | | if(i<2) return AjaxResult.error("至少保留一个子项目,不可全部停用!!!"); |
| | | } |
| | | } |
| | | } |
| | | tjProject.setProEngName(PinyinUtil.getFirstLetter(tjProject.getProName(),"")); |
| | | |
| | | TjProject ytjproject = tjProjectService.getById(tjProject.getProId()); |
| | | Date date=new Date(); |
| | | if (tjProject.getProParentId() == 0) { |
| | | if (tjProjectService.updateById(tjProject)) { |
| | | if(null !=ytjproject){ |
| | | if(ytjproject.getProPrice().compareTo(tjProject.getProPrice())!=0){ |
| | | TjProjectXgjl xgjl=new TjProjectXgjl(); |
| | | BeanUtils.copyBeanProp(xgjl,ytjproject); |
| | |
| | | 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())); |
| | | 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()); |
| | |
| | | tjProject.setIsSampling(byId1.getIsSampling()); |
| | | } |
| | | if (tjProjectService.updateById(tjProject)) { |
| | | if(null !=ytjproject){ |
| | | if(ytjproject.getProPrice().compareTo(tjProject.getProPrice())!=0){ |
| | | TjProjectXgjl xgjl=new TjProjectXgjl(); |
| | | BeanUtils.copyBeanProp(xgjl,ytjproject); |
| | |
| | | xgjl.setCreateBy(SecurityUtils.getLoginUser().getUser().getNickName()); |
| | | xgjlService.save(xgjl); |
| | | } |
| | | } |
| | | |
| | | if (dictProSfxmService.deletedProSfxm(tjProject.getProId())) { |
| | | if (null != tjProject.getSfxmId()) { |
| | | DictProSfxm proSfxm = new DictProSfxm(); |
| | |
| | | * 选择体检项目选单项时调用的接口 |
| | | */ |
| | | @GetMapping("/getProParentIdDxList") |
| | | @ApiOperation(value = "选择体检项目(所有服项目)选单项时调用的接口") |
| | | @ApiOperation(value = "选择体检项目(所有页面项目)选单项时调用的接口") |
| | | public AjaxResult getProParentIdDxList() { |
| | | List<TjProject> tjProjects = tjProjectService.getDxTjProjectList(); |
| | | String config = configService.selectConfigByKey("tj_dxsxtj"); |
| | |
| | | } |
| | | 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) { |
| | | List<TjProject> tjProjects = tjProjectService.getDxTjProjectList(); |
| | | String config = configService.selectConfigByKey("tj_dxsxtj"); |
| | | if (null != config && config.equals("N")) { |
| | | tjProjects = tjProjectService.getOpenDxTjProjectList(); |
| | | } |
| | | 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) { |
| | |
| | | " parent_pro_id,\n" + |
| | | " parent_pro_name,\n" + |
| | | " ord_price,\n" + |
| | | " discount,\n" + |
| | | " now_price,\n" + |
| | | " create_time,\n" + |
| | | " pro_check_method,\n" + |
| | |
| | | "\tc.pro_name,\n" + |
| | | "\tb.pro_id,\n" + |
| | | "\tb.pro_name,\n" + |
| | | "\tTRUNCATE(c.pro_price,2),\n" + |
| | | "\tTRUNCATE(c.pro_price,2),\n" + |
| | | // " IFNULL(TRUNCATE(c.pro_price * (TRUNCATE ( a.price_now / b.pro_price, 5 )),2),0), " + |
| | | "\t(c.pro_price * c.sl),\n" + |
| | | "\ta.limits,\n" + |
| | | "\t((c.pro_price * c.sl) * (a.limits/10)),\n" + |
| | | "\tSYSDATE(),\n" + |
| | | "\tc.pro_check_method,\n" + |
| | | "\tIFNULL(c.pro_type,''),\n" + |
| | |
| | | "(cus_id, pro_id, pro_name, parent_pro_id, parent_pro_name, ord_price, now_price, create_time, pro_check_method, pro_type,card_id ) \n" + |
| | | "SELECT\n" + |
| | | "#{cusId},\n" + |
| | | "a.pro_id,a.pro_name,b.pro_id,b.pro_name,a.pro_price,a.pro_price,SYSDATE(),a.pro_check_method,\n" + |
| | | "a.pro_id,a.pro_name,b.pro_id,b.pro_name,a.pro_price * a.sl,a.pro_price * a.sl,SYSDATE(),a.pro_check_method,\n" + |
| | | "IFNULL ( a.pro_type, '' ), \n" + |
| | | "#{cardId}\n" + |
| | | "FROM\n" + |
| | |
| | | "c.pro_name,\n" + |
| | | "b.pro_id,\n" + |
| | | "b.pro_name,\n" + |
| | | "c.pro_price,\n" + |
| | | "(c.pro_price * c.sl),\n" + |
| | | "a.limits,\n" + |
| | | "c.pro_price * (a.limits/10),\n" + |
| | | "((c.pro_price * c.sl) * (a.limits/10)),\n" + |
| | | "SYSDATE(),\n" + |
| | | "c.pro_check_method,\n" + |
| | | "c.pro_type\n" + |
| | |
| | | "c.pro_name,\n" + |
| | | "b.pro_id,\n" + |
| | | "b.pro_name,\n" + |
| | | "c.pro_price,\n" + |
| | | "(c.pro_price * c.sl),\n" + |
| | | "a.limits,\n" + |
| | | "(c.pro_price * (a.limits/10)),\n" + |
| | | "((c.pro_price * c.sl) * (a.limits/10)),\n" + |
| | | "SYSDATE(),\n" + |
| | | "c.pro_check_method,\n" + |
| | | "c.pro_type,\n" + |
| | |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ltkj.common.utils.DateUtils; |
| | |
| | | public List<TreeSelect> selectProjectTreeList(TjProject tjProject) { |
| | | LambdaQueryWrapper<TjProject> wq=new LambdaQueryWrapper<>(); |
| | | wq.eq(TjProject::getProStatus,0); |
| | | if(StrUtil.isNotBlank(tjProject.getProName()))wq.like(TjProject::getProName,tjProject.getProName()); |
| | | if(StrUtil.isNotBlank(tjProject.getProEngName()))wq.like(TjProject::getProEngName,tjProject.getProEngName()); |
| | | List<TjProject> projects = SpringUtils.getAopProxy(this).list(wq); |
| | | return buildProjectTreeSelect(projects); |
| | | } |