Browse Source

任务删除

yusm 1 năm trước cách đây
mục cha
commit
203cbcdd87

+ 5 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/TaskController.java

@@ -67,5 +67,10 @@ public class TaskController {
         return taskService.updateTask(taskDto ,request);
     }
 
+    @RequestMapping("deleteTasks")
+    public HttpRespMsg deleteTasks(@RequestBody List<Integer> taskIds){
+        return taskService.deleteTasks(taskIds);
+    }
+
 }
 

+ 7 - 1
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/entity/Task.java

@@ -18,7 +18,7 @@ import lombok.experimental.Accessors;
  * </p>
  *
  * @author Seyason
- * @since 2024-03-11
+ * @since 2024-03-14
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
@@ -186,6 +186,12 @@ public class Task extends Model<Task> {
     @TableField("finish_date")
     private LocalDate finishDate;
 
+    /**
+     * 是否被删除: 0否,1是
+     */
+    @TableField("is_delete")
+    private Integer isDelete;
+
     /**
      * 自定义字段存值
      */

+ 2 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/TaskService.java

@@ -27,4 +27,6 @@ public interface TaskService extends IService<Task> {
     HttpRespMsg pageTask(TaskDto taskDto, HttpServletRequest request);
 
     HttpRespMsg updateTask(TaskDto taskDto, HttpServletRequest request);
+
+    HttpRespMsg deleteTasks(List<Integer> taskIds);
 }

+ 19 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/TaskServiceImpl.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.additional.update.impl.LambdaUpdateChainWrapper;
@@ -94,6 +95,7 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
         task.setCreaterName(user.getName());
         task.setCreaterId(userId);
         task.setCompanyId(user.getCompanyId());
+        task.setIsDelete(0);
 
         taskMapper.insert(task);
 
@@ -212,6 +214,23 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
         return msg;
     }
 
+    @Override
+    @Transactional
+    public HttpRespMsg deleteTasks(List<Integer> taskIds) {
+        HttpRespMsg msg = new HttpRespMsg();
+        List<Task> taskList = taskMapper.selectList(new QueryWrapper<Task>().in("id", taskIds));
+        if (!taskList.isEmpty()){
+            List<Task> collect = taskList.stream().filter(task -> task.getStatus() != 2).collect(Collectors.toList());
+            if (collect.size()>0){
+                msg.setError("存在任务未完成,不能删除");
+            }
+            LambdaUpdateWrapper<Task> tUlw = new LambdaUpdateWrapper<>();
+            tUlw.set(Task::getIsDelete,1).in(Task::getId,taskIds);
+            taskMapper.update(null,tUlw);
+        }
+        return msg;
+    }
+
     public void updateTaskRepeatConfigure(Task task){
         task.setRepeatType(null).setRepeatEndNever(null).setRepeatEndCount(null)
                 .setRepeatEndDate(null).setRepeatDesignDay(null).setRepeatDesignSameday(null);

+ 8 - 1
fhKeeper/formulahousekeeper/management-crm/src/main/resources/mapper/TaskMapper.xml

@@ -31,6 +31,7 @@
         <result column="end_date" property="endDate" />
         <result column="start_date" property="startDate" />
         <result column="finish_date" property="finishDate" />
+        <result column="is_delete" property="isDelete" />
         <result column="plate1" property="plate1" />
         <result column="plate2" property="plate2" />
         <result column="plate3" property="plate3" />
@@ -40,7 +41,7 @@
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, task_name, company_id, owner_id, contacts_id, executor_id, clue_id, custom_id, business_opportunity_id, order_id, product_id, status, priority, is_repeat, repeat_type, repeat_end_never, repeat_end_count, repeat_end_date, repeat_design_day, repeat_design_sameday, task_desc, creater_id, creater_name, create_date, end_date, start_date, finish_date, plate1, plate2, plate3, plate4, plate5
+        id, task_name, company_id, owner_id, contacts_id, executor_id, clue_id, custom_id, business_opportunity_id, order_id, product_id, status, priority, is_repeat, repeat_type, repeat_end_never, repeat_end_count, repeat_end_date, repeat_design_day, repeat_design_sameday, task_desc, creater_id, creater_name, create_date, end_date, start_date, finish_date, is_delete, plate1, plate2, plate3, plate4, plate5
     </sql>
 
     <resultMap id="TaskVoMap" type="com.management.platform.entity.vo.TasKVo">
@@ -63,6 +64,7 @@
         <result column="repeat_end_count" property="repeatEndCount" />
         <result column="repeat_end_date" property="repeatEndDate" />
         <result column="repeat_design_day" property="repeatDesignDay" />
+        <result column="repeat_design_sameday" property="repeatDesignSameday" />
         <result column="task_desc" property="taskDesc" />
         <result column="creater_id" property="createrId" />
         <result column="creater_name" property="createrName" />
@@ -70,6 +72,7 @@
         <result column="end_date" property="endDate" />
         <result column="start_date" property="startDate" />
         <result column="finish_date" property="finishDate" />
+        <result column="is_delete" property="isDelete" />
         <result column="plate1" property="plate1" />
         <result column="plate2" property="plate2" />
         <result column="plate3" property="plate3" />
@@ -121,6 +124,8 @@
             left join  task_executor on task.id=task_executor.task_id
 
         <where>
+            and 1=1 and is_delete=0
+
             <if test=" taskName!= null and taskName != ''">
                 AND task.task_name LIKE CONCAT('%', #{taskName}, '%')
             </if>
@@ -183,6 +188,8 @@
         left join  contacts on task.contacts_id=contacts.id
         left join  task_executor on task.id=task_executor.task_id
         <where>
+            and 1=1 and is_delete=0
+
             <if test=" taskName!= null and taskName != ''">
                 AND task.task_name LIKE CONCAT('%', #{taskName}, '%')
             </if>