|
@@ -0,0 +1,96 @@
|
|
|
|
+package org.springblade.control.service.impl;
|
|
|
|
+
|
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
+import lombok.AllArgsConstructor;
|
|
|
|
+import org.springblade.common.utils.SnowFlakeUtil;
|
|
|
|
+import org.springblade.control.dto.ControlProjectInfoDTO;
|
|
|
|
+import org.springblade.control.entity.ControlProjectInfo;
|
|
|
|
+import org.springblade.control.mapper.ProjectInfoMapper;
|
|
|
|
+import org.springblade.control.service.IProjectInfoService;
|
|
|
|
+import org.springblade.control.service.IProjectProcessService;
|
|
|
|
+import org.springblade.control.vo.ControlProjectInfoVO;
|
|
|
|
+import org.springblade.core.mp.base.BaseServiceImpl;
|
|
|
|
+import org.springblade.core.mp.support.Query;
|
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
+
|
|
|
|
+import java.util.List;
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * @Param
|
|
|
|
+ * @Author wangwl
|
|
|
|
+ * @Date 2023/5/12 9:43
|
|
|
|
+ **/
|
|
|
|
+@Service
|
|
|
|
+@AllArgsConstructor
|
|
|
|
+public class ProjectInfoServiceImpl extends BaseServiceImpl<ProjectInfoMapper, ControlProjectInfo> implements IProjectInfoService {
|
|
|
|
+ private final ProjectInfoMapper infoMapper;
|
|
|
|
+ private final IProjectProcessService processService;
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 自定义分页
|
|
|
|
+ * @param dto
|
|
|
|
+ * @param query
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public IPage<ControlProjectInfoVO> page(ControlProjectInfoDTO dto, Query query) {
|
|
|
|
+ IPage page = new Page(query.getCurrent(),query.getSize());
|
|
|
|
+ List<ControlProjectInfoVO> projectInfoVos = infoMapper.selectByPage(page, dto);
|
|
|
|
+ return page.setRecords(projectInfoVos);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 新增项目
|
|
|
|
+ * @param dto
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ @Transactional
|
|
|
|
+ public void addProjectInfo(ControlProjectInfoDTO dto) {
|
|
|
|
+ Long id = SnowFlakeUtil.getId();
|
|
|
|
+ dto.setId(id);
|
|
|
|
+ ControlProjectInfo info = new ControlProjectInfo();
|
|
|
|
+ BeanUtils.copyProperties(dto,info);
|
|
|
|
+ infoMapper.insert(info);
|
|
|
|
+ processService.addProjectProcess(dto);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 修改项目
|
|
|
|
+ * @param dto
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ @Transactional
|
|
|
|
+ public void updateProjectInfo(ControlProjectInfoDTO dto) {
|
|
|
|
+ ControlProjectInfo info = new ControlProjectInfo();
|
|
|
|
+ BeanUtils.copyProperties(dto,info);
|
|
|
|
+ infoMapper.updateById(info);
|
|
|
|
+ processService.updateProjectProcess(dto.getProjectProcessList());
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 删除项目
|
|
|
|
+ * @param id
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ @Transactional
|
|
|
|
+ public void removeProjectInfo(Long id) {
|
|
|
|
+ baseMapper.deleteById(id);
|
|
|
|
+ processService.removeProjectProcess(id);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 根据id获取项目和流程信息
|
|
|
|
+ * @param id
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public ControlProjectInfoVO getProjectInfoById(Long id) {
|
|
|
|
+ ControlProjectInfoVO vo = infoMapper.getProjectInfoById(id);
|
|
|
|
+ vo.setProjectProcessList(processService.getProjectProcess(id));
|
|
|
|
+ return vo;
|
|
|
|
+ }
|
|
|
|
+}
|