Browse Source

添加节点类型、标签等

master
陈裕财 4 years ago
parent
commit
bd6b82eb05
  1. 3
      xm-core/src/main/java/com/xm/core/ctrl/XmIterationController.java
  2. 9
      xm-core/src/main/java/com/xm/core/ctrl/XmProductController.java
  3. 5
      xm-core/src/main/java/com/xm/core/ctrl/XmProjectController.java
  4. 88
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml

3
xm-core/src/main/java/com/xm/core/ctrl/XmIterationController.java

@ -56,6 +56,8 @@ public class XmIterationController {
@Autowired @Autowired
private XmRecordService xmRecordService; private XmRecordService xmRecordService;
@Autowired
XmIterationStateService xmIterationStateService;
@Autowired @Autowired
XmGroupService xmGroupService; XmGroupService xmGroupService;
@ -182,6 +184,7 @@ public class XmIterationController {
return ResponseHelper.failed("no-product-qx","您不是产品管理人员,无权将该产品与迭代关联"); return ResponseHelper.failed("no-product-qx","您不是产品管理人员,无权将该产品与迭代关联");
}; };
xmIterationService.addIteration(xmIteration); xmIterationService.addIteration(xmIteration);
xmIterationStateService.loadTasksToXmIterationState(xmIteration.getId());
xmRecordService.addXmIterationRecord(xmIteration.getId(),"迭代-新增","新增迭代"+xmIteration.getIterationName()); xmRecordService.addXmIterationRecord(xmIteration.getId(),"迭代-新增","新增迭代"+xmIteration.getIterationName());
m.put("data",xmIteration); m.put("data",xmIteration);
}catch (BizException e) { }catch (BizException e) {

9
xm-core/src/main/java/com/xm/core/ctrl/XmProductController.java

@ -14,6 +14,7 @@ import com.xm.core.entity.XmProductCopyVo;
import com.xm.core.entity.XmProductProjectLink; import com.xm.core.entity.XmProductProjectLink;
import com.xm.core.service.XmProductService; import com.xm.core.service.XmProductService;
import com.xm.core.service.XmGroupService; import com.xm.core.service.XmGroupService;
import com.xm.core.service.XmProductStateService;
import com.xm.core.service.XmRecordService; import com.xm.core.service.XmRecordService;
import com.xm.core.vo.XmProductAddVo; import com.xm.core.vo.XmProductAddVo;
import io.swagger.annotations.*; import io.swagger.annotations.*;
@ -56,8 +57,8 @@ public class XmProductController {
@Value("${mdp.platform-branch-id:platform-branch-001}") @Value("${mdp.platform-branch-id:platform-branch-001}")
String platformBranchId="platform-branch-001"; String platformBranchId="platform-branch-001";
@Autowired
XmProductStateService xmProductStateService;
@ApiOperation( value = "查询产品表信息列表",notes="listXmProduct,条件之间是 and关系,模糊查询写法如 {studentName:'%才哥%'}") @ApiOperation( value = "查询产品表信息列表",notes="listXmProduct,条件之间是 and关系,模糊查询写法如 {studentName:'%才哥%'}")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name="id",value="菜单编号,主键",required=false), @ApiImplicitParam(name="id",value="菜单编号,主键",required=false),
@ -222,7 +223,7 @@ public class XmProductController {
@RequestMapping(value="/add",method=RequestMethod.POST) @RequestMapping(value="/add",method=RequestMethod.POST)
public Map<String,Object> addXmProduct(@RequestBody XmProductAddVo xmProduct) { public Map<String,Object> addXmProduct(@RequestBody XmProductAddVo xmProduct) {
Map<String,Object> m = new HashMap<>(); Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("成功新增一条数据");
Tips tips=new Tips("创建产品成功");
try{ try{
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
if(StringUtils.isEmpty(xmProduct.getCode())) { if(StringUtils.isEmpty(xmProduct.getCode())) {
@ -272,7 +273,7 @@ public class XmProductController {
} }
xmProductService.addProduct(xmProduct); xmProductService.addProduct(xmProduct);
xmRecordService.addXmProductRecord(xmProduct.getId(),"创建产品","创建产品【"+xmProduct.getId()+"】【"+xmProduct.getProductName()+"】"); xmRecordService.addXmProductRecord(xmProduct.getId(),"创建产品","创建产品【"+xmProduct.getId()+"】【"+xmProduct.getProductName()+"】");
xmProductStateService.loadTasksToXmProductState(xmProduct.getId());
m.put("data",xmProduct); m.put("data",xmProduct);
}catch (BizException e) { }catch (BizException e) {
tips=e.getTips(); tips=e.getTips();

5
xm-core/src/main/java/com/xm/core/ctrl/XmProjectController.java

@ -60,6 +60,8 @@ public class XmProjectController {
@Value("${mdp.platform-branch-id:platform-branch-001}") @Value("${mdp.platform-branch-id:platform-branch-001}")
String platformBranchId="platform-branch-001"; String platformBranchId="platform-branch-001";
@Autowired
XmProjectStateService xmProjectStateService;
@Autowired @Autowired
private XmTaskService xmTaskService; private XmTaskService xmTaskService;
@ -138,7 +140,7 @@ public class XmProjectController {
@HasQx(value = "xm_core_xmProject_add",name = "创建项目",categoryId = "admin-xm",categoryName = "管理端-项目管理系统") @HasQx(value = "xm_core_xmProject_add",name = "创建项目",categoryId = "admin-xm",categoryName = "管理端-项目管理系统")
public Map<String,Object> addXmProject(@RequestBody XmProjectVo xmProjectVo) { public Map<String,Object> addXmProject(@RequestBody XmProjectVo xmProjectVo) {
Map<String,Object> m = new HashMap<>(); Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("成功新增一条数据");
Tips tips=new Tips("成功创建项目");
try{ try{
if(!StringUtils.hasText(xmProjectVo.getName())){ if(!StringUtils.hasText(xmProjectVo.getName())){
return ResponseHelper.failed("name-0","项目名称不能为空"); return ResponseHelper.failed("name-0","项目名称不能为空");
@ -152,6 +154,7 @@ public class XmProjectController {
} }
xmProjectService.saveProject(xmProjectVo); xmProjectService.saveProject(xmProjectVo);
xmProjectService.clearProject(xmProjectVo.getId()); xmProjectService.clearProject(xmProjectVo.getId());
xmProjectStateService.loadTasksToXmProjectState(xmProjectVo.getId());
m.put("data",xmProjectVo); m.put("data",xmProjectVo);
}catch (BizException e) { }catch (BizException e) {

88
xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml

@ -193,94 +193,6 @@
( #{item}) ( #{item})
</foreach> </foreach>
</select> </select>
<!-- 适合没有交叉的,没用父子关系的一批任务的更新 -->
<update id="batchSumParents" parameterType="List">
UPDATE xm_menu res
LEFT JOIN (
SELECT
t.pmenu_id,
count(1) as children_cnt,
sum( ifnull( t.budget_cost, 0 ) ) AS budget_cost,
sum( ifnull( t.budget_workload, 0 ) ) AS budget_workload,
sum( ifnull( t.mact_cost, 0 ) ) AS mact_cost,
sum( ifnull( t.mact_workload, 0 ) ) AS mact_workload,
sum( ifnull( t.rworkload, if(t.budget_workload>0,(t.budget_workload-ifnull(t.mact_workload,0)),0) ) ) AS rworkload,
sum( ifnull(t.mact_rate,0)) as total_rate,
min( t.start_time ) AS start_time,
max( t.end_time ) AS end_time
FROM
xm_menu t
WHERE
t.pmenu_id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")" >
#{item}
</foreach>
group by t.pmenu_id
) t2 ON t2.pmenu_id = res.menu_id
SET
res.budget_workload=ifnull(t2.budget_workload,0),
res.budget_cost=ifnull(t2.budget_cost,0),
res.mact_cost = t2.mact_cost,
res.mact_workload = t2.mact_workload,
res.mact_rate = case when (ifnull(t2.rworkload,0)+ifnull(t2.mact_workload,0)>0) then ifnull(t2.mact_workload,0)*100/(ifnull(t2.rworkload,0)+ifnull(t2.mact_workload,0))
when t2.children_cnt >0 then t2.total_rate/t2.children_cnt
else 0 end,
res.start_time = ifnull(res.start_time,t2.start_time),
res.end_time = ifnull(t2.end_time,t2.end_time),
res.children_cnt = ifnull( t2.children_cnt, 0 ),
res.ntype=if(t2.children_cnt>0,"1",res.ntype)
WHERE
res.menu_id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")" >
#{item}
</foreach>
and res.ntype='1'
</update>
<!-- 适合父子关系的一批任务的更新 -->
<update id="sumParents" parameterType="List">
<foreach collection="list" item="item" index="index" open="" separator=";" close="" >
UPDATE xm_menu res
left JOIN (
SELECT
t.pmenu_id,
count(1) as children_cnt,
sum( ifnull( t.mact_cost, 0 ) ) AS act_cost,
sum( ifnull( t.mact_workload, 0 ) ) AS act_workload,
sum( ifnull( t.budget_cost, 0 ) ) AS budget_cost,
sum( ifnull( t.rworkload, if(t.budget_workload>0,(t.budget_workload-ifnull(t.mact_workload,0)),0) ) ) AS rworkload,
sum( ifnull( t.budget_workload, 0 ) * ifnull( t.rate, 0 ) ) as budget_workload_rate,
sum( ifnull(t.rate,0)) as total_rate,
sum( ifnull( t.budget_workload, 0 )) as budget_workload,
min( t.mact_start_time ) AS act_start_time,
max( t.mact_end_time ) AS act_end_time,
min( t.start_time ) AS start_time,
max( t.end_time ) AS end_time
FROM
xm_menu t
WHERE
t.pmenu_id = #{item}
) t2 ON t2.pmenu_id = res.menu_id
SET
res.budget_workload=ifnull(t2.budget_workload,0),
res.budget_cost=ifnull(t2.budget_cost,0),
res.mact_cost = t2.mact_cost,
res.mact_workload = t2.mact_workload,
res.mact_rate = case when (ifnull(t2.rworkload,0)+ifnull(t2.mact_workload,0)>0) then ifnull(t2.mact_workload,0)*100/(ifnull(t2.rworkload,0)+ifnull(t2.mact_workload,0))
when t2.children_cnt >0 then t2.total_rate/t2.children_cnt
else 0 end,
res.start_time = ifnull(res.start_time,t2.start_time),
res.end_time = ifnull(t2.end_time,t2.end_time),
res.children_cnt = ifnull( t2.children_cnt, 0 ),
res.ntype=if(t2.children_cnt>0,"1",res.ntype)
WHERE
res.menu_id = #{item}
and res.ntype='1'
</foreach>
</update>
<!--结束 自定义sql函数区域--> <!--结束 自定义sql函数区域-->

Loading…
Cancel
Save