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

This commit is contained in:
高嵩
2022-10-27 15:22:49 +08:00
14 changed files with 244 additions and 190 deletions
@@ -19,80 +19,102 @@
<sql id="BaseQuerySql">
<where>
(
pi.id IN (
SELECT
pid.process_info_id
FROM
process_info_detail pid
<where>
pid.user_id = #{params.currentUserId}
<if test="params.taskStatus != null and params.taskStatus != ''">
and pid.status = #{params.taskStatus}
</if>
</where>
)
)
<if test="params.projectName != null and params.projectName !=''">
and (
pni.project_name like CONCAT(CONCAT('%',#{params.projectName}),'%')
or pyni.year_name like CONCAT(CONCAT('%',#{params.projectName}),'%')
temp.project_name like CONCAT(CONCAT('%',#{params.projectName}),'%')
or temp.year_name like CONCAT(CONCAT('%',#{params.projectName}),'%')
)
</if>
<if test="params.serialNumber != null and params.serialNumber !=''">
and (
pli.serial_number like CONCAT(CONCAT('%',#{params.serialNumber}),'%')
)
<if test="params.standardInfo != null and params.standardInfo !=''">
and temp.standard_info like CONCAT(CONCAT('%',#{params.standardInfo}),'%')
</if>
<if test="params.flowType != null and params.flowType !=''">
and pi.flow_type = #{params.flowType}
and temp.flow_type = #{params.flowType}
</if>
<if test="params.status != null and params.status !=''">
and pi.status = #{params.status}
</if>
<if test="params.flowTypeList != null">
and pi.flow_type in
<foreach collection="params.flowTypeList" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="params.createBy != null and params.createBy != ''">
and pi.create_by = #{params.createBy}
and temp.status = #{params.status}
</if>
</where>
</sql>
<select id="queryProjectProcessPageList" resultType="com.jero.modules.todoCenter.vo.ProcessInfoVO">
SELECT
pi.id,
pi.project_library_id,
pi.project_laws_inventory_id,
pi.buss_document_library_id,
pi.acti_proc_inst_id,
pni.project_name,
pyni.year_name,
pli.serial_number,
pli.title,
pi.flow_type,
createBy.username as "create_by",
pi.end_time,
(select detail.task_id from process_info_detail detail where detail.process_info_id = pi.id and detail.user_id = #{params.currentUserId} order by submit_time desc limit 1) as task_id,
(select detail.task_definition_key from process_info_detail detail where detail.process_info_id = pi.id and detail.user_id = #{params.currentUserId} order by submit_time desc limit 1) as task_definition_key,
pi.status,
pi.prc_num,
pi.prc_name,
plb.project_name_id,
plb.target_market,
plb.studio_engineer
FROM
process_info pi
left join project_library_base plb on plb.id = pi.project_library_id
left join project_name_info pni on pni.id = plb.project_name_id
left join project_year_name_info pyni on pyni.id = plb.year_name_id
left join project_laws_inventory pli on pi.project_laws_inventory_id = pli.id
LEFT JOIN sys_user createBy on createBy.id = pi.create_by
select temp.* from (
SELECT
pi.id,
pi.project_library_id,
pi.project_laws_inventory_id,
pi.buss_document_library_id,
pi.acti_proc_inst_id,
pni.project_name,
pyni.year_name,
pli.serial_number,
pli.title,
bdl.title_en,
<if test="params.cut == 'cn'">
concat(pli.serial_number,'、',pli.title) as standard_info,
</if>
<if test="params.cut == 'en'">
concat(pli.serial_number,'、',bdl.title_en) as standard_info,
</if>
pi.flow_type,
createBy.username as "create_by",
pi.end_time,
(
select
detail.task_id
from
process_info_detail detail
where detail.process_info_id = pi.id and detail.user_id = #{params.currentUserId} order by submit_time desc limit 1
) as task_id,
(
select
detail.task_definition_key
from
process_info_detail detail
where detail.process_info_id = pi.id and detail.user_id = #{params.currentUserId} order by submit_time desc limit 1
) as task_definition_key,
pi.status,
pi.prc_num,
pi.prc_name,
plb.project_name_id,
plb.target_market,
plb.studio_engineer
FROM
process_info pi
left join project_library_base plb on plb.id = pi.project_library_id
left join project_name_info pni on pni.id = plb.project_name_id
left join project_year_name_info pyni on pyni.id = plb.year_name_id
left join project_laws_inventory pli on pi.project_laws_inventory_id = pli.id
LEFT JOIN sys_user createBy on createBy.id = pi.create_by
LEFT JOIN buss_document_library bdl ON pi.buss_document_library_id = bdl.id
<where>
and pi.id IN (
SELECT
pid.process_info_id
FROM
process_info_detail pid
<where>
pid.user_id = #{params.currentUserId}
<if test="params.taskStatus != null and params.taskStatus != ''">
and pid.status = #{params.taskStatus}
</if>
</where>
)
<if test="params.flowTypeList != null">
and pi.flow_type in
<foreach collection="params.flowTypeList" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="params.queryType == 'issuedProcess'">
<if test="params.createBy != null and params.createBy != ''">
and pi.create_by = #{params.createBy}
</if>
</if>
</where>
) temp
<include refid="BaseQuerySql"/>
order by pi.end_time asc
order by temp.end_time desc
</select>
<select id="queryProjectProcessTodoTaskListList" resultType="com.jero.modules.todoCenter.vo.ProcessInfoVO">
select temp.* from (
@@ -106,11 +128,30 @@
pyni.year_name,
pli.serial_number,
pli.title,
bdl.title_en,
<if test="params.cut == 'cn'">
concat(pli.serial_number,'、',pli.title) as standard_info,
</if>
<if test="params.cut == 'en'">
concat(pli.serial_number,'、',bdl.title_en) as standard_info,
</if>
pi.flow_type,
createBy.username AS "create_by",
pi.end_time,
(select detail.task_id from process_info_detail detail where detail.process_info_id = pi.id and detail.user_id = #{params.currentUserId} and detail.`status` = 'NotDone' limit 1) as task_id,
(select detail.task_definition_key from process_info_detail detail where detail.process_info_id = pi.id and detail.user_id = #{params.currentUserId} and detail.`status` = 'NotDone' limit 1) as task_definition_key,
(
select
detail.task_id
from
process_info_detail detail
where detail.process_info_id = pi.id and detail.user_id = #{params.currentUserId} and detail.`status` = 'NotDone' limit 1
) as task_id,
(
select
detail.task_definition_key
from
process_info_detail detail
where detail.process_info_id = pi.id and detail.user_id = #{params.currentUserId} and detail.`status` = 'NotDone' limit 1
) as task_definition_key,
pi.STATUS,
pi.prc_num,
pi.prc_name,
@@ -124,6 +165,7 @@
LEFT JOIN project_year_name_info pyni ON pyni.id = plb.year_name_id
LEFT JOIN project_laws_inventory pli ON pi.project_laws_inventory_id = pli.id
LEFT JOIN sys_user createBy ON createBy.id = pi.create_by
LEFT JOIN buss_document_library bdl ON pi.buss_document_library_id = bdl.id
where
(
pi.id IN (
@@ -131,8 +173,7 @@
pid.process_info_id
FROM
process_info_detail pid
where
pid.user_id = #{params.currentUserId} and pid.status = #{params.taskStatus}
where pid.user_id = #{params.currentUserId} and pid.status = #{params.taskStatus}
)
)
AND pi.flow_type IN
@@ -149,10 +190,18 @@
pni.project_name,
pyni.year_name,
'--' as serial_number,
'--' as standard_info,
'' as title,
'' as title_en,
pi.flow_type,
createBy.username AS "create_by",
(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) as end_time,
(
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
) as end_time,
'' as task_id,
'' as task_definition_key,
pi.STATUS,
@@ -175,111 +224,91 @@
pid.process_info_id
FROM
process_info_detail pid
where
pid.user_id = #{params.currentUserId} and pid.status = #{params.taskStatus}
where pid.user_id = #{params.currentUserId} and pid.status = #{params.taskStatus}
)
)
AND pi.flow_type = #{params.qdqrFlowTypeValue}
)temp
<where>
<if test="params.projectName != null and params.projectName !=''">
and (
temp.project_name like CONCAT(CONCAT('%',#{params.projectName}),'%')
or temp.year_name like CONCAT(CONCAT('%',#{params.projectName}),'%')
)
</if>
<if test="params.serialNumber != null and params.serialNumber !=''">
and (
temp.serial_number like CONCAT(CONCAT('%',#{params.serialNumber}),'%')
)
</if>
<if test="params.flowType != null and params.flowType !=''">
and temp.flow_type = #{params.flowType}
</if>
<if test="params.status != null and params.status !=''">
and temp.status = #{params.status}
</if>
<if test="params.createBy != null and params.createBy != ''">
and temp.create_by = #{params.createBy}
</if>
</where>
<include refid="BaseQuerySql"/>
order by temp.end_time asc
</select>
<select id="queryLawsAssessPageList" resultType="com.jero.modules.todoCenter.vo.ProcessInfoVO">
SELECT
pi.id,
pi.buss_document_library_id,
bdl.serial_number,
bdl.title,
pi.flow_type,
pi.end_time,
pi.STATUS,
pi.prc_num,
pi.prc_name,
(
select
detail.task_id
from
process_info_detail detail
where detail.process_info_id = pi.id
and detail.user_id = #{params.currentUserId}
<if test="params.queryType == 'todoProcess'">
and detail.`status` = #{params.taskStatus}
select temp.* from (
SELECT
pi.id,
pi.buss_document_library_id,
bdl.serial_number,
bdl.title,
bdl.title_en,
<if test="params.cut == 'cn'">
concat(bdl.serial_number,'、',bdl.title) as standard_info,
</if>
order by detail.submit_time desc
limit 1
) as task_id,
(
select
detail.task_definition_key
from
process_info_detail detail
where detail.process_info_id = pi.id
and detail.user_id = #{params.currentUserId}
<if test="params.queryType == 'todoProcess'">
and detail.`status` = #{params.taskStatus}
<if test="params.cut == 'en'">
concat(bdl.serial_number,'、',bdl.title_en) as standard_info,
</if>
order by detail.submit_time desc
limit 1
) as task_definition_key,
createBy.username AS "create_by",
pi.acti_proc_inst_id,
pi.create_time
FROM
pi.flow_type,
pi.end_time,
pi.STATUS,
pi.prc_num,
pi.prc_name,
(
select
detail.task_id
from
process_info_detail detail
where detail.process_info_id = pi.id and detail.user_id = #{params.currentUserId}
<if test="params.queryType == 'todoProcess'">
and detail.`status` = #{params.taskStatus}
</if>
order by detail.submit_time desc
limit 1
) as task_id,
(
select
detail.task_definition_key
from
process_info_detail detail
where detail.process_info_id = pi.id and detail.user_id = #{params.currentUserId}
<if test="params.queryType == 'todoProcess'">
and detail.`status` = #{params.taskStatus}
</if>
order by detail.submit_time desc
limit 1
) as task_definition_key,
createBy.username AS create_by,
pi.acti_proc_inst_id,
pi.create_time
FROM
process_info pi
LEFT JOIN buss_document_library bdl ON pi.buss_document_library_id = bdl.id
LEFT JOIN sys_user createBy on createBy.id = pi.create_by
<where>
pi.flow_type IN
<foreach collection="params.flowTypeList" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
<if test="params.queryType == 'issuedProcess'">
and pi.create_by = #{params.createBy}
</if>
<if test="params.queryType != 'issuedProcess'">
and (
pi.id IN (
SELECT
pid.process_info_id
FROM
process_info_detail pid
where
pid.user_id = #{params.currentUserId} and pid.status = #{params.taskStatus}
LEFT JOIN buss_document_library bdl ON pi.buss_document_library_id = bdl.id
LEFT JOIN sys_user createBy on createBy.id = pi.create_by
<where>
pi.flow_type IN
<foreach collection="params.flowTypeList" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
<if test="params.queryType == 'issuedProcess'">
and pi.create_by = #{params.createBy}
</if>
<if test="params.queryType != 'issuedProcess'">
and (
pi.id IN (
SELECT
pid.process_info_id
FROM
process_info_detail pid
where pid.user_id = #{params.currentUserId} and pid.status = #{params.taskStatus}
)
)
)
</if>
<if test="params.serialNumber != null and params.serialNumber != ''">
and (
bdl.serial_number like CONCAT(CONCAT('%',#{params.serialNumber}),'%')
or bdl.title like CONCAT(CONCAT('%',#{params.serialNumber}),'%')
)
</if>
<if test="params.flowType != null and params.flowType !=''">
and pi.flow_type = #{params.flowType}
</if>
</where>
order by pi.end_time asc
</if>
</where>
) temp
<include refid="BaseQuerySql"/>
<if test="params.queryType == 'todoProcess' ">
order by temp.end_time asc
</if>
<if test="params.queryType != 'todoProcess' ">
order by temp.end_time desc
</if>
</select>
</mapper>
@@ -237,6 +237,7 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
this.setFlowTypeList(flowTypeList);
params.put("flowTypeList",flowTypeList);
params.put("currentUserId",currentUser.getId());
params.put("queryType","issuedProcess");
IPage page = new Page(pageNo, pageSize);
IPage<ProcessInfoVO> result = this.baseMapper.queryProjectProcessPageList(page,params);
@@ -80,8 +80,10 @@ public class ProcessInfoVO implements Serializable {
/**标准编号*/
private String serialNumber;
/**标准标题*/
/**标准标题-中文*/
private String title;
/**标准标题-英文*/
private String titleEn;
/**项目名称*/
private String projectName;
/**年份*/
@@ -102,4 +104,7 @@ public class ProcessInfoVO implements Serializable {
private String personChargeFeedback;
/**截止日期 过期标识:true为已经过期 false为没有过期**/
private boolean endTimePastDueFlag = false;
/**标准信息**/
private String standardInfo;
}
@@ -15,7 +15,15 @@
<span class="title-text-text" :title="$t('complianceResults')">{{$t('complianceResults')}}</span>
</div>
<div class="title-text-right" v-if="disabled">
{{formInline.complianceResult == 'Compliance'?$t('accord'):$t('nonConformity')}}
<span v-if="formInline.complianceResult == 'Compliance'">
{{$t('accord')}}
</span>
<span v-else-if="formInline.complianceResult == 'Non-Compliance'">
{{$t('nonConformity')}}
</span>
<span v-else>
--
</span>
</div>
<a-form-model-item class="itemModel" v-if="!disabled" :prop="!disabled?'complianceResult':''">
<a-radio-group style="margin-top: 2px" class="box-input"
@@ -51,7 +59,7 @@
<span class="title-text-text" :title="$t('relevantSections')">{{$t('relevantSections')}}</span>
</div>
<div class="title-text-right" :title="item.relatedSection" v-if="disabled">
{{item.relatedSection}}
{{item.relatedSection ?item.relatedSection : '--'}}
</div>
<a-form-model-item class="itemModel" v-if="!disabled"
:prop="'dataList.'+index+'.relatedSection'"
@@ -73,7 +81,7 @@
:title="$t('problemDescription')">{{$t('problemDescription')}}</span>
</div>
<div class="title-text-right" :title="item.issueOrSuggest" v-if="disabled">
{{item.issueOrSuggest}}
{{item.issueOrSuggest ? item.issueOrSuggest :'--'}}
</div>
<a-form-model-item class="itemModel" :prop="'dataList.'+index+'.issueOrSuggest'" v-if="!disabled"
:rules="[{ required: true, message: $t('problemDescription') + $t('cannotEmpty'), trigger: 'blur'},
@@ -121,7 +129,7 @@
<span class="title-text-text" :title="$t('relevantSections')">{{$t('relevantSections')}}</span>
</div>
<div class="title-text-right" :class="{'title-text-right-text':disabled}" :title="item.relatedSection">
{{item.relatedSection}}
{{item.relatedSection?item.relatedSection : '--'}}
</div>
</div>
</a-col>
@@ -132,7 +140,7 @@
:title="$t('problemDescription')">{{$t('problemDescription')}}</span>
</div>
<div class="title-text-right" :class="{'title-text-right-text':disabled}" :title="item.issueOrSuggest">
{{item.issueOrSuggest}}
{{item.issueOrSuggest ? item.issueOrSuggest:'--'}}
</div>
</div>
</a-col>
@@ -373,7 +373,11 @@
antTableHeader[0].style = 'margin-bottom: -8px;padding-bottom: 0px;min-width: 8px;overflow: hidden'
})
}
if (this.$route.query.taskDefinitionKey != 'pgrqr') {
let disabled = false
if (this.$route.query.isDisabled) {
disabled = JSON.parse(this.$route.query.isDisabled)
}
if (this.$route.query.taskDefinitionKey != 'pgrqr' && !disabled) {
this.dataSource.forEach(res => {
res.sponsorFeedback = ''
})
@@ -124,10 +124,16 @@
})
},
lawsOpinionAssessmentResult() {
let createBy = ''
if (this.$route.query.taskDefinitionKey == 'gcsfq' && this.disabled){
createBy = ''
}else{
createBy = this.userInfo().username
}
getAction(this.url.list, {
lawsOpinionGatherId: this.queryProject.id,
actiProcInstId: this.$route.query.prcId,
createBy: this.userInfo().username
createBy: createBy
}).then((res) => {
if (res.success) {
this.feedbackDataList = res.result || []
@@ -21,8 +21,8 @@
<a @click="RelatedItemsClick(record)" :title="text">{{text}}</a>
</span>
<span slot="standardInformation" slot-scope="text,record">
<a @click="standardInformationClick(record)" v-if="text && text != '--'" :title="text+'、'+record.title">
{{text+'、'+record.title}}
<a @click="standardInformationClick(record)" v-if="text && text != '--'" :title="text">
{{text}}
</a>
<span v-else>--</span>
</span>
@@ -63,7 +63,7 @@
{
title: this.$t('standardInformation'),
align: 'center',
dataIndex: 'serialNumber',
dataIndex: 'standardInfo',
scopedSlots: { customRender: 'standardInformation' },
ellipsis: true,
width: 170
@@ -22,8 +22,8 @@
<a @click="RelatedItemsClick(record)" :title="text">{{text}}</a>
</span>
<span slot="standardInformation" slot-scope="text,record">
<a @click="standardInformationClick(record)" v-if="text && text != '--'" :title="text+'、'+record.title">
{{text+'、'+record.title}}
<a @click="standardInformationClick(record)" v-if="text && text != '--'" :title="text">
{{text}}
</a>
<span v-else>--</span>
</span>
@@ -64,7 +64,7 @@
{
title: this.$t('standardInformation'),
align: 'center',
dataIndex: 'serialNumber',
dataIndex: 'standardInfo',
ellipsis: true,
scopedSlots: { customRender: 'standardInformation' },
width: 170
@@ -331,7 +331,8 @@
text-align: right;
margin-top: 20px;
}
.activeRed{
color: red;
.activeRed {
color: red;
}
</style>
@@ -23,8 +23,8 @@
</a>
</span>
<span slot="standardInformation" slot-scope="text,record">
<a @click="standardInformationClick(record)" v-if="text && text != '--'" :title="text+'、'+record.title">
{{text+'、'+record.title}}
<a @click="standardInformationClick(record)" v-if="text && text != '--'" :title="text">
{{text}}
</a>
<span v-else>--</span>
</span>
@@ -69,7 +69,7 @@
{
title: this.$t('standardInformation'),
align: 'center',
dataIndex: 'serialNumber',
dataIndex: 'standardInfo',
ellipsis: true,
scopedSlots: { customRender: 'standardInformation' },
width: 170
@@ -18,7 +18,7 @@
<span>{{$t('standardInformation')}}</span>
</div>
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('standardInformation')"
v-model="queryParam.serialNumber"></a-input>
v-model="queryParam.standardInfo"></a-input>
</div>
</a-col>
<a-col :md="6" :sm="8">
@@ -18,8 +18,8 @@
@click="viewClick(record)">{{$t('view')}}</a>
</span>
<span slot="standardInformation" slot-scope="text,record">
<a @click="standardInformationClick(record)" :title="text+'、'+record.title">
{{text+'、'+record.title}}
<a @click="standardInformationClick(record)" :title="text">
{{text}}
</a>
</span>
</a-table>
@@ -54,7 +54,7 @@
{
title: this.$t('standardInformation'),
align: 'center',
dataIndex: 'serialNumber',
dataIndex: 'standardInfo',
scopedSlots: { customRender: 'standardInformation' },
ellipsis: true,
width: 170
@@ -19,8 +19,8 @@
<span :title="text" :class="{'activeRed':record.endTimePastDueFlag}">{{text}}</span>
</span>
<span slot="standardInformation" slot-scope="text,record">
<a @click="standardInformationClick(record)" :title="text+'、'+record.title">
{{text+'、'+record.title}}
<a @click="standardInformationClick(record)" :title="text">
{{text}}
</a>
</span>
</a-table>
@@ -52,7 +52,7 @@
{
title: this.$t('standardInformation'),
align: 'center',
dataIndex: 'serialNumber',
dataIndex: 'standardInfo',
scopedSlots: { customRender: 'standardInformation' },
ellipsis: true,
width: 170
@@ -18,8 +18,8 @@
@click="viewClick(record)">{{$t('view')}}</a>
</span>
<span slot="standardInformation" slot-scope="text,record">
<a @click="standardInformationClick(record)" :title="text+'、'+record.title">
{{text+'、'+record.title}}
<a @click="standardInformationClick(record)" :title="text">
{{text}}
</a>
</span>
</a-table>
@@ -51,7 +51,7 @@
{
title: this.$t('standardInformation'),
align: 'center',
dataIndex: 'serialNumber',
dataIndex: 'standardInfo',
ellipsis: true,
scopedSlots: { customRender: 'standardInformation' },
width: 170
@@ -9,7 +9,7 @@
<span>{{$t('standardInformation')}}</span>
</div>
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('standardInformation')"
v-model="queryParam.serialNumber"></a-input>
v-model="queryParam.standardInfo"></a-input>
</div>
</a-col>
<a-col :md="6" :sm="8">