合并分支 '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<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();
// 查询控件类型为 标题的 参数项
@@ -94,6 +94,19 @@
</foreach>
</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 *
from params_collect_manifest
@@ -4278,7 +4278,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
for (int i = 0; i < fieldList.size(); i++) {
OnlCgformField onlCgformField = fieldList.get(i);
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);
if (CutEnum.CN.getValue().equals(cut)) {
@@ -4464,14 +4464,13 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
ParamsCollectManifestEO queryEO = new ParamsCollectManifestEO();
queryEO.setParamsManifestId(paramsManifestId);
String userTypes = paramsCollectManifestVO.getUserTypes();
if (userTypes != null && CollectManifestUserTypeEnum.SDT.getValue().equals(userTypes)) {
queryEO.setUserTypes(CollectManifestUserTypeEnum.SDT.getValue());
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 (CutEnum.EN.getValue().equals(paramsCollectManifestVO.getCut())) {
@@ -4489,6 +4488,11 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
List<Map<String,Object>> exportDataList = new ArrayList<>();
// 配置列多行数据处理
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");
Map<String, List<ParamsConfigDataEO>> paramsConfigDataMap = paramsConfigDataEOList.stream().filter(configDataEO -> {
@@ -106,4 +106,8 @@ public class ParamsCollectManifestVO {
//排序规则 ”1“ 顺序 ”2“逆序
@TableField(exist = false)
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 lombok.extern.slf4j.Slf4j;
import com.jero.common.system.base.controller.JeroController;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
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="cut", defaultValue="cn") String cut,
HttpServletRequest req) {
String flowStatusStr = "";
if (StringUtils.isNotEmpty(projectCertificationInventoryEO.getFlowStatus())) {
flowStatusStr = projectCertificationInventoryEO.getFlowStatus();
projectCertificationInventoryEO.setFlowStatus(null);
}
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");
Page<ProjectCertificationInventoryEO> page = new Page<ProjectCertificationInventoryEO>(pageNo, pageSize);
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_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"),
TASK_TO_BE_CONFIRMED("任务待确认","Task to be confirmed","Task to be confirmed"),
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();
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())){
@@ -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();
int isProjectRole = Integer.parseInt(projectLawsInventoryEO.getRoleCode());
if(isProjectRole != Integer.parseInt(ProjectRoleEnum.STUDIO_ENGINEER.getValue())
+4
View File
@@ -1528,6 +1528,7 @@ module.exports = {
Taskresponsibilityrecognition:'Responsibility Confirm',
uploadattachment:'Upload',
Processhistory:'Process history',
historyData:'1. Regulatory Engineer, 2. Responsible person, 3. Responsible person, 4. Regulatory Engineer',
resultofhandling:'Result of handling',
cause:'cause',
networksecurityrequirements:'Network security requirements',
@@ -1897,4 +1898,7 @@ module.exports = {
pleaseViewOnPc:'Please view on PC',
taskHandling:'Task Handling',
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: '任务责任确认',
uploadattachment: '上传附件',
Processhistory: '流程历史',
historyData: '1.法规工程师2.责任人3.责任人4.法规工程师',
resultofhandling: '处理结果',
Listoftreatableregulations: '可处理法规列表',
Listofuntractableregulations: '不可处理法规列表',
@@ -3860,4 +3861,7 @@ module.exports = {
copyLink:'复制链接',
successfulReplication:'复制成功',
pleaseEnterUserAccountSearchFor:'请输入用户账号搜索',
exportOption:'导出选项',
includeTitle:'包含标题',
Notitleincluded:'不包含标题',
}
@@ -583,6 +583,46 @@
</div>
</div>
</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>
<batchUpdateDeadline ref="batchUpdateDeadlineRef" @batchUpdateDeadlineForm="batchUpdateDeadlineForm"/>
@@ -877,6 +917,7 @@
selectedRowKeys: [],
textLoading: false,
formInline: {},
dataExportformInline: {},
queryParamQuery: {},
url: {
tableHeader: 'params/collectManifest/getHeader',
@@ -919,6 +960,7 @@
areaVisiblereferenceparameter: false, // 引用参数弹框
areaVisibsynchronous: false, // 同步上报库弹框
visibleoperationFailed: false, // 数据失败的弹框
dataExportFailed: false, // 数据失败的弹框
currentPersonRole: '', // 当前人角色
jurisdiction: '',
wrapperCol: {
@@ -930,6 +972,11 @@
sm: { span: 7 }
},
rules: {},
dataExportrules: {
exportOption:[
{ required: true, message: this.$t('PleaseSelect')+this.$t('exportOption'), trigger: 'change' }
]
},
FreezeList: [], // 冻结字段
roleSwitchingList: [],
JTextLoading: false,
@@ -1329,24 +1376,56 @@
},
//导出
handleExport() {
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,
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)
this.dataExportFailed = true
// 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,
// 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)
},
// 导出确定
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() {
@@ -2631,7 +2710,11 @@
height: 42px;
line-height: 36px;
}
.itemModel {
width: 100%;
display: inline-block;
margin-top: 2px;
}
.box-input .ant-select-selection {
height: 38px !important;
}
@@ -30,6 +30,7 @@
</div>
<a-select :placeholder="$t('PleaseSelect')+$t('ProcessStatus')"
class="box-input"
mode="multiple"
allowClear
:getPopupContainer="triggerNode=> triggerNode.parentNode"
v-model="queryParam.flowStatus">
@@ -53,6 +53,7 @@
allowClear
show-search
style="width: calc(100% - 80px);"
mode="multiple"
optionFilterProp="label"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
v-model="queryParam[selectModel]">
@@ -22,6 +22,7 @@
</span>
<div class="process-content-right">
<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>
@@ -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.loading = false
@@ -403,6 +421,18 @@
white-space: nowrap;
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;
}
}
}