diff --git a/jero-boot/db/蔚来标准sql/dev_third_record.sql b/jero-boot/db/蔚来标准sql/dev_third_record.sql index 6a24c7bd5..481865b1d 100644 --- a/jero-boot/db/蔚来标准sql/dev_third_record.sql +++ b/jero-boot/db/蔚来标准sql/dev_third_record.sql @@ -966,3 +966,11 @@ ADD COLUMN `related_areas_en` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4 ADD COLUMN `source_cn` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '来源中文' AFTER `related_areas_en`, ADD COLUMN `time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '日期' AFTER `source_cn`, ADD COLUMN `source_en` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '来源英文' AFTER `time`; + + +-- 法规技术评估 条款项评估结果表增加字段。 2022-08-26 +ALTER TABLE `laws_weilai`.`laws_technology_evaluation_item_result` + ADD COLUMN `feedback_time` datetime NULL COMMENT '反馈时间' AFTER `laws_technology_evaluation_id`; + +-- 表字段 英文修改 2022-08-31 +UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Sort Number' WHERE `id` = '1529373706885799937'; \ No newline at end of file diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/enums/SearchEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/enums/SearchEnum.java index 40e1d088a..17f23c7bf 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/enums/SearchEnum.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/enums/SearchEnum.java @@ -8,8 +8,8 @@ package com.jero.modules.document.enums; public enum SearchEnum { INDEX_NAME_DOCUMENT("文档库索引名称","documentLibrary"), TYPE_NAME_DOCUMENT("文档库类型","document"), - INDEX_NAME_LAWS_MONTHLY_REPORT("法规月报索引名称","lawsMonthlyReportManage"), - TYPE_NAME_LAWS_MONTHLY_REPORT("法规月报类型名称","lawsMonthlyReport"), + INDEX_NAME_LAWS_MONTHLY_REPORT("法规月报索引名称","lawsmonthlyreportmanage"), + TYPE_NAME_LAWS_MONTHLY_REPORT("法规月报类型名称","lawsmonthlyreport"), FULL_TEXT_SEARCH("全部中文","fulltextsearchcn"), FULL_TEXT_SEARCH_CN("全部中文","fulltextsearchcn"), FULL_TEXT_SEARCH_EN("全部英文","fulltextsearchen"), diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/entity/LawsTechnologyEvaluationItemResultEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/entity/LawsTechnologyEvaluationItemResultEO.java index 5ab32f3d2..770cf937b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/entity/LawsTechnologyEvaluationItemResultEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/entity/LawsTechnologyEvaluationItemResultEO.java @@ -135,6 +135,11 @@ public class LawsTechnologyEvaluationItemResultEO implements Serializable { @ApiModelProperty(value = "发起人反馈") private java.lang.String sponsorFeedback; + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "反馈时间") + private java.util.Date feedbackTime; + /**法规技术评估表id*/ @ApiModelProperty(value = "法规技术评估表id") private java.lang.String lawsTechnologyEvaluationId; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseCollectEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseCollectEOController.java index f58424eb6..4e0dd880d 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseCollectEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseCollectEOController.java @@ -1,18 +1,25 @@ package com.jero.modules.problemKnowledgeBase.controller; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.jero.common.api.vo.Result; import com.jero.common.system.query.QueryGenerator; +import com.jero.common.system.vo.LoginUser; import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseCollectEO; +import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseEO; import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBaseCollectEOService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBaseEOService; import lombok.extern.slf4j.Slf4j; import com.jero.common.system.base.controller.JeroController; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -35,6 +42,8 @@ import com.jero.common.aspect.annotation.AutoLog; public class ProblemKnowledgeBaseCollectEOController extends JeroController { @Autowired private IProblemKnowledgeBaseCollectEOService problemKnowledgeBaseCollectEOService; + @Autowired + private IProblemKnowledgeBaseEOService problemKnowledgeBaseEOService; /** * 分页列表查询 @@ -167,4 +176,33 @@ public class ProblemKnowledgeBaseCollectEOController extends JeroController queryCollectPageList(ProblemKnowledgeBaseEO problemKnowledgeBaseEO, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(problemKnowledgeBaseEO, req.getParameterMap()); + queryWrapper.orderByDesc("create_time"); + this.problemKnowledgeBaseEOService.createQueryPermission(queryWrapper,problemKnowledgeBaseEO); + Page page = new Page(pageNo, pageSize); + + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + + QueryWrapper collectEOQueryWrapper = new QueryWrapper<>(); + collectEOQueryWrapper.lambda().eq(ProblemKnowledgeBaseCollectEO::getCollectUserId,currentUser.getId()); + List collectEOList = this.problemKnowledgeBaseCollectEOService.list(collectEOQueryWrapper); + + if(CollectionUtils.isNotEmpty(collectEOList)){ + List problemKnowledgeBaseIdList = collectEOList.stream().map(ProblemKnowledgeBaseCollectEO::getProblemKnowledgeBaseId).distinct().collect(Collectors.toList()); + + queryWrapper.lambda().in(ProblemKnowledgeBaseEO::getId,problemKnowledgeBaseIdList); + IPage pageList = this.problemKnowledgeBaseEOService.page(page, queryWrapper); + this.problemKnowledgeBaseEOService.disposeData(pageList.getRecords(),problemKnowledgeBaseEO.getCut()); + + return Result.OK(pageList); + } + return Result.OK(); + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseEOController.java index 41b5dcb78..ec31393a5 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseEOController.java @@ -4,6 +4,8 @@ import java.util.Arrays; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; + +import com.alibaba.fastjson.JSONObject; import com.jero.common.api.vo.Result; import com.jero.common.system.query.QueryGenerator; import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseEO; @@ -172,4 +174,11 @@ public class ProblemKnowledgeBaseEOController extends JeroController forward(@RequestBody JSONObject json) { + return this.problemKnowledgeBaseEOService.forward(json); + } + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseEOService.java index 4b538190c..0c3131507 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseEOService.java @@ -1,6 +1,8 @@ package com.jero.modules.problemKnowledgeBase.service; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.jero.common.api.vo.Result; import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseEO; import com.baomidou.mybatisplus.extension.service.IService; @@ -75,4 +77,11 @@ public interface IProblemKnowledgeBaseEOService extends IService queryWrapper,ProblemKnowledgeBaseEO problemKnowledgeBaseEO); + + /** + * 转发 + * @param json + * @return + */ + Result forward(JSONObject json); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java index 087d3aabf..c9cb88cd9 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java @@ -4,14 +4,21 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.jero.common.api.vo.Result; +import com.jero.common.constant.CommonConstant; +import com.jero.common.constant.WebsocketConst; import com.jero.common.constant.enums.CutEnum; +import com.jero.common.constant.enums.MessageTypeEnum; import com.jero.common.es.JeroElasticsearchTemplate; +import com.jero.common.exception.JeroBootException; import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.vo.DictModel; import com.jero.common.system.vo.LoginUser; import com.jero.modules.document.enums.SearchEnum; import com.jero.modules.document.utils.ReadPdfUtil; import com.jero.modules.document.utils.ReadWordUtil; +import com.jero.modules.feishu.service.IFeishuService; +import com.jero.modules.message.websocket.WebSocket; import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.problemKnowledgeBase.entity.*; @@ -20,16 +27,24 @@ import com.jero.modules.problemKnowledgeBase.enums.PraiseStatusEnum; import com.jero.modules.problemKnowledgeBase.enums.ShowPermissionsEnum; import com.jero.modules.problemKnowledgeBase.mapper.ProblemKnowledgeBaseEOMapper; import com.jero.modules.problemKnowledgeBase.service.*; +import com.jero.modules.project.enums.JumpLinkEnum; import com.jero.modules.searchcenter.enums.ModuleTypeFlagEnum; +import com.jero.modules.system.entity.SysAnnouncement; +import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.enums.DicCodeEnum; +import com.jero.modules.system.service.ISysAnnouncementService; +import com.jero.modules.system.service.ISysDepartService; import com.jero.modules.system.service.ISysDictService; +import com.jero.modules.system.service.ISysUserService; import com.jero.modules.system.util.StringUtils; import org.apache.commons.collections4.CollectionUtils; import org.apache.shiro.SecurityUtils; +import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import java.io.IOException; import java.util.*; import java.util.stream.Collectors; @@ -37,6 +52,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; /** @@ -67,10 +83,23 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl> mapListTempCn = new ArrayList<>(); List> mapListTempEn = new ArrayList<>(); @@ -194,7 +223,7 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl targetMarketList){ if(StringUtils.equals(cut,CutEnum.CN.getValue())){ - if(StringUtils.isNotEmpty(problemKnowledgeBaseEO.getShowPermissions())){ + /*if(StringUtils.isNotEmpty(problemKnowledgeBaseEO.getShowPermissions())){ String textByValue = ShowPermissionsEnum.getTextByValue(problemKnowledgeBaseEO.getShowPermissions(), cut); sbCn.append("展示权限" + ":" + textByValue + " "); }else { @@ -233,7 +262,7 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl"); - sbCn.append("内容" + ":" + problemKnowledgeBaseEO.getContent() + " "); + sbCn.append("正文" + ":" + problemKnowledgeBaseEO.getContent() + " "); }else { sbCn.append("
"); - sbCn.append("内容" + ":" + "-- "); + sbCn.append("正文" + ":" + "-- "); } if(StringUtils.isNotEmpty(fileText)){ @@ -285,7 +314,7 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl"); - sbEn.append("Content" + ":" + problemKnowledgeBaseEO.getContent() + " "); + sbEn.append("Text" + ":" + problemKnowledgeBaseEO.getContent() + " "); }else { sbEn.append("
"); - sbEn.append("Content" + ":" + "-- "); + sbEn.append("Text" + ":" + "-- "); } if(StringUtils.isNotEmpty(fileText)){ @@ -724,4 +753,110 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl forward(JSONObject json) { + String cut = json.getString("cut"); + + String userIds = json.getString("userIds"); + String departIds = json.getString("departIds"); + if(StringUtils.isEmpty(userIds) && StringUtils.isNotEmpty(departIds)){ + if(StringUtils.equals(cut,CutEnum.CN.getValue())){ + throw new JeroBootException("至少选择一个人或部门进行转发!"); + }else if(StringUtils.equals(cut,CutEnum.EN.getValue())){ + throw new JeroBootException("Select at least one person or department to forward!"); + } + } + + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + + List userList = new ArrayList<>(); + + Set allDepartIds = new HashSet<>(); + if(StringUtils.isNotEmpty(departIds)){ + String[] departIdArr = departIds.split(","); + for (String departId : departIdArr) { + List subDepIdsByDepId = this.sysDepartService.getSubDepIdsByDepId(departId); + allDepartIds.addAll(subDepIdsByDepId); + } + + //查询部门下的人员 + if(allDepartIds.size() != 0){ + List userListByDepIds = this.sysUserService.getUserListByDepIds(new ArrayList<>(allDepartIds)); + userList.addAll(userListByDepIds); + } + } + + if(StringUtils.isNotEmpty(userIds)){ + List sysUsers = this.sysUserService.querySysUserListByIdList(Arrays.asList(userIds.split(","))); + userList.addAll(sysUsers); + } + + List userIdList = new ArrayList<>(); + List thirdIdList = new ArrayList<>(); + if (userList.size() != 0) { + userIdList.addAll(userList.stream().map(SysUser::getId).distinct().collect(Collectors.toList())); + thirdIdList.addAll(userList.stream().map(SysUser::getThirdId).distinct().collect(Collectors.toList())); + } + + //String msgType = json.getString("msgType"); + String problemKnowledgeBaseId = json.getString("problemKnowledgeBaseId"); + //问题知识库标题 + String problemKnowledgeBaseTitle = json.getString("problemKnowledgeBaseTitle"); + + //XXX向您推送了XXXXXXXXXX,请注意查看。 + String msgContentEN = currentUser.getUsername()+" pushed " + problemKnowledgeBaseTitle + " to you.Please be reminded to check it out."; + String msgTitle = problemKnowledgeBaseTitle + " has been shared with you, please check."; + + //飞书跳转链接 + String hrefFeishu = backUrl + JumpLinkEnum.PROBLEM_KNOWLEDGE_BASE_DETAIL.getLink() + "?id=" + problemKnowledgeBaseId; + //系统内部跳转链接 + String href = "" + " View details" + ""; + String contentInfo = msgContentEN + " " + href; + + //封装消息的实体类 + SysAnnouncement sysAnnouncement = getSysAnnouncement(userIdList, msgTitle, msgContentEN, contentInfo,MessageTypeEnum.PUSH.getValue(),MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + this.sysAnnouncementService.saveAnnouncement(sysAnnouncement); + this.sendWebsocket(StringUtils.join(thirdIdList, ","), contentInfo); + //飞书 + try { + this.iFeishuService.batchSendMessage(thirdIdList.toArray(new String[]{}), msgContentEN, MessageTypeEnum.PUSH.getName(), hrefFeishu); + } catch (IOException e) { + log.error("飞书推送失败"); + } + this.sendWebsocket(problemKnowledgeBaseId, contentInfo); + return Result.OK("转发成功!"); + } + + public void sendWebsocket(String msgId, String msgTet) { + JSONObject obj = new JSONObject(); + obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_TOPIC); + obj.put(WebsocketConst.MSG_ID, msgId); + obj.put(WebsocketConst.MSG_TXT, msgTet); + webSocket.sendMessage(obj.toJSONString()); + } + + @NotNull + public SysAnnouncement getSysAnnouncement(List userIdList, + String title, + String content, + String contentInfo, + String messageType, + String initiator) { + SysAnnouncement sysAnnouncement = new SysAnnouncement(); + sysAnnouncement.setInitiator(initiator); + sysAnnouncement.setDelFlag("0"); + sysAnnouncement.setSendStatus("0"); + sysAnnouncement.setSendTime(new Date()); + sysAnnouncement.setMsgCategory(messageType);//消息类型 + sysAnnouncement.setMsgType(CommonConstant.MSG_TYPE_UESR);//指定用户 + sysAnnouncement.setTitile(title); + sysAnnouncement.setMsgContent(content); + sysAnnouncement.setMsgContentInfo(contentInfo); + sysAnnouncement.setUserIds(StringUtils.join(userIdList, ",")); + return sysAnnouncement; + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java index 44c08d6b0..be5eae4d4 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java @@ -387,8 +387,11 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl> mapListTempEn = new ArrayList<>(); //文件相关封装中文的全文内容(es) 非搜索条件下的:flag---SEARCH_FLAG putMap(id, "法规月报", - fileText, monthlyReportManageEO.getName(), fileText, + fileText, monthlyReportManageEO.getName(), ossFile.getFileName(), ossFile.getId(), issueTime, CutEnum.CN.getValue(), stringMapCn, SEARCH_FLAG); - //文件相关封装英文的全文内容(es) 搜索条件下的: flag---null + //文件相关封装英文的全文内容(es) putMap(id, "monthly report", - fileText, monthlyReportManageEO.getName(), fileText, + fileText, monthlyReportManageEO.getName(), ossFile.getFileName(), ossFile.getId(), issueTime, CutEnum.EN.getValue(), stringMapEn, SEARCH_FLAG); - //文件相关封装中文的全文内容(es) + //文件相关封装中文的全文内容(es) 搜索条件下的: flag---null putMap(id + monthlyReportManageEO.getFileId(), "法规月报", - fileText, monthlyReportManageEO.getName(), fileText, + fileText, monthlyReportManageEO.getName(), ossFile.getFileName(), ossFile.getId(), issueTime, CutEnum.CN.getValue(), stringMapCnForSearch, null); //文件相关封装英文的全文内容(es) putMap(id + monthlyReportManageEO.getFileId(), "monthly report", - fileText, monthlyReportManageEO.getName(), fileText, + fileText, monthlyReportManageEO.getName(), ossFile.getFileName(), ossFile.getId(), issueTime, CutEnum.EN.getValue(), stringMapEnForSearch, null); mapListTempCn.add(stringMapCn); @@ -247,7 +247,7 @@ public class LawsMonthlyReportManageEOServiceImpl extends ServiceImpl stringMap, String flag){ @@ -256,7 +256,6 @@ public class LawsMonthlyReportManageEOServiceImpl extends ServiceImpl新征求意见清单模板, 新发布标准清单模板 @@ -766,12 +774,14 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl issueList = lawsMonthlyReportWriteEOList.stream().filter(e -> ContentTemplateEnum.NEW_RELEASE_STANDARD_MANIFEST_TEMPLATE.getValue().equals(e.getContentTemplate())).collect(Collectors.toList()); for (LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO : askList) { WordUtil.exportWordExcelAsk(document,lawsMonthlyReportWriteEO,cut); - WordUtil.exportWord(document, null, null, null, 0, 0, false, true, null); + WordUtil.exportWord(document, null, null, null, + 0, 0, false, true, null,null); } for (LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO : issueList) { WordUtil.exportWordExcelIssue(document,lawsMonthlyReportWriteEO,cut); - WordUtil.exportWord(document, null, null, null, 0, 0, false, true, null); + WordUtil.exportWord(document, null, null, null, 0, 0, + false, true, null,null); } for (LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO : lawsMonthlyReportWriteEOList) { @@ -783,7 +793,8 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl lawsContactList = Arrays.asList(lawsContact.split(",")); + if (lawsContactList.size() > 4) { + StringBuilder str = new StringBuilder(); + int count = 0; + for (String s : lawsContactList) { + str.append(s + ","); + count++; + if (count % 4 == 0) { + str.append("\n"); + } + } + if(str.toString().endsWith("\n")){ + lawsContact = str.substring(0,str.length()-2); + }else{ + lawsContact = str.substring(0,str.length()-1); + } + } + } + String link = lawsMonthlyReportWriteEO.getLink();//链接 String technologyTerritoryName = ""; if(org.apache.commons.lang3.StringUtils.isNotBlank(technologyTerritory)){ diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/DocumentSearchServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/DocumentSearchServiceImpl.java index 841648c5c..d0c86f0de 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/DocumentSearchServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/DocumentSearchServiceImpl.java @@ -33,6 +33,7 @@ import com.jero.modules.system.entity.SysCategory; import com.jero.modules.system.entity.SysDictItem; import com.jero.modules.system.service.impl.SysCategoryServiceImpl; import com.jero.modules.system.service.impl.SysDictItemServiceImpl; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; @@ -49,6 +50,7 @@ import java.util.stream.Collectors; * @date 2022/3/14 10:03 * @auth zhn */ +@Slf4j @Component public class DocumentSearchServiceImpl implements IDocumentSearchService { @Autowired @@ -446,39 +448,23 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { Map mapHighlight1 = new HashMap<>(); //封装首次的条件 if (StringUtils.isNotBlank(selectValue)) { + selectValue = selectValue.toLowerCase(); + for (String field : fieldList) { - Map map2 = new HashMap<>(); - Map map3 = new HashMap<>(); - Map map4 = new HashMap<>(); - if("serial_number".equals(field)){ - map3.put("boost",1); - }else if("title".equals(field)){ - map3.put("boost",1); - }else if("file_text".equals(field)){ - map3.put("boost",0.01); - }else if("content".equals(field)){ - map3.put("boost",0.01); - }else if("file_name".equals(field)){ - map3.put("boost",1); - } -// 特殊处理编号字段 - if (field.equals("serial_number")){ - // map2放最内层 - map2.put(field, "*" + selectValue + "*"); + getQueryMapJsonFullText(queryMapJson, selectValue, field); - // map4放query - map4.put("wildcard",map2); - } else { - map3.put("query",selectValue); -// map3.put("minimum_should_match",2); - - map2.put(field, map3); - map4.put("match",map2); - } - queryMapJson.add(map4); //高亮 if(!"flag".equals(field)){ highlight(mapHighlight, field); + } else { + // query_string查询 + Map map25 = new HashMap<>(); + Map map45 = new HashMap<>(); + map25.put("query", selectValue); + map25.put("allow_leading_wildcard", false); //禁用了前置通配符 + map45.put("query_string", map25); + queryMapJson.add(map45); + } } mapHighlight1.put("fields",mapHighlight); @@ -489,39 +475,23 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { } //封装二次的条件 if (StringUtils.isNotBlank(selectValueTwo)) { + selectValueTwo = selectValueTwo.toLowerCase(); + for (String field : fieldList) { - Map queryMap = new HashMap<>(); - Map map2 = new HashMap<>(); - Map map3 = new HashMap<>(); - if("serial_number".equals(field)){ - map3.put("boost",1); - }else if("title".equals(field)){ - map3.put("boost",1); - }else if("file_text".equals(field)){ - map3.put("boost",0.01); - }else if("content".equals(field)){ - map3.put("boost",0.01); - }else if("file_name".equals(field)){ - map3.put("boost",1); - } + getQueryMapJsonFullText(queryMapJsonTwo, selectValueTwo, field); - //特殊处理编号字段 - if (field.equals("serial_number")){ - // map2放最内层 - map2.put(field, "*" + selectValueTwo + "*"); - // map4放query - queryMap.put("wildcard",map2); - } else { - map3.put("query",selectValueTwo); -// map3.put("minimum_should_match",2); - map2.put(field, map3); - queryMap.put("match", map2); - } - - queryMapJsonTwo.add(queryMap); //高亮 if(!"flag".equals(field)){ highlight(mapHighlight, field); + } else { + // query_string查询 + Map map25 = new HashMap<>(); + Map map45 = new HashMap<>(); + map25.put("query", selectValue); + map25.put("allow_leading_wildcard", false); //禁用了前置通配符 + map45.put("query_string", map25); + queryMapJson.add(map45); + } } mapHighlight1.put("fields",mapHighlight); @@ -546,7 +516,7 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { } JSONObject sort = new JSONObject(); - if(StringUtils.isEmpty(selectValue)){ + if(StringUtils.isEmpty(selectValue) || StringUtils.equals(selectValue,SEARCH_FLAG)){ Map createTime = new HashMap<>(); Map createTime1 = new HashMap<>(); createTime.put("order","desc"); @@ -559,6 +529,7 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { score1.put("_score",score); sort.putAll(score1); } + log.info("搜索中心-全部索引,排序方式为:" + sort.toJSONString()); // Map mapSort = new HashMap<>(); // Map mapSortTemp = new HashMap<>(); @@ -573,6 +544,65 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { return page; } + private void getQueryMapJsonFullText(JSONArray queryMapJson, String selectValue, String field) { + // 前缀匹配 缺点是前缀一定不能断开 + //情况举例:用户只记得前面那段字 + Map map21 = new HashMap<>(); + Map map31 = new HashMap<>(); + Map map41 = new HashMap<>(); + if("serial_number".equals(field)){ + map31.put("boost",1); + }else if("title".equals(field)){ + map31.put("boost",1); + }else if("file_text".equals(field)){ + map31.put("boost",0.01); + }else if("content".equals(field)){ + map31.put("boost",0.01); + }else if("file_name".equals(field)){ + map31.put("boost",1); + } + map31.put("value", selectValue); + map21.put(field + ".keyword", map31); + map41.put("prefix", map21); + queryMapJson.add(map41); + + // match_phrase_prefix 词组匹配查询,允许最后词组与文中的任意分词前缀匹配 + Map map22 = new HashMap<>(); + Map map32 = new HashMap<>(); + Map map42 = new HashMap<>(); + if("serial_number".equals(field)){ + map32.put("boost",1); + }else if("title".equals(field)){ + map32.put("boost",1); + }else if("file_text".equals(field)){ + map32.put("boost",0.01); + }else if("content".equals(field)){ + map32.put("boost",0.01); + }else if("file_name".equals(field)){ + map32.put("boost",1); + } + map32.put("query", selectValue); + map22.put(field, map32); + map42.put("match_phrase_prefix", map22); + queryMapJson.add(map42); + + // match分词匹配查询 + // 情况举例:用户可能他知道开头的前缀几个字,知道中间的几个字 + Map map23 = new HashMap<>(); + Map map43 = new HashMap<>(); + map23.put(field, selectValue); + map43.put("match", map23); + queryMapJson.add(map43); + + // wildcard模糊查询 + //情况举例:用户只记得中间那段字 + Map map24 = new HashMap<>(); + Map map44 = new HashMap<>(); + map24.put(field, "*" + selectValue + "*"); + map44.put("wildcard",map24); + queryMapJson.add(map44); + } + @NotNull private IPage getiPage(String selectValue, String selectValueTwo, JSONArray queryMapJson,Map highlightMap, JSONArray should, Integer pageNo, Integer pageSize, String paragraphFlag, @@ -1153,7 +1183,7 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { //封装首次的条件 if (StringUtils.isNotBlank(selectValue)) { for (String field : fieldList) { - Map map2 = new HashMap<>(); + /*Map map2 = new HashMap<>(); Map map3 = new HashMap<>(); Map map4 = new HashMap<>(); if("title".equals(field)){ @@ -1174,11 +1204,22 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { map2.put(field, map3); map4.put("match",map2); } - queryMapInputJson.add(map4); + queryMapInputJson.add(map4);*/ + + getQueryMapJson(queryMapInputJson, selectValue, field); //高亮 if(!"flag".equals(field)){ problemKnowledgeBaseHighlight(mapHighlight, field); + }else { + // query_string查询 + Map map25 = new HashMap<>(); + Map map45 = new HashMap<>(); + map25.put("query", selectValue); + map25.put("fields", fieldList.toArray()); + map25.put("allow_leading_wildcard", false); //禁用了前置通配符 + map45.put("query_string", map25); + queryMapJson.add(map45); } } mapHighlight1.put("fields",mapHighlight); @@ -1256,7 +1297,7 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { queryMapJsonAll.add(jsonObjectThree); } JSONObject sort = new JSONObject(); - if(StringUtils.isEmpty(selectValue)){ + if(StringUtils.isEmpty(selectValue) || StringUtils.equals(selectValue,SEARCH_FLAG)){ Map createTime = new HashMap<>(); Map createTime1 = new HashMap<>(); createTime.put("order","desc"); @@ -1435,12 +1476,59 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { list1.add(""); mapTemp.put("pre_tags", list); mapTemp.put("post_tags", list1); - mapTemp.put("fragment_size", 550);//高亮字段内容长度,去除html样式标签,统计字数,设置为200 + mapTemp.put("fragment_size", 280);//高亮字段内容长度,去除html样式标签,统计字数,设置为200 mapTemp.put("number_of_fragments", 1);//高亮内容默认分为5段, 此处设置为一段 mapTemp.put("type", "plain"); mapHighlight.put(key, mapTemp); } + private void getQueryMapJson(JSONArray queryMapJson, String selectValue, String field) { + // 前缀匹配 缺点是前缀一定不能断开 + //情况举例:用户只记得前面那段字 + Map map21 = new HashMap<>(); + Map map31 = new HashMap<>(); + Map map41 = new HashMap<>(); + if("title".equals(field)){ + map31.put("boost",1); + }else if("content".equals(field)){ + map31.put("boost",0.01); + } + map31.put("value", selectValue); + map21.put(field + ".keyword", map31); + map41.put("prefix", map21); + queryMapJson.add(map41); + + // match_phrase_prefix 词组匹配查询,允许最后词组与文中的任意分词前缀匹配 + Map map22 = new HashMap<>(); + Map map32 = new HashMap<>(); + Map map42 = new HashMap<>(); + if("title".equals(field)){ + map32.put("boost",1); + }else if("content".equals(field)){ + map32.put("boost",0.01); + } + map32.put("query", selectValue); + map22.put(field, map32); + map42.put("match_phrase_prefix", map22); + queryMapJson.add(map42); + + // match分词匹配查询 + // 情况举例:用户可能他知道开头的前缀几个字,知道中间的几个字 + Map map23 = new HashMap<>(); + Map map43 = new HashMap<>(); + map23.put(field, selectValue); + map43.put("match", map23); + queryMapJson.add(map43); + + // wildcard模糊查询 + //情况举例:用户只记得中间那段字 + Map map24 = new HashMap<>(); + Map map44 = new HashMap<>(); + map24.put(field, "*" + selectValue + "*"); + map44.put("wildcard",map24); + queryMapJson.add(map44); + } + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/LawsMonthlyReportSearchServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/LawsMonthlyReportSearchServiceImpl.java index f046e4f02..d4fea43f6 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/LawsMonthlyReportSearchServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/LawsMonthlyReportSearchServiceImpl.java @@ -77,35 +77,28 @@ public class LawsMonthlyReportSearchServiceImpl implements ILawsMonthlyReportSea Map mapHighlight1 = new HashMap<>(); //封装首次的条件 if (StringUtils.isNotBlank(selectValue)) { + selectValue = selectValue.toLowerCase(); for (String field : fieldList) { - Map map2 = new HashMap<>(); - Map map3 = new HashMap<>(); - Map map4 = new HashMap<>(); - if("title".equals(field)){ - map3.put("boost",1); - }else if("content".equals(field)){ - map3.put("boost",0.01); - } - // 标题字段 通配符模糊匹配 - if (field.equals("title")){ - // map2放最内层 - map2.put(field, "*" + selectValue + "*"); - - // map4放query - map4.put("wildcard",map2); - } else { - map3.put("query", selectValue); - map2.put(field, map3); - map4.put("match", map2); - } - queryMapJson.add(map4); + getQueryMapJson(queryMapJson, selectValue, field); //高亮 if(!"flag".equals(field)){ highlight(mapHighlight, field); + } else { + // query_string查询 + Map map25 = new HashMap<>(); + Map map45 = new HashMap<>(); + map25.put("query", selectValue); + map25.put("fields", fieldList.toArray()); + map25.put("allow_leading_wildcard", false); //禁用了前置通配符 + map45.put("query_string", map25); + queryMapJson.add(map45); + } + } mapHighlight1.put("fields",mapHighlight); + } if(CollectionUtils.isNotEmpty(queryMapJson)){ JSONObject jsonObject = jeroElasticsearchTemplate.buildBoolQuery(null, null, queryMapJson); @@ -113,33 +106,22 @@ public class LawsMonthlyReportSearchServiceImpl implements ILawsMonthlyReportSea } //封装二次的条件 if (StringUtils.isNotBlank(selectValueTwo)) { + selectValueTwo = selectValueTwo.toLowerCase(); for (String field : fieldList) { - Map queryMap = new HashMap<>(); - Map map2 = new HashMap<>(); - Map map3 = new HashMap<>(); - if("title".equals(field)){ - map3.put("boost",1); - }else if("content".equals(field)){ - map3.put("boost",0.01); - } + getQueryMapJson(queryMapJsonTwo, selectValueTwo, field); - // 标题字段 通配符模糊匹配 - if (field.equals("title")){ - // map2放最内层 - map2.put(field, "*" + selectValueTwo + "*"); - // map4放query - queryMap.put("wildcard",map2); - } else { - map3.put("query", selectValueTwo); -// map3.put("minimum_should_match",2); - map2.put(field, map3); - queryMap.put("match", map2); - } - - queryMapJsonTwo.add(queryMap); //高亮 if(!"flag".equals(field)){ highlight(mapHighlight, field); + } else { + // query_string查询 + Map map25 = new HashMap<>(); + Map map45 = new HashMap<>(); + map25.put("query", selectValue); + map25.put("allow_leading_wildcard", false); + map45.put("query_string", map25); + queryMapJsonTwo.add(map45); + } } mapHighlight1.put("fields",mapHighlight); @@ -227,11 +209,6 @@ public class LawsMonthlyReportSearchServiceImpl implements ILawsMonthlyReportSea } mapSource.put(key,fieldConyent); } - //如果这一条数据中有高亮字段值,但是file_text中没有高亮值, 则赋空值,否则列表中会展示所有的文件内容, 赋空后,则展示基础数据 - String fileText = (String) mapSource.get("file_text"); - if(StringUtils.isNotBlank(fileText) && !fileText.contains("")){ - mapSource.put("file_text",""); - } } mapList.add(mapSource); } @@ -258,10 +235,57 @@ public class LawsMonthlyReportSearchServiceImpl implements ILawsMonthlyReportSea list1.add(""); mapTemp.put("pre_tags", list); mapTemp.put("post_tags", list1); - mapTemp.put("fragment_size", 550);//高亮字段内容长度,去除html样式标签,统计字数,设置为200 + mapTemp.put("fragment_size", 500);//高亮字段内容长度,去除html样式标签,统计字数,设置为200 mapTemp.put("number_of_fragments", 1);//高亮内容默认分为5段, 此处设置为一段 mapTemp.put("type", "plain"); mapHighlight.put(key, mapTemp); } + private void getQueryMapJson(JSONArray queryMapJson, String selectValue, String field) { + // 前缀匹配 缺点是前缀一定不能断开 + //情况举例:用户只记得前面那段字 + Map map21 = new HashMap<>(); + Map map31 = new HashMap<>(); + Map map41 = new HashMap<>(); + if("title".equals(field)){ + map31.put("boost",1); + }else if("content".equals(field)){ + map31.put("boost",0.01); + } + map31.put("value", selectValue); + map21.put(field + ".keyword", map31); + map41.put("prefix", map21); + queryMapJson.add(map41); + + // match_phrase_prefix 词组匹配查询,允许最后词组与文中的任意分词前缀匹配 + Map map22 = new HashMap<>(); + Map map32 = new HashMap<>(); + Map map42 = new HashMap<>(); + if("title".equals(field)){ + map32.put("boost",1); + }else if("content".equals(field)){ + map32.put("boost",0.01); + } + map32.put("query", selectValue); + map22.put(field, map32); + map42.put("match_phrase_prefix", map22); + queryMapJson.add(map42); + + // match分词匹配查询 + // 情况举例:用户可能他知道开头的前缀几个字,知道中间的几个字 + Map map23 = new HashMap<>(); + Map map43 = new HashMap<>(); + map23.put(field, selectValue); + map43.put("match", map23); + queryMapJson.add(map43); + + // wildcard模糊查询 + //情况举例:用户只记得中间那段字 + Map map24 = new HashMap<>(); + Map map44 = new HashMap<>(); + map24.put(field, "*" + selectValue + "*"); + map44.put("wildcard",map24); + queryMapJson.add(map44); + } + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java index 5e3a7e59d..8b487319b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java @@ -65,10 +65,7 @@ import org.apache.poi.hssf.util.HSSFColor; import org.apache.poi.openxml4j.exceptions.InvalidFormatException; import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.util.CellRangeAddress; -import org.apache.poi.xssf.usermodel.XSSFCellStyle; -import org.apache.poi.xssf.usermodel.XSSFRichTextString; -import org.apache.poi.xssf.usermodel.XSSFSheet; -import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.apache.poi.xssf.usermodel.*; import org.apache.shiro.SecurityUtils; import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Autowired; @@ -419,6 +416,9 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpltrue + + com.e-iceblue + e-iceblue + https://repo.e-iceblue.cn/repository/maven-public/ + @@ -110,6 +115,11 @@ fastjson ${fastjson.version} + + e-iceblue + spire.office.free + 5.3.1 + diff --git a/jero-web/src/components/CollectionType/index.vue b/jero-web/src/components/CollectionType/index.vue index ecce064fb..411eef23b 100644 --- a/jero-web/src/components/CollectionType/index.vue +++ b/jero-web/src/components/CollectionType/index.vue @@ -781,7 +781,9 @@ height: calc(100% - 100px); overflow: auto; } - +/deep/ .ant-select-allow-clear{ + height: 30px; +} .text { margin-right: 10px; } diff --git a/jero-web/src/components/SelectedBy/index.vue b/jero-web/src/components/SelectedBy/index.vue index 7ef8d1da8..a2bdebb61 100644 --- a/jero-web/src/components/SelectedBy/index.vue +++ b/jero-web/src/components/SelectedBy/index.vue @@ -48,10 +48,10 @@ type: Object, default: {} }, - title:{ + title: { type: String, - default:'' - }, + default: '' + } }, data() { return { @@ -102,7 +102,12 @@ this.visibleTree = false }, handleSubmit() { - this.$emit('SelectedByForm',this.userIds.join(',')) + if (this.userIds && this.userIds.length > 0) { + this.submitLoading = true + this.$emit('SelectedByForm', this.userIds.join(',')) + } else { + this.$message.warning(this.$t('selectLeastOne')) + } }, onSearch(e) { this.gData = [] @@ -171,7 +176,7 @@ .drawer-bootom-button { position: absolute; bottom: 0; - z-index:100; + z-index: 100; width: 100%; border-top: 1px solid #e8e8e8; padding: 10px 16px; diff --git a/jero-web/src/components/libraryAddForm/index.vue b/jero-web/src/components/libraryAddForm/index.vue index 5d2f46830..90f7add64 100644 --- a/jero-web/src/components/libraryAddForm/index.vue +++ b/jero-web/src/components/libraryAddForm/index.vue @@ -332,7 +332,12 @@ if (res.success) { this.confirmLoading = false this.$message.success(this.$t('OperationSuccessful')) - eventBUs.$emit('searchReset') + if (this.formInline.id) { + eventBUs.$emit('searchGetData') + } else { + eventBUs.$emit('searchReset') + } + this.$emit('addFormClick') } else { this.confirmLoading = false diff --git a/jero-web/src/components/libraryPush/index.vue b/jero-web/src/components/libraryPush/index.vue index 7d344063b..05d1e547f 100644 --- a/jero-web/src/components/libraryPush/index.vue +++ b/jero-web/src/components/libraryPush/index.vue @@ -115,7 +115,7 @@ this.visible = false this.visibleTree = false this.$emit('clearSelected') - eventBUs.$emit('searchReset') + eventBUs.$emit('searchGetData') } else { this.$message.warning(this.$t('operationFailed')) } @@ -188,7 +188,7 @@ .drawer-bootom-button { position: absolute; bottom: 0; - z-index:100; + z-index: 100; width: 100%; border-top: 1px solid #e8e8e8; padding: 10px 16px; diff --git a/jero-web/src/components/tableCollection/index.vue b/jero-web/src/components/tableCollection/index.vue index cb12e77dc..c71311f19 100644 --- a/jero-web/src/components/tableCollection/index.vue +++ b/jero-web/src/components/tableCollection/index.vue @@ -915,7 +915,7 @@ } ::v-deep .ant-table-row:first-child { background: #fff!important; - opacity: 0.9; + /*opacity: 0.9;*/ } ::v-deep .ant-table-body { diff --git a/jero-web/src/views/businessSupport/collectionOfRegulatoryOpinions/components/initiatingProcess.vue b/jero-web/src/views/businessSupport/collectionOfRegulatoryOpinions/components/initiatingProcess.vue index 5d8242925..8981f9504 100644 --- a/jero-web/src/views/businessSupport/collectionOfRegulatoryOpinions/components/initiatingProcess.vue +++ b/jero-web/src/views/businessSupport/collectionOfRegulatoryOpinions/components/initiatingProcess.vue @@ -333,7 +333,7 @@ value.id = this.getUUID() value.currentUserName = this.userInfo().username Object.keys(value).forEach(res => { - if (value[res] && value[res] instanceof String) { + if (value[res] && typeof value[res] == 'string') { value[res] = value[res].replace(/\"/g, '“') value[res] = value[res].replace(/\'/g, '‘') } @@ -364,7 +364,7 @@ let handlingTime = moment(new Date()).format('YYYY-MM-DD HH:mm:ss') value.handlingTime = handlingTime Object.keys(value).forEach(res => { - if (value[res] && value[res] instanceof String) { + if (value[res] && typeof value[res] == 'string') { value[res] = value[res].replace(/\"/g, '“') value[res] = value[res].replace(/\'/g, '‘') } diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardRelease.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardRelease.vue index 74303385f..99ee4012a 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardRelease.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardRelease.vue @@ -175,6 +175,12 @@ dataIndex: 'releaseStatus_dictText', ellipsis: true }, + { + title: this.$t('creater'), + align: 'center', + dataIndex: 'createBy', + ellipsis: true + }, { title: this.$t('operation'), align: 'center', diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseView.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseView.vue index 9295b5ed9..50b3336ed 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseView.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseView.vue @@ -3,9 +3,9 @@
- - - + + + {{queryForm.title}}
@@ -156,8 +156,23 @@ }, methods: { ...mapGetters(['userInfo']), - SelectedByForm() { - + SelectedByForm(userIds) { + let query = { + userIds: userIds, + departIds: userIds, + problemKnowledgeBaseId: this.queryForm.id, + problemKnowledgeBaseTitle: this.queryForm.title + } + postAction('/problemKnowledgeBase/problemKnowledgeBaseEO/forward', query).then((res) => { + if (res.success) { + this.$message.success(this.$t('OperationSuccessful')) + this.$refs.SelectedByRef.visible = false + this.$refs.SelectedByRef.submitLoading = false + } else { + this.$message.warning(this.$t('operationFailed')) + this.$refs.SelectedByRef.submitLoading = false + } + }) }, queryById() { let query = { diff --git a/jero-web/src/views/businessSupport/technologyAssessment/components/evaluationResultsClause.vue b/jero-web/src/views/businessSupport/technologyAssessment/components/evaluationResultsClause.vue index 8dd8ec28a..a64a58ba0 100644 --- a/jero-web/src/views/businessSupport/technologyAssessment/components/evaluationResultsClause.vue +++ b/jero-web/src/views/businessSupport/technologyAssessment/components/evaluationResultsClause.vue @@ -217,7 +217,7 @@ }, { title: this.$t('feedbackTime'), - dataIndex: 'updateTime', + dataIndex: 'feedbackTime', align: 'center', ellipsis: true, width: 160 diff --git a/jero-web/src/views/businessSupport/technologyAssessment/components/initiatingProcess.vue b/jero-web/src/views/businessSupport/technologyAssessment/components/initiatingProcess.vue index d851a0ecf..d5ebba0a4 100644 --- a/jero-web/src/views/businessSupport/technologyAssessment/components/initiatingProcess.vue +++ b/jero-web/src/views/businessSupport/technologyAssessment/components/initiatingProcess.vue @@ -537,7 +537,7 @@ if (value[res] && value[res] instanceof Array) { value[res] = value[res].join(',') } - if (value[res] && value[res] instanceof String) { + if (value[res] && typeof value[res] == 'string') { value[res] = value[res].replace(/\"/g, '“') value[res] = value[res].replace(/\'/g, '‘') } @@ -579,7 +579,7 @@ }, completeTask(value, taskId) { Object.keys(value).forEach(res => { - if (value[res] && value[res] instanceof String) { + if (value[res] && typeof value[res] == 'string') { value[res] = value[res].replace(/\"/g, '“') value[res] = value[res].replace(/\'/g, '‘') } diff --git a/jero-web/src/views/documentManage/collection/components/problemKnowledgeBaseList.vue b/jero-web/src/views/documentManage/collection/components/problemKnowledgeBaseList.vue new file mode 100644 index 000000000..b998e89aa --- /dev/null +++ b/jero-web/src/views/documentManage/collection/components/problemKnowledgeBaseList.vue @@ -0,0 +1,419 @@ + + + + + + \ No newline at end of file diff --git a/jero-web/src/views/documentManage/collection/index.vue b/jero-web/src/views/documentManage/collection/index.vue index 9c27a5711..5bb40aa2b 100644 --- a/jero-web/src/views/documentManage/collection/index.vue +++ b/jero-web/src/views/documentManage/collection/index.vue @@ -1,104 +1,115 @@