diff --git a/xm-core-ui-web/src/api/xm/core/xmProjectGroup.js b/xm-core-ui-web/src/api/xm/core/xmProjectGroup.js new file mode 100644 index 00000000..70927fce --- /dev/null +++ b/xm-core-ui-web/src/api/xm/core/xmProjectGroup.js @@ -0,0 +1,30 @@ +import axios from '@/utils/request' + +import config from '@/common/config' + +let base = config.getCoreBasePath(); + + +/** + * xm_project_group + *1 默认只开放普通查询,所有查询,只要上传 分页参数 {currentPage:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + *2 查询、新增、修改的参数格式 params={id:'主键 主键',groupName:'团队名称',projectId:'项目编号-属于产品线则可为空',pgTypeId:'项目团队类型编号',pgTypeName:'团队类型名称',leaderUserid:'团队负责人',leaderUsername:'负责人姓名',ctime:'创建时间',ltime:'更新时间',productId:'产品编号,属于项目组的团队则可为空',branchId:'机构编号',pgClass:'团队类别0项目1产品',pgroupId:'上级团队编号',lvl:'级别0级1级2级3级4级',pidPaths:'上级编号路径逗号分割,0,开始,本组编号+逗号结束',isTpl:'是否为模板',assUserid:'副组长编号',assUsername:'副组长姓名',childrenCnt:'下级团队数量',userCnt:'组员数量',qxCode:'权限码',calcWorkload:'是否计算工作量0否1是',ntype:'节点类型0管理团队、1执行团队'} + **/ + +//普通查询 条件之间and关系 +export const listXmProjectGroup = params => { return axios.get(`${base}/xm/core/xmProjectGroup/list`, { params: params }); }; + +//模糊查询xm_project_group 条件之间or关系 +//export const listXmProjectGroupKey = params => { return axios.get(`${base}/xm/core/xmProjectGroup/listKey`, { params: params }); }; + +//删除一条xm_project_group params={id:'主键 主键'} +export const delXmProjectGroup = params => { return axios.post(`${base}/xm/core/xmProjectGroup/del`,params); }; + +//批量删除xm_project_group params=[{id:'主键 主键'}] +export const batchDelXmProjectGroup = params => { return axios.post(`${base}/xm/core/xmProjectGroup/batchDel`, params); }; + +//修改一条xm_project_group记录 +export const editXmProjectGroup = params => { return axios.post(`${base}/xm/core/xmProjectGroup/edit`, params); }; + +//新增一条xm_project_group +export const addXmProjectGroup = params => { return axios.post(`${base}/xm/core/xmProjectGroup/add`, params); }; \ No newline at end of file diff --git a/xm-core-ui-web/src/api/xm/core/xmProjectGroupUser.js b/xm-core-ui-web/src/api/xm/core/xmProjectGroupUser.js new file mode 100644 index 00000000..34bff9ff --- /dev/null +++ b/xm-core-ui-web/src/api/xm/core/xmProjectGroupUser.js @@ -0,0 +1,30 @@ +import axios from '@/utils/request' + +import config from '@/common/config' + +let base = config.getCoreBasePath(); + + +/** + * xm_project_group_user + *1 默认只开放普通查询,所有查询,只要上传 分页参数 {currentPage:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + *2 查询、新增、修改的参数格式 params={groupId:'团队编号 主键',userid:'团队成员编号 主键',joinTime:'加入时间',username:'团队成员',outTime:'离队时间',status:'当前状态0参与中1已退出团队',obranchId:'组员原归属机构编号',isPri:'是否私人加入0否1是',seqNo:'排序号--从1开始',projectId:'项目编号',productId:'产品编号',pgClass:'0-项目,1-产品'} + **/ + +//普通查询 条件之间and关系 +export const listXmProjectGroupUser = params => { return axios.get(`${base}/xm/core/xmProjectGroupUser/list`, { params: params }); }; + +//模糊查询xm_project_group_user 条件之间or关系 +//export const listXmProjectGroupUserKey = params => { return axios.get(`${base}/xm/core/xmProjectGroupUser/listKey`, { params: params }); }; + +//删除一条xm_project_group_user params={groupId:'团队编号 主键',userid:'团队成员编号 主键'} +export const delXmProjectGroupUser = params => { return axios.post(`${base}/xm/core/xmProjectGroupUser/del`,params); }; + +//批量删除xm_project_group_user params=[{groupId:'团队编号 主键',userid:'团队成员编号 主键'}] +export const batchDelXmProjectGroupUser = params => { return axios.post(`${base}/xm/core/xmProjectGroupUser/batchDel`, params); }; + +//修改一条xm_project_group_user记录 +export const editXmProjectGroupUser = params => { return axios.post(`${base}/xm/core/xmProjectGroupUser/edit`, params); }; + +//新增一条xm_project_group_user +export const addXmProjectGroupUser = params => { return axios.post(`${base}/xm/core/xmProjectGroupUser/add`, params); }; \ No newline at end of file diff --git a/xm-core-ui-web/src/views/xm/core/xmProjectGroup/XmProjectGroupEdit.vue b/xm-core-ui-web/src/views/xm/core/xmProjectGroup/XmProjectGroupEdit.vue new file mode 100644 index 00000000..fc66fb58 --- /dev/null +++ b/xm-core-ui-web/src/views/xm/core/xmProjectGroup/XmProjectGroupEdit.vue @@ -0,0 +1,194 @@ + + + + + \ No newline at end of file diff --git a/xm-core-ui-web/src/views/xm/core/xmProjectGroup/XmProjectGroupMng.vue b/xm-core-ui-web/src/views/xm/core/xmProjectGroup/XmProjectGroupMng.vue new file mode 100644 index 00000000..17e8eeeb --- /dev/null +++ b/xm-core-ui-web/src/views/xm/core/xmProjectGroup/XmProjectGroupMng.vue @@ -0,0 +1,269 @@ + + + + + \ No newline at end of file diff --git a/xm-core-ui-web/src/views/xm/core/xmProjectGroupUser/XmProjectGroupUserEdit.vue b/xm-core-ui-web/src/views/xm/core/xmProjectGroupUser/XmProjectGroupUserEdit.vue new file mode 100644 index 00000000..006598cd --- /dev/null +++ b/xm-core-ui-web/src/views/xm/core/xmProjectGroupUser/XmProjectGroupUserEdit.vue @@ -0,0 +1,161 @@ + + + + + \ No newline at end of file diff --git a/xm-core-ui-web/src/views/xm/core/xmProjectGroupUser/XmProjectGroupUserMng.vue b/xm-core-ui-web/src/views/xm/core/xmProjectGroupUser/XmProjectGroupUserMng.vue new file mode 100644 index 00000000..cb43592c --- /dev/null +++ b/xm-core-ui-web/src/views/xm/core/xmProjectGroupUser/XmProjectGroupUserMng.vue @@ -0,0 +1,258 @@ + + + + + \ No newline at end of file diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmBranchStateHisController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmBranchStateHisController.java new file mode 100644 index 00000000..54291dbb --- /dev/null +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmBranchStateHisController.java @@ -0,0 +1,229 @@ +package com.xm.core.ctrl; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import com.mdp.safe.client.entity.User; +import com.mdp.safe.client.utils.LoginUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.stereotype.Controller; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; + +import static com.mdp.core.utils.ResponseHelper.*; +import static com.mdp.core.utils.BaseUtils.*; +import com.mdp.core.entity.Tips; +import com.mdp.core.err.BizException; +import com.mdp.mybatis.PageUtils; +import com.mdp.core.utils.RequestUtils; +import com.mdp.core.utils.NumberUtil; +import com.xm.core.service.XmBranchStateHisService; +import com.xm.core.entity.XmBranchStateHis; +/** + * url编制采用rest风格,如对xm_branch_state_his 机构内所有项目指标汇总的操作有增删改查,对应的url分别为:
+ * 新增: core/xmBranchStateHis/add
+ * 查询: core/xmBranchStateHis/list
+ * 模糊查询: core/xmBranchStateHis/listKey
+ * 修改: core/xmBranchStateHis/edit
+ * 删除: core/xmBranchStateHis/del
+ * 批量删除: core/xmBranchStateHis/batchDel
+ * 组织 com 顶级模块 xm 大模块 core 小模块
+ * 实体 XmBranchStateHis 表 xm_branch_state_his 当前主键(包括多主键): biz_date,branch_id; + ***/ +@RestController("xm.core.xmBranchStateHisController") +@RequestMapping(value="/**/core/xmBranchStateHis") +@Api(tags={"机构内所有项目指标汇总操作接口"}) +public class XmBranchStateHisController { + + static Logger logger =LoggerFactory.getLogger(XmBranchStateHisController.class); + + @Autowired + private XmBranchStateHisService xmBranchStateHisService; + + + + + @ApiOperation( value = "查询机构内所有项目指标汇总信息列表",notes=" ") + @ApiResponses({ + @ApiResponse(code = 200,response=XmBranchStateHis.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'错误码'},total:总记录数,data:[数据对象1,数据对象2,...]}") + }) + @RequestMapping(value="/list",method=RequestMethod.GET) + public Map listXmBranchStateHis( @RequestParam Map xmBranchStateHis){ + Map m = new HashMap<>(); + Tips tips=new Tips("查询成功"); + RequestUtils.transformArray(xmBranchStateHis, "pkList"); + PageUtils.startPage(xmBranchStateHis); + List> xmBranchStateHisList = xmBranchStateHisService.selectListMapByWhere(xmBranchStateHis); //列出XmBranchStateHis列表 + PageUtils.responePage(m, xmBranchStateHisList); + m.put("data",xmBranchStateHisList); + + m.put("tips", tips); + return m; + } + + @ApiOperation( value = "查询机构内所有项目指标汇总信息列表5日内的",notes=" ") + @ApiResponses({ + @ApiResponse(code = 200,response=XmBranchStateHis.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'错误码'},total:总记录数,data:[数据对象1,数据对象2,...]}") + }) + @RequestMapping(value="/listXmBranchFiveDayTaskCnt",method=RequestMethod.GET) + public Map listXmBranchFiveDayTaskCnt( @RequestParam Map xmBranchStateHis){ + Map m = new HashMap<>(); + Tips tips=new Tips("查询成功"); + User user= LoginUtils.getCurrentUserInfo(); + xmBranchStateHis.put("branchId",user.getBranchId()); + List> xmBranchStateHisList = xmBranchStateHisService.listXmBranchFiveDayTaskCnt(xmBranchStateHis); //列出XmBranchStateHis列表 + + m.put("data",xmBranchStateHisList); + m.put("tips", tips); + return m; + } + + + + /** + @ApiOperation( value = "新增一条机构内所有项目指标汇总信息",notes=" ") + @ApiResponses({ + @ApiResponse(code = 200,response=XmBranchStateHis.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") + }) + @RequestMapping(value="/add",method=RequestMethod.POST) + public Map addXmBranchStateHis(@RequestBody XmBranchStateHis xmBranchStateHis) { + Map m = new HashMap<>(); + Tips tips=new Tips("成功新增一条数据"); + try{ + boolean createPk=false; + if(!StringUtils.hasText(xmBranchStateHis.getBizDate())) { + createPk=true; + xmBranchStateHis.setBizDate(xmBranchStateHisService.createKey("bizDate")); + } + if(!StringUtils.hasText(xmBranchStateHis.getBranchId())) { + createPk=true; + xmBranchStateHis.setBranchId(xmBranchStateHisService.createKey("branchId")); + } + if(createPk==false){ + if(xmBranchStateHisService.selectOneObject(xmBranchStateHis) !=null ){ + return failed("pk-exists","编号重复,请修改编号再提交"); + } + } + xmBranchStateHisService.insert(xmBranchStateHis); + m.put("data",xmBranchStateHis); + }catch (BizException e) { + tips=e.getTips(); + logger.error("",e); + }catch (Exception e) { + tips.setFailureMsg(e.getMessage()); + logger.error("",e); + } + m.put("tips", tips); + return m; + } + */ + + /** + @ApiOperation( value = "删除一条机构内所有项目指标汇总信息",notes=" ") + @ApiResponses({ + @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}}") + }) + @RequestMapping(value="/del",method=RequestMethod.POST) + public Map delXmBranchStateHis(@RequestBody XmBranchStateHis xmBranchStateHis){ + Map m = new HashMap<>(); + Tips tips=new Tips("成功删除一条数据"); + try{ + if(!StringUtils.hasText(xmBranchStateHis.getBizDate())) { + return failed("pk-not-exists","请上送主键参数bizDate"); + } + if(!StringUtils.hasText(xmBranchStateHis.getBranchId())) { + return failed("pk-not-exists","请上送主键参数branchId"); + } + XmBranchStateHis xmBranchStateHisDb = xmBranchStateHisService.selectOneObject(xmBranchStateHis); + if( xmBranchStateHisDb == null ){ + return failed("data-not-exists","数据不存在,无法删除"); + } + xmBranchStateHisService.deleteByPk(xmBranchStateHis); + }catch (BizException e) { + tips=e.getTips(); + logger.error("",e); + }catch (Exception e) { + tips.setFailureMsg(e.getMessage()); + logger.error("",e); + } + m.put("tips", tips); + return m; + } + */ + + /** + @ApiOperation( value = "根据主键修改一条机构内所有项目指标汇总信息",notes=" ") + @ApiResponses({ + @ApiResponse(code = 200,response=XmBranchStateHis.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") + }) + @RequestMapping(value="/edit",method=RequestMethod.POST) + public Map editXmBranchStateHis(@RequestBody XmBranchStateHis xmBranchStateHis) { + Map m = new HashMap<>(); + Tips tips=new Tips("成功更新一条数据"); + try{ + if(!StringUtils.hasText(xmBranchStateHis.getBizDate())) { + return failed("pk-not-exists","请上送主键参数bizDate"); + } + if(!StringUtils.hasText(xmBranchStateHis.getBranchId())) { + return failed("pk-not-exists","请上送主键参数branchId"); + } + XmBranchStateHis xmBranchStateHisDb = xmBranchStateHisService.selectOneObject(xmBranchStateHis); + if( xmBranchStateHisDb == null ){ + return failed("data-not-exists","数据不存在,无法修改"); + } + xmBranchStateHisService.updateSomeFieldByPk(xmBranchStateHis); + m.put("data",xmBranchStateHis); + }catch (BizException e) { + tips=e.getTips(); + logger.error("",e); + }catch (Exception e) { + tips.setFailureMsg(e.getMessage()); + logger.error("",e); + } + m.put("tips", tips); + return m; + } + */ + + + + /** + @ApiOperation( value = "根据主键列表批量删除机构内所有项目指标汇总信息",notes=" ") + @ApiResponses({ + @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}") + }) + @RequestMapping(value="/batchDel",method=RequestMethod.POST) + public Map batchDelXmBranchStateHis(@RequestBody List xmBranchStateHiss) { + Map m = new HashMap<>(); + Tips tips=new Tips("成功删除"+xmBranchStateHiss.size()+"条数据"); + try{ + xmBranchStateHisService.batchDelete(xmBranchStateHiss); + }catch (BizException e) { + tips=e.getTips(); + logger.error("",e); + }catch (Exception e) { + tips.setFailureMsg(e.getMessage()); + logger.error("",e); + } + m.put("tips", tips); + return m; + } + */ +} diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmIterationStateHisController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmIterationStateHisController.java new file mode 100644 index 00000000..e18caa41 --- /dev/null +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmIterationStateHisController.java @@ -0,0 +1,209 @@ +package com.xm.core.ctrl; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.stereotype.Controller; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; + +import static com.mdp.core.utils.ResponseHelper.*; +import static com.mdp.core.utils.BaseUtils.*; +import com.mdp.core.entity.Tips; +import com.mdp.core.err.BizException; +import com.mdp.mybatis.PageUtils; +import com.mdp.core.utils.RequestUtils; +import com.mdp.core.utils.NumberUtil; +import com.xm.core.service.XmIterationStateHisService; +import com.xm.core.entity.XmIterationStateHis; +/** + * url编制采用rest风格,如对xm_iteration_state_his 迭代定义的操作有增删改查,对应的url分别为:
+ * 新增: core/xmIterationStateHis/add
+ * 查询: core/xmIterationStateHis/list
+ * 模糊查询: core/xmIterationStateHis/listKey
+ * 修改: core/xmIterationStateHis/edit
+ * 删除: core/xmIterationStateHis/del
+ * 批量删除: core/xmIterationStateHis/batchDel
+ * 组织 com 顶级模块 xm 大模块 core 小模块
+ * 实体 XmIterationStateHis 表 xm_iteration_state_his 当前主键(包括多主键): iteration_id,biz_date; + ***/ +@RestController("xm.core.xmIterationStateHisController") +@RequestMapping(value="/**/core/xmIterationStateHis") +@Api(tags={"迭代定义操作接口"}) +public class XmIterationStateHisController { + + static Logger logger =LoggerFactory.getLogger(XmIterationStateHisController.class); + + @Autowired + private XmIterationStateHisService xmIterationStateHisService; + + + + + @ApiOperation( value = "查询迭代定义信息列表",notes=" ") + @ApiResponses({ + @ApiResponse(code = 200,response=XmIterationStateHis.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'错误码'},total:总记录数,data:[数据对象1,数据对象2,...]}") + }) + @RequestMapping(value="/list",method=RequestMethod.GET) + public Map listXmIterationStateHis( @RequestParam Map xmIterationStateHis){ + Map m = new HashMap<>(); + Tips tips=new Tips("查询成功"); + RequestUtils.transformArray(xmIterationStateHis, "pkList"); + PageUtils.startPage(xmIterationStateHis); + List> xmIterationStateHisList = xmIterationStateHisService.selectListMapByWhere(xmIterationStateHis); //列出XmIterationStateHis列表 + PageUtils.responePage(m, xmIterationStateHisList); + m.put("data",xmIterationStateHisList); + + m.put("tips", tips); + return m; + } + + + + /** + @ApiOperation( value = "新增一条迭代定义信息",notes=" ") + @ApiResponses({ + @ApiResponse(code = 200,response=XmIterationStateHis.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") + }) + @RequestMapping(value="/add",method=RequestMethod.POST) + public Map addXmIterationStateHis(@RequestBody XmIterationStateHis xmIterationStateHis) { + Map m = new HashMap<>(); + Tips tips=new Tips("成功新增一条数据"); + try{ + boolean createPk=false; + if(!StringUtils.hasText(xmIterationStateHis.getIterationId())) { + createPk=true; + xmIterationStateHis.setIterationId(xmIterationStateHisService.createKey("iterationId")); + } + if(!StringUtils.hasText(xmIterationStateHis.getBizDate())) { + createPk=true; + xmIterationStateHis.setBizDate(xmIterationStateHisService.createKey("bizDate")); + } + if(createPk==false){ + if(xmIterationStateHisService.selectOneObject(xmIterationStateHis) !=null ){ + return failed("pk-exists","编号重复,请修改编号再提交"); + } + } + xmIterationStateHisService.insert(xmIterationStateHis); + m.put("data",xmIterationStateHis); + }catch (BizException e) { + tips=e.getTips(); + logger.error("",e); + }catch (Exception e) { + tips.setFailureMsg(e.getMessage()); + logger.error("",e); + } + m.put("tips", tips); + return m; + } + */ + + /** + @ApiOperation( value = "删除一条迭代定义信息",notes=" ") + @ApiResponses({ + @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}}") + }) + @RequestMapping(value="/del",method=RequestMethod.POST) + public Map delXmIterationStateHis(@RequestBody XmIterationStateHis xmIterationStateHis){ + Map m = new HashMap<>(); + Tips tips=new Tips("成功删除一条数据"); + try{ + if(!StringUtils.hasText(xmIterationStateHis.getIterationId())) { + return failed("pk-not-exists","请上送主键参数iterationId"); + } + if(!StringUtils.hasText(xmIterationStateHis.getBizDate())) { + return failed("pk-not-exists","请上送主键参数bizDate"); + } + XmIterationStateHis xmIterationStateHisDb = xmIterationStateHisService.selectOneObject(xmIterationStateHis); + if( xmIterationStateHisDb == null ){ + return failed("data-not-exists","数据不存在,无法删除"); + } + xmIterationStateHisService.deleteByPk(xmIterationStateHis); + }catch (BizException e) { + tips=e.getTips(); + logger.error("",e); + }catch (Exception e) { + tips.setFailureMsg(e.getMessage()); + logger.error("",e); + } + m.put("tips", tips); + return m; + } + */ + + /** + @ApiOperation( value = "根据主键修改一条迭代定义信息",notes=" ") + @ApiResponses({ + @ApiResponse(code = 200,response=XmIterationStateHis.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") + }) + @RequestMapping(value="/edit",method=RequestMethod.POST) + public Map editXmIterationStateHis(@RequestBody XmIterationStateHis xmIterationStateHis) { + Map m = new HashMap<>(); + Tips tips=new Tips("成功更新一条数据"); + try{ + if(!StringUtils.hasText(xmIterationStateHis.getIterationId())) { + return failed("pk-not-exists","请上送主键参数iterationId"); + } + if(!StringUtils.hasText(xmIterationStateHis.getBizDate())) { + return failed("pk-not-exists","请上送主键参数bizDate"); + } + XmIterationStateHis xmIterationStateHisDb = xmIterationStateHisService.selectOneObject(xmIterationStateHis); + if( xmIterationStateHisDb == null ){ + return failed("data-not-exists","数据不存在,无法修改"); + } + xmIterationStateHisService.updateSomeFieldByPk(xmIterationStateHis); + m.put("data",xmIterationStateHis); + }catch (BizException e) { + tips=e.getTips(); + logger.error("",e); + }catch (Exception e) { + tips.setFailureMsg(e.getMessage()); + logger.error("",e); + } + m.put("tips", tips); + return m; + } + */ + + + + /** + @ApiOperation( value = "根据主键列表批量删除迭代定义信息",notes=" ") + @ApiResponses({ + @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}") + }) + @RequestMapping(value="/batchDel",method=RequestMethod.POST) + public Map batchDelXmIterationStateHis(@RequestBody List xmIterationStateHiss) { + Map m = new HashMap<>(); + Tips tips=new Tips("成功删除"+xmIterationStateHiss.size()+"条数据"); + try{ + xmIterationStateHisService.batchDelete(xmIterationStateHiss); + }catch (BizException e) { + tips=e.getTips(); + logger.error("",e); + }catch (Exception e) { + tips.setFailureMsg(e.getMessage()); + logger.error("",e); + } + m.put("tips", tips); + return m; + } + */ +} diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmProductStateHisController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmProductStateHisController.java new file mode 100644 index 00000000..0ca3d430 --- /dev/null +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmProductStateHisController.java @@ -0,0 +1,209 @@ +package com.xm.core.ctrl; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.stereotype.Controller; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; + +import static com.mdp.core.utils.ResponseHelper.*; +import static com.mdp.core.utils.BaseUtils.*; +import com.mdp.core.entity.Tips; +import com.mdp.core.err.BizException; +import com.mdp.mybatis.PageUtils; +import com.mdp.core.utils.RequestUtils; +import com.mdp.core.utils.NumberUtil; +import com.xm.core.service.XmProductStateHisService; +import com.xm.core.entity.XmProductStateHis; +/** + * url编制采用rest风格,如对xm_product_state_his 功能状态表,无需前端维护,所有数据由汇总统计得出的操作有增删改查,对应的url分别为:
+ * 新增: core/xmProductStateHis/add
+ * 查询: core/xmProductStateHis/list
+ * 模糊查询: core/xmProductStateHis/listKey
+ * 修改: core/xmProductStateHis/edit
+ * 删除: core/xmProductStateHis/del
+ * 批量删除: core/xmProductStateHis/batchDel
+ * 组织 com 顶级模块 xm 大模块 core 小模块
+ * 实体 XmProductStateHis 表 xm_product_state_his 当前主键(包括多主键): product_id,biz_date; + ***/ +@RestController("xm.core.xmProductStateHisController") +@RequestMapping(value="/**/core/xmProductStateHis") +@Api(tags={"功能状态表,无需前端维护,所有数据由汇总统计得出操作接口"}) +public class XmProductStateHisController { + + static Logger logger =LoggerFactory.getLogger(XmProductStateHisController.class); + + @Autowired + private XmProductStateHisService xmProductStateHisService; + + + + + @ApiOperation( value = "查询功能状态表,无需前端维护,所有数据由汇总统计得出信息列表",notes=" ") + @ApiResponses({ + @ApiResponse(code = 200,response=XmProductStateHis.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'错误码'},total:总记录数,data:[数据对象1,数据对象2,...]}") + }) + @RequestMapping(value="/list",method=RequestMethod.GET) + public Map listXmProductStateHis( @RequestParam Map xmProductStateHis){ + Map m = new HashMap<>(); + Tips tips=new Tips("查询成功"); + RequestUtils.transformArray(xmProductStateHis, "pkList"); + PageUtils.startPage(xmProductStateHis); + List> xmProductStateHisList = xmProductStateHisService.selectListMapByWhere(xmProductStateHis); //列出XmProductStateHis列表 + PageUtils.responePage(m, xmProductStateHisList); + m.put("data",xmProductStateHisList); + + m.put("tips", tips); + return m; + } + + + + /** + @ApiOperation( value = "新增一条功能状态表,无需前端维护,所有数据由汇总统计得出信息",notes=" ") + @ApiResponses({ + @ApiResponse(code = 200,response=XmProductStateHis.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") + }) + @RequestMapping(value="/add",method=RequestMethod.POST) + public Map addXmProductStateHis(@RequestBody XmProductStateHis xmProductStateHis) { + Map m = new HashMap<>(); + Tips tips=new Tips("成功新增一条数据"); + try{ + boolean createPk=false; + if(!StringUtils.hasText(xmProductStateHis.getProductId())) { + createPk=true; + xmProductStateHis.setProductId(xmProductStateHisService.createKey("productId")); + } + if(!StringUtils.hasText(xmProductStateHis.getBizDate())) { + createPk=true; + xmProductStateHis.setBizDate(xmProductStateHisService.createKey("bizDate")); + } + if(createPk==false){ + if(xmProductStateHisService.selectOneObject(xmProductStateHis) !=null ){ + return failed("pk-exists","编号重复,请修改编号再提交"); + } + } + xmProductStateHisService.insert(xmProductStateHis); + m.put("data",xmProductStateHis); + }catch (BizException e) { + tips=e.getTips(); + logger.error("",e); + }catch (Exception e) { + tips.setFailureMsg(e.getMessage()); + logger.error("",e); + } + m.put("tips", tips); + return m; + } + */ + + /** + @ApiOperation( value = "删除一条功能状态表,无需前端维护,所有数据由汇总统计得出信息",notes=" ") + @ApiResponses({ + @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}}") + }) + @RequestMapping(value="/del",method=RequestMethod.POST) + public Map delXmProductStateHis(@RequestBody XmProductStateHis xmProductStateHis){ + Map m = new HashMap<>(); + Tips tips=new Tips("成功删除一条数据"); + try{ + if(!StringUtils.hasText(xmProductStateHis.getProductId())) { + return failed("pk-not-exists","请上送主键参数productId"); + } + if(!StringUtils.hasText(xmProductStateHis.getBizDate())) { + return failed("pk-not-exists","请上送主键参数bizDate"); + } + XmProductStateHis xmProductStateHisDb = xmProductStateHisService.selectOneObject(xmProductStateHis); + if( xmProductStateHisDb == null ){ + return failed("data-not-exists","数据不存在,无法删除"); + } + xmProductStateHisService.deleteByPk(xmProductStateHis); + }catch (BizException e) { + tips=e.getTips(); + logger.error("",e); + }catch (Exception e) { + tips.setFailureMsg(e.getMessage()); + logger.error("",e); + } + m.put("tips", tips); + return m; + } + */ + + /** + @ApiOperation( value = "根据主键修改一条功能状态表,无需前端维护,所有数据由汇总统计得出信息",notes=" ") + @ApiResponses({ + @ApiResponse(code = 200,response=XmProductStateHis.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") + }) + @RequestMapping(value="/edit",method=RequestMethod.POST) + public Map editXmProductStateHis(@RequestBody XmProductStateHis xmProductStateHis) { + Map m = new HashMap<>(); + Tips tips=new Tips("成功更新一条数据"); + try{ + if(!StringUtils.hasText(xmProductStateHis.getProductId())) { + return failed("pk-not-exists","请上送主键参数productId"); + } + if(!StringUtils.hasText(xmProductStateHis.getBizDate())) { + return failed("pk-not-exists","请上送主键参数bizDate"); + } + XmProductStateHis xmProductStateHisDb = xmProductStateHisService.selectOneObject(xmProductStateHis); + if( xmProductStateHisDb == null ){ + return failed("data-not-exists","数据不存在,无法修改"); + } + xmProductStateHisService.updateSomeFieldByPk(xmProductStateHis); + m.put("data",xmProductStateHis); + }catch (BizException e) { + tips=e.getTips(); + logger.error("",e); + }catch (Exception e) { + tips.setFailureMsg(e.getMessage()); + logger.error("",e); + } + m.put("tips", tips); + return m; + } + */ + + + + /** + @ApiOperation( value = "根据主键列表批量删除功能状态表,无需前端维护,所有数据由汇总统计得出信息",notes=" ") + @ApiResponses({ + @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}") + }) + @RequestMapping(value="/batchDel",method=RequestMethod.POST) + public Map batchDelXmProductStateHis(@RequestBody List xmProductStateHiss) { + Map m = new HashMap<>(); + Tips tips=new Tips("成功删除"+xmProductStateHiss.size()+"条数据"); + try{ + xmProductStateHisService.batchDelete(xmProductStateHiss); + }catch (BizException e) { + tips=e.getTips(); + logger.error("",e); + }catch (Exception e) { + tips.setFailureMsg(e.getMessage()); + logger.error("",e); + } + m.put("tips", tips); + return m; + } + */ +} diff --git a/xm-core/src/main/java/com/xm/core/entity/XmBranchStateHis.java b/xm-core/src/main/java/com/xm/core/entity/XmBranchStateHis.java new file mode 100644 index 00000000..33116c0c --- /dev/null +++ b/xm-core/src/main/java/com/xm/core/entity/XmBranchStateHis.java @@ -0,0 +1,995 @@ +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 小模块
+ * 实体 XmBranchStateHis所有属性名:
+ * projectCnt,bizDate,fileCnt,calcTime,calcStatus,phaseCnt,phaseFinishCnt,needPayAt,finishPayAt,needColAt,finishColAt,riskCnt,riskFinishCnt,branchId,branchName,budgetNouserAt,budgetOuserAt,budgetIuserAt,actUserAt,actIuserAt,actOuserAt,actNouserAt,finishRate,budgetWorkload,budgetOuserWorkload,budgetIuserWorkload,estimateWorkload,actWorkload,actOuserWorkload,actIuserWorkload,needPayCnt,finishPayCnt,finishPayUserCnt,needPayUserCnt,testCases,execCases,designCases,finishCases,iterationCnt,productCnt,minStartTime,maxEndTime,menuCnt,menuFinishCnt,menuExecCnt,menuUnstartCnt,menuCloseCnt,taskCnt,taskUnstartCnt,taskExecCnt,taskFinishCnt,taskSetCnt,taskOutCnt,taskCloseCnt,bugCnt,closedBugs,resolvedBugs,activeBugs,confirmedBugs,planWorkhours,planWorkerCnt,actWorkerCnt,budgetAt,actAt;
+ * 表 xm_branch_state_his 机构内所有项目指标汇总的所有字段名:
+ * project_cnt,biz_date,file_cnt,calc_time,calc_status,phase_cnt,phase_finish_cnt,need_pay_at,finish_pay_at,need_col_at,finish_col_at,risk_cnt,risk_finish_cnt,branch_id,branch_name,budget_nouser_at,budget_ouser_at,budget_iuser_at,act_user_at,act_iuser_at,act_ouser_at,act_nouser_at,finish_rate,budget_workload,budget_ouser_workload,budget_iuser_workload,estimate_workload,act_workload,act_ouser_workload,act_iuser_workload,need_pay_cnt,finish_pay_cnt,finish_pay_user_cnt,need_pay_user_cnt,test_cases,exec_cases,design_cases,finish_cases,iteration_cnt,product_cnt,min_start_time,max_end_time,menu_cnt,menu_finish_cnt,menu_exec_cnt,menu_unstart_cnt,menu_close_cnt,task_cnt,task_unstart_cnt,task_exec_cnt,task_finish_cnt,task_set_cnt,task_out_cnt,task_close_cnt,bug_cnt,closed_bugs,resolved_bugs,active_bugs,confirmed_bugs,plan_workhours,plan_worker_cnt,act_worker_cnt,budget_at,act_at;
+ * 当前主键(包括多主键):
+ * biz_date,branch_id;
+ */ +@ApiModel(description="机构内所有项目指标汇总") +public class XmBranchStateHis implements java.io.Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(notes="统计日期yyyy-mm-dd类型,主键",allowEmptyValue=true,example="",allowableValues="") + String bizDate; + + @ApiModelProperty(notes="机构编号,主键",allowEmptyValue=true,example="",allowableValues="") + String branchId; + + + @ApiModelProperty(notes="项目数",allowEmptyValue=true,example="",allowableValues="") + Integer projectCnt; + + @ApiModelProperty(notes="文件数据",allowEmptyValue=true,example="",allowableValues="") + Integer fileCnt; + + @ApiModelProperty(notes="统计执行日期",allowEmptyValue=true,example="",allowableValues="") + Date calcTime; + + @ApiModelProperty(notes="0-暂时的1稳定的,暂时的可以被覆盖,稳定的不允许覆盖",allowEmptyValue=true,example="",allowableValues="") + String calcStatus; + + @ApiModelProperty(notes="项目阶段计划数",allowEmptyValue=true,example="",allowableValues="") + Integer phaseCnt; + + @ApiModelProperty(notes="项目阶段计划已完成数",allowEmptyValue=true,example="",allowableValues="") + Integer phaseFinishCnt; + + @ApiModelProperty(notes="待付款总金额",allowEmptyValue=true,example="",allowableValues="") + BigDecimal needPayAt; + + @ApiModelProperty(notes="已付款总金额",allowEmptyValue=true,example="",allowableValues="") + BigDecimal finishPayAt; + + @ApiModelProperty(notes="待收款总金额",allowEmptyValue=true,example="",allowableValues="") + BigDecimal needColAt; + + @ApiModelProperty(notes="已收款总金额",allowEmptyValue=true,example="",allowableValues="") + BigDecimal finishColAt; + + @ApiModelProperty(notes="项目风险总数",allowEmptyValue=true,example="",allowableValues="") + Integer riskCnt; + + @ApiModelProperty(notes="已完成风险总数",allowEmptyValue=true,example="",allowableValues="") + Integer riskFinishCnt; + + @ApiModelProperty(notes="机构名称",allowEmptyValue=true,example="",allowableValues="") + String branchName; + + @ApiModelProperty(notes="项目总非人力预算-来自任务表",allowEmptyValue=true,example="",allowableValues="") + BigDecimal budgetNouserAt; + + @ApiModelProperty(notes="项目总外购人力预算-来自任务表",allowEmptyValue=true,example="",allowableValues="") + BigDecimal budgetOuserAt; + + @ApiModelProperty(notes="项目总内部人力预算-来自任务表",allowEmptyValue=true,example="",allowableValues="") + BigDecimal budgetIuserAt; + + @ApiModelProperty(notes="项目总人力成本",allowEmptyValue=true,example="",allowableValues="") + BigDecimal actUserAt; + + @ApiModelProperty(notes="项目总内部人力成本金额",allowEmptyValue=true,example="",allowableValues="") + BigDecimal actIuserAt; + + @ApiModelProperty(notes="项目总外购人力成本金额",allowEmptyValue=true,example="",allowableValues="") + BigDecimal actOuserAt; + + @ApiModelProperty(notes="项目总非人力成本",allowEmptyValue=true,example="",allowableValues="") + BigDecimal actNouserAt; + + @ApiModelProperty(notes="项目进度0~100之间,来自任务表",allowEmptyValue=true,example="",allowableValues="") + BigDecimal finishRate; + + @ApiModelProperty(notes="项目总预算工作量-来自任务表",allowEmptyValue=true,example="",allowableValues="") + BigDecimal budgetWorkload; + + @ApiModelProperty(notes="外购人力总工作量-应该大于或等于阶段计划外购人力总成本",allowEmptyValue=true,example="",allowableValues="") + BigDecimal budgetOuserWorkload; + + @ApiModelProperty(notes="内部人力总工作量-应该大于或等于阶段计划内部人力总成本",allowEmptyValue=true,example="",allowableValues="") + BigDecimal budgetIuserWorkload; + + @ApiModelProperty(notes="预估工时=计划结束时间在计算当日前完成的任务的预算工时总和",allowEmptyValue=true,example="",allowableValues="") + BigDecimal estimateWorkload; + + @ApiModelProperty(notes="已完成工作量-来自计划中实际完成工作量",allowEmptyValue=true,example="",allowableValues="") + BigDecimal actWorkload; + + @ApiModelProperty(notes="实际外购总工作量,来自任务表",allowEmptyValue=true,example="",allowableValues="") + BigDecimal actOuserWorkload; + + @ApiModelProperty(notes="实际内部总工作量,来自任务表",allowEmptyValue=true,example="",allowableValues="") + BigDecimal actIuserWorkload; + + @ApiModelProperty(notes="待付款笔数",allowEmptyValue=true,example="",allowableValues="") + BigDecimal needPayCnt; + + @ApiModelProperty(notes="完成付款总比数",allowEmptyValue=true,example="",allowableValues="") + BigDecimal finishPayCnt; + + @ApiModelProperty(notes="已付款总人数",allowEmptyValue=true,example="",allowableValues="") + BigDecimal finishPayUserCnt; + + @ApiModelProperty(notes="待付款总人数",allowEmptyValue=true,example="",allowableValues="") + BigDecimal needPayUserCnt; + + @ApiModelProperty(notes="测试案例总数",allowEmptyValue=true,example="",allowableValues="") + Integer testCases; + + @ApiModelProperty(notes="测试中案例总数",allowEmptyValue=true,example="",allowableValues="") + Integer execCases; + + @ApiModelProperty(notes="设计中案例总数",allowEmptyValue=true,example="",allowableValues="") + Integer designCases; + + @ApiModelProperty(notes="完成案例总数",allowEmptyValue=true,example="",allowableValues="") + Integer finishCases; + + @ApiModelProperty(notes="迭代数",allowEmptyValue=true,example="",allowableValues="") + Integer iterationCnt; + + @ApiModelProperty(notes="产品数",allowEmptyValue=true,example="",allowableValues="") + Integer productCnt; + + @ApiModelProperty(notes="最早开始日期",allowEmptyValue=true,example="",allowableValues="") + Date minStartTime; + + @ApiModelProperty(notes="最晚结束时间",allowEmptyValue=true,example="",allowableValues="") + Date maxEndTime; + + @ApiModelProperty(notes="故事数",allowEmptyValue=true,example="",allowableValues="") + Integer menuCnt; + + @ApiModelProperty(notes="已完成需求数,2状态需求",allowEmptyValue=true,example="",allowableValues="") + Integer menuFinishCnt; + + @ApiModelProperty(notes="执行中需求数,1状态的需求",allowEmptyValue=true,example="",allowableValues="") + Integer menuExecCnt; + + @ApiModelProperty(notes="未开始需求数,0状态数据",allowEmptyValue=true,example="",allowableValues="") + Integer menuUnstartCnt; + + @ApiModelProperty(notes="已关闭需求数,3状态数据",allowEmptyValue=true,example="",allowableValues="") + Integer menuCloseCnt; + + @ApiModelProperty(notes="任务总数",allowEmptyValue=true,example="",allowableValues="") + Integer taskCnt; + + @ApiModelProperty(notes="待开始任务",allowEmptyValue=true,example="",allowableValues="") + Integer taskUnstartCnt; + + @ApiModelProperty(notes="执行中任务",allowEmptyValue=true,example="",allowableValues="") + Integer taskExecCnt; + + @ApiModelProperty(notes="已完成任务总数-来自任务表",allowEmptyValue=true,example="",allowableValues="") + Integer taskFinishCnt; + + @ApiModelProperty(notes="已结算任务",allowEmptyValue=true,example="",allowableValues="") + Integer taskSetCnt; + + @ApiModelProperty(notes="外购任务数,来自任务表",allowEmptyValue=true,example="",allowableValues="") + BigDecimal taskOutCnt; + + @ApiModelProperty(notes="已关闭任务",allowEmptyValue=true,example="",allowableValues="") + Integer taskCloseCnt; + + @ApiModelProperty(notes="bug数目",allowEmptyValue=true,example="",allowableValues="") + Integer bugCnt; + + @ApiModelProperty(notes="已关闭bug总数",allowEmptyValue=true,example="",allowableValues="") + Integer closedBugs; + + @ApiModelProperty(notes="已解决bug总数",allowEmptyValue=true,example="",allowableValues="") + Integer resolvedBugs; + + @ApiModelProperty(notes="激活的bug总数",allowEmptyValue=true,example="",allowableValues="") + Integer activeBugs; + + @ApiModelProperty(notes="已解决bug总数",allowEmptyValue=true,example="",allowableValues="") + Integer confirmedBugs; + + @ApiModelProperty(notes="工期(小时)",allowEmptyValue=true,example="",allowableValues="") + BigDecimal planWorkhours; + + @ApiModelProperty(notes="总人数",allowEmptyValue=true,example="",allowableValues="") + Integer planWorkerCnt; + + @ApiModelProperty(notes="实际投入人员数",allowEmptyValue=true,example="",allowableValues="") + BigDecimal actWorkerCnt; + + @ApiModelProperty(notes="预算金额",allowEmptyValue=true,example="",allowableValues="") + BigDecimal budgetAt; + + @ApiModelProperty(notes="实际金额",allowEmptyValue=true,example="",allowableValues="") + BigDecimal actAt; + + /**统计日期yyyy-mm-dd类型,机构编号**/ + public XmBranchStateHis(String bizDate,String branchId) { + this.bizDate = bizDate; + this.branchId = branchId; + } + + /**机构内所有项目指标汇总**/ + public XmBranchStateHis() { + } + + /** + * 项目数 + **/ + public void setProjectCnt(Integer projectCnt) { + this.projectCnt = projectCnt; + } + /** + * 统计日期yyyy-mm-dd类型 + **/ + public void setBizDate(String bizDate) { + this.bizDate = bizDate; + } + /** + * 文件数据 + **/ + public void setFileCnt(Integer fileCnt) { + this.fileCnt = fileCnt; + } + /** + * 统计执行日期 + **/ + public void setCalcTime(Date calcTime) { + this.calcTime = calcTime; + } + /** + * 0-暂时的1稳定的,暂时的可以被覆盖,稳定的不允许覆盖 + **/ + public void setCalcStatus(String calcStatus) { + this.calcStatus = calcStatus; + } + /** + * 项目阶段计划数 + **/ + public void setPhaseCnt(Integer phaseCnt) { + this.phaseCnt = phaseCnt; + } + /** + * 项目阶段计划已完成数 + **/ + public void setPhaseFinishCnt(Integer phaseFinishCnt) { + this.phaseFinishCnt = phaseFinishCnt; + } + /** + * 待付款总金额 + **/ + public void setNeedPayAt(BigDecimal needPayAt) { + this.needPayAt = needPayAt; + } + /** + * 已付款总金额 + **/ + public void setFinishPayAt(BigDecimal finishPayAt) { + this.finishPayAt = finishPayAt; + } + /** + * 待收款总金额 + **/ + public void setNeedColAt(BigDecimal needColAt) { + this.needColAt = needColAt; + } + /** + * 已收款总金额 + **/ + public void setFinishColAt(BigDecimal finishColAt) { + this.finishColAt = finishColAt; + } + /** + * 项目风险总数 + **/ + public void setRiskCnt(Integer riskCnt) { + this.riskCnt = riskCnt; + } + /** + * 已完成风险总数 + **/ + public void setRiskFinishCnt(Integer riskFinishCnt) { + this.riskFinishCnt = riskFinishCnt; + } + /** + * 机构编号 + **/ + public void setBranchId(String branchId) { + this.branchId = branchId; + } + /** + * 机构名称 + **/ + public void setBranchName(String branchName) { + this.branchName = branchName; + } + /** + * 项目总非人力预算-来自任务表 + **/ + public void setBudgetNouserAt(BigDecimal budgetNouserAt) { + this.budgetNouserAt = budgetNouserAt; + } + /** + * 项目总外购人力预算-来自任务表 + **/ + public void setBudgetOuserAt(BigDecimal budgetOuserAt) { + this.budgetOuserAt = budgetOuserAt; + } + /** + * 项目总内部人力预算-来自任务表 + **/ + public void setBudgetIuserAt(BigDecimal budgetIuserAt) { + this.budgetIuserAt = budgetIuserAt; + } + /** + * 项目总人力成本 + **/ + public void setActUserAt(BigDecimal actUserAt) { + this.actUserAt = actUserAt; + } + /** + * 项目总内部人力成本金额 + **/ + public void setActIuserAt(BigDecimal actIuserAt) { + this.actIuserAt = actIuserAt; + } + /** + * 项目总外购人力成本金额 + **/ + public void setActOuserAt(BigDecimal actOuserAt) { + this.actOuserAt = actOuserAt; + } + /** + * 项目总非人力成本 + **/ + public void setActNouserAt(BigDecimal actNouserAt) { + this.actNouserAt = actNouserAt; + } + /** + * 项目进度0~100之间,来自任务表 + **/ + public void setFinishRate(BigDecimal finishRate) { + this.finishRate = finishRate; + } + /** + * 项目总预算工作量-来自任务表 + **/ + public void setBudgetWorkload(BigDecimal budgetWorkload) { + this.budgetWorkload = budgetWorkload; + } + /** + * 外购人力总工作量-应该大于或等于阶段计划外购人力总成本 + **/ + public void setBudgetOuserWorkload(BigDecimal budgetOuserWorkload) { + this.budgetOuserWorkload = budgetOuserWorkload; + } + /** + * 内部人力总工作量-应该大于或等于阶段计划内部人力总成本 + **/ + public void setBudgetIuserWorkload(BigDecimal budgetIuserWorkload) { + this.budgetIuserWorkload = budgetIuserWorkload; + } + /** + * 预估工时=计划结束时间在计算当日前完成的任务的预算工时总和 + **/ + public void setEstimateWorkload(BigDecimal estimateWorkload) { + this.estimateWorkload = estimateWorkload; + } + /** + * 已完成工作量-来自计划中实际完成工作量 + **/ + public void setActWorkload(BigDecimal actWorkload) { + this.actWorkload = actWorkload; + } + /** + * 实际外购总工作量,来自任务表 + **/ + public void setActOuserWorkload(BigDecimal actOuserWorkload) { + this.actOuserWorkload = actOuserWorkload; + } + /** + * 实际内部总工作量,来自任务表 + **/ + public void setActIuserWorkload(BigDecimal actIuserWorkload) { + this.actIuserWorkload = actIuserWorkload; + } + /** + * 待付款笔数 + **/ + public void setNeedPayCnt(BigDecimal needPayCnt) { + this.needPayCnt = needPayCnt; + } + /** + * 完成付款总比数 + **/ + public void setFinishPayCnt(BigDecimal finishPayCnt) { + this.finishPayCnt = finishPayCnt; + } + /** + * 已付款总人数 + **/ + public void setFinishPayUserCnt(BigDecimal finishPayUserCnt) { + this.finishPayUserCnt = finishPayUserCnt; + } + /** + * 待付款总人数 + **/ + public void setNeedPayUserCnt(BigDecimal needPayUserCnt) { + this.needPayUserCnt = needPayUserCnt; + } + /** + * 测试案例总数 + **/ + public void setTestCases(Integer testCases) { + this.testCases = testCases; + } + /** + * 测试中案例总数 + **/ + public void setExecCases(Integer execCases) { + this.execCases = execCases; + } + /** + * 设计中案例总数 + **/ + public void setDesignCases(Integer designCases) { + this.designCases = designCases; + } + /** + * 完成案例总数 + **/ + public void setFinishCases(Integer finishCases) { + this.finishCases = finishCases; + } + /** + * 迭代数 + **/ + public void setIterationCnt(Integer iterationCnt) { + this.iterationCnt = iterationCnt; + } + /** + * 产品数 + **/ + public void setProductCnt(Integer productCnt) { + this.productCnt = productCnt; + } + /** + * 最早开始日期 + **/ + public void setMinStartTime(Date minStartTime) { + this.minStartTime = minStartTime; + } + /** + * 最晚结束时间 + **/ + public void setMaxEndTime(Date maxEndTime) { + this.maxEndTime = maxEndTime; + } + /** + * 故事数 + **/ + public void setMenuCnt(Integer menuCnt) { + this.menuCnt = menuCnt; + } + /** + * 已完成需求数,2状态需求 + **/ + public void setMenuFinishCnt(Integer menuFinishCnt) { + this.menuFinishCnt = menuFinishCnt; + } + /** + * 执行中需求数,1状态的需求 + **/ + public void setMenuExecCnt(Integer menuExecCnt) { + this.menuExecCnt = menuExecCnt; + } + /** + * 未开始需求数,0状态数据 + **/ + public void setMenuUnstartCnt(Integer menuUnstartCnt) { + this.menuUnstartCnt = menuUnstartCnt; + } + /** + * 已关闭需求数,3状态数据 + **/ + public void setMenuCloseCnt(Integer menuCloseCnt) { + this.menuCloseCnt = menuCloseCnt; + } + /** + * 任务总数 + **/ + public void setTaskCnt(Integer taskCnt) { + this.taskCnt = taskCnt; + } + /** + * 待开始任务 + **/ + public void setTaskUnstartCnt(Integer taskUnstartCnt) { + this.taskUnstartCnt = taskUnstartCnt; + } + /** + * 执行中任务 + **/ + public void setTaskExecCnt(Integer taskExecCnt) { + this.taskExecCnt = taskExecCnt; + } + /** + * 已完成任务总数-来自任务表 + **/ + public void setTaskFinishCnt(Integer taskFinishCnt) { + this.taskFinishCnt = taskFinishCnt; + } + /** + * 已结算任务 + **/ + public void setTaskSetCnt(Integer taskSetCnt) { + this.taskSetCnt = taskSetCnt; + } + /** + * 外购任务数,来自任务表 + **/ + public void setTaskOutCnt(BigDecimal taskOutCnt) { + this.taskOutCnt = taskOutCnt; + } + /** + * 已关闭任务 + **/ + public void setTaskCloseCnt(Integer taskCloseCnt) { + this.taskCloseCnt = taskCloseCnt; + } + /** + * bug数目 + **/ + public void setBugCnt(Integer bugCnt) { + this.bugCnt = bugCnt; + } + /** + * 已关闭bug总数 + **/ + public void setClosedBugs(Integer closedBugs) { + this.closedBugs = closedBugs; + } + /** + * 已解决bug总数 + **/ + public void setResolvedBugs(Integer resolvedBugs) { + this.resolvedBugs = resolvedBugs; + } + /** + * 激活的bug总数 + **/ + public void setActiveBugs(Integer activeBugs) { + this.activeBugs = activeBugs; + } + /** + * 已解决bug总数 + **/ + public void setConfirmedBugs(Integer confirmedBugs) { + this.confirmedBugs = confirmedBugs; + } + /** + * 工期(小时) + **/ + public void setPlanWorkhours(BigDecimal planWorkhours) { + this.planWorkhours = planWorkhours; + } + /** + * 总人数 + **/ + public void setPlanWorkerCnt(Integer planWorkerCnt) { + this.planWorkerCnt = planWorkerCnt; + } + /** + * 实际投入人员数 + **/ + public void setActWorkerCnt(BigDecimal actWorkerCnt) { + this.actWorkerCnt = actWorkerCnt; + } + /** + * 预算金额 + **/ + public void setBudgetAt(BigDecimal budgetAt) { + this.budgetAt = budgetAt; + } + /** + * 实际金额 + **/ + public void setActAt(BigDecimal actAt) { + this.actAt = actAt; + } + + /** + * 项目数 + **/ + public Integer getProjectCnt() { + return this.projectCnt; + } + /** + * 统计日期yyyy-mm-dd类型 + **/ + public String getBizDate() { + return this.bizDate; + } + /** + * 文件数据 + **/ + public Integer getFileCnt() { + return this.fileCnt; + } + /** + * 统计执行日期 + **/ + public Date getCalcTime() { + return this.calcTime; + } + /** + * 0-暂时的1稳定的,暂时的可以被覆盖,稳定的不允许覆盖 + **/ + public String getCalcStatus() { + return this.calcStatus; + } + /** + * 项目阶段计划数 + **/ + public Integer getPhaseCnt() { + return this.phaseCnt; + } + /** + * 项目阶段计划已完成数 + **/ + public Integer getPhaseFinishCnt() { + return this.phaseFinishCnt; + } + /** + * 待付款总金额 + **/ + public BigDecimal getNeedPayAt() { + return this.needPayAt; + } + /** + * 已付款总金额 + **/ + public BigDecimal getFinishPayAt() { + return this.finishPayAt; + } + /** + * 待收款总金额 + **/ + public BigDecimal getNeedColAt() { + return this.needColAt; + } + /** + * 已收款总金额 + **/ + public BigDecimal getFinishColAt() { + return this.finishColAt; + } + /** + * 项目风险总数 + **/ + public Integer getRiskCnt() { + return this.riskCnt; + } + /** + * 已完成风险总数 + **/ + public Integer getRiskFinishCnt() { + return this.riskFinishCnt; + } + /** + * 机构编号 + **/ + public String getBranchId() { + return this.branchId; + } + /** + * 机构名称 + **/ + public String getBranchName() { + return this.branchName; + } + /** + * 项目总非人力预算-来自任务表 + **/ + public BigDecimal getBudgetNouserAt() { + return this.budgetNouserAt; + } + /** + * 项目总外购人力预算-来自任务表 + **/ + public BigDecimal getBudgetOuserAt() { + return this.budgetOuserAt; + } + /** + * 项目总内部人力预算-来自任务表 + **/ + public BigDecimal getBudgetIuserAt() { + return this.budgetIuserAt; + } + /** + * 项目总人力成本 + **/ + public BigDecimal getActUserAt() { + return this.actUserAt; + } + /** + * 项目总内部人力成本金额 + **/ + public BigDecimal getActIuserAt() { + return this.actIuserAt; + } + /** + * 项目总外购人力成本金额 + **/ + public BigDecimal getActOuserAt() { + return this.actOuserAt; + } + /** + * 项目总非人力成本 + **/ + public BigDecimal getActNouserAt() { + return this.actNouserAt; + } + /** + * 项目进度0~100之间,来自任务表 + **/ + public BigDecimal getFinishRate() { + return this.finishRate; + } + /** + * 项目总预算工作量-来自任务表 + **/ + public BigDecimal getBudgetWorkload() { + return this.budgetWorkload; + } + /** + * 外购人力总工作量-应该大于或等于阶段计划外购人力总成本 + **/ + public BigDecimal getBudgetOuserWorkload() { + return this.budgetOuserWorkload; + } + /** + * 内部人力总工作量-应该大于或等于阶段计划内部人力总成本 + **/ + public BigDecimal getBudgetIuserWorkload() { + return this.budgetIuserWorkload; + } + /** + * 预估工时=计划结束时间在计算当日前完成的任务的预算工时总和 + **/ + public BigDecimal getEstimateWorkload() { + return this.estimateWorkload; + } + /** + * 已完成工作量-来自计划中实际完成工作量 + **/ + public BigDecimal getActWorkload() { + return this.actWorkload; + } + /** + * 实际外购总工作量,来自任务表 + **/ + public BigDecimal getActOuserWorkload() { + return this.actOuserWorkload; + } + /** + * 实际内部总工作量,来自任务表 + **/ + public BigDecimal getActIuserWorkload() { + return this.actIuserWorkload; + } + /** + * 待付款笔数 + **/ + public BigDecimal getNeedPayCnt() { + return this.needPayCnt; + } + /** + * 完成付款总比数 + **/ + public BigDecimal getFinishPayCnt() { + return this.finishPayCnt; + } + /** + * 已付款总人数 + **/ + public BigDecimal getFinishPayUserCnt() { + return this.finishPayUserCnt; + } + /** + * 待付款总人数 + **/ + public BigDecimal getNeedPayUserCnt() { + return this.needPayUserCnt; + } + /** + * 测试案例总数 + **/ + public Integer getTestCases() { + return this.testCases; + } + /** + * 测试中案例总数 + **/ + public Integer getExecCases() { + return this.execCases; + } + /** + * 设计中案例总数 + **/ + public Integer getDesignCases() { + return this.designCases; + } + /** + * 完成案例总数 + **/ + public Integer getFinishCases() { + return this.finishCases; + } + /** + * 迭代数 + **/ + public Integer getIterationCnt() { + return this.iterationCnt; + } + /** + * 产品数 + **/ + public Integer getProductCnt() { + return this.productCnt; + } + /** + * 最早开始日期 + **/ + public Date getMinStartTime() { + return this.minStartTime; + } + /** + * 最晚结束时间 + **/ + public Date getMaxEndTime() { + return this.maxEndTime; + } + /** + * 故事数 + **/ + public Integer getMenuCnt() { + return this.menuCnt; + } + /** + * 已完成需求数,2状态需求 + **/ + public Integer getMenuFinishCnt() { + return this.menuFinishCnt; + } + /** + * 执行中需求数,1状态的需求 + **/ + public Integer getMenuExecCnt() { + return this.menuExecCnt; + } + /** + * 未开始需求数,0状态数据 + **/ + public Integer getMenuUnstartCnt() { + return this.menuUnstartCnt; + } + /** + * 已关闭需求数,3状态数据 + **/ + public Integer getMenuCloseCnt() { + return this.menuCloseCnt; + } + /** + * 任务总数 + **/ + public Integer getTaskCnt() { + return this.taskCnt; + } + /** + * 待开始任务 + **/ + public Integer getTaskUnstartCnt() { + return this.taskUnstartCnt; + } + /** + * 执行中任务 + **/ + public Integer getTaskExecCnt() { + return this.taskExecCnt; + } + /** + * 已完成任务总数-来自任务表 + **/ + public Integer getTaskFinishCnt() { + return this.taskFinishCnt; + } + /** + * 已结算任务 + **/ + public Integer getTaskSetCnt() { + return this.taskSetCnt; + } + /** + * 外购任务数,来自任务表 + **/ + public BigDecimal getTaskOutCnt() { + return this.taskOutCnt; + } + /** + * 已关闭任务 + **/ + public Integer getTaskCloseCnt() { + return this.taskCloseCnt; + } + /** + * bug数目 + **/ + public Integer getBugCnt() { + return this.bugCnt; + } + /** + * 已关闭bug总数 + **/ + public Integer getClosedBugs() { + return this.closedBugs; + } + /** + * 已解决bug总数 + **/ + public Integer getResolvedBugs() { + return this.resolvedBugs; + } + /** + * 激活的bug总数 + **/ + public Integer getActiveBugs() { + return this.activeBugs; + } + /** + * 已解决bug总数 + **/ + public Integer getConfirmedBugs() { + return this.confirmedBugs; + } + /** + * 工期(小时) + **/ + public BigDecimal getPlanWorkhours() { + return this.planWorkhours; + } + /** + * 总人数 + **/ + public Integer getPlanWorkerCnt() { + return this.planWorkerCnt; + } + /** + * 实际投入人员数 + **/ + public BigDecimal getActWorkerCnt() { + return this.actWorkerCnt; + } + /** + * 预算金额 + **/ + public BigDecimal getBudgetAt() { + return this.budgetAt; + } + /** + * 实际金额 + **/ + public BigDecimal getActAt() { + return this.actAt; + } + +} \ No newline at end of file diff --git a/xm-core/src/main/java/com/xm/core/entity/XmIterationStateHis.java b/xm-core/src/main/java/com/xm/core/entity/XmIterationStateHis.java new file mode 100644 index 00000000..7bdf8eaf --- /dev/null +++ b/xm-core/src/main/java/com/xm/core/entity/XmIterationStateHis.java @@ -0,0 +1,1040 @@ +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 小模块
+ * 实体 XmIterationStateHis所有属性名:
+ * iterationId,bizDate,fileCnt,iterationName,calcTime,calcStatus,phaseCnt,phaseFinishCnt,needPayAt,finishPayAt,needColAt,finishColAt,riskCnt,riskFinishCnt,branchId,branchName,budgetNouserAt,budgetOuserAt,budgetIuserAt,actUserAt,actIuserAt,actOuserAt,actNouserAt,finishRate,budgetWorkload,budgetOuserWorkload,budgetIuserWorkload,estimateWorkload,actWorkload,projectStatus,actOuserWorkload,actIuserWorkload,needPayCnt,finishPayCnt,finishPayUserCnt,needPayUserCnt,testCases,execCases,designCases,finishCases,iterationCnt,productCnt,minStartTime,maxEndTime,menuCnt,menuFinishCnt,menuExecCnt,menuUnstartCnt,menuCloseCnt,taskCnt,taskUnstartCnt,taskExecCnt,taskFinishCnt,taskSetCnt,taskOutCnt,taskCloseCnt,bugCnt,closedBugs,resolvedBugs,activeBugs,confirmedBugs,planWorkhours,planWorkerCnt,actWorkerCnt,projectCnt,budgetAt,actAt;
+ * 表 xm_iteration_state_his 项目指标日统计表的所有字段名:
+ * iteration_id,biz_date,file_cnt,iteration_name,calc_time,calc_status,phase_cnt,phase_finish_cnt,need_pay_at,finish_pay_at,need_col_at,finish_col_at,risk_cnt,risk_finish_cnt,branch_id,branch_name,budget_nouser_at,budget_ouser_at,budget_iuser_at,act_user_at,act_iuser_at,act_ouser_at,act_nouser_at,finish_rate,budget_workload,budget_ouser_workload,budget_iuser_workload,estimate_workload,act_workload,project_status,act_ouser_workload,act_iuser_workload,need_pay_cnt,finish_pay_cnt,finish_pay_user_cnt,need_pay_user_cnt,test_cases,exec_cases,design_cases,finish_cases,iteration_cnt,product_cnt,min_start_time,max_end_time,menu_cnt,menu_finish_cnt,menu_exec_cnt,menu_unstart_cnt,menu_close_cnt,task_cnt,task_unstart_cnt,task_exec_cnt,task_finish_cnt,task_set_cnt,task_out_cnt,task_close_cnt,bug_cnt,closed_bugs,resolved_bugs,active_bugs,confirmed_bugs,plan_workhours,plan_worker_cnt,act_worker_cnt,project_cnt,budget_at,act_at;
+ * 当前主键(包括多主键):
+ * iteration_id,biz_date;
+ */ +@ApiModel(description="项目指标日统计表") +public class XmIterationStateHis implements java.io.Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(notes="迭代编号,主键",allowEmptyValue=true,example="",allowableValues="") + String iterationId; + + @ApiModelProperty(notes="统计日期yyyy-mm-dd类型,主键",allowEmptyValue=true,example="",allowableValues="") + String bizDate; + + + @ApiModelProperty(notes="文件数据",allowEmptyValue=true,example="",allowableValues="") + Integer fileCnt; + + @ApiModelProperty(notes="迭代名称",allowEmptyValue=true,example="",allowableValues="") + String iterationName; + + @ApiModelProperty(notes="统计执行日期",allowEmptyValue=true,example="",allowableValues="") + Date calcTime; + + @ApiModelProperty(notes="0-暂时的1稳定的,暂时的可以被覆盖,稳定的不允许覆盖",allowEmptyValue=true,example="",allowableValues="") + String calcStatus; + + @ApiModelProperty(notes="项目阶段计划数",allowEmptyValue=true,example="",allowableValues="") + Integer phaseCnt; + + @ApiModelProperty(notes="项目阶段计划已完成数",allowEmptyValue=true,example="",allowableValues="") + Integer phaseFinishCnt; + + @ApiModelProperty(notes="待付款总金额",allowEmptyValue=true,example="",allowableValues="") + BigDecimal needPayAt; + + @ApiModelProperty(notes="已付款总金额",allowEmptyValue=true,example="",allowableValues="") + BigDecimal finishPayAt; + + @ApiModelProperty(notes="待收款总金额",allowEmptyValue=true,example="",allowableValues="") + BigDecimal needColAt; + + @ApiModelProperty(notes="已收款总金额",allowEmptyValue=true,example="",allowableValues="") + BigDecimal finishColAt; + + @ApiModelProperty(notes="项目风险总数",allowEmptyValue=true,example="",allowableValues="") + Integer riskCnt; + + @ApiModelProperty(notes="已完成风险总数",allowEmptyValue=true,example="",allowableValues="") + Integer riskFinishCnt; + + @ApiModelProperty(notes="机构编号",allowEmptyValue=true,example="",allowableValues="") + String branchId; + + @ApiModelProperty(notes="机构名称",allowEmptyValue=true,example="",allowableValues="") + String branchName; + + @ApiModelProperty(notes="项目总非人力预算-来自任务表",allowEmptyValue=true,example="",allowableValues="") + BigDecimal budgetNouserAt; + + @ApiModelProperty(notes="项目总外购人力预算-来自任务表",allowEmptyValue=true,example="",allowableValues="") + BigDecimal budgetOuserAt; + + @ApiModelProperty(notes="项目总内部人力预算-来自任务表",allowEmptyValue=true,example="",allowableValues="") + BigDecimal budgetIuserAt; + + @ApiModelProperty(notes="项目总人力成本",allowEmptyValue=true,example="",allowableValues="") + BigDecimal actUserAt; + + @ApiModelProperty(notes="项目总内部人力成本金额",allowEmptyValue=true,example="",allowableValues="") + BigDecimal actIuserAt; + + @ApiModelProperty(notes="项目总外购人力成本金额",allowEmptyValue=true,example="",allowableValues="") + BigDecimal actOuserAt; + + @ApiModelProperty(notes="项目总非人力成本",allowEmptyValue=true,example="",allowableValues="") + BigDecimal actNouserAt; + + @ApiModelProperty(notes="项目进度0~100之间,来自任务表",allowEmptyValue=true,example="",allowableValues="") + BigDecimal finishRate; + + @ApiModelProperty(notes="项目总预算工作量-来自任务表",allowEmptyValue=true,example="",allowableValues="") + BigDecimal budgetWorkload; + + @ApiModelProperty(notes="外购人力总工作量-应该大于或等于阶段计划外购人力总成本",allowEmptyValue=true,example="",allowableValues="") + BigDecimal budgetOuserWorkload; + + @ApiModelProperty(notes="内部人力总工作量-应该大于或等于阶段计划内部人力总成本",allowEmptyValue=true,example="",allowableValues="") + BigDecimal budgetIuserWorkload; + + @ApiModelProperty(notes="预估工时=计划结束时间在计算当日前完成的任务的预算工时总和",allowEmptyValue=true,example="",allowableValues="") + BigDecimal estimateWorkload; + + @ApiModelProperty(notes="已完成工作量-来自计划中实际完成工作量",allowEmptyValue=true,example="",allowableValues="") + BigDecimal actWorkload; + + @ApiModelProperty(notes="0|初始",allowEmptyValue=true,example="",allowableValues="") + String projectStatus; + + @ApiModelProperty(notes="实际外购总工作量,来自任务表",allowEmptyValue=true,example="",allowableValues="") + BigDecimal actOuserWorkload; + + @ApiModelProperty(notes="实际内部总工作量,来自任务表",allowEmptyValue=true,example="",allowableValues="") + BigDecimal actIuserWorkload; + + @ApiModelProperty(notes="待付款笔数",allowEmptyValue=true,example="",allowableValues="") + BigDecimal needPayCnt; + + @ApiModelProperty(notes="完成付款总比数",allowEmptyValue=true,example="",allowableValues="") + BigDecimal finishPayCnt; + + @ApiModelProperty(notes="已付款总人数",allowEmptyValue=true,example="",allowableValues="") + BigDecimal finishPayUserCnt; + + @ApiModelProperty(notes="待付款总人数",allowEmptyValue=true,example="",allowableValues="") + BigDecimal needPayUserCnt; + + @ApiModelProperty(notes="测试案例总数",allowEmptyValue=true,example="",allowableValues="") + Integer testCases; + + @ApiModelProperty(notes="测试中案例总数",allowEmptyValue=true,example="",allowableValues="") + Integer execCases; + + @ApiModelProperty(notes="设计中案例总数",allowEmptyValue=true,example="",allowableValues="") + Integer designCases; + + @ApiModelProperty(notes="完成案例总数",allowEmptyValue=true,example="",allowableValues="") + Integer finishCases; + + @ApiModelProperty(notes="迭代数",allowEmptyValue=true,example="",allowableValues="") + Integer iterationCnt; + + @ApiModelProperty(notes="产品数",allowEmptyValue=true,example="",allowableValues="") + Integer productCnt; + + @ApiModelProperty(notes="最早开始日期",allowEmptyValue=true,example="",allowableValues="") + Date minStartTime; + + @ApiModelProperty(notes="最晚结束时间",allowEmptyValue=true,example="",allowableValues="") + Date maxEndTime; + + @ApiModelProperty(notes="故事数",allowEmptyValue=true,example="",allowableValues="") + Integer menuCnt; + + @ApiModelProperty(notes="已完成需求数,2状态需求",allowEmptyValue=true,example="",allowableValues="") + Integer menuFinishCnt; + + @ApiModelProperty(notes="执行中需求数,1状态的需求",allowEmptyValue=true,example="",allowableValues="") + Integer menuExecCnt; + + @ApiModelProperty(notes="未开始需求数,0状态数据",allowEmptyValue=true,example="",allowableValues="") + Integer menuUnstartCnt; + + @ApiModelProperty(notes="已关闭需求数,3状态数据",allowEmptyValue=true,example="",allowableValues="") + Integer menuCloseCnt; + + @ApiModelProperty(notes="任务总数",allowEmptyValue=true,example="",allowableValues="") + Integer taskCnt; + + @ApiModelProperty(notes="待开始任务",allowEmptyValue=true,example="",allowableValues="") + Integer taskUnstartCnt; + + @ApiModelProperty(notes="执行中任务",allowEmptyValue=true,example="",allowableValues="") + Integer taskExecCnt; + + @ApiModelProperty(notes="已完成任务总数-来自任务表",allowEmptyValue=true,example="",allowableValues="") + Integer taskFinishCnt; + + @ApiModelProperty(notes="已结算任务",allowEmptyValue=true,example="",allowableValues="") + Integer taskSetCnt; + + @ApiModelProperty(notes="外购任务数,来自任务表",allowEmptyValue=true,example="",allowableValues="") + BigDecimal taskOutCnt; + + @ApiModelProperty(notes="已关闭任务",allowEmptyValue=true,example="",allowableValues="") + Integer taskCloseCnt; + + @ApiModelProperty(notes="bug数目",allowEmptyValue=true,example="",allowableValues="") + Integer bugCnt; + + @ApiModelProperty(notes="已关闭bug总数",allowEmptyValue=true,example="",allowableValues="") + Integer closedBugs; + + @ApiModelProperty(notes="已解决bug总数",allowEmptyValue=true,example="",allowableValues="") + Integer resolvedBugs; + + @ApiModelProperty(notes="激活的bug总数",allowEmptyValue=true,example="",allowableValues="") + Integer activeBugs; + + @ApiModelProperty(notes="已解决bug总数",allowEmptyValue=true,example="",allowableValues="") + Integer confirmedBugs; + + @ApiModelProperty(notes="工期(小时)",allowEmptyValue=true,example="",allowableValues="") + BigDecimal planWorkhours; + + @ApiModelProperty(notes="总人数",allowEmptyValue=true,example="",allowableValues="") + Integer planWorkerCnt; + + @ApiModelProperty(notes="实际投入人员数",allowEmptyValue=true,example="",allowableValues="") + BigDecimal actWorkerCnt; + + @ApiModelProperty(notes="项目数",allowEmptyValue=true,example="",allowableValues="") + Integer projectCnt; + + @ApiModelProperty(notes="预算总金额",allowEmptyValue=true,example="",allowableValues="") + BigDecimal budgetAt; + + @ApiModelProperty(notes="实际总金额",allowEmptyValue=true,example="",allowableValues="") + BigDecimal actAt; + + /**迭代编号,统计日期yyyy-mm-dd类型**/ + public XmIterationStateHis(String iterationId,String bizDate) { + this.iterationId = iterationId; + this.bizDate = bizDate; + } + + /**项目指标日统计表**/ + public XmIterationStateHis() { + } + + /** + * 迭代编号 + **/ + public void setIterationId(String iterationId) { + this.iterationId = iterationId; + } + /** + * 统计日期yyyy-mm-dd类型 + **/ + public void setBizDate(String bizDate) { + this.bizDate = bizDate; + } + /** + * 文件数据 + **/ + public void setFileCnt(Integer fileCnt) { + this.fileCnt = fileCnt; + } + /** + * 迭代名称 + **/ + public void setIterationName(String iterationName) { + this.iterationName = iterationName; + } + /** + * 统计执行日期 + **/ + public void setCalcTime(Date calcTime) { + this.calcTime = calcTime; + } + /** + * 0-暂时的1稳定的,暂时的可以被覆盖,稳定的不允许覆盖 + **/ + public void setCalcStatus(String calcStatus) { + this.calcStatus = calcStatus; + } + /** + * 项目阶段计划数 + **/ + public void setPhaseCnt(Integer phaseCnt) { + this.phaseCnt = phaseCnt; + } + /** + * 项目阶段计划已完成数 + **/ + public void setPhaseFinishCnt(Integer phaseFinishCnt) { + this.phaseFinishCnt = phaseFinishCnt; + } + /** + * 待付款总金额 + **/ + public void setNeedPayAt(BigDecimal needPayAt) { + this.needPayAt = needPayAt; + } + /** + * 已付款总金额 + **/ + public void setFinishPayAt(BigDecimal finishPayAt) { + this.finishPayAt = finishPayAt; + } + /** + * 待收款总金额 + **/ + public void setNeedColAt(BigDecimal needColAt) { + this.needColAt = needColAt; + } + /** + * 已收款总金额 + **/ + public void setFinishColAt(BigDecimal finishColAt) { + this.finishColAt = finishColAt; + } + /** + * 项目风险总数 + **/ + public void setRiskCnt(Integer riskCnt) { + this.riskCnt = riskCnt; + } + /** + * 已完成风险总数 + **/ + public void setRiskFinishCnt(Integer riskFinishCnt) { + this.riskFinishCnt = riskFinishCnt; + } + /** + * 机构编号 + **/ + public void setBranchId(String branchId) { + this.branchId = branchId; + } + /** + * 机构名称 + **/ + public void setBranchName(String branchName) { + this.branchName = branchName; + } + /** + * 项目总非人力预算-来自任务表 + **/ + public void setBudgetNouserAt(BigDecimal budgetNouserAt) { + this.budgetNouserAt = budgetNouserAt; + } + /** + * 项目总外购人力预算-来自任务表 + **/ + public void setBudgetOuserAt(BigDecimal budgetOuserAt) { + this.budgetOuserAt = budgetOuserAt; + } + /** + * 项目总内部人力预算-来自任务表 + **/ + public void setBudgetIuserAt(BigDecimal budgetIuserAt) { + this.budgetIuserAt = budgetIuserAt; + } + /** + * 项目总人力成本 + **/ + public void setActUserAt(BigDecimal actUserAt) { + this.actUserAt = actUserAt; + } + /** + * 项目总内部人力成本金额 + **/ + public void setActIuserAt(BigDecimal actIuserAt) { + this.actIuserAt = actIuserAt; + } + /** + * 项目总外购人力成本金额 + **/ + public void setActOuserAt(BigDecimal actOuserAt) { + this.actOuserAt = actOuserAt; + } + /** + * 项目总非人力成本 + **/ + public void setActNouserAt(BigDecimal actNouserAt) { + this.actNouserAt = actNouserAt; + } + /** + * 项目进度0~100之间,来自任务表 + **/ + public void setFinishRate(BigDecimal finishRate) { + this.finishRate = finishRate; + } + /** + * 项目总预算工作量-来自任务表 + **/ + public void setBudgetWorkload(BigDecimal budgetWorkload) { + this.budgetWorkload = budgetWorkload; + } + /** + * 外购人力总工作量-应该大于或等于阶段计划外购人力总成本 + **/ + public void setBudgetOuserWorkload(BigDecimal budgetOuserWorkload) { + this.budgetOuserWorkload = budgetOuserWorkload; + } + /** + * 内部人力总工作量-应该大于或等于阶段计划内部人力总成本 + **/ + public void setBudgetIuserWorkload(BigDecimal budgetIuserWorkload) { + this.budgetIuserWorkload = budgetIuserWorkload; + } + /** + * 预估工时=计划结束时间在计算当日前完成的任务的预算工时总和 + **/ + public void setEstimateWorkload(BigDecimal estimateWorkload) { + this.estimateWorkload = estimateWorkload; + } + /** + * 已完成工作量-来自计划中实际完成工作量 + **/ + public void setActWorkload(BigDecimal actWorkload) { + this.actWorkload = actWorkload; + } + /** + * 0|初始 + **/ + public void setProjectStatus(String projectStatus) { + this.projectStatus = projectStatus; + } + /** + * 实际外购总工作量,来自任务表 + **/ + public void setActOuserWorkload(BigDecimal actOuserWorkload) { + this.actOuserWorkload = actOuserWorkload; + } + /** + * 实际内部总工作量,来自任务表 + **/ + public void setActIuserWorkload(BigDecimal actIuserWorkload) { + this.actIuserWorkload = actIuserWorkload; + } + /** + * 待付款笔数 + **/ + public void setNeedPayCnt(BigDecimal needPayCnt) { + this.needPayCnt = needPayCnt; + } + /** + * 完成付款总比数 + **/ + public void setFinishPayCnt(BigDecimal finishPayCnt) { + this.finishPayCnt = finishPayCnt; + } + /** + * 已付款总人数 + **/ + public void setFinishPayUserCnt(BigDecimal finishPayUserCnt) { + this.finishPayUserCnt = finishPayUserCnt; + } + /** + * 待付款总人数 + **/ + public void setNeedPayUserCnt(BigDecimal needPayUserCnt) { + this.needPayUserCnt = needPayUserCnt; + } + /** + * 测试案例总数 + **/ + public void setTestCases(Integer testCases) { + this.testCases = testCases; + } + /** + * 测试中案例总数 + **/ + public void setExecCases(Integer execCases) { + this.execCases = execCases; + } + /** + * 设计中案例总数 + **/ + public void setDesignCases(Integer designCases) { + this.designCases = designCases; + } + /** + * 完成案例总数 + **/ + public void setFinishCases(Integer finishCases) { + this.finishCases = finishCases; + } + /** + * 迭代数 + **/ + public void setIterationCnt(Integer iterationCnt) { + this.iterationCnt = iterationCnt; + } + /** + * 产品数 + **/ + public void setProductCnt(Integer productCnt) { + this.productCnt = productCnt; + } + /** + * 最早开始日期 + **/ + public void setMinStartTime(Date minStartTime) { + this.minStartTime = minStartTime; + } + /** + * 最晚结束时间 + **/ + public void setMaxEndTime(Date maxEndTime) { + this.maxEndTime = maxEndTime; + } + /** + * 故事数 + **/ + public void setMenuCnt(Integer menuCnt) { + this.menuCnt = menuCnt; + } + /** + * 已完成需求数,2状态需求 + **/ + public void setMenuFinishCnt(Integer menuFinishCnt) { + this.menuFinishCnt = menuFinishCnt; + } + /** + * 执行中需求数,1状态的需求 + **/ + public void setMenuExecCnt(Integer menuExecCnt) { + this.menuExecCnt = menuExecCnt; + } + /** + * 未开始需求数,0状态数据 + **/ + public void setMenuUnstartCnt(Integer menuUnstartCnt) { + this.menuUnstartCnt = menuUnstartCnt; + } + /** + * 已关闭需求数,3状态数据 + **/ + public void setMenuCloseCnt(Integer menuCloseCnt) { + this.menuCloseCnt = menuCloseCnt; + } + /** + * 任务总数 + **/ + public void setTaskCnt(Integer taskCnt) { + this.taskCnt = taskCnt; + } + /** + * 待开始任务 + **/ + public void setTaskUnstartCnt(Integer taskUnstartCnt) { + this.taskUnstartCnt = taskUnstartCnt; + } + /** + * 执行中任务 + **/ + public void setTaskExecCnt(Integer taskExecCnt) { + this.taskExecCnt = taskExecCnt; + } + /** + * 已完成任务总数-来自任务表 + **/ + public void setTaskFinishCnt(Integer taskFinishCnt) { + this.taskFinishCnt = taskFinishCnt; + } + /** + * 已结算任务 + **/ + public void setTaskSetCnt(Integer taskSetCnt) { + this.taskSetCnt = taskSetCnt; + } + /** + * 外购任务数,来自任务表 + **/ + public void setTaskOutCnt(BigDecimal taskOutCnt) { + this.taskOutCnt = taskOutCnt; + } + /** + * 已关闭任务 + **/ + public void setTaskCloseCnt(Integer taskCloseCnt) { + this.taskCloseCnt = taskCloseCnt; + } + /** + * bug数目 + **/ + public void setBugCnt(Integer bugCnt) { + this.bugCnt = bugCnt; + } + /** + * 已关闭bug总数 + **/ + public void setClosedBugs(Integer closedBugs) { + this.closedBugs = closedBugs; + } + /** + * 已解决bug总数 + **/ + public void setResolvedBugs(Integer resolvedBugs) { + this.resolvedBugs = resolvedBugs; + } + /** + * 激活的bug总数 + **/ + public void setActiveBugs(Integer activeBugs) { + this.activeBugs = activeBugs; + } + /** + * 已解决bug总数 + **/ + public void setConfirmedBugs(Integer confirmedBugs) { + this.confirmedBugs = confirmedBugs; + } + /** + * 工期(小时) + **/ + public void setPlanWorkhours(BigDecimal planWorkhours) { + this.planWorkhours = planWorkhours; + } + /** + * 总人数 + **/ + public void setPlanWorkerCnt(Integer planWorkerCnt) { + this.planWorkerCnt = planWorkerCnt; + } + /** + * 实际投入人员数 + **/ + public void setActWorkerCnt(BigDecimal actWorkerCnt) { + this.actWorkerCnt = actWorkerCnt; + } + /** + * 项目数 + **/ + public void setProjectCnt(Integer projectCnt) { + this.projectCnt = projectCnt; + } + /** + * 预算总金额 + **/ + public void setBudgetAt(BigDecimal budgetAt) { + this.budgetAt = budgetAt; + } + /** + * 实际总金额 + **/ + public void setActAt(BigDecimal actAt) { + this.actAt = actAt; + } + + /** + * 迭代编号 + **/ + public String getIterationId() { + return this.iterationId; + } + /** + * 统计日期yyyy-mm-dd类型 + **/ + public String getBizDate() { + return this.bizDate; + } + /** + * 文件数据 + **/ + public Integer getFileCnt() { + return this.fileCnt; + } + /** + * 迭代名称 + **/ + public String getIterationName() { + return this.iterationName; + } + /** + * 统计执行日期 + **/ + public Date getCalcTime() { + return this.calcTime; + } + /** + * 0-暂时的1稳定的,暂时的可以被覆盖,稳定的不允许覆盖 + **/ + public String getCalcStatus() { + return this.calcStatus; + } + /** + * 项目阶段计划数 + **/ + public Integer getPhaseCnt() { + return this.phaseCnt; + } + /** + * 项目阶段计划已完成数 + **/ + public Integer getPhaseFinishCnt() { + return this.phaseFinishCnt; + } + /** + * 待付款总金额 + **/ + public BigDecimal getNeedPayAt() { + return this.needPayAt; + } + /** + * 已付款总金额 + **/ + public BigDecimal getFinishPayAt() { + return this.finishPayAt; + } + /** + * 待收款总金额 + **/ + public BigDecimal getNeedColAt() { + return this.needColAt; + } + /** + * 已收款总金额 + **/ + public BigDecimal getFinishColAt() { + return this.finishColAt; + } + /** + * 项目风险总数 + **/ + public Integer getRiskCnt() { + return this.riskCnt; + } + /** + * 已完成风险总数 + **/ + public Integer getRiskFinishCnt() { + return this.riskFinishCnt; + } + /** + * 机构编号 + **/ + public String getBranchId() { + return this.branchId; + } + /** + * 机构名称 + **/ + public String getBranchName() { + return this.branchName; + } + /** + * 项目总非人力预算-来自任务表 + **/ + public BigDecimal getBudgetNouserAt() { + return this.budgetNouserAt; + } + /** + * 项目总外购人力预算-来自任务表 + **/ + public BigDecimal getBudgetOuserAt() { + return this.budgetOuserAt; + } + /** + * 项目总内部人力预算-来自任务表 + **/ + public BigDecimal getBudgetIuserAt() { + return this.budgetIuserAt; + } + /** + * 项目总人力成本 + **/ + public BigDecimal getActUserAt() { + return this.actUserAt; + } + /** + * 项目总内部人力成本金额 + **/ + public BigDecimal getActIuserAt() { + return this.actIuserAt; + } + /** + * 项目总外购人力成本金额 + **/ + public BigDecimal getActOuserAt() { + return this.actOuserAt; + } + /** + * 项目总非人力成本 + **/ + public BigDecimal getActNouserAt() { + return this.actNouserAt; + } + /** + * 项目进度0~100之间,来自任务表 + **/ + public BigDecimal getFinishRate() { + return this.finishRate; + } + /** + * 项目总预算工作量-来自任务表 + **/ + public BigDecimal getBudgetWorkload() { + return this.budgetWorkload; + } + /** + * 外购人力总工作量-应该大于或等于阶段计划外购人力总成本 + **/ + public BigDecimal getBudgetOuserWorkload() { + return this.budgetOuserWorkload; + } + /** + * 内部人力总工作量-应该大于或等于阶段计划内部人力总成本 + **/ + public BigDecimal getBudgetIuserWorkload() { + return this.budgetIuserWorkload; + } + /** + * 预估工时=计划结束时间在计算当日前完成的任务的预算工时总和 + **/ + public BigDecimal getEstimateWorkload() { + return this.estimateWorkload; + } + /** + * 已完成工作量-来自计划中实际完成工作量 + **/ + public BigDecimal getActWorkload() { + return this.actWorkload; + } + /** + * 0|初始 + **/ + public String getProjectStatus() { + return this.projectStatus; + } + /** + * 实际外购总工作量,来自任务表 + **/ + public BigDecimal getActOuserWorkload() { + return this.actOuserWorkload; + } + /** + * 实际内部总工作量,来自任务表 + **/ + public BigDecimal getActIuserWorkload() { + return this.actIuserWorkload; + } + /** + * 待付款笔数 + **/ + public BigDecimal getNeedPayCnt() { + return this.needPayCnt; + } + /** + * 完成付款总比数 + **/ + public BigDecimal getFinishPayCnt() { + return this.finishPayCnt; + } + /** + * 已付款总人数 + **/ + public BigDecimal getFinishPayUserCnt() { + return this.finishPayUserCnt; + } + /** + * 待付款总人数 + **/ + public BigDecimal getNeedPayUserCnt() { + return this.needPayUserCnt; + } + /** + * 测试案例总数 + **/ + public Integer getTestCases() { + return this.testCases; + } + /** + * 测试中案例总数 + **/ + public Integer getExecCases() { + return this.execCases; + } + /** + * 设计中案例总数 + **/ + public Integer getDesignCases() { + return this.designCases; + } + /** + * 完成案例总数 + **/ + public Integer getFinishCases() { + return this.finishCases; + } + /** + * 迭代数 + **/ + public Integer getIterationCnt() { + return this.iterationCnt; + } + /** + * 产品数 + **/ + public Integer getProductCnt() { + return this.productCnt; + } + /** + * 最早开始日期 + **/ + public Date getMinStartTime() { + return this.minStartTime; + } + /** + * 最晚结束时间 + **/ + public Date getMaxEndTime() { + return this.maxEndTime; + } + /** + * 故事数 + **/ + public Integer getMenuCnt() { + return this.menuCnt; + } + /** + * 已完成需求数,2状态需求 + **/ + public Integer getMenuFinishCnt() { + return this.menuFinishCnt; + } + /** + * 执行中需求数,1状态的需求 + **/ + public Integer getMenuExecCnt() { + return this.menuExecCnt; + } + /** + * 未开始需求数,0状态数据 + **/ + public Integer getMenuUnstartCnt() { + return this.menuUnstartCnt; + } + /** + * 已关闭需求数,3状态数据 + **/ + public Integer getMenuCloseCnt() { + return this.menuCloseCnt; + } + /** + * 任务总数 + **/ + public Integer getTaskCnt() { + return this.taskCnt; + } + /** + * 待开始任务 + **/ + public Integer getTaskUnstartCnt() { + return this.taskUnstartCnt; + } + /** + * 执行中任务 + **/ + public Integer getTaskExecCnt() { + return this.taskExecCnt; + } + /** + * 已完成任务总数-来自任务表 + **/ + public Integer getTaskFinishCnt() { + return this.taskFinishCnt; + } + /** + * 已结算任务 + **/ + public Integer getTaskSetCnt() { + return this.taskSetCnt; + } + /** + * 外购任务数,来自任务表 + **/ + public BigDecimal getTaskOutCnt() { + return this.taskOutCnt; + } + /** + * 已关闭任务 + **/ + public Integer getTaskCloseCnt() { + return this.taskCloseCnt; + } + /** + * bug数目 + **/ + public Integer getBugCnt() { + return this.bugCnt; + } + /** + * 已关闭bug总数 + **/ + public Integer getClosedBugs() { + return this.closedBugs; + } + /** + * 已解决bug总数 + **/ + public Integer getResolvedBugs() { + return this.resolvedBugs; + } + /** + * 激活的bug总数 + **/ + public Integer getActiveBugs() { + return this.activeBugs; + } + /** + * 已解决bug总数 + **/ + public Integer getConfirmedBugs() { + return this.confirmedBugs; + } + /** + * 工期(小时) + **/ + public BigDecimal getPlanWorkhours() { + return this.planWorkhours; + } + /** + * 总人数 + **/ + public Integer getPlanWorkerCnt() { + return this.planWorkerCnt; + } + /** + * 实际投入人员数 + **/ + public BigDecimal getActWorkerCnt() { + return this.actWorkerCnt; + } + /** + * 项目数 + **/ + public Integer getProjectCnt() { + return this.projectCnt; + } + /** + * 预算总金额 + **/ + public BigDecimal getBudgetAt() { + return this.budgetAt; + } + /** + * 实际总金额 + **/ + public BigDecimal getActAt() { + return this.actAt; + } + +} \ No newline at end of file diff --git a/xm-core/src/main/java/com/xm/core/entity/XmProductStateHis.java b/xm-core/src/main/java/com/xm/core/entity/XmProductStateHis.java new file mode 100644 index 00000000..ff4897b7 --- /dev/null +++ b/xm-core/src/main/java/com/xm/core/entity/XmProductStateHis.java @@ -0,0 +1,1040 @@ +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 小模块
+ * 实体 XmProductStateHis所有属性名:
+ * productId,bizDate,fileCnt,productName,calcTime,calcStatus,phaseCnt,phaseFinishCnt,needPayAt,finishPayAt,needColAt,finishColAt,riskCnt,riskFinishCnt,branchId,branchName,budgetNouserAt,budgetOuserAt,budgetIuserAt,actUserAt,actIuserAt,actOuserAt,actNouserAt,finishRate,budgetWorkload,budgetOuserWorkload,budgetIuserWorkload,estimateWorkload,actWorkload,projectStatus,actOuserWorkload,actIuserWorkload,needPayCnt,finishPayCnt,finishPayUserCnt,needPayUserCnt,testCases,execCases,designCases,finishCases,iterationCnt,productCnt,minStartTime,maxEndTime,menuCnt,menuFinishCnt,menuExecCnt,menuUnstartCnt,menuCloseCnt,taskCnt,taskUnstartCnt,taskExecCnt,taskFinishCnt,taskSetCnt,taskOutCnt,taskCloseCnt,bugCnt,closedBugs,resolvedBugs,activeBugs,confirmedBugs,planWorkhours,planWorkerCnt,actWorkerCnt,projectCnt,budgetAt,actAt;
+ * 表 xm_product_state_his 项目指标日统计表的所有字段名:
+ * product_id,biz_date,file_cnt,product_name,calc_time,calc_status,phase_cnt,phase_finish_cnt,need_pay_at,finish_pay_at,need_col_at,finish_col_at,risk_cnt,risk_finish_cnt,branch_id,branch_name,budget_nouser_at,budget_ouser_at,budget_iuser_at,act_user_at,act_iuser_at,act_ouser_at,act_nouser_at,finish_rate,budget_workload,budget_ouser_workload,budget_iuser_workload,estimate_workload,act_workload,project_status,act_ouser_workload,act_iuser_workload,need_pay_cnt,finish_pay_cnt,finish_pay_user_cnt,need_pay_user_cnt,test_cases,exec_cases,design_cases,finish_cases,iteration_cnt,product_cnt,min_start_time,max_end_time,menu_cnt,menu_finish_cnt,menu_exec_cnt,menu_unstart_cnt,menu_close_cnt,task_cnt,task_unstart_cnt,task_exec_cnt,task_finish_cnt,task_set_cnt,task_out_cnt,task_close_cnt,bug_cnt,closed_bugs,resolved_bugs,active_bugs,confirmed_bugs,plan_workhours,plan_worker_cnt,act_worker_cnt,project_cnt,budget_at,act_at;
+ * 当前主键(包括多主键):
+ * product_id,biz_date;
+ */ +@ApiModel(description="项目指标日统计表") +public class XmProductStateHis implements java.io.Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(notes="产品编号,主键",allowEmptyValue=true,example="",allowableValues="") + String productId; + + @ApiModelProperty(notes="统计日期yyyy-mm-dd类型,主键",allowEmptyValue=true,example="",allowableValues="") + String bizDate; + + + @ApiModelProperty(notes="文件数据",allowEmptyValue=true,example="",allowableValues="") + Integer fileCnt; + + @ApiModelProperty(notes="产品名称",allowEmptyValue=true,example="",allowableValues="") + String productName; + + @ApiModelProperty(notes="统计执行日期",allowEmptyValue=true,example="",allowableValues="") + Date calcTime; + + @ApiModelProperty(notes="0-暂时的1稳定的,暂时的可以被覆盖,稳定的不允许覆盖",allowEmptyValue=true,example="",allowableValues="") + String calcStatus; + + @ApiModelProperty(notes="项目阶段计划数",allowEmptyValue=true,example="",allowableValues="") + Integer phaseCnt; + + @ApiModelProperty(notes="项目阶段计划已完成数",allowEmptyValue=true,example="",allowableValues="") + Integer phaseFinishCnt; + + @ApiModelProperty(notes="待付款总金额",allowEmptyValue=true,example="",allowableValues="") + BigDecimal needPayAt; + + @ApiModelProperty(notes="已付款总金额",allowEmptyValue=true,example="",allowableValues="") + BigDecimal finishPayAt; + + @ApiModelProperty(notes="待收款总金额",allowEmptyValue=true,example="",allowableValues="") + BigDecimal needColAt; + + @ApiModelProperty(notes="已收款总金额",allowEmptyValue=true,example="",allowableValues="") + BigDecimal finishColAt; + + @ApiModelProperty(notes="项目风险总数",allowEmptyValue=true,example="",allowableValues="") + Integer riskCnt; + + @ApiModelProperty(notes="已完成风险总数",allowEmptyValue=true,example="",allowableValues="") + Integer riskFinishCnt; + + @ApiModelProperty(notes="机构编号",allowEmptyValue=true,example="",allowableValues="") + String branchId; + + @ApiModelProperty(notes="机构名称",allowEmptyValue=true,example="",allowableValues="") + String branchName; + + @ApiModelProperty(notes="项目总非人力预算-来自任务表",allowEmptyValue=true,example="",allowableValues="") + BigDecimal budgetNouserAt; + + @ApiModelProperty(notes="项目总外购人力预算-来自任务表",allowEmptyValue=true,example="",allowableValues="") + BigDecimal budgetOuserAt; + + @ApiModelProperty(notes="项目总内部人力预算-来自任务表",allowEmptyValue=true,example="",allowableValues="") + BigDecimal budgetIuserAt; + + @ApiModelProperty(notes="项目总人力成本",allowEmptyValue=true,example="",allowableValues="") + BigDecimal actUserAt; + + @ApiModelProperty(notes="项目总内部人力成本金额",allowEmptyValue=true,example="",allowableValues="") + BigDecimal actIuserAt; + + @ApiModelProperty(notes="项目总外购人力成本金额",allowEmptyValue=true,example="",allowableValues="") + BigDecimal actOuserAt; + + @ApiModelProperty(notes="项目总非人力成本",allowEmptyValue=true,example="",allowableValues="") + BigDecimal actNouserAt; + + @ApiModelProperty(notes="项目进度0~100之间,来自任务表",allowEmptyValue=true,example="",allowableValues="") + BigDecimal finishRate; + + @ApiModelProperty(notes="项目总预算工作量-来自任务表",allowEmptyValue=true,example="",allowableValues="") + BigDecimal budgetWorkload; + + @ApiModelProperty(notes="外购人力总工作量-应该大于或等于阶段计划外购人力总成本",allowEmptyValue=true,example="",allowableValues="") + BigDecimal budgetOuserWorkload; + + @ApiModelProperty(notes="内部人力总工作量-应该大于或等于阶段计划内部人力总成本",allowEmptyValue=true,example="",allowableValues="") + BigDecimal budgetIuserWorkload; + + @ApiModelProperty(notes="预估工时=计划结束时间在计算当日前完成的任务的预算工时总和",allowEmptyValue=true,example="",allowableValues="") + BigDecimal estimateWorkload; + + @ApiModelProperty(notes="已完成工作量-来自计划中实际完成工作量",allowEmptyValue=true,example="",allowableValues="") + BigDecimal actWorkload; + + @ApiModelProperty(notes="0|初始",allowEmptyValue=true,example="",allowableValues="") + String projectStatus; + + @ApiModelProperty(notes="实际外购总工作量,来自任务表",allowEmptyValue=true,example="",allowableValues="") + BigDecimal actOuserWorkload; + + @ApiModelProperty(notes="实际内部总工作量,来自任务表",allowEmptyValue=true,example="",allowableValues="") + BigDecimal actIuserWorkload; + + @ApiModelProperty(notes="待付款笔数",allowEmptyValue=true,example="",allowableValues="") + BigDecimal needPayCnt; + + @ApiModelProperty(notes="完成付款总比数",allowEmptyValue=true,example="",allowableValues="") + BigDecimal finishPayCnt; + + @ApiModelProperty(notes="已付款总人数",allowEmptyValue=true,example="",allowableValues="") + BigDecimal finishPayUserCnt; + + @ApiModelProperty(notes="待付款总人数",allowEmptyValue=true,example="",allowableValues="") + BigDecimal needPayUserCnt; + + @ApiModelProperty(notes="测试案例总数",allowEmptyValue=true,example="",allowableValues="") + Integer testCases; + + @ApiModelProperty(notes="测试中案例总数",allowEmptyValue=true,example="",allowableValues="") + Integer execCases; + + @ApiModelProperty(notes="设计中案例总数",allowEmptyValue=true,example="",allowableValues="") + Integer designCases; + + @ApiModelProperty(notes="完成案例总数",allowEmptyValue=true,example="",allowableValues="") + Integer finishCases; + + @ApiModelProperty(notes="迭代数",allowEmptyValue=true,example="",allowableValues="") + Integer iterationCnt; + + @ApiModelProperty(notes="产品数",allowEmptyValue=true,example="",allowableValues="") + Integer productCnt; + + @ApiModelProperty(notes="最早开始日期",allowEmptyValue=true,example="",allowableValues="") + Date minStartTime; + + @ApiModelProperty(notes="最晚结束时间",allowEmptyValue=true,example="",allowableValues="") + Date maxEndTime; + + @ApiModelProperty(notes="故事数",allowEmptyValue=true,example="",allowableValues="") + Integer menuCnt; + + @ApiModelProperty(notes="已完成需求数,2状态需求",allowEmptyValue=true,example="",allowableValues="") + Integer menuFinishCnt; + + @ApiModelProperty(notes="执行中需求数,1状态的需求",allowEmptyValue=true,example="",allowableValues="") + Integer menuExecCnt; + + @ApiModelProperty(notes="未开始需求数,0状态数据",allowEmptyValue=true,example="",allowableValues="") + Integer menuUnstartCnt; + + @ApiModelProperty(notes="已关闭需求数,3状态数据",allowEmptyValue=true,example="",allowableValues="") + Integer menuCloseCnt; + + @ApiModelProperty(notes="任务总数",allowEmptyValue=true,example="",allowableValues="") + Integer taskCnt; + + @ApiModelProperty(notes="待开始任务",allowEmptyValue=true,example="",allowableValues="") + Integer taskUnstartCnt; + + @ApiModelProperty(notes="执行中任务",allowEmptyValue=true,example="",allowableValues="") + Integer taskExecCnt; + + @ApiModelProperty(notes="已完成任务总数-来自任务表",allowEmptyValue=true,example="",allowableValues="") + Integer taskFinishCnt; + + @ApiModelProperty(notes="已结算任务",allowEmptyValue=true,example="",allowableValues="") + Integer taskSetCnt; + + @ApiModelProperty(notes="外购任务数,来自任务表",allowEmptyValue=true,example="",allowableValues="") + BigDecimal taskOutCnt; + + @ApiModelProperty(notes="已关闭任务",allowEmptyValue=true,example="",allowableValues="") + Integer taskCloseCnt; + + @ApiModelProperty(notes="bug数目",allowEmptyValue=true,example="",allowableValues="") + Integer bugCnt; + + @ApiModelProperty(notes="已关闭bug总数",allowEmptyValue=true,example="",allowableValues="") + Integer closedBugs; + + @ApiModelProperty(notes="已解决bug总数",allowEmptyValue=true,example="",allowableValues="") + Integer resolvedBugs; + + @ApiModelProperty(notes="激活的bug总数",allowEmptyValue=true,example="",allowableValues="") + Integer activeBugs; + + @ApiModelProperty(notes="已解决bug总数",allowEmptyValue=true,example="",allowableValues="") + Integer confirmedBugs; + + @ApiModelProperty(notes="工期(小时)",allowEmptyValue=true,example="",allowableValues="") + BigDecimal planWorkhours; + + @ApiModelProperty(notes="总人数",allowEmptyValue=true,example="",allowableValues="") + Integer planWorkerCnt; + + @ApiModelProperty(notes="实际投入人员数",allowEmptyValue=true,example="",allowableValues="") + BigDecimal actWorkerCnt; + + @ApiModelProperty(notes="项目数",allowEmptyValue=true,example="",allowableValues="") + Integer projectCnt; + + @ApiModelProperty(notes="预算总金额",allowEmptyValue=true,example="",allowableValues="") + BigDecimal budgetAt; + + @ApiModelProperty(notes="实际总金额",allowEmptyValue=true,example="",allowableValues="") + BigDecimal actAt; + + /**产品编号,统计日期yyyy-mm-dd类型**/ + public XmProductStateHis(String productId,String bizDate) { + this.productId = productId; + this.bizDate = bizDate; + } + + /**项目指标日统计表**/ + public XmProductStateHis() { + } + + /** + * 产品编号 + **/ + public void setProductId(String productId) { + this.productId = productId; + } + /** + * 统计日期yyyy-mm-dd类型 + **/ + public void setBizDate(String bizDate) { + this.bizDate = bizDate; + } + /** + * 文件数据 + **/ + public void setFileCnt(Integer fileCnt) { + this.fileCnt = fileCnt; + } + /** + * 产品名称 + **/ + public void setProductName(String productName) { + this.productName = productName; + } + /** + * 统计执行日期 + **/ + public void setCalcTime(Date calcTime) { + this.calcTime = calcTime; + } + /** + * 0-暂时的1稳定的,暂时的可以被覆盖,稳定的不允许覆盖 + **/ + public void setCalcStatus(String calcStatus) { + this.calcStatus = calcStatus; + } + /** + * 项目阶段计划数 + **/ + public void setPhaseCnt(Integer phaseCnt) { + this.phaseCnt = phaseCnt; + } + /** + * 项目阶段计划已完成数 + **/ + public void setPhaseFinishCnt(Integer phaseFinishCnt) { + this.phaseFinishCnt = phaseFinishCnt; + } + /** + * 待付款总金额 + **/ + public void setNeedPayAt(BigDecimal needPayAt) { + this.needPayAt = needPayAt; + } + /** + * 已付款总金额 + **/ + public void setFinishPayAt(BigDecimal finishPayAt) { + this.finishPayAt = finishPayAt; + } + /** + * 待收款总金额 + **/ + public void setNeedColAt(BigDecimal needColAt) { + this.needColAt = needColAt; + } + /** + * 已收款总金额 + **/ + public void setFinishColAt(BigDecimal finishColAt) { + this.finishColAt = finishColAt; + } + /** + * 项目风险总数 + **/ + public void setRiskCnt(Integer riskCnt) { + this.riskCnt = riskCnt; + } + /** + * 已完成风险总数 + **/ + public void setRiskFinishCnt(Integer riskFinishCnt) { + this.riskFinishCnt = riskFinishCnt; + } + /** + * 机构编号 + **/ + public void setBranchId(String branchId) { + this.branchId = branchId; + } + /** + * 机构名称 + **/ + public void setBranchName(String branchName) { + this.branchName = branchName; + } + /** + * 项目总非人力预算-来自任务表 + **/ + public void setBudgetNouserAt(BigDecimal budgetNouserAt) { + this.budgetNouserAt = budgetNouserAt; + } + /** + * 项目总外购人力预算-来自任务表 + **/ + public void setBudgetOuserAt(BigDecimal budgetOuserAt) { + this.budgetOuserAt = budgetOuserAt; + } + /** + * 项目总内部人力预算-来自任务表 + **/ + public void setBudgetIuserAt(BigDecimal budgetIuserAt) { + this.budgetIuserAt = budgetIuserAt; + } + /** + * 项目总人力成本 + **/ + public void setActUserAt(BigDecimal actUserAt) { + this.actUserAt = actUserAt; + } + /** + * 项目总内部人力成本金额 + **/ + public void setActIuserAt(BigDecimal actIuserAt) { + this.actIuserAt = actIuserAt; + } + /** + * 项目总外购人力成本金额 + **/ + public void setActOuserAt(BigDecimal actOuserAt) { + this.actOuserAt = actOuserAt; + } + /** + * 项目总非人力成本 + **/ + public void setActNouserAt(BigDecimal actNouserAt) { + this.actNouserAt = actNouserAt; + } + /** + * 项目进度0~100之间,来自任务表 + **/ + public void setFinishRate(BigDecimal finishRate) { + this.finishRate = finishRate; + } + /** + * 项目总预算工作量-来自任务表 + **/ + public void setBudgetWorkload(BigDecimal budgetWorkload) { + this.budgetWorkload = budgetWorkload; + } + /** + * 外购人力总工作量-应该大于或等于阶段计划外购人力总成本 + **/ + public void setBudgetOuserWorkload(BigDecimal budgetOuserWorkload) { + this.budgetOuserWorkload = budgetOuserWorkload; + } + /** + * 内部人力总工作量-应该大于或等于阶段计划内部人力总成本 + **/ + public void setBudgetIuserWorkload(BigDecimal budgetIuserWorkload) { + this.budgetIuserWorkload = budgetIuserWorkload; + } + /** + * 预估工时=计划结束时间在计算当日前完成的任务的预算工时总和 + **/ + public void setEstimateWorkload(BigDecimal estimateWorkload) { + this.estimateWorkload = estimateWorkload; + } + /** + * 已完成工作量-来自计划中实际完成工作量 + **/ + public void setActWorkload(BigDecimal actWorkload) { + this.actWorkload = actWorkload; + } + /** + * 0|初始 + **/ + public void setProjectStatus(String projectStatus) { + this.projectStatus = projectStatus; + } + /** + * 实际外购总工作量,来自任务表 + **/ + public void setActOuserWorkload(BigDecimal actOuserWorkload) { + this.actOuserWorkload = actOuserWorkload; + } + /** + * 实际内部总工作量,来自任务表 + **/ + public void setActIuserWorkload(BigDecimal actIuserWorkload) { + this.actIuserWorkload = actIuserWorkload; + } + /** + * 待付款笔数 + **/ + public void setNeedPayCnt(BigDecimal needPayCnt) { + this.needPayCnt = needPayCnt; + } + /** + * 完成付款总比数 + **/ + public void setFinishPayCnt(BigDecimal finishPayCnt) { + this.finishPayCnt = finishPayCnt; + } + /** + * 已付款总人数 + **/ + public void setFinishPayUserCnt(BigDecimal finishPayUserCnt) { + this.finishPayUserCnt = finishPayUserCnt; + } + /** + * 待付款总人数 + **/ + public void setNeedPayUserCnt(BigDecimal needPayUserCnt) { + this.needPayUserCnt = needPayUserCnt; + } + /** + * 测试案例总数 + **/ + public void setTestCases(Integer testCases) { + this.testCases = testCases; + } + /** + * 测试中案例总数 + **/ + public void setExecCases(Integer execCases) { + this.execCases = execCases; + } + /** + * 设计中案例总数 + **/ + public void setDesignCases(Integer designCases) { + this.designCases = designCases; + } + /** + * 完成案例总数 + **/ + public void setFinishCases(Integer finishCases) { + this.finishCases = finishCases; + } + /** + * 迭代数 + **/ + public void setIterationCnt(Integer iterationCnt) { + this.iterationCnt = iterationCnt; + } + /** + * 产品数 + **/ + public void setProductCnt(Integer productCnt) { + this.productCnt = productCnt; + } + /** + * 最早开始日期 + **/ + public void setMinStartTime(Date minStartTime) { + this.minStartTime = minStartTime; + } + /** + * 最晚结束时间 + **/ + public void setMaxEndTime(Date maxEndTime) { + this.maxEndTime = maxEndTime; + } + /** + * 故事数 + **/ + public void setMenuCnt(Integer menuCnt) { + this.menuCnt = menuCnt; + } + /** + * 已完成需求数,2状态需求 + **/ + public void setMenuFinishCnt(Integer menuFinishCnt) { + this.menuFinishCnt = menuFinishCnt; + } + /** + * 执行中需求数,1状态的需求 + **/ + public void setMenuExecCnt(Integer menuExecCnt) { + this.menuExecCnt = menuExecCnt; + } + /** + * 未开始需求数,0状态数据 + **/ + public void setMenuUnstartCnt(Integer menuUnstartCnt) { + this.menuUnstartCnt = menuUnstartCnt; + } + /** + * 已关闭需求数,3状态数据 + **/ + public void setMenuCloseCnt(Integer menuCloseCnt) { + this.menuCloseCnt = menuCloseCnt; + } + /** + * 任务总数 + **/ + public void setTaskCnt(Integer taskCnt) { + this.taskCnt = taskCnt; + } + /** + * 待开始任务 + **/ + public void setTaskUnstartCnt(Integer taskUnstartCnt) { + this.taskUnstartCnt = taskUnstartCnt; + } + /** + * 执行中任务 + **/ + public void setTaskExecCnt(Integer taskExecCnt) { + this.taskExecCnt = taskExecCnt; + } + /** + * 已完成任务总数-来自任务表 + **/ + public void setTaskFinishCnt(Integer taskFinishCnt) { + this.taskFinishCnt = taskFinishCnt; + } + /** + * 已结算任务 + **/ + public void setTaskSetCnt(Integer taskSetCnt) { + this.taskSetCnt = taskSetCnt; + } + /** + * 外购任务数,来自任务表 + **/ + public void setTaskOutCnt(BigDecimal taskOutCnt) { + this.taskOutCnt = taskOutCnt; + } + /** + * 已关闭任务 + **/ + public void setTaskCloseCnt(Integer taskCloseCnt) { + this.taskCloseCnt = taskCloseCnt; + } + /** + * bug数目 + **/ + public void setBugCnt(Integer bugCnt) { + this.bugCnt = bugCnt; + } + /** + * 已关闭bug总数 + **/ + public void setClosedBugs(Integer closedBugs) { + this.closedBugs = closedBugs; + } + /** + * 已解决bug总数 + **/ + public void setResolvedBugs(Integer resolvedBugs) { + this.resolvedBugs = resolvedBugs; + } + /** + * 激活的bug总数 + **/ + public void setActiveBugs(Integer activeBugs) { + this.activeBugs = activeBugs; + } + /** + * 已解决bug总数 + **/ + public void setConfirmedBugs(Integer confirmedBugs) { + this.confirmedBugs = confirmedBugs; + } + /** + * 工期(小时) + **/ + public void setPlanWorkhours(BigDecimal planWorkhours) { + this.planWorkhours = planWorkhours; + } + /** + * 总人数 + **/ + public void setPlanWorkerCnt(Integer planWorkerCnt) { + this.planWorkerCnt = planWorkerCnt; + } + /** + * 实际投入人员数 + **/ + public void setActWorkerCnt(BigDecimal actWorkerCnt) { + this.actWorkerCnt = actWorkerCnt; + } + /** + * 项目数 + **/ + public void setProjectCnt(Integer projectCnt) { + this.projectCnt = projectCnt; + } + /** + * 预算总金额 + **/ + public void setBudgetAt(BigDecimal budgetAt) { + this.budgetAt = budgetAt; + } + /** + * 实际总金额 + **/ + public void setActAt(BigDecimal actAt) { + this.actAt = actAt; + } + + /** + * 产品编号 + **/ + public String getProductId() { + return this.productId; + } + /** + * 统计日期yyyy-mm-dd类型 + **/ + public String getBizDate() { + return this.bizDate; + } + /** + * 文件数据 + **/ + public Integer getFileCnt() { + return this.fileCnt; + } + /** + * 产品名称 + **/ + public String getProductName() { + return this.productName; + } + /** + * 统计执行日期 + **/ + public Date getCalcTime() { + return this.calcTime; + } + /** + * 0-暂时的1稳定的,暂时的可以被覆盖,稳定的不允许覆盖 + **/ + public String getCalcStatus() { + return this.calcStatus; + } + /** + * 项目阶段计划数 + **/ + public Integer getPhaseCnt() { + return this.phaseCnt; + } + /** + * 项目阶段计划已完成数 + **/ + public Integer getPhaseFinishCnt() { + return this.phaseFinishCnt; + } + /** + * 待付款总金额 + **/ + public BigDecimal getNeedPayAt() { + return this.needPayAt; + } + /** + * 已付款总金额 + **/ + public BigDecimal getFinishPayAt() { + return this.finishPayAt; + } + /** + * 待收款总金额 + **/ + public BigDecimal getNeedColAt() { + return this.needColAt; + } + /** + * 已收款总金额 + **/ + public BigDecimal getFinishColAt() { + return this.finishColAt; + } + /** + * 项目风险总数 + **/ + public Integer getRiskCnt() { + return this.riskCnt; + } + /** + * 已完成风险总数 + **/ + public Integer getRiskFinishCnt() { + return this.riskFinishCnt; + } + /** + * 机构编号 + **/ + public String getBranchId() { + return this.branchId; + } + /** + * 机构名称 + **/ + public String getBranchName() { + return this.branchName; + } + /** + * 项目总非人力预算-来自任务表 + **/ + public BigDecimal getBudgetNouserAt() { + return this.budgetNouserAt; + } + /** + * 项目总外购人力预算-来自任务表 + **/ + public BigDecimal getBudgetOuserAt() { + return this.budgetOuserAt; + } + /** + * 项目总内部人力预算-来自任务表 + **/ + public BigDecimal getBudgetIuserAt() { + return this.budgetIuserAt; + } + /** + * 项目总人力成本 + **/ + public BigDecimal getActUserAt() { + return this.actUserAt; + } + /** + * 项目总内部人力成本金额 + **/ + public BigDecimal getActIuserAt() { + return this.actIuserAt; + } + /** + * 项目总外购人力成本金额 + **/ + public BigDecimal getActOuserAt() { + return this.actOuserAt; + } + /** + * 项目总非人力成本 + **/ + public BigDecimal getActNouserAt() { + return this.actNouserAt; + } + /** + * 项目进度0~100之间,来自任务表 + **/ + public BigDecimal getFinishRate() { + return this.finishRate; + } + /** + * 项目总预算工作量-来自任务表 + **/ + public BigDecimal getBudgetWorkload() { + return this.budgetWorkload; + } + /** + * 外购人力总工作量-应该大于或等于阶段计划外购人力总成本 + **/ + public BigDecimal getBudgetOuserWorkload() { + return this.budgetOuserWorkload; + } + /** + * 内部人力总工作量-应该大于或等于阶段计划内部人力总成本 + **/ + public BigDecimal getBudgetIuserWorkload() { + return this.budgetIuserWorkload; + } + /** + * 预估工时=计划结束时间在计算当日前完成的任务的预算工时总和 + **/ + public BigDecimal getEstimateWorkload() { + return this.estimateWorkload; + } + /** + * 已完成工作量-来自计划中实际完成工作量 + **/ + public BigDecimal getActWorkload() { + return this.actWorkload; + } + /** + * 0|初始 + **/ + public String getProjectStatus() { + return this.projectStatus; + } + /** + * 实际外购总工作量,来自任务表 + **/ + public BigDecimal getActOuserWorkload() { + return this.actOuserWorkload; + } + /** + * 实际内部总工作量,来自任务表 + **/ + public BigDecimal getActIuserWorkload() { + return this.actIuserWorkload; + } + /** + * 待付款笔数 + **/ + public BigDecimal getNeedPayCnt() { + return this.needPayCnt; + } + /** + * 完成付款总比数 + **/ + public BigDecimal getFinishPayCnt() { + return this.finishPayCnt; + } + /** + * 已付款总人数 + **/ + public BigDecimal getFinishPayUserCnt() { + return this.finishPayUserCnt; + } + /** + * 待付款总人数 + **/ + public BigDecimal getNeedPayUserCnt() { + return this.needPayUserCnt; + } + /** + * 测试案例总数 + **/ + public Integer getTestCases() { + return this.testCases; + } + /** + * 测试中案例总数 + **/ + public Integer getExecCases() { + return this.execCases; + } + /** + * 设计中案例总数 + **/ + public Integer getDesignCases() { + return this.designCases; + } + /** + * 完成案例总数 + **/ + public Integer getFinishCases() { + return this.finishCases; + } + /** + * 迭代数 + **/ + public Integer getIterationCnt() { + return this.iterationCnt; + } + /** + * 产品数 + **/ + public Integer getProductCnt() { + return this.productCnt; + } + /** + * 最早开始日期 + **/ + public Date getMinStartTime() { + return this.minStartTime; + } + /** + * 最晚结束时间 + **/ + public Date getMaxEndTime() { + return this.maxEndTime; + } + /** + * 故事数 + **/ + public Integer getMenuCnt() { + return this.menuCnt; + } + /** + * 已完成需求数,2状态需求 + **/ + public Integer getMenuFinishCnt() { + return this.menuFinishCnt; + } + /** + * 执行中需求数,1状态的需求 + **/ + public Integer getMenuExecCnt() { + return this.menuExecCnt; + } + /** + * 未开始需求数,0状态数据 + **/ + public Integer getMenuUnstartCnt() { + return this.menuUnstartCnt; + } + /** + * 已关闭需求数,3状态数据 + **/ + public Integer getMenuCloseCnt() { + return this.menuCloseCnt; + } + /** + * 任务总数 + **/ + public Integer getTaskCnt() { + return this.taskCnt; + } + /** + * 待开始任务 + **/ + public Integer getTaskUnstartCnt() { + return this.taskUnstartCnt; + } + /** + * 执行中任务 + **/ + public Integer getTaskExecCnt() { + return this.taskExecCnt; + } + /** + * 已完成任务总数-来自任务表 + **/ + public Integer getTaskFinishCnt() { + return this.taskFinishCnt; + } + /** + * 已结算任务 + **/ + public Integer getTaskSetCnt() { + return this.taskSetCnt; + } + /** + * 外购任务数,来自任务表 + **/ + public BigDecimal getTaskOutCnt() { + return this.taskOutCnt; + } + /** + * 已关闭任务 + **/ + public Integer getTaskCloseCnt() { + return this.taskCloseCnt; + } + /** + * bug数目 + **/ + public Integer getBugCnt() { + return this.bugCnt; + } + /** + * 已关闭bug总数 + **/ + public Integer getClosedBugs() { + return this.closedBugs; + } + /** + * 已解决bug总数 + **/ + public Integer getResolvedBugs() { + return this.resolvedBugs; + } + /** + * 激活的bug总数 + **/ + public Integer getActiveBugs() { + return this.activeBugs; + } + /** + * 已解决bug总数 + **/ + public Integer getConfirmedBugs() { + return this.confirmedBugs; + } + /** + * 工期(小时) + **/ + public BigDecimal getPlanWorkhours() { + return this.planWorkhours; + } + /** + * 总人数 + **/ + public Integer getPlanWorkerCnt() { + return this.planWorkerCnt; + } + /** + * 实际投入人员数 + **/ + public BigDecimal getActWorkerCnt() { + return this.actWorkerCnt; + } + /** + * 项目数 + **/ + public Integer getProjectCnt() { + return this.projectCnt; + } + /** + * 预算总金额 + **/ + public BigDecimal getBudgetAt() { + return this.budgetAt; + } + /** + * 实际总金额 + **/ + public BigDecimal getActAt() { + return this.actAt; + } + +} \ No newline at end of file diff --git a/xm-core/src/main/java/com/xm/core/service/XmBranchStateHisService.java b/xm-core/src/main/java/com/xm/core/service/XmBranchStateHisService.java new file mode 100644 index 00000000..88f0e351 --- /dev/null +++ b/xm-core/src/main/java/com/xm/core/service/XmBranchStateHisService.java @@ -0,0 +1,27 @@ +package com.xm.core.service; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import java.util.List; +import java.util.Map; +import org.springframework.stereotype.Service; +import com.mdp.core.service.BaseService; +import static com.mdp.core.utils.BaseUtils.*; +import com.mdp.core.entity.Tips; +import com.mdp.core.err.BizException; + +import com.xm.core.entity.XmBranchStateHis; +/** + * 父类已经支持增删改查操作,因此,即使本类什么也不写,也已经可以满足一般的增删改查操作了.
+ * 组织 com 顶级模块 xm 大模块 core 小模块
+ * 实体 XmBranchStateHis 表 xm_branch_state_his 当前主键(包括多主键): biz_date,branch_id; + ***/ +@Service("xm.core.xmBranchStateHisService") +public class XmBranchStateHisService extends BaseService { + static Logger logger =LoggerFactory.getLogger(XmBranchStateHisService.class); + + public List> listXmBranchFiveDayTaskCnt(Map xmBranchStateHis) { + return super.selectList("listXmBranchFiveDayTaskCnt",xmBranchStateHis); + } +} + diff --git a/xm-core/src/main/java/com/xm/core/service/XmIterationStateHisService.java b/xm-core/src/main/java/com/xm/core/service/XmIterationStateHisService.java new file mode 100644 index 00000000..dfb075a7 --- /dev/null +++ b/xm-core/src/main/java/com/xm/core/service/XmIterationStateHisService.java @@ -0,0 +1,24 @@ +package com.xm.core.service; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import java.util.List; +import java.util.Map; +import org.springframework.stereotype.Service; +import com.mdp.core.service.BaseService; +import static com.mdp.core.utils.BaseUtils.*; +import com.mdp.core.entity.Tips; +import com.mdp.core.err.BizException; + +import com.xm.core.entity.XmIterationStateHis; +/** + * 父类已经支持增删改查操作,因此,即使本类什么也不写,也已经可以满足一般的增删改查操作了.
+ * 组织 com 顶级模块 xm 大模块 core 小模块
+ * 实体 XmIterationStateHis 表 xm_iteration_state_his 当前主键(包括多主键): iteration_id,biz_date; + ***/ +@Service("xm.core.xmIterationStateHisService") +public class XmIterationStateHisService extends BaseService { + static Logger logger =LoggerFactory.getLogger(XmIterationStateHisService.class); + +} + diff --git a/xm-core/src/main/java/com/xm/core/service/XmProductStateHisService.java b/xm-core/src/main/java/com/xm/core/service/XmProductStateHisService.java new file mode 100644 index 00000000..23cabdcb --- /dev/null +++ b/xm-core/src/main/java/com/xm/core/service/XmProductStateHisService.java @@ -0,0 +1,24 @@ +package com.xm.core.service; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import java.util.List; +import java.util.Map; +import org.springframework.stereotype.Service; +import com.mdp.core.service.BaseService; +import static com.mdp.core.utils.BaseUtils.*; +import com.mdp.core.entity.Tips; +import com.mdp.core.err.BizException; + +import com.xm.core.entity.XmProductStateHis; +/** + * 父类已经支持增删改查操作,因此,即使本类什么也不写,也已经可以满足一般的增删改查操作了.
+ * 组织 com 顶级模块 xm 大模块 core 小模块
+ * 实体 XmProductStateHis 表 xm_product_state_his 当前主键(包括多主键): product_id,biz_date; + ***/ +@Service("xm.core.xmProductStateHisService") +public class XmProductStateHisService extends BaseService { + static Logger logger =LoggerFactory.getLogger(XmProductStateHisService.class); + +} + diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmBranchStateHisMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmBranchStateHisMapper.xml new file mode 100644 index 00000000..77026e1c --- /dev/null +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmBranchStateHisMapper.xml @@ -0,0 +1,403 @@ + + + + + + + + + and (res.biz_date, res.branch_id) in + + ( #{item.bizDate}, #{item.branchId}) + + + + + + + + + + + + + + + + + + + + + + + + + + insert into xm_branch_state_his( + + ) values ( + #{projectCnt},#{bizDate},#{fileCnt},#{calcTime},#{calcStatus},#{phaseCnt},#{phaseFinishCnt},#{needPayAt},#{finishPayAt},#{needColAt},#{finishColAt},#{riskCnt},#{riskFinishCnt},#{branchId},#{branchName},#{budgetNouserAt},#{budgetOuserAt},#{budgetIuserAt},#{actUserAt},#{actIuserAt},#{actOuserAt},#{actNouserAt},#{finishRate},#{budgetWorkload},#{budgetOuserWorkload},#{budgetIuserWorkload},#{estimateWorkload},#{actWorkload},#{actOuserWorkload},#{actIuserWorkload},#{needPayCnt},#{finishPayCnt},#{finishPayUserCnt},#{needPayUserCnt},#{testCases},#{execCases},#{designCases},#{finishCases},#{iterationCnt},#{productCnt},#{minStartTime},#{maxEndTime},#{menuCnt},#{menuFinishCnt},#{menuExecCnt},#{menuUnstartCnt},#{menuCloseCnt},#{taskCnt},#{taskUnstartCnt},#{taskExecCnt},#{taskFinishCnt},#{taskSetCnt},#{taskOutCnt},#{taskCloseCnt},#{bugCnt},#{closedBugs},#{resolvedBugs},#{activeBugs},#{confirmedBugs},#{planWorkhours},#{planWorkerCnt},#{actWorkerCnt},#{budgetAt},#{actAt} + ) + + + + + delete from xm_branch_state_his res + + + + + + + + delete from xm_branch_state_his + where biz_date = #{bizDate} and branch_id = #{branchId} + + + + + update xm_branch_state_his + + + + where biz_date = #{bizDate} and branch_id = #{branchId} + + + + + update xm_branch_state_his + + + + where biz_date = #{bizDate} and branch_id = #{branchId} + + + + + + + + update xm_branch_state_his + set + + where biz_date = #{item.bizDate} and branch_id = #{item.branchId} + + + + + delete from xm_branch_state_his + where + (biz_date, branch_id) in + + ( #{item.bizDate}, #{item.branchId} ) + + + + + + + project_cnt,biz_date,file_cnt,calc_time,calc_status,phase_cnt,phase_finish_cnt,need_pay_at,finish_pay_at,need_col_at,finish_col_at,risk_cnt,risk_finish_cnt,branch_id,branch_name,budget_nouser_at,budget_ouser_at,budget_iuser_at,act_user_at,act_iuser_at,act_ouser_at,act_nouser_at,finish_rate,budget_workload,budget_ouser_workload,budget_iuser_workload,estimate_workload,act_workload,act_ouser_workload,act_iuser_workload,need_pay_cnt,finish_pay_cnt,finish_pay_user_cnt,need_pay_user_cnt,test_cases,exec_cases,design_cases,finish_cases,iteration_cnt,product_cnt,min_start_time,max_end_time,menu_cnt,menu_finish_cnt,menu_exec_cnt,menu_unstart_cnt,menu_close_cnt,task_cnt,task_unstart_cnt,task_exec_cnt,task_finish_cnt,task_set_cnt,task_out_cnt,task_close_cnt,bug_cnt,closed_bugs,resolved_bugs,active_bugs,confirmed_bugs,plan_workhours,plan_worker_cnt,act_worker_cnt,budget_at,act_at + + + + + and res.project_cnt = #{projectCnt} + and res.biz_date = #{bizDate} + and res.file_cnt = #{fileCnt} + and date_format(res.calc_time,'%Y-%m-%d') = date_format(#{calcTime},'%Y-%m-%d') + and res.calc_status = #{calcStatus} + and res.phase_cnt = #{phaseCnt} + and res.phase_finish_cnt = #{phaseFinishCnt} + and res.need_pay_at = #{needPayAt} + and res.finish_pay_at = #{finishPayAt} + and res.need_col_at = #{needColAt} + and res.finish_col_at = #{finishColAt} + and res.risk_cnt = #{riskCnt} + and res.risk_finish_cnt = #{riskFinishCnt} + and res.branch_id = #{branchId} + and res.branch_name = #{branchName} + and res.budget_nouser_at = #{budgetNouserAt} + and res.budget_ouser_at = #{budgetOuserAt} + and res.budget_iuser_at = #{budgetIuserAt} + and res.act_user_at = #{actUserAt} + and res.act_iuser_at = #{actIuserAt} + and res.act_ouser_at = #{actOuserAt} + and res.act_nouser_at = #{actNouserAt} + and res.finish_rate = #{finishRate} + and res.budget_workload = #{budgetWorkload} + and res.budget_ouser_workload = #{budgetOuserWorkload} + and res.budget_iuser_workload = #{budgetIuserWorkload} + and res.estimate_workload = #{estimateWorkload} + and res.act_workload = #{actWorkload} + and res.act_ouser_workload = #{actOuserWorkload} + and res.act_iuser_workload = #{actIuserWorkload} + and res.need_pay_cnt = #{needPayCnt} + and res.finish_pay_cnt = #{finishPayCnt} + and res.finish_pay_user_cnt = #{finishPayUserCnt} + and res.need_pay_user_cnt = #{needPayUserCnt} + and res.test_cases = #{testCases} + and res.exec_cases = #{execCases} + and res.design_cases = #{designCases} + and res.finish_cases = #{finishCases} + and res.iteration_cnt = #{iterationCnt} + and res.product_cnt = #{productCnt} + and date_format(res.min_start_time,'%Y-%m-%d') = date_format(#{minStartTime},'%Y-%m-%d') + and date_format(res.max_end_time,'%Y-%m-%d') = date_format(#{maxEndTime},'%Y-%m-%d') + and res.menu_cnt = #{menuCnt} + and res.menu_finish_cnt = #{menuFinishCnt} + and res.menu_exec_cnt = #{menuExecCnt} + and res.menu_unstart_cnt = #{menuUnstartCnt} + and res.menu_close_cnt = #{menuCloseCnt} + and res.task_cnt = #{taskCnt} + and res.task_unstart_cnt = #{taskUnstartCnt} + and res.task_exec_cnt = #{taskExecCnt} + and res.task_finish_cnt = #{taskFinishCnt} + and res.task_set_cnt = #{taskSetCnt} + and res.task_out_cnt = #{taskOutCnt} + and res.task_close_cnt = #{taskCloseCnt} + and res.bug_cnt = #{bugCnt} + and res.closed_bugs = #{closedBugs} + and res.resolved_bugs = #{resolvedBugs} + and res.active_bugs = #{activeBugs} + and res.confirmed_bugs = #{confirmedBugs} + and res.plan_workhours = #{planWorkhours} + and res.plan_worker_cnt = #{planWorkerCnt} + and res.act_worker_cnt = #{actWorkerCnt} + and res.budget_at = #{budgetAt} + and res.act_at = #{actAt} + + + + project_cnt = #{projectCnt}, + file_cnt = #{fileCnt}, + calc_time = #{calcTime}, + calc_status = #{calcStatus}, + phase_cnt = #{phaseCnt}, + phase_finish_cnt = #{phaseFinishCnt}, + need_pay_at = #{needPayAt}, + finish_pay_at = #{finishPayAt}, + need_col_at = #{needColAt}, + finish_col_at = #{finishColAt}, + risk_cnt = #{riskCnt}, + risk_finish_cnt = #{riskFinishCnt}, + branch_name = #{branchName}, + budget_nouser_at = #{budgetNouserAt}, + budget_ouser_at = #{budgetOuserAt}, + budget_iuser_at = #{budgetIuserAt}, + act_user_at = #{actUserAt}, + act_iuser_at = #{actIuserAt}, + act_ouser_at = #{actOuserAt}, + act_nouser_at = #{actNouserAt}, + finish_rate = #{finishRate}, + budget_workload = #{budgetWorkload}, + budget_ouser_workload = #{budgetOuserWorkload}, + budget_iuser_workload = #{budgetIuserWorkload}, + estimate_workload = #{estimateWorkload}, + act_workload = #{actWorkload}, + act_ouser_workload = #{actOuserWorkload}, + act_iuser_workload = #{actIuserWorkload}, + need_pay_cnt = #{needPayCnt}, + finish_pay_cnt = #{finishPayCnt}, + finish_pay_user_cnt = #{finishPayUserCnt}, + need_pay_user_cnt = #{needPayUserCnt}, + test_cases = #{testCases}, + exec_cases = #{execCases}, + design_cases = #{designCases}, + finish_cases = #{finishCases}, + iteration_cnt = #{iterationCnt}, + product_cnt = #{productCnt}, + min_start_time = #{minStartTime}, + max_end_time = #{maxEndTime}, + menu_cnt = #{menuCnt}, + menu_finish_cnt = #{menuFinishCnt}, + menu_exec_cnt = #{menuExecCnt}, + menu_unstart_cnt = #{menuUnstartCnt}, + menu_close_cnt = #{menuCloseCnt}, + task_cnt = #{taskCnt}, + task_unstart_cnt = #{taskUnstartCnt}, + task_exec_cnt = #{taskExecCnt}, + task_finish_cnt = #{taskFinishCnt}, + task_set_cnt = #{taskSetCnt}, + task_out_cnt = #{taskOutCnt}, + task_close_cnt = #{taskCloseCnt}, + bug_cnt = #{bugCnt}, + closed_bugs = #{closedBugs}, + resolved_bugs = #{resolvedBugs}, + active_bugs = #{activeBugs}, + confirmed_bugs = #{confirmedBugs}, + plan_workhours = #{planWorkhours}, + plan_worker_cnt = #{planWorkerCnt}, + act_worker_cnt = #{actWorkerCnt}, + budget_at = #{budgetAt}, + act_at = #{actAt} + + + project_cnt = #{projectCnt}, + file_cnt = #{fileCnt}, + calc_time = #{calcTime}, + calc_status = #{calcStatus}, + phase_cnt = #{phaseCnt}, + phase_finish_cnt = #{phaseFinishCnt}, + need_pay_at = #{needPayAt}, + finish_pay_at = #{finishPayAt}, + need_col_at = #{needColAt}, + finish_col_at = #{finishColAt}, + risk_cnt = #{riskCnt}, + risk_finish_cnt = #{riskFinishCnt}, + branch_name = #{branchName}, + budget_nouser_at = #{budgetNouserAt}, + budget_ouser_at = #{budgetOuserAt}, + budget_iuser_at = #{budgetIuserAt}, + act_user_at = #{actUserAt}, + act_iuser_at = #{actIuserAt}, + act_ouser_at = #{actOuserAt}, + act_nouser_at = #{actNouserAt}, + finish_rate = #{finishRate}, + budget_workload = #{budgetWorkload}, + budget_ouser_workload = #{budgetOuserWorkload}, + budget_iuser_workload = #{budgetIuserWorkload}, + estimate_workload = #{estimateWorkload}, + act_workload = #{actWorkload}, + act_ouser_workload = #{actOuserWorkload}, + act_iuser_workload = #{actIuserWorkload}, + need_pay_cnt = #{needPayCnt}, + finish_pay_cnt = #{finishPayCnt}, + finish_pay_user_cnt = #{finishPayUserCnt}, + need_pay_user_cnt = #{needPayUserCnt}, + test_cases = #{testCases}, + exec_cases = #{execCases}, + design_cases = #{designCases}, + finish_cases = #{finishCases}, + iteration_cnt = #{iterationCnt}, + product_cnt = #{productCnt}, + min_start_time = #{minStartTime}, + max_end_time = #{maxEndTime}, + menu_cnt = #{menuCnt}, + menu_finish_cnt = #{menuFinishCnt}, + menu_exec_cnt = #{menuExecCnt}, + menu_unstart_cnt = #{menuUnstartCnt}, + menu_close_cnt = #{menuCloseCnt}, + task_cnt = #{taskCnt}, + task_unstart_cnt = #{taskUnstartCnt}, + task_exec_cnt = #{taskExecCnt}, + task_finish_cnt = #{taskFinishCnt}, + task_set_cnt = #{taskSetCnt}, + task_out_cnt = #{taskOutCnt}, + task_close_cnt = #{taskCloseCnt}, + bug_cnt = #{bugCnt}, + closed_bugs = #{closedBugs}, + resolved_bugs = #{resolvedBugs}, + active_bugs = #{activeBugs}, + confirmed_bugs = #{confirmedBugs}, + plan_workhours = #{planWorkhours}, + plan_worker_cnt = #{planWorkerCnt}, + act_worker_cnt = #{actWorkerCnt}, + budget_at = #{budgetAt}, + act_at = #{actAt}, + + + + project_cnt = #{item.projectCnt}, + file_cnt = #{item.fileCnt}, + calc_time = #{item.calcTime}, + calc_status = #{item.calcStatus}, + phase_cnt = #{item.phaseCnt}, + phase_finish_cnt = #{item.phaseFinishCnt}, + need_pay_at = #{item.needPayAt}, + finish_pay_at = #{item.finishPayAt}, + need_col_at = #{item.needColAt}, + finish_col_at = #{item.finishColAt}, + risk_cnt = #{item.riskCnt}, + risk_finish_cnt = #{item.riskFinishCnt}, + branch_name = #{item.branchName}, + budget_nouser_at = #{item.budgetNouserAt}, + budget_ouser_at = #{item.budgetOuserAt}, + budget_iuser_at = #{item.budgetIuserAt}, + act_user_at = #{item.actUserAt}, + act_iuser_at = #{item.actIuserAt}, + act_ouser_at = #{item.actOuserAt}, + act_nouser_at = #{item.actNouserAt}, + finish_rate = #{item.finishRate}, + budget_workload = #{item.budgetWorkload}, + budget_ouser_workload = #{item.budgetOuserWorkload}, + budget_iuser_workload = #{item.budgetIuserWorkload}, + estimate_workload = #{item.estimateWorkload}, + act_workload = #{item.actWorkload}, + act_ouser_workload = #{item.actOuserWorkload}, + act_iuser_workload = #{item.actIuserWorkload}, + need_pay_cnt = #{item.needPayCnt}, + finish_pay_cnt = #{item.finishPayCnt}, + finish_pay_user_cnt = #{item.finishPayUserCnt}, + need_pay_user_cnt = #{item.needPayUserCnt}, + test_cases = #{item.testCases}, + exec_cases = #{item.execCases}, + design_cases = #{item.designCases}, + finish_cases = #{item.finishCases}, + iteration_cnt = #{item.iterationCnt}, + product_cnt = #{item.productCnt}, + min_start_time = #{item.minStartTime}, + max_end_time = #{item.maxEndTime}, + menu_cnt = #{item.menuCnt}, + menu_finish_cnt = #{item.menuFinishCnt}, + menu_exec_cnt = #{item.menuExecCnt}, + menu_unstart_cnt = #{item.menuUnstartCnt}, + menu_close_cnt = #{item.menuCloseCnt}, + task_cnt = #{item.taskCnt}, + task_unstart_cnt = #{item.taskUnstartCnt}, + task_exec_cnt = #{item.taskExecCnt}, + task_finish_cnt = #{item.taskFinishCnt}, + task_set_cnt = #{item.taskSetCnt}, + task_out_cnt = #{item.taskOutCnt}, + task_close_cnt = #{item.taskCloseCnt}, + bug_cnt = #{item.bugCnt}, + closed_bugs = #{item.closedBugs}, + resolved_bugs = #{item.resolvedBugs}, + active_bugs = #{item.activeBugs}, + confirmed_bugs = #{item.confirmedBugs}, + plan_workhours = #{item.planWorkhours}, + plan_worker_cnt = #{item.planWorkerCnt}, + act_worker_cnt = #{item.actWorkerCnt}, + budget_at = #{item.budgetAt}, + act_at = #{item.actAt} + + \ No newline at end of file diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmIterationStateHisMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmIterationStateHisMapper.xml new file mode 100644 index 00000000..4140e520 --- /dev/null +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmIterationStateHisMapper.xml @@ -0,0 +1,411 @@ + + + + + + + + + and (res.iteration_id, res.biz_date) in + + ( #{item.iterationId}, #{item.bizDate}) + + + + + + + + + + + + + + + + + + + + + + + + + + insert into xm_iteration_state_his( + + ) values ( + #{iterationId},#{bizDate},#{fileCnt},#{iterationName},#{calcTime},#{calcStatus},#{phaseCnt},#{phaseFinishCnt},#{needPayAt},#{finishPayAt},#{needColAt},#{finishColAt},#{riskCnt},#{riskFinishCnt},#{branchId},#{branchName},#{budgetNouserAt},#{budgetOuserAt},#{budgetIuserAt},#{actUserAt},#{actIuserAt},#{actOuserAt},#{actNouserAt},#{finishRate},#{budgetWorkload},#{budgetOuserWorkload},#{budgetIuserWorkload},#{estimateWorkload},#{actWorkload},#{projectStatus},#{actOuserWorkload},#{actIuserWorkload},#{needPayCnt},#{finishPayCnt},#{finishPayUserCnt},#{needPayUserCnt},#{testCases},#{execCases},#{designCases},#{finishCases},#{iterationCnt},#{productCnt},#{minStartTime},#{maxEndTime},#{menuCnt},#{menuFinishCnt},#{menuExecCnt},#{menuUnstartCnt},#{menuCloseCnt},#{taskCnt},#{taskUnstartCnt},#{taskExecCnt},#{taskFinishCnt},#{taskSetCnt},#{taskOutCnt},#{taskCloseCnt},#{bugCnt},#{closedBugs},#{resolvedBugs},#{activeBugs},#{confirmedBugs},#{planWorkhours},#{planWorkerCnt},#{actWorkerCnt},#{projectCnt},#{budgetAt},#{actAt} + ) + + + + + delete from xm_iteration_state_his res + + + + + + + + delete from xm_iteration_state_his + where iteration_id = #{iterationId} and biz_date = #{bizDate} + + + + + update xm_iteration_state_his + + + + where iteration_id = #{iterationId} and biz_date = #{bizDate} + + + + + update xm_iteration_state_his + + + + where iteration_id = #{iterationId} and biz_date = #{bizDate} + + + + + + + + update xm_iteration_state_his + set + + where iteration_id = #{item.iterationId} and biz_date = #{item.bizDate} + + + + + delete from xm_iteration_state_his + where + (iteration_id, biz_date) in + + ( #{item.iterationId}, #{item.bizDate} ) + + + + + + + iteration_id,biz_date,file_cnt,iteration_name,calc_time,calc_status,phase_cnt,phase_finish_cnt,need_pay_at,finish_pay_at,need_col_at,finish_col_at,risk_cnt,risk_finish_cnt,branch_id,branch_name,budget_nouser_at,budget_ouser_at,budget_iuser_at,act_user_at,act_iuser_at,act_ouser_at,act_nouser_at,finish_rate,budget_workload,budget_ouser_workload,budget_iuser_workload,estimate_workload,act_workload,project_status,act_ouser_workload,act_iuser_workload,need_pay_cnt,finish_pay_cnt,finish_pay_user_cnt,need_pay_user_cnt,test_cases,exec_cases,design_cases,finish_cases,iteration_cnt,product_cnt,min_start_time,max_end_time,menu_cnt,menu_finish_cnt,menu_exec_cnt,menu_unstart_cnt,menu_close_cnt,task_cnt,task_unstart_cnt,task_exec_cnt,task_finish_cnt,task_set_cnt,task_out_cnt,task_close_cnt,bug_cnt,closed_bugs,resolved_bugs,active_bugs,confirmed_bugs,plan_workhours,plan_worker_cnt,act_worker_cnt,project_cnt,budget_at,act_at + + + + + and res.iteration_id = #{iterationId} + and res.biz_date = #{bizDate} + and res.file_cnt = #{fileCnt} + and res.iteration_name = #{iterationName} + and date_format(res.calc_time,'%Y-%m-%d') = date_format(#{calcTime},'%Y-%m-%d') + and res.calc_status = #{calcStatus} + and res.phase_cnt = #{phaseCnt} + and res.phase_finish_cnt = #{phaseFinishCnt} + and res.need_pay_at = #{needPayAt} + and res.finish_pay_at = #{finishPayAt} + and res.need_col_at = #{needColAt} + and res.finish_col_at = #{finishColAt} + and res.risk_cnt = #{riskCnt} + and res.risk_finish_cnt = #{riskFinishCnt} + and res.branch_id = #{branchId} + and res.branch_name = #{branchName} + and res.budget_nouser_at = #{budgetNouserAt} + and res.budget_ouser_at = #{budgetOuserAt} + and res.budget_iuser_at = #{budgetIuserAt} + and res.act_user_at = #{actUserAt} + and res.act_iuser_at = #{actIuserAt} + and res.act_ouser_at = #{actOuserAt} + and res.act_nouser_at = #{actNouserAt} + and res.finish_rate = #{finishRate} + and res.budget_workload = #{budgetWorkload} + and res.budget_ouser_workload = #{budgetOuserWorkload} + and res.budget_iuser_workload = #{budgetIuserWorkload} + and res.estimate_workload = #{estimateWorkload} + and res.act_workload = #{actWorkload} + and res.project_status = #{projectStatus} + and res.act_ouser_workload = #{actOuserWorkload} + and res.act_iuser_workload = #{actIuserWorkload} + and res.need_pay_cnt = #{needPayCnt} + and res.finish_pay_cnt = #{finishPayCnt} + and res.finish_pay_user_cnt = #{finishPayUserCnt} + and res.need_pay_user_cnt = #{needPayUserCnt} + and res.test_cases = #{testCases} + and res.exec_cases = #{execCases} + and res.design_cases = #{designCases} + and res.finish_cases = #{finishCases} + and res.iteration_cnt = #{iterationCnt} + and res.product_cnt = #{productCnt} + and date_format(res.min_start_time,'%Y-%m-%d') = date_format(#{minStartTime},'%Y-%m-%d') + and date_format(res.max_end_time,'%Y-%m-%d') = date_format(#{maxEndTime},'%Y-%m-%d') + and res.menu_cnt = #{menuCnt} + and res.menu_finish_cnt = #{menuFinishCnt} + and res.menu_exec_cnt = #{menuExecCnt} + and res.menu_unstart_cnt = #{menuUnstartCnt} + and res.menu_close_cnt = #{menuCloseCnt} + and res.task_cnt = #{taskCnt} + and res.task_unstart_cnt = #{taskUnstartCnt} + and res.task_exec_cnt = #{taskExecCnt} + and res.task_finish_cnt = #{taskFinishCnt} + and res.task_set_cnt = #{taskSetCnt} + and res.task_out_cnt = #{taskOutCnt} + and res.task_close_cnt = #{taskCloseCnt} + and res.bug_cnt = #{bugCnt} + and res.closed_bugs = #{closedBugs} + and res.resolved_bugs = #{resolvedBugs} + and res.active_bugs = #{activeBugs} + and res.confirmed_bugs = #{confirmedBugs} + and res.plan_workhours = #{planWorkhours} + and res.plan_worker_cnt = #{planWorkerCnt} + and res.act_worker_cnt = #{actWorkerCnt} + and res.project_cnt = #{projectCnt} + and res.budget_at = #{budgetAt} + and res.act_at = #{actAt} + + + + file_cnt = #{fileCnt}, + iteration_name = #{iterationName}, + calc_time = #{calcTime}, + calc_status = #{calcStatus}, + phase_cnt = #{phaseCnt}, + phase_finish_cnt = #{phaseFinishCnt}, + need_pay_at = #{needPayAt}, + finish_pay_at = #{finishPayAt}, + need_col_at = #{needColAt}, + finish_col_at = #{finishColAt}, + risk_cnt = #{riskCnt}, + risk_finish_cnt = #{riskFinishCnt}, + branch_id = #{branchId}, + branch_name = #{branchName}, + budget_nouser_at = #{budgetNouserAt}, + budget_ouser_at = #{budgetOuserAt}, + budget_iuser_at = #{budgetIuserAt}, + act_user_at = #{actUserAt}, + act_iuser_at = #{actIuserAt}, + act_ouser_at = #{actOuserAt}, + act_nouser_at = #{actNouserAt}, + finish_rate = #{finishRate}, + budget_workload = #{budgetWorkload}, + budget_ouser_workload = #{budgetOuserWorkload}, + budget_iuser_workload = #{budgetIuserWorkload}, + estimate_workload = #{estimateWorkload}, + act_workload = #{actWorkload}, + project_status = #{projectStatus}, + act_ouser_workload = #{actOuserWorkload}, + act_iuser_workload = #{actIuserWorkload}, + need_pay_cnt = #{needPayCnt}, + finish_pay_cnt = #{finishPayCnt}, + finish_pay_user_cnt = #{finishPayUserCnt}, + need_pay_user_cnt = #{needPayUserCnt}, + test_cases = #{testCases}, + exec_cases = #{execCases}, + design_cases = #{designCases}, + finish_cases = #{finishCases}, + iteration_cnt = #{iterationCnt}, + product_cnt = #{productCnt}, + min_start_time = #{minStartTime}, + max_end_time = #{maxEndTime}, + menu_cnt = #{menuCnt}, + menu_finish_cnt = #{menuFinishCnt}, + menu_exec_cnt = #{menuExecCnt}, + menu_unstart_cnt = #{menuUnstartCnt}, + menu_close_cnt = #{menuCloseCnt}, + task_cnt = #{taskCnt}, + task_unstart_cnt = #{taskUnstartCnt}, + task_exec_cnt = #{taskExecCnt}, + task_finish_cnt = #{taskFinishCnt}, + task_set_cnt = #{taskSetCnt}, + task_out_cnt = #{taskOutCnt}, + task_close_cnt = #{taskCloseCnt}, + bug_cnt = #{bugCnt}, + closed_bugs = #{closedBugs}, + resolved_bugs = #{resolvedBugs}, + active_bugs = #{activeBugs}, + confirmed_bugs = #{confirmedBugs}, + plan_workhours = #{planWorkhours}, + plan_worker_cnt = #{planWorkerCnt}, + act_worker_cnt = #{actWorkerCnt}, + project_cnt = #{projectCnt}, + budget_at = #{budgetAt}, + act_at = #{actAt} + + + file_cnt = #{fileCnt}, + iteration_name = #{iterationName}, + calc_time = #{calcTime}, + calc_status = #{calcStatus}, + phase_cnt = #{phaseCnt}, + phase_finish_cnt = #{phaseFinishCnt}, + need_pay_at = #{needPayAt}, + finish_pay_at = #{finishPayAt}, + need_col_at = #{needColAt}, + finish_col_at = #{finishColAt}, + risk_cnt = #{riskCnt}, + risk_finish_cnt = #{riskFinishCnt}, + branch_id = #{branchId}, + branch_name = #{branchName}, + budget_nouser_at = #{budgetNouserAt}, + budget_ouser_at = #{budgetOuserAt}, + budget_iuser_at = #{budgetIuserAt}, + act_user_at = #{actUserAt}, + act_iuser_at = #{actIuserAt}, + act_ouser_at = #{actOuserAt}, + act_nouser_at = #{actNouserAt}, + finish_rate = #{finishRate}, + budget_workload = #{budgetWorkload}, + budget_ouser_workload = #{budgetOuserWorkload}, + budget_iuser_workload = #{budgetIuserWorkload}, + estimate_workload = #{estimateWorkload}, + act_workload = #{actWorkload}, + project_status = #{projectStatus}, + act_ouser_workload = #{actOuserWorkload}, + act_iuser_workload = #{actIuserWorkload}, + need_pay_cnt = #{needPayCnt}, + finish_pay_cnt = #{finishPayCnt}, + finish_pay_user_cnt = #{finishPayUserCnt}, + need_pay_user_cnt = #{needPayUserCnt}, + test_cases = #{testCases}, + exec_cases = #{execCases}, + design_cases = #{designCases}, + finish_cases = #{finishCases}, + iteration_cnt = #{iterationCnt}, + product_cnt = #{productCnt}, + min_start_time = #{minStartTime}, + max_end_time = #{maxEndTime}, + menu_cnt = #{menuCnt}, + menu_finish_cnt = #{menuFinishCnt}, + menu_exec_cnt = #{menuExecCnt}, + menu_unstart_cnt = #{menuUnstartCnt}, + menu_close_cnt = #{menuCloseCnt}, + task_cnt = #{taskCnt}, + task_unstart_cnt = #{taskUnstartCnt}, + task_exec_cnt = #{taskExecCnt}, + task_finish_cnt = #{taskFinishCnt}, + task_set_cnt = #{taskSetCnt}, + task_out_cnt = #{taskOutCnt}, + task_close_cnt = #{taskCloseCnt}, + bug_cnt = #{bugCnt}, + closed_bugs = #{closedBugs}, + resolved_bugs = #{resolvedBugs}, + active_bugs = #{activeBugs}, + confirmed_bugs = #{confirmedBugs}, + plan_workhours = #{planWorkhours}, + plan_worker_cnt = #{planWorkerCnt}, + act_worker_cnt = #{actWorkerCnt}, + project_cnt = #{projectCnt}, + budget_at = #{budgetAt}, + act_at = #{actAt}, + + + + file_cnt = #{item.fileCnt}, + iteration_name = #{item.iterationName}, + calc_time = #{item.calcTime}, + calc_status = #{item.calcStatus}, + phase_cnt = #{item.phaseCnt}, + phase_finish_cnt = #{item.phaseFinishCnt}, + need_pay_at = #{item.needPayAt}, + finish_pay_at = #{item.finishPayAt}, + need_col_at = #{item.needColAt}, + finish_col_at = #{item.finishColAt}, + risk_cnt = #{item.riskCnt}, + risk_finish_cnt = #{item.riskFinishCnt}, + branch_id = #{item.branchId}, + branch_name = #{item.branchName}, + budget_nouser_at = #{item.budgetNouserAt}, + budget_ouser_at = #{item.budgetOuserAt}, + budget_iuser_at = #{item.budgetIuserAt}, + act_user_at = #{item.actUserAt}, + act_iuser_at = #{item.actIuserAt}, + act_ouser_at = #{item.actOuserAt}, + act_nouser_at = #{item.actNouserAt}, + finish_rate = #{item.finishRate}, + budget_workload = #{item.budgetWorkload}, + budget_ouser_workload = #{item.budgetOuserWorkload}, + budget_iuser_workload = #{item.budgetIuserWorkload}, + estimate_workload = #{item.estimateWorkload}, + act_workload = #{item.actWorkload}, + project_status = #{item.projectStatus}, + act_ouser_workload = #{item.actOuserWorkload}, + act_iuser_workload = #{item.actIuserWorkload}, + need_pay_cnt = #{item.needPayCnt}, + finish_pay_cnt = #{item.finishPayCnt}, + finish_pay_user_cnt = #{item.finishPayUserCnt}, + need_pay_user_cnt = #{item.needPayUserCnt}, + test_cases = #{item.testCases}, + exec_cases = #{item.execCases}, + design_cases = #{item.designCases}, + finish_cases = #{item.finishCases}, + iteration_cnt = #{item.iterationCnt}, + product_cnt = #{item.productCnt}, + min_start_time = #{item.minStartTime}, + max_end_time = #{item.maxEndTime}, + menu_cnt = #{item.menuCnt}, + menu_finish_cnt = #{item.menuFinishCnt}, + menu_exec_cnt = #{item.menuExecCnt}, + menu_unstart_cnt = #{item.menuUnstartCnt}, + menu_close_cnt = #{item.menuCloseCnt}, + task_cnt = #{item.taskCnt}, + task_unstart_cnt = #{item.taskUnstartCnt}, + task_exec_cnt = #{item.taskExecCnt}, + task_finish_cnt = #{item.taskFinishCnt}, + task_set_cnt = #{item.taskSetCnt}, + task_out_cnt = #{item.taskOutCnt}, + task_close_cnt = #{item.taskCloseCnt}, + bug_cnt = #{item.bugCnt}, + closed_bugs = #{item.closedBugs}, + resolved_bugs = #{item.resolvedBugs}, + active_bugs = #{item.activeBugs}, + confirmed_bugs = #{item.confirmedBugs}, + plan_workhours = #{item.planWorkhours}, + plan_worker_cnt = #{item.planWorkerCnt}, + act_worker_cnt = #{item.actWorkerCnt}, + project_cnt = #{item.projectCnt}, + budget_at = #{item.budgetAt}, + act_at = #{item.actAt} + + \ No newline at end of file diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProductStateHisMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProductStateHisMapper.xml new file mode 100644 index 00000000..3de5a83c --- /dev/null +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProductStateHisMapper.xml @@ -0,0 +1,411 @@ + + + + + + + + + and (res.product_id, res.biz_date) in + + ( #{item.productId}, #{item.bizDate}) + + + + + + + + + + + + + + + + + + + + + + + + + + insert into xm_product_state_his( + + ) values ( + #{productId},#{bizDate},#{fileCnt},#{productName},#{calcTime},#{calcStatus},#{phaseCnt},#{phaseFinishCnt},#{needPayAt},#{finishPayAt},#{needColAt},#{finishColAt},#{riskCnt},#{riskFinishCnt},#{branchId},#{branchName},#{budgetNouserAt},#{budgetOuserAt},#{budgetIuserAt},#{actUserAt},#{actIuserAt},#{actOuserAt},#{actNouserAt},#{finishRate},#{budgetWorkload},#{budgetOuserWorkload},#{budgetIuserWorkload},#{estimateWorkload},#{actWorkload},#{projectStatus},#{actOuserWorkload},#{actIuserWorkload},#{needPayCnt},#{finishPayCnt},#{finishPayUserCnt},#{needPayUserCnt},#{testCases},#{execCases},#{designCases},#{finishCases},#{iterationCnt},#{productCnt},#{minStartTime},#{maxEndTime},#{menuCnt},#{menuFinishCnt},#{menuExecCnt},#{menuUnstartCnt},#{menuCloseCnt},#{taskCnt},#{taskUnstartCnt},#{taskExecCnt},#{taskFinishCnt},#{taskSetCnt},#{taskOutCnt},#{taskCloseCnt},#{bugCnt},#{closedBugs},#{resolvedBugs},#{activeBugs},#{confirmedBugs},#{planWorkhours},#{planWorkerCnt},#{actWorkerCnt},#{projectCnt},#{budgetAt},#{actAt} + ) + + + + + delete from xm_product_state_his res + + + + + + + + delete from xm_product_state_his + where product_id = #{productId} and biz_date = #{bizDate} + + + + + update xm_product_state_his + + + + where product_id = #{productId} and biz_date = #{bizDate} + + + + + update xm_product_state_his + + + + where product_id = #{productId} and biz_date = #{bizDate} + + + + + + + + update xm_product_state_his + set + + where product_id = #{item.productId} and biz_date = #{item.bizDate} + + + + + delete from xm_product_state_his + where + (product_id, biz_date) in + + ( #{item.productId}, #{item.bizDate} ) + + + + + + + product_id,biz_date,file_cnt,product_name,calc_time,calc_status,phase_cnt,phase_finish_cnt,need_pay_at,finish_pay_at,need_col_at,finish_col_at,risk_cnt,risk_finish_cnt,branch_id,branch_name,budget_nouser_at,budget_ouser_at,budget_iuser_at,act_user_at,act_iuser_at,act_ouser_at,act_nouser_at,finish_rate,budget_workload,budget_ouser_workload,budget_iuser_workload,estimate_workload,act_workload,project_status,act_ouser_workload,act_iuser_workload,need_pay_cnt,finish_pay_cnt,finish_pay_user_cnt,need_pay_user_cnt,test_cases,exec_cases,design_cases,finish_cases,iteration_cnt,product_cnt,min_start_time,max_end_time,menu_cnt,menu_finish_cnt,menu_exec_cnt,menu_unstart_cnt,menu_close_cnt,task_cnt,task_unstart_cnt,task_exec_cnt,task_finish_cnt,task_set_cnt,task_out_cnt,task_close_cnt,bug_cnt,closed_bugs,resolved_bugs,active_bugs,confirmed_bugs,plan_workhours,plan_worker_cnt,act_worker_cnt,project_cnt,budget_at,act_at + + + + + and res.product_id = #{productId} + and res.biz_date = #{bizDate} + and res.file_cnt = #{fileCnt} + and res.product_name = #{productName} + and date_format(res.calc_time,'%Y-%m-%d') = date_format(#{calcTime},'%Y-%m-%d') + and res.calc_status = #{calcStatus} + and res.phase_cnt = #{phaseCnt} + and res.phase_finish_cnt = #{phaseFinishCnt} + and res.need_pay_at = #{needPayAt} + and res.finish_pay_at = #{finishPayAt} + and res.need_col_at = #{needColAt} + and res.finish_col_at = #{finishColAt} + and res.risk_cnt = #{riskCnt} + and res.risk_finish_cnt = #{riskFinishCnt} + and res.branch_id = #{branchId} + and res.branch_name = #{branchName} + and res.budget_nouser_at = #{budgetNouserAt} + and res.budget_ouser_at = #{budgetOuserAt} + and res.budget_iuser_at = #{budgetIuserAt} + and res.act_user_at = #{actUserAt} + and res.act_iuser_at = #{actIuserAt} + and res.act_ouser_at = #{actOuserAt} + and res.act_nouser_at = #{actNouserAt} + and res.finish_rate = #{finishRate} + and res.budget_workload = #{budgetWorkload} + and res.budget_ouser_workload = #{budgetOuserWorkload} + and res.budget_iuser_workload = #{budgetIuserWorkload} + and res.estimate_workload = #{estimateWorkload} + and res.act_workload = #{actWorkload} + and res.project_status = #{projectStatus} + and res.act_ouser_workload = #{actOuserWorkload} + and res.act_iuser_workload = #{actIuserWorkload} + and res.need_pay_cnt = #{needPayCnt} + and res.finish_pay_cnt = #{finishPayCnt} + and res.finish_pay_user_cnt = #{finishPayUserCnt} + and res.need_pay_user_cnt = #{needPayUserCnt} + and res.test_cases = #{testCases} + and res.exec_cases = #{execCases} + and res.design_cases = #{designCases} + and res.finish_cases = #{finishCases} + and res.iteration_cnt = #{iterationCnt} + and res.product_cnt = #{productCnt} + and date_format(res.min_start_time,'%Y-%m-%d') = date_format(#{minStartTime},'%Y-%m-%d') + and date_format(res.max_end_time,'%Y-%m-%d') = date_format(#{maxEndTime},'%Y-%m-%d') + and res.menu_cnt = #{menuCnt} + and res.menu_finish_cnt = #{menuFinishCnt} + and res.menu_exec_cnt = #{menuExecCnt} + and res.menu_unstart_cnt = #{menuUnstartCnt} + and res.menu_close_cnt = #{menuCloseCnt} + and res.task_cnt = #{taskCnt} + and res.task_unstart_cnt = #{taskUnstartCnt} + and res.task_exec_cnt = #{taskExecCnt} + and res.task_finish_cnt = #{taskFinishCnt} + and res.task_set_cnt = #{taskSetCnt} + and res.task_out_cnt = #{taskOutCnt} + and res.task_close_cnt = #{taskCloseCnt} + and res.bug_cnt = #{bugCnt} + and res.closed_bugs = #{closedBugs} + and res.resolved_bugs = #{resolvedBugs} + and res.active_bugs = #{activeBugs} + and res.confirmed_bugs = #{confirmedBugs} + and res.plan_workhours = #{planWorkhours} + and res.plan_worker_cnt = #{planWorkerCnt} + and res.act_worker_cnt = #{actWorkerCnt} + and res.project_cnt = #{projectCnt} + and res.budget_at = #{budgetAt} + and res.act_at = #{actAt} + + + + file_cnt = #{fileCnt}, + product_name = #{productName}, + calc_time = #{calcTime}, + calc_status = #{calcStatus}, + phase_cnt = #{phaseCnt}, + phase_finish_cnt = #{phaseFinishCnt}, + need_pay_at = #{needPayAt}, + finish_pay_at = #{finishPayAt}, + need_col_at = #{needColAt}, + finish_col_at = #{finishColAt}, + risk_cnt = #{riskCnt}, + risk_finish_cnt = #{riskFinishCnt}, + branch_id = #{branchId}, + branch_name = #{branchName}, + budget_nouser_at = #{budgetNouserAt}, + budget_ouser_at = #{budgetOuserAt}, + budget_iuser_at = #{budgetIuserAt}, + act_user_at = #{actUserAt}, + act_iuser_at = #{actIuserAt}, + act_ouser_at = #{actOuserAt}, + act_nouser_at = #{actNouserAt}, + finish_rate = #{finishRate}, + budget_workload = #{budgetWorkload}, + budget_ouser_workload = #{budgetOuserWorkload}, + budget_iuser_workload = #{budgetIuserWorkload}, + estimate_workload = #{estimateWorkload}, + act_workload = #{actWorkload}, + project_status = #{projectStatus}, + act_ouser_workload = #{actOuserWorkload}, + act_iuser_workload = #{actIuserWorkload}, + need_pay_cnt = #{needPayCnt}, + finish_pay_cnt = #{finishPayCnt}, + finish_pay_user_cnt = #{finishPayUserCnt}, + need_pay_user_cnt = #{needPayUserCnt}, + test_cases = #{testCases}, + exec_cases = #{execCases}, + design_cases = #{designCases}, + finish_cases = #{finishCases}, + iteration_cnt = #{iterationCnt}, + product_cnt = #{productCnt}, + min_start_time = #{minStartTime}, + max_end_time = #{maxEndTime}, + menu_cnt = #{menuCnt}, + menu_finish_cnt = #{menuFinishCnt}, + menu_exec_cnt = #{menuExecCnt}, + menu_unstart_cnt = #{menuUnstartCnt}, + menu_close_cnt = #{menuCloseCnt}, + task_cnt = #{taskCnt}, + task_unstart_cnt = #{taskUnstartCnt}, + task_exec_cnt = #{taskExecCnt}, + task_finish_cnt = #{taskFinishCnt}, + task_set_cnt = #{taskSetCnt}, + task_out_cnt = #{taskOutCnt}, + task_close_cnt = #{taskCloseCnt}, + bug_cnt = #{bugCnt}, + closed_bugs = #{closedBugs}, + resolved_bugs = #{resolvedBugs}, + active_bugs = #{activeBugs}, + confirmed_bugs = #{confirmedBugs}, + plan_workhours = #{planWorkhours}, + plan_worker_cnt = #{planWorkerCnt}, + act_worker_cnt = #{actWorkerCnt}, + project_cnt = #{projectCnt}, + budget_at = #{budgetAt}, + act_at = #{actAt} + + + file_cnt = #{fileCnt}, + product_name = #{productName}, + calc_time = #{calcTime}, + calc_status = #{calcStatus}, + phase_cnt = #{phaseCnt}, + phase_finish_cnt = #{phaseFinishCnt}, + need_pay_at = #{needPayAt}, + finish_pay_at = #{finishPayAt}, + need_col_at = #{needColAt}, + finish_col_at = #{finishColAt}, + risk_cnt = #{riskCnt}, + risk_finish_cnt = #{riskFinishCnt}, + branch_id = #{branchId}, + branch_name = #{branchName}, + budget_nouser_at = #{budgetNouserAt}, + budget_ouser_at = #{budgetOuserAt}, + budget_iuser_at = #{budgetIuserAt}, + act_user_at = #{actUserAt}, + act_iuser_at = #{actIuserAt}, + act_ouser_at = #{actOuserAt}, + act_nouser_at = #{actNouserAt}, + finish_rate = #{finishRate}, + budget_workload = #{budgetWorkload}, + budget_ouser_workload = #{budgetOuserWorkload}, + budget_iuser_workload = #{budgetIuserWorkload}, + estimate_workload = #{estimateWorkload}, + act_workload = #{actWorkload}, + project_status = #{projectStatus}, + act_ouser_workload = #{actOuserWorkload}, + act_iuser_workload = #{actIuserWorkload}, + need_pay_cnt = #{needPayCnt}, + finish_pay_cnt = #{finishPayCnt}, + finish_pay_user_cnt = #{finishPayUserCnt}, + need_pay_user_cnt = #{needPayUserCnt}, + test_cases = #{testCases}, + exec_cases = #{execCases}, + design_cases = #{designCases}, + finish_cases = #{finishCases}, + iteration_cnt = #{iterationCnt}, + product_cnt = #{productCnt}, + min_start_time = #{minStartTime}, + max_end_time = #{maxEndTime}, + menu_cnt = #{menuCnt}, + menu_finish_cnt = #{menuFinishCnt}, + menu_exec_cnt = #{menuExecCnt}, + menu_unstart_cnt = #{menuUnstartCnt}, + menu_close_cnt = #{menuCloseCnt}, + task_cnt = #{taskCnt}, + task_unstart_cnt = #{taskUnstartCnt}, + task_exec_cnt = #{taskExecCnt}, + task_finish_cnt = #{taskFinishCnt}, + task_set_cnt = #{taskSetCnt}, + task_out_cnt = #{taskOutCnt}, + task_close_cnt = #{taskCloseCnt}, + bug_cnt = #{bugCnt}, + closed_bugs = #{closedBugs}, + resolved_bugs = #{resolvedBugs}, + active_bugs = #{activeBugs}, + confirmed_bugs = #{confirmedBugs}, + plan_workhours = #{planWorkhours}, + plan_worker_cnt = #{planWorkerCnt}, + act_worker_cnt = #{actWorkerCnt}, + project_cnt = #{projectCnt}, + budget_at = #{budgetAt}, + act_at = #{actAt}, + + + + file_cnt = #{item.fileCnt}, + product_name = #{item.productName}, + calc_time = #{item.calcTime}, + calc_status = #{item.calcStatus}, + phase_cnt = #{item.phaseCnt}, + phase_finish_cnt = #{item.phaseFinishCnt}, + need_pay_at = #{item.needPayAt}, + finish_pay_at = #{item.finishPayAt}, + need_col_at = #{item.needColAt}, + finish_col_at = #{item.finishColAt}, + risk_cnt = #{item.riskCnt}, + risk_finish_cnt = #{item.riskFinishCnt}, + branch_id = #{item.branchId}, + branch_name = #{item.branchName}, + budget_nouser_at = #{item.budgetNouserAt}, + budget_ouser_at = #{item.budgetOuserAt}, + budget_iuser_at = #{item.budgetIuserAt}, + act_user_at = #{item.actUserAt}, + act_iuser_at = #{item.actIuserAt}, + act_ouser_at = #{item.actOuserAt}, + act_nouser_at = #{item.actNouserAt}, + finish_rate = #{item.finishRate}, + budget_workload = #{item.budgetWorkload}, + budget_ouser_workload = #{item.budgetOuserWorkload}, + budget_iuser_workload = #{item.budgetIuserWorkload}, + estimate_workload = #{item.estimateWorkload}, + act_workload = #{item.actWorkload}, + project_status = #{item.projectStatus}, + act_ouser_workload = #{item.actOuserWorkload}, + act_iuser_workload = #{item.actIuserWorkload}, + need_pay_cnt = #{item.needPayCnt}, + finish_pay_cnt = #{item.finishPayCnt}, + finish_pay_user_cnt = #{item.finishPayUserCnt}, + need_pay_user_cnt = #{item.needPayUserCnt}, + test_cases = #{item.testCases}, + exec_cases = #{item.execCases}, + design_cases = #{item.designCases}, + finish_cases = #{item.finishCases}, + iteration_cnt = #{item.iterationCnt}, + product_cnt = #{item.productCnt}, + min_start_time = #{item.minStartTime}, + max_end_time = #{item.maxEndTime}, + menu_cnt = #{item.menuCnt}, + menu_finish_cnt = #{item.menuFinishCnt}, + menu_exec_cnt = #{item.menuExecCnt}, + menu_unstart_cnt = #{item.menuUnstartCnt}, + menu_close_cnt = #{item.menuCloseCnt}, + task_cnt = #{item.taskCnt}, + task_unstart_cnt = #{item.taskUnstartCnt}, + task_exec_cnt = #{item.taskExecCnt}, + task_finish_cnt = #{item.taskFinishCnt}, + task_set_cnt = #{item.taskSetCnt}, + task_out_cnt = #{item.taskOutCnt}, + task_close_cnt = #{item.taskCloseCnt}, + bug_cnt = #{item.bugCnt}, + closed_bugs = #{item.closedBugs}, + resolved_bugs = #{item.resolvedBugs}, + active_bugs = #{item.activeBugs}, + confirmed_bugs = #{item.confirmedBugs}, + plan_workhours = #{item.planWorkhours}, + plan_worker_cnt = #{item.planWorkerCnt}, + act_worker_cnt = #{item.actWorkerCnt}, + project_cnt = #{item.projectCnt}, + budget_at = #{item.budgetAt}, + act_at = #{item.actAt} + + \ No newline at end of file