Browse Source

添加节点类型、标签等

master
陈裕财 4 years ago
parent
commit
8dc1786a5c
  1. 30
      xm-core-ui-web/src/api/xm/core/xmProjectGroup.js
  2. 30
      xm-core-ui-web/src/api/xm/core/xmProjectGroupUser.js
  3. 194
      xm-core-ui-web/src/views/xm/core/xmProjectGroup/XmProjectGroupEdit.vue
  4. 269
      xm-core-ui-web/src/views/xm/core/xmProjectGroup/XmProjectGroupMng.vue
  5. 161
      xm-core-ui-web/src/views/xm/core/xmProjectGroupUser/XmProjectGroupUserEdit.vue
  6. 258
      xm-core-ui-web/src/views/xm/core/xmProjectGroupUser/XmProjectGroupUserMng.vue
  7. 229
      xm-core/src/main/java/com/xm/core/ctrl/XmBranchStateHisController.java
  8. 209
      xm-core/src/main/java/com/xm/core/ctrl/XmIterationStateHisController.java
  9. 209
      xm-core/src/main/java/com/xm/core/ctrl/XmProductStateHisController.java
  10. 995
      xm-core/src/main/java/com/xm/core/entity/XmBranchStateHis.java
  11. 1040
      xm-core/src/main/java/com/xm/core/entity/XmIterationStateHis.java
  12. 1040
      xm-core/src/main/java/com/xm/core/entity/XmProductStateHis.java
  13. 27
      xm-core/src/main/java/com/xm/core/service/XmBranchStateHisService.java
  14. 24
      xm-core/src/main/java/com/xm/core/service/XmIterationStateHisService.java
  15. 24
      xm-core/src/main/java/com/xm/core/service/XmProductStateHisService.java
  16. 403
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmBranchStateHisMapper.xml
  17. 411
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmIterationStateHisMapper.xml
  18. 411
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProductStateHisMapper.xml

30
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); };

30
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); };

194
xm-core-ui-web/src/views/xm/core/xmProjectGroup/XmProjectGroupEdit.vue

@ -0,0 +1,194 @@
<template>
<section class="page-container padding">
<el-row class="page-header">
</el-row>
<el-row class="page-main">
<!--编辑界面 XmProjectGroup xm_project_group-->
<el-form :model="editForm" label-width="120px" :rules="editFormRules" ref="editFormRef">
<el-form-item label="主键" prop="id">
<el-input v-model="editForm.id" placeholder="主键"></el-input>
</el-form-item>
<el-form-item label="团队名称" prop="groupName">
<el-input v-model="editForm.groupName" placeholder="团队名称"></el-input>
</el-form-item>
<el-form-item label="项目编号-属于产品线则可为空" prop="projectId">
<el-input v-model="editForm.projectId" placeholder="项目编号-属于产品线则可为空"></el-input>
</el-form-item>
<el-form-item label="项目团队类型编号" prop="pgTypeId">
<el-input v-model="editForm.pgTypeId" placeholder="项目团队类型编号"></el-input>
</el-form-item>
<el-form-item label="团队类型名称" prop="pgTypeName">
<el-input v-model="editForm.pgTypeName" placeholder="团队类型名称"></el-input>
</el-form-item>
<el-form-item label="团队负责人" prop="leaderUserid">
<el-input v-model="editForm.leaderUserid" placeholder="团队负责人"></el-input>
</el-form-item>
<el-form-item label="负责人姓名" prop="leaderUsername">
<el-input v-model="editForm.leaderUsername" placeholder="负责人姓名"></el-input>
</el-form-item>
<el-form-item label="创建时间" prop="ctime">
<el-date-picker type="date" placeholder="选择日期" v-model="editForm.ctime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item label="更新时间" prop="ltime">
<el-date-picker type="date" placeholder="选择日期" v-model="editForm.ltime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item label="产品编号,属于项目组的团队则可为空" prop="productId">
<el-input v-model="editForm.productId" placeholder="产品编号,属于项目组的团队则可为空"></el-input>
</el-form-item>
<el-form-item label="机构编号" prop="branchId">
<el-input v-model="editForm.branchId" placeholder="机构编号"></el-input>
</el-form-item>
<el-form-item label="团队类别0项目1产品" prop="pgClass">
<el-input v-model="editForm.pgClass" placeholder="团队类别0项目1产品"></el-input>
</el-form-item>
<el-form-item label="上级团队编号" prop="pgroupId">
<el-input v-model="editForm.pgroupId" placeholder="上级团队编号"></el-input>
</el-form-item>
<el-form-item label="级别0级1级2级3级4级" prop="lvl">
<el-input-number v-model="editForm.lvl" :min="0" :max="200"></el-input-number>
</el-form-item>
<el-form-item label="上级编号路径逗号分割,0,开始,本组编号+逗号结束" prop="pidPaths">
<el-input v-model="editForm.pidPaths" placeholder="上级编号路径逗号分割,0,开始,本组编号+逗号结束"></el-input>
</el-form-item>
<el-form-item label="是否为模板" prop="isTpl">
<el-input v-model="editForm.isTpl" placeholder="是否为模板"></el-input>
</el-form-item>
<el-form-item label="副组长编号" prop="assUserid">
<el-input v-model="editForm.assUserid" placeholder="副组长编号"></el-input>
</el-form-item>
<el-form-item label="副组长姓名" prop="assUsername">
<el-input v-model="editForm.assUsername" placeholder="副组长姓名"></el-input>
</el-form-item>
<el-form-item label="下级团队数量" prop="childrenCnt">
<el-input-number v-model="editForm.childrenCnt" :min="0" :max="200"></el-input-number>
</el-form-item>
<el-form-item label="组员数量" prop="userCnt">
<el-input-number v-model="editForm.userCnt" :min="0" :max="200"></el-input-number>
</el-form-item>
<el-form-item label="权限码" prop="qxCode">
<el-input v-model="editForm.qxCode" placeholder="权限码"></el-input>
</el-form-item>
<el-form-item label="是否计算工作量0否1是" prop="calcWorkload">
<el-input v-model="editForm.calcWorkload" placeholder="是否计算工作量0否1是"></el-input>
</el-form-item>
<el-form-item label="节点类型0管理团队、1执行团队" prop="ntype">
<el-input v-model="editForm.ntype" placeholder="节点类型0管理团队、1执行团队"></el-input>
</el-form-item>
</el-form>
</el-row>
<el-row class="page-bottom bottom-fixed">
<el-button @click.native="handleCancel">取消</el-button>
<el-button v-loading="load.edit" type="primary" @click.native="saveSubmit" :disabled="load.edit==true">提交</el-button>
</el-row>
</section>
</template>
<script>
import util from '@/common/js/util';//
import config from "@/common/config"; //import
import { getDicts,initSimpleDicts,initComplexDicts } from '@/api/mdp/meta/item';//
import { addXmProjectGroup,editXmProjectGroup } from '@/api/xm/core/xmProjectGroup';
import { mapGetters } from 'vuex'
export default {
name:'xmProjectGroupEdit',
components: {
},
computed: {
...mapGetters([ 'userInfo' ]),
},
props:['xmProjectGroup','visible','opType'],
watch: {
'xmProjectGroup':function( xmProjectGroup ) {
if(xmProjectGroup){
this.editForm = xmProjectGroup;
}
},
'visible':function(visible) {
if(visible==true){
this.initData()
}
}
},
data() {
return {
currOpType:'add',//add/edit
load:{ list: false, edit: false, del: false, add: false },//...
dicts:{},// params={categoryId:'all',itemCodes:['sex']} {sex: [{id:'1',name:''},{id:'2',name:''}]}
editFormRules: {
id: [
//{ required: true, message: '', trigger: 'blur' }
]
},
editForm: {
id:'',groupName:'',projectId:'',pgTypeId:'',pgTypeName:'',leaderUserid:'',leaderUsername:'',ctime:'',ltime:'',productId:'',branchId:'',pgClass:'',pgroupId:'',lvl:'',pidPaths:'',isTpl:'',assUserid:'',assUsername:'',childrenCnt:'',userCnt:'',qxCode:'',calcWorkload:'',ntype:''
},
}//end return
},//end data
methods: {
// @cancel="editFormVisible=false"
handleCancel:function(){
this.$refs['editFormRef'].resetFields();
this.$emit('cancel');
},
//XmProjectGroup xm_project_group@submit="afterEditSubmit"
saveSubmit: function () {
this.$refs.editFormRef.validate((valid) => {
if (valid) {
this.$confirm('确认提交吗?', '提示', {}).then(() => {
this.load.edit=true
let params = Object.assign({}, this.editForm);
var func=addXmProjectGroup
if(this.currOpType=='edit'){
func=editXmProjectGroup
}
func(params).then((res) => {
this.load.edit=false
var tips=res.data.tips;
if(tips.isOk){
this.editForm=res.data.data
this.initData()
this.currOpType="edit";
this.$emit('submit');// @submit="afterAddSubmit"
}
this.$message({ showClose:true, message: tips.msg, type: tips.isOk?'success':'error' });
}).catch( err =>this.load.edit=false);
});
}else{
this.$message({ showClose:true, message: "表单验证不通过,请修改表单数据再提交", type: 'error' });
}
});
},
initData: function(){
this.currOpType=this.opType
if(this.xmProjectGroup){
this.editForm = Object.assign({},this.xmProjectGroup);
}
if(this.opType=='edit'){
}else{
}
},
},//end method
mounted() {
this.$nextTick(() => {
//initSimpleDicts('all',['sex','gradeLvl']).then(res=>this.dicts=res.data.data);
this.initData()
});
}
}
</script>
<style scoped>
</style>

269
xm-core-ui-web/src/views/xm/core/xmProjectGroup/XmProjectGroupMng.vue

@ -0,0 +1,269 @@
<template>
<section class="page-container border padding">
<el-row>
<el-input v-model="filters.key" style="width: 20%;" placeholder="模糊查询"></el-input>
<el-button v-loading="load.list" :disabled="load.list==true" @click="searchXmProjectGroups" icon="el-icon-search">查询</el-button>
<el-button type="primary" @click="showAdd" icon="el-icon-plus"> </el-button>
<el-button type="danger" v-loading="load.del" @click="batchDel" :disabled="this.sels.length===0 || load.del==true" icon="el-icon-delete"></el-button>
</el-row>
<el-row class="padding-top">
<!--列表 XmProjectGroup xm_project_group-->
<el-table ref="xmProjectGroupTable" :data="xmProjectGroups" :height="maxTableHeight" @sort-change="sortChange" highlight-current-row v-loading="load.list" border @selection-change="selsChange" @row-click="rowClick" style="width: 100%;">
<el-table-column type="selection" width="55" show-overflow-tooltip></el-table-column>
<el-table-column sortable type="index" width="55" show-overflow-tooltip></el-table-column>
<el-table-column prop="id" label="主键" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="groupName" label="团队名称" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="projectId" label="项目编号-属于产品线则可为空" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="pgTypeId" label="项目团队类型编号" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="pgTypeName" label="团队类型名称" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="leaderUserid" label="团队负责人" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="leaderUsername" label="负责人姓名" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="ctime" label="创建时间" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="ltime" label="更新时间" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="productId" label="产品编号,属于项目组的团队则可为空" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="branchId" label="机构编号" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="pgClass" label="团队类别0项目1产品" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="pgroupId" label="上级团队编号" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="lvl" label="级别0级1级2级3级4级" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="pidPaths" label="上级编号路径逗号分割,0,开始,本组编号+逗号结束" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="isTpl" label="是否为模板" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="assUserid" label="副组长编号" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="assUsername" label="副组长姓名" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="childrenCnt" label="下级团队数量" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="userCnt" label="组员数量" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="qxCode" label="权限码" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="calcWorkload" label="是否计算工作量0否1是" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="ntype" label="节点类型0管理团队、1执行团队" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column label="操作" width="180" fixed="right">
<template slot="header">
<el-button @click="showAdd" icon="el-icon-plus" circle> </el-button>
</template>
<template scope="scope">
<el-button type="primary" @click="showEdit( scope.row,scope.$index)" icon="el-icon-edit"></el-button>
<el-button type="danger" @click="handleDel(scope.row,scope.$index)" icon="el-icon-delete"></el-button>
</template>
</el-table-column>
</el-table>
<el-pagination layout="total, sizes, prev, pager, next" @current-change="handleCurrentChange" @size-change="handleSizeChange" :page-sizes="[10,20, 50, 100, 500]" :current-page="pageInfo.pageNum" :page-size="pageInfo.pageSize" :total="pageInfo.total" style="float:right;"></el-pagination>
</el-row>
<el-row>
<!--编辑 XmProjectGroup xm_project_group界面-->
<el-drawer title="编辑xm_project_group" :visible.sync="editFormVisible" size="60%" append-to-body :close-on-click-modal="false">
<xm-project-group-edit op-type="edit" :xm-project-group="editForm" :visible="editFormVisible" @cancel="editFormVisible=false" @submit="afterEditSubmit"></xm-project-group-edit>
</el-drawer>
<!--新增 XmProjectGroup xm_project_group界面-->
<el-drawer title="新增xm_project_group" :visible.sync="addFormVisible" size="60%" append-to-body :close-on-click-modal="false">
<xm-project-group-edit op-type="add" :visible="addFormVisible" @cancel="addFormVisible=false" @submit="afterAddSubmit"></xm-project-group-edit>
</el-drawer>
</el-row>
</section>
</template>
<script>
import util from '@/common/js/util';//
import config from '@/common/config';//
import { getDicts,initSimpleDicts,initComplexDicts } from '@/api/mdp/meta/item';//
import { listXmProjectGroup, delXmProjectGroup, batchDelXmProjectGroup } from '@/api/xm/core/xmProjectGroup';
import XmProjectGroupEdit from './XmProjectGroupEdit';//
import { mapGetters } from 'vuex'
export default {
name:'xmProjectGroupMng',
components: {
XmProjectGroupEdit,
},
props:['visible'],
computed: {
...mapGetters(['userInfo']),
},
watch:{
visible(val){
if(val==true){
this.initData();
this.searchXmProjectGroups()
}
}
},
data() {
return {
filters: {
key: ''
},
xmProjectGroups: [],//
pageInfo:{//
total:0,//0>0
pageSize:10,//
count:false,//
pageNum:1,//1
orderFields:[],// ['sex','student_id']
orderDirs:[]// asc,desc ['asc','desc']
},
load:{ list: false, edit: false, del: false, add: false },//...
sels: [],//
dicts:{
//sex: [{id:'1',name:''},{id:'2',name:''}]
},// params={categoryId:'all',itemCodes:['sex']} {sex: [{id:'1',name:''},{id:'2',name:''}]}
addFormVisible: false,//xmProjectGroup
addForm: {
id:'',groupName:'',projectId:'',pgTypeId:'',pgTypeName:'',leaderUserid:'',leaderUsername:'',ctime:'',ltime:'',productId:'',branchId:'',pgClass:'',pgroupId:'',lvl:'',pidPaths:'',isTpl:'',assUserid:'',assUsername:'',childrenCnt:'',userCnt:'',qxCode:'',calcWorkload:'',ntype:''
},
editFormVisible: false,//
editForm: {
id:'',groupName:'',projectId:'',pgTypeId:'',pgTypeName:'',leaderUserid:'',leaderUsername:'',ctime:'',ltime:'',productId:'',branchId:'',pgClass:'',pgroupId:'',lvl:'',pidPaths:'',isTpl:'',assUserid:'',assUsername:'',childrenCnt:'',userCnt:'',qxCode:'',calcWorkload:'',ntype:''
},
maxTableHeight:300,
}
},//end data
methods: {
handleSizeChange(pageSize) {
this.pageInfo.pageSize=pageSize;
this.getXmProjectGroups();
},
handleCurrentChange(pageNum) {
this.pageInfo.pageNum = pageNum;
this.getXmProjectGroups();
},
// obj.order=ascending/descending, asc/desc ; obj.prop=,
sortChange( obj ){
if(obj.order==null){
this.pageInfo.orderFields=[];
this.pageInfo.orderDirs=[];
}else{
var dir='asc';
if(obj.order=='ascending'){
dir='asc'
}else{
dir='desc';
}
this.pageInfo.orderFields=[util.toLine(obj.prop)];
this.pageInfo.orderDirs=[dir];
}
this.getXmProjectGroups();
},
searchXmProjectGroups(){
this.pageInfo.count=true;
this.getXmProjectGroups();
},
// XmProjectGroup xm_project_group
getXmProjectGroups() {
let params = {
pageSize: this.pageInfo.pageSize,
pageNum: this.pageInfo.pageNum,
total: this.pageInfo.total,
count:this.pageInfo.count
};
if(this.pageInfo.orderFields!=null && this.pageInfo.orderFields.length>0){
let orderBys=[];
for(var i=0;i<this.pageInfo.orderFields.length;i++){
orderBys.push(this.pageInfo.orderFields[i]+" "+this.pageInfo.orderDirs[i])
}
params.orderBy= orderBys.join(",")
}
if(this.filters.key){
params.key=this.filters.key
}
this.load.list = true;
listXmProjectGroup(params).then((res) => {
var tips=res.data.tips;
if(tips.isOk){
this.pageInfo.total = res.data.total;
this.pageInfo.count=false;
this.xmProjectGroups = res.data.data;
}else{
this.$message({ showClose:true, message: tips.msg, type: 'error' });
}
this.load.list = false;
}).catch( err => this.load.list = false );
},
// XmProjectGroup xm_project_group
showEdit: function ( row,index ) {
this.editFormVisible = true;
this.editForm = Object.assign({}, row);
},
// XmProjectGroup xm_project_group
showAdd: function () {
this.addFormVisible = true;
//this.addForm=Object.assign({}, this.editForm);
},
afterAddSubmit(){
this.addFormVisible=false;
this.pageInfo.count=true;
this.getXmProjectGroups();
},
afterEditSubmit(){
this.editFormVisible=false;
},
//xmProjectGroup
selsChange: function (sels) {
this.sels = sels;
},
//xmProjectGroup
handleDel: function (row,index) {
this.$confirm('确认删除该记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.load.del=true;
let params = { id: row.id };
delXmProjectGroup(params).then((res) => {
this.load.del=false;
var tips=res.data.tips;
if(tips.isOk){
this.pageInfo.count=true;
this.getXmProjectGroups();
}
this.$message({ showClose:true, message: tips.msg, type: tips.isOk?'success':'error' });
}).catch( err => this.load.del=false );
});
},
//xmProjectGroup
batchDel: function () {
this.$confirm('确认删除选中记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.load.del=true;
batchDelXmProjectGroup(this.sels).then((res) => {
this.load.del=false;
var tips=res.data.tips;
if( tips.isOk ){
this.pageInfo.count=true;
this.getXmProjectGroups();
}
this.$message({ showClose:true, message: tips.msg, type: tips.isOk?'success':'error'});
}).catch( err => this.load.del=false );
});
},
rowClick: function(row, event, column){
if(event.label!='操作' && event.type!='selection'){
this.showEdit(row)
}
this.$emit('row-click',row, event, column);// @row-click="rowClick"
},
initData: function(){
},
},//end methods
mounted() {
this.$nextTick(() => {
//initSimpleDicts('all',['sex','gradeLvl']).then(res=>this.dicts=res.data.data);
this.initData()
this.searchXmProjectGroups();
var table=document.querySelector('.el-table');
var top=util.getPositionTop(table)
this.maxTableHeight = window.innerHeight - top -60;
});
}
}
</script>
<style scoped>
</style>

161
xm-core-ui-web/src/views/xm/core/xmProjectGroupUser/XmProjectGroupUserEdit.vue

@ -0,0 +1,161 @@
<template>
<section class="page-container padding">
<el-row class="page-header">
</el-row>
<el-row class="page-main">
<!--编辑界面 XmProjectGroupUser xm_project_group_user-->
<el-form :model="editForm" label-width="120px" :rules="editFormRules" ref="editFormRef">
<el-form-item label="加入时间" prop="joinTime">
<el-date-picker type="date" placeholder="选择日期" v-model="editForm.joinTime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item label="团队编号" prop="groupId">
<el-input v-model="editForm.groupId" placeholder="团队编号"></el-input>
</el-form-item>
<el-form-item label="团队成员编号" prop="userid">
<el-input v-model="editForm.userid" placeholder="团队成员编号"></el-input>
</el-form-item>
<el-form-item label="团队成员" prop="username">
<el-input v-model="editForm.username" placeholder="团队成员"></el-input>
</el-form-item>
<el-form-item label="离队时间" prop="outTime">
<el-date-picker type="date" placeholder="选择日期" v-model="editForm.outTime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item label="当前状态0参与中1已退出团队" prop="status">
<el-input v-model="editForm.status" placeholder="当前状态0参与中1已退出团队"></el-input>
</el-form-item>
<el-form-item label="组员原归属机构编号" prop="obranchId">
<el-input v-model="editForm.obranchId" placeholder="组员原归属机构编号"></el-input>
</el-form-item>
<el-form-item label="是否私人加入0否1是" prop="isPri">
<el-input v-model="editForm.isPri" placeholder="是否私人加入0否1是"></el-input>
</el-form-item>
<el-form-item label="排序号--从1开始" prop="seqNo">
<el-input-number v-model="editForm.seqNo" :min="0" :max="200"></el-input-number>
</el-form-item>
<el-form-item label="项目编号" prop="projectId">
<el-input v-model="editForm.projectId" placeholder="项目编号"></el-input>
</el-form-item>
<el-form-item label="产品编号" prop="productId">
<el-input v-model="editForm.productId" placeholder="产品编号"></el-input>
</el-form-item>
<el-form-item label="0-项目,1-产品" prop="pgClass">
<el-input v-model="editForm.pgClass" placeholder="0-项目,1-产品"></el-input>
</el-form-item>
</el-form>
</el-row>
<el-row class="page-bottom bottom-fixed">
<el-button @click.native="handleCancel">取消</el-button>
<el-button v-loading="load.edit" type="primary" @click.native="saveSubmit" :disabled="load.edit==true">提交</el-button>
</el-row>
</section>
</template>
<script>
import util from '@/common/js/util';//
import config from "@/common/config"; //import
import { getDicts,initSimpleDicts,initComplexDicts } from '@/api/mdp/meta/item';//
import { addXmProjectGroupUser,editXmProjectGroupUser } from '@/api/xm/core/xmProjectGroupUser';
import { mapGetters } from 'vuex'
export default {
name:'xmProjectGroupUserEdit',
components: {
},
computed: {
...mapGetters([ 'userInfo' ]),
},
props:['xmProjectGroupUser','visible','opType'],
watch: {
'xmProjectGroupUser':function( xmProjectGroupUser ) {
if(xmProjectGroupUser){
this.editForm = xmProjectGroupUser;
}
},
'visible':function(visible) {
if(visible==true){
this.initData()
}
}
},
data() {
return {
currOpType:'add',//add/edit
load:{ list: false, edit: false, del: false, add: false },//...
dicts:{},// params={categoryId:'all',itemCodes:['sex']} {sex: [{id:'1',name:''},{id:'2',name:''}]}
editFormRules: {
groupId: [
//{ required: true, message: '', trigger: 'blur' }
]
},
editForm: {
joinTime:'',groupId:'',userid:'',username:'',outTime:'',status:'',obranchId:'',isPri:'',seqNo:'',projectId:'',productId:'',pgClass:''
},
}//end return
},//end data
methods: {
// @cancel="editFormVisible=false"
handleCancel:function(){
this.$refs['editFormRef'].resetFields();
this.$emit('cancel');
},
//XmProjectGroupUser xm_project_group_user@submit="afterEditSubmit"
saveSubmit: function () {
this.$refs.editFormRef.validate((valid) => {
if (valid) {
this.$confirm('确认提交吗?', '提示', {}).then(() => {
this.load.edit=true
let params = Object.assign({}, this.editForm);
var func=addXmProjectGroupUser
if(this.currOpType=='edit'){
func=editXmProjectGroupUser
}
func(params).then((res) => {
this.load.edit=false
var tips=res.data.tips;
if(tips.isOk){
this.editForm=res.data.data
this.initData()
this.currOpType="edit";
this.$emit('submit');// @submit="afterAddSubmit"
}
this.$message({ showClose:true, message: tips.msg, type: tips.isOk?'success':'error' });
}).catch( err =>this.load.edit=false);
});
}else{
this.$message({ showClose:true, message: "表单验证不通过,请修改表单数据再提交", type: 'error' });
}
});
},
initData: function(){
this.currOpType=this.opType
if(this.xmProjectGroupUser){
this.editForm = Object.assign({},this.xmProjectGroupUser);
}
if(this.opType=='edit'){
}else{
}
},
},//end method
mounted() {
this.$nextTick(() => {
//initSimpleDicts('all',['sex','gradeLvl']).then(res=>this.dicts=res.data.data);
this.initData()
});
}
}
</script>
<style scoped>
</style>

258
xm-core-ui-web/src/views/xm/core/xmProjectGroupUser/XmProjectGroupUserMng.vue

@ -0,0 +1,258 @@
<template>
<section class="page-container border padding">
<el-row>
<el-input v-model="filters.key" style="width: 20%;" placeholder="模糊查询"></el-input>
<el-button v-loading="load.list" :disabled="load.list==true" @click="searchXmProjectGroupUsers" icon="el-icon-search">查询</el-button>
<el-button type="primary" @click="showAdd" icon="el-icon-plus"> </el-button>
<el-button type="danger" v-loading="load.del" @click="batchDel" :disabled="this.sels.length===0 || load.del==true" icon="el-icon-delete"></el-button>
</el-row>
<el-row class="padding-top">
<!--列表 XmProjectGroupUser xm_project_group_user-->
<el-table ref="xmProjectGroupUserTable" :data="xmProjectGroupUsers" :height="maxTableHeight" @sort-change="sortChange" highlight-current-row v-loading="load.list" border @selection-change="selsChange" @row-click="rowClick" style="width: 100%;">
<el-table-column type="selection" width="55" show-overflow-tooltip></el-table-column>
<el-table-column sortable type="index" width="55" show-overflow-tooltip></el-table-column>
<el-table-column prop="joinTime" label="加入时间" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="groupId" label="团队编号" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="userid" label="团队成员编号" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="username" label="团队成员" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="outTime" label="离队时间" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="status" label="当前状态0参与中1已退出团队" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="obranchId" label="组员原归属机构编号" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="isPri" label="是否私人加入0否1是" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="seqNo" label="排序号--从1开始" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="projectId" label="项目编号" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="productId" label="产品编号" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="pgClass" label="0-项目,1-产品" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column label="操作" width="180" fixed="right">
<template slot="header">
<el-button @click="showAdd" icon="el-icon-plus" circle> </el-button>
</template>
<template scope="scope">
<el-button type="primary" @click="showEdit( scope.row,scope.$index)" icon="el-icon-edit"></el-button>
<el-button type="danger" @click="handleDel(scope.row,scope.$index)" icon="el-icon-delete"></el-button>
</template>
</el-table-column>
</el-table>
<el-pagination layout="total, sizes, prev, pager, next" @current-change="handleCurrentChange" @size-change="handleSizeChange" :page-sizes="[10,20, 50, 100, 500]" :current-page="pageInfo.pageNum" :page-size="pageInfo.pageSize" :total="pageInfo.total" style="float:right;"></el-pagination>
</el-row>
<el-row>
<!--编辑 XmProjectGroupUser xm_project_group_user界面-->
<el-drawer title="编辑xm_project_group_user" :visible.sync="editFormVisible" size="60%" append-to-body :close-on-click-modal="false">
<xm-project-group-user-edit op-type="edit" :xm-project-group-user="editForm" :visible="editFormVisible" @cancel="editFormVisible=false" @submit="afterEditSubmit"></xm-project-group-user-edit>
</el-drawer>
<!--新增 XmProjectGroupUser xm_project_group_user界面-->
<el-drawer title="新增xm_project_group_user" :visible.sync="addFormVisible" size="60%" append-to-body :close-on-click-modal="false">
<xm-project-group-user-edit op-type="add" :visible="addFormVisible" @cancel="addFormVisible=false" @submit="afterAddSubmit"></xm-project-group-user-edit>
</el-drawer>
</el-row>
</section>
</template>
<script>
import util from '@/common/js/util';//
import config from '@/common/config';//
import { getDicts,initSimpleDicts,initComplexDicts } from '@/api/mdp/meta/item';//
import { listXmProjectGroupUser, delXmProjectGroupUser, batchDelXmProjectGroupUser } from '@/api/xm/core/xmProjectGroupUser';
import XmProjectGroupUserEdit from './XmProjectGroupUserEdit';//
import { mapGetters } from 'vuex'
export default {
name:'xmProjectGroupUserMng',
components: {
XmProjectGroupUserEdit,
},
props:['visible'],
computed: {
...mapGetters(['userInfo']),
},
watch:{
visible(val){
if(val==true){
this.initData();
this.searchXmProjectGroupUsers()
}
}
},
data() {
return {
filters: {
key: ''
},
xmProjectGroupUsers: [],//
pageInfo:{//
total:0,//0>0
pageSize:10,//
count:false,//
pageNum:1,//1
orderFields:[],// ['sex','student_id']
orderDirs:[]// asc,desc ['asc','desc']
},
load:{ list: false, edit: false, del: false, add: false },//...
sels: [],//
dicts:{
//sex: [{id:'1',name:''},{id:'2',name:''}]
},// params={categoryId:'all',itemCodes:['sex']} {sex: [{id:'1',name:''},{id:'2',name:''}]}
addFormVisible: false,//xmProjectGroupUser
addForm: {
joinTime:'',groupId:'',userid:'',username:'',outTime:'',status:'',obranchId:'',isPri:'',seqNo:'',projectId:'',productId:'',pgClass:''
},
editFormVisible: false,//
editForm: {
joinTime:'',groupId:'',userid:'',username:'',outTime:'',status:'',obranchId:'',isPri:'',seqNo:'',projectId:'',productId:'',pgClass:''
},
maxTableHeight:300,
}
},//end data
methods: {
handleSizeChange(pageSize) {
this.pageInfo.pageSize=pageSize;
this.getXmProjectGroupUsers();
},
handleCurrentChange(pageNum) {
this.pageInfo.pageNum = pageNum;
this.getXmProjectGroupUsers();
},
// obj.order=ascending/descending, asc/desc ; obj.prop=,
sortChange( obj ){
if(obj.order==null){
this.pageInfo.orderFields=[];
this.pageInfo.orderDirs=[];
}else{
var dir='asc';
if(obj.order=='ascending'){
dir='asc'
}else{
dir='desc';
}
this.pageInfo.orderFields=[util.toLine(obj.prop)];
this.pageInfo.orderDirs=[dir];
}
this.getXmProjectGroupUsers();
},
searchXmProjectGroupUsers(){
this.pageInfo.count=true;
this.getXmProjectGroupUsers();
},
// XmProjectGroupUser xm_project_group_user
getXmProjectGroupUsers() {
let params = {
pageSize: this.pageInfo.pageSize,
pageNum: this.pageInfo.pageNum,
total: this.pageInfo.total,
count:this.pageInfo.count
};
if(this.pageInfo.orderFields!=null && this.pageInfo.orderFields.length>0){
let orderBys=[];
for(var i=0;i<this.pageInfo.orderFields.length;i++){
orderBys.push(this.pageInfo.orderFields[i]+" "+this.pageInfo.orderDirs[i])
}
params.orderBy= orderBys.join(",")
}
if(this.filters.key){
params.key=this.filters.key
}
this.load.list = true;
listXmProjectGroupUser(params).then((res) => {
var tips=res.data.tips;
if(tips.isOk){
this.pageInfo.total = res.data.total;
this.pageInfo.count=false;
this.xmProjectGroupUsers = res.data.data;
}else{
this.$message({ showClose:true, message: tips.msg, type: 'error' });
}
this.load.list = false;
}).catch( err => this.load.list = false );
},
// XmProjectGroupUser xm_project_group_user
showEdit: function ( row,index ) {
this.editFormVisible = true;
this.editForm = Object.assign({}, row);
},
// XmProjectGroupUser xm_project_group_user
showAdd: function () {
this.addFormVisible = true;
//this.addForm=Object.assign({}, this.editForm);
},
afterAddSubmit(){
this.addFormVisible=false;
this.pageInfo.count=true;
this.getXmProjectGroupUsers();
},
afterEditSubmit(){
this.editFormVisible=false;
},
//xmProjectGroupUser
selsChange: function (sels) {
this.sels = sels;
},
//xmProjectGroupUser
handleDel: function (row,index) {
this.$confirm('确认删除该记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.load.del=true;
let params = { groupId: row.groupId };
delXmProjectGroupUser(params).then((res) => {
this.load.del=false;
var tips=res.data.tips;
if(tips.isOk){
this.pageInfo.count=true;
this.getXmProjectGroupUsers();
}
this.$message({ showClose:true, message: tips.msg, type: tips.isOk?'success':'error' });
}).catch( err => this.load.del=false );
});
},
//xmProjectGroupUser
batchDel: function () {
this.$confirm('确认删除选中记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.load.del=true;
batchDelXmProjectGroupUser(this.sels).then((res) => {
this.load.del=false;
var tips=res.data.tips;
if( tips.isOk ){
this.pageInfo.count=true;
this.getXmProjectGroupUsers();
}
this.$message({ showClose:true, message: tips.msg, type: tips.isOk?'success':'error'});
}).catch( err => this.load.del=false );
});
},
rowClick: function(row, event, column){
if(event.label!='操作' && event.type!='selection'){
this.showEdit(row)
}
this.$emit('row-click',row, event, column);// @row-click="rowClick"
},
initData: function(){
},
},//end methods
mounted() {
this.$nextTick(() => {
//initSimpleDicts('all',['sex','gradeLvl']).then(res=>this.dicts=res.data.data);
this.initData()
this.searchXmProjectGroupUsers();
var table=document.querySelector('.el-table');
var top=util.getPositionTop(table)
this.maxTableHeight = window.innerHeight - top -60;
});
}
}
</script>
<style scoped>
</style>

229
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分别为:<br>
* 新增: core/xmBranchStateHis/add <br>
* 查询: core/xmBranchStateHis/list<br>
* 模糊查询: core/xmBranchStateHis/listKey<br>
* 修改: core/xmBranchStateHis/edit <br>
* 删除: core/xmBranchStateHis/del<br>
* 批量删除: core/xmBranchStateHis/batchDel<br>
* 组织 com 顶级模块 xm 大模块 core 小模块 <br>
* 实体 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<String,Object> listXmBranchStateHis( @RequestParam Map<String,Object> xmBranchStateHis){
Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("查询成功");
RequestUtils.transformArray(xmBranchStateHis, "pkList");
PageUtils.startPage(xmBranchStateHis);
List<Map<String,Object>> 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<String,Object> listXmBranchFiveDayTaskCnt( @RequestParam Map<String,Object> xmBranchStateHis){
Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("查询成功");
User user= LoginUtils.getCurrentUserInfo();
xmBranchStateHis.put("branchId",user.getBranchId());
List<Map<String,Object>> 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<String,Object> addXmBranchStateHis(@RequestBody XmBranchStateHis xmBranchStateHis) {
Map<String,Object> 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<String,Object> delXmBranchStateHis(@RequestBody XmBranchStateHis xmBranchStateHis){
Map<String,Object> 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<String,Object> editXmBranchStateHis(@RequestBody XmBranchStateHis xmBranchStateHis) {
Map<String,Object> 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<String,Object> batchDelXmBranchStateHis(@RequestBody List<XmBranchStateHis> xmBranchStateHiss) {
Map<String,Object> 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;
}
*/
}

209
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分别为:<br>
* 新增: core/xmIterationStateHis/add <br>
* 查询: core/xmIterationStateHis/list<br>
* 模糊查询: core/xmIterationStateHis/listKey<br>
* 修改: core/xmIterationStateHis/edit <br>
* 删除: core/xmIterationStateHis/del<br>
* 批量删除: core/xmIterationStateHis/batchDel<br>
* 组织 com 顶级模块 xm 大模块 core 小模块 <br>
* 实体 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<String,Object> listXmIterationStateHis( @RequestParam Map<String,Object> xmIterationStateHis){
Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("查询成功");
RequestUtils.transformArray(xmIterationStateHis, "pkList");
PageUtils.startPage(xmIterationStateHis);
List<Map<String,Object>> 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<String,Object> addXmIterationStateHis(@RequestBody XmIterationStateHis xmIterationStateHis) {
Map<String,Object> 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<String,Object> delXmIterationStateHis(@RequestBody XmIterationStateHis xmIterationStateHis){
Map<String,Object> 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<String,Object> editXmIterationStateHis(@RequestBody XmIterationStateHis xmIterationStateHis) {
Map<String,Object> 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<String,Object> batchDelXmIterationStateHis(@RequestBody List<XmIterationStateHis> xmIterationStateHiss) {
Map<String,Object> 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;
}
*/
}

209
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分别为:<br>
* 新增: core/xmProductStateHis/add <br>
* 查询: core/xmProductStateHis/list<br>
* 模糊查询: core/xmProductStateHis/listKey<br>
* 修改: core/xmProductStateHis/edit <br>
* 删除: core/xmProductStateHis/del<br>
* 批量删除: core/xmProductStateHis/batchDel<br>
* 组织 com 顶级模块 xm 大模块 core 小模块 <br>
* 实体 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<String,Object> listXmProductStateHis( @RequestParam Map<String,Object> xmProductStateHis){
Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("查询成功");
RequestUtils.transformArray(xmProductStateHis, "pkList");
PageUtils.startPage(xmProductStateHis);
List<Map<String,Object>> 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<String,Object> addXmProductStateHis(@RequestBody XmProductStateHis xmProductStateHis) {
Map<String,Object> 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<String,Object> delXmProductStateHis(@RequestBody XmProductStateHis xmProductStateHis){
Map<String,Object> 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<String,Object> editXmProductStateHis(@RequestBody XmProductStateHis xmProductStateHis) {
Map<String,Object> 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<String,Object> batchDelXmProductStateHis(@RequestBody List<XmProductStateHis> xmProductStateHiss) {
Map<String,Object> 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;
}
*/
}

995
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 小模块 <br>
* 实体 XmBranchStateHis所有属性名: <br>
* 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;<br>
* xm_branch_state_his 机构内所有项目指标汇总的所有字段名: <br>
* 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;<br>
* 当前主键(包括多主键):<br>
* biz_date,branch_id;<br>
*/
@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;
}
}

1040
xm-core/src/main/java/com/xm/core/entity/XmIterationStateHis.java
File diff suppressed because it is too large
View File

1040
xm-core/src/main/java/com/xm/core/entity/XmProductStateHis.java
File diff suppressed because it is too large
View File

27
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;
/**
* 父类已经支持增删改查操作,因此,即使本类什么也不写,也已经可以满足一般的增删改查操作了.<br>
* 组织 com 顶级模块 xm 大模块 core 小模块 <br>
* 实体 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<Map<String, Object>> listXmBranchFiveDayTaskCnt(Map<String, Object> xmBranchStateHis) {
return super.selectList("listXmBranchFiveDayTaskCnt",xmBranchStateHis);
}
}

24
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;
/**
* 父类已经支持增删改查操作,因此,即使本类什么也不写,也已经可以满足一般的增删改查操作了.<br>
* 组织 com 顶级模块 xm 大模块 core 小模块 <br>
* 实体 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);
}

24
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;
/**
* 父类已经支持增删改查操作,因此,即使本类什么也不写,也已经可以满足一般的增删改查操作了.<br>
* 组织 com 顶级模块 xm 大模块 core 小模块 <br>
* 实体 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);
}

403
xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmBranchStateHisMapper.xml

@ -0,0 +1,403 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xm.core.entity.XmBranchStateHis">
<!--开始 自定sql函数区域 请在此区域添加自定义函数,其它区域尽量不要动,因为代码随时重新生成 -->
<sql id="whereForMap">
<if test=" pkList != null"> and (res.biz_date, res.branch_id) in
<foreach collection="pkList" item="item" index="index" open="(" separator="," close=")" >
( #{item.bizDate}, #{item.branchId})
</foreach>
</if>
<if test="key != null and key !='' "> </if>
</sql>
<select id="listXmBranchFiveDayTaskCnt" parameterType="HashMap" resultType="HashMap">
select res.biz_date,res.task_unstart_cnt,res.task_exec_cnt,res.task_finish_cnt,res.task_cnt,res.task_close_cnt from xm_branch_state_his res
where res.branch_id=#{branchId}
order by res.biz_date desc limit 7
</select>
<!--结束 自定义sql函数区域-->
<!-- 通过条件查询获取数据列表 返回list<map> -->
<select id="selectListMapByWhere" parameterType="HashMap" resultType="HashMap">
select * from xm_branch_state_his res
<where>
<include refid="whereForMap"/>
<include refid="where"/>
</where>
</select>
<!-- 通过条件查询获取数据列表 不分页 返回 list<Object> -->
<select id="selectListByWhere" parameterType="com.xm.core.entity.XmBranchStateHis" resultType="com.xm.core.entity.XmBranchStateHis">
select * from xm_branch_state_his res
<where>
<include refid="where"/>
</where>
</select>
<!-- 通过主键查询获取数据对象 返回object -->
<select id="selectOneObject" parameterType="com.xm.core.entity.XmBranchStateHis" resultType="com.xm.core.entity.XmBranchStateHis">
select * from xm_branch_state_his res
where
res.biz_date = #{bizDate}
and res.branch_id = #{branchId}
</select>
<select id="selectListByIds" parameterType="List" resultType="com.xm.core.entity.XmBranchStateHis">
select * from xm_branch_state_his res
where (res.biz_date, res.branch_id) in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")" >
( #{item.bizDate}, #{item.branchId})
</foreach>
</select>
<!-- 通过主键查询获取数据对象 返回map-->
<select id="selectOneMap" parameterType="HashMap" resultType="HashMap">
select * from xm_branch_state_his res
where
res.biz_date = #{bizDate}
and res.branch_id = #{branchId}
</select>
<!-- 获取数据条目 返回long -->
<select id="countByWhere" parameterType="com.xm.core.entity.XmBranchStateHis" resultType="long">
select count(1) from xm_branch_state_his res
<where>
<include refid="where"/>
</where>
</select>
<!-- 新增一条记录 主键biz_date,branch_id,-->
<insert id="insert" parameterType="com.xm.core.entity.XmBranchStateHis" useGeneratedKeys="false" >
insert into xm_branch_state_his(
<include refid="columns"/>
) 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}
)
</insert>
<!-- 按条件删除若干条记录-->
<delete id="deleteByWhere" parameterType="com.xm.core.entity.XmBranchStateHis">
delete from xm_branch_state_his res
<where>
<include refid="where"/>
</where>
</delete>
<!-- 按主键删除一条记录-->
<delete id="deleteByPk" parameterType="com.xm.core.entity.XmBranchStateHis">
delete from xm_branch_state_his
where biz_date = #{bizDate} and branch_id = #{branchId}
</delete>
<!-- 根据条件修改若干条记录 -->
<update id="updateSomeFieldByPk" parameterType="com.xm.core.entity.XmBranchStateHis">
update xm_branch_state_his
<set>
<include refid="someFieldSet"/>
</set>
where biz_date = #{bizDate} and branch_id = #{branchId}
</update>
<!-- 根据主键修改一条记录 -->
<update id="updateByPk" parameterType="com.xm.core.entity.XmBranchStateHis">
update xm_branch_state_his
<set>
<include refid="set"/>
</set>
where biz_date = #{bizDate} and branch_id = #{branchId}
</update>
<!-- 批量新增 批量插入 借用insert 循环插入实现
<insert id="batchInsert" parameterType="List">
</insert>
-->
<!-- 批量更新 -->
<update id="batchUpdate" parameterType="List">
<foreach collection="list" item="item" index="index" separator=";" >
update xm_branch_state_his
set
<include refid="batchSet"/>
where biz_date = #{item.bizDate} and branch_id = #{item.branchId}
</foreach>
</update>
<!-- 批量删除 -->
<delete id="batchDelete" parameterType="List">
delete from xm_branch_state_his
where
(biz_date, branch_id) in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")" >
( #{item.bizDate}, #{item.branchId} )
</foreach>
</delete>
<!--sql片段 列-->
<sql id="columns">
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
</sql>
<!--sql片段 动态条件 YYYY-MM-DD HH24:MI:SS-->
<sql id="where">
<if test="projectCnt != null and projectCnt != ''"> and res.project_cnt = #{projectCnt} </if>
<if test="bizDate != null and bizDate != ''"> and res.biz_date = #{bizDate} </if>
<if test="fileCnt != null and fileCnt != ''"> and res.file_cnt = #{fileCnt} </if>
<if test="calcTime != null"> and date_format(res.calc_time,'%Y-%m-%d') = date_format(#{calcTime},'%Y-%m-%d') </if>
<if test="calcStatus != null and calcStatus != ''"> and res.calc_status = #{calcStatus} </if>
<if test="phaseCnt != null and phaseCnt != ''"> and res.phase_cnt = #{phaseCnt} </if>
<if test="phaseFinishCnt != null and phaseFinishCnt != ''"> and res.phase_finish_cnt = #{phaseFinishCnt} </if>
<if test="needPayAt != null and needPayAt != ''"> and res.need_pay_at = #{needPayAt} </if>
<if test="finishPayAt != null and finishPayAt != ''"> and res.finish_pay_at = #{finishPayAt} </if>
<if test="needColAt != null and needColAt != ''"> and res.need_col_at = #{needColAt} </if>
<if test="finishColAt != null and finishColAt != ''"> and res.finish_col_at = #{finishColAt} </if>
<if test="riskCnt != null and riskCnt != ''"> and res.risk_cnt = #{riskCnt} </if>
<if test="riskFinishCnt != null and riskFinishCnt != ''"> and res.risk_finish_cnt = #{riskFinishCnt} </if>
<if test="branchId != null and branchId != ''"> and res.branch_id = #{branchId} </if>
<if test="branchName != null and branchName != ''"> and res.branch_name = #{branchName} </if>
<if test="budgetNouserAt != null and budgetNouserAt != ''"> and res.budget_nouser_at = #{budgetNouserAt} </if>
<if test="budgetOuserAt != null and budgetOuserAt != ''"> and res.budget_ouser_at = #{budgetOuserAt} </if>
<if test="budgetIuserAt != null and budgetIuserAt != ''"> and res.budget_iuser_at = #{budgetIuserAt} </if>
<if test="actUserAt != null and actUserAt != ''"> and res.act_user_at = #{actUserAt} </if>
<if test="actIuserAt != null and actIuserAt != ''"> and res.act_iuser_at = #{actIuserAt} </if>
<if test="actOuserAt != null and actOuserAt != ''"> and res.act_ouser_at = #{actOuserAt} </if>
<if test="actNouserAt != null and actNouserAt != ''"> and res.act_nouser_at = #{actNouserAt} </if>
<if test="finishRate != null and finishRate != ''"> and res.finish_rate = #{finishRate} </if>
<if test="budgetWorkload != null and budgetWorkload != ''"> and res.budget_workload = #{budgetWorkload} </if>
<if test="budgetOuserWorkload != null and budgetOuserWorkload != ''"> and res.budget_ouser_workload = #{budgetOuserWorkload} </if>
<if test="budgetIuserWorkload != null and budgetIuserWorkload != ''"> and res.budget_iuser_workload = #{budgetIuserWorkload} </if>
<if test="estimateWorkload != null and estimateWorkload != ''"> and res.estimate_workload = #{estimateWorkload} </if>
<if test="actWorkload != null and actWorkload != ''"> and res.act_workload = #{actWorkload} </if>
<if test="actOuserWorkload != null and actOuserWorkload != ''"> and res.act_ouser_workload = #{actOuserWorkload} </if>
<if test="actIuserWorkload != null and actIuserWorkload != ''"> and res.act_iuser_workload = #{actIuserWorkload} </if>
<if test="needPayCnt != null and needPayCnt != ''"> and res.need_pay_cnt = #{needPayCnt} </if>
<if test="finishPayCnt != null and finishPayCnt != ''"> and res.finish_pay_cnt = #{finishPayCnt} </if>
<if test="finishPayUserCnt != null and finishPayUserCnt != ''"> and res.finish_pay_user_cnt = #{finishPayUserCnt} </if>
<if test="needPayUserCnt != null and needPayUserCnt != ''"> and res.need_pay_user_cnt = #{needPayUserCnt} </if>
<if test="testCases != null and testCases != ''"> and res.test_cases = #{testCases} </if>
<if test="execCases != null and execCases != ''"> and res.exec_cases = #{execCases} </if>
<if test="designCases != null and designCases != ''"> and res.design_cases = #{designCases} </if>
<if test="finishCases != null and finishCases != ''"> and res.finish_cases = #{finishCases} </if>
<if test="iterationCnt != null and iterationCnt != ''"> and res.iteration_cnt = #{iterationCnt} </if>
<if test="productCnt != null and productCnt != ''"> and res.product_cnt = #{productCnt} </if>
<if test="minStartTime != null"> and date_format(res.min_start_time,'%Y-%m-%d') = date_format(#{minStartTime},'%Y-%m-%d') </if>
<if test="maxEndTime != null"> and date_format(res.max_end_time,'%Y-%m-%d') = date_format(#{maxEndTime},'%Y-%m-%d') </if>
<if test="menuCnt != null and menuCnt != ''"> and res.menu_cnt = #{menuCnt} </if>
<if test="menuFinishCnt != null and menuFinishCnt != ''"> and res.menu_finish_cnt = #{menuFinishCnt} </if>
<if test="menuExecCnt != null and menuExecCnt != ''"> and res.menu_exec_cnt = #{menuExecCnt} </if>
<if test="menuUnstartCnt != null and menuUnstartCnt != ''"> and res.menu_unstart_cnt = #{menuUnstartCnt} </if>
<if test="menuCloseCnt != null and menuCloseCnt != ''"> and res.menu_close_cnt = #{menuCloseCnt} </if>
<if test="taskCnt != null and taskCnt != ''"> and res.task_cnt = #{taskCnt} </if>
<if test="taskUnstartCnt != null and taskUnstartCnt != ''"> and res.task_unstart_cnt = #{taskUnstartCnt} </if>
<if test="taskExecCnt != null and taskExecCnt != ''"> and res.task_exec_cnt = #{taskExecCnt} </if>
<if test="taskFinishCnt != null and taskFinishCnt != ''"> and res.task_finish_cnt = #{taskFinishCnt} </if>
<if test="taskSetCnt != null and taskSetCnt != ''"> and res.task_set_cnt = #{taskSetCnt} </if>
<if test="taskOutCnt != null and taskOutCnt != ''"> and res.task_out_cnt = #{taskOutCnt} </if>
<if test="taskCloseCnt != null and taskCloseCnt != ''"> and res.task_close_cnt = #{taskCloseCnt} </if>
<if test="bugCnt != null and bugCnt != ''"> and res.bug_cnt = #{bugCnt} </if>
<if test="closedBugs != null and closedBugs != ''"> and res.closed_bugs = #{closedBugs} </if>
<if test="resolvedBugs != null and resolvedBugs != ''"> and res.resolved_bugs = #{resolvedBugs} </if>
<if test="activeBugs != null and activeBugs != ''"> and res.active_bugs = #{activeBugs} </if>
<if test="confirmedBugs != null and confirmedBugs != ''"> and res.confirmed_bugs = #{confirmedBugs} </if>
<if test="planWorkhours != null and planWorkhours != ''"> and res.plan_workhours = #{planWorkhours} </if>
<if test="planWorkerCnt != null and planWorkerCnt != ''"> and res.plan_worker_cnt = #{planWorkerCnt} </if>
<if test="actWorkerCnt != null and actWorkerCnt != ''"> and res.act_worker_cnt = #{actWorkerCnt} </if>
<if test="budgetAt != null and budgetAt != ''"> and res.budget_at = #{budgetAt} </if>
<if test="actAt != null and actAt != ''"> and res.act_at = #{actAt} </if>
</sql>
<!--sql片段 更新字段 -->
<sql id="set">
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}
</sql>
<sql id="someFieldSet">
<if test="projectCnt != null and projectCnt != ''"> project_cnt = #{projectCnt}, </if>
<if test="fileCnt != null and fileCnt != ''"> file_cnt = #{fileCnt}, </if>
<if test="calcTime != null"> calc_time = #{calcTime}, </if>
<if test="calcStatus != null and calcStatus != ''"> calc_status = #{calcStatus}, </if>
<if test="phaseCnt != null and phaseCnt != ''"> phase_cnt = #{phaseCnt}, </if>
<if test="phaseFinishCnt != null and phaseFinishCnt != ''"> phase_finish_cnt = #{phaseFinishCnt}, </if>
<if test="needPayAt != null and needPayAt != ''"> need_pay_at = #{needPayAt}, </if>
<if test="finishPayAt != null and finishPayAt != ''"> finish_pay_at = #{finishPayAt}, </if>
<if test="needColAt != null and needColAt != ''"> need_col_at = #{needColAt}, </if>
<if test="finishColAt != null and finishColAt != ''"> finish_col_at = #{finishColAt}, </if>
<if test="riskCnt != null and riskCnt != ''"> risk_cnt = #{riskCnt}, </if>
<if test="riskFinishCnt != null and riskFinishCnt != ''"> risk_finish_cnt = #{riskFinishCnt}, </if>
<if test="branchName != null and branchName != ''"> branch_name = #{branchName}, </if>
<if test="budgetNouserAt != null and budgetNouserAt != ''"> budget_nouser_at = #{budgetNouserAt}, </if>
<if test="budgetOuserAt != null and budgetOuserAt != ''"> budget_ouser_at = #{budgetOuserAt}, </if>
<if test="budgetIuserAt != null and budgetIuserAt != ''"> budget_iuser_at = #{budgetIuserAt}, </if>
<if test="actUserAt != null and actUserAt != ''"> act_user_at = #{actUserAt}, </if>
<if test="actIuserAt != null and actIuserAt != ''"> act_iuser_at = #{actIuserAt}, </if>
<if test="actOuserAt != null and actOuserAt != ''"> act_ouser_at = #{actOuserAt}, </if>
<if test="actNouserAt != null and actNouserAt != ''"> act_nouser_at = #{actNouserAt}, </if>
<if test="finishRate != null and finishRate != ''"> finish_rate = #{finishRate}, </if>
<if test="budgetWorkload != null and budgetWorkload != ''"> budget_workload = #{budgetWorkload}, </if>
<if test="budgetOuserWorkload != null and budgetOuserWorkload != ''"> budget_ouser_workload = #{budgetOuserWorkload}, </if>
<if test="budgetIuserWorkload != null and budgetIuserWorkload != ''"> budget_iuser_workload = #{budgetIuserWorkload}, </if>
<if test="estimateWorkload != null and estimateWorkload != ''"> estimate_workload = #{estimateWorkload}, </if>
<if test="actWorkload != null and actWorkload != ''"> act_workload = #{actWorkload}, </if>
<if test="actOuserWorkload != null and actOuserWorkload != ''"> act_ouser_workload = #{actOuserWorkload}, </if>
<if test="actIuserWorkload != null and actIuserWorkload != ''"> act_iuser_workload = #{actIuserWorkload}, </if>
<if test="needPayCnt != null and needPayCnt != ''"> need_pay_cnt = #{needPayCnt}, </if>
<if test="finishPayCnt != null and finishPayCnt != ''"> finish_pay_cnt = #{finishPayCnt}, </if>
<if test="finishPayUserCnt != null and finishPayUserCnt != ''"> finish_pay_user_cnt = #{finishPayUserCnt}, </if>
<if test="needPayUserCnt != null and needPayUserCnt != ''"> need_pay_user_cnt = #{needPayUserCnt}, </if>
<if test="testCases != null and testCases != ''"> test_cases = #{testCases}, </if>
<if test="execCases != null and execCases != ''"> exec_cases = #{execCases}, </if>
<if test="designCases != null and designCases != ''"> design_cases = #{designCases}, </if>
<if test="finishCases != null and finishCases != ''"> finish_cases = #{finishCases}, </if>
<if test="iterationCnt != null and iterationCnt != ''"> iteration_cnt = #{iterationCnt}, </if>
<if test="productCnt != null and productCnt != ''"> product_cnt = #{productCnt}, </if>
<if test="minStartTime != null"> min_start_time = #{minStartTime}, </if>
<if test="maxEndTime != null"> max_end_time = #{maxEndTime}, </if>
<if test="menuCnt != null and menuCnt != ''"> menu_cnt = #{menuCnt}, </if>
<if test="menuFinishCnt != null and menuFinishCnt != ''"> menu_finish_cnt = #{menuFinishCnt}, </if>
<if test="menuExecCnt != null and menuExecCnt != ''"> menu_exec_cnt = #{menuExecCnt}, </if>
<if test="menuUnstartCnt != null and menuUnstartCnt != ''"> menu_unstart_cnt = #{menuUnstartCnt}, </if>
<if test="menuCloseCnt != null and menuCloseCnt != ''"> menu_close_cnt = #{menuCloseCnt}, </if>
<if test="taskCnt != null and taskCnt != ''"> task_cnt = #{taskCnt}, </if>
<if test="taskUnstartCnt != null and taskUnstartCnt != ''"> task_unstart_cnt = #{taskUnstartCnt}, </if>
<if test="taskExecCnt != null and taskExecCnt != ''"> task_exec_cnt = #{taskExecCnt}, </if>
<if test="taskFinishCnt != null and taskFinishCnt != ''"> task_finish_cnt = #{taskFinishCnt}, </if>
<if test="taskSetCnt != null and taskSetCnt != ''"> task_set_cnt = #{taskSetCnt}, </if>
<if test="taskOutCnt != null and taskOutCnt != ''"> task_out_cnt = #{taskOutCnt}, </if>
<if test="taskCloseCnt != null and taskCloseCnt != ''"> task_close_cnt = #{taskCloseCnt}, </if>
<if test="bugCnt != null and bugCnt != ''"> bug_cnt = #{bugCnt}, </if>
<if test="closedBugs != null and closedBugs != ''"> closed_bugs = #{closedBugs}, </if>
<if test="resolvedBugs != null and resolvedBugs != ''"> resolved_bugs = #{resolvedBugs}, </if>
<if test="activeBugs != null and activeBugs != ''"> active_bugs = #{activeBugs}, </if>
<if test="confirmedBugs != null and confirmedBugs != ''"> confirmed_bugs = #{confirmedBugs}, </if>
<if test="planWorkhours != null and planWorkhours != ''"> plan_workhours = #{planWorkhours}, </if>
<if test="planWorkerCnt != null and planWorkerCnt != ''"> plan_worker_cnt = #{planWorkerCnt}, </if>
<if test="actWorkerCnt != null and actWorkerCnt != ''"> act_worker_cnt = #{actWorkerCnt}, </if>
<if test="budgetAt != null and budgetAt != ''"> budget_at = #{budgetAt}, </if>
<if test="actAt != null and actAt != ''"> act_at = #{actAt}, </if>
</sql>
<!--sql片段 批量更新 -->
<sql id="batchSet">
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}
</sql>
</mapper>

411
xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmIterationStateHisMapper.xml

@ -0,0 +1,411 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xm.core.entity.XmIterationStateHis">
<!--开始 自定sql函数区域 请在此区域添加自定义函数,其它区域尽量不要动,因为代码随时重新生成 -->
<sql id="whereForMap">
<if test=" pkList != null"> and (res.iteration_id, res.biz_date) in
<foreach collection="pkList" item="item" index="index" open="(" separator="," close=")" >
( #{item.iterationId}, #{item.bizDate})
</foreach>
</if>
<if test="key != null and key !='' "> </if>
</sql>
<!--结束 自定义sql函数区域-->
<!-- 通过条件查询获取数据列表 返回list<map> -->
<select id="selectListMapByWhere" parameterType="HashMap" resultType="HashMap">
select * from xm_iteration_state_his res
<where>
<include refid="whereForMap"/>
<include refid="where"/>
</where>
</select>
<!-- 通过条件查询获取数据列表 不分页 返回 list<Object> -->
<select id="selectListByWhere" parameterType="com.xm.core.entity.XmIterationStateHis" resultType="com.xm.core.entity.XmIterationStateHis">
select * from xm_iteration_state_his res
<where>
<include refid="where"/>
</where>
</select>
<!-- 通过主键查询获取数据对象 返回object -->
<select id="selectOneObject" parameterType="com.xm.core.entity.XmIterationStateHis" resultType="com.xm.core.entity.XmIterationStateHis">
select * from xm_iteration_state_his res
where
res.iteration_id = #{iterationId}
and res.biz_date = #{bizDate}
</select>
<select id="selectListByIds" parameterType="List" resultType="com.xm.core.entity.XmIterationStateHis">
select * from xm_iteration_state_his res
where (res.iteration_id, res.biz_date) in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")" >
( #{item.iterationId}, #{item.bizDate})
</foreach>
</select>
<!-- 通过主键查询获取数据对象 返回map-->
<select id="selectOneMap" parameterType="HashMap" resultType="HashMap">
select * from xm_iteration_state_his res
where
res.iteration_id = #{iterationId}
and res.biz_date = #{bizDate}
</select>
<!-- 获取数据条目 返回long -->
<select id="countByWhere" parameterType="com.xm.core.entity.XmIterationStateHis" resultType="long">
select count(1) from xm_iteration_state_his res
<where>
<include refid="where"/>
</where>
</select>
<!-- 新增一条记录 主键iteration_id,biz_date,-->
<insert id="insert" parameterType="com.xm.core.entity.XmIterationStateHis" useGeneratedKeys="false" >
insert into xm_iteration_state_his(
<include refid="columns"/>
) 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}
)
</insert>
<!-- 按条件删除若干条记录-->
<delete id="deleteByWhere" parameterType="com.xm.core.entity.XmIterationStateHis">
delete from xm_iteration_state_his res
<where>
<include refid="where"/>
</where>
</delete>
<!-- 按主键删除一条记录-->
<delete id="deleteByPk" parameterType="com.xm.core.entity.XmIterationStateHis">
delete from xm_iteration_state_his
where iteration_id = #{iterationId} and biz_date = #{bizDate}
</delete>
<!-- 根据条件修改若干条记录 -->
<update id="updateSomeFieldByPk" parameterType="com.xm.core.entity.XmIterationStateHis">
update xm_iteration_state_his
<set>
<include refid="someFieldSet"/>
</set>
where iteration_id = #{iterationId} and biz_date = #{bizDate}
</update>
<!-- 根据主键修改一条记录 -->
<update id="updateByPk" parameterType="com.xm.core.entity.XmIterationStateHis">
update xm_iteration_state_his
<set>
<include refid="set"/>
</set>
where iteration_id = #{iterationId} and biz_date = #{bizDate}
</update>
<!-- 批量新增 批量插入 借用insert 循环插入实现
<insert id="batchInsert" parameterType="List">
</insert>
-->
<!-- 批量更新 -->
<update id="batchUpdate" parameterType="List">
<foreach collection="list" item="item" index="index" separator=";" >
update xm_iteration_state_his
set
<include refid="batchSet"/>
where iteration_id = #{item.iterationId} and biz_date = #{item.bizDate}
</foreach>
</update>
<!-- 批量删除 -->
<delete id="batchDelete" parameterType="List">
delete from xm_iteration_state_his
where
(iteration_id, biz_date) in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")" >
( #{item.iterationId}, #{item.bizDate} )
</foreach>
</delete>
<!--sql片段 列-->
<sql id="columns">
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
</sql>
<!--sql片段 动态条件 YYYY-MM-DD HH24:MI:SS-->
<sql id="where">
<if test="iterationId != null and iterationId != ''"> and res.iteration_id = #{iterationId} </if>
<if test="bizDate != null and bizDate != ''"> and res.biz_date = #{bizDate} </if>
<if test="fileCnt != null and fileCnt != ''"> and res.file_cnt = #{fileCnt} </if>
<if test="iterationName != null and iterationName != ''"> and res.iteration_name = #{iterationName} </if>
<if test="calcTime != null"> and date_format(res.calc_time,'%Y-%m-%d') = date_format(#{calcTime},'%Y-%m-%d') </if>
<if test="calcStatus != null and calcStatus != ''"> and res.calc_status = #{calcStatus} </if>
<if test="phaseCnt != null and phaseCnt != ''"> and res.phase_cnt = #{phaseCnt} </if>
<if test="phaseFinishCnt != null and phaseFinishCnt != ''"> and res.phase_finish_cnt = #{phaseFinishCnt} </if>
<if test="needPayAt != null and needPayAt != ''"> and res.need_pay_at = #{needPayAt} </if>
<if test="finishPayAt != null and finishPayAt != ''"> and res.finish_pay_at = #{finishPayAt} </if>
<if test="needColAt != null and needColAt != ''"> and res.need_col_at = #{needColAt} </if>
<if test="finishColAt != null and finishColAt != ''"> and res.finish_col_at = #{finishColAt} </if>
<if test="riskCnt != null and riskCnt != ''"> and res.risk_cnt = #{riskCnt} </if>
<if test="riskFinishCnt != null and riskFinishCnt != ''"> and res.risk_finish_cnt = #{riskFinishCnt} </if>
<if test="branchId != null and branchId != ''"> and res.branch_id = #{branchId} </if>
<if test="branchName != null and branchName != ''"> and res.branch_name = #{branchName} </if>
<if test="budgetNouserAt != null and budgetNouserAt != ''"> and res.budget_nouser_at = #{budgetNouserAt} </if>
<if test="budgetOuserAt != null and budgetOuserAt != ''"> and res.budget_ouser_at = #{budgetOuserAt} </if>
<if test="budgetIuserAt != null and budgetIuserAt != ''"> and res.budget_iuser_at = #{budgetIuserAt} </if>
<if test="actUserAt != null and actUserAt != ''"> and res.act_user_at = #{actUserAt} </if>
<if test="actIuserAt != null and actIuserAt != ''"> and res.act_iuser_at = #{actIuserAt} </if>
<if test="actOuserAt != null and actOuserAt != ''"> and res.act_ouser_at = #{actOuserAt} </if>
<if test="actNouserAt != null and actNouserAt != ''"> and res.act_nouser_at = #{actNouserAt} </if>
<if test="finishRate != null and finishRate != ''"> and res.finish_rate = #{finishRate} </if>
<if test="budgetWorkload != null and budgetWorkload != ''"> and res.budget_workload = #{budgetWorkload} </if>
<if test="budgetOuserWorkload != null and budgetOuserWorkload != ''"> and res.budget_ouser_workload = #{budgetOuserWorkload} </if>
<if test="budgetIuserWorkload != null and budgetIuserWorkload != ''"> and res.budget_iuser_workload = #{budgetIuserWorkload} </if>
<if test="estimateWorkload != null and estimateWorkload != ''"> and res.estimate_workload = #{estimateWorkload} </if>
<if test="actWorkload != null and actWorkload != ''"> and res.act_workload = #{actWorkload} </if>
<if test="projectStatus != null and projectStatus != ''"> and res.project_status = #{projectStatus} </if>
<if test="actOuserWorkload != null and actOuserWorkload != ''"> and res.act_ouser_workload = #{actOuserWorkload} </if>
<if test="actIuserWorkload != null and actIuserWorkload != ''"> and res.act_iuser_workload = #{actIuserWorkload} </if>
<if test="needPayCnt != null and needPayCnt != ''"> and res.need_pay_cnt = #{needPayCnt} </if>
<if test="finishPayCnt != null and finishPayCnt != ''"> and res.finish_pay_cnt = #{finishPayCnt} </if>
<if test="finishPayUserCnt != null and finishPayUserCnt != ''"> and res.finish_pay_user_cnt = #{finishPayUserCnt} </if>
<if test="needPayUserCnt != null and needPayUserCnt != ''"> and res.need_pay_user_cnt = #{needPayUserCnt} </if>
<if test="testCases != null and testCases != ''"> and res.test_cases = #{testCases} </if>
<if test="execCases != null and execCases != ''"> and res.exec_cases = #{execCases} </if>
<if test="designCases != null and designCases != ''"> and res.design_cases = #{designCases} </if>
<if test="finishCases != null and finishCases != ''"> and res.finish_cases = #{finishCases} </if>
<if test="iterationCnt != null and iterationCnt != ''"> and res.iteration_cnt = #{iterationCnt} </if>
<if test="productCnt != null and productCnt != ''"> and res.product_cnt = #{productCnt} </if>
<if test="minStartTime != null"> and date_format(res.min_start_time,'%Y-%m-%d') = date_format(#{minStartTime},'%Y-%m-%d') </if>
<if test="maxEndTime != null"> and date_format(res.max_end_time,'%Y-%m-%d') = date_format(#{maxEndTime},'%Y-%m-%d') </if>
<if test="menuCnt != null and menuCnt != ''"> and res.menu_cnt = #{menuCnt} </if>
<if test="menuFinishCnt != null and menuFinishCnt != ''"> and res.menu_finish_cnt = #{menuFinishCnt} </if>
<if test="menuExecCnt != null and menuExecCnt != ''"> and res.menu_exec_cnt = #{menuExecCnt} </if>
<if test="menuUnstartCnt != null and menuUnstartCnt != ''"> and res.menu_unstart_cnt = #{menuUnstartCnt} </if>
<if test="menuCloseCnt != null and menuCloseCnt != ''"> and res.menu_close_cnt = #{menuCloseCnt} </if>
<if test="taskCnt != null and taskCnt != ''"> and res.task_cnt = #{taskCnt} </if>
<if test="taskUnstartCnt != null and taskUnstartCnt != ''"> and res.task_unstart_cnt = #{taskUnstartCnt} </if>
<if test="taskExecCnt != null and taskExecCnt != ''"> and res.task_exec_cnt = #{taskExecCnt} </if>
<if test="taskFinishCnt != null and taskFinishCnt != ''"> and res.task_finish_cnt = #{taskFinishCnt} </if>
<if test="taskSetCnt != null and taskSetCnt != ''"> and res.task_set_cnt = #{taskSetCnt} </if>
<if test="taskOutCnt != null and taskOutCnt != ''"> and res.task_out_cnt = #{taskOutCnt} </if>
<if test="taskCloseCnt != null and taskCloseCnt != ''"> and res.task_close_cnt = #{taskCloseCnt} </if>
<if test="bugCnt != null and bugCnt != ''"> and res.bug_cnt = #{bugCnt} </if>
<if test="closedBugs != null and closedBugs != ''"> and res.closed_bugs = #{closedBugs} </if>
<if test="resolvedBugs != null and resolvedBugs != ''"> and res.resolved_bugs = #{resolvedBugs} </if>
<if test="activeBugs != null and activeBugs != ''"> and res.active_bugs = #{activeBugs} </if>
<if test="confirmedBugs != null and confirmedBugs != ''"> and res.confirmed_bugs = #{confirmedBugs} </if>
<if test="planWorkhours != null and planWorkhours != ''"> and res.plan_workhours = #{planWorkhours} </if>
<if test="planWorkerCnt != null and planWorkerCnt != ''"> and res.plan_worker_cnt = #{planWorkerCnt} </if>
<if test="actWorkerCnt != null and actWorkerCnt != ''"> and res.act_worker_cnt = #{actWorkerCnt} </if>
<if test="projectCnt != null and projectCnt != ''"> and res.project_cnt = #{projectCnt} </if>
<if test="budgetAt != null and budgetAt != ''"> and res.budget_at = #{budgetAt} </if>
<if test="actAt != null and actAt != ''"> and res.act_at = #{actAt} </if>
</sql>
<!--sql片段 更新字段 -->
<sql id="set">
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}
</sql>
<sql id="someFieldSet">
<if test="fileCnt != null and fileCnt != ''"> file_cnt = #{fileCnt}, </if>
<if test="iterationName != null and iterationName != ''"> iteration_name = #{iterationName}, </if>
<if test="calcTime != null"> calc_time = #{calcTime}, </if>
<if test="calcStatus != null and calcStatus != ''"> calc_status = #{calcStatus}, </if>
<if test="phaseCnt != null and phaseCnt != ''"> phase_cnt = #{phaseCnt}, </if>
<if test="phaseFinishCnt != null and phaseFinishCnt != ''"> phase_finish_cnt = #{phaseFinishCnt}, </if>
<if test="needPayAt != null and needPayAt != ''"> need_pay_at = #{needPayAt}, </if>
<if test="finishPayAt != null and finishPayAt != ''"> finish_pay_at = #{finishPayAt}, </if>
<if test="needColAt != null and needColAt != ''"> need_col_at = #{needColAt}, </if>
<if test="finishColAt != null and finishColAt != ''"> finish_col_at = #{finishColAt}, </if>
<if test="riskCnt != null and riskCnt != ''"> risk_cnt = #{riskCnt}, </if>
<if test="riskFinishCnt != null and riskFinishCnt != ''"> risk_finish_cnt = #{riskFinishCnt}, </if>
<if test="branchId != null and branchId != ''"> branch_id = #{branchId}, </if>
<if test="branchName != null and branchName != ''"> branch_name = #{branchName}, </if>
<if test="budgetNouserAt != null and budgetNouserAt != ''"> budget_nouser_at = #{budgetNouserAt}, </if>
<if test="budgetOuserAt != null and budgetOuserAt != ''"> budget_ouser_at = #{budgetOuserAt}, </if>
<if test="budgetIuserAt != null and budgetIuserAt != ''"> budget_iuser_at = #{budgetIuserAt}, </if>
<if test="actUserAt != null and actUserAt != ''"> act_user_at = #{actUserAt}, </if>
<if test="actIuserAt != null and actIuserAt != ''"> act_iuser_at = #{actIuserAt}, </if>
<if test="actOuserAt != null and actOuserAt != ''"> act_ouser_at = #{actOuserAt}, </if>
<if test="actNouserAt != null and actNouserAt != ''"> act_nouser_at = #{actNouserAt}, </if>
<if test="finishRate != null and finishRate != ''"> finish_rate = #{finishRate}, </if>
<if test="budgetWorkload != null and budgetWorkload != ''"> budget_workload = #{budgetWorkload}, </if>
<if test="budgetOuserWorkload != null and budgetOuserWorkload != ''"> budget_ouser_workload = #{budgetOuserWorkload}, </if>
<if test="budgetIuserWorkload != null and budgetIuserWorkload != ''"> budget_iuser_workload = #{budgetIuserWorkload}, </if>
<if test="estimateWorkload != null and estimateWorkload != ''"> estimate_workload = #{estimateWorkload}, </if>
<if test="actWorkload != null and actWorkload != ''"> act_workload = #{actWorkload}, </if>
<if test="projectStatus != null and projectStatus != ''"> project_status = #{projectStatus}, </if>
<if test="actOuserWorkload != null and actOuserWorkload != ''"> act_ouser_workload = #{actOuserWorkload}, </if>
<if test="actIuserWorkload != null and actIuserWorkload != ''"> act_iuser_workload = #{actIuserWorkload}, </if>
<if test="needPayCnt != null and needPayCnt != ''"> need_pay_cnt = #{needPayCnt}, </if>
<if test="finishPayCnt != null and finishPayCnt != ''"> finish_pay_cnt = #{finishPayCnt}, </if>
<if test="finishPayUserCnt != null and finishPayUserCnt != ''"> finish_pay_user_cnt = #{finishPayUserCnt}, </if>
<if test="needPayUserCnt != null and needPayUserCnt != ''"> need_pay_user_cnt = #{needPayUserCnt}, </if>
<if test="testCases != null and testCases != ''"> test_cases = #{testCases}, </if>
<if test="execCases != null and execCases != ''"> exec_cases = #{execCases}, </if>
<if test="designCases != null and designCases != ''"> design_cases = #{designCases}, </if>
<if test="finishCases != null and finishCases != ''"> finish_cases = #{finishCases}, </if>
<if test="iterationCnt != null and iterationCnt != ''"> iteration_cnt = #{iterationCnt}, </if>
<if test="productCnt != null and productCnt != ''"> product_cnt = #{productCnt}, </if>
<if test="minStartTime != null"> min_start_time = #{minStartTime}, </if>
<if test="maxEndTime != null"> max_end_time = #{maxEndTime}, </if>
<if test="menuCnt != null and menuCnt != ''"> menu_cnt = #{menuCnt}, </if>
<if test="menuFinishCnt != null and menuFinishCnt != ''"> menu_finish_cnt = #{menuFinishCnt}, </if>
<if test="menuExecCnt != null and menuExecCnt != ''"> menu_exec_cnt = #{menuExecCnt}, </if>
<if test="menuUnstartCnt != null and menuUnstartCnt != ''"> menu_unstart_cnt = #{menuUnstartCnt}, </if>
<if test="menuCloseCnt != null and menuCloseCnt != ''"> menu_close_cnt = #{menuCloseCnt}, </if>
<if test="taskCnt != null and taskCnt != ''"> task_cnt = #{taskCnt}, </if>
<if test="taskUnstartCnt != null and taskUnstartCnt != ''"> task_unstart_cnt = #{taskUnstartCnt}, </if>
<if test="taskExecCnt != null and taskExecCnt != ''"> task_exec_cnt = #{taskExecCnt}, </if>
<if test="taskFinishCnt != null and taskFinishCnt != ''"> task_finish_cnt = #{taskFinishCnt}, </if>
<if test="taskSetCnt != null and taskSetCnt != ''"> task_set_cnt = #{taskSetCnt}, </if>
<if test="taskOutCnt != null and taskOutCnt != ''"> task_out_cnt = #{taskOutCnt}, </if>
<if test="taskCloseCnt != null and taskCloseCnt != ''"> task_close_cnt = #{taskCloseCnt}, </if>
<if test="bugCnt != null and bugCnt != ''"> bug_cnt = #{bugCnt}, </if>
<if test="closedBugs != null and closedBugs != ''"> closed_bugs = #{closedBugs}, </if>
<if test="resolvedBugs != null and resolvedBugs != ''"> resolved_bugs = #{resolvedBugs}, </if>
<if test="activeBugs != null and activeBugs != ''"> active_bugs = #{activeBugs}, </if>
<if test="confirmedBugs != null and confirmedBugs != ''"> confirmed_bugs = #{confirmedBugs}, </if>
<if test="planWorkhours != null and planWorkhours != ''"> plan_workhours = #{planWorkhours}, </if>
<if test="planWorkerCnt != null and planWorkerCnt != ''"> plan_worker_cnt = #{planWorkerCnt}, </if>
<if test="actWorkerCnt != null and actWorkerCnt != ''"> act_worker_cnt = #{actWorkerCnt}, </if>
<if test="projectCnt != null and projectCnt != ''"> project_cnt = #{projectCnt}, </if>
<if test="budgetAt != null and budgetAt != ''"> budget_at = #{budgetAt}, </if>
<if test="actAt != null and actAt != ''"> act_at = #{actAt}, </if>
</sql>
<!--sql片段 批量更新 -->
<sql id="batchSet">
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}
</sql>
</mapper>

411
xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProductStateHisMapper.xml

@ -0,0 +1,411 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xm.core.entity.XmProductStateHis">
<!--开始 自定sql函数区域 请在此区域添加自定义函数,其它区域尽量不要动,因为代码随时重新生成 -->
<sql id="whereForMap">
<if test=" pkList != null"> and (res.product_id, res.biz_date) in
<foreach collection="pkList" item="item" index="index" open="(" separator="," close=")" >
( #{item.productId}, #{item.bizDate})
</foreach>
</if>
<if test="key != null and key !='' "> </if>
</sql>
<!--结束 自定义sql函数区域-->
<!-- 通过条件查询获取数据列表 返回list<map> -->
<select id="selectListMapByWhere" parameterType="HashMap" resultType="HashMap">
select * from xm_product_state_his res
<where>
<include refid="whereForMap"/>
<include refid="where"/>
</where>
</select>
<!-- 通过条件查询获取数据列表 不分页 返回 list<Object> -->
<select id="selectListByWhere" parameterType="com.xm.core.entity.XmProductStateHis" resultType="com.xm.core.entity.XmProductStateHis">
select * from xm_product_state_his res
<where>
<include refid="where"/>
</where>
</select>
<!-- 通过主键查询获取数据对象 返回object -->
<select id="selectOneObject" parameterType="com.xm.core.entity.XmProductStateHis" resultType="com.xm.core.entity.XmProductStateHis">
select * from xm_product_state_his res
where
res.product_id = #{productId}
and res.biz_date = #{bizDate}
</select>
<select id="selectListByIds" parameterType="List" resultType="com.xm.core.entity.XmProductStateHis">
select * from xm_product_state_his res
where (res.product_id, res.biz_date) in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")" >
( #{item.productId}, #{item.bizDate})
</foreach>
</select>
<!-- 通过主键查询获取数据对象 返回map-->
<select id="selectOneMap" parameterType="HashMap" resultType="HashMap">
select * from xm_product_state_his res
where
res.product_id = #{productId}
and res.biz_date = #{bizDate}
</select>
<!-- 获取数据条目 返回long -->
<select id="countByWhere" parameterType="com.xm.core.entity.XmProductStateHis" resultType="long">
select count(1) from xm_product_state_his res
<where>
<include refid="where"/>
</where>
</select>
<!-- 新增一条记录 主键product_id,biz_date,-->
<insert id="insert" parameterType="com.xm.core.entity.XmProductStateHis" useGeneratedKeys="false" >
insert into xm_product_state_his(
<include refid="columns"/>
) 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}
)
</insert>
<!-- 按条件删除若干条记录-->
<delete id="deleteByWhere" parameterType="com.xm.core.entity.XmProductStateHis">
delete from xm_product_state_his res
<where>
<include refid="where"/>
</where>
</delete>
<!-- 按主键删除一条记录-->
<delete id="deleteByPk" parameterType="com.xm.core.entity.XmProductStateHis">
delete from xm_product_state_his
where product_id = #{productId} and biz_date = #{bizDate}
</delete>
<!-- 根据条件修改若干条记录 -->
<update id="updateSomeFieldByPk" parameterType="com.xm.core.entity.XmProductStateHis">
update xm_product_state_his
<set>
<include refid="someFieldSet"/>
</set>
where product_id = #{productId} and biz_date = #{bizDate}
</update>
<!-- 根据主键修改一条记录 -->
<update id="updateByPk" parameterType="com.xm.core.entity.XmProductStateHis">
update xm_product_state_his
<set>
<include refid="set"/>
</set>
where product_id = #{productId} and biz_date = #{bizDate}
</update>
<!-- 批量新增 批量插入 借用insert 循环插入实现
<insert id="batchInsert" parameterType="List">
</insert>
-->
<!-- 批量更新 -->
<update id="batchUpdate" parameterType="List">
<foreach collection="list" item="item" index="index" separator=";" >
update xm_product_state_his
set
<include refid="batchSet"/>
where product_id = #{item.productId} and biz_date = #{item.bizDate}
</foreach>
</update>
<!-- 批量删除 -->
<delete id="batchDelete" parameterType="List">
delete from xm_product_state_his
where
(product_id, biz_date) in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")" >
( #{item.productId}, #{item.bizDate} )
</foreach>
</delete>
<!--sql片段 列-->
<sql id="columns">
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
</sql>
<!--sql片段 动态条件 YYYY-MM-DD HH24:MI:SS-->
<sql id="where">
<if test="productId != null and productId != ''"> and res.product_id = #{productId} </if>
<if test="bizDate != null and bizDate != ''"> and res.biz_date = #{bizDate} </if>
<if test="fileCnt != null and fileCnt != ''"> and res.file_cnt = #{fileCnt} </if>
<if test="productName != null and productName != ''"> and res.product_name = #{productName} </if>
<if test="calcTime != null"> and date_format(res.calc_time,'%Y-%m-%d') = date_format(#{calcTime},'%Y-%m-%d') </if>
<if test="calcStatus != null and calcStatus != ''"> and res.calc_status = #{calcStatus} </if>
<if test="phaseCnt != null and phaseCnt != ''"> and res.phase_cnt = #{phaseCnt} </if>
<if test="phaseFinishCnt != null and phaseFinishCnt != ''"> and res.phase_finish_cnt = #{phaseFinishCnt} </if>
<if test="needPayAt != null and needPayAt != ''"> and res.need_pay_at = #{needPayAt} </if>
<if test="finishPayAt != null and finishPayAt != ''"> and res.finish_pay_at = #{finishPayAt} </if>
<if test="needColAt != null and needColAt != ''"> and res.need_col_at = #{needColAt} </if>
<if test="finishColAt != null and finishColAt != ''"> and res.finish_col_at = #{finishColAt} </if>
<if test="riskCnt != null and riskCnt != ''"> and res.risk_cnt = #{riskCnt} </if>
<if test="riskFinishCnt != null and riskFinishCnt != ''"> and res.risk_finish_cnt = #{riskFinishCnt} </if>
<if test="branchId != null and branchId != ''"> and res.branch_id = #{branchId} </if>
<if test="branchName != null and branchName != ''"> and res.branch_name = #{branchName} </if>
<if test="budgetNouserAt != null and budgetNouserAt != ''"> and res.budget_nouser_at = #{budgetNouserAt} </if>
<if test="budgetOuserAt != null and budgetOuserAt != ''"> and res.budget_ouser_at = #{budgetOuserAt} </if>
<if test="budgetIuserAt != null and budgetIuserAt != ''"> and res.budget_iuser_at = #{budgetIuserAt} </if>
<if test="actUserAt != null and actUserAt != ''"> and res.act_user_at = #{actUserAt} </if>
<if test="actIuserAt != null and actIuserAt != ''"> and res.act_iuser_at = #{actIuserAt} </if>
<if test="actOuserAt != null and actOuserAt != ''"> and res.act_ouser_at = #{actOuserAt} </if>
<if test="actNouserAt != null and actNouserAt != ''"> and res.act_nouser_at = #{actNouserAt} </if>
<if test="finishRate != null and finishRate != ''"> and res.finish_rate = #{finishRate} </if>
<if test="budgetWorkload != null and budgetWorkload != ''"> and res.budget_workload = #{budgetWorkload} </if>
<if test="budgetOuserWorkload != null and budgetOuserWorkload != ''"> and res.budget_ouser_workload = #{budgetOuserWorkload} </if>
<if test="budgetIuserWorkload != null and budgetIuserWorkload != ''"> and res.budget_iuser_workload = #{budgetIuserWorkload} </if>
<if test="estimateWorkload != null and estimateWorkload != ''"> and res.estimate_workload = #{estimateWorkload} </if>
<if test="actWorkload != null and actWorkload != ''"> and res.act_workload = #{actWorkload} </if>
<if test="projectStatus != null and projectStatus != ''"> and res.project_status = #{projectStatus} </if>
<if test="actOuserWorkload != null and actOuserWorkload != ''"> and res.act_ouser_workload = #{actOuserWorkload} </if>
<if test="actIuserWorkload != null and actIuserWorkload != ''"> and res.act_iuser_workload = #{actIuserWorkload} </if>
<if test="needPayCnt != null and needPayCnt != ''"> and res.need_pay_cnt = #{needPayCnt} </if>
<if test="finishPayCnt != null and finishPayCnt != ''"> and res.finish_pay_cnt = #{finishPayCnt} </if>
<if test="finishPayUserCnt != null and finishPayUserCnt != ''"> and res.finish_pay_user_cnt = #{finishPayUserCnt} </if>
<if test="needPayUserCnt != null and needPayUserCnt != ''"> and res.need_pay_user_cnt = #{needPayUserCnt} </if>
<if test="testCases != null and testCases != ''"> and res.test_cases = #{testCases} </if>
<if test="execCases != null and execCases != ''"> and res.exec_cases = #{execCases} </if>
<if test="designCases != null and designCases != ''"> and res.design_cases = #{designCases} </if>
<if test="finishCases != null and finishCases != ''"> and res.finish_cases = #{finishCases} </if>
<if test="iterationCnt != null and iterationCnt != ''"> and res.iteration_cnt = #{iterationCnt} </if>
<if test="productCnt != null and productCnt != ''"> and res.product_cnt = #{productCnt} </if>
<if test="minStartTime != null"> and date_format(res.min_start_time,'%Y-%m-%d') = date_format(#{minStartTime},'%Y-%m-%d') </if>
<if test="maxEndTime != null"> and date_format(res.max_end_time,'%Y-%m-%d') = date_format(#{maxEndTime},'%Y-%m-%d') </if>
<if test="menuCnt != null and menuCnt != ''"> and res.menu_cnt = #{menuCnt} </if>
<if test="menuFinishCnt != null and menuFinishCnt != ''"> and res.menu_finish_cnt = #{menuFinishCnt} </if>
<if test="menuExecCnt != null and menuExecCnt != ''"> and res.menu_exec_cnt = #{menuExecCnt} </if>
<if test="menuUnstartCnt != null and menuUnstartCnt != ''"> and res.menu_unstart_cnt = #{menuUnstartCnt} </if>
<if test="menuCloseCnt != null and menuCloseCnt != ''"> and res.menu_close_cnt = #{menuCloseCnt} </if>
<if test="taskCnt != null and taskCnt != ''"> and res.task_cnt = #{taskCnt} </if>
<if test="taskUnstartCnt != null and taskUnstartCnt != ''"> and res.task_unstart_cnt = #{taskUnstartCnt} </if>
<if test="taskExecCnt != null and taskExecCnt != ''"> and res.task_exec_cnt = #{taskExecCnt} </if>
<if test="taskFinishCnt != null and taskFinishCnt != ''"> and res.task_finish_cnt = #{taskFinishCnt} </if>
<if test="taskSetCnt != null and taskSetCnt != ''"> and res.task_set_cnt = #{taskSetCnt} </if>
<if test="taskOutCnt != null and taskOutCnt != ''"> and res.task_out_cnt = #{taskOutCnt} </if>
<if test="taskCloseCnt != null and taskCloseCnt != ''"> and res.task_close_cnt = #{taskCloseCnt} </if>
<if test="bugCnt != null and bugCnt != ''"> and res.bug_cnt = #{bugCnt} </if>
<if test="closedBugs != null and closedBugs != ''"> and res.closed_bugs = #{closedBugs} </if>
<if test="resolvedBugs != null and resolvedBugs != ''"> and res.resolved_bugs = #{resolvedBugs} </if>
<if test="activeBugs != null and activeBugs != ''"> and res.active_bugs = #{activeBugs} </if>
<if test="confirmedBugs != null and confirmedBugs != ''"> and res.confirmed_bugs = #{confirmedBugs} </if>
<if test="planWorkhours != null and planWorkhours != ''"> and res.plan_workhours = #{planWorkhours} </if>
<if test="planWorkerCnt != null and planWorkerCnt != ''"> and res.plan_worker_cnt = #{planWorkerCnt} </if>
<if test="actWorkerCnt != null and actWorkerCnt != ''"> and res.act_worker_cnt = #{actWorkerCnt} </if>
<if test="projectCnt != null and projectCnt != ''"> and res.project_cnt = #{projectCnt} </if>
<if test="budgetAt != null and budgetAt != ''"> and res.budget_at = #{budgetAt} </if>
<if test="actAt != null and actAt != ''"> and res.act_at = #{actAt} </if>
</sql>
<!--sql片段 更新字段 -->
<sql id="set">
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}
</sql>
<sql id="someFieldSet">
<if test="fileCnt != null and fileCnt != ''"> file_cnt = #{fileCnt}, </if>
<if test="productName != null and productName != ''"> product_name = #{productName}, </if>
<if test="calcTime != null"> calc_time = #{calcTime}, </if>
<if test="calcStatus != null and calcStatus != ''"> calc_status = #{calcStatus}, </if>
<if test="phaseCnt != null and phaseCnt != ''"> phase_cnt = #{phaseCnt}, </if>
<if test="phaseFinishCnt != null and phaseFinishCnt != ''"> phase_finish_cnt = #{phaseFinishCnt}, </if>
<if test="needPayAt != null and needPayAt != ''"> need_pay_at = #{needPayAt}, </if>
<if test="finishPayAt != null and finishPayAt != ''"> finish_pay_at = #{finishPayAt}, </if>
<if test="needColAt != null and needColAt != ''"> need_col_at = #{needColAt}, </if>
<if test="finishColAt != null and finishColAt != ''"> finish_col_at = #{finishColAt}, </if>
<if test="riskCnt != null and riskCnt != ''"> risk_cnt = #{riskCnt}, </if>
<if test="riskFinishCnt != null and riskFinishCnt != ''"> risk_finish_cnt = #{riskFinishCnt}, </if>
<if test="branchId != null and branchId != ''"> branch_id = #{branchId}, </if>
<if test="branchName != null and branchName != ''"> branch_name = #{branchName}, </if>
<if test="budgetNouserAt != null and budgetNouserAt != ''"> budget_nouser_at = #{budgetNouserAt}, </if>
<if test="budgetOuserAt != null and budgetOuserAt != ''"> budget_ouser_at = #{budgetOuserAt}, </if>
<if test="budgetIuserAt != null and budgetIuserAt != ''"> budget_iuser_at = #{budgetIuserAt}, </if>
<if test="actUserAt != null and actUserAt != ''"> act_user_at = #{actUserAt}, </if>
<if test="actIuserAt != null and actIuserAt != ''"> act_iuser_at = #{actIuserAt}, </if>
<if test="actOuserAt != null and actOuserAt != ''"> act_ouser_at = #{actOuserAt}, </if>
<if test="actNouserAt != null and actNouserAt != ''"> act_nouser_at = #{actNouserAt}, </if>
<if test="finishRate != null and finishRate != ''"> finish_rate = #{finishRate}, </if>
<if test="budgetWorkload != null and budgetWorkload != ''"> budget_workload = #{budgetWorkload}, </if>
<if test="budgetOuserWorkload != null and budgetOuserWorkload != ''"> budget_ouser_workload = #{budgetOuserWorkload}, </if>
<if test="budgetIuserWorkload != null and budgetIuserWorkload != ''"> budget_iuser_workload = #{budgetIuserWorkload}, </if>
<if test="estimateWorkload != null and estimateWorkload != ''"> estimate_workload = #{estimateWorkload}, </if>
<if test="actWorkload != null and actWorkload != ''"> act_workload = #{actWorkload}, </if>
<if test="projectStatus != null and projectStatus != ''"> project_status = #{projectStatus}, </if>
<if test="actOuserWorkload != null and actOuserWorkload != ''"> act_ouser_workload = #{actOuserWorkload}, </if>
<if test="actIuserWorkload != null and actIuserWorkload != ''"> act_iuser_workload = #{actIuserWorkload}, </if>
<if test="needPayCnt != null and needPayCnt != ''"> need_pay_cnt = #{needPayCnt}, </if>
<if test="finishPayCnt != null and finishPayCnt != ''"> finish_pay_cnt = #{finishPayCnt}, </if>
<if test="finishPayUserCnt != null and finishPayUserCnt != ''"> finish_pay_user_cnt = #{finishPayUserCnt}, </if>
<if test="needPayUserCnt != null and needPayUserCnt != ''"> need_pay_user_cnt = #{needPayUserCnt}, </if>
<if test="testCases != null and testCases != ''"> test_cases = #{testCases}, </if>
<if test="execCases != null and execCases != ''"> exec_cases = #{execCases}, </if>
<if test="designCases != null and designCases != ''"> design_cases = #{designCases}, </if>
<if test="finishCases != null and finishCases != ''"> finish_cases = #{finishCases}, </if>
<if test="iterationCnt != null and iterationCnt != ''"> iteration_cnt = #{iterationCnt}, </if>
<if test="productCnt != null and productCnt != ''"> product_cnt = #{productCnt}, </if>
<if test="minStartTime != null"> min_start_time = #{minStartTime}, </if>
<if test="maxEndTime != null"> max_end_time = #{maxEndTime}, </if>
<if test="menuCnt != null and menuCnt != ''"> menu_cnt = #{menuCnt}, </if>
<if test="menuFinishCnt != null and menuFinishCnt != ''"> menu_finish_cnt = #{menuFinishCnt}, </if>
<if test="menuExecCnt != null and menuExecCnt != ''"> menu_exec_cnt = #{menuExecCnt}, </if>
<if test="menuUnstartCnt != null and menuUnstartCnt != ''"> menu_unstart_cnt = #{menuUnstartCnt}, </if>
<if test="menuCloseCnt != null and menuCloseCnt != ''"> menu_close_cnt = #{menuCloseCnt}, </if>
<if test="taskCnt != null and taskCnt != ''"> task_cnt = #{taskCnt}, </if>
<if test="taskUnstartCnt != null and taskUnstartCnt != ''"> task_unstart_cnt = #{taskUnstartCnt}, </if>
<if test="taskExecCnt != null and taskExecCnt != ''"> task_exec_cnt = #{taskExecCnt}, </if>
<if test="taskFinishCnt != null and taskFinishCnt != ''"> task_finish_cnt = #{taskFinishCnt}, </if>
<if test="taskSetCnt != null and taskSetCnt != ''"> task_set_cnt = #{taskSetCnt}, </if>
<if test="taskOutCnt != null and taskOutCnt != ''"> task_out_cnt = #{taskOutCnt}, </if>
<if test="taskCloseCnt != null and taskCloseCnt != ''"> task_close_cnt = #{taskCloseCnt}, </if>
<if test="bugCnt != null and bugCnt != ''"> bug_cnt = #{bugCnt}, </if>
<if test="closedBugs != null and closedBugs != ''"> closed_bugs = #{closedBugs}, </if>
<if test="resolvedBugs != null and resolvedBugs != ''"> resolved_bugs = #{resolvedBugs}, </if>
<if test="activeBugs != null and activeBugs != ''"> active_bugs = #{activeBugs}, </if>
<if test="confirmedBugs != null and confirmedBugs != ''"> confirmed_bugs = #{confirmedBugs}, </if>
<if test="planWorkhours != null and planWorkhours != ''"> plan_workhours = #{planWorkhours}, </if>
<if test="planWorkerCnt != null and planWorkerCnt != ''"> plan_worker_cnt = #{planWorkerCnt}, </if>
<if test="actWorkerCnt != null and actWorkerCnt != ''"> act_worker_cnt = #{actWorkerCnt}, </if>
<if test="projectCnt != null and projectCnt != ''"> project_cnt = #{projectCnt}, </if>
<if test="budgetAt != null and budgetAt != ''"> budget_at = #{budgetAt}, </if>
<if test="actAt != null and actAt != ''"> act_at = #{actAt}, </if>
</sql>
<!--sql片段 批量更新 -->
<sql id="batchSet">
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}
</sql>
</mapper>
Loading…
Cancel
Save