Merge branch 'dev_20240116_OTA' into 'fix_20230911_UAT'
Dev 20240116 ota See merge request laws-nio/laws-weilai!366
This commit is contained in:
+10
-1
@@ -43,6 +43,8 @@ import org.springframework.web.servlet.ModelAndView;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.text.Collator;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
@@ -112,7 +114,14 @@ public class ParamsTemplateEOController extends JeroController<ParamsTemplateEO,
|
||||
queryWrapper.lambda().ge(ParamsTemplateEO::getUpdateTime,paramsTemplateEO.getUpdateTimeStart());
|
||||
}
|
||||
if(ObjectUtil.isNotEmpty(paramsTemplateEO.getUpdateTimeEnd())){
|
||||
queryWrapper.lambda().le(ParamsTemplateEO::getUpdateTime,paramsTemplateEO.getUpdateTimeEnd());
|
||||
try {
|
||||
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
|
||||
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
String format = sdf1.format(paramsTemplateEO.getUpdateTimeEnd())+" 23:59:59";
|
||||
queryWrapper.lambda().le(ParamsTemplateEO::getUpdateTime,sdf2.parse(format));
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
Page<ParamsTemplateEO> page = new Page<ParamsTemplateEO>(pageNo, pageSize);
|
||||
IPage<ParamsTemplateEO> pageList = paramsTemplateEOService.page(page, queryWrapper);
|
||||
|
||||
+6
-6
@@ -57,15 +57,15 @@ public class ParamsTemplateEO implements Serializable {
|
||||
private java.util.Date updateTime;
|
||||
|
||||
@TableField(exist = false)
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "最新变更时间")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "变更起始时间")
|
||||
private java.util.Date updateTimeStart;
|
||||
|
||||
@TableField(exist = false)
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "最新变更时间")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "变更结束时间")
|
||||
private java.util.Date updateTimeEnd;
|
||||
|
||||
/**所属部门*/
|
||||
|
||||
+1
-1
@@ -901,7 +901,7 @@ public class OtaManageApplyEOServiceImpl extends ServiceImpl<OtaManageApplyEOMap
|
||||
manageApplyEO.setProjectVersionText("NA");
|
||||
}
|
||||
}else{
|
||||
manageApplyEO.setProjectVersionText(collect.get(0).getCar() + "-" + collect.get(0).getYearName() + "-" + collect.get(0).getMarket());
|
||||
manageApplyEO.setProjectVersionText(collect.get(0).getCar() + "-" + collect.get(0).getYearName() + "-" + collect.get(0).getMarket()+"-"+collect.get(0).getVersionNumber() );
|
||||
}
|
||||
}
|
||||
}else{
|
||||
|
||||
+1
-1
@@ -9317,7 +9317,7 @@ public class PlatformProjectLawsInventoryEOServiceImpl extends ServiceImpl<Platf
|
||||
userIdList.add(projectLawsInventoryEO.getRegulationOwnerId());
|
||||
//如果都是不涉及就不发待办
|
||||
if (!projectLawsInventoryEO.getDesignFlowStatus().equals(ComplianceFlowStatusEnum.UNINVOLVED.getValue())
|
||||
&& !projectLawsInventoryEO.getVerifyFlowStatus().equals(ComplianceFlowStatusEnum.UNINVOLVED.getValue())) {
|
||||
|| !projectLawsInventoryEO.getVerifyFlowStatus().equals(ComplianceFlowStatusEnum.UNINVOLVED.getValue())) {
|
||||
ProcessInfoDetailEO processInfoDetailEO = new ProcessInfoDetailEO();
|
||||
processInfoDetailEO.setProjectLawsInventoryId(projectLawsInventoryEO.getId());
|
||||
processInfoDetailEO.setUserId(projectLawsInventoryEO.getRegulationOwnerId());
|
||||
|
||||
+9
@@ -19,6 +19,7 @@ import com.jero.modules.project.entity.ProjectLawsInventoryEO;
|
||||
import com.jero.modules.project.service.IProjectLawsInventoryEOService;
|
||||
import com.jero.modules.project.vo.ProjectTaskUrgVo;
|
||||
import com.jero.modules.system.entity.SysRole;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -587,4 +588,12 @@ public class ProjectLawsInventoryEOController extends JeroController<ProjectLaws
|
||||
List<ProjectLawsInventoryEO> list = projectLawsInventoryEOService.queryPlatformList(lawsInventoryId,flowFlag,cut);
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
@AutoLog(value = "法规意见收集-评估人")
|
||||
@ApiOperation(value="法规意见收集-评估人", notes="法规意见收集-评估人")
|
||||
@GetMapping(value = "/getEvaluatorList")
|
||||
public Result<List<SysUser>> getEvaluatorList(String documentId) {
|
||||
List<SysUser> userList = projectLawsInventoryEOService.getEvaluatorList(documentId);
|
||||
return Result.OK(userList);
|
||||
}
|
||||
}
|
||||
|
||||
+3
@@ -14,6 +14,7 @@ import com.jero.modules.project.vo.ProjectTaskUrgVo;
|
||||
import com.jero.modules.system.entity.SysCategory;
|
||||
import com.jero.modules.system.entity.SysDictItem;
|
||||
import com.jero.modules.system.entity.SysRole;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.todoCenter.entity.ProcessInfoDetailEO;
|
||||
import com.jero.modules.todoCenter.entity.ProcessInfoEO;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
@@ -353,4 +354,6 @@ public interface IProjectLawsInventoryEOService extends IService<ProjectLawsInve
|
||||
int checkUserRole(String projectLibraryId, String currentUserId, String lawsInventoryId);
|
||||
|
||||
List<ProjectLawsInventoryEO> queryPlatformList(String lawsInventoryId,String flowFlag,String cut);
|
||||
|
||||
List<SysUser> getEvaluatorList(String documentId);
|
||||
}
|
||||
|
||||
+66
-1
@@ -9495,7 +9495,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
userIdList.add(projectLawsInventoryEO.getRegulationOwnerId());
|
||||
//如果都是不涉及就不发待办
|
||||
if (!projectLawsInventoryEO.getDesignFlowStatus().equals(ComplianceFlowStatusEnum.UNINVOLVED.getValue())
|
||||
&& !projectLawsInventoryEO.getVerifyFlowStatus().equals(ComplianceFlowStatusEnum.UNINVOLVED.getValue())) {
|
||||
|| !projectLawsInventoryEO.getVerifyFlowStatus().equals(ComplianceFlowStatusEnum.UNINVOLVED.getValue())) {
|
||||
ProcessInfoDetailEO processInfoDetailEO = new ProcessInfoDetailEO();
|
||||
processInfoDetailEO.setProjectLawsInventoryId(projectLawsInventoryEO.getId());
|
||||
processInfoDetailEO.setUserId(projectLawsInventoryEO.getRegulationOwnerId());
|
||||
@@ -13139,5 +13139,70 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
return projectLawsInventoryEOList;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param documentId 文档库id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<SysUser> getEvaluatorList(String documentId) {
|
||||
LambdaQueryWrapper<ProjectLawsInventoryEO> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(ProjectLawsInventoryEO::getStandId,documentId);
|
||||
List<ProjectLawsInventoryEO> lawsInventoryEOList = this.list(wrapper);
|
||||
//dutyTerritory
|
||||
if(ObjectUtils.isEmpty(lawsInventoryEOList)){
|
||||
return new ArrayList<>();
|
||||
}
|
||||
List<String> userIdList = new ArrayList<>();
|
||||
for (ProjectLawsInventoryEO projectLawsInventoryEO : lawsInventoryEOList) {
|
||||
String dutyTerritory = projectLawsInventoryEO.getDutyTerritory();
|
||||
//每条下的相关责任名单
|
||||
List<ProjectRelatedPersonnel> personnelList = projectRelatedPersonnelService.getPersonnelList(projectLawsInventoryEO.getProjectLibraryId(),null,null, null, null, null, null, null, null);
|
||||
if(ObjectUtils.isNotEmpty(personnelList) && StringUtils.isNotBlank(dutyTerritory)){
|
||||
//通过每条法规清单的责任领域去过滤相关人员名单
|
||||
personnelList = personnelList.stream().filter(e->dutyTerritory.contains(e.getDutyTerritory())).collect(Collectors.toList());
|
||||
//lawEngineer engineeringInterfacePerson engineerLawSet engineerAttSet
|
||||
List<String> collect1 = personnelList.stream().filter(e -> StringUtils.isNotBlank(e.getLawEngineer())).map(ProjectRelatedPersonnel::getLawEngineer).collect(Collectors.toList());
|
||||
List<String> collect2 = personnelList.stream().filter(e -> StringUtils.isNotBlank(e.getEngineeringInterfacePerson())).map(ProjectRelatedPersonnel::getEngineeringInterfacePerson).collect(Collectors.toList());
|
||||
List<String> collect3 = personnelList.stream().filter(e -> StringUtils.isNotBlank(e.getEngineerLawSet())).map(ProjectRelatedPersonnel::getEngineerLawSet).collect(Collectors.toList());
|
||||
List<String> collect4 = personnelList.stream().filter(e -> StringUtils.isNotBlank(e.getEngineerAttSet())).map(ProjectRelatedPersonnel::getEngineerAttSet).collect(Collectors.toList());
|
||||
|
||||
if(ObjectUtils.isNotEmpty(collect1)){
|
||||
for (String s : collect1) {
|
||||
userIdList.addAll(Arrays.asList(s.split(",")));
|
||||
}
|
||||
}
|
||||
if(ObjectUtils.isNotEmpty(collect2)){
|
||||
for (String s : collect2) {
|
||||
userIdList.addAll(Arrays.asList(s.split(",")));
|
||||
}
|
||||
}
|
||||
if(ObjectUtils.isNotEmpty(collect3)){
|
||||
for (String s : collect3) {
|
||||
userIdList.addAll(Arrays.asList(s.split(",")));
|
||||
}
|
||||
}
|
||||
if(ObjectUtils.isNotEmpty(collect4)){
|
||||
for (String s : collect4) {
|
||||
userIdList.addAll(Arrays.asList(s.split(",")));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
List<SysUser> sysUserList = new ArrayList<>();
|
||||
if(ObjectUtils.isNotEmpty(userIdList)) {
|
||||
userIdList = userIdList.stream().distinct().collect(Collectors.toList());
|
||||
sysUserList = sysUserService.querySysUserListByIdList(userIdList);
|
||||
//排序
|
||||
Collator comparator = Collator.getInstance(Locale.CHINESE);
|
||||
Collections.sort(sysUserList, (e1, e2) -> {
|
||||
String e1Username = StringUtils.isNotBlank(e1.getUsername()) ? e1.getUsername() : "";
|
||||
String e2Username = StringUtils.isNotBlank(e2.getUsername()) ? e2.getUsername() : "";
|
||||
return comparator.compare(e1Username, e2Username);
|
||||
});
|
||||
}
|
||||
return sysUserList;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
+50
@@ -371,6 +371,56 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
}
|
||||
return result;
|
||||
}
|
||||
public List<ProjectRelatedPersonnel> getPersonnelList(String projectId,
|
||||
String dutyTerritoryTemp,
|
||||
String lawEngineer,
|
||||
String engineeringInterfacePerson,
|
||||
String engineerLawSet,String engineerAttSet,
|
||||
String firstLevelDutyTerritory,
|
||||
String orderBy,
|
||||
String orderByField) {
|
||||
//查询数据
|
||||
List<ProjectRelatedPersonnel> result = projectRelatedPersonnelMapper.queryPageList(projectId,
|
||||
DictCodeEnum.DUTY_TERRITORY.getValue(),
|
||||
dutyTerritoryTemp,
|
||||
lawEngineer,
|
||||
engineeringInterfacePerson,
|
||||
// certificationEngineer
|
||||
engineerLawSet,
|
||||
engineerAttSet);
|
||||
//查询数据里的责任领域
|
||||
List<String> dutyTerritory = result.stream().map(e -> e.getDutyTerritory()).collect(Collectors.toList());
|
||||
//查标签内容里的责任领域数据
|
||||
List<String> sysDictItemValueList = sysDictItemMapper.selectItemValueByDictCode(DictCodeEnum.DUTY_TERRITORY.getValue());
|
||||
//没有数据->新增所有责任领域,查询
|
||||
if(StringUtils.isBlank(dutyTerritoryTemp)
|
||||
&& StringUtils.isBlank(lawEngineer)
|
||||
&& StringUtils.isBlank(engineeringInterfacePerson)
|
||||
// && StringUtils.isBlank(certificationEngineer)
|
||||
&& StringUtils.isBlank(engineerLawSet)
|
||||
&& StringUtils.isBlank(engineerLawSet)){
|
||||
if(result.size() != sysDictItemValueList.size()){
|
||||
|
||||
//更新相关人员表里的责任领域数据
|
||||
if (CollectionUtils.isNotEmpty(sysDictItemValueList)) {
|
||||
for (String sysDictItemValue : sysDictItemValueList) {
|
||||
if(!dutyTerritory.contains(sysDictItemValue)) {
|
||||
setDutyTerritoryValue(sysDictItemValue, projectId);
|
||||
}
|
||||
}
|
||||
}
|
||||
//重新查询列表
|
||||
result = projectRelatedPersonnelMapper.queryPageList(projectId,
|
||||
DictCodeEnum.DUTY_TERRITORY.getValue(),
|
||||
dutyTerritoryTemp,
|
||||
lawEngineer,
|
||||
engineeringInterfacePerson,
|
||||
engineerLawSet,
|
||||
engineerAttSet);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private void hearSort(String orderBy, String orderByField, List<ProjectRelatedPersonnel> result) {
|
||||
Collator comparator = Collator.getInstance(Locale.CHINESE);
|
||||
|
||||
+58
-9
@@ -60,13 +60,26 @@
|
||||
<span class="Required">*</span>
|
||||
<span class="title-text-text" :title="$t('Assessor')">{{$t('Assessor')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="evaluatorIdsName">
|
||||
<PersonnelSelection class="box-input"
|
||||
:personneQuery="formInline"
|
||||
:query="{db_field_name:'evaluatorIds',db_field_txt:$t('Assessor')}"
|
||||
:isInput="true"
|
||||
@change="PersonnelSelectionChange"
|
||||
v-model="formInline.evaluatorIdsName"/>
|
||||
<!-- <a-form-model-item class="itemModel" prop="evaluatorIdsName">-->
|
||||
<!-- <PersonnelSelection class="box-input"-->
|
||||
<!-- :personneQuery="formInline"-->
|
||||
<!-- :query="{db_field_name:'evaluatorIds',db_field_txt:$t('Assessor')}"-->
|
||||
<!-- :isInput="true"-->
|
||||
<!-- @change="PersonnelSelectionChange"-->
|
||||
<!-- v-model="formInline.evaluatorIdsName"/>-->
|
||||
<!-- </a-form-model-item>-->
|
||||
<a-form-model-item class="itemModel" prop="evaluatorIds">
|
||||
<a-select
|
||||
mode="multiple"
|
||||
class="box-input"
|
||||
:value="evaluatorIds"
|
||||
@change='evaluatorIdsChange'
|
||||
:placeholder="$t('PleaseSelect')+$t('Assessor')"
|
||||
>
|
||||
<a-select-option v-for="i in evaluatorIdsNameOptions" :key="i.id">
|
||||
{{ i.username }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
@@ -150,13 +163,25 @@
|
||||
PersonnelSelection
|
||||
},
|
||||
mixins:[ResizeHeader, ResizeColumnProvide],
|
||||
computed: {
|
||||
evaluatorIds () {
|
||||
if (this.formInline.evaluatorIds && this.formInline.evaluatorIds instanceof Array) {
|
||||
return this.formInline.evaluatorIds
|
||||
}
|
||||
if (this.formInline.evaluatorIds && typeof(this.formInline.evaluatorIds)==='string') {
|
||||
return this.formInline.evaluatorIds.split(',')
|
||||
}
|
||||
return []
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
title: this.$t('regulationEngineerInitiateProcess'),
|
||||
//url传参严格按照当前命名
|
||||
url: {
|
||||
seachList: 'document/bussDocumentLibraryEO/queryCondition', //搜索字段
|
||||
addModelList: '/dummy/dummyInventoryInfoEO/queryPageDummy'
|
||||
addModelList: '/dummy/dummyInventoryInfoEO/queryPageDummy',
|
||||
getEvaluatorList: '/project/projectLawsInventoryEO/getEvaluatorList',
|
||||
},
|
||||
loading: false,
|
||||
JLoading: false,
|
||||
@@ -181,6 +206,13 @@
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
evaluatorIds: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('Assessor') + this.$t('cannotEmpty'),
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
brands: [
|
||||
{
|
||||
required: true,
|
||||
@@ -243,7 +275,8 @@
|
||||
width: 150,
|
||||
dataIndex: 'corresponding_standard'
|
||||
}
|
||||
]
|
||||
],
|
||||
evaluatorIdsNameOptions: [],
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@@ -262,6 +295,21 @@
|
||||
},
|
||||
methods: {
|
||||
...mapGetters(['userInfo']),
|
||||
evaluatorIdsChange (val) {
|
||||
this.formInline.evaluatorIds = val
|
||||
},
|
||||
getEvaluatorList () {
|
||||
this.$set(this.formInline, 'evaluatorIds', [])
|
||||
if (this.selectedRowKeysRecord.length === 0) {
|
||||
return this.evaluatorIdsNameOptions = []
|
||||
}
|
||||
const query = { documentId: this.selectedRowKeysRecord[0].id }
|
||||
getAction(this.url.getEvaluatorList, query).then((res) => {
|
||||
if (res.success) {
|
||||
this.evaluatorIdsNameOptions = res.result
|
||||
}
|
||||
})
|
||||
},
|
||||
disabledDate(current) {
|
||||
return current && current < moment().subtract(1, 'day')
|
||||
},
|
||||
@@ -302,6 +350,7 @@
|
||||
return res.id == this.selectedRowKeys[0]
|
||||
})
|
||||
this.selectedRowKeysRecord = [...this.selectedRowKeysRecord]
|
||||
this.getEvaluatorList()
|
||||
},
|
||||
clickButtonToUpload(item) {
|
||||
this.$refs.uploadFile.perentHandleFunc()
|
||||
|
||||
@@ -23,6 +23,18 @@
|
||||
:triggerChange="false" :dictCode="'region'"/>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('updated')">
|
||||
<span>{{$t('updated')}}</span>
|
||||
</div>
|
||||
<a-range-picker
|
||||
class="box-input"
|
||||
v-model="updateTime"
|
||||
format='YYYY-MM-DD'
|
||||
@change="onChangeUpdateTime" ></a-range-picker>
|
||||
</div>
|
||||
</a-col>
|
||||
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
||||
<a-col :md="6" :sm="24">
|
||||
<a-button class="box-button" @click="searchReset">{{$t('reset')}}</a-button>
|
||||
@@ -256,14 +268,14 @@
|
||||
ellipsis: true,
|
||||
dataIndex: 'maintainerName'
|
||||
},
|
||||
{
|
||||
title: this.$t('created'),
|
||||
align: 'left',
|
||||
dataIndex: 'createTime',
|
||||
width: 200,
|
||||
sorter: true,
|
||||
ellipsis: true
|
||||
},
|
||||
// {
|
||||
// title: this.$t('created'),
|
||||
// align: 'left',
|
||||
// dataIndex: 'createTime',
|
||||
// width: 200,
|
||||
// sorter: true,
|
||||
// ellipsis: true
|
||||
// },
|
||||
{
|
||||
title: this.$t('updated'),
|
||||
align: 'left',
|
||||
@@ -281,6 +293,7 @@
|
||||
}
|
||||
],
|
||||
queryParam: {},
|
||||
updateTime: [],
|
||||
areaVisible: false,
|
||||
paramsTemplateName: ''
|
||||
}
|
||||
@@ -290,6 +303,17 @@
|
||||
},
|
||||
methods: {
|
||||
...mapGetters(['userInfo']),
|
||||
onChangeUpdateTime(values) {
|
||||
if (!values || values.length === 0) {
|
||||
this.queryParam.updateTimeStart = ''
|
||||
this.queryParam.updateTimeEnd = ''
|
||||
return
|
||||
}
|
||||
let StartTime = values[0].format('YYYY-MM-DD')
|
||||
let EndTime = values[1].format('YYYY-MM-DD')
|
||||
this.queryParam.updateTimeStart = StartTime
|
||||
this.queryParam.updateTimeEnd = EndTime
|
||||
},
|
||||
subscribeClick(val) {
|
||||
let _this = this
|
||||
this.$confirm({
|
||||
@@ -540,6 +564,7 @@
|
||||
searchReset() {
|
||||
this.pageNo = 1
|
||||
this.queryParam = {}
|
||||
this.updateTime = []
|
||||
this.getList()
|
||||
},
|
||||
pageOnChange(page, pageSize) {
|
||||
|
||||
Reference in New Issue
Block a user