package cn.com.benyoyo.manage.core.sys.submittedmng;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;
import cn.com.benyoyo.manage.core.common.base.BaseAction;
import com.alibaba.fastjson.JSON;
/**
* 报送映射关系维护
* @author luolibing
*
*/
@Results({
@Result(name="SUCCESS",location="/web/sys/submittedmng/list.jsp"),
@Result(name="SHOWSUCCESS",location="/web/sys/submittedmng/mapping/showlist.jsp"),
@Result(name="UPDATESUCCESS",location="/web/sys/submittedmng/mapping/updatelist.jsp"),
@Result(name="DIMLIST",location="/web/sys/submittedmng/mapping/dimlist.jsp"),
@Result(name="JSON",type="json",params={"root", "model.isSuccess"}),
@Result(name="TREEJSON",type="json",params={"root", "model.treeList"}),
@Result(name="JSONDATAS",type="json",params={"root", "model.jsonCommonPage"})
})
public class SubmittedMngAction extends BaseAction {
/**
*
*/
private static final long serialVersionUID = 1L;
/**
* model
*/
private SubmittedMngModel model = new SubmittedMngModel();
/**
* 页签类型
*/
private String subtype = "";
/**
* 初始化
* @return
*/
public String init() {
return "SUCCESS";
}
/**
* 分页查询
* @return
*/
public String getPageJson() {
// 得到当前的页面参数
String pageNo = this.getReqParameter("pageNo");
String rowsPerPage = this.getReqParameter("rowsPerPage");
// 获取数据并封装,用于JSON输出
model.prePageJson(Integer.valueOf(pageNo), Integer.valueOf(rowsPerPage));
return "JSONDATAS";
}
/**
* 查看报送映射关系
* @return
*/
public String showInit() {
String companyId = this.getReqParameter("companyId");
model.showInit(companyId);
return "SHOWSUCCESS";
}
/**
* 报送映射关系分页
* @return
*/
public String getMappingJsonPage() {
// 得到当前的页面参数
String pageNo = this.getReqParameter("pageNo");
String rowsPerPage = this.getReqParameter("rowsPerPage");
String companyId = this.getReqParameter("companyId");
String subType = this.getReqParameter("subType");
//分页之后删除之前的SESSION
this.removeSession("SUBMITTEDMNG_STATUS" + getUserId());
// 获取数据并封装,用于JSON输出
model.prePageJson(Integer.valueOf(pageNo), Integer.valueOf(rowsPerPage),
companyId,subType);
return "JSONDATAS";
}
/**
* 修改报送映射关系
* @return
*/
public String updateInit() {
String companyId = this.getReqParameter("companyId");
model.showInit(companyId);
return "UPDATESUCCESS";
}
/**
* 报送映射关系分页
* @return
*/
public String getUpdateJsonPage() {
// 得到当前的页面参数
String pageNo = this.getReqParameter("pageNo");
String rowsPerPage = this.getReqParameter("rowsPerPage");
String companyId = this.getReqParameter("companyId");
String subType = this.getReqParameter("subType");
// 获取数据并封装,用于JSON输出
model.prePageJson(Integer.valueOf(pageNo), Integer.valueOf(rowsPerPage),
companyId,subType);
return "JSONDATAS";
}
/**
* 保存
* @return
*/
@SuppressWarnings("unchecked")
public String saveOrUpdate() {
String updated = this.getReqParameter("updated");
String subType = this.getReqParameter("subType").replaceAll("\"", "");
String companyId = this.getReqParameter("companyId").replaceAll("\"", "");
//////////////////////////JSON对象互转fastjson/////////////////////////
//把json字符串转换成对象
List listUpdated = JSON.parseArray(updated, Map.class);
model.saveOrUpdate(listUpdated, subType, companyId);
return "JSON";
}
/**
* 关联维度
* @return
*/
public String toChooseDim() {
return "DIMLIST";
}
/**
* 关联维度的数添加数据
*
* @return
*/
public void treeSearch(){
String pid = getRequest().getParameter("pid");
String courseCode = getRequest().getParameter("courseCode");
String pidchecked = getRequest().getParameter("pidchecked");
HttpServletResponse response = getResponse();
response.setContentType("application/json;charset=UTF-8");
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
try {
String str=model.findDataList(pid,courseCode,pidchecked);
response.getWriter().write(str);
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 保存维度关联
* @return
*/
public String saveOrUpdateDim() {
String allNodes = this.getReqParameter("allNodes");
String noUpdateNodes = this.getReqParameter("noUpdateNodes");
String companyId = this.getReqParameter("companyId").replaceAll("\"", "");
String subjectCode = this.getReqParameter("subjectCode").replaceAll("\"", "");
String subType = this.getReqParameter("subType");
List nodeList = JSON.parseArray(allNodes, Map.class);
List noUpdateNodesList = JSON.parseArray(noUpdateNodes, Map.class);
model.saveOrUpdateDim(nodeList, noUpdateNodesList, companyId,
subjectCode, subType);
this.getRequest().getSession().setAttribute("SUBMITTEDMNG_STATUS"
+ getUserId(), subType);
return "JSON";
}
/*****************get set***********************/
public SubmittedMngModel getModel() {
return model;
}
public String getSubtype() {
//直接从session中取出,然后在分页的时候删除掉
String type = this.getSession("SUBMITTEDMNG_STATUS" + getUserId());
//分页之后删除之前的SESSION
this.removeSession("SUBMITTEDMNG_STATUS" + getUserId());
return type;
}
}