📄 pzqzctrl.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 + -