+
{{ $t('returnToStudio') }}
@@ -1032,14 +1034,6 @@
} else {
this.$message.warning(this.$t('selectLeastOne'))
}
- },
- //发起流程
- initiatingProcessClick() {
-
- },
- //退回至Studio
- returnToStudioClick() {
-
},
//审批通过
ApprovedClick() {
@@ -1095,24 +1089,90 @@
item.roleCode = this.roleSwitchingCode
this.$refs.TaskListModelRef.getData(item, this.$t('CertificationProgress'))
},
- submitTask(value) {
+ //发起流程
+ initiatingProcessClick(value, prompt) {
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
- let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys))
- let query = {
- 'nodeKey': value,
- 'projectLibraryId': this.$route.query.id,
- 'ids': selectedRowKeys.join(',')
- }
- postAction('/project/projectCertificationInventoryEO/submitTask', query).then((res) => {
- if (res.success) {
-
+ let ids = []
+ let notConditions = []
+ for (let i = 0; i < this.selectedRowKeysList.length; i++) {
+ if (this.selectedRowKeysList[i].flowStatus == 'List to be checked' ||
+ this.selectedRowKeysList[i].flowStatus == 'Refusal of responsible person') {
+ ids.push(this.selectedRowKeysList[i].id)
} else {
-
+ notConditions.push(this.selectedRowKeysList[i].serialNumber)
}
- })
+ }
+ let data = ''
+ if (notConditions && notConditions.length > 0) {
+ data = this.$t('standardNo') + '"' + notConditions.join('、') + '"' + this.$t('conditionsNotMet') + ',' + this.$t('onlyProcessReturned')
+ }
+ if (ids && ids.length > 0) {
+ this.submitTask(value, prompt, ids, notConditions, data)
+ } else {
+ this.failedMessage(data)
+ }
} else {
this.$message.warning(this.$t('selectLeastOne'))
}
+ },
+ //退回至Studio
+ returnToStudioClick(value, prompt) {
+ if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
+ let ids = []
+ let notConditions = []
+ for (let i = 0; i < this.selectedRowKeysList.length; i++) {
+ if (this.selectedRowKeysList[i].flowStatus == 'List to be checked' ||
+ this.selectedRowKeysList[i].flowStatus == 'Refusal of responsible person') {
+ ids.push(this.selectedRowKeysList[i].id)
+ } else {
+ notConditions.push(this.selectedRowKeysList[i].serialNumber)
+ }
+ }
+ let data = ''
+ if (notConditions && notConditions.length > 0) {
+ data = this.$t('standardNo') + '"' + notConditions.join('、') + '"' + this.$t('conditionsNotMet') + ',' + this.$t('onlyProcessStatusReturned')
+ }
+ if (ids && ids.length > 0) {
+ this.submitTask(value, prompt, ids, notConditions, data)
+ } else {
+ this.failedMessage(data)
+ }
+ } else {
+ this.$message.warning(this.$t('selectLeastOne'))
+ }
+ },
+ failedMessage(data) {
+ let detailedWarningList = []
+ detailedWarningList.push(data)
+ this.$warning({
+ content: ( < div > { detailedWarningList } < /div>)
+ })
+ },
+ submitTask(value, prompt, ids, notConditions, data) {
+ let _this = this
+ this.$confirm({
+ content: prompt,
+ onOk() {
+ let query = {
+ 'nodeKey': value,
+ 'projectLibraryId': _this.$route.query.id,
+ 'ids': ids.join(',')
+ }
+ postAction('/project/projectCertificationInventoryEO/submitTask', query).then((res) => {
+ if (res.success) {
+ _this.$message.success(_this.$t('OperationSuccessful'))
+ _this.getList()
+ _this.selectedRowKeys = []
+ _this.selectedRowKeysList = []
+ if (notConditions && notConditions.length > 0) {
+ _this.failedMessage(data)
+ }
+ } else {
+ _this.$message.warning(_this.$t('operationFailed'))
+ }
+ })
+ }
+ })
}
}
}
diff --git a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/dealtWith.vue b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/dealtWith.vue
index 189f86557..c9e16c437 100644
--- a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/dealtWith.vue
+++ b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/dealtWith.vue
@@ -28,6 +28,9 @@
--
+
+ {{text ? text : '--'}}
+
30) {
From 5a8565b5851edcbd56748a0509ea689371beb19c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=8C=83=E5=BC=BA=E5=BC=BA?= <787203167>
Date: Wed, 8 Mar 2023 16:40:38 +0800
Subject: [PATCH 2/4] =?UTF-8?q?=E5=AF=B9=E6=8E=A5=E8=AE=A4=E8=AF=81?=
=?UTF-8?q?=E6=B8=85=E5=8D=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
jero-web/src/common/lang/en-us.js | 4 +-
jero-web/src/common/lang/zh-cn.js | 3 ++
.../components/certificationList/index.vue | 45 +++++++++++++------
3 files changed, 37 insertions(+), 15 deletions(-)
diff --git a/jero-web/src/common/lang/en-us.js b/jero-web/src/common/lang/en-us.js
index b9bd734cd..82e3aff4a 100644
--- a/jero-web/src/common/lang/en-us.js
+++ b/jero-web/src/common/lang/en-us.js
@@ -1411,5 +1411,7 @@ module.exports = {
conditionsNotMet:'Conditions not met',
onlyProcessStatusReturned:'Only the data whose process status is list to be checked and rejected by the responsible person can be returned',
onlyProcessReturned:'Only data with process status of list to be checked and rejected by responsible person can be initiated',
-
+ confirmToAcceptTheTask:'Confirm to accept the task ?',
+ confirmRejectTask:'Confirm Reject Task ?',
+ onlyDataStatusConfirmedSelected:'Only data with process status of task to be confirmed can be selected',
}
\ No newline at end of file
diff --git a/jero-web/src/common/lang/zh-cn.js b/jero-web/src/common/lang/zh-cn.js
index f256d2c70..1ceca39a7 100644
--- a/jero-web/src/common/lang/zh-cn.js
+++ b/jero-web/src/common/lang/zh-cn.js
@@ -1512,4 +1512,7 @@ module.exports = {
conditionsNotMet:'不满足条件',
onlyProcessStatusReturned:'只能退回流程状态为清单待校核和责任人拒绝的数据',
onlyProcessReturned:'只能发起流程状态为清单待校核和责任人拒绝的数据',
+ confirmToAcceptTheTask:'确认接受任务?',
+ confirmRejectTask:'确认拒绝任务?',
+ onlyDataStatusConfirmedSelected:'只能选择流程状态为任务待确认的数据',
}
\ No newline at end of file
diff --git a/jero-web/src/views/projectManagement/components/certificationList/index.vue b/jero-web/src/views/projectManagement/components/certificationList/index.vue
index c0e8b6c67..73d765295 100644
--- a/jero-web/src/views/projectManagement/components/certificationList/index.vue
+++ b/jero-web/src/views/projectManagement/components/certificationList/index.vue
@@ -212,14 +212,14 @@
-
{{ $t('missionAccepted') }}
-
{{ $t('missionRejection') }}
@@ -1042,14 +1042,6 @@
//审批退回
returnedForApprovalClick() {
- },
- //任务接受
- missionAcceptedClick() {
-
- },
- //任务退回
- missionRejectionClick() {
-
},
//提交
submitClick() {
@@ -1099,12 +1091,12 @@
this.selectedRowKeysList[i].flowStatus == 'Refusal of responsible person') {
ids.push(this.selectedRowKeysList[i].id)
} else {
- notConditions.push(this.selectedRowKeysList[i].serialNumber)
+ notConditions.push(this.selectedRowKeysList[i].inspectionItem)
}
}
let data = ''
if (notConditions && notConditions.length > 0) {
- data = this.$t('standardNo') + '"' + notConditions.join('、') + '"' + this.$t('conditionsNotMet') + ',' + this.$t('onlyProcessReturned')
+ data = this.$t('inspectionItems') + '"' + notConditions.join('、') + '"' + this.$t('conditionsNotMet') + ',' + this.$t('onlyProcessReturned')
}
if (ids && ids.length > 0) {
this.submitTask(value, prompt, ids, notConditions, data)
@@ -1125,12 +1117,37 @@
this.selectedRowKeysList[i].flowStatus == 'Refusal of responsible person') {
ids.push(this.selectedRowKeysList[i].id)
} else {
- notConditions.push(this.selectedRowKeysList[i].serialNumber)
+ notConditions.push(this.selectedRowKeysList[i].inspectionItem)
}
}
let data = ''
if (notConditions && notConditions.length > 0) {
- data = this.$t('standardNo') + '"' + notConditions.join('、') + '"' + this.$t('conditionsNotMet') + ',' + this.$t('onlyProcessStatusReturned')
+ data = this.$t('inspectionItems') + '"' + notConditions.join('、') + '"' + this.$t('conditionsNotMet') + ',' + this.$t('onlyProcessStatusReturned')
+ }
+ if (ids && ids.length > 0) {
+ this.submitTask(value, prompt, ids, notConditions, data)
+ } else {
+ this.failedMessage(data)
+ }
+ } else {
+ this.$message.warning(this.$t('selectLeastOne'))
+ }
+ },
+ //任务接受\拒绝
+ missionAcceptedClick(value,prompt) {
+ if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
+ let ids = []
+ let notConditions = []
+ for (let i = 0; i < this.selectedRowKeysList.length; i++) {
+ if (this.selectedRowKeysList[i].flowStatus == 'Task to be confirmed') {
+ ids.push(this.selectedRowKeysList[i].id)
+ } else {
+ notConditions.push(this.selectedRowKeysList[i].inspectionItem)
+ }
+ }
+ let data = ''
+ if (notConditions && notConditions.length > 0) {
+ data = this.$t('inspectionItems') + '"' + notConditions.join('、') + '"' + this.$t('conditionsNotMet') + ',' + this.$t('onlyDataStatusConfirmedSelected')
}
if (ids && ids.length > 0) {
this.submitTask(value, prompt, ids, notConditions, data)
From 77374f668fd5ff3979752a0f75add51b1899d038 Mon Sep 17 00:00:00 2001
From: wangzhijiang <12345678>
Date: Wed, 8 Mar 2023 17:04:50 +0800
Subject: [PATCH 3/4] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=BE=85=E5=8A=9E?=
=?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=8E=A5=E5=8F=A3=E4=BF=AE=E6=94=B9=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../mapper/xml/ProcessInfoEOMapper.xml | 32 +++++++++++++++++--
1 file changed, 30 insertions(+), 2 deletions(-)
diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml
index 7fdaf67df..0a2b1654f 100644
--- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml
+++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml
@@ -172,13 +172,41 @@
'' as title_en,
pi.flow_type,
pi.create_by,
- (
+
+ (
+ case when flow_type = '21' then
+ (
+ SELECT
+ pci.end_time
+ FROM
+ project_certification_inventory pci
+ WHERE
+ pci.project_library_id = pi.id
+ AND ( pci.flow_status = 'List to be checked' OR pci.flow_status = 'Refusal of responsible person' )
+ ORDER BY
+ pci.end_time ASC
+ LIMIT 1
+ )
+ when flow_type = '10' then
+ (
+ SELECT
+ pid.end_time
+ FROM
+ process_info_detail pid
+ WHERE
+ pid.process_info_id = pi.id
+ AND pid.STATUS = 'NotDone'
+ ORDER BY
+ pid.end_time ASC
+ LIMIT 1
+ ) end
+ )AS end_time,
pi.STATUS,
pi.prc_num,
pi.prc_name,
From d09c431623b4d1bd02a31e69bbcdef41c4ed3933 Mon Sep 17 00:00:00 2001
From: wangzhijiang <12345678>
Date: Wed, 8 Mar 2023 17:07:53 +0800
Subject: [PATCH 4/4] =?UTF-8?q?=E8=AE=A4=E8=AF=81=E6=B8=85=E5=8D=95?=
=?UTF-8?q?=E5=AF=B9=E6=8E=A5-=E5=8F=91=E5=B8=83=E3=80=81=E8=AE=A4?=
=?UTF-8?q?=E8=AF=81=E5=B7=A5=E7=A8=8B=E5=B8=88=E9=80=9A=E8=BF=87=E3=80=81?=
=?UTF-8?q?=E8=AE=A4=E8=AF=81=E5=B7=A5=E7=A8=8B=E5=B8=88=E9=80=80=E5=9B=9E?=
=?UTF-8?q?studio=E4=BF=AE=E6=94=B9=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...ctCertificationInventoryEOServiceImpl.java | 51 ++++++++++++++-----
1 file changed, 37 insertions(+), 14 deletions(-)
diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectCertificationInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectCertificationInventoryEOServiceImpl.java
index 3aa5adf73..d37e42d1f 100644
--- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectCertificationInventoryEOServiceImpl.java
+++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectCertificationInventoryEOServiceImpl.java
@@ -304,14 +304,18 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl
idList = Arrays.asList(ids.split(","));
+ List flowStatusList = new ArrayList<>();
+ flowStatusList.add(CertificationInventoryFlowStatusEnum.LIST_TO_BE_RELEASED.getValue());
+ flowStatusList.add(CertificationInventoryFlowStatusEnum.CERTIFICATION_RETURNED.getValue());
+
// 根据页面选择的认证清单数据id,查询出状态为’清单待发布‘的数据,进行发布处理
QueryWrapper certificationQueryWrap = new QueryWrapper<>();
certificationQueryWrap.lambda().in(ProjectCertificationInventoryEO::getId,idList);
- certificationQueryWrap.lambda().in(ProjectCertificationInventoryEO::getFlowStatus,CertificationInventoryFlowStatusEnum.LIST_TO_BE_RELEASED.getValue());
+ certificationQueryWrap.lambda().in(ProjectCertificationInventoryEO::getFlowStatus,flowStatusList);
List projectCertificationInventoryEOList = this.list(certificationQueryWrap);
if(CollectionUtils.isEmpty(projectCertificationInventoryEOList)){
- throw new JeroBootException("无法获取要发布的数据,请重新选择!");
+ throw new JeroBootException("至少选择一条数据流程状态为'清单待发布 或 认证退回'的数据!");
}
List processInfoDetailEOList = new ArrayList<>();
@@ -338,7 +342,6 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl removeWrap = new QueryWrapper<>();
removeWrap.lambda().eq(ProcessInfoDetailEO::getProcessInfoId,processInfoId);
removeWrap.lambda().in(ProcessInfoDetailEO::getUserId,userIdList);
+ removeWrap.lambda().eq(ProcessInfoDetailEO::getTaskDefinitionKey,taskDefinitionKey);
// 删除用户在这个认证清单流程中其它的待办任务
this.processInfoDetailEOService.remove(removeWrap);
@@ -730,8 +733,28 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl queryCountWrap = new QueryWrapper<>();
+ queryCountWrap.lambda().eq(ProjectCertificationInventoryEO::getProjectLibraryId,projectLibraryBase.getId());
+ queryCountWrap.lambda().in(ProjectCertificationInventoryEO::getFlowStatus,flowStatusList);
+ int notDoneCount = this.count(queryCountWrap);
+ // 如果还有 清单待校核、责任人拒绝 状态的数据,不做操作,如果没有 将这个项目认证流程的所有认证工程师待办任务转为已办
+ if(notDoneCount == 0){
+ QueryWrapper detailQueryWrapper = new QueryWrapper<>();
+ detailQueryWrapper.lambda().eq(ProcessInfoDetailEO::getProcessInfoId,projectLibraryBase.getId());
+ detailQueryWrapper.lambda().eq(ProcessInfoDetailEO::getTaskDefinitionKey,CertificationFlowNodeEnum.RZGCSJSRW.getKey());
+ List detailEOList = this.processInfoDetailEOService.list(detailQueryWrapper);
+
+ for (ProcessInfoDetailEO detailEO : detailEOList) {
+ detailEO.setStatus(TaskStatusEnum.HAVE_DONE.getValue());
+ }
+
+ this.processInfoDetailEOService.updateBatchById(detailEOList);
+ }
}catch (Exception ex){
ex.printStackTrace();
log.error("认证工程师-退回认证清单任务失败:" + ex.getMessage());
@@ -773,20 +796,23 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl processInfoDetailEOList = new ArrayList<>();
for (ProjectCertificationInventoryEO projectCertificationInventoryEO : projectCertificationInventoryEOList) {
projectCertificationInventoryEO.setFlowStatus(CertificationInventoryFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue());
- }
- // 给责任人分配待办中心的任务
- List dutyPersonList = projectCertificationInventoryEOList.stream().map(ProjectCertificationInventoryEO::getDutyPerson).distinct().collect(Collectors.toList());
- List processInfoDetailEOList = new ArrayList<>();
- for (String dutyPerson : dutyPersonList) {
ProcessInfoDetailEO processInfoDetailEO = new ProcessInfoDetailEO();
- processInfoDetailEO.setUserId(dutyPerson);
+ processInfoDetailEO.setUserId(projectCertificationInventoryEO.getDutyPerson());
+ processInfoDetailEO.setEndTime(projectCertificationInventoryEO.getEndTime());
+ processInfoDetailEO.setProjectLawsInventoryId(projectCertificationInventoryEO.getId());
processInfoDetailEOList.add(processInfoDetailEO);
}
+
this.addProcessInfoDetailEO(processInfoDetailEOList,projectLibraryBase.getId(),CertificationFlowNodeEnum.ZRRJSRW.getKey());
+ // 认证工程师发起任务,将数据的状态更新为 任务待确认。
+ this.updateBatchById(projectCertificationInventoryEOList);
+
// 更新该项目认证流程中,认证工程师的任务状态。
QueryWrapper queryCountWrap = new QueryWrapper<>();
queryCountWrap.lambda().eq(ProjectCertificationInventoryEO::getProjectLibraryId,projectLibraryBase.getId());
@@ -805,9 +831,6 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl