guoshilong
2024-03-23 302a2627da30424bbd07463fe03e2ece4885ed08
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
package cn.gistack.sm.sjztmd.service.impl;
 
import cn.gistack.sm.sjztmd.dto.TbProjectDTO;
import cn.gistack.sm.sjztmd.entity.TbProject;
import cn.gistack.sm.sjztmd.entity.TbProjectSchedule;
import cn.gistack.sm.sjztmd.mapper.TbProjectMapper;
import cn.gistack.sm.sjztmd.service.ITbProjectScheduleService;
import cn.gistack.sm.sjztmd.service.ITbProjectService;
import cn.gistack.sm.sjztmd.statisticsVO.StatisticsParams;
import cn.gistack.sm.sjztmd.statisticsVO.StatisticsTableProject;
import cn.gistack.sm.sjztmd.vo.TbProjectVO;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.StringUtil;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
 
import java.util.Arrays;
import java.util.List;
 
@Service
@Transactional(rollbackFor = Exception.class)
@DS("zt")
@AllArgsConstructor
public class TbProjectServiceImpl extends ServiceImpl<TbProjectMapper, TbProject> implements ITbProjectService {
 
    private final ITbProjectScheduleService tbProjectScheduleService;
 
    @Override
    public Object getList(TbProjectVO tbProjectVO, IPage<TbProjectVO> page) {
        if (StringUtil.isNotBlank(tbProjectVO.getIsPage())&&tbProjectVO.getIsPage().equals("1")){
            //isPage不为空且 isPage为1时分页
            return page.setRecords(baseMapper.getList(page,tbProjectVO));
        }
 
        //否则不分页
        return baseMapper.getList(null,tbProjectVO);
    }
 
    @Override
    public Boolean updateCustomize(TbProjectDTO tbProjectDTO) {
 
        tbProjectDTO.setUpdateUser(AuthUtil.getUserId().toString());
        tbProjectDTO.setUpdateTime(DateUtil.now());
        //更新项目表
        boolean update = updateById(tbProjectDTO);
 
        //更新进度
        List<TbProjectSchedule> tbProjectScheduleList = tbProjectDTO.getTbProjectScheduleList();
 
        if (tbProjectScheduleList != null && tbProjectScheduleList.size()>0){
            tbProjectScheduleList.forEach(tbProjectSchedule -> {
                tbProjectSchedule.setTbProjectId(tbProjectDTO.getGuid());
                tbProjectDTO.setUpdateUser(AuthUtil.getUserId().toString());
                tbProjectDTO.setUpdateTime(DateUtil.now());
 
                if (StringUtil.isBlank(tbProjectDTO.getGuid())){
                    tbProjectDTO.setCreateUser(AuthUtil.getUserId().toString());
                    tbProjectDTO.setCreateTime(DateUtil.now());
                }
                tbProjectScheduleService.saveOrUpdate(tbProjectSchedule);
            });
        }
 
        //删除去掉的进度
        if (StringUtil.isNotBlank(tbProjectDTO.getDeleteScheduleIds())){
            String ids = tbProjectDTO.getDeleteScheduleIds();
            tbProjectScheduleService.removeByIds(Arrays.asList(ids.split(",")));
        }
 
        return update;
    }
 
    @Override
    public TbProjectDTO getDetail(String id) {
        return baseMapper.getDetail(id);
    }
 
    @Override
    public List<StatisticsTableProject> getStatisticsTable(StatisticsParams statisticsParams) {
        return baseMapper.getStatisticsTable(statisticsParams);
    }
}