Quellcode durchsuchen

Merge branch 'master' of http://47.100.37.243:10191/wutt/manHourHousekeeper

Min vor 1 Jahr
Ursprung
Commit
20ef64bac9
17 geänderte Dateien mit 497 neuen und 71 gelöschten Zeilen
  1. 53 1
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/ContactsController.java
  2. 21 0
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/ContactsLogController.java
  3. 3 3
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/TaskController.java
  4. 67 0
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/entity/ContactsLog.java
  5. 9 3
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/entity/Task.java
  6. 2 1
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/entity/vo/TasKVo.java
  7. 16 0
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/mapper/ContactsLogMapper.java
  8. 4 2
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/mapper/TaskMapper.java
  9. 16 0
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/ContactsLogService.java
  10. 7 1
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/ContactsService.java
  11. 1 1
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/TaskService.java
  12. 20 0
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/ContactsLogServiceImpl.java
  13. 79 14
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/ContactsServiceImpl.java
  14. 74 7
      fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/TaskServiceImpl.java
  15. 20 0
      fhKeeper/formulahousekeeper/management-crm/src/main/resources/mapper/ContactsLogMapper.xml
  16. 3 2
      fhKeeper/formulahousekeeper/management-crm/src/main/resources/mapper/ContactsMapper.xml
  17. 102 36
      fhKeeper/formulahousekeeper/management-crm/src/main/resources/mapper/TaskMapper.xml

+ 53 - 1
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/ContactsController.java

@@ -14,6 +14,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import java.util.List;
 
 /**
  * <p>
@@ -33,20 +34,71 @@ public class ContactsController {
     @Autowired
     private ContactsService contactsService;
 
+    /**
+     * 添加联系人
+     * @param contacts
+     * @return
+     */
     @RequestMapping("/addContacts")
     public HttpRespMsg addContacts(@RequestBody Contacts contacts){
         return contactsService.addContacts(contacts, request);
     }
 
+    /**
+     * 分页查询联系人
+     * @param pageIndex
+     * @param pageSize
+     * @param customName
+     * @param name
+     * @param phone
+     * @param ownerName
+     * @return
+     */
     @RequestMapping("/pageContacts")
     public HttpRespMsg pageContacts(@RequestParam Integer pageIndex, @RequestParam Integer pageSize,String customName, String name, String phone, String ownerName){
         return contactsService.pageContacts(pageIndex,pageSize,customName,name,phone,ownerName,request);
     }
 
+    /**
+     * 客户对应的联系人有哪些
+     * @param custom
+     * @return
+     */
     @RequestMapping("selectContactsByCustomId")
-    public HttpRespMsg selectContactsByCustomId(@RequestBody Custom custom,HttpServletRequest request){
+    public HttpRespMsg selectContactsByCustomId(@RequestBody Custom custom){
         return contactsService.selectContactsByCustomId(custom,request);
     }
 
+    /**
+     * 修改联系人信息
+     * @param contacts
+     * @return
+     */
+    @RequestMapping("updateContacts")
+    public HttpRespMsg updateContacts(@RequestBody Contacts contacts){
+        return contactsService.updateContacts(contacts,request);
+    }
+
+    /**
+     * 放入回收站
+     * @param ids
+     * @return
+     */
+    @RequestMapping("deleteContacts")
+    public HttpRespMsg deleteContacts(@RequestBody List<Integer> ids){
+        return contactsService.deleteContacts(ids,request);
+    }
+
+    /**
+     * 获取回收站的联系人
+     * @param pageIndex
+     * @param pageSize
+     * @return
+     */
+    @RequestMapping("getDeletedContacts")
+    public HttpRespMsg getDeletedContacts(@RequestParam Integer pageIndex, @RequestParam Integer pageSize){
+        return contactsService.getDeletedContacts(pageIndex,pageSize,request);
+    }
+
 }
 

+ 21 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/ContactsLogController.java

@@ -0,0 +1,21 @@
+package com.management.platform.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author Seyason
+ * @since 2024-03-11
+ */
+@RestController
+@RequestMapping("/contacts-log")
+public class ContactsLogController {
+
+}
+

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

@@ -62,9 +62,9 @@ public class TaskController {
         return taskService.pageTask(taskDto,request);
     }
 
-    @RequestMapping("test")
-    public HttpRespMsg test(@RequestBody TaskDto taskDto){
-        return taskService.test(taskDto,request);
+    @RequestMapping("updateTask")
+    public HttpRespMsg updateTask(@RequestBody TaskDto taskDto){
+        return taskService.updateTask(taskDto ,request);
     }
 
 }

+ 67 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/entity/ContactsLog.java

@@ -0,0 +1,67 @@
+package com.management.platform.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author Seyason
+ * @since 2024-03-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class ContactsLog extends Model<ContactsLog> {
+
+    private static final long serialVersionUID=1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 联系人的id
+     */
+    @TableField("contacts_id")
+    private Integer contactsId;
+
+    /**
+     * 操作时间
+     */
+    @TableField("operate_date")
+    private LocalDateTime operateDate;
+
+    /**
+     * 操作者id
+     */
+    @TableField("operate_id")
+    private String operateId;
+
+    /**
+     * 操作信息
+     */
+    @TableField("msg")
+    private String msg;
+
+    /**
+     * 公司id
+     */
+    @TableField("company_id")
+    private Integer companyId;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 9 - 3
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/entity/Task.java

@@ -16,7 +16,7 @@ import lombok.experimental.Accessors;
  * </p>
  *
  * @author Seyason
- * @since 2024-03-08
+ * @since 2024-03-11
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
@@ -125,17 +125,23 @@ public class Task extends Model<Task> {
     private Integer repeatEndCount;
 
     /**
-     * 重复结束 在  ? 日期YYYY-MM-DD之后;保存为 x1,x2,x3,x4
+     * 重复结束 在  ? 日期YYYY-MM-DD之后
      */
     @TableField("repeat_end_date")
     private LocalDate repeatEndDate;
 
     /**
-     * 自定义周期: 每 ? 天一次
+     * 自定义周期: 每 ? 天一次,保存为 x1,x2,x3,x4
      */
     @TableField("repeat_design_day")
     private String repeatDesignDay;
 
+    /**
+     * 自定义周期:每? 天
+     */
+    @TableField("repeat_design_sameday")
+    private Integer repeatDesignSameday;
+
     /**
      * 任务描述
      */

+ 2 - 1
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/entity/vo/TasKVo.java

@@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 
 import java.util.ArrayList;
+import java.util.List;
 
 @EqualsAndHashCode(callSuper = true)
 @Data
@@ -16,6 +17,6 @@ public class TasKVo extends Task {
     private Order order;
     private Clue clue;
     private Contacts contacts;
-    private ArrayList<TaskExecutor> taskExecutors;
+    private List<TaskExecutor> taskExecutors;
 
 }

+ 16 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/mapper/ContactsLogMapper.java

@@ -0,0 +1,16 @@
+package com.management.platform.mapper;
+
+import com.management.platform.entity.ContactsLog;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author Seyason
+ * @since 2024-03-11
+ */
+public interface ContactsLogMapper extends BaseMapper<ContactsLog> {
+
+}

+ 4 - 2
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/mapper/TaskMapper.java

@@ -57,7 +57,9 @@ public interface TaskMapper extends BaseMapper<Task> {
     @Update("update task set finish_date =null where id=#{id}")
     void updateFinishDate(Integer id);
 
-    Page<TasKVo> pageTask(TaskDto taskDto);
+    List<TasKVo> getPageListTask(TaskDto taskDto);
 
-    Page<TasKVo> test(TaskDto taskDto);
+    List<TasKVo> getPageListTotalTask(TaskDto taskDto);
+
+    void updateRepeatConfig(Task task);
 }

+ 16 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/ContactsLogService.java

@@ -0,0 +1,16 @@
+package com.management.platform.service;
+
+import com.management.platform.entity.ContactsLog;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author Seyason
+ * @since 2024-03-11
+ */
+public interface ContactsLogService extends IService<ContactsLog> {
+
+}

+ 7 - 1
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/ContactsService.java

@@ -3,10 +3,10 @@ package com.management.platform.service;
 import com.management.platform.entity.Contacts;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.management.platform.entity.Custom;
-import com.management.platform.entity.vo.ContactsVo;
 import com.management.platform.util.HttpRespMsg;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.List;
 
 /**
  * <p>
@@ -23,4 +23,10 @@ public interface ContactsService extends IService<Contacts> {
     HttpRespMsg pageContacts(Integer pageIndex, Integer pageSize, String customName, String name, String phone, String ownerName, HttpServletRequest request);
 
     HttpRespMsg selectContactsByCustomId(Custom custom,HttpServletRequest request);
+
+    HttpRespMsg updateContacts(Contacts contacts, HttpServletRequest request);
+
+    HttpRespMsg deleteContacts(List<Integer> ids, HttpServletRequest request);
+
+    HttpRespMsg getDeletedContacts(Integer pageIndex, Integer pageSize, HttpServletRequest request);
 }

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

@@ -26,5 +26,5 @@ public interface TaskService extends IService<Task> {
 
     HttpRespMsg pageTask(TaskDto taskDto, HttpServletRequest request);
 
-    HttpRespMsg test(TaskDto taskDto, HttpServletRequest request);
+    HttpRespMsg updateTask(TaskDto taskDto, HttpServletRequest request);
 }

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

@@ -0,0 +1,20 @@
+package com.management.platform.service.impl;
+
+import com.management.platform.entity.ContactsLog;
+import com.management.platform.mapper.ContactsLogMapper;
+import com.management.platform.service.ContactsLogService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author Seyason
+ * @since 2024-03-11
+ */
+@Service
+public class ContactsLogServiceImpl extends ServiceImpl<ContactsLogMapper, ContactsLog> implements ContactsLogService {
+
+}

+ 79 - 14
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/ContactsServiceImpl.java

@@ -1,26 +1,22 @@
 package com.management.platform.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.management.platform.entity.Contacts;
-import com.management.platform.entity.Custom;
-import com.management.platform.entity.User;
+import com.management.platform.entity.*;
 import com.management.platform.entity.vo.ContactsVo;
+import com.management.platform.mapper.ContactsLogMapper;
 import com.management.platform.mapper.ContactsMapper;
 import com.management.platform.mapper.UserMapper;
 import com.management.platform.service.ContactsService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.management.platform.util.HttpRespMsg;
-import org.apache.ibatis.annotations.Mapper;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.RequestBody;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.time.LocalDateTime;
-import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -38,6 +34,8 @@ public class ContactsServiceImpl extends ServiceImpl<ContactsMapper, Contacts> i
     @Resource
     private ContactsMapper contactsMapper;
     @Resource
+    private ContactsLogMapper contactsLogMapper;
+    @Resource
     private UserMapper userMapper;
 
 
@@ -61,10 +59,16 @@ public class ContactsServiceImpl extends ServiceImpl<ContactsMapper, Contacts> i
 //                .setOwnerId(user.getId())//添加时默认
                 .setIsDelete(0)
                 .setCreateTime(LocalDateTime.now());
-        int insert = contactsMapper.insert(contacts);
-        if (insert<=0){
-            httpRespMsg.setError("添加失败!");
-        }
+        contactsMapper.insert(contacts);
+
+        ContactsLog contactsLog = new ContactsLog();
+        contactsLog.setContactsId(contacts.getId())
+                .setOperateId(user.getId())
+                .setMsg("创建联系人")
+                .setOperateDate(LocalDateTime.now())
+                .setCompanyId(companyId);
+        contactsLogMapper.insert(contactsLog);
+
         return httpRespMsg;
     }
 
@@ -78,11 +82,18 @@ public class ContactsServiceImpl extends ServiceImpl<ContactsMapper, Contacts> i
         String token = String.valueOf(request.getHeader("Token"));
         User user = userMapper.selectById(token);
         map.put("companyId",user.getCompanyId());
+        map.put("isDelete",0);
         Page<ContactsVo> pageContacts = contactsMapper.pageContacts(new Page(pageIndex, pageSize), map);
-        List<ContactsVo> contactsVoList = pageContacts.getRecords();
+
+        List<ContactsVo> records = pageContacts.getRecords();
+        long total = pageContacts.getTotal();
+
+        HashMap<String, Object> hashMap = new HashMap<>();
+        hashMap.put("records",records);
+        hashMap.put("total",total);
 
         HttpRespMsg msg = new HttpRespMsg();
-        msg.setData(contactsVoList);
+        msg.setData(hashMap);
         return msg;
     }
 
@@ -92,11 +103,65 @@ public class ContactsServiceImpl extends ServiceImpl<ContactsMapper, Contacts> i
         String token = String.valueOf(request.getHeader("Token"));
         User user = userMapper.selectById(token);
         LambdaQueryWrapper<Contacts> contactsLambdaQueryWrapper = new LambdaQueryWrapper<>();
-        contactsLambdaQueryWrapper.eq(Contacts::getCustomId,custom.getId()).eq(Contacts::getCompanyId,user.getCompanyId());
+        contactsLambdaQueryWrapper.eq(Contacts::getCustomId,custom.getId()).eq(Contacts::getCompanyId,user.getCompanyId()).eq(Contacts::getIsDelete,0);
         List<Contacts> contactsList = contactsMapper.selectList(contactsLambdaQueryWrapper);
         msg.setData(contactsList);
         return msg;
     }
 
+    @Override
+    public HttpRespMsg updateContacts(Contacts contacts, HttpServletRequest request) {
+        HttpRespMsg msg = new HttpRespMsg();
+        String token = String.valueOf(request.getHeader("Token"));
+        User user = userMapper.selectById(token);
+        Integer companyId = user.getCompanyId();
+        if (contacts==null||contacts.getId()==null){
+            msg.setError("关键信息为空");
+        }
+        contactsMapper.updateById(contacts);
+
+        ContactsLog contactsLog = new ContactsLog();
+        contactsLog.setContactsId(contacts.getId())
+                .setOperateId(user.getId())
+                .setMsg("修改联系人")
+                .setOperateDate(LocalDateTime.now())
+                .setCompanyId(companyId);
+        contactsLogMapper.insert(contactsLog);
+
+        return msg;
+    }
+
+    @Override
+    public HttpRespMsg deleteContacts(List<Integer> ids, HttpServletRequest request) {
+        HttpRespMsg msg = new HttpRespMsg();
+        UpdateWrapper<Contacts> contactsUpdateWrapper = new UpdateWrapper<>();
+        contactsUpdateWrapper.in("id", ids);
+        contactsUpdateWrapper.set("is_delete",1);
+        contactsMapper.update(null,contactsUpdateWrapper);
+        return msg;
+    }
+
+    @Override
+    public HttpRespMsg getDeletedContacts(Integer pageIndex, Integer pageSize, HttpServletRequest request) {
+
+        Map<String, Object> map = new HashMap<>();
+        String token = String.valueOf(request.getHeader("Token"));
+        User user = userMapper.selectById(token);
+        map.put("companyId",user.getCompanyId());
+        map.put("isDelete",1);
+        Page<ContactsVo> pageContacts = contactsMapper.pageContacts(new Page(pageIndex, pageSize), map);
+
+        List<ContactsVo> records = pageContacts.getRecords();
+        long total = pageContacts.getTotal();
+
+        HashMap<String, Object> hashMap = new HashMap<>();
+        hashMap.put("records",records);
+        hashMap.put("total",total);
+
+        HttpRespMsg msg = new HttpRespMsg();
+        msg.setData(hashMap);
+        return msg;
+    }
+
 
 }

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

