📄 zhuanghe.java
字号:
package com.zx.dangangl;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.work.db.DbConnection;
import com.work.db.DbUtil;
import com.work.exception.OurException;
public class ZhuangHe {
private static Log log = LogFactory.getLog(ZhuangHe.class);
/**
* 更改盒的起至件号,更改所有装盒的件的盒号,同时更新件的页数
*
* @param ids 要更改的件的记录的id数组
* @param jhId 件号组成的数组
* @param ysId 件的页数组成的数组
* @param hId 盒记录的id号
*/
public void zhuanghe(String[] ids, String[] jhId, String[] ysId,String hId) {
if (ids == null || ids.length < 1) {
throw new OurException("要保存件号的记录id不能为空!");
}
if (jhId == null || jhId.length < 1) {
throw new OurException("要保存件号的值不能为空!");
}
if (ysId == null || ysId.length < 1) {
throw new OurException("要保存件的页数不能为空!");
}
if(hId==null){
throw new OurException("盒的id(hid)不能为空!");
}
int LEN = ids.length;
String tempQzjh = ""; //起至件号
if(LEN ==1){
tempQzjh=jhId[0]+"-"+jhId[0];
}else{
tempQzjh=jhId[0]+"-"+jhId[LEN-1];
}
String jhIds = ""; //件号用逗号组成的字符串
for(int i=0;i<LEN;i++){
jhIds = jhIds +ids[i] +",";
}
jhIds = jhIds.substring(0,jhIds.length()-1);
String qzjhSql = " update zx_danganhe set qzjh='"+tempQzjh+"' where id="+hId; //用于更新盒的起至件号
log.debug("qzjhSql:"+qzjhSql);
String glhhSql = "update zx_jian set hh="+hId+" where id in("+jhIds+")";; //首先更新件的盒号。关联的盒号为盒的id
log.debug("glhhSql:"+glhhSql);
String ysSql = " update zx_jian set ys=? where id=?";
Connection conn = DbConnection.getConn();
if (conn == null)
throw new OurException("获取数据库连接失败!");
PreparedStatement pst = null;
try {
conn.setAutoCommit(false);
pst = conn.prepareStatement(qzjhSql);
pst.executeUpdate();
pst = conn.prepareStatement(glhhSql);
pst.executeUpdate();
pst = conn.prepareStatement(ysSql);
for (int i = 0; i < LEN; i++) {
pst.setInt(1, Integer.parseInt(ysId[i]));
pst.setInt(2, Integer.parseInt(ids[i]));
pst.executeUpdate();
}
conn.commit();
log.info("装盒成功!");
} catch (SQLException e) {
log.error("装盒失败!", e);
try {
conn.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
throw new OurException("装盒失败!", e);
} finally {
DbUtil.closeStatement(pst);
DbUtil.closeConnection(conn);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -