package com.cabletech.business.sysmanager.action;
import java.util.HashMap;
import java.util.Map;
import javax.annotation.Resource;
import org.apache.commons.lang.StringUtils;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;
import com.cabletech.baseinfo.business.Service.BaseInfoDictionaryService;
import com.cabletech.business.sysmanager.model.RemindTimeConfigure;
import com.cabletech.business.sysmanager.service.RemindTimeConfigureService;
import com.cabletech.business.sysmanager.service.TaskSmsValidityService;
import com.cabletech.common.base.BaseAction;
import com.cabletech.common.base.SysConstant;
import com.cabletech.common.util.Page;
/**
* @author 周刚 短信提醒功能模块
*
*/
@Namespace("/sysmanager")
@Results({
@Result(name = "timeSetting", location = "/sysmanager/timeSetting_list.jsp"),
@Result(name = "add", location = "/sysmanager/timeSetAdd.jsp"),
@Result(name = "edit", location = "/sysmanager/timeSetEdit.jsp"),
@Result(name = "effectiveSetting", location = "/sysmanager/effectiveSetting_list.jsp") })
@Action("/warn")
public class WarnAction extends BaseAction<String, String> {
/**
* 处理工单提醒的action
*/
@Resource(name = "taskSmsValidityServiceImpl")
private TaskSmsValidityService taskSmsValidityServiceImpl;
@Resource(name = "remindTimeConfigureServiceImpl")
private RemindTimeConfigureService remindTimeConfigureServiceImpl;
private static final long serialVersionUID = 1L;
private RemindTimeConfigure remindTimeConfigure = new RemindTimeConfigure();
@Resource(name = "baseInfoDictionaryServiceImpl")
private BaseInfoDictionaryService baseInfoDictionaryServiceImpl;
/**
*
* @return
*/
public String timeSetting() {
return "timeSetting";
}
/**
* 短信提醒有效性设置
*
* @return
*/
public String effectiveSetting() {
return "effectiveSetting";
}
/**
* 页面获取数据
*/
public void esGetData() {
Map<String, Object> parameters = initCondition();
@SuppressWarnings("unchecked")
Page<Map<String, Object>> page = this.initPage();
page = taskSmsValidityServiceImpl.getQueryList(page, parameters);
convertObjToJson(page);
}
/**
* 页面获取数据
*/
public void timeGetData() {
Map<String, Object> parameters = initCondition();
@SuppressWarnings("unchecked")
Page<RemindTimeConfigure> page = this.initPage();
page = remindTimeConfigureServiceImpl.getQueryList(page, parameters);
convertObjToJson(page);
}
/**
* 开启
*/
public String startup() {
String id = super.getRequest().getParameter("id");
if (StringUtils.isNotBlank(id)) {
taskSmsValidityServiceImpl.startup(id);
super.addMessage("开启成功!",
"/sysmanager/warn!effectiveSetting.action",
SysConstant.SUCCESS);
}
return "effectiveSetting";
}
/**
* 关闭
*/
public String shutdown() {
String id = super.getRequest().getParameter("id");
if (StringUtils.isNotBlank(id)) {
taskSmsValidityServiceImpl.shutdown(id);//
super.addMessage("关闭成功!",
"/sysmanager/warn!effectiveSetting.action",
SysConstant.SUCCESS);
}
return "effectiveSetting";
}
/**
* 转向 编辑页面
*
* @return
*/
public String edit() {
String professionType = "";
String taskType = "";
String smsType = "";
String id = super.getRequest().getParameter("id");
if (StringUtils.isNotBlank(id)) {
remindTimeConfigure = remindTimeConfigureServiceImpl
.getEntityById(id);
}
if (StringUtils.isNotBlank(remindTimeConfigure.getProfessionType())) {
if (baseInfoDictionaryServiceImpl.getDicMap(
remindTimeConfigure.getProfessionType(), "businesstype") != null) {
professionType = (String) baseInfoDictionaryServiceImpl
.getDicMap("businesstype",
remindTimeConfigure.getProfessionType()).get(
"LABLE");
}
remindTimeConfigure.setProfessionTypeStr(professionType);
}
if (StringUtils.isNotBlank(remindTimeConfigure.getSmsType())) {
if (baseInfoDictionaryServiceImpl.getDicMap(
remindTimeConfigure.getSmsType(), "SMS_TYPE") != null) {
smsType = (String) baseInfoDictionaryServiceImpl.getDicMap(
"SMS_TYPE", remindTimeConfigure.getSmsType()).get(
"LABLE");
}
remindTimeConfigure.setSmsTypeStr(smsType);
}
if (StringUtils.isNotBlank(remindTimeConfigure.getWorkorderType())) {
if (baseInfoDictionaryServiceImpl.getDicMap(
remindTimeConfigure.getWorkorderType(), "TASK_TYPE") != null) {
taskType = (String) baseInfoDictionaryServiceImpl.getDicMap(
"TASK_TYPE", remindTimeConfigure.getWorkorderType())
.get("LABLE");
}
remindTimeConfigure.setWorkorderTypeStr(taskType);
}
this.getRequest().setAttribute("remindTimeConfigure",
remindTimeConfigure);
return "edit";
}
/**
* 转向 编辑页面
*
* @return
*/
public String add() {
return "add";
}
/**
* 删除
*
* @return
*/
public String delete() {
String id = super.getParameter("id");
if (StringUtils.isNotBlank(id)) {
remindTimeConfigureServiceImpl.deleteEntityByid(id);
}
super.addMessage("删除信息成功!", "/monthcost/monthcheckcost!list.action",
SysConstant.SUCCESS);
return "timeSetting";
}
/**
* 初始化
*
* @return
*/
private Map<String, Object> initCondition() {
Map<String, Object> map = new HashMap<String, Object>();
map.put("smsType", super.getParameter("smsType"));
map.put("taskType", super.getParameter("taskType"));
map.put("businessType", super.getParameter("businessType"));
return map;
}
/**
* 保存
*/
public String saveTimeSetting() {
String taskType = super.getParameter("taskType");
String smsType = super.getParameter("smsType");
String businessType = super.getParameter("businessType");
String timeoutNum = super.getParameter("timeoutNum");
String id = super.getParameter("id");
if (id != null) {
remindTimeConfigure.setId(id);
if (timeoutNum != null && !"".equals(timeoutNum)) {
remindTimeConfigure.setTimeoutNum(Integer.parseInt(timeoutNum));
}
remindTimeConfigureServiceImpl.saveEntity(remindTimeConfigure);
} else {
remindTimeConfigure.setProfessionType(businessType);
remindTimeConfigure.setSmsType(smsType);
if (timeoutNum != null && !"".equals(timeoutNum)) {
remindTimeConfigure.setTimeoutNum(Integer.parseInt(timeoutNum));
}
remindTimeConfigure.setWorkorderType(taskType);
int count = remindTimeConfigureServiceImpl.checkNum(taskType,
smsType, businessType);
if (count != 0) {
logger.info("已经存在了..");
return "timeSetting";
} else {
remindTimeConfigureServiceImpl.saveEntity(remindTimeConfigure);
}
}
return "timeSetting";
}
@Override
public String getModel() {
return null;
}
@Override
protected void prepareViewModel() throws Exception {
}
@Override
protected void prepareSaveModel() throws Exception {
}
}