⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gongwenaction.java

📁 本程序使用struts+hibernate实现的oa办公系统
💻 JAVA
字号:
package com.km.gongwen.data;

import org.apache.struts.action.*;
import javax.servlet.http.*;

import com.km.fujian.data.FujianDAO;
import com.km.util.*;
import java.util.*;

/**
 * 本类的主要作用是对公文相关的操作进行转发控制。
 */
public class GongwenAction
    extends Action {
  public ActionForward execute(ActionMapping actionMapping,
                               ActionForm actionForm,
                               HttpServletRequest httpServletRequest,
                               HttpServletResponse httpServletResponse) {
    /** @todo: complete the business logic here, this is just a skeleton. */

    ActionErrors errors = new ActionErrors();
    GongwenForm gongwenForm = (GongwenForm) actionForm;
    HttpSession session = httpServletRequest.getSession();
    String ownerid = (String) session.getAttribute("userid");

    //test
    ownerid = "111";

    /**
     * 页面转向的字符串fwd。
     */
    String fwd = "";
    if (fwd != null && fwd != "") {
      return actionMapping.findForward(fwd);
    }

    /**
     * 获得页面的操作参数operAtt。
     */
    String operAtt = gongwenForm.getOperAtt();

    operAtt = operAtt == null ? "" : operAtt;
    if (operAtt.equals("")) {
      operAtt = "findall";
    }

    System.out.println(new Date().toLocaleString() +
                       ":目前所处的位置:gongwenAction===========");
    System.out.println("--->operAtt:" + operAtt);

    /**
     * 查询全部已经接受到的公文。
     */
    if (operAtt.equals("findall")) {
      try {
        GongwenDAO gongwenDao = new GongwenDAO();
        if (ownerid == null) {
          ownerid = "";
        }
        if (!ownerid.equals("")) {
          PageListData pageListData = gongwenForm.getFooter();
          pageListData = gongwenDao.getAllgongwen(ownerid,
                                                  pageListData);
          gongwenForm.setList(pageListData.getDataArray());
          fwd = "showall";
        }
      }
      catch (Exception e) {
        fwd = "showall";
        e.printStackTrace();
      }
    }
    /**
     * 按照标题查看公文详细内容。
     */
    else if (operAtt.equals("title")) {
      try {
        String universalid = httpServletRequest
            .getParameter("universalid");
        GongwenDAO gongwenDAO = new GongwenDAO();
        FujianDAO fujianDAO = new FujianDAO();

        Gongwen gongwen = gongwenDAO.findGwbyTitle(universalid);
        List list = fujianDAO.getAllfujian(universalid);

        gongwenForm.setGongwen(gongwen);
        gongwenForm.setList(list); //设置公文对应的附件
        fwd = "title";
      }
      catch (Exception e) {
        fwd = "title";
        e.printStackTrace();
      }
    }
    /**
     * 按照一定的条件查询公文
     */
    else if (operAtt.equals("search")) {
      try {
        Gongwen gongwen = gongwenForm.getGongwen();

        GongwenDAO gongwenDao = new GongwenDAO();
        if (ownerid == null) {
          ownerid = "";
        }
        if (!ownerid.equals("")) {
          PageListData pageListData = gongwenForm.getFooter();
          pageListData = gongwenDao.getSomegongwen(ownerid, gongwen,
              pageListData);
          gongwenForm.setList(pageListData.getDataArray());
          fwd = "showsearch";
        }
      }
      catch (Exception e) {
        fwd = "showsearch";
        e.printStackTrace();
      }
    }

    /**
     * 新增公文页面。注:此处是先生成一条记录
     */
    else if (operAtt.equals("new")) {

      String date = new Date().toLocaleString();
      Gongwen gongwen = new Gongwen();

      GongwenDAO gongwenDao = new GongwenDAO();
      String universalid = gongwenDao.createGongwen(gongwen);

      gongwen.setUniversalid(universalid);
      gongwen.setSenddate(date);
      gongwen.setSendid(ownerid);
      gongwenForm.setGongwen(gongwen);
      fwd = "new";
    }

    /**
     * 保存撰写的新公文。注:此处的保存是修改新增的文件
     */
    else if (operAtt.equals("savenew")) {
      try {
        Gongwen gongwen = gongwenForm.getGongwen();
        GongwenDAO gongwenDao = new GongwenDAO();

        gongwen.setIsread("0");

        gongwenDao.updateGongwen(gongwen);
        fwd = "savenew";
      }
      catch (Exception e) {
        fwd = "savenew";
        e.printStackTrace();
      }
    }

    /**
     * 草稿箱。
     */
    else if (operAtt.equals("draft")) {
      try {

        PageListData pageListData = gongwenForm.getFooter();
        GongwenDAO gongwenDao = new GongwenDAO();

        String sendid = ownerid;
        String issend = "0";

        pageListData = gongwenDao.getAllSaved(sendid, issend,
                                              pageListData);

        gongwenForm.setList(pageListData.getDataArray());
        fwd = "draft";
      }
      catch (Exception e) {
        fwd = "draft";
        e.printStackTrace();
      }
    }
    /**
     * 草稿箱-->查询特定的公文记录以供修改
     */
    else if (operAtt.equals("forupdate")) {
      try {
        String universalid = httpServletRequest
            .getParameter("universalid");
        String type = httpServletRequest.getParameter("fjtype");

        //获得操作数据库的dao
        GongwenDAO gongwenDAO = new GongwenDAO();
        FujianDAO fujianDAO = new FujianDAO();

        Gongwen gongwen = gongwenDAO.findGwbyTitle(universalid);
        List list = fujianDAO.getAllfujian(universalid);
        /**
         * 设置每个属性的返回值
         */
        gongwenForm.setGongwen(gongwen); //设置公文
        gongwenForm.setList(list); //设置公文对应的附件

        //页面转向
        fwd = "forupdate";
      }
      catch (Exception e) {
        fwd = "forupdate";
        e.printStackTrace();
      }
    }

    /**
     * 更改公文
     */
    if (operAtt.equals("update")) {
      Gongwen gongwen = gongwenForm.getGongwen();
      String universalid = gongwen.getUniversalid();

      //删除公文的附件
      String[] key = gongwenForm.getSelectList();
      if (key != null) {
        String[] id = key;
        FujianDAO fujianDAO = new FujianDAO();
        //根据用户选择的附件,逐个删除附件。
        String param = "id"; //按照id字段删除附件
        for (int i = 0; i < key.length; i++) {
          fujianDAO.deleteFjbyId(param, id[i]);
        }
        //查询附件表中是否还有该公文的附件,以便于设置公文的accessories。
        String result = fujianDAO.getFjbyUniversalid(universalid);
        if (result.equals(universalid)) {
          gongwen.setAccessories("1");
        }
        else if (!result.equals(universalid)) {
          gongwen.setAccessories("");
        }
      }
      //提交用户更改的公文
      GongwenDAO gongwenDAO = new GongwenDAO();
      gongwenDAO.updateGwbyHibernate(gongwen);

      fwd = "updateover";

    }
    //删除所选择的公文
    else if (operAtt.equals("deletegw")) {
      //删除公文
      String[] key = gongwenForm.getSelectList();
      if (key != null) {
        String[] universalid = key;
        GongwenDAO gongwenDAO = new GongwenDAO();
        FujianDAO fujianDAO = new FujianDAO();
        //根据用户选择的公文,逐个删除公文。
        for (int i = 0; i < key.length; i++) {
          gongwenDAO.deleteGwbyUniversalid(universalid[i]);
        }
        //根据用户选择的公文,逐个删除该公文对应的附件。
        String param = "universalid"; //按照universalid字段删除附件
        for (int i = 0; i < key.length; i++) {
          fujianDAO.deleteFjbyId(param, universalid[i]);
        }
      }
      fwd = "deletegw";
    }

    System.out.println(new Date().toLocaleString() +
                       ":gongwenAction处理完毕,页面进行转向===========");
    System.out.println("--->fwd:" + fwd);

    return actionMapping.findForward(fwd);
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -