From e95c524ffd6380eed6204851bba4bd46c9e3cc88 Mon Sep 17 00:00:00 2001 From: cwfeng Date: Sun, 1 Dec 2024 15:32:02 +0800 Subject: [PATCH] inOrderServiceImpl.java --- .../dao/impl/inOrderServiceImpl.java | 351 +++++++++--------- 1 file changed, 172 insertions(+), 179 deletions(-) diff --git a/Supermarket/src/com/lingnan/supermarket/dao/impl/inOrderServiceImpl.java b/Supermarket/src/com/lingnan/supermarket/dao/impl/inOrderServiceImpl.java index fd81c3b..620a3f3 100644 --- a/Supermarket/src/com/lingnan/supermarket/dao/impl/inOrderServiceImpl.java +++ b/Supermarket/src/com/lingnan/supermarket/dao/impl/inOrderServiceImpl.java @@ -1,68 +1,62 @@ package com.lingnan.supermarket.dao.impl; -import java.sql.Connection; - -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.sql.Timestamp; -import java.util.Date; -import java.util.Vector; - import com.lingnan.supermarket.dao.inOrderService; import com.lingnan.supermarket.dto.InOrder; -import com.lingnan.supermarket.utils.DateUtil; import com.lingnan.supermarket.utils.JDBCUtil; +import java.sql.*; +import java.util.Vector; + public class inOrderServiceImpl implements inOrderService{ - + @Override - public Vector findAllInOrder (){ - Vector inOrders = new Vector(); - Connection conn = JDBCUtil.getConn(); - PreparedStatement preparedStatement = null; - ResultSet resultSet=null; - + public Vector findAllInOrder() { + Vector inOrders = new Vector(); // 创建一个向量用于存储InOrder对象 + Connection conn = JDBCUtil.getConn(); // 获取数据库连接 + PreparedStatement preparedStatement = null; // 声明预编译语句对象 + ResultSet resultSet = null; // 声明结果集对象 + + // SQL查询语句,选择未删除的订单并按入库日期降序排列 String SQL = "select * from inOrder where delmark=1 order by inDate desc"; - + try { - preparedStatement = conn.prepareStatement(SQL); - resultSet = preparedStatement.executeQuery(); - while(resultSet.next()) { - InOrder inOrder = new InOrder(); + preparedStatement = conn.prepareStatement(SQL); // 准备SQL语句 + resultSet = preparedStatement.executeQuery(); // 执行查询 + while (resultSet.next()) { // 遍历结果集 + InOrder inOrder = new InOrder(); // 创建InOrder对象 + // 从结果集中获取属性并设置到inOrder对象 inOrder.setiNumber(resultSet.getString("iNumber")); inOrder.setAllInPrice(resultSet.getFloat("allInPrice")); inOrder.setInDate(resultSet.getString("inDate")); inOrder.setPrincipal(resultSet.getString("principal")); inOrder.setStatus(resultSet.getInt("status")); inOrder.setDelmark(resultSet.getInt("Delmark")); - inOrders.add(inOrder); + inOrders.add(inOrder); // 将InOrder对象添加到向量中 } - + } catch (SQLException e) { - e.printStackTrace(); + e.printStackTrace(); // 捕获并打印异常堆栈信息 } finally { - JDBCUtil.close(resultSet, preparedStatement, conn); + JDBCUtil.close(resultSet, preparedStatement, conn); // 关闭结果集、预编译语句和数据库连接 } - return inOrders; - + return inOrders; // 返回存储所有InOrder对象的向量 } - - + @Override public InOrder findByIdinOrder(String iNumber) { - - InOrder inOrder = new InOrder(); - Connection conn = JDBCUtil.getConn(); - PreparedStatement preparedStatement = null; - ResultSet resultSet = null; + InOrder inOrder = new InOrder(); // 创建InOrder对象 + Connection conn = JDBCUtil.getConn(); // 获取数据库连接 + PreparedStatement preparedStatement = null; // 声明预编译语句对象 + ResultSet resultSet = null; // 声明结果集对象 try { + // 准备SQL语句,根据订单号查找特定的订单 preparedStatement = conn.prepareStatement("select * from inOrder where iNumber = ?"); - preparedStatement.setString(1, iNumber); - resultSet = preparedStatement.executeQuery(); - if (resultSet.next()) { + preparedStatement.setString(1, iNumber); // 设置订单号参数 + resultSet = preparedStatement.executeQuery(); // 执行查询 + if (resultSet.next()) { // 如果找到对应记录 + // 从结果集中获取属性并设置到inOrder对象 inOrder.setiNumber(resultSet.getString("iNumber")); inOrder.setAllInPrice(resultSet.getFloat("allInPrice")); inOrder.setInDate(resultSet.getString("inDate")); @@ -70,205 +64,204 @@ public class inOrderServiceImpl implements inOrderService{ inOrder.setStatus(resultSet.getInt("status")); } else { return null; // 没有找到该订单或订单不存在,返回null - } + } } catch (SQLException e) { - e.printStackTrace(); + e.printStackTrace(); // 捕获并打印异常堆栈信息 } finally { - JDBCUtil.close(resultSet, preparedStatement, conn); + JDBCUtil.close(resultSet, preparedStatement, conn); // 关闭结果集、预编译语句和数据库连接 } - return inOrder; + return inOrder; // 返回找到的InOrder对象 } - - + @Override public int addInOrder(String iNumber, float allInPrice) { - int flag = 0; - Timestamp inDate = new Timestamp(System.currentTimeMillis()); - //System.out.println(inDate); - Connection conn = JDBCUtil.getConn(); - PreparedStatement preparedStatement = null; - + int flag = 0; // 状态标志,初始化为0 + Timestamp inDate = new Timestamp(System.currentTimeMillis()); // 获取当前时间戳 + Connection conn = JDBCUtil.getConn(); // 获取数据库连接 + PreparedStatement preparedStatement = null; // 声明预编译语句对象 + try { - preparedStatement = conn.prepareStatement - ("insert into inOrder values (?,?,?,?)"); - preparedStatement.setString(1, iNumber); - preparedStatement.setFloat(2, allInPrice); - preparedStatement.setTimestamp(3, inDate); - preparedStatement.setString(4, "a1"); - preparedStatement.executeUpdate(); - flag = 1; + // 准备SQL插入语句 + preparedStatement = conn.prepareStatement("insert into inOrder values (?,?,?,?)"); + preparedStatement.setString(1, iNumber); // 设置订单号参数 + preparedStatement.setFloat(2, allInPrice); // 设置总价格参数 + preparedStatement.setTimestamp(3, inDate); // 设置入库日期 + preparedStatement.setString(4, "a1"); // 设置其他固定参数(例如:默认的负责人ID) + preparedStatement.executeUpdate(); // 执行插入操作 + flag = 1; // 标记插入成功 } catch (SQLException e) { - flag = -1; - e.printStackTrace(); + flag = -1; // 插入失败时标记为-1 + e.printStackTrace(); // 捕获并打印异常堆栈信息 } finally { - JDBCUtil.close(null,preparedStatement, conn); + JDBCUtil.close(null, preparedStatement, conn); // 关闭预编译语句和数据库连接 } - - return flag; - } + return flag; // 返回插入结果标志 + } @Override public int deleteInOrder(String iNumber) { - int flag = 0; - - Connection conn = JDBCUtil.getConn(); - PreparedStatement preparedStatement = null; - + int flag = 0; // 状态标志,初始化为0 + + Connection conn = JDBCUtil.getConn(); // 获取数据库连接 + PreparedStatement preparedStatement = null; // 声明预编译语句对象 + try { - preparedStatement = conn.prepareStatement - ("update inOrder set delmark=0 where iNumber = ?"); - preparedStatement.setString(1, iNumber); - preparedStatement.executeUpdate(); - flag = 1; + // 准备SQL更新语句,将delmark标记为0表示逻辑删除 + preparedStatement = conn.prepareStatement("update inOrder set delmark=0 where iNumber = ?"); + preparedStatement.setString(1, iNumber); // 设置订单号参数 + preparedStatement.executeUpdate(); // 执行更新操作 + flag = 1; // 标记删除成功 } catch (SQLException e) { - flag = -1; - e.printStackTrace(); + flag = -1; // 删除失败时标记为-1 + e.printStackTrace(); // 捕获并打印异常堆栈信息 } finally { - JDBCUtil.close(null,preparedStatement, conn); + JDBCUtil.close(null, preparedStatement, conn); // 关闭预编译语句和数据库连接 } - return flag; + return flag; // 返回删除结果标志 } /*往订单表插入一条记录*/ - public boolean InsertInOrder(String number,Float allPrice,String time,String username,int c){ - boolean flag = false; - Connection conn = JDBCUtil.getConn(); - PreparedStatement pstmt = null; - ResultSet resultSet = null;; + // 插入新的进货订单 + public boolean InsertInOrder(String number, Float allPrice, String time, String username, int c) { + boolean flag = false; // 初始化标志为false + Connection conn = JDBCUtil.getConn(); // 获取数据库连接 + PreparedStatement pstmt = null; // 声明预编译语句对象 + ResultSet resultSet = null; // 声明结果集对象 try { + // 准备SQL插入语句 pstmt = conn.prepareStatement("insert into InOrder values(?,?,?,?,?,?)"); - pstmt.setString(1, number); - pstmt.setFloat(2, allPrice); - pstmt.setString(3, time); - pstmt.setString(4, username); - pstmt.setInt(5, 2); - pstmt.setInt(6, 1); - - if(pstmt.execute()) - flag = true; - - - - } catch (SQLException e) { - e.printStackTrace(); - }finally { + pstmt.setString(1, number); // 设置订单号 + pstmt.setFloat(2, allPrice); // 设置总价格 + pstmt.setString(3, time); // 设置入库时间 + pstmt.setString(4, username); // 设置负责人用户名 + pstmt.setInt(5, 2); // 设置状态,假设2代表某个特定状态 + pstmt.setInt(6, 1); // 设置删除标记,假设1表示未删除 + + // 执行插入操作 + if (pstmt.execute()) + flag = true; // 如果成功执行插入,设置标志为true - JDBCUtil.close(resultSet, pstmt, conn); + } catch (SQLException e) { + e.printStackTrace(); // 捕获并打印异常堆栈信息 + } finally { + JDBCUtil.close(resultSet, pstmt, conn); // 关闭结果集、预编译语句和数据库连接 } - return flag; + return flag; // 返回插入结果标志 } - /*更新状态*/ - public boolean updateInOrderStatus(String iNumber,int status) { - boolean flag = false; - Connection conn = JDBCUtil.getConn(); - PreparedStatement preparedStatement = null; + /* 更新状态 */ + public boolean updateInOrderStatus(String iNumber, int status) { + boolean flag = false; // 初始化标志为false + Connection conn = JDBCUtil.getConn(); // 获取数据库连接 + PreparedStatement preparedStatement = null; // 声明预编译语句对象 try { + // 准备SQL更新语句,更新指定订单号的状态 preparedStatement = conn.prepareStatement("update inOrder set status=? where iNumber=?"); - preparedStatement.setInt(1, status); - preparedStatement.setString(2,iNumber); - if(preparedStatement.executeUpdate()==1) + preparedStatement.setInt(1, status); // 设置状态 + preparedStatement.setString(2, iNumber); // 设置订单号 + // 如果更新操作影响了一行,则设置标志为true + if (preparedStatement.executeUpdate() == 1) flag = true; } catch (SQLException e) { - e.printStackTrace(); + e.printStackTrace(); // 捕获并打印异常堆栈信息 } finally { - JDBCUtil.close(null,preparedStatement, conn); + JDBCUtil.close(null, preparedStatement, conn); // 关闭预编译语句和数据库连接 } - return flag; + return flag; // 返回更新结果标志 } - - //查找所有待入库订单*/待确认 - public Vector findUnconfirmInOrder(){ - Vector inOrders = new Vector(); - Connection conn = JDBCUtil.getConn(); - PreparedStatement preparedStatement = null; - ResultSet resultSet=null; - + + // 查找所有待入库订单(待确认) + public Vector findUnconfirmInOrder() { + Vector inOrders = new Vector(); // 创建一个向量用于存储InOrder对象 + Connection conn = JDBCUtil.getConn(); // 获取数据库连接 + PreparedStatement preparedStatement = null; // 声明预编译语句对象 + ResultSet resultSet = null; // 声明结果集对象 + + // SQL查询语句,选择状态为2并且未删除的订单 String SQL = "select * from inOrder where status=2 and delmark=1"; - + try { - preparedStatement = conn.prepareStatement(SQL); - resultSet = preparedStatement.executeQuery(); - while(resultSet.next()) { - InOrder inOrder = new InOrder(); - inOrder.setiNumber(resultSet.getString("iNumber")); - inOrder.setAllInPrice(resultSet.getFloat("allInPrice")); - inOrder.setInDate(resultSet.getString("inDate")); - inOrder.setPrincipal(resultSet.getString("principal")); - inOrder.setStatus(resultSet.getInt("status")); - inOrder.setDelmark(resultSet.getInt("Delmark")); - inOrders.add(inOrder); + preparedStatement = conn.prepareStatement(SQL); // 准备SQL语句 + resultSet = preparedStatement.executeQuery(); // 执行查询 + while (resultSet.next()) { // 遍历结果集 + InOrder inOrder = new InOrder(); // 创建InOrder对象 + // 从结果集中获取属性并设置到inOrder对象 + inOrder.setiNumber(resultSet.getString("iNumber")); // 设置订单号 + inOrder.setAllInPrice(resultSet.getFloat("allInPrice")); // 设置总价格 + inOrder.setInDate(resultSet.getString("inDate")); // 设置入库日期 + inOrder.setPrincipal(resultSet.getString("principal")); // 设置负责人 + inOrder.setStatus(resultSet.getInt("status")); // 设置订单状态 + inOrder.setDelmark(resultSet.getInt("Delmark")); // 设置删除标记 + inOrders.add(inOrder); // 将InOrder对象添加到向量中 } - + } catch (SQLException e) { - e.printStackTrace(); + e.printStackTrace(); // 捕获并打印异常堆栈信息 } finally { - JDBCUtil.close(resultSet, preparedStatement, conn); + JDBCUtil.close(resultSet, preparedStatement, conn); // 关闭结果集、预编译语句和数据库连接 } - return inOrders; - + return inOrders; // 返回存储待确认订单的向量 } - - //获取今日进货金额 - public Float TodayInPrice(String date) { - InOrder inOrder = new InOrder(); - Connection conn = JDBCUtil.getConn(); - PreparedStatement preparedStatement = null; - ResultSet resultSet = null; - Float allInPrice=(float) 0; + // 获取今日进货金额 + public Float TodayInPrice(String date) { + InOrder inOrder = new InOrder(); // 创建InOrder对象 + Connection conn = JDBCUtil.getConn(); // 获取数据库连接 + PreparedStatement preparedStatement = null; // 声明预编译语句对象 + ResultSet resultSet = null; // 声明结果集对象 + Float allInPrice = (float) 0; // 初始化总进货金额为0 try { + // 准备SQL查询语句,计算指定日期的进货金额总和 preparedStatement = conn.prepareStatement("select sum(allInPrice) from inOrder where inDate>=? and inDate<=date_add(?,interval 1 day)"); - preparedStatement.setString(1, date); - preparedStatement.setString(2, date); - resultSet = preparedStatement.executeQuery(); - if (resultSet.next()) { - allInPrice=resultSet.getFloat("sum(allInPrice)"); - } + preparedStatement.setString(1, date); // 设置起始日期 + preparedStatement.setString(2, date); // 设置结束日期(起始日期+1天) + resultSet = preparedStatement.executeQuery(); // 执行查询 + if (resultSet.next()) { // 如果有结果 + allInPrice = resultSet.getFloat("sum(allInPrice)"); // 获取总进货金额 + } } catch (SQLException e) { - e.printStackTrace(); + e.printStackTrace(); // 捕获并打印异常堆栈信息 } finally { - JDBCUtil.close(resultSet, preparedStatement, conn); + JDBCUtil.close(resultSet, preparedStatement, conn); // 关闭结果集、预编译语句和数据库连接 } - return allInPrice; + return allInPrice; // 返回总进货金额 } - //查找指定状态订单 - public Vector FindStatus(int status){ - Vector inOrders = new Vector(); - Connection conn = JDBCUtil.getConn(); - PreparedStatement preparedStatement = null; - ResultSet resultSet=null; - - - - try { + // 查找指定状态订单 + public Vector FindStatus(int status) { + Vector inOrders = new Vector(); // 创建一个向量用于存储InOrder对象 + Connection conn = JDBCUtil.getConn(); // 获取数据库连接 + PreparedStatement preparedStatement = null; // 声明预编译语句对象 + ResultSet resultSet = null; // 声明结果集对象 + + try { + // 准备SQL查询语句,根据状态查找订单 preparedStatement = conn.prepareStatement("select * from inOrder where status=? and delmark=1 order by inDate desc"); - preparedStatement.setInt(1, status); - resultSet = preparedStatement.executeQuery(); - while(resultSet.next()) { - InOrder inOrder = new InOrder(); - inOrder.setiNumber(resultSet.getString("iNumber")); - inOrder.setAllInPrice(resultSet.getFloat("allInPrice")); - inOrder.setInDate(resultSet.getString("inDate")); - inOrder.setPrincipal(resultSet.getString("principal")); - inOrder.setStatus(resultSet.getInt("status")); - inOrder.setDelmark(resultSet.getInt("Delmark")); - inOrders.add(inOrder); + preparedStatement.setInt(1, status); // 设置状态参数 + resultSet = preparedStatement.executeQuery(); // 执行查询 + while (resultSet.next()) { // 遍历结果集 + InOrder inOrder = new InOrder(); // 创建InOrder对象 + // 从结果集中获取属性并设置到inOrder对象 + inOrder.setiNumber(resultSet.getString("iNumber")); // 设置订单号 + inOrder.setAllInPrice(resultSet.getFloat("allInPrice")); // 设置总价格 + inOrder.setInDate(resultSet.getString("inDate")); // 设置入库日期 + inOrder.setPrincipal(resultSet.getString("principal")); // 设置负责人 + inOrder.setStatus(resultSet.getInt("status")); // 设置订单状态 + inOrder.setDelmark(resultSet.getInt("Delmark")); // 设置删除标记 + inOrders.add(inOrder); // 将InOrder对象添加到向量中 } - + } catch (SQLException e) { - e.printStackTrace(); + e.printStackTrace(); // 捕获并打印异常堆栈信息 } finally { - JDBCUtil.close(resultSet, preparedStatement, conn); + JDBCUtil.close(resultSet, preparedStatement, conn); // 关闭结果集、预编译语句和数据库连接 } - return inOrders; - + return inOrders; // 返回指定状态的订单向量 } }