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

📄 instoragedao.java

📁 物资管理系统 Struts+Hibernate+Spring
💻 JAVA
字号:
package com.dao;

import org.hibernate.Session;
import com.core.MySession;
import com.actionForm.StockGoodsForm;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.List;
import java.util.LinkedList;
import com.actionForm.StockMainForm;
import org.hibernate.Transaction;
import java.text.NumberFormat;
import com.actionForm.StockDetailForm;
import java.util.Set;
import java.util.HashSet;
import com.actionForm.IfForm;
import org.hibernate.Query;
import com.actionForm.StockMainViewForm;
import java.util.Date;
import com.actionForm.GoodsForm;
import com.actionForm.InStorageForm;
import com.actionForm.StorageForm;
import com.actionForm.CheckForm;
import com.actionForm.LoanForm;

public class InstorageDAO {
    private Session session = null;
    //       session=MySession.openSession();   //打开Session
//       MySession.closeSession(session);    //关闭Session
    public void cart_add(StockGoodsForm goodsForm, HttpServletRequest request) {
        HttpSession httpsession = request.getSession();
        System.out.println("******************:" +
                           httpsession.getAttribute("stockgoods") +
                           "**********");
        if (httpsession.getAttribute("stockgoods") != null &&
            !httpsession.getAttribute("stockgoods").equals("")) {
            List list = (List) httpsession.getAttribute("stockgoods");
            boolean flag = true;
            for (int i = 0; i < list.size(); i++) { //判断是否已经添加了该记录
                StockGoodsForm goodsF = (StockGoodsForm) list.get(i);
                if (goodsF.getId() == goodsForm.getId()) { //已经采购
                    goodsF.setNumber(goodsF.getNumber() + goodsForm.getNumber());
                    list.set(i, goodsF); //重新设定指定位置i处的元素
                    flag = false;
                    break;
                }
            }
            if (flag) {
                list.add(goodsForm);
            }
            httpsession.setAttribute("stockgoods", list);
        } else {
            System.out.println("goodsForm:" + goodsForm);
            List list = new LinkedList();
            list.add(goodsForm);
            httpsession.setAttribute("stockgoods", list);
        }
    }

    public void cart_remove(int id, HttpServletRequest request) {
        HttpSession httpsession = request.getSession();
        List list = (List) httpsession.getAttribute("stockgoods");
        if (list.size() > 1) {
            list.remove(id); //移去指定的物资信息
            httpsession.setAttribute("stockgoods", list);
        } else {
            httpsession.removeAttribute("stockgoods");
        }
    }

    //清空保存物资信息的Session
    public void cart_clear(HttpServletRequest request) {
        HttpSession httpsession = request.getSession();
        httpsession.removeAttribute("stockgoods");
    }

//添加采购单信息
    public int stockadd(StockMainForm stockMainForm, HttpServletRequest request) {
        int rtn = 1;
        HttpSession httpsession = request.getSession();
        List list = (List) httpsession.getAttribute("stockgoods");
        Transaction tx = null;
        if (list.size() <= 0) {
            rtn = 0;
        } else {
            session = MySession.openSession(); //打开Session
            try {
                tx = session.beginTransaction();
                System.out.println("供应商ID:" + stockMainForm.getProviderid());

                for (int i = 0; i < list.size(); i++) {
                    StockDetailForm stockDetailForm = new StockDetailForm();
                    StockGoodsForm stockGoods = (StockGoodsForm) list.get(i);
                    stockMainForm.setCreateTime(new Date());

                    int goodsid = stockGoods.getId();
                    GoodsForm goodsForm = (GoodsForm) session.get(GoodsForm.class,
                            goodsid);
                    stockDetailForm.setGoods(goodsForm);
//                    System.out.println("GOODSID:"+goodsForm.getId());

//                    stockDetailForm.setGoodsid(stockGoods.getId());
                    stockDetailForm.setNumber(stockGoods.getNumber());
                    stockDetailForm.setPrice(stockGoods.getPrice());
                    stockMainForm.getStockDetail().add(stockDetailForm);
                    stockDetailForm.setStockMain(stockMainForm);
                    System.out.println("goods.getId:" + stockGoods.getId() +
                                       "**********" +
                                       stockDetailForm.getGoodsid());
                }
                session.save(stockMainForm);

                /*********生成采购单号*******************/
                NumberFormat formater = NumberFormat.getNumberInstance();
                int id = stockMainForm.getId();
                formater.setMinimumIntegerDigits(5);
                java.util.Date createTime = stockMainForm.getCreateTime();
                java.sql.Date date = new java.sql.Date(createTime.getTime());
                String sNo = "CG" + date +
                             formater.format(id).toString().replace(",", ""); //组合采购单号
                /**************************************/
                //插入采购单号
                StockMainForm stockmaniF = (StockMainForm) session.get(
                        StockMainForm.class, id);
                stockmaniF.setSno(sNo);
                session.update(stockmaniF);
                tx.commit();
                httpsession.removeAttribute("stockgoods");
                rtn=1;
            } catch (Exception e) {
                if (tx != null) {
                    tx.rollback();
                }
                rtn=0;
                e.printStackTrace();
                System.out.println("保存采购信息时的错误提示:" + e.getMessage());
            } finally {
                MySession.closeSession(session); //关闭Session
            }
        }
        return rtn;
    }

    //添加审核入库信息
    public int eligibleAdd(int id, HttpServletRequest request) {
        int rtn = 1;
        session = MySession.openSession(); //打开session
        Transaction tx = null;
        try {
            tx = session.beginTransaction();
            InStorageForm inStorageForm = new InStorageForm();
            inStorageForm.setStockid(id);
            inStorageForm.setCreateTime(new Date());
            HttpSession httpsession = request.getSession();
            inStorageForm.setUsername((String) httpsession.getAttribute(
                    "username")); //设置操作员
            session.save(inStorageForm); //保存审核入库信息
            /********生成审核入库单信息***********/
            NumberFormat formater = NumberFormat.getNumberInstance();
            int iid = inStorageForm.getId();
            formater.setMinimumIntegerDigits(5);
            java.util.Date inTime = inStorageForm.getCreateTime();
            java.sql.Date date = new java.sql.Date(inTime.getTime());
            String ino = "RK" + date +
                         formater.format(iid).toString().replace(",", ""); //组合入库单号
            /**********************************/
            //插入入库单号
            InStorageForm inStorageF = (InStorageForm) session.get(
                    InStorageForm.class, iid);
            inStorageF.setIno(ino);
            session.update(inStorageF);
            //修改采购单状态为已入库
            StockMainForm stockMainForm = (StockMainForm) session.get(
                    StockMainForm.class, id);
            stockMainForm.setState(1);
            session.update(stockMainForm);
            //修改库存信息表
            String hql = "FROM StockDetailForm WHERE stockid=" + id + "";
            System.out.println("HQL:" + hql);
            List list = null;
            Query query = session.createQuery(hql);
            list = query.list();
            System.out.println("入库审核的list.size:" + list.size());
            int goodsid = 0;
            int goodsnumber = 0;
            String sql = "";
            for (int i = 0; i < list.size(); i++) {
                StockDetailForm stockdetailF = (StockDetailForm) list.get(i);
                goodsid = stockdetailF.getGoods().getId(); //商品ID
                goodsnumber = stockdetailF.getNumber(); //采购数量
                //判断是否已经存在要入库的商品
                String hql_goods = "FROM StorageForm WHERE goodsid=" + goodsid +
                                   "";
                List list_goods = session.createQuery(hql_goods).list();
                if (list_goods.size() > 0) {
                    String hql_up = "UPDATE StorageForm set number=number+" +
                                    goodsnumber + " WHERE goodsid=" + goodsid +
                                    "";
                    System.out.println("HQL_UP:" + hql_up);
                    session.createQuery(hql_up).executeUpdate();

                } else { //不存在时
                    StorageForm storageF = new StorageForm();
                    storageF.setGoodsid(goodsid);
                    storageF.setNumber(goodsnumber);
                    session.save(storageF);
                    System.out.println("添加");
                }

            }
            tx.commit();
        } catch (Exception e) {
            System.out.println("审核入库时的错误信息:" + e.getMessage());
            e.printStackTrace();
            if (tx != null) {
                tx.rollback();
            }
            rtn = 0;
        } finally {
            MySession.closeSession(session); //关闭Session
        }
        return rtn;
    }

    //审核不合格处理
    public int uneligibleAdd(int id, HttpServletRequest request) {
        int rtn = 1;
        session = MySession.openSession(); //打开session
        Transaction tx = null;
        try {
            tx = session.beginTransaction();
            CheckForm checkForm = new CheckForm();
            checkForm.setStockid(id);
            checkForm.setCheckTime(new Date());
            HttpSession httpsession = request.getSession();
            checkForm.setChecker((String) httpsession.getAttribute("username")); //设置操作员
            session.save(checkForm); //保存审核不合格信息
            //修改采购单状态为不合格
            StockMainForm stockMainForm = (StockMainForm) session.get(
                    StockMainForm.class, id);
            stockMainForm.setState(2);
            session.update(stockMainForm);
            tx.commit();
        } catch (Exception e) {
            System.out.println("审核不合格时的错误信息:" + e.getMessage());
            e.printStackTrace();
            if (tx != null) {
                tx.rollback();
            }
            rtn = 0;
        } finally {
            MySession.closeSession(session); //关闭Session
        }
        return rtn;
    }

//借出归还
    public int backloan(int id, HttpServletRequest request) {
        int rtn = 1;
        session = MySession.openSession(); //打开session
        Transaction tx = null;
        try {
            tx = session.beginTransaction();
            LoanForm loanForm = (LoanForm) session.get(LoanForm.class, id);
            loanForm.setBacktime(new Date());
            HttpSession httpsession = request.getSession();
            loanForm.setBackperson((String) httpsession.getAttribute("username")); //设置归还人
            loanForm.setState(new Short("2")); //修改借出单状态为已归还
            session.update(loanForm); //保存借出归还信息
            //修改库存信息表
            GoodsForm goodsF = loanForm.getGoods();
            int goodsid = goodsF.getId();
            int goodsnumber = loanForm.getNumber();
            String hql_goods = "FROM StorageForm WHERE goodsid=" + goodsid + "";
            List list_goods = session.createQuery(hql_goods).list();
            if (list_goods.size() > 0) {
                String hql_up = "UPDATE StorageForm set number=number+" +
                                goodsnumber + " WHERE goodsid=" + goodsid +
                                "";
                System.out.println("HQL_UP:" + hql_up);
                session.createQuery(hql_up).executeUpdate();
            } else {
                rtn = 0;
            }
            if (rtn == 1) {
                tx.commit();
            } else {
                if (tx != null) {
                    tx.rollback();
                }
            }

        } catch (Exception e) {
            System.out.println("借出归还时的错误信息:" + e.getMessage());
            e.printStackTrace();
            if (tx != null) {
                tx.rollback();
            }
            rtn = 0;
        } finally {
            MySession.closeSession(session); //关闭Session
        }
        return rtn;
    }

}

⌨️ 快捷键说明

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