Browse Source

团队重构

master
陈裕财 3 years ago
parent
commit
1e86d3dc0a
  1. 28
      xm-core/src/main/java/com/xm/core/ctrl/XmTestPlanController.java
  2. 12
      xm-core/src/main/java/com/xm/core/service/XmTestPlanService.java
  3. 67
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTestPlanMapper.xml

28
xm-core/src/main/java/com/xm/core/ctrl/XmTestPlanController.java

@ -79,8 +79,32 @@ public class XmTestPlanController {
m.put("tips", tips); m.put("tips", tips);
return m; return m;
} }
@ApiOperation( value = "统计测试计划数据",notes=" ")
@ApiResponses({
@ApiResponse(code = 200,response=XmTestPlan.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}")
})
@RequestMapping(value="/calc",method=RequestMethod.POST)
public Map<String,Object> calcXmTestPlan(@RequestBody XmTestPlan xmTestPlan) {
Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("成功统计测试计划数据");
try{
boolean createPk=false;
if(!StringUtils.hasText(xmTestPlan.getId())) {
return failed("id-0","测试计划编号不能为空");
}
this.xmTestPlanService.calcXmTestPlan(xmTestPlan.getId());
}catch (BizException e) {
tips=e.getTips();
logger.error("",e);
}catch (Exception e) {
tips.setFailureMsg(e.getMessage());
logger.error("",e);
}
m.put("tips", tips);
return m;
}
@ApiOperation( value = "新增一条测试计划信息",notes=" ") @ApiOperation( value = "新增一条测试计划信息",notes=" ")
@ApiResponses({ @ApiResponses({

12
xm-core/src/main/java/com/xm/core/service/XmTestPlanService.java

@ -1,16 +1,9 @@
package com.xm.core.service; package com.xm.core.service;
import com.mdp.core.service.BaseService;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.mdp.core.service.BaseService;
import static com.mdp.core.utils.BaseUtils.*;
import com.mdp.core.entity.Tips;
import com.mdp.core.err.BizException;
import com.xm.core.entity.XmTestPlan;
/** /**
* 父类已经支持增删改查操作,因此,即使本类什么也不写,也已经可以满足一般的增删改查操作了.<br> * 父类已经支持增删改查操作,因此,即使本类什么也不写,也已经可以满足一般的增删改查操作了.<br>
* 组织 com 顶级模块 xm 大模块 core 小模块 <br> * 组织 com 顶级模块 xm 大模块 core 小模块 <br>
@ -20,5 +13,8 @@ import com.xm.core.entity.XmTestPlan;
public class XmTestPlanService extends BaseService { public class XmTestPlanService extends BaseService {
static Logger logger =LoggerFactory.getLogger(XmTestPlanService.class); static Logger logger =LoggerFactory.getLogger(XmTestPlanService.class);
public void calcXmTestPlan(String id) {
super.update("calcXmTestPlan",id);
}
} }

67
xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTestPlanMapper.xml

@ -14,7 +14,72 @@
<if test="key != null and key !='' "> and res.name like concat('%',#{key},'%') </if> <if test="key != null and key !='' "> and res.name like concat('%',#{key},'%') </if>
</sql> </sql>
<update id="calcXmTestPlan" parameterType="String">
UPDATE xm_test_plan res
LEFT JOIN (
SELECT
pc.plan_id,
count( * ) total_cases,
sum( IF ( pc.exec_status = '2', 1, 0 ) ) ok_cases,
sum( IF ( pc.exec_status = '4', 1, 0 ) ) err_cases,
sum( IF ( pc.exec_status = '1', 1, 0 ) ) ig_cases,
sum( IF ( pc.exec_status = '3', 1, 0 ) ) bl_cases,
sum( IF ( pc.exec_status = '0', 1, 0 ) ) to_test_cases,
count( DISTINCT c.menu_id ) menus,
count( DISTINCT c.func_id ) funcs
FROM
xm_test_plan_case pc
INNER JOIN xm_test_case c ON pc.case_id = c.id
WHERE
pc.plan_id = #{id}
GROUP BY
pc.plan_id
) AS cc ON cc.plan_id = res.id
LEFT JOIN (
SELECT
q.plan_id,
count( * ) bug_cnt,
sum(
IF
(
q.bug_status = '1'
OR q.bug_status = '2'
OR q.bug_status = '3'
OR q.bug_status = '4'
OR q.bug_status = '5'
OR q.bug_status = '6'
OR q.bug_status = '9',
1,
0
)
) active_bugs,
sum( IF ( q.bug_status = '8', 1, 0 ) ) closed_bugs,
sum( IF ( q.bug_status = '7', 1, 0 ) ) resolved_bugs,
0 confirmed_bugs
FROM
xm_question q
WHERE
q.plan_id = #{id}
GROUP BY
q.plan_id
) AS bugs ON res.id = bugs.plan_id
SET res.total_cases = cc.total_cases,
res.ok_cases = cc.ok_cases,
res.err_cases = cc.err_cases,
res.ig_cases = cc.ig_cases,
res.bl_cases = cc.bl_cases,
res.to_test_cases = cc.to_test_cases,
res.menus = cc.menus,
res.funcs = cc.funcs,
res.bug_cnt = bugs.bug_cnt,
res.active_bugs = bugs.active_bugs,
res.closed_bugs = bugs.closed_bugs,
res.resolved_bugs = bugs.resolved_bugs,
res.resolved_bugs = bugs.resolved_bugs,
res.confirmed_bugs = bugs.confirmed_bugs
WHERE
id = #{id}
</update>
<!--结束 自定义sql函数区域--> <!--结束 自定义sql函数区域-->

Loading…
Cancel
Save