📄 changebusinessdaoimpl.java
字号:
conn = Common.getConnection();
// conn.setAutoCommit(false);
stmt = conn.createStatement();
//将外网01表中删除的记录拷贝到日志表
sql = " insert into " + TableNameUtil.IN_SUB_INSDEL + " select * from " + TableNameUtil.GSGSJOUT_SUB01 + " where field001='" + SN +
"' and field249='old' and field250='del'";
Debug.println("[ChangeBusinessDAOImpl-->>copyOutSubToLogDel]-----sql1" + sql);
stmt.executeUpdate(sql);
//将外网01中增加的记录拷贝到日志表
//...<-2004-02-16 comment :gsgsjout_sub01也存放了提交文件等数据,提交文件不应该也倒入日志表
/*
sql = " insert into " + TableNameUtil.IN_SUB_INSDEL + " select * from " + TableNameUtil.GSGSJOUT_SUB01 + " where field001='" + SN +
"' and field249<>'old'";
*/
//...2004-02-16->
//...<-2004-02-16 add :
sql = " insert into " + TableNameUtil.IN_SUB_INSDEL + " select * from " + TableNameUtil.GSGSJOUT_SUB01 + " where field001='" + SN +
"' and field250 = 'add'";
//...2004-02-16->
Debug.println("[ChangeBusinessDAOImpl-->>copyOutSubToLogDel]-----sql2" + sql);
stmt.executeUpdate(sql);
//...<-2004-02-16 comment :子表新增记录的field250字段已经提前在gsgsjout_sub01表添上了就不用在这里再添了
/*
//更新日志记录--增加部分
sql = " update " + TableNameUtil.IN_SUB_INSDEL + " set field250='add' where field001='" + SN + "' and field249<>'old' and (field250<>'del' or field250 is null)";
Debug.println("[ChangeBusinessDAOImpl-->>copyOutSubToLogDel]-----sql3" + sql);
stmt.executeUpdate(sql);
*/
//...2004-02-16->
//更新日志记录--删除部分
sql = " update " + TableNameUtil.IN_SUB_INSDEL + " set field249='' where field001='" + SN +
"' and field249='old' and (field250='del' or field250 is null)";
Debug.println("[ChangeBusinessDAOImpl-->>copyOutSubToLogDel]-----sql3" + sql);
stmt.executeUpdate(sql);
//更新日志子表标记、SN号
/*sql="select distinct field002 from "+TableNameUtil.IN_SUB_INSDEL+" where field001='"+SN+"'";
Debug.println("[ChangeBusinessDAOImpl-->>copyOutSubToLogDel]-----sql4"+sql);
rs=stmt.executeQuery(sql);
while(rs.next()){
SUB=rs.getString("field002");
OLDSUB="sub02"+SUB.substring(5);
sql=" update "+TableNameUtil.IN_SUB_INSDEL+" set field001='"+ OLDSN +"', field002='"+OLDSUB+"' where field00
1='"+SN+"' and field002='"+SUB+"'";
Debug.println("[ChangeBusinessDAOImpl-->>copyOutSubToLogDel]-----sql5"+sql);
stmt.executeUpdate(sql);
}
**/
//在日志表中增加操作时间和操作员标记
sql = " update " + TableNameUtil.IN_SUB_INSDEL + " set field248='" + currentDateTime + "',field249='" + operateUser + "' where field001='" +
SN + "'";
Debug.println("[ChangeBusinessDAOImpl-->>copyOutSubToLogDel]-----sql22" + sql);
stmt.executeUpdate(sql);
//将外网子表的标记恢复(hgw:? )
sql = "update " + TableNameUtil.GSGSJOUT_SUB01 + " set field249='' ,field250='' where field001='" + SN + "'";
Debug.println("[ChangeBusinessDAOImpl-->>copyOutSubToLogDel]-----sql6" + sql);
stmt.executeUpdate(sql);
////下面的程序将in_sub_insdel.field004修改为 企业的内部序号 陈丹宇 2004-02-18 11:27
//根据开业的事务号得到内部序号
String innerCode = getEnterpriseInnerCode(OLDSN);
//将field004修改为 企业的内部序号
sql = "update " + TableNameUtil.IN_SUB_INSDEL + " set field004='" + innerCode + "' where field001='" + SN + "'";
Debug.println("[ChangeBusinessDAOImpl-->>copyOutSubToLogDel]-----sql6" + sql);
stmt.executeUpdate(sql);
////上面的程序将in_sub_insdel.field004修改为 企业的内部序号 陈丹宇 2004-02-18 11:27
// conn.commit();
} catch(Exception e){
throw new AppException("[ChangeBusinessDAOImpl-->>copyOutSubToLogDel]: Exception " +
e.getMessage());
} finally{
try{
this.closeResultSet(rs);
} catch(Exception e){
}
try{
this.closeStatement(stmt);
} catch(Exception e){
}
try{
this.closeConnection(conn);
} catch(Exception e){
}
}
}
/**
*方法名称:getEnterpriseInnerCode
*功能描述:根据开业事务号取得该企业的内部序号
*参数SN:开业的事务号
*返回值:该企业的内部序号
*创建人:陈丹宇
*创建时间:2004-02-18 11:27
*/
public String getEnterpriseInnerCode(String SN) throws Exception{
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
String sql = "";
String str = "";
try{
conn = Common.getConnection();
// conn.setAutoCommit(false);
stmt = conn.createStatement();
sql = " select field003 from " + TableNameUtil.GSGSJIN_BASIS02 + " where field001='" + SN + "' and field002 like '02%'";
Debug.println("[changeBusinessDAOImpl-->>getEnterpriseInnerCode]sql1---->>>>>>>>>>>>" + sql);
rs = stmt.executeQuery(sql);
if(rs.next()){
str = rs.getString("field003");
}
} catch(Exception e){
throw new AppException("[ChangeBusinessDAOImpl-->>getEnterpriseInnerCode]: Exception " +
e.getMessage());
}
finally{
try{
this.closeResultSet(rs);
} catch(Exception e){
}
try{
this.closeStatement(stmt);
} catch(Exception e){
}
try{
this.closeConnection(conn);
} catch(Exception e){
}
}
return str;
}
/**
*方法名称:delOutSub
*功能描述:外网子表的删除操作
*参数SN:事务号
*参数SUB:子表名
*参数DEL:删除记录号
*返回值:无
*创建人:冯瑞龙
*创建时间:2003-10-22
*/
public void delOutSub(String SN,String SUB,String[] DEL) throws Exception{
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
String sql1 = "";
String sql2 = "";
String str = "";
try{
conn = Common.getConnection();
// conn.setAutoCommit(false);
stmt = conn.createStatement();
for(int i = 0;i < DEL.length;i++){
sql1 = " select field249 from " + TableNameUtil.GSGSJOUT_SUB01 + " where field001='" + SN + "' and field002='" + SUB + "' and field003='" +
DEL[i] + "'";
Debug.println("[ChangeBusinessDAOImpl-->>delOutSub]sql1---->>>>>>>>>>>>" + sql1);
rs = stmt.executeQuery(sql1);
if(rs.next()){
str = rs.getString("field249");
//如果是原开业的子表信息,增加删除标记
if(str != null && str.trim().equals("old")){
sql2 = " update " + TableNameUtil.GSGSJOUT_SUB01 + " set field250='del' where field001='" + SN + "' and field002='" + SUB +
"' and field003='" + DEL[i] + "'";
} else{
//如果是申请新增的子表信息,直接删除
sql2 = " delete from " + TableNameUtil.GSGSJOUT_SUB01 + " where field001='" + SN + "' and field002='" + SUB + "' and field003='" +
DEL[i] + "'";
}
//add (hgw 2004-03-12 11:39)(需要进一步处理)
//如果此次修改不是第一次,则需要删除out_change中field005 = 记录顺序号的数据
//如果核准时是直接复制gsgsjout_sub01中的数据到in_sub_insdel,则还应从
//jsjsin_sub02中复制记录 或 将gsgsjout_sub01中的那条记录恢复和内网一致
//注:页面必须保证记录号唯一,不能和新增加、删除的记录号混淆
Debug.println("[ChangeBusinessDAOImpl-->>delOutSub]sql2----str=" + str + ">>>>>>>>>>>>>>>>>>>>>>sql2=" + sql2);
stmt.executeUpdate(sql2);
} else{
Debug.println("xxxxxxxxxxxxxxxxxxxx");
}
}
// conn.commit();
} catch(Exception e){
throw new AppException("[ChangeBusinessDAOImpl-->>delOutSub]: Exception " +
e.getMessage());
}
finally{
try{
this.closeResultSet(rs);
} catch(Exception e){
}
try{
this.closeStatement(stmt);
} catch(Exception e){
}
try{
this.closeConnection(conn);
} catch(Exception e){
}
}
}
/**
*方法名称:copySubFromInToOut
*功能描述:将子表的记录从sub02拷贝到sub01中。
*参数SN:事务号
*参数OLDSN:开业事务号
*参数BID:业务号
*参数SUB:子表名
*返回值:无
*创建人:冯瑞龙
*创建时间:2003-10-20
*/
public void copySubFromInToOut(String SN,String OLDSN,ArrayList tableList) throws Exception{
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
String sql = "";
//外网sub01中的子表名
String SUB = "";
//内网sub02中的子表名
String OLDSUB = "";
try{
//得到Connection对象
conn = Common.getConnection();
// conn.setAutoCommit(false);
stmt = conn.createStatement();
//对多个子表情况进行联合操作
for(int i = 0;i < tableList.size();i++){
SUB = (String) tableList.get(i);
if(SUB.indexOf("sub01") == -1){
continue;
}
sql = "select field001 from " + TableNameUtil.GSGSJOUT_SUB01 + " where field001='" + SN + "' and field002='" + SUB + "'";
rs = stmt.executeQuery(sql);
Debug.println("[ChangeBusinessDAOImpl---->>>>copySubFromInToOut]sql:" + sql);
//外网子表中如果没有数据,从内网的子表中导入
if(!rs.next()){
OLDSUB = "sub02" + SUB.substring(SUB.indexOf("sub01") + 5);
//将内网的子表的记录拷贝到外网的子表中。
sql = "insert into " + TableNameUtil.GSGSJOUT_SUB01 + " select * from " + TableNameUtil.GSGSJIN_SUB02 + " where field001='" + OLDSN +
"' and field002='" + OLDSUB + "' order by field003";
Debug.println("[ChangeBusinessDAOImpl---->>>>copySubFromInToOut]sql:" + sql);
stmt.executeUpdate(sql);
//将外网的记录的SN和子表名更新为新的SN和外网子表名
sql = "update " + TableNameUtil.GSGSJOUT_SUB01 + " set field001='" + SN + "' ,field002='" + SUB + "',field249='old' where field001='" +
OLDSN + "' and field002='" + OLDSUB + "'";
Debug.println("[ChangeBusinessDAOImpl---->>>>copySubFromInToOut]sql:" + sql);
stmt.executeUpdate(sql);
}
}
// conn.commit();
} catch(Exception e){
throw new AppException("[ChangeBusinessDAOImpl-->>copySubFromInToOut]: Exception " +
e.getMessage());
} finally{
try{
this.closeResultSet(rs);
} catch(Exception e){
}
try{
this.closeStatement(stmt);
} catch(Exception e){
}
try{
this.closeConnection(conn);
} catch(Exception e){
}
}
}
/**
*方法名称:updateSubChangeInfo
*功能描述:更新子表变化的描述信息。
*参数SN:事务号
*返回值:无
*创建人:冯瑞龙
*创建时间:2003-10-23
*/
public void updateSubChangeInfo(String SN,String fieldName,String fieldValue) throws Exception{
Connection conn = null;
Statement stmt = null;
String sql = "";
try{
//得到Connection对象
conn = Common.getConnection();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -