合并分支 'fix_20230627' 到 'master'

Fix 20230627

查看合并请求 laws-nio/laws-weilai!342
This commit is contained in:
高嵩
2023-06-29 11:17:26 +08:00
13 changed files with 227 additions and 23 deletions
@@ -23,6 +23,7 @@ public interface ParamsCollectManifestEOMapper extends BaseMapper<ParamsCollectM
List<ParamsCollectManifestEO> listInfoOfTodoCenter(@Param("manifestIdList") List<String> manifestIdList); List<ParamsCollectManifestEO> listInfoOfTodoCenter(@Param("manifestIdList") List<String> manifestIdList);
List<Map<String, Object>> listInfoForExport(@Param("paramsCollectManifestEO") ParamsCollectManifestEO paramsCollectManifestEO, @Param("ids") String ids); List<Map<String, Object>> listInfoForExport(@Param("paramsCollectManifestEO") ParamsCollectManifestEO paramsCollectManifestEO, @Param("ids") String ids);
List<Map<String, Object>> listInfoForExportExportTitle(@Param("paramsCollectManifestEO") ParamsCollectManifestEO paramsCollectManifestEO, @Param("ids") String ids);
List<ParamsCollectManifestEO> listInfoOfTodoCenter(); List<ParamsCollectManifestEO> listInfoOfTodoCenter();
// 查询控件类型为 标题的 参数项 // 查询控件类型为 标题的 参数项
@@ -94,6 +94,19 @@
</foreach> </foreach>
</select> </select>
<select id="listInfoForExportExportTitle" resultType="java.util.LinkedHashMap">
select *
from params_collect_manifest
<include refid="BaseQuerySql"/>
<if test="ids !=null and ids !=''">
AND id in
<foreach collection="ids.split(',')" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
order by del_flag desc, add_flag desc, change_flag desc, nio_number asc
</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
@@ -4278,7 +4278,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
for (int i = 0; i < fieldList.size(); i++) { for (int i = 0; i < fieldList.size(); i++) {
OnlCgformField onlCgformField = fieldList.get(i); OnlCgformField onlCgformField = fieldList.get(i);
String dbFieldName = onlCgformField.getDbFieldName(); String dbFieldName = onlCgformField.getDbFieldName();
if (!"deadline".equals(dbFieldName) && !"cert_category".equals(dbFieldName) && !"description".equals(dbFieldName)) { if (!"deadline".equals(dbFieldName) && !"cert_category".equals(dbFieldName)) {
dbFieldList.add(dbFieldName); dbFieldList.add(dbFieldName);
if (CutEnum.CN.getValue().equals(cut)) { if (CutEnum.CN.getValue().equals(cut)) {
@@ -4464,14 +4464,13 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
ParamsCollectManifestEO queryEO = new ParamsCollectManifestEO(); ParamsCollectManifestEO queryEO = new ParamsCollectManifestEO();
queryEO.setParamsManifestId(paramsManifestId); queryEO.setParamsManifestId(paramsManifestId);
String userTypes = paramsCollectManifestVO.getUserTypes(); String userTypes = paramsCollectManifestVO.getUserTypes();
if (userTypes != null && CollectManifestUserTypeEnum.SDT.getValue().equals(userTypes)) { if (userTypes != null && CollectManifestUserTypeEnum.SDT.getValue().equals(userTypes)) {
queryEO.setUserTypes(CollectManifestUserTypeEnum.SDT.getValue()); queryEO.setUserTypes(CollectManifestUserTypeEnum.SDT.getValue());
queryEO.setSdt(loginUser.getUsername()); queryEO.setSdt(loginUser.getUsername());
} }
List<Map<String, Object>> dataList = paramsCollectManifestEOMapper.listInfoForExport(queryEO, null); // 查询导出数据 List<Map<String, Object>> dataList = paramsCollectManifestEOMapper.listInfoForExportExportTitle(queryEO, null); // 查询导出数据
if (dataList == null || dataList.isEmpty()) { if (dataList == null || dataList.isEmpty()) {
// 没有查到数据,进行提示 // 没有查到数据,进行提示
if (CutEnum.EN.getValue().equals(paramsCollectManifestVO.getCut())) { if (CutEnum.EN.getValue().equals(paramsCollectManifestVO.getCut())) {
@@ -4489,6 +4488,11 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
List<Map<String,Object>> exportDataList = new ArrayList<>(); List<Map<String,Object>> exportDataList = new ArrayList<>();
// 配置列多行数据处理 // 配置列多行数据处理
for (Map<String, Object> data : dataList) { for (Map<String, Object> data : dataList) {
String controlType = (String)data.get("control_type");
if("0".equals(paramsCollectManifestVO.getExportOption()) && "11".equals(controlType)){
//不要标题
continue;
}
String id = (String) data.get("id"); String id = (String) data.get("id");
Map<String, List<ParamsConfigDataEO>> paramsConfigDataMap = paramsConfigDataEOList.stream().filter(configDataEO -> { Map<String, List<ParamsConfigDataEO>> paramsConfigDataMap = paramsConfigDataEOList.stream().filter(configDataEO -> {
@@ -106,4 +106,8 @@ public class ParamsCollectManifestVO {
//排序规则 ”1“ 顺序 ”2“逆序 //排序规则 ”1“ 顺序 ”2“逆序
@TableField(exist = false) @TableField(exist = false)
private String orderBy; private String orderBy;
//是否导出标题 ”1“ 是 ”0“否
@TableField(exist = false)
private String exportOption;
} }
@@ -18,6 +18,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.modules.system.entity.SysRole; import com.jero.modules.system.entity.SysRole;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.base.controller.JeroController;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@@ -59,7 +60,26 @@ public class ProjectCertificationInventoryEOController extends JeroController<Pr
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
@RequestParam(name="cut", defaultValue="cn") String cut, @RequestParam(name="cut", defaultValue="cn") String cut,
HttpServletRequest req) { HttpServletRequest req) {
String flowStatusStr = "";
if (StringUtils.isNotEmpty(projectCertificationInventoryEO.getFlowStatus())) {
flowStatusStr = projectCertificationInventoryEO.getFlowStatus();
projectCertificationInventoryEO.setFlowStatus(null);
}
QueryWrapper<ProjectCertificationInventoryEO> queryWrapper = QueryGenerator.initQueryWrapper(projectCertificationInventoryEO, req.getParameterMap()); QueryWrapper<ProjectCertificationInventoryEO> queryWrapper = QueryGenerator.initQueryWrapper(projectCertificationInventoryEO, req.getParameterMap());
if (StringUtils.isNotEmpty(flowStatusStr)) {
String finalflowStatusStr = flowStatusStr.replaceAll("\\*","");
queryWrapper.and(query -> {
query.lambda().like(ProjectCertificationInventoryEO::getFlowStatus, finalflowStatusStr);
if(StringUtils.contains(finalflowStatusStr,",")){
String[] flowStatusArr = finalflowStatusStr.split(",");
for (String fs : flowStatusArr) {
query.or(q -> {
q.like("flow_status",fs);
});
}
}
});
}
queryWrapper.orderByDesc("create_time"); queryWrapper.orderByDesc("create_time");
Page<ProjectCertificationInventoryEO> page = new Page<ProjectCertificationInventoryEO>(pageNo, pageSize); Page<ProjectCertificationInventoryEO> page = new Page<ProjectCertificationInventoryEO>(pageNo, pageSize);
IPage<ProjectCertificationInventoryEO> pageList = this.projectCertificationInventoryEOService.queryPage(queryWrapper,page,projectCertificationInventoryEO,cut); IPage<ProjectCertificationInventoryEO> pageList = this.projectCertificationInventoryEOService.queryPage(queryWrapper,page,projectCertificationInventoryEO,cut);
@@ -25,7 +25,7 @@ public enum CertificationInventoryFlowStatusEnum {
*/ */
LIST_TO_BE_RELEASED("清单待发布","List to be released","List to be released"), LIST_TO_BE_RELEASED("清单待发布","List to be released","List to be released"),
LIST_TO_BE_CHECKED("清单待校核","List to be checked","List to be checked"), LIST_TO_BE_CHECKED("任务待发起","Task to be initiated","List to be checked"),
CERTIFICATION_RETURNED("认证退回","Certification returned","Certification returned"), CERTIFICATION_RETURNED("认证退回","Certification returned","Certification returned"),
TASK_TO_BE_CONFIRMED("任务待确认","Task to be confirmed","Task to be confirmed"), TASK_TO_BE_CONFIRMED("任务待确认","Task to be confirmed","Task to be confirmed"),
REFUSAL_OF_RESPONSIBLE_PERSON("责任人拒绝","Refusal of responsible person","Refusal of responsible person"), REFUSAL_OF_RESPONSIBLE_PERSON("责任人拒绝","Refusal of responsible person","Refusal of responsible person"),
@@ -13441,6 +13441,16 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
dutyTerritoryStr = projectLawsInventoryEO.getDutyTerritory(); dutyTerritoryStr = projectLawsInventoryEO.getDutyTerritory();
projectLawsInventoryEO.setDutyTerritory(null); projectLawsInventoryEO.setDutyTerritory(null);
} }
String designFlowStatusStr = "";
if (StringUtils.isNotEmpty(projectLawsInventoryEO.getDesignFlowStatus())) {
designFlowStatusStr = projectLawsInventoryEO.getDesignFlowStatus();
projectLawsInventoryEO.setDesignFlowStatus(null);
}
String verifyFlowStatusStr = "";
if (StringUtils.isNotEmpty(projectLawsInventoryEO.getVerifyFlowStatus())) {
verifyFlowStatusStr = projectLawsInventoryEO.getVerifyFlowStatus();
projectLawsInventoryEO.setVerifyFlowStatus(null);
}
// 根据一级责任领域(统计节点),查询该一级责任领域下所有子责任领域的法规清单数据。 // 根据一级责任领域(统计节点),查询该一级责任领域下所有子责任领域的法规清单数据。
if(StringUtils.isNotEmpty(projectLawsInventoryEO.getFirstLevelDutyTerritory())){ if(StringUtils.isNotEmpty(projectLawsInventoryEO.getFirstLevelDutyTerritory())){
@@ -13475,6 +13485,35 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
} }
}); });
} }
if (StringUtils.isNotEmpty(designFlowStatusStr)) {
String finalDesignFlowStatusStr = designFlowStatusStr.replaceAll("\\*","");
queryWrapper.and(query -> {
query.lambda().like(ProjectLawsInventoryEO::getDesignFlowStatus, finalDesignFlowStatusStr);
if(StringUtils.contains(finalDesignFlowStatusStr,",")){
String[] designFlowStatusArr = finalDesignFlowStatusStr.split(",");
for (String dsf : designFlowStatusArr) {
query.or(q -> {
q.like("design_flow_status",dsf);
});
}
}
});
}
if (StringUtils.isNotEmpty(verifyFlowStatusStr)) {
String finalVerifyFlowStatusStr = verifyFlowStatusStr.replaceAll("\\*","");
queryWrapper.and(query -> {
query.lambda().like(ProjectLawsInventoryEO::getVerifyFlowStatus, finalVerifyFlowStatusStr);
if(StringUtils.contains(finalVerifyFlowStatusStr,",")){
String[] verifyFlowStatusArr = finalVerifyFlowStatusStr.split(",");
for (String vsf : verifyFlowStatusArr) {
query.or(q -> {
q.like("verify_flow_status",vsf);
});
}
}
});
}
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
int isProjectRole = Integer.parseInt(projectLawsInventoryEO.getRoleCode()); int isProjectRole = Integer.parseInt(projectLawsInventoryEO.getRoleCode());
if(isProjectRole != Integer.parseInt(ProjectRoleEnum.STUDIO_ENGINEER.getValue()) if(isProjectRole != Integer.parseInt(ProjectRoleEnum.STUDIO_ENGINEER.getValue())
+4
View File
@@ -1528,6 +1528,7 @@ module.exports = {
Taskresponsibilityrecognition:'Responsibility Confirm', Taskresponsibilityrecognition:'Responsibility Confirm',
uploadattachment:'Upload', uploadattachment:'Upload',
Processhistory:'Process history', Processhistory:'Process history',
historyData:'1. Regulatory Engineer, 2. Responsible person, 3. Responsible person, 4. Regulatory Engineer',
resultofhandling:'Result of handling', resultofhandling:'Result of handling',
cause:'cause', cause:'cause',
networksecurityrequirements:'Network security requirements', networksecurityrequirements:'Network security requirements',
@@ -1897,4 +1898,7 @@ module.exports = {
pleaseViewOnPc:'Please view on PC', pleaseViewOnPc:'Please view on PC',
taskHandling:'Task Handling', taskHandling:'Task Handling',
pleaseEnterUserAccountSearchFor:'Please enter a user account to search for', pleaseEnterUserAccountSearchFor:'Please enter a user account to search for',
exportOption:'Export Option',
includeTitle:'Include title',
Notitleincluded:'No title included',
} }
+4
View File
@@ -3538,6 +3538,7 @@ module.exports = {
Taskresponsibilityrecognition: '任务责任确认', Taskresponsibilityrecognition: '任务责任确认',
uploadattachment: '上传附件', uploadattachment: '上传附件',
Processhistory: '流程历史', Processhistory: '流程历史',
historyData: '1.法规工程师,2.责任人,3.责任人,4.法规工程师',
resultofhandling: '处理结果', resultofhandling: '处理结果',
Listoftreatableregulations: '可处理法规列表', Listoftreatableregulations: '可处理法规列表',
Listofuntractableregulations: '不可处理法规列表', Listofuntractableregulations: '不可处理法规列表',
@@ -3860,4 +3861,7 @@ module.exports = {
copyLink:'复制链接', copyLink:'复制链接',
successfulReplication:'复制成功', successfulReplication:'复制成功',
pleaseEnterUserAccountSearchFor:'请输入用户账号搜索', pleaseEnterUserAccountSearchFor:'请输入用户账号搜索',
exportOption:'导出选项',
includeTitle:'包含标题',
Notitleincluded:'不包含标题',
} }
@@ -583,6 +583,46 @@
</div> </div>
</div> </div>
</a-modal> </a-modal>
<!-- 数据导出弹框-->
<a-modal
:title="$t('dataExport')"
:width="500"
:visible="dataExportFailed"
:maskClosable="false"
@ok="handleExportSubmit"
@cancel="handleCancel"
>
<a-form-model
class='formAdd'
ref='dataExportruleForm'
:model='dataExportformInline'
:rules='dataExportrules'
:label-col='labelCol'
:wrapper-col='wrapperCol'
>
<a-row :gutter="24">
<a-col :span="24">
<div class="box-title-text" >
<div class="title-text" :title="$t('exportOption')" style='margin-top: -17px;'>
<span class="Required">*</span>
<span class="title-text-text" :title="$t('exportOption')">
{{$t('exportOption')}}</span>
</div>
<a-form-model-item class="itemModel" prop="exportOption">
<a-select class="box-input" allowClear v-model="dataExportformInline.exportOption" :placeholder="$t('PleaseSelect')+$t('exportOption')">
<a-select-option :value="'1'">
{{$t('includeTitle')}}
</a-select-option>
<a-select-option :value="'0'">
{{$t('Notitleincluded')}}
</a-select-option>
</a-select>
</a-form-model-item>
</div>
</a-col>
</a-row>
</a-form-model>
</a-modal>
<JLoading :loading="textLoading">{{this.$t('pleaseWaitWhileRunning')}}</JLoading> <JLoading :loading="textLoading">{{this.$t('pleaseWaitWhileRunning')}}</JLoading>
<batchUpdateDeadline ref="batchUpdateDeadlineRef" @batchUpdateDeadlineForm="batchUpdateDeadlineForm"/> <batchUpdateDeadline ref="batchUpdateDeadlineRef" @batchUpdateDeadlineForm="batchUpdateDeadlineForm"/>
@@ -877,6 +917,7 @@
selectedRowKeys: [], selectedRowKeys: [],
textLoading: false, textLoading: false,
formInline: {}, formInline: {},
dataExportformInline: {},
queryParamQuery: {}, queryParamQuery: {},
url: { url: {
tableHeader: 'params/collectManifest/getHeader', tableHeader: 'params/collectManifest/getHeader',
@@ -919,6 +960,7 @@
areaVisiblereferenceparameter: false, // 引用参数弹框 areaVisiblereferenceparameter: false, // 引用参数弹框
areaVisibsynchronous: false, // 同步上报库弹框 areaVisibsynchronous: false, // 同步上报库弹框
visibleoperationFailed: false, // 数据失败的弹框 visibleoperationFailed: false, // 数据失败的弹框
dataExportFailed: false, // 数据失败的弹框
currentPersonRole: '', // 当前人角色 currentPersonRole: '', // 当前人角色
jurisdiction: '', jurisdiction: '',
wrapperCol: { wrapperCol: {
@@ -930,6 +972,11 @@
sm: { span: 7 } sm: { span: 7 }
}, },
rules: {}, rules: {},
dataExportrules: {
exportOption:[
{ required: true, message: this.$t('PleaseSelect')+this.$t('exportOption'), trigger: 'change' }
]
},
FreezeList: [], // 冻结字段 FreezeList: [], // 冻结字段
roleSwitchingList: [], roleSwitchingList: [],
JTextLoading: false, JTextLoading: false,
@@ -1329,24 +1376,56 @@
}, },
//导出 //导出
handleExport() { handleExport() {
this.$message.success(this.$t('Intheexport')) this.dataExportFailed = true
let long = localStorage.getItem('language') // this.$message.success(this.$t('Intheexport'))
this.cut = '' // let long = localStorage.getItem('language')
if (long && long === 'zh-cn') { // this.cut = ''
this.cut = 'cn' // if (long && long === 'zh-cn') {
} else if (long && long === 'en-us') { // this.cut = 'cn'
this.cut = 'en' // } else if (long && long === 'en-us') {
} // this.cut = 'en'
let query = { // }
paramsManifestId: this.paramsManifest.id, // let query = {
paramsTemplateId: this.$route.query.paramsTemplateId, // paramsManifestId: this.paramsManifest.id,
paramsTemplatePublishVersion: 1, // paramsTemplateId: this.$route.query.paramsTemplateId,
cut: this.cut, // paramsTemplatePublishVersion: 1,
userTypes: this.currentPersonRole, // cut: this.cut,
exportName: this.$route.query.projectName + '(' + this.$route.query.title + ')' // userTypes: this.currentPersonRole,
} // exportName: this.$route.query.projectName + '(' + this.$route.query.title + ')'
let name = this.$route.query.projectName + '(' + this.$route.query.title + ')' + '.zip' // }
downloadFile('/params/collectManifest/exportAll', name, query, this.selectClear) // let name = this.$route.query.projectName + '(' + this.$route.query.title + ')' + '.zip'
// downloadFile('/params/collectManifest/exportAll', name, query, this.selectClear)
},
// 导出确定
handleExportSubmit(){
this.$refs.dataExportruleForm.validate(valid => {
if(valid){
this.$message.success(this.$t('Intheexport'))
let long = localStorage.getItem('language')
this.cut = ''
if (long && long === 'zh-cn') {
this.cut = 'cn'
} else if (long && long === 'en-us') {
this.cut = 'en'
}
let query = {
paramsManifestId: this.paramsManifest.id,
paramsTemplateId: this.$route.query.paramsTemplateId,
exportOption:this.dataExportformInline.exportOption,
paramsTemplatePublishVersion: 1,
cut: this.cut,
userTypes: this.currentPersonRole,
exportName: this.$route.query.projectName + '(' + this.$route.query.title + ')'
}
let name = this.$route.query.projectName + '(' + this.$route.query.title + ')' + '.zip'
downloadFile('/params/collectManifest/exportAll', name, query, this.selectClear)
}
})
},
handleCancel() {
this.dataExportformInline = {}
this.$refs.dataExportruleForm.clearValidate()
this.dataExportFailed = false
}, },
//填写人导出 //填写人导出
handleExportDre() { handleExportDre() {
@@ -2631,7 +2710,11 @@
height: 42px; height: 42px;
line-height: 36px; line-height: 36px;
} }
.itemModel {
width: 100%;
display: inline-block;
margin-top: 2px;
}
.box-input .ant-select-selection { .box-input .ant-select-selection {
height: 38px !important; height: 38px !important;
} }
@@ -30,6 +30,7 @@
</div> </div>
<a-select :placeholder="$t('PleaseSelect')+$t('ProcessStatus')" <a-select :placeholder="$t('PleaseSelect')+$t('ProcessStatus')"
class="box-input" class="box-input"
mode="multiple"
allowClear allowClear
:getPopupContainer="triggerNode=> triggerNode.parentNode" :getPopupContainer="triggerNode=> triggerNode.parentNode"
v-model="queryParam.flowStatus"> v-model="queryParam.flowStatus">
@@ -53,6 +53,7 @@
allowClear allowClear
show-search show-search
style="width: calc(100% - 80px);" style="width: calc(100% - 80px);"
mode="multiple"
optionFilterProp="label" optionFilterProp="label"
:getPopupContainer="triggerNode=> triggerNode.parentNode" :getPopupContainer="triggerNode=> triggerNode.parentNode"
v-model="queryParam[selectModel]"> v-model="queryParam[selectModel]">
@@ -22,6 +22,7 @@
</span> </span>
<div class="process-content-right"> <div class="process-content-right">
<div class="process-content-right-top" :title="item.name">{{item.name}}</div> <div class="process-content-right-top" :title="item.name">{{item.name}}</div>
<div class="process-content-right-top-user" :title="item.userName">{{item.userName}}</div>
</div> </div>
</div> </div>
</div> </div>
@@ -303,6 +304,23 @@
}) })
} }
} }
this.regulatoryCertificationTaskPlanList.forEach(val => {
if (val.name == this.$t('initiatingProcess')) {
val.userName = this.$t('regulatoryEngineer')
} else if (val.name == this.$t('Taskresponsibilityrecognition')) {
val.userName = this.$t('personLiable')
} else if (val.name == this.$t('designComplianceReview')) {
val.userName = this.$t('personLiable')
} else if (val.name == this.$t('verificationComplianceReview')) {
val.userName = this.$t('personLiable')
} else if (val.name == this.$t('designComplianceReviewAdmin')) {
val.userName = this.$t('Sponsor')
} else if (val.name == this.$t('verificationComplianceExamine')) {
val.userName = this.$t('Sponsor')
} else {
val.userName = ''
}
})
this.regulatoryCertificationTaskPlanList = [...this.regulatoryCertificationTaskPlanList] this.regulatoryCertificationTaskPlanList = [...this.regulatoryCertificationTaskPlanList]
} }
this.loading = false this.loading = false
@@ -403,6 +421,18 @@
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
} }
.process-content-right-top-user{
//background: #E6FAFA;
//padding: 5px;
color: #9c9fac;
font-size: 12px;
font-weight: lighter;
margin-top: 5px;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
} }
} }