diff --git a/xm-core/src/main/java/com/xm/core/entity/XmMenu.java b/xm-core/src/main/java/com/xm/core/entity/XmMenu.java index d5519f8b..6a2c664b 100644 --- a/xm-core/src/main/java/com/xm/core/entity/XmMenu.java +++ b/xm-core/src/main/java/com/xm/core/entity/XmMenu.java @@ -3,13 +3,14 @@ package com.xm.core.entity; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.Date; +import java.math.BigDecimal; /** * 组织 com 顶级模块 xm 大模块 core 小模块
* 实体 XmMenu所有属性名:
- * menuId,menuName,pmenuId,productId,remark,status,online,demandUrl,codeUrl,designUrl,docUrl,helpUrl,operDocUrl,seqNo,mmUserid,mmUsername,ctime,ntype,sinceVersion,childrenCnt,ltime,tagIds,tagNames,pidPaths,lvl,isTpl;
+ * menuId,menuName,pmenuId,productId,remark,status,online,demandUrl,codeUrl,designUrl,docUrl,helpUrl,operDocUrl,seqNo,mmUserid,mmUsername,ctime,ntype,sinceVersion,childrenCnt,ltime,tagIds,tagNames,pidPaths,lvl,isTpl,budgetHours,budgetStaffNu,budgetWorkload,budgetAmount,phaseId;
* 表 xm_menu 功能表的所有字段名:
- * menu_id,menu_name,pmenu_id,product_id,remark,status,online,demand_url,code_url,design_url,doc_url,help_url,oper_doc_url,seq_no,mm_userid,mm_username,ctime,ntype,since_version,children_cnt,ltime,tag_ids,tag_names,pid_paths,lvl,is_tpl;
+ * menu_id,menu_name,pmenu_id,product_id,remark,status,online,demand_url,code_url,design_url,doc_url,help_url,oper_doc_url,seq_no,mm_userid,mm_username,ctime,ntype,since_version,children_cnt,ltime,tag_ids,tag_names,pid_paths,lvl,is_tpl,budget_hours,budget_staff_nu,budget_workload,budget_amount,phase_id;
* 当前主键(包括多主键):
* menu_id;
*/ @@ -61,10 +62,10 @@ public class XmMenu implements java.io.Serializable { @ApiModelProperty(notes="排序序号",allowEmptyValue=true,example="",allowableValues="") String seqNo; - @ApiModelProperty(notes="需求管理员编号",allowEmptyValue=true,example="",allowableValues="") + @ApiModelProperty(notes="故事管理员编号",allowEmptyValue=true,example="",allowableValues="") String mmUserid; - @ApiModelProperty(notes="需求管理员姓名",allowEmptyValue=true,example="",allowableValues="") + @ApiModelProperty(notes="故事管理员姓名",allowEmptyValue=true,example="",allowableValues="") String mmUsername; @ApiModelProperty(notes="创建时间",allowEmptyValue=true,example="",allowableValues="") @@ -96,6 +97,21 @@ public class XmMenu implements java.io.Serializable { @ApiModelProperty(notes="是否为模板",allowEmptyValue=true,example="",allowableValues="") String isTpl; + + @ApiModelProperty(notes="预算工时总数从上到下分配",allowEmptyValue=true,example="",allowableValues="") + BigDecimal budgetHours; + + @ApiModelProperty(notes="投入人员数,从上到下分配",allowEmptyValue=true,example="",allowableValues="") + Integer budgetStaffNu; + + @ApiModelProperty(notes="总工作量单位人时,从上到下分配,下级汇总不能大于上级",allowEmptyValue=true,example="",allowableValues="") + BigDecimal budgetWorkload; + + @ApiModelProperty(notes="预算金额,从上到下汇总,从上到下分配,下级汇总不能大于上级",allowEmptyValue=true,example="",allowableValues="") + BigDecimal budgetAmount; + + @ApiModelProperty(notes="计划编号",allowEmptyValue=true,example="",allowableValues="") + String phaseId; /**功能编号**/ public XmMenu(String menuId) { @@ -191,13 +207,13 @@ public class XmMenu implements java.io.Serializable { this.seqNo = seqNo; } /** - * 需求管理员编号 + * 故事管理员编号 **/ public void setMmUserid(String mmUserid) { this.mmUserid = mmUserid; } /** - * 需求管理员姓名 + * 故事管理员姓名 **/ public void setMmUsername(String mmUsername) { this.mmUsername = mmUsername; @@ -262,6 +278,36 @@ public class XmMenu implements java.io.Serializable { public void setIsTpl(String isTpl) { this.isTpl = isTpl; } + /** + * 预算工时总数从上到下分配 + **/ + public void setBudgetHours(BigDecimal budgetHours) { + this.budgetHours = budgetHours; + } + /** + * 投入人员数,从上到下分配 + **/ + public void setBudgetStaffNu(Integer budgetStaffNu) { + this.budgetStaffNu = budgetStaffNu; + } + /** + * 总工作量单位人时,从上到下分配,下级汇总不能大于上级 + **/ + public void setBudgetWorkload(BigDecimal budgetWorkload) { + this.budgetWorkload = budgetWorkload; + } + /** + * 预算金额,从上到下汇总,从上到下分配,下级汇总不能大于上级 + **/ + public void setBudgetAmount(BigDecimal budgetAmount) { + this.budgetAmount = budgetAmount; + } + /** + * 计划编号 + **/ + public void setPhaseId(String phaseId) { + this.phaseId = phaseId; + } /** * 功能编号 @@ -348,13 +394,13 @@ public class XmMenu implements java.io.Serializable { return this.seqNo; } /** - * 需求管理员编号 + * 故事管理员编号 **/ public String getMmUserid() { return this.mmUserid; } /** - * 需求管理员姓名 + * 故事管理员姓名 **/ public String getMmUsername() { return this.mmUsername; @@ -419,5 +465,35 @@ public class XmMenu implements java.io.Serializable { public String getIsTpl() { return this.isTpl; } + /** + * 预算工时总数从上到下分配 + **/ + public BigDecimal getBudgetHours() { + return this.budgetHours; + } + /** + * 投入人员数,从上到下分配 + **/ + public Integer getBudgetStaffNu() { + return this.budgetStaffNu; + } + /** + * 总工作量单位人时,从上到下分配,下级汇总不能大于上级 + **/ + public BigDecimal getBudgetWorkload() { + return this.budgetWorkload; + } + /** + * 预算金额,从上到下汇总,从上到下分配,下级汇总不能大于上级 + **/ + public BigDecimal getBudgetAmount() { + return this.budgetAmount; + } + /** + * 计划编号 + **/ + public String getPhaseId() { + return this.phaseId; + } } \ No newline at end of file diff --git a/xm-core/src/main/java/com/xm/core/entity/XmProduct.java b/xm-core/src/main/java/com/xm/core/entity/XmProduct.java index 6569a7eb..aeda4d3a 100644 --- a/xm-core/src/main/java/com/xm/core/entity/XmProduct.java +++ b/xm-core/src/main/java/com/xm/core/entity/XmProduct.java @@ -3,13 +3,14 @@ package com.xm.core.entity; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.Date; +import java.math.BigDecimal; /** * 组织 com 顶级模块 xm 大模块 core 小模块
* 实体 XmProduct所有属性名:
- * id,productName,branchId,remark,version,pmUserid,pmUsername,ctime,deptid,pstatus,startTime,endTime,deptName,admUserid,admUsername,assistantUserid,assistantUsername,bizProcInstId,bizFlowState,isTpl,baselineId,baseTime,code;
+ * id,productName,branchId,remark,version,pmUserid,pmUsername,ctime,deptid,pstatus,startTime,endTime,deptName,admUserid,admUsername,assistantUserid,assistantUsername,bizProcInstId,bizFlowState,isTpl,baselineId,baseTime,code,pbudgetWorkload,pbudgetAmount,pmenuBudgetWorkload,pmenuBudgetAmount;
* 表 xm_product 产品表的所有字段名:
- * id,product_name,branch_id,remark,version,pm_userid,pm_username,ctime,deptid,pstatus,start_time,end_time,dept_name,adm_userid,adm_username,assistant_userid,assistant_username,biz_proc_inst_id,biz_flow_state,is_tpl,baseline_id,base_time,code;
+ * id,product_name,branch_id,remark,version,pm_userid,pm_username,ctime,deptid,pstatus,start_time,end_time,dept_name,adm_userid,adm_username,assistant_userid,assistant_username,biz_proc_inst_id,biz_flow_state,is_tpl,baseline_id,base_time,code,pbudget_workload,pbudget_amount,pmenu_budget_workload,pmenu_budget_amount;
* 当前主键(包括多主键):
* id;
*/ @@ -46,7 +47,7 @@ public class XmProduct implements java.io.Serializable { @ApiModelProperty(notes="归属部门",allowEmptyValue=true,example="",allowableValues="") String deptid; - @ApiModelProperty(notes="产品计划:0未开始,1研发中,2已完成",allowEmptyValue=true,example="",allowableValues="") + @ApiModelProperty(notes="产品阶段:0未开始,1研发中,2已完成,3已关闭",allowEmptyValue=true,example="",allowableValues="") String pstatus; @ApiModelProperty(notes="开始日期",allowEmptyValue=true,example="",allowableValues="") @@ -87,6 +88,18 @@ public class XmProduct implements java.io.Serializable { @ApiModelProperty(notes="产品编码",allowEmptyValue=true,example="",allowableValues="") String code; + + @ApiModelProperty(notes="产品预计总工作量,应该大于一级需求总预算工作量",allowEmptyValue=true,example="",allowableValues="") + BigDecimal pbudgetWorkload; + + @ApiModelProperty(notes="产品预计总金额,应该大于一级需求总预算金额",allowEmptyValue=true,example="",allowableValues="") + BigDecimal pbudgetAmount; + + @ApiModelProperty(notes="从需求汇总来的总预算工作量",allowEmptyValue=true,example="",allowableValues="") + BigDecimal pmenuBudgetWorkload; + + @ApiModelProperty(notes="从需求汇总的总预算金额",allowEmptyValue=true,example="",allowableValues="") + BigDecimal pmenuBudgetAmount; /**产品编号**/ public XmProduct(String id) { @@ -152,7 +165,7 @@ public class XmProduct implements java.io.Serializable { this.deptid = deptid; } /** - * 产品计划:0未开始,1研发中,2已完成 + * 产品阶段:0未开始,1研发中,2已完成,3已关闭 **/ public void setPstatus(String pstatus) { this.pstatus = pstatus; @@ -235,6 +248,30 @@ public class XmProduct implements java.io.Serializable { public void setCode(String code) { this.code = code; } + /** + * 产品预计总工作量,应该大于一级需求总预算工作量 + **/ + public void setPbudgetWorkload(BigDecimal pbudgetWorkload) { + this.pbudgetWorkload = pbudgetWorkload; + } + /** + * 产品预计总金额,应该大于一级需求总预算金额 + **/ + public void setPbudgetAmount(BigDecimal pbudgetAmount) { + this.pbudgetAmount = pbudgetAmount; + } + /** + * 从需求汇总来的总预算工作量 + **/ + public void setPmenuBudgetWorkload(BigDecimal pmenuBudgetWorkload) { + this.pmenuBudgetWorkload = pmenuBudgetWorkload; + } + /** + * 从需求汇总的总预算金额 + **/ + public void setPmenuBudgetAmount(BigDecimal pmenuBudgetAmount) { + this.pmenuBudgetAmount = pmenuBudgetAmount; + } /** * 产品编号 @@ -291,7 +328,7 @@ public class XmProduct implements java.io.Serializable { return this.deptid; } /** - * 产品计划:0未开始,1研发中,2已完成 + * 产品阶段:0未开始,1研发中,2已完成,3已关闭 **/ public String getPstatus() { return this.pstatus; @@ -374,5 +411,29 @@ public class XmProduct implements java.io.Serializable { public String getCode() { return this.code; } + /** + * 产品预计总工作量,应该大于一级需求总预算工作量 + **/ + public BigDecimal getPbudgetWorkload() { + return this.pbudgetWorkload; + } + /** + * 产品预计总金额,应该大于一级需求总预算金额 + **/ + public BigDecimal getPbudgetAmount() { + return this.pbudgetAmount; + } + /** + * 从需求汇总来的总预算工作量 + **/ + public BigDecimal getPmenuBudgetWorkload() { + return this.pmenuBudgetWorkload; + } + /** + * 从需求汇总的总预算金额 + **/ + public BigDecimal getPmenuBudgetAmount() { + return this.pmenuBudgetAmount; + } } \ No newline at end of file diff --git a/xm-core/src/main/java/com/xm/core/entity/XmProjectGroup.java b/xm-core/src/main/java/com/xm/core/entity/XmProjectGroup.java index 42ec16a1..ab99e5e3 100644 --- a/xm-core/src/main/java/com/xm/core/entity/XmProjectGroup.java +++ b/xm-core/src/main/java/com/xm/core/entity/XmProjectGroup.java @@ -1,14 +1,15 @@ -package com.xm.core.entity; +package com.xm.core.entity; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import java.util.Date; /** - * 组织 com.qqkj 顶级模块 oa 大模块 xm 小模块
+ * 组织 com 顶级模块 xm 大模块 core 小模块
* 实体 XmProjectGroup所有属性名:
- * id,groupName,projectId,pgTypeId,pgTypeName;
- * 表 XM.xm_project_group xm_project_group的所有字段名:
- * id,group_name,project_id,pg_type_id,pg_type_name;
+ * id,groupName,projectId,pgTypeId,pgTypeName,leaderUserid,leaderUsername,ctime,ltime,productId,branchId,pgClass;
+ * 表 xm_project_group xm_project_group的所有字段名:
+ * id,group_name,project_id,pg_type_id,pg_type_name,leader_userid,leader_username,ctime,ltime,product_id,branch_id,pg_class;
* 当前主键(包括多主键):
* id;
*/ @@ -24,7 +25,7 @@ public class XmProjectGroup implements java.io.Serializable { @ApiModelProperty(notes="团队名称",allowEmptyValue=true,example="",allowableValues="") String groupName; - @ApiModelProperty(notes="项目编号",allowEmptyValue=true,example="",allowableValues="") + @ApiModelProperty(notes="项目编号-属于产品线则可为空",allowEmptyValue=true,example="",allowableValues="") String projectId; @ApiModelProperty(notes="项目团队类型编号",allowEmptyValue=true,example="",allowableValues="") @@ -32,6 +33,27 @@ public class XmProjectGroup implements java.io.Serializable { @ApiModelProperty(notes="团队类型名称",allowEmptyValue=true,example="",allowableValues="") String pgTypeName; + + @ApiModelProperty(notes="团队负责人",allowEmptyValue=true,example="",allowableValues="") + String leaderUserid; + + @ApiModelProperty(notes="负责人姓名",allowEmptyValue=true,example="",allowableValues="") + String leaderUsername; + + @ApiModelProperty(notes="创建时间",allowEmptyValue=true,example="",allowableValues="") + Date ctime; + + @ApiModelProperty(notes="更新时间",allowEmptyValue=true,example="",allowableValues="") + Date ltime; + + @ApiModelProperty(notes="产品编号,属于项目组的团队则可为空",allowEmptyValue=true,example="",allowableValues="") + String productId; + + @ApiModelProperty(notes="机构编号",allowEmptyValue=true,example="",allowableValues="") + String branchId; + + @ApiModelProperty(notes="团队类别0项目1产品",allowEmptyValue=true,example="",allowableValues="") + String pgClass; /**主键**/ public XmProjectGroup(String id) { @@ -55,7 +77,7 @@ public class XmProjectGroup implements java.io.Serializable { this.groupName = groupName; } /** - * 项目编号 + * 项目编号-属于产品线则可为空 **/ public void setProjectId(String projectId) { this.projectId = projectId; @@ -72,6 +94,48 @@ public class XmProjectGroup implements java.io.Serializable { public void setPgTypeName(String pgTypeName) { this.pgTypeName = pgTypeName; } + /** + * 团队负责人 + **/ + public void setLeaderUserid(String leaderUserid) { + this.leaderUserid = leaderUserid; + } + /** + * 负责人姓名 + **/ + public void setLeaderUsername(String leaderUsername) { + this.leaderUsername = leaderUsername; + } + /** + * 创建时间 + **/ + public void setCtime(Date ctime) { + this.ctime = ctime; + } + /** + * 更新时间 + **/ + public void setLtime(Date ltime) { + this.ltime = ltime; + } + /** + * 产品编号,属于项目组的团队则可为空 + **/ + public void setProductId(String productId) { + this.productId = productId; + } + /** + * 机构编号 + **/ + public void setBranchId(String branchId) { + this.branchId = branchId; + } + /** + * 团队类别0项目1产品 + **/ + public void setPgClass(String pgClass) { + this.pgClass = pgClass; + } /** * 主键 @@ -86,7 +150,7 @@ public class XmProjectGroup implements java.io.Serializable { return this.groupName; } /** - * 项目编号 + * 项目编号-属于产品线则可为空 **/ public String getProjectId() { return this.projectId; @@ -103,5 +167,47 @@ public class XmProjectGroup implements java.io.Serializable { public String getPgTypeName() { return this.pgTypeName; } + /** + * 团队负责人 + **/ + public String getLeaderUserid() { + return this.leaderUserid; + } + /** + * 负责人姓名 + **/ + public String getLeaderUsername() { + return this.leaderUsername; + } + /** + * 创建时间 + **/ + public Date getCtime() { + return this.ctime; + } + /** + * 更新时间 + **/ + public Date getLtime() { + return this.ltime; + } + /** + * 产品编号,属于项目组的团队则可为空 + **/ + public String getProductId() { + return this.productId; + } + /** + * 机构编号 + **/ + public String getBranchId() { + return this.branchId; + } + /** + * 团队类别0项目1产品 + **/ + public String getPgClass() { + return this.pgClass; + } } \ No newline at end of file diff --git a/xm-core/src/main/java/com/xm/core/entity/XmProjectGroupUser.java b/xm-core/src/main/java/com/xm/core/entity/XmProjectGroupUser.java index 90838e14..f5cf4bb4 100644 --- a/xm-core/src/main/java/com/xm/core/entity/XmProjectGroupUser.java +++ b/xm-core/src/main/java/com/xm/core/entity/XmProjectGroupUser.java @@ -1,15 +1,14 @@ -package com.xm.core.entity; +package com.xm.core.entity; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; - import java.util.Date; /** - * 组织 com.qqkj 顶级模块 xm 大模块 core 小模块
+ * 组织 com 顶级模块 xm 大模块 core 小模块
* 实体 XmProjectGroupUser所有属性名:
* joinTime,id,groupId,userid,username,isHead,outTime,status,bizProcInstId,bizFlowState,projectId;
- * 表 XM.xm_project_group_user xm_project_group_user的所有字段名:
+ * 表 xm_project_group_user xm_project_group_user的所有字段名:
* join_time,id,group_id,userid,username,is_head,out_time,status,biz_proc_inst_id,biz_flow_state,project_id;
* 当前主键(包括多主键):
* id;
diff --git a/xm-core/src/main/java/com/xm/core/entity/XmProjectPhase.java b/xm-core/src/main/java/com/xm/core/entity/XmProjectPhase.java index 84edb110..61f3ff42 100644 --- a/xm-core/src/main/java/com/xm/core/entity/XmProjectPhase.java +++ b/xm-core/src/main/java/com/xm/core/entity/XmProjectPhase.java @@ -8,34 +8,34 @@ import java.math.BigDecimal; /** * 组织 com 顶级模块 xm 大模块 core 小模块
* 实体 XmProjectPhase所有属性名:
- * id,phaseName,remark,parentPhaseId,branchId,projectId,beginDate,endDate,phaseBudgetHours,phaseBudgetStaffNu,ctime,phaseBudgetNouserAt,phaseBudgetInnerUserAt,phaseBudgetOutUserAt,projectBaselineId,bizProcInstId,bizFlowState,phaseBudgetWorkload,phaseActWorkload,phaseActInnerUserWorkload,phaseActOutUserWorkload,taskType,planType,seqNo,phaseBudgetInnerUserWorkload,phaseBudgetOutUserWorkload,actNouserAt,actInnerUserAt,phaseBudgetInnerUserPrice,phaseBudgetOutUserPrice,phaseBudgetOutUserCnt,phaseBudgetInnerUserCnt,actRate,phaseStatus,actOutUserAt,taskCnt,finishTaskCnt,iterationCnt,calcTime,taskBudgetWorkload,taskBudgetAt,mngUserid,mngUsername,milestone,pleaf,tagIds,tagNames,ntype,childrenCnt,ltime,isKeyPath,pidPaths,lvl,isTpl;
- * 表 xm_project_phase 项目计划模板的所有字段名:
- * id,phase_name,remark,parent_phase_id,branch_id,project_id,begin_date,end_date,phase_budget_hours,phase_budget_staff_nu,ctime,phase_budget_nouser_at,phase_budget_inner_user_at,phase_budget_out_user_at,project_baseline_id,biz_proc_inst_id,biz_flow_state,phase_budget_workload,phase_act_workload,phase_act_inner_user_workload,phase_act_out_user_workload,task_type,plan_type,seq_no,phase_budget_inner_user_workload,phase_budget_out_user_workload,act_nouser_at,act_inner_user_at,phase_budget_inner_user_price,phase_budget_out_user_price,phase_budget_out_user_cnt,phase_budget_inner_user_cnt,act_rate,phase_status,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;
+ * id,phaseName,remark,parentPhaseId,branchId,projectId,beginDate,endDate,phaseBudgetHours,phaseBudgetStaffNu,ctime,phaseBudgetNouserAt,phaseBudgetInnerUserAt,phaseBudgetOutUserAt,projectBaselineId,bizProcInstId,bizFlowState,phaseBudgetWorkload,phaseActWorkload,phaseActInnerUserWorkload,phaseActOutUserWorkload,taskType,planType,seqNo,phaseBudgetInnerUserWorkload,phaseBudgetOutUserWorkload,actNouserAt,actInnerUserAt,phaseBudgetInnerUserPrice,phaseBudgetOutUserPrice,phaseBudgetOutUserCnt,phaseBudgetInnerUserCnt,actRate,phaseStatus,actOutUserAt,taskCnt,finishTaskCnt,iterationCnt,calcTime,taskBudgetWorkload,taskBudgetAt,mngUserid,mngUsername,milestone,pleaf,tagIds,tagNames,ntype,childrenCnt,ltime,isKeyPath,pidPaths,lvl,isTpl,phaseClass,productId;
+ * 表 xm_project_phase 项目阶段模板的所有字段名:
+ * id,phase_name,remark,parent_phase_id,branch_id,project_id,begin_date,end_date,phase_budget_hours,phase_budget_staff_nu,ctime,phase_budget_nouser_at,phase_budget_inner_user_at,phase_budget_out_user_at,project_baseline_id,biz_proc_inst_id,biz_flow_state,phase_budget_workload,phase_act_workload,phase_act_inner_user_workload,phase_act_out_user_workload,task_type,plan_type,seq_no,phase_budget_inner_user_workload,phase_budget_out_user_workload,act_nouser_at,act_inner_user_at,phase_budget_inner_user_price,phase_budget_out_user_price,phase_budget_out_user_cnt,phase_budget_inner_user_cnt,act_rate,phase_status,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;
* 当前主键(包括多主键):
* id;
*/ -@ApiModel(description="项目计划模板") +@ApiModel(description="项目阶段模板") public class XmProjectPhase implements java.io.Serializable { private static final long serialVersionUID = 1L; - @ApiModelProperty(notes="计划主键,主键",allowEmptyValue=true,example="",allowableValues="") + @ApiModelProperty(notes="阶段主键,主键",allowEmptyValue=true,example="",allowableValues="") String id; - @ApiModelProperty(notes="计划名称",allowEmptyValue=true,example="",allowableValues="") + @ApiModelProperty(notes="阶段名称",allowEmptyValue=true,example="",allowableValues="") String phaseName; @ApiModelProperty(notes="备注",allowEmptyValue=true,example="",allowableValues="") String remark; - @ApiModelProperty(notes="上级计划编号",allowEmptyValue=true,example="",allowableValues="") + @ApiModelProperty(notes="上级阶段编号",allowEmptyValue=true,example="",allowableValues="") String parentPhaseId; @ApiModelProperty(notes="机构编号",allowEmptyValue=true,example="",allowableValues="") String branchId; - @ApiModelProperty(notes="当前项目编号",allowEmptyValue=true,example="",allowableValues="") + @ApiModelProperty(notes="当前项目编号,如果是项目计划,必填项目",allowEmptyValue=true,example="",allowableValues="") String projectId; @ApiModelProperty(notes="开始时间",allowEmptyValue=true,example="",allowableValues="") @@ -44,22 +44,22 @@ public class XmProjectPhase implements java.io.Serializable { @ApiModelProperty(notes="结束时间",allowEmptyValue=true,example="",allowableValues="") Date endDate; - @ApiModelProperty(notes="工时(不包括下一级)-应该大于或等于task中总工时",allowEmptyValue=true,example="",allowableValues="") + @ApiModelProperty(notes="工时(上到下控制大于儿子总数)-应该大于或等于task中总工时",allowEmptyValue=true,example="",allowableValues="") BigDecimal phaseBudgetHours; - @ApiModelProperty(notes="投入人员数(不包括下一级)-应该大于或等于task中总人数",allowEmptyValue=true,example="",allowableValues="") + @ApiModelProperty(notes="投入人员数(上到下控制大于儿子总数)-应该大于或等于task中总人数",allowEmptyValue=true,example="",allowableValues="") Integer phaseBudgetStaffNu; @ApiModelProperty(notes="创建时间",allowEmptyValue=true,example="",allowableValues="") Date ctime; - @ApiModelProperty(notes="非人力成本总预算(不包括下一级)-应该大于或等于task中非人力总成本",allowEmptyValue=true,example="",allowableValues="") + @ApiModelProperty(notes="非人力成本总预算(上到下控制大于儿子总数)-应该大于或等于task中非人力总成本",allowEmptyValue=true,example="",allowableValues="") BigDecimal phaseBudgetNouserAt; - @ApiModelProperty(notes="内部人力成本总预算(不包括下一级)-应该大于或等于task中内部人力总成本",allowEmptyValue=true,example="",allowableValues="") + @ApiModelProperty(notes="内部人力成本总预算(上到下控制大于儿子总数)-应该大于或等于task中内部人力总成本",allowEmptyValue=true,example="",allowableValues="") BigDecimal phaseBudgetInnerUserAt; - @ApiModelProperty(notes="外购人力成本总预算(不包括下一级)-应该大于或等于task中外购总成本",allowEmptyValue=true,example="",allowableValues="") + @ApiModelProperty(notes="外购人力成本总预算(上到下控制大于儿子总数)-应该大于或等于task中外购总成本",allowEmptyValue=true,example="",allowableValues="") BigDecimal phaseBudgetOutUserAt; @ApiModelProperty(notes="项目级基线",allowEmptyValue=true,example="",allowableValues="") @@ -71,7 +71,7 @@ public class XmProjectPhase implements java.io.Serializable { @ApiModelProperty(notes="当前流程状态0初始1审批中2审批通过3审批不通过4流程取消或者删除",allowEmptyValue=true,example="",allowableValues="") String bizFlowState; - @ApiModelProperty(notes="总工作量单位人时-应该大于或者等于task中的预算总工作量",allowEmptyValue=true,example="",allowableValues="") + @ApiModelProperty(notes="总工作量单位人时上到下控制大于儿子总数-应该大于或者等于task中的预算总工作量",allowEmptyValue=true,example="",allowableValues="") BigDecimal phaseBudgetWorkload; @ApiModelProperty(notes="已完成工作量单位人时-从task中的实际工作量算出",allowEmptyValue=true,example="",allowableValues="") @@ -92,10 +92,10 @@ public class XmProjectPhase implements java.io.Serializable { @ApiModelProperty(notes="顺序号",allowEmptyValue=true,example="",allowableValues="") String seqNo; - @ApiModelProperty(notes="内部人力工作量总预算(不包括下一级)-应该大于或等于task中内部人力总成本",allowEmptyValue=true,example="",allowableValues="") + @ApiModelProperty(notes="内部人力工作量总预算(上到下控制大于儿子总数)-应该大于或等于task中内部人力总成本",allowEmptyValue=true,example="",allowableValues="") BigDecimal phaseBudgetInnerUserWorkload; - @ApiModelProperty(notes="外购人力工作量总预算(不包括下一级)-应该大于或等于task中外购总成本",allowEmptyValue=true,example="",allowableValues="") + @ApiModelProperty(notes="外购人力工作量总预算(上到下控制大于儿子总数)-应该大于或等于task中外购总成本",allowEmptyValue=true,example="",allowableValues="") BigDecimal phaseBudgetOutUserWorkload; @ApiModelProperty(notes="实际非人力成本-来自任务表合计",allowEmptyValue=true,example="",allowableValues="") @@ -119,7 +119,7 @@ public class XmProjectPhase implements java.io.Serializable { @ApiModelProperty(notes="实际进度0-100",allowEmptyValue=true,example="",allowableValues="") BigDecimal actRate; - @ApiModelProperty(notes="计划状态0初始1执行中2完工3关闭4删除中5已删除6暂停",allowEmptyValue=true,example="",allowableValues="") + @ApiModelProperty(notes="阶段状态0初始1执行中2完工3关闭4删除中5已删除6暂停",allowEmptyValue=true,example="",allowableValues="") String phaseStatus; @ApiModelProperty(notes="实际外部人力成本",allowEmptyValue=true,example="",allowableValues="") @@ -181,24 +181,30 @@ public class XmProjectPhase implements java.io.Serializable { @ApiModelProperty(notes="是否为模板",allowEmptyValue=true,example="",allowableValues="") String isTpl; + + @ApiModelProperty(notes="计划分类0项目1产品",allowEmptyValue=true,example="",allowableValues="") + String phaseClass; + + @ApiModelProperty(notes="如果是产品计划,必填产品编号,其它的可不填",allowEmptyValue=true,example="",allowableValues="") + String productId; - /**计划主键**/ + /**阶段主键**/ public XmProjectPhase(String id) { this.id = id; } - /**项目计划模板**/ + /**项目阶段模板**/ public XmProjectPhase() { } /** - * 计划主键 + * 阶段主键 **/ public void setId(String id) { this.id = id; } /** - * 计划名称 + * 阶段名称 **/ public void setPhaseName(String phaseName) { this.phaseName = phaseName; @@ -210,7 +216,7 @@ public class XmProjectPhase implements java.io.Serializable { this.remark = remark; } /** - * 上级计划编号 + * 上级阶段编号 **/ public void setParentPhaseId(String parentPhaseId) { this.parentPhaseId = parentPhaseId; @@ -222,7 +228,7 @@ public class XmProjectPhase implements java.io.Serializable { this.branchId = branchId; } /** - * 当前项目编号 + * 当前项目编号,如果是项目计划,必填项目 **/ public void setProjectId(String projectId) { this.projectId = projectId; @@ -240,13 +246,13 @@ public class XmProjectPhase implements java.io.Serializable { this.endDate = endDate; } /** - * 工时(不包括下一级)-应该大于或等于task中总工时 + * 工时(上到下控制大于儿子总数)-应该大于或等于task中总工时 **/ public void setPhaseBudgetHours(BigDecimal phaseBudgetHours) { this.phaseBudgetHours = phaseBudgetHours; } /** - * 投入人员数(不包括下一级)-应该大于或等于task中总人数 + * 投入人员数(上到下控制大于儿子总数)-应该大于或等于task中总人数 **/ public void setPhaseBudgetStaffNu(Integer phaseBudgetStaffNu) { this.phaseBudgetStaffNu = phaseBudgetStaffNu; @@ -258,19 +264,19 @@ public class XmProjectPhase implements java.io.Serializable { this.ctime = ctime; } /** - * 非人力成本总预算(不包括下一级)-应该大于或等于task中非人力总成本 + * 非人力成本总预算(上到下控制大于儿子总数)-应该大于或等于task中非人力总成本 **/ public void setPhaseBudgetNouserAt(BigDecimal phaseBudgetNouserAt) { this.phaseBudgetNouserAt = phaseBudgetNouserAt; } /** - * 内部人力成本总预算(不包括下一级)-应该大于或等于task中内部人力总成本 + * 内部人力成本总预算(上到下控制大于儿子总数)-应该大于或等于task中内部人力总成本 **/ public void setPhaseBudgetInnerUserAt(BigDecimal phaseBudgetInnerUserAt) { this.phaseBudgetInnerUserAt = phaseBudgetInnerUserAt; } /** - * 外购人力成本总预算(不包括下一级)-应该大于或等于task中外购总成本 + * 外购人力成本总预算(上到下控制大于儿子总数)-应该大于或等于task中外购总成本 **/ public void setPhaseBudgetOutUserAt(BigDecimal phaseBudgetOutUserAt) { this.phaseBudgetOutUserAt = phaseBudgetOutUserAt; @@ -294,7 +300,7 @@ public class XmProjectPhase implements java.io.Serializable { this.bizFlowState = bizFlowState; } /** - * 总工作量单位人时-应该大于或者等于task中的预算总工作量 + * 总工作量单位人时上到下控制大于儿子总数-应该大于或者等于task中的预算总工作量 **/ public void setPhaseBudgetWorkload(BigDecimal phaseBudgetWorkload) { this.phaseBudgetWorkload = phaseBudgetWorkload; @@ -336,13 +342,13 @@ public class XmProjectPhase implements java.io.Serializable { this.seqNo = seqNo; } /** - * 内部人力工作量总预算(不包括下一级)-应该大于或等于task中内部人力总成本 + * 内部人力工作量总预算(上到下控制大于儿子总数)-应该大于或等于task中内部人力总成本 **/ public void setPhaseBudgetInnerUserWorkload(BigDecimal phaseBudgetInnerUserWorkload) { this.phaseBudgetInnerUserWorkload = phaseBudgetInnerUserWorkload; } /** - * 外购人力工作量总预算(不包括下一级)-应该大于或等于task中外购总成本 + * 外购人力工作量总预算(上到下控制大于儿子总数)-应该大于或等于task中外购总成本 **/ public void setPhaseBudgetOutUserWorkload(BigDecimal phaseBudgetOutUserWorkload) { this.phaseBudgetOutUserWorkload = phaseBudgetOutUserWorkload; @@ -390,7 +396,7 @@ public class XmProjectPhase implements java.io.Serializable { this.actRate = actRate; } /** - * 计划状态0初始1执行中2完工3关闭4删除中5已删除6暂停 + * 阶段状态0初始1执行中2完工3关闭4删除中5已删除6暂停 **/ public void setPhaseStatus(String phaseStatus) { this.phaseStatus = phaseStatus; @@ -515,15 +521,27 @@ public class XmProjectPhase implements java.io.Serializable { public void setIsTpl(String isTpl) { this.isTpl = isTpl; } + /** + * 计划分类0项目1产品 + **/ + public void setPhaseClass(String phaseClass) { + this.phaseClass = phaseClass; + } + /** + * 如果是产品计划,必填产品编号,其它的可不填 + **/ + public void setProductId(String productId) { + this.productId = productId; + } /** - * 计划主键 + * 阶段主键 **/ public String getId() { return this.id; } /** - * 计划名称 + * 阶段名称 **/ public String getPhaseName() { return this.phaseName; @@ -535,7 +553,7 @@ public class XmProjectPhase implements java.io.Serializable { return this.remark; } /** - * 上级计划编号 + * 上级阶段编号 **/ public String getParentPhaseId() { return this.parentPhaseId; @@ -547,7 +565,7 @@ public class XmProjectPhase implements java.io.Serializable { return this.branchId; } /** - * 当前项目编号 + * 当前项目编号,如果是项目计划,必填项目 **/ public String getProjectId() { return this.projectId; @@ -565,13 +583,13 @@ public class XmProjectPhase implements java.io.Serializable { return this.endDate; } /** - * 工时(不包括下一级)-应该大于或等于task中总工时 + * 工时(上到下控制大于儿子总数)-应该大于或等于task中总工时 **/ public BigDecimal getPhaseBudgetHours() { return this.phaseBudgetHours; } /** - * 投入人员数(不包括下一级)-应该大于或等于task中总人数 + * 投入人员数(上到下控制大于儿子总数)-应该大于或等于task中总人数 **/ public Integer getPhaseBudgetStaffNu() { return this.phaseBudgetStaffNu; @@ -583,19 +601,19 @@ public class XmProjectPhase implements java.io.Serializable { return this.ctime; } /** - * 非人力成本总预算(不包括下一级)-应该大于或等于task中非人力总成本 + * 非人力成本总预算(上到下控制大于儿子总数)-应该大于或等于task中非人力总成本 **/ public BigDecimal getPhaseBudgetNouserAt() { return this.phaseBudgetNouserAt; } /** - * 内部人力成本总预算(不包括下一级)-应该大于或等于task中内部人力总成本 + * 内部人力成本总预算(上到下控制大于儿子总数)-应该大于或等于task中内部人力总成本 **/ public BigDecimal getPhaseBudgetInnerUserAt() { return this.phaseBudgetInnerUserAt; } /** - * 外购人力成本总预算(不包括下一级)-应该大于或等于task中外购总成本 + * 外购人力成本总预算(上到下控制大于儿子总数)-应该大于或等于task中外购总成本 **/ public BigDecimal getPhaseBudgetOutUserAt() { return this.phaseBudgetOutUserAt; @@ -619,7 +637,7 @@ public class XmProjectPhase implements java.io.Serializable { return this.bizFlowState; } /** - * 总工作量单位人时-应该大于或者等于task中的预算总工作量 + * 总工作量单位人时上到下控制大于儿子总数-应该大于或者等于task中的预算总工作量 **/ public BigDecimal getPhaseBudgetWorkload() { return this.phaseBudgetWorkload; @@ -661,13 +679,13 @@ public class XmProjectPhase implements java.io.Serializable { return this.seqNo; } /** - * 内部人力工作量总预算(不包括下一级)-应该大于或等于task中内部人力总成本 + * 内部人力工作量总预算(上到下控制大于儿子总数)-应该大于或等于task中内部人力总成本 **/ public BigDecimal getPhaseBudgetInnerUserWorkload() { return this.phaseBudgetInnerUserWorkload; } /** - * 外购人力工作量总预算(不包括下一级)-应该大于或等于task中外购总成本 + * 外购人力工作量总预算(上到下控制大于儿子总数)-应该大于或等于task中外购总成本 **/ public BigDecimal getPhaseBudgetOutUserWorkload() { return this.phaseBudgetOutUserWorkload; @@ -715,7 +733,7 @@ public class XmProjectPhase implements java.io.Serializable { return this.actRate; } /** - * 计划状态0初始1执行中2完工3关闭4删除中5已删除6暂停 + * 阶段状态0初始1执行中2完工3关闭4删除中5已删除6暂停 **/ public String getPhaseStatus() { return this.phaseStatus; @@ -840,5 +858,17 @@ public class XmProjectPhase implements java.io.Serializable { public String getIsTpl() { return this.isTpl; } + /** + * 计划分类0项目1产品 + **/ + public String getPhaseClass() { + return this.phaseClass; + } + /** + * 如果是产品计划,必填产品编号,其它的可不填 + **/ + public String getProductId() { + return this.productId; + } } \ No newline at end of file diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml index c29d79a2..86f9d4f5 100644 --- a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml @@ -146,7 +146,7 @@ insert into xm_menu( ) values ( - #{menuId},#{menuName},#{pmenuId},#{productId},#{remark},#{status},#{online},#{demandUrl},#{codeUrl},#{designUrl},#{docUrl},#{helpUrl},#{operDocUrl},#{seqNo},#{mmUserid},#{mmUsername},#{ctime},#{ntype},#{sinceVersion},#{childrenCnt},#{ltime},#{tagIds},#{tagNames},#{pidPaths},#{lvl},#{isTpl} + #{menuId},#{menuName},#{pmenuId},#{productId},#{remark},#{status},#{online},#{demandUrl},#{codeUrl},#{designUrl},#{docUrl},#{helpUrl},#{operDocUrl},#{seqNo},#{mmUserid},#{mmUsername},#{ctime},#{ntype},#{sinceVersion},#{childrenCnt},#{ltime},#{tagIds},#{tagNames},#{pidPaths},#{lvl},#{isTpl},#{budgetHours},#{budgetStaffNu},#{budgetWorkload},#{budgetAmount},#{phaseId} ) @@ -209,7 +209,7 @@ - menu_id,menu_name,pmenu_id,product_id,remark,status,online,demand_url,code_url,design_url,doc_url,help_url,oper_doc_url,seq_no,mm_userid,mm_username,ctime,ntype,since_version,children_cnt,ltime,tag_ids,tag_names,pid_paths,lvl,is_tpl + menu_id,menu_name,pmenu_id,product_id,remark,status,online,demand_url,code_url,design_url,doc_url,help_url,oper_doc_url,seq_no,mm_userid,mm_username,ctime,ntype,since_version,children_cnt,ltime,tag_ids,tag_names,pid_paths,lvl,is_tpl,budget_hours,budget_staff_nu,budget_workload,budget_amount,phase_id @@ -240,6 +240,11 @@ and res.pid_paths = #{pidPaths} and res.lvl = #{lvl} and res.is_tpl = #{isTpl} + and res.budget_hours = #{budgetHours} + and res.budget_staff_nu = #{budgetStaffNu} + and res.budget_workload = #{budgetWorkload} + and res.budget_amount = #{budgetAmount} + and res.phase_id = #{phaseId} @@ -267,7 +272,12 @@ tag_names = #{tagNames}, pid_paths = #{pidPaths}, lvl = #{lvl}, - is_tpl = #{isTpl} + is_tpl = #{isTpl}, + budget_hours = #{budgetHours}, + budget_staff_nu = #{budgetStaffNu}, + budget_workload = #{budgetWorkload}, + budget_amount = #{budgetAmount}, + phase_id = #{phaseId} menu_name = #{menuName}, @@ -295,6 +305,11 @@ pid_paths = #{pidPaths}, lvl = #{lvl}, is_tpl = #{isTpl}, + budget_hours = #{budgetHours}, + budget_staff_nu = #{budgetStaffNu}, + budget_workload = #{budgetWorkload}, + budget_amount = #{budgetAmount}, + phase_id = #{phaseId}, @@ -322,6 +337,11 @@ tag_names = #{item.tagNames}, pid_paths = #{item.pidPaths}, lvl = #{item.lvl}, - is_tpl = #{item.isTpl} + is_tpl = #{item.isTpl}, + budget_hours = #{item.budgetHours}, + budget_staff_nu = #{item.budgetStaffNu}, + budget_workload = #{item.budgetWorkload}, + budget_amount = #{item.budgetAmount}, + phase_id = #{item.phaseId} \ No newline at end of file diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProductMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProductMapper.xml index fabfe71f..55c63304 100644 --- a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProductMapper.xml +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProductMapper.xml @@ -6,25 +6,46 @@ + + and (res.id) in + + ( #{item}) + + + and res.product_name like #{key} + + and exists( select 1 from xm_product_project_link ppl + where ppl.project_id=#{projectId} and ppl.product_id=res.id + ) + + + and ( exists ( select 1 from xm_project_group_user gu inner join xm_task t on gu.project_id=t.project_id and t.product_id=res.id where gu.userid=#{compete} and t.product_id=res.id ) + or res.pm_userid=#{compete} + or exists ( select 1 from xm_menu m where m.mm_userid=#{compete} and m.product_id=res.id) + ) + + and ctime between #{ctimeStart} and #{ctimeEnd} + + + @@ -47,26 +69,8 @@ @@ -103,7 +107,7 @@ insert into xm_product( ) values ( - #{id},#{productName},#{branchId},#{remark},#{version},#{pmUserid},#{pmUsername},#{ctime},#{deptid},#{pstatus},#{startTime},#{endTime},#{deptName},#{admUserid},#{admUsername},#{assistantUserid},#{assistantUsername},#{bizProcInstId},#{bizFlowState},#{isTpl},#{baselineId},#{baseTime},#{code} + #{id},#{productName},#{branchId},#{remark},#{version},#{pmUserid},#{pmUsername},#{ctime},#{deptid},#{pstatus},#{startTime},#{endTime},#{deptName},#{admUserid},#{admUsername},#{assistantUserid},#{assistantUsername},#{bizProcInstId},#{bizFlowState},#{isTpl},#{baselineId},#{baseTime},#{code},#{pbudgetWorkload},#{pbudgetAmount},#{pmenuBudgetWorkload},#{pmenuBudgetAmount} ) @@ -166,7 +170,7 @@ - id,product_name,branch_id,remark,version,pm_userid,pm_username,ctime,deptid,pstatus,start_time,end_time,dept_name,adm_userid,adm_username,assistant_userid,assistant_username,biz_proc_inst_id,biz_flow_state,is_tpl,baseline_id,base_time,code + id,product_name,branch_id,remark,version,pm_userid,pm_username,ctime,deptid,pstatus,start_time,end_time,dept_name,adm_userid,adm_username,assistant_userid,assistant_username,biz_proc_inst_id,biz_flow_state,is_tpl,baseline_id,base_time,code,pbudget_workload,pbudget_amount,pmenu_budget_workload,pmenu_budget_amount @@ -194,6 +198,10 @@ and res.baseline_id = #{baselineId} and date_format(res.base_time,'%Y-%m-%d') = date_format(#{baseTime},'%Y-%m-%d') and res.code = #{code} + and res.pbudget_workload = #{pbudgetWorkload} + and res.pbudget_amount = #{pbudgetAmount} + and res.pmenu_budget_workload = #{pmenuBudgetWorkload} + and res.pmenu_budget_amount = #{pmenuBudgetAmount} @@ -218,7 +226,11 @@ is_tpl = #{isTpl}, baseline_id = #{baselineId}, base_time = #{baseTime}, - code = #{code} + code = #{code}, + pbudget_workload = #{pbudgetWorkload}, + pbudget_amount = #{pbudgetAmount}, + pmenu_budget_workload = #{pmenuBudgetWorkload}, + pmenu_budget_amount = #{pmenuBudgetAmount} product_name = #{productName}, @@ -243,6 +255,10 @@ baseline_id = #{baselineId}, base_time = #{baseTime}, code = #{code}, + pbudget_workload = #{pbudgetWorkload}, + pbudget_amount = #{pbudgetAmount}, + pmenu_budget_workload = #{pmenuBudgetWorkload}, + pmenu_budget_amount = #{pmenuBudgetAmount}, @@ -267,6 +283,10 @@ is_tpl = #{item.isTpl}, baseline_id = #{item.baselineId}, base_time = #{item.baseTime}, - code = #{item.code} + code = #{item.code}, + pbudget_workload = #{item.pbudgetWorkload}, + pbudget_amount = #{item.pbudgetAmount}, + pmenu_budget_workload = #{item.pmenuBudgetWorkload}, + pmenu_budget_amount = #{item.pmenuBudgetAmount} \ No newline at end of file diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectGroupMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectGroupMapper.xml index ad9166ef..2d2d369f 100644 --- a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectGroupMapper.xml +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectGroupMapper.xml @@ -3,14 +3,21 @@ - - + + + + and (res.id) in + + ( #{item}) + + + + delete from xm_project_group where project_id = #{projectId} - - - + + @@ -18,15 +25,9 @@ @@ -59,11 +60,11 @@ - + insert into xm_project_group( ) values ( - #{id},#{groupName},#{projectId},#{pgTypeId},#{pgTypeName} + #{id},#{groupName},#{projectId},#{pgTypeId},#{pgTypeName},#{leaderUserid},#{leaderUsername},#{ctime},#{ltime},#{productId},#{branchId},#{pgClass} ) @@ -77,13 +78,13 @@ - delete from xm_project_group + delete from xm_project_group where id = #{id} - update xm_project_group + update xm_project_group @@ -92,7 +93,7 @@ - update xm_project_group + update xm_project_group @@ -107,7 +108,7 @@ - update xm_project_group + update xm_project_group set where id = #{item.id} @@ -115,19 +116,20 @@ - delete from xm_project_group - where id in - - #{item.id } - + delete from xm_project_group + where + (id) in + + ( #{item.id} ) + - id,group_name,project_id,pg_type_id,pg_type_name + id,group_name,project_id,pg_type_id,pg_type_name,leader_userid,leader_username,ctime,ltime,product_id,branch_id,pg_class - + and res.id = #{id} @@ -135,25 +137,53 @@ and res.project_id = #{projectId} and res.pg_type_id = #{pgTypeId} and res.pg_type_name = #{pgTypeName} + and res.leader_userid = #{leaderUserid} + and res.leader_username = #{leaderUsername} + and date_format(res.ctime,'%Y-%m-%d') = date_format(#{ctime},'%Y-%m-%d') + and date_format(res.ltime,'%Y-%m-%d') = date_format(#{ltime},'%Y-%m-%d') + and res.product_id = #{productId} + and res.branch_id = #{branchId} + and res.pg_class = #{pgClass} group_name = #{groupName}, project_id = #{projectId}, pg_type_id = #{pgTypeId}, - pg_type_name = #{pgTypeName} + pg_type_name = #{pgTypeName}, + leader_userid = #{leaderUserid}, + leader_username = #{leaderUsername}, + ctime = #{ctime}, + ltime = #{ltime}, + product_id = #{productId}, + branch_id = #{branchId}, + pg_class = #{pgClass} group_name = #{groupName}, project_id = #{projectId}, pg_type_id = #{pgTypeId}, pg_type_name = #{pgTypeName}, + leader_userid = #{leaderUserid}, + leader_username = #{leaderUsername}, + ctime = #{ctime}, + ltime = #{ltime}, + product_id = #{productId}, + branch_id = #{branchId}, + pg_class = #{pgClass}, group_name = #{item.groupName}, project_id = #{item.projectId}, pg_type_id = #{item.pgTypeId}, - pg_type_name = #{item.pgTypeName} + pg_type_name = #{item.pgTypeName}, + leader_userid = #{item.leaderUserid}, + leader_username = #{item.leaderUsername}, + ctime = #{item.ctime}, + ltime = #{item.ltime}, + product_id = #{item.productId}, + branch_id = #{item.branchId}, + pg_class = #{item.pgClass} \ No newline at end of file diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectGroupUserMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectGroupUserMapper.xml index 2c420bb0..ed86209e 100644 --- a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectGroupUserMapper.xml +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectGroupUserMapper.xml @@ -3,8 +3,16 @@ - - + + + + and (res.id) in + + ( #{item}) + + + + delete from xm_project_group_user where group_id = #{groupId} @@ -16,15 +24,16 @@ order by is_head desc - - + + - + + + @@ -32,15 +41,9 @@ @@ -73,7 +76,7 @@ - + insert into xm_project_group_user( ) values ( @@ -91,13 +94,13 @@ - delete from xm_project_group_user + delete from xm_project_group_user where id = #{id} - update xm_project_group_user + update xm_project_group_user @@ -106,7 +109,7 @@ - update xm_project_group_user + update xm_project_group_user @@ -121,7 +124,7 @@ - update xm_project_group_user + update xm_project_group_user set where id = #{item.id} @@ -129,11 +132,12 @@ - delete from xm_project_group_user - where id in - - #{item.id } - + delete from xm_project_group_user + where + (id) in + + ( #{item.id} ) + @@ -141,16 +145,16 @@ join_time,id,group_id,userid,username,is_head,out_time,status,biz_proc_inst_id,biz_flow_state,project_id - + - and TO_CHAR(res.join_time,'YYYY-MM-DD') = TO_CHAR(#{joinTime},'YYYY-MM-DD') + and date_format(res.join_time,'%Y-%m-%d') = date_format(#{joinTime},'%Y-%m-%d') and res.id = #{id} and res.group_id = #{groupId} and res.userid = #{userid} and res.username = #{username} and res.is_head = #{isHead} - and TO_CHAR(res.out_time,'YYYY-MM-DD') = TO_CHAR(#{outTime},'YYYY-MM-DD') + and date_format(res.out_time,'%Y-%m-%d') = date_format(#{outTime},'%Y-%m-%d') and res.status = #{status} and res.biz_proc_inst_id = #{bizProcInstId} and res.biz_flow_state = #{bizFlowState} diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectPhaseMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectPhaseMapper.xml index 3092f9c8..5481f86d 100644 --- a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectPhaseMapper.xml +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectPhaseMapper.xml @@ -223,7 +223,7 @@ insert into xm_project_phase( ) values ( - #{id},#{phaseName},#{remark},#{parentPhaseId},#{branchId},#{projectId},#{beginDate},#{endDate},#{phaseBudgetHours},#{phaseBudgetStaffNu},#{ctime},#{phaseBudgetNouserAt},#{phaseBudgetInnerUserAt},#{phaseBudgetOutUserAt},#{projectBaselineId},#{bizProcInstId},#{bizFlowState},#{phaseBudgetWorkload},#{phaseActWorkload},#{phaseActInnerUserWorkload},#{phaseActOutUserWorkload},#{taskType},#{planType},#{seqNo},#{phaseBudgetInnerUserWorkload},#{phaseBudgetOutUserWorkload},#{actNouserAt},#{actInnerUserAt},#{phaseBudgetInnerUserPrice},#{phaseBudgetOutUserPrice},#{phaseBudgetOutUserCnt},#{phaseBudgetInnerUserCnt},#{actRate},#{phaseStatus},#{actOutUserAt},#{taskCnt},#{finishTaskCnt},#{iterationCnt},#{calcTime},#{taskBudgetWorkload},#{taskBudgetAt},#{mngUserid},#{mngUsername},#{milestone},#{pleaf},#{tagIds},#{tagNames},#{ntype},#{childrenCnt},#{ltime},#{isKeyPath},#{pidPaths},#{lvl},#{isTpl} + #{id},#{phaseName},#{remark},#{parentPhaseId},#{branchId},#{projectId},#{beginDate},#{endDate},#{phaseBudgetHours},#{phaseBudgetStaffNu},#{ctime},#{phaseBudgetNouserAt},#{phaseBudgetInnerUserAt},#{phaseBudgetOutUserAt},#{projectBaselineId},#{bizProcInstId},#{bizFlowState},#{phaseBudgetWorkload},#{phaseActWorkload},#{phaseActInnerUserWorkload},#{phaseActOutUserWorkload},#{taskType},#{planType},#{seqNo},#{phaseBudgetInnerUserWorkload},#{phaseBudgetOutUserWorkload},#{actNouserAt},#{actInnerUserAt},#{phaseBudgetInnerUserPrice},#{phaseBudgetOutUserPrice},#{phaseBudgetOutUserCnt},#{phaseBudgetInnerUserCnt},#{actRate},#{phaseStatus},#{actOutUserAt},#{taskCnt},#{finishTaskCnt},#{iterationCnt},#{calcTime},#{taskBudgetWorkload},#{taskBudgetAt},#{mngUserid},#{mngUsername},#{milestone},#{pleaf},#{tagIds},#{tagNames},#{ntype},#{childrenCnt},#{ltime},#{isKeyPath},#{pidPaths},#{lvl},#{isTpl},#{phaseClass},#{productId} ) @@ -286,7 +286,7 @@ - id,phase_name,remark,parent_phase_id,branch_id,project_id,begin_date,end_date,phase_budget_hours,phase_budget_staff_nu,ctime,phase_budget_nouser_at,phase_budget_inner_user_at,phase_budget_out_user_at,project_baseline_id,biz_proc_inst_id,biz_flow_state,phase_budget_workload,phase_act_workload,phase_act_inner_user_workload,phase_act_out_user_workload,task_type,plan_type,seq_no,phase_budget_inner_user_workload,phase_budget_out_user_workload,act_nouser_at,act_inner_user_at,phase_budget_inner_user_price,phase_budget_out_user_price,phase_budget_out_user_cnt,phase_budget_inner_user_cnt,act_rate,phase_status,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 + id,phase_name,remark,parent_phase_id,branch_id,project_id,begin_date,end_date,phase_budget_hours,phase_budget_staff_nu,ctime,phase_budget_nouser_at,phase_budget_inner_user_at,phase_budget_out_user_at,project_baseline_id,biz_proc_inst_id,biz_flow_state,phase_budget_workload,phase_act_workload,phase_act_inner_user_workload,phase_act_out_user_workload,task_type,plan_type,seq_no,phase_budget_inner_user_workload,phase_budget_out_user_workload,act_nouser_at,act_inner_user_at,phase_budget_inner_user_price,phase_budget_out_user_price,phase_budget_out_user_cnt,phase_budget_inner_user_cnt,act_rate,phase_status,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 @@ -345,6 +345,8 @@ and res.pid_paths = #{pidPaths} and res.lvl = #{lvl} and res.is_tpl = #{isTpl} + and res.phase_class = #{phaseClass} + and res.product_id = #{productId} @@ -400,7 +402,9 @@ is_key_path = #{isKeyPath}, pid_paths = #{pidPaths}, lvl = #{lvl}, - is_tpl = #{isTpl} + is_tpl = #{isTpl}, + phase_class = #{phaseClass}, + product_id = #{productId} phase_name = #{phaseName}, @@ -456,6 +460,8 @@ pid_paths = #{pidPaths}, lvl = #{lvl}, is_tpl = #{isTpl}, + phase_class = #{phaseClass}, + product_id = #{productId}, @@ -511,6 +517,8 @@ is_key_path = #{item.isKeyPath}, pid_paths = #{item.pidPaths}, lvl = #{item.lvl}, - is_tpl = #{item.isTpl} + is_tpl = #{item.isTpl}, + phase_class = #{item.phaseClass}, + product_id = #{item.productId} \ No newline at end of file