fundao.java

来自「电信的网厅的整站代码」· Java 代码 · 共 648 行 · 第 1/2 页

JAVA
648
字号
	/**
	 * 取出某个地市的单条记录.....................目前主要用来做变更。。。。。。。。。。取新的名称。
	 * 
	 * @param productid
	 * @param code
	 * @param citycode
	 * @return
	 * @throws java.sql.SQLException
	 * @throws RuntimeException
	 */
	static public String getSinFunOrder(String productid, String code,
			String citycode) throws java.sql.SQLException, RuntimeException {
		StringBuffer sql = new StringBuffer();
		String name = "";
		try {
			Object[] value = new Object[3];
			value[0] = code; // 登陆帐号
			value[1] = productid; // 程控功能序号
			value[2] = citycode;
			// 基本条件
			sql.append(" select f.* ");
			sql.append(" from td_prodfun f");
			sql.append(" where f.FUNCODE=? and f.PRODUCTID=? and f.CITYCODE=?");
			DataTable dt_ml = _dac.executeQuery(sql.toString(), value);
			for (int i = 0; i < dt_ml.getRows().getCount(); i++) {
				DataRow dr_ml = dt_ml.getRow(i);
				name = dr_ml.getString("FUNNAME_BSS");
				break;
			}
			return name;
		} catch (java.sql.SQLException sqlx) {
			throw sqlx;
		} catch (RuntimeException rux) {
			_logger.warn(rux.getMessage(), rux);
			throw rux;
		}
	}

	/**
	 * **************程控工单修改程控信息********************** wull
	 * 2006-6-14***********************
	 * 
	 * @param OtherMSG
	 * @param funorderid
	 * @return
	 */
	public boolean updateFunMSG(Map OtherMSG, String funorderid) {

		LinkedList _linkList = new LinkedList();
		_linkList.add(OtherMSG.get("PROGRESSSTATE"));
		_linkList.add(OtherMSG.get("THIRDMSG"));
		_linkList.add(OtherMSG.get("OTHERORDER"));
		_linkList.add(OtherMSG.get("FINISHTIME"));
		_linkList.add(OtherMSG.get("FUNORDERID"));
		String sql = "update tf_funorder set PROGRESSSTATE=?,THIRDMSG=?,OTHERORDER=?,FINISHTIME= to_date(?,'YYYY-MM-DD HH24:MI') where FUNORDERID=?";
		try {
			if (OtherMSG.size() >= 1) {
				int i = _dac.executeUpdate(sql, 10000, _linkList.toArray());
				if (i > 0)
					return true;
			}
		} catch (Exception e) {
			_logger.warn("updateFunMSG  " + e.getMessage());
		}
		return false;
	}

	private static DataTable executePageList(int start, int end, String sql,
			Object[] _param) throws java.sql.SQLException {
		StringBuffer _sb = new StringBuffer();
		_sb.append("SELECT * FROM ( SELECT row_.*, rownum rownum_ FROM(");
		_sb.append(sql);
		_sb.append(")row_ WHERE rownum <=");
		_sb.append(end);
		_sb.append(") WHERE rownum_ >");
		_sb.append(start);

		if (_param == null || _param.length == 0) {
			return _dac.executeQuery(_sb.toString());
		}
		else {
			return _dac.executeQuery(_sb.toString(), _param);
		}
	}

	/**
	 * <title>程控与套餐受理单是否升降排序</title> <body>true : 升序 1: 待处理, 2:处理中, L:锁定 </body>
	 * <body>false : 降序 3:处理结束, 4:处理失败与异常, 911:撤单
	 * </body>
	 * 
	 * @param active
	 * @return
	 */
	private static boolean isCompositor(String active) {
		
		if (active == null || active.equals("")) {
			return false;
		}
		else if (active.equals("1") || active.equals("2") || active.equals("L")) {
			return true;
		}
		else if (active.equals("3") || active.equals("4") || active.equals("911")) {
			return false;
		}
		return false;
	}

	/**
	 * <title>工单是否被锁定.</title>
	 * 
	 * @param funid
	 * @return
	 */
	public String lockID(String funid) {
		try {
			String sql = "select f.lockstaffid from tf_funorder f where f.funorderid=?";

			DataTable dt = _dac.executeQuery(sql, new Object[] { funid });
			if (dt == null || dt.getRows().getCount() == 0) {
				return "";
			}

			String lockId = dt.getRow(0).getString("lockstaffid");
			if (lockId == null || lockId.equals("")) {
				return "";
			}
			return lockId;

		} catch (Exception ex) {
			_logger.warn("isLock  " + ex.getMessage());
		}
		return "";
	}
	/**
	 * <title>设置工单信息.</title>
	 * 
	 * @param funid
	 * @param state
	 * @return
	 */
	public boolean setOrderMsg(java.util.Map _map) {
			String sFunorderid = (String) _map.get("FUNORDERID");
			String sThirdmsg = (String) _map.get("THIRDMSG");
			String sFinishTime = (String) _map.get("FINISHTIME");
		try {

			String sql = "update tf_funorder f set f.THIRDMSG = ? , f.FINISHTIME= to_date(?,'YYYY-MM-DD HH24:MI') where f.FUNORDERID=?";
			int i = _dac
					.executeUpdate(sql, 1000, new Object[] { sThirdmsg,sFinishTime, sFunorderid });
			if (i > 0) {
				return true;
			}
			return false;

		} catch (Exception ex) {
			_logger.warn("isLock  " + ex.getMessage());
		}
		return false;
	}
	/**
	 * <title>锁定一张工单.</title>
	 * 
	 * @param funid
	 * @return 失败:
	 */
	public boolean isLockOrder(String funid, String lockid) {

		String queryID = lockID(funid);
		if (lockid.equals(queryID)) {
			return true;
		}

		if (queryID.equals("") && lockOrderSelf(funid, lockid)) {
			return true;
		}
		return false;

	}

	/**
	 * <title>审核员工锁定一张工单.</title>
	 * 
	 * @param funid
	 * @param lockid
	 * @return
	 */
	private boolean lockOrderSelf(String funid, String lockid) {
		try {

			String sql = "update tf_funorder f set f.lockstaffid=? where f.funorderid=?";
			int i = _dac.executeUpdate(sql, 1000,
					new Object[] { lockid, funid });
			if (i > 0) {
				return true;
			}
			return false;

		} catch (Exception ex) {
			_logger.warn("isLock  " + ex.getMessage());
		}
		return false;
	}

	/**
	 * <title>解锁工单.</title>
	 * 
	 * @param funid
	 * @return
	 */
	public boolean unLock(String funid) {
		try {

			String sql = "update tf_funorder f set f.lockstaffid = '' where f.funorderid=?";
			int i = _dac.executeUpdate(sql, 1000, new Object[] { funid });
			if (i > 0) {
				return true;
			}
			return false;

		} catch (Exception ex) {
			_logger.warn("isLock  " + ex.getMessage());
		}
		return false;
	}

	/**
	 * <title>设置工单状态.</title>
	 * 
	 * @param funid
	 * @param state
	 * @return
	 */
	public boolean setOrderState(String funid, String state) {
		try {

			String sql = "update tf_funorder f set f.progressstate = ? where f.funorderid=?";
			int i = _dac
					.executeUpdate(sql, 1000, new Object[] { state, funid });
			if (i > 0) {
				return true;
			}
			return false;

		} catch (Exception ex) {
			_logger.warn("isLock  " + ex.getMessage());
		}
		return false;
	}

	/**
	 * <title>撤消工单.</title>
	 * 
	 * @param funid
	 * @return
	 */
	public boolean cancelOrder(String funid) {
		return setOrderState(funid, "911");
	}

	/**
	 * <title>获取单张程控工单的数据.</title> <body>为了以后扩展,现在作冗鱼处理.</body>
	 * 
	 * @param funId
	 * @return
	 */
	public DataTable singleOrder(String funId) {

		try {
			String sql = "select * from tf_funorder f where f.funorderid=?";
			return _dac.executeQuery(sql, new Object[] { funId });
		} catch (Exception ex) {
			_logger.warn("isLock  " + ex.getMessage());
		}

		return null;
	}
	/**
	 * 取单条记录
	 * @param funId
	 * @param citycode
	 * @return
	 */
	public DataTable SingleOrderInfo(String funId,String citycode) {
        if(citycode==null ||"".equals(citycode)||"null".equals(citycode))citycode = "0590";
		try {
			//String sql = "select * from tf_funorder f where f.funorderid=?";
			StringBuffer sql = new StringBuffer();
			LinkedList _linkList = new LinkedList();
			sql.append(" select t.FUNORDERID,t.WEBORDER,to_char(t.ACCEPTTIME,'YYYY-MM-DD HH24:MI') ACCEPTTIME,");
			sql.append(" decode(t.ACTION,'1','开','2','关','3','设置',4,'取消',5,'变更','其它') ACTION,");
			// ACTION
			sql.append(" t.PROGRESSSTATE,staff.name,");
			sql.append(" decode(t.PROGRESSSTATE,'1','待处理','2','处理中','3','处理完成',4,'处理失败','其它') PROGRESSSTATENAME,");
			sql.append(" t.OTHERORDER,t.ORDERNBRTYPE,t.TEMPORDER,t.CONTENT,");
			sql.append(" t.PHONENUM,to_char(t.FINISHTIME,'YYYY-MM-DD HH24:MI') FINISHTIME,");
			sql.append(" decode(f.PRODUCTID,'1','固定电话','2','小灵通','其它') PRODUCTIDNAME,");
			sql.append(" f.CITYCODE,f.PRODUCTID,f.FUNCODE,f.FUNNAME,f.FUNAUTO,f.FUNTYPE,f.FUNNAME_BSS,");
			sql.append(" decode(t.FUNORDERAUTO,'0','自助','1','人工','其它') FUNAUTONAME,");
			sql.append(" decode(f.FUNTYPE,'C','程控','N','新业务','T','套餐','其它') FUNTYPENAME,");// C-程控
			sql.append(" c.PARADESC");
			sql.append(" from tf_funorder t ,td_prodfun f,ts_configsub c,tf_staff staff");
			sql.append(" where t.FUNORDERID = ? ");
			_linkList.add(funId);
			// 权限值
			if (!citycode.equals("0590")) {
				sql.append(" and t.citycode=?");
				_linkList.add(citycode);
				sql.append(" and c.citycode=?");
				_linkList.add(citycode);
			}
			sql.append(" and t.PRODFUNID=f.PRODFUNID and c.PARANAME='FunFailureStateLogDsec' ");
			
			sql.append(" and t.PROGRESSSTATE=c.PARAVALUE(+) ");
			sql.append(" and t.lockstaffid=staff.staffid(+) ");
			return _dac.executeQuery(sql.toString(),_linkList.toArray());
		} catch (Exception ex) {
			_logger.warn("isLock  " + ex.getMessage());
		}

		return null;
	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?