📄 querydefineshowedithandler.java
字号:
package com.gs.control.handlers.pageBuilder.query;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author glt
* @version 1.0
*/
import java.util.*;
import javax.servlet.http.*;
import com.gs.control.handlers.DefaultHandlerSupport;
import com.gs.control.exceptions.WebException;
import com.gs.control.event.HandlerEvent;
import com.gs.pageBuilder.dao.*;
import com.gs.pageBuilder.model.*;
import com.gs.util.*;
import com.gs.pageBuilder.util.AutoBuild;
import com.gs.control.util.PageBuilderScreen;
import com.gs.component.change.dao.*;
import com.gs.pageBuilder.util.*;
import com.gs.component.sysadmin.model.*;
import com.gs.component.enterprise.dao.*;
public class QueryDefineShowEditHandler extends DefaultHandlerSupport{
public HandlerEvent processEvent(HttpServletRequest request) throws
WebException{
Debug.println("[QueryDefineShowEditHandler]ProcessEvent------->start!");
HandlerEvent handlerEvent = new HandlerEvent();
ArrayList queryFieldList = new ArrayList(); //名称核准或开业信息记录
ArrayList queryChangeRecordList = new ArrayList(); //变更信息记录
ArrayList sub = new ArrayList();
String autoPageStr = "";
ArrayList sqls = null;
try{
QueryDAO queryDAO = QueryDAOFactory.getDAO();
QueryPageDefine queryPageDefine = null;
try{
String yearCheckupY = request.getParameter("yearCheckupY"); //年检年度
String innerID = request.getParameter("innerID"); //企业内部序号
HttpSession session = request.getSession(false);
UserModel user = (UserModel) session.getAttribute("userModel");
String SN = request.getParameter("SN"); //事物号
String BID = request.getParameter("BID"); //业务类型
String code = request.getParameter("code"); //编号页面
String DJJG = (String) user.getAreaCoding();
String GXDW = (String) user.getAreaCoding();
String OPR = (String) request.getParameter("OPR");
String action = request.getParameter("action");
String SUB = request.getParameter("SUB");
String regID = request.getParameter("regID");
String oldregID = request.getParameter("oldregID");
String MSN = "";
Debug.print("=======================QueryDefineShowEditHandler SN:" + SN + " BID:" + BID + " innerID:" + innerID + " OPR:" + OPR + " action:" + action + " SUB:" + SUB+ " regID="+regID+" oldregid="+oldregID);
String pageTitle = ""; //依据业务类型
if(SN == null || BID == null || code == null || "".equals(SN) || "".equals(BID) || "".equals(code)){
Debug.println("[QueryDefineShowEditHandler]------->SN or BID or code is null!");
return handlerEvent;
}
//获取查询页面的页面信息
queryPageDefine = queryDAO.getQueryPageDefine(code);
if(queryPageDefine == null){
Debug.println("[QueryDefineShowEditHandler]------->code[" + code + "] 不存在!");
return handlerEvent;
}
//个体注册号编辑更新
if("10".equals(OPR)){
int regi = queryDAO.saveUnitRegister(SN,BID,DJJG,regID,oldregID);
if(regi==1){
// OPR="11";
//request.setParameter("OPR");
// request.setAttribute("OPR",OPR);
Debug.println("[ ==================QueryDefineShowEditHandler]saveUnitRegister resullt ="+regi+" regID="+regID+" OPR="+OPR);
}
Debug.println("[QueryDefineShowEditHandler]saveUnitRegister resullt ="+regi+" regID="+regID);
};
if("3".equals(OPR)){
//是gsgsjin_basis02表修改的保存 (开业基本信息和名称核准基本信息)
ModifyEnterpriseDAO modifyEnterpriseDAO = (ModifyEnterpriseDAO) ModifyEnterpriseDAOFactory.getDAO();
if("1".equals(queryPageDefine.getPageType()) && "5".equals(queryPageDefine.getCATEGORY1()) &&
"02".equals(queryPageDefine.getBID().substring(0,2)) || "01".equals(queryPageDefine.getBID().substring(0,2))){
Debug.print("[QueryDefineShowEditHandler]--->>>开业基本信息gsgsjin_basis02表修改的保存--->>>start");
ArrayList fieldList = new ArrayList();
String updateSql = "update GSGSJIN_BASIS02 set ";
sqls = new ArrayList();
String tempSql = "";
try{
fieldList = modifyEnterpriseDAO.getModifyFieldList(SN,BID,code);
Debug.print("[QueryDefineShowEditHandler]--->>>FIELD LIST SIZE = " + fieldList.size());
for(int i = 0;i < fieldList.size();i++){
QueryPageFieldDefine queryPageFieldDefine = new QueryPageFieldDefine();
queryPageFieldDefine = (QueryPageFieldDefine) fieldList.get(i);
String fieldName = (String) queryPageFieldDefine.getFieldName();
//获取字段列表 gsgsjin_basis02/field003
String tableName = "";
StringTokenizer subTokenizer = new StringTokenizer(fieldName,"/");
if(subTokenizer.hasMoreTokens()){
tableName = (String) (subTokenizer.nextToken());
//Debug.print("[QueryDefineShowEditHandler]processEvent----->tableName=" + tableName);
}
if(subTokenizer.hasMoreTokens()){
fieldName = (String) (subTokenizer.nextToken());
//Debug.print("[QueryDefineShowEditHandler]processEvent----->fieldName=" + fieldName);
}
String fieldValue = request.getParameter(tableName + "_" + fieldName);
if("field009".equals(fieldName)){
if(!"".equals(queryDAO.getModifyNameSqlSN(innerID))&&queryDAO.getModifyNameSqlSN(innerID)!=null){
tempSql="update GSGSJIN_BASIS02 set field009='"+PubFunc.toSql(fieldValue) + "' where field001='"+queryDAO.getModifyNameSqlSN(innerID)+"'";
}
}
updateSql = updateSql + fieldName + "='" + PubFunc.toSql(fieldValue) + "', ";
}
updateSql = updateSql + "field001='" + SN + "' where field001='" + SN + "'";
sqls.add(updateSql);
if(!"".equals(tempSql)&&tempSql!=null){
sqls.add(tempSql);
}
Debug.println("[QueryDefineShowEditHandler]processEvent----->updateSql=" + updateSql);
//保存修改后的值
modifyEnterpriseDAO.executeSQLS(sqls);
} catch(AppException appex){
Debug.println("[QueryDefineShowEditHandler]processEvent----->AppException!");
throw new WebException(appex);
} catch(Exception ex){
Debug.println("[QueryDefineShowEditHandler]processEvent----->else exception!");
throw new WebException(ex);
}
Debug.print("[QueryDefineShowEditHandler]--->>>开业基本信息gsgsjin_basis02表修改的保存--->>>end");
}
//gsgsjin_sub02或者IN_SUB_INSDEL表修改的保存 (开业子表信息、名称核准子表信息、变更子表信息)
if("2".equals(queryPageDefine.getPageType()) && "5".equals(queryPageDefine.getCATEGORY1()) &&
("02".equals(queryPageDefine.getBID().substring(0,2)) || "01".equals(queryPageDefine.getBID().substring(0,2)) ||
"03".equals(queryPageDefine.getBID().substring(0,2)))){
String tableName = "gsgsjin_sub02";
if(BID.startsWith("03")){
MSN = request.getParameter("MSN");
tableName = "IN_SUB_INSDEL";
}
String fieldList = (String) request.getParameter("fieldList"); //fieldList页面上定义的要存取的字段的字符串(在附加脚本中定义的)
String sqlIns = ""; //insert语句中insert后的要插入的字段列表串
String[] sqlVal = null; //insert语句中values后的要插入的字段的值的数组
String sql = ""; //组成的insert语句
sqls = new ArrayList();
if(fieldList == null || "".equals(fieldList)){
Debug.print("[QueryDefineShowEditHandler]--->>>页面参数fieldList为空");
return handlerEvent;
}
//Debug.print("[QueryDefineShowEditHandler]--->>>fieldList: " + fieldList);
StringTokenizer subTokenizer = new StringTokenizer(fieldList,"/");
while(subTokenizer.hasMoreTokens()){
String fieldListName = (String) (subTokenizer.nextToken()); //fieldListName每个要存取的字段 例如:field001
sqlIns = sqlIns + "," + getFieldName(fieldListName); //例如:field001,field002,field003……
String[] fieldNameArray = request.getParameterValues(fieldListName); //每个要存取的字段的数组 例如:field001[0]
Debug.print("[QueryDefineShowEditHandler]--->>>sqlIns:" + sqlIns);
if(fieldNameArray == null || fieldNameArray.length == 0){
Debug.print("[QueryDefineShowEditHandler]--->>>页面参数fieldList:没有" + fieldListName);
} else{
Debug.print("[QueryDefineShowEditHandler]--->>>fieldListName=" + fieldListName + " /// length=" + fieldNameArray.length);
String maxNum = null;
if(fieldListName.indexOf("field003") >= 0){
maxNum = (ModifyEnterpriseDAOFactory.getDAO()).getSubMaxRecordNumber(BID,innerID,SUB);
if(maxNum == null || maxNum.equals("")){
maxNum="00";
}
Debug.print("[QueryDefineShowEditHandler]--->>>maxNum of subTable is "+maxNum);
for(int i = 0;i < fieldNameArray.length;i++){
if(fieldNameArray[i] == null || fieldNameArray[i].equals("")){
maxNum = String.valueOf(Integer.parseInt(maxNum) + 1);
maxNum = Integer.parseInt(maxNum) < 10 ? "0" + maxNum : maxNum;
fieldNameArray[i] = maxNum;
}
}
}
if(fieldListName.indexOf("field004") >= 0){
for(int i = 0;i < fieldNameArray.length;i++){
if(fieldNameArray[i] == null || fieldNameArray[i].equals("")){
fieldNameArray[i]=innerID;
}
}
}
for(int i = 0;i < fieldNameArray.length;i++){
try{
if(sqlVal == null){
sqlVal = new String[fieldNameArray.length];
}
if(sqlVal[i] == null){
sqlVal[i] = "";
}
String fieldValue = PubFunc.toSql(fieldNameArray[i]);
//Debug.println("[QueryDefineShowEditHandler]--->>> fieldName=fieldValue[" + i + "]: " + fieldListName + "=" + fieldValue);
sqlVal[i] = sqlVal[i] + ",'" + fieldValue + "'";
} catch(Exception ex){
Debug.println("[QueryDefineShowEditHandler]--->>>exception:" + ex.getMessage());
}
}
}
}
if(sqlIns.length() > 0){
//判断插入语句中是否有要插入的字段并将数据库中原数据删除
if(BID.startsWith("03")){
//sqlIns = "insert into " + tableName + " (field001,field002,field003,field004" + sqlIns + ") ";
sqlIns = "insert into " + tableName + " (field001,field002" + sqlIns + ") ";
sql = "delete from " + tableName + " where field001='" + MSN + "' and field002='" + SUB + "'";
} else{
sqlIns = "insert into " + tableName + " (field001,field002" + sqlIns + ") ";
sql = "delete from " + tableName + " where field001='" + SN + "' and field002='" + SUB + "'";
}
//Debug.print("[QueryDefineShowEditHandler]---DeletetSql--->>>" + sql);
sqls.add(sql);
}
if(sqlVal != null){
for(int i = 0;i < sqlVal.length;i++){
//将页面上的数据插入到数据库中
if("".equals(getInsertOrNot(sqlVal[i]))){
Debug.print("[QueryDefineShowEditHandler]---getInsertOrNot(sqlVal[" + i + "])------>>>页面上该行数据为空,不插入数据库");
} else{
if(BID.startsWith("03")){
sqlVal[i] = "values('" + MSN + "','" + SUB + "'" + sqlVal[i] + ")";
} else{
sqlVal[i] = "values('" + SN + "','" + SUB + "'" + sqlVal[i] + ")";
}
sql = sqlIns + sqlVal[i];
sqls.add(sql);
Debug.print("[QueryDefineShowEditHandler]---InsertSql--->>>" + sql);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -