|
@@ -15,12 +15,15 @@ import cn.cslg.pas.common.vo.QueryFieldsVO;
|
|
|
import cn.cslg.pas.common.vo.PersonSelfFieldVO;
|
|
|
import cn.cslg.pas.common.vo.business.AllCustomFieldVO;
|
|
|
import cn.cslg.pas.common.vo.patentCount.GetAllPatentCountVO;
|
|
|
+import cn.cslg.pas.domain.business.ReportProject;
|
|
|
import cn.cslg.pas.exception.UnLoginException;
|
|
|
import cn.cslg.pas.exception.XiaoShiException;
|
|
|
import cn.cslg.pas.service.business.CommonService;
|
|
|
import cn.cslg.pas.service.business.CustomFieldService;
|
|
|
+import cn.cslg.pas.service.business.ReportProjectService;
|
|
|
import cn.hutool.crypto.SecureUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
@@ -43,6 +46,8 @@ public class PersonFieldService {
|
|
|
@Autowired
|
|
|
private CustomFieldService customFieldService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ReportProjectService reportProjectService;
|
|
|
|
|
|
public List<PersonSelfFieldVO> getCustomField(String tableName, Integer projectId) {
|
|
|
|
|
@@ -178,7 +183,7 @@ public class PersonFieldService {
|
|
|
});
|
|
|
}
|
|
|
//当是专利的配置时
|
|
|
- if (item.getTableName().trim().equals(PatentDictionary.NAME)&&item.getProjectId()!=null) {
|
|
|
+ if (item.getTableName().trim().equals(PatentDictionary.NAME) && item.getProjectId() != null) {
|
|
|
//根据专题库id 查询所有自定义字段
|
|
|
List<AllCustomFieldVO> allCustomFieldVOS = customFieldService.getAllProjectCustomField(item.getProjectId());
|
|
|
//遍历装载
|
|
@@ -280,9 +285,9 @@ public class PersonFieldService {
|
|
|
|
|
|
String fieldJson = "";
|
|
|
//如果查到
|
|
|
- List<PersonSelfFieldVO> reFieldVos =new ArrayList<>();
|
|
|
+ List<PersonSelfFieldVO> reFieldVos = new ArrayList<>();
|
|
|
if (StringUtils.isNotEmpty(json)) {
|
|
|
- reFieldVos =JsonUtils.jsonToList(json, PersonSelfFieldVO.class);
|
|
|
+ reFieldVos = JsonUtils.jsonToList(json, PersonSelfFieldVO.class);
|
|
|
}
|
|
|
try {
|
|
|
fieldJson = CommonService.readJsonFile(tableName + ".json");
|
|
@@ -300,9 +305,8 @@ public class PersonFieldService {
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
//当tableName是patent时
|
|
|
- if (PatentDictionary.NAME.equals(tableName)&&projectId!=null&&projectId!=0) {
|
|
|
+ if (PatentDictionary.NAME.equals(tableName) && projectId != null && projectId != 0) {
|
|
|
//获得所有自定义字段
|
|
|
List<AllCustomFieldVO> allCustomFieldVOS = customFieldService.getAllProjectCustomField(projectId);
|
|
|
AllCustomFieldVO allCustomFieldVO = new AllCustomFieldVO();
|
|
@@ -326,14 +330,12 @@ public class PersonFieldService {
|
|
|
}
|
|
|
//装载顺序
|
|
|
for (PersonSelfFieldVO item : fieldVOS) {
|
|
|
- PersonSelfFieldVO personSelfFieldVO =reFieldVos.stream().filter(t->t.getValue().equals(item.getValue())&&t.getType().equals(item.getType())).findFirst().orElse(null);
|
|
|
+ PersonSelfFieldVO personSelfFieldVO = reFieldVos.stream().filter(t -> t.getValue().equals(item.getValue()) && t.getType().equals(item.getType())).findFirst().orElse(null);
|
|
|
|
|
|
- if(personSelfFieldVO==null) {
|
|
|
- if(StringUtils.isNotEmpty(json))
|
|
|
- {
|
|
|
+ if (personSelfFieldVO == null) {
|
|
|
+ if (StringUtils.isNotEmpty(json)) {
|
|
|
item.setIfHidden(true);
|
|
|
- }
|
|
|
- else {
|
|
|
+ } else {
|
|
|
if (item.getDefaultHidden() != null && item.getDefaultHidden().equals(true)) {
|
|
|
item.setIfHidden(true);
|
|
|
} else {
|
|
@@ -356,9 +358,9 @@ public class PersonFieldService {
|
|
|
String userId = personnelVO.getId();
|
|
|
String tableName = addSelfFieldDTO.getTableName();
|
|
|
Integer projectId = addSelfFieldDTO.getProjectId();
|
|
|
- Integer productId =addSelfFieldDTO.getProductId();
|
|
|
- List<PersonSelfFieldVO> personSelfFieldVOS =addSelfFieldDTO.getValue();
|
|
|
- personSelfFieldVOS= personSelfFieldVOS.stream().filter(item->item.getIfHidden()!=null&&item.getIfHidden().equals(false)).collect(Collectors.toList());
|
|
|
+ Integer productId = addSelfFieldDTO.getProductId();
|
|
|
+ List<PersonSelfFieldVO> personSelfFieldVOS = addSelfFieldDTO.getValue();
|
|
|
+ personSelfFieldVOS = personSelfFieldVOS.stream().filter(item -> item.getIfHidden() != null && item.getIfHidden().equals(false)).collect(Collectors.toList());
|
|
|
String key = "";
|
|
|
if (projectId == null) {
|
|
|
if (productId != null) {
|
|
@@ -525,4 +527,112 @@ public class PersonFieldService {
|
|
|
return fieldVOS;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询证据组合表头
|
|
|
+ *
|
|
|
+ * @param getTabelColumDTO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public List<PersonSelfFieldVO> getEvidenceReasonTableColumns(GetTabelColumDTO getTabelColumDTO) {
|
|
|
+ Integer projectId = getTabelColumDTO.getProjectId();
|
|
|
+
|
|
|
+ String tableName = getTabelColumDTO.getTableName();
|
|
|
+ if (tableName == null||tableName.equals("")) {
|
|
|
+ tableName = "evidenceReason";
|
|
|
+ }
|
|
|
+ //根据登录人id和type查询
|
|
|
+ PersonnelVO personnelVO = new PersonnelVO();
|
|
|
+ try {
|
|
|
+ personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new UnLoginException("未登录");
|
|
|
+ }
|
|
|
+ String userId = personnelVO.getId();
|
|
|
+ String key = "";
|
|
|
+
|
|
|
+
|
|
|
+ key = SecureUtil.md5(tableName + RedisConf.SYMBOL_COLON + userId + RedisConf.SYMBOL_COLON + RedisConf.EVIDENCE_REASON + RedisConf.SYMBOL_COLON + projectId);
|
|
|
+
|
|
|
+ String redisKey = RedisConf.USER_FIELD + RedisConf.SYMBOL_COLON + key;
|
|
|
+ String json = redisUtil.get(redisKey);
|
|
|
+
|
|
|
+ String fieldJson = "";
|
|
|
+ //如果查到
|
|
|
+ List<PersonSelfFieldVO> reFieldVos = new ArrayList<>();
|
|
|
+ if (StringUtils.isNotEmpty(json)) {
|
|
|
+ reFieldVos = JsonUtils.jsonToList(json, PersonSelfFieldVO.class);
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ fieldJson = CommonService.readJsonFile(tableName + ".json");
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new XiaoShiException("不存在此表");
|
|
|
+ }
|
|
|
+ List<PersonSelfFieldVO> fieldVOS = JSON.parseArray(fieldJson, PersonSelfFieldVO.class);
|
|
|
+ if (fieldVOS == null) {
|
|
|
+ throw new XiaoShiException("不存在此表");
|
|
|
+ }
|
|
|
+ Boolean flag = true;
|
|
|
+ LambdaQueryWrapper<ReportProject> queryWrapper =new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(ReportProject::getProjectId,projectId);
|
|
|
+ ReportProject reportProject =reportProjectService.getOne(queryWrapper,false);
|
|
|
+ if(reportProject.getIfSecondInvalid()!=null&&reportProject.getIfSecondInvalid())
|
|
|
+ {
|
|
|
+ fieldVOS = fieldVOS.stream().filter(item -> flag.equals(item.getIfShow()) || item.getType().equals("second")).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ fieldVOS = fieldVOS.stream().filter(item -> flag.equals(item.getIfShow())).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+ if (fieldVOS == null || fieldVOS.size() == 0) {
|
|
|
+ throw new XiaoShiException("表中无字段");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ //装载顺序
|
|
|
+ for (PersonSelfFieldVO item : fieldVOS) {
|
|
|
+ if (StringUtils.isNotEmpty(json)) {
|
|
|
+ PersonSelfFieldVO personSelfFieldVO = reFieldVos.stream().filter(t -> t.getValue().equals(item.getValue()) && t.getName().equals(item.getName())).findFirst().orElse(null);
|
|
|
+ if (personSelfFieldVO == null) {
|
|
|
+ item.setIfHidden(true);
|
|
|
+ reFieldVos.add(item);
|
|
|
+ }
|
|
|
+
|
|
|
+ } else {
|
|
|
+ if (item.getDefaultHidden() != null && item.getDefaultHidden().equals(true)) {
|
|
|
+ item.setIfHidden(true);
|
|
|
+ } else {
|
|
|
+ item.setIfHidden(false);
|
|
|
+ }
|
|
|
+ reFieldVos.add(item);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ return reFieldVos;
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<PersonSelfFieldVO> setEvidenceReasonTableColumns(AddSelfFieldDTO addSelfFieldDTO) {
|
|
|
+ PersonnelVO personnelVO = new PersonnelVO();
|
|
|
+ try {
|
|
|
+ personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new UnLoginException("未登录");
|
|
|
+ }
|
|
|
+ String userId = personnelVO.getId();
|
|
|
+ String tableName = addSelfFieldDTO.getTableName();
|
|
|
+ if (tableName == null||tableName.equals("")) {
|
|
|
+ tableName = "evidenceReason";
|
|
|
+ }
|
|
|
+ Integer projectId = addSelfFieldDTO.getProjectId();
|
|
|
+ List<PersonSelfFieldVO> personSelfFieldVOS = addSelfFieldDTO.getValue();
|
|
|
+ personSelfFieldVOS = personSelfFieldVOS.stream().filter(item -> item.getIfHidden() != null && item.getIfHidden().equals(false)).collect(Collectors.toList());
|
|
|
+ String key = "";
|
|
|
+ key = SecureUtil.md5(tableName + RedisConf.SYMBOL_COLON + userId + RedisConf.SYMBOL_COLON + RedisConf.EVIDENCE_REASON + RedisConf.SYMBOL_COLON + projectId);
|
|
|
+
|
|
|
+ String redisKey = RedisConf.USER_FIELD + RedisConf.SYMBOL_COLON + key;
|
|
|
+ redisUtil.set(redisKey, JsonUtils.objectToJson(personSelfFieldVOS));
|
|
|
+ return personSelfFieldVOS;
|
|
|
+ }
|
|
|
+
|
|
|
}
|