字典管理后台

来源:互联网 发布:淘宝手机端添加视频 编辑:程序博客网 时间:2024/04/28 14:21

package com.csc.callcenter.web.sp.chargingmanage;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.csc.callcenter.bean.charge.Dicdata;
import com.csc.callcenter.bean.charge.Dicdatatype;
import com.csc.callcenter.web.systemmanage.data.DataForm;
import com.csc.common.dao.ssh.DaoUtil;
import com.csc.common.util.CommUtil;
import com.csc.common.util.ItemsBean;
import com.csc.common.web.BaseAction;

/**
 * MyEclipse Struts
 * Creation date: 12-04-2007
 *
 * XDoclet definition:
 * @struts.action path="/dicdata" name="dicdataForm" input="/form/dicdata.jsp" scope="request" validate="true"
 * @struts.action-forward name="list" path="/WEB-INF/views/customercenter/sp/chargingmanage/dicdataList.jsp" redirect="true"
 * @struts.action-forward name="success" path="/WEB-INF/views/customercenter/sp/chargingmanage/data.jsp" redirect="true"
 */
public class DicdataAction extends BaseAction{

 // --------------------------------------------------------- Instance Variables

 // --------------------------------------------------------- Methods

 /**
  * Method execute
  * @param mapping
  * @param form
  * @param request
  * @param response
  * @return ActionForward
  */
 public ActionForward execute(
  ActionMapping mapping,
  ActionForm form,
  HttpServletRequest request,
  HttpServletResponse response) {
  DicdataForm dicdataForm = (DicdataForm) form;
  String forward = "";
  String command = request.getParameter("command")
   == null ? "" : (String)request.getParameter("command");
  System.out.println("command:"+command);
  
  /*设置本类中需要的类别属性
   * 当页面需要用到
   */
  ItemsBean.bigClassName = "Dicdatatype";
  ItemsBean.bigKey = "dtypeid";
  ItemsBean.bigValue = "dtypename";
  ItemsBean.bigCondition = "";
  ItemsBean.bigConditionValue = "";
  ItemsBean.baseService = this.baseService;
  /* 执行增加操作 */
  if (command.equals("add"))
  {
   //转往新增页面
   forward = "success";
  }
  else
   if (command.equals("save"))      /* 执行保存操作 */
   {
    String name = dicdataForm.getDname();
    String types = dicdataForm.getType();
    String dtypeid =dicdataForm.getDtypeid();
    List list = (List)this.baseService.getRecordList("from Dicdata d where d.type="+types+" and d.dicdatatype.dtypeid="+dtypeid);
    boolean flag = this.baseService.checkExist(Dicdata.class,"dname",name);
    if (list.size()>0)
    {
             String errorInfo = "您输入的标志["+types+"]已存在,请重新输入!";
       request.setAttribute("errorInfo",errorInfo);
       forward = "success";
    }
    else
    if (flag)
    {
     String errorInfo = "您输入的字典名称["+name+"]已存在,请重新输入!";
     request.setAttribute("errorInfo",errorInfo);
     forward = "success";
    }
    else
    {
        Dicdata data = new Dicdata();
     Dicdatatype type = (Dicdatatype)this.baseService.findById(dicdataForm.getDtypeid(),Dicdatatype.class);
     data = (Dicdata)DaoUtil.copyForm2Object(data,form);
     data.setDicdatatype(type);
     this.baseService.save(data);
     getList(request);
     forward = "list";
    }  
   }
  else
   if (command.equals("edit"))      /* 执行编辑操作 */
   {
    String id = request.getParameter("id");
    Dicdata type = (Dicdata)this.baseService.findById(id,Dicdata.class);
    dicdataForm = (DicdataForm)DaoUtil.copyObject2Form(dicdataForm,type);
    dicdataForm.setDtypeid(String.valueOf(type.getDicdatatype().getDtypeid()));
    forward = "success";
   }
  else
   
   if (command.equals("update"))      /* 执行修改操作 */
   {
    String name =dicdataForm.getDname();
    Dicdata data = new Dicdata();
    Dicdata dataTemp = (Dicdata)this.baseService.findById(dicdataForm.getDid(),Dicdata.class);
    
    if (name != null && name.equals(dataTemp.getDname()))
    {
     data = (Dicdata)DaoUtil.copyForm2Object(data,dicdataForm);
     Dicdatatype type = (Dicdatatype)this.baseService
     .findById(dicdataForm.getDtypeid(),Dicdatatype.class);
     data.setDicdatatype(type);
     this.baseService.update(data);
     getList(request);
     
     forward = "list";
    }
    else
    {
     boolean flag = this.baseService.checkExist(Dicdata.class,"dname",name);
     if (flag)
     {
      String errorInfo = "您输入的参数名称["+name+"]已存在,请重新输入!";
      request.setAttribute("errorInfo",errorInfo);
      forward = "success";
     }
     else
     {
      data = (Dicdata)DaoUtil.copyForm2Object(data,dicdataForm);
      Dicdatatype type = (Dicdatatype)this.baseService
      .findById(dicdataForm.getDtypeid(),Dicdatatype.class);
      data.setDicdatatype(type);
      this.baseService.update(data);
      getList(request);
      forward = "list";
     }
    }
   }
   else
    if (command.equals("query"))      /* 执行查询操作 */
    {
     String id = CommUtil.NullToString(request.getParameter("id"));
     Dicdata data = (Dicdata)this.baseService.findById(id,Dicdata.class);
     DaoUtil.copyObject2Form(dicdataForm,data);
     dicdataForm.setDtypeid(String.valueOf(data.getDicdatatype().getDtypeid()));
     dicdataForm.setDtypename(data.getDicdatatype().getDtypename());
     request.setAttribute("query","true");
     forward = "success";
    }
  else
   if (command.equals("delete"))      /* 执行删除操作 */
   {
    //支持批量删除
    String id = request.getParameter("id");
    String ids[] = id.split(",");
    for (int i = 0; i < ids.length; i++)
    {
     String deleteId = ids[i];
     Dicdata data = (Dicdata)this.baseService.findById(deleteId,Dicdata.class);
     this.baseService.remove(data);
    }
    
    getList(request);
    forward = "list";
   }
   else      /* 获取列表 */
   {
    getList(request);
    forward = "list";
   }
  
  return mapping.findForward(forward);
 }
 
 /**
  * 获取带分页工具条的所有记录列表
  * @param HttpServletRequest request
  * @return void
  * */
 
 private void getList(HttpServletRequest request)
 {
  String select = request.getParameter("select")==null?"":request.getParameter("select");
  String totalHql = "select count(did) from Dicdata";
  String hql = " from Dicdata ";
  String url = "/security/dicdataAction.shtml";
  List list = (List)this.baseService.getRecordList("from Dicdatatype order by dtypeid desc");
  if(!select.equals(""))
  {
   hql+=" where dtypeid="+select+" ";
   totalHql+=" where dtypeid="+select+" ";
   request.setAttribute("select",select);
  }
  hql+=" order by did desc ";
  request.setAttribute("sysdatatypelist",list);
  this.baseService.getRecordList(request, totalHql, hql, url);
 }
}

原创粉丝点击