/**
*
*/
package com.mvc.controller;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.alibaba.fastjson.JSON;
import com.base.enums.RemoveType;
import com.base.enums.TaskStatus;
import com.mvc.entity.SubTask;
import com.mvc.entity.Task;
import com.mvc.service.AlarmService;
import com.mvc.service.SubTaskService;
import com.mvc.service.TaskService;
import net.sf.json.JSONObject;
/**
* 文书任务子任务
*
* @author zjn
* @date 2016年9月17日
*/
@Controller
@RequestMapping("/subTask")
public class SubTaskController {
@Autowired
SubTaskService subTaskService;
@Autowired
TaskService taskService;
@Autowired
AlarmService alarmService;
/**
* 根据任务ID获取子任务列表
*
* @param request
* @param session
* @return
*/
@RequestMapping(value = "/selectSubTask.do")
public @ResponseBody String getTasks(HttpServletRequest request, HttpSession session) {
JSONObject jsonObject = new JSONObject();
Integer taskId = Integer.valueOf(request.getParameter("taskId"));
Task task = taskService.findById(taskId);
if (task.getTask_state() == 0)
taskService.updateState(taskId, TaskStatus.dealing.value);
List<SubTask> list = subTaskService.findByTaskId(taskId);
jsonObject.put("list", list);
System.out.println("返回列表:" + jsonObject.toString());
return jsonObject.toString();
}
/**
* 根据子任务id修改状态,0改为1表示未完成改为已完成
*
* @param request
* @param session
* @return
*/
@RequestMapping(value = "/updateState.do")
public @ResponseBody String updateState(HttpServletRequest request, HttpSession session) {
JSONObject jsonObject = new JSONObject();
System.out.println("task:" + request.getParameter("task"));
jsonObject = JSONObject.fromObject(request.getParameter("task"));
JSONObject jsonObject1 = JSONObject.fromObject(jsonObject.getString("task1"));
JSONObject jsonObject2 = JSONObject.fromObject(jsonObject.getString("subTaskId"));
List<Integer> subTasks = new ArrayList<Integer>();
if (jsonObject1.getString("print").equals("true")) // 打印
subTasks.add(Integer.valueOf(jsonObject2.getString("print")));
if (jsonObject1.getString("sign").equals("true")) // 签字
subTasks.add(Integer.valueOf(jsonObject2.getString("sign")));
if (jsonObject1.getString("seal").equals("true")) // 盖章
subTasks.add(Integer.valueOf(jsonObject2.getString("seal")));
if (jsonObject1.getString("post").equals("true")) // 邮寄
subTasks.add(Integer.valueOf(jsonObject2.getString("post")));
if (jsonObject1.getString("file").equals("true")) // 归档
subTasks.add(Integer.valueOf(jsonObject2.getString("file")));
boolean result = false;
for (int j = 0; j < subTasks.size(); j++) {
result = subTaskService.updateState(subTasks.get(j));
}
Integer taskId = Integer.parseInt(jsonObject.getString("taskId"));
List<SubTask> list = subTaskService.findByTaskId(taskId);
boolean flag = true;
for (int i = 0; i < list.size(); i++) {
if (list.get(i).getSuta_state() == 0) {
flag = false;
break;
}
}
if (flag) {
taskService.updateState(taskId, TaskStatus.finish.value);
alarmService.updateByIdType(taskId, RemoveType.TaskAlarm.value);
}
return JSON.toJSONString(result);
}
}