📄 querylifecircleaction.java
字号:
package com.rainbow.mms.datadigger;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
import org.apache.log4j.Logger;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Restrictions;
import com.opensymphony.webwork.ServletActionContext;
import com.opensymphony.xwork.ActionContext;
import com.opensymphony.xwork.ActionSupport;
import com.rainbow.mms.common.MMSServiceCode;
import com.rainbow.mms.common.MmsGatewayInfo;
import com.rainbow.util.tools.HibernateUtil;
/**
* 获得产品的生命周期,输入参数:产品的业务编号、产品所在网关、产品所在省、产品所在地市
* 从表单里需要获得参数有:unformId,gateWayId,prov,city
* 统计结果将以List的形式放在Session中的resultList对象里
* @author Rainbow MMS Platform Group Leader -- TrWorks
*
*/
public class QueryLifeCircleAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private Logger log = Logger.getLogger(QueryLifeCircleAction.class);
/**
* 根据用户输入的参数,获得产品的生命周期
*/
public String execute() throws Exception {
// 取参数
String unformIdString = ServletActionContext.getRequest().getParameter("serviceList");
String gateWayIdString = ServletActionContext.getRequest().getParameter("gatewayList");
String beginTime = ServletActionContext.getRequest().getParameter("beginTime");
//String endTime = ServletActionContext.getRequest().getParameter("endTime");
String prov = ServletActionContext.getRequest().getParameter("provList");
if (prov == null || prov.equalsIgnoreCase("")){
prov = "全部";
}
else{
prov = new String(prov.getBytes("iso8859-1"), "GBK");
}
String city = ServletActionContext.getRequest().getParameter("cityList");
if (city == null || city.equalsIgnoreCase("")){
city = "全部";
}
else{
city = new String(city.getBytes("iso8859-1"), "GBK");
}
// 参数校验
if (unformIdString == null || gateWayIdString == null ||
unformIdString.equalsIgnoreCase("") ||
gateWayIdString.equalsIgnoreCase("")){
log.warn("QueryLifeCircleAction Input Params Error!");
return ERROR;
}
// 参数类型转换
int uniformId = Integer.parseInt(unformIdString);
int gateWayId = Integer.parseInt(gateWayIdString);
if (prov.equalsIgnoreCase("全部")){
prov = null;
}
if (city.equalsIgnoreCase("全部")){
city = null;
}
String result = ERROR;
List resultList = new LinkedList();
// 调用存储过程 MMS_PSysCacuProductLifeCircle 取结果
try {
Session sess = HibernateUtil.currentSession();
Transaction tx = sess.beginTransaction();
Connection con = sess.connection();
CallableStatement state = con.prepareCall("{call MMS_PSysStaticCacuProductLifeCircle (?, ?, ?, ?, ?)}");
state.setInt(1, uniformId);
state.setInt(2, gateWayId);
state.setString(3, beginTime);
state.setString(4, prov);
state.setString(5, city);
ResultSet set = state.executeQuery();
tx.commit();
if (set.next()){
ProductLifeCircle data = new ProductLifeCircle();
data.setUniformId(uniformId);
data.setGateWayId(gateWayId);
data.setLifeMonth(set.getFloat(1));
resultList.add(data);
}
set.close();
state.close();
MmsGatewayInfo gwinfo = (MmsGatewayInfo)sess.load(MmsGatewayInfo.class, new Integer(gateWayIdString));
MMSServiceCode codeinfo = (MMSServiceCode)sess.createCriteria(MMSServiceCode.class).add(
Restrictions.eq("uniformID", new Integer(unformIdString))).add(
Restrictions.eq("gateWayID", new Integer(gateWayIdString))).list().get(0);
ActionContext.getContext().getSession().put("resultList", resultList);
ServletActionContext.getRequest().setAttribute("unformId", unformIdString);
ServletActionContext.getRequest().setAttribute("unformName", codeinfo.getServiceName());
ServletActionContext.getRequest().setAttribute("gateWayId", gateWayIdString);
ServletActionContext.getRequest().setAttribute("gateWayName", gwinfo.getGatewayName());
ServletActionContext.getRequest().setAttribute("prov", prov == null ? "全部" : prov);
ServletActionContext.getRequest().setAttribute("city", city == null ? "全部" : city);
result = SUCCESS;
} catch (Exception e) {
e.printStackTrace();
log.error(e);
result = ERROR;
}
finally{
HibernateUtil.closeSession();
}
return result;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -