for (CreditSourceUnit creditSourceUnit : creditSourceUnitList) {
DoublePubAddEntity doublePubAddEntity = new DoublePubAddEntity();
GetDoublePubAddDataThread getSourceUnitDataThread = new GetDoublePubAddDataThread(doublePubAddEntity);
getSourceUnitDataThread.queryMapweek = queryMapweek;
getSourceUnitDataThread.queryMapDoweek = queryMapDoweek;
getSourceUnitDataThread.queryMapmonth = queryMapmonth;
getSourceUnitDataThread.queryMapDomonth = queryMapDomonth;
getSourceUnitDataThread.queryMapTmonth = queryMapTmonth;
getSourceUnitDataThread.queryMaphalfyear = queryMaphalfyear;
getSourceUnitDataThread.queryMapyear = queryMapyear;
getSourceUnitDataThread.xzcfSysService = xzcfSysService;
getSourceUnitDataThread.xzxkSysService = xzxkSysService;
getSourceUnitDataThread.creditSourceUnit = creditSourceUnit;
getSourceUnitDataThread.str = String.valueOf(i);
Thread t1 = new Thread(getSourceUnitDataThread);
mythread.add(t1);
t1.start();
i++;
listDoublePubAddEntity.add(doublePubAddEntity);
}
int wait = 0;
while (true) {
wait++;
Thread.sleep(200);
boolean allover = true;
for (Thread thread : mythread) {
if (!thread.getState().equals(Thread.State.TERMINATED)) {
allover = false;
}
}
if (allover) {
break;
}
if (wait > 300) {
for (Thread thread : mythread) {
try {
thread.interrupt();
} catch (Exception ex) {
ex.printStackTrace();
}
}
break;
}
}
GetDoublePubAddDataThread .class
public class GetDoublePubAddDataThread implements Runnable {
public String str;
public CreditSourceUnit creditSourceUnit;
public Map queryMapweek;
public Map queryMapDoweek;
public Map queryMapmonth;
public Map queryMapDomonth;
public Map queryMapTmonth;
public Map queryMaphalfyear;
public Map queryMapyear;
public DoublePubAddEntity doublePubAddEntity;
public XzcfSysService xzcfSysService;
public XzxkSysService xzxkSysService;
public GetDoublePubAddDataThread(DoublePubAddEntity _doublePubAddEntity) {
doublePubAddEntity = _doublePubAddEntity;
}
@Override
public void run() {
SimpleDateFormat dfs = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Date stratTime = null;
try {
stratTime = dfs.parse(dfs.format(new Date()));
} catch (ParseException e) {
e.printStackTrace();
}
if (queryMapweek != null && queryMapweek.size() > 0) {
doublePubAddEntity.setWeekXzcfTotal(xzcfSysService.getcuntxzcf(creditSourceUnit, queryMapweek));
doublePubAddEntity.setWeekXzxkTotal(xzxkSysService.getcuntxzxk(creditSourceUnit, queryMapweek));
} else {
doublePubAddEntity.setWeekXzcfTotal("--");
doublePubAddEntity.setWeekXzxkTotal("--");
}
if (queryMapDoweek != null && queryMapDoweek.size() > 0) {
doublePubAddEntity.setDoWeekXzcfTotal(xzcfSysService.getcuntxzcf(creditSourceUnit, queryMapDoweek));
doublePubAddEntity.setDoWeekxzxkTotal(xzxkSysService.getcuntxzxk(creditSourceUnit, queryMapDoweek));
} else {
doublePubAddEntity.setDoWeekXzcfTotal("--");
doublePubAddEntity.setDoWeekxzxkTotal("--");
}
if (queryMapmonth != null && queryMapmonth.size() > 0) {
doublePubAddEntity.setMonthXzcfTotal(xzcfSysService.getcuntxzcf(creditSourceUnit, queryMapmonth));
doublePubAddEntity.setMonthXzxkTotal(xzxkSysService.getcuntxzxk(creditSourceUnit, queryMapmonth));
} else {
doublePubAddEntity.setMonthXzcfTotal("--");
doublePubAddEntity.setMonthXzxkTotal("--");
}
if (queryMapDomonth != null && queryMapDomonth.size() > 0) {
doublePubAddEntity.setDoMothXcfkTotal(xzcfSysService.getcuntxzcf(creditSourceUnit, queryMapDomonth));
doublePubAddEntity.setDoMothXzxkTotal(xzxkSysService.getcuntxzxk(creditSourceUnit, queryMapDomonth));
} else {
doublePubAddEntity.setDoMothXcfkTotal("--");
doublePubAddEntity.setDoMothXzxkTotal("--");
}
if (queryMapTmonth != null && queryMapTmonth.size() > 0) {
doublePubAddEntity.setTmonthXzcfTotal(xzcfSysService.getcuntxzcf(creditSourceUnit, queryMapTmonth));
doublePubAddEntity.setTmonthXzxkTotal(xzxkSysService.getcuntxzxk(creditSourceUnit, queryMapTmonth));
} else {
doublePubAddEntity.setTmonthXzcfTotal("--");
doublePubAddEntity.setTmonthXzxkTotal("--");
}
if (queryMaphalfyear != null && queryMaphalfyear.size() > 0) {
doublePubAddEntity.setHalfYearXzcfTotal(xzcfSysService.getcuntxzcf(creditSourceUnit, queryMaphalfyear));
doublePubAddEntity.setHalfYearXzxkTotal(xzxkSysService.getcuntxzxk(creditSourceUnit, queryMaphalfyear));
} else {
doublePubAddEntity.setHalfYearXzcfTotal("--");
doublePubAddEntity.setHalfYearXzxkTotal("--");
}
if (queryMapyear != null && queryMapyear.size() > 0) {
doublePubAddEntity.setYearXzcfTotal(xzcfSysService.getcuntxzcf(creditSourceUnit, queryMapyear));
doublePubAddEntity.setYearXzxkTotal(xzxkSysService.getcuntxzxk(creditSourceUnit, queryMapyear));
} else {
doublePubAddEntity.setYearXzcfTotal(xzcfSysService.getcuntxzcf(creditSourceUnit, queryMapyear));
doublePubAddEntity.setYearXzxkTotal(xzxkSysService.getcuntxzxk(creditSourceUnit, queryMapyear));
}
Date endTime=new Date();
try {
endTime = dfs.parse(dfs.format(new Date()));
} catch (ParseException e) {
e.printStackTrace();
}
doublePubAddEntity.setUnitId(str);
doublePubAddEntity.setUnitName(creditSourceUnit.getUnitName());
doublePubAddEntity.setUnitype(creditSourceUnit.getUnitType());
doublePubAddEntity.setTime(String.valueOf(endTime.getTime() - stratTime.getTime()));
}
}