//************************************************
//write the correct data to the output file
//************************************************
Iterator itNwPrdtList = vecNwPrdtList.iterator();
NwPrdtDO[] nwPrdtDOArray = new NwPrdtDO[vecNwPrdtList.size()];
int index = 0;
count = 0;
while (itNwPrdtList.hasNext() && !dunSend) {
NwPrdtDO tmpNwPrdtDOForArray = (NwPrdtDO) itNwPrdtList.next();
nwPrdtDOArray[index] = new NwPrdtDO();
nwPrdtDOArray[index].setEndDt(tmpNwPrdtDOForArray.getEndDt());
nwPrdtDOArray[index].setOrdEndDt(tmpNwPrdtDOForArray.getOrdEndDt());
nwPrdtDOArray[index].setOrdStartDt(tmpNwPrdtDOForArray.getOrdStartDt());
nwPrdtDOArray[index].setPrdtActn(tmpNwPrdtDOForArray.getPrdtActn());
nwPrdtDOArray[index].setPrdtCd(tmpNwPrdtDOForArray.getPrdtCd());
nwPrdtDOArray[index].setPrdtDesc(tmpNwPrdtDOForArray.getPrdtDesc());
nwPrdtDOArray[index].setWrkOrdNo(tmpNwPrdtDOForArray.getWrkOrdNo());
nwPrdtDOArray[index].setStartDt(tmpNwPrdtDOForArray.getStartDt());
nwPrdtDOArray[index].setSvcInstId(tmpNwPrdtDOForArray.getSvcInstId()); nwPrdtDOArray[index].setOrdTy(ordTy);
nwPrdtDOArray[index].setChargeTy(chargeTy[count++]);
nwPrdtDOArray[index].setChargePrdt(chargePrdt);
nwPrdtDOArray[index].setNwPrdtOrdQty(String.valueOf(nwPrdtOrdQty));
nwPrdtDOArray[index].setNwPrdtTotalQty(String.valueOf(nwPrdtTotalQty));
if (workOrdCompDt == null || workOrdCompDt.equals("null")) {
nwPrdtDOArray[index].setWrkOrdCompDt("");
}
else {
nwPrdtDOArray[index].setWrkOrdCompDt(workOrdCompDt); }
nwPrdtDOArray[index].setSvcNo(extId);
nwPrdtDOArray[index].setSvcInstId(svcInstId);
nwPrdtDOArray[index].setWorkOrdCreateDt(workOrdCreateDt);
nwPrdtDOArray[index].setRentalTariffGrp(rentalTariffGrp); index++;
}
Iterator itNwPrdtListC = vecNwPrdtListC.iterator();
NwPrdtDO[] nwPrdtDOArrayC = new NwPrdtDO[vecNwPrdtListC.size()]; index = 0;
count = 0;
while (itNwPrdtListC.hasNext() && !dunSendC) {
NwPrdtDO tmpNwPrdtDOForArray = (NwPrdtDO) itNwPrdtListC.next();
nwPrdtDOArrayC[index] = new NwPrdtDO();
nwPrdtDOArrayC[index].setEndDt(tmpNwPrdtDOForArray.getEndDt());
nwPrdtDOArrayC[index].setOrdEndDt(tmpNwPrdtDOForArray.getOrdEndDt());
nwPrdtDOArrayC[index].setOrdStartDt(tmpNwPrdtDOForArray.getOrdStartDt());
nwPrdtDOArrayC[index].setPrdtActn(tmpNwPrdtDOForArray.getPrdtActn());
nwPrdtDOArrayC[index].setPrdtCd(tmpNwPrdtDOForArray.getPrdtCd());
nwPrdtDOArrayC[index].setPrdtDesc(tmpNwPrdtDOForArray.getPrdtDesc());
nwPrdtDOArrayC[index].setWrkOrdNo(tmpNwPrdtDOForArray.getWrkOrdNo());
nwPrdtDOArrayC[index].setStartDt(tmpNwPrdtDOForArray.getStartDt());
nwPrdtDOArrayC[index].setSvcInstId(tmpNwPrdtDOForArray.getSvcInstId()); nwPrdtDOArrayC[index].setOrdTy("E");
nwPrdtDOArrayC[index].setChargeTy(chargeTyC[count++]);
nwPrdtDOArrayC[index].setChargePrdt(chargePrdtC);
nwPrdtDOArrayC[index].setNwPrdtOrdQty(String.valueOf(nwPrdtOrdQtyC));
nwPrdtDOArrayC[index].setNwPrdtTotalQty(String.valueOf(nwPrdtTotalQtyC));
if (workOrdCompDt == null) {
nwPrdtDOArrayC[index].setWrkOrdCompDt("");
}
else {
nwPrdtDOArrayC[index].setWrkOrdCompDt(workOrdCompDtC);
}
nwPrdtDOArrayC[index].setSvcNo(extIdC);
nwPrdtDOArrayC[index].setSvcInstId(svcInstIdC);
nwPrdtDOArrayC[index].setWorkOrdCreateDt(workOrdCreateDtC);
nwPrdtDOArrayC[index].setRentalTariffGrp(rentalTariffGrpC);
index++;
}
if (!doNotProcess) {
if (dunSendC) {
//write the provide work order to output file
for (int ii = 0; ii < nwPrdtDOArray.length; ii++) {
nwPrdtDOArray[ii].setSeqNo(String.valueOf(apc.getLongVar(outLineCnt)));
//writeOutputDetail(nwPrdtDOArray[ii]);
//[12 Oct 2005,Li Yu Zhan,-start]
//String temp=nwPrdtDOArray[ii].getWrkOrdNo();
psGetWorkOrdNo.setString(1,nwPrdtDOArray[ii].getWrkOrdNo());
rsGetWorkOrdNo =psGetWorkOrdNo.executeQuery();
int workOrdNocnt = 0;
if(rsGetWorkOrdNo.next())
{
workOrdNocnt = rsGetWorkOrdNo.getInt("cnt");
} if( workOrdNocnt < 1) {
writeOutputDetail(nwPrdtDOArray[ii]);
ResultSet rsGetGenID = psGetGenIDSecondSQL.executeQuery();
if(rsGetGenID.next())
{
if(rsGetGenID.getString("gen_id") != null)
{
psInsertWorkOrdNo.setLong(1,rsGetGenID.getLong("gen_id"));
psInsertWorkOrdNo.setString(2,nwPrdtDOArray[ii].getWrkOrdNo());
psInsertWorkOrdNo.setString(3, nwPrdtDOArray[ii].getSvcNo());
psInsertWorkOrdNo.setString(4, nwPrdtDOArray[ii].getWrkOrdCompDt());
psInsertWorkOrdNo.executeUpdate();
}
}
workOrdNocnt = 0;
}请兄弟帮忙看看,java.lang.ArrayIndexOutOfBoundsException这个异常总是出现,我的数组用的哪里不对了????
//write the correct data to the output file
//************************************************
Iterator itNwPrdtList = vecNwPrdtList.iterator();
NwPrdtDO[] nwPrdtDOArray = new NwPrdtDO[vecNwPrdtList.size()];
int index = 0;
count = 0;
while (itNwPrdtList.hasNext() && !dunSend) {
NwPrdtDO tmpNwPrdtDOForArray = (NwPrdtDO) itNwPrdtList.next();
nwPrdtDOArray[index] = new NwPrdtDO();
nwPrdtDOArray[index].setEndDt(tmpNwPrdtDOForArray.getEndDt());
nwPrdtDOArray[index].setOrdEndDt(tmpNwPrdtDOForArray.getOrdEndDt());
nwPrdtDOArray[index].setOrdStartDt(tmpNwPrdtDOForArray.getOrdStartDt());
nwPrdtDOArray[index].setPrdtActn(tmpNwPrdtDOForArray.getPrdtActn());
nwPrdtDOArray[index].setPrdtCd(tmpNwPrdtDOForArray.getPrdtCd());
nwPrdtDOArray[index].setPrdtDesc(tmpNwPrdtDOForArray.getPrdtDesc());
nwPrdtDOArray[index].setWrkOrdNo(tmpNwPrdtDOForArray.getWrkOrdNo());
nwPrdtDOArray[index].setStartDt(tmpNwPrdtDOForArray.getStartDt());
nwPrdtDOArray[index].setSvcInstId(tmpNwPrdtDOForArray.getSvcInstId()); nwPrdtDOArray[index].setOrdTy(ordTy);
nwPrdtDOArray[index].setChargeTy(chargeTy[count++]);
nwPrdtDOArray[index].setChargePrdt(chargePrdt);
nwPrdtDOArray[index].setNwPrdtOrdQty(String.valueOf(nwPrdtOrdQty));
nwPrdtDOArray[index].setNwPrdtTotalQty(String.valueOf(nwPrdtTotalQty));
if (workOrdCompDt == null || workOrdCompDt.equals("null")) {
nwPrdtDOArray[index].setWrkOrdCompDt("");
}
else {
nwPrdtDOArray[index].setWrkOrdCompDt(workOrdCompDt); }
nwPrdtDOArray[index].setSvcNo(extId);
nwPrdtDOArray[index].setSvcInstId(svcInstId);
nwPrdtDOArray[index].setWorkOrdCreateDt(workOrdCreateDt);
nwPrdtDOArray[index].setRentalTariffGrp(rentalTariffGrp); index++;
}
Iterator itNwPrdtListC = vecNwPrdtListC.iterator();
NwPrdtDO[] nwPrdtDOArrayC = new NwPrdtDO[vecNwPrdtListC.size()]; index = 0;
count = 0;
while (itNwPrdtListC.hasNext() && !dunSendC) {
NwPrdtDO tmpNwPrdtDOForArray = (NwPrdtDO) itNwPrdtListC.next();
nwPrdtDOArrayC[index] = new NwPrdtDO();
nwPrdtDOArrayC[index].setEndDt(tmpNwPrdtDOForArray.getEndDt());
nwPrdtDOArrayC[index].setOrdEndDt(tmpNwPrdtDOForArray.getOrdEndDt());
nwPrdtDOArrayC[index].setOrdStartDt(tmpNwPrdtDOForArray.getOrdStartDt());
nwPrdtDOArrayC[index].setPrdtActn(tmpNwPrdtDOForArray.getPrdtActn());
nwPrdtDOArrayC[index].setPrdtCd(tmpNwPrdtDOForArray.getPrdtCd());
nwPrdtDOArrayC[index].setPrdtDesc(tmpNwPrdtDOForArray.getPrdtDesc());
nwPrdtDOArrayC[index].setWrkOrdNo(tmpNwPrdtDOForArray.getWrkOrdNo());
nwPrdtDOArrayC[index].setStartDt(tmpNwPrdtDOForArray.getStartDt());
nwPrdtDOArrayC[index].setSvcInstId(tmpNwPrdtDOForArray.getSvcInstId()); nwPrdtDOArrayC[index].setOrdTy("E");
nwPrdtDOArrayC[index].setChargeTy(chargeTyC[count++]);
nwPrdtDOArrayC[index].setChargePrdt(chargePrdtC);
nwPrdtDOArrayC[index].setNwPrdtOrdQty(String.valueOf(nwPrdtOrdQtyC));
nwPrdtDOArrayC[index].setNwPrdtTotalQty(String.valueOf(nwPrdtTotalQtyC));
if (workOrdCompDt == null) {
nwPrdtDOArrayC[index].setWrkOrdCompDt("");
}
else {
nwPrdtDOArrayC[index].setWrkOrdCompDt(workOrdCompDtC);
}
nwPrdtDOArrayC[index].setSvcNo(extIdC);
nwPrdtDOArrayC[index].setSvcInstId(svcInstIdC);
nwPrdtDOArrayC[index].setWorkOrdCreateDt(workOrdCreateDtC);
nwPrdtDOArrayC[index].setRentalTariffGrp(rentalTariffGrpC);
index++;
}
if (!doNotProcess) {
if (dunSendC) {
//write the provide work order to output file
for (int ii = 0; ii < nwPrdtDOArray.length; ii++) {
nwPrdtDOArray[ii].setSeqNo(String.valueOf(apc.getLongVar(outLineCnt)));
//writeOutputDetail(nwPrdtDOArray[ii]);
//[12 Oct 2005,Li Yu Zhan,-start]
//String temp=nwPrdtDOArray[ii].getWrkOrdNo();
psGetWorkOrdNo.setString(1,nwPrdtDOArray[ii].getWrkOrdNo());
rsGetWorkOrdNo =psGetWorkOrdNo.executeQuery();
int workOrdNocnt = 0;
if(rsGetWorkOrdNo.next())
{
workOrdNocnt = rsGetWorkOrdNo.getInt("cnt");
} if( workOrdNocnt < 1) {
writeOutputDetail(nwPrdtDOArray[ii]);
ResultSet rsGetGenID = psGetGenIDSecondSQL.executeQuery();
if(rsGetGenID.next())
{
if(rsGetGenID.getString("gen_id") != null)
{
psInsertWorkOrdNo.setLong(1,rsGetGenID.getLong("gen_id"));
psInsertWorkOrdNo.setString(2,nwPrdtDOArray[ii].getWrkOrdNo());
psInsertWorkOrdNo.setString(3, nwPrdtDOArray[ii].getSvcNo());
psInsertWorkOrdNo.setString(4, nwPrdtDOArray[ii].getWrkOrdCompDt());
psInsertWorkOrdNo.executeUpdate();
}
}
workOrdNocnt = 0;
}请兄弟帮忙看看,java.lang.ArrayIndexOutOfBoundsException这个异常总是出现,我的数组用的哪里不对了????
我觉得是不是
nwPrdtDOArray.length
改成.size()?
好象我用.length 的时候和我想的都不一样。呵呵!