⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 prodorderdao.java

📁 电信的网厅的整站代码
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
			_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 + -