📄 dao.java
字号:
+ details.getDj() + "," + details.getSl() + ")");
// 添加或修改库存表记录
Item item = new Item();
item.setId(details.getTabSpinfo());
TbSpinfo spInfo = getSpInfo(item);
if (spInfo.getId() != null && !spInfo.getId().isEmpty()) {
TbKucun kucun = getKucun(item);
if (kucun.getId() == null || kucun.getId().isEmpty()) {
insert("insert into tb_kucun values('" + spInfo.getId()
+ "','" + spInfo.getSpname() + "','"
+ spInfo.getJc() + "','" + spInfo.getCd()
+ "','" + spInfo.getGg() + "','"
+ spInfo.getBz() + "','" + spInfo.getDw()
+ "'," + details.getDj() + ","
+ details.getSl() + ")");
} else {
int sl = kucun.getKcsl() + details.getSl();
update("update tb_kucun set kcsl=" + sl + ",dj="
+ details.getDj() + " where id='"
+ kucun.getId() + "'");
}
}
}
conn.commit();
conn.setAutoCommit(autoCommit);
} catch (SQLException e) {
try {
conn.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
e.printStackTrace();
}
return true;
}
public static ResultSet findForResultSet(String sql) {
if (conn == null)
return null;
long time = System.currentTimeMillis();
ResultSet rs = null;
try {
Statement stmt = null;
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);
second = ((System.currentTimeMillis() - time) / 1000d) + "";
} catch (Exception e) {
e.printStackTrace();
}
return rs;
}
public static boolean insert(String sql) {
boolean result = false;
try {
Statement stmt = conn.createStatement();
result = stmt.execute(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return result;
}
public static int update(String sql) {
int result = 0;
try {
Statement stmt = conn.createStatement();
result = stmt.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return result;
}
public static List findForList(String sql) {
List<List> list = new ArrayList<List>();
ResultSet rs = findForResultSet(sql);
try {
ResultSetMetaData metaData = rs.getMetaData();
int colCount = metaData.getColumnCount();
while (rs.next()) {
List<String> row = new ArrayList<String>();
for (int i = 1; i <= colCount; i++) {
String str = rs.getString(i);
if (str != null && !str.isEmpty())
str = str.trim();
row.add(str);
}
list.add(row);
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
// 获取退货最大ID
public static String getRkthMainMaxId(Date date) {
return getMainTypeTableMaxId(date, "tb_rkth_main", "RT", "rkthId");
}
// 在事务中添加入库退货信息
public static boolean insertRkthInfo(TbRkthMain rkthMain) {
try {
boolean autoCommit = conn.getAutoCommit();
conn.setAutoCommit(false);
// 添加入库退货主表记录
insert("insert into tb_rkth_main values('" + rkthMain.getRkthId()
+ "','" + rkthMain.getPzs() + "'," + rkthMain.getJe()
+ ",'" + rkthMain.getYsjl() + "','" + rkthMain.getGysname()
+ "','" + rkthMain.getRtdate() + "','" + rkthMain.getCzy()
+ "','" + rkthMain.getJsr() + "','" + rkthMain.getJsfs()
+ "')");
Set<TbRkthDetail> rkDetails = rkthMain.getTbRkthDetails();
for (Iterator<TbRkthDetail> iter = rkDetails.iterator(); iter
.hasNext();) {
TbRkthDetail details = iter.next();
// 添加入库详细表记录
insert("insert into tb_rkth_detail values('"
+ rkthMain.getRkthId() + "','" + details.getSpid()
+ "'," + details.getDj() + "," + details.getSl() + ")");
// 添加或修改库存表记录
Item item = new Item();
item.setId(details.getSpid());
TbSpinfo spInfo = getSpInfo(item);
if (spInfo.getId() != null && !spInfo.getId().isEmpty()) {
TbKucun kucun = getKucun(item);
if (kucun.getId() != null && !kucun.getId().isEmpty()) {
int sl = kucun.getKcsl() - details.getSl();
update("update tb_kucun set kcsl=" + sl + " where id='"
+ kucun.getId() + "'");
}
}
}
conn.commit();
conn.setAutoCommit(autoCommit);
} catch (SQLException e) {
e.printStackTrace();
}
return true;
}
// 获取销售主表最大ID
public static String getSellMainMaxId(Date date) {
return getMainTypeTableMaxId(date, "tb_sell_main", "XS", "sellID");
}
// 在事务中添加销售信息
public static boolean insertSellInfo(TbSellMain sellMain) {
try {
boolean autoCommit = conn.getAutoCommit();
conn.setAutoCommit(false);
// 添加销售主表记录
insert("insert into tb_sell_main values('" + sellMain.getSellId()
+ "','" + sellMain.getPzs() + "'," + sellMain.getJe()
+ ",'" + sellMain.getYsjl() + "','" + sellMain.getKhname()
+ "','" + sellMain.getXsdate() + "','" + sellMain.getCzy()
+ "','" + sellMain.getJsr() + "','" + sellMain.getJsfs()
+ "')");
Set<TbSellDetail> rkDetails = sellMain.getTbSellDetails();
for (Iterator<TbSellDetail> iter = rkDetails.iterator(); iter
.hasNext();) {
TbSellDetail details = iter.next();
// 添加销售详细表记录
insert("insert into tb_sell_detail values('"
+ sellMain.getSellId() + "','" + details.getSpid()
+ "'," + details.getDj() + "," + details.getSl() + ")");
// 修改库存表记录
Item item = new Item();
item.setId(details.getSpid());
TbSpinfo spInfo = getSpInfo(item);
if (spInfo.getId() != null && !spInfo.getId().isEmpty()) {
TbKucun kucun = getKucun(item);
if (kucun.getId() != null && !kucun.getId().isEmpty()) {
int sl = kucun.getKcsl() - details.getSl();
update("update tb_kucun set kcsl=" + sl + " where id='"
+ kucun.getId() + "'");
}
}
}
conn.commit();
conn.setAutoCommit(autoCommit);
} catch (SQLException e) {
e.printStackTrace();
}
return true;
}
// 获取更类主表最大ID
private static String getMainTypeTableMaxId(Date date, String table,
String idChar, String idName) {
String dateStr = date.toString().replace("-", "");
String id = idChar + dateStr;
String sql = "select max(" + idName + ") from " + table + " where "
+ idName + " like '" + id + "%'";
ResultSet set = query(sql);
String baseId = null;
try {
if (set.next())
baseId = set.getString(1);
} catch (SQLException e) {
e.printStackTrace();
}
baseId = baseId == null ? "000" : baseId.substring(baseId.length() - 3);
int idNum = Integer.parseInt(baseId) + 1;
id += String.format("%03d", idNum);
return id;
}
public static String getXsthMainMaxId(Date date) {
return getMainTypeTableMaxId(date, "tb_xsth_main", "XT", "xsthID");
}
public static List getKucunInfos() {
List list = findForList("select id,spname,dj,kcsl from tb_kucun");
return list;
}
// 在事务中添加销售退货信息
public static boolean insertXsthInfo(TbXsthMain xsthMain) {
try {
boolean autoCommit = conn.getAutoCommit();
conn.setAutoCommit(false);
// 添加销售退货主表记录
insert("insert into tb_xsth_main values('" + xsthMain.getXsthId()
+ "','" + xsthMain.getPzs() + "'," + xsthMain.getJe()
+ ",'" + xsthMain.getYsjl() + "','" + xsthMain.getKhname()
+ "','" + xsthMain.getThdate() + "','" + xsthMain.getCzy()
+ "','" + xsthMain.getJsr() + "','" + xsthMain.getJsfs()
+ "')");
Set<TbXsthDetail> xsthDetails = xsthMain.getTbXsthDetails();
for (Iterator<TbXsthDetail> iter = xsthDetails.iterator(); iter
.hasNext();) {
TbXsthDetail details = iter.next();
// 添加销售退货详细表记录
insert("insert into tb_xsth_detail values('"
+ xsthMain.getXsthId() + "','" + details.getSpid()
+ "'," + details.getDj() + "," + details.getSl() + ")");
// 修改库存表记录
Item item = new Item();
item.setId(details.getSpid());
TbSpinfo spInfo = getSpInfo(item);
if (spInfo.getId() != null && !spInfo.getId().isEmpty()) {
TbKucun kucun = getKucun(item);
if (kucun.getId() != null && !kucun.getId().isEmpty()) {
int sl = kucun.getKcsl() - details.getSl();
update("update tb_kucun set kcsl=" + sl + " where id='"
+ kucun.getId() + "'");
}
}
}
conn.commit();
conn.setAutoCommit(autoCommit);
} catch (SQLException e) {
e.printStackTrace();
}
return true;
}
// 添加用户
public static int addUser(TbUserlist ul) {
return update("insert tb_userlist values('" + ul.getUsername() + "','"
+ ul.getName() + "','" + ul.getPass() + "','" + ul.getQuan()
+ "')");
}
public static List getUsers() {
List list = findForList("select * from tb_userlist");
return list;
}
// 修改用户方法
public static int updateUser(TbUserlist user) {
return update("update tb_userlist set username='" + user.getUsername()
+ "',name='" + user.getName() + "',pass='" + user.getPass()
+ "',quan='" + user.getQuan() + "' where name='"
+ user.getName() + "'");
}
// 获取用户对象的方法
public static TbUserlist getUser(Item item) {
String where = "username='" + item.getName() + "'";
if (item.getId() != null)
where = "name='" + item.getId() + "'";
ResultSet rs = findForResultSet("select * from tb_userlist where "
+ where);
TbUserlist user = new TbUserlist();
try {
if (rs.next()) {
user.setName(rs.getString("name").trim());
user.setUsername(rs.getString("username").trim());
user.setPass(rs.getString("pass").trim());
user.setQuan(rs.getString("quan").trim());
}
} catch (SQLException e) {
e.printStackTrace();
}
return user;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -