|
@@ -1,11 +1,9 @@
|
|
package com.persagy.dmp.rwd.edit.service;
|
|
package com.persagy.dmp.rwd.edit.service;
|
|
|
|
|
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
|
-import com.google.gson.Gson;
|
|
|
|
-import com.google.gson.JsonSyntaxException;
|
|
|
|
-import com.google.gson.reflect.TypeToken;
|
|
|
|
import com.persagy.common.criteria.CriteriaUtils;
|
|
import com.persagy.common.criteria.CriteriaUtils;
|
|
import com.persagy.common.criteria.JacksonCriteria;
|
|
import com.persagy.common.criteria.JacksonCriteria;
|
|
|
|
+import com.persagy.common.date.DateUtils;
|
|
import com.persagy.common.web.MapResponse;
|
|
import com.persagy.common.web.MapResponse;
|
|
import com.persagy.common.web.PagedResponse;
|
|
import com.persagy.common.web.PagedResponse;
|
|
import com.persagy.dmp.rwd.edit.config.web.UserUtils;
|
|
import com.persagy.dmp.rwd.edit.config.web.UserUtils;
|
|
@@ -22,6 +20,7 @@ import org.springframework.stereotype.Service;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import javax.transaction.Transactional;
|
|
import javax.transaction.Transactional;
|
|
import java.io.*;
|
|
import java.io.*;
|
|
|
|
+import java.net.URLEncoder;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
|
|
@Slf4j
|
|
@Slf4j
|
|
@@ -196,156 +195,131 @@ public class FuncidDefChangeRecordService {
|
|
return response;
|
|
return response;
|
|
}
|
|
}
|
|
|
|
|
|
- @Transactional
|
|
|
|
- public void download(HttpServletResponse resp, List<Integer> idList) {
|
|
|
|
-// List<ChangeRecord> data = repository.findAllById(idList);
|
|
|
|
-// data.forEach(item -> {
|
|
|
|
-// item.setState(3);
|
|
|
|
-// item.setPublishUser(UserUtils.currentUserId() + "");
|
|
|
|
-// item.setPublishTime(new Date());
|
|
|
|
-// });
|
|
|
|
-// repository.saveAll(data);
|
|
|
|
-//
|
|
|
|
-// String fileName = DateUtils.format(new Date()) + ".sql";
|
|
|
|
-// List<String> sqlList = getSqlList(idList);
|
|
|
|
-//
|
|
|
|
-// OutputStream out = null;
|
|
|
|
-// try {
|
|
|
|
-// InputStream stream = getStream(sqlList);
|
|
|
|
-// resp.reset();// 清空输出流
|
|
|
|
-// String resultFileName = URLEncoder.encode(fileName, "UTF-8");
|
|
|
|
-// resp.setCharacterEncoding("UTF-8");
|
|
|
|
-// resp.setHeader("Content-disposition", "attachment; filename=" + resultFileName);// 设定输出文件头
|
|
|
|
-// resp.setContentType("application/txt");// 定义输出类型
|
|
|
|
-// out = resp.getOutputStream();
|
|
|
|
-// byte[] buff = new byte[4096];
|
|
|
|
-// int size = 0;
|
|
|
|
-// while ((size = stream.read(buff)) != -1) {
|
|
|
|
-// out.write(buff, 0, size);
|
|
|
|
-// }
|
|
|
|
-// out.flush();
|
|
|
|
-// } catch (Exception e) {
|
|
|
|
-// e.printStackTrace();
|
|
|
|
-// } finally {
|
|
|
|
-// try {
|
|
|
|
-// if (out != null) {
|
|
|
|
-// out.close();
|
|
|
|
-// }
|
|
|
|
-// } catch (IOException e) {
|
|
|
|
-// e.printStackTrace();
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- public InputStream getStream(List<String> list) throws IOException {
|
|
|
|
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
|
|
|
- DataOutputStream out = new DataOutputStream(baos);
|
|
|
|
- for (String sql : list) {
|
|
|
|
- out.writeBytes(sql + "\r\n");
|
|
|
|
- }
|
|
|
|
- byte[] bytes = baos.toByteArray();
|
|
|
|
- ByteArrayInputStream tInputStringStream = new ByteArrayInputStream(bytes);
|
|
|
|
- baos.close();
|
|
|
|
- out.close();
|
|
|
|
- return tInputStringStream;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- private List<String> getSqlList(List<Integer> idList) {
|
|
|
|
-// List<String> sqlList = new ArrayList<>();
|
|
|
|
-// List<ChangeRecord> data = repository.findAllById(idList);
|
|
|
|
-// for (ChangeRecord changeRecord : data) {
|
|
|
|
-// StringBuilder sql = new StringBuilder();
|
|
|
|
-// Map<String, Object> map = json2map(JacksonMapper.toSimpleJson(changeRecord.getValue()));
|
|
|
|
-// switch (changeRecord.getOperationType()) {
|
|
|
|
-// case create:
|
|
|
|
-// sql.append("insert into");
|
|
|
|
-// if (changeRecord.getInfoCode() == null) {
|
|
|
|
-// sql.append(" RWD_DEF_CLASS");
|
|
|
|
-// } else {
|
|
|
|
-// sql.append(" RWD_DEF_FUNCID");
|
|
|
|
-// }
|
|
|
|
-// sql.append(" (");//表名
|
|
|
|
-// map.keySet().forEach(item -> {
|
|
|
|
-// sql.append(humpToUnderline(item) + ",");
|
|
|
|
-// });
|
|
|
|
-// sql.deleteCharAt(sql.length() - 1);
|
|
|
|
-// sql.append(") values (");
|
|
|
|
-// map.values().forEach(item -> {
|
|
|
|
-// sql.append("'" + item + "',");
|
|
|
|
-// });
|
|
|
|
-// sql.deleteCharAt(sql.length() - 1);
|
|
|
|
-// sql.append(")");
|
|
|
|
-// break;
|
|
|
|
-// case update:
|
|
|
|
-// sql.append("update");
|
|
|
|
-// if (changeRecord.getInfoCode() == null) {
|
|
|
|
-// sql.append(" RWD_DEF_CLASS");
|
|
|
|
-// } else {
|
|
|
|
-// sql.append(" RWD_DEF_FUNCID");
|
|
|
|
-// }
|
|
|
|
-// sql.append(" set");
|
|
|
|
-// for (Map.Entry<String, Object> entry : map.entrySet()) {
|
|
|
|
-// sql.append(" " + humpToUnderline(entry.getKey()) + " = '" + entry.getValue() + "',");
|
|
|
|
-// }
|
|
|
|
-// sql.deleteCharAt(sql.length() - 1);
|
|
|
|
-// break;
|
|
|
|
-// case delete:
|
|
|
|
-// sql.append("delete from");
|
|
|
|
-// if (changeRecord.getInfoCode() == null) {
|
|
|
|
-// sql.append(" RWD_DEF_CLASS");
|
|
|
|
-// } else {
|
|
|
|
-// sql.append(" RWD_DEF_FUNCID");
|
|
|
|
-// }
|
|
|
|
-// break;
|
|
|
|
-// }
|
|
|
|
-// if (!EnumOperationType.create.equals(changeRecord.getOperationType())) {
|
|
|
|
-// sql.append(" where 1=1");
|
|
|
|
-// if (changeRecord.getInfoCode() == null) {
|
|
|
|
-// sql.append(" and code = '" + changeRecord.getCode() + "'");
|
|
|
|
-// } else {
|
|
|
|
-// sql.append(" and class_code = '" + changeRecord.getCode() + "'");
|
|
|
|
-// sql.append(" and code = '" + changeRecord.getInfoCode() + "'");
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
-// sql.append(";");
|
|
|
|
-// sqlList.add(sql.toString());
|
|
|
|
-// }
|
|
|
|
-// return sqlList;
|
|
|
|
- return null;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- public static void main(String[] args) {
|
|
|
|
- String uuid = UUID.randomUUID().toString().replace("-", "");
|
|
|
|
- System.err.println(uuid);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- private static Map<String, Object> json2map(String str_json) {
|
|
|
|
- Map<String, Object> res = null;
|
|
|
|
- try {
|
|
|
|
- Gson gson = new Gson();
|
|
|
|
- res = gson.fromJson(str_json, new TypeToken<Map<String, Object>>() {
|
|
|
|
- }.getType());
|
|
|
|
- } catch (JsonSyntaxException e) {
|
|
|
|
- }
|
|
|
|
- return res;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- /***
|
|
|
|
- * 驼峰命名转为下划线命名
|
|
|
|
- */
|
|
|
|
- private String humpToUnderline(String para) {
|
|
|
|
- StringBuilder sb = new StringBuilder(para);
|
|
|
|
- int temp = 0;//定位
|
|
|
|
- if (!para.contains("_")) {
|
|
|
|
- for (int i = 0; i < para.length(); i++) {
|
|
|
|
- if (Character.isUpperCase(para.charAt(i))) {
|
|
|
|
- sb.insert(i + temp, "_");
|
|
|
|
- temp += 1;
|
|
|
|
|
|
+ public List<String> getSqlList(String version) {
|
|
|
|
+ List<String> sqlList = new ArrayList<>();
|
|
|
|
+ JacksonCriteria criteria = JacksonCriteria.newInstance();
|
|
|
|
+ criteria.add("version", version);
|
|
|
|
+ PagedResponse<FuncidDefChangeRecord> response = query(criteria);
|
|
|
|
+ List<FuncidDefChangeRecord> data = response.getData();
|
|
|
|
+ for (FuncidDefChangeRecord changeRecord : data) {
|
|
|
|
+ StringBuilder sql = new StringBuilder();
|
|
|
|
+ switch (changeRecord.getOperationType()) {
|
|
|
|
+ case create: {
|
|
|
|
+ String uuid = UUID.randomUUID().toString().replace("-", "");
|
|
|
|
+ sql.append("INSERT INTO `rwd_def_funcid`(`id`,`code`,`orig_code`,`name`,`alias_code`,`alias_name`,`class_code`,`type`," +
|
|
|
|
+ "`group_code`,`project_id`,`category`,`first_tag`,`second_tag`,`priority`,`input_mode`,`unit`,`data_type`,`orig_data_type`," +
|
|
|
|
+ "`is_multiple`,`is_region`,`formater`,`data_source`,`note`,`sub_flag`,`weak_point`) VALUES (");
|
|
|
|
+ sql.append("'" + uuid + "',");
|
|
|
|
+ sql.append("'" + changeRecord.getCode() + "',");
|
|
|
|
+ if (changeRecord.getOrigCode() == null) {
|
|
|
|
+ sql.append("null,");
|
|
|
|
+ } else {
|
|
|
|
+ sql.append("'" + changeRecord.getOrigCode() + "',");
|
|
|
|
+ }
|
|
|
|
+ sql.append("'" + changeRecord.getName() + "',");
|
|
|
|
+ sql.append("'" + changeRecord.getAliasCode() + "',");
|
|
|
|
+ sql.append("'" + changeRecord.getAliasName() + "',");
|
|
|
|
+ sql.append("'" + changeRecord.getClassCode() + "',");
|
|
|
|
+ if (changeRecord.getType() == null) {
|
|
|
|
+ sql.append("null,");
|
|
|
|
+ } else {
|
|
|
|
+ sql.append("'" + changeRecord.getType() + "',");
|
|
|
|
+ }
|
|
|
|
+ sql.append("'" + changeRecord.getGroupCode() + "',");
|
|
|
|
+ sql.append("'" + changeRecord.getProjectId() + "',");
|
|
|
|
+ if (changeRecord.getCategory() == null) {
|
|
|
|
+ sql.append("null,");
|
|
|
|
+ } else {
|
|
|
|
+ sql.append("'" + changeRecord.getCategory() + "',");
|
|
|
|
+ }
|
|
|
|
+ if (changeRecord.getFirstTag() == null) {
|
|
|
|
+ sql.append("null,");
|
|
|
|
+ } else {
|
|
|
|
+ sql.append("'" + changeRecord.getFirstTag() + "',");
|
|
|
|
+ }
|
|
|
|
+ if (changeRecord.getSecondTag() == null) {
|
|
|
|
+ sql.append("null,");
|
|
|
|
+ } else {
|
|
|
|
+ sql.append("'" + changeRecord.getSecondTag() + "',");
|
|
|
|
+ }
|
|
|
|
+ if (changeRecord.getPriority() == null) {
|
|
|
|
+ sql.append("null,");
|
|
|
|
+ } else {
|
|
|
|
+ sql.append("'" + changeRecord.getPriority() + "',");
|
|
|
|
+ }
|
|
|
|
+ if (changeRecord.getInputMode() == null) {
|
|
|
|
+ sql.append("null,");
|
|
|
|
+ } else {
|
|
|
|
+ sql.append("'" + changeRecord.getInputMode() + "',");
|
|
|
|
+ }
|
|
|
|
+ if (changeRecord.getUnit() == null) {
|
|
|
|
+ sql.append("null,");
|
|
|
|
+ } else {
|
|
|
|
+ sql.append("'" + changeRecord.getUnit() + "',");
|
|
|
|
+ }
|
|
|
|
+ sql.append("'" + changeRecord.getDataType() + "',");
|
|
|
|
+ if (changeRecord.getOrigDataType() == null) {
|
|
|
|
+ sql.append("null,");
|
|
|
|
+ } else {
|
|
|
|
+ sql.append("'" + changeRecord.getOrigDataType() + "',");
|
|
|
|
+ }
|
|
|
|
+ if (changeRecord.getIsMultiple() == null) {
|
|
|
|
+ sql.append("null,");
|
|
|
|
+ } else {
|
|
|
|
+ sql.append("'" + changeRecord.getIsMultiple() + "',");
|
|
|
|
+ }
|
|
|
|
+ if (changeRecord.getFormater() == null) {
|
|
|
|
+ sql.append("null,");
|
|
|
|
+ } else {
|
|
|
|
+ sql.append("'" + changeRecord.getFormater() + "')");
|
|
|
|
+ }
|
|
|
|
+ if (changeRecord.getDataSource() == null) {
|
|
|
|
+ sql.append("null,");
|
|
|
|
+ } else {
|
|
|
|
+ sql.append("'" + changeRecord.getDataSource() + "')");
|
|
|
|
+ }
|
|
|
|
+ if (changeRecord.getNote() == null) {
|
|
|
|
+ sql.append("null,");
|
|
|
|
+ } else {
|
|
|
|
+ sql.append("'" + changeRecord.getNote() + "')");
|
|
|
|
+ }
|
|
|
|
+ if (changeRecord.getSubFlag() == null) {
|
|
|
|
+ sql.append("null,");
|
|
|
|
+ } else {
|
|
|
|
+ sql.append("'" + changeRecord.getSubFlag() + "')");
|
|
|
|
+ }
|
|
|
|
+ if (changeRecord.getWeakPoint() == null) {
|
|
|
|
+ sql.append("null,");
|
|
|
|
+ } else {
|
|
|
|
+ sql.append("'" + changeRecord.getWeakPoint() + "');");
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ case update: {
|
|
|
|
+ sql.append("UPDATE `rwd_def_funcid` SET");
|
|
|
|
+ sql.append(" `alias_code` = '" + changeRecord.getAliasCode() + "',");
|
|
|
|
+ sql.append(" `alias_name` = '" + changeRecord.getAliasName() + "'");
|
|
|
|
+ sql.append(" WHERE `code` = '" + changeRecord.getCode() + "'");
|
|
|
|
+ sql.append(" WHERE `class_code` = '" + changeRecord.getClassCode() + "'");
|
|
|
|
+ sql.append(" and `group_code` = '" + changeRecord.getGroupCode() + "'");
|
|
|
|
+ sql.append(" and `project_id` = '" + changeRecord.getProjectId() + "';");
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ case delete: {
|
|
|
|
+ sql.append("DELETE FROM `rwd_def_funcid`");
|
|
|
|
+ sql.append(" WHERE `code` = '" + changeRecord.getCode() + "'");
|
|
|
|
+ sql.append(" WHERE `class_code` = '" + changeRecord.getClassCode() + "'");
|
|
|
|
+ sql.append(" and `group_code` = '" + changeRecord.getGroupCode() + "'");
|
|
|
|
+ sql.append(" and `project_id` = '" + changeRecord.getProjectId() + "';");
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ default: {
|
|
|
|
+ break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ sqlList.add(sql.toString());
|
|
}
|
|
}
|
|
- return sb.toString().toUpperCase();
|
|
|
|
|
|
+ return sqlList;
|
|
}
|
|
}
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
|