Browse Source

任务项目接口

Qchen 2 năm trước cách đây
mục cha
commit
d3d1c242fe

+ 32 - 0
src/main/java/com/ydtech/modules/task/constants/ProjectStatus.java

@@ -0,0 +1,32 @@
+package com.ydtech.modules.task.constants;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * 项目状态
+ */
+@Getter
+public enum ProjectStatus {
+
+    STATUS_0(0, "未指派"),
+    STATUS_1(1, "未开始"),
+    STATUS_2(2, "已开始"),
+    STATUS_3(3, "已完成");
+
+    private final int code;
+    private final String desc;
+
+    ProjectStatus(int code, String desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+
+    public int getCode() {
+        return code;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+}

+ 39 - 1
src/main/java/com/ydtech/modules/task/controller/TaskController.java

@@ -1,11 +1,49 @@
 package com.ydtech.modules.task.controller;
 
+import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.base.controller.BaseController;
+import com.ydtech.modules.ser.model.SerAnnualAuditOrder;
+import com.ydtech.modules.task.entity.po.TaskProject;
+import com.ydtech.modules.task.entity.vo.TaskProjectVo;
+import com.ydtech.modules.task.service.TaskProjectService;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.annotation.Resource;
+
 @Api(tags = "任务controller")
 @RestController
 @RequestMapping("/task/task")
-public class TaskController {
+public class TaskController extends BaseController {
+
+    @Resource
+    private TaskProjectService taskProjectService;
+
+    @ApiOperation("新增任务项目")
+    @PostMapping("/addProject")
+    public HttpResult addProject(@RequestBody TaskProject taskProject){
+        return taskProjectService.addProject(taskProject);
+    }
+
+    @ApiOperation("修改任务项目")
+    @PostMapping("/updateProject")
+    public HttpResult updateProject(@RequestBody TaskProject taskProject){
+        return taskProjectService.updateProject(taskProject);
+    }
+
+    @ApiOperation("删除任务项目")
+    @PostMapping("/removeProject")
+    public HttpResult removeProject(@RequestBody TaskProject taskProject){
+        return taskProjectService.removeProject(taskProject);
+    }
+
+    @ApiOperation("查询任务项目列表")
+    @PostMapping("/selectProject")
+    public HttpResult selectProject(@RequestBody TaskProjectVo taskProjectVo){
+        return HttpResult.ok("",taskProjectService.selectProject(taskProjectVo));
+    }
 }

+ 7 - 0
src/main/java/com/ydtech/modules/task/dao/TaskProjectMapper.java

@@ -1,8 +1,13 @@
 package com.ydtech.modules.task.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ydtech.modules.admin.model.SysDeptAccountWithdraw;
+import com.ydtech.modules.admin.model.vo.SysDeptAccountWithdrawVo;
 import com.ydtech.modules.task.entity.po.TaskFile;
 import com.ydtech.modules.task.entity.po.TaskProject;
+import com.ydtech.modules.task.entity.vo.TaskProjectVo;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * @author Administrator
@@ -12,4 +17,6 @@ import com.ydtech.modules.task.entity.po.TaskProject;
  */
 public interface TaskProjectMapper extends BaseMapper<TaskProject> {
 
+    Page<TaskProject> selectProject(Page page, @Param("taskProjectVo") TaskProjectVo taskProjectVo);
+
 }

+ 12 - 0
src/main/java/com/ydtech/modules/task/service/TaskProjectService.java

@@ -1,4 +1,16 @@
 package com.ydtech.modules.task.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.task.entity.po.TaskProject;
+import com.ydtech.modules.task.entity.vo.TaskProjectVo;
+
 public interface TaskProjectService {
+    HttpResult addProject(TaskProject taskProject);
+
+    HttpResult updateProject(TaskProject taskProject);
+
+    HttpResult removeProject(TaskProject taskProject);
+
+    IPage<TaskProject> selectProject(TaskProjectVo taskProjectVo);
 }

+ 45 - 0
src/main/java/com/ydtech/modules/task/service/impl/TaskProjectServiceImpl.java

@@ -1,11 +1,20 @@
 package com.ydtech.modules.task.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.core.page.HttpResult;
+import com.ydtech.core.page.PageRequest;
+import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.task.dao.TaskProjectMapper;
 import com.ydtech.modules.task.entity.po.TaskProject;
+import com.ydtech.modules.task.entity.vo.TaskProjectVo;
 import com.ydtech.modules.task.service.TaskProjectService;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.util.Date;
+
 /**
  * @author Administrator
  * @description 针对表【task_file】的数据库操作Service实现
@@ -15,6 +24,42 @@ import org.springframework.stereotype.Service;
 public class TaskProjectServiceImpl extends ServiceImpl<TaskProjectMapper, TaskProject>
         implements TaskProjectService {
 
+    @Resource
+    private TaskProjectMapper taskProjectMapper;
+
+    @Override
+    public HttpResult addProject(TaskProject taskProject) {
+        TaskProject tp = new TaskProject();
+        tp.setProjectName(taskProject.getProjectName());
+        tp.setProjectType(taskProject.getProjectType());
+        tp.setCreator(BaseController.getUser().getId());
+        tp.setProjectDesc(taskProject.getProjectDesc());
+        tp.setCreateTime(new Date());
+        tp.setProjectStatus(1);
+        save(tp);
+        return HttpResult.ok("新增成功");
+    }
+
+    @Override
+    public HttpResult updateProject(TaskProject taskProject) {
+        updateById(taskProject);
+        return HttpResult.ok("修改成功");
+    }
+
+    @Override
+    public HttpResult removeProject(TaskProject taskProject) {
+        removeById(taskProject);
+        return HttpResult.ok("删除成功");
+    }
+
+    public IPage<TaskProject> selectProject(TaskProjectVo taskProjectVo) {
+        PageRequest pageRequest = new PageRequest();
+        pageRequest.setPageNum(taskProjectVo.getPageNum());
+        pageRequest.setPageSize(taskProjectVo.getPageSize());
+        Page page = PageRequest.buildPageRequest(pageRequest);
+        Page<TaskProject> iPage = taskProjectMapper.selectProject(page,taskProjectVo);
+        return iPage;
+    }
 }
 
 

+ 75 - 0
src/main/resources/mapper/modules/task/TaskProjectMapper.xml

@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ydtech.modules.task.dao.TaskProjectMapper">
+
+    <resultMap id="BaseResultMap" type="com.ydtech.modules.task.entity.vo.TaskProjectVo">
+        <id property="id" column="id" jdbcType="VARCHAR"/>
+        <result property="projectType" column="project_type" jdbcType="VARCHAR"/>
+        <result property="projectName" column="project_name" jdbcType="VARCHAR"/>
+        <result property="projectDesc" column="project_desc" jdbcType="DECIMAL"/>
+        <result property="projectStatus" column="project_status" jdbcType="VARCHAR"/>
+        <result property="creator" column="creator" jdbcType="VARCHAR"/>
+        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+        <result property="createTimeStart" column="createTimeStart" jdbcType="VARCHAR"/>
+        <result property="createTimeEnd" column="createTimeEnd" jdbcType="VARCHAR"/>
+        <collection property="taskList" ofType="com.ydtech.modules.task.entity.po.TaskTask"
+                    resultMap="taskList"/>
+    </resultMap>
+
+    <resultMap id="taskList" type="com.ydtech.modules.task.entity.po.TaskTask">
+        <result property="id" column="id" jdbcType="VARCHAR"/>
+        <result property="parentId" column="parent_id" jdbcType="VARCHAR"/>
+        <result property="projectId" column="project_id" jdbcType="VARCHAR"/>
+        <result property="taskName" column="task_name" jdbcType="VARCHAR"/>
+        <result property="taskDesc" column="task_desc" jdbcType="VARCHAR"/>
+        <result property="taskStartTime" column="task_start_time" jdbcType="TIMESTAMP"/>
+        <result property="taskEmdTo" column="task_end_time" jdbcType="TIMESTAMP"/>
+        <result property="taskStatus" column="task_status" jdbcType="VARCHAR"/>
+        <result property="taskFirst" column="task_first" jdbcType="VARCHAR"/>
+        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+        <result property="creator" column="creator" jdbcType="TIMESTAMP"/>
+    </resultMap>
+
+    <select id="selectProject" resultMap="BaseResultMap">
+        select
+        a.id,
+        a.project_type,
+        a.project_name,
+        a.project_desc,
+        a.project_status,
+        a.creator,
+        a.create_time,
+        b.task_name,
+        b.parent_id,
+        b.project_id,
+        b.task_desc,
+        b.task_start_time,
+        b.task_end_time,
+        b.task_status,
+        b.task_first,
+        b.create_time,
+        b.creator
+        from task_project a
+        left join task_task b on a.id = b.project_id
+        where
+            1=1
+        <if test="taskProjectVo.projectType != null and taskProjectVo.projectType != ''">
+            and a.project_type = #{taskProjectVo.projectType}
+        </if>
+        <if test="taskProjectVo.id != null and taskProjectVo.id != ''">
+            and a.id = #{taskProjectVo.id}
+        </if>
+        <if test="taskProjectVo.projectDesc != null and taskProjectVo.projectDesc != ''">
+            and a.project_desc like concat(#{taskProjectVo.projectDesc},'%')
+        </if>
+        <if test="taskProjectVo.projectStatus != null and taskProjectVo.voucherId != ''">
+            and a.project_status = #{taskProjectVo.projectStatus}
+        </if>
+        <if test="taskProjectVo.createTimeStart != null and taskProjectVo.createTimeStart != ''">
+            and a.create_time &gt;= #{taskProjectVo.createTimeStart}
+        </if>
+        <if test="taskProjectVo.createTimeEnd != null and taskProjectVo.createTimeEnd != ''">
+            and a.create_time &lt;= #{taskProjectVo.createTimeEnd}
+        </if>
+    </select>
+</mapper>