浏览代码

Merge branch 'dev' of http://219.151.181.73:3000/zhuwei/bladex into dev

laibulaizheli 2 周之前
父节点
当前提交
7ed32a3300

+ 79 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/entity/DqOperationLog.java

@@ -0,0 +1,79 @@
+package org.springblade.manager.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import io.swagger.annotations.ApiModelProperty;
+import org.springblade.core.mp.base.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.secure.BladeUser;
+import org.springblade.core.secure.utils.AuthUtil;
+
+import java.util.Date;
+
+
+@Data
+@TableName("u_dq_operation_log")
+@EqualsAndHashCode(callSuper = true)
+public class DqOperationLog extends BaseEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty("项目id")
+    private Long projectId;
+
+    @ApiModelProperty("节点pKeyId")
+    private Long nodeId;
+
+    /**
+     * 操作类型
+     */
+    @ApiModelProperty("操作类型, 1:保存,2:删除")
+    private Integer operationType;
+
+    /**
+     * 参数
+     */
+    @ApiModelProperty("参数")
+    private String operationContent;
+
+    /**
+     * 旧内容
+     */
+    @ApiModelProperty("旧内容")
+    private String oldContent;
+
+    /**
+     * 新内容
+     */
+    @ApiModelProperty("新内容")
+    private String newContent;
+
+    /**
+     * textdict_info ids
+     */
+    @ApiModelProperty("textdict_info ids")
+    private String businessId;
+
+    @ApiModelProperty("操作人")
+    private String createUserName;
+
+
+
+    public DqOperationLog() {
+    }
+
+    public DqOperationLog(WbsTreePrivate wbsTreePrivate, BladeUser user, String businessId, Integer type, String param, String oldContent, String newContent) {
+        this.projectId = Long.parseLong(wbsTreePrivate.getProjectId());
+        this.nodeId = wbsTreePrivate.getPKeyId();
+        this.operationType = type;
+        this.operationContent = param;
+        this.createUserName = user.getUserName();
+        this.businessId = businessId;
+        this.oldContent = oldContent;
+        this.newContent = newContent;
+        this.setCreateTime(new Date());
+        this.setCreateUser(user.getUserId());
+        this.setCreateUserName(user.getUserName());
+    }
+}

+ 5 - 4
blade-service/blade-archive/src/main/java/org/springblade/archive/service/impl/ArchivesAutoServiceImpl.java

@@ -447,6 +447,7 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 				if (fileUrl.contains("$$$")) {
 					fileUrl = fileUrl.substring(0, fileUrl.indexOf("$$$"));
 				}
+				fileUrl = fileUrl.trim();
 				if (frontUrl.contains("$$$")) {
 					fileId = frontUrl.substring(frontUrl.indexOf("$$$") + 3);
 				} else {
@@ -2887,11 +2888,11 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 				//				urlList.add(frontUrls[1]);
 				//			}
 				if (StringUtils.isNotEmpty(front)) {
-					urlList.add(front);
+					urlList.add(front.trim());
 				}
 
 				if (StringUtils.isNotEmpty(cataLog)) {
-					urlList.add(cataLog);
+					urlList.add(cataLog.trim());
 				}
 
 				urlList.addAll(fileUrls);
@@ -2901,11 +2902,11 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 				//				urlList.add(frontUrls[3]);
 				//			}
 				if (StringUtils.isNotEmpty(spare)) {
-					urlList.add(spare);
+					urlList.add(spare.trim());
 				}
 
 				if (StringUtils.isNotEmpty(back)) {
-					urlList.add(back);
+					urlList.add(back.trim());
 				}
 				String fileName = SnowFlakeUtil.getId().toString();
 				url = archiveAutoPdfService.MergePdfAndUpload(urlList, fileName, null, archivesAuto.getProjectId());

+ 1 - 1
blade-service/blade-e-visa/src/main/java/org/springblade/evisa/service/impl/EVDataServiceImpl.java

@@ -220,7 +220,7 @@ public class EVDataServiceImpl implements EVDataService {
                     Long pdfSize = 0L;
                     String nodePdfUrl = "";
 
-                    List<Map<String, Object>> mapList = jdbcTemplate.queryForList("select *,domain_url as url from m_table_file where is_deleted = 0 and type in (10,11,12) and tab_id = (select wbs_id from u_information_query WHERE id = + " + taskApp.getFormDataId() + ")");
+                    List<Map<String, Object>> mapList = jdbcTemplate.queryForList("select *,domain_url as url from m_table_file where is_deleted = 0 and type in (10,11,12) and (tab_id,classify) in (select wbs_id, classify from u_information_query WHERE id = + " + taskApp.getFormDataId() + ")");
                     if (Func.isNotEmpty(mapList) && mapList.size() >= 1) {
                         String file_path = FileUtils.getSysLocalFileUrl();
                         List<String> datainfo = new ArrayList<>();

+ 3 - 2
blade-service/blade-manager/src/main/java/com/mixsmart/utils/CustomFunction.java

@@ -18,6 +18,7 @@ import org.springblade.manager.entity.WbsTreeContract;
 import org.springblade.manager.utils.RandomNumberHolder;
 
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
@@ -1749,13 +1750,13 @@ public class CustomFunction {
             for (Object obj : l1) {
                 String[] arr = obj.toString().split("[×xX*/]");
                 if (Arrays.stream(Arrays.stream(arr).toArray()).allMatch(StringUtils::isNumber)) {
-                    if (Arrays.stream(Arrays.stream(arr).toArray()).map(StringUtils::handleNull).map(Double::parseDouble).noneMatch(e -> e > finalMax || e < finalMin)) {
+                    if (Arrays.stream(Arrays.stream(arr).toArray()).map(StringUtils::handleNull).map(item -> new BigDecimal(item).setScale(8, RoundingMode.HALF_UP).doubleValue()).noneMatch(e -> e > finalMax || e < finalMin)) {
                         result.add(obj);
                     }
                 }
             }
         }
-        List<Object> l2 = datas.stream().filter(StringUtils::isNumber).map(StringUtils::handleNull).map(Double::parseDouble).filter(e -> e <= finalMax && e >= finalMin).collect(Collectors.toList());
+        List<Object> l2 = datas.stream().filter(StringUtils::isNumber).map(StringUtils::handleNull).map(item -> new BigDecimal(item).setScale(8, RoundingMode.HALF_UP).doubleValue()).filter(e -> e <= finalMax && e >= finalMin).collect(Collectors.toList());
         if (ListUtils.isNotEmpty(l2)) {
             result.addAll(l2);
         }

+ 25 - 6
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/TextdictInfoController.java

@@ -35,14 +35,19 @@ import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.redis.cache.BladeRedis;
+import org.springblade.core.secure.BladeUser;
+import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.*;
+import org.springblade.manager.entity.DqOperationLog;
 import org.springblade.manager.entity.TextdictInfo;
 import org.springblade.manager.entity.WbsTreeContract;
 import org.springblade.manager.entity.WbsTreePrivate;
 import org.springblade.manager.mapper.WbsTreePrivateMapper;
+import org.springblade.manager.service.IDqOperationLogService;
 import org.springblade.manager.service.ITextdictInfoService;
+import org.springblade.manager.service.impl.DqOperationLogServiceImpl;
 import org.springblade.manager.service.impl.WbsTreeContractServiceImpl;
 import org.springblade.manager.utils.ExcelInfoUtils;
 import org.springblade.manager.utils.FileUtils;
@@ -58,10 +63,7 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -81,6 +83,7 @@ public class TextdictInfoController extends BladeController {
     private final WbsTreeContractServiceImpl wbsTreeContractService;
     private final BladeRedis bladeRedis;
     private final JdbcTemplate jdbcTemplate;
+    private final IDqOperationLogService dqOperationLogService;
 
     /**
      * 详情
@@ -237,9 +240,14 @@ public class TextdictInfoController extends BladeController {
             File writeFile = new File(wbsTreePrivate.getHtmlUrl());
             FileUtil.writeToFile(writeFile, doc.html(), Boolean.parseBoolean("UTF-8"));
         }
-
         //批量删除
         delIds.add(ids);
+        if (textdictInfo.getType() == 6 || textdictInfo.getType() == 2) {
+            JSONObject param = new JSONObject();
+            param.put("ids", ids);
+            param.put("tabId", tabId);
+            dqOperationLogService.save(new DqOperationLog(wbsTreePrivate, AuthUtil.getUser(), String.join( ",", delIds), 2,param.toJSONString(), JSON.toJSONString(query), ""));
+        }
         textdictInfoService.getBaseMapper().deleteBatchIds(delIds);
 
         return R.success("删除成功");
@@ -461,6 +469,8 @@ public class TextdictInfoController extends BladeController {
         String ids = StringUtils.join(pKeyIds, ",");
 
         //删除历史数据
+        String querySql = "select * from m_textdict_info where (tab_id in(SELECT p_key_id from m_wbs_tree_private where project_id='"+wbsTreePrivate.getProjectId()+"' and excel_id='"+wbsTreePrivate.getExcelId()+"' and type=2 and is_deleted=0) or (excel_id="+wbsTreePrivate.getExcelId()+" AND project_id='"+wbsTreePrivate.getProjectId()+"')) and project_id="+wbsTreePrivate.getProjectId()+" and type in(2,6) ";
+        List<TextdictInfo> oldTextdictInfos = jdbcTemplate.query(querySql, new BeanPropertyRowMapper<>(TextdictInfo.class));
         String delSql = "delete from m_textdict_info where (tab_id in(SELECT p_key_id from m_wbs_tree_private where project_id='"+wbsTreePrivate.getProjectId()+"' and excel_id='"+wbsTreePrivate.getExcelId()+"' and type=2 and is_deleted=0) or (excel_id="+wbsTreePrivate.getExcelId()+" AND project_id='"+wbsTreePrivate.getProjectId()+"')) and project_id="+wbsTreePrivate.getProjectId()+" and type in(2,6) ";
         jdbcTemplate.execute(delSql);
 
@@ -468,6 +478,8 @@ public class TextdictInfoController extends BladeController {
         Map<String,String> keyMap = new HashMap<>();
 
         // ------- 查询数据库是否存在 该该电签信息 ---------
+        StringBuilder dqIds = new StringBuilder();
+        List<TextdictInfo> newTextDictInfos = new ArrayList<>();
         for (int i = 0; i < jsonArray.size(); i++) {
             JSONObject jsonObject = jsonArray.getJSONObject(i);
             TextdictInfo textdictInfo = new TextdictInfo();
@@ -514,6 +526,8 @@ public class TextdictInfoController extends BladeController {
             }else{
                 textdictInfoService.save(textdictInfo);
             }
+            newTextDictInfos.add(textdictInfo);
+            dqIds.append(textdictInfo.getId()).append( ",");
             String dqId = "";
             if(keyMap.containsKey(keky)){
                 dqId = keyMap.get(keky)+"||"+textdictInfo.getId();
@@ -557,7 +571,12 @@ public class TextdictInfoController extends BladeController {
             String updateSqlC = "update m_wbs_tree_contract set html_url = '" + replace + "' where p_key_id in (" + cPkeyIdsStr + ") and project_id="+wbsTreePrivate.getProjectId()+"";
             jdbcTemplate.execute(updateSqlC);
         }
-
+        BladeUser user = AuthUtil.getUser();
+        DqOperationLog log = new DqOperationLog(wbsTreePrivate, user, "", 1, dataInfo.toJSONString(), JSON.toJSONString(oldTextdictInfos), JSON.toJSONString(newTextDictInfos));
+        if (dqIds.length() > 1) {
+            log.setBusinessId(dqIds.deleteCharAt(dqIds.length() - 1).toString());
+        }
+        dqOperationLogService.save(log);
         bladeRedis.set("save-eVis-lock:" + SecureUtil.getUserId(), "1");
         bladeRedis.expire("save-eVis-lock:" + SecureUtil.getUserId(), 3);
 

+ 8 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/DqOperationLogMapper.java

@@ -0,0 +1,8 @@
+package org.springblade.manager.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springblade.manager.entity.DqOperationLog;
+import org.springblade.manager.entity.FormulaBase;
+
+public interface DqOperationLogMapper extends BaseMapper<DqOperationLog> {
+}

+ 25 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/DqOperationLogMapper.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.manager.mapper.DqOperationLogMapper">
+
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="resultMap" type="org.springblade.manager.entity.DqOperationLog">
+        <result column="id" property="id"/>
+        <result column="create_time" property="createTime"/>
+        <result column="create_user" property="createUser"/>
+        <result column="create_dept" property="createDept"/>
+        <result column="update_user" property="updateUser"/>
+        <result column="update_time" property="updateTime"/>
+        <result column="status" property="status"/>
+        <result column="is_deleted" property="isDeleted"/>
+        <result column="project_id" property="projectId"/>
+        <result column="node_id" property="nodeId"/>
+        <result column="operation_type" property="operationType"/>
+        <result column="operation_content" property="operationContent"/>
+        <result column="business_id" property="businessId"/>
+        <result column="old_content" property="oldContent"/>
+        <result column="new_content" property="newContent"/>
+    </resultMap>
+
+</mapper>

+ 12 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/IDqOperationLogService.java

@@ -0,0 +1,12 @@
+package org.springblade.manager.service;
+
+import org.springblade.core.mp.base.BaseService;
+import org.springblade.manager.entity.*;
+
+
+/**
+ * @author yangyj
+ */
+public interface IDqOperationLogService extends BaseService<DqOperationLog> {
+
+}

+ 13 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/DqOperationLogServiceImpl.java

@@ -0,0 +1,13 @@
+package org.springblade.manager.service.impl;
+
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.manager.entity.DqOperationLog;
+import org.springblade.manager.mapper.DqOperationLogMapper;
+import org.springblade.manager.service.IDqOperationLogService;
+import org.springframework.stereotype.Service;
+
+
+@Service
+public class DqOperationLogServiceImpl extends BaseServiceImpl<DqOperationLogMapper, DqOperationLog> implements IDqOperationLogService {
+
+}

+ 12 - 0
blade-service/blade-repair/pom.xml

@@ -81,5 +81,17 @@
             <artifactId>commons-io</artifactId>
             <version>2.11.0</version>
         </dependency>
+        <dependency>
+            <groupId>com.lowagie</groupId>
+            <artifactId>itext</artifactId>
+            <version>4.2.2</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.itextpdf</groupId>
+            <artifactId>itextpdf</artifactId>
+            <version>5.5.13.3</version>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
 </project>

+ 1 - 1
blade-service/blade-repair/src/main/java/org/springblade/repair/util/FileUtils.java

@@ -1,6 +1,6 @@
 package org.springblade.repair.util;
 
-import com.itextpdf.text.Document;
+import com.itextpdf.text  .Document;
 import com.itextpdf.text.pdf.PdfCopy;
 import com.itextpdf.text.pdf.PdfReader;
 import org.springblade.common.constant.CommonConstant;