zjh
2024-11-21 27e09a7b8549c5a84891c62b1625adbe81db04fc
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjProjectController.java
@@ -1,18 +1,17 @@
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.*;
@@ -26,6 +25,7 @@
import io.swagger.annotations.ApiParam;
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;
@@ -65,6 +65,8 @@
    private TestMapper testMapper;
    @Resource
    private RedisCache redisCache;
    @Autowired
    private TjProjectXgjlService xgjlService;
    @GetMapping("/getTjHyBgList")
@@ -85,7 +87,7 @@
    public AjaxResult getDxList() {
        List<TjProject> tjProjects = tjProjectService.getDxTjProjectList();
        String config = configService.selectConfigByKey("tj_dxsxtj");
        if(null !=config && config.equals("N")){
        if (null != config && config.equals("N")) {
            tjProjects = tjProjectService.getOpenDxTjProjectList();
        }
        if (tjProjects != null) {
@@ -95,14 +97,11 @@
            }
        }
        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);
    }
    /**
@@ -140,18 +139,18 @@
     */
    @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);
@@ -211,7 +210,6 @@
        List<TjProject> tjProjects = tjProjectService.list(wq);
        return AjaxResult.success(tjProjects);
    }
    /**
@@ -278,6 +276,7 @@
        if (null != tjProject.getTjStandardList() && tjProject.getTjStandardList().size() > 0) {
            tjProject.setProStandard(1);
        }
        tjProject.setProEngName(PinyinUtil.getFirstLetter(tjProject.getProName(),""));
        if (tjProjectService.save(tjProject)) {
            if (null != tjProject.getSfxmId()) {
                DictProSfxm proSfxm = new DictProSfxm();
@@ -341,6 +340,7 @@
    @Log(title = "体检项目", businessType = BusinessType.UPDATE)
    @PutMapping
    @ApiOperation(value = "修改体检项目")
    @Transactional
    public AjaxResult edit(@RequestBody @ApiParam(value = "体检项目对象") TjProject tjProject) {
        if (tjProject.getProStatus() == 1) {
            LambdaQueryWrapper<TjPackageProject> wq1 = new LambdaQueryWrapper<>();
@@ -350,8 +350,21 @@
                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.setCreateTime(date);
                        xgjl.setCreateBy(SecurityUtils.getLoginUser().getUser().getNickName());
                        xgjlService.save(xgjl);
                    }
                }
                if (dictProSfxmService.deletedProSfxm(tjProject.getProId())) {
                    if (null != tjProject.getSfxmId()) {
                        DictProSfxm proSfxm = new DictProSfxm();
@@ -395,6 +408,15 @@
            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.setCreateTime(date);
                    xgjl.setCreateBy(SecurityUtils.getLoginUser().getUser().getNickName());
                    xgjlService.save(xgjl);
                }
            }
            if (dictProSfxmService.deletedProSfxm(tjProject.getProId())) {
                if (null != tjProject.getSfxmId()) {
                    DictProSfxm proSfxm = new DictProSfxm();
@@ -444,6 +466,7 @@
    @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("请选择要删除的项目");
@@ -475,6 +498,9 @@
                    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);
                }
            }
        }
@@ -544,13 +570,13 @@
    public AjaxResult getProParentIdDxList() {
        List<TjProject> tjProjects = tjProjectService.getDxTjProjectList();
        String config = configService.selectConfigByKey("tj_dxsxtj");
        if(null !=config && config.equals("N")){
        if (null != config && config.equals("N")) {
            tjProjects = tjProjectService.getOpenDxTjProjectList();
        }
        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);
    }
@@ -559,9 +585,9 @@
    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);
        Map<String, Object> map = new HashMap<>();
        map.put("list", projectList);
        map.put("key", key);
        return AjaxResult.success(map);
    }