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);
|
}
|
}
|