面向對象程序設計


一 問題描述
倉庫管理系統是現代倉儲企業進行貨物管理和處理的業務操作系統。它可以實現本地一個或幾個倉庫的精細化管理,也可實現制造企業、物流企業、連鎖業在全國范圍內、異地多點倉庫的管理;它可以對貨物存儲和出貨等進行動態安排,可以對倉儲作業流程的全過程進行電子化操作;可以與客服中心建立數據接口使客戶通過互聯網實現遠程貨物管理,可以與企業的ERP系統實現無縫連接。
在現代企業中,倉庫管理是一項繁瑣復雜的工作,每天要處理大量的單據數據。為及時結清每筆業務,盤點庫存和貨物流動情況,保證企業生產用料以及貨物安全,庫管人員要花費大量人力物力和時間來作數據記錄統計工作。
眾所周知,倉庫管理是一種既麻煩又單調的工作,每天都是重復記錄一些貨物的存入與取出,而且貨物的種類繁多,存取有很大的隨機性,這樣為工作人員帶來了很大的不便,在操作過程中,由於人為的計算出錯率很高,一旦出錯改正也很困難,這樣簡單繁重的工作要很多人來做,為經營者增加了很多成本。所以開發一個可行的倉庫管理系統是十分必要的。
本系統是為物流管理而設計的高效管理系統,系統功能強大,同時操作又比較簡單,而管理人員大多受到過系統的培訓,並能夠操作電腦,所以只要花很少的時間,就能夠讓他們熟悉本系統。
系統開發的總體任務是實現各種信息的系統化、規范化和自動化。系統功能分析是在系統開發的總體任務的基礎上完成。本倉庫管理系統需要完成功能主要有:
●倉庫管理各種信息的輸入,包括貨物、供應商、客戶、倉庫信息的輸入等。
●倉庫管理各種信息的查詢、統計、修改和維護,包括貨物、單據查詢,貨物出入、職員操作統計,各種信息的修改和維護等。
●打印報表的生成。
●在貨物管理中加入最高儲備和最低儲備字段,對倉庫中的產品實現監控和報警。
●操作日志的管理。

二 總體設計

三  代碼

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

 

import org.apache.struts.action.Action;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionForward;

import org.apache.struts.action.ActionMapping;

import com.javateam3.struts.form.LoginForm;

 

import com.javateam3.whmsys.common.dao.LoginService;

 

/** 

 * MyEclipse Struts

 * Creation date: 05-30-2009

 * 

 * XDoclet definition:

 * @struts.action path="/login" name="loginForm" input="/webpage/login.jsp" scope="request" validate="true"

 */

public class LoginAction extends Action {

 

public ActionForward execute(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response) {

LoginForm loginForm = (LoginForm) form;

try{

      String userName=loginForm.getUser_name().trim();

   String psw=loginForm.getPsw().trim();

    LoginService loginService=new LoginService();

      HttpSession session = request.getSession(true);

      if(loginService.login(userName, psw)){

          session.setAttribute("username",userName);

             //如果登錄成功把登錄的名字放在session中以便在過濾器中判斷           

      return  mapping.findForward("loginSuccess");

     //返回到登陸成功頁面

      }else{

         session.invalidate();

         request.setAttribute("loginError", "用戶或者密碼錯誤!!");

        //返回到錯誤頁面

        return mapping.findForward("loginError");

      }

    }catch(Exception e){

     e.printStackTrace();

    }

return null;

}

}

登陸過濾器

import java.io.IOException;

import javax.servlet.Filter;

import javax.servlet.FilterChain;

import javax.servlet.FilterConfig;

import javax.servlet.ServletException;

import javax.servlet.ServletRequest;

import javax.servlet.ServletResponse;

import javax.servlet.http.*;

public class SecurityAndDeny implements Filter {

  public void destroy() {

//注銷時調用

}

    public void doFilter(ServletRequest req, ServletResponse resp,

            FilterChain chain) throws IOException, ServletException {

            HttpServletRequest request = (HttpServletRequest)req; 

        HttpServletResponse response=(HttpServletResponse)resp;       

        HttpSession session = request.getSession(false); 

//取出來session如果沒有得到空值

        if (session== null||session.getAttribute("username")== null) {

                    //判斷是否登錄過如果沒有就重定向到登陸頁面                 

                   String temp="你還沒登陸請重新登陸!!";

                    temp=java.net.URLEncoder.encode(temp.toString(),"utf-8"); response.sendRedirect("http://localhost:8080/JT03EtpLgtWebProject03/login.jsp?loginErr="+temp); 

                  return;

                                   }

          //如果登錄了就進入請求頁面

        chain.doFilter(req, resp);

    }

public void init(FilterConfig arg0) throws ServletException {

//初始化時調用的方法

}

}

登陸DAO

public Boolean login(String userName,String psw)

  {

  Employee employee=new Employee();

  employee.setPsw(psw) ;

  employee.setUserName(userName);

 List results=findByExample(employee);

   int length=results.size();

   if(length==1)

   {

   return true;

   }

   else

   {

   return false;

   } 

  }

 

供貨商查詢Action

package com.javateam3.whmsys.manager.basicinfo.supplyerinfo.action;

 

import java.util.List;

 

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionForward;

import org.apache.struts.action.ActionMapping;

 

import com.javateam3.whmsys.common.PageBean;

 

import com.javateam3.whmsys.manager.basicinfo.supplyerinfo.form.QueryForm;

import com.javateam3.whmsys.manager.basicinfo.supplyerinfo.service.SupplierService;

import com.javateam3.whmsys.common.pojo.Supplier;

import com.javateam3.whmsys.common.utils.Tool;

 

public class QueryAction extends Action {

 

public ActionForward execute(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response)

throws Exception {

QueryForm queryForm = (QueryForm) form;

SupplierService ss = new SupplierService();

PageBean pageBean = new PageBean();

List list = null;

//存放查出來的spplier對象

String crrPage = request.getParameter("cp");

int currentPage = pageBean.getCurrentPage();

int lineSize = pageBean.getLineSize();

Supplier supplier = change(queryForm);

if (crrPage != null) {

currentPage = Integer.parseInt(crrPage);

} else {

int allRecorders = ss.getCount(supplier);

Tool.setALLRECORDERS(allRecorders);

Tool.setPAGESIZE((allRecorders + lineSize - 1) / lineSize);

pageBean.setAllRecorders(allRecorders);

 

pageBean.setPageSize((allRecorders + lineSize - 1) / lineSize);

}

list = ss.queryByExample(supplier, currentPage, lineSize);

pageBean.setCurrentPage(currentPage);

request.setAttribute("pageBean", pageBean);

request.setAttribute("list", list);

       //把查詢出來的supplier對象放在request

return mapping.findForward("supplierResult");

}

        //form表單里的東西轉化為supplier對象

public Supplier change(QueryForm queryForm) {

Supplier supplier = new Supplier();

if (queryForm.getSupplierId() != null

&& !queryForm.getSupplierId().equals(""))

supplier.setSupplierId(queryForm.getSupplierId());

if (queryForm.getAddress() != null

&& !queryForm.getAddress().equals(""))

supplier.setAddress(queryForm.getAddress());

if (queryForm.getName() != null && !queryForm.getName().equals(""))

supplier.setName(queryForm.getName());

if (queryForm.getCredit() != null && !queryForm.getCredit().equals(""))

supplier.setCredit(queryForm.getCredit());

if (queryForm.getPhone() != null && !queryForm.getPhone().equals(""))

supplier.setPhone(queryForm.getPhone());

if (queryForm.getRemark() != null && !queryForm.getRemark().equals(""))

supplier.setRemark(queryForm.getRemark());

return supplier;

}

}

供貨商修改Action

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionForward;

import org.apache.struts.action.ActionMapping;

 

import com.javateam3.whmsys.common.pojo.Supplier;

import com.javateam3.whmsys.manager.basicinfo.supplyerinfo.form.ModifyForm;

import com.javateam3.whmsys.manager.basicinfo.supplyerinfo.service.SupplierService;

public class ModifyAction extends Action {

public ActionForward execute(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response) {

ModifyForm modifyForm = (ModifyForm) form;

Supplier supplier = new Supplier();

supplier.setAddress(modifyForm.getAddress());

supplier.setCredit(modifyForm.getCredit());

supplier.setName(modifyForm.getName());

supplier.setPhone(modifyForm.getPhone());

supplier.setRemark(modifyForm.getRemark());

supplier.setSupplierId(modifyForm.getSupplierId());

SupplierService ss = new SupplierService();

try {

ss.upDate(supplier);

return mapping.findForward("success");

} catch (Exception e) {

e.printStackTrace();

return mapping.findForward("error");

}

}

}供貨商添加Action

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionForward;

import org.apache.struts.action.ActionMapping;

 

import com.javateam3.whmsys.common.pojo.Supplier;

import com.javateam3.whmsys.manager.basicinfo.supplyerinfo.form.AddForm;

import com.javateam3.whmsys.manager.basicinfo.supplyerinfo.service.SupplierService;

public class AddAction extends Action {

public ActionForward execute(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response) {

AddForm addForm = (AddForm) form;

Supplier supplier = new Supplier();

supplier.setAddress(addForm.getAddress());

supplier.setCredit(addForm.getCredit());

supplier.setName(addForm.getName());

supplier.setPhone(addForm.getPhone());

supplier.setRemark(addForm.getRemark());

supplier.setSupplierId(addForm.getSupplierId());

 

SupplierService ss = new SupplierService();

try {

ss.insert(supplier);

return mapping.findForward("success");

} catch (Exception e) {

e.printStackTrace();

             //出現異常打印軌跡

return mapping.findForward("error");

}

 

}

}

供貨商DAO

package com.javateam3.whmsys.manager.basicinfo.supplyerinfo.dao;

import java.util.ArrayList;

import java.util.List;

import org.hibernate.Criteria;

import org.hibernate.LockMode;

import org.hibernate.Query;

import org.hibernate.Session;

import org.hibernate.Transaction;

import org.hibernate.criterion.Example;

 

import com.javateam3.whmsys.common.dao.BaseHibernateDAO;

import com.javateam3.whmsys.common.pojo.Supplier;

import com.javateam3.whmsys.common.utils.UtilGetExample;

public class SupplierDAO extends BaseHibernateDAO {

public static final String NAME = "name";

public static final String ADDRESS = "address";

public static final String PHONE = "phone";

public static final String CREDIT = "credit";

public static final String REMARK = "remark";

public static final String SUPPLIERID="supplierId";

public void save(Supplier transientInstance) {

Transaction transaction=null;

try { 

Session session= getSession();

transaction=session.beginTransaction();

session.save(transientInstance);

transaction.commit();

session.close();

} catch (Exception re) {

}

}

public void upDate(Supplier transientInstance)throws Exception {

try {

Session session= getSession();

Transaction transaction = session.beginTransaction();

session.update(transientInstance);

 

transaction.commit();

session.close();

} catch (RuntimeException re) {

throw re;

}

}

 

public Supplier findById(java.lang.String id) {

try {

Session session= getSession();

Transaction transaction = session.beginTransaction();

Supplier instance = (Supplier) session.get(

"com.javateam3.whmsys.common.pojo.Supplier", id);

session.close();

return instance;

} catch (RuntimeException re) {

throw re;

}

}

public int getCount(Supplier instance) throws Exception {

if(instance.getSupplierId()!=null)

{

  Supplier supplier=findById(instance.getSupplierId());

  if(supplier!=null)

  {

  return 1;

  }

  else{

  return 0;

  }

}

else{

Session session= getSession();

Transaction transaction = session.beginTransaction();

Criteria c = session.createCriteria(

"com.javateam3.whmsys.common.pojo.Supplier").add(

Example.create(instance));

 

int i=c.list().size();

transaction.commit();

session.close();

return i;}

}

public List findByExample(Supplier instance, int currentPage, int lineSize)

throws Exception {

List list = null;

Session session=getSession();

if(findByProperty(SUPPLIERID,  instance.getSupplierId()).size()==0||findByProperty("supplierId",  instance.getSupplierId())==null)

{

Example es=UtilGetExample.getExample(instance);

Transaction transaction = session.beginTransaction();

Criteria c = session.createCriteria(

"com.javateam3.whmsys.common.pojo.Supplier")

.add(es);

c.setFirstResult((currentPage - 1) * lineSize);

c.setMaxResults(lineSize);

list = c.list();

transaction.commit();

getSession().close();

if(list.size()==0||list==null)

{

return null;

}

return list;

}

else

{

return findByProperty("supplierId",  instance.getSupplierId());

}

}

四  運行截圖

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM