Merge remote-tracking branch 'origin/fix_bug_first_stage' into fix_bug_first_stage
This commit is contained in:
+1
-2
@@ -161,13 +161,12 @@ public class SarFileCompareItemCommentController extends JeroController<SarFileC
|
||||
@AutoLog(value = "文档对比信息条款评论表-导出结果")
|
||||
@ApiOperation(value = "文档对比信息条款评论表-导出结果", notes = "文档对比信息条款评论表-导出结果")
|
||||
@GetMapping(value = "/exportResXls")
|
||||
public Result<?> exportResXls(@RequestParam(name = "infoId", required = true) String infoId,
|
||||
public void exportResXls(@RequestParam(name = "infoId", required = true) String infoId,
|
||||
@RequestParam(name = "selectIds", required = true) String selectIds,
|
||||
@RequestParam(name = "includeComments", required = true) boolean includeComments,
|
||||
@RequestParam(name = "cut", required = true) String cut,
|
||||
HttpServletResponse response) {
|
||||
sarFileCompareItemCommentService.exportResXls(response, infoId, selectIds, includeComments, cut);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+30
-14
@@ -188,7 +188,13 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
|
||||
response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
|
||||
response.setContentType("application/force-download");
|
||||
//创建工作表对象
|
||||
Sheet sheet = workbook.createSheet("对比结果");
|
||||
String sheetName = "对比结果";
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
sheetName = "对比结果";
|
||||
} else {
|
||||
sheetName = "Comparing results";
|
||||
}
|
||||
Sheet sheet = workbook.createSheet(sheetName);
|
||||
|
||||
// 创建头部
|
||||
String header = "";
|
||||
@@ -197,14 +203,17 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
|
||||
} else {
|
||||
header = "Number,Title,Content,Number,Title,Content,Comment";
|
||||
}
|
||||
int[] columnWidth = {5000, 5000, 10000, 5000, 5000, 10000, 10000};
|
||||
CellStyle cellStyle = workbook.createCellStyle();//初始化单元格格式对象
|
||||
cellStyle.setAlignment(HorizontalAlignment.CENTER);
|
||||
cellStyle.setAlignment(HorizontalAlignment.LEFT);
|
||||
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
|
||||
cellStyle.setWrapText(true);
|
||||
Row rowHeader = sheet.createRow(0);//开始创建标题行
|
||||
if (StringUtils.isNotBlank(header)) {
|
||||
String[] headerArr = header.split(",");
|
||||
for (int i = 0; i < headerArr.length; i++) {
|
||||
rowHeader.createCell(i).setCellValue(headerArr[i]);
|
||||
sheet.setColumnWidth(i, columnWidth[i]);
|
||||
}
|
||||
}
|
||||
int i = 1;
|
||||
@@ -219,18 +228,28 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
|
||||
String text = itemLeft.getItemsText();
|
||||
text = text.replace("<p>", "").replace("</p>", "\r\n");
|
||||
row.createCell(2).setCellValue(text);
|
||||
row.setRowStyle(cellStyle);
|
||||
}
|
||||
}
|
||||
String itemIdRight = itemComment.getItemsIdRight();
|
||||
SarFileCompareItem itemRight = sfcItemMap.get(itemIdRight);
|
||||
if (null != itemRight) {
|
||||
row.createCell(3).setCellValue(itemRight.getItemsNum());
|
||||
row.createCell(4).setCellValue(itemRight.getItemsName());
|
||||
String text = itemRight.getItemsText();
|
||||
text = text.replace("<p>", "").replace("</p>", "\r\n");
|
||||
row.createCell(5).setCellValue(text);
|
||||
if (!StringUtils.isEmpty(itemIdRight)) {
|
||||
SarFileCompareItem itemRight = sfcItemMap.get(itemIdRight);
|
||||
if (null != itemRight) {
|
||||
row.createCell(3).setCellValue(itemRight.getItemsNum());
|
||||
row.createCell(4).setCellValue(itemRight.getItemsName());
|
||||
String text = itemRight.getItemsText();
|
||||
text = text.replace("<p>", "").replace("</p>", "\r\n");
|
||||
row.createCell(5).setCellValue(text);
|
||||
row.setRowStyle(cellStyle);
|
||||
}
|
||||
}
|
||||
row.createCell(6).setCellValue(itemComment.getComment());
|
||||
for (int j = 0; j < 7; j++) {
|
||||
Cell cell = row.getCell(j);
|
||||
if (null != cell) {
|
||||
cell.setCellStyle(cellStyle);
|
||||
}
|
||||
}
|
||||
i++;
|
||||
}
|
||||
if (includeComments || StringUtils.isEmpty(selectIds)) {
|
||||
@@ -245,13 +264,10 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
|
||||
sheet.addMergedRegion(rangeAddress);
|
||||
SarFileCompareInfo compareInfo = sarFileCompareInfoServiceImpl.queryById(infoId);
|
||||
row.createCell(1).setCellValue(compareInfo.getComments());
|
||||
row.getCell(1).setCellStyle(cellStyle);
|
||||
}
|
||||
for (int j = 0; j < 7; j++) {
|
||||
sheet.autoSizeColumn(j, true);//设置列宽
|
||||
}
|
||||
|
||||
os = response.getOutputStream();
|
||||
// File file = new File("C://work/ee.xlsx");
|
||||
// os = new FileOutputStream(file);
|
||||
workbook.write(os);
|
||||
os.flush();
|
||||
} catch (IOException e) {
|
||||
|
||||
+88
-45
@@ -21,6 +21,7 @@ import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.modules.system.util.HttpRequestUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -565,69 +566,111 @@ public class FeishuServiceImpl implements IFeishuService {
|
||||
headerMap.put("Authorization", "Bearer " + token);
|
||||
headerMap.put("Content-Type", "application/json; charset=utf-8");
|
||||
|
||||
String sendJson = " {\n" +
|
||||
" \"config\": {\n" +
|
||||
" \"wide_screen_mode\": true\n" +
|
||||
" },\n" +
|
||||
//参考:https://open.feishu.cn/tool/cardbuilder?from=openplantform_mcb_entrance
|
||||
/*String sendJson = "{\n" +
|
||||
" \"header\": {\n" +
|
||||
" \"template\": \"green\",\n" +
|
||||
" \"title\": {\n" +
|
||||
" \"tag\": \"plain_text\",\n" +
|
||||
" \"content\": \"点击下方的分类查看常见问题\"\n" +
|
||||
" },\n" +
|
||||
" \"template\": \"green\"\n" +
|
||||
" \"content\": \"知识库分类负责人\",\n" +
|
||||
" \"tag\": \"plain_text\"\n" +
|
||||
" }\n" +
|
||||
" },\n" +
|
||||
" \"elements\": [\n" +
|
||||
" {\n" +
|
||||
" \"fields\": [\n" +
|
||||
" {\n" +
|
||||
" \"is_short\": true,\n" +
|
||||
" \"text\": {\n" +
|
||||
" \"content\": \"**\uD83D\uDC64 提交人:**\\n<at id=fag43ef3></at>\",\n" +
|
||||
" \"tag\": \"lark_md\"\n" +
|
||||
" }\n" +
|
||||
" }\n" +
|
||||
" ],\n" +
|
||||
" \"tag\": \"div\"\n" +
|
||||
" }\n" +
|
||||
" ]\n" +
|
||||
"}";*/
|
||||
|
||||
String sendJson = "{\n" +
|
||||
" \"header\": {\n" +
|
||||
" \"template\": \"green\",\n" +
|
||||
" \"title\": {\n" +
|
||||
" \"content\": \"知识库分类负责人\",\n" +
|
||||
" \"tag\": \"plain_text\"\n" +
|
||||
" }\n" +
|
||||
" }\n" +
|
||||
"}";
|
||||
JSONObject jsonObject = JSONObject.parseObject(sendJson);
|
||||
JSONArray elements = new JSONArray();
|
||||
JSONObject element = new JSONObject();
|
||||
element.put("tag","action");
|
||||
element.put("layout","bisected");
|
||||
JSONArray fields = new JSONArray();
|
||||
|
||||
//获取分类
|
||||
List<ProblemKnowledgeBaseClassifyEO> problemKnowledgeBaseClassifyEOList = this.problemKnowledgeBaseClassifyEOService.list();
|
||||
this.problemKnowledgeBaseClassifyEOService.disposeData(problemKnowledgeBaseClassifyEOList);
|
||||
|
||||
JSONArray actions = new JSONArray();
|
||||
|
||||
//组装推送过去的点击按钮
|
||||
//获取所有分类下的负责人信息
|
||||
List<String> chargePersonUserIdList = new ArrayList<>();
|
||||
for (ProblemKnowledgeBaseClassifyEO problemKnowledgeBaseClassifyEO : problemKnowledgeBaseClassifyEOList) {
|
||||
JSONObject buttonObject = new JSONObject();
|
||||
JSONObject text = new JSONObject();
|
||||
JSONObject value = new JSONObject();
|
||||
buttonObject.put("tag","button");
|
||||
|
||||
text.put("tag","plain_text");
|
||||
text.put("content",problemKnowledgeBaseClassifyEO.getProblemLabel() + " [" + problemKnowledgeBaseClassifyEO.getChargePersonIdName() + "]");
|
||||
value.put("chosen",problemKnowledgeBaseClassifyEO.getChargePersonId());
|
||||
|
||||
buttonObject.put("text",text);
|
||||
buttonObject.put("type","primary");
|
||||
buttonObject.put("value",value);
|
||||
actions.add(buttonObject);
|
||||
if(StringUtils.isNotEmpty(problemKnowledgeBaseClassifyEO.getChargePersonId())){
|
||||
String chargePersonId = problemKnowledgeBaseClassifyEO.getChargePersonId();
|
||||
for (String chargePerson : chargePersonId.split(",")) {
|
||||
chargePersonUserIdList.add(chargePerson);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
element.put("actions",actions);
|
||||
if(CollectionUtils.isNotEmpty(chargePersonUserIdList)){
|
||||
List<SysUser> chargePersonUserList = this.sysUserService.querySysUserListByIdList(chargePersonUserIdList);
|
||||
|
||||
//组装推送过去的知识库负责人信息
|
||||
for (ProblemKnowledgeBaseClassifyEO problemKnowledgeBaseClassifyEO : problemKnowledgeBaseClassifyEOList) {
|
||||
JSONObject field = new JSONObject();
|
||||
JSONObject text = new JSONObject();
|
||||
StringBuilder atUserSb = new StringBuilder();
|
||||
|
||||
elements.add(element);
|
||||
jsonObject.put("elements",elements);
|
||||
// 设置请求参数
|
||||
JSONObject paramsMap = new JSONObject();
|
||||
paramsMap.put("user_ids", userIds);
|
||||
paramsMap.put("msg_type", "interactive");
|
||||
paramsMap.put("card", jsonObject);
|
||||
if(StringUtils.isNotEmpty(problemKnowledgeBaseClassifyEO.getChargePersonId())){
|
||||
for (String chargePersonId : problemKnowledgeBaseClassifyEO.getChargePersonId().split(",")) {
|
||||
for (SysUser sysUser : chargePersonUserList) {
|
||||
if(StringUtils.equals(chargePersonId,sysUser.getId())){
|
||||
String thirdId = sysUser.getThirdId();
|
||||
atUserSb.append("<at id=" + thirdId + "></at>");
|
||||
atUserSb.append(" ");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 发送请求给飞书
|
||||
String response = null;
|
||||
try {
|
||||
response = HttpRequestUtil.getResponseOfPOST(batchSendMessageUrl, headerMap, paramsMap.toJSONString());
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
// 获取返回结果
|
||||
JSONObject tokenJson = JSONObject.parseObject(response);
|
||||
if(!tokenJson.get("code").toString().equals("0")) {
|
||||
log.error("请求出现异常:" + tokenJson.get("msg") + " " + tokenJson);
|
||||
text.put("content","问题标签:" + problemKnowledgeBaseClassifyEO.getProblemLabel() + "\n" + "责任人:" + atUserSb.toString());
|
||||
text.put("tag","lark_md");
|
||||
|
||||
field.put("is_short",true);
|
||||
field.put("text",text);
|
||||
fields.add(field);
|
||||
}
|
||||
|
||||
element.put("tag","div");
|
||||
element.put("fields",fields);
|
||||
elements.add(element);
|
||||
jsonObject.put("elements",elements);
|
||||
// 设置请求参数
|
||||
JSONObject paramsMap = new JSONObject();
|
||||
paramsMap.put("user_ids", userIds);
|
||||
paramsMap.put("msg_type", "interactive");
|
||||
paramsMap.put("card", jsonObject);
|
||||
|
||||
// 发送请求给飞书
|
||||
String response = null;
|
||||
try {
|
||||
response = HttpRequestUtil.getResponseOfPOST(batchSendMessageUrl, headerMap, paramsMap.toJSONString());
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
// 获取返回结果
|
||||
JSONObject tokenJson = JSONObject.parseObject(response);
|
||||
if(!tokenJson.get("code").toString().equals("0")) {
|
||||
log.error("请求出现异常:" + tokenJson.get("msg") + " " + tokenJson);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+45
-12
@@ -92,6 +92,7 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
|
||||
//如果展示权限是公开,则把该数据插入到搜索中心中。
|
||||
this.addOrUpdateElasticsearch(problemKnowledgeBaseEO);
|
||||
}
|
||||
this.addOrUpdateElasticsearch(problemKnowledgeBaseEO);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -142,11 +143,14 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
|
||||
}
|
||||
}
|
||||
|
||||
//获取所有市场
|
||||
List<DictModel> targetMarketList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode());
|
||||
|
||||
//sbCn sbEn 这两个字段作为es中英文切换
|
||||
StringBuilder sbCn = new StringBuilder();
|
||||
esFullText(problemKnowledgeBaseEO,sbCn,null,CutEnum.CN.getValue(),fileTextSb.toString());
|
||||
esFullText(problemKnowledgeBaseEO,sbCn,null,CutEnum.CN.getValue(),fileTextSb.toString(),targetMarketList);
|
||||
StringBuilder sbEn = new StringBuilder();
|
||||
esFullText(problemKnowledgeBaseEO,null,sbEn,CutEnum.EN.getValue(),fileTextSb.toString());
|
||||
esFullText(problemKnowledgeBaseEO,null,sbEn,CutEnum.EN.getValue(),fileTextSb.toString(),targetMarketList);
|
||||
|
||||
Map<String, Object> stringMapCn = new HashMap<>();
|
||||
this.problemKnowledgeBaseEOConvertMapByCut(problemKnowledgeBaseEO,CutEnum.EN.getValue(),stringMapCn);
|
||||
@@ -216,10 +220,11 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
|
||||
}
|
||||
}
|
||||
|
||||
public void esFullText(ProblemKnowledgeBaseEO problemKnowledgeBaseEO,StringBuilder sbCn,StringBuilder sbEn,String cut,String fileText){
|
||||
public void esFullText(ProblemKnowledgeBaseEO problemKnowledgeBaseEO,StringBuilder sbCn,StringBuilder sbEn,String cut,String fileText,List<DictModel> targetMarketList){
|
||||
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
|
||||
if(StringUtils.isNotEmpty(problemKnowledgeBaseEO.getShowPermissions_dicText())){
|
||||
sbCn.append("展示权限" + ":" + problemKnowledgeBaseEO.getShowPermissions_dicText() + " ");
|
||||
if(StringUtils.isNotEmpty(problemKnowledgeBaseEO.getShowPermissions())){
|
||||
String textByValue = ShowPermissionsEnum.getTextByValue(problemKnowledgeBaseEO.getShowPermissions(), cut);
|
||||
sbCn.append("展示权限" + ":" + textByValue + " ");
|
||||
}else {
|
||||
sbCn.append("展示权限" + ":" + "-- ");
|
||||
}
|
||||
@@ -236,8 +241,19 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
|
||||
sbCn.append("问题分类" + ":" + "-- ");
|
||||
}
|
||||
|
||||
if(StringUtils.isNotEmpty(problemKnowledgeBaseEO.getTargetMarket_dicText())){
|
||||
sbCn.append("市场" + ":" + problemKnowledgeBaseEO.getTargetMarket_dicText() + " ");
|
||||
if(StringUtils.isNotEmpty(problemKnowledgeBaseEO.getTargetMarket())){
|
||||
String[] targetMarketArr = problemKnowledgeBaseEO.getTargetMarket().split(",");
|
||||
String targetMarket = targetMarketList.stream().filter(e -> {
|
||||
boolean flag = false;
|
||||
for (String s : targetMarketArr) {
|
||||
if (StringUtils.equals(s, e.getValue())) {
|
||||
flag = true;
|
||||
}
|
||||
}
|
||||
return flag;
|
||||
}).map(DictModel::getText).collect(Collectors.joining(","));
|
||||
|
||||
sbCn.append("市场" + ":" + targetMarket + " ");
|
||||
}else {
|
||||
sbCn.append("市场" + ":" + "-- ");
|
||||
}
|
||||
@@ -255,8 +271,10 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
|
||||
}*/
|
||||
|
||||
if(StringUtils.isNotEmpty(problemKnowledgeBaseEO.getContent())){
|
||||
sbCn.append("</br>");
|
||||
sbCn.append("内容" + ":" + problemKnowledgeBaseEO.getContent() + " ");
|
||||
}else {
|
||||
sbCn.append("</br>");
|
||||
sbCn.append("内容" + ":" + "-- ");
|
||||
}
|
||||
|
||||
@@ -268,7 +286,8 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
|
||||
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
|
||||
|
||||
if(StringUtils.isNotEmpty(problemKnowledgeBaseEO.getShowPermissions())){
|
||||
sbEn.append("Display permission" + ":" + problemKnowledgeBaseEO.getShowPermissions() + " ");
|
||||
String textByValue = ShowPermissionsEnum.getTextByValue(problemKnowledgeBaseEO.getShowPermissions(), cut);
|
||||
sbEn.append("Display permission" + ":" + textByValue + " ");
|
||||
}else {
|
||||
sbEn.append("Display permission" + ":" + "-- ");
|
||||
}
|
||||
@@ -286,7 +305,18 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
|
||||
}
|
||||
|
||||
if(StringUtils.isNotEmpty(problemKnowledgeBaseEO.getTargetMarket())){
|
||||
sbEn.append("Market" + ":" + problemKnowledgeBaseEO.getTargetMarket() + " ");
|
||||
String[] targetMarketArr = problemKnowledgeBaseEO.getTargetMarket().split(",");
|
||||
String targetMarket = targetMarketList.stream().filter(e -> {
|
||||
boolean flag = false;
|
||||
for (String s : targetMarketArr) {
|
||||
if (StringUtils.equals(s, e.getValue())) {
|
||||
flag = true;
|
||||
}
|
||||
}
|
||||
return flag;
|
||||
}).map(DictModel::getTextEn).collect(Collectors.joining(","));
|
||||
|
||||
sbEn.append("Market" + ":" + targetMarket + " ");
|
||||
}else {
|
||||
sbEn.append("Market" + ":" + "-- ");
|
||||
}
|
||||
@@ -304,8 +334,10 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
|
||||
}*/
|
||||
|
||||
if(StringUtils.isNotEmpty(problemKnowledgeBaseEO.getContent())){
|
||||
sbEn.append("</br>");
|
||||
sbEn.append("Content" + ":" + problemKnowledgeBaseEO.getContent() + " ");
|
||||
}else {
|
||||
sbEn.append("</br>");
|
||||
sbEn.append("Content" + ":" + "-- ");
|
||||
}
|
||||
|
||||
@@ -349,6 +381,7 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
|
||||
convertAfterMap.put("standard_title",problemKnowledgeBaseEO.getStandTitle());
|
||||
convertAfterMap.put("content",problemKnowledgeBaseEO.getContent());
|
||||
convertAfterMap.put("createTime",problemKnowledgeBaseEO.getCreateTime());
|
||||
convertAfterMap.put("show_permissions",problemKnowledgeBaseEO.getShowPermissions());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -367,10 +400,10 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
|
||||
//如果该条问题知识库的展示权限为私密,则创建权限表数据
|
||||
if(StringUtils.equals(problemKnowledgeBaseEO.getShowPermissions(), ShowPermissionsEnum.PRIVACY.getValue())){
|
||||
this.batchInsertProblemKnowledgeBaseUserEO(problemKnowledgeBaseEO);
|
||||
this.deleteElasticsearchData(problemKnowledgeBaseEO.getId());
|
||||
}else {
|
||||
this.addOrUpdateElasticsearch(problemKnowledgeBaseEO);
|
||||
//this.deleteElasticsearchData(problemKnowledgeBaseEO.getId());
|
||||
}
|
||||
|
||||
this.addOrUpdateElasticsearch(problemKnowledgeBaseEO);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+27
-13
@@ -1,26 +1,28 @@
|
||||
package com.jero.modules.project.controller;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
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.modules.project.entity.ConditionAssessmentEO;
|
||||
import com.jero.modules.project.service.IConditionAssessmentEOService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.modules.project.entity.ConditionAssessmentEO;
|
||||
import com.jero.modules.project.service.IConditionAssessmentEOService;
|
||||
import com.jero.modules.project.vo.ConditionAssessmentVO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
@@ -181,4 +183,16 @@ public class ConditionAssessmentEOController extends JeroController<ConditionAss
|
||||
return conditionAssessmentEOService.addOrUpdate(conditionAssessmentEO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量添加或修改
|
||||
*
|
||||
* @param conditionAssessmentVO
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "任务清单-项目状态评估表-批量添加或修改")
|
||||
@ApiOperation(value="任务清单-项目状态评估表-批量添加或修改", notes="任务清单-项目状态评估表-批量添加或修改")
|
||||
@PostMapping(value = "/addOrUpdateBatch")
|
||||
public Result<?> addOrUpdateConditionAssessmentBatch(@RequestBody ConditionAssessmentVO conditionAssessmentVO) {
|
||||
return conditionAssessmentEOService.addOrUpdateBatch(conditionAssessmentVO);
|
||||
}
|
||||
}
|
||||
|
||||
+42
-14
@@ -1,27 +1,27 @@
|
||||
package com.jero.modules.project.controller;
|
||||
|
||||
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.project.entity.ProjectTaskInventoryEO;
|
||||
import com.jero.modules.project.service.IProjectTaskInventoryEOService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.modules.project.entity.ProjectTaskInventoryEO;
|
||||
import com.jero.modules.project.service.IProjectTaskInventoryEOService;
|
||||
import com.jero.modules.project.vo.ProjectTaskInventoryVO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
@@ -203,4 +203,32 @@ public class ProjectTaskInventoryEOController extends JeroController<ProjectTask
|
||||
public Result<?> remindDispose(@RequestBody JSONObject jsonObject){
|
||||
return this.projectTaskInventoryEOService.remindDispose(jsonObject);
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*
|
||||
* @param projectTaskInventoryVO
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "项目库-任务清单表-批量维护进度")
|
||||
@ApiOperation(value="项目库-任务清单表-批量维护进度", notes="项目库-任务清单表-批量维护进度")
|
||||
@PostMapping(value = "/editBatch")
|
||||
public Result<?> editCertificationProgressBatch(@RequestBody ProjectTaskInventoryVO projectTaskInventoryVO) {
|
||||
projectTaskInventoryEOService.editBatch(projectTaskInventoryVO);
|
||||
return Result.OK("编辑成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 认证进度和当前状态修改时,校验角色是否符合
|
||||
*
|
||||
* @param projectTaskInventoryVO
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "项目库-任务清单表-校验角色是否符合")
|
||||
@ApiOperation(value="项目库-任务清单表-校验角色是否符合", notes="项目库-任务清单表-校验角色是否符合")
|
||||
@PostMapping(value = "/verifyRoleCode")
|
||||
public Result<?> verifyRoleCode(@RequestBody ProjectTaskInventoryVO projectTaskInventoryVO) {
|
||||
List<String> msgList = projectTaskInventoryEOService.verifyRoleCode(projectTaskInventoryVO);
|
||||
return Result.OK(msgList);
|
||||
}
|
||||
}
|
||||
|
||||
+8
-2
@@ -1,11 +1,11 @@
|
||||
package com.jero.modules.project.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.project.entity.ConditionAssessmentEO;
|
||||
import com.jero.modules.project.entity. ConditionAssessmentEO;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.modules.project.entity.ProjectTaskInventoryEO;
|
||||
import com.jero.modules.project.vo.ConditionAssessmentVO;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -92,4 +92,10 @@ public interface IConditionAssessmentEOService extends IService<ConditionAssessm
|
||||
* @return
|
||||
*/
|
||||
List<Map<String,Object>> getProjectStatusAssessStatisticsGroupByTerritory(Map<String,Object> params);
|
||||
|
||||
/**
|
||||
* 任务清单-项目状态评估表-批量添加或修改
|
||||
* @param conditionAssessmentVO
|
||||
*/
|
||||
Result<?> addOrUpdateBatch(ConditionAssessmentVO conditionAssessmentVO);
|
||||
}
|
||||
|
||||
+18
-1
@@ -1,9 +1,10 @@
|
||||
package com.jero.modules.project.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.modules.project.entity.ProjectTaskInventoryEO;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.modules.project.vo.ProjectTaskInventoryVO;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
@@ -84,5 +85,21 @@ public interface IProjectTaskInventoryEOService extends IService<ProjectTaskInve
|
||||
*/
|
||||
void deleteByProjectLawsInventoryIds(List<String> projectLawsInventoryIds);
|
||||
|
||||
/**
|
||||
* 批量更新认证进度
|
||||
*
|
||||
* @param projectTaskInventoryVO
|
||||
* @return
|
||||
*/
|
||||
void editBatch(ProjectTaskInventoryVO projectTaskInventoryVO);
|
||||
|
||||
/**
|
||||
* 校验角色是否符合
|
||||
*
|
||||
* @param projectTaskInventoryVO
|
||||
* @return
|
||||
*/
|
||||
List<String> verifyRoleCode(ProjectTaskInventoryVO projectTaskInventoryVO);
|
||||
|
||||
void exportXls(HttpServletResponse response, HttpServletRequest request, ProjectTaskInventoryEO projectTaskInventoryEO);
|
||||
}
|
||||
|
||||
+68
-2
@@ -1,6 +1,7 @@
|
||||
package com.jero.modules.project.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.project.entity.ConditionAssessmentEO;
|
||||
@@ -8,6 +9,7 @@ import com.jero.modules.project.entity.ProjectTaskInventoryEO;
|
||||
import com.jero.modules.project.enums.ProjectRoleEnum;
|
||||
import com.jero.modules.project.mapper.ConditionAssessmentEOMapper;
|
||||
import com.jero.modules.project.service.IConditionAssessmentEOService;
|
||||
import com.jero.modules.project.vo.ConditionAssessmentVO;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
@@ -16,8 +18,6 @@ import org.springframework.stereotype.Service;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
||||
/**
|
||||
* @Description: 任务清单-项目状态评估表
|
||||
* @Author: jero-boot
|
||||
@@ -251,4 +251,70 @@ public class ConditionAssessmentEOServiceImpl extends ServiceImpl<ConditionAsses
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result<?> addOrUpdateBatch(ConditionAssessmentVO conditionAssessmentVO) {
|
||||
List<String> projectLawsInventoryIdList = Arrays.asList(conditionAssessmentVO.getProjectLawsInventoryIds().split(","));
|
||||
List<String> roleCodeListOld = Arrays.asList(conditionAssessmentVO.getRoleCodes().split(","));
|
||||
|
||||
|
||||
for (int i=0; i < projectLawsInventoryIdList.size(); i++) {
|
||||
String projectLawsInventoryId = projectLawsInventoryIdList.get(i);
|
||||
String roleCode = roleCodeListOld.get(i);
|
||||
List<String> roleCodeList = new ArrayList<>();
|
||||
List<ConditionAssessmentEO> list = new ArrayList<>();
|
||||
|
||||
if (StringUtils.equals(roleCode, ProjectRoleEnum.REGULATI_ENGINEER.getValue())) {
|
||||
roleCodeList.add(ProjectRoleEnum.REGULATI_ENGINEER.getValue());
|
||||
|
||||
ConditionAssessmentEO regulatiEngineer = new ConditionAssessmentEO();
|
||||
regulatiEngineer.setProjectLawsInventoryId(projectLawsInventoryId);
|
||||
regulatiEngineer.setConditionAssessment(conditionAssessmentVO.getConditionAssessment());
|
||||
regulatiEngineer.setRemark(conditionAssessmentVO.getRemark());
|
||||
regulatiEngineer.setRoleCode(ProjectRoleEnum.REGULATI_ENGINEER.getValue());
|
||||
|
||||
list.add(regulatiEngineer);
|
||||
|
||||
} else if (StringUtils.equals(roleCode, ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue())) {
|
||||
roleCodeList.add(ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue());
|
||||
|
||||
ConditionAssessmentEO homologationEngineer = new ConditionAssessmentEO();
|
||||
homologationEngineer.setProjectLawsInventoryId(projectLawsInventoryId);
|
||||
homologationEngineer.setConditionAssessment(conditionAssessmentVO.getConditionAssessment());
|
||||
homologationEngineer.setRemark(conditionAssessmentVO.getRemark());
|
||||
homologationEngineer.setRoleCode(ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue());
|
||||
|
||||
list.add(homologationEngineer);
|
||||
|
||||
} else if (StringUtils.equals(roleCode, ProjectRoleEnum.REGULATI_AND_HOMOLOGATION_ENGINEER.getValue())) {
|
||||
roleCodeList.add(ProjectRoleEnum.REGULATI_ENGINEER.getValue());
|
||||
roleCodeList.add(ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue());
|
||||
|
||||
ConditionAssessmentEO regulatiEngineer = new ConditionAssessmentEO();
|
||||
regulatiEngineer.setProjectLawsInventoryId(projectLawsInventoryId);
|
||||
regulatiEngineer.setConditionAssessment(conditionAssessmentVO.getConditionAssessment());
|
||||
regulatiEngineer.setRemark(conditionAssessmentVO.getRemark());
|
||||
regulatiEngineer.setRoleCode(ProjectRoleEnum.REGULATI_ENGINEER.getValue());
|
||||
|
||||
ConditionAssessmentEO homologationEngineer = new ConditionAssessmentEO();
|
||||
homologationEngineer.setProjectLawsInventoryId(projectLawsInventoryId);
|
||||
homologationEngineer.setConditionAssessment(conditionAssessmentVO.getConditionAssessment());
|
||||
homologationEngineer.setRemark(conditionAssessmentVO.getRemark());
|
||||
homologationEngineer.setRoleCode(ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue());
|
||||
|
||||
list.add(regulatiEngineer);
|
||||
list.add(homologationEngineer);
|
||||
}
|
||||
if(CollectionUtils.isNotEmpty(list)){
|
||||
QueryWrapper<ConditionAssessmentEO> deleteWrapper = new QueryWrapper<>();
|
||||
deleteWrapper.lambda().eq(ConditionAssessmentEO::getProjectLawsInventoryId,projectLawsInventoryId);
|
||||
deleteWrapper.lambda().in(ConditionAssessmentEO::getRoleCode,roleCodeList);
|
||||
this.baseMapper.delete(deleteWrapper);
|
||||
|
||||
saveBatch(list);
|
||||
}
|
||||
}
|
||||
|
||||
return Result.ok();
|
||||
}
|
||||
}
|
||||
|
||||
+40
-23
@@ -236,11 +236,26 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
LambdaQueryWrapper<DummyInventoryInfoEO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.in(DummyInventoryInfoEO::getDummyInventoryBaseId,projectLawsInventoryEO.getDummyInventoryBaseId());
|
||||
List<DummyInventoryInfoEO> dummyInventoryInfoEOList = dummyInventoryInfoEOService.list(lambdaQueryWrapper);
|
||||
List<DummyInventoryInfoEO> dummyInventoryInfoEOListNew = new ArrayList<>();
|
||||
if(dummyInventoryInfoEOList.size() != 0){
|
||||
List<ProjectLawsInventoryEO> projectLawsInventoryEOS = new ArrayList<>();
|
||||
//责任领域如果有多个,则需要拆分成多条
|
||||
for (DummyInventoryInfoEO dummyInventoryInfoEO : dummyInventoryInfoEOList) {
|
||||
String dutyTerritory = dummyInventoryInfoEO.getDutyTerritory();
|
||||
if(StringUtils.isNotBlank(dutyTerritory)){
|
||||
for (String dutyTerritoryOne : dutyTerritory.split(",")) {
|
||||
DummyInventoryInfoEO dummyInventoryInfoEONew = new DummyInventoryInfoEO();
|
||||
BeanUtils.copyProperties(dummyInventoryInfoEO,dummyInventoryInfoEONew);
|
||||
dummyInventoryInfoEONew.setDutyTerritory(dutyTerritoryOne);
|
||||
dummyInventoryInfoEOListNew.add(dummyInventoryInfoEONew);
|
||||
}
|
||||
}else{
|
||||
dummyInventoryInfoEOListNew.add(dummyInventoryInfoEO);
|
||||
}
|
||||
}
|
||||
if(projectLawsInventoryEOList.size() ==0){
|
||||
//此时法规清单中没有数据,直接将维护清单中的数据添加即可
|
||||
for (DummyInventoryInfoEO dummyInventoryInfoEO : dummyInventoryInfoEOList) {
|
||||
for (DummyInventoryInfoEO dummyInventoryInfoEO : dummyInventoryInfoEOListNew) {
|
||||
ProjectLawsInventoryEO projectLawsInventoryEOTemp = new ProjectLawsInventoryEO();
|
||||
projectLawsInventoryEOTemp.setProjectLibraryId(projectLawsInventoryEO.getProjectLibraryId());
|
||||
BeanUtils.copyProperties(dummyInventoryInfoEO,projectLawsInventoryEOTemp);
|
||||
@@ -253,7 +268,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
}else{
|
||||
//此时法规清单中有数据,再添加虚拟清单数据时,如果法规清单中已有要填加的虚拟清单数据,则数据以法规清单为准
|
||||
List<ProjectLawsInventoryEO> projectLawsInventoryEOListTemp = new ArrayList<>();
|
||||
for (DummyInventoryInfoEO dummyInventoryInfoEO : dummyInventoryInfoEOList) {
|
||||
for (DummyInventoryInfoEO dummyInventoryInfoEO : dummyInventoryInfoEOListNew) {
|
||||
List<ProjectLawsInventoryEO> collect = projectLawsInventoryEOList.stream()
|
||||
.filter(e -> e.getSerialNumber().equals(dummyInventoryInfoEO.getSerialNumber())).collect(Collectors.toList());
|
||||
if(collect.size() != 0){
|
||||
@@ -426,7 +441,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
Map<String, String> infoDiffEn = ListDiff.compareObject(dataListCopy.get(0),projectLawsInventoryEOCopy);
|
||||
|
||||
//设置更新log
|
||||
setContentLog(infoDiff,contentLog,infoDiffEn,enContentLog,projectLawsInventoryEO.getProjectLibraryId());
|
||||
// setContentLog(infoDiff,contentLog,infoDiffEn,enContentLog,projectLawsInventoryEO.getProjectLibraryId());
|
||||
|
||||
|
||||
//验证用户是否是该法规上级 项目库的studio, 如果是,则同步更新流程
|
||||
@@ -2593,14 +2608,14 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
this.saveBatch(projectLawsInventoryEOList);
|
||||
|
||||
//更新log
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String username = sysUser.getUsername();
|
||||
String projectLibraryId = projectLawsInventoryEOList.get(0).getProjectLibraryId();
|
||||
String serialNumber = projectLawsInventoryEOList.stream().map(e->e.getSerialNumber()).collect(Collectors.joining(","));
|
||||
String contentLog = username+"复制了“"+serialNumber+"”";
|
||||
String enContentLog = username+" copied “"+serialNumber+"”";
|
||||
projectLawsInventoryLogEOService.updateLog(contentLog, projectLibraryId,CutEnum.CN.getValue());
|
||||
projectLawsInventoryLogEOService.updateLog(enContentLog, projectLibraryId,CutEnum.EN.getValue());
|
||||
// LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
// String username = sysUser.getUsername();
|
||||
// String projectLibraryId = projectLawsInventoryEOList.get(0).getProjectLibraryId();
|
||||
// String serialNumber = projectLawsInventoryEOList.stream().map(e->e.getSerialNumber()).collect(Collectors.joining(","));
|
||||
// String contentLog = username+"复制了“"+serialNumber+"”";
|
||||
// String enContentLog = username+" copied “"+serialNumber+"”";
|
||||
// projectLawsInventoryLogEOService.updateLog(contentLog, projectLibraryId,CutEnum.CN.getValue());
|
||||
// projectLawsInventoryLogEOService.updateLog(enContentLog, projectLibraryId,CutEnum.EN.getValue());
|
||||
this.projectTaskInventoryEOService.saveBatch(projectTaskInventoryEOList);
|
||||
}
|
||||
|
||||
@@ -2867,15 +2882,15 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
String enContentIndexStart = enContentLog.substring(0,enContentLog.indexOf("“"));
|
||||
String enContent= enContentLog.substring(enContentIndexStart.length()+1,enContentLog.length());
|
||||
|
||||
if(StringUtils.isNotBlank(content)){
|
||||
contentLog = contentLog.substring(0, contentLog.length() - 5) + "”";
|
||||
projectLawsInventoryLogEOService.updateLog(contentLog, projectLibraryId,CutEnum.CN.getValue());
|
||||
}
|
||||
// if(StringUtils.isNotBlank(content)){
|
||||
// contentLog = contentLog.substring(0, contentLog.length() - 5) + "”";
|
||||
// projectLawsInventoryLogEOService.updateLog(contentLog, projectLibraryId,CutEnum.CN.getValue());
|
||||
// }
|
||||
|
||||
if(StringUtils.isNotBlank(enContent)){
|
||||
enContentLog = enContentLog.substring(0, enContentLog.length() - 5) + "”";
|
||||
projectLawsInventoryLogEOService.updateLog(enContentLog, projectLibraryId,CutEnum.EN.getValue());
|
||||
}
|
||||
// if(StringUtils.isNotBlank(enContent)){
|
||||
// enContentLog = enContentLog.substring(0, enContentLog.length() - 5) + "”";
|
||||
// projectLawsInventoryLogEOService.updateLog(enContentLog, projectLibraryId,CutEnum.EN.getValue());
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4906,10 +4921,12 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
//存在文档库没有的数据
|
||||
List<String> collect = bussDocumentLibraryEOList.stream().map(BussDocumentLibraryEO::getSerialNumber).collect(Collectors.toList());
|
||||
List<String> serialNumbers = serialNumberList.stream().filter(e -> !collect.contains(e)).collect(Collectors.toList());
|
||||
if(CutEnum.CN.getValue().equals(dataList.get(0).getCut())){
|
||||
throw new JeroBootException(StringUtils.join(serialNumbers,",")+"文档库中不存在,不能添加");
|
||||
}else{
|
||||
throw new JeroBootException(StringUtils.join(serialNumbers,",")+" does not exist in the document library and cannot be added");
|
||||
if(serialNumbers.size() > 0){
|
||||
if(CutEnum.CN.getValue().equals(dataList.get(0).getCut())){
|
||||
throw new JeroBootException(StringUtils.join(serialNumbers,",")+"文档库中不存在,不能添加");
|
||||
}else{
|
||||
throw new JeroBootException(StringUtils.join(serialNumbers,",")+" does not exist in the document library and cannot be added");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+91
@@ -18,6 +18,7 @@ import com.jero.modules.project.service.IConditionAssessmentEOService;
|
||||
import com.jero.modules.project.service.IProjectLawsInventoryEOService;
|
||||
import com.jero.modules.project.service.IProjectTaskInventoryEOService;
|
||||
import com.jero.modules.project.util.SendMessageUtils;
|
||||
import com.jero.modules.project.vo.ProjectTaskInventoryVO;
|
||||
import com.jero.modules.system.entity.SysDictItem;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.mapper.SysUserMapper;
|
||||
@@ -459,6 +460,96 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
|
||||
this.baseMapper.delete(deleteWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void editBatch(ProjectTaskInventoryVO projectTaskInventoryVO) {
|
||||
List<String> idList = Arrays.asList(projectTaskInventoryVO.getIds().split(","));
|
||||
|
||||
List<ProjectTaskInventoryEO> updateEOList = new ArrayList<>();
|
||||
for (String id : idList) {
|
||||
ProjectTaskInventoryEO updateEO = new ProjectTaskInventoryEO();
|
||||
updateEO.setId(id);
|
||||
updateEO.setCertificationProgress(projectTaskInventoryVO.getCertificationProgress());
|
||||
updateEO.setCertificationProgressRemark(projectTaskInventoryVO.getCertificationProgressRemark());
|
||||
|
||||
Date now = new Date();
|
||||
updateEO.setUpdateTime(now);
|
||||
|
||||
updateEOList.add(updateEO);
|
||||
}
|
||||
|
||||
updateBatchById(updateEOList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> verifyRoleCode(ProjectTaskInventoryVO projectTaskInventoryVO) {
|
||||
List<String> projectLawsInventoryIdList = Arrays.asList(projectTaskInventoryVO.getProjectLawsInventoryIds().split(","));
|
||||
List<String> roleCodeList = new ArrayList<>();
|
||||
if (StringUtils.isNotEmpty(projectTaskInventoryVO.getRoleCodes())) {
|
||||
roleCodeList = Arrays.asList(projectTaskInventoryVO.getRoleCodes().split(","));
|
||||
}
|
||||
String cut = projectTaskInventoryVO.getCut();
|
||||
String operation = projectTaskInventoryVO.getOperation();
|
||||
|
||||
List<Map<String, String>> msgMapList = new ArrayList<>();
|
||||
for (int i=0; i < projectLawsInventoryIdList.size(); i++) {
|
||||
String projectLawsInventoryId = projectLawsInventoryIdList.get(i);
|
||||
ProjectLawsInventoryEO projectLawsInventoryEO = projectLawsInventoryEOService.getById(projectLawsInventoryId);
|
||||
|
||||
Map<String, String> msgMap = new HashMap<>();
|
||||
if (CollectionUtils.isEmpty(roleCodeList)) {
|
||||
msgMap.put("serialNumber", projectLawsInventoryEO.getSerialNumber());
|
||||
msgMapList.add(msgMap);
|
||||
} else {
|
||||
String roleCode = roleCodeList.get(i);
|
||||
if ("1".equals(operation)) {
|
||||
if (!(ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue().equals(roleCode)
|
||||
|| ProjectRoleEnum.REGULATI_AND_HOMOLOGATION_ENGINEER.getValue().equals(roleCode))) {
|
||||
msgMap.put("serialNumber", projectLawsInventoryEO.getSerialNumber());
|
||||
msgMapList.add(msgMap);
|
||||
}
|
||||
} else if ("2".equals(operation)) {
|
||||
if (!(ProjectRoleEnum.REGULATI_ENGINEER.getValue().equals(roleCode)
|
||||
|| ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue().equals(roleCode)
|
||||
|| ProjectRoleEnum.REGULATI_AND_HOMOLOGATION_ENGINEER.getValue().equals(roleCode))) {
|
||||
msgMap.put("serialNumber", projectLawsInventoryEO.getSerialNumber());
|
||||
msgMapList.add(msgMap);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return getMsg(msgMapList, cut, operation);
|
||||
}
|
||||
|
||||
private List<String> getMsg(List<Map<String, String>> msgMapList, String cut, String operation) {
|
||||
List<String> msgList = new ArrayList<>();
|
||||
|
||||
for (Map<String, String> msgMap : msgMapList) {
|
||||
String serialNumber = msgMap.get("serialNumber");
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
if ("1".equals(operation)) {
|
||||
if (CutEnum.EN.getValue().equals(cut)) {
|
||||
stringBuilder.append("Number ").append("<span style='color: red'>").append(serialNumber).append("</span>").append(", the current user can not maintain homologation progress.");
|
||||
} else {
|
||||
stringBuilder.append("编号").append("<span style='color: red'>").append(serialNumber).append("</span>").append(",当前用户没有维护认证进度权限。");
|
||||
}
|
||||
|
||||
} else if("2".equals(operation)) {
|
||||
if (CutEnum.EN.getValue().equals(cut)) {
|
||||
stringBuilder.append("Number ").append("<span style='color: red'>").append(serialNumber).append("</span>").append(", the current user can not modify current status.");
|
||||
} else {
|
||||
stringBuilder.append("编号").append("<span style='color: red'>").append(serialNumber).append("</span>").append(",当前用户没有修改状态权限。");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
msgList.add(stringBuilder.toString());
|
||||
}
|
||||
|
||||
return msgList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建任务清单列表数据
|
||||
* @param projectTaskInventoryEOList
|
||||
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
package com.jero.modules.project.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ConditionAssessmentVO {
|
||||
|
||||
private String cut;
|
||||
|
||||
// 当前状态
|
||||
private String projectLawsInventoryIds;
|
||||
private String roleCodes;
|
||||
private String conditionAssessment;
|
||||
private String remark;
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
package com.jero.modules.project.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ProjectTaskInventoryVO {
|
||||
|
||||
private String cut;
|
||||
|
||||
// 认证进度
|
||||
private String ids;
|
||||
private String projectLawsInventoryIds;
|
||||
private String roleCodes;
|
||||
private String certificationProgress;
|
||||
private String certificationProgressRemark;
|
||||
|
||||
private String operation; // 1-维护进度,2-修改状态
|
||||
}
|
||||
+1
-1
@@ -146,7 +146,7 @@ public class LawsMonthlyReportManageEOServiceImpl extends ServiceImpl<LawsMonthl
|
||||
this.updateById(lawsMonthlyReportManageEO);
|
||||
|
||||
// 同步es
|
||||
// syncElasticsearch(id, issueStatus, issueTime);
|
||||
syncElasticsearch(id, issueStatus, issueTime);
|
||||
}
|
||||
|
||||
private void syncElasticsearch(String id, String issueStatus, Date issueTime) {
|
||||
|
||||
+106
-49
@@ -4,12 +4,14 @@ package com.jero.modules.searchcenter.service.impl;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
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.common.constant.enums.CutEnum;
|
||||
import com.jero.common.constant.enums.ModuleEnum;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.common.es.JeroElasticsearchTemplate;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.generater.modules.online.cgform.entity.OnlCgformField;
|
||||
import com.jero.generater.modules.online.cgform.service.impl.OnlCgformFieldServiceImpl;
|
||||
import com.jero.modules.collection.entity.OnlCgformCollection;
|
||||
@@ -20,6 +22,9 @@ import com.jero.modules.document.service.IBussDocumentLibraryEOService;
|
||||
import com.jero.modules.document.service.impl.BussDocumentLibraryEOServiceImpl;
|
||||
import com.jero.modules.oss.entity.OSSFile;
|
||||
import com.jero.modules.oss.service.IOSSFileService;
|
||||
import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseUserEO;
|
||||
import com.jero.modules.problemKnowledgeBase.enums.ShowPermissionsEnum;
|
||||
import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBaseUserEOService;
|
||||
import com.jero.modules.searchcenter.vo.SearchVO;
|
||||
import com.jero.modules.subscribe.entity.OnlCgformSubscribe;
|
||||
import com.jero.modules.subscribe.service.IOnlCgformSubscribeService;
|
||||
@@ -30,6 +35,7 @@ import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -65,6 +71,8 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService {
|
||||
private IOnlCgformCollectionService iOnlCgformCollectionService;
|
||||
@Autowired
|
||||
private IOnlCgformSubscribeService iOnlCgformSubscribeService;
|
||||
@Autowired
|
||||
private IProblemKnowledgeBaseUserEOService problemKnowledgeBaseUserEOService;
|
||||
public static final String SEARCH_FLAG = "魑";//标识(es数据带此标识的代表全文和段落的数据,不带此标识的代表列表数据)
|
||||
|
||||
|
||||
@@ -849,6 +857,10 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService {
|
||||
jeroElasticsearchTemplate.removeIndex(SearchEnum.INDEX_NAME_DOCUMENT.getValue());
|
||||
jeroElasticsearchTemplate.removeIndex(SearchEnum.FULL_TEXT_SEARCH_CN.getValue());
|
||||
jeroElasticsearchTemplate.removeIndex(SearchEnum.FULL_TEXT_SEARCH_EN.getValue());
|
||||
|
||||
jeroElasticsearchTemplate.removeIndex(SearchEnum.INDEX_NAME_LAWS_MONTHLY_REPORT.getValue());
|
||||
jeroElasticsearchTemplate.removeIndex(SearchEnum.TYPE_PROBLEM_KNOWLEDGE_BASE_CN.getValue());
|
||||
jeroElasticsearchTemplate.removeIndex(SearchEnum.TYPE_PROBLEM_KNOWLEDGE_BASE_EN.getValue());
|
||||
}
|
||||
|
||||
|
||||
@@ -1089,6 +1101,8 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService {
|
||||
}
|
||||
JSONArray queryJsonMustNot = new JSONArray();
|
||||
|
||||
JSONArray queryShould = new JSONArray();
|
||||
|
||||
String selectValue = (String) map.get("selectValue");
|
||||
String selectValueTwo = (String) map.get("selectValueTwo");
|
||||
String problem_type = (String) map.get("problem_type");
|
||||
@@ -1097,19 +1111,26 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService {
|
||||
List<String> fieldList = new ArrayList<>();
|
||||
fieldList.add("title");//权重5
|
||||
fieldList.add("content");//权重4
|
||||
// fieldList.add("problem_type");//权重3
|
||||
// fieldList.add("target_market"); //权重2
|
||||
fieldList.add("module_type");
|
||||
fieldList.add("id");
|
||||
fieldList.add("flag");
|
||||
//fieldList.add("module_type");
|
||||
//fieldList.add("id");
|
||||
//fieldList.add("flag");
|
||||
|
||||
JSONArray queryMapJson = new JSONArray();
|
||||
JSONArray queryMapInputJson = new JSONArray();
|
||||
JSONArray queryMapJsonTwo = new JSONArray();
|
||||
JSONArray queryMapJsonThree = new JSONArray();
|
||||
JSONArray queryMapJsonProblemType = new JSONArray();
|
||||
JSONArray queryMapJsonTargetMarket = new JSONArray();
|
||||
JSONArray queryMapJsonAll = new JSONArray();
|
||||
|
||||
//基础查询权限,展示权限为公开的,所有人都能查看,展示权限为私密的,只有配置了权限的用户可以查看。
|
||||
if("base".equals("base")){
|
||||
JSONArray queryMapJsonBase = new JSONArray();
|
||||
|
||||
this.createQueryWhere(ShowPermissionsEnum.OPEN.getValue(),"show_permissions",queryMapJsonBase);
|
||||
|
||||
JSONObject jsonObject = jeroElasticsearchTemplate.buildBoolQuery(null, null, queryMapJsonBase);
|
||||
queryMapJsonAll.add(jsonObject);
|
||||
}
|
||||
|
||||
Map<String,Object> mapHighlight = new HashMap<>();
|
||||
Map<String,Object> mapHighlight1 = new HashMap<>();
|
||||
//封装首次的条件
|
||||
@@ -1124,14 +1145,19 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService {
|
||||
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);
|
||||
}
|
||||
|
||||
map3.put("query",selectValue);
|
||||
map2.put(field, map3);
|
||||
map4.put("match",map2);
|
||||
queryMapJson.add(map4);
|
||||
//特殊处理标题字段
|
||||
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);
|
||||
}
|
||||
queryMapInputJson.add(map4);
|
||||
|
||||
//高亮
|
||||
if(!"flag".equals(field)){
|
||||
@@ -1143,41 +1169,23 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService {
|
||||
|
||||
//封装问题类型选择框查询条件。
|
||||
if (StringUtils.isNotBlank(problem_type)) {
|
||||
Map<String, Object> map2 = new HashMap<>();
|
||||
Map<String, Object> map3 = new HashMap<>();
|
||||
Map<String, Object> map4 = new HashMap<>();
|
||||
|
||||
map3.put("query",problem_type);
|
||||
map2.put("problem_type", map3);
|
||||
map4.put("match",map2);
|
||||
queryMapJson.add(map4);
|
||||
//高亮
|
||||
highlight(mapHighlight, problem_type);
|
||||
|
||||
mapHighlight1.put("fields",mapHighlight);
|
||||
this.createQueryWhere(problem_type,"problem_type",queryMapJson);
|
||||
}
|
||||
|
||||
//封装市场选择框查询条件。
|
||||
if (StringUtils.isNotBlank(target_market)) {
|
||||
Map<String, Object> map2 = new HashMap<>();
|
||||
Map<String, Object> map3 = new HashMap<>();
|
||||
Map<String, Object> map4 = new HashMap<>();
|
||||
|
||||
map3.put("query",target_market);
|
||||
map2.put("target_market", map3);
|
||||
map4.put("match",map2);
|
||||
queryMapJson.add(map4);
|
||||
//高亮
|
||||
highlight(mapHighlight, target_market);
|
||||
|
||||
mapHighlight1.put("fields",mapHighlight);
|
||||
this.createQueryWhere(target_market,"target_market",queryMapJson);
|
||||
}
|
||||
|
||||
|
||||
if(CollectionUtils.isNotEmpty(queryMapJson)){
|
||||
JSONObject jsonObject = jeroElasticsearchTemplate.buildBoolQuery(null, null, queryMapJson);
|
||||
JSONObject jsonObject = jeroElasticsearchTemplate.buildBoolQuery(queryMapJson, null, null);
|
||||
queryMapJsonAll.add(jsonObject);
|
||||
}
|
||||
if(CollectionUtils.isNotEmpty(queryMapInputJson)){
|
||||
JSONObject jsonObject = jeroElasticsearchTemplate.buildBoolQuery(null, null, queryMapInputJson);
|
||||
queryMapJsonAll.add(jsonObject);
|
||||
}
|
||||
|
||||
//封装二次的条件
|
||||
if (StringUtils.isNotBlank(selectValueTwo)) {
|
||||
for (String field : fieldList) {
|
||||
@@ -1190,13 +1198,10 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService {
|
||||
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);
|
||||
}
|
||||
|
||||
//特殊处理编号字段
|
||||
map3.put("query",selectValueTwo);
|
||||
// map3.put("minimum_should_match",2);
|
||||
map2.put(field, map3);
|
||||
queryMap.put("match", map2);
|
||||
|
||||
@@ -1237,20 +1242,20 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService {
|
||||
Integer pageNo = Integer.parseInt(map.get("pageNo").toString());
|
||||
Integer pageSize = Integer.parseInt(map.get("pageSize").toString());
|
||||
IPage page = this.getProblemKnowledgeBasePage(selectValue, selectValueTwo, queryMapJsonAll, mapHighlight1,null,
|
||||
pageNo, pageSize, null,(String) map.get("cut"),sort,queryJsonMustNot);
|
||||
pageNo, pageSize, null,(String) map.get("cut"),sort,queryJsonMustNot,queryShould);
|
||||
return page;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private IPage getProblemKnowledgeBasePage(String selectValue, String selectValueTwo, JSONArray queryMapJson,Map<String,Object> highlightMap,
|
||||
JSONArray should, Integer pageNo, Integer pageSize, String paragraphFlag,
|
||||
String cut,JSONObject querySort,JSONArray queryMustNot) {
|
||||
String cut,JSONObject querySort,JSONArray queryMustNot,JSONArray queryShould) {
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
//基础添加封装
|
||||
if ("paragraphFlag".equals(paragraphFlag)) {
|
||||
jsonObject = jeroElasticsearchTemplate.buildBoolQuery(queryMapJson, queryMustNot, null);
|
||||
jsonObject = jeroElasticsearchTemplate.buildBoolQuery(queryMapJson, queryMustNot, queryShould);
|
||||
} else {
|
||||
jsonObject = jeroElasticsearchTemplate.buildBoolQuery(queryMapJson, queryMustNot, null);
|
||||
jsonObject = jeroElasticsearchTemplate.buildBoolQuery(queryMapJson, queryMustNot, queryShould);
|
||||
}
|
||||
JSONArray jsonArraySort = new JSONArray();
|
||||
jsonArraySort.add(querySort);
|
||||
@@ -1291,10 +1296,10 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService {
|
||||
mapSource.put(key,fieldConyent);
|
||||
}
|
||||
//如果这一条数据中有高亮字段值,但是file_text中没有高亮值, 则赋控制,否则列表中会展示所有的文件内容, 赋空后,则展示基础数据
|
||||
String fileText = (String) mapSource.get("content");
|
||||
/*String fileText = (String) mapSource.get("content");
|
||||
if(StringUtils.isNotBlank(fileText) && !fileText.contains("<text class='highlight-class'>")){
|
||||
mapSource.put("content","");
|
||||
}
|
||||
}*/
|
||||
}
|
||||
mapList.add(mapSource);
|
||||
}
|
||||
@@ -1313,6 +1318,58 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService {
|
||||
return page;
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建查询条件
|
||||
* @param queryValue 查询的值
|
||||
* @param fieldKey 查询的字段
|
||||
* @param jsonArray
|
||||
*/
|
||||
public void createQueryWhere (String queryValue,String fieldKey,JSONArray jsonArray){
|
||||
/**
|
||||
* fieldKeyMap:字段keyMap,用于存 需要查询的字段 以及字段中的条件 "queryMap"
|
||||
* queryMap:存放查询条件map
|
||||
* matchMap:匹配Map
|
||||
*/
|
||||
Map<String, Object> fieldKeyMap = new HashMap<>();
|
||||
Map<String, Object> queryMap = new HashMap<>();
|
||||
Map<String, Object> matchMap = new HashMap<>();
|
||||
|
||||
queryMap.put("query", queryValue);
|
||||
fieldKeyMap.put(fieldKey, queryMap);
|
||||
matchMap.put("match",fieldKeyMap);
|
||||
|
||||
// 如果是私密,并且查询字段key是展示权限 的话,查询当前用户拥有权限的问题知识库数据
|
||||
if(StringUtils.equals(fieldKey,"show_permissions")){
|
||||
//查询出当前登录人所拥有的问题知识库私密数据权限。
|
||||
LoginUser currentOperatorUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
QueryWrapper<ProblemKnowledgeBaseUserEO> userPermissionQueryWrapper = new QueryWrapper<>();
|
||||
userPermissionQueryWrapper.lambda().eq(ProblemKnowledgeBaseUserEO::getUserId,currentOperatorUser.getId());
|
||||
List<ProblemKnowledgeBaseUserEO> problemKnowledgeBaseUserEOList = this.problemKnowledgeBaseUserEOService.list(userPermissionQueryWrapper);
|
||||
|
||||
if(CollectionUtils.isNotEmpty(problemKnowledgeBaseUserEOList)){
|
||||
List<String> problemKnowledgeBaseIdList = problemKnowledgeBaseUserEOList.stream().map(ProblemKnowledgeBaseUserEO::getProblemKnowledgeBaseId).distinct().collect(Collectors.toList());
|
||||
|
||||
//in查询该用户拥有权限的问题知识库id。
|
||||
Map<String, Object> fieldKeyMap2 = new HashMap<>();
|
||||
Map<String, Object> matchMap2 = new HashMap<>();
|
||||
fieldKeyMap2.put("id", problemKnowledgeBaseIdList);
|
||||
matchMap2.put("terms",fieldKeyMap2);
|
||||
jsonArray.add(matchMap2);
|
||||
}else {
|
||||
Map<String, Object> fieldKeyMap2 = new HashMap<>();
|
||||
Map<String, Object> queryMap2 = new HashMap<>();
|
||||
Map<String, Object> matchMap2 = new HashMap<>();
|
||||
|
||||
queryMap2.put("query", "null");
|
||||
fieldKeyMap2.put("id", queryMap2);
|
||||
matchMap2.put("match",fieldKeyMap2);
|
||||
jsonArray.add(matchMap2);
|
||||
}
|
||||
}
|
||||
|
||||
jsonArray.add(matchMap);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
+28
-22
@@ -64,12 +64,8 @@ public class LawsMonthlyReportSearchServiceImpl implements ILawsMonthlyReportSea
|
||||
String selectValueTwo = searchVO.getSelectValueTwo();
|
||||
//1. 需要查询的字段
|
||||
List<String> fieldList = new ArrayList<>();
|
||||
fieldList.add("title");//权重5
|
||||
fieldList.add("file_text");//权重4
|
||||
fieldList.add("content");//权重3
|
||||
fieldList.add("file_name"); //权重2
|
||||
fieldList.add("module_type");
|
||||
fieldList.add("id");
|
||||
fieldList.add("title");//权重2
|
||||
fieldList.add("content");//权重1
|
||||
fieldList.add("flag");
|
||||
|
||||
JSONArray queryMapJson = new JSONArray();
|
||||
@@ -87,17 +83,21 @@ public class LawsMonthlyReportSearchServiceImpl implements ILawsMonthlyReportSea
|
||||
Map<String, Object> map4 = new HashMap<>();
|
||||
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("title")){
|
||||
// map2放最内层
|
||||
map2.put(field, "*" + selectValue + "*");
|
||||
|
||||
map3.put("query",selectValue);
|
||||
map2.put(field, map3);
|
||||
map4.put("match",map2);
|
||||
// map4放query
|
||||
map4.put("wildcard",map2);
|
||||
} else {
|
||||
map3.put("query", selectValue);
|
||||
map2.put(field, map3);
|
||||
map4.put("match", map2);
|
||||
}
|
||||
queryMapJson.add(map4);
|
||||
|
||||
//高亮
|
||||
@@ -119,19 +119,22 @@ public class LawsMonthlyReportSearchServiceImpl implements ILawsMonthlyReportSea
|
||||
Map<String, Object> map3 = new HashMap<>();
|
||||
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);
|
||||
}
|
||||
|
||||
//特殊处理编号字段
|
||||
map3.put("query",selectValueTwo);
|
||||
// 标题字段 通配符模糊匹配
|
||||
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);
|
||||
map2.put(field, map3);
|
||||
queryMap.put("match", map2);
|
||||
}
|
||||
|
||||
queryMapJsonTwo.add(queryMap);
|
||||
//高亮
|
||||
@@ -190,8 +193,11 @@ public class LawsMonthlyReportSearchServiceImpl implements ILawsMonthlyReportSea
|
||||
} else {
|
||||
jsonObject = jeroElasticsearchTemplate.buildBoolQuery(queryMapJson, queryMustNot, null);
|
||||
}
|
||||
|
||||
JSONArray jsonArraySort = new JSONArray();
|
||||
jsonArraySort.add(querySort);
|
||||
if (SEARCH_FLAG.equals(selectValue) && StringUtils.isEmpty(selectValueTwo)) {
|
||||
jsonArraySort.add(querySort);
|
||||
}
|
||||
|
||||
//1. 条件,分页
|
||||
JSONObject queryObject = jeroElasticsearchTemplate.buildQuery(null,
|
||||
|
||||
+13
-7
@@ -1,6 +1,6 @@
|
||||
package com.jero.modules.split.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
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.common.api.vo.Result;
|
||||
@@ -9,6 +9,7 @@ import com.jero.common.constant.enums.CutEnum;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.modules.document.service.IBussDocumentLibraryEOService;
|
||||
import com.jero.modules.lanswitch.service.ILanguageSwitchService;
|
||||
import com.jero.modules.ocr.util.LineHumpUtil;
|
||||
import com.jero.modules.split.entity.SarFileSplitInfoEO;
|
||||
import com.jero.modules.split.page.SarFileSplitInfoEOPage;
|
||||
import com.jero.modules.split.service.ISarFileSplitInfoService;
|
||||
@@ -59,7 +60,7 @@ public class SarFileSplitInfoController extends JeroController<SarFileSplitInfoE
|
||||
@GetMapping(value = "/page")
|
||||
@RequiresPermissions("split:sarFileSplitInfo:page")
|
||||
public Result<?> queryPageList(SarFileSplitInfoEOPage sarFileSplitInfoEOPage) {
|
||||
LambdaQueryWrapper<SarFileSplitInfoEO> queryWrapper = new LambdaQueryWrapper<>();
|
||||
QueryWrapper<SarFileSplitInfoEO> queryWrapper = new QueryWrapper<>();
|
||||
if(StringUtils.isNotEmpty(sarFileSplitInfoEOPage.getSerialNumber())){
|
||||
sarFileSplitInfoEOPage.setSerialNumber(sarFileSplitInfoEOPage.getSerialNumber().replace("%","\\%"));
|
||||
}
|
||||
@@ -67,13 +68,18 @@ public class SarFileSplitInfoController extends JeroController<SarFileSplitInfoE
|
||||
sarFileSplitInfoEOPage.setTitle(sarFileSplitInfoEOPage.getTitle().replace("%","\\%"));
|
||||
}
|
||||
if(StringUtils.isNotEmpty(sarFileSplitInfoEOPage.getFileId())){//判断是不是以及传回文档库
|
||||
queryWrapper.isNotNull(SarFileSplitInfoEO::getFileId);
|
||||
queryWrapper.lambda().isNotNull(SarFileSplitInfoEO::getFileId);
|
||||
}
|
||||
queryWrapper.like(StringUtils.isNotEmpty(sarFileSplitInfoEOPage.getSerialNumber()), SarFileSplitInfoEO::getSerialNumber, sarFileSplitInfoEOPage.getSerialNumber())
|
||||
if(StringUtils.isNotBlank(sarFileSplitInfoEOPage.getOrderByField())){
|
||||
sarFileSplitInfoEOPage.setOrderByField(LineHumpUtil.humpToLine2(sarFileSplitInfoEOPage.getOrderByField()));
|
||||
}
|
||||
|
||||
queryWrapper.lambda().like(StringUtils.isNotEmpty(sarFileSplitInfoEOPage.getSerialNumber()), SarFileSplitInfoEO::getSerialNumber, sarFileSplitInfoEOPage.getSerialNumber())
|
||||
.like(StringUtils.isNotEmpty(sarFileSplitInfoEOPage.getTitle()) && CutEnum.CN.getValue().equals(sarFileSplitInfoEOPage.getCut()), SarFileSplitInfoEO::getTitle, sarFileSplitInfoEOPage.getTitle())
|
||||
.like(StringUtils.isNotEmpty(sarFileSplitInfoEOPage.getTitle()) && CutEnum.EN.getValue().equals(sarFileSplitInfoEOPage.getCut()), SarFileSplitInfoEO::getTitleEn, sarFileSplitInfoEOPage.getTitle())
|
||||
.orderBy(StringUtils.isNotBlank(sarFileSplitInfoEOPage.getOrderByField()), "1".equals(sarFileSplitInfoEOPage.getOrderBy())?true:false, SarFileSplitInfoEO::getCreateTime)
|
||||
.orderBy(StringUtils.isBlank(sarFileSplitInfoEOPage.getOrderByField()), false, SarFileSplitInfoEO::getCreateTime);
|
||||
.like(StringUtils.isNotEmpty(sarFileSplitInfoEOPage.getTitle()) && CutEnum.EN.getValue().equals(sarFileSplitInfoEOPage.getCut()), SarFileSplitInfoEO::getTitleEn, sarFileSplitInfoEOPage.getTitle());
|
||||
|
||||
queryWrapper.orderBy(StringUtils.isNotBlank(sarFileSplitInfoEOPage.getOrderByField()), "1".equals(sarFileSplitInfoEOPage.getOrderBy())?true:false, sarFileSplitInfoEOPage.getOrderByField())
|
||||
.orderBy(StringUtils.isBlank(sarFileSplitInfoEOPage.getOrderByField()), false, "create_time");
|
||||
Page<SarFileSplitInfoEO> page = new Page<SarFileSplitInfoEO>(sarFileSplitInfoEOPage.getPageNo(), sarFileSplitInfoEOPage.getPageSize());
|
||||
IPage<SarFileSplitInfoEO> pageList = sarFileSplitInfoService.page(page, queryWrapper);
|
||||
List<SarFileSplitInfoEO> rows = pageList.getRecords();
|
||||
|
||||
+10
-4
@@ -24,7 +24,6 @@ import com.jero.generater.modules.online.cgform.entity.OnlCgformField;
|
||||
import com.jero.generater.modules.online.cgform.service.impl.OnlCgformFieldServiceImpl;
|
||||
import com.jero.modules.document.enums.FieldTypeEnum;
|
||||
import com.jero.modules.document.service.IBussDocumentLibraryEOService;
|
||||
import com.jero.modules.ocr.util.LineHumpUtil;
|
||||
import com.jero.modules.ocr.util.UUIDUtils;
|
||||
import com.jero.modules.oss.entity.OSSFile;
|
||||
import com.jero.modules.oss.service.IOSSFileService;
|
||||
@@ -72,7 +71,6 @@ import org.apache.poi.xssf.usermodel.XSSFSheet;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.mock.web.MockMultipartFile;
|
||||
@@ -81,12 +79,10 @@ import org.springframework.transaction.annotation.Propagation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import sun.misc.BASE64Decoder;
|
||||
import sun.misc.BASE64Encoder;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.*;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Paths;
|
||||
import java.nio.file.StandardOpenOption;
|
||||
@@ -792,6 +788,16 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
|
||||
//处理列表表头排序
|
||||
if("page".equals(type)) {
|
||||
conditionSb.append(" order by SAR_FILE_SPLIT_MENU.display_seq asc");
|
||||
|
||||
if (StringUtils.isNotBlank((String) parameter.get("orderByField"))) {
|
||||
conditionSb.append(", sar_file_split_items." + (String) parameter.get("orderByField"));
|
||||
if ("1".equals((String) parameter.get("orderBy"))) {
|
||||
conditionSb.append(" asc");//正序
|
||||
} else if ("2".equals((String) parameter.get("orderBy"))) {
|
||||
conditionSb.append(" desc");//倒序
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
String condition = conditionSb.toString();
|
||||
return condition;
|
||||
|
||||
Reference in New Issue
Block a user