package com.ycsoft.web.action.core; import java.lang.reflect.Type; import java.util.List; import java.util.Map; import org.springframework.stereotype.Controller; import com.google.gson.reflect.TypeToken; import com.ycsoft.beans.task.TaskFillDevice; import com.ycsoft.beans.task.WTaskBaseInfo; import com.ycsoft.business.dto.core.cust.QueryTaskConditionDto; import com.ycsoft.business.service.ISnTaskService; import com.ycsoft.business.service.ITaskService; import com.ycsoft.business.service.impl.UserServiceSN; import com.ycsoft.commons.constants.SystemConstants; import com.ycsoft.commons.helper.JsonHelper; import com.ycsoft.web.commons.abstracts.BaseBusiAction; /** * * 工单控制器 * */ @Controller public class TaskAction extends BaseBusiAction{ private ITaskService taskService; private String [] task_ids; private String [] cust_ids; private WTaskBaseInfo task; private String[] materials; private String task_id; private String booksTime; private String taskCustName; private String tel; private String remark; private String cancelRemark; private QueryTaskConditionDto taskCond; private String bugCause; private ISnTaskService snTaskService; private UserServiceSN userServiceSN; private String deptId; private String bugType; private String resultType; private String deviceCode; private String deviceModel; private String custId; private String taskType; public String saveBugTask()throws Exception{ String bugCause = request.getParameter("bugCause"); taskService.saveBugTask(bugCause); return JSON_SUCCESS; } public String saveNewTask()throws Exception{ taskService.saveNewTask(); return JSON_SUCCESS; } /** * 查询工单打印信息 * @return * @throws Exception */ public String queryPrintContent()throws Exception{ String [] tasks = request.getParameterValues("tasks"); if(tasks == null || tasks.length == 0){ return JSON_RECORDS; } String[] task_types = new String[tasks.length]; task_ids = new String[tasks.length]; cust_ids = new String[tasks.length]; for (int i = 0 ; i < tasks.length; i++) { String [] tmp = tasks[i].split("#"); task_types[i] = tmp[0]; cust_ids[i] = tmp[1]; task_ids[i] = tmp[2]; } List<Map<String,Object>> records = taskService.queryPrintContent(task_types, cust_ids, task_ids); getRoot().setRecords(records); return JSON_RECORDS; } /** * 查询工单 * @return * @throws Exception */ public String queryTasks()throws Exception{ String isWaitTask = request.getParameter("isWaitTask"); //查询待办工单 if(SystemConstants.BOOLEAN_TRUE.equals(isWaitTask)){ getRoot().setPage(snTaskService.queryUnProcessTask(start,limit)); }else{ if(taskCond == null){ return JSON_PAGE; } taskCond.setStart(start); taskCond.setLimit(limit); getRoot().setPage(snTaskService.queryTask(taskCond.getTaskType(),taskCond.getAddrIds(),taskCond.getStartTime(),taskCond.getEndTime(),taskCond.getTaskId() ,taskCond.getTaskTeam(),taskCond.getStatus(),taskCond.getCustNo(),taskCond.getCustName(),taskCond.getAddr(),taskCond.getMobile(), taskCond.getZteStatus(),taskCond.getSyncStatus(),taskCond.getStart(),taskCond.getLimit())); } return JSON_PAGE; } public String queryTaskDetail() throws Exception{ getRoot().setOthers(snTaskService.queryTaskDetail(task_id)); return JSON_OTHER; } public String queryAllTaskDetail() throws Exception{ getRoot().setOthers(snTaskService.queryAllTaskDetail(task_id)); return JSON_OTHER; } public String queryTaskDevice() throws Exception{ getRoot().setRecords(snTaskService.queryTaskDevice(task_id)); return JSON_RECORDS; } public String queryTaskTeam() throws Exception{ getRoot().setRecords(snTaskService.queryTaskTeam()); return JSON_RECORDS; } public String getTaskType() throws Exception{ getRoot().setRecords(taskService.getTaskType()); return JSON_RECORDS; } public String cancelTask()throws Exception{ taskService.cancelTask(this.task_ids,cancelRemark); getRoot().setSuccess(true); return JSON_SUCCESS; } public String assignTask()throws Exception{ taskService.assignTask(this.task_ids); getRoot().setSuccess(true); return JSON_SUCCESS; } public String modifyTask() throws Exception{ taskService.modifyTask(task_id,booksTime,taskCustName,tel,remark,bugCause); return JSON_SUCCESS; } /** * 分配施工队 * @return * @throws Exception */ public String editTaskTeam() throws Exception{ String optrId = request.getParameter("optrId"); String finishRemark = request.getParameter("finishRemark"); snTaskService.editTaskTeam(task_id, deptId, optrId, bugType,finishRemark); return JSON_SUCCESS; } /** * 取消工单 * @return * @throws Exception */ public String cancelTaskSn()throws Exception{ if(SystemConstants.TASK_TYPE_INSTALL.equals(taskType)){ userServiceSN.cancelInstallTask(task_id); }else{ snTaskService.cancelTask(task_id); } getRoot().setSuccess(true); return JSON_SUCCESS; } public String withdrawTask()throws Exception{ snTaskService.withdrawTask(task_id); getRoot().setSuccess(true); return JSON_SUCCESS; } /** * 完工 * @return * @throws Exception */ public String endTask() throws Exception{ String finishRemark = request.getParameter("finishRemark"); String custSignNo = request.getParameter("custSignNo"); snTaskService.finishTask(task_id,resultType, bugType, custSignNo,finishRemark,true); return JSON_SUCCESS; } public String queryCanEndTask() throws Exception{ getRoot().setSimpleObj(snTaskService.queryCanEndTask(task_id,resultType)); return JSON_SIMPLEOBJ; } public String editCustSignNo() throws Exception { String custSignNo = request.getParameter("custSignNo"); snTaskService.editCustSignNo(task_id, custSignNo); return JSON_SUCCESS; } /** * 保存zte * @return * @throws Exception */ public String saveZte() throws Exception{ String zte_status = request.getParameter("zte_status"); String log_remark = request.getParameter("log_remark"); snTaskService.saveZte(task_id,zte_status,log_remark); return JSON_SUCCESS; } public String queryDeviceInfoByCodeAndModel() throws Exception { getRoot().setSimpleObj(snTaskService.queryDeviceInfoByCodeAndModel(deviceCode,deviceModel)); return JSON_SIMPLEOBJ; } public String fillTask() throws Exception{ String devices = request.getParameter("devices"); Type t = new TypeToken<List<TaskFillDevice>>(){}.getType(); List<TaskFillDevice> list = JsonHelper.gson.fromJson( devices , t); snTaskService.fillTask(task_id,list); return JSON_SUCCESS; } public String fillWriteOffTerminalTask() throws Exception{ String devices = request.getParameter("devices"); Type t = new TypeToken<List<TaskFillDevice>>(){}.getType(); List<TaskFillDevice> list = JsonHelper.gson.fromJson( devices , t); snTaskService.fillWriteOffTerminalTask(task_id, list); return JSON_SUCCESS; } public String queryTaskByCustId()throws Exception{ getRoot().setRecords(snTaskService.queryTaskByCustId(custId)); return JSON_RECORDS; } /** * @return the cust_ids */ public String[] getCust_ids() { return cust_ids; } /** * @param cust_ids the cust_ids to set */ public void setCust_ids(String[] cust_ids) { this.cust_ids = cust_ids; } /** * @return the task_ids */ public String[] getTask_ids() { return task_ids; } /** * @param task_ids the task_ids to set */ public void setTask_ids(String[] task_ids) { this.task_ids = task_ids; } /** * @return the taskService */ public ITaskService getTaskService() { return taskService; } /** * @param taskService the taskService to set */ public void setTaskService(ITaskService taskService) { this.taskService = taskService; } public WTaskBaseInfo getTask() { return task; } public void setTask(WTaskBaseInfo task) { this.task = task; } public String getCancelRemark() { return cancelRemark; } public void setCancelRemark(String cancelRemark) { this.cancelRemark = cancelRemark; } public QueryTaskConditionDto getTaskCond() { return taskCond; } public void setTaskCond(QueryTaskConditionDto taskCond) { this.taskCond = taskCond; } public String[] getMaterials() { return materials; } public void setMaterials(String[] materials) { this.materials = materials; } public String getTask_id() { return task_id; } public void setTask_id(String task_id) { this.task_id = task_id; } public String getBooksTime() { return booksTime; } public void setBooksTime(String booksTime) { this.booksTime = booksTime; } public String getTaskCustName() { return taskCustName; } public void setTaskCustName(String taskCustName) { this.taskCustName = taskCustName; } public String getTel() { return tel; } public void setTel(String tel) { this.tel = tel; } public String getRemark() { return remark; } public void setRemark(String remark) { this.remark = remark; } public String getBugCause() { return bugCause; } public void setBugCause(String bugCause) { this.bugCause = bugCause; } public ISnTaskService getSnTaskService() { return snTaskService; } public void setSnTaskService(ISnTaskService snTaskService) { this.snTaskService = snTaskService; } public UserServiceSN getUserServiceSN() { return userServiceSN; } public void setUserServiceSN(UserServiceSN userServiceSN) { this.userServiceSN = userServiceSN; } public String getDeptId() { return deptId; } public void setDeptId(String deptId) { this.deptId = deptId; } public String getBugType() { return bugType; } public void setBugType(String bugType) { this.bugType = bugType; } public String getResultType() { return resultType; } public void setResultType(String resultType) { this.resultType = resultType; } public String getDeviceCode() { return deviceCode; } public void setDeviceCode(String deviceCode) { this.deviceCode = deviceCode; } public String getDeviceModel() { return deviceModel; } public void setDeviceModel(String deviceModel) { this.deviceModel = deviceModel; } public String getCustId() { return custId; } public void setCustId(String custId) { this.custId = custId; } public void setTaskType(String taskType) { this.taskType = taskType; } }