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

📄 pzqzctrl.java

📁 文件的上传和下载的实现,用JAva编写,非常简单
💻 JAVA
字号:
package edu.whut.cwts.pg.hexiao;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.TreeMap;
import java.util.List;
public class PzqzCtrl {
	
	//保存等待添加的用户票段
	public static List result=new ArrayList();
	//记录系统中存在的相互冲突的票据段,需要显示给用户
	public static List result0=new ArrayList();
	//将票据添加在数组中,此数组是用来添加票段的
	public static boolean add(Pzqz pzqz)
	{  
	    if(!isOverLap(result,pzqz))
	    	{
	    	System.out.println("添加失败,存在重复数据");
	    	return false; 	//如果数据段添加重复,则停止加入,直接返回
	    	}
	    else
	    	{
	    	result.add(pzqz);
	    	System.out.println("添加成功");
	    	return true;   //添加成功
	    	}
	}
	
	//业务层控制票据输入防止重复,当然此时用户的输入是随意的,不论前面是否加0
	//需要实现控制他必须输入10位
	public static boolean isOverLap(List result,Pzqz pzqz)   //判断用户输入数据段是否交叉
	{
		for(int i=0;i<result.size();i++)
		{
			Pzqz pzqztemp=(Pzqz)result.get(i);
			if(pzqz.getPzzl().equalsIgnoreCase(pzqztemp.getPzzl()))
			{
				int pzqztempq=Integer.valueOf(pzqztemp.getPzqh()).intValue();
				int pzqztempz=Integer.valueOf(pzqztemp.getPzzh()).intValue();
				int pzqzq=Integer.valueOf(pzqz.getPzqh()).intValue();
				int pzqzz=Integer.valueOf(pzqz.getPzzh()).intValue();
				if(((pzqzq>=pzqztempq)&&(pzqzq<=pzqztempz))||((pzqzz>=pzqztempq)&&(pzqzz<=pzqztempz))||((pzqzq<=pzqztempq)&&(pzqzz>=pzqztempz)))
				{
					return false;        //票据段落添加重复
				}
			}
		}
	
			return true;                 //票据段不重复,可以增加票据哦
	}
	
	//用户离开页面或刷新页面,抛弃所有已保存的数据
	public static void removeAll()
	{
		result.clear();
		result0.clear();
	}
	
	//重票信息反馈给用户后全部清空
	public static void removeAll0()
	{
		result0.clear();
	}
	
	//页面删除单独条记录
	public static void remove(String s)
	{
		String pzzltemp=s.substring(0,1);
		String pzqhtemp=s.substring(1,s.length());
		Assert.p(pzzltemp);
		Assert.p(pzqhtemp);
		Iterator iter = result.iterator();
		while(iter.hasNext())
		{
          	Pzqz temp=(Pzqz)iter.next();
          	
          	Assert.p("login in");
          	Assert.p(temp.getPzqh());
          	if((temp.getPzzl().equals(pzzltemp))&&(temp.getPzqh().equals(pzqhtemp)))
          		{
          		result.remove(temp);
          		Assert.p("移除成功");
          		break;
          		}
		}

	}
	
/*	public static void save()throws SQLException
	{
		for(Iterator iter = result.iterator();iter.hasNext();)
		{
			Pzqz temp=(Pzqz)iter.next();
			int i=PzztCtrl.add(temp,"123","120002");
			if(i==0)
			{
				System.out.println("票据添加失败");
			}
			else
			{
				System.out.println("票据添加成功");
			}
		}
	}*/
	
	//检测和数据库中的重票并提交给用户,用户反映后将这些数据
	public static List overLaps()throws SQLException  
	{
		System.out.println("执行到这里来了");
		for(Iterator iter = result.iterator();iter.hasNext();)
		{
			Pzqz temp=(Pzqz)iter.next();
			boolean flag=PzztCtrl.ch_isexist_Iickets(temp);
			
			if(flag==true)
			{
				System.out.println("部分非法票据存在,反馈给用户");
				result0.add(temp);   //将非法数据存储起来最后反馈给用户
			}
			else
			{
				System.out.println("票据添加成功");
			}
		}
		return result0;
	}
	
	public static void save()throws SQLException
	{
		for(Iterator iter = result.iterator();iter.hasNext();)
		{
			Pzqz temp=(Pzqz)iter.next();
			System.out.println("hello");
			int i=PzztCtrl.add(temp,"123","120002");
			if(i==0)
			{
				System.out.println("票据添加失败");
			}
			else
			{
				System.out.println("票据添加成功");
			}
		}
	}
	
	
	//用户还没正式插入数据前按下时发生此操作,同时页面的数据清空
	public static void cancel()
	{
		result.clear();
		result0.clear();
	}
	
	/*public static List getPzqzs(String zddm)throws SQLException
	{
		ArrayList pjzlList=PzmcCtrl.getAllPz();
		Map map=new HashMap();
		//将所有的票证信息全部首先按照票种种类存储在MAP中,PZHM则存储在响应
		for(int i=0;i<pjzlList.size();i++)
		{
		   Pzmc pzmc=(Pzmc)pjzlList.get(i);
		   map.put(pzmc.getPzzl().trim(),new TreeMap());
		   ArrayList singleTickets=PzztCtrl.getAviableTicket(zddm,pzmc.getPzzl());
		   Iterator itor=singleTickets.iterator();
		   while(itor.hasNext())
		   {
			   Pzzt pzzt=(Pzzt)itor.next();
			   TreeMap treemap=(TreeMap)map.get(pzmc.getPzzl().trim());
			   treemap.put(new Integer(Integer.parseInt(pzzt.getPzhm().trim())),pzzt.getPzhm().trim());
		   }
		}
		
		
		
		
	}*/
	
	public static ArrayList getPzqzsHexiao(String highZddm,String lowZddm,String dprdm,String syzt,String pzzl)throws SQLException
	{
     //将所有的待核销票证信息全部首先按照票种种类存储在MAP中,PZHM则存储在响应
		   ArrayList singleTickets=HexiaoShowList.getHexiaoList(highZddm,lowZddm,dprdm,syzt,pzzl);
		   ArrayList pzqzLists=new ArrayList();
		   Iterator itor=singleTickets.iterator();
		   TreeMap treemap=new TreeMap();
		   while(itor.hasNext())
		   {
			   Pzzt pzzt=(Pzzt)itor.next(); 
			   
			   treemap.put(new Long(Long.parseLong(pzzt.getPzhm().trim())),pzzt.getPzhm().trim());
		   }
		   Iterator itor1=treemap.values().iterator();

		   Pzqz pzqz=new Pzqz();
		   while(itor1.hasNext())
		   {
			   String sNext=(String)itor1.next();
			   long iNext=Long.parseLong(sNext);
			   String sStartNum=pzqz.getPzqh();
			   String sEndNum=pzqz.getPzzh();
			   //System.out.println(sStartNum);
			  // System.out.println(sEndNum);
			   if(sStartNum==null)
			   {
				   pzqz.setPzqh(sNext);
				   pzqz.setPzzh(sNext);
				   
			   }
			   else
			   {
				   if(iNext==Long.parseLong(sEndNum)+1)
				   {
					   pzqz.setPzzh(sNext);
				   }
				   else
				   {
					   pzqz.setPzzl(pzzl);
					
					   Pzqz pzqztemp=new Pzqz();
					   pzqztemp.setPzzl(pzzl);
					   pzqztemp.setPzqh(pzqz.getPzqh());
					   pzqztemp.setPzzh(pzqz.getPzzh());
					   pzqzLists.add(pzqztemp);
					   pzqz.setPzqh(sNext);
					   pzqz.setPzzh(sNext);
				   }
			   }
		   }
		   pzqzLists.add(pzqz);
		   if(pzqz.getPzqh()==null)
			   pzqzLists.remove(pzqz);
		   return pzqzLists;
	}

	
	public static void main(String args[])
	{
		try{
			ArrayList ar=getPzqzsHexiao("110202"," ","110202001","5","2");
			System.out.println(ar.size());
			Iterator itor=ar.iterator();
			while(itor.hasNext())
			{
				Pzqz pqz=(Pzqz)itor.next();
				System.out.println(pqz.getPzqh()+"  "+pqz.getPzzh());
			}
			}
			catch(SQLException e)
			{
				e.printStackTrace();
			}
	}	
}

⌨️ 快捷键说明

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