|
@@ -8,10 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
import com.management.platform.entity.*;
|
|
import com.management.platform.entity.*;
|
|
-import com.management.platform.mapper.BusinessOpportunityMapper;
|
|
|
|
-import com.management.platform.mapper.ClueMapper;
|
|
|
|
-import com.management.platform.mapper.SysFormMapper;
|
|
|
|
-import com.management.platform.mapper.UserMapper;
|
|
|
|
|
|
+import com.management.platform.mapper.*;
|
|
import com.management.platform.service.*;
|
|
import com.management.platform.service.*;
|
|
import com.management.platform.service.impl.ExcelExportServiceImpl;
|
|
import com.management.platform.service.impl.ExcelExportServiceImpl;
|
|
import com.management.platform.util.HttpRespMsg;
|
|
import com.management.platform.util.HttpRespMsg;
|
|
@@ -63,6 +60,8 @@ public class BusinessOpportunityController {
|
|
private BusinessOpportunityMapper boMapper;
|
|
private BusinessOpportunityMapper boMapper;
|
|
@Resource
|
|
@Resource
|
|
private BusinessOpportunityMapper businessOpportunityMapper;
|
|
private BusinessOpportunityMapper businessOpportunityMapper;
|
|
|
|
+ @Resource
|
|
|
|
+ private ActionLogMapper actionLogMapper;
|
|
|
|
|
|
@RequestMapping("getAll")
|
|
@RequestMapping("getAll")
|
|
public Object getAll(HttpServletRequest request) {
|
|
public Object getAll(HttpServletRequest request) {
|
|
@@ -246,6 +245,14 @@ public class BusinessOpportunityController {
|
|
bo.setUserId(user.getId());
|
|
bo.setUserId(user.getId());
|
|
bo.setCreateTime(new Date());
|
|
bo.setCreateTime(new Date());
|
|
bo.setIsDelete(0);
|
|
bo.setIsDelete(0);
|
|
|
|
+ QueryWrapper<BusinessOpportunity> queryWrapper = new QueryWrapper<>();
|
|
|
|
+ queryWrapper.eq("stage_id", bo.getStageId()).eq("is_delete",0).orderByDesc("seq").last("limit 1");
|
|
|
|
+ List<BusinessOpportunity> list = bOservice.list(queryWrapper);
|
|
|
|
+ if (list != null && list.size() > 0) {
|
|
|
|
+ bo.setSeq(list.get(0).getSeq()+1);
|
|
|
|
+ }else {
|
|
|
|
+ bo.setSeq(1);
|
|
|
|
+ }
|
|
bOservice.insert(bo);
|
|
bOservice.insert(bo);
|
|
}else {
|
|
}else {
|
|
//修改
|
|
//修改
|
|
@@ -290,6 +297,78 @@ public class BusinessOpportunityController {
|
|
return msg;
|
|
return msg;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+ @RequestMapping("/changeOrder")
|
|
|
|
+ public HttpRespMsg changeOrder(HttpServletRequest request,Integer id, Integer oldIndex, Integer newIndex, Integer oldStagesId, Integer newStagesId) {
|
|
|
|
+
|
|
|
|
+ HttpRespMsg msg = new HttpRespMsg();
|
|
|
|
+ User user = userMapper.selectById(request.getHeader("Token"));
|
|
|
|
+ BusinessOpportunity curItem = new BusinessOpportunity();
|
|
|
|
+ curItem.setId(id);
|
|
|
|
+ if (!oldStagesId.equals(newStagesId)) {
|
|
|
|
+ //获取移动到的目标位置上一个数据的seq,计算当前任务的新seq
|
|
|
|
+ //跨stage移动,旧的stage上移除,切换stages后,旧的任务列表自动会重新排序,不需要再操作
|
|
|
|
+ curItem.setStageId(newStagesId);
|
|
|
|
+// curItem.setStageValue(sy.getById(newStagesId).getStagesName());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ QueryWrapper<BusinessOpportunity> queryWrapper = new QueryWrapper<BusinessOpportunity>();
|
|
|
|
+ int startSeq = 0;
|
|
|
|
+ if (newIndex > 0) {
|
|
|
|
+ int beforeItemIndex = 0;
|
|
|
|
+ if (oldStagesId.equals(newStagesId)) {
|
|
|
|
+ beforeItemIndex = newIndex > oldIndex?newIndex:newIndex-1;
|
|
|
|
+ } else {
|
|
|
|
+ //跨stages移动,相当于从下往上移动
|
|
|
|
+ beforeItemIndex = newIndex-1;
|
|
|
|
+ }
|
|
|
|
+ queryWrapper.eq("stage_id", newStagesId).eq("is_delete",0).orderByAsc("seq").last("limit " +beforeItemIndex+", 1");
|
|
|
|
+ List<BusinessOpportunity> list = bOservice.list(queryWrapper);
|
|
|
|
+ if (list.size() > 0) {
|
|
|
|
+ BusinessOpportunity beforeItem = list.get(0);
|
|
|
|
+ startSeq = beforeItem.getSeq() + 1;
|
|
|
|
+ } else {
|
|
|
|
+ startSeq = 1;
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ //移动到了第一个位置
|
|
|
|
+ startSeq = 1;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ curItem.setSeq(startSeq);
|
|
|
|
+ //在新位置下面的包括原来占据新位置的,全部调整,从startSeq开始递增
|
|
|
|
+ queryWrapper = new QueryWrapper<BusinessOpportunity>();
|
|
|
|
+ queryWrapper.eq("stage_id", newStagesId).eq("is_delete",0).ge("seq", startSeq).orderByAsc("seq");
|
|
|
|
+ List<BusinessOpportunity> list = bOservice.list(queryWrapper);
|
|
|
|
+ if (list.size() > 0) {
|
|
|
|
+ List<BusinessOpportunity> batchList = new ArrayList<>();
|
|
|
|
+ for (BusinessOpportunity t:list) {
|
|
|
|
+ BusinessOpportunity item = new BusinessOpportunity();
|
|
|
|
+ item.setId(t.getId());
|
|
|
|
+ startSeq++;
|
|
|
|
+ item.setSeq(startSeq);
|
|
|
|
+ batchList.add(item);
|
|
|
|
+ }
|
|
|
|
+ bOservice.updateBatchById(batchList);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (!newStagesId.equals(oldStagesId)){
|
|
|
|
+ curItem.setEditTime(new Date());
|
|
|
|
+ Stage stage = stageService.getOne(new QueryWrapper<Stage>().eq("id", newStagesId).eq("company_id", user.getCompanyId()));
|
|
|
|
+ ActionLog al = new ActionLog();
|
|
|
|
+ al.setCode("business");
|
|
|
|
+ al.setName("推进了阶段至" + stage.getName());
|
|
|
|
+ al.setCreatTime(new Date());
|
|
|
|
+ al.setUserId(user.getId());
|
|
|
|
+ al.setItemId(id);
|
|
|
|
+ actionLogMapper.insert(al);
|
|
|
|
+ }
|
|
|
|
+ bOservice.updateById(curItem);
|
|
|
|
+
|
|
|
|
+ return msg;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
@RequestMapping("list")
|
|
@RequestMapping("list")
|
|
public HttpRespMsg list(BusinessOpportunity bo, HttpServletRequest request) {
|
|
public HttpRespMsg list(BusinessOpportunity bo, HttpServletRequest request) {
|
|
HashMap<Object, Object> r = new HashMap<>();
|
|
HashMap<Object, Object> r = new HashMap<>();
|
|
@@ -322,27 +401,41 @@ public class BusinessOpportunityController {
|
|
}
|
|
}
|
|
|
|
|
|
@RequestMapping("getAllByStage")
|
|
@RequestMapping("getAllByStage")
|
|
- public Object getAllByStage(HttpServletRequest request) {
|
|
|
|
|
|
+ public Object getAllByStage(BusinessOpportunity bo,HttpServletRequest request) {
|
|
User user = userMapper.selectById(request.getHeader("Token"));
|
|
User user = userMapper.selectById(request.getHeader("Token"));
|
|
|
|
+ bo.setIsDelete(0);
|
|
|
|
+ bo.setCompanyId(user.getCompanyId());
|
|
|
|
+ bo.setUserId(user.getId());
|
|
|
|
+ bo.setEndTime(bo.getEndTime() + " 23:59:59");
|
|
|
|
+ bo.setPageFrom(null);
|
|
|
|
+ bo.setPageIndex(null);
|
|
List<BusinessOpportunity> list = new ArrayList<>();
|
|
List<BusinessOpportunity> list = new ArrayList<>();
|
|
boolean isAll = sysFunctionService.hasPriviledge(user.getRoleId(), "查看全部商机");
|
|
boolean isAll = sysFunctionService.hasPriviledge(user.getRoleId(), "查看全部商机");
|
|
boolean isNotAll = sysFunctionService.hasPriviledge(user.getRoleId(), "查看负责部门商机");
|
|
boolean isNotAll = sysFunctionService.hasPriviledge(user.getRoleId(), "查看负责部门商机");
|
|
if (isAll) {
|
|
if (isAll) {
|
|
- list = boMapper.getAllList(user.getCompanyId());
|
|
|
|
|
|
+ list = bOservice.getAll(bo);
|
|
} else if (isNotAll) {
|
|
} else if (isNotAll) {
|
|
- list = boMapper.getAllList1(user);
|
|
|
|
|
|
+ list = bOservice.getAll1(bo, user);
|
|
} else {
|
|
} else {
|
|
- list = boMapper.getAllList2(user);
|
|
|
|
|
|
+ list = bOservice.getAll2(bo, user);
|
|
}
|
|
}
|
|
|
|
+
|
|
HttpRespMsg msg = new HttpRespMsg();
|
|
HttpRespMsg msg = new HttpRespMsg();
|
|
- List<Stage> stageList = stageService.list(new QueryWrapper<Stage>().eq("company_id", user.getCompanyId()));
|
|
|
|
- HashMap<String, Object> map = new HashMap<>();
|
|
|
|
|
|
+ List<Stage> stageList = stageService.list(new QueryWrapper<Stage>().eq("company_id", user.getCompanyId()).orderByAsc("seq"));
|
|
|
|
+
|
|
|
|
+ List<HashMap<String, Object>> mapList = new ArrayList<>();
|
|
for (Stage stage : stageList) {
|
|
for (Stage stage : stageList) {
|
|
List<BusinessOpportunity> collect = list.stream().filter(l -> l.getStageId() != null && l.getStageId().equals(stage.getId())).collect(Collectors.toList());
|
|
List<BusinessOpportunity> collect = list.stream().filter(l -> l.getStageId() != null && l.getStageId().equals(stage.getId())).collect(Collectors.toList());
|
|
- HashMap<String, Object> hashMap = new HashMap<>();
|
|
|
|
- map.put(stage.getName(),collect);
|
|
|
|
|
|
+ collect=collect.stream().sorted(Comparator.comparing(BusinessOpportunity::getSeq)).collect(Collectors.toList());
|
|
|
|
+ HashMap<String, Object> map = new HashMap<>();
|
|
|
|
+ map.put("id", stage.getId());
|
|
|
|
+ map.put("label",stage.getName());
|
|
|
|
+ map.put("length",collect.size());
|
|
|
|
+ map.put("list",collect);
|
|
|
|
+ map.put("color",stage.getColor());
|
|
|
|
+ mapList.add(map);
|
|
}
|
|
}
|
|
- msg.setData(map);
|
|
|
|
|
|
+ msg.setData(mapList);
|
|
return msg;
|
|
return msg;
|
|
|
|
|
|
}
|
|
}
|