项目进度控制

This commit is contained in:
2025-05-08 20:42:58 +08:00
parent a1e2b71141
commit ca3724ff32
42 changed files with 2487 additions and 1 deletions

View File

@@ -63,6 +63,7 @@ public class OaProgressController extends BaseController {
*/
@GetMapping("/one-list")
public TableDataInfo<SysOaProjectVo> oneList(SysOaProjectBo bo, PageQuery pageQuery) {
bo.setTradeType(1L);
return projectService.queryPageList2(bo, pageQuery);
}

View File

@@ -0,0 +1,112 @@
package com.ruoyi.oa.controller;
import java.util.List;
import java.util.Arrays;
import java.util.concurrent.TimeUnit;
import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.core.validate.QueryGroup;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.oa.domain.vo.OaProjectScheduleVo;
import com.ruoyi.oa.domain.bo.OaProjectScheduleBo;
import com.ruoyi.oa.service.IOaProjectScheduleService;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 项目进度
*
* @author haka
* @date 2025-05-08
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/oa/projectSchedule")
public class OaProjectScheduleController extends BaseController {
private final IOaProjectScheduleService iOaProjectScheduleService;
/**
* 查询项目进度列表
*/
@GetMapping("/list")
public TableDataInfo<OaProjectScheduleVo> list(OaProjectScheduleBo bo, PageQuery pageQuery) {
return iOaProjectScheduleService.queryPageList(bo, pageQuery);
}
/**
* 导出项目进度列表
*/
@Log(title = "项目进度", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(OaProjectScheduleBo bo, HttpServletResponse response) {
List<OaProjectScheduleVo> list = iOaProjectScheduleService.queryList(bo);
ExcelUtil.exportExcel(list, "项目进度", OaProjectScheduleVo.class, response);
}
/**
* 获取项目进度详细信息
*
* @param scheduleId 主键
*/
@GetMapping("/{scheduleId}")
public R<OaProjectScheduleVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long scheduleId) {
return R.ok(iOaProjectScheduleService.queryById(scheduleId));
}
/**
* 新增项目进度
*/
@Log(title = "项目进度", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody OaProjectScheduleBo bo) {
return toAjax(iOaProjectScheduleService.insertByBo(bo));
}
/**
* 修改项目进度
*/
@Log(title = "项目进度", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody OaProjectScheduleBo bo) {
return toAjax(iOaProjectScheduleService.updateByBo(bo));
}
/**
* 修改项目进度
*/
@Log(title = "项目进度", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping("/complete")
public R<Void> complete(@RequestBody OaProjectScheduleBo bo) {
return toAjax(iOaProjectScheduleService.complete(bo));
}
/**
* 删除项目进度
*
* @param scheduleIds 主键串
*/
@Log(title = "项目进度", businessType = BusinessType.DELETE)
@DeleteMapping("/{scheduleIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] scheduleIds) {
return toAjax(iOaProjectScheduleService.deleteWithValidByIds(Arrays.asList(scheduleIds), true));
}
}

View File

@@ -0,0 +1,99 @@
package com.ruoyi.oa.controller;
import java.util.List;
import java.util.Arrays;
import java.util.concurrent.TimeUnit;
import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.core.validate.QueryGroup;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.oa.domain.vo.OaProjectScheduleStepVo;
import com.ruoyi.oa.domain.bo.OaProjectScheduleStepBo;
import com.ruoyi.oa.service.IOaProjectScheduleStepService;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 项目进度步骤跟踪
*
* @author hdka
* @date 2025-05-08
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/oa/projectScheduleStep")
public class OaProjectScheduleStepController extends BaseController {
private final IOaProjectScheduleStepService iOaProjectScheduleStepService;
/**
* 查询项目进度步骤跟踪列表
*/
@GetMapping("/list")
public TableDataInfo<OaProjectScheduleStepVo> list(OaProjectScheduleStepBo bo, PageQuery pageQuery) {
return iOaProjectScheduleStepService.queryPageList(bo, pageQuery);
}
/**
* 导出项目进度步骤跟踪列表
*/
@Log(title = "项目进度步骤跟踪", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(OaProjectScheduleStepBo bo, HttpServletResponse response) {
List<OaProjectScheduleStepVo> list = iOaProjectScheduleStepService.queryList(bo);
ExcelUtil.exportExcel(list, "项目进度步骤跟踪", OaProjectScheduleStepVo.class, response);
}
/**
* 获取项目进度步骤跟踪详细信息
*
* @param trackId 主键
*/
@GetMapping("/{trackId}")
public R<OaProjectScheduleStepVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long trackId) {
return R.ok(iOaProjectScheduleStepService.queryById(trackId));
}
/**
* 新增项目进度步骤跟踪
*/
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody OaProjectScheduleStepBo bo) {
return toAjax(iOaProjectScheduleStepService.insertByBo(bo));
}
/**
* 修改项目进度步骤跟踪
*/
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody OaProjectScheduleStepBo bo) {
return toAjax(iOaProjectScheduleStepService.updateByBo(bo));
}
/**
* 删除项目进度步骤跟踪
*
* @param trackIds 主键串
*/
@DeleteMapping("/{trackIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] trackIds) {
return toAjax(iOaProjectScheduleStepService.deleteWithValidByIds(Arrays.asList(trackIds), true));
}
}

View File

@@ -0,0 +1,99 @@
package com.ruoyi.oa.controller;
import java.util.List;
import java.util.Arrays;
import java.util.concurrent.TimeUnit;
import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.core.validate.QueryGroup;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.oa.domain.vo.OaScheduleTemplateVo;
import com.ruoyi.oa.domain.bo.OaScheduleTemplateBo;
import com.ruoyi.oa.service.IOaScheduleTemplateService;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 进度模板主
*
* @author hdka
* @date 2025-05-08
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/oa/scheduleTemplate")
public class OaScheduleTemplateController extends BaseController {
private final IOaScheduleTemplateService iOaScheduleTemplateService;
/**
* 查询进度模板主列表
*/
@GetMapping("/list")
public TableDataInfo<OaScheduleTemplateVo> list(OaScheduleTemplateBo bo, PageQuery pageQuery) {
return iOaScheduleTemplateService.queryPageList(bo, pageQuery);
}
/**
* 导出进度模板主列表
*/
@Log(title = "进度模板主", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(OaScheduleTemplateBo bo, HttpServletResponse response) {
List<OaScheduleTemplateVo> list = iOaScheduleTemplateService.queryList(bo);
ExcelUtil.exportExcel(list, "进度模板主", OaScheduleTemplateVo.class, response);
}
/**
* 获取进度模板主详细信息
*
* @param templateId 主键
*/
@GetMapping("/{templateId}")
public R<OaScheduleTemplateVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long templateId) {
return R.ok(iOaScheduleTemplateService.queryById(templateId));
}
/**
* 新增进度模板主
*/
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody OaScheduleTemplateBo bo) {
return toAjax(iOaScheduleTemplateService.insertByBo(bo));
}
/**
* 修改进度模板主
*/
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody OaScheduleTemplateBo bo) {
return toAjax(iOaScheduleTemplateService.updateByBo(bo));
}
/**
* 删除进度模板主
*
* @param templateIds 主键串
*/
@DeleteMapping("/{templateIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] templateIds) {
return toAjax(iOaScheduleTemplateService.deleteWithValidByIds(Arrays.asList(templateIds), true));
}
}

View File

@@ -0,0 +1,99 @@
package com.ruoyi.oa.controller;
import java.util.List;
import java.util.Arrays;
import java.util.concurrent.TimeUnit;
import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.core.validate.QueryGroup;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.oa.domain.vo.OaScheduleTemplateStepVo;
import com.ruoyi.oa.domain.bo.OaScheduleTemplateStepBo;
import com.ruoyi.oa.service.IOaScheduleTemplateStepService;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 进度模板步骤
*
* @author hdka
* @date 2025-05-08
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/oa/scheduleTemplateStep")
public class OaScheduleTemplateStepController extends BaseController {
private final IOaScheduleTemplateStepService iOaScheduleTemplateStepService;
/**
* 查询进度模板步骤列表
*/
@GetMapping("/list")
public TableDataInfo<OaScheduleTemplateStepVo> list(OaScheduleTemplateStepBo bo, PageQuery pageQuery) {
return iOaScheduleTemplateStepService.queryPageList(bo, pageQuery);
}
/**
* 导出进度模板步骤列表
*/
@Log(title = "进度模板步骤", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(OaScheduleTemplateStepBo bo, HttpServletResponse response) {
List<OaScheduleTemplateStepVo> list = iOaScheduleTemplateStepService.queryList(bo);
ExcelUtil.exportExcel(list, "进度模板步骤", OaScheduleTemplateStepVo.class, response);
}
/**
* 获取进度模板步骤详细信息
*
* @param stepId 主键
*/
@GetMapping("/{stepId}")
public R<OaScheduleTemplateStepVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long stepId) {
return R.ok(iOaScheduleTemplateStepService.queryById(stepId));
}
/**
* 新增进度模板步骤
*/
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody OaScheduleTemplateStepBo bo) {
return toAjax(iOaScheduleTemplateStepService.insertByBo(bo));
}
/**
* 修改进度模板步骤
*/
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody OaScheduleTemplateStepBo bo) {
return toAjax(iOaScheduleTemplateStepService.updateByBo(bo));
}
/**
* 删除进度模板步骤
*
* @param stepIds 主键串
*/
@DeleteMapping("/{stepIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] stepIds) {
return toAjax(iOaScheduleTemplateStepService.deleteWithValidByIds(Arrays.asList(stepIds), true));
}
}