实现类代码:
@Override
public String showTestCaseCount(String ident, String projectId) {
StringBuffer sb = new StringBuffer();
List<TestCaseCount> list = this.testCaseCountMapper.selectByProjectId(projectId);
if("1".equals(ident)){
sb.append("<thead><tr>");
sb.append("<th style='width:65px'>商品名称</th>");
sb.append("<th style='width:65px'>数量</th>");
sb.append("<th style='width:65px'>价格</th>");
sb.append("<th style='width:65px'>规格</th>");
sb.append("<th style='width:65px'>条码</th>");
sb.append("<th style='width:65px'>产地</th>");
sb.append("<th style='width:65px'>超市名称</th>");
sb.append("<th style='width:60px'>库存</th>");
sb.append("<th style='width:65px'>供应商名称</th>");
sb.append("</tr></thead>");
sb.append("<tbody>");
List<Round> roundList = this.roundService.queryRoundByProject(projectId);
if(roundList.size()>0){
int caseCountNumS = 0;
int copyCaseNumS = 0;
int publishCaseNumS = 0;
int updateCaseNumS = 0;
int deleteCaseNumS = 0;
int unExecuteCaseNumS = 0;
int inExecuteCaseNumS = 0;
int comExecuteCaseNumS = 0;
int passCaseNumS = 0;
int noPassCaseNumS = 0;
for(Round round : roundList){
//复用用例list
List<TestCaseCount> copyCaselist = new ArrayList<TestCaseCount>();
//新建用例list
List<TestCaseCount> newCaselist = new ArrayList<TestCaseCount>();
//发布用例list
List<TestCaseCount> publishCaselist = new ArrayList<TestCaseCount>();
//更新用例list
List<TestCaseCount> updateCaselist = new ArrayList<TestCaseCount>();
//删除用例list
List<TestCaseCount> deleteCaselist = new ArrayList<TestCaseCount>();
//还没有状态的用例
List<TestCaseCount> wuCaselist = new ArrayList<TestCaseCount>();
//部分执行用例list
List<TestCaseCount> unExecuteCaselist = new ArrayList<TestCaseCount>();
//未执行用例list
List<TestCaseCount> inExecuteCaselist = new ArrayList<TestCaseCount>();
//完全执行用例list
List<TestCaseCount> comExecuteCaselist = new ArrayList<TestCaseCount>();
//执行通过用例list
List<TestCaseCount> passCaselist = new ArrayList<TestCaseCount>();
//执行未通过用例list
List<TestCaseCount> noPassCaselist = new ArrayList<TestCaseCount>();
if(list.size()>0){
for(TestCaseCount testCaseCount : list){
String testRoundId = testCaseCount.getTestRoundId() == null ? "" :testCaseCount.getTestRoundId();
if(testRoundId.equals(round.getId())){
if(null == testCaseCount.getTestCaseStatus() || "".equals(testCaseCount.getTestCaseStatus())){
wuCaselist.add(testCaseCount);
continue;
}
if(testCaseCount.getTestCaseStatus().equals("copy")){
copyCaselist.add(testCaseCount);
}
if(testCaseCount.getTestCaseStatus().equals("new")){
newCaselist.add(testCaseCount);
}
if(testCaseCount.getTestCaseStatus().equals("delete")){
deleteCaselist.add(testCaseCount);
}
if(testCaseCount.getTestCaseStatus().equals("update")){
updateCaselist.add(testCaseCount);
}
if(testCaseCount.getTestCaseStatus().equals("publish")){
publishCaselist.add(testCaseCount);
}
if(testCaseCount.getTestCaseStatus().equals("unExecute")){
unExecuteCaselist.add(testCaseCount);
}
if(testCaseCount.getTestCaseStatus().equals("inExecute")){
inExecuteCaselist.add(testCaseCount);
}
if(testCaseCount.getTestCaseStatus().equals("comExecute")){
comExecuteCaselist.add(testCaseCount);
}
if(testCaseCount.getTestCaseStatus().equals("pass")){
passCaselist.add(testCaseCount);
}
if(testCaseCount.getTestCaseStatus().equals("noPass")){
noPassCaselist.add(testCaseCount);
}
}
}
}
int caseCount = copyCaselist.size()+publishCaselist.size()+updateCaselist.size();
if(caseCount > 0){
sb.append("<tr>");
sb.append("<td>"+round.getRunName()+"</td>");
caseCountNumS = caseCountNumS+caseCount;
sb.append("<td>"+caseCount+"</td>");
copyCaseNumS += copyCaselist.size();
sb.append("<td>"+copyCaselist.size()+"</td>");
publishCaseNumS += publishCaselist.size();
int publish = publishCaselist.size();
sb.append("<td>"+publish+"</td>");
updateCaseNumS += updateCaselist.size();
sb.append("<td>"+updateCaselist.size()+"</td>");
deleteCaseNumS += deleteCaselist.size();
sb.append("<td>"+deleteCaselist.size()+"</td>");
inExecuteCaseNumS += inExecuteCaselist.size();
sb.append("<td>"+inExecuteCaselist.size()+"</td>");
unExecuteCaseNumS += unExecuteCaselist.size();
sb.append("<td>"+unExecuteCaselist.size()+"</td>");
comExecuteCaseNumS += comExecuteCaselist.size();
sb.append("<td>"+comExecuteCaselist.size()+"</td>");
int passNum = passCaselist.size();
passCaseNumS += passNum;
sb.append("<td>"+passNum+"</td>");
int noPassNum = noPassCaselist.size();
noPassCaseNumS += noPassNum;
sb.append("<td>"+noPassNum+"</td>");
int passCountNum = passNum+noPassNum;
if(passCountNum == 0 || passNum == 0){
sb.append("<td>0%</td>");
}else{
NumberFormat numberFormat = NumberFormat.getInstance();
String result = numberFormat.format((float) passNum / (float) passCountNum * 100);
sb.append("<td>"+result+"%</td>");
}
sb.append("</tr>");
}
}
if(caseCountNumS > 0){
sb.append("<tr>");
sb.append("<td>合计</td>");
sb.append("<td>"+caseCountNumS+"</td>");
sb.append("<td>"+copyCaseNumS+"</td>");
sb.append("<td>"+publishCaseNumS+"</td>");
sb.append("<td>"+updateCaseNumS+"</td>");
sb.append("<td>"+deleteCaseNumS+"</td>");
sb.append("<td>"+inExecuteCaseNumS+"</td>");
sb.append("<td>"+unExecuteCaseNumS+"</td>");
sb.append("<td>"+comExecuteCaseNumS+"</td>");
sb.append("<td>"+passCaseNumS+"</td>");
sb.append("<td>"+noPassCaseNumS+"</td>");
int passCountNumS = passCaseNumS+noPassCaseNumS;
if(passCountNumS == 0 || passCaseNumS == 0){
sb.append("<td>0%</td>");
}else{
NumberFormat numberFormat = NumberFormat.getInstance();
String result = numberFormat.format((float) passCaseNumS / (float) passCountNumS * 100);
sb.append("<td>"+result+"%</td>");
}
sb.append("</tr>");
sb.append("</tbody>");
}
}
}
}
return sb.toString();
}@Override
public String showTestCaseC