For Test

For Test

Discover interesting p

select * from all

public static void saveBatch(DataInterface[] objs ,  String tablePostfix) throws Exception{
		if (ArrayUtils.isEmpty(objs)) {
			return;
		}
		Connection conn = null;
		try {
			ObjectType objType = ServiceManager.getObjectTypeFactory().getInstance(objs[0].getBoName());
	        // 1.從線程變量裏獲取是否要保存改單的
	        if (ChangeOrderManage.getUpdateOrder().isUpdateOrderFlag()) {//只有改單才需要執行此方法
	        	MethodUtils.invokeMethod(ClassFactory.getInstance("com.ai.order.bomgmt.item.sv.impl.OrdItemClientSVImpl"), "saveChgOrdRecords", new Object[]{objs, objType});
	        }
			conn = ServiceManager.getSession().getConnection();
			String replaceTableName = null;
			if (StringUtils.isNotBlank(tablePostfix)) {
				replaceTableName = BeanGenUtils.convertTableName(
						objType.getMapingEnty(), tablePostfix);
			}
			DataResultFactory.getDataOperate().save(conn,
					converIntoDataContainer(objs, objType, replaceTableName));
			for (DataInterface dataInterface : objs) {
				dataInterface.setStsToOld();
			}
		}finally {
			if (conn != null) {
				conn.close();
			}
		}
	}
	private  static DataContainerInterface[] converIntoDataContainer(DataInterface[] objs , ObjectType objectType , String replaceTableName)throws Exception{
		List rtnlist = new ArrayList(objs.length);
		//獲取在保存時統一改操作時間的表靜態配置
		boolean chgFlag = false;
		String cacheKey = "X" + "_" +com.ai.order.common.Constants.CHG_DONEDATE_TABLES + "_" + com.ai.order.common.Constants.OC_CHG_DONEDATE ; 
		BsParaDetail bsParaDetail = (BsParaDetail) CacheUtils
				.get("com.ai.common.sms.configuration.cache.BsParaDetailCacheImpl",
						cacheKey);
		// 如果存在,將修改標識置爲true
		if (null != bsParaDetail
				&& StringUtils.isNotBlank(bsParaDetail.getPara1())
				&& bsParaDetail.getPara1().contains(objectType.getMapingEnty())) {
			chgFlag = true;
		}
		for (DataInterface data: objs) {
			DataContainer container = new DataContainer();
			Manageable a=  (Manageable)data;
			HashMap newMap = a.newMap();
			Iterator itrn =newMap.entrySet().iterator();
			while (itrn.hasNext()){
				Map.Entry ent =itrn.next();
				/**null != ent.getValue() && 可以保存爲null*/
				if(null != objectType.getProperty(String.valueOf(ent.getKey()))){
					Property pro = objectType.getProperty(String.valueOf(ent.getKey()));
					if(null != ent.getValue())
    				{
    					container.set(String.valueOf(ent.getKey()),  ent.getValue());
    				}
					else if(ent.getValue()==null && "DateTime".equals(pro.getJavaDataType()))//若是時間類型可以爲null
    				{
    					container.set(String.valueOf(ent.getKey()),  ent.getValue());
    				}
				}
			}
			if(chgFlag && null != objectType.getProperty(com.ai.order.common.Constants.DONE_DATE) && !container.isPropertyModified(com.ai.order.common.Constants.DONE_DATE)){
				//如果有DONE_DATE字段,設置時間
				container.set(com.ai.order.common.Constants.DONE_DATE, ServiceManager.getOpDateTime());
			}
			HashMap oldMap = a.oldMap();
			Iterator itro =oldMap.entrySet().iterator();
			while (itro.hasNext()){
				Map.Entry ent =itro.next();
				container.initProperty(String.valueOf(ent.getKey()), ent.getValue());
			}
			if(data.isNew()){
				container.setStsToNew();
			}else if (data.isDeleted()){
				container.delete();
			}
			container.setObjectType(objectType);
			if(StringUtils.isNotBlank(replaceTableName)) {
				container.replaceTableName(replaceTableName);
			}
			rtnlist.add(container);

		}
		return rtnlist.toArray(new  DataContainerInterface[0]);
	}
<div>
public static void saveBatch(DataInterface[] objs ,  String tablePostfix) throws Exception{
		if (ArrayUtils.isEmpty(objs)) {
			return;
		}
		Connection conn = null;
		try {
			ObjectType objType = ServiceManager.getObjectTypeFactory().getInstance(objs[0].getBoName());
	        // 1.從線程變量裏獲取是否要保存改單的
	        if (ChangeOrderManage.getUpdateOrder().isUpdateOrderFlag()) {//只有改單才需要執行此方法
	        	MethodUtils.invokeMethod(ClassFactory.getInstance("com.ai.order.bomgmt.item.sv.impl.OrdItemClientSVImpl"), "saveChgOrdRecords", new Object[]{objs, objType});
	        }
			conn = ServiceManager.getSession().getConnection();
			String replaceTableName = null;
			if (StringUtils.isNotBlank(tablePostfix)) {
				replaceTableName = BeanGenUtils.convertTableName(
						objType.getMapingEnty(), tablePostfix);
			}
			DataResultFactory.getDataOperate().save(conn,
					converIntoDataContainer(objs, objType, replaceTableName));
			for (DataInterface dataInterface : objs) {
				dataInterface.setStsToOld();
			}
		}finally {
			if (conn != null) {
				conn.close();
			}
		}
	}
	private  static DataContainerInterface[] converIntoDataContainer(DataInterface[] objs , ObjectType objectType , String replaceTableName)throws Exception{
		List rtnlist = new ArrayList(objs.length);
		//獲取在保存時統一改操作時間的表靜態配置
		boolean chgFlag = false;
		String cacheKey = "X" + "_" +com.ai.order.common.Constants.CHG_DONEDATE_TABLES + "_" + com.ai.order.common.Constants.OC_CHG_DONEDATE ; 
		BsParaDetail bsParaDetail = (BsParaDetail) CacheUtils
				.get("com.ai.common.sms.configuration.cache.BsParaDetailCacheImpl",
						cacheKey);
		// 如果存在,將修改標識置爲true
		if (null != bsParaDetail
				&& StringUtils.isNotBlank(bsParaDetail.getPara1())
				&& bsParaDetail.getPara1().contains(objectType.getMapingEnty())) {
			chgFlag = true;
		}
		for (DataInterface data: objs) {
			DataContainer container = new DataContainer();
			Manageable a=  (Manageable)data;
			HashMap newMap = a.newMap();
			Iterator itrn =newMap.entrySet().iterator();
			while (itrn.hasNext()){
				Map.Entry ent =itrn.next();
				/**null != ent.getValue() && 可以保存爲null*/
				if(null != objectType.getProperty(String.valueOf(ent.getKey()))){
					Property pro = objectType.getProperty(String.valueOf(ent.getKey()));
					if(null != ent.getValue())
    				{
    					container.set(String.valueOf(ent.getKey()),  ent.getValue());
    				}
					else if(ent.getValue()==null && "DateTime".equals(pro.getJavaDataType()))//若是時間類型可以爲null
    				{
    					container.set(String.valueOf(ent.getKey()),  ent.getValue());
    				}
				}
			}
			if(chgFlag && null != objectType.getProperty(com.ai.order.common.Constants.DONE_DATE) && !container.isPropertyModified(com.ai.order.common.Constants.DONE_DATE)){
				//如果有DONE_DATE字段,設置時間
				container.set(com.ai.order.common.Constants.DONE_DATE, ServiceManager.getOpDateTime());
			}
			HashMap oldMap = a.oldMap();
			Iterator itro =oldMap.entrySet().iterator();
			while (itro.hasNext()){
				Map.Entry ent =itro.next();
				container.initProperty(String.valueOf(ent.getKey()), ent.getValue());
			}
			if(data.isNew()){
				container.setStsToNew();
			}else if (data.isDeleted()){
				container.delete();
			}
			container.setObjectType(objectType);
			if(StringUtils.isNotBlank(replaceTableName)) {
				container.replaceTableName(replaceTableName);
			}
			rtnlist.add(container);

		}
		return rtnlist.toArray(new  DataContainerInterface[0]);
	}

</div>
rojects and people to populate your per
public static void saveBatch(DataInterface[] objs ,  String tablePostfix) throws Exception{
		if (ArrayUtils.isEmpty(objs)) {
			return;
		}
		Connection conn = null;
		try {
			ObjectType objType = ServiceManager.getObjectTypeFactory().getInstance(objs[0].getBoName());
	        // 1.從線程變量裏獲取是否要保存改單的
	        if (ChangeOrderManage.getUpdateOrder().isUpdateOrderFlag()) {//只有改單才需要執行此方法
	        	MethodUtils.invokeMethod(ClassFactory.getInstance("com.ai.order.bomgmt.item.sv.impl.OrdItemClientSVImpl"), "saveChgOrdRecords", new Object[]{objs, objType});
	        }
			conn = ServiceManager.getSession().getConnection();
			String replaceTableName = null;
			if (StringUtils.isNotBlank(tablePostfix)) {
				replaceTableName = BeanGenUtils.convertTableName(
						objType.getMapingEnty(), tablePostfix);
			}
			DataResultFactory.getDataOperate().save(conn,
					converIntoDataContainer(objs, objType, replaceTableName));
			for (DataInterface dataInterface : objs) {
				dataInterface.setStsToOld();
			}
		}finally {
			if (conn != null) {
				conn.close();
			}
		}
	}
	private  static DataContainerInterface[] converIntoDataContainer(DataInterface[] objs , ObjectType objectType , String replaceTableName)throws Exception{
		List rtnlist = new ArrayList(objs.length);
		//獲取在保存時統一改操作時間的表靜態配置
		boolean chgFlag = false;
		String cacheKey = "X" + "_" +com.ai.order.common.Constants.CHG_DONEDATE_TABLES + "_" + com.ai.order.common.Constants.OC_CHG_DONEDATE ; 
		BsParaDetail bsParaDetail = (BsParaDetail) CacheUtils
				.get("com.ai.common.sms.configuration.cache.BsParaDetailCacheImpl",
						cacheKey);
		// 如果存在,將修改標識置爲true
		if (null != bsParaDetail
				&& StringUtils.isNotBlank(bsParaDetail.getPara1())
				&& bsParaDetail.getPara1().contains(objectType.getMapingEnty())) {
			chgFlag = true;
		}
		for (DataInterface data: objs) {
			DataContainer container = new DataContainer();
			Manageable a=  (Manageable)data;
			HashMap newMap = a.newMap();
			Iterator itrn =newMap.entrySet().iterator();
			while (itrn.hasNext()){
				Map.Entry ent =itrn.next();
				/**null != ent.getValue() && 可以保存爲null*/
				if(null != objectType.getProperty(String.valueOf(ent.getKey()))){
					Property pro = objectType.getProperty(String.valueOf(ent.getKey()));
					if(null != ent.getValue())
    				{
    					container.set(String.valueOf(ent.getKey()),  ent.getValue());
    				}
					else if(ent.getValue()==null && "DateTime".equals(pro.getJavaDataType()))//若是時間類型可以爲null
    				{
    					container.set(String.valueOf(ent.getKey()),  ent.getValue());
    				}
				}
			}
			if(chgFlag && null != objectType.getProperty(com.ai.order.common.Constants.DONE_DATE) && !container.isPropertyModified(com.ai.order.common.Constants.DONE_DATE)){
				//如果有DONE_DATE字段,設置時間
				container.set(com.ai.order.common.Constants.DONE_DATE, ServiceManager.getOpDateTime());
			}
			HashMap oldMap = a.oldMap();
			Iterator itro =oldMap.entrySet().iterator();
			while (itro.hasNext()){
				Map.Entry ent =itro.next();
				container.initProperty(String.valueOf(ent.getKey()), ent.getValue());
			}
			if(data.isNew()){
				container.setStsToNew();
			}else if (data.isDeleted()){
				container.delete();
			}
			container.setObjectType(objectType);
			if(StringUtils.isNotBlank(replaceTableName)) {
				container.replaceTableName(replaceTableName);
			}
			rtnlist.add(container);

		}
		return rtnlist.toArray(new  DataContainerInterface[0]);
	}

Your news feed helps you over interesting prkeep up with recent activity on repositories you watch and people you follow.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章