OA addMoidfyModeData(新增人员id)/同步人员自动查询相同字段名

本文介绍了OA系统中通过addMoidfyModeData方法新增人员ID时,如何实现自动同步并查找具有相同字段名的数据。内容涉及到数据同步策略和系统间的交互处理。
摘要由CSDN通过智能技术生成
public boolean  addMoidfyModeData(String url,String modeid,String ygxm,String duizhaobiao_createid) throws RemoteException{
	ModeDateServicePortTypeProxy client= new ModeDateServicePortTypeProxy(url);
//	String modeid ="23";
	String dataid ="";
//	String ygxm ="109";
	
	String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
	xml +="<ROOT>";
	xml +="<header>";
	xml +="<userid>"+duizhaobiao_createid+"</userid>";//用户id
	xml +="<modeid>"+modeid+"</modeid>";//模块id
	xml +="<id>"+dataid+"</id>";//billid 如果是新增则值为空   如果有数据则为修改
	xml +="</header>";
	xml +="<search>";
	xml +="<condition />";
	xml +="<right>Y</right>";//是否验证权限
	xml +="</search>";
	xml +="<data id=\"\">";
	xml +="<maintable>";
	xml +="<field>";
	xml +="<filedname>ygxm</filedname>";//数据库名称
	xml +="<filedlabel>OA员工姓名</filedlabel>";//字段名称
	xml +="<fileddbtype>varchar(256)</fileddbtype>";//数据库类型
	xml +="<filedvalue>"+ygxm+"</filedvalue>";//字段的值
	xml +="<fieldshowname>姓名</fieldshowname>";
	xml +="</field>";
	xml +="</maintable>";
	xml +="<detail></detail>";
	xml +="</data>";
	xml +="</ROOT>";
	String result = client.saveModeData(xml);
	boolean status = result.contains("操作成功");
	return status;
}
	// 最后要填到对照表的数据
		Map<String, Object> duizhao = new HashMap<String, Object>();
		//
		log.info("从OAaction得到的数据==" + mapoa);

		// 从配置文件得到的数据
		ArrayList<ArrayList<String>> A = new ArrayList<ArrayList<String>>();

		// 注意路径问题
		log.info("PATH======" + PATH);
		
		File f = new File(PATH);
		String absolutePath = f.getAbsolutePath();
		log.info("absolutePath======" + absolutePath);
		
//		String url = getProperties_2(PATH, "Url");
//		String dbname = getProperties_2(PATH, "DBname");
//		String dbpassword = getProperties_2(PATH, "DBpassword");
		String oabiao = getProperties_2(PATH, "OATable");
		String ModeUrl = getProperties_2(PATH, "ModeUrl");
		
		int count = 1;
		int propsize = getPropsize(PATH);
		log.info("配置文件行数==" + propsize);
		for (int i = 2; i < propsize; i=i+4) {
			
			ArrayList<String> b1 = new ArrayList<String>();
//			b1.add(url);
//			b1.add(dbname);
//			b1.add(dbpassword);
			b1.add(oabiao);
			
			String duizhaobiao = getProperties_2(PATH, "duizhaobiao" + count);
			String tixingSuc = getProperties_2(PATH, "tixingSuc"+count);
			String tixingFail = getProperties_2(PATH, "tixingFail"+count);
			String delete = getProperties_2(PATH, "delete"+count);
			b1.add(duizhaobiao);
			b1.add(tixingSuc);
			b1.add(tixingFail);
			b1.add(delete);
			A.add(count - 1, b1);
			count++;
		}
		//从数据库查询出的字段名称
			ArrayList<String> a = new ArrayList<String>();
			//对比之后相同的字段名称
			ArrayList<String> a2 = new ArrayList<String>();

			RecordSetTrans rs = new RecordSetTrans();
			String sqlcolumns = "select name from sys.columns where object_id=object_id('" + duizhaobiao + "')";
			try {
				rs.executeQuery(sqlcolumns);
				while (rs.next()) {
					// Retrieve by column name
					String id = rs.getString("name");
					// Display values
					a.add(id);
				}
			} catch (Exception e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}
			log.info("从数据库查出来的字段" + a);
			for (int i = 0; i < a.size(); i++) {

				if (mapoa.containsKey(a.get(i)) == true) {
					a2.add(a.get(i));
					log.info("循环比较" + a2);
					String str = mapoa.get(a.get(i)).toString();
					duizhao.put(a.get(i).toString(), str);
				}
			}

			log.info("比较出来的字段" + a2);
			log.info("填入对照表的数据==" + duizhao);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值