From d331f44d8d8aa68564bd3fa7f85046e945025ae8 Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Tue, 08 Mar 2022 19:48:13 +0800
Subject: [PATCH] 辖区人员查询
---
src/main/java/org/springblade/modules/taskqd/controller/TaskqdController.java | 210 +++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 190 insertions(+), 20 deletions(-)
diff --git a/src/main/java/org/springblade/modules/taskqd/controller/TaskqdController.java b/src/main/java/org/springblade/modules/taskqd/controller/TaskqdController.java
index b644d87..bbd8e59 100644
--- a/src/main/java/org/springblade/modules/taskqd/controller/TaskqdController.java
+++ b/src/main/java/org/springblade/modules/taskqd/controller/TaskqdController.java
@@ -36,11 +36,13 @@
import org.springblade.modules.taskqd.service.impl.TaskqdServiceImpl;
import org.springblade.modules.taskqd.vo.TaskqdVO;
import org.springblade.modules.taskqd.wrapper.TaskqdWrapper;
+import org.springblade.modules.webscoket.service.IPushMsgService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
-import java.util.List;
+import java.util.*;
/**
* 控制器
@@ -55,6 +57,9 @@
public class TaskqdController extends BladeController {
private final TaskqdServiceImpl taskqdService;
+
+ @Autowired
+ private IPushMsgService pushMsgService;
/**
* 详情
@@ -120,6 +125,19 @@
return R.status(taskqdService.removeByIds(Func.toLongList(ids)));
}
+ /**
+ * 分页
+ */
+ @GetMapping("/queryReceiver")
+ @ApiOperation(value = "分页", notes = "传入task")
+ public R queryReceiver(Taskqd taskqd, Query query) {
+ String sreid = taskqd.getSerid();
+ if (sreid.charAt(sreid.length() - 1) == ',') { //s.length()-1获取字符串最后一位字符的索引,传入charAt方法获取索引对应的字符,判断是否为逗号
+ sreid = sreid.substring(0, sreid.length() - 1);
+ }
+ return R.data(taskqdService.queryReceiver(sreid));
+ }
+
/**
* 抢单
@@ -138,33 +156,56 @@
if (num == jnum - 1) {
int i = num + 1;
String serid = taskqd.getSerid();
- if (empty==true){
+ if (empty == true) {
//String serid2 = list.get(0).getSerid();
//String substring = serid2.substring(0, serid.length() - 1);
//String s = serid + substring;
- taskqdService.updatet(taskqd.getId(), i, serid);
+ System.out.println("用户id:" + serid);
+ taskqdService.updatet(taskqd.getId(), i, serid, null, null);
return R.success("抢单成功");
- }
- else {
+ } else {
String ser = taskqd.getSerid();
String ser2 = list.get(0).getSerid();
- String sub = ser2.substring(0, serid.length() - 1);
- String ss = ser + sub;
- taskqdService.updatet(taskqd.getId(), i, ss);
+ //String sub = ser.substring(0, serid.length() - 1);
+ String ss = ser2 + ser;
+
+ String team = taskqd.getCaptain();
+ boolean isteam = StringUtil.isEmpty(list.get(0).getTeam());
+ String team2 = list.get(0).getTeam();
+ String teamz = "";
+ if (isteam) {
+ teamz = team;
+ } else {
+ teamz = team2 + "," + team;
+ }
+
+ taskqdService.updatet(taskqd.getId(), i, ss, null, teamz);
return R.success("抢单成功");
}
} else {
int i = num + 1;
String serid = taskqd.getSerid();
- if (empty==true){
- taskqdService.updatet(taskqd.getId(), i, serid);
+ if (empty == true) {
+ String captain = taskqd.getCaptain();
+ taskqdService.updatet(taskqd.getId(), i, serid, captain, null);
return R.success("抢单成功");
- }
- else {
+ } else {
String serid1 = list.get(0).getSerid();
- String s = serid + serid1;
- taskqdService.updatet(taskqd.getId(), i, s);
+ String s = serid1 + serid;
+
+ String team = taskqd.getCaptain();
+ boolean isteam = StringUtil.isEmpty(list.get(0).getTeam());
+ String team2 = list.get(0).getTeam();
+ String teamz = "";
+ if (isteam) {
+ teamz = team;
+ } else {
+ teamz = team2 + "," + team;
+ }
+
+
+ taskqdService.updatet(taskqd.getId(), i, s, null, teamz);
return R.success("抢单成功");
}
}
@@ -175,22 +216,151 @@
/**
* 查询任务
+ *
* @param type
* @param serid
* @return
*/
@PostMapping("/selectLi")
- public R selectLi(String type,String serid) {
- List<TaskqdVO> list = taskqdService.selectLi(type, serid);
- for (int i=0;i<list.size();i++){
+ public R selectLi(String type, String serid, String jurisdiction, String workjurisdiction, String tasktype) {
+ List<TaskqdVO> list = taskqdService.selectLi(type, serid, jurisdiction, workjurisdiction, tasktype);
+ for (int i = 0; i < list.size(); i++) {
Integer nums = list.get(i).getNums();
- if (nums==0){
- list.get(i).setType("0");
+
+ boolean isteam = StringUtil.isEmpty(list.get(i).getSerid());
+ if (isteam) {
+ list.get(i).setIscation("0");
+ } else {
+ if (list.get(i).getSerid().split(",")[0].equals(serid)) {
+ list.get(i).setIscation("1");
+ } else {
+ list.get(i).setIscation("0");
+ }
}
- else {
+
+ if (nums == 0) {
+ list.get(i).setType("0");
+ } else {
list.get(i).setType("1");
}
}
return R.data(list);
}
+
+ /**
+ * 查询可参与任务
+ *
+ * @param serid
+ * @param jurisdiction
+ * @return
+ */
+ @GetMapping("/selectNum")
+ public R selectNum(String serid, String jurisdiction, String workjurisdiction) {
+ List<Map<String, Object>> maps = taskqdService.selectNum(serid, jurisdiction, workjurisdiction);
+ //0:治安巡查
+ Map map = new HashMap();
+ int a = 0;
+ int b = 0;
+ int c = 0;
+ for (int i = 0; i < maps.size(); i++) {
+ String tasktype = maps.get(i).get("tasktype").toString();
+ if (tasktype.equals("0")) {
+ map.put("xcha", maps.get(i).get("num"));
+ a = 1;
+ } else if (tasktype.equals("1")) {
+ map.put("xchuan", maps.get(i).get("num"));
+ b = 1;
+ } else if (tasktype.equals("2")) {
+ map.put("px", maps.get(i).get("num"));
+ c = 1;
+ }
+ }
+ if (a == 0) {
+ map.put("xcha", 0);
+ }
+ if (b == 0) {
+ map.put("xchuan", 0);
+ }
+ if (c == 0) {
+ map.put("px", 0);
+ }
+ return R.data(map);
+ }
+
+ @GetMapping("/startTask")
+ public R<Map> startTask(String rid, String serid, String type, String data) {
+ //获取组员id并进行通知
+ Map<String, Object> map = new HashMap<>();
+
+ serid = taskqdService.querySerid(rid);
+
+ int msg = pushMsgService.startTask(serid, rid, type, data);
+ map.put("res", msg);
+ map.put("type", type);
+ map.put("data", data);
+ if (!type.equals("stop")) {
+ taskqdService.updateRtype("0", rid);
+ }
+ return R.data(map);
+ }
+
+ @GetMapping("/cancelTask")
+ public R cancelTask(String rid, String serid, String name) {
+ //任务查询
+ //String id = taskqdService.querySerid(rid);
+ List<Taskqd> list = taskqdService.selectList(Integer.valueOf(rid));
+
+ //获取参与者id
+ String id = list.get(0).getSerid();
+
+ String captain[] = id.split(",");
+ if (captain[0].equals(serid)) {
+ return R.status(taskqdService.removeByIds(Func.toLongList(rid)));
+ }
+
+ //获取参与者名称
+ String[] nameList = list.get(0).getTeam().split(",");
+ //创建新的参与者
+ String newteam = "";
+ //设置标识防止删除同名人员
+ boolean flage = true;
+ for (int i = 0; i < nameList.length; i++) {
+ if (flage) {
+ if (!name.equals(nameList[i])) {
+ newteam += nameList[i] + ",";
+ }else{
+ flage = false;
+ }
+ } else {
+ newteam += nameList[i] + ",";
+ }
+
+ }
+ //去除最后的逗号
+ if (newteam.length() != 0) {
+ newteam = newteam.substring(0, newteam.length() - 1);
+ }
+
+ //扣去人数
+ int newnum = list.get(0).getNum() - 1;
+
+ //成员id拼接逗号方便删除
+ String delid = "," + serid;
+ //将指定成员删除
+ String resid = id.replaceAll(delid, "");
+
+ return R.status(taskqdService.updateSerid(rid, resid, newteam, newnum));
+ }
+
+ @GetMapping("/taskCount")
+ public R cancelTask(String id,String type) {
+ List<Map<String,Object>> cout = taskqdService.taskCount(id,type);
+ List<TaskqdVO> list = taskqdService.getlist(id,type);
+ Map<String,Object> res = new HashMap<>();
+ res.put("ywc",cout.get(0).get("count"));
+ res.put("wwc",cout.get(1).get("count"));
+ res.put("data",list);
+ return R.data(res);
+ }
+
}
--
Gitblit v1.9.3