@@ -2,8 +2,11 @@ package com.management.platform.service.impl;
 
 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.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.additional.update.impl.LambdaUpdateChainWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.util.StringUtil;
 import com.management.platform.entity.*;
@@ -134,21 +137,85 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
         String token = String.valueOf(request.getHeader("Token"));
         User user = userMapper.selectById(token);
         taskDto.setCompanyId(user.getCompanyId());
-        Page<TasKVo> pageTaskVo =taskMapper.pageTask(taskDto);
-        List<TasKVo> tasKVoList = pageTaskVo.getRecords();
+        List<TasKVo> taskVoList =taskMapper.getPageListTask(taskDto);
+        if (!taskVoList.isEmpty()){
+            taskVoList.forEach(tasKVo -> {
+                if (!tasKVo.getTaskExecutors().isEmpty()){
+                    Integer taskId = tasKVo.getId();
+                    LambdaQueryWrapper<TaskExecutor> lqw = new LambdaQueryWrapper<>();
+                    lqw.eq(TaskExecutor::getTaskId,taskId);
+                    List<TaskExecutor> taskExecutors = taskExecutorMapper.selectList(lqw);
+                    tasKVo.setTaskExecutors(taskExecutors);
+                }
+            });
+        }
+        List<TasKVo> taskVoTotalList= taskMapper.getPageListTotalTask(taskDto);
         HttpRespMsg msg = new HttpRespMsg();
-        msg.setData(tasKVoList);
+        HashMap<String, Object> map = new HashMap<>();
+        map.put("record",taskVoList);
+        map.put("total",taskVoTotalList.size());
+        msg.setData(map);
         return msg;
     }
 
     @Override
-    public HttpRespMsg test(TaskDto taskDto, HttpServletRequest request) {
+    @Transactional
+    public HttpRespMsg updateTask(TaskDto taskDto, HttpServletRequest request) {
+        HttpRespMsg msg=new HttpRespMsg();
         String token = String.valueOf(request.getHeader("Token"));
         User user = userMapper.selectById(token);
+        if (user==null){
+            msg.setError("无法获取创建人信息!");
+            return msg;
+        }
         taskDto.setCompanyId(user.getCompanyId());
-        Page<TasKVo> tasKVoPage= taskMapper.test(taskDto);
-        HttpRespMsg msg = new HttpRespMsg();
-        msg.setData(tasKVoPage.getRecords());
+        if (taskDto.getId()==null){
+           msg.setError("无任务的关键信息");
+           return msg;
+        }
+        if (StringUtils.isEmpty(taskDto.getTaskName())||taskDto.getPriority()==null){
+            msg.setError("缺少任务名称或任务优先级!");
+            return msg;
+        }
+        Task task = taskMapper.selectById(taskDto.getId());
+        updateTaskRepeatConfigure(task);//将任务中之前的关于重复日期相关的置空
+        taskMapper.updateRepeatConfig(task);
+        BeanUtils.copyProperties(taskDto,task);
+        taskMapper.updateById(task);
+
+        //删除之前的执行人
+        LambdaQueryWrapper<TaskExecutor> lwq = new LambdaQueryWrapper<>();
+        lwq.eq(TaskExecutor::getTaskId,taskDto.getId());
+        taskExecutorMapper.delete(lwq);
+
+        if (StringUtils.isNotEmpty(taskDto.getExecutorId())){
+            String[] executorIds = taskDto.getExecutorId().split(",");
+            for (String executorId : executorIds) {
+                TaskExecutor taskExecutor = new TaskExecutor();
+                User selectedUser = userMapper.selectById(executorId);
+                taskExecutor.setExecutorId(executorId)
+                        .setTaskId(task.getId())
+                        .setExecutorName(selectedUser.getName());
+                taskExecutorMapper.insert(taskExecutor);
+            }
+        }
+
+        //添加任务编译记录
+        TaskLog taskLog = new TaskLog();
+        taskLog.setTaskId(task.getId());
+        taskLog.setContent("修改了任务");
+        taskLog.setUserId(user.getId());
+        taskLog.setUserName(user.getName());
+        taskLog.setModTime(LocalDateTime.now());
+        taskLogMapper.insert(taskLog);
+
         return msg;
     }
+
+    public void updateTaskRepeatConfigure(Task task){
+        task.setRepeatType(null).setRepeatEndNever(null).setRepeatEndCount(null)
+                .setRepeatEndDate(null).setRepeatDesignDay(null).setRepeatDesignSameday(null);
+    }
+
+
 }

+ 20 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/resources/mapper/ContactsLogMapper.xml

@@ -0,0 +1,20 @@
+<?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.management.platform.mapper.ContactsLogMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.management.platform.entity.ContactsLog">
+        <id column="id" property="id" />
+        <result column="contacts_id" property="contactsId" />
+        <result column="operate_date" property="operateDate" />
+        <result column="operate_id" property="operateId" />
+        <result column="msg" property="msg" />
+        <result column="company_id" property="companyId" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, contacts_id, operate_date, operate_id, msg, company_id
+    </sql>
+
+</mapper>

+ 3 - 2
fhKeeper/formulahousekeeper/management-crm/src/main/resources/mapper/ContactsMapper.xml

@@ -30,8 +30,9 @@
         LEFT JOIN custom cust ON c.custom_id = cust.id
         LEFT JOIN user own ON c.owner_id = own.id
         <where>
-            1=1 and c.is_delete=0
-
+            <if test="map.isDelete != null ">
+                AND c.is_delete =#{map.isDelete}
+            </if>
             <if test="map.customName != null and map.customName != ''">
                 AND cust.custom_name LIKE CONCAT('%', #{map.customName}, '%')
             </if>

+ 102 - 36
fhKeeper/formulahousekeeper/management-crm/src/main/resources/mapper/TaskMapper.xml

@@ -23,6 +23,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" />
@@ -39,11 +40,41 @@
 
     <!-- 通用查询结果列 -->
     <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, 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, plate1, plate2, plate3, plate4, plate5
     </sql>
 
     <resultMap id="TaskVoMap" type="com.management.platform.entity.vo.TasKVo">
         <id column="id" property="id" />
+        <result column="task_name" property="taskName" />
+        <result column="company_id" property="companyId" />
+        <result column="owner_id" property="ownerId" />
+        <result column="contacts_id" property="contactsId" />
+        <result column="executor_id" property="executorId" />
+        <result column="clue_id" property="clueId" />
+        <result column="custom_id" property="customId" />
+        <result column="business_opportunity_id" property="businessOpportunityId" />
+        <result column="order_id" property="orderId" />
+        <result column="product_id" property="productId" />
+        <result column="status" property="status" />
+        <result column="priority" property="priority" />
+        <result column="is_repeat" property="isRepeat" />
+        <result column="repeat_type" property="repeatType" />
+        <result column="repeat_end_never" property="repeatEndNever" />
+        <result column="repeat_end_count" property="repeatEndCount" />
+        <result column="repeat_end_date" property="repeatEndDate" />
+        <result column="repeat_design_day" property="repeatDesignDay" />
+        <result column="task_desc" property="taskDesc" />
+        <result column="creater_id" property="createrId" />
+        <result column="creater_name" property="createrName" />
+        <result column="create_date" property="createDate" />
+        <result column="end_date" property="endDate" />
+        <result column="start_date" property="startDate" />
+        <result column="finish_date" property="finishDate" />
+        <result column="plate1" property="plate1" />
+        <result column="plate2" property="plate2" />
+        <result column="plate3" property="plate3" />
+        <result column="plate4" property="plate4" />
+        <result column="plate5" property="plate5" />
         <association property="custom" javaType="com.management.platform.entity.Custom">
             <id column="custom_id" property="id"/>
             <result column="custom_name" property="customName"/>
@@ -63,6 +94,7 @@
         <association property="contacts" javaType="com.management.platform.entity.Contacts">
             <id column="contacts_id" property="id"/>
             <result column="contacts_name" property="name"/>
+            <result column="phone" property="phone"/>
         </association>
         <collection property="taskExecutors"  ofType="com.management.platform.entity.TaskExecutor">
             <id column="task_executor_id" property="taskExecutorId"/>
@@ -72,7 +104,7 @@
 
     </resultMap>
 
-    <select id="pageTask" resultMap="TaskVoMap">
+    <select id="getPageListTask" resultMap="TaskVoMap">
         select task.* ,
                custom.custom_name,
                business_opportunity.name businessName,
@@ -98,6 +130,9 @@
             <if test=" customName!= null and customName != ''">
                 AND custom.custom_name LIKE CONCAT('%', #{customName}, '%')
             </if>
+            <if test=" contactsName!= null and contactsName != ''">
+                AND contacts.name LIKE CONCAT('%', #{contactsName}, '%')
+            </if>
             <if test=" businessName!= null and businessName != ''">
                 AND business_opportunity.name LIKE CONCAT('%', #{businessName}, '%')
             </if>
@@ -131,41 +166,72 @@
 
     </select>
 
-   <resultMap id="testMap" type="com.management.platform.entity.vo.TasKVo">
-       <id column="id" property="id" />
-       <result column="task_name" property="taskName" />
-       <result column="company_id" property="companyId" />
-       <result column="owner_id" property="ownerId" />
-       <result column="contacts_id" property="contactsId" />
-       <result column="executor_id" property="executorId" />
-       <result column="clue_id" property="clueId" />
-       <result column="custom_id" property="customId" />
-       <result column="business_opportunity_id" property="businessOpportunityId" />
-       <result column="order_id" property="orderId" />
-       <result column="product_id" property="productId" />
-       <result column="status" property="status" />
-       <result column="priority" property="priority" />
-       <result column="is_repeat" property="isRepeat" />
-       <result column="repeat_type" property="repeatType" />
-       <result column="repeat_end_never" property="repeatEndNever" />
-       <result column="repeat_end_count" property="repeatEndCount" />
-       <result column="repeat_end_date" property="repeatEndDate" />
-       <result column="repeat_design_day" property="repeatDesignDay" />
-       <result column="task_desc" property="taskDesc" />
-       <result column="creater_id" property="createrId" />
-       <result column="creater_name" property="createrName" />
-       <result column="create_date" property="createDate" />
-       <result column="end_date" property="endDate" />
-       <result column="start_date" property="startDate" />
-       <result column="finish_date" property="finishDate" />
-       <collection property="taskExecutors" ofType="com.management.platform.entity.TaskExecutor">
-           <id column="task_executor_id" property="taskExecutorId"/>
-           <result column="executor_name" property="executorName"/>
-       </collection>
 
-   </resultMap>
-    <select id="test" resultMap="testMap">
-        select t.*,e.task_executor_id,e.executor_name from task t left join task_executor  e ON t.id = e.task_id limit #{pageIndex},#{pageSize}
+    <select id="getPageListTotalTask" resultMap="TaskVoMap">
+        select task.* ,
+        custom.custom_name,
+        business_opportunity.name businessName,
+        `order`.order_name ,
+        clue.clue_name,
+        contacts.name contacts_name ,contacts.phone,
+        task_executor.task_executor_id, task_executor.executor_id taskExecutor_executor_id,task_executor.executor_name
+        from task
+        left join  custom on task.custom_id=custom.id
+        left join  business_opportunity on task.business_opportunity_id=business_opportunity.id
+        left join  `order` on task.order_id=`order`.id
+        left join  clue on task.clue_id=clue.id
+        left join  contacts on task.contacts_id=contacts.id
+        left join  task_executor on task.id=task_executor.task_id
+        <where>
+            <if test=" taskName!= null and taskName != ''">
+                AND task.task_name LIKE CONCAT('%', #{taskName}, '%')
+            </if>
+            <if test=" priority!= null ">
+                AND task.priority =#{priority}
+            </if>
+            <if test=" customName!= null and customName != ''">
+                AND custom.custom_name LIKE CONCAT('%', #{customName}, '%')
+            </if>
+            <if test=" contactsName!= null and contactsName != ''">
+                AND contacts.name LIKE CONCAT('%', #{contactsName}, '%')
+            </if>
+            <if test=" businessName!= null and businessName != ''">
+                AND business_opportunity.name LIKE CONCAT('%', #{businessName}, '%')
+            </if>
+            <if test=" orderName!= null and orderName != ''">
+                AND `order`.order_name LIKE CONCAT('%', #{orderName}, '%')
+            </if>
+            <if test=" clueName!= null and clueName != ''">
+                AND clue.clue_name LIKE CONCAT('%', #{clueName}, '%')
+            </if>
+            <if test=" phone!= null and phone != ''">
+                AND contacts.phone LIKE CONCAT('%', #{phone}, '%')
+            </if>
+            <if test=" status!= null ">
+                AND task.status = #{status}
+            </if>
+            <if test=" executorName!= null and executorName != '' ">
+                AND task_executor.executor_name LIKE CONCAT('%', #{executorName}, '%')
+            </if>
+            <if test=" startDate!= null and startDate != '' ">
+                AND task.start_date &gt; #{startDate}
+            </if>
+            <if test=" endDate!= null and endDate != '' ">
+                AND task.end_date &lt; #{endDate}
+            </if>
+            <if test=" companyId!= null ">
+                AND task.company_id = #{companyId}
+            </if>
+        </where>
     </select>
 
+    <update id="updateRepeatConfig">
+        update task
+        <set>
+            repeat_type=#{repeatType},repeat_end_never=#{repeatEndNever},repeat_end_count=#{repeatEndCount},
+            repeat_end_date=#{repeatEndDate},repeat_design_day=#{repeatDesignDay},repeat_design_sameday=#{repeatDesignSameday}
+        </set>
+        where id=#{id}
+    </update>
+
 </mapper>