zjh
2025-01-06 d5cd702a6985a208dae4a2e532c984252fbca4d4
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjProjectController.java
@@ -1,10 +1,7 @@
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;
@@ -14,6 +11,7 @@
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.*;
@@ -25,6 +23,10 @@
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;
@@ -44,6 +46,7 @@
@RestController
@RequestMapping("/hosp/project")
@Api(tags = "体检项目管理")
@Slf4j
public class TjProjectController extends BaseController {
    @Resource
    private ITjProjectService tjProjectService;
@@ -67,6 +70,8 @@
    private TestMapper testMapper;
    @Resource
    private RedisCache redisCache;
    @Autowired
    private TjProjectXgjlService xgjlService;
    @GetMapping("/getTjHyBgList")
@@ -340,18 +345,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();
@@ -361,7 +379,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());
@@ -372,7 +390,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);
@@ -395,6 +413,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();
@@ -404,7 +431,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);
@@ -420,8 +447,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());
@@ -569,4 +598,29 @@
        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);
        }
    }
}