修改信息

Posted singworld

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了修改信息相关的知识,希望对你有一定的参考价值。

	public int modifyMiss(RESINFO bean, List<MISSINGISTEMS> missings, List<MISSINGISTEMS> missList) throws Exception {
		int result = StatusType.DEFAULT ;  

    	RESINFO resinfo = new RESINFO();
    	resinfo.setID(bean.getID());
    	resinfo = this.bean(resinfo);
    	
    	List<MISSINGISTEMS> missingModify = new ArrayList<MISSINGISTEMS>();//存储添加和删除的缺件信息
    	List<MISSINGISTEMS> missingDel = new ArrayList<MISSINGISTEMS>();//存储删除的缺件信息列表
    	List<MISSINGISTEMS> missingAdd = new ArrayList<MISSINGISTEMS>();//存储添加进来的缺件信息列表
    	
    	if (NoneType.isNullOrEmpty(missings) && NoneType.isNullOrEmpty(missList)) {//说明修改前后都没有缺件
    		result = this.daoProvider().modify(bean);
    		
		}else if (NoneType.isNullOrEmpty(missings) && !NoneType.isNullOrEmpty(missList) ) {//修改前没有缺件,修改后存在缺件
			
			for(MISSINGISTEMS missingistems : missList ){
    			missingistems.setID(KeyGenerator.instance().getKey());
    			missingistems.setRESID(resinfo.getID());
    		}
    		
    		this.daoProvider(false).batchInsert(missList);
    		result = this.daoProvider().modify(bean);
    		
		}else if (!NoneType.isNullOrEmpty(missings) && NoneType.isNullOrEmpty(missList)) {//修改后删除全部的缺件
			this.daoProvider(false).batchDelete(missings);
			result = this.daoProvider().modify(bean);
			
		}else {
			missingModify = getDiffrent(missings, missList);//找到新增和删除掉的缺件
			
			for(MISSINGISTEMS miss : missingModify){
				
				if (NoneType.isNullOrEmpty(miss.getID())) {//找到新增的缺件信息
					missingAdd.add(miss);
					
				}else{
					missingDel.add(miss);
				}
			}
			
			for(MISSINGISTEMS missing : missingAdd ){
				missing.setID(KeyGenerator.instance().getKey());
				missing.setRESID(resinfo.getID());
    		}
			
			if(!NoneType.isNullOrEmpty(missingAdd)){
				this.daoProvider(false).batchInsert(missingAdd);
			}
			
			if(!NoneType.isNullOrEmpty(missingDel)){
				this.daoProvider(false).batchDelete(missingDel);
			}
			
			result = this.daoProvider().modify(bean);
		}
    	
        return result ;
	}
	
	/**
     * 获取两个List的不同元素
     * @param missings 表示修改前的缺件信息列表
     * @param missList 表示修改后的缺件信息列表
     * @return
     */
    private static List<MISSINGISTEMS> getDiffrent(List<MISSINGISTEMS> missings, List<MISSINGISTEMS> missList) {
    	List<MISSINGISTEMS> missingistems = new ArrayList<MISSINGISTEMS>();
    	
    	for(MISSINGISTEMS miss : missList){
    		
    		if (NoneType.isNullOrEmpty(miss.getID())) {//找到新增的缺件信息
				missingistems.add(miss);
			}
    	}
    	
    	for(MISSINGISTEMS missing : missings){
    		
    		if(!missList.contains(missing)){//找到删除掉的缺件信息
    			missingistems.add(missing);
    		}
    	}
    		
        return missingistems;
    }
}

  

以上是关于修改信息的主要内容,如果未能解决你的问题,请参考以下文章

Huawei_Netconf_Ncclient

vbscript 各种自定义代码片段 - 有关详细信息,请参阅注释

Oracle 数据库 - 使用UEStudio修改dmp文件版本号,解决imp命令恢复的数据库与dmp本地文件版本号不匹配导致的导入失败问题,“ORACLE error 12547”问题处理(代码片段

修改MySQL密码报错“ERROR 1819 (HY000): Your password does not satisfy the current policy requirements“(代码片段

GMSMarker 信息窗口内容(片段)未更新

vscode中设置vue代码片段