瀏覽代碼

feat: 待办事项

xdd 2 月之前
父節點
當前提交
fceacee857

+ 30 - 4
fs-admin/src/main/java/com/fs/his/controller/FsTodoItemsController.java

@@ -3,7 +3,13 @@ package com.fs.his.controller;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.fs.common.core.controller.BaseController;
 import com.fs.common.core.domain.R;
+import com.fs.common.utils.SecurityUtils;
+import com.fs.common.utils.ServletUtils;
+import com.fs.company.domain.CompanyUser;
+import com.fs.company.service.ICompanyUserService;
 import com.fs.todo.domain.FsTodoItems;
+import com.fs.todo.param.AssignExecutorParam;
+import com.fs.todo.param.GetUserListParam;
 import com.fs.todo.param.QueryTodoItemsParam;
 import com.fs.todo.service.FsTodoItemsService;
 import com.github.pagehelper.PageHelper;
@@ -11,10 +17,7 @@ import com.github.pagehelper.PageInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-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 org.springframework.web.bind.annotation.*;
 
 import java.time.LocalDateTime;
 import java.util.List;
@@ -27,6 +30,8 @@ public class FsTodoItemsController extends BaseController {
     @Autowired
     private FsTodoItemsService fsTodoItemsService;
 
+    @Autowired
+    private ICompanyUserService companyUserService;
 
     @ApiOperation("查看待办列表")
     @PostMapping("/listPage")
@@ -88,4 +93,25 @@ public class FsTodoItemsController extends BaseController {
         return R.ok();
     }
 
+    @ApiOperation("添加待办事项")
+    @PostMapping("/assignExecutor")
+    public R assignExecutor(@RequestBody AssignExecutorParam param){
+        param.setAssigneeId(SecurityUtils.getUserId());
+
+        fsTodoItemsService.assignExecutor(param);
+        return R.ok();
+    }
+
+    @PostMapping("/getUserList")
+    public R getUserList(@RequestBody GetUserListParam param)
+    {
+
+        PageHelper.startPage(param.getPageNum(), param.getPageSize());
+
+        CompanyUser map=new CompanyUser();
+        map.setCompanyId(param.getCompanyId());
+        List<CompanyUser> list = companyUserService.selectCompanyUserList(map);
+        return  R.ok().put("data",list);
+    }
+
 }

+ 17 - 13
fs-service/src/main/java/com/fs/system/mapper/SysUserMapper.java

@@ -3,17 +3,18 @@ package com.fs.system.mapper;
 import java.util.List;
 import org.apache.ibatis.annotations.Param;
 import com.fs.common.core.domain.entity.SysUser;
+import org.apache.ibatis.annotations.Select;
 
 /**
  * 用户表 数据层
- * 
+ *
 
  */
 public interface SysUserMapper
 {
     /**
      * 根据条件分页查询用户列表
-     * 
+     *
      * @param sysUser 用户信息
      * @return 用户信息集合信息
      */
@@ -21,7 +22,7 @@ public interface SysUserMapper
 
     /**
      * 根据条件分页查询未已配用户角色列表
-     * 
+     *
      * @param user 用户信息
      * @return 用户信息集合信息
      */
@@ -29,7 +30,7 @@ public interface SysUserMapper
 
     /**
      * 根据条件分页查询未分配用户角色列表
-     * 
+     *
      * @param user 用户信息
      * @return 用户信息集合信息
      */
@@ -37,7 +38,7 @@ public interface SysUserMapper
 
     /**
      * 通过用户名查询用户
-     * 
+     *
      * @param userName 用户名
      * @return 用户对象信息
      */
@@ -45,7 +46,7 @@ public interface SysUserMapper
 
     /**
      * 通过用户ID查询用户
-     * 
+     *
      * @param userId 用户ID
      * @return 用户对象信息
      */
@@ -53,7 +54,7 @@ public interface SysUserMapper
 
     /**
      * 新增用户信息
-     * 
+     *
      * @param user 用户信息
      * @return 结果
      */
@@ -61,7 +62,7 @@ public interface SysUserMapper
 
     /**
      * 修改用户信息
-     * 
+     *
      * @param user 用户信息
      * @return 结果
      */
@@ -69,7 +70,7 @@ public interface SysUserMapper
 
     /**
      * 修改用户头像
-     * 
+     *
      * @param userName 用户名
      * @param avatar 头像地址
      * @return 结果
@@ -78,7 +79,7 @@ public interface SysUserMapper
 
     /**
      * 重置用户密码
-     * 
+     *
      * @param userName 用户名
      * @param password 密码
      * @return 结果
@@ -87,7 +88,7 @@ public interface SysUserMapper
 
     /**
      * 通过用户ID删除用户
-     * 
+     *
      * @param userId 用户ID
      * @return 结果
      */
@@ -95,7 +96,7 @@ public interface SysUserMapper
 
     /**
      * 批量删除用户信息
-     * 
+     *
      * @param userIds 需要删除的用户ID
      * @return 结果
      */
@@ -103,7 +104,7 @@ public interface SysUserMapper
 
     /**
      * 校验用户名称是否唯一
-     * 
+     *
      * @param userName 用户名称
      * @return 结果
      */
@@ -124,4 +125,7 @@ public interface SysUserMapper
      * @return 结果
      */
     public SysUser checkEmailUnique(String email);
+
+    @Select("select concat(user_name,'_',nick_name) from sys_user limit 1")
+    String selectUserNameByUserId(Long creatorId);
 }

+ 2 - 0
fs-service/src/main/java/com/fs/todo/domain/FsTodoItems.java

@@ -41,11 +41,13 @@ public class FsTodoItems {
      * 创建者ID(指派者)
      */
     private Long creatorId;
+    private String creatorName;
 
     /**
      * 负责人ID(销售人员)
      */
     private Long assigneeId;
+    private String assigneeName;
 
     /**
      * 优先级:0-低,1-中,2-高

+ 4 - 0
fs-service/src/main/java/com/fs/todo/mapper/FsTodoItemsMapper.java

@@ -1,6 +1,7 @@
 package com.fs.todo.mapper;
 
 import com.fs.todo.domain.FsTodoItems;
+import com.fs.todo.param.AssignExecutorParam;
 import com.fs.todo.param.QueryTodoItemsParam;
 import org.apache.ibatis.annotations.*;
 import java.util.List;
@@ -78,4 +79,7 @@ public interface FsTodoItemsMapper {
      * @return List<FsTodoItems>
      */
     List<FsTodoItems> listPage(QueryTodoItemsParam param);
+
+    @Update("update fs_todo_items set creator_id=#{assigneeId},assignee_id=#{executorId} where id=#{id}")
+    void assignExecutor(AssignExecutorParam param);
 }

+ 19 - 0
fs-service/src/main/java/com/fs/todo/param/AssignExecutorParam.java

@@ -0,0 +1,19 @@
+package com.fs.todo.param;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class AssignExecutorParam implements Serializable {
+    private Long id;
+    /**
+     * 执行者id
+     */
+    private Long executorId;
+
+    /**
+     * 分配者id
+     */
+    private Long assigneeId;
+}

+ 13 - 0
fs-service/src/main/java/com/fs/todo/param/GetUserListParam.java

@@ -0,0 +1,13 @@
+package com.fs.todo.param;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class GetUserListParam implements Serializable {
+    private String companyName;
+    private Long companyId;
+    private Integer pageSize;
+    private Integer pageNum;
+}

+ 3 - 0
fs-service/src/main/java/com/fs/todo/service/FsTodoItemsService.java

@@ -1,6 +1,7 @@
 package com.fs.todo.service;
 
 import com.fs.todo.domain.FsTodoItems;
+import com.fs.todo.param.AssignExecutorParam;
 import com.fs.todo.param.QueryTodoItemsParam;
 
 import java.util.List;
@@ -55,4 +56,6 @@ public interface FsTodoItemsService {
      * 根据ID删除待办事项
      */
     boolean removeById(Long id);
+
+    void assignExecutor(AssignExecutorParam param);
 }

+ 43 - 0
fs-service/src/main/java/com/fs/todo/service/impl/FsTodoItemsServiceImpl.java

@@ -2,9 +2,15 @@ package com.fs.todo.service.impl;
 
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.fs.common.utils.DictUtils;
+import com.fs.common.utils.SecurityUtils;
 import com.fs.common.utils.StringUtils;
+import com.fs.company.cache.ICompanyUserCacheService;
+import com.fs.hisStore.service.cache.IFsUserCacheService;
+import com.fs.system.mapper.SysUserMapper;
+import com.fs.system.service.ISysUserService;
 import com.fs.todo.domain.FsTodoItems;
 import com.fs.todo.mapper.FsTodoItemsMapper;
+import com.fs.todo.param.AssignExecutorParam;
 import com.fs.todo.param.QueryTodoItemsParam;
 import com.fs.todo.service.FsTodoItemsService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -22,6 +28,12 @@ public class FsTodoItemsServiceImpl implements FsTodoItemsService {
     @Autowired
     private FsTodoItemsMapper fsTodoItemsMapper;
 
+    @Autowired
+    private ICompanyUserCacheService companyUserCacheService;
+
+    @Autowired
+    private SysUserMapper sysUserMapper;
+
     /**
      * 根据ID查询待办事项
      */
@@ -63,6 +75,23 @@ public class FsTodoItemsServiceImpl implements FsTodoItemsService {
                 }
             }
 
+            // 执行者
+            if(ObjectUtils.isNotNull(fsTodoItem.getAssigneeId())) {
+                String executorName = companyUserCacheService.selectCompanyUserNameUserById(fsTodoItem.getAssigneeId());
+                if(StringUtils.isNotBlank(executorName)) {
+                    fsTodoItem.setAssigneeName(executorName);
+                }
+            }
+
+            // 分配人
+            if(ObjectUtils.isNotNull(fsTodoItem.getCreatorId())) {
+                String creatorName = sysUserMapper.selectUserNameByUserId(fsTodoItem.getCreatorId());
+                if(StringUtils.isNotBlank(creatorName)) {
+                    fsTodoItem.setCreatorName(creatorName);
+                }
+            }
+
+
         }
         return fsTodoItems;
     }
@@ -127,4 +156,18 @@ public class FsTodoItemsServiceImpl implements FsTodoItemsService {
     public boolean removeById(Long id) {
         return fsTodoItemsMapper.deleteById(id) > 0;
     }
+
+    @Override
+    public void assignExecutor(AssignExecutorParam param) {
+        if(ObjectUtils.isNull(param.getId())){
+            throw new IllegalArgumentException("待办事项Id不能为空!");
+        }
+        if(ObjectUtils.isNull(param.getExecutorId())){
+            throw new IllegalArgumentException("执行者id不能为空!");
+        }
+        if(ObjectUtils.isNull(param.getAssigneeId())){
+            throw new IllegalArgumentException("分配人id不能为空!");
+        }
+        fsTodoItemsMapper.assignExecutor(param);
+    }
 }