📄 prodorderdao.java
字号:
_logger.warn(rux.getMessage(), rux);
// throw rux;
} catch (Exception e) {
_logger.warn(e.getMessage(), e);
}
return null;
}
/**
* 添加一条历史记录
*
* @param _prod
* @return productid
*/
public boolean addLockProdOrder(ProdorderDAO _prod) {
try {
StringBuffer _sb = new StringBuffer();
_sb.append("INSERT INTO tf_prodorder(PRODORDERID,UPPRODORDERID,");
_sb.append("PRODUCTID,USERID,WebOrder,PROGRESSSTATE,USERNAME,");
_sb.append("OPERATIONPWD,VIPNO,Calling,CARTNAME,CARTNO,ABOUTTEL,POSTALCODE,");
_sb.append("LinkMan,EMAIL,MailAddress,RELATIONTEL,BUILDPAYMENTMODE,COMMPAYMENTMODE,");
_sb.append("HOPEUSETIME,OTHERDESC,ACCEPTTIME,CUSTCODE,LOCKSTAFFID,OUTDATE,");
_sb
.append("BOSOMPROGRESSSTATE,OLDADDR,NEWADDR,USEMODENMODE,ADSL_PRICE_ID,OPERATIONTYPE,IF_MOVE,SERV_NBR_NAME,THIRDMSG) ");
_sb.append("VALUES(seq_prodorderid.nextval,to_number(?),");
_sb.append("to_number(?),?,?,?,?,?,?,?,?,?,?,?,?,?,?,");
_sb.append("?,?,?,to_date(?,'yyyy-mm-dd hh24:mi'),?,sysdate,");
_sb.append("?,to_number(?),to_date(?,'yyyy-mm-dd hh24:mi'),?,?,?,?,?,?,?,?,?)");
Object[] _object = new Object[33];
_object[0] = _prod.getUPPRODORDERID();
_object[1] = _prod.getPRODUCTID();
_object[2] = _prod.getUSERID();
_object[3] = _prod.getWEBORDER();
_object[4] = _prod.getPROGRESSSTATE();
_object[5] = _prod.getUSERNAME();
_object[6] = _prod.getOPERATIONPWD();
_object[7] = _prod.getVIPNO();
_object[8] = _prod.getCALLING();
_object[9] = _prod.getCARTNAME();
_object[10] = _prod.getCARTNO();
_object[11] = _prod.getABOUTTEL();
_object[12] = _prod.getPOSTALCODE();
_object[13] = _prod.getLINKMAN();
_object[14] = _prod.getEMAIL();
_object[15] = _prod.getMAILADDRESS();
_object[16] = _prod.getRELATIONTEL();
_object[17] = _prod.getBUILDPAYMENTMODE();
_object[18] = _prod.getCOMMPAYMENTMODE();
_object[19] = _prod.getHOPEUSETIME();
_object[20] = _prod.getOTHERDESC();
// _object[21]=_prod.getACCEPTTIME();
_object[21] = _prod.getCUSTCODE();
_object[22] = _prod.getLOCKSTAFFID();
_object[23] = _prod.getOUTDATE();
_object[24] = _prod.getBOSOMPROGRESSSTATE();
_object[25] = _prod.getOLDADDR();
_object[26] = _prod.getNEWADDR();
_object[27] = _prod.getUSEMODENMODE();
_object[28] = _prod.getADSL_PRICE_ID();
_object[29] = _prod.getOPERATIONTYPE();
_object[30] = _prod.getIF_MOVE();
_object[31] = _prod.getSERV_NBR_NAME();
_object[32] = _prod.getTHIRDMSG();
_dac.beginTransaction(1000);
int i = _dac.executeUpdate(_sb.toString(), 1000, _object);
if (i > 0) {
endTransaction(true);
return true;
}
} catch (Exception e) {
_logger.warn(e.getMessage(), e);
}
endTransaction(false);
return false;
}
/**
* 跟据原始受理单获取最近插入的历史单的id
*
* @param id
* @return
*/
public String getProdHistoryPId(String id) {
try {
String sql = "select prodorderid from " + "(select t.prodorderid from tf_prodorder t " + "where weborder="
+ "(select weborder from tf_prodorder where prodorderid=?) " + "order by accepttime desc) "
+ "where rownum = 1";
Object[] _object = new Object[1];
_object[0] = id;
_dataTable = _dac.executeQuery(sql, _object);
if (_dataTable != null && _dataTable.getRows().getCount() > 0) {
return _dataTable.getRow(0).getString("prodorderid");
}
} catch (Exception e) {
_logger.warn(e.getMessage(), e);
}
return "";
}
/**
* 跟据历史记录获取其原受理单id
*
* @param productid
* @return
*/
public String getPerentID(String productid) {
try {
String sql = "select t.upprodorderid from tf_prodorder t" + " where t.prodorderid=?";
Object[] _object = new Object[1];
_object[0] = productid;
_dataTable = _dac.executeQuery(sql, _object);
if (_dataTable != null && _dataTable.getRows().getCount() > 0) {
String upid = _dataTable.getRow(0).getString("upprodorderid");
return upid.equals("0") ? productid : upid;
}
} catch (Exception ex) {
_logger.warn(ex.getMessage(), ex);
}
return "";
}
/**
* @param pageSize
* 每页记录条数
*/
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
/**
* 锁定订单状态
*
* @param prodorderID
* 订单ID
*/
public static boolean setProdorderLock(String prodorderID, String staffCode) {
String sql = "update tf_prodorder t set t.LOCKSTAFFID=to_number(?) where "
+ "t.prodorderid=to_number(?) and t.LOCKSTAFFID is null and t.UPPRODORDERID=0";
Object[] value = new Object[2];
value[0] = staffCode;
value[1] = prodorderID;
try {
int i = _dac.executeUpdate(sql, 10000, value);
if (i > 0) {
return true;
}
} catch (Exception e) {
_logger.warn("Prodorder 锁定失败 " + e.getMessage());
}
return false;
}
/**
* <code>
* 解锁一张单
* </code>
*
* @param prodorderID
* @return
*/
public static boolean setProdorderUnLock(String prodorderID) {
String sql = "update tf_prodorder t set LOCKSTAFFID=null where prodorderid =to_number(?) and UPPRODORDERID=0";
Object[] value = new Object[1];
value[0] = prodorderID;
try {
int i = _dac.executeUpdate(sql, 10000, value);
if (i > 0)
return true;
} catch (Exception e) {
_logger.warn("Prodorder 解锁失败 " + e.getMessage());
}
return false;
}
/**
* <code>
* 将工号id为staffid的所有定单解锁
* </code>
*
* @param staffid
* @return
*/
public static boolean setProdorederUnlockAll(String staffid) {
String sql = "update tf_prodorder t set t.lockstaffid=null where t.lockstaffid=? and t.upprodorderid=0";
Object[] value = new Object[1];
value[0] = staffid;
try {
int i = _dac.executeUpdate(sql, 20000, value);
if (i > 0)
return true;
} catch (Exception e) {
_logger.warn("Prodorder 解锁失败 " + e.getMessage());
}
return false;
}
/**
* <p>
* 业务受理单归档
* </p>
*
*/
public static void archvieOrderSheet() {
StringBuffer sql = new StringBuffer();
sql.append("update tf_prodorder t set t.BOSOMPROGRESSSTATE='A' where");
sql.append(" t.PROGRESSSTATE='3' and t.BOSOMPROGRESSSTATE='9' and sysdate-t.accepttime > ?");
try {
_dac.executeUpdate(sql.toString(), 20000, new Object[] { getOrderArchivalDay() });
} catch (Exception ex) {
_logger.warn("Prodorder 业务受理单归档失败: " + ex.getMessage());
}
}
/**
* 受理单处理过程状态设置
*
* @param state
* 状态 1、待处理 2、转派 3、暂存 8、作废(作废的受理单也纳入完成范围内) 9、完成
* @param prodorderID
* 受理单ID
*/
public void setBosomprogressstate(String state, String prodorderID) {
String sql = "update tf_prodorder t set t.BOSOMPROGRESSSTATE=? where t.prodorderid=to_number(?)";
Object[] value = new Object[2];
value[0] = state;
value[1] = prodorderID;
try {
_dac.executeUpdate(sql, 10000, value);
} catch (Exception e) {
_logger.warn("ProdorderDAO 受理单处理过程状态 " + e.getMessage());
}
}
/**
* 设置进度状态
*
* @param state
* 1、等待处理 2、处理中 (分二种,一种已提供给第三方系统,一种是审核岗查阅过但还未提供给第三方系统,
* 他们根据Tf_ProdOrderInterface表中的第三方定单流水号字段来区分) 3、处理结束
* @param prodorderID
*/
public void setProcessState(String state, String bosState, String prodorderID) {
String sql = "update tf_prodorder set PROGRESSSTATE = ?,BOSOMPROGRESSSTATE = ?,"
+ "OUTDATE = sysdate where PRODORDERID = to_number(?)";
Object[] value = new Object[3];
value[0] = state;
value[1] = bosState;
value[2] = prodorderID;
try {
_dac.executeUpdate(sql, 10000, value);
} catch (Exception e) {
_logger.warn(e.getMessage());
}
}
/**
* 修改一张用户锁定的受理单
*
* @param _prodorder
* @return
*/
public boolean setProdOrderDetail(ProdorderDAO _prodorder) {
try {
Object[] _object = new Object[14];
_object[0] = (String) _prodorder.getUSERNAME();
_object[1] = (String) _prodorder.getVIPNO();
_object[2] = (String) _prodorder.getCARTNO();
_object[3] = (String) _prodorder.getABOUTTEL();
_object[4] = (String) _prodorder.getPOSTALCODE();
_object[5] = (String) _prodorder.getLINKMAN();
_object[6] = (String) _prodorder.getEMAIL();
_object[7] = (String) _prodorder.getMAILADDRESS();
_object[8] = (String) _prodorder.getRELATIONTEL();
_object[9] = (String) _prodorder.getHOPEUSETIME();
_object[10] = (String) _prodorder.getOLDADDR();
_object[11] = (String) _prodorder.getNEWADDR();
_object[12] = (String) _prodorder.getOTHERDESC();
_object[13] = (String) _prodorder.getPRODORDERID();
StringBuffer sql = new StringBuffer();
sql.append("update tf_prodorder set USERNAME=?,VIPNO=?,CARTNO=?");
sql.append(",ABOUTTEL=?,POSTALCODE=?,LINKMAN=?,EMAIL=?");
sql.append(",MAILADDRESS=?,RELATIONTEL=?");
sql.append(",HOPEUSETIME=to_date(?,'YYYY-MM-DD')");
sql.append(",OLDADDR=?,NEWADDR=?,OTHERDESC=?");
sql.append(" where PRODORDERID=to_number(?)");
int i = _dac.executeUpdate(sql.toString(), 10000, _object);
if (i > 0)
return true;
} catch (Exception e) {
_logger.warn(e.getMessage());
}
return false;
}
/**
* 设置超时限
*
* @param date
* 超时日期
*/
public void updateOutDate(String date, String prodorderid) {
String sql = "update tf_prodorder set OUTDATE=sysdate where prodorderid=to_number(?)";
try {
_dac.executeUpdate(sql, 10000, new Object[] { prodorderid });
} catch (Exception e) {
_logger.error("ProdorderDAO 超时时限更新失败 " + e.getMessage());
}
}
/**
* 作废
*
* @param prodorderID
*/
public void blankOut(String prodorderID) {
String sql = "update tf_prodorder t set PROGRESSSTATE = '3',BOSOMPROGRESSSTATE= '8', LOCKSTAFFID ='' where PRODORDERID = ? ";
Object[] value = new Object[1];
value[0] = prodorderID;
try {
_dac.executeUpdate(sql, 10000, value);
} catch (Exception e) {
_logger.error(e.getMessage());
}
}
static public boolean updateOtherorder(String OtherorderID, String prodorder) {
String sql = "update tf_prodorder t set CUSTCODE=?,PROGRESSSTATE='2',"
+ "BOSOMPROGRESSSTATE='2' where PRODORDERID=?";
Object[] value = new Object[2];
value[0] = OtherorderID;
value[1] = prodorder;
try {
int i = _dac.executeUpdate(sql, 10000, value);
if (i > 0)
return true;
} catch (Exception e) {
_logger.warn("updateOherorder " + e.getMessage());
}
return false;
}
/**
* 更新错误信息
*
* @param OtherMSG
* @param prodorder
* @return
*/
static public boolean updateOtherMSG(String OtherMSG, String prodorder) {
String sql = "update tf_prodorder t set THIRDMSG=? where PRODORDERID=?";
Object[] value = new Object[2];
value[0] = OtherMSG;
value[1] = prodorder;
try {
int i = _dac.executeUpdate(sql, 10000, value);
if (i > 0)
return true;
} catch (Exception e) {
_logger.warn("updateOtherMSG " + e.getMessage());
}
return false;
}
/**
*
* @param dbClient
* @param prodOrderId
* @return
*/
public Tf_ProdOrder getSingleProdOrder(DacClient dbClient, String prodOrderId) {
Tf_ProdOrder tf_prodOrder = null;
try {
tf_prodOrder = new Tf_ProdOrder(dbClient, Long.parseLong(prodOrderId));
} catch (Exception ex) {
FileLogger.getLogger().warn(ex);
ex.printStackTrace();
throw new RuntimeException(ex);
}
return tf_prodOrder;
}
/**
* <title>工单是否升降排序</title> <body>true : 升序 1: 待处理 3: 暂存 2: 转派 6: 自己锁定 7:回退</body>
* <body>false : 降序 0: 所有订单 4: 已作废 5: 已完成 8:归档
*
* </body>
*
* @param active
* @return
*/
private static boolean isCompositor(String active) {
if (active == null || active.equals("")) {
return false;
}
if (active.equals("1")) {
return true;
}
if (active.equals("3")) {
return true;
}
if (active.equals("2")) {
return true;
}
if (active.equals("4")) {
return false;
}
if (active.equals("5")) {
return false;
}
if (active.equals("6")) {
return true;
}
if (active.equals("7")) {
return true;
}
if (active.equals("8")) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -