📄 pzqzctrl.java
字号:
//控制征稽处造票时存在的票据数据段冲突
package edu.whut.cwts.pg.fafang;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.TreeMap;
import java.util.List;
import edu.whut.cwts.pg.db.Assert;
public class PzqzCtrl {
//保存等待添加的用户票段
public static List result=new ArrayList();
public static int add(Pzqz pzqz)throws SQLException
{
if(!isOverLap(result,pzqz))
{
System.out.println("添加失败,存在重复数据");
return 0; //如果数据段添加重复,则停止加入,直接返回
}
else if(PzztCtrl.ch_isexist_Iickets(pzqz))
{
System.out.println("和数据库中数据存在冲突");
return 1;
}
else
{
result.add(pzqz);
System.out.println("添加成功");
return 2; //添加成功
}
}
//业务层控制票据输入防止重复,当然此时用户的输入是随意的,不论前面是否加0
//需要实现控制他必须输入10位
public static boolean isOverLap(List result,Pzqz pzqz) //判断用户输入数据段是否交cha
{
for(int i=0;i<result.size();i++)
{
Pzqz pzqztemp=(Pzqz)result.get(i);
if(pzqz.getPzzl().equalsIgnoreCase(pzqztemp.getPzzl()))
{
long pzqztempq=Long.valueOf(pzqztemp.getPzqh().trim()).longValue
();
long pzqztempz=Long.valueOf(pzqztemp.getPzzh().trim()).longValue
();
long pzqzq=Long.valueOf(pzqz.getPzqh().trim()).longValue();
long pzqzz=Long.valueOf(pzqz.getPzzh().trim()).longValue();
if(((pzqzq>=pzqztempq)&&(pzqzq<=pzqztempz))||
((pzqzz>=pzqztempq)&&(pzqzz<=pzqztempz))||((pzqzq<=pzqztempq)&&(pzqzz>=pzqztempz)))
{
return false; //票据段落添加重复
}
}
}
return true; //票据段不重复,可以增加票据哦
}
//页面删除单独条记录
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();
System.out.println("hello");
int length=10;
if(temp.getPzzl().equalsIgnoreCase("3"))
length=8;
if(temp.getPzzl().equalsIgnoreCase("6"))
length=6;
int i=PzztCtrl.add(temp,"0",length);
if(i==0)
{
System.out.println("票据添加失败");
}
else
{
System.out.println("票据添加成功");
}
}
}
public static ArrayList getPzqzs(String zddm,String pzzl)throws SQLException
{
//将所有的票证信息全部首先按照票种种类存储在MAP中,PZHM则存储在响应
ArrayList singleTickets=PzztCtrl.getAviableTicket(zddm,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();
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 cancel()
{
result.clear();
//result0.clear();
}
//票据发放时保存的票据状态变化情况列表
public static void pjffSave(String s,String deptFistZddm,String deptSecondZddm)
{
String[] result = s.split(";");
Department deptFirst=new Department();
deptFirst.setZddm(deptFistZddm);
Department deptSecond=new Department();
deptSecond.setZddm(deptSecondZddm);
ArrayList pzqzff=new ArrayList();
String pzzl=result[0];
for(int i=1;i<result.length;)
{
Pzqz pzqz=new Pzqz();
pzqz.setPzqh(result[i]);
pzqz.setPzzh(result[i+1]);
pzqz.setPzzl(pzzl);
i=i+2;
pzqzff.add(pzqz);
}
Iterator itor=pzqzff.iterator();
while(itor.hasNext())
{
Pzqz pzqz=(Pzqz)itor.next();
try{
PzztCtrl.updatepjff(pzqz,deptFirst,deptSecond);
}
catch(SQLException e)
{
e.printStackTrace();
}
}
}
public static void pjffsavedr(String s,String dpr)
{
String[] result = s.split(";");
ArrayList pzqzff=new ArrayList();
String pzzl=result[0];
for(int i=1;i<result.length;)
{
Pzqz pzqz=new Pzqz();
pzqz.setPzqh(result[i]);
pzqz.setPzzh(result[i+1]);
pzqz.setPzzl(pzzl);
i=i+2;
pzqzff.add(pzqz);
}
Iterator itor=pzqzff.iterator();
while(itor.hasNext())
{
Pzqz pzqz=(Pzqz)itor.next();
try{
PzztCtrl.updatepjfftor(pzqz,dpr);
}
catch(SQLException e)
{
e.printStackTrace();
}
}
}
//将票据发放时的发送到后台的字符串数据解析,生成Pzqz数组,其中传递的字符串组成方式为(票据种类;(票据起号票据停止号;)+)
public static void pzqzformat(String s)
{
String[] result = s.split(";");
System.out.println(result.length);
for(int i=0;i<result.length;i++)
{
String s1=result[i];
System.out.println(s1);
}
}
public static void main(String args[])
{
pzqzformat("wohun;123;456;kao;");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -