package xin.glue.ui.Z; import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.text.SimpleDateFormat; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import xin.glue.ui.common.PosDBEngine; import com.posdata.glue.biz.constants.PosBizControlConstants; import com.posdata.glue.context.PosContext; import com.posdata.glue.dao.vo.PosRow; import com.posdata.glue.dao.vo.PosRowSet; public class PosUserLogin extends PosDBEngine { public String runActivity(PosContext ctx) { String resultkey = getProperty("resultkey"); if (resultkey == null) resultkey = "ListResult_0"; Initialize(false); setParamMap(ctx, "sqlkey0", "param0"); setParamMap(ctx, "sqlkey1", "param1"); PosRowSet rowSet = (PosRowSet)Execute(ctx, "sqlkey0", "param0"); if (rowSet != null && rowSet.hasNext()) { PosRow row = rowSet.next(); logger.logInfo(row.getAttributes()); ctx.put("DEPT_CD", row.getAttribute("DEPT_CD")); PosRowSet rowSet1 = (PosRowSet)Execute(ctx, "sqlkey1", "param1"); if (rowSet1 != null && rowSet1.hasNext()) { return PosBizControlConstants.SUCCESS; } HttpServletResponse response = (HttpServletResponse)ctx.findRequestAttr("HttpServletResponse"); HttpServletRequest request = (HttpServletRequest)ctx.findRequestAttr("HttpServletRequest"); Cookie cookie = new Cookie("REG_ADDERSS", request.getRemoteAddr() + '|' + ((String[])ctx.get("REMOTE_ADDRESS"))[0].replace(';', ',')); cookie.setMaxAge(-1); response.addCookie(cookie); cookie = new Cookie("REG_DATE", (new SimpleDateFormat("yyyyMMddkkmmss")).format(new Date())); cookie.setMaxAge(-1); response.addCookie(cookie); cookie = new Cookie("REG_ID", (String)row.getAttribute("REG_ID")); cookie.setMaxAge(-1); response.addCookie(cookie); Map rowMap = new HashMap(); for (Iterator itr = row.getAttributes().entrySet().iterator(); itr.hasNext();) { Map.Entry entry = (Map.Entry)itr.next(); rowMap.put(entry.getKey(), entry.getValue()); } if ("Y".equals(rowMap.get("ROOT_AMN_YN"))) rowMap.put("DEPT_CD", "00000000"); ctx.put(resultkey, rowMap); } return PosBizControlConstants.SUCCESS; } }