zjh
2024-12-12 817e6e138931c32f47049f112727a571580771c0
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.*;
@@ -66,6 +65,8 @@
    private TestMapper testMapper;
    @Resource
    private RedisCache redisCache;
    @Autowired
    private TjProjectXgjlService xgjlService;
    @GetMapping("/getTjHyBgList")
@@ -275,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();
@@ -338,17 +340,31 @@
    @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<>();
            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("该项目正在套餐中使用,暂时不能停用");
            }
        }
        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();
@@ -358,7 +374,7 @@
                    }
                }
                List<TjProject> list = tjProjectService.getTjProjectListBySoneId(String.valueOf(tjProject.getProId()));
                if (null != list && list.size() > 0) {
                if (null != list && !list.isEmpty()) {
                    for (TjProject project : list) {
                        project.setDeptId(tjProject.getDeptId());
                        project.setProType(tjProject.getProType());
@@ -369,7 +385,7 @@
                    }
                }
                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);
@@ -392,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();
@@ -401,7 +426,7 @@
                }
            }
            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);
@@ -417,8 +442,10 @@
            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) {
                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());