Merge remote-tracking branch 'origin/feature_dev_20221008_TODO' into feature_dev_20221008_TODO

This commit is contained in:
wangzhijiang
2022-10-20 18:06:29 +08:00
8 changed files with 176 additions and 61 deletions
@@ -1219,6 +1219,13 @@ CREATE TABLE `laws_weilai`.`process_info_detail` (
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '流程信息明细表' ROW_FORMAT = Dynamic; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '流程信息明细表' ROW_FORMAT = Dynamic;
-- 参数项收集清单 添加索引 2022-10-14 未同步生产环境
ALTER TABLE `laws_weilai`.`params_collect_manifest`
ADD INDEX `index_pcm_nio_number`(`nio_number`) USING BTREE,
ADD INDEX `index_pcm_state`(`state`) USING BTREE,
ADD INDEX `index_pcm_sdt_dre`(`sdt`, `dre`) USING BTREE,
ADD INDEX `index_pcm_manifest_id`(`params_manifest_id`) USING BTREE;
-- 待办中心 流程信息明细表 增加字段 2022-10-18 未同步生产环境 -- 待办中心 流程信息明细表 增加字段 2022-10-18 未同步生产环境
ALTER TABLE `laws_weilai`.`process_info_detail` ALTER TABLE `laws_weilai`.`process_info_detail`
ADD COLUMN `end_time` datetime NULL COMMENT '截止时间' AFTER `flow_type`; ADD COLUMN `end_time` datetime NULL COMMENT '截止时间' AFTER `flow_type`;
@@ -18,6 +18,8 @@ public interface ParamsCollectManifestEOMapper extends BaseMapper<ParamsCollectM
List<ParamsCollectManifestEO> listInfo(@Param("paramsCollectManifestEO") ParamsCollectManifestEO paramsCollectManifestEO); List<ParamsCollectManifestEO> listInfo(@Param("paramsCollectManifestEO") ParamsCollectManifestEO paramsCollectManifestEO);
List<ParamsCollectManifestEO> listInfoOfTodoCenter();
List<Map<String, Object>> listInfoForExport(@Param("paramsCollectManifestEO") ParamsCollectManifestEO paramsCollectManifestEO); List<Map<String, Object>> listInfoForExport(@Param("paramsCollectManifestEO") ParamsCollectManifestEO paramsCollectManifestEO);
// 查询控件类型为 标题的 参数项 // 查询控件类型为 标题的 参数项
@@ -80,6 +80,10 @@
order by del_flag desc, add_flag desc, change_flag desc, nio_number asc order by del_flag desc, add_flag desc, change_flag desc, nio_number asc
</select> </select>
<select id="listInfoOfTodoCenter" resultMap="ParamsCollectManifestEOResultMap">
select id,nio_number,state,sdt,dre,params_manifest_id from params_collect_manifest
</select>
<select id="listInfoForExport" resultType="java.util.LinkedHashMap"> <select id="listInfoForExport" resultType="java.util.LinkedHashMap">
select * select *
from params_collect_manifest from params_collect_manifest
@@ -1,6 +1,7 @@
package com.jero.modules.todoCenter.service.impl; package com.jero.modules.todoCenter.service.impl;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -65,33 +66,48 @@ public class ParamsManifestTodoCenterServiceImpl implements IParamsManifestTodoC
List<ParamsManifestTodoCenterEO> paramsManifestEOList = new ArrayList<>(); List<ParamsManifestTodoCenterEO> paramsManifestEOList = new ArrayList<>();
List<ProjectLibraryBase> projectLibraryBaseList = new ArrayList<>(); List<ProjectLibraryBase> projectLibraryBaseList = new ArrayList<>();
Map<String, Boolean> manifestUserTypeOfHomo = new HashMap<>(); Map<String, Boolean> manifestUserTypeOfHomo = new HashMap<>();
Map<String, Boolean> manifestUserTypeOfSdt = new HashMap<>();
Map<String, Boolean> manifestUserTypeOfDre = new HashMap<>();
Map<String, List<ParamsCollectManifestEO>> paramsManifestEOListMap = new HashMap<>();
// 查询清单的所有参数项
List<ParamsCollectManifestEO> pcmListAll = paramsCollectManifestEOMapper.listInfoOfTodoCenter();
String userType = ""; String userType = "";
for(ParamsManifestTodoCenterEO paramsManifestEO : paramsManifestEOListAll) { for(ParamsManifestTodoCenterEO paramsManifestEO : paramsManifestEOListAll) {
// 查询清单的所有参数项
List<ParamsCollectManifestEO> pcmList = pcmListAll.stream().filter(e->paramsManifestEO.getId().equals(e.getParamsManifestId())).collect(Collectors.toList());
int count1 = (int) pcmList.stream().filter(e-> CollectManifestStateEnum.SUBMIT.getValue().equals(e.getState())
|| CollectManifestStateEnum.SYNC_REPORT.getValue().equals(e.getState())).count();
if (count1 == pcmList.size()) {
continue;
}
// 判断是不是homo角色 // 判断是不是homo角色
projectLibraryBaseList = projectLibraryBaseListAll.stream().filter(e->paramsManifestEO.getProjectId().equals(e.getId())).collect(Collectors.toList()); projectLibraryBaseList = projectLibraryBaseListAll.stream().filter(e->paramsManifestEO.getProjectId().equals(e.getId())).collect(Collectors.toList());
userType = getLoginUserTypeOfHomo(projectLibraryBaseList, loginUser); userType = getLoginUserTypeOfHomo(projectLibraryBaseList, loginUser);
if(StringUtils.isNotBlank(userType)) { if(StringUtils.isNotBlank(userType)) {
paramsManifestEOList.add(paramsManifestEO); paramsManifestEOList.add(paramsManifestEO);
manifestUserTypeOfHomo.put(paramsManifestEO.getId(), true); manifestUserTypeOfHomo.put(paramsManifestEO.getId(), true);
paramsManifestEOListMap.put(paramsManifestEO.getId(), pcmList);
continue; continue;
} else {
manifestUserTypeOfHomo.put(paramsManifestEO.getId(), false);
} }
// 查询清单的所有参数项
ParamsCollectManifestEO paramsCollectManifestEO = new ParamsCollectManifestEO();
paramsCollectManifestEO.setParamsManifestId(paramsManifestEO.getId());
List<ParamsCollectManifestEO> pcmList = paramsCollectManifestEOMapper.listInfo(paramsCollectManifestEO);
// 判断是不是sdt角色 // 判断是不是sdt角色
userType = getLoginUserTypeOfSdt(pcmList, loginUser); userType = getLoginUserTypeOfSdt(pcmList, loginUser);
if(StringUtils.isNotBlank(userType)) { if(StringUtils.isNotBlank(userType)) {
paramsManifestEOList.add(paramsManifestEO); paramsManifestEOList.add(paramsManifestEO);
manifestUserTypeOfSdt.put(paramsManifestEO.getId(), true);
paramsManifestEOListMap.put(paramsManifestEO.getId(), pcmList);
continue; continue;
} }
// 判断是不是dre角色 // 判断是不是dre角色
userType = getLoginUserTypeOfDre(pcmList, loginUser); userType = getLoginUserTypeOfDre(pcmList, loginUser);
if(StringUtils.isNotBlank(userType)) { if(StringUtils.isNotBlank(userType)) {
paramsManifestEOList.add(paramsManifestEO); paramsManifestEOList.add(paramsManifestEO);
manifestUserTypeOfDre.put(paramsManifestEO.getId(), true);
paramsManifestEOListMap.put(paramsManifestEO.getId(), pcmList);
continue; continue;
} }
} }
@@ -119,45 +135,67 @@ public class ParamsManifestTodoCenterServiceImpl implements IParamsManifestTodoC
} }
// 统计清单中的待办参数数据 // 统计清单中的待办参数数据
List<ParamsManifestTodoCenterEO> records = getStatistics(result, manifestUserTypeOfHomo, loginUser); List<ParamsManifestTodoCenterEO> records = getStatistics(result, manifestUserTypeOfHomo, manifestUserTypeOfSdt, manifestUserTypeOfDre, paramsManifestEOListMap,loginUser);
page.setRecords(records); page.setRecords(records);
return page; return page;
} }
public List<ParamsManifestTodoCenterEO> getStatistics(List<ParamsManifestTodoCenterEO> paramsManifestEOList, Map<String, Boolean> manifestUserTypeOfHomo, LoginUser loginUser) { public List<ParamsManifestTodoCenterEO> getStatistics(List<ParamsManifestTodoCenterEO> paramsManifestEOList, Map<String, Boolean> manifestUserTypeOfHomo
,Map<String, Boolean> manifestUserTypeOfSdt, Map<String, Boolean> manifestUserTypeOfDre, Map<String, List<ParamsCollectManifestEO>> paramsManifestEOListMap, LoginUser loginUser) {
List<ParamsManifestTodoCenterEO> paramsManifestTodoCenterEOList = new ArrayList<>(); List<ParamsManifestTodoCenterEO> paramsManifestTodoCenterEOList = new ArrayList<>();
for(ParamsManifestTodoCenterEO paramsManifestTodoCenterEO : paramsManifestEOList) { for(ParamsManifestTodoCenterEO paramsManifestTodoCenterEO : paramsManifestEOList) {
// 查询清单的所有参数项 // 查询清单的所有参数项
ParamsCollectManifestEO paramsCollectManifestEO = new ParamsCollectManifestEO(); ParamsCollectManifestEO paramsCollectManifestEO = new ParamsCollectManifestEO();
paramsCollectManifestEO.setParamsManifestId(paramsManifestTodoCenterEO.getId()); paramsCollectManifestEO.setParamsManifestId(paramsManifestTodoCenterEO.getId());
List<ParamsCollectManifestEO> pcmList = paramsCollectManifestEOMapper.listInfo(paramsCollectManifestEO); List<ParamsCollectManifestEO> pcmList = paramsManifestEOListMap.get(paramsManifestTodoCenterEO.getId());
int count = 0; int count = 0;
// 统计待发起数量 包括状态:待发起收集,变更,工程接口人退回
if (manifestUserTypeOfHomo.get(paramsManifestTodoCenterEO.getId())) { if (ObjectUtil.isNotEmpty(paramsManifestTodoCenterEO.getId()) && manifestUserTypeOfHomo.get(paramsManifestTodoCenterEO.getId())) {
// 统计待发起数量 包括状态:待发起收集,变更,工程接口人退回
count = (int) pcmList.stream().filter(e-> CollectManifestStateEnum.WAIT_COLLECT.getValue().equals(e.getState()) count = (int) pcmList.stream().filter(e-> CollectManifestStateEnum.WAIT_COLLECT.getValue().equals(e.getState())
|| CollectManifestStateEnum.SDT_BACK.getValue().equals(e.getState()) || CollectManifestStateEnum.SDT_BACK.getValue().equals(e.getState())
|| CollectManifestStateEnum.CHANGE.getValue().equals(e.getState())).count(); || CollectManifestStateEnum.CHANGE.getValue().equals(e.getState())).count();
if (count > 0) { if (count > 0) {
paramsManifestTodoCenterEO.setWaitCollectNum(count); paramsManifestTodoCenterEO.setWaitCollectNum(count);
} }
} // 统计待分配数量 包括状态:待工程接口人处理,填写人退回
count = (int) pcmList.stream().filter(e-> (CollectManifestStateEnum.WAIT_SDT.getValue().equals(e.getState())
|| CollectManifestStateEnum.DRE_BACK.getValue().equals(e.getState()))).count();
if (count > 0) {
paramsManifestTodoCenterEO.setWaitSdtNum(count);
}
// 统计待填写数量 包括状态:待填写,认证工程师退回
count = (int) pcmList.stream().filter(e-> (CollectManifestStateEnum.WAIT_FILL.getValue().equals(e.getState())
|| CollectManifestStateEnum.CERT_BACK.getValue().equals(e.getState()))).count();
if (count > 0) {
paramsManifestTodoCenterEO.setWaitFillNum(count);
}
} else if (ObjectUtil.isNotEmpty(paramsManifestTodoCenterEO.getId()) && manifestUserTypeOfSdt.get(paramsManifestTodoCenterEO.getId())) {
// 统计待分配数量 包括状态:待工程接口人处理,填写人退回
count = (int) pcmList.stream().filter(e-> (CollectManifestStateEnum.WAIT_SDT.getValue().equals(e.getState())
|| CollectManifestStateEnum.DRE_BACK.getValue().equals(e.getState()))
&& loginUser.getUsername().equals(e.getSdt())).count();
if (count > 0) {
paramsManifestTodoCenterEO.setWaitSdtNum(count);
}
// 统计待填写数量 包括状态:待填写,认证工程师退回
count = (int) pcmList.stream().filter(e-> (CollectManifestStateEnum.WAIT_FILL.getValue().equals(e.getState())
|| CollectManifestStateEnum.CERT_BACK.getValue().equals(e.getState()))).count();
if (count > 0) {
paramsManifestTodoCenterEO.setWaitFillNum(count);
}
// 统计待分配数量 包括状态:待工程接口人处理,填写人退回 } else if (ObjectUtil.isNotEmpty(paramsManifestTodoCenterEO.getId()) && manifestUserTypeOfDre.get(paramsManifestTodoCenterEO.getId())) {
count = (int) pcmList.stream().filter(e-> (CollectManifestStateEnum.WAIT_SDT.getValue().equals(e.getState()) // 统计待填写数量 包括状态:待填写,认证工程师退回
|| CollectManifestStateEnum.DRE_BACK.getValue().equals(e.getState())) count = (int) pcmList.stream().filter(e-> (CollectManifestStateEnum.WAIT_FILL.getValue().equals(e.getState())
&& loginUser.getUsername().equals(e.getSdt())).count(); || CollectManifestStateEnum.CERT_BACK.getValue().equals(e.getState()))
if (count > 0) { && loginUser.getUsername().equals(e.getDre())).count();
paramsManifestTodoCenterEO.setWaitSdtNum(count); if (count > 0) {
} paramsManifestTodoCenterEO.setWaitFillNum(count);
}
// 统计待填写数量 包括状态:待填写,认证工程师退回
count = (int) pcmList.stream().filter(e-> (CollectManifestStateEnum.WAIT_FILL.getValue().equals(e.getState())
|| CollectManifestStateEnum.CERT_BACK.getValue().equals(e.getState()))
&& loginUser.getUsername().equals(e.getDre())).count();
if (count > 0) {
paramsManifestTodoCenterEO.setWaitFillNum(count);
} }
paramsManifestTodoCenterEOList.add(paramsManifestTodoCenterEO); paramsManifestTodoCenterEOList.add(paramsManifestTodoCenterEO);
@@ -12,6 +12,8 @@
> >
<!-- --> <!-- -->
<span slot="operation" slot-scope="text,record"> <span slot="operation" slot-scope="text,record">
<a class="text-operation" v-if="record.flowType != '10'"
@click="monitoringProcessClick(record)">{{$t('monitoringProcess')}}</a>
<a class="text-operation" <a class="text-operation"
@click="viewClick(record)">{{$t('view')}}</a> @click="viewClick(record)">{{$t('view')}}</a>
</span> </span>
@@ -120,6 +122,17 @@
this.getList() this.getList()
}, },
methods: { methods: {
monitoringProcessClick(row) {
let newUrl = this.$router.resolve({
path: '/processDetails',
query: {
prcNum: row.prcNum,
prcType: row.flowType,
prcId: row.actiProcInstId
}
})
window.open(newUrl.href, '_blank')
},
RelatedItemsClick(item) { RelatedItemsClick(item) {
let newUrl = this.$router.resolve({ let newUrl = this.$router.resolve({
path: '/ProjectDetails', path: '/ProjectDetails',
@@ -332,4 +345,7 @@
margin-top: 20px; margin-top: 20px;
} }
.text-operation {
margin-right: 8px;
}
</style> </style>
@@ -12,9 +12,11 @@
> >
<!-- --> <!-- -->
<span slot="operation" slot-scope="text,record"> <span slot="operation" slot-scope="text,record">
<a class="text-operation" v-if="record.flowType != '10'"
@click="monitoringProcessClick(record)">{{$t('monitoringProcess')}}</a>
<a class="text-operation" <a class="text-operation"
@click="viewClick(record)">{{$t('view')}}</a> @click="viewClick(record)">{{$t('view')}}</a>
</span> </span>
<span slot="RelatedItems" slot-scope="text,record"> <span slot="RelatedItems" slot-scope="text,record">
<a @click="RelatedItemsClick(record)" :title="text">{{text}}</a> <a @click="RelatedItemsClick(record)" :title="text">{{text}}</a>
</span> </span>
@@ -120,6 +122,17 @@
this.getList() this.getList()
}, },
methods: { methods: {
monitoringProcessClick(row){
let newUrl = this.$router.resolve({
path: '/processDetails',
query: {
prcNum: row.prcNum,
prcType:row.flowType,
prcId:row.actiProcInstId,
}
})
window.open(newUrl.href, '_blank')
},
RelatedItemsClick(item) { RelatedItemsClick(item) {
let newUrl = this.$router.resolve({ let newUrl = this.$router.resolve({
path: '/ProjectDetails', path: '/ProjectDetails',
@@ -331,5 +344,7 @@
text-align: right; text-align: right;
margin-top: 20px; margin-top: 20px;
} }
.text-operation{
margin-right: 8px;
}
</style> </style>
@@ -12,6 +12,8 @@
> >
<!-- --> <!-- -->
<span slot="operation" slot-scope="text,record"> <span slot="operation" slot-scope="text,record">
<a class="text-operation"
@click="monitoringProcessClick(record)">{{$t('monitoringProcess')}}</a>
<a class="text-operation" <a class="text-operation"
@click="viewClick(record)">{{$t('view')}}</a> @click="viewClick(record)">{{$t('view')}}</a>
</span> </span>
@@ -106,6 +108,17 @@
} }
}, },
methods: { methods: {
monitoringProcessClick(row) {
let newUrl = this.$router.resolve({
path: '/processDetails',
query: {
prcNum: row.prcNum,
prcType: row.flowType,
prcId: row.actiProcInstId
}
})
window.open(newUrl.href, '_blank')
},
standardInformationClick(item) { standardInformationClick(item) {
let newUrl = this.$router.resolve({ let newUrl = this.$router.resolve({
path: '/docManage/library/detail', path: '/docManage/library/detail',
@@ -207,4 +220,7 @@
margin-top: 20px; margin-top: 20px;
} }
.text-operation {
margin-right: 8px;
}
</style> </style>
@@ -12,6 +12,8 @@
> >
<!-- --> <!-- -->
<span slot="operation" slot-scope="text,record"> <span slot="operation" slot-scope="text,record">
<a class="text-operation"
@click="monitoringProcessClick(record)">{{$t('monitoringProcess')}}</a>
<a class="text-operation" <a class="text-operation"
@click="viewClick(record)">{{$t('view')}}</a> @click="viewClick(record)">{{$t('view')}}</a>
</span> </span>
@@ -36,13 +38,14 @@
<script> <script>
import { getAction, postAction, deleteAction } from '@/api/manage' import { getAction, postAction, deleteAction } from '@/api/manage'
export default { export default {
name: 'doneList', name: 'doneList',
data(){ data() {
return{ return {
dataSource:[], dataSource: [],
loading:false, loading: false,
columns:[ columns: [
{ {
title: this.$t('standardInformation'), title: this.$t('standardInformation'),
align: 'center', align: 'center',
@@ -94,38 +97,49 @@
scopedSlots: { customRender: 'operation' } scopedSlots: { customRender: 'operation' }
} }
], ],
selectedRowKeys:[], selectedRowKeys: [],
pageSize:10, pageSize: 10,
pageNo:1, pageNo: 1,
total:0, total: 0,
queryParam:{}, queryParam: {},
url:{ url: {
list:'', list: ''
}, }
} }
}, },
methods:{ methods: {
standardInformationClick(item){ monitoringProcessClick(row) {
let newUrl = this.$router.resolve({ let newUrl = this.$router.resolve({
path: '/docManage/library/detail', path: '/processDetails',
query: { query: {
id: item.bussDocumentLibraryId, prcNum: row.prcNum,
prcType: row.flowType,
prcId: row.actiProcInstId
} }
}) })
window.open(newUrl.href, '_blank') window.open(newUrl.href, '_blank')
}, },
viewClick(row){ standardInformationClick(item) {
let newUrl = this.$router.resolve({
path: '/docManage/library/detail',
query: {
id: item.bussDocumentLibraryId
}
})
window.open(newUrl.href, '_blank')
},
viewClick(row) {
row.router = this.$route.path row.router = this.$route.path
let query = {} let query = {}
if (row.flowType == '5') { if (row.flowType == '5') {
query = { query = {
prcId:row.actiProcInstId, prcId: row.actiProcInstId,
taskIds:row.taskId, taskIds: row.taskId,
prcType:row.flowType, prcType: row.flowType,
router:row.router, router: row.router,
prcNum:row.prcNum, prcNum: row.prcNum,
taskDefinitionKey:row.taskDefinitionKey, taskDefinitionKey: row.taskDefinitionKey,
isDisabled:true isDisabled: true
} }
let newUrl = this.$router.resolve({ let newUrl = this.$router.resolve({
path: '/regulatoryProcessReview', path: '/regulatoryProcessReview',
@@ -134,13 +148,13 @@
window.open(newUrl.href, '_blank') window.open(newUrl.href, '_blank')
} else if (row.flowType == '6') { } else if (row.flowType == '6') {
query = { query = {
taskDefinitionKey:row.taskDefinitionKey, taskDefinitionKey: row.taskDefinitionKey,
taskIds:row.taskId, taskIds: row.taskId,
prcType:row.flowType, prcType: row.flowType,
prcNum:row.prcNum, prcNum: row.prcNum,
prcId:row.actiProcInstId, prcId: row.actiProcInstId,
router:row.router, router: row.router,
isDisabled:true, isDisabled: true
} }
let newUrl = this.$router.resolve({ let newUrl = this.$router.resolve({
path: '/evaluationProcess', path: '/evaluationProcess',
@@ -168,7 +182,7 @@
this.pageSize = pageSize this.pageSize = pageSize
this.getList() this.getList()
}, },
getList(){ getList() {
let queryParam = JSON.parse(JSON.stringify(this.queryParam)) let queryParam = JSON.parse(JSON.stringify(this.queryParam))
Object.keys(queryParam).forEach(val => { Object.keys(queryParam).forEach(val => {
if (queryParam[val] instanceof Array) { if (queryParam[val] instanceof Array) {
@@ -195,7 +209,7 @@
this.loading = false this.loading = false
} }
}) })
}, }
} }
} }
</script> </script>
@@ -206,4 +220,7 @@
margin-top: 20px; margin-top: 20px;
} }
.text-operation {
margin-right: 8px;
}
</style> </style>