文档拆分条款-导入拆分结果
This commit is contained in:
-56
@@ -1,56 +0,0 @@
|
||||
package com.jero.modules.opensso;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.net.URLConnection;
|
||||
|
||||
/**
|
||||
* @Description
|
||||
* @Author liyawei
|
||||
* @Create 2021/8/17
|
||||
*/
|
||||
public class URLRequestResultUtil {
|
||||
public static String getProxyRequestResult(String url) {
|
||||
StringBuffer requestResult = new StringBuffer();
|
||||
BufferedReader in = null;
|
||||
|
||||
try {
|
||||
System.out.println(url);
|
||||
URL realUrl = new URL(url);
|
||||
// 打开和URL之间的连接
|
||||
URLConnection connection = realUrl.openConnection();
|
||||
// 设置通用的请求属性
|
||||
connection.setRequestProperty("accept", "*/*");
|
||||
connection.setRequestProperty("connection", "Keep-Alive");
|
||||
connection.setRequestProperty("user-agent",
|
||||
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
|
||||
// 建立实际的连接
|
||||
connection.connect();
|
||||
// 定义 BufferedReader输入流来读取URL的响应
|
||||
in = new BufferedReader(new InputStreamReader(
|
||||
connection.getInputStream(), "utf-8"));
|
||||
String line;
|
||||
while ((line = in.readLine()) != null) {
|
||||
requestResult.append(line);
|
||||
}
|
||||
}
|
||||
// 使用finally块来关闭输入流
|
||||
catch (MalformedURLException e) {
|
||||
e.printStackTrace();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
try {
|
||||
if (in != null) {
|
||||
in.close();
|
||||
}
|
||||
} catch (Exception e2) {
|
||||
e2.printStackTrace();
|
||||
}
|
||||
}
|
||||
return requestResult.toString();
|
||||
}
|
||||
}
|
||||
+15
-19
@@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.constant.CommonConstant;
|
||||
import com.jero.common.system.api.ISysBaseAPI;
|
||||
import com.jero.common.system.util.JwtUtil;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.RedisUtil;
|
||||
@@ -16,9 +15,7 @@ import com.jero.modules.system.entity.SysDepart;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.service.ISysDepartService;
|
||||
import com.jero.modules.system.service.ISysDictService;
|
||||
import com.jero.modules.system.service.ISysLogService;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.modules.system.util.HttpRequestUtil;
|
||||
import com.jero.modules.system.util.StringUtils;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
@@ -30,7 +27,6 @@ import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
@@ -53,10 +49,6 @@ public class SSOLoginController {
|
||||
@Autowired
|
||||
private ISysUserService sysUserService;
|
||||
@Autowired
|
||||
private ISysBaseAPI sysBaseAPI;
|
||||
@Autowired
|
||||
private ISysLogService logService;
|
||||
@Autowired
|
||||
private RedisUtil redisUtil;
|
||||
@Autowired
|
||||
private ISysDepartService sysDepartService;
|
||||
@@ -64,8 +56,6 @@ public class SSOLoginController {
|
||||
private ISysDictService sysDictService;
|
||||
@Resource
|
||||
private BaseCommonService baseCommonService;
|
||||
@Autowired
|
||||
private RestTemplate restTemplate;
|
||||
|
||||
private static final String BASE_CHECK_CODES = "qwertyuiplkjhgfdsazxcvbnmQWERTYUPLKJHGFDSAZXCVBNM1234567890";
|
||||
//密码登录错误的次数前缀
|
||||
@@ -73,10 +63,14 @@ public class SSOLoginController {
|
||||
//密码登录错误的最大限制次数
|
||||
public static final int RETRY_LOGIN_MAX_COUNT = 5;
|
||||
|
||||
private String accessTokenUrl = "https://signin-test.nio.com/oauth2/accessToken";
|
||||
private String profileUrl = "https://signin-test.nio.com/oauth2/profile";
|
||||
private String clientId = "100679";
|
||||
private String clientSecret = "CDf2D9404C6ac1B0f7c3e3845ae0282a";
|
||||
@Value("${opensso.accessTokenUrl}")
|
||||
private String accessTokenUrl;
|
||||
@Value("${opensso.profileUrl}")
|
||||
private String profileUrl;
|
||||
@Value("${opensso.clientId}")
|
||||
private String clientId;
|
||||
@Value("${opensso.clientSecret}")
|
||||
private String clientSecret;
|
||||
@Value("${opensso.redirectUri}")
|
||||
private String redirectUri;
|
||||
|
||||
@@ -94,7 +88,9 @@ public class SSOLoginController {
|
||||
}
|
||||
}
|
||||
//https://signin-test.nio.com/oauth2/authorize?client_id=100679&redirect_uri=http%3A%2F%2F139.9.235.66%3A8008%2Fjero-boot%2Fopensso%2Fcallback&response_type=code
|
||||
//https://signin-test.nio.com/oauth2/authorize?client_id=100679&redirect_uri=http%3A%2F%2F139.9.235.66%3A8010&response_type=code
|
||||
|
||||
//http://139.9.235.66:8010
|
||||
@AutoLog(value = "单点登录回调")
|
||||
@ApiOperation(value = "单点登录回调", notes = "单点登录回调")
|
||||
@GetMapping(value = "/callback")
|
||||
@@ -107,8 +103,8 @@ public class SSOLoginController {
|
||||
log.info("access_token_url:" + getAccessTokenUrl);
|
||||
Map<String, String> headerMapToken = new HashMap<>();
|
||||
headerMapToken.put("Content-Type", "text/html;charset=utf-8");
|
||||
String accessTokenResult = HttpRequestUtil.getResponseOfGET(getAccessTokenUrl, headerMapToken);
|
||||
// String accessTokenResult = URLRequestResultUtil.getProxyRequestResult(getAccessTokenUrl);
|
||||
// String accessTokenResult = HttpRequestUtil.getResponseOfGET(getAccessTokenUrl, headerMapToken);
|
||||
String accessTokenResult = "access_token=2.0N6OFCARTH7MRCVPSENQONSA67WGHV4FDR25TSHFCCXI6FA3NRVAA----&expires=602405";
|
||||
log.info("获取access_token返回结果:" + accessTokenResult);
|
||||
// 返回结果:access_token=2.0N6OFCARTH7MRCVPSENQONSA67WGHV4FDR25TSHFCCXI6FA3NRVAA----&expires=602405
|
||||
if(StringUtils.isEmpty(accessTokenResult) || !accessTokenResult.contains("access_token")){
|
||||
@@ -124,10 +120,10 @@ public class SSOLoginController {
|
||||
log.info("profile_url:" + getProfileUrl);
|
||||
Map<String, String> headerMapProfile = new HashMap<>();
|
||||
headerMapProfile.put("Content-Type", "application/json; charset=utf-8");
|
||||
String profileResult = HttpRequestUtil.getResponseOfGET(getProfileUrl, headerMapProfile);
|
||||
// String profileResult = URLRequestResultUtil.getProxyRequestResult(getProfileUrl);
|
||||
// String profileResult = HttpRequestUtil.getResponseOfGET(getProfileUrl, headerMapProfile);
|
||||
String profileResult = "{ id: \"chengjun.wang.o\", attributes: [{workNo: \"\"},{account_id: \"\"},{user_name: \"chengjun.wang.o\"},{email: \"chengjun.wang.o@nio.com\"}]}";
|
||||
log.info("获取profile返回结果:" + profileResult);
|
||||
// 返回结果:{ id: "xuetao.li3.o", attributes: [{workNo: "CW19057"},{account_id: ""},{user_name: "xuetao.li3.o"},{email: "xuetao.li3.o@nio.com"}]}
|
||||
// 返回结果:{ id: "chengjun.wang.o", attributes: [{workNo: ""},{account_id: ""},{user_name: "chengjun.wang.o"},{email: "chengjun.wang.o@nio.com"}]}
|
||||
JSONObject userThirdIdJson = JSONObject.parseObject(profileResult);
|
||||
if(ObjectUtil.isEmpty(userThirdIdJson) || !userThirdIdJson.containsKey("id")){
|
||||
return Result.error("【单点登录】获取用户profile失败");
|
||||
|
||||
+2
-2
@@ -191,10 +191,10 @@ public class FileSplitItemsEOController extends JeroController<SarFileSplitItems
|
||||
|
||||
@ApiOperation(value = "文档拆分条款信息-导入拆分结果")
|
||||
@PostMapping(value = "/importSplitResult")
|
||||
public Result<?> importSplitResult( MultipartFile file,
|
||||
public Result<?> importSplitResult( String splitFileId,
|
||||
String cut,
|
||||
SarFileSplitInfoEO splitInfoEO) throws IOException {
|
||||
return fileSplitItemsEOService.importSplitResult(file,cut,splitInfoEO);
|
||||
return fileSplitItemsEOService.importSplitResult(splitFileId, cut,splitInfoEO);
|
||||
}
|
||||
|
||||
@AutoLog(value = "文档拆分条款信息-导入")
|
||||
|
||||
+2
-2
@@ -45,11 +45,11 @@ public interface IFileSplitItemsEOService extends IService<SarFileSplitItemsEO>
|
||||
|
||||
int batchSet(Map<String,Object> parameter);
|
||||
|
||||
Result<?> importSplitItemsData(List<Map<String, Object>> list, String menuId, String filepath, String infoId, List<SplitTableInfo> getSheetTableList);
|
||||
Result<?> importSplitItemsData(List<Map<String, Object>> list, String menuId, String filepath, String infoId, String cut, List<SplitTableInfo> getSheetTableList);
|
||||
|
||||
Result<?> importSplitItems(MultipartFile file, String cut, String menuId, String infoId) throws IOException;
|
||||
|
||||
Result<?> importSplitResult(MultipartFile file, String cut, SarFileSplitInfoEO sarFileSplitInfoEO) throws IOException;
|
||||
Result<?> importSplitResult(String splitFileId, String cut, SarFileSplitInfoEO sarFileSplitInfoEO) throws IOException;
|
||||
|
||||
void exportTemplate(String cut, HttpServletResponse response, HttpServletRequest request);
|
||||
|
||||
|
||||
+434
-47
@@ -11,14 +11,15 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.constant.enums.CutEnum;
|
||||
import com.jero.common.constant.enums.IsMustEnum;
|
||||
import com.jero.common.constant.enums.ModuleEnum;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.DateUtils;
|
||||
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.lanswitch.service.ILanguageSwitchService;
|
||||
import com.jero.modules.ocr.util.UUIDUtils;
|
||||
import com.jero.modules.oss.entity.OSSFile;
|
||||
import com.jero.modules.oss.service.IOSSFileService;
|
||||
@@ -50,6 +51,7 @@ import com.jero.modules.system.util.UserUtils;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.http.entity.ContentType;
|
||||
import org.apache.poi.common.usermodel.HyperlinkType;
|
||||
import org.apache.poi.hssf.usermodel.*;
|
||||
import org.apache.poi.hssf.util.HSSFColor;
|
||||
@@ -61,10 +63,11 @@ 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.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.mock.web.MockMultipartFile;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Propagation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
@@ -87,6 +90,7 @@ import static com.jero.modules.split.util.ExcelUtil.checkObjAllFieldsIsNull;
|
||||
* @Date: Created in 14:59 2022/3/24
|
||||
*/
|
||||
@Service
|
||||
@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
|
||||
public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMapper, SarFileSplitItemsEO> implements IFileSplitItemsEOService {
|
||||
@Autowired
|
||||
private FileSplitItemsEOMapper dao;
|
||||
@@ -112,6 +116,8 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
|
||||
|
||||
@Value(value = "${jero.path.upload}")
|
||||
private String uploadpath;
|
||||
@Value(value = "${jero.path.img}")
|
||||
private String imgpath;
|
||||
|
||||
@Override
|
||||
public int addItemContent(Map<String, Object> parameter){
|
||||
@@ -673,11 +679,21 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result<?> importSplitItemsData(List<Map<String, Object>> list, String menuId, String filepath, String infoId, List<SplitTableInfo> getSheetTableList) {
|
||||
public Result<?> importSplitItemsData(List<Map<String, Object>> list,
|
||||
String menuId, String filepath,
|
||||
String infoId,
|
||||
String cut,
|
||||
List<SplitTableInfo> getSheetTableList) {
|
||||
//此处需要做各种验证,数据库操作
|
||||
try {
|
||||
//树形数据字典
|
||||
List<SysCategory> categoryList = sysCategoryService.list();
|
||||
//普通数据字典
|
||||
List<SysDictItem> dictItemList = sysDictItemServiceImpl.selectItemsAll();
|
||||
// 表头
|
||||
List<Map<String, Object>> fieldList = getImportOnlField(ModuleEnum.FILE_SPLIT_ITEMS.getValue(),cut);
|
||||
//验证导入数据是否符合规则
|
||||
Map map = validateImportDatas(list,filepath);
|
||||
Map map = validateImportDatas(list,categoryList,dictItemList,fieldList,filepath,cut);
|
||||
boolean isOk = (boolean) map.get("result");
|
||||
if (!isOk) {
|
||||
//验证没有通过
|
||||
@@ -703,7 +719,7 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
|
||||
Map<String, Object> oldItems = addItemsEOList.get(addItemsEOList.size()-1);
|
||||
if (itemNum > 0 && importDto.get("items_num").equals(oldItems.get("items_num"))
|
||||
&& importDto.get("items_name").equals(oldItems.get("items_name"))) {
|
||||
addItemValList = (List<SarFileSplitItemsValEO>) oldItems.get("itemValEOList"); // TODO
|
||||
addItemValList = (List<SarFileSplitItemsValEO>) oldItems.get("itemValEOList");
|
||||
String itemContent = oldItems.get("iterms_conditions").toString() + importDto.get("iterms_conditions").toString();
|
||||
oldItems.put("iterms_conditions", itemContent);
|
||||
String[] valArr = importDto.get("iterms_conditions").toString().split("\n");
|
||||
@@ -722,13 +738,23 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
|
||||
}
|
||||
List<File> nowfilelist = FileUnZip.readFileByFilename(filepath, valArr[i]);
|
||||
if (nowfilelist != null && !nowfilelist.isEmpty()) {
|
||||
OSSFile oSSFile = ossFileService.uploadLocal((MultipartFile) nowfilelist.get(0), "","1"); // TODO MultipartFile强转不知道会不会成功
|
||||
String url = nowfilelist.get(0).getPath();
|
||||
MultipartFile multipartFile = createMfileByPath(url);
|
||||
String state = "0";
|
||||
String fileSuffix = url.substring(url.lastIndexOf("."));
|
||||
String fileTypeStr = ".doc,.DOC,.docx,.DOCX,.xls, .XLS,.xlsx,.XLSX,.pdf,.PDF";
|
||||
if (fileTypeStr.contains(fileSuffix)) {
|
||||
state = "1";
|
||||
}
|
||||
OSSFile oSSFile = ossFileService.uploadLocal(multipartFile, "",state);
|
||||
if(oSSFile!=null){
|
||||
oSSFile = ossFileService.getById(oSSFile.getId());
|
||||
isText = false;
|
||||
String path = "uploadPath/" + oSSFile.getUrl().substring(oSSFile.getUrl().lastIndexOf("/")+1);
|
||||
String imgCon = "<img class=\'wordImg\' src=\'" + path + "\'>";
|
||||
String path = imgpath + oSSFile.getUrl().substring(oSSFile.getUrl().lastIndexOf("/"));
|
||||
String imgCon = "<img class=\"wordImg\" src=\"" + path + "\">";
|
||||
valEO.setType("IMG");
|
||||
valEO.setItemContent(imgCon);
|
||||
// valEO.setItemContent(imgCon);
|
||||
valEO.setItemContent(path);
|
||||
}
|
||||
}
|
||||
if (isText) {
|
||||
@@ -756,13 +782,23 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
|
||||
}
|
||||
List<File> nowfilelist = FileUnZip.readFileByFilename(filepath, valArr[i]);
|
||||
if (nowfilelist != null && !nowfilelist.isEmpty()) {
|
||||
OSSFile oSSFile = ossFileService.uploadLocal((MultipartFile) nowfilelist.get(0), "","1"); // TODO MultipartFile强转不知道会不会成功
|
||||
String url = nowfilelist.get(0).getPath();
|
||||
MultipartFile multipartFile = createMfileByPath(url);
|
||||
String state = "0";
|
||||
String fileSuffix = url.substring(url.lastIndexOf("."));
|
||||
String fileTypeStr = ".doc,.DOC,.docx,.DOCX,.xls, .XLS,.xlsx,.XLSX,.pdf,.PDF";
|
||||
if (fileTypeStr.contains(fileSuffix)) {
|
||||
state = "1";
|
||||
}
|
||||
OSSFile oSSFile = ossFileService.uploadLocal(multipartFile, "",state);
|
||||
if(oSSFile!=null){
|
||||
oSSFile = ossFileService.getById(oSSFile.getId());
|
||||
isText = false;
|
||||
String path = "uploadPath/" + oSSFile.getUrl().substring(oSSFile.getUrl().lastIndexOf("/")+1);
|
||||
String imgCon = "<img class=\'wordImg\' src=\'" + path + "\'>";
|
||||
String path = imgpath + oSSFile.getUrl().substring(oSSFile.getUrl().lastIndexOf("/"));
|
||||
String imgCon = "<img class=\"wordImg\" src=\"" + path + "\">";
|
||||
valEO.setType("IMG");
|
||||
valEO.setItemContent(imgCon);
|
||||
// valEO.setItemContent(imgCon);
|
||||
valEO.setItemContent(path);
|
||||
}
|
||||
}
|
||||
if (isText) {
|
||||
@@ -792,13 +828,14 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
|
||||
}
|
||||
List<File> nowfilelist = FileUnZip.readFileByFilename(filepath, valArr[i]);
|
||||
if (nowfilelist != null && !nowfilelist.isEmpty()) {
|
||||
OSSFile oSSFile = ossFileService.uploadLocal((MultipartFile) nowfilelist.get(0), "","1"); // TODO MultipartFile强转不知道会不会成功
|
||||
OSSFile oSSFile = ossFileService.uploadLocal((MultipartFile) nowfilelist.get(0), "","1");
|
||||
if(oSSFile!=null){
|
||||
isText = false;
|
||||
String path = "uploadPath/" + oSSFile.getUrl().substring(oSSFile.getUrl().lastIndexOf("/")+1);
|
||||
String imgCon = "<img class=\'wordImg\' src=\'" + path + "\'>";
|
||||
String path = imgpath + oSSFile.getUrl().substring(oSSFile.getUrl().lastIndexOf("/"));
|
||||
String imgCon = "<img class=\"wordImg\" src=\"" + path + "\">";
|
||||
valEO.setType("IMG");
|
||||
valEO.setItemContent(imgCon);
|
||||
// valEO.setItemContent(imgCon);
|
||||
valEO.setItemContent(path);
|
||||
}
|
||||
}
|
||||
if (isText) {
|
||||
@@ -983,6 +1020,7 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
|
||||
SplitTableInfo splitTableInfo = new SplitTableInfo();
|
||||
splitTableInfo.setTableName(sheet.getSheetName());
|
||||
String tableHtml = POIReadExcelToHtml.readExcelToHtml(workbook,i,false);
|
||||
tableHtml = tableHtml.replaceAll("\'","\"");
|
||||
splitTableInfo.setTableHtml(tableHtml);
|
||||
getSheetTableList.add(splitTableInfo);
|
||||
}
|
||||
@@ -1003,7 +1041,7 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
|
||||
datasUpdate.add(sarStandImportDto);
|
||||
}
|
||||
String unzipfilepath = zipEntryName;
|
||||
Result<?> message = importSplitItemsData(datasUpdate,menuId,unzipfilepath,infoId,getSheetTableList);
|
||||
Result<?> message = importSplitItemsData(datasUpdate,menuId,unzipfilepath,infoId,cut,getSheetTableList);
|
||||
//删除原上传文件
|
||||
FileUnZip.deleteDir(saveDirectory);
|
||||
return message;
|
||||
@@ -1033,7 +1071,10 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result<?> importSplitResult(MultipartFile file, String cut, SarFileSplitInfoEO sarFileSplitInfoEO) throws IOException {
|
||||
public Result<?> importSplitResult(String splitFileId, String cut, SarFileSplitInfoEO sarFileSplitInfoEO) throws IOException {
|
||||
OSSFile ossFile = ossFileService.getById(splitFileId);
|
||||
String url = ossFile.getUrl();
|
||||
MultipartFile mFile = createMfileByPath(url);
|
||||
// 新增拆分记录
|
||||
Date now = new Date();
|
||||
String infoId = UUID.randomUUID().toString().replace("-", "");
|
||||
@@ -1054,9 +1095,26 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
|
||||
sarFileSplitMenuEO.setModifyTime(new Date());
|
||||
sarFileSplitMenuEOMapper.insertSelective(sarFileSplitMenuEO);
|
||||
// 导入文件
|
||||
return importSplitItems(file, cut, menuId, infoId);
|
||||
return importSplitItems(mFile, cut, menuId, infoId);
|
||||
}
|
||||
|
||||
private MultipartFile createMfileByPath(String path) {
|
||||
MultipartFile mFile = null;
|
||||
try {
|
||||
File file = new File(path);
|
||||
FileInputStream fileInputStream = new FileInputStream(file);
|
||||
|
||||
String fileName = file.getName();
|
||||
fileName = fileName.substring((fileName.lastIndexOf("/") + 1));
|
||||
mFile = new MockMultipartFile(fileName, fileName, ContentType.APPLICATION_OCTET_STREAM.toString(), fileInputStream);
|
||||
} catch (Exception e) {
|
||||
log.error("封装文件出现错误:{}", e);
|
||||
//e.printStackTrace();
|
||||
}
|
||||
return mFile;
|
||||
}
|
||||
|
||||
|
||||
private List<Map<String, Object>> read(File file, List<String> dbfieldList) {
|
||||
try {
|
||||
//最终返回数据
|
||||
@@ -1173,45 +1231,334 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
|
||||
return false;
|
||||
}
|
||||
|
||||
private Map validateImportDatas(List<Map<String, Object>> datas, String filepath) throws Exception {
|
||||
private Map validateImportDatas(List<Map<String, Object>> datas,
|
||||
List<SysCategory> categoryList,
|
||||
List<SysDictItem> dictItemList,
|
||||
List<Map<String, Object>> fieldList,
|
||||
String filepath,
|
||||
String cut) throws Exception {
|
||||
//树形数据字典
|
||||
List<String> treeNameList = new ArrayList<>();
|
||||
//普通数据字典
|
||||
List<String> itemNameList = new ArrayList<>();
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
treeNameList = categoryList.stream().map(SysCategory::getName).collect(Collectors.toList());
|
||||
itemNameList = dictItemList.stream().map(SysDictItem::getItemText).collect(Collectors.toList());
|
||||
} else if(CutEnum.EN.getValue().equals(cut)){
|
||||
treeNameList = categoryList.stream().map(SysCategory::getEnName).collect(Collectors.toList());
|
||||
itemNameList = dictItemList.stream().map(SysDictItem::getEnName).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
//存放数据验证结果信息
|
||||
List<String> stringMessage = new ArrayList<>();
|
||||
int i = 1; //记录行号
|
||||
int i = 2; //记录行号
|
||||
int num = 0; //记录是第几条数据
|
||||
//循环验证数据
|
||||
for (Map<String, Object> dto : datas) {
|
||||
i++;
|
||||
int countError = 0; //记录失败数据数量
|
||||
String errorMsg = "第" + i + "行:";
|
||||
if (num > 0 && org.apache.commons.lang.StringUtils.isEmpty(dto.get("items_num").toString())
|
||||
&& org.apache.commons.lang.StringUtils.isEmpty(dto.get("items_name").toString())) {
|
||||
String nowItemContent = dto.get("iterms_conditions").toString();
|
||||
BeanUtils.copyProperties(datas.get(num-1), dto);
|
||||
dto.put("iterms_conditions", nowItemContent);
|
||||
}
|
||||
if (org.apache.commons.lang.StringUtils.isEmpty(dto.get("items_num").toString())) {
|
||||
errorMsg += "条款号不能为空;";
|
||||
countError++;
|
||||
} else {
|
||||
if (dto.get("items_num").toString().length()>100) {
|
||||
errorMsg += "条款号不能超过100个字符;";
|
||||
countError++;
|
||||
}
|
||||
}
|
||||
if (org.apache.commons.lang.StringUtils.isEmpty(dto.get("items_name").toString())) {
|
||||
errorMsg += "条款名称不能为空;";
|
||||
countError++;
|
||||
} else {
|
||||
if (dto.get("items_name").toString().length()>100) {
|
||||
errorMsg += "条款名称不能超过100个字符;";
|
||||
countError++;
|
||||
}
|
||||
}
|
||||
//判断发布日期,新车型实施日期,在产车实施日期
|
||||
|
||||
// try {
|
||||
// String issueTime = (String) stringStringMap.get("issue_time");
|
||||
// if(StringUtils.isNotBlank(issueTime)){
|
||||
// SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
|
||||
// Date issueTimeDate = df.parse(issueTime);
|
||||
// String implementTime = (String) stringStringMap.get("implement_time");//在产车实施日期
|
||||
// String newCarimplementTime = (String) stringStringMap.get("xin1_che1_xing2_ren4_zheng4_shi2_jian1");//新车型实施日期
|
||||
// if(StringUtils.isNotBlank(implementTime)){
|
||||
// Date implementTimeDate = df.parse(implementTime);
|
||||
// if (issueTimeDate.after(implementTimeDate)) {
|
||||
// errorMsg += "发布日期不能大于在产车实施日期";
|
||||
// countError++;
|
||||
// }
|
||||
// }
|
||||
// if(StringUtils.isNotBlank(newCarimplementTime)){
|
||||
// Date newCarimplementTimeDate = df.parse(newCarimplementTime);
|
||||
// if (issueTimeDate.after(newCarimplementTimeDate)) {
|
||||
// errorMsg += "发布日期不能大于新车型实施日期";
|
||||
// countError++;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// } catch (Exception e) {
|
||||
// log.error("文档库导入失败导入");
|
||||
// }
|
||||
for (Map.Entry<String, Object> entry : dto.entrySet()) {
|
||||
|
||||
String key = entry.getKey();
|
||||
if (key.contains("*")) {
|
||||
key = key.replace("*", "");
|
||||
}
|
||||
String value = entry.getValue().toString();
|
||||
String field = "";
|
||||
for (Map<String, Object> map : fieldList) {
|
||||
String fieldName = (String) map.get("db_field_txt");//中文名称
|
||||
String dbfieldName = (String) map.get("db_field_name");//字段名
|
||||
String mustInput = (String) map.get("field_must_input");//是否必填
|
||||
String dbLength = map.get("db_length").toString();//字段长度
|
||||
String fieldShowType = (String) map.get("field_show_type");//字段类型
|
||||
|
||||
if (key.equals(dbfieldName)) {
|
||||
field = dbfieldName;
|
||||
//验证字段是否必填,长度,下拉框和树形的值是否匹配
|
||||
if (FieldTypeEnum.TREE.getValue().equals(fieldShowType)) {
|
||||
//树形
|
||||
//判断是否必填
|
||||
if (IsMustEnum.YES.getValue().equals(mustInput) && StringUtils.isBlank(value)) {
|
||||
errorMsg += fieldName + "为必填项,不能为空";
|
||||
countError++;
|
||||
}
|
||||
//判断长度
|
||||
if (StringUtils.isNotBlank(value) && value.length() > Long.parseLong(dbLength)) {
|
||||
errorMsg += fieldName + "不能超过" + dbLength + "个字符";
|
||||
countError++;
|
||||
}
|
||||
//判断数据是否匹配
|
||||
if (StringUtils.isNotBlank(value)) {
|
||||
value = value.replace(",",",");
|
||||
for (String valueTemp : value.split(",")) {
|
||||
if (!treeNameList.contains(valueTemp)) {
|
||||
errorMsg += fieldName + "中的" + valueTemp + "与数据字典不匹配";
|
||||
countError++;
|
||||
}
|
||||
}
|
||||
}
|
||||
String valueId = "";
|
||||
//文字转ID
|
||||
if (StringUtils.isNotBlank(value)) {
|
||||
value = value.replace(",",",");
|
||||
for (String valueTemp : value.split(",")) {
|
||||
if (treeNameList.contains(valueTemp)) {
|
||||
// TODO 树形结构导入格式 a/b/c 需特殊处理
|
||||
List<SysCategory> collect = new ArrayList<>();
|
||||
if(CutEnum.CN.getValue().equals(cut)) {
|
||||
collect = categoryList.stream().filter(e -> e.getName().equals(valueTemp)).collect(Collectors.toList());
|
||||
} else if(CutEnum.EN.getValue().equals(cut)) {
|
||||
collect = categoryList.stream().filter(e -> e.getEnName().equals(valueTemp)).collect(Collectors.toList());
|
||||
}
|
||||
if (collect.size() != 0) {
|
||||
valueId += collect.get(0).getId();
|
||||
}
|
||||
}
|
||||
}
|
||||
value = valueId;
|
||||
}
|
||||
|
||||
} else if (FieldTypeEnum.TEXT_STRING.getValue().equals(fieldShowType)) {
|
||||
//输入框
|
||||
//判断是否必填
|
||||
if (IsMustEnum.YES.getValue().equals(mustInput) && StringUtils.isBlank(value)) {
|
||||
errorMsg += fieldName + "为必填项,不能为空";
|
||||
countError++;
|
||||
}
|
||||
//判断长度
|
||||
if (StringUtils.isNotBlank(value) && value.length() > Long.parseLong(dbLength)) {
|
||||
errorMsg += fieldName + "不能超过" + dbLength + "个字符";
|
||||
countError++;
|
||||
}
|
||||
|
||||
} else if (FieldTypeEnum.TEXT_NUMBER.getValue().equals(fieldShowType)) {
|
||||
//正则判断仅能为 负号(-),小数点(.)和数字
|
||||
|
||||
|
||||
} else if (FieldTypeEnum.PULL_SINGLE.getValue().equals(fieldShowType)) {
|
||||
//下拉单选
|
||||
//判断是否必填
|
||||
if (IsMustEnum.YES.getValue().equals(mustInput) && StringUtils.isBlank(value)) {
|
||||
errorMsg += fieldName + "为必填项,不能为空";
|
||||
countError++;
|
||||
}
|
||||
//判断长度
|
||||
if (StringUtils.isNotBlank(value) && value.length() > Long.parseLong(dbLength)) {
|
||||
errorMsg += fieldName + "不能超过" + dbLength + "个字符";
|
||||
countError++;
|
||||
}
|
||||
//判断是否是单选
|
||||
if (StringUtils.isNotBlank(value) && value.contains(",")) {
|
||||
errorMsg += fieldName + "为单选项";
|
||||
countError++;
|
||||
}
|
||||
//判断数据是否匹配
|
||||
if (StringUtils.isNotBlank(value)) {
|
||||
if (!itemNameList.contains(value)) {
|
||||
errorMsg += fieldName + "中的" + value + "与数据字典不匹配";
|
||||
countError++;
|
||||
}
|
||||
}
|
||||
//文字转数据字典编码
|
||||
if (itemNameList.contains(value)) {
|
||||
String finalValue = value;
|
||||
List<SysDictItem> collect = new ArrayList<>();
|
||||
if(CutEnum.CN.getValue().equals(cut)) {
|
||||
collect = dictItemList.stream().filter(e -> StringUtils.isNotBlank(e.getItemText()) && e.getItemText().equals(finalValue)).collect(Collectors.toList());
|
||||
} else if(CutEnum.EN.getValue().equals(cut)) {
|
||||
collect = dictItemList.stream().filter(e -> StringUtils.isNotBlank(e.getEnName()) && e.getEnName().equals(finalValue)).collect(Collectors.toList());
|
||||
}
|
||||
if (collect.size() != 0) {
|
||||
value = collect.get(0).getItemValue();
|
||||
}
|
||||
}
|
||||
} else if (FieldTypeEnum.PULL_MORE.getValue().equals(fieldShowType)) {
|
||||
//判断是否必填
|
||||
if (IsMustEnum.YES.getValue().equals(mustInput) && StringUtils.isBlank(value)) {
|
||||
errorMsg += fieldName + "为必填项,不能为空";
|
||||
countError++;
|
||||
}
|
||||
//判断长度
|
||||
if (StringUtils.isNotBlank(value) && value.length() > Long.parseLong(dbLength)) {
|
||||
errorMsg += fieldName + "不能超过" + dbLength + "个字符";
|
||||
countError++;
|
||||
}
|
||||
//下拉多选
|
||||
if (StringUtils.isNotBlank(value)) {
|
||||
value = value.replace(",",",");
|
||||
for (String valueTemp : value.split(",")) {
|
||||
if (!itemNameList.contains(valueTemp)) {
|
||||
errorMsg += fieldName + "中的" + valueTemp + "与数据字典不匹配";
|
||||
countError++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
String valueId = "";
|
||||
//文字转数据字典id
|
||||
if (StringUtils.isNotBlank(value)) {
|
||||
value = value.replace(",",",");
|
||||
for (String valueTemp : value.split(",")) {
|
||||
if (itemNameList.contains(valueTemp)) {
|
||||
List<SysDictItem> collect = new ArrayList<>();
|
||||
if(CutEnum.CN.getValue().equals(cut)) {
|
||||
collect = dictItemList.stream().filter(e -> StringUtils.isNotBlank(e.getItemText()) && e.getItemText().equals(valueTemp)).collect(Collectors.toList());
|
||||
} else if(CutEnum.EN.getValue().equals(cut)) {
|
||||
collect = dictItemList.stream().filter(e -> StringUtils.isNotBlank(e.getEnName()) && e.getEnName().equals(valueTemp)).collect(Collectors.toList());
|
||||
}
|
||||
valueId += collect.get(0).getItemValue() + ",";
|
||||
}
|
||||
}
|
||||
if (StringUtils.isNotBlank(valueId)) {
|
||||
value = valueId.substring(0, valueId.length() - 1);
|
||||
}
|
||||
}
|
||||
} else if (FieldTypeEnum.DATE_SINGLE.getValue().equals(fieldShowType)) {
|
||||
//单选日期
|
||||
//判断是否必填
|
||||
if (IsMustEnum.YES.getValue().equals(mustInput) && StringUtils.isBlank(value)) {
|
||||
errorMsg += fieldName + "为必填项,不能为空";
|
||||
countError++;
|
||||
}
|
||||
//a判断是否是单日期选择
|
||||
if (StringUtils.isNotBlank(value) && value.contains(",")) {
|
||||
errorMsg += fieldName + "为单日期选项";
|
||||
countError++;
|
||||
}
|
||||
//判断格式是否正确
|
||||
if (!DateUtils.isValidDate((String) value)) {
|
||||
errorMsg += fieldName + "格式不正确,正确格式如:yyyy/m/d、yyyy-MM-dd、yyyy年MM月dd日";
|
||||
countError++;
|
||||
}
|
||||
|
||||
} else if (FieldTypeEnum.DATE_SINGLE.getValue().equals(fieldShowType)) {
|
||||
//多选日期
|
||||
//判断是否必填
|
||||
if (IsMustEnum.YES.getValue().equals(mustInput) && StringUtils.isBlank(value)) {
|
||||
errorMsg += fieldName + "为必填项,不能为空";
|
||||
countError++;
|
||||
}
|
||||
//判断格式是否正确
|
||||
if (!DateUtils.isValidDate((String) value)) {
|
||||
errorMsg += fieldName + "格式不正确,正确格式如:yyyy/m/d、yyyy-MM-dd、yyyy年MM月dd日";
|
||||
countError++;
|
||||
}
|
||||
|
||||
|
||||
} else if (FieldTypeEnum.FILE.getValue().equals(fieldShowType)) {
|
||||
//文件
|
||||
//判断是否必填
|
||||
if (IsMustEnum.YES.getValue().equals(mustInput) && StringUtils.isBlank(value)) {
|
||||
errorMsg += fieldName + "为必填项,不能为空";
|
||||
countError++;
|
||||
}
|
||||
//判断长度
|
||||
if (StringUtils.isNotBlank(value) && value.length() > Long.parseLong(dbLength)) {
|
||||
errorMsg += fieldName + "不能超过" + dbLength + "个字符";
|
||||
countError++;
|
||||
}
|
||||
if (StringUtils.isNotBlank(value)) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
value = value.replace(",",",");
|
||||
for (String fileName : value.split(",")) {
|
||||
List<File> nowFileList = FileUnZip.readFileByFilename(filepath, fileName);
|
||||
if (nowFileList.size() == 0) {
|
||||
errorMsg += fieldName + "压缩包中没有" + fileName + "文件; ";
|
||||
countError++;
|
||||
} else {
|
||||
try {
|
||||
FileInputStream input = new FileInputStream(nowFileList.get(0));
|
||||
MultipartFile multipartFile =
|
||||
new MockMultipartFile(nowFileList.get(0).getName(), nowFileList.get(0).getName(), "text/plain", input);
|
||||
//文件存入文件表
|
||||
OSSFile ossFile = ossFileService.uploadLocal(multipartFile, "", null);
|
||||
if (ObjectUtils.isNotEmpty(ossFile)) {
|
||||
sb.append(ossFile.getId() + ",");
|
||||
}
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (StringUtils.isNotBlank(sb)) {
|
||||
String substring = sb.substring(0, sb.length() - 1);
|
||||
value = substring;
|
||||
}
|
||||
}
|
||||
|
||||
} /*else if (FieldTypeEnum.STANDARD.getValue().equals(fieldShowType)) {
|
||||
//标准选择
|
||||
//判断是否必填
|
||||
if (IsMustEnum.YES.getValue().equals(mustInput) && StringUtils.isBlank(value)) {
|
||||
errorMsg += key + "为必填项,不能为空";
|
||||
countError++;
|
||||
}
|
||||
//判断长度
|
||||
if (StringUtils.isNotBlank(value) && value.length() > Long.parseLong(dbLength)) {
|
||||
errorMsg += key + "不能超过" + dbLength + "个字符";
|
||||
countError++;
|
||||
}
|
||||
//判断库中是否存在,如果存在则存id,如果不存在则存输入的值
|
||||
List<Map<String, Object>> listBySerialNumber = getListBySerialNumber(value);
|
||||
String serialNumberStr = "";
|
||||
StringBuilder sb = new StringBuilder();
|
||||
List<String> list = new ArrayList<>();
|
||||
for (Map<String, Object> stringObjectMap : listBySerialNumber) {
|
||||
sb.append((String) stringObjectMap.get("id") + ",");
|
||||
list.add((String) stringObjectMap.get("serial_number"));
|
||||
}
|
||||
if (StringUtils.isNotBlank(value)) {
|
||||
for (String s : value.split(",")) {
|
||||
if (!list.contains(s)) {
|
||||
sb.append(s);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (ObjectUtils.isNotEmpty(sb)) {
|
||||
String substring = sb.toString();
|
||||
if (substring.endsWith(",") || substring.endsWith(",")){
|
||||
substring = substring.substring(0, substring.length() - 1);
|
||||
}
|
||||
value = substring;
|
||||
}
|
||||
}*/
|
||||
}
|
||||
}
|
||||
if((dto.get(key)== null && value != null) || (dto.get(key)!= null && !dto.get(key).toString().equals(value))){
|
||||
dto.put(key, value); // 覆盖原来的值
|
||||
}
|
||||
}
|
||||
if (countError > 0) {
|
||||
stringMessage.add(errorMsg);
|
||||
}
|
||||
num++;
|
||||
}
|
||||
Map map = new HashMap();
|
||||
if (stringMessage.isEmpty()) {
|
||||
@@ -1711,6 +2058,46 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
|
||||
return list;
|
||||
}
|
||||
|
||||
private List<Map<String, Object>> getImportOnlField(String flag, String cut) {
|
||||
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(flag);
|
||||
if (fieldList.size() != 0) {
|
||||
//过滤出搜索条件()
|
||||
fieldList = fieldList.stream()
|
||||
.filter(e -> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsShowForm()))
|
||||
|| "条款内容".equals(e.getDbFieldName()))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
//树形数据字典
|
||||
List<SysCategoryTreeVO> sysCategoryTree = sysCategoryService.getSysCategoryTreeByCut(cut); // 查询所有 并以树结构返回
|
||||
|
||||
List<Map<String, Object>> list = new ArrayList<>();
|
||||
for (OnlCgformField onlCgformField : fieldList) {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
if (FieldTypeEnum.TREE.getValue().equals(onlCgformField.getFieldShowType())) {
|
||||
List<SysCategoryTreeVO> sysCategoryTreeVOList = sysCategoryTree.stream()
|
||||
.filter(e -> onlCgformField.getDictId().equals(e.getDictId()))
|
||||
.collect(Collectors.toList());
|
||||
map.put("tree", sysCategoryTreeVOList); // 树形结构字段 设置树形结构字段值
|
||||
} else {
|
||||
map.put("tree", new ArrayList<>()); // 其他类型字段 该key为空
|
||||
}
|
||||
|
||||
map.put("area", null);//展示区域。没用到
|
||||
map.put("field_show_type", onlCgformField.getFieldShowType());//类型(判断是下拉还是输入框,等等)
|
||||
map.put("field_must_input", onlCgformField.getFieldMustInput());//是否必填
|
||||
map.put("dict_field", onlCgformField.getDictField()); //下拉类型的数据字典编码
|
||||
map.put("db_field_name", onlCgformField.getDbFieldName());//字段
|
||||
map.put("db_length", onlCgformField.getDbLength());//字段长度
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
map.put("db_field_txt", onlCgformField.getDbFieldTxt());//字段中文名
|
||||
} else {
|
||||
map.put("db_field_txt", onlCgformField.getDbFieldEnName());//字段英文名
|
||||
}
|
||||
list.add(map);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
* 过滤map中的值为 null的键值对
|
||||
* @param map
|
||||
|
||||
+3
@@ -20,6 +20,8 @@ import com.jero.modules.system.service.ISysDictItemService;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Propagation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -31,6 +33,7 @@ import java.util.stream.Collectors;
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Service
|
||||
@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
|
||||
public class SarFileSplitInfoServiceImpl extends ServiceImpl<SarFileSplitInfoMapper, SarFileSplitInfoEO> implements ISarFileSplitInfoService {
|
||||
|
||||
@Autowired
|
||||
|
||||
+40
-40
@@ -391,26 +391,26 @@ public class SarFileSplitMenuEOServiceImpl extends ServiceImpl<SarFileSplitMenuE
|
||||
// 查询该节点下所有的 子节点 并修改排序
|
||||
SarFileSplitMenuEO sarMenuEO = new SarFileSplitMenuEO();
|
||||
sarMenuEO.setId(itemsMap.get("menu_id").toString());
|
||||
List<SarFileSplitMenuEO> sarFileSplitMenuEOList = dao.queryAllChildrenByid(sarMenuEO);
|
||||
sarMenuEO = dao.selectByPrimaryKey(sarMenuEO.getId());
|
||||
int maxDisplay = dao.getMaxDisplayByid(sarMenuEO.getId());
|
||||
SarFileSplitMenuEO sarFileSplitMenuEO = new SarFileSplitMenuEO();
|
||||
sarFileSplitMenuEO.setDisplaySeqStart(Long.valueOf(maxDisplay + 1));
|
||||
sarFileSplitMenuEO.setDisplaySeqEnd(10000L);
|
||||
sarFileSplitMenuEO.setChildrenCount(1L);
|
||||
sarFileSplitMenuEO.setModifyUser(UserUtils.getUserId());
|
||||
sarFileSplitMenuEO.setModifyTime(new Date());
|
||||
sarFileSplitMenuEO.setInfoId(itemsMap.get("info_id").toString());
|
||||
dao.updateDisplaySeqAdd(sarFileSplitMenuEO);
|
||||
// List<SarFileSplitMenuEO> sarFileSplitMenuEOList = dao.queryAllChildrenByid(sarMenuEO);
|
||||
// sarMenuEO = dao.selectByPrimaryKey(sarMenuEO.getId());
|
||||
// int maxDisplay = dao.getMaxDisplayByid(sarMenuEO.getId());
|
||||
// SarFileSplitMenuEO sarFileSplitMenuEO = new SarFileSplitMenuEO();
|
||||
// sarFileSplitMenuEO.setDisplaySeqStart(Long.valueOf(maxDisplay + 1));
|
||||
// sarFileSplitMenuEO.setDisplaySeqEnd(10000L);
|
||||
// sarFileSplitMenuEO.setChildrenCount(1L);
|
||||
// sarFileSplitMenuEO.setModifyUser(UserUtils.getUserId());
|
||||
// sarFileSplitMenuEO.setModifyTime(new Date());
|
||||
// sarFileSplitMenuEO.setInfoId(itemsMap.get("info_id").toString());
|
||||
// dao.updateDisplaySeqAdd(sarFileSplitMenuEO);
|
||||
|
||||
// SAR_FILE_ITEMS_MENU 添加数据,
|
||||
sarMenuEO.setId(UUID.randomUUID().toString().replace("-", ""));
|
||||
sarMenuEO.setDisplaySeq(Long.valueOf(maxDisplay + 1));
|
||||
sarMenuEO.setCreationTime(new Date());
|
||||
sarMenuEO.setModifyTime(new Date());
|
||||
sarMenuEO.setCreationUser(UserUtils.getUserId());
|
||||
sarMenuEO.setModifyUser(UserUtils.getUserId());
|
||||
result = dao.insertSelective(sarMenuEO);
|
||||
// sarMenuEO.setId(UUID.randomUUID().toString().replace("-", ""));
|
||||
// sarMenuEO.setDisplaySeq(Long.valueOf(maxDisplay + 1));
|
||||
// sarMenuEO.setCreationTime(new Date());
|
||||
// sarMenuEO.setModifyTime(new Date());
|
||||
// sarMenuEO.setCreationUser(UserUtils.getUserId());
|
||||
// sarMenuEO.setModifyUser(UserUtils.getUserId());
|
||||
// result = dao.insertSelective(sarMenuEO);
|
||||
|
||||
// SAR_FILE_ITEMS 添加数据,
|
||||
String newItemId = UUID.randomUUID().toString().replace("-", "");
|
||||
@@ -440,29 +440,29 @@ public class SarFileSplitMenuEOServiceImpl extends ServiceImpl<SarFileSplitMenuE
|
||||
result += sarFileSplitItemsValEOMapper.insertForeach(sarFileSplitItemsValEOList);
|
||||
}
|
||||
// SAR_FILE_ITEMS_PARAMS 添加数据,
|
||||
List<SarFileSplitItemsParamsEO> sarFileSplitItemsParamsEOList = sarFileSplitItemsParamsMapper.queryItemsParamsByMenuId(oldItemIdList);
|
||||
for (SarFileSplitItemsParamsEO sarFileSplitItemsParamsEO : sarFileSplitItemsParamsEOList) {
|
||||
sarFileSplitItemsParamsEO.setId(UUID.randomUUID().toString().replace("-", ""));
|
||||
sarFileSplitItemsParamsEO.setItemId(newItemId);
|
||||
sarFileSplitItemsParamsEO.setCreationTime(new Date());
|
||||
sarFileSplitItemsParamsEO.setModifyTime(new Date());
|
||||
}
|
||||
if (sarFileSplitItemsParamsEOList.size()>0){
|
||||
result += sarFileSplitItemsParamsMapper.insertForeach(sarFileSplitItemsParamsEOList);
|
||||
}
|
||||
// List<SarFileSplitItemsParamsEO> sarFileSplitItemsParamsEOList = sarFileSplitItemsParamsMapper.queryItemsParamsByMenuId(oldItemIdList);
|
||||
// for (SarFileSplitItemsParamsEO sarFileSplitItemsParamsEO : sarFileSplitItemsParamsEOList) {
|
||||
// sarFileSplitItemsParamsEO.setId(UUID.randomUUID().toString().replace("-", ""));
|
||||
// sarFileSplitItemsParamsEO.setItemId(newItemId);
|
||||
// sarFileSplitItemsParamsEO.setCreationTime(new Date());
|
||||
// sarFileSplitItemsParamsEO.setModifyTime(new Date());
|
||||
// }
|
||||
// if (sarFileSplitItemsParamsEOList.size()>0){
|
||||
// result += sarFileSplitItemsParamsMapper.insertForeach(sarFileSplitItemsParamsEOList);
|
||||
// }
|
||||
// SAR_FILE_ITEMS_TABLE 添加数据,
|
||||
List<SarFileSplitItemsTableEO> sarFileSplitItemsTableEOList = sarFileSplitItemsTableEOMapper.queryItemsTableByMenuId(oldItemIdList);
|
||||
for (SarFileSplitItemsTableEO sarFileSplitItemsTableEO : sarFileSplitItemsTableEOList) {
|
||||
sarFileSplitItemsTableEO.setId(UUID.randomUUID().toString().replace("-", ""));
|
||||
sarFileSplitItemsTableEO.setItemsId(newItemId);
|
||||
sarFileSplitItemsTableEO.setItemsValId(itemValIdMap.get(sarFileSplitItemsTableEO.getItemsValId()).toString());
|
||||
sarFileSplitItemsTableEO.setCreationTime(new Date());
|
||||
sarFileSplitItemsTableEO.setModifyTime(new Date());
|
||||
sarFileSplitItemsTableEO.setModifyUser(UserUtils.getUserId());
|
||||
}
|
||||
if (sarFileSplitItemsTableEOList.size()>0){
|
||||
result += sarFileSplitItemsTableEOMapper.insertForeach(sarFileSplitItemsTableEOList);
|
||||
}
|
||||
// List<SarFileSplitItemsTableEO> sarFileSplitItemsTableEOList = sarFileSplitItemsTableEOMapper.queryItemsTableByMenuId(oldItemIdList);
|
||||
// for (SarFileSplitItemsTableEO sarFileSplitItemsTableEO : sarFileSplitItemsTableEOList) {
|
||||
// sarFileSplitItemsTableEO.setId(UUID.randomUUID().toString().replace("-", ""));
|
||||
// sarFileSplitItemsTableEO.setItemsId(newItemId);
|
||||
// sarFileSplitItemsTableEO.setItemsValId(itemValIdMap.get(sarFileSplitItemsTableEO.getItemsValId()).toString());
|
||||
// sarFileSplitItemsTableEO.setCreationTime(new Date());
|
||||
// sarFileSplitItemsTableEO.setModifyTime(new Date());
|
||||
// sarFileSplitItemsTableEO.setModifyUser(UserUtils.getUserId());
|
||||
// }
|
||||
// if (sarFileSplitItemsTableEOList.size()>0){
|
||||
// result += sarFileSplitItemsTableEOMapper.insertForeach(sarFileSplitItemsTableEOList);
|
||||
// }
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -138,14 +138,14 @@ spring:
|
||||
|
||||
|
||||
# url: jdbc:mysql://10.0.3.44:3306/jero-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
|
||||
# url: jdbc:mysql://10.10.10.44:3306/laws_weilai_test?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false
|
||||
# username: root
|
||||
# password: 123456
|
||||
url: jdbc:mysql://10.10.10.44:3306/laws_weilai_test?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false
|
||||
username: root
|
||||
password: 123456
|
||||
# driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
# url: jdbc:mysql://121.36.69.172:3307/laws_weilai?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false
|
||||
url: jdbc:mysql://121.36.69.172:3307/laws_weilai_zhn?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
|
||||
username: root
|
||||
password: hzwlsoft.com
|
||||
# url: jdbc:mysql://121.36.69.172:3307/laws_weilai_zhn?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
|
||||
# username: root
|
||||
# password: hzwlsoft.com
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
# 多数据源配置
|
||||
#multi-datasource1:
|
||||
@@ -193,6 +193,7 @@ jero :
|
||||
path :
|
||||
#文件上传根目录 设置
|
||||
upload: D://opt//upFiles
|
||||
img: D://opt//upFiles
|
||||
#webapp文件路径
|
||||
webapp: D://opt//webapp
|
||||
shiro:
|
||||
@@ -381,4 +382,9 @@ Feishu:
|
||||
local-tool:
|
||||
uri: http://139.9.235.66:9022
|
||||
opensso:
|
||||
redirectUri: http%3A%2F%2F139.9.235.66%3A8008%2Fjero-boot%2Fopensso%2Fcallback
|
||||
# TEST版
|
||||
accessTokenUrl: https://signin-test.nio.com/oauth2/accessToken
|
||||
profileUrl: https://signin-test.nio.com/oauth2/profile
|
||||
clientId: 100679
|
||||
clientSecret: CDf2D9404C6ac1B0f7c3e3845ae0282a
|
||||
redirectUri: http%3A%2F%2F139.9.235.66%3A8010
|
||||
|
||||
Reference in New Issue
Block a user