|
|
@@ -12,6 +12,7 @@ import com.mokamrp.privates.mapper.pojo.Downfile;
|
|
|
import com.mokamrp.privates.mapper.pojo.WorkContactEmployee;
|
|
|
import com.mokamrp.privates.mapper.WorkContactEmployeeMapper;
|
|
|
import com.mokamrp.privates.mapper.vo.WorkContactEmployeeVo;
|
|
|
+import com.mokamrp.privates.mapper.vo.WorkRoomVo;
|
|
|
import com.mokamrp.privates.service.WorkContactEmployeeService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.mokamrp.privates.utils.OssFile;
|
|
|
@@ -24,6 +25,7 @@ import org.springframework.stereotype.Service;
|
|
|
import java.io.ByteArrayInputStream;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* <p>
|
|
|
@@ -54,10 +56,8 @@ public class WorkContactEmployeeServiceImpl extends ServiceImpl<WorkContactEmplo
|
|
|
public Map<String, Object> getPageList(GetWorkContactEmployeeHandle handle) {
|
|
|
|
|
|
Page<WorkContactEmployeeVo> pageObj = new Page<>(handle.getPage(), handle.getPagesize());
|
|
|
- QueryWrapper<WorkContactEmployee> obj = getWrapper(handle);
|
|
|
-
|
|
|
-
|
|
|
- List<WorkContactEmployeeVo> list = mapperObj.getVoList(pageObj, obj);
|
|
|
+ QueryWrapper<WorkContactEmployeeVo> obj = getWrapper(handle);
|
|
|
+ List<WorkContactEmployeeVo> list = getCommonList(pageObj, obj);
|
|
|
|
|
|
Integer total = mapperObj.getVoListTotal(obj);
|
|
|
|
|
|
@@ -73,8 +73,10 @@ public class WorkContactEmployeeServiceImpl extends ServiceImpl<WorkContactEmplo
|
|
|
public void export(Downfile downFile, GetWorkContactEmployeeHandle handle) {
|
|
|
|
|
|
List<Object> tempObj;
|
|
|
- QueryWrapper<WorkContactEmployee> obj = getWrapper(handle);
|
|
|
- List<WorkContactEmployeeVo> list = mapperObj.getAllVoList(obj);
|
|
|
+ QueryWrapper<WorkContactEmployeeVo> obj = getWrapper(handle);
|
|
|
+ Integer total = mapperObj.getVoListTotal(obj);
|
|
|
+ Page<WorkContactEmployeeVo> pageObj = new Page<>(1, total);
|
|
|
+ List<WorkContactEmployeeVo> list = getCommonList(pageObj, obj);
|
|
|
|
|
|
//实现下载
|
|
|
List<List<Object>> resList = new ArrayList<List<Object>>();
|
|
|
@@ -120,9 +122,35 @@ public class WorkContactEmployeeServiceImpl extends ServiceImpl<WorkContactEmplo
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- private QueryWrapper<WorkContactEmployee> getWrapper(GetWorkContactEmployeeHandle handle) {
|
|
|
+ private List<WorkContactEmployeeVo> getCommonList(Page<WorkContactEmployeeVo> pageObj, QueryWrapper<WorkContactEmployeeVo> obj) {
|
|
|
+ List<WorkContactEmployeeVo> list = mapperObj.getVoList(pageObj, obj);
|
|
|
+
|
|
|
+ if (list.size() > 0) {
|
|
|
+ List<Integer> ids = list.stream().map(WorkContactEmployeeVo::getContactId).collect(Collectors.toList());
|
|
|
+ QueryWrapper<WorkContactEmployeeVo> tagObj = new QueryWrapper<WorkContactEmployeeVo>();
|
|
|
+ tagObj.in("a.contact_id", ids);
|
|
|
+ List<HashMap<String, Object>> tagMapData = mapperObj.getContactTagList(tagObj);
|
|
|
+ int j = list.size();
|
|
|
+
|
|
|
+ for (int i = 0; i < j; i++) {
|
|
|
+ list.get(i).setTagNames("");
|
|
|
+ list.get(i).setTagIds("");
|
|
|
+ for (Map<String, Object> tag : tagMapData) {
|
|
|
+ if (tag.get("employee_id").toString().equals(list.get(i).getEmployeeId().toString())
|
|
|
+ && tag.get("contact_id").toString().equals(list.get(i).getContactId().toString()) ) {
|
|
|
+ list.get(i).setTagNames(tag.get("tag_names").toString());
|
|
|
+ list.get(i).setTagIds(tag.get("tag_ids").toString());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
+ private QueryWrapper<WorkContactEmployeeVo> getWrapper(GetWorkContactEmployeeHandle handle) {
|
|
|
|
|
|
- QueryWrapper<WorkContactEmployee> obj = new QueryWrapper<WorkContactEmployee>();
|
|
|
+ QueryWrapper<WorkContactEmployeeVo> obj = new QueryWrapper<WorkContactEmployeeVo>();
|
|
|
|
|
|
Integer gender = handle.getGender();
|
|
|
Integer status = handle.getStatus();
|
|
|
@@ -173,10 +201,18 @@ public class WorkContactEmployeeServiceImpl extends ServiceImpl<WorkContactEmplo
|
|
|
obj.eq("a.corp_id", corpId);
|
|
|
}
|
|
|
|
|
|
- if (employeeId != null && employeeId.size() >=1) {
|
|
|
+ if (employeeId != null && employeeId.size() >= 1) {
|
|
|
obj.in("a.employee_id", employeeId);
|
|
|
}
|
|
|
|
|
|
+ if (tagId != null && tagId.size() >= 1) {
|
|
|
+ obj.in("k.contact_tag_id", tagId);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (group_id != null) {
|
|
|
+ obj.eq("g.group_id", group_id);
|
|
|
+ }
|
|
|
+
|
|
|
obj.in("a.corp_id", authCorpIds);
|
|
|
|
|
|
return obj;
|