Browse Source

添加节点类型、标签等

master
陈裕财 4 years ago
parent
commit
cfc60df64a
  1. 12
      xm-core/src/main/java/com/xm/core/ctrl/XmBranchStateController.java
  2. 16
      xm-core/src/main/java/com/xm/core/ctrl/XmBranchTaskTypeStateController.java
  3. 22
      xm-core/src/main/java/com/xm/core/ctrl/XmPhaseController.java
  4. 32
      xm-core/src/main/java/com/xm/core/ctrl/XmProjectMBudgetCostUserController.java
  5. 12
      xm-core/src/main/java/com/xm/core/ctrl/XmProjectMCostUserController.java
  6. 12
      xm-core/src/main/java/com/xm/core/ctrl/XmProjectStateController.java
  7. 12
      xm-core/src/main/java/com/xm/core/ctrl/XmProjectStateHisController.java
  8. 16
      xm-core/src/main/java/com/xm/core/ctrl/XmProjectTaskTypeStateController.java
  9. 82
      xm-core/src/main/java/com/xm/core/entity/XmBranchTaskTypeState.java
  10. 12
      xm-core/src/main/java/com/xm/core/entity/XmPhase.java
  11. 62
      xm-core/src/main/java/com/xm/core/entity/XmProjectStateHis.java
  12. 78
      xm-core/src/main/java/com/xm/core/entity/XmProjectTaskTypeState.java
  13. 38
      xm-core/src/main/java/com/xm/core/service/XmPhaseService.java
  14. 20
      xm-core/src/main/java/com/xm/core/service/XmProjectMBudgetCostUserService.java
  15. 20
      xm-core/src/main/java/com/xm/core/service/XmProjectMCostUserService.java
  16. 24
      xm-core/src/main/java/com/xm/core/service/XmProjectService.java
  17. 24
      xm-core/src/main/java/com/xm/core/service/XmTaskService.java
  18. 66
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmBranchTaskTypeStateMapper.xml
  19. 10
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmPhaseMapper.xml
  20. 50
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectStateHisMapper.xml
  21. 66
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectTaskTypeStateMapper.xml
  22. 2
      xm-core/src/test/java/com/xm/core/TestXmProjectStateService.java
  23. 2
      xm-core/src/test/java/com/xm/push/TestXmPushMsgService.java

12
xm-core/src/main/java/com/xm/core/ctrl/XmBranchStateController.java

@ -65,16 +65,16 @@ public class XmBranchStateController {
@ApiImplicitParam(name="totalNeedColAmount",value="待收款总金额",required=false), @ApiImplicitParam(name="totalNeedColAmount",value="待收款总金额",required=false),
@ApiImplicitParam(name="totalFinishColAmount",value="已收款总金额",required=false), @ApiImplicitParam(name="totalFinishColAmount",value="已收款总金额",required=false),
@ApiImplicitParam(name="totalCostUserAmount",value="项目总人力成本",required=false), @ApiImplicitParam(name="totalCostUserAmount",value="项目总人力成本",required=false),
@ApiImplicitParam(name="totalBudgetInnerUserAmount",value="项目总内部人力预算-来自项目表",required=false),
@ApiImplicitParam(name="totalBudgetIuserAmount",value="项目总内部人力预算-来自项目表",required=false),
@ApiImplicitParam(name="totalPlanWorkload",value="项目总预算工作量-来自项目表",required=false), @ApiImplicitParam(name="totalPlanWorkload",value="项目总预算工作量-来自项目表",required=false),
@ApiImplicitParam(name="totalRiskCnt",value="项目风险总数",required=false), @ApiImplicitParam(name="totalRiskCnt",value="项目风险总数",required=false),
@ApiImplicitParam(name="totalCompleteRiskCnt",value="已完成风险总数",required=false), @ApiImplicitParam(name="totalCompleteRiskCnt",value="已完成风险总数",required=false),
@ApiImplicitParam(name="branchId",value="机构编号",required=false), @ApiImplicitParam(name="branchId",value="机构编号",required=false),
@ApiImplicitParam(name="branchName",value="机构名称",required=false), @ApiImplicitParam(name="branchName",value="机构名称",required=false),
@ApiImplicitParam(name="totalBudgetOutUserAmount",value="项目总外购人力预算-来自项目表",required=false),
@ApiImplicitParam(name="totalBudgetOuserAmount",value="项目总外购人力预算-来自项目表",required=false),
@ApiImplicitParam(name="totalCompleteWorkload",value="已完成工作量-来自计划中实际完成工作量",required=false), @ApiImplicitParam(name="totalCompleteWorkload",value="已完成工作量-来自计划中实际完成工作量",required=false),
@ApiImplicitParam(name="totalCostInnerUserAmount",value="项目总内部人力成本金额",required=false),
@ApiImplicitParam(name="totalCostOutUserAmount",value="项目总外购人力成本金额",required=false),
@ApiImplicitParam(name="totalCostIuserAmount",value="项目总内部人力成本金额",required=false),
@ApiImplicitParam(name="totalCostOuserAmount",value="项目总外购人力成本金额",required=false),
@ApiImplicitParam(name="totalProgress",value="项目进度0~100之间,来自任务表",required=false), @ApiImplicitParam(name="totalProgress",value="项目进度0~100之间,来自任务表",required=false),
@ApiImplicitParam(name="totalActiveBugCnt",value="激活的bug总数",required=false), @ApiImplicitParam(name="totalActiveBugCnt",value="激活的bug总数",required=false),
@ApiImplicitParam(name="totalConfirmedBugCnt",value="已解决bug总数",required=false), @ApiImplicitParam(name="totalConfirmedBugCnt",value="已解决bug总数",required=false),
@ -88,8 +88,8 @@ public class XmBranchStateController {
@ApiImplicitParam(name="totalFinishPayCnt",value="完成付款总比数",required=false), @ApiImplicitParam(name="totalFinishPayCnt",value="完成付款总比数",required=false),
@ApiImplicitParam(name="totalFinishPayUserCnt",value="已付款总人数",required=false), @ApiImplicitParam(name="totalFinishPayUserCnt",value="已付款总人数",required=false),
@ApiImplicitParam(name="totalNeedPayUserCnt",value="待付款总人数",required=false), @ApiImplicitParam(name="totalNeedPayUserCnt",value="待付款总人数",required=false),
@ApiImplicitParam(name="totalPlanInnerUserWorkload",value="内部人力总工作量-应该大于或等于计划内部人力总成本",required=false),
@ApiImplicitParam(name="totalPlanOutUserWorkload",value="外购人力总工作量-应该大于或等于计划外购人力总成本",required=false),
@ApiImplicitParam(name="totalPlanIuserWorkload",value="内部人力总工作量-应该大于或等于计划内部人力总成本",required=false),
@ApiImplicitParam(name="totalPlanOuserWorkload",value="外购人力总工作量-应该大于或等于计划外购人力总成本",required=false),
@ApiImplicitParam(name="testCases",value="测试案例总数",required=false), @ApiImplicitParam(name="testCases",value="测试案例总数",required=false),
@ApiImplicitParam(name="execCases",value="测试中案例总数",required=false), @ApiImplicitParam(name="execCases",value="测试中案例总数",required=false),
@ApiImplicitParam(name="designCases",value="设计中案例总数",required=false), @ApiImplicitParam(name="designCases",value="设计中案例总数",required=false),

16
xm-core/src/main/java/com/xm/core/ctrl/XmBranchTaskTypeStateController.java

@ -53,14 +53,14 @@ public class XmBranchTaskTypeStateController {
@ApiImplicitParam(name="branchId",value="机构编号",required=false), @ApiImplicitParam(name="branchId",value="机构编号",required=false),
@ApiImplicitParam(name="bizDate",value="业务日期yyyy-MM-dd型",required=false), @ApiImplicitParam(name="bizDate",value="业务日期yyyy-MM-dd型",required=false),
@ApiImplicitParam(name="calcTime",value="计算日期",required=false), @ApiImplicitParam(name="calcTime",value="计算日期",required=false),
@ApiImplicitParam(name="planOutUserAt",value="外购资金预算",required=false),
@ApiImplicitParam(name="planInnerUserAt",value="内购资金预算",required=false),
@ApiImplicitParam(name="actOutUserAt",value="实际外购成本",required=false),
@ApiImplicitParam(name="actInnerUserAt",value="实际内购成本",required=false),
@ApiImplicitParam(name="planOutUserWorkload",value="计划外购工作量",required=false),
@ApiImplicitParam(name="planInnerUserWorkload",value="计划内购工作量",required=false),
@ApiImplicitParam(name="actOutUserWorkload",value="实际外购工作量",required=false),
@ApiImplicitParam(name="actInnerUserWorkload",value="实际内购工作量",required=false),
@ApiImplicitParam(name="planOuserAt",value="外购资金预算",required=false),
@ApiImplicitParam(name="planIuserAt",value="内购资金预算",required=false),
@ApiImplicitParam(name="actOuserAt",value="实际外购成本",required=false),
@ApiImplicitParam(name="actIuserAt",value="实际内购成本",required=false),
@ApiImplicitParam(name="planOuserWorkload",value="计划外购工作量",required=false),
@ApiImplicitParam(name="planIuserWorkload",value="计划内购工作量",required=false),
@ApiImplicitParam(name="actOuserWorkload",value="实际外购工作量",required=false),
@ApiImplicitParam(name="actIuserWorkload",value="实际内购工作量",required=false),
@ApiImplicitParam(name="planNouserAt",value="计划非人力成本",required=false), @ApiImplicitParam(name="planNouserAt",value="计划非人力成本",required=false),
@ApiImplicitParam(name="actNouserAt",value="实际非人力成本",required=false), @ApiImplicitParam(name="actNouserAt",value="实际非人力成本",required=false),
@ApiImplicitParam(name="branchName",value="机构名称",required=false), @ApiImplicitParam(name="branchName",value="机构名称",required=false),

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

@ -73,29 +73,29 @@ public class XmPhaseController {
@ApiImplicitParam(name="phaseBudgetStaffNu",value="投入人员数(不包括下一级)-应该大于或等于task中总人数",required=false), @ApiImplicitParam(name="phaseBudgetStaffNu",value="投入人员数(不包括下一级)-应该大于或等于task中总人数",required=false),
@ApiImplicitParam(name="ctime",value="创建时间",required=false), @ApiImplicitParam(name="ctime",value="创建时间",required=false),
@ApiImplicitParam(name="phaseBudgetNouserAt",value="非人力成本总预算(不包括下一级)-应该大于或等于task中非人力总成本",required=false), @ApiImplicitParam(name="phaseBudgetNouserAt",value="非人力成本总预算(不包括下一级)-应该大于或等于task中非人力总成本",required=false),
@ApiImplicitParam(name="phaseBudgetInnerUserAt",value="内部人力成本总预算(不包括下一级)-应该大于或等于task中内部人力总成本",required=false),
@ApiImplicitParam(name="phaseBudgetOutUserAt",value="外购人力成本总预算(不包括下一级)-应该大于或等于task中外购总成本",required=false),
@ApiImplicitParam(name="phaseBudgetIuserAt",value="内部人力成本总预算(不包括下一级)-应该大于或等于task中内部人力总成本",required=false),
@ApiImplicitParam(name="phaseBudgetOuserAt",value="外购人力成本总预算(不包括下一级)-应该大于或等于task中外购总成本",required=false),
@ApiImplicitParam(name="projectBaselineId",value="项目级基线",required=false), @ApiImplicitParam(name="projectBaselineId",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="phaseBudgetWorkload",value="总工作量单位人时-应该大于或者等于task中的预算总工作量",required=false), @ApiImplicitParam(name="phaseBudgetWorkload",value="总工作量单位人时-应该大于或者等于task中的预算总工作量",required=false),
@ApiImplicitParam(name="phaseActWorkload",value="已完成工作量单位人时-从task中的实际工作量算出",required=false), @ApiImplicitParam(name="phaseActWorkload",value="已完成工作量单位人时-从task中的实际工作量算出",required=false),
@ApiImplicitParam(name="phaseActIuserWorkload",value="实际内部人力工作量-来自任务表合计",required=false), @ApiImplicitParam(name="phaseActIuserWorkload",value="实际内部人力工作量-来自任务表合计",required=false),
@ApiImplicitParam(name="phaseActOutUserWorkload",value="实际外购人力工作量-来自任务表合计",required=false),
@ApiImplicitParam(name="phaseActOuserWorkload",value="实际外购人力工作量-来自任务表合计",required=false),
@ApiImplicitParam(name="taskType",value="0售前方案1投标2需求3设计4开发5测试6验收7部署8运维--来自基础数据表taskType",required=false), @ApiImplicitParam(name="taskType",value="0售前方案1投标2需求3设计4开发5测试6验收7部署8运维--来自基础数据表taskType",required=false),
@ApiImplicitParam(name="planType",value="计划类型w1-周,w2-2周,w3-3周,m1-1月,m2-2月,q1-季,q2-半年,y1-年",required=false), @ApiImplicitParam(name="planType",value="计划类型w1-周,w2-2周,w3-3周,m1-1月,m2-2月,q1-季,q2-半年,y1-年",required=false),
@ApiImplicitParam(name="seqNo",value="顺序号",required=false), @ApiImplicitParam(name="seqNo",value="顺序号",required=false),
@ApiImplicitParam(name="phaseBudgetInnerUserWorkload",value="内部人力工作量总预算(不包括下一级)-应该大于或等于task中内部人力总成本",required=false),
@ApiImplicitParam(name="phaseBudgetOutUserWorkload",value="外购人力工作量总预算(不包括下一级)-应该大于或等于task中外购总成本",required=false),
@ApiImplicitParam(name="phaseBudgetIuserWorkload",value="内部人力工作量总预算(不包括下一级)-应该大于或等于task中内部人力总成本",required=false),
@ApiImplicitParam(name="phaseBudgetOuserWorkload",value="外购人力工作量总预算(不包括下一级)-应该大于或等于task中外购总成本",required=false),
@ApiImplicitParam(name="actNouserAt",value="实际非人力成本-来自任务表合计",required=false), @ApiImplicitParam(name="actNouserAt",value="实际非人力成本-来自任务表合计",required=false),
@ApiImplicitParam(name="actInnerUserAt",value="实际内部人力成本-来自任务表合计",required=false),
@ApiImplicitParam(name="phaseBudgetInnerUserPrice",value="内部人力成本单价元/人时",required=false),
@ApiImplicitParam(name="phaseBudgetOutUserPrice",value="外购人力成本单价元/人时",required=false),
@ApiImplicitParam(name="phaseBudgetOutUserCnt",value="外购人数",required=false),
@ApiImplicitParam(name="phaseBudgetInnerUserCnt",value="内部人数",required=false),
@ApiImplicitParam(name="actIuserAt",value="实际内部人力成本-来自任务表合计",required=false),
@ApiImplicitParam(name="phaseBudgetIuserPrice",value="内部人力成本单价元/人时",required=false),
@ApiImplicitParam(name="phaseBudgetOuserPrice",value="外购人力成本单价元/人时",required=false),
@ApiImplicitParam(name="phaseBudgetOuserCnt",value="外购人数",required=false),
@ApiImplicitParam(name="phaseBudgetIuserCnt",value="内部人数",required=false),
@ApiImplicitParam(name="actRate",value="实际进度0-100",required=false), @ApiImplicitParam(name="actRate",value="实际进度0-100",required=false),
@ApiImplicitParam(name="phaseStatus",value="计划状态0初始1执行中2完工3关闭4删除中5已删除6暂停",required=false), @ApiImplicitParam(name="phaseStatus",value="计划状态0初始1执行中2完工3关闭4删除中5已删除6暂停",required=false),
@ApiImplicitParam(name="actOutUserAt",value="实际外部人力成本",required=false),
@ApiImplicitParam(name="actOuserAt",value="实际外部人力成本",required=false),
@ApiImplicitParam(name="taskCnt",value="任务数",required=false), @ApiImplicitParam(name="taskCnt",value="任务数",required=false),
@ApiImplicitParam(name="finishTaskCnt",value="完成的任务数",required=false), @ApiImplicitParam(name="finishTaskCnt",value="完成的任务数",required=false),
@ApiImplicitParam(name="iterationCnt",value="迭代数",required=false), @ApiImplicitParam(name="iterationCnt",value="迭代数",required=false),

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

@ -115,14 +115,14 @@ public class XmProjectMBudgetCostUserController {
BigDecimal zero=BigDecimal.ZERO; BigDecimal zero=BigDecimal.ZERO;
BigDecimal budgetCostUser=NumberUtil.getBigDecimal(xmProjectMBudgetCostUser.getBudgetCost(),zero); BigDecimal budgetCostUser=NumberUtil.getBigDecimal(xmProjectMBudgetCostUser.getBudgetCost(),zero);
BigDecimal addBudgetCostInnerUserAt=BigDecimal.ZERO;
BigDecimal addBudgetCostOutUserAt=BigDecimal.ZERO;
BigDecimal addBudgetCostIuserAt=BigDecimal.ZERO;
BigDecimal addBudgetCostOuserAt=BigDecimal.ZERO;
if("1".equals(xmProjectMBudgetCostUser.getCostType())) { if("1".equals(xmProjectMBudgetCostUser.getCostType())) {
addBudgetCostInnerUserAt=budgetCostUser;
addBudgetCostIuserAt=budgetCostUser;
}else { }else {
addBudgetCostOutUserAt=budgetCostUser;
addBudgetCostOuserAt=budgetCostUser;
} }
Tips judgetTips=xmProjectMBudgetCostUserService.judgetBudget(projectId,budgetCostUser, addBudgetCostInnerUserAt, addBudgetCostOutUserAt,null);
Tips judgetTips=xmProjectMBudgetCostUserService.judgetBudget(projectId,budgetCostUser, addBudgetCostIuserAt, addBudgetCostOuserAt,null);
if(judgetTips.isOk()) { if(judgetTips.isOk()) {
xmProjectMBudgetCostUserService.insert(xmProjectMBudgetCostUser); xmProjectMBudgetCostUserService.insert(xmProjectMBudgetCostUser);
xmRecordService.addXmBudgetRecord(projectId, xmProjectMBudgetCostUser.getId(), "项目-预算-人力-增加", "增加预算"+xmProjectMBudgetCostUser.getBudgetCost(),JSON.toJSONString(xmProjectMBudgetCostUser),null); xmRecordService.addXmBudgetRecord(projectId, xmProjectMBudgetCostUser.getId(), "项目-预算-人力-增加", "增加预算"+xmProjectMBudgetCostUser.getBudgetCost(),JSON.toJSONString(xmProjectMBudgetCostUser),null);
@ -179,17 +179,17 @@ public class XmProjectMBudgetCostUserController {
BigDecimal zero=BigDecimal.ZERO; BigDecimal zero=BigDecimal.ZERO;
BigDecimal budgetCostUser=NumberUtil.getBigDecimal(xmProjectMBudgetCostUser.getBudgetCost(),zero); BigDecimal budgetCostUser=NumberUtil.getBigDecimal(xmProjectMBudgetCostUser.getBudgetCost(),zero);
BigDecimal addBudgetCostInnerUserAt=BigDecimal.ZERO;
BigDecimal addBudgetCostOutUserAt=BigDecimal.ZERO;
BigDecimal addBudgetCostIuserAt=BigDecimal.ZERO;
BigDecimal addBudgetCostOuserAt=BigDecimal.ZERO;
List<String> excludeIds=new ArrayList<>(); List<String> excludeIds=new ArrayList<>();
excludeIds.add(xmProjectMBudgetCostUser.getId()); excludeIds.add(xmProjectMBudgetCostUser.getId());
if("1".equals(xmProjectMBudgetCostUser.getCostType())) { if("1".equals(xmProjectMBudgetCostUser.getCostType())) {
addBudgetCostInnerUserAt=budgetCostUser;
addBudgetCostIuserAt=budgetCostUser;
}else { }else {
addBudgetCostOutUserAt=budgetCostUser;
addBudgetCostOuserAt=budgetCostUser;
} }
Tips judgetTips=xmProjectMBudgetCostUserService.judgetBudget(projectId, budgetCostUser,addBudgetCostInnerUserAt,addBudgetCostOutUserAt,excludeIds);
Tips judgetTips=xmProjectMBudgetCostUserService.judgetBudget(projectId, budgetCostUser,addBudgetCostIuserAt,addBudgetCostOuserAt,excludeIds);
if(judgetTips.isOk()) { if(judgetTips.isOk()) {
xmProjectMBudgetCostUserService.updateByPk(xmProjectMBudgetCostUser); xmProjectMBudgetCostUserService.updateByPk(xmProjectMBudgetCostUser);
xmRecordService.addXmBudgetRecord(xmProjectMBudgetCostUser.getProjectId(), xmProjectMBudgetCostUser.getId(), "项目-预算-人力-修改", "修改预算为"+xmProjectMBudgetCostUser.getBudgetCost(),JSON.toJSONString(xmProjectMBudgetCostUser),null); xmRecordService.addXmBudgetRecord(xmProjectMBudgetCostUser.getProjectId(), xmProjectMBudgetCostUser.getId(), "项目-预算-人力-修改", "修改预算为"+xmProjectMBudgetCostUser.getBudgetCost(),JSON.toJSONString(xmProjectMBudgetCostUser),null);
@ -250,7 +250,7 @@ public class XmProjectMBudgetCostUserController {
BigDecimal budgetCostUser=BigDecimal.ZERO; BigDecimal budgetCostUser=BigDecimal.ZERO;
BigDecimal budgetCostInserUser=BigDecimal.ZERO; BigDecimal budgetCostInserUser=BigDecimal.ZERO;
BigDecimal budgetCostUserOutUser=BigDecimal.ZERO;
BigDecimal budgetCostUserOuser=BigDecimal.ZERO;
String projectId=null; String projectId=null;
BigDecimal zero=BigDecimal.ZERO; BigDecimal zero=BigDecimal.ZERO;
List<String> excludeIds=new ArrayList<>(); List<String> excludeIds=new ArrayList<>();
@ -262,10 +262,10 @@ public class XmProjectMBudgetCostUserController {
if("1".equals(costUser.getCostType())) { if("1".equals(costUser.getCostType())) {
budgetCostInserUser=budgetCostInserUser.add(add); budgetCostInserUser=budgetCostInserUser.add(add);
}else { }else {
budgetCostUserOutUser=budgetCostUserOutUser.add(add);
budgetCostUserOuser=budgetCostUserOuser.add(add);
} }
} }
Tips judgetTips=xmProjectMBudgetCostUserService.judgetBudget(projectId, budgetCostUser,budgetCostInserUser,budgetCostUserOutUser,excludeIds);
Tips judgetTips=xmProjectMBudgetCostUserService.judgetBudget(projectId, budgetCostUser,budgetCostInserUser,budgetCostUserOuser,excludeIds);
if(judgetTips.isOk()) { if(judgetTips.isOk()) {
xmProjectMBudgetCostUserService.batchUpdate(xmProjectMBudgetCostUsers); xmProjectMBudgetCostUserService.batchUpdate(xmProjectMBudgetCostUsers);
@ -302,7 +302,7 @@ public class XmProjectMBudgetCostUserController {
}); });
BigDecimal budgetCostUser=BigDecimal.ZERO; BigDecimal budgetCostUser=BigDecimal.ZERO;
BigDecimal budgetCostInserUser=BigDecimal.ZERO; BigDecimal budgetCostInserUser=BigDecimal.ZERO;
BigDecimal budgetCostUserOutUser=BigDecimal.ZERO;
BigDecimal budgetCostUserOuser=BigDecimal.ZERO;
String projectId=null; String projectId=null;
BigDecimal zero=BigDecimal.ZERO; BigDecimal zero=BigDecimal.ZERO;
for (XmProjectMBudgetCostUser costUser : xmProjectMBudgetCostUsers) { for (XmProjectMBudgetCostUser costUser : xmProjectMBudgetCostUsers) {
@ -312,10 +312,10 @@ public class XmProjectMBudgetCostUserController {
if("1".equals(costUser.getCostType())) { if("1".equals(costUser.getCostType())) {
budgetCostInserUser=budgetCostInserUser.add(add); budgetCostInserUser=budgetCostInserUser.add(add);
}else { }else {
budgetCostUserOutUser=budgetCostUserOutUser.add(add);
budgetCostUserOuser=budgetCostUserOuser.add(add);
} }
} }
Tips judgetTips=xmProjectMBudgetCostUserService.judgetBudget(projectId, budgetCostUser,budgetCostInserUser,budgetCostUserOutUser,null);
Tips judgetTips=xmProjectMBudgetCostUserService.judgetBudget(projectId, budgetCostUser,budgetCostInserUser,budgetCostUserOuser,null);
if(judgetTips.isOk()) { if(judgetTips.isOk()) {
xmProjectMBudgetCostUserService.batchInsert(xmProjectMBudgetCostUsers); xmProjectMBudgetCostUserService.batchInsert(xmProjectMBudgetCostUsers);

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

@ -233,7 +233,7 @@ public class XmProjectMCostUserController {
BigDecimal budgetCostUser=BigDecimal.ZERO; BigDecimal budgetCostUser=BigDecimal.ZERO;
BigDecimal budgetCostInserUser=BigDecimal.ZERO; BigDecimal budgetCostInserUser=BigDecimal.ZERO;
BigDecimal budgetCostUserOutUser=BigDecimal.ZERO;
BigDecimal budgetCostUserOuser=BigDecimal.ZERO;
String projectId=null; String projectId=null;
BigDecimal zero=BigDecimal.ZERO; BigDecimal zero=BigDecimal.ZERO;
List<String> excludeIds=new ArrayList<>(); List<String> excludeIds=new ArrayList<>();
@ -245,10 +245,10 @@ public class XmProjectMCostUserController {
if("1".equals(costUser.getCostType())) { if("1".equals(costUser.getCostType())) {
budgetCostInserUser=budgetCostInserUser.add(add); budgetCostInserUser=budgetCostInserUser.add(add);
}else { }else {
budgetCostUserOutUser=budgetCostUserOutUser.add(add);
budgetCostUserOuser=budgetCostUserOuser.add(add);
} }
} }
Tips judgetTips=xmProjectMCostUserService.judgetBudget(projectId, budgetCostUser,budgetCostInserUser,budgetCostUserOutUser,excludeIds);
Tips judgetTips=xmProjectMCostUserService.judgetBudget(projectId, budgetCostUser,budgetCostInserUser,budgetCostUserOuser,excludeIds);
if(judgetTips.isOk()) { if(judgetTips.isOk()) {
xmProjectMCostUserService.batchUpdate(xmProjectMCostUsers); xmProjectMCostUserService.batchUpdate(xmProjectMCostUsers);
@ -285,7 +285,7 @@ public class XmProjectMCostUserController {
}); });
BigDecimal budgetCostUser=BigDecimal.ZERO; BigDecimal budgetCostUser=BigDecimal.ZERO;
BigDecimal budgetCostInserUser=BigDecimal.ZERO; BigDecimal budgetCostInserUser=BigDecimal.ZERO;
BigDecimal budgetCostUserOutUser=BigDecimal.ZERO;
BigDecimal budgetCostUserOuser=BigDecimal.ZERO;
String projectId=null; String projectId=null;
BigDecimal zero=BigDecimal.ZERO; BigDecimal zero=BigDecimal.ZERO;
for (XmProjectMCostUser costUser : xmProjectMCostUsers) { for (XmProjectMCostUser costUser : xmProjectMCostUsers) {
@ -295,10 +295,10 @@ public class XmProjectMCostUserController {
if("1".equals(costUser.getCostType())) { if("1".equals(costUser.getCostType())) {
budgetCostInserUser=budgetCostInserUser.add(add); budgetCostInserUser=budgetCostInserUser.add(add);
}else { }else {
budgetCostUserOutUser=budgetCostUserOutUser.add(add);
budgetCostUserOuser=budgetCostUserOuser.add(add);
} }
} }
Tips judgetTips=xmProjectMCostUserService.judgetBudget(projectId, budgetCostUser,budgetCostInserUser,budgetCostUserOutUser,null);
Tips judgetTips=xmProjectMCostUserService.judgetBudget(projectId, budgetCostUser,budgetCostInserUser,budgetCostUserOuser,null);
if(judgetTips.isOk()) { if(judgetTips.isOk()) {
xmProjectMCostUserService.batchInsert(xmProjectMCostUsers); xmProjectMCostUserService.batchInsert(xmProjectMCostUsers);

12
xm-core/src/main/java/com/xm/core/ctrl/XmProjectStateController.java

@ -68,16 +68,16 @@ public class XmProjectStateController {
@ApiImplicitParam(name="totalNeedColAmount",value="待收款总金额",required=false), @ApiImplicitParam(name="totalNeedColAmount",value="待收款总金额",required=false),
@ApiImplicitParam(name="totalFinishColAmount",value="已收款总金额",required=false), @ApiImplicitParam(name="totalFinishColAmount",value="已收款总金额",required=false),
@ApiImplicitParam(name="totalCostUserAmount",value="项目总人力成本",required=false), @ApiImplicitParam(name="totalCostUserAmount",value="项目总人力成本",required=false),
@ApiImplicitParam(name="totalBudgetInnerUserAmount",value="项目总内部人力预算-来自项目表",required=false),
@ApiImplicitParam(name="totalBudgetIuserAmount",value="项目总内部人力预算-来自项目表",required=false),
@ApiImplicitParam(name="totalPlanWorkload",value="项目总预算工作量-来自项目表",required=false), @ApiImplicitParam(name="totalPlanWorkload",value="项目总预算工作量-来自项目表",required=false),
@ApiImplicitParam(name="totalRiskCnt",value="项目风险总数",required=false), @ApiImplicitParam(name="totalRiskCnt",value="项目风险总数",required=false),
@ApiImplicitParam(name="totalCompleteRiskCnt",value="已完成风险总数",required=false), @ApiImplicitParam(name="totalCompleteRiskCnt",value="已完成风险总数",required=false),
@ApiImplicitParam(name="branchId",value="机构编号",required=false), @ApiImplicitParam(name="branchId",value="机构编号",required=false),
@ApiImplicitParam(name="branchName",value="机构名称",required=false), @ApiImplicitParam(name="branchName",value="机构名称",required=false),
@ApiImplicitParam(name="totalBudgetOutUserAmount",value="项目总外购人力预算-来自项目表",required=false),
@ApiImplicitParam(name="totalBudgetOuserAmount",value="项目总外购人力预算-来自项目表",required=false),
@ApiImplicitParam(name="totalCompleteWorkload",value="已完成工作量-来自计划中实际完成工作量",required=false), @ApiImplicitParam(name="totalCompleteWorkload",value="已完成工作量-来自计划中实际完成工作量",required=false),
@ApiImplicitParam(name="totalCostInnerUserAmount",value="项目总内部人力成本金额",required=false),
@ApiImplicitParam(name="totalCostOutUserAmount",value="项目总外购人力成本金额",required=false),
@ApiImplicitParam(name="totalCostIuserAmount",value="项目总内部人力成本金额",required=false),
@ApiImplicitParam(name="totalCostOuserAmount",value="项目总外购人力成本金额",required=false),
@ApiImplicitParam(name="totalProgress",value="项目进度0~100之间,来自任务表",required=false), @ApiImplicitParam(name="totalProgress",value="项目进度0~100之间,来自任务表",required=false),
@ApiImplicitParam(name="totalActiveBugCnt",value="激活的bug总数",required=false), @ApiImplicitParam(name="totalActiveBugCnt",value="激活的bug总数",required=false),
@ApiImplicitParam(name="totalConfirmedBugCnt",value="已解决bug总数",required=false), @ApiImplicitParam(name="totalConfirmedBugCnt",value="已解决bug总数",required=false),
@ -91,8 +91,8 @@ public class XmProjectStateController {
@ApiImplicitParam(name="totalFinishPayCnt",value="完成付款总比数",required=false), @ApiImplicitParam(name="totalFinishPayCnt",value="完成付款总比数",required=false),
@ApiImplicitParam(name="totalFinishPayUserCnt",value="已付款总人数",required=false), @ApiImplicitParam(name="totalFinishPayUserCnt",value="已付款总人数",required=false),
@ApiImplicitParam(name="totalNeedPayUserCnt",value="待付款总人数",required=false), @ApiImplicitParam(name="totalNeedPayUserCnt",value="待付款总人数",required=false),
@ApiImplicitParam(name="totalPlanInnerUserWorkload",value="内部人力总工作量-应该大于或等于计划内部人力总成本",required=false),
@ApiImplicitParam(name="totalPlanOutUserWorkload",value="外购人力总工作量-应该大于或等于计划外购人力总成本",required=false),
@ApiImplicitParam(name="totalPlanIuserWorkload",value="内部人力总工作量-应该大于或等于计划内部人力总成本",required=false),
@ApiImplicitParam(name="totalPlanOuserWorkload",value="外购人力总工作量-应该大于或等于计划外购人力总成本",required=false),
@ApiImplicitParam(name="testCases",value="测试案例总数",required=false), @ApiImplicitParam(name="testCases",value="测试案例总数",required=false),
@ApiImplicitParam(name="execCases",value="测试中案例总数",required=false), @ApiImplicitParam(name="execCases",value="测试中案例总数",required=false),
@ApiImplicitParam(name="designCases",value="设计中案例总数",required=false), @ApiImplicitParam(name="designCases",value="设计中案例总数",required=false),

12
xm-core/src/main/java/com/xm/core/ctrl/XmProjectStateHisController.java

@ -66,16 +66,16 @@ public class XmProjectStateHisController {
@ApiImplicitParam(name="totalNeedColAmount",value="待收款总金额",required=false), @ApiImplicitParam(name="totalNeedColAmount",value="待收款总金额",required=false),
@ApiImplicitParam(name="totalFinishColAmount",value="已收款总金额",required=false), @ApiImplicitParam(name="totalFinishColAmount",value="已收款总金额",required=false),
@ApiImplicitParam(name="totalCostUserAmount",value="项目总人力成本",required=false), @ApiImplicitParam(name="totalCostUserAmount",value="项目总人力成本",required=false),
@ApiImplicitParam(name="totalBudgetInnerUserAmount",value="项目总内部人力预算-来自项目表",required=false),
@ApiImplicitParam(name="totalBudgetIuserAmount",value="项目总内部人力预算-来自项目表",required=false),
@ApiImplicitParam(name="totalPlanWorkload",value="项目总预算工作量-来自项目表",required=false), @ApiImplicitParam(name="totalPlanWorkload",value="项目总预算工作量-来自项目表",required=false),
@ApiImplicitParam(name="totalRiskCnt",value="项目风险总数",required=false), @ApiImplicitParam(name="totalRiskCnt",value="项目风险总数",required=false),
@ApiImplicitParam(name="totalCompleteRiskCnt",value="已完成风险总数",required=false), @ApiImplicitParam(name="totalCompleteRiskCnt",value="已完成风险总数",required=false),
@ApiImplicitParam(name="branchId",value="机构编号",required=false), @ApiImplicitParam(name="branchId",value="机构编号",required=false),
@ApiImplicitParam(name="branchName",value="机构名称",required=false), @ApiImplicitParam(name="branchName",value="机构名称",required=false),
@ApiImplicitParam(name="totalBudgetOutUserAmount",value="项目总外购人力预算-来自项目表",required=false),
@ApiImplicitParam(name="totalBudgetOuserAmount",value="项目总外购人力预算-来自项目表",required=false),
@ApiImplicitParam(name="totalCompleteWorkload",value="已完成工作量-来自计划中实际完成工作量",required=false), @ApiImplicitParam(name="totalCompleteWorkload",value="已完成工作量-来自计划中实际完成工作量",required=false),
@ApiImplicitParam(name="totalCostInnerUserAmount",value="项目总内部人力成本金额",required=false),
@ApiImplicitParam(name="totalCostOutUserAmount",value="项目总外购人力成本金额",required=false),
@ApiImplicitParam(name="totalCostIuserAmount",value="项目总内部人力成本金额",required=false),
@ApiImplicitParam(name="totalCostOuserAmount",value="项目总外购人力成本金额",required=false),
@ApiImplicitParam(name="totalProgress",value="项目进度0~100之间,来自任务表",required=false), @ApiImplicitParam(name="totalProgress",value="项目进度0~100之间,来自任务表",required=false),
@ApiImplicitParam(name="totalActiveBugCnt",value="激活的bug总数",required=false), @ApiImplicitParam(name="totalActiveBugCnt",value="激活的bug总数",required=false),
@ApiImplicitParam(name="totalConfirmedBugCnt",value="已解决bug总数",required=false), @ApiImplicitParam(name="totalConfirmedBugCnt",value="已解决bug总数",required=false),
@ -89,8 +89,8 @@ public class XmProjectStateHisController {
@ApiImplicitParam(name="totalFinishPayCnt",value="完成付款总比数",required=false), @ApiImplicitParam(name="totalFinishPayCnt",value="完成付款总比数",required=false),
@ApiImplicitParam(name="totalFinishPayUserCnt",value="已付款总人数",required=false), @ApiImplicitParam(name="totalFinishPayUserCnt",value="已付款总人数",required=false),
@ApiImplicitParam(name="totalNeedPayUserCnt",value="待付款总人数",required=false), @ApiImplicitParam(name="totalNeedPayUserCnt",value="待付款总人数",required=false),
@ApiImplicitParam(name="totalPlanInnerUserWorkload",value="内部人力总工作量-应该大于或等于计划内部人力总成本",required=false),
@ApiImplicitParam(name="totalPlanOutUserWorkload",value="外购人力总工作量-应该大于或等于计划外购人力总成本",required=false),
@ApiImplicitParam(name="totalPlanIuserWorkload",value="内部人力总工作量-应该大于或等于计划内部人力总成本",required=false),
@ApiImplicitParam(name="totalPlanOuserWorkload",value="外购人力总工作量-应该大于或等于计划外购人力总成本",required=false),
@ApiImplicitParam(name="testCases",value="测试案例总数",required=false), @ApiImplicitParam(name="testCases",value="测试案例总数",required=false),
@ApiImplicitParam(name="execCases",value="测试中案例总数",required=false), @ApiImplicitParam(name="execCases",value="测试中案例总数",required=false),
@ApiImplicitParam(name="designCases",value="设计中案例总数",required=false), @ApiImplicitParam(name="designCases",value="设计中案例总数",required=false),

16
xm-core/src/main/java/com/xm/core/ctrl/XmProjectTaskTypeStateController.java

@ -54,14 +54,14 @@ public class XmProjectTaskTypeStateController {
@ApiImplicitParam(name="branchId",value="机构编号",required=false), @ApiImplicitParam(name="branchId",value="机构编号",required=false),
@ApiImplicitParam(name="bizDate",value="业务日期yyyy-MM-dd型",required=false), @ApiImplicitParam(name="bizDate",value="业务日期yyyy-MM-dd型",required=false),
@ApiImplicitParam(name="calcTime",value="计算日期",required=false), @ApiImplicitParam(name="calcTime",value="计算日期",required=false),
@ApiImplicitParam(name="planOutUserAt",value="外购资金预算",required=false),
@ApiImplicitParam(name="planInnerUserAt",value="内购资金预算",required=false),
@ApiImplicitParam(name="actOutUserAt",value="实际外购成本",required=false),
@ApiImplicitParam(name="actInnerUserAt",value="实际内购成本",required=false),
@ApiImplicitParam(name="planOutUserWorkload",value="计划外购工作量",required=false),
@ApiImplicitParam(name="planInnerUserWorkload",value="计划内购工作量",required=false),
@ApiImplicitParam(name="actOutUserWorkload",value="实际外购工作量",required=false),
@ApiImplicitParam(name="actInnerUserWorkload",value="实际内购工作量",required=false),
@ApiImplicitParam(name="planOuserAt",value="外购资金预算",required=false),
@ApiImplicitParam(name="planIuserAt",value="内购资金预算",required=false),
@ApiImplicitParam(name="actOuserAt",value="实际外购成本",required=false),
@ApiImplicitParam(name="actIuserAt",value="实际内购成本",required=false),
@ApiImplicitParam(name="planOuserWorkload",value="计划外购工作量",required=false),
@ApiImplicitParam(name="planIuserWorkload",value="计划内购工作量",required=false),
@ApiImplicitParam(name="actOuserWorkload",value="实际外购工作量",required=false),
@ApiImplicitParam(name="actIuserWorkload",value="实际内购工作量",required=false),
@ApiImplicitParam(name="planNouserAt",value="计划非人力成本",required=false), @ApiImplicitParam(name="planNouserAt",value="计划非人力成本",required=false),
@ApiImplicitParam(name="actNouserAt",value="实际非人力成本",required=false), @ApiImplicitParam(name="actNouserAt",value="实际非人力成本",required=false),
@ApiImplicitParam(name="pageSize",value="每页记录数",required=false), @ApiImplicitParam(name="pageSize",value="每页记录数",required=false),

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

@ -8,7 +8,7 @@ import java.util.Date;
/** /**
* 组织 com 顶级模块 xm 大模块 core 小模块 <br> * 组织 com 顶级模块 xm 大模块 core 小模块 <br>
* 实体 XmBranchTaskTypeState所有属性名: <br> * 实体 XmBranchTaskTypeState所有属性名: <br>
* taskType,planWorkload,planAmount,actWorkload,actAmount,branchId,bizDate,calcTime,planOutUserAt,planInnerUserAt,actOutUserAt,actInnerUserAt,planOutUserWorkload,planInnerUserWorkload,actOutUserWorkload,actInnerUserWorkload,planNouserAt,actNouserAt,id,branchName;<br>
* taskType,planWorkload,planAmount,actWorkload,actAmount,branchId,bizDate,calcTime,planOuserAt,planIuserAt,actOuserAt,actIuserAt,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_out_user_at,plan_inner_user_at,act_out_user_at,act_inner_user_at,plan_out_user_workload,plan_inner_user_workload,act_out_user_workload,act_inner_user_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_out_user_at,plan_inner_user_at,act_out_user_at,act_inner_user_at,plan_out_user_workload,plan_inner_user_workload,act_out_user_workload,act_inner_user_workload,plan_nouser_at,act_nouser_at,id,branch_name;<br>
* 当前主键(包括多主键):<br> * 当前主键(包括多主键):<br>
@ -48,28 +48,28 @@ public class XmBranchTaskTypeState implements java.io.Serializable {
Date calcTime; Date calcTime;
@ApiModelProperty(notes="外购资金预算",allowEmptyValue=true,example="",allowableValues="") @ApiModelProperty(notes="外购资金预算",allowEmptyValue=true,example="",allowableValues="")
BigDecimal planOutUserAt;
BigDecimal planOuserAt;
@ApiModelProperty(notes="内购资金预算",allowEmptyValue=true,example="",allowableValues="") @ApiModelProperty(notes="内购资金预算",allowEmptyValue=true,example="",allowableValues="")
BigDecimal planInnerUserAt;
BigDecimal planIuserAt;
@ApiModelProperty(notes="实际外购成本",allowEmptyValue=true,example="",allowableValues="") @ApiModelProperty(notes="实际外购成本",allowEmptyValue=true,example="",allowableValues="")
BigDecimal actOutUserAt;
BigDecimal actOuserAt;
@ApiModelProperty(notes="实际内购成本",allowEmptyValue=true,example="",allowableValues="") @ApiModelProperty(notes="实际内购成本",allowEmptyValue=true,example="",allowableValues="")
BigDecimal actInnerUserAt;
BigDecimal actIuserAt;
@ApiModelProperty(notes="计划外购工作量",allowEmptyValue=true,example="",allowableValues="") @ApiModelProperty(notes="计划外购工作量",allowEmptyValue=true,example="",allowableValues="")
BigDecimal planOutUserWorkload;
BigDecimal planOuserWorkload;
@ApiModelProperty(notes="计划内购工作量",allowEmptyValue=true,example="",allowableValues="") @ApiModelProperty(notes="计划内购工作量",allowEmptyValue=true,example="",allowableValues="")
BigDecimal planInnerUserWorkload;
BigDecimal planIuserWorkload;
@ApiModelProperty(notes="实际外购工作量",allowEmptyValue=true,example="",allowableValues="") @ApiModelProperty(notes="实际外购工作量",allowEmptyValue=true,example="",allowableValues="")
BigDecimal actOutUserWorkload;
BigDecimal actOuserWorkload;
@ApiModelProperty(notes="实际内购工作量",allowEmptyValue=true,example="",allowableValues="") @ApiModelProperty(notes="实际内购工作量",allowEmptyValue=true,example="",allowableValues="")
BigDecimal actInnerUserWorkload;
BigDecimal actIuserWorkload;
@ApiModelProperty(notes="计划非人力成本",allowEmptyValue=true,example="",allowableValues="") @ApiModelProperty(notes="计划非人力成本",allowEmptyValue=true,example="",allowableValues="")
BigDecimal planNouserAt; BigDecimal planNouserAt;
@ -140,50 +140,50 @@ public class XmBranchTaskTypeState implements java.io.Serializable {
/** /**
* 外购资金预算 * 外购资金预算
**/ **/
public void setPlanOutUserAt(BigDecimal planOutUserAt) {
this.planOutUserAt = planOutUserAt;
public void setPlanOuserAt(BigDecimal planOuserAt) {
this.planOuserAt = planOuserAt;
} }
/** /**
* 内购资金预算 * 内购资金预算
**/ **/
public void setPlanInnerUserAt(BigDecimal planInnerUserAt) {
this.planInnerUserAt = planInnerUserAt;
public void setPlanIuserAt(BigDecimal planIuserAt) {
this.planIuserAt = planIuserAt;
} }
/** /**
* 实际外购成本 * 实际外购成本
**/ **/
public void setActOutUserAt(BigDecimal actOutUserAt) {
this.actOutUserAt = actOutUserAt;
public void setActOuserAt(BigDecimal actOuserAt) {
this.actOuserAt = actOuserAt;
} }
/** /**
* 实际内购成本 * 实际内购成本
**/ **/
public void setActInnerUserAt(BigDecimal actInnerUserAt) {
this.actInnerUserAt = actInnerUserAt;
public void setActIuserAt(BigDecimal actIuserAt) {
this.actIuserAt = actIuserAt;
} }
/** /**
* 计划外购工作量 * 计划外购工作量
**/ **/
public void setPlanOutUserWorkload(BigDecimal planOutUserWorkload) {
this.planOutUserWorkload = planOutUserWorkload;
public void setPlanOuserWorkload(BigDecimal planOuserWorkload) {
this.planOuserWorkload = planOuserWorkload;
} }
/** /**
* 计划内购工作量 * 计划内购工作量
**/ **/
public void setPlanInnerUserWorkload(BigDecimal planInnerUserWorkload) {
this.planInnerUserWorkload = planInnerUserWorkload;
public void setPlanIuserWorkload(BigDecimal planIuserWorkload) {
this.planIuserWorkload = planIuserWorkload;
} }
/** /**
* 实际外购工作量 * 实际外购工作量
**/ **/
public void setActOutUserWorkload(BigDecimal actOutUserWorkload) {
this.actOutUserWorkload = actOutUserWorkload;
public void setActOuserWorkload(BigDecimal actOuserWorkload) {
this.actOuserWorkload = actOuserWorkload;
} }
/** /**
* 实际内购工作量 * 实际内购工作量
**/ **/
public void setActInnerUserWorkload(BigDecimal actInnerUserWorkload) {
this.actInnerUserWorkload = actInnerUserWorkload;
public void setActIuserWorkload(BigDecimal actIuserWorkload) {
this.actIuserWorkload = actIuserWorkload;
} }
/** /**
* 计划非人力成本 * 计划非人力成本
@ -261,50 +261,50 @@ public class XmBranchTaskTypeState implements java.io.Serializable {
/** /**
* 外购资金预算 * 外购资金预算
**/ **/
public BigDecimal getPlanOutUserAt() {
return this.planOutUserAt;
public BigDecimal getPlanOuserAt() {
return this.planOuserAt;
} }
/** /**
* 内购资金预算 * 内购资金预算
**/ **/
public BigDecimal getPlanInnerUserAt() {
return this.planInnerUserAt;
public BigDecimal getPlanIuserAt() {
return this.planIuserAt;
} }
/** /**
* 实际外购成本 * 实际外购成本
**/ **/
public BigDecimal getActOutUserAt() {
return this.actOutUserAt;
public BigDecimal getActOuserAt() {
return this.actOuserAt;
} }
/** /**
* 实际内购成本 * 实际内购成本
**/ **/
public BigDecimal getActInnerUserAt() {
return this.actInnerUserAt;
public BigDecimal getActIuserAt() {
return this.actIuserAt;
} }
/** /**
* 计划外购工作量 * 计划外购工作量
**/ **/
public BigDecimal getPlanOutUserWorkload() {
return this.planOutUserWorkload;
public BigDecimal getPlanOuserWorkload() {
return this.planOuserWorkload;
} }
/** /**
* 计划内购工作量 * 计划内购工作量
**/ **/
public BigDecimal getPlanInnerUserWorkload() {
return this.planInnerUserWorkload;
public BigDecimal getPlanIuserWorkload() {
return this.planIuserWorkload;
} }
/** /**
* 实际外购工作量 * 实际外购工作量
**/ **/
public BigDecimal getActOutUserWorkload() {
return this.actOutUserWorkload;
public BigDecimal getActOuserWorkload() {
return this.actOuserWorkload;
} }
/** /**
* 实际内购工作量 * 实际内购工作量
**/ **/
public BigDecimal getActInnerUserWorkload() {
return this.actInnerUserWorkload;
public BigDecimal getActIuserWorkload() {
return this.actIuserWorkload;
} }
/** /**
* 计划非人力成本 * 计划非人力成本

12
xm-core/src/main/java/com/xm/core/entity/XmPhase.java

@ -8,7 +8,7 @@ import java.math.BigDecimal;
/** /**
* 组织 com 顶级模块 xm 大模块 core 小模块 <br> * 组织 com 顶级模块 xm 大模块 core 小模块 <br>
* 实体 XmPhase所有属性名: <br> * 实体 XmPhase所有属性名: <br>
* id,name,remark,parentId,branchId,projectId,beginDate,endDate,budgetHours,budgetStaffNu,ctime,budgetNouserAt,budgetIuserAt,budgetOuserAt,baselineId,bizProcInstId,bizFlowState,budgetWorkload,actWorkload,actIuserWorkload,actOuserWorkload,taskType,planType,seqNo,budgetIuserWorkload,budgetOuserWorkload,actNouserAt,actIuserAt,budgetIuserPrice,budgetOuserPrice,budgetOuserCnt,budgetIuserCnt,actRate,pstatus,actOutUserAt,taskCnt,finishTaskCnt,iterationCnt,calcTime,taskBudgetWorkload,taskBudgetAt,mngUserid,mngUsername,milestone,pleaf,tagIds,tagNames,ntype,childrenCnt,ltime,isKeyPath,pidPaths,lvl,isTpl,phaseClass,productId,budgetAt,calcType,actAt;<br>
* id,name,remark,parentId,branchId,projectId,beginDate,endDate,budgetHours,budgetStaffNu,ctime,budgetNouserAt,budgetIuserAt,budgetOuserAt,baselineId,bizProcInstId,bizFlowState,budgetWorkload,actWorkload,actIuserWorkload,actOuserWorkload,taskType,planType,seqNo,budgetIuserWorkload,budgetOuserWorkload,actNouserAt,actIuserAt,budgetIuserPrice,budgetOuserPrice,budgetOuserCnt,budgetIuserCnt,actRate,pstatus,actOuserAt,taskCnt,finishTaskCnt,iterationCnt,calcTime,taskBudgetWorkload,taskBudgetAt,mngUserid,mngUsername,milestone,pleaf,tagIds,tagNames,ntype,childrenCnt,ltime,isKeyPath,pidPaths,lvl,isTpl,phaseClass,productId,budgetAt,calcType,actAt;<br>
* xm_phase 项目产品计划表将计划并入任务表暂时作废合并进任务表了的所有字段名: <br> * xm_phase 项目产品计划表将计划并入任务表暂时作废合并进任务表了的所有字段名: <br>
* 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;<br> * 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;<br>
* 当前主键(包括多主键):<br> * 当前主键(包括多主键):<br>
@ -123,7 +123,7 @@ public class XmPhase implements java.io.Serializable {
String pstatus; String pstatus;
@ApiModelProperty(notes="实际外部人力成本",allowEmptyValue=true,example="",allowableValues="") @ApiModelProperty(notes="实际外部人力成本",allowEmptyValue=true,example="",allowableValues="")
BigDecimal actOutUserAt;
BigDecimal actOuserAt;
@ApiModelProperty(notes="任务数",allowEmptyValue=true,example="",allowableValues="") @ApiModelProperty(notes="任务数",allowEmptyValue=true,example="",allowableValues="")
Integer taskCnt; Integer taskCnt;
@ -413,8 +413,8 @@ public class XmPhase implements java.io.Serializable {
/** /**
* 实际外部人力成本 * 实际外部人力成本
**/ **/
public void setActOutUserAt(BigDecimal actOutUserAt) {
this.actOutUserAt = actOutUserAt;
public void setActOuserAt(BigDecimal actOuserAt) {
this.actOuserAt = actOuserAt;
} }
/** /**
* 任务数 * 任务数
@ -768,8 +768,8 @@ public class XmPhase implements java.io.Serializable {
/** /**
* 实际外部人力成本 * 实际外部人力成本
**/ **/
public BigDecimal getActOutUserAt() {
return this.actOutUserAt;
public BigDecimal getActOuserAt() {
return this.actOuserAt;
} }
/** /**
* 任务数 * 任务数

62
xm-core/src/main/java/com/xm/core/entity/XmProjectStateHis.java

@ -9,7 +9,7 @@ import java.util.Date;
/** /**
* 组织 com.qqkj 顶级模块 xm 大模块 core 小模块 <br> * 组织 com.qqkj 顶级模块 xm 大模块 core 小模块 <br>
* 实体 XmProjectStateHis所有属性名: <br> * 实体 XmProjectStateHis所有属性名: <br>
* projectId,bizDate,totalFileCnt,totalBugCnt,totalTaskCnt,totalBudgetNouserAmount,projectName,id,totalStaffCnt,calcTime,calcStatus,totalCostNouserAmount,totalClosedBugCnt,totalResolvedBugCnt,totalCompleteTaskCnt,totalPhaseCnt,totalCompletePhaseCnt,totalNeedPayAmount,totalFinishPayAmount,totalNeedColAmount,totalFinishColAmount,totalCostUserAmount,totalBudgetInnerUserAmount,totalPlanWorkload,totalRiskCnt,totalCompleteRiskCnt,branchId,branchName,totalBudgetOutUserAmount,totalCompleteWorkload,totalCostInnerUserAmount,totalCostOutUserAmount,totalProgress,totalActiveBugCnt,totalConfirmedBugCnt,projectStatus,totalActWorkload,totalActOutWorkload,totalActInnerWorkload,totalTaskBudgetCostAt,totalTaskOutCnt,totalNeedPayCnt,totalFinishPayCnt,totalFinishPayUserCnt,totalNeedPayUserCnt,totalPlanInnerUserWorkload,totalPlanOutUserWorkload,testCases,execCases,designCases,finishCases,iterationCnt,productCnt,menuCnt;<br>
* projectId,bizDate,totalFileCnt,totalBugCnt,totalTaskCnt,totalBudgetNouserAmount,projectName,id,totalStaffCnt,calcTime,calcStatus,totalCostNouserAmount,totalClosedBugCnt,totalResolvedBugCnt,totalCompleteTaskCnt,totalPhaseCnt,totalCompletePhaseCnt,totalNeedPayAmount,totalFinishPayAmount,totalNeedColAmount,totalFinishColAmount,totalCostUserAmount,totalBudgetIuserAmount,totalPlanWorkload,totalRiskCnt,totalCompleteRiskCnt,branchId,branchName,totalBudgetOuserAmount,totalCompleteWorkload,totalCostIuserAmount,totalCostOuserAmount,totalProgress,totalActiveBugCnt,totalConfirmedBugCnt,projectStatus,totalActWorkload,totalActOutWorkload,totalActInnerWorkload,totalTaskBudgetCostAt,totalTaskOutCnt,totalNeedPayCnt,totalFinishPayCnt,totalFinishPayUserCnt,totalNeedPayUserCnt,totalPlanIuserWorkload,totalPlanOuserWorkload,testCases,execCases,designCases,finishCases,iterationCnt,productCnt,menuCnt;<br>
* XM.xm_project_state_his 项目指标日统计表的所有字段名: <br> * XM.xm_project_state_his 项目指标日统计表的所有字段名: <br>
* 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;<br> * 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;<br>
* 当前主键(包括多主键):<br> * 当前主键(包括多主键):<br>
@ -88,7 +88,7 @@ public class XmProjectStateHis implements java.io.Serializable {
BigDecimal totalCostUserAmount; BigDecimal totalCostUserAmount;
@ApiModelProperty(notes="项目总内部人力预算-来自项目表",allowEmptyValue=true,example="",allowableValues="") @ApiModelProperty(notes="项目总内部人力预算-来自项目表",allowEmptyValue=true,example="",allowableValues="")
BigDecimal totalBudgetInnerUserAmount;
BigDecimal totalBudgetIuserAmount;
@ApiModelProperty(notes="项目总预算工作量-来自项目表",allowEmptyValue=true,example="",allowableValues="") @ApiModelProperty(notes="项目总预算工作量-来自项目表",allowEmptyValue=true,example="",allowableValues="")
BigDecimal totalPlanWorkload; BigDecimal totalPlanWorkload;
@ -106,16 +106,16 @@ public class XmProjectStateHis implements java.io.Serializable {
String branchName; String branchName;
@ApiModelProperty(notes="项目总外购人力预算-来自项目表",allowEmptyValue=true,example="",allowableValues="") @ApiModelProperty(notes="项目总外购人力预算-来自项目表",allowEmptyValue=true,example="",allowableValues="")
BigDecimal totalBudgetOutUserAmount;
BigDecimal totalBudgetOuserAmount;
@ApiModelProperty(notes="已完成工作量-来自计划中实际完成工作量",allowEmptyValue=true,example="",allowableValues="") @ApiModelProperty(notes="已完成工作量-来自计划中实际完成工作量",allowEmptyValue=true,example="",allowableValues="")
BigDecimal totalCompleteWorkload; BigDecimal totalCompleteWorkload;
@ApiModelProperty(notes="项目总内部人力成本金额",allowEmptyValue=true,example="",allowableValues="") @ApiModelProperty(notes="项目总内部人力成本金额",allowEmptyValue=true,example="",allowableValues="")
BigDecimal totalCostInnerUserAmount;
BigDecimal totalCostIuserAmount;
@ApiModelProperty(notes="项目总外购人力成本金额",allowEmptyValue=true,example="",allowableValues="") @ApiModelProperty(notes="项目总外购人力成本金额",allowEmptyValue=true,example="",allowableValues="")
BigDecimal totalCostOutUserAmount;
BigDecimal totalCostOuserAmount;
@ApiModelProperty(notes="项目进度0~100之间,来自任务表",allowEmptyValue=true,example="",allowableValues="") @ApiModelProperty(notes="项目进度0~100之间,来自任务表",allowEmptyValue=true,example="",allowableValues="")
BigDecimal totalProgress; BigDecimal totalProgress;
@ -157,10 +157,10 @@ public class XmProjectStateHis implements java.io.Serializable {
Integer totalNeedPayUserCnt; Integer totalNeedPayUserCnt;
@ApiModelProperty(notes="内部人力总工作量-应该大于或等于计划内部人力总成本",allowEmptyValue=true,example="",allowableValues="") @ApiModelProperty(notes="内部人力总工作量-应该大于或等于计划内部人力总成本",allowEmptyValue=true,example="",allowableValues="")
BigDecimal totalPlanInnerUserWorkload;
BigDecimal totalPlanIuserWorkload;
@ApiModelProperty(notes="外购人力总工作量-应该大于或等于计划外购人力总成本",allowEmptyValue=true,example="",allowableValues="") @ApiModelProperty(notes="外购人力总工作量-应该大于或等于计划外购人力总成本",allowEmptyValue=true,example="",allowableValues="")
BigDecimal totalPlanOutUserWorkload;
BigDecimal totalPlanOuserWorkload;
@ApiModelProperty(notes="测试案例总数",allowEmptyValue=true,example="",allowableValues="") @ApiModelProperty(notes="测试案例总数",allowEmptyValue=true,example="",allowableValues="")
Integer testCases; Integer testCases;
@ -327,8 +327,8 @@ public class XmProjectStateHis implements java.io.Serializable {
/** /**
* 项目总内部人力预算-来自项目表 * 项目总内部人力预算-来自项目表
**/ **/
public void setTotalBudgetInnerUserAmount(BigDecimal totalBudgetInnerUserAmount) {
this.totalBudgetInnerUserAmount = totalBudgetInnerUserAmount;
public void setTotalBudgetIuserAmount(BigDecimal totalBudgetIuserAmount) {
this.totalBudgetIuserAmount = totalBudgetIuserAmount;
} }
/** /**
* 项目总预算工作量-来自项目表 * 项目总预算工作量-来自项目表
@ -363,8 +363,8 @@ public class XmProjectStateHis implements java.io.Serializable {
/** /**
* 项目总外购人力预算-来自项目表 * 项目总外购人力预算-来自项目表
**/ **/
public void setTotalBudgetOutUserAmount(BigDecimal totalBudgetOutUserAmount) {
this.totalBudgetOutUserAmount = totalBudgetOutUserAmount;
public void setTotalBudgetOuserAmount(BigDecimal totalBudgetOuserAmount) {
this.totalBudgetOuserAmount = totalBudgetOuserAmount;
} }
/** /**
* 已完成工作量-来自计划中实际完成工作量 * 已完成工作量-来自计划中实际完成工作量
@ -375,14 +375,14 @@ public class XmProjectStateHis implements java.io.Serializable {
/** /**
* 项目总内部人力成本金额 * 项目总内部人力成本金额
**/ **/
public void setTotalCostInnerUserAmount(BigDecimal totalCostInnerUserAmount) {
this.totalCostInnerUserAmount = totalCostInnerUserAmount;
public void setTotalCostIuserAmount(BigDecimal totalCostIuserAmount) {
this.totalCostIuserAmount = totalCostIuserAmount;
} }
/** /**
* 项目总外购人力成本金额 * 项目总外购人力成本金额
**/ **/
public void setTotalCostOutUserAmount(BigDecimal totalCostOutUserAmount) {
this.totalCostOutUserAmount = totalCostOutUserAmount;
public void setTotalCostOuserAmount(BigDecimal totalCostOuserAmount) {
this.totalCostOuserAmount = totalCostOuserAmount;
} }
/** /**
* 项目进度0~100之间来自任务表 * 项目进度0~100之间来自任务表
@ -465,14 +465,14 @@ public class XmProjectStateHis implements java.io.Serializable {
/** /**
* 内部人力总工作量-应该大于或等于计划内部人力总成本 * 内部人力总工作量-应该大于或等于计划内部人力总成本
**/ **/
public void setTotalPlanInnerUserWorkload(BigDecimal totalPlanInnerUserWorkload) {
this.totalPlanInnerUserWorkload = totalPlanInnerUserWorkload;
public void setTotalPlanIuserWorkload(BigDecimal totalPlanIuserWorkload) {
this.totalPlanIuserWorkload = totalPlanIuserWorkload;
} }
/** /**
* 外购人力总工作量-应该大于或等于计划外购人力总成本 * 外购人力总工作量-应该大于或等于计划外购人力总成本
**/ **/
public void setTotalPlanOutUserWorkload(BigDecimal totalPlanOutUserWorkload) {
this.totalPlanOutUserWorkload = totalPlanOutUserWorkload;
public void setTotalPlanOuserWorkload(BigDecimal totalPlanOuserWorkload) {
this.totalPlanOuserWorkload = totalPlanOuserWorkload;
} }
/** /**
* 测试案例总数 * 测试案例总数
@ -652,8 +652,8 @@ public class XmProjectStateHis implements java.io.Serializable {
/** /**
* 项目总内部人力预算-来自项目表 * 项目总内部人力预算-来自项目表
**/ **/
public BigDecimal getTotalBudgetInnerUserAmount() {
return this.totalBudgetInnerUserAmount;
public BigDecimal getTotalBudgetIuserAmount() {
return this.totalBudgetIuserAmount;
} }
/** /**
* 项目总预算工作量-来自项目表 * 项目总预算工作量-来自项目表
@ -688,8 +688,8 @@ public class XmProjectStateHis implements java.io.Serializable {
/** /**
* 项目总外购人力预算-来自项目表 * 项目总外购人力预算-来自项目表
**/ **/
public BigDecimal getTotalBudgetOutUserAmount() {
return this.totalBudgetOutUserAmount;
public BigDecimal getTotalBudgetOuserAmount() {
return this.totalBudgetOuserAmount;
} }
/** /**
* 已完成工作量-来自计划中实际完成工作量 * 已完成工作量-来自计划中实际完成工作量
@ -700,14 +700,14 @@ public class XmProjectStateHis implements java.io.Serializable {
/** /**
* 项目总内部人力成本金额 * 项目总内部人力成本金额
**/ **/
public BigDecimal getTotalCostInnerUserAmount() {
return this.totalCostInnerUserAmount;
public BigDecimal getTotalCostIuserAmount() {
return this.totalCostIuserAmount;
} }
/** /**
* 项目总外购人力成本金额 * 项目总外购人力成本金额
**/ **/
public BigDecimal getTotalCostOutUserAmount() {
return this.totalCostOutUserAmount;
public BigDecimal getTotalCostOuserAmount() {
return this.totalCostOuserAmount;
} }
/** /**
* 项目进度0~100之间来自任务表 * 项目进度0~100之间来自任务表
@ -790,14 +790,14 @@ public class XmProjectStateHis implements java.io.Serializable {
/** /**
* 内部人力总工作量-应该大于或等于计划内部人力总成本 * 内部人力总工作量-应该大于或等于计划内部人力总成本
**/ **/
public BigDecimal getTotalPlanInnerUserWorkload() {
return this.totalPlanInnerUserWorkload;
public BigDecimal getTotalPlanIuserWorkload() {
return this.totalPlanIuserWorkload;
} }
/** /**
* 外购人力总工作量-应该大于或等于计划外购人力总成本 * 外购人力总工作量-应该大于或等于计划外购人力总成本
**/ **/
public BigDecimal getTotalPlanOutUserWorkload() {
return this.totalPlanOutUserWorkload;
public BigDecimal getTotalPlanOuserWorkload() {
return this.totalPlanOuserWorkload;
} }
/** /**
* 测试案例总数 * 测试案例总数

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

@ -9,7 +9,7 @@ import java.util.Date;
/** /**
* 组织 com.qqkj 顶级模块 xm 大模块 core 小模块 <br> * 组织 com.qqkj 顶级模块 xm 大模块 core 小模块 <br>
* 实体 XmProjectTaskTypeState所有属性名: <br> * 实体 XmProjectTaskTypeState所有属性名: <br>
* projectId,projectName,taskType,planWorkload,planAmount,actWorkload,actAmount,branchId,bizDate,calcTime,planOutUserAt,planInnerUserAt,actOutUserAt,actInnerUserAt,planOutUserWorkload,planInnerUserWorkload,actOutUserWorkload,actInnerUserWorkload,planNouserAt,actNouserAt,id;<br>
* projectId,projectName,taskType,planWorkload,planAmount,actWorkload,actAmount,branchId,bizDate,calcTime,planOuserAt,planIuserAt,actOuserAt,actIuserAt,planOuserWorkload,planIuserWorkload,actOuserWorkload,actIuserWorkload,planNouserAt,actNouserAt,id;<br>
* XM.xm_project_task_type_state 按任务类型汇总的所有字段名: <br> * XM.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_out_user_at,plan_inner_user_at,act_out_user_at,act_inner_user_at,plan_out_user_workload,plan_inner_user_workload,act_out_user_workload,act_inner_user_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_out_user_at,plan_inner_user_at,act_out_user_at,act_inner_user_at,plan_out_user_workload,plan_inner_user_workload,act_out_user_workload,act_inner_user_workload,plan_nouser_at,act_nouser_at,id;<br>
* 当前主键(包括多主键):<br> * 当前主键(包括多主键):<br>
@ -55,28 +55,28 @@ public class XmProjectTaskTypeState implements java.io.Serializable {
Date calcTime; Date calcTime;
@ApiModelProperty(notes="外购资金预算",allowEmptyValue=true,example="",allowableValues="") @ApiModelProperty(notes="外购资金预算",allowEmptyValue=true,example="",allowableValues="")
BigDecimal planOutUserAt;
BigDecimal planOuserAt;
@ApiModelProperty(notes="内购资金预算",allowEmptyValue=true,example="",allowableValues="") @ApiModelProperty(notes="内购资金预算",allowEmptyValue=true,example="",allowableValues="")
BigDecimal planInnerUserAt;
BigDecimal planIuserAt;
@ApiModelProperty(notes="实际外购成本",allowEmptyValue=true,example="",allowableValues="") @ApiModelProperty(notes="实际外购成本",allowEmptyValue=true,example="",allowableValues="")
BigDecimal actOutUserAt;
BigDecimal actOuserAt;
@ApiModelProperty(notes="实际内购成本",allowEmptyValue=true,example="",allowableValues="") @ApiModelProperty(notes="实际内购成本",allowEmptyValue=true,example="",allowableValues="")
BigDecimal actInnerUserAt;
BigDecimal actIuserAt;
@ApiModelProperty(notes="计划外购工作量",allowEmptyValue=true,example="",allowableValues="") @ApiModelProperty(notes="计划外购工作量",allowEmptyValue=true,example="",allowableValues="")
BigDecimal planOutUserWorkload;
BigDecimal planOuserWorkload;
@ApiModelProperty(notes="计划内购工作量",allowEmptyValue=true,example="",allowableValues="") @ApiModelProperty(notes="计划内购工作量",allowEmptyValue=true,example="",allowableValues="")
BigDecimal planInnerUserWorkload;
BigDecimal planIuserWorkload;
@ApiModelProperty(notes="实际外购工作量",allowEmptyValue=true,example="",allowableValues="") @ApiModelProperty(notes="实际外购工作量",allowEmptyValue=true,example="",allowableValues="")
BigDecimal actOutUserWorkload;
BigDecimal actOuserWorkload;
@ApiModelProperty(notes="实际内购工作量",allowEmptyValue=true,example="",allowableValues="") @ApiModelProperty(notes="实际内购工作量",allowEmptyValue=true,example="",allowableValues="")
BigDecimal actInnerUserWorkload;
BigDecimal actIuserWorkload;
@ApiModelProperty(notes="计划非人力成本",allowEmptyValue=true,example="",allowableValues="") @ApiModelProperty(notes="计划非人力成本",allowEmptyValue=true,example="",allowableValues="")
BigDecimal planNouserAt; BigDecimal planNouserAt;
@ -156,50 +156,50 @@ public class XmProjectTaskTypeState implements java.io.Serializable {
/** /**
* 外购资金预算 * 外购资金预算
**/ **/
public void setPlanOutUserAt(BigDecimal planOutUserAt) {
this.planOutUserAt = planOutUserAt;
public void setPlanOuserAt(BigDecimal planOuserAt) {
this.planOuserAt = planOuserAt;
} }
/** /**
* 内购资金预算 * 内购资金预算
**/ **/
public void setPlanInnerUserAt(BigDecimal planInnerUserAt) {
this.planInnerUserAt = planInnerUserAt;
public void setPlanIuserAt(BigDecimal planIuserAt) {
this.planIuserAt = planIuserAt;
} }
/** /**
* 实际外购成本 * 实际外购成本
**/ **/
public void setActOutUserAt(BigDecimal actOutUserAt) {
this.actOutUserAt = actOutUserAt;
public void setActOuserAt(BigDecimal actOuserAt) {
this.actOuserAt = actOuserAt;
} }
/** /**
* 实际内购成本 * 实际内购成本
**/ **/
public void setActIuserAt(BigDecimal actInnerUserAt) {
this.actInnerUserAt = actInnerUserAt;
public void setActIuserAt(BigDecimal actIuserAt) {
this.actIuserAt = actIuserAt;
} }
/** /**
* 计划外购工作量 * 计划外购工作量
**/ **/
public void setPlanOutUserWorkload(BigDecimal planOutUserWorkload) {
this.planOutUserWorkload = planOutUserWorkload;
public void setPlanOuserWorkload(BigDecimal planOuserWorkload) {
this.planOuserWorkload = planOuserWorkload;
} }
/** /**
* 计划内购工作量 * 计划内购工作量
**/ **/
public void setPlanInnerUserWorkload(BigDecimal planInnerUserWorkload) {
this.planInnerUserWorkload = planInnerUserWorkload;
public void setPlanIuserWorkload(BigDecimal planIuserWorkload) {
this.planIuserWorkload = planIuserWorkload;
} }
/** /**
* 实际外购工作量 * 实际外购工作量
**/ **/
public void setActOutUserWorkload(BigDecimal actOutUserWorkload) {
this.actOutUserWorkload = actOutUserWorkload;
public void setActOuserWorkload(BigDecimal actOuserWorkload) {
this.actOuserWorkload = actOuserWorkload;
} }
/** /**
* 实际内购工作量 * 实际内购工作量
**/ **/
public void setActIuserWorkload(BigDecimal actInnerUserWorkload) {
this.actInnerUserWorkload = actInnerUserWorkload;
public void setActIuserWorkload(BigDecimal actIuserWorkload) {
this.actIuserWorkload = actIuserWorkload;
} }
/** /**
* 计划非人力成本 * 计划非人力成本
@ -283,50 +283,50 @@ public class XmProjectTaskTypeState implements java.io.Serializable {
/** /**
* 外购资金预算 * 外购资金预算
**/ **/
public BigDecimal getPlanOutUserAt() {
return this.planOutUserAt;
public BigDecimal getPlanOuserAt() {
return this.planOuserAt;
} }
/** /**
* 内购资金预算 * 内购资金预算
**/ **/
public BigDecimal getPlanInnerUserAt() {
return this.planInnerUserAt;
public BigDecimal getPlanIuserAt() {
return this.planIuserAt;
} }
/** /**
* 实际外购成本 * 实际外购成本
**/ **/
public BigDecimal getActOutUserAt() {
return this.actOutUserAt;
public BigDecimal getActOuserAt() {
return this.actOuserAt;
} }
/** /**
* 实际内购成本 * 实际内购成本
**/ **/
public BigDecimal getActIuserAt() { public BigDecimal getActIuserAt() {
return this.actInnerUserAt;
return this.actIuserAt;
} }
/** /**
* 计划外购工作量 * 计划外购工作量
**/ **/
public BigDecimal getPlanOutUserWorkload() {
return this.planOutUserWorkload;
public BigDecimal getPlanOuserWorkload() {
return this.planOuserWorkload;
} }
/** /**
* 计划内购工作量 * 计划内购工作量
**/ **/
public BigDecimal getPlanInnerUserWorkload() {
return this.planInnerUserWorkload;
public BigDecimal getPlanIuserWorkload() {
return this.planIuserWorkload;
} }
/** /**
* 实际外购工作量 * 实际外购工作量
**/ **/
public BigDecimal getActOutUserWorkload() {
return this.actOutUserWorkload;
public BigDecimal getActOuserWorkload() {
return this.actOuserWorkload;
} }
/** /**
* 实际内购工作量 * 实际内购工作量
**/ **/
public BigDecimal getActIuserWorkload() { public BigDecimal getActIuserWorkload() {
return this.actInnerUserWorkload;
return this.actIuserWorkload;
} }
/** /**
* 计划非人力成本 * 计划非人力成本

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

@ -108,21 +108,21 @@ public class XmPhaseService extends BaseService {
if(g==null || g.isEmpty()){ if(g==null || g.isEmpty()){
} }
BigDecimal phaseBudgetInnerUserAt=NumberUtil.getBigDecimal(g.get("phaseBudgetInnerUserAt"),zero);
BigDecimal phaseBudgetOutUserAt=NumberUtil.getBigDecimal(g.get("phaseBudgetOutUserAt"),zero);
BigDecimal phaseBudgetIuserAt=NumberUtil.getBigDecimal(g.get("phaseBudgetIuserAt"),zero);
BigDecimal phaseBudgetOuserAt=NumberUtil.getBigDecimal(g.get("phaseBudgetOuserAt"),zero);
BigDecimal phaseBudgetNouserAt=NumberUtil.getBigDecimal(g.get("phaseBudgetNouserAt"),zero); BigDecimal phaseBudgetNouserAt=NumberUtil.getBigDecimal(g.get("phaseBudgetNouserAt"),zero);
BigDecimal planInnerUserAt=NumberUtil.getBigDecimal(g.get("planInnerUserAt"),zero);
BigDecimal planOutUserAt=NumberUtil.getBigDecimal(g.get("planOutUserAt"),zero);
BigDecimal planIuserAt=NumberUtil.getBigDecimal(g.get("planIuserAt"),zero);
BigDecimal planOuserAt=NumberUtil.getBigDecimal(g.get("planOuserAt"),zero);
BigDecimal planNouserAt=NumberUtil.getBigDecimal(g.get("planNouserAt"),zero); BigDecimal planNouserAt=NumberUtil.getBigDecimal(g.get("planNouserAt"),zero);
BigDecimal planTotalCost=NumberUtil.getBigDecimal(g.get("planTotalCost"),zero); BigDecimal planTotalCost=NumberUtil.getBigDecimal(g.get("planTotalCost"),zero);
if(addBudgetIuserAt.add(phaseBudgetInnerUserAt).compareTo(planInnerUserAt)>0) {
tips.setFailureMsg("内部人力预算超出项目内部人力预算"+addBudgetIuserAt.add(phaseBudgetInnerUserAt).subtract(planInnerUserAt)+"元");
if(addBudgetIuserAt.add(phaseBudgetIuserAt).compareTo(planIuserAt)>0) {
tips.setFailureMsg("内部人力预算超出项目内部人力预算"+addBudgetIuserAt.add(phaseBudgetIuserAt).subtract(planIuserAt)+"元");
return tips; return tips;
} }
if(addBudgetOuserAt.add(phaseBudgetOutUserAt).compareTo(planOutUserAt)>0) {
tips.setFailureMsg("外部人力预算超出项目外部人力预算"+addBudgetOuserAt.add(phaseBudgetOutUserAt).subtract(planOutUserAt)+"元");
if(addBudgetOuserAt.add(phaseBudgetOuserAt).compareTo(planOuserAt)>0) {
tips.setFailureMsg("外部人力预算超出项目外部人力预算"+addBudgetOuserAt.add(phaseBudgetOuserAt).subtract(planOuserAt)+"元");
return tips; return tips;
} }
if(addBudgetNouserAt.add(phaseBudgetNouserAt).compareTo(planNouserAt)>0) { if(addBudgetNouserAt.add(phaseBudgetNouserAt).compareTo(planNouserAt)>0) {
@ -130,7 +130,7 @@ public class XmPhaseService extends BaseService {
return tips; return tips;
} }
BigDecimal phaseBudgetAt=phaseBudgetCost.add(phaseBudgetInnerUserAt).add(phaseBudgetOutUserAt).add(phaseBudgetNouserAt);
BigDecimal phaseBudgetAt=phaseBudgetCost.add(phaseBudgetIuserAt).add(phaseBudgetOuserAt).add(phaseBudgetNouserAt);
phaseBudgetAt=phaseBudgetAt.add(addPhaseBudgetCost); phaseBudgetAt=phaseBudgetAt.add(addPhaseBudgetCost);
if(phaseBudgetAt.compareTo(planTotalCost)>0) { if(phaseBudgetAt.compareTo(planTotalCost)>0) {
tips.setFailureMsg("计划总体预算超出项目总预算"+phaseBudgetAt.subtract(planTotalCost)+"元"); tips.setFailureMsg("计划总体预算超出项目总预算"+phaseBudgetAt.subtract(planTotalCost)+"元");
@ -149,10 +149,10 @@ public class XmPhaseService extends BaseService {
public XmPhase autoCalcWorkload(XmPhase phase) { public XmPhase autoCalcWorkload(XmPhase phase) {
BigDecimal phaseBudgetHours=NumberUtil.getBigDecimal(phase.getBudgetHours(),BigDecimal.ZERO); BigDecimal phaseBudgetHours=NumberUtil.getBigDecimal(phase.getBudgetHours(),BigDecimal.ZERO);
BigDecimal phaseBudgetInnerUserCnt=NumberUtil.getBigDecimal(phase.getBudgetIuserCnt(),BigDecimal.ZERO);
BigDecimal phaseBudgetOutUserCnt=NumberUtil.getBigDecimal(phase.getBudgetOuserCnt(),BigDecimal.ZERO);
phase.setBudgetIuserWorkload(phaseBudgetInnerUserCnt.multiply(phaseBudgetHours));
phase.setBudgetOuserWorkload(phaseBudgetOutUserCnt.multiply(phaseBudgetHours));
BigDecimal phaseBudgetIuserCnt=NumberUtil.getBigDecimal(phase.getBudgetIuserCnt(),BigDecimal.ZERO);
BigDecimal phaseBudgetOuserCnt=NumberUtil.getBigDecimal(phase.getBudgetOuserCnt(),BigDecimal.ZERO);
phase.setBudgetIuserWorkload(phaseBudgetIuserCnt.multiply(phaseBudgetHours));
phase.setBudgetOuserWorkload(phaseBudgetOuserCnt.multiply(phaseBudgetHours));
phase.setBudgetWorkload(phase.getBudgetIuserWorkload().add(phase.getBudgetOuserWorkload())); phase.setBudgetWorkload(phase.getBudgetIuserWorkload().add(phase.getBudgetOuserWorkload()));
return phase; return phase;
@ -486,8 +486,8 @@ public class XmPhaseService extends BaseService {
if(addBudgetNouserAt==null) { if(addBudgetNouserAt==null) {
addBudgetNouserAt=BigDecimal.ZERO; addBudgetNouserAt=BigDecimal.ZERO;
} }
BigDecimal phaseBudgetInnerUserAt=NumberUtil.getBigDecimal(g.get("phaseBudgetInnerUserAt"),zero);
BigDecimal phaseBudgetOutUserAt=NumberUtil.getBigDecimal(g.get("phaseBudgetOutUserAt"),zero);
BigDecimal phaseBudgetIuserAt=NumberUtil.getBigDecimal(g.get("phaseBudgetIuserAt"),zero);
BigDecimal phaseBudgetOuserAt=NumberUtil.getBigDecimal(g.get("phaseBudgetOuserAt"),zero);
BigDecimal phaseBudgetNouserAt=NumberUtil.getBigDecimal(g.get("phaseBudgetNouserAt"),zero); BigDecimal phaseBudgetNouserAt=NumberUtil.getBigDecimal(g.get("phaseBudgetNouserAt"),zero);
/** /**
@ -501,7 +501,7 @@ public class XmPhaseService extends BaseService {
BigDecimal planTotalCost=NumberUtil.getBigDecimal(g.get("pbudgetAmount"),zero); BigDecimal planTotalCost=NumberUtil.getBigDecimal(g.get("pbudgetAmount"),zero);
BigDecimal phaseBudgetAt=phaseBudgetCost.add(phaseBudgetInnerUserAt).add(phaseBudgetOutUserAt).add(phaseBudgetNouserAt);
BigDecimal phaseBudgetAt=phaseBudgetCost.add(phaseBudgetIuserAt).add(phaseBudgetOuserAt).add(phaseBudgetNouserAt);
phaseBudgetAt=phaseBudgetAt.add(addPhaseBudgetCost); phaseBudgetAt=phaseBudgetAt.add(addPhaseBudgetCost);
if(phaseBudgetAt.compareTo(planTotalCost)>0) { if(phaseBudgetAt.compareTo(planTotalCost)>0) {
tips.setFailureMsg("计划总体预算超出产品总预算"+phaseBudgetAt.subtract(planTotalCost)+"元"); tips.setFailureMsg("计划总体预算超出产品总预算"+phaseBudgetAt.subtract(planTotalCost)+"元");
@ -558,13 +558,13 @@ public class XmPhaseService extends BaseService {
* res0.child_phase_budget_at * res0.child_phase_budget_at
* @param parentPhaseId * @param parentPhaseId
* @param phaseBudgetCost * @param phaseBudgetCost
* @param phaseBudgetInnerUserAt
* @param phaseBudgetOutUserAt
* @param phaseBudgetIuserAt
* @param phaseBudgetOuserAt
* @param phaseBudgetNouserAt * @param phaseBudgetNouserAt
* @param excludePhaseIds * @param excludePhaseIds
* @return * @return
*/ */
public Tips judgetPhaseBudget(String parentPhaseId, BigDecimal phaseBudgetCost, BigDecimal phaseBudgetInnerUserAt, BigDecimal phaseBudgetOutUserAt, BigDecimal phaseBudgetNouserAt, List<String> excludePhaseIds) {
public Tips judgetPhaseBudget(String parentPhaseId, BigDecimal phaseBudgetCost, BigDecimal phaseBudgetIuserAt, BigDecimal phaseBudgetOuserAt, BigDecimal phaseBudgetNouserAt, List<String> excludePhaseIds) {
Tips tips= new Tips("检查通过"); Tips tips= new Tips("检查通过");
Map<String,Object> phaseBudget=this.selectPhaseBudgetCost(parentPhaseId,excludePhaseIds); Map<String,Object> phaseBudget=this.selectPhaseBudgetCost(parentPhaseId,excludePhaseIds);
if(phaseBudget==null || phaseBudget.isEmpty()){ if(phaseBudget==null || phaseBudget.isEmpty()){

20
xm-core/src/main/java/com/xm/core/service/XmProjectMBudgetCostUserService.java

@ -43,30 +43,30 @@ public class XmProjectMBudgetCostUserService extends BaseService {
* @param excludePhaseId * @param excludePhaseId
* @return * @return
*/ */
public Tips judgetBudget(String projectId,BigDecimal addTotalBudgetCost,BigDecimal addBudgetCostInnerUserAt,BigDecimal addBudgetCostOutUserAt,List<String> excludeIds){
public Tips judgetBudget(String projectId,BigDecimal addTotalBudgetCost,BigDecimal addBudgetCostIuserAt,BigDecimal addBudgetCostOuserAt,List<String> excludeIds){
Tips tips=new Tips("检查预算成功"); Tips tips=new Tips("检查预算成功");
Map<String,Object> g=this.selectTotalProjectAndUserBudgetCost(projectId,excludeIds); Map<String,Object> g=this.selectTotalProjectAndUserBudgetCost(projectId,excludeIds);
BigDecimal totalBudgetCost=BigDecimal.ZERO; BigDecimal totalBudgetCost=BigDecimal.ZERO;
BigDecimal zero=BigDecimal.ZERO; BigDecimal zero=BigDecimal.ZERO;
addTotalBudgetCost=NumberUtil.getBigDecimal(addTotalBudgetCost,zero); addTotalBudgetCost=NumberUtil.getBigDecimal(addTotalBudgetCost,zero);
addBudgetCostInnerUserAt=NumberUtil.getBigDecimal(addBudgetCostInnerUserAt,zero);
addBudgetCostOutUserAt=NumberUtil.getBigDecimal(addBudgetCostOutUserAt,zero);
addBudgetCostIuserAt=NumberUtil.getBigDecimal(addBudgetCostIuserAt,zero);
addBudgetCostOuserAt=NumberUtil.getBigDecimal(addBudgetCostOuserAt,zero);
BigDecimal budgetCost=NumberUtil.getBigDecimal(g.get("budgetCost"),zero); BigDecimal budgetCost=NumberUtil.getBigDecimal(g.get("budgetCost"),zero);
BigDecimal budgetCostInnerUserAt=NumberUtil.getBigDecimal(g.get("budgetCostInnerUserAt"),zero);
BigDecimal budgetCostOutUserAt=NumberUtil.getBigDecimal(g.get("budgetCostOutUserAt"),zero);
BigDecimal budgetCostIuserAt=NumberUtil.getBigDecimal(g.get("budgetCostIuserAt"),zero);
BigDecimal budgetCostOuserAt=NumberUtil.getBigDecimal(g.get("budgetCostOuserAt"),zero);
BigDecimal planInnerUserAt=NumberUtil.getBigDecimal(g.get("planInnerUserAt"),zero);
BigDecimal planOutUserAt=NumberUtil.getBigDecimal(g.get("planOutUserAt"),zero);
BigDecimal planUserAt=totalBudgetCost.add(planInnerUserAt).add(planOutUserAt);
BigDecimal planIuserAt=NumberUtil.getBigDecimal(g.get("planIuserAt"),zero);
BigDecimal planOuserAt=NumberUtil.getBigDecimal(g.get("planOuserAt"),zero);
BigDecimal planUserAt=totalBudgetCost.add(planIuserAt).add(planOuserAt);
if(budgetCostInnerUserAt.add(addBudgetCostInnerUserAt).compareTo(planInnerUserAt)>0) {
if(budgetCostIuserAt.add(addBudgetCostIuserAt).compareTo(planIuserAt)>0) {
tips.setFailureMsg("内部人力预算超出项目内部人力预算"); tips.setFailureMsg("内部人力预算超出项目内部人力预算");
return tips; return tips;
} }
if(budgetCostOutUserAt.add(addBudgetCostOutUserAt).compareTo(planOutUserAt)>0) {
if(budgetCostOuserAt.add(addBudgetCostOuserAt).compareTo(planOuserAt)>0) {
tips.setFailureMsg("外购人力预算超出项目总外购人力预算"); tips.setFailureMsg("外购人力预算超出项目总外购人力预算");
return tips; return tips;
} }

20
xm-core/src/main/java/com/xm/core/service/XmProjectMCostUserService.java

@ -132,30 +132,30 @@ public class XmProjectMCostUserService extends BaseService {
* @param excludePhaseId * @param excludePhaseId
* @return * @return
*/ */
public Tips judgetBudget(String projectId,BigDecimal addTotalBudgetCost,BigDecimal addBudgetCostInnerUserAt,BigDecimal addBudgetCostOutUserAt,List<String> excludeIds){
public Tips judgetBudget(String projectId,BigDecimal addTotalBudgetCost,BigDecimal addBudgetCostIuserAt,BigDecimal addBudgetCostOuserAt,List<String> excludeIds){
Tips tips=new Tips("检查预算成功"); Tips tips=new Tips("检查预算成功");
Map<String,Object> g=this.selectTotalProjectAndUserActCost(projectId,excludeIds); Map<String,Object> g=this.selectTotalProjectAndUserActCost(projectId,excludeIds);
BigDecimal totalBudgetCost=BigDecimal.ZERO; BigDecimal totalBudgetCost=BigDecimal.ZERO;
BigDecimal zero=BigDecimal.ZERO; BigDecimal zero=BigDecimal.ZERO;
addTotalBudgetCost=NumberUtil.getBigDecimal(addTotalBudgetCost,zero); addTotalBudgetCost=NumberUtil.getBigDecimal(addTotalBudgetCost,zero);
addBudgetCostInnerUserAt=NumberUtil.getBigDecimal(addBudgetCostInnerUserAt,zero);
addBudgetCostOutUserAt=NumberUtil.getBigDecimal(addBudgetCostOutUserAt,zero);
addBudgetCostIuserAt=NumberUtil.getBigDecimal(addBudgetCostIuserAt,zero);
addBudgetCostOuserAt=NumberUtil.getBigDecimal(addBudgetCostOuserAt,zero);
BigDecimal actCostUserAmount=NumberUtil.getBigDecimal(g.get("actCostUserAmount"),zero); BigDecimal actCostUserAmount=NumberUtil.getBigDecimal(g.get("actCostUserAmount"),zero);
BigDecimal actCostInnerUserAmount=NumberUtil.getBigDecimal(g.get("actCostInnerUserAmount"),zero);
BigDecimal actCostOutUserAmount=NumberUtil.getBigDecimal(g.get("actCostOutUserAmount"),zero);
BigDecimal actCostIuserAmount=NumberUtil.getBigDecimal(g.get("actCostIuserAmount"),zero);
BigDecimal actCostOuserAmount=NumberUtil.getBigDecimal(g.get("actCostOuserAmount"),zero);
BigDecimal planInnerUserAt=NumberUtil.getBigDecimal(g.get("planInnerUserAt"),zero);
BigDecimal planOutUserAt=NumberUtil.getBigDecimal(g.get("planOutUserAt"),zero);
BigDecimal planUserAt=totalBudgetCost.add(planInnerUserAt).add(planOutUserAt);
BigDecimal planIuserAt=NumberUtil.getBigDecimal(g.get("planIuserAt"),zero);
BigDecimal planOuserAt=NumberUtil.getBigDecimal(g.get("planOuserAt"),zero);
BigDecimal planUserAt=totalBudgetCost.add(planIuserAt).add(planOuserAt);
if(actCostInnerUserAmount.add(addBudgetCostInnerUserAt).compareTo(planInnerUserAt)>0) {
if(actCostIuserAmount.add(addBudgetCostIuserAt).compareTo(planIuserAt)>0) {
tips.setFailureMsg("内部人力总支出超出项目内部人力预算"); tips.setFailureMsg("内部人力总支出超出项目内部人力预算");
return tips; return tips;
} }
if(actCostOutUserAmount.add(addBudgetCostOutUserAt).compareTo(planOutUserAt)>0) {
if(actCostOuserAmount.add(addBudgetCostOuserAt).compareTo(planOuserAt)>0) {
tips.setFailureMsg("外购人力总支出超出项目总外购人力预算"); tips.setFailureMsg("外购人力总支出超出项目总外购人力预算");
return tips; return tips;
} }

24
xm-core/src/main/java/com/xm/core/service/XmProjectService.java

@ -145,7 +145,7 @@ public class XmProjectService extends BaseService {
node.setActRate(BigDecimal.ZERO); node.setActRate(BigDecimal.ZERO);
node.setActIuserAt(BigDecimal.ZERO); node.setActIuserAt(BigDecimal.ZERO);
node.setActNouserAt(BigDecimal.ZERO); node.setActNouserAt(BigDecimal.ZERO);
node.setActOutUserAt(BigDecimal.ZERO);
node.setActOuserAt(BigDecimal.ZERO);
node.setActIuserWorkload(BigDecimal.ZERO); node.setActIuserWorkload(BigDecimal.ZERO);
node.setActOuserWorkload(BigDecimal.ZERO); node.setActOuserWorkload(BigDecimal.ZERO);
node.setActWorkload(BigDecimal.ZERO); node.setActWorkload(BigDecimal.ZERO);
@ -549,25 +549,25 @@ public class XmProjectService extends BaseService {
//todo 同步预算数据到财务系统 //todo 同步预算数据到财务系统
BigDecimal planTotalCost=xmProject.getPlanTotalCost(); BigDecimal planTotalCost=xmProject.getPlanTotalCost();
BigDecimal planInnerUserAt=xmProject.getPlanInnerUserAt();
BigDecimal planOutUserAt=xmProject.getPlanOutUserAt();
BigDecimal planIuserAt=xmProject.getPlanIuserAt();
BigDecimal planOuserAt=xmProject.getPlanOuserAt();
BigDecimal planNouserAt=xmProject.getPlanNouserAt(); BigDecimal planNouserAt=xmProject.getPlanNouserAt();
XmProject xmProject2=new XmProject(); XmProject xmProject2=new XmProject();
xmProject2.setPlanInnerUserAt(planInnerUserAt);
xmProject2.setPlanOutUserAt(planOutUserAt);
xmProject2.setPlanIuserAt(planIuserAt);
xmProject2.setPlanOuserAt(planOuserAt);
xmProject2.setPlanNouserAt(planNouserAt); xmProject2.setPlanNouserAt(planNouserAt);
xmProject2.setId(xmProject.getId()); xmProject2.setId(xmProject.getId());
xmProject2.setPlanTotalCost(planInnerUserAt.add(planOutUserAt).add(planNouserAt));
xmProject2.setPlanTotalCost(planIuserAt.add(planOuserAt).add(planNouserAt));
xmProject.setPlanTotalCost(xmProject2.getPlanTotalCost()); xmProject.setPlanTotalCost(xmProject2.getPlanTotalCost());
xmProject2.setBudgetMarginRate(xmProject.getBudgetMarginRate()); xmProject2.setBudgetMarginRate(xmProject.getBudgetMarginRate());
xmProject2.setTotalReceivables(xmProject.getTotalReceivables()); xmProject2.setTotalReceivables(xmProject.getTotalReceivables());
xmProject2.setTaxRate(xmProject.getTaxRate()); xmProject2.setTaxRate(xmProject.getTaxRate());
xmProject2.setPlanInnerUserCnt(xmProject.getPlanInnerUserCnt());
xmProject2.setPlanOutUserCnt(xmProject.getPlanOutUserCnt());
xmProject2.setPlanInnerUserWorkload(xmProject.getPlanInnerUserWorkload());
xmProject2.setPlanOutUserWorkload(xmProject.getPlanOutUserWorkload());
xmProject2.setPlanInnerUserPrice(xmProject.getPlanInnerUserPrice());
xmProject2.setPlanOutUserPrice(xmProject.getPlanOutUserPrice());
xmProject2.setPlanIuserCnt(xmProject.getPlanIuserCnt());
xmProject2.setPlanOuserCnt(xmProject.getPlanOuserCnt());
xmProject2.setPlanIuserWorkload(xmProject.getPlanIuserWorkload());
xmProject2.setPlanOuserWorkload(xmProject.getPlanOuserWorkload());
xmProject2.setPlanIuserPrice(xmProject.getPlanIuserPrice());
xmProject2.setPlanOuserPrice(xmProject.getPlanOuserPrice());
xmProject2.setPlanWorkingHours(xmProject.getPlanWorkingHours()); xmProject2.setPlanWorkingHours(xmProject.getPlanWorkingHours());
xmProject2.setPlanWorkload(xmProject.getPlanWorkload()); xmProject2.setPlanWorkload(xmProject.getPlanWorkload());
xmProject2.setContractAmt(xmProject.getContractAmt()); xmProject2.setContractAmt(xmProject.getContractAmt());

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

@ -69,7 +69,7 @@ public class XmTaskService extends BaseService {
* @param addTaskBudgetCost * @param addTaskBudgetCost
* @return * @return
*/ */
public Tips judgetPhaseBudget(String projectPhaseId, BigDecimal addTaskBudgetCost, BigDecimal addTaskBudgetInnerUserAt, BigDecimal addTaskBudgetOutUserAt, BigDecimal addTaskBudgetNouserAt, List<String> excludeTaskIds){
public Tips judgetPhaseBudget(String projectPhaseId, BigDecimal addTaskBudgetCost, BigDecimal addTaskBudgetIuserAt, BigDecimal addTaskBudgetOuserAt, BigDecimal addTaskBudgetNouserAt, List<String> excludeTaskIds){
Tips tips=new Tips("成功"); Tips tips=new Tips("成功");
if(!StringUtils.hasText(projectPhaseId)){ if(!StringUtils.hasText(projectPhaseId)){
tips.setFailureMsg("projectPhaseId参数不能为空"); tips.setFailureMsg("projectPhaseId参数不能为空");
@ -85,31 +85,31 @@ public class XmTaskService extends BaseService {
if(addTaskBudgetCost==null) { if(addTaskBudgetCost==null) {
addTaskBudgetCost=BigDecimal.ZERO; addTaskBudgetCost=BigDecimal.ZERO;
} }
if(addTaskBudgetInnerUserAt==null) {
addTaskBudgetInnerUserAt=BigDecimal.ZERO;
if(addTaskBudgetIuserAt==null) {
addTaskBudgetIuserAt=BigDecimal.ZERO;
} }
if(addTaskBudgetOutUserAt==null) {
addTaskBudgetOutUserAt=BigDecimal.ZERO;
if(addTaskBudgetOuserAt==null) {
addTaskBudgetOuserAt=BigDecimal.ZERO;
} }
if(addTaskBudgetNouserAt==null) { if(addTaskBudgetNouserAt==null) {
addTaskBudgetNouserAt=BigDecimal.ZERO; addTaskBudgetNouserAt=BigDecimal.ZERO;
} }
BigDecimal phaseBudgetAt=NumberUtil.getBigDecimal(g.get("phaseBudgetAt"),zero); BigDecimal phaseBudgetAt=NumberUtil.getBigDecimal(g.get("phaseBudgetAt"),zero);
BigDecimal phaseBudgetInnerUserAt=NumberUtil.getBigDecimal(g.get("phaseBudgetInnerUserAt"),zero);
BigDecimal phaseBudgetOutUserAt=NumberUtil.getBigDecimal(g.get("phaseBudgetOutUserAt"),zero);
BigDecimal phaseBudgetIuserAt=NumberUtil.getBigDecimal(g.get("phaseBudgetIuserAt"),zero);
BigDecimal phaseBudgetOuserAt=NumberUtil.getBigDecimal(g.get("phaseBudgetOuserAt"),zero);
BigDecimal phaseBudgetNouserAt=NumberUtil.getBigDecimal(g.get("phaseBudgetNouserAt"),zero); BigDecimal phaseBudgetNouserAt=NumberUtil.getBigDecimal(g.get("phaseBudgetNouserAt"),zero);
BigDecimal taskBudgetInnerUserAt=NumberUtil.getBigDecimal(g.get("taskBudgetInnerUserAt"),zero);
BigDecimal taskBudgetOutUserAt=NumberUtil.getBigDecimal(g.get("taskBudgetOutUserAt"),zero);
BigDecimal taskBudgetIuserAt=NumberUtil.getBigDecimal(g.get("taskBudgetIuserAt"),zero);
BigDecimal taskBudgetOuserAt=NumberUtil.getBigDecimal(g.get("taskBudgetOuserAt"),zero);
BigDecimal taskBudgetNouserAt=NumberUtil.getBigDecimal(g.get("taskBudgetNouserAt"),zero); BigDecimal taskBudgetNouserAt=NumberUtil.getBigDecimal(g.get("taskBudgetNouserAt"),zero);
BigDecimal taskBudgetTotalCost=NumberUtil.getBigDecimal(g.get("budgetCost"),zero); BigDecimal taskBudgetTotalCost=NumberUtil.getBigDecimal(g.get("budgetCost"),zero);
/** /**
if(addTaskBudgetInnerUserAt.add(taskBudgetInnerUserAt).compareTo(phaseBudgetInnerUserAt)>0) {
if(addTaskBudgetIuserAt.add(taskBudgetIuserAt).compareTo(phaseBudgetIuserAt)>0) {
tips.setFailureMsg("内部人力预算超出项目内部人力预算"); tips.setFailureMsg("内部人力预算超出项目内部人力预算");
return tips; return tips;
} }
if(addTaskBudgetOutUserAt.add(taskBudgetOutUserAt).compareTo(phaseBudgetOutUserAt)>0) {
if(addTaskBudgetOuserAt.add(taskBudgetOuserAt).compareTo(phaseBudgetOuserAt)>0) {
tips.setFailureMsg("外部人力预算超出项目外部人力预算"); tips.setFailureMsg("外部人力预算超出项目外部人力预算");
return tips; return tips;
} }
@ -138,7 +138,7 @@ public class XmTaskService extends BaseService {
* @param addTaskBudgetCost * @param addTaskBudgetCost
* @return * @return
*/ */
public Tips judgetTaskBudget(String parentTaskid, BigDecimal addTaskBudgetCost, BigDecimal addTaskBudgetInnerUserAt, BigDecimal addTaskBudgetOutUserAt, BigDecimal addTaskBudgetNouserAt, List<String> excludeTaskIds){
public Tips judgetTaskBudget(String parentTaskid, BigDecimal addTaskBudgetCost, BigDecimal addTaskBudgetIuserAt, BigDecimal addTaskBudgetOuserAt, BigDecimal addTaskBudgetNouserAt, List<String> excludeTaskIds){
Tips tips=new Tips("成功"); Tips tips=new Tips("成功");
if(!StringUtils.hasText(parentTaskid)){ if(!StringUtils.hasText(parentTaskid)){
tips.setFailureMsg("parentTaskid参数不能为空"); tips.setFailureMsg("parentTaskid参数不能为空");

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

@ -71,7 +71,7 @@
insert into xm_branch_task_type_state( insert into xm_branch_task_type_state(
<include refid="columns"/> <include refid="columns"/>
) values ( ) values (
#{taskType},#{planWorkload},#{planAmount},#{actWorkload},#{actAmount},#{branchId},#{bizDate},#{calcTime},#{planOutUserAt},#{planInnerUserAt},#{actOutUserAt},#{actInnerUserAt},#{planOutUserWorkload},#{planInnerUserWorkload},#{actOutUserWorkload},#{actInnerUserWorkload},#{planNouserAt},#{actNouserAt},#{id},#{branchName}
#{taskType},#{planWorkload},#{planAmount},#{actWorkload},#{actAmount},#{branchId},#{bizDate},#{calcTime},#{planOuserAt},#{planIuserAt},#{actOuserAt},#{actIuserAt},#{planOuserWorkload},#{planIuserWorkload},#{actOuserWorkload},#{actIuserWorkload},#{planNouserAt},#{actNouserAt},#{id},#{branchName}
) )
</insert> </insert>
@ -147,14 +147,14 @@
<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="bizDate != null and bizDate != ''"> and res.biz_date = #{bizDate} </if> <if test="bizDate != null and bizDate != ''"> and res.biz_date = #{bizDate} </if>
<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="planOutUserAt != null and planOutUserAt != ''"> and res.plan_out_user_at = #{planOutUserAt} </if>
<if test="planInnerUserAt != null and planInnerUserAt != ''"> and res.plan_inner_user_at = #{planInnerUserAt} </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="planOutUserWorkload != null and planOutUserWorkload != ''"> and res.plan_out_user_workload = #{planOutUserWorkload} </if>
<if test="planInnerUserWorkload != null and planInnerUserWorkload != ''"> and res.plan_inner_user_workload = #{planInnerUserWorkload} </if>
<if test="actOutUserWorkload != null and actOutUserWorkload != ''"> and res.act_out_user_workload = #{actOutUserWorkload} </if>
<if test="actInnerUserWorkload != null and actInnerUserWorkload != ''"> and res.act_inner_user_workload = #{actInnerUserWorkload} </if>
<if test="planOuserAt != null and planOuserAt != ''"> and res.plan_out_user_at = #{planOuserAt} </if>
<if test="planIuserAt != null and planIuserAt != ''"> and res.plan_inner_user_at = #{planIuserAt} </if>
<if test="actOuserAt != null and actOuserAt != ''"> and res.act_out_user_at = #{actOuserAt} </if>
<if test="actIuserAt != null and actIuserAt != ''"> and res.act_inner_user_at = #{actIuserAt} </if>
<if test="planOuserWorkload != null and planOuserWorkload != ''"> and res.plan_out_user_workload = #{planOuserWorkload} </if>
<if test="planIuserWorkload != null and planIuserWorkload != ''"> and res.plan_inner_user_workload = #{planIuserWorkload} </if>
<if test="actOuserWorkload != null and actOuserWorkload != ''"> and res.act_out_user_workload = #{actOuserWorkload} </if>
<if test="actIuserWorkload != null and actIuserWorkload != ''"> and res.act_inner_user_workload = #{actIuserWorkload} </if>
<if test="planNouserAt != null and planNouserAt != ''"> and res.plan_nouser_at = #{planNouserAt} </if> <if test="planNouserAt != null and planNouserAt != ''"> and res.plan_nouser_at = #{planNouserAt} </if>
<if test="actNouserAt != null and actNouserAt != ''"> and res.act_nouser_at = #{actNouserAt} </if> <if test="actNouserAt != null and actNouserAt != ''"> and res.act_nouser_at = #{actNouserAt} </if>
<if test="id != null and id != ''"> and res.id = #{id} </if> <if test="id != null and id != ''"> and res.id = #{id} </if>
@ -170,14 +170,14 @@
branch_id = #{branchId}, branch_id = #{branchId},
biz_date = #{bizDate}, biz_date = #{bizDate},
calc_time = #{calcTime}, calc_time = #{calcTime},
plan_out_user_at = #{planOutUserAt},
plan_inner_user_at = #{planInnerUserAt},
act_out_user_at = #{actOutUserAt},
act_inner_user_at = #{actInnerUserAt},
plan_out_user_workload = #{planOutUserWorkload},
plan_inner_user_workload = #{planInnerUserWorkload},
act_out_user_workload = #{actOutUserWorkload},
act_inner_user_workload = #{actInnerUserWorkload},
plan_out_user_at = #{planOuserAt},
plan_inner_user_at = #{planIuserAt},
act_out_user_at = #{actOuserAt},
act_inner_user_at = #{actIuserAt},
plan_out_user_workload = #{planOuserWorkload},
plan_inner_user_workload = #{planIuserWorkload},
act_out_user_workload = #{actOuserWorkload},
act_inner_user_workload = #{actIuserWorkload},
plan_nouser_at = #{planNouserAt}, plan_nouser_at = #{planNouserAt},
act_nouser_at = #{actNouserAt}, act_nouser_at = #{actNouserAt},
branch_name = #{branchName} branch_name = #{branchName}
@ -191,14 +191,14 @@
<if test="branchId != null and branchId != ''"> branch_id = #{branchId}, </if> <if test="branchId != null and branchId != ''"> branch_id = #{branchId}, </if>
<if test="bizDate != null and bizDate != ''"> biz_date = #{bizDate}, </if> <if test="bizDate != null and bizDate != ''"> biz_date = #{bizDate}, </if>
<if test="calcTime != null"> calc_time = #{calcTime}, </if> <if test="calcTime != null"> calc_time = #{calcTime}, </if>
<if test="planOutUserAt != null and planOutUserAt != ''"> plan_out_user_at = #{planOutUserAt}, </if>
<if test="planInnerUserAt != null and planInnerUserAt != ''"> plan_inner_user_at = #{planInnerUserAt}, </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="planOutUserWorkload != null and planOutUserWorkload != ''"> plan_out_user_workload = #{planOutUserWorkload}, </if>
<if test="planInnerUserWorkload != null and planInnerUserWorkload != ''"> plan_inner_user_workload = #{planInnerUserWorkload}, </if>
<if test="actOutUserWorkload != null and actOutUserWorkload != ''"> act_out_user_workload = #{actOutUserWorkload}, </if>
<if test="actInnerUserWorkload != null and actInnerUserWorkload != ''"> act_inner_user_workload = #{actInnerUserWorkload}, </if>
<if test="planOuserAt != null and planOuserAt != ''"> plan_out_user_at = #{planOuserAt}, </if>
<if test="planIuserAt != null and planIuserAt != ''"> plan_inner_user_at = #{planIuserAt}, </if>
<if test="actOuserAt != null and actOuserAt != ''"> act_out_user_at = #{actOuserAt}, </if>
<if test="actIuserAt != null and actIuserAt != ''"> act_inner_user_at = #{actIuserAt}, </if>
<if test="planOuserWorkload != null and planOuserWorkload != ''"> plan_out_user_workload = #{planOuserWorkload}, </if>
<if test="planIuserWorkload != null and planIuserWorkload != ''"> plan_inner_user_workload = #{planIuserWorkload}, </if>
<if test="actOuserWorkload != null and actOuserWorkload != ''"> act_out_user_workload = #{actOuserWorkload}, </if>
<if test="actIuserWorkload != null and actIuserWorkload != ''"> act_inner_user_workload = #{actIuserWorkload}, </if>
<if test="planNouserAt != null and planNouserAt != ''"> plan_nouser_at = #{planNouserAt}, </if> <if test="planNouserAt != null and planNouserAt != ''"> plan_nouser_at = #{planNouserAt}, </if>
<if test="actNouserAt != null and actNouserAt != ''"> act_nouser_at = #{actNouserAt}, </if> <if test="actNouserAt != null and actNouserAt != ''"> act_nouser_at = #{actNouserAt}, </if>
<if test="branchName != null and branchName != ''"> branch_name = #{branchName}, </if> <if test="branchName != null and branchName != ''"> branch_name = #{branchName}, </if>
@ -213,14 +213,14 @@
branch_id = #{item.branchId}, branch_id = #{item.branchId},
biz_date = #{item.bizDate}, biz_date = #{item.bizDate},
calc_time = #{item.calcTime}, calc_time = #{item.calcTime},
plan_out_user_at = #{item.planOutUserAt},
plan_inner_user_at = #{item.planInnerUserAt},
act_out_user_at = #{item.actOutUserAt},
act_inner_user_at = #{item.actInnerUserAt},
plan_out_user_workload = #{item.planOutUserWorkload},
plan_inner_user_workload = #{item.planInnerUserWorkload},
act_out_user_workload = #{item.actOutUserWorkload},
act_inner_user_workload = #{item.actInnerUserWorkload},
plan_out_user_at = #{item.planOuserAt},
plan_inner_user_at = #{item.planIuserAt},
act_out_user_at = #{item.actOuserAt},
act_inner_user_at = #{item.actIuserAt},
plan_out_user_workload = #{item.planOuserWorkload},
plan_inner_user_workload = #{item.planIuserWorkload},
act_out_user_workload = #{item.actOuserWorkload},
act_inner_user_workload = #{item.actIuserWorkload},
plan_nouser_at = #{item.planNouserAt}, plan_nouser_at = #{item.planNouserAt},
act_nouser_at = #{item.actNouserAt}, act_nouser_at = #{item.actNouserAt},
branch_name = #{item.branchName} branch_name = #{item.branchName}

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

@ -297,7 +297,7 @@
insert into xm_phase( insert into xm_phase(
<include refid="columns"/> <include refid="columns"/>
) values ( ) values (
#{id},#{name},#{remark},#{parentId},#{branchId},#{projectId},#{beginDate},#{endDate},#{budgetHours},#{budgetStaffNu},#{ctime},#{budgetNouserAt},#{budgetIuserAt},#{budgetOuserAt},#{baselineId},#{bizProcInstId},#{bizFlowState},#{budgetWorkload},#{actWorkload},#{actIuserWorkload},#{actOuserWorkload},#{taskType},#{planType},#{seqNo},#{budgetIuserWorkload},#{budgetOuserWorkload},#{actNouserAt},#{actIuserAt},#{budgetIuserPrice},#{budgetOuserPrice},#{budgetOuserCnt},#{budgetIuserCnt},#{actRate},#{pstatus},#{actOutUserAt},#{taskCnt},#{finishTaskCnt},#{iterationCnt},#{calcTime},#{taskBudgetWorkload},#{taskBudgetAt},#{mngUserid},#{mngUsername},#{milestone},#{pleaf},#{tagIds},#{tagNames},#{ntype},#{childrenCnt},#{ltime},#{isKeyPath},#{pidPaths},#{lvl},#{isTpl},#{phaseClass},#{productId},#{budgetAt},#{calcType},#{actAt}
#{id},#{name},#{remark},#{parentId},#{branchId},#{projectId},#{beginDate},#{endDate},#{budgetHours},#{budgetStaffNu},#{ctime},#{budgetNouserAt},#{budgetIuserAt},#{budgetOuserAt},#{baselineId},#{bizProcInstId},#{bizFlowState},#{budgetWorkload},#{actWorkload},#{actIuserWorkload},#{actOuserWorkload},#{taskType},#{planType},#{seqNo},#{budgetIuserWorkload},#{budgetOuserWorkload},#{actNouserAt},#{actIuserAt},#{budgetIuserPrice},#{budgetOuserPrice},#{budgetOuserCnt},#{budgetIuserCnt},#{actRate},#{pstatus},#{actOuserAt},#{taskCnt},#{finishTaskCnt},#{iterationCnt},#{calcTime},#{taskBudgetWorkload},#{taskBudgetAt},#{mngUserid},#{mngUsername},#{milestone},#{pleaf},#{tagIds},#{tagNames},#{ntype},#{childrenCnt},#{ltime},#{isKeyPath},#{pidPaths},#{lvl},#{isTpl},#{phaseClass},#{productId},#{budgetAt},#{calcType},#{actAt}
) )
</insert> </insert>
@ -399,7 +399,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="actOutUserAt != null and actOutUserAt != ''"> and res.act_out_user_at = #{actOutUserAt} </if>
<if test="actOuserAt != null and actOuserAt != ''"> and res.act_out_user_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>
@ -460,7 +460,7 @@
budget_iuser_cnt = #{budgetIuserCnt}, budget_iuser_cnt = #{budgetIuserCnt},
act_rate = #{actRate}, act_rate = #{actRate},
pstatus = #{pstatus}, pstatus = #{pstatus},
act_out_user_at = #{actOutUserAt},
act_out_user_at = #{actOuserAt},
task_cnt = #{taskCnt}, task_cnt = #{taskCnt},
finish_task_cnt = #{finishTaskCnt}, finish_task_cnt = #{finishTaskCnt},
iteration_cnt = #{iterationCnt}, iteration_cnt = #{iterationCnt},
@ -520,7 +520,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="actOutUserAt != null and actOutUserAt != ''"> act_out_user_at = #{actOutUserAt}, </if>
<if test="actOuserAt != null and actOuserAt != ''"> act_out_user_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>
@ -581,7 +581,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.actOutUserAt},
act_out_user_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},

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

@ -60,7 +60,7 @@
insert into xm_project_state_his( insert into xm_project_state_his(
<include refid="columns"/> <include refid="columns"/>
) values ( ) values (
#{projectId},#{bizDate},#{totalFileCnt},#{totalBugCnt},#{totalTaskCnt},#{totalBudgetNouserAmount},#{projectName},#{id},#{totalStaffCnt},#{calcTime},#{calcStatus},#{totalCostNouserAmount},#{totalClosedBugCnt},#{totalResolvedBugCnt},#{totalCompleteTaskCnt},#{totalPhaseCnt},#{totalCompletePhaseCnt},#{totalNeedPayAmount},#{totalFinishPayAmount},#{totalNeedColAmount},#{totalFinishColAmount},#{totalCostUserAmount},#{totalBudgetInnerUserAmount},#{totalPlanWorkload},#{totalRiskCnt},#{totalCompleteRiskCnt},#{branchId},#{branchName},#{totalBudgetOutUserAmount},#{totalCompleteWorkload},#{totalCostInnerUserAmount},#{totalCostOutUserAmount},#{totalProgress},#{totalActiveBugCnt},#{totalConfirmedBugCnt},#{projectStatus},#{totalActWorkload},#{totalActOutWorkload},#{totalActInnerWorkload},#{totalTaskBudgetCostAt},#{totalTaskOutCnt},#{totalNeedPayCnt},#{totalFinishPayCnt},#{totalFinishPayUserCnt},#{totalNeedPayUserCnt},#{totalPlanInnerUserWorkload},#{totalPlanOutUserWorkload},#{testCases},#{execCases},#{designCases},#{finishCases},#{iterationCnt},#{productCnt},#{menuCnt}
#{projectId},#{bizDate},#{totalFileCnt},#{totalBugCnt},#{totalTaskCnt},#{totalBudgetNouserAmount},#{projectName},#{id},#{totalStaffCnt},#{calcTime},#{calcStatus},#{totalCostNouserAmount},#{totalClosedBugCnt},#{totalResolvedBugCnt},#{totalCompleteTaskCnt},#{totalPhaseCnt},#{totalCompletePhaseCnt},#{totalNeedPayAmount},#{totalFinishPayAmount},#{totalNeedColAmount},#{totalFinishColAmount},#{totalCostUserAmount},#{totalBudgetIuserAmount},#{totalPlanWorkload},#{totalRiskCnt},#{totalCompleteRiskCnt},#{branchId},#{branchName},#{totalBudgetOuserAmount},#{totalCompleteWorkload},#{totalCostIuserAmount},#{totalCostOuserAmount},#{totalProgress},#{totalActiveBugCnt},#{totalConfirmedBugCnt},#{projectStatus},#{totalActWorkload},#{totalActOutWorkload},#{totalActInnerWorkload},#{totalTaskBudgetCostAt},#{totalTaskOutCnt},#{totalNeedPayCnt},#{totalFinishPayCnt},#{totalFinishPayUserCnt},#{totalNeedPayUserCnt},#{totalPlanIuserWorkload},#{totalPlanOuserWorkload},#{testCases},#{execCases},#{designCases},#{finishCases},#{iterationCnt},#{productCnt},#{menuCnt}
) )
</insert> </insert>
@ -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="totalBudgetInnerUserAmount != null and totalBudgetInnerUserAmount != ''"> and res.total_budget_inner_user_amount = #{totalBudgetInnerUserAmount} </if>
<if test="totalBudgetIuserAmount != null and totalBudgetIuserAmount != ''"> and res.total_budget_inner_user_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="totalBudgetOutUserAmount != null and totalBudgetOutUserAmount != ''"> and res.total_budget_out_user_amount = #{totalBudgetOutUserAmount} </if>
<if test="totalBudgetOuserAmount != null and totalBudgetOuserAmount != ''"> and res.total_budget_out_user_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="totalCostInnerUserAmount != null and totalCostInnerUserAmount != ''"> and res.total_cost_inner_user_amount = #{totalCostInnerUserAmount} </if>
<if test="totalCostOutUserAmount != null and totalCostOutUserAmount != ''"> and res.total_cost_out_user_amount = #{totalCostOutUserAmount} </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="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="totalPlanInnerUserWorkload != null and totalPlanInnerUserWorkload != ''"> and res.total_plan_inner_user_workload = #{totalPlanInnerUserWorkload} </if>
<if test="totalPlanOutUserWorkload != null and totalPlanOutUserWorkload != ''"> and res.total_plan_out_user_workload = #{totalPlanOutUserWorkload} </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="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 = #{totalBudgetInnerUserAmount},
total_budget_inner_user_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 = #{totalBudgetOutUserAmount},
total_budget_out_user_amount = #{totalBudgetOuserAmount},
total_complete_workload = #{totalCompleteWorkload}, total_complete_workload = #{totalCompleteWorkload},
total_cost_inner_user_amount = #{totalCostInnerUserAmount},
total_cost_out_user_amount = #{totalCostOutUserAmount},
total_cost_inner_user_amount = #{totalCostIuserAmount},
total_cost_out_user_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 = #{totalPlanInnerUserWorkload},
total_plan_out_user_workload = #{totalPlanOutUserWorkload},
total_plan_inner_user_workload = #{totalPlanIuserWorkload},
total_plan_out_user_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="totalBudgetInnerUserAmount != null and totalBudgetInnerUserAmount != ''"> total_budget_inner_user_amount = #{totalBudgetInnerUserAmount}, </if>
<if test="totalBudgetIuserAmount != null and totalBudgetIuserAmount != ''"> total_budget_inner_user_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="totalBudgetOutUserAmount != null and totalBudgetOutUserAmount != ''"> total_budget_out_user_amount = #{totalBudgetOutUserAmount}, </if>
<if test="totalBudgetOuserAmount != null and totalBudgetOuserAmount != ''"> total_budget_out_user_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="totalCostInnerUserAmount != null and totalCostInnerUserAmount != ''"> total_cost_inner_user_amount = #{totalCostInnerUserAmount}, </if>
<if test="totalCostOutUserAmount != null and totalCostOutUserAmount != ''"> total_cost_out_user_amount = #{totalCostOutUserAmount}, </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="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="totalPlanInnerUserWorkload != null and totalPlanInnerUserWorkload != ''"> total_plan_inner_user_workload = #{totalPlanInnerUserWorkload}, </if>
<if test="totalPlanOutUserWorkload != null and totalPlanOutUserWorkload != ''"> total_plan_out_user_workload = #{totalPlanOutUserWorkload}, </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="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.totalBudgetInnerUserAmount},
total_budget_inner_user_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.totalBudgetOutUserAmount},
total_budget_out_user_amount = #{item.totalBudgetOuserAmount},
total_complete_workload = #{item.totalCompleteWorkload}, total_complete_workload = #{item.totalCompleteWorkload},
total_cost_inner_user_amount = #{item.totalCostInnerUserAmount},
total_cost_out_user_amount = #{item.totalCostOutUserAmount},
total_cost_inner_user_amount = #{item.totalCostIuserAmount},
total_cost_out_user_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.totalPlanInnerUserWorkload},
total_plan_out_user_workload = #{item.totalPlanOutUserWorkload},
total_plan_inner_user_workload = #{item.totalPlanIuserWorkload},
total_plan_out_user_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},

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

@ -62,7 +62,7 @@
insert into xm_project_task_type_state( insert into xm_project_task_type_state(
<include refid="columns"/> <include refid="columns"/>
) values ( ) values (
#{projectId},#{projectName},#{taskType},#{planWorkload},#{planAmount},#{actWorkload},#{actAmount},#{branchId},#{bizDate},#{calcTime},#{planOutUserAt},#{planInnerUserAt},#{actOutUserAt},#{actInnerUserAt},#{planOutUserWorkload},#{planInnerUserWorkload},#{actOutUserWorkload},#{actInnerUserWorkload},#{planNouserAt},#{actNouserAt},#{id}
#{projectId},#{projectName},#{taskType},#{planWorkload},#{planAmount},#{actWorkload},#{actAmount},#{branchId},#{bizDate},#{calcTime},#{planOuserAt},#{planIuserAt},#{actOuserAt},#{actIuserAt},#{planOuserWorkload},#{planIuserWorkload},#{actOuserWorkload},#{actIuserWorkload},#{planNouserAt},#{actNouserAt},#{id}
) )
</insert> </insert>
@ -139,14 +139,14 @@
<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="bizDate != null and bizDate != ''"> and res.biz_date = #{bizDate} </if> <if test="bizDate != null and bizDate != ''"> and res.biz_date = #{bizDate} </if>
<if test="calcTime != null"> and TO_CHAR(res.calc_time,'YYYY-MM-DD') = TO_CHAR(#{calcTime},'YYYY-MM-DD') </if> <if test="calcTime != null"> and TO_CHAR(res.calc_time,'YYYY-MM-DD') = TO_CHAR(#{calcTime},'YYYY-MM-DD') </if>
<if test="planOutUserAt != null and planOutUserAt != ''"> and res.plan_out_user_at = #{planOutUserAt} </if>
<if test="planInnerUserAt != null and planInnerUserAt != ''"> and res.plan_inner_user_at = #{planInnerUserAt} </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="planOutUserWorkload != null and planOutUserWorkload != ''"> and res.plan_out_user_workload = #{planOutUserWorkload} </if>
<if test="planInnerUserWorkload != null and planInnerUserWorkload != ''"> and res.plan_inner_user_workload = #{planInnerUserWorkload} </if>
<if test="actOutUserWorkload != null and actOutUserWorkload != ''"> and res.act_out_user_workload = #{actOutUserWorkload} </if>
<if test="actInnerUserWorkload != null and actInnerUserWorkload != ''"> and res.act_inner_user_workload = #{actInnerUserWorkload} </if>
<if test="planOuserAt != null and planOuserAt != ''"> and res.plan_out_user_at = #{planOuserAt} </if>
<if test="planIuserAt != null and planIuserAt != ''"> and res.plan_inner_user_at = #{planIuserAt} </if>
<if test="actOuserAt != null and actOuserAt != ''"> and res.act_out_user_at = #{actOuserAt} </if>
<if test="actIuserAt != null and actIuserAt != ''"> and res.act_inner_user_at = #{actIuserAt} </if>
<if test="planOuserWorkload != null and planOuserWorkload != ''"> and res.plan_out_user_workload = #{planOuserWorkload} </if>
<if test="planIuserWorkload != null and planIuserWorkload != ''"> and res.plan_inner_user_workload = #{planIuserWorkload} </if>
<if test="actOuserWorkload != null and actOuserWorkload != ''"> and res.act_out_user_workload = #{actOuserWorkload} </if>
<if test="actIuserWorkload != null and actIuserWorkload != ''"> and res.act_inner_user_workload = #{actIuserWorkload} </if>
<if test="planNouserAt != null and planNouserAt != ''"> and res.plan_nouser_at = #{planNouserAt} </if> <if test="planNouserAt != null and planNouserAt != ''"> and res.plan_nouser_at = #{planNouserAt} </if>
<if test="actNouserAt != null and actNouserAt != ''"> and res.act_nouser_at = #{actNouserAt} </if> <if test="actNouserAt != null and actNouserAt != ''"> and res.act_nouser_at = #{actNouserAt} </if>
<if test="id != null and id != ''"> and res.id = #{id} </if> <if test="id != null and id != ''"> and res.id = #{id} </if>
@ -163,14 +163,14 @@
branch_id = #{branchId}, branch_id = #{branchId},
biz_date = #{bizDate}, biz_date = #{bizDate},
calc_time = #{calcTime}, calc_time = #{calcTime},
plan_out_user_at = #{planOutUserAt},
plan_inner_user_at = #{planInnerUserAt},
act_out_user_at = #{actOutUserAt},
act_inner_user_at = #{actInnerUserAt},
plan_out_user_workload = #{planOutUserWorkload},
plan_inner_user_workload = #{planInnerUserWorkload},
act_out_user_workload = #{actOutUserWorkload},
act_inner_user_workload = #{actInnerUserWorkload},
plan_out_user_at = #{planOuserAt},
plan_inner_user_at = #{planIuserAt},
act_out_user_at = #{actOuserAt},
act_inner_user_at = #{actIuserAt},
plan_out_user_workload = #{planOuserWorkload},
plan_inner_user_workload = #{planIuserWorkload},
act_out_user_workload = #{actOuserWorkload},
act_inner_user_workload = #{actIuserWorkload},
plan_nouser_at = #{planNouserAt}, plan_nouser_at = #{planNouserAt},
act_nouser_at = #{actNouserAt} act_nouser_at = #{actNouserAt}
</sql> </sql>
@ -185,14 +185,14 @@
<if test="branchId != null and branchId != ''"> branch_id = #{branchId}, </if> <if test="branchId != null and branchId != ''"> branch_id = #{branchId}, </if>
<if test="bizDate != null and bizDate != ''"> biz_date = #{bizDate}, </if> <if test="bizDate != null and bizDate != ''"> biz_date = #{bizDate}, </if>
<if test="calcTime != null"> calc_time = #{calcTime}, </if> <if test="calcTime != null"> calc_time = #{calcTime}, </if>
<if test="planOutUserAt != null and planOutUserAt != ''"> plan_out_user_at = #{planOutUserAt}, </if>
<if test="planInnerUserAt != null and planInnerUserAt != ''"> plan_inner_user_at = #{planInnerUserAt}, </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="planOutUserWorkload != null and planOutUserWorkload != ''"> plan_out_user_workload = #{planOutUserWorkload}, </if>
<if test="planInnerUserWorkload != null and planInnerUserWorkload != ''"> plan_inner_user_workload = #{planInnerUserWorkload}, </if>
<if test="actOutUserWorkload != null and actOutUserWorkload != ''"> act_out_user_workload = #{actOutUserWorkload}, </if>
<if test="actInnerUserWorkload != null and actInnerUserWorkload != ''"> act_inner_user_workload = #{actInnerUserWorkload}, </if>
<if test="planOuserAt != null and planOuserAt != ''"> plan_out_user_at = #{planOuserAt}, </if>
<if test="planIuserAt != null and planIuserAt != ''"> plan_inner_user_at = #{planIuserAt}, </if>
<if test="actOuserAt != null and actOuserAt != ''"> act_out_user_at = #{actOuserAt}, </if>
<if test="actIuserAt != null and actIuserAt != ''"> act_inner_user_at = #{actIuserAt}, </if>
<if test="planOuserWorkload != null and planOuserWorkload != ''"> plan_out_user_workload = #{planOuserWorkload}, </if>
<if test="planIuserWorkload != null and planIuserWorkload != ''"> plan_inner_user_workload = #{planIuserWorkload}, </if>
<if test="actOuserWorkload != null and actOuserWorkload != ''"> act_out_user_workload = #{actOuserWorkload}, </if>
<if test="actIuserWorkload != null and actIuserWorkload != ''"> act_inner_user_workload = #{actIuserWorkload}, </if>
<if test="planNouserAt != null and planNouserAt != ''"> plan_nouser_at = #{planNouserAt}, </if> <if test="planNouserAt != null and planNouserAt != ''"> plan_nouser_at = #{planNouserAt}, </if>
<if test="actNouserAt != null and actNouserAt != ''"> act_nouser_at = #{actNouserAt}, </if> <if test="actNouserAt != null and actNouserAt != ''"> act_nouser_at = #{actNouserAt}, </if>
</sql> </sql>
@ -208,14 +208,14 @@
branch_id = #{item.branchId}, branch_id = #{item.branchId},
biz_date = #{item.bizDate}, biz_date = #{item.bizDate},
calc_time = #{item.calcTime}, calc_time = #{item.calcTime},
plan_out_user_at = #{item.planOutUserAt},
plan_inner_user_at = #{item.planInnerUserAt},
act_out_user_at = #{item.actOutUserAt},
act_inner_user_at = #{item.actInnerUserAt},
plan_out_user_workload = #{item.planOutUserWorkload},
plan_inner_user_workload = #{item.planInnerUserWorkload},
act_out_user_workload = #{item.actOutUserWorkload},
act_inner_user_workload = #{item.actInnerUserWorkload},
plan_out_user_at = #{item.planOuserAt},
plan_inner_user_at = #{item.planIuserAt},
act_out_user_at = #{item.actOuserAt},
act_inner_user_at = #{item.actIuserAt},
plan_out_user_workload = #{item.planOuserWorkload},
plan_inner_user_workload = #{item.planIuserWorkload},
act_out_user_workload = #{item.actOuserWorkload},
act_inner_user_workload = #{item.actIuserWorkload},
plan_nouser_at = #{item.planNouserAt}, plan_nouser_at = #{item.planNouserAt},
act_nouser_at = #{item.actNouserAt} act_nouser_at = #{item.actNouserAt}
</sql> </sql>

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

@ -22,7 +22,7 @@ import org.springframework.boot.test.context.SpringBootTest;
* 实体 XmProjectState<br> * 实体 XmProjectState<br>
* 表是指数据库结构中的表,实体是指java类型中的实体类<br> * 表是指数据库结构中的表,实体是指java类型中的实体类<br>
* 当前实体所有属性名:<br> * 当前实体所有属性名:<br>
* projectId,bizDate,totalFileCnt,totalBugCnt,totalTaskCnt,totalBudgetNouserAmount,projectName,id,totalStaffCnt,calCtime,calStatus,totalCostNouserAmount,totalClosedBugCnt,totalResolvedBugCnt,totalCompleteTaskCnt,totalPhaseCnt,totalCompletePhaseCnt,totalNeedPayAmount,totalFinishPayAmount,totalNeedColAmount,totalFinishColAmount,totalCostUserAmount,totalBudgetInnerUserAmount,totalPlanWorkload,totalRiskCnt,totalCompleteRiskCnt,branchId,branchName,totalBudgetOutUserAmount,totalCompleteWorkload,todayNewBugCnt,todayResolvedBugCnt,todayClosedBugCnt,todayNewTaskCnt,todayCompleteTaskCnt,todayNewPhaseCnt,todayCompletePhaseCnt,todayNewStaffCnt,todaySubStaffCnt,todayNewPlanWorkload,todayNewActWorkload,todayNeedColAmount,todayFinishColAmount,todayCostUserAmount,todayCostInnerUserAmount,todayCostOutUserAmount,todayCostNouserAmount,totalCostInnerUserAmount,totalCostOutUserAmount,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_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>
* 当前主键(包括多主键):<br> * 当前主键(包括多主键):<br>

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

@ -24,7 +24,7 @@ import org.springframework.boot.test.context.SpringBootTest;
* 实体 XmProjectState<br> * 实体 XmProjectState<br>
* 表是指数据库结构中的表,实体是指java类型中的实体类<br> * 表是指数据库结构中的表,实体是指java类型中的实体类<br>
* 当前实体所有属性名:<br> * 当前实体所有属性名:<br>
* projectId,bizDate,totalFileCnt,totalBugCnt,totalTaskCnt,totalBudgetNouserAmount,projectName,id,totalStaffCnt,calCtime,calStatus,totalCostNouserAmount,totalClosedBugCnt,totalResolvedBugCnt,totalCompleteTaskCnt,totalPhaseCnt,totalCompletePhaseCnt,totalNeedPayAmount,totalFinishPayAmount,totalNeedColAmount,totalFinishColAmount,totalCostUserAmount,totalBudgetInnerUserAmount,totalPlanWorkload,totalRiskCnt,totalCompleteRiskCnt,branchId,branchName,totalBudgetOutUserAmount,totalCompleteWorkload,todayNewBugCnt,todayResolvedBugCnt,todayClosedBugCnt,todayNewTaskCnt,todayCompleteTaskCnt,todayNewPhaseCnt,todayCompletePhaseCnt,todayNewStaffCnt,todaySubStaffCnt,todayNewPlanWorkload,todayNewActWorkload,todayNeedColAmount,todayFinishColAmount,todayCostUserAmount,todayCostInnerUserAmount,todayCostOutUserAmount,todayCostNouserAmount,totalCostInnerUserAmount,totalCostOutUserAmount,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_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>
* 当前主键(包括多主键):<br> * 当前主键(包括多主键):<br>

Loading…
Cancel
Save