Browse Source

缺陷回归分布

master
陈裕财 3 years ago
parent
commit
a82ae31f5d
  1. 40
      xm-core/src/main/java/com/xm/core/ctrl/XmTestPlanCaseController.java
  2. 5
      xm-core/src/main/java/com/xm/core/entity/XmTestPlanCase.java
  3. 5
      xm-core/src/main/java/com/xm/core/service/XmTestPlanCaseService.java
  4. 39
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTestPlanCaseMapper.xml

40
xm-core/src/main/java/com/xm/core/ctrl/XmTestPlanCaseController.java

@ -2,6 +2,7 @@ package com.xm.core.ctrl;
import com.mdp.core.entity.Tips; import com.mdp.core.entity.Tips;
import com.mdp.core.err.BizException; import com.mdp.core.err.BizException;
import com.mdp.core.utils.DateUtils;
import com.mdp.core.utils.RequestUtils; import com.mdp.core.utils.RequestUtils;
import com.mdp.core.utils.ResponseHelper; import com.mdp.core.utils.ResponseHelper;
import com.mdp.mybatis.PageUtils; import com.mdp.mybatis.PageUtils;
@ -87,14 +88,6 @@ public class XmTestPlanCaseController {
@ApiOperation( value = "查询执行结果分布",notes=" ") @ApiOperation( value = "查询执行结果分布",notes=" ")
@ApiEntityParams( XmTestPlanCase.class )
@ApiImplicitParams({
@ApiImplicitParam(name="pageSize",value="每页大小,默认20条",required=false),
@ApiImplicitParam(name="pageNum",value="当前页码,从1开始",required=false),
@ApiImplicitParam(name="total",value="总记录数,服务器端收到0时,会自动计算总记录数,如果上传>0的不自动计算",required=false),
@ApiImplicitParam(name="count",value="是否计算总记录条数,如果count=true,则计算计算总条数,如果count=false 则不计算",required=false),
@ApiImplicitParam(name="orderBy",value="排序列 如性别、学生编号排序 orderBy = sex desc,student desc",required=false),
})
@ApiResponses({ @ApiResponses({
@ApiResponse(code = 200,response=XmTestPlanCase.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'错误码'},total:总记录数,data:[数据对象1,数据对象2,...]}") @ApiResponse(code = 200,response=XmTestPlanCase.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'错误码'},total:总记录数,data:[数据对象1,数据对象2,...]}")
}) })
@ -113,14 +106,6 @@ public class XmTestPlanCaseController {
@ApiOperation( value = "查询成员执行结果分布",notes=" ") @ApiOperation( value = "查询成员执行结果分布",notes=" ")
@ApiEntityParams( XmTestPlanCase.class )
@ApiImplicitParams({
@ApiImplicitParam(name="pageSize",value="每页大小,默认20条",required=false),
@ApiImplicitParam(name="pageNum",value="当前页码,从1开始",required=false),
@ApiImplicitParam(name="total",value="总记录数,服务器端收到0时,会自动计算总记录数,如果上传>0的不自动计算",required=false),
@ApiImplicitParam(name="count",value="是否计算总记录条数,如果count=true,则计算计算总条数,如果count=false 则不计算",required=false),
@ApiImplicitParam(name="orderBy",value="排序列 如性别、学生编号排序 orderBy = sex desc,student desc",required=false),
})
@ApiResponses({ @ApiResponses({
@ApiResponse(code = 200,response=XmTestPlanCase.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'错误码'},total:总记录数,data:[数据对象1,数据对象2,...]}") @ApiResponse(code = 200,response=XmTestPlanCase.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'错误码'},total:总记录数,data:[数据对象1,数据对象2,...]}")
}) })
@ -137,6 +122,25 @@ public class XmTestPlanCaseController {
return m; return m;
} }
@ApiOperation( value = "查询测试执行次数按日统计",notes=" ")
@ApiResponses({
@ApiResponse(code = 200,response=XmTestPlanCase.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'错误码'},total:总记录数,data:[数据对象1,数据对象2,...]}")
})
@RequestMapping(value="/getXmTestDayTimesList",method=RequestMethod.GET)
public Map<String,Object> getXmTestDayTimesList( @ApiIgnore @RequestParam Map<String,Object> xmTestPlanCase){
Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("查询成功");
PageUtils.startPage(xmTestPlanCase);
List<Map<String,Object>> xmTestPlanCaseList = xmTestPlanCaseService.getXmTestDayTimesList(xmTestPlanCase); //列出XmTestPlanCase列表
PageUtils.responePage(m, xmTestPlanCaseList);
m.put("data",xmTestPlanCaseList);
m.put("tips", tips);
return m;
}
@ApiOperation( value = "新增一条测试计划与用例关系表信息",notes=" ") @ApiOperation( value = "新增一条测试计划与用例关系表信息",notes=" ")
@ApiResponses({ @ApiResponses({
@ApiResponse(code = 200,response=XmTestPlanCase.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") @ApiResponse(code = 200,response=XmTestPlanCase.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}")
@ -323,6 +327,7 @@ public class XmTestPlanCaseController {
Set<String> fields=new HashSet<>(); Set<String> fields=new HashSet<>();
fields.add("caseId"); fields.add("caseId");
fields.add("planId"); fields.add("planId");
fields.add("execDate");
for (String fieldName : xmTestPlanCaseMap.keySet()) { for (String fieldName : xmTestPlanCaseMap.keySet()) {
if(fields.contains(fieldName)){ if(fields.contains(fieldName)){
return failed(fieldName+"-no-edit",fieldName+"不允许修改"); return failed(fieldName+"-no-edit",fieldName+"不允许修改");
@ -339,6 +344,9 @@ public class XmTestPlanCaseController {
if(xmTestPlanCasesDb==null ||xmTestPlanCasesDb.size()==0){ if(xmTestPlanCasesDb==null ||xmTestPlanCasesDb.size()==0){
return failed("data-0","记录已不存在"); return failed("data-0","记录已不存在");
} }
if(StringUtils.hasText(xmTestPlanCase.getExecStatus()) && !"0".equals(xmTestPlanCase.getExecStatus())){
xmTestPlanCaseMap.put("execDate", DateUtils.getDate("yyyy-MM-dd"));
}
List<XmTestPlanCase> can=new ArrayList<>(); List<XmTestPlanCase> can=new ArrayList<>();
List<XmTestPlanCase> no=new ArrayList<>(); List<XmTestPlanCase> no=new ArrayList<>();
User user = LoginUtils.getCurrentUserInfo(); User user = LoginUtils.getCurrentUserInfo();

5
xm-core/src/main/java/com/xm/core/entity/XmTestPlanCase.java

@ -9,7 +9,7 @@ import java.math.BigDecimal;
/** /**
* 组织 com 顶级模块 xm 大模块 core 小模块 <br> * 组织 com 顶级模块 xm 大模块 core 小模块 <br>
* 实体 XmTestPlanCase所有属性名: <br> * 实体 XmTestPlanCase所有属性名: <br>
* "bugs","bug数目","execUserid","执行人","caseId","测试用例编号","ltime","更新时间","ctime","创建时间","execStatus","0-未测,1-通过,2-受阻,3-忽略,4-失败","execUsername","执行人姓名","priority","优先级","remark","执行备注","testStep","测试步骤","planId","计划编号","projectId","项目编号","budgetWorkload","预算工时","actWorkload","实际工时","initWorkload","原估工时";<br>
* "bugs","bug数目","execUserid","执行人","caseId","测试用例编号","ltime","更新时间","ctime","创建时间","execStatus","0-未测,1-通过,2-受阻,3-忽略,4-失败","execUsername","执行人姓名","priority","优先级","remark","执行备注","testStep","测试步骤","planId","计划编号","projectId","项目编号","budgetWorkload","预算工时","actWorkload","实际工时","initWorkload","原估工时","execDate","执行日期,以执行状态变更日期为准yyyy-MM-dd型";<br>
* 当前主键(包括多主键):<br> * 当前主键(包括多主键):<br>
* case_id,plan_id;<br> * case_id,plan_id;<br>
*/ */
@ -64,6 +64,9 @@ public class XmTestPlanCase implements java.io.Serializable {
@ApiModelProperty(notes="原估工时",allowEmptyValue=true,example="",allowableValues="") @ApiModelProperty(notes="原估工时",allowEmptyValue=true,example="",allowableValues="")
BigDecimal initWorkload; BigDecimal initWorkload;
@ApiModelProperty(notes="执行日期,以执行状态变更日期为准yyyy-MM-dd型",allowEmptyValue=true,example="",allowableValues="")
String execDate;
/** /**
*测试用例编号,计划编号 *测试用例编号,计划编号

5
xm-core/src/main/java/com/xm/core/service/XmTestPlanCaseService.java

@ -29,5 +29,10 @@ public class XmTestPlanCaseService extends BaseService {
public List<Map<String, Object>> getXmTestPlanCaseUserDist(Map<String, Object> xmTestPlanCase) { public List<Map<String, Object>> getXmTestPlanCaseUserDist(Map<String, Object> xmTestPlanCase) {
return super.selectList("getXmTestPlanCaseUserDist",xmTestPlanCase); return super.selectList("getXmTestPlanCaseUserDist",xmTestPlanCase);
} }
public List<Map<String, Object>> getXmTestDayTimesList(Map<String, Object> xmTestPlanCase) {
return super.selectList("getXmTestDayTimesList",xmTestPlanCase);
}
} }

39
xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTestPlanCaseMapper.xml

@ -70,6 +70,33 @@
group by res.exec_userid group by res.exec_userid
</select> </select>
<select id="getXmTestDayTimesList" parameterType="HashMap" resultType="HashMap">
select res.exec_date, sum(case when res.exec_status>='1' then 1 else 0 end) as had_exec
from xm_test_plan_case res left join xm_test_plan p on res.plan_id=p.id
<where>
<if test="planId!=null and planId!=''">
and res.plan_id=#{planId}
</if>
<if test="casedbId!=null and casedbId!=''">
and p.casedb_id=#{casedbId}
</if>
<if test="projectId!=null and projectId!=''">
and p.project_id=#{projectId}
</if>
<if test="productId!=null and productId!=''">
and p.product_id=#{productId}
</if>
<if test="pbranchId!=null and pbranchId!=''">
and p.pbranch_id=#{pbranchId}
</if>
</where>
group by res.exec_date
order by res.exec_date desc
</select>
<!--结束 自定义sql函数区域--> <!--结束 自定义sql函数区域-->
@ -124,7 +151,7 @@
insert into xm_test_plan_case( insert into xm_test_plan_case(
<include refid="columns"/> <include refid="columns"/>
) values ( ) values (
#{bugs},#{execUserid},#{caseId},#{ltime},#{ctime},#{execStatus},#{execUsername},#{priority},#{remark},#{testStep},#{planId},#{projectId},#{budgetWorkload},#{actWorkload},#{initWorkload}
#{bugs},#{execUserid},#{caseId},#{ltime},#{ctime},#{execStatus},#{execUsername},#{priority},#{remark},#{testStep},#{planId},#{projectId},#{budgetWorkload},#{actWorkload},#{initWorkload},#{execDate}
) )
</insert> </insert>
@ -199,7 +226,7 @@
<!--sql片段 列--> <!--sql片段 列-->
<sql id="columns"> <sql id="columns">
bugs,exec_userid,case_id,ltime,ctime,exec_status,exec_username,priority,remark,test_step,plan_id,project_id,budget_workload,act_workload,init_workload
bugs,exec_userid,case_id,ltime,ctime,exec_status,exec_username,priority,remark,test_step,plan_id,project_id,budget_workload,act_workload,init_workload,exec_date
</sql> </sql>
<!--sql片段 动态条件 YYYY-MM-DD HH24:MI:SS--> <!--sql片段 动态条件 YYYY-MM-DD HH24:MI:SS-->
@ -219,6 +246,7 @@
<if test="budgetWorkload != null and budgetWorkload != ''"> and res.budget_workload = #{budgetWorkload} </if> <if test="budgetWorkload != null and budgetWorkload != ''"> and res.budget_workload = #{budgetWorkload} </if>
<if test="actWorkload != null and actWorkload != ''"> and res.act_workload = #{actWorkload} </if> <if test="actWorkload != null and actWorkload != ''"> and res.act_workload = #{actWorkload} </if>
<if test="initWorkload != null and initWorkload != ''"> and res.init_workload = #{initWorkload} </if> <if test="initWorkload != null and initWorkload != ''"> and res.init_workload = #{initWorkload} </if>
<if test="execDate != null and execDate != ''"> and res.exec_date = #{execDate} </if>
</sql> </sql>
<!--sql片段 更新字段 --> <!--sql片段 更新字段 -->
<sql id="set"> <sql id="set">
@ -234,7 +262,8 @@
project_id = #{projectId}, project_id = #{projectId},
budget_workload = #{budgetWorkload}, budget_workload = #{budgetWorkload},
act_workload = #{actWorkload}, act_workload = #{actWorkload},
init_workload = #{initWorkload}
init_workload = #{initWorkload},
exec_date = #{execDate}
</sql> </sql>
<sql id="someFieldSet"> <sql id="someFieldSet">
<if test="bugs != null and bugs != ''"> bugs = #{bugs}, </if> <if test="bugs != null and bugs != ''"> bugs = #{bugs}, </if>
@ -250,6 +279,7 @@
<if test="budgetWorkload != null and budgetWorkload != ''"> budget_workload = #{budgetWorkload}, </if> <if test="budgetWorkload != null and budgetWorkload != ''"> budget_workload = #{budgetWorkload}, </if>
<if test="actWorkload != null and actWorkload != ''"> act_workload = #{actWorkload}, </if> <if test="actWorkload != null and actWorkload != ''"> act_workload = #{actWorkload}, </if>
<if test="initWorkload != null and initWorkload != ''"> init_workload = #{initWorkload}, </if> <if test="initWorkload != null and initWorkload != ''"> init_workload = #{initWorkload}, </if>
<if test="execDate != null and execDate != ''"> exec_date = #{execDate}, </if>
</sql> </sql>
<!--sql片段 批量更新 --> <!--sql片段 批量更新 -->
<sql id="batchSet"> <sql id="batchSet">
@ -265,6 +295,7 @@
project_id = #{item.projectId}, project_id = #{item.projectId},
budget_workload = #{item.budgetWorkload}, budget_workload = #{item.budgetWorkload},
act_workload = #{item.actWorkload}, act_workload = #{item.actWorkload},
init_workload = #{item.initWorkload}
init_workload = #{item.initWorkload},
exec_date = #{item.execDate}
</sql> </sql>
</mapper> </mapper>
Loading…
Cancel
Save