Browse Source

添加节点类型、标签等

master
陈裕财 4 years ago
parent
commit
81b2c4c39b
  1. 14
      xm-core/src/main/java/com/xm/core/ctrl/XmPhaseController.java
  2. 2
      xm-core/src/main/java/com/xm/core/ctrl/XmProjectMBudgetCostNouserController.java
  3. 2
      xm-core/src/main/java/com/xm/core/ctrl/XmProjectMBudgetCostUserController.java
  4. 2
      xm-core/src/main/java/com/xm/core/ctrl/XmProjectMCostNouserController.java
  5. 2
      xm-core/src/main/java/com/xm/core/ctrl/XmProjectMCostUserController.java
  6. 10
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskController.java
  7. 2
      xm-core/src/main/java/com/xm/core/entity/XmBranchTaskTypeState.java
  8. 2
      xm-core/src/main/java/com/xm/core/entity/XmProjectTaskTypeState.java
  9. 10
      xm-core/src/main/java/com/xm/core/service/XmPhaseService.java
  10. 12
      xm-core/src/main/java/com/xm/core/service/XmTaskService.java
  11. 8
      xm-core/src/main/java/com/xm/core/vo/BatchRelTasksWithPhase.java
  12. 12
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmBranchStateMapper.xml
  13. 18
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmBranchTaskTypeStateMapper.xml
  14. 2
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml
  15. 182
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmPhaseMapper.xml
  16. 12
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectMBudgetCostNouserMapper.xml
  17. 16
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectMBudgetCostUserMapper.xml
  18. 12
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectMCostNouserMapper.xml
  19. 16
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectMCostUserMapper.xml
  20. 8
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectMapper.xml
  21. 50
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectStateHisMapper.xml
  22. 18
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectTaskTypeStateMapper.xml
  23. 30
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskMapper.xml
  24. 2
      xm-core/src/test/java/com/xm/core/TestXmProjectStateService.java
  25. 2
      xm-core/src/test/java/com/xm/push/TestXmPushMsgService.java

14
xm-core/src/main/java/com/xm/core/ctrl/XmPhaseController.java

@ -29,7 +29,7 @@ import java.util.stream.Collectors;
import static com.mdp.core.utils.BaseUtils.map; import static com.mdp.core.utils.BaseUtils.map;
/** /**
* url编制采用rest风格,如对XM.xm_project_phase 项目计划模板的操作有增删改查,对应的url分别为:<br>
* url编制采用rest风格,如对XM.xm_phase 项目计划模板的操作有增删改查,对应的url分别为:<br>
* 新增: xm/xmProjectPhase/add <br> * 新增: xm/xmProjectPhase/add <br>
* 查询: xm/xmProjectPhase/list<br> * 查询: xm/xmProjectPhase/list<br>
* 模糊查询: xm/xmProjectPhase/listKey<br> * 模糊查询: xm/xmProjectPhase/listKey<br>
@ -37,7 +37,7 @@ import static com.mdp.core.utils.BaseUtils.map;
* 删除: xm/xmProjectPhase/del<br> * 删除: xm/xmProjectPhase/del<br>
* 批量删除: xm/xmProjectPhase/batchDel<br> * 批量删除: xm/xmProjectPhase/batchDel<br>
* 组织 com.qqkj 顶级模块 oa 大模块 xm 小模块 <br> * 组织 com.qqkj 顶级模块 oa 大模块 xm 小模块 <br>
* 实体 XmProjectPhase XM.xm_project_phase 当前主键(包括多主键): id;
* 实体 XmProjectPhase XM.xm_phase 当前主键(包括多主键): id;
***/ ***/
@RestController("xm.core.xmPhaseController") @RestController("xm.core.xmPhaseController")
@RequestMapping(value="/**/xm/core/xmPhase") @RequestMapping(value="/**/xm/core/xmPhase")
@ -199,7 +199,7 @@ public class XmPhaseController {
return m; return m;
} }
@ApiOperation( value = "新增一条xm_project_phase信息",notes="addXmProjectPhase,主键如果为空,后台自动生成")
@ApiOperation( value = "新增一条xm_phase信息",notes="addXmProjectPhase,主键如果为空,后台自动生成")
@ApiResponses({ @ApiResponses({
@ApiResponse(code = 200,response= XmPhase.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") @ApiResponse(code = 200,response= XmPhase.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}")
}) })
@ -280,7 +280,7 @@ public class XmPhaseController {
return m; return m;
} }
/***/ /***/
@ApiOperation( value = "删除一条xm_project_phase信息",notes="delXmProjectPhase,仅需要上传主键字段")
@ApiOperation( value = "删除一条xm_phase信息",notes="delXmProjectPhase,仅需要上传主键字段")
@ApiResponses({ @ApiResponses({
@ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}}") @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}}")
}) })
@ -341,7 +341,7 @@ public class XmPhaseController {
/***/ /***/
@ApiOperation( value = "根据主键修改一条xm_project_phase信息",notes="editXmProjectPhase")
@ApiOperation( value = "根据主键修改一条xm_phase信息",notes="editXmProjectPhase")
@ApiResponses({ @ApiResponses({
@ApiResponse(code = 200,response= XmPhase.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") @ApiResponse(code = 200,response= XmPhase.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}")
}) })
@ -417,7 +417,7 @@ public class XmPhaseController {
/***/ /***/
@ApiOperation( value = "根据主键列表批量删除xm_project_phase信息",notes="batchDelXmProjectPhase,仅需要上传主键字段")
@ApiOperation( value = "根据主键列表批量删除xm_phase信息",notes="batchDelXmProjectPhase,仅需要上传主键字段")
@ApiResponses({ @ApiResponses({
@ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}") @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}")
}) })
@ -513,7 +513,7 @@ public class XmPhaseController {
return m; return m;
} }
/***/ /***/
@ApiOperation( value = "根据主键列表批量删除xm_project_phase信息",notes="batchDelXmProjectPhase,仅需要上传主键字段")
@ApiOperation( value = "根据主键列表批量删除xm_phase信息",notes="batchDelXmProjectPhase,仅需要上传主键字段")
@ApiResponses({ @ApiResponses({
@ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}") @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}")
}) })

2
xm-core/src/main/java/com/xm/core/ctrl/XmProjectMBudgetCostNouserController.java

@ -60,7 +60,7 @@ public class XmProjectMBudgetCostNouserController {
@ApiImplicitParam(name="bizzEndDate",value="费用归属周期结束日期",required=false), @ApiImplicitParam(name="bizzEndDate",value="费用归属周期结束日期",required=false),
@ApiImplicitParam(name="bizProcInstId",value="当前流程实例编号",required=false), @ApiImplicitParam(name="bizProcInstId",value="当前流程实例编号",required=false),
@ApiImplicitParam(name="bizFlowState",value="当前流程状态0初始1审批中2审批通过3审批不通过4流程取消或者删除",required=false), @ApiImplicitParam(name="bizFlowState",value="当前流程状态0初始1审批中2审批通过3审批不通过4流程取消或者删除",required=false),
@ApiImplicitParam(name="projectPhaseId",value="计划",required=false),
@ApiImplicitParam(name="phaseId",value="计划",required=false),
@ApiImplicitParam(name="costType",value="成本类型0非人力1内部人力2外购人力",required=false), @ApiImplicitParam(name="costType",value="成本类型0非人力1内部人力2外购人力",required=false),
@ApiImplicitParam(name="bizzMonth",value="费用归属月份yyyy-mm",required=false), @ApiImplicitParam(name="bizzMonth",value="费用归属月份yyyy-mm",required=false),
@ApiImplicitParam(name="pageSize",value="每页记录数",required=false), @ApiImplicitParam(name="pageSize",value="每页记录数",required=false),

2
xm-core/src/main/java/com/xm/core/ctrl/XmProjectMBudgetCostUserController.java

@ -52,7 +52,7 @@ public class XmProjectMBudgetCostUserController {
@ApiImplicitParam(name="bizzMonth",value="费用归属月份yyyy-mm",required=false), @ApiImplicitParam(name="bizzMonth",value="费用归属月份yyyy-mm",required=false),
@ApiImplicitParam(name="bizProcInstId",value="当前流程实例编号",required=false), @ApiImplicitParam(name="bizProcInstId",value="当前流程实例编号",required=false),
@ApiImplicitParam(name="bizFlowState",value="当前流程状态0初始1审批中2审批通过3审批不通过4流程取消或者删除",required=false), @ApiImplicitParam(name="bizFlowState",value="当前流程状态0初始1审批中2审批通过3审批不通过4流程取消或者删除",required=false),
@ApiImplicitParam(name="projectPhaseId",value="项目计划",required=false),
@ApiImplicitParam(name="phaseId",value="项目计划",required=false),
@ApiImplicitParam(name="costType",value="成本类型0人力1内部人力2外购人力",required=false), @ApiImplicitParam(name="costType",value="成本类型0人力1内部人力2外购人力",required=false),
@ApiImplicitParam(name="pageSize",value="每页记录数",required=false), @ApiImplicitParam(name="pageSize",value="每页记录数",required=false),
@ApiImplicitParam(name="currentPage",value="当前页码,从1开始",required=false), @ApiImplicitParam(name="currentPage",value="当前页码,从1开始",required=false),

2
xm-core/src/main/java/com/xm/core/ctrl/XmProjectMCostNouserController.java

@ -66,7 +66,7 @@ public class XmProjectMCostNouserController {
@ApiImplicitParam(name="bizzEndDate",value="费用归属周期结束日期",required=false), @ApiImplicitParam(name="bizzEndDate",value="费用归属周期结束日期",required=false),
@ApiImplicitParam(name="bizProcInstId",value="当前流程实例编号",required=false), @ApiImplicitParam(name="bizProcInstId",value="当前流程实例编号",required=false),
@ApiImplicitParam(name="bizFlowState",value="当前流程状态0初始1审批中2审批通过3审批不通过4流程取消或者删除",required=false), @ApiImplicitParam(name="bizFlowState",value="当前流程状态0初始1审批中2审批通过3审批不通过4流程取消或者删除",required=false),
@ApiImplicitParam(name="projectPhaseId",value="项目计划计划编号",required=false),
@ApiImplicitParam(name="phaseId",value="项目计划计划编号",required=false),
@ApiImplicitParam(name="actCostAmount",value="实际成本金额",required=false), @ApiImplicitParam(name="actCostAmount",value="实际成本金额",required=false),
@ApiImplicitParam(name="costType",value="成本类型0非人力1内部人力2外购人力",required=false), @ApiImplicitParam(name="costType",value="成本类型0非人力1内部人力2外购人力",required=false),
@ApiImplicitParam(name="bizMonth",value="业务归属月份yyyy-mm",required=false), @ApiImplicitParam(name="bizMonth",value="业务归属月份yyyy-mm",required=false),

2
xm-core/src/main/java/com/xm/core/ctrl/XmProjectMCostUserController.java

@ -68,7 +68,7 @@ public class XmProjectMCostUserController {
@ApiImplicitParam(name="bizzEndDate",value="费用归属周期结束日期",required=false), @ApiImplicitParam(name="bizzEndDate",value="费用归属周期结束日期",required=false),
@ApiImplicitParam(name="bizProcInstId",value="当前流程实例编号",required=false), @ApiImplicitParam(name="bizProcInstId",value="当前流程实例编号",required=false),
@ApiImplicitParam(name="bizFlowState",value="当前流程状态0初始1审批中2审批通过3审批不通过4流程取消或者删除",required=false), @ApiImplicitParam(name="bizFlowState",value="当前流程状态0初始1审批中2审批通过3审批不通过4流程取消或者删除",required=false),
@ApiImplicitParam(name="projectPhaseId",value="项目计划计划编号",required=false),
@ApiImplicitParam(name="phaseId",value="项目计划计划编号",required=false),
@ApiImplicitParam(name="actCostAmount",value="金额",required=false), @ApiImplicitParam(name="actCostAmount",value="金额",required=false),
@ApiImplicitParam(name="costType",value="成本类型0非人力1内部人力2外购人力",required=false), @ApiImplicitParam(name="costType",value="成本类型0非人力1内部人力2外购人力",required=false),
@ApiImplicitParam(name="bizMonth",value="业务归属月份yyyy-mm",required=false), @ApiImplicitParam(name="bizMonth",value="业务归属月份yyyy-mm",required=false),

10
xm-core/src/main/java/com/xm/core/ctrl/XmTaskController.java

@ -893,11 +893,11 @@ public class XmTaskController {
return ResponseHelper.failed("params-0","参数不能为空"); return ResponseHelper.failed("params-0","参数不能为空");
} }
String projectPhaseId=tasksPhase.getPhaseId();
if( !StringUtils.hasText(projectPhaseId) ){
return ResponseHelper.failed("projectPhaseId-0","项目计划编号不能为空");
String phaseId=tasksPhase.getPhaseId();
if( !StringUtils.hasText(phaseId) ){
return ResponseHelper.failed("phaseId-0","项目计划编号不能为空");
} }
XmProjectPhase xmProjectPhaseDb=this.xmProjectPhaseService.selectOneObject(new XmProjectPhase(projectPhaseId));
XmProjectPhase xmProjectPhaseDb=this.xmProjectPhaseService.selectOneObject(new XmProjectPhase(phaseId));
if(xmProjectPhaseDb==null){ if(xmProjectPhaseDb==null){
@ -945,7 +945,7 @@ public class XmTaskController {
List<String> msgs=new ArrayList<>(); List<String> msgs=new ArrayList<>();
if(allowTasks.size()>0){ if(allowTasks.size()>0){
BatchRelTasksWithPhase tasksWithPhase=new BatchRelTasksWithPhase(); BatchRelTasksWithPhase tasksWithPhase=new BatchRelTasksWithPhase();
tasksWithPhase.setPhaseId(projectPhaseId);
tasksWithPhase.setPhaseId(phaseId);
tasksWithPhase.setTaskIds(allowTasks.stream().map(i->i.getId()).collect(Collectors.toList())); tasksWithPhase.setTaskIds(allowTasks.stream().map(i->i.getId()).collect(Collectors.toList()));
xmTaskService.batchRelTasksWithPhase(tasksWithPhase); xmTaskService.batchRelTasksWithPhase(tasksWithPhase);
} }

2
xm-core/src/main/java/com/xm/core/entity/XmBranchTaskTypeState.java

@ -10,7 +10,7 @@ import java.util.Date;
* 实体 XmBranchTaskTypeState所有属性名: <br> * 实体 XmBranchTaskTypeState所有属性名: <br>
* taskType,planWorkload,planAmount,actWorkload,actAmount,branchId,bizDate,calcTime,planOuserAt,planIuserAt,actOutUserAt,actInnerUserAt,planOuserWorkload,planIuserWorkload,actOuserWorkload,actIuserWorkload,planNouserAt,actNouserAt,id,branchName;<br> * taskType,planWorkload,planAmount,actWorkload,actAmount,branchId,bizDate,calcTime,planOuserAt,planIuserAt,actOutUserAt,actInnerUserAt,planOuserWorkload,planIuserWorkload,actOuserWorkload,actIuserWorkload,planNouserAt,actNouserAt,id,branchName;<br>
* xm_branch_task_type_state 按机构编号任务类型汇总的所有字段名: <br> * xm_branch_task_type_state 按机构编号任务类型汇总的所有字段名: <br>
* task_type,plan_workload,plan_amount,act_workload,act_amount,branch_id,biz_date,calc_time,plan_ouser_at,plan_iuser_at,act_out_user_at,act_inner_user_at,plan_ouser_workload,plan_iuser_workload,act_ouser_workload,act_iuser_workload,plan_nouser_at,act_nouser_at,id,branch_name;<br>
* task_type,plan_workload,plan_amount,act_workload,act_amount,branch_id,biz_date,calc_time,plan_ouser_at,plan_iuser_at,act_ouser_at,act_iuser_at,plan_ouser_workload,plan_iuser_workload,act_ouser_workload,act_iuser_workload,plan_nouser_at,act_nouser_at,id,branch_name;<br>
* 当前主键(包括多主键):<br> * 当前主键(包括多主键):<br>
* id;<br> * id;<br>
*/ */

2
xm-core/src/main/java/com/xm/core/entity/XmProjectTaskTypeState.java

@ -10,7 +10,7 @@ import java.util.Date;
* 实体 XmProjectTaskTypeState所有属性名: <br> * 实体 XmProjectTaskTypeState所有属性名: <br>
* projectId,projectName,taskType,planWorkload,planAmount,actWorkload,actAmount,branchId,bizDate,calcTime,planOuserAt,planIuserAt,actOutUserAt,actInnerUserAt,planOuserWorkload,planIuserWorkload,actOuserWorkload,actIuserWorkload,planNouserAt,actNouserAt,id;<br> * projectId,projectName,taskType,planWorkload,planAmount,actWorkload,actAmount,branchId,bizDate,calcTime,planOuserAt,planIuserAt,actOutUserAt,actInnerUserAt,planOuserWorkload,planIuserWorkload,actOuserWorkload,actIuserWorkload,planNouserAt,actNouserAt,id;<br>
* xm_project_task_type_state 按任务类型汇总的所有字段名: <br> * xm_project_task_type_state 按任务类型汇总的所有字段名: <br>
* project_id,project_name,task_type,plan_workload,plan_amount,act_workload,act_amount,branch_id,biz_date,calc_time,plan_ouser_at,plan_iuser_at,act_out_user_at,act_inner_user_at,plan_ouser_workload,plan_iuser_workload,act_ouser_workload,act_iuser_workload,plan_nouser_at,act_nouser_at,id;<br>
* project_id,project_name,task_type,plan_workload,plan_amount,act_workload,act_amount,branch_id,biz_date,calc_time,plan_ouser_at,plan_iuser_at,act_ouser_at,act_iuser_at,plan_ouser_workload,plan_iuser_workload,act_ouser_workload,act_iuser_workload,plan_nouser_at,act_nouser_at,id;<br>
* 当前主键(包括多主键):<br> * 当前主键(包括多主键):<br>
* id;<br> * id;<br>
*/ */

10
xm-core/src/main/java/com/xm/core/service/XmPhaseService.java

@ -19,7 +19,7 @@ import java.util.stream.Collectors;
/** /**
* 父类已经支持增删改查操作,因此,即使本类什么也不写,也已经可以满足一般的增删改查操作了.<br> * 父类已经支持增删改查操作,因此,即使本类什么也不写,也已经可以满足一般的增删改查操作了.<br>
* 组织 com.qqkj 顶级模块 oa 大模块 xm 小模块 <br> * 组织 com.qqkj 顶级模块 oa 大模块 xm 小模块 <br>
* 实体 XmProjectPhase XM.xm_project_phase 当前主键(包括多主键): id;
* 实体 XmProjectPhase XM.xm_phase 当前主键(包括多主键): id;
***/ ***/
@Service("xm.core.xmProjectPhaseService") @Service("xm.core.xmProjectPhaseService")
public class XmPhaseService extends BaseService { public class XmPhaseService extends BaseService {
@ -548,13 +548,13 @@ public class XmPhaseService extends BaseService {
* res2.id, * res2.id,
* res2.phase_budget_workload, * res2.phase_budget_workload,
* res2.phase_budget_nouser_at, * res2.phase_budget_nouser_at,
* res2.phase_budget_inner_user_at,
* res2.phase_budget_out_user_at,
* res2.phase_budget_iuser_at,
* res2.phase_budget_ouser_at,
* res2.phase_budget_at, * res2.phase_budget_at,
* res0.child_phase_budget_workload, * res0.child_phase_budget_workload,
* res0.child_phase_budget_nouser_at, * res0.child_phase_budget_nouser_at,
* res0.child_phase_budget_inner_user_at,
* res0.child_phase_budget_out_user_at,
* res0.child_phase_budget_iuser_at,
* res0.child_phase_budget_ouser_at,
* res0.child_phase_budget_at * res0.child_phase_budget_at
* @param parentPhaseId * @param parentPhaseId
* @param phaseBudgetCost * @param phaseBudgetCost

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

@ -58,9 +58,9 @@ public class XmTaskService extends BaseService {
return i2; return i2;
} }
public Map<String,Object> selectTotalPhaseAndTaskBudgetCost(String projectPhaseId, List<String> excludeTaskIds){
public Map<String,Object> selectTotalPhaseAndTaskBudgetCost(String phaseId, List<String> excludeTaskIds){
Map<String,Object> p=new HashMap<>(); Map<String,Object> p=new HashMap<>();
p.put("projectPhaseId", projectPhaseId);
p.put("phaseId", phaseId);
p.put("excludeTaskIds", excludeTaskIds); p.put("excludeTaskIds", excludeTaskIds);
return this.selectOne("selectTotalPhaseAndTaskBudgetCost", p); return this.selectOne("selectTotalPhaseAndTaskBudgetCost", p);
} }
@ -69,13 +69,13 @@ public class XmTaskService extends BaseService {
* @param addTaskBudgetCost * @param addTaskBudgetCost
* @return * @return
*/ */
public Tips judgetPhaseBudget(String projectPhaseId, BigDecimal addTaskBudgetCost, BigDecimal addTaskBudgetIuserAt, BigDecimal addTaskBudgetOuserAt, BigDecimal addTaskBudgetNouserAt, List<String> excludeTaskIds){
public Tips judgetPhaseBudget(String phaseId, BigDecimal addTaskBudgetCost, BigDecimal addTaskBudgetIuserAt, BigDecimal addTaskBudgetOuserAt, BigDecimal addTaskBudgetNouserAt, List<String> excludeTaskIds){
Tips tips=new Tips("成功"); Tips tips=new Tips("成功");
if(!StringUtils.hasText(projectPhaseId)){
tips.setFailureMsg("projectPhaseId参数不能为空");
if(!StringUtils.hasText(phaseId)){
tips.setFailureMsg("phaseId参数不能为空");
return tips; return tips;
} }
Map<String,Object> g=this.selectTotalPhaseAndTaskBudgetCost(projectPhaseId,excludeTaskIds);
Map<String,Object> g=this.selectTotalPhaseAndTaskBudgetCost(phaseId,excludeTaskIds);
if(g==null || g.isEmpty()){ if(g==null || g.isEmpty()){
return tips; return tips;
} }

8
xm-core/src/main/java/com/xm/core/vo/BatchRelTasksWithPhase.java

@ -4,16 +4,16 @@ import java.util.List;
public class BatchRelTasksWithPhase { public class BatchRelTasksWithPhase {
String projectPhaseId;
String phaseId;
List<String> taskIds; List<String> taskIds;
public String getPhaseId() { public String getPhaseId() {
return projectPhaseId;
return phaseId;
} }
public void setPhaseId(String projectPhaseId) {
this.projectPhaseId = projectPhaseId;
public void setPhaseId(String phaseId) {
this.phaseId = phaseId;
} }
public List<String> getTaskIds() { public List<String> getTaskIds() {

12
xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmBranchStateMapper.xml

@ -30,14 +30,14 @@
sum( ifnull( total_need_col_amount, 0 ) ) total_need_col_amount, sum( ifnull( total_need_col_amount, 0 ) ) total_need_col_amount,
sum( ifnull( total_finish_col_amount, 0 ) ) total_finish_col_amount, sum( ifnull( total_finish_col_amount, 0 ) ) total_finish_col_amount,
sum( ifnull( total_cost_user_amount, 0 ) ) total_cost_user_amount, sum( ifnull( total_cost_user_amount, 0 ) ) total_cost_user_amount,
sum( ifnull( total_budget_inner_user_amount, 0 ) ) total_budget_inner_user_amount,
sum( ifnull( total_budget_iuser_amount, 0 ) ) total_budget_iuser_amount,
sum( ifnull( total_plan_workload, 0 ) ) total_plan_workload, sum( ifnull( total_plan_workload, 0 ) ) total_plan_workload,
sum( ifnull( total_risk_cnt, 0 ) ) total_risk_cnt, sum( ifnull( total_risk_cnt, 0 ) ) total_risk_cnt,
sum( ifnull( total_complete_risk_cnt, 0 ) ) total_complete_risk_cnt, sum( ifnull( total_complete_risk_cnt, 0 ) ) total_complete_risk_cnt,
sum( ifnull( total_budget_out_user_amount, 0 ) ) total_budget_out_user_amount,
sum( ifnull( total_budget_ouser_amount, 0 ) ) total_budget_ouser_amount,
sum( ifnull( total_complete_workload, 0 ) ) total_complete_workload, sum( ifnull( total_complete_workload, 0 ) ) total_complete_workload,
sum( ifnull( total_cost_inner_user_amount, 0 ) ) total_cost_inner_user_amount,
sum( ifnull( total_cost_out_user_amount, 0 ) ) total_cost_out_user_amount,
sum( ifnull( total_cost_iuser_amount, 0 ) ) total_cost_iuser_amount,
sum( ifnull( total_cost_ouser_amount, 0 ) ) total_cost_ouser_amount,
sum( ifnull( total_progress, 0 ) )/count(1) total_progress, sum( ifnull( total_progress, 0 ) )/count(1) total_progress,
sum( ifnull( total_active_bug_cnt, 0 ) ) total_active_bug_cnt, sum( ifnull( total_active_bug_cnt, 0 ) ) total_active_bug_cnt,
sum( ifnull( total_confirmed_bug_cnt, 0 ) ) total_confirmed_bug_cnt, sum( ifnull( total_confirmed_bug_cnt, 0 ) ) total_confirmed_bug_cnt,
@ -51,8 +51,8 @@
sum( ifnull( total_finish_pay_cnt, 0 ) ) total_finish_pay_cnt, sum( ifnull( total_finish_pay_cnt, 0 ) ) total_finish_pay_cnt,
sum( ifnull( total_finish_pay_user_cnt, 0 ) ) total_finish_pay_user_cnt, sum( ifnull( total_finish_pay_user_cnt, 0 ) ) total_finish_pay_user_cnt,
sum( ifnull( total_need_pay_user_cnt, 0 ) ) total_need_pay_user_cnt, sum( ifnull( total_need_pay_user_cnt, 0 ) ) total_need_pay_user_cnt,
sum( ifnull( total_plan_inner_user_workload, 0 ) ) total_plan_inner_user_workload,
sum( ifnull( total_plan_out_user_workload, 0 ) ) total_plan_out_user_workload,
sum( ifnull( total_plan_iuser_workload, 0 ) ) total_plan_iuser_workload,
sum( ifnull( total_plan_ouser_workload, 0 ) ) total_plan_ouser_workload,
sum( ifnull( test_cases, 0 ) ) test_cases, sum( ifnull( test_cases, 0 ) ) test_cases,
sum( ifnull( exec_cases, 0 ) ) exec_cases, sum( ifnull( exec_cases, 0 ) ) exec_cases,
sum( ifnull( design_cases, 0 ) ) design_cases, sum( ifnull( design_cases, 0 ) ) design_cases,

18
xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmBranchTaskTypeStateMapper.xml

@ -134,7 +134,7 @@
<!--sql片段 列--> <!--sql片段 列-->
<sql id="columns"> <sql id="columns">
task_type,plan_workload,plan_amount,act_workload,act_amount,branch_id,biz_date,calc_time,plan_ouser_at,plan_iuser_at,act_out_user_at,act_inner_user_at,plan_ouser_workload,plan_iuser_workload,act_ouser_workload,act_iuser_workload,plan_nouser_at,act_nouser_at,id,branch_name
task_type,plan_workload,plan_amount,act_workload,act_amount,branch_id,biz_date,calc_time,plan_ouser_at,plan_iuser_at,act_ouser_at,act_iuser_at,plan_ouser_workload,plan_iuser_workload,act_ouser_workload,act_iuser_workload,plan_nouser_at,act_nouser_at,id,branch_name
</sql> </sql>
<!--sql片段 动态条件 YYYY-MM-DD HH24:MI:SS--> <!--sql片段 动态条件 YYYY-MM-DD HH24:MI:SS-->
@ -149,8 +149,8 @@
<if test="calcTime != null"> and date_format(res.calc_time,'%Y-%m-%d') = date_format(#{calcTime},'%Y-%m-%d') </if> <if test="calcTime != null"> and date_format(res.calc_time,'%Y-%m-%d') = date_format(#{calcTime},'%Y-%m-%d') </if>
<if test="planOuserAt != null and planOuserAt != ''"> and res.plan_ouser_at = #{planOuserAt} </if> <if test="planOuserAt != null and planOuserAt != ''"> and res.plan_ouser_at = #{planOuserAt} </if>
<if test="planIuserAt != null and planIuserAt != ''"> and res.plan_iuser_at = #{planIuserAt} </if> <if test="planIuserAt != null and planIuserAt != ''"> and res.plan_iuser_at = #{planIuserAt} </if>
<if test="actOutUserAt != null and actOutUserAt != ''"> and res.act_out_user_at = #{actOutUserAt} </if>
<if test="actInnerUserAt != null and actInnerUserAt != ''"> and res.act_inner_user_at = #{actInnerUserAt} </if>
<if test="actOutUserAt != null and actOutUserAt != ''"> and res.act_ouser_at = #{actOutUserAt} </if>
<if test="actInnerUserAt != null and actInnerUserAt != ''"> and res.act_iuser_at = #{actInnerUserAt} </if>
<if test="planOuserWorkload != null and planOuserWorkload != ''"> and res.plan_ouser_workload = #{planOuserWorkload} </if> <if test="planOuserWorkload != null and planOuserWorkload != ''"> and res.plan_ouser_workload = #{planOuserWorkload} </if>
<if test="planIuserWorkload != null and planIuserWorkload != ''"> and res.plan_iuser_workload = #{planIuserWorkload} </if> <if test="planIuserWorkload != null and planIuserWorkload != ''"> and res.plan_iuser_workload = #{planIuserWorkload} </if>
<if test="actOuserWorkload != null and actOuserWorkload != ''"> and res.act_ouser_workload = #{actOuserWorkload} </if> <if test="actOuserWorkload != null and actOuserWorkload != ''"> and res.act_ouser_workload = #{actOuserWorkload} </if>
@ -172,8 +172,8 @@
calc_time = #{calcTime}, calc_time = #{calcTime},
plan_ouser_at = #{planOuserAt}, plan_ouser_at = #{planOuserAt},
plan_iuser_at = #{planIuserAt}, plan_iuser_at = #{planIuserAt},
act_out_user_at = #{actOutUserAt},
act_inner_user_at = #{actInnerUserAt},
act_ouser_at = #{actOutUserAt},
act_iuser_at = #{actInnerUserAt},
plan_ouser_workload = #{planOuserWorkload}, plan_ouser_workload = #{planOuserWorkload},
plan_iuser_workload = #{planIuserWorkload}, plan_iuser_workload = #{planIuserWorkload},
act_ouser_workload = #{actOuserWorkload}, act_ouser_workload = #{actOuserWorkload},
@ -193,8 +193,8 @@
<if test="calcTime != null"> calc_time = #{calcTime}, </if> <if test="calcTime != null"> calc_time = #{calcTime}, </if>
<if test="planOuserAt != null and planOuserAt != ''"> plan_ouser_at = #{planOuserAt}, </if> <if test="planOuserAt != null and planOuserAt != ''"> plan_ouser_at = #{planOuserAt}, </if>
<if test="planIuserAt != null and planIuserAt != ''"> plan_iuser_at = #{planIuserAt}, </if> <if test="planIuserAt != null and planIuserAt != ''"> plan_iuser_at = #{planIuserAt}, </if>
<if test="actOutUserAt != null and actOutUserAt != ''"> act_out_user_at = #{actOutUserAt}, </if>
<if test="actInnerUserAt != null and actInnerUserAt != ''"> act_inner_user_at = #{actInnerUserAt}, </if>
<if test="actOutUserAt != null and actOutUserAt != ''"> act_ouser_at = #{actOutUserAt}, </if>
<if test="actInnerUserAt != null and actInnerUserAt != ''"> act_iuser_at = #{actInnerUserAt}, </if>
<if test="planOuserWorkload != null and planOuserWorkload != ''"> plan_ouser_workload = #{planOuserWorkload}, </if> <if test="planOuserWorkload != null and planOuserWorkload != ''"> plan_ouser_workload = #{planOuserWorkload}, </if>
<if test="planIuserWorkload != null and planIuserWorkload != ''"> plan_iuser_workload = #{planIuserWorkload}, </if> <if test="planIuserWorkload != null and planIuserWorkload != ''"> plan_iuser_workload = #{planIuserWorkload}, </if>
<if test="actOuserWorkload != null and actOuserWorkload != ''"> act_ouser_workload = #{actOuserWorkload}, </if> <if test="actOuserWorkload != null and actOuserWorkload != ''"> act_ouser_workload = #{actOuserWorkload}, </if>
@ -215,8 +215,8 @@
calc_time = #{item.calcTime}, calc_time = #{item.calcTime},
plan_ouser_at = #{item.planOuserAt}, plan_ouser_at = #{item.planOuserAt},
plan_iuser_at = #{item.planIuserAt}, plan_iuser_at = #{item.planIuserAt},
act_out_user_at = #{item.actOutUserAt},
act_inner_user_at = #{item.actInnerUserAt},
act_ouser_at = #{item.actOutUserAt},
act_iuser_at = #{item.actInnerUserAt},
plan_ouser_workload = #{item.planOuserWorkload}, plan_ouser_workload = #{item.planOuserWorkload},
plan_iuser_workload = #{item.planIuserWorkload}, plan_iuser_workload = #{item.planIuserWorkload},
act_ouser_workload = #{item.actOuserWorkload}, act_ouser_workload = #{item.actOuserWorkload},

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

@ -69,7 +69,7 @@
<select id="selectListMapByWhereWithPhase" parameterType="HashMap" resultType="HashMap"> <select id="selectListMapByWhereWithPhase" parameterType="HashMap" resultType="HashMap">
select res.*,p.phase_name from xm_menu res left join xm_project_phase p on res.phase_id=p.id and res.product_id=p.product_id
select res.*,p.phase_name from xm_menu res left join xm_phase p on res.phase_id=p.id and res.product_id=p.product_id
<where> <where>
<include refid="whereForMap"/> <include refid="whereForMap"/>
<include refid="where"/> <include refid="where"/>

182
xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmPhaseMapper.xml

@ -18,37 +18,37 @@
</if> </if>
<if test=" taskFilterType !=null and taskFilterType!=''"> <if test=" taskFilterType !=null and taskFilterType!=''">
and <if test="taskFilterType=='not-join'"> not </if> and <if test="taskFilterType=='not-join'"> not </if>
exists( select 1 from xm_task t where t.project_phase_id=res.id)
exists( select 1 from xm_task t where t.phase_id=res.id)
</if> </if>
<if test="key != null and key !='' "> </if> <if test="key != null and key !='' "> </if>
<if test="isTop!=null and isTop!=''"> <if test="isTop!=null and isTop!=''">
and (res.parent_phase_id is null or res.parent_phase_id='')
and (res.parent_id is null or res.parent_id='')
</if> </if>
</sql> </sql>
<select id="selectTotalProjectAndPhaseBudgetCost" parameterType="HashMap" resultType="HashMap"> <select id="selectTotalProjectAndPhaseBudgetCost" parameterType="HashMap" resultType="HashMap">
SELECT SELECT
sum( ifnull(res.phase_budget_workload,0) ) AS phase_budget_workload,
sum( ifnull(res.phase_budget_nouser_at,0) ) AS phase_budget_nouser_at,
sum( ifnull(res.phase_budget_inner_user_at,0) ) AS phase_budget_inner_user_at,
sum( ifnull(res.phase_budget_out_user_at,0) ) AS phase_budget_out_user_at,
sum( ifnull(res.phase_budget_at,0) ) AS phase_budget_at,
sum( ifnull(res.budget_workload,0) ) AS budget_workload,
sum( ifnull(res.budget_nouser_at,0) ) AS budget_nouser_at,
sum( ifnull(res.budget_iuser_at,0) ) AS budget_iuser_at,
sum( ifnull(res.budget_ouser_at,0) ) AS budget_ouser_at,
sum( ifnull(res.budget_at,0) ) AS budget_at,
p.plan_nouser_at, p.plan_nouser_at,
p.plan_inner_user_at,
p.plan_out_user_at,
p.plan_iuser_at,
p.plan_ouser_at,
p.locked, p.locked,
p.plan_workload, p.plan_workload,
p.total_receivables, p.total_receivables,
p.budget_margin_rate, p.budget_margin_rate,
p.contract_amt, p.contract_amt,
p.plan_inner_user_price,
p.plan_out_user_price,
p.plan_out_user_cnt,
p.plan_inner_user_cnt,
p.plan_iuser_price,
p.plan_ouser_price,
p.plan_ouser_cnt,
p.plan_iuser_cnt,
p.plan_working_hours, p.plan_working_hours,
p.plan_total_cost p.plan_total_cost
FROM FROM
XM.xm_project p XM.xm_project p
LEFT JOIN XM.xm_project_phase res
LEFT JOIN XM.xm_phase res
ON p.id = res.project_id and res.lvl=1 ON p.id = res.project_id and res.lvl=1
<if test=" excludePhaseIds !=null "> and res.id not in <if test=" excludePhaseIds !=null "> and res.id not in
<foreach collection="excludePhaseIds" item="item" index="index" open="(" separator="," close=")" > <foreach collection="excludePhaseIds" item="item" index="index" open="(" separator="," close=")" >
@ -60,11 +60,11 @@
<select id="selectTotalProductAndPhaseBudgetCost" parameterType="HashMap" resultType="HashMap"> <select id="selectTotalProductAndPhaseBudgetCost" parameterType="HashMap" resultType="HashMap">
SELECT SELECT
sum( ifnull(res.phase_budget_workload,0) ) AS phase_budget_workload,
sum( ifnull(res.phase_budget_nouser_at,0) ) AS phase_budget_nouser_at,
sum( ifnull(res.phase_budget_inner_user_at,0) ) AS phase_budget_inner_user_at,
sum( ifnull(res.phase_budget_out_user_at,0) ) AS phase_budget_out_user_at,
sum( ifnull(res.phase_budget_at,0) ) AS phase_budget_at,
sum( ifnull(res.budget_workload,0) ) AS budget_workload,
sum( ifnull(res.budget_nouser_at,0) ) AS budget_nouser_at,
sum( ifnull(res.budget_iuser_at,0) ) AS budget_iuser_at,
sum( ifnull(res.budget_ouser_at,0) ) AS budget_ouser_at,
sum( ifnull(res.budget_at,0) ) AS budget_at,
p.pbudget_workload, p.pbudget_workload,
p.pbudget_amount, p.pbudget_amount,
@ -72,7 +72,7 @@
p.pmenu_budget_amount p.pmenu_budget_amount
FROM FROM
XM.xm_product p XM.xm_product p
LEFT JOIN XM.xm_project_phase res
LEFT JOIN XM.xm_phase res
ON p.id = res.product_id and res.lvl=1 ON p.id = res.product_id and res.lvl=1
<if test=" excludePhaseIds !=null "> and res.id not in <if test=" excludePhaseIds !=null "> and res.id not in
<foreach collection="excludePhaseIds" item="item" index="index" open="(" separator="," close=")" > <foreach collection="excludePhaseIds" item="item" index="index" open="(" separator="," close=")" >
@ -84,37 +84,37 @@
<select id="selectPhaseBudgetCost" parameterType="HashMap" resultType="HashMap"> <select id="selectPhaseBudgetCost" parameterType="HashMap" resultType="HashMap">
select select
res2.id, res2.id,
res2.phase_budget_workload,
res2.phase_budget_nouser_at,
res2.phase_budget_inner_user_at,
res2.phase_budget_out_user_at,
res2.phase_budget_at,
res0.child_phase_budget_workload,
res0.child_phase_budget_nouser_at,
res0.child_phase_budget_inner_user_at,
res0.child_phase_budget_out_user_at,
res0.child_phase_budget_at
from xm_project_phase res2 left join
res2.budget_workload,
res2.budget_nouser_at,
res2.budget_iuser_at,
res2.budget_ouser_at,
res2.budget_at,
res0.child_budget_workload,
res0.child_budget_nouser_at,
res0.child_budget_iuser_at,
res0.child_budget_ouser_at,
res0.child_budget_at
from xm_phase res2 left join
( (
SELECT SELECT
res.parent_phase_id,
sum( ifnull(res.phase_budget_workload,0) ) AS child_phase_budget_workload,
sum( ifnull(res.phase_budget_nouser_at,0) ) AS child_phase_budget_nouser_at,
sum( ifnull(res.phase_budget_inner_user_at,0) ) AS child_phase_budget_inner_user_at,
sum( ifnull(res.phase_budget_out_user_at,0) ) AS child_phase_budget_out_user_at,
sum( ifnull(res.phase_budget_at,0) ) AS child_phase_budget_at
FROM xm_project_phase res where res.parent_phase_id=#{id}
res.parent_id,
sum( ifnull(res.budget_workload,0) ) AS child_budget_workload,
sum( ifnull(res.budget_nouser_at,0) ) AS child_budget_nouser_at,
sum( ifnull(res.budget_iuser_at,0) ) AS child_budget_iuser_at,
sum( ifnull(res.budget_ouser_at,0) ) AS child_budget_ouser_at,
sum( ifnull(res.budget_at,0) ) AS child_budget_at
FROM xm_phase res where res.parent_id=#{id}
<if test=" excludePhaseIds !=null "> and res.id not in <if test=" excludePhaseIds !=null "> and res.id not in
<foreach collection="excludePhaseIds" item="item" index="index" open="(" separator="," close=")" > <foreach collection="excludePhaseIds" item="item" index="index" open="(" separator="," close=")" >
#{item} #{item}
</foreach> </foreach>
</if> </if>
group by res.parent_phase_id
) as res0 on res0.parent_phase_id=res2.id
group by res.parent_id
) as res0 on res0.parent_id=res2.id
where res2.id=#{id} where res2.id=#{id}
</select> </select>
<update id="loadTasksToXmProjectPhase" parameterType="String" statementType="CALLABLE"> <update id="loadTasksToXmProjectPhase" parameterType="String" statementType="CALLABLE">
{call load_tasks_to_xm_project_phase(#{projectId,mode=IN})}
{call load_tasks_to_xm_phase(#{projectId,mode=IN})}
</update> </update>
<update id="loaMenusToXmProductPhase" parameterType="String" statementType="CALLABLE"> <update id="loaMenusToXmProductPhase" parameterType="String" statementType="CALLABLE">
@ -122,29 +122,29 @@
</update> </update>
<select id="checkExistsTask" parameterType="String" resultType="Long"> <select id="checkExistsTask" parameterType="String" resultType="Long">
select count(1) from xm_task t where t.project_phase_id=#{phaseId}
select count(1) from xm_task t where t.phase_id=#{phaseId}
</select> </select>
<select id="checkExistsChildren" parameterType="String" resultType="Long" > <select id="checkExistsChildren" parameterType="String" resultType="Long" >
select count(1) from xm_project_phase res where res.parent_phase_id = #{id}
select count(1) from xm_phase res where res.parent_id = #{id}
</select> </select>
<update id="updatePhaseChildrenCntByPhaseId" parameterType="String"> <update id="updatePhaseChildrenCntByPhaseId" parameterType="String">
UPDATE xm_project_phase t
LEFT JOIN ( SELECT count( 1 ) AS children_cnt, tt.parent_phase_id AS id FROM xm_project_phase tt WHERE tt.parent_phase_id = #{id} ) t2 ON t2.id = t.id
UPDATE xm_phase t
LEFT JOIN ( SELECT count( 1 ) AS children_cnt, tt.parent_id AS id FROM xm_phase tt WHERE tt.parent_id = #{id} ) t2 ON t2.id = t.id
SET t.children_cnt = ifnull( t2.children_cnt, 0 ) SET t.children_cnt = ifnull( t2.children_cnt, 0 )
WHERE WHERE
t.id = #{id} t.id = #{id}
</update> </update>
<update id="updateChildrenCntByIds" parameterType="List"> <update id="updateChildrenCntByIds" parameterType="List">
UPDATE xm_project_phase t
LEFT JOIN ( SELECT count( 1 ) AS children_cnt, tt.parent_phase_id AS id FROM xm_project_phase tt WHERE
(tt.parent_phase_id) in
UPDATE xm_phase t
LEFT JOIN ( SELECT count( 1 ) AS children_cnt, tt.parent_id AS id FROM xm_phase tt WHERE
(tt.parent_id) in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")" > <foreach collection="list" item="item" index="index" open="(" separator="," close=")" >
( #{item}) ( #{item})
</foreach> </foreach>
group by tt.parent_phase_id ) t2 ON t2.id = t.id
group by tt.parent_id ) t2 ON t2.id = t.id
SET t.children_cnt = ifnull( t2.children_cnt, 0 ) SET t.children_cnt = ifnull( t2.children_cnt, 0 )
WHERE (t.id) in WHERE (t.id) in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")" > <foreach collection="list" item="item" index="index" open="(" separator="," close=")" >
@ -154,32 +154,32 @@
<update id="sumParents" parameterType="List"> <update id="sumParents" parameterType="List">
<foreach collection="list" item="item" index="index" separator=";" > <foreach collection="list" item="item" index="index" separator=";" >
UPDATE XM.xm_project_phase res
UPDATE XM.xm_phase res
LEFT JOIN ( LEFT JOIN (
SELECT SELECT
t.project_id, t.project_id,
t.parent_phase_id,
t.parent_id,
count(1) as children_cnt, count(1) as children_cnt,
sum(t.phase_act_inner_user_workload) as phase_act_inner_user_workload,
sum(t.phase_act_out_user_workload) as phase_act_out_user_workload,
sum(t.phase_act_workload) as phase_act_workload,
sum(t.act_inner_user_at) as act_inner_user_at,
sum(t.act_out_user_at) as act_out_user_at,
sum(t.act_iuser_workload) as act_iuser_workload,
sum(t.act_ouser_workload) as act_ouser_workload,
sum(t.act_workload) as act_workload,
sum(t.act_iuser_at) as act_iuser_at,
sum(t.act_ouser_at) as act_ouser_at,
sum(ifnull(t.act_rate,0)*ifnull(t.task_budget_workload,0)) as task_budget_workload_act_rate, sum(ifnull(t.act_rate,0)*ifnull(t.task_budget_workload,0)) as task_budget_workload_act_rate,
sum(t.task_budget_workload) as task_budget_workload, sum(t.task_budget_workload) as task_budget_workload,
sum(t.task_budget_at) as task_budget_at sum(t.task_budget_at) as task_budget_at
FROM xm_project_phase t
FROM xm_phase t
WHERE WHERE
t.parent_phase_id=#{item}
t.parent_id=#{item}
GROUP BY GROUP BY
t.project_id, t.project_id,
t.parent_phase_id
) AS tc ON res.project_id = tc.project_id and res.id=tc.parent_phase_id
SET res.phase_act_inner_user_workload = tc.phase_act_inner_user_workload,
res.phase_act_out_user_workload = tc.phase_act_out_user_workload,
res.phase_act_workload = tc.phase_act_workload,
res.act_inner_user_at = tc.act_inner_user_at,
res.act_out_user_at = tc.act_out_user_at,
t.parent_id
) AS tc ON res.project_id = tc.project_id and res.id=tc.parent_id
SET res.act_iuser_workload = tc.act_iuser_workload,
res.act_ouser_workload = tc.act_ouser_workload,
res.act_workload = tc.act_workload,
res.act_iuser_at = tc.act_iuser_at,
res.act_ouser_at = tc.act_ouser_at,
res.act_rate= case when tc.task_budget_workload_act_rate=0 then 0 else tc.task_budget_workload_act_rate / tc.task_budget_workload end, res.act_rate= case when tc.task_budget_workload_act_rate=0 then 0 else tc.task_budget_workload_act_rate / tc.task_budget_workload end,
res.task_budget_workload=tc.task_budget_workload, res.task_budget_workload=tc.task_budget_workload,
res.task_budget_at=tc.task_budget_at, res.task_budget_at=tc.task_budget_at,
@ -189,35 +189,35 @@
</foreach> </foreach>
</update> </update>
<update id="batchSumParents" parameterType="List"> <update id="batchSumParents" parameterType="List">
UPDATE XM.xm_project_phase res
UPDATE XM.xm_phase res
LEFT JOIN ( LEFT JOIN (
SELECT SELECT
t.project_id, t.project_id,
t.parent_phase_id,
t.parent_id,
count(1) as children_cnt, count(1) as children_cnt,
sum(t.phase_act_inner_user_workload) as phase_act_inner_user_workload,
sum(t.phase_act_out_user_workload) as phase_act_out_user_workload,
sum(t.phase_act_workload) as phase_act_workload,
sum(t.act_inner_user_at) as act_inner_user_at,
sum(t.act_out_user_at) as act_out_user_at,
sum(t.act_iuser_workload) as act_iuser_workload,
sum(t.act_ouser_workload) as act_ouser_workload,
sum(t.act_workload) as act_workload,
sum(t.act_iuser_at) as act_iuser_at,
sum(t.act_ouser_at) as act_ouser_at,
sum(ifnull(t.act_rate,0)*ifnull(t.task_budget_workload,0)) as task_budget_workload_act_rate, sum(ifnull(t.act_rate,0)*ifnull(t.task_budget_workload,0)) as task_budget_workload_act_rate,
sum(t.task_budget_workload) as task_budget_workload, sum(t.task_budget_workload) as task_budget_workload,
sum(t.task_budget_at) as task_budget_at sum(t.task_budget_at) as task_budget_at
FROM xm_project_phase t
FROM xm_phase t
WHERE WHERE
t.parent_phase_id in
t.parent_id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")" > <foreach collection="list" item="item" index="index" open="(" separator="," close=")" >
#{item} #{item}
</foreach> </foreach>
GROUP BY GROUP BY
t.project_id, t.project_id,
t.parent_phase_id
) AS tc ON res.project_id = tc.project_id and res.id=tc.parent_phase_id
SET res.phase_act_inner_user_workload = tc.phase_act_inner_user_workload,
res.phase_act_out_user_workload = tc.phase_act_out_user_workload,
res.phase_act_workload = tc.phase_act_workload,
res.act_inner_user_at = tc.act_inner_user_at,
res.act_out_user_at = tc.act_out_user_at,
t.parent_id
) AS tc ON res.project_id = tc.project_id and res.id=tc.parent_id
SET res.act_iuser_workload = tc.act_iuser_workload,
res.act_ouser_workload = tc.act_ouser_workload,
res.act_workload = tc.act_workload,
res.act_iuser_at = tc.act_iuser_at,
res.act_ouser_at = tc.act_ouser_at,
res.act_rate= case when tc.task_budget_workload_act_rate=0 then 0 else tc.task_budget_workload_act_rate / tc.task_budget_workload end, res.act_rate= case when tc.task_budget_workload_act_rate=0 then 0 else tc.task_budget_workload_act_rate / tc.task_budget_workload end,
res.task_budget_workload=tc.task_budget_workload, res.task_budget_workload=tc.task_budget_workload,
res.task_budget_at=tc.task_budget_at, res.task_budget_at=tc.task_budget_at,
@ -230,7 +230,7 @@
and res.ntype='1' and res.ntype='1'
</update> </update>
<select id="selectListByIds" parameterType="List" resultType="com.xm.core.entity.XmPhase"> <select id="selectListByIds" parameterType="List" resultType="com.xm.core.entity.XmPhase">
select (select sum(1) from xm_project_phase p where p.parent_phase_id = res.id) as children_cnt,res.* from xm_project_phase res where res.id in
select (select sum(1) from xm_phase p where p.parent_id = res.id) as children_cnt,res.* from xm_phase res where res.id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")" > <foreach collection="list" item="item" index="index" open="(" separator="," close=")" >
#{item} #{item}
</foreach> </foreach>
@ -238,7 +238,7 @@
<select id="batchRelTasksWithPhase" parameterType="com.xm.core.vo.BatchRelTasksWithPhase"> <select id="batchRelTasksWithPhase" parameterType="com.xm.core.vo.BatchRelTasksWithPhase">
update xm_task res set res.project_phase_id = #{projectPhaseId} where res.id in
update xm_task res set res.phase_id = #{phaseId} where res.id in
<foreach collection="taskIds" item="item" index="index" open="(" separator="," close=")" > <foreach collection="taskIds" item="item" index="index" open="(" separator="," close=")" >
#{item} #{item}
</foreach> </foreach>
@ -250,7 +250,7 @@
<!-- 通过条件查询获取数据列表 返回list<map> --> <!-- 通过条件查询获取数据列表 返回list<map> -->
<select id="selectListMapByWhere" parameterType="HashMap" resultType="HashMap"> <select id="selectListMapByWhere" parameterType="HashMap" resultType="HashMap">
select (select sum(1) from xm_project_phase p where p.parent_phase_id = res.id) as children_cnt,res.* from xm_project_phase res
select (select sum(1) from xm_phase p where p.parent_id = res.id) as children_cnt,res.* from xm_phase res
<where> <where>
<include refid="whereForMap"/> <include refid="whereForMap"/>
<include refid="where"/> <include refid="where"/>
@ -260,7 +260,7 @@
<!-- 通过条件查询获取数据列表 不分页 返回 list<Object> --> <!-- 通过条件查询获取数据列表 不分页 返回 list<Object> -->
<select id="selectListByWhere" parameterType="com.xm.core.entity.XmPhase" resultType="com.xm.core.entity.XmPhase"> <select id="selectListByWhere" parameterType="com.xm.core.entity.XmPhase" resultType="com.xm.core.entity.XmPhase">
select (select sum(1) from xm_project_phase p where p.parent_phase_id = res.id) as children_cnt,res.* from xm_project_phase res
select (select sum(1) from xm_phase p where p.parent_id = res.id) as children_cnt,res.* from xm_phase res
<where> <where>
<include refid="where"/> <include refid="where"/>
</where> </where>
@ -268,7 +268,7 @@
<!-- 通过主键查询获取数据对象 返回object --> <!-- 通过主键查询获取数据对象 返回object -->
<select id="selectOneObject" parameterType="com.xm.core.entity.XmPhase" resultType="com.xm.core.entity.XmPhase"> <select id="selectOneObject" parameterType="com.xm.core.entity.XmPhase" resultType="com.xm.core.entity.XmPhase">
select (select sum(1) from xm_project_phase p where p.parent_phase_id = res.id) as children_cnt,res.* from xm_project_phase res
select (select sum(1) from xm_phase p where p.parent_id = res.id) as children_cnt,res.* from xm_phase res
where where
res.id = #{id} res.id = #{id}
</select> </select>
@ -353,7 +353,7 @@
<!--sql片段 列--> <!--sql片段 列-->
<sql id="columns"> <sql id="columns">
id,name,remark,parent_id,branch_id,project_id,begin_date,end_date,budget_hours,budget_staff_nu,ctime,budget_nouser_at,budget_iuser_at,budget_ouser_at,baseline_id,biz_proc_inst_id,biz_flow_state,budget_workload,act_workload,act_iuser_workload,act_ouser_workload,task_type,plan_type,seq_no,budget_iuser_workload,budget_ouser_workload,act_nouser_at,act_iuser_at,budget_iuser_price,budget_ouser_price,budget_ouser_cnt,budget_iuser_cnt,act_rate,pstatus,act_out_user_at,task_cnt,finish_task_cnt,iteration_cnt,calc_time,task_budget_workload,task_budget_at,mng_userid,mng_username,milestone,pleaf,tag_ids,tag_names,ntype,children_cnt,ltime,is_key_path,pid_paths,lvl,is_tpl,phase_class,product_id,budget_at,calc_type,act_at
id,name,remark,parent_id,branch_id,project_id,begin_date,end_date,budget_hours,budget_staff_nu,ctime,budget_nouser_at,budget_iuser_at,budget_ouser_at,baseline_id,biz_proc_inst_id,biz_flow_state,budget_workload,act_workload,act_iuser_workload,act_ouser_workload,task_type,plan_type,seq_no,budget_iuser_workload,budget_ouser_workload,act_nouser_at,act_iuser_at,budget_iuser_price,budget_ouser_price,budget_ouser_cnt,budget_iuser_cnt,act_rate,pstatus,act_ouser_at,task_cnt,finish_task_cnt,iteration_cnt,calc_time,task_budget_workload,task_budget_at,mng_userid,mng_username,milestone,pleaf,tag_ids,tag_names,ntype,children_cnt,ltime,is_key_path,pid_paths,lvl,is_tpl,phase_class,product_id,budget_at,calc_type,act_at
</sql> </sql>
<!--sql片段 动态条件 YYYY-MM-DD HH24:MI:SS--> <!--sql片段 动态条件 YYYY-MM-DD HH24:MI:SS-->
@ -392,7 +392,7 @@
<if test="budgetIuserCnt != null and budgetIuserCnt != ''"> and res.budget_iuser_cnt = #{budgetIuserCnt} </if> <if test="budgetIuserCnt != null and budgetIuserCnt != ''"> and res.budget_iuser_cnt = #{budgetIuserCnt} </if>
<if test="actRate != null and actRate != ''"> and res.act_rate = #{actRate} </if> <if test="actRate != null and actRate != ''"> and res.act_rate = #{actRate} </if>
<if test="pstatus != null and pstatus != ''"> and res.pstatus = #{pstatus} </if> <if test="pstatus != null and pstatus != ''"> and res.pstatus = #{pstatus} </if>
<if test="actOuserAt != null and actOuserAt != ''"> and res.act_out_user_at = #{actOuserAt} </if>
<if test="actOuserAt != null and actOuserAt != ''"> and res.act_ouser_at = #{actOuserAt} </if>
<if test="taskCnt != null and taskCnt != ''"> and res.task_cnt = #{taskCnt} </if> <if test="taskCnt != null and taskCnt != ''"> and res.task_cnt = #{taskCnt} </if>
<if test="finishTaskCnt != null and finishTaskCnt != ''"> and res.finish_task_cnt = #{finishTaskCnt} </if> <if test="finishTaskCnt != null and finishTaskCnt != ''"> and res.finish_task_cnt = #{finishTaskCnt} </if>
<if test="iterationCnt != null and iterationCnt != ''"> and res.iteration_cnt = #{iterationCnt} </if> <if test="iterationCnt != null and iterationCnt != ''"> and res.iteration_cnt = #{iterationCnt} </if>
@ -453,7 +453,7 @@
budget_iuser_cnt = #{budgetIuserCnt}, budget_iuser_cnt = #{budgetIuserCnt},
act_rate = #{actRate}, act_rate = #{actRate},
pstatus = #{pstatus}, pstatus = #{pstatus},
act_out_user_at = #{actOuserAt},
act_ouser_at = #{actOuserAt},
task_cnt = #{taskCnt}, task_cnt = #{taskCnt},
finish_task_cnt = #{finishTaskCnt}, finish_task_cnt = #{finishTaskCnt},
iteration_cnt = #{iterationCnt}, iteration_cnt = #{iterationCnt},
@ -513,7 +513,7 @@
<if test="budgetIuserCnt != null and budgetIuserCnt != ''"> budget_iuser_cnt = #{budgetIuserCnt}, </if> <if test="budgetIuserCnt != null and budgetIuserCnt != ''"> budget_iuser_cnt = #{budgetIuserCnt}, </if>
<if test="actRate != null and actRate != ''"> act_rate = #{actRate}, </if> <if test="actRate != null and actRate != ''"> act_rate = #{actRate}, </if>
<if test="pstatus != null and pstatus != ''"> pstatus = #{pstatus}, </if> <if test="pstatus != null and pstatus != ''"> pstatus = #{pstatus}, </if>
<if test="actOuserAt != null and actOuserAt != ''"> act_out_user_at = #{actOuserAt}, </if>
<if test="actOuserAt != null and actOuserAt != ''"> act_ouser_at = #{actOuserAt}, </if>
<if test="taskCnt != null and taskCnt != ''"> task_cnt = #{taskCnt}, </if> <if test="taskCnt != null and taskCnt != ''"> task_cnt = #{taskCnt}, </if>
<if test="finishTaskCnt != null and finishTaskCnt != ''"> finish_task_cnt = #{finishTaskCnt}, </if> <if test="finishTaskCnt != null and finishTaskCnt != ''"> finish_task_cnt = #{finishTaskCnt}, </if>
<if test="iterationCnt != null and iterationCnt != ''"> iteration_cnt = #{iterationCnt}, </if> <if test="iterationCnt != null and iterationCnt != ''"> iteration_cnt = #{iterationCnt}, </if>
@ -574,7 +574,7 @@
budget_iuser_cnt = #{item.budgetIuserCnt}, budget_iuser_cnt = #{item.budgetIuserCnt},
act_rate = #{item.actRate}, act_rate = #{item.actRate},
pstatus = #{item.pstatus}, pstatus = #{item.pstatus},
act_out_user_at = #{item.actOuserAt},
act_ouser_at = #{item.actOuserAt},
task_cnt = #{item.taskCnt}, task_cnt = #{item.taskCnt},
finish_task_cnt = #{item.finishTaskCnt}, finish_task_cnt = #{item.finishTaskCnt},
iteration_cnt = #{item.iterationCnt}, iteration_cnt = #{item.iterationCnt},

12
xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectMBudgetCostNouserMapper.xml

@ -70,17 +70,17 @@
SELECT SELECT
sum( ifnull(res.budget_cost,0) ) AS budget_cost, sum( ifnull(res.budget_cost,0) ) AS budget_cost,
p.plan_nouser_at, p.plan_nouser_at,
p.plan_inner_user_at,
p.plan_out_user_at,
p.plan_iuser_at,
p.plan_ouser_at,
p.locked, p.locked,
p.plan_workload, p.plan_workload,
p.total_receivables, p.total_receivables,
p.budget_margin_rate, p.budget_margin_rate,
p.contract_amt, p.contract_amt,
p.plan_inner_user_price,
p.plan_out_user_price,
p.plan_out_user_cnt,
p.plan_inner_user_cnt,
p.plan_iuser_price,
p.plan_ouser_price,
p.plan_ouser_cnt,
p.plan_iuser_cnt,
p.plan_working_hours p.plan_working_hours
FROM FROM
XM.xm_project p XM.xm_project p

16
xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectMBudgetCostUserMapper.xml

@ -71,21 +71,21 @@
<!-- 查询人力的预算及对应的项目的预算,人力总预算不能大于项目人力总预算 --> <!-- 查询人力的预算及对应的项目的预算,人力总预算不能大于项目人力总预算 -->
<select id="selectTotalProjectAndUserBudgetCost" parameterType="HashMap" resultType="HashMap"> <select id="selectTotalProjectAndUserBudgetCost" parameterType="HashMap" resultType="HashMap">
SELECT SELECT
sum( case when res.cost_type='1' then ifnull(res.budget_cost,0) else 0 end ) AS budget_cost_inner_user_at,
sum( case when res.cost_type='2' then ifnull(res.budget_cost,0) else 0 end ) AS budget_cost_out_user_at,
sum( case when res.cost_type='1' then ifnull(res.budget_cost,0) else 0 end ) AS budget_cost_iuser_at,
sum( case when res.cost_type='2' then ifnull(res.budget_cost,0) else 0 end ) AS budget_cost_ouser_at,
sum( ifnull(res.budget_cost,0) ) AS budget_cost, sum( ifnull(res.budget_cost,0) ) AS budget_cost,
p.plan_nouser_at, p.plan_nouser_at,
p.plan_inner_user_at,
p.plan_out_user_at,
p.plan_iuser_at,
p.plan_ouser_at,
p.locked, p.locked,
p.plan_workload, p.plan_workload,
p.total_receivables, p.total_receivables,
p.budget_margin_rate, p.budget_margin_rate,
p.contract_amt, p.contract_amt,
p.plan_inner_user_price,
p.plan_out_user_price,
p.plan_out_user_cnt,
p.plan_inner_user_cnt,
p.plan_iuser_price,
p.plan_ouser_price,
p.plan_ouser_cnt,
p.plan_iuser_cnt,
p.plan_working_hours p.plan_working_hours
FROM FROM
XM.xm_project p XM.xm_project p

12
xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectMCostNouserMapper.xml

@ -61,17 +61,17 @@
SELECT SELECT
sum( ifnull(res.act_cost_amount,0) ) AS act_cost_nouser_amount, sum( ifnull(res.act_cost_amount,0) ) AS act_cost_nouser_amount,
p.plan_nouser_at, p.plan_nouser_at,
p.plan_inner_user_at,
p.plan_out_user_at,
p.plan_iuser_at,
p.plan_ouser_at,
p.locked, p.locked,
p.plan_workload, p.plan_workload,
p.total_receivables, p.total_receivables,
p.budget_margin_rate, p.budget_margin_rate,
p.contract_amt, p.contract_amt,
p.plan_inner_user_price,
p.plan_out_user_price,
p.plan_out_user_cnt,
p.plan_inner_user_cnt,
p.plan_iuser_price,
p.plan_ouser_price,
p.plan_ouser_cnt,
p.plan_iuser_cnt,
p.plan_working_hours p.plan_working_hours
FROM FROM
XM.xm_project p XM.xm_project p

16
xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectMCostUserMapper.xml

@ -71,21 +71,21 @@
<!-- 查询人力的总支出及对应的项目的总预算,人力总支出不能大于项目人力总预算 --> <!-- 查询人力的总支出及对应的项目的总预算,人力总支出不能大于项目人力总预算 -->
<select id="selectTotalProjectAndUserActCost" parameterType="HashMap" resultType="HashMap"> <select id="selectTotalProjectAndUserActCost" parameterType="HashMap" resultType="HashMap">
SELECT SELECT
sum( case when res.cost_type='1' then ifnull(res.act_cost_amount,0) else 0 end ) AS act_cost_inner_user_amount,
sum( case when res.cost_type='2' then ifnull(res.act_cost_amount,0) else 0 end ) AS act_cost_out_user_amount,
sum( case when res.cost_type='1' then ifnull(res.act_cost_amount,0) else 0 end ) AS act_cost_iuser_amount,
sum( case when res.cost_type='2' then ifnull(res.act_cost_amount,0) else 0 end ) AS act_cost_ouser_amount,
sum( ifnull(res.act_cost_amount,0) ) AS act_cost_user_amount, sum( ifnull(res.act_cost_amount,0) ) AS act_cost_user_amount,
p.plan_nouser_at, p.plan_nouser_at,
p.plan_inner_user_at,
p.plan_out_user_at,
p.plan_iuser_at,
p.plan_ouser_at,
p.locked, p.locked,
p.plan_workload, p.plan_workload,
p.total_receivables, p.total_receivables,
p.budget_margin_rate, p.budget_margin_rate,
p.contract_amt, p.contract_amt,
p.plan_inner_user_price,
p.plan_out_user_price,
p.plan_out_user_cnt,
p.plan_inner_user_cnt,
p.plan_iuser_price,
p.plan_ouser_price,
p.plan_ouser_cnt,
p.plan_iuser_cnt,
p.plan_working_hours p.plan_working_hours
FROM FROM
XM.xm_project p XM.xm_project p

8
xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectMapper.xml

@ -119,11 +119,11 @@
<select id="selectListMapByWhere" parameterType="HashMap" resultType="HashMap"> <select id="selectListMapByWhere" parameterType="HashMap" resultType="HashMap">
select res.*,s.project_id,s.biz_date,s.total_file_cnt,s.total_bug_cnt,s.total_task_cnt,s.total_budget_nouser_amount,s.project_name,s.total_staff_cnt,s.calc_time,s.calc_status, select res.*,s.project_id,s.biz_date,s.total_file_cnt,s.total_bug_cnt,s.total_task_cnt,s.total_budget_nouser_amount,s.project_name,s.total_staff_cnt,s.calc_time,s.calc_status,
s.total_cost_nouser_amount,s.total_closed_bug_cnt,s.total_resolved_bug_cnt,s.total_complete_task_cnt,s.total_phase_cnt,s.total_complete_phase_cnt,s.total_need_pay_amount, s.total_cost_nouser_amount,s.total_closed_bug_cnt,s.total_resolved_bug_cnt,s.total_complete_task_cnt,s.total_phase_cnt,s.total_complete_phase_cnt,s.total_need_pay_amount,
s.total_finish_pay_amount,s.total_need_col_amount,s.total_finish_col_amount,s.total_cost_user_amount,s.total_budget_inner_user_amount,s.total_plan_workload,
s.total_risk_cnt,s.total_complete_risk_cnt,s.branch_name,s.total_budget_out_user_amount,s.total_complete_workload,s.total_cost_inner_user_amount,s.total_cost_out_user_amount,
s.total_finish_pay_amount,s.total_need_col_amount,s.total_finish_col_amount,s.total_cost_user_amount,s.total_budget_iuser_amount,s.total_plan_workload,
s.total_risk_cnt,s.total_complete_risk_cnt,s.branch_name,s.total_budget_ouser_amount,s.total_complete_workload,s.total_cost_iuser_amount,s.total_cost_ouser_amount,
s.total_progress,s.total_active_bug_cnt,s.total_confirmed_bug_cnt,s.project_status,s.total_act_workload,s.total_act_out_workload,s.total_act_inner_workload, s.total_progress,s.total_active_bug_cnt,s.total_confirmed_bug_cnt,s.project_status,s.total_act_workload,s.total_act_out_workload,s.total_act_inner_workload,
s.total_task_budget_cost_at,s.total_task_out_cnt,s.total_need_pay_cnt,s.total_finish_pay_cnt,s.total_finish_pay_user_cnt,s.total_need_pay_user_cnt,s.total_plan_inner_user_workload,
s.total_plan_out_user_workload,s.test_cases,s.exec_cases,s.design_cases,s.finish_cases,s.iteration_cnt,s.product_cnt,s.menu_cnt,
s.total_task_budget_cost_at,s.total_task_out_cnt,s.total_need_pay_cnt,s.total_finish_pay_cnt,s.total_finish_pay_user_cnt,s.total_need_pay_user_cnt,s.total_plan_iuser_workload,
s.total_plan_ouser_workload,s.test_cases,s.exec_cases,s.design_cases,s.finish_cases,s.iteration_cnt,s.product_cnt,s.menu_cnt,
pa.proc_inst_id,pa.assignee,pa.assignee_name,pa.main_title,pa.flow_branch_id,pa.task_name,pa.agree,pa.flow_last_time,pa.comment_msg,pa.proc_def_id,pa.flow_state from xm_project res pa.proc_inst_id,pa.assignee,pa.assignee_name,pa.main_title,pa.flow_branch_id,pa.task_name,pa.agree,pa.flow_last_time,pa.comment_msg,pa.proc_def_id,pa.flow_state from xm_project res
left join xm_project_state s on s.project_id=res.id left join xm_project_state s on s.project_id=res.id
left join xm_project_process_approva pa on res.id=pa.project_id and res.biz_proc_inst_id=pa.proc_inst_id left join xm_project_process_approva pa on res.id=pa.project_id and res.biz_proc_inst_id=pa.proc_inst_id

50
xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectStateHisMapper.xml

@ -122,7 +122,7 @@
<!--sql片段 列--> <!--sql片段 列-->
<sql id="columns"> <sql id="columns">
project_id,biz_date,total_file_cnt,total_bug_cnt,total_task_cnt,total_budget_nouser_amount,project_name,id,total_staff_cnt,calc_time,calc_status,total_cost_nouser_amount,total_closed_bug_cnt,total_resolved_bug_cnt,total_complete_task_cnt,total_phase_cnt,total_complete_phase_cnt,total_need_pay_amount,total_finish_pay_amount,total_need_col_amount,total_finish_col_amount,total_cost_user_amount,total_budget_inner_user_amount,total_plan_workload,total_risk_cnt,total_complete_risk_cnt,branch_id,branch_name,total_budget_out_user_amount,total_complete_workload,total_cost_inner_user_amount,total_cost_out_user_amount,total_progress,total_active_bug_cnt,total_confirmed_bug_cnt,project_status,total_act_workload,total_act_out_workload,total_act_inner_workload,total_task_budget_cost_at,total_task_out_cnt,total_need_pay_cnt,total_finish_pay_cnt,total_finish_pay_user_cnt,total_need_pay_user_cnt,total_plan_inner_user_workload,total_plan_out_user_workload,test_cases,exec_cases,design_cases,finish_cases,iteration_cnt,product_cnt,menu_cnt
project_id,biz_date,total_file_cnt,total_bug_cnt,total_task_cnt,total_budget_nouser_amount,project_name,id,total_staff_cnt,calc_time,calc_status,total_cost_nouser_amount,total_closed_bug_cnt,total_resolved_bug_cnt,total_complete_task_cnt,total_phase_cnt,total_complete_phase_cnt,total_need_pay_amount,total_finish_pay_amount,total_need_col_amount,total_finish_col_amount,total_cost_user_amount,total_budget_iuser_amount,total_plan_workload,total_risk_cnt,total_complete_risk_cnt,branch_id,branch_name,total_budget_ouser_amount,total_complete_workload,total_cost_iuser_amount,total_cost_ouser_amount,total_progress,total_active_bug_cnt,total_confirmed_bug_cnt,project_status,total_act_workload,total_act_out_workload,total_act_inner_workload,total_task_budget_cost_at,total_task_out_cnt,total_need_pay_cnt,total_finish_pay_cnt,total_finish_pay_user_cnt,total_need_pay_user_cnt,total_plan_iuser_workload,total_plan_ouser_workload,test_cases,exec_cases,design_cases,finish_cases,iteration_cnt,product_cnt,menu_cnt
</sql> </sql>
<!--sql片段 动态条件 YYYY-MM-DD HH24:MI:SS--> <!--sql片段 动态条件 YYYY-MM-DD HH24:MI:SS-->
@ -149,16 +149,16 @@
<if test="totalNeedColAmount != null and totalNeedColAmount != ''"> and res.total_need_col_amount = #{totalNeedColAmount} </if> <if test="totalNeedColAmount != null and totalNeedColAmount != ''"> and res.total_need_col_amount = #{totalNeedColAmount} </if>
<if test="totalFinishColAmount != null and totalFinishColAmount != ''"> and res.total_finish_col_amount = #{totalFinishColAmount} </if> <if test="totalFinishColAmount != null and totalFinishColAmount != ''"> and res.total_finish_col_amount = #{totalFinishColAmount} </if>
<if test="totalCostUserAmount != null and totalCostUserAmount != ''"> and res.total_cost_user_amount = #{totalCostUserAmount} </if> <if test="totalCostUserAmount != null and totalCostUserAmount != ''"> and res.total_cost_user_amount = #{totalCostUserAmount} </if>
<if test="totalBudgetIuserAmount != null and totalBudgetIuserAmount != ''"> and res.total_budget_inner_user_amount = #{totalBudgetIuserAmount} </if>
<if test="totalBudgetIuserAmount != null and totalBudgetIuserAmount != ''"> and res.total_budget_iuser_amount = #{totalBudgetIuserAmount} </if>
<if test="totalPlanWorkload != null and totalPlanWorkload != ''"> and res.total_plan_workload = #{totalPlanWorkload} </if> <if test="totalPlanWorkload != null and totalPlanWorkload != ''"> and res.total_plan_workload = #{totalPlanWorkload} </if>
<if test="totalRiskCnt != null and totalRiskCnt != ''"> and res.total_risk_cnt = #{totalRiskCnt} </if> <if test="totalRiskCnt != null and totalRiskCnt != ''"> and res.total_risk_cnt = #{totalRiskCnt} </if>
<if test="totalCompleteRiskCnt != null and totalCompleteRiskCnt != ''"> and res.total_complete_risk_cnt = #{totalCompleteRiskCnt} </if> <if test="totalCompleteRiskCnt != null and totalCompleteRiskCnt != ''"> and res.total_complete_risk_cnt = #{totalCompleteRiskCnt} </if>
<if test="branchId != null and branchId != ''"> and res.branch_id = #{branchId} </if> <if test="branchId != null and branchId != ''"> and res.branch_id = #{branchId} </if>
<if test="branchName != null and branchName != ''"> and res.branch_name = #{branchName} </if> <if test="branchName != null and branchName != ''"> and res.branch_name = #{branchName} </if>
<if test="totalBudgetOuserAmount != null and totalBudgetOuserAmount != ''"> and res.total_budget_out_user_amount = #{totalBudgetOuserAmount} </if>
<if test="totalBudgetOuserAmount != null and totalBudgetOuserAmount != ''"> and res.total_budget_ouser_amount = #{totalBudgetOuserAmount} </if>
<if test="totalCompleteWorkload != null and totalCompleteWorkload != ''"> and res.total_complete_workload = #{totalCompleteWorkload} </if> <if test="totalCompleteWorkload != null and totalCompleteWorkload != ''"> and res.total_complete_workload = #{totalCompleteWorkload} </if>
<if test="totalCostIuserAmount != null and totalCostIuserAmount != ''"> and res.total_cost_inner_user_amount = #{totalCostIuserAmount} </if>
<if test="totalCostOuserAmount != null and totalCostOuserAmount != ''"> and res.total_cost_out_user_amount = #{totalCostOuserAmount} </if>
<if test="totalCostIuserAmount != null and totalCostIuserAmount != ''"> and res.total_cost_iuser_amount = #{totalCostIuserAmount} </if>
<if test="totalCostOuserAmount != null and totalCostOuserAmount != ''"> and res.total_cost_ouser_amount = #{totalCostOuserAmount} </if>
<if test="totalProgress != null and totalProgress != ''"> and res.total_progress = #{totalProgress} </if> <if test="totalProgress != null and totalProgress != ''"> and res.total_progress = #{totalProgress} </if>
<if test="totalActiveBugCnt != null and totalActiveBugCnt != ''"> and res.total_active_bug_cnt = #{totalActiveBugCnt} </if> <if test="totalActiveBugCnt != null and totalActiveBugCnt != ''"> and res.total_active_bug_cnt = #{totalActiveBugCnt} </if>
<if test="totalConfirmedBugCnt != null and totalConfirmedBugCnt != ''"> and res.total_confirmed_bug_cnt = #{totalConfirmedBugCnt} </if> <if test="totalConfirmedBugCnt != null and totalConfirmedBugCnt != ''"> and res.total_confirmed_bug_cnt = #{totalConfirmedBugCnt} </if>
@ -172,8 +172,8 @@
<if test="totalFinishPayCnt != null and totalFinishPayCnt != ''"> and res.total_finish_pay_cnt = #{totalFinishPayCnt} </if> <if test="totalFinishPayCnt != null and totalFinishPayCnt != ''"> and res.total_finish_pay_cnt = #{totalFinishPayCnt} </if>
<if test="totalFinishPayUserCnt != null and totalFinishPayUserCnt != ''"> and res.total_finish_pay_user_cnt = #{totalFinishPayUserCnt} </if> <if test="totalFinishPayUserCnt != null and totalFinishPayUserCnt != ''"> and res.total_finish_pay_user_cnt = #{totalFinishPayUserCnt} </if>
<if test="totalNeedPayUserCnt != null and totalNeedPayUserCnt != ''"> and res.total_need_pay_user_cnt = #{totalNeedPayUserCnt} </if> <if test="totalNeedPayUserCnt != null and totalNeedPayUserCnt != ''"> and res.total_need_pay_user_cnt = #{totalNeedPayUserCnt} </if>
<if test="totalPlanIuserWorkload != null and totalPlanIuserWorkload != ''"> and res.total_plan_inner_user_workload = #{totalPlanIuserWorkload} </if>
<if test="totalPlanOuserWorkload != null and totalPlanOuserWorkload != ''"> and res.total_plan_out_user_workload = #{totalPlanOuserWorkload} </if>
<if test="totalPlanIuserWorkload != null and totalPlanIuserWorkload != ''"> and res.total_plan_iuser_workload = #{totalPlanIuserWorkload} </if>
<if test="totalPlanOuserWorkload != null and totalPlanOuserWorkload != ''"> and res.total_plan_ouser_workload = #{totalPlanOuserWorkload} </if>
<if test="testCases != null and testCases != ''"> and res.test_cases = #{testCases} </if> <if test="testCases != null and testCases != ''"> and res.test_cases = #{testCases} </if>
<if test="execCases != null and execCases != ''"> and res.exec_cases = #{execCases} </if> <if test="execCases != null and execCases != ''"> and res.exec_cases = #{execCases} </if>
<if test="designCases != null and designCases != ''"> and res.design_cases = #{designCases} </if> <if test="designCases != null and designCases != ''"> and res.design_cases = #{designCases} </if>
@ -205,16 +205,16 @@
total_need_col_amount = #{totalNeedColAmount}, total_need_col_amount = #{totalNeedColAmount},
total_finish_col_amount = #{totalFinishColAmount}, total_finish_col_amount = #{totalFinishColAmount},
total_cost_user_amount = #{totalCostUserAmount}, total_cost_user_amount = #{totalCostUserAmount},
total_budget_inner_user_amount = #{totalBudgetIuserAmount},
total_budget_iuser_amount = #{totalBudgetIuserAmount},
total_plan_workload = #{totalPlanWorkload}, total_plan_workload = #{totalPlanWorkload},
total_risk_cnt = #{totalRiskCnt}, total_risk_cnt = #{totalRiskCnt},
total_complete_risk_cnt = #{totalCompleteRiskCnt}, total_complete_risk_cnt = #{totalCompleteRiskCnt},
branch_id = #{branchId}, branch_id = #{branchId},
branch_name = #{branchName}, branch_name = #{branchName},
total_budget_out_user_amount = #{totalBudgetOuserAmount},
total_budget_ouser_amount = #{totalBudgetOuserAmount},
total_complete_workload = #{totalCompleteWorkload}, total_complete_workload = #{totalCompleteWorkload},
total_cost_inner_user_amount = #{totalCostIuserAmount},
total_cost_out_user_amount = #{totalCostOuserAmount},
total_cost_iuser_amount = #{totalCostIuserAmount},
total_cost_ouser_amount = #{totalCostOuserAmount},
total_progress = #{totalProgress}, total_progress = #{totalProgress},
total_active_bug_cnt = #{totalActiveBugCnt}, total_active_bug_cnt = #{totalActiveBugCnt},
total_confirmed_bug_cnt = #{totalConfirmedBugCnt}, total_confirmed_bug_cnt = #{totalConfirmedBugCnt},
@ -228,8 +228,8 @@
total_finish_pay_cnt = #{totalFinishPayCnt}, total_finish_pay_cnt = #{totalFinishPayCnt},
total_finish_pay_user_cnt = #{totalFinishPayUserCnt}, total_finish_pay_user_cnt = #{totalFinishPayUserCnt},
total_need_pay_user_cnt = #{totalNeedPayUserCnt}, total_need_pay_user_cnt = #{totalNeedPayUserCnt},
total_plan_inner_user_workload = #{totalPlanIuserWorkload},
total_plan_out_user_workload = #{totalPlanOuserWorkload},
total_plan_iuser_workload = #{totalPlanIuserWorkload},
total_plan_ouser_workload = #{totalPlanOuserWorkload},
test_cases = #{testCases}, test_cases = #{testCases},
exec_cases = #{execCases}, exec_cases = #{execCases},
design_cases = #{designCases}, design_cases = #{designCases},
@ -260,16 +260,16 @@
<if test="totalNeedColAmount != null and totalNeedColAmount != ''"> total_need_col_amount = #{totalNeedColAmount}, </if> <if test="totalNeedColAmount != null and totalNeedColAmount != ''"> total_need_col_amount = #{totalNeedColAmount}, </if>
<if test="totalFinishColAmount != null and totalFinishColAmount != ''"> total_finish_col_amount = #{totalFinishColAmount}, </if> <if test="totalFinishColAmount != null and totalFinishColAmount != ''"> total_finish_col_amount = #{totalFinishColAmount}, </if>
<if test="totalCostUserAmount != null and totalCostUserAmount != ''"> total_cost_user_amount = #{totalCostUserAmount}, </if> <if test="totalCostUserAmount != null and totalCostUserAmount != ''"> total_cost_user_amount = #{totalCostUserAmount}, </if>
<if test="totalBudgetIuserAmount != null and totalBudgetIuserAmount != ''"> total_budget_inner_user_amount = #{totalBudgetIuserAmount}, </if>
<if test="totalBudgetIuserAmount != null and totalBudgetIuserAmount != ''"> total_budget_iuser_amount = #{totalBudgetIuserAmount}, </if>
<if test="totalPlanWorkload != null and totalPlanWorkload != ''"> total_plan_workload = #{totalPlanWorkload}, </if> <if test="totalPlanWorkload != null and totalPlanWorkload != ''"> total_plan_workload = #{totalPlanWorkload}, </if>
<if test="totalRiskCnt != null and totalRiskCnt != ''"> total_risk_cnt = #{totalRiskCnt}, </if> <if test="totalRiskCnt != null and totalRiskCnt != ''"> total_risk_cnt = #{totalRiskCnt}, </if>
<if test="totalCompleteRiskCnt != null and totalCompleteRiskCnt != ''"> total_complete_risk_cnt = #{totalCompleteRiskCnt}, </if> <if test="totalCompleteRiskCnt != null and totalCompleteRiskCnt != ''"> total_complete_risk_cnt = #{totalCompleteRiskCnt}, </if>
<if test="branchId != null and branchId != ''"> branch_id = #{branchId}, </if> <if test="branchId != null and branchId != ''"> branch_id = #{branchId}, </if>
<if test="branchName != null and branchName != ''"> branch_name = #{branchName}, </if> <if test="branchName != null and branchName != ''"> branch_name = #{branchName}, </if>
<if test="totalBudgetOuserAmount != null and totalBudgetOuserAmount != ''"> total_budget_out_user_amount = #{totalBudgetOuserAmount}, </if>
<if test="totalBudgetOuserAmount != null and totalBudgetOuserAmount != ''"> total_budget_ouser_amount = #{totalBudgetOuserAmount}, </if>
<if test="totalCompleteWorkload != null and totalCompleteWorkload != ''"> total_complete_workload = #{totalCompleteWorkload}, </if> <if test="totalCompleteWorkload != null and totalCompleteWorkload != ''"> total_complete_workload = #{totalCompleteWorkload}, </if>
<if test="totalCostIuserAmount != null and totalCostIuserAmount != ''"> total_cost_inner_user_amount = #{totalCostIuserAmount}, </if>
<if test="totalCostOuserAmount != null and totalCostOuserAmount != ''"> total_cost_out_user_amount = #{totalCostOuserAmount}, </if>
<if test="totalCostIuserAmount != null and totalCostIuserAmount != ''"> total_cost_iuser_amount = #{totalCostIuserAmount}, </if>
<if test="totalCostOuserAmount != null and totalCostOuserAmount != ''"> total_cost_ouser_amount = #{totalCostOuserAmount}, </if>
<if test="totalProgress != null and totalProgress != ''"> total_progress = #{totalProgress}, </if> <if test="totalProgress != null and totalProgress != ''"> total_progress = #{totalProgress}, </if>
<if test="totalActiveBugCnt != null and totalActiveBugCnt != ''"> total_active_bug_cnt = #{totalActiveBugCnt}, </if> <if test="totalActiveBugCnt != null and totalActiveBugCnt != ''"> total_active_bug_cnt = #{totalActiveBugCnt}, </if>
<if test="totalConfirmedBugCnt != null and totalConfirmedBugCnt != ''"> total_confirmed_bug_cnt = #{totalConfirmedBugCnt}, </if> <if test="totalConfirmedBugCnt != null and totalConfirmedBugCnt != ''"> total_confirmed_bug_cnt = #{totalConfirmedBugCnt}, </if>
@ -283,8 +283,8 @@
<if test="totalFinishPayCnt != null and totalFinishPayCnt != ''"> total_finish_pay_cnt = #{totalFinishPayCnt}, </if> <if test="totalFinishPayCnt != null and totalFinishPayCnt != ''"> total_finish_pay_cnt = #{totalFinishPayCnt}, </if>
<if test="totalFinishPayUserCnt != null and totalFinishPayUserCnt != ''"> total_finish_pay_user_cnt = #{totalFinishPayUserCnt}, </if> <if test="totalFinishPayUserCnt != null and totalFinishPayUserCnt != ''"> total_finish_pay_user_cnt = #{totalFinishPayUserCnt}, </if>
<if test="totalNeedPayUserCnt != null and totalNeedPayUserCnt != ''"> total_need_pay_user_cnt = #{totalNeedPayUserCnt}, </if> <if test="totalNeedPayUserCnt != null and totalNeedPayUserCnt != ''"> total_need_pay_user_cnt = #{totalNeedPayUserCnt}, </if>
<if test="totalPlanIuserWorkload != null and totalPlanIuserWorkload != ''"> total_plan_inner_user_workload = #{totalPlanIuserWorkload}, </if>
<if test="totalPlanOuserWorkload != null and totalPlanOuserWorkload != ''"> total_plan_out_user_workload = #{totalPlanOuserWorkload}, </if>
<if test="totalPlanIuserWorkload != null and totalPlanIuserWorkload != ''"> total_plan_iuser_workload = #{totalPlanIuserWorkload}, </if>
<if test="totalPlanOuserWorkload != null and totalPlanOuserWorkload != ''"> total_plan_ouser_workload = #{totalPlanOuserWorkload}, </if>
<if test="testCases != null and testCases != ''"> test_cases = #{testCases}, </if> <if test="testCases != null and testCases != ''"> test_cases = #{testCases}, </if>
<if test="execCases != null and execCases != ''"> exec_cases = #{execCases}, </if> <if test="execCases != null and execCases != ''"> exec_cases = #{execCases}, </if>
<if test="designCases != null and designCases != ''"> design_cases = #{designCases}, </if> <if test="designCases != null and designCases != ''"> design_cases = #{designCases}, </if>
@ -316,16 +316,16 @@
total_need_col_amount = #{item.totalNeedColAmount}, total_need_col_amount = #{item.totalNeedColAmount},
total_finish_col_amount = #{item.totalFinishColAmount}, total_finish_col_amount = #{item.totalFinishColAmount},
total_cost_user_amount = #{item.totalCostUserAmount}, total_cost_user_amount = #{item.totalCostUserAmount},
total_budget_inner_user_amount = #{item.totalBudgetIuserAmount},
total_budget_iuser_amount = #{item.totalBudgetIuserAmount},
total_plan_workload = #{item.totalPlanWorkload}, total_plan_workload = #{item.totalPlanWorkload},
total_risk_cnt = #{item.totalRiskCnt}, total_risk_cnt = #{item.totalRiskCnt},
total_complete_risk_cnt = #{item.totalCompleteRiskCnt}, total_complete_risk_cnt = #{item.totalCompleteRiskCnt},
branch_id = #{item.branchId}, branch_id = #{item.branchId},
branch_name = #{item.branchName}, branch_name = #{item.branchName},
total_budget_out_user_amount = #{item.totalBudgetOuserAmount},
total_budget_ouser_amount = #{item.totalBudgetOuserAmount},
total_complete_workload = #{item.totalCompleteWorkload}, total_complete_workload = #{item.totalCompleteWorkload},
total_cost_inner_user_amount = #{item.totalCostIuserAmount},
total_cost_out_user_amount = #{item.totalCostOuserAmount},
total_cost_iuser_amount = #{item.totalCostIuserAmount},
total_cost_ouser_amount = #{item.totalCostOuserAmount},
total_progress = #{item.totalProgress}, total_progress = #{item.totalProgress},
total_active_bug_cnt = #{item.totalActiveBugCnt}, total_active_bug_cnt = #{item.totalActiveBugCnt},
total_confirmed_bug_cnt = #{item.totalConfirmedBugCnt}, total_confirmed_bug_cnt = #{item.totalConfirmedBugCnt},
@ -339,8 +339,8 @@
total_finish_pay_cnt = #{item.totalFinishPayCnt}, total_finish_pay_cnt = #{item.totalFinishPayCnt},
total_finish_pay_user_cnt = #{item.totalFinishPayUserCnt}, total_finish_pay_user_cnt = #{item.totalFinishPayUserCnt},
total_need_pay_user_cnt = #{item.totalNeedPayUserCnt}, total_need_pay_user_cnt = #{item.totalNeedPayUserCnt},
total_plan_inner_user_workload = #{item.totalPlanIuserWorkload},
total_plan_out_user_workload = #{item.totalPlanOuserWorkload},
total_plan_iuser_workload = #{item.totalPlanIuserWorkload},
total_plan_ouser_workload = #{item.totalPlanOuserWorkload},
test_cases = #{item.testCases}, test_cases = #{item.testCases},
exec_cases = #{item.execCases}, exec_cases = #{item.execCases},
design_cases = #{item.designCases}, design_cases = #{item.designCases},

18
xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectTaskTypeStateMapper.xml

@ -132,7 +132,7 @@
<!--sql片段 列--> <!--sql片段 列-->
<sql id="columns"> <sql id="columns">
project_id,project_name,task_type,plan_workload,plan_amount,act_workload,act_amount,branch_id,biz_date,calc_time,plan_ouser_at,plan_iuser_at,act_out_user_at,act_inner_user_at,plan_ouser_workload,plan_iuser_workload,act_ouser_workload,act_iuser_workload,plan_nouser_at,act_nouser_at,id
project_id,project_name,task_type,plan_workload,plan_amount,act_workload,act_amount,branch_id,biz_date,calc_time,plan_ouser_at,plan_iuser_at,act_ouser_at,act_iuser_at,plan_ouser_workload,plan_iuser_workload,act_ouser_workload,act_iuser_workload,plan_nouser_at,act_nouser_at,id
</sql> </sql>
<!--sql片段 动态条件 YYYY-MM-DD HH24:MI:SS--> <!--sql片段 动态条件 YYYY-MM-DD HH24:MI:SS-->
@ -149,8 +149,8 @@
<if test="calcTime != null"> and date_format(res.calc_time,'%Y-%m-%d') = date_format(#{calcTime},'%Y-%m-%d') </if> <if test="calcTime != null"> and date_format(res.calc_time,'%Y-%m-%d') = date_format(#{calcTime},'%Y-%m-%d') </if>
<if test="planOuserAt != null and planOuserAt != ''"> and res.plan_ouser_at = #{planOuserAt} </if> <if test="planOuserAt != null and planOuserAt != ''"> and res.plan_ouser_at = #{planOuserAt} </if>
<if test="planIuserAt != null and planIuserAt != ''"> and res.plan_iuser_at = #{planIuserAt} </if> <if test="planIuserAt != null and planIuserAt != ''"> and res.plan_iuser_at = #{planIuserAt} </if>
<if test="actOutUserAt != null and actOutUserAt != ''"> and res.act_out_user_at = #{actOutUserAt} </if>
<if test="actInnerUserAt != null and actInnerUserAt != ''"> and res.act_inner_user_at = #{actInnerUserAt} </if>
<if test="actOutUserAt != null and actOutUserAt != ''"> and res.act_ouser_at = #{actOutUserAt} </if>
<if test="actInnerUserAt != null and actInnerUserAt != ''"> and res.act_iuser_at = #{actInnerUserAt} </if>
<if test="planOuserWorkload != null and planOuserWorkload != ''"> and res.plan_ouser_workload = #{planOuserWorkload} </if> <if test="planOuserWorkload != null and planOuserWorkload != ''"> and res.plan_ouser_workload = #{planOuserWorkload} </if>
<if test="planIuserWorkload != null and planIuserWorkload != ''"> and res.plan_iuser_workload = #{planIuserWorkload} </if> <if test="planIuserWorkload != null and planIuserWorkload != ''"> and res.plan_iuser_workload = #{planIuserWorkload} </if>
<if test="actOuserWorkload != null and actOuserWorkload != ''"> and res.act_ouser_workload = #{actOuserWorkload} </if> <if test="actOuserWorkload != null and actOuserWorkload != ''"> and res.act_ouser_workload = #{actOuserWorkload} </if>
@ -173,8 +173,8 @@
calc_time = #{calcTime}, calc_time = #{calcTime},
plan_ouser_at = #{planOuserAt}, plan_ouser_at = #{planOuserAt},
plan_iuser_at = #{planIuserAt}, plan_iuser_at = #{planIuserAt},
act_out_user_at = #{actOutUserAt},
act_inner_user_at = #{actInnerUserAt},
act_ouser_at = #{actOutUserAt},
act_iuser_at = #{actInnerUserAt},
plan_ouser_workload = #{planOuserWorkload}, plan_ouser_workload = #{planOuserWorkload},
plan_iuser_workload = #{planIuserWorkload}, plan_iuser_workload = #{planIuserWorkload},
act_ouser_workload = #{actOuserWorkload}, act_ouser_workload = #{actOuserWorkload},
@ -195,8 +195,8 @@
<if test="calcTime != null"> calc_time = #{calcTime}, </if> <if test="calcTime != null"> calc_time = #{calcTime}, </if>
<if test="planOuserAt != null and planOuserAt != ''"> plan_ouser_at = #{planOuserAt}, </if> <if test="planOuserAt != null and planOuserAt != ''"> plan_ouser_at = #{planOuserAt}, </if>
<if test="planIuserAt != null and planIuserAt != ''"> plan_iuser_at = #{planIuserAt}, </if> <if test="planIuserAt != null and planIuserAt != ''"> plan_iuser_at = #{planIuserAt}, </if>
<if test="actOutUserAt != null and actOutUserAt != ''"> act_out_user_at = #{actOutUserAt}, </if>
<if test="actInnerUserAt != null and actInnerUserAt != ''"> act_inner_user_at = #{actInnerUserAt}, </if>
<if test="actOutUserAt != null and actOutUserAt != ''"> act_ouser_at = #{actOutUserAt}, </if>
<if test="actInnerUserAt != null and actInnerUserAt != ''"> act_iuser_at = #{actInnerUserAt}, </if>
<if test="planOuserWorkload != null and planOuserWorkload != ''"> plan_ouser_workload = #{planOuserWorkload}, </if> <if test="planOuserWorkload != null and planOuserWorkload != ''"> plan_ouser_workload = #{planOuserWorkload}, </if>
<if test="planIuserWorkload != null and planIuserWorkload != ''"> plan_iuser_workload = #{planIuserWorkload}, </if> <if test="planIuserWorkload != null and planIuserWorkload != ''"> plan_iuser_workload = #{planIuserWorkload}, </if>
<if test="actOuserWorkload != null and actOuserWorkload != ''"> act_ouser_workload = #{actOuserWorkload}, </if> <if test="actOuserWorkload != null and actOuserWorkload != ''"> act_ouser_workload = #{actOuserWorkload}, </if>
@ -218,8 +218,8 @@
calc_time = #{item.calcTime}, calc_time = #{item.calcTime},
plan_ouser_at = #{item.planOuserAt}, plan_ouser_at = #{item.planOuserAt},
plan_iuser_at = #{item.planIuserAt}, plan_iuser_at = #{item.planIuserAt},
act_out_user_at = #{item.actOutUserAt},
act_inner_user_at = #{item.actInnerUserAt},
act_ouser_at = #{item.actOutUserAt},
act_iuser_at = #{item.actInnerUserAt},
plan_ouser_workload = #{item.planOuserWorkload}, plan_ouser_workload = #{item.planOuserWorkload},
plan_iuser_workload = #{item.planIuserWorkload}, plan_iuser_workload = #{item.planIuserWorkload},
act_ouser_workload = #{item.actOuserWorkload}, act_ouser_workload = #{item.actOuserWorkload},

30
xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskMapper.xml

@ -113,7 +113,7 @@
</update> </update>
<update id="batchRelTasksWithPhase" parameterType="com.xm.core.vo.BatchRelTasksWithPhase"> <update id="batchRelTasksWithPhase" parameterType="com.xm.core.vo.BatchRelTasksWithPhase">
update xm_task res set res.project_phase_id=#{projectPhaseId}
update xm_task res set res.phase_id=#{phaseId}
where res.id in where res.id in
<foreach collection="taskIds" item="item" index="index" open="(" separator="," close=")" > <foreach collection="taskIds" item="item" index="index" open="(" separator="," close=")" >
#{item} #{item}
@ -190,32 +190,32 @@
<!-- 查询任务总的预算及对应的计划的预算,任务总预算不能大于计划总预算 --> <!-- 查询任务总的预算及对应的计划的预算,任务总预算不能大于计划总预算 -->
<select id="selectTotalPhaseAndTaskBudgetCost" parameterType="HashMap" resultType="HashMap"> <select id="selectTotalPhaseAndTaskBudgetCost" parameterType="HashMap" resultType="HashMap">
SELECT SELECT
p.phase_budget_nouser_at,
p.phase_budget_inner_user_at,
p.phase_budget_out_user_at,
p.phase_budget_at,
p.phase_budget_workload,
p.phase_budget_hours,
p.phase_budget_staff_nu,
p.budget_nouser_at,
p.budget_iuser_at,
p.budget_ouser_at,
p.budget_at,
p.budget_workload,
p.budget_hours,
p.budget_staff_nu,
tc.* tc.*
FROM xm_project_phase p LEFT JOIN
FROM xm_phase p LEFT JOIN
(select (select
res.project_phase_id,
res.phase_id,
sum( ifnull(res.budget_cost,0) ) AS budget_cost, sum( ifnull(res.budget_cost,0) ) AS budget_cost,
sum( case when res.task_out='1' then ifnull(res.budget_cost,0) else 0 end ) AS task_budget_out_user_at,
sum( case when res.task_out='1' then 0 else ifnull(res.budget_cost,0) end ) AS task_budget_inner_user_at,
sum( case when res.task_out='1' then ifnull(res.budget_cost,0) else 0 end ) AS task_budget_ouser_at,
sum( case when res.task_out='1' then 0 else ifnull(res.budget_cost,0) end ) AS task_budget_iuser_at,
sum(0) AS task_budget_nouser_at, sum(0) AS task_budget_nouser_at,
sum( res.budget_workload ) AS budget_workload sum( res.budget_workload ) AS budget_workload
from from
xm_task res where res.project_phase_id=#{projectPhaseId} and res.lvl=1
xm_task res where res.phase_id=#{phaseId} and res.lvl=1
<if test=" excludeTaskIds !=null "> and res.id not in <if test=" excludeTaskIds !=null "> and res.id not in
<foreach collection="excludeTaskIds" item="item" index="index" open="(" separator="," close=")" > <foreach collection="excludeTaskIds" item="item" index="index" open="(" separator="," close=")" >
#{item} #{item}
</foreach> </foreach>
</if> </if>
) as tc ON p.id = tc.project_phase_id
) as tc ON p.id = tc.phase_id
WHERE WHERE
p.id = #{projectPhaseId}
p.id = #{phaseId}
</select> </select>
<!-- 通过条件查询获取数据列表 不分页 返回 list<Object> --> <!-- 通过条件查询获取数据列表 不分页 返回 list<Object> -->

2
xm-core/src/test/java/com/xm/core/TestXmProjectStateService.java

@ -24,7 +24,7 @@ import org.springframework.boot.test.context.SpringBootTest;
* 当前实体所有属性名:<br> * 当前实体所有属性名:<br>
* projectId,bizDate,totalFileCnt,totalBugCnt,totalTaskCnt,totalBudgetNouserAmount,projectName,id,totalStaffCnt,calCtime,calStatus,totalCostNouserAmount,totalClosedBugCnt,totalResolvedBugCnt,totalCompleteTaskCnt,totalPhaseCnt,totalCompletePhaseCnt,totalNeedPayAmount,totalFinishPayAmount,totalNeedColAmount,totalFinishColAmount,totalCostUserAmount,totalBudgetIuserAmount,totalPlanWorkload,totalRiskCnt,totalCompleteRiskCnt,branchId,branchName,totalBudgetOuserAmount,totalCompleteWorkload,todayNewBugCnt,todayResolvedBugCnt,todayClosedBugCnt,todayNewTaskCnt,todayCompleteTaskCnt,todayNewPhaseCnt,todayCompletePhaseCnt,todayNewStaffCnt,todaySubStaffCnt,todayNewPlanWorkload,todayNewActWorkload,todayNeedColAmount,todayFinishColAmount,todayCostUserAmount,todayCostIuserAmount,todayCostOuserAmount,todayCostNouserAmount,totalCostIuserAmount,totalCostOuserAmount,todayNeedPayAmount,todayFinishPayAmount,todayNewRiskCnt,todayCompleteRiskCnt,todayNewFileCnt,totalProgress,totalActiveBugCnt,totalConfirmedBugCnt,projectStatus,totalActWorkload,totalActOutWorkload,totalActInnerWorkload,totalTaskBudgetCostAt,totalTaskOutCnt,totalNeedPayCnt,totalFinishPayCnt,todayConfirmedBugCnt,todayActiveBugCnt,totalFinishPayUserCnt,totalNeedPayUserCnt,todayNeedPayUserCnt,todayFinishPayUserCnt;<br> * projectId,bizDate,totalFileCnt,totalBugCnt,totalTaskCnt,totalBudgetNouserAmount,projectName,id,totalStaffCnt,calCtime,calStatus,totalCostNouserAmount,totalClosedBugCnt,totalResolvedBugCnt,totalCompleteTaskCnt,totalPhaseCnt,totalCompletePhaseCnt,totalNeedPayAmount,totalFinishPayAmount,totalNeedColAmount,totalFinishColAmount,totalCostUserAmount,totalBudgetIuserAmount,totalPlanWorkload,totalRiskCnt,totalCompleteRiskCnt,branchId,branchName,totalBudgetOuserAmount,totalCompleteWorkload,todayNewBugCnt,todayResolvedBugCnt,todayClosedBugCnt,todayNewTaskCnt,todayCompleteTaskCnt,todayNewPhaseCnt,todayCompletePhaseCnt,todayNewStaffCnt,todaySubStaffCnt,todayNewPlanWorkload,todayNewActWorkload,todayNeedColAmount,todayFinishColAmount,todayCostUserAmount,todayCostIuserAmount,todayCostOuserAmount,todayCostNouserAmount,totalCostIuserAmount,totalCostOuserAmount,todayNeedPayAmount,todayFinishPayAmount,todayNewRiskCnt,todayCompleteRiskCnt,todayNewFileCnt,totalProgress,totalActiveBugCnt,totalConfirmedBugCnt,projectStatus,totalActWorkload,totalActOutWorkload,totalActInnerWorkload,totalTaskBudgetCostAt,totalTaskOutCnt,totalNeedPayCnt,totalFinishPayCnt,todayConfirmedBugCnt,todayActiveBugCnt,totalFinishPayUserCnt,totalNeedPayUserCnt,todayNeedPayUserCnt,todayFinishPayUserCnt;<br>
* 当前表的所有字段名:<br> * 当前表的所有字段名:<br>
* project_id,biz_date,total_file_cnt,total_bug_cnt,total_task_cnt,total_budget_nouser_amount,project_name,id,total_staff_cnt,cal_ctime,cal_status,total_cost_nouser_amount,total_closed_bug_cnt,total_resolved_bug_cnt,total_complete_task_cnt,total_phase_cnt,total_complete_phase_cnt,total_need_pay_amount,total_finish_pay_amount,total_need_col_amount,total_finish_col_amount,total_cost_user_amount,total_budget_inner_user_amount,total_plan_workload,total_risk_cnt,total_complete_risk_cnt,branch_id,branch_name,total_budget_out_user_amount,total_complete_workload,today_new_bug_cnt,today_resolved_bug_cnt,today_closed_bug_cnt,today_new_task_cnt,today_complete_task_cnt,today_new_phase_cnt,today_complete_phase_cnt,today_new_staff_cnt,today_sub_staff_cnt,today_new_plan_workload,today_new_act_workload,today_need_col_amount,today_finish_col_amount,today_cost_user_amount,today_cost_inner_user_amount,today_cost_out_user_amount,today_cost_nouser_amount,total_cost_inner_user_amount,total_cost_out_user_amount,today_need_pay_amount,today_finish_pay_amount,today_new_risk_cnt,today_complete_risk_cnt,today_new_file_cnt,total_progress,total_active_bug_cnt,total_confirmed_bug_cnt,project_status,total_act_workload,total_act_out_workload,total_act_inner_workload,total_task_budget_cost_at,total_task_out_cnt,total_need_pay_cnt,total_finish_pay_cnt,today_confirmed_bug_cnt,today_active_bug_cnt,total_finish_pay_user_cnt,total_need_pay_user_cnt,today_need_pay_user_cnt,today_finish_pay_user_cnt;<br>
* project_id,biz_date,total_file_cnt,total_bug_cnt,total_task_cnt,total_budget_nouser_amount,project_name,id,total_staff_cnt,cal_ctime,cal_status,total_cost_nouser_amount,total_closed_bug_cnt,total_resolved_bug_cnt,total_complete_task_cnt,total_phase_cnt,total_complete_phase_cnt,total_need_pay_amount,total_finish_pay_amount,total_need_col_amount,total_finish_col_amount,total_cost_user_amount,total_budget_iuser_amount,total_plan_workload,total_risk_cnt,total_complete_risk_cnt,branch_id,branch_name,total_budget_ouser_amount,total_complete_workload,today_new_bug_cnt,today_resolved_bug_cnt,today_closed_bug_cnt,today_new_task_cnt,today_complete_task_cnt,today_new_phase_cnt,today_complete_phase_cnt,today_new_staff_cnt,today_sub_staff_cnt,today_new_plan_workload,today_new_act_workload,today_need_col_amount,today_finish_col_amount,today_cost_user_amount,today_cost_iuser_amount,today_cost_ouser_amount,today_cost_nouser_amount,total_cost_iuser_amount,total_cost_ouser_amount,today_need_pay_amount,today_finish_pay_amount,today_new_risk_cnt,today_complete_risk_cnt,today_new_file_cnt,total_progress,total_active_bug_cnt,total_confirmed_bug_cnt,project_status,total_act_workload,total_act_out_workload,total_act_inner_workload,total_task_budget_cost_at,total_task_out_cnt,total_need_pay_cnt,total_finish_pay_cnt,today_confirmed_bug_cnt,today_active_bug_cnt,total_finish_pay_user_cnt,total_need_pay_user_cnt,today_need_pay_user_cnt,today_finish_pay_user_cnt;<br>
* 当前主键(包括多主键):<br> * 当前主键(包括多主键):<br>
* id;<br> * id;<br>
***/ ***/

2
xm-core/src/test/java/com/xm/push/TestXmPushMsgService.java

@ -26,7 +26,7 @@ import org.springframework.boot.test.context.SpringBootTest;
* 当前实体所有属性名:<br> * 当前实体所有属性名:<br>
* projectId,bizDate,totalFileCnt,totalBugCnt,totalTaskCnt,totalBudgetNouserAmount,projectName,id,totalStaffCnt,calCtime,calStatus,totalCostNouserAmount,totalClosedBugCnt,totalResolvedBugCnt,totalCompleteTaskCnt,totalPhaseCnt,totalCompletePhaseCnt,totalNeedPayAmount,totalFinishPayAmount,totalNeedColAmount,totalFinishColAmount,totalCostUserAmount,totalBudgetIuserAmount,totalPlanWorkload,totalRiskCnt,totalCompleteRiskCnt,branchId,branchName,totalBudgetOuserAmount,totalCompleteWorkload,todayNewBugCnt,todayResolvedBugCnt,todayClosedBugCnt,todayNewTaskCnt,todayCompleteTaskCnt,todayNewPhaseCnt,todayCompletePhaseCnt,todayNewStaffCnt,todaySubStaffCnt,todayNewPlanWorkload,todayNewActWorkload,todayNeedColAmount,todayFinishColAmount,todayCostUserAmount,todayCostIuserAmount,todayCostOuserAmount,todayCostNouserAmount,totalCostIuserAmount,totalCostOuserAmount,todayNeedPayAmount,todayFinishPayAmount,todayNewRiskCnt,todayCompleteRiskCnt,todayNewFileCnt,totalProgress,totalActiveBugCnt,totalConfirmedBugCnt,projectStatus,totalActWorkload,totalActOutWorkload,totalActInnerWorkload,totalTaskBudgetCostAt,totalTaskOutCnt,totalNeedPayCnt,totalFinishPayCnt,todayConfirmedBugCnt,todayActiveBugCnt,totalFinishPayUserCnt,totalNeedPayUserCnt,todayNeedPayUserCnt,todayFinishPayUserCnt;<br> * projectId,bizDate,totalFileCnt,totalBugCnt,totalTaskCnt,totalBudgetNouserAmount,projectName,id,totalStaffCnt,calCtime,calStatus,totalCostNouserAmount,totalClosedBugCnt,totalResolvedBugCnt,totalCompleteTaskCnt,totalPhaseCnt,totalCompletePhaseCnt,totalNeedPayAmount,totalFinishPayAmount,totalNeedColAmount,totalFinishColAmount,totalCostUserAmount,totalBudgetIuserAmount,totalPlanWorkload,totalRiskCnt,totalCompleteRiskCnt,branchId,branchName,totalBudgetOuserAmount,totalCompleteWorkload,todayNewBugCnt,todayResolvedBugCnt,todayClosedBugCnt,todayNewTaskCnt,todayCompleteTaskCnt,todayNewPhaseCnt,todayCompletePhaseCnt,todayNewStaffCnt,todaySubStaffCnt,todayNewPlanWorkload,todayNewActWorkload,todayNeedColAmount,todayFinishColAmount,todayCostUserAmount,todayCostIuserAmount,todayCostOuserAmount,todayCostNouserAmount,totalCostIuserAmount,totalCostOuserAmount,todayNeedPayAmount,todayFinishPayAmount,todayNewRiskCnt,todayCompleteRiskCnt,todayNewFileCnt,totalProgress,totalActiveBugCnt,totalConfirmedBugCnt,projectStatus,totalActWorkload,totalActOutWorkload,totalActInnerWorkload,totalTaskBudgetCostAt,totalTaskOutCnt,totalNeedPayCnt,totalFinishPayCnt,todayConfirmedBugCnt,todayActiveBugCnt,totalFinishPayUserCnt,totalNeedPayUserCnt,todayNeedPayUserCnt,todayFinishPayUserCnt;<br>
* 当前表的所有字段名:<br> * 当前表的所有字段名:<br>
* project_id,biz_date,total_file_cnt,total_bug_cnt,total_task_cnt,total_budget_nouser_amount,project_name,id,total_staff_cnt,cal_ctime,cal_status,total_cost_nouser_amount,total_closed_bug_cnt,total_resolved_bug_cnt,total_complete_task_cnt,total_phase_cnt,total_complete_phase_cnt,total_need_pay_amount,total_finish_pay_amount,total_need_col_amount,total_finish_col_amount,total_cost_user_amount,total_budget_inner_user_amount,total_plan_workload,total_risk_cnt,total_complete_risk_cnt,branch_id,branch_name,total_budget_out_user_amount,total_complete_workload,today_new_bug_cnt,today_resolved_bug_cnt,today_closed_bug_cnt,today_new_task_cnt,today_complete_task_cnt,today_new_phase_cnt,today_complete_phase_cnt,today_new_staff_cnt,today_sub_staff_cnt,today_new_plan_workload,today_new_act_workload,today_need_col_amount,today_finish_col_amount,today_cost_user_amount,today_cost_inner_user_amount,today_cost_out_user_amount,today_cost_nouser_amount,total_cost_inner_user_amount,total_cost_out_user_amount,today_need_pay_amount,today_finish_pay_amount,today_new_risk_cnt,today_complete_risk_cnt,today_new_file_cnt,total_progress,total_active_bug_cnt,total_confirmed_bug_cnt,project_status,total_act_workload,total_act_out_workload,total_act_inner_workload,total_task_budget_cost_at,total_task_out_cnt,total_need_pay_cnt,total_finish_pay_cnt,today_confirmed_bug_cnt,today_active_bug_cnt,total_finish_pay_user_cnt,total_need_pay_user_cnt,today_need_pay_user_cnt,today_finish_pay_user_cnt;<br>
* project_id,biz_date,total_file_cnt,total_bug_cnt,total_task_cnt,total_budget_nouser_amount,project_name,id,total_staff_cnt,cal_ctime,cal_status,total_cost_nouser_amount,total_closed_bug_cnt,total_resolved_bug_cnt,total_complete_task_cnt,total_phase_cnt,total_complete_phase_cnt,total_need_pay_amount,total_finish_pay_amount,total_need_col_amount,total_finish_col_amount,total_cost_user_amount,total_budget_iuser_amount,total_plan_workload,total_risk_cnt,total_complete_risk_cnt,branch_id,branch_name,total_budget_ouser_amount,total_complete_workload,today_new_bug_cnt,today_resolved_bug_cnt,today_closed_bug_cnt,today_new_task_cnt,today_complete_task_cnt,today_new_phase_cnt,today_complete_phase_cnt,today_new_staff_cnt,today_sub_staff_cnt,today_new_plan_workload,today_new_act_workload,today_need_col_amount,today_finish_col_amount,today_cost_user_amount,today_cost_iuser_amount,today_cost_ouser_amount,today_cost_nouser_amount,total_cost_iuser_amount,total_cost_ouser_amount,today_need_pay_amount,today_finish_pay_amount,today_new_risk_cnt,today_complete_risk_cnt,today_new_file_cnt,total_progress,total_active_bug_cnt,total_confirmed_bug_cnt,project_status,total_act_workload,total_act_out_workload,total_act_inner_workload,total_task_budget_cost_at,total_task_out_cnt,total_need_pay_cnt,total_finish_pay_cnt,today_confirmed_bug_cnt,today_active_bug_cnt,total_finish_pay_user_cnt,total_need_pay_user_cnt,today_need_pay_user_cnt,today_finish_pay_user_cnt;<br>
* 当前主键(包括多主键):<br> * 当前主键(包括多主键):<br>
* id;<br> * id;<br>
***/ ***/

Loading…
Cancel
Save