bug修改

dev
IT-xiaoXiong 2021-12-09 22:14:48 +08:00
parent 79c79d1218
commit 7efbec9808
8 changed files with 3077 additions and 2966 deletions

Binary file not shown.

View File

@ -38,14 +38,11 @@ import java.util.zip.ZipOutputStream;
* @author EBU7-dev1-ayh
* @create 2021/11/3 0003 14:51
*/
public class FaDDContractService {
private final ToolUtil toolUtil = new ToolUtil();
private final String contractInfoTable = "uf_contract_info";
private final FaDDContractMapping faDDContractMapping = new FaDDContractMapping();
/**
* idid
*
@ -82,7 +79,6 @@ public class FaDDContractService {
return nods.split(",");
}
/**
* SQL
*
@ -92,21 +88,31 @@ public class FaDDContractService {
* @param tableName
* @return
*/
public List<Map<String, Object>> getDataArr(String requestId, String workflowId, String mainTableName, String tableName) {
public List<Map<String, Object>> getDataArr(
String requestId, String workflowId, String mainTableName, String tableName) {
Map<String, Object> mainMap = faDDContractMapping.queryMainMap(requestId, mainTableName);
String mainId = Util.null2String(mainMap.get("id"));
List<Map<String, Object>> detailMaps = faDDContractMapping.queryDetailMaps(mainId, tableName);
return getDataArr(requestId, workflowId, tableName, mainMap, detailMaps);
}
public List<Map<String, Object>> getDataArr(String requestId, String workflowId, String mainTableName, String tableName, List<Map<String, Object>> detailMaps) {
public List<Map<String, Object>> getDataArr(
String requestId,
String workflowId,
String mainTableName,
String tableName,
List<Map<String, Object>> detailMaps) {
Map<String, Object> mainMap = faDDContractMapping.queryMainMap(requestId, mainTableName);
String mainId = Util.null2String(mainMap.get("id"));
return getDataArr(requestId, workflowId, tableName, mainMap, detailMaps);
}
public List<Map<String, Object>> getDataArr(String requestId, String workflowId, String tableName,
Map<String, Object> mainMap, List<Map<String, Object>> detailMaps) {
public List<Map<String, Object>> getDataArr(
String requestId,
String workflowId,
String tableName,
Map<String, Object> mainMap,
List<Map<String, Object>> detailMaps) {
List<Map<String, Object>> dataArr = new ArrayList<>();
String dt = tableName.substring(tableName.indexOf("_dt") + 3);
String main = "main.";
@ -133,7 +139,8 @@ public class FaDDContractService {
* @param dataArr
* @return
*/
public List<Map<String, Object>> objectAndListHandle(List<ApiConfigDetailDTO> treeList, List<Map<String, Object>> dataArr) {
public List<Map<String, Object>> objectAndListHandle(
List<ApiConfigDetailDTO> treeList, List<Map<String, Object>> dataArr) {
List<Map<String, Object>> params = new ArrayList<>();
for (Map<String, Object> dataMap : dataArr) {
Map<String, Object> param = new HashMap<>();
@ -155,13 +162,17 @@ public class FaDDContractService {
String sql = apiConfigDetailDTO.getArraySql();
String parsingSq = aiyh.utils.Util.parsingSq(sql, dataMap);
// list类型
if (parsingSq.contains("delete") || parsingSq.contains("update") ||
parsingSq.contains("exec") || parsingSq.contains("drop") ||
parsingSq.contains("truncate")) {
if (parsingSq.contains("delete")
|| parsingSq.contains("update")
|| parsingSq.contains("exec")
|| parsingSq.contains("drop")
|| parsingSq.contains("truncate")) {
value = new ArrayList<>();
} else {
RecordSet rs = new RecordSet();
String replace = parsingSq.replace(" ", "select ")
String replace =
parsingSq
.replace(" ", "select ")
.replaceAll(" ", " and ")
.replaceAll(" ", " or ")
.replaceAll(" ", " join ")
@ -207,7 +218,8 @@ public class FaDDContractService {
* @param dataMap
* @return
*/
private Object changeRuleHandle(ApiConfigDetailDTO apiConfigDetailDTO, Map<String, Object> dataMap) {
private Object changeRuleHandle(
ApiConfigDetailDTO apiConfigDetailDTO, Map<String, Object> dataMap) {
Object value;
String tableName;
String table;
@ -252,13 +264,17 @@ public class FaDDContractService {
// 流程字段转SQL
sql = apiConfigDetailDTO.getParamValue();
resultSql = aiyh.utils.Util.parsingSq(sql, dataMap);
if (resultSql.contains("delete ") || resultSql.contains("update ") ||
resultSql.contains("exec ") || resultSql.contains("drop ") ||
resultSql.contains("truncate ")) {
if (resultSql.contains("delete ")
|| resultSql.contains("update ")
|| resultSql.contains("exec ")
|| resultSql.contains("drop ")
|| resultSql.contains("truncate ")) {
value = null;
} else {
RecordSet rs = new RecordSet();
String replace = resultSql.replace(" ", "select ")
String replace =
resultSql
.replace(" ", "select ")
.replaceAll(" ", " and ")
.replaceAll(" ", " or ")
.replaceAll(" ", " join ")
@ -311,12 +327,14 @@ public class FaDDContractService {
update.put("single_signed_num", ufContractInfoDTO.getSingleSignedNum() + 1);
toolUtil.writeDebuggerLog("单份合同签署成功");
// 如果单份合同签署数量等于合同文件数量,表示已经签署完成
if (ufContractInfoDTO.getSingleSignedNum() + 1 == ufContractInfoDTO.getSingleContractFileNum()) {
if (ufContractInfoDTO.getSingleSignedNum() + 1
== ufContractInfoDTO.getSingleContractFileNum()) {
toolUtil.writeDebuggerLog("单份合同全部签署成功");
update.put("signed_num", ufContractInfoDTO.getSignedNum() + 1);
// 查询下一位合同方并发起签署
if (ufContractInfoDTO.getSignedNum() + 1 < ufContractInfoDTO.getShouldSignedNum()) {
toolUtil.writeDebuggerLog("应签署合同比签署合同数量多,需要再次签署!" + (ufContractInfoDTO.getSignedNum() + 1));
toolUtil.writeDebuggerLog(
"应签署合同比签署合同数量多,需要再次签署!" + (ufContractInfoDTO.getSignedNum() + 1));
update.put("single_signed_num", 0);
nextContractSigned(ufContractInfoDTO);
}
@ -332,15 +350,18 @@ public class FaDDContractService {
update.put("contract_status", 4);
// 仅对方签署完成后,添加用户信息
// 获取配置表信息
FaDaDaConfigDTO faDaDaConfigDTO = faDDContractMapping.queryConfig(String.valueOf(ufContractInfoDTO.getWorkflowType()), 4);
FaDaDaConfigDTO faDaDaConfigDTO =
faDDContractMapping.queryConfig(
String.valueOf(ufContractInfoDTO.getWorkflowType()), 4);
RecordSet rs = new RecordSet();
String userInfo = ufContractInfoDTO.getUserInfo();
User user = JSON.parseObject(userInfo, new TypeReference<User>() {
});
User user = JSON.parseObject(userInfo, new TypeReference<User>() {});
// 获取流程中的合同字段的文档目录id
rs.executeQuery("select formid from workflow_base where id = ?", ufContractInfoDTO.getWorkflowType());
rs.executeQuery(
"select formid from workflow_base where id = ?", ufContractInfoDTO.getWorkflowType());
String formId = Util.recordeSet2Entity(rs, String.class);
String query = "select doccategory from workflow_fileupload where fieldid = (select id from workflow_billfield where fieldname = ? and billid = ?)";
String query =
"select doccategory from workflow_fileupload where fieldid = (select id from workflow_billfield where fieldname = ? and billid = ?)";
rs.executeQuery(query, faDaDaConfigDTO.getContractDoc(), formId);
String docCategorys = Util.null2String(Util.recordeSet2Entity(rs, String.class));
if (StringUtils.isNullOrEmpty(docCategorys)) {
@ -363,12 +384,16 @@ public class FaDDContractService {
}
toolUtil.writeDebuggerLog("生成的文档的id" + docIds);
// 将id保存到流程字段中
PrepSqlResultImpl sqlResult = Util.createSqlBuilder().updateSql(ufContractInfoDTO.getWorkflowMainTable(),
PrepSqlResultImpl sqlResult =
Util.createSqlBuilder()
.updateSql(
ufContractInfoDTO.getWorkflowMainTable(),
ParaMap.create().put(faDaDaConfigDTO.getContractDoc(), docIds),
Util.createPrepWhereImpl().whereAnd("id").whereEqual(ufContractInfoDTO.getMainId()));
Util.createPrepWhereImpl()
.whereAnd("id")
.whereEqual(ufContractInfoDTO.getMainId()));
toolUtil.writeDebuggerLog(sqlResult.getSqlStr() + ",参数:" + sqlResult.getArgs());
rs.executeUpdate(sqlResult.getSqlStr(), sqlResult.getArgs());
}
}
} else {
@ -376,7 +401,9 @@ public class FaDDContractService {
// 直接合同已签署+1
update.put("signed_num", ufContractInfoDTO.getSignedNum() + 1);
// 如果已签文件数等于需要签署的合同数乘以合同文件数相等,则代表对方已经签署完毕
if (ufContractInfoDTO.getSignedNum() + 1 == ufContractInfoDTO.getShouldSignedNum() * ufContractInfoDTO.getSingleContractFileNum()) {
if (ufContractInfoDTO.getSignedNum() + 1
== ufContractInfoDTO.getShouldSignedNum()
* ufContractInfoDTO.getSingleContractFileNum()) {
update.put("contract_status", 3);
// 判断是否控制签署规则 1-仅本方签署2-仅对方签署3-都签署
if ("1".equals(Util.null2String(ufContractInfoDTO.getSignedType()))) {
@ -386,15 +413,18 @@ public class FaDDContractService {
update.put("contract_status", 4);
// 仅对方签署完成后,添加用户信息
// 获取配置表信息
FaDaDaConfigDTO faDaDaConfigDTO = faDDContractMapping.queryConfig(String.valueOf(ufContractInfoDTO.getWorkflowType()), 4);
FaDaDaConfigDTO faDaDaConfigDTO =
faDDContractMapping.queryConfig(
String.valueOf(ufContractInfoDTO.getWorkflowType()), 4);
RecordSet rs = new RecordSet();
String userInfo = ufContractInfoDTO.getUserInfo();
User user = JSON.parseObject(userInfo, new TypeReference<User>() {
});
User user = JSON.parseObject(userInfo, new TypeReference<User>() {});
// 获取流程中的合同字段的文档目录id
rs.executeQuery("select formid from workflow_base where id = ?", ufContractInfoDTO.getWorkflowType());
rs.executeQuery(
"select formid from workflow_base where id = ?", ufContractInfoDTO.getWorkflowType());
String formId = Util.recordeSet2Entity(rs, String.class);
String query = "select doccategory from workflow_fileupload where fieldid = (select id from workflow_billfield where fieldname = ? and billid = ?)";
String query =
"select doccategory from workflow_fileupload where fieldid = (select id from workflow_billfield where fieldname = ? and billid = ?)";
rs.executeQuery(query, faDaDaConfigDTO.getContractDoc(), formId);
String docCategorys = Util.null2String(Util.recordeSet2Entity(rs, String.class));
if (StringUtils.isNullOrEmpty(docCategorys)) {
@ -417,9 +447,14 @@ public class FaDDContractService {
}
toolUtil.writeDebuggerLog("生成的文档的id" + docIds);
// 将id保存到流程字段中
PrepSqlResultImpl sqlResult = Util.createSqlBuilder().updateSql(ufContractInfoDTO.getWorkflowMainTable(),
PrepSqlResultImpl sqlResult =
Util.createSqlBuilder()
.updateSql(
ufContractInfoDTO.getWorkflowMainTable(),
ParaMap.create().put(faDaDaConfigDTO.getContractDoc(), docIds),
Util.createPrepWhereImpl().whereAnd("id").whereEqual(ufContractInfoDTO.getMainId()));
Util.createPrepWhereImpl()
.whereAnd("id")
.whereEqual(ufContractInfoDTO.getMainId()));
toolUtil.writeDebuggerLog(sqlResult.getSqlStr() + ",参数:" + sqlResult.getArgs());
rs.executeUpdate(sqlResult.getSqlStr(), sqlResult.getArgs());
}
@ -427,10 +462,16 @@ public class FaDDContractService {
}
// 更新状态
PrepSqlResultImpl sqlResult = Util.createSqlBuilder().updateSql("uf_contract_info", update,
PrepSqlResultImpl sqlResult =
Util.createSqlBuilder()
.updateSql(
"uf_contract_info",
update,
Util.createPrepWhereImpl().whereAnd("id").whereEqual(ufContractInfoDTO.getId()));
RecordSet rs = new RecordSet();
toolUtil.writeDebuggerLog(String.format("合同签署回调,更新合同状态,更新语句{%s},更新参数{%s}", sqlResult.getSqlStr(), sqlResult.getArgs()));
toolUtil.writeDebuggerLog(
String.format(
"合同签署回调,更新合同状态,更新语句{%s},更新参数{%s}", sqlResult.getSqlStr(), sqlResult.getArgs()));
rs.executeUpdate(sqlResult.getSqlStr(), sqlResult.getArgs());
// 查询合同状态,更新明细表
/* Map<String,Object> data = new HashMap<>();
@ -470,7 +511,10 @@ public class FaDDContractService {
* @param ufContractInfoDTO
*/
private void nextContractSigned(UfContractInfoDTO ufContractInfoDTO) {
String query = "select * from " + ufContractInfoDTO.getWorkflowDetailTable() + " where mainid = ? and signed_status is null";
String query =
"select * from "
+ ufContractInfoDTO.getWorkflowDetailTable()
+ " where mainid = ? and signed_status is null";
RecordSet rs = new RecordSet();
rs.executeQuery(query, ufContractInfoDTO.getMainId());
List<Map<String, Object>> detailMaps = Util.recordSet2MapList(rs);
@ -484,13 +528,18 @@ public class FaDDContractService {
throw new RuntimeException("mainMap查询到null!");
}
// 获取配置表信息
FaDaDaConfigDTO faDaDaConfigDTO = faDDContractMapping.queryConfig(String.valueOf(ufContractInfoDTO.getWorkflowType()), 3);
FaDaDaConfigDTO faDaDaConfigDTO =
faDDContractMapping.queryConfig(String.valueOf(ufContractInfoDTO.getWorkflowType()), 3);
// 查询接口配置树形结构
ApiConfigMainDTO apiConfigMainDTO = Util.queryApiConfigTree(faDaDaConfigDTO.getParamsConfig());
// 查询签署数据
List<Map<String, Object>> dataArr = getDataArr(ufContractInfoDTO.getWorkflowRequestId(),
String.valueOf(ufContractInfoDTO.getWorkflowType()), ufContractInfoDTO.getWorkflowMainTable(),
ufContractInfoDTO.getWorkflowDetailTable(), detailMaps);
List<Map<String, Object>> dataArr =
getDataArr(
ufContractInfoDTO.getWorkflowRequestId(),
String.valueOf(ufContractInfoDTO.getWorkflowType()),
ufContractInfoDTO.getWorkflowMainTable(),
ufContractInfoDTO.getWorkflowDetailTable(),
detailMaps);
// 处理数据
List<Map<String, Object>> maps = objectAndListHandle(apiConfigMainDTO.getDetails(), dataArr);
if (maps == null) {
@ -504,7 +553,8 @@ public class FaDDContractService {
Map<String, Object> map = maps.get(1);
// 如果进行控制签署规则
if (faDaDaConfigDTO.getSignedType() == 1) {
if (Integer.parseInt(Util.null2String(mainMap.get(faDaDaConfigDTO.getFieldControl1()))) == faDaDaConfigDTO.getOnlyOther()) {
if (Integer.parseInt(Util.null2String(mainMap.get(faDaDaConfigDTO.getFieldControl1())))
== faDaDaConfigDTO.getOnlyOther()) {
// 仅对方签署
if (maps.size() == 1) {
// map.put("signType", 1);
@ -526,15 +576,27 @@ public class FaDDContractService {
signedRequest(map, apiConfigMainDTO);
// 将合同签署信息更新到合同信息表中
updateData.put("single_signed_num", 0);
PrepSqlResultImpl sqlResult = Util.createSqlBuilder().updateSql(contractInfoTable, updateData,
Util.createPrepWhereImpl().whereAnd("workflow_request_id").whereEqual(ufContractInfoDTO.getWorkflowRequestId()));
PrepSqlResultImpl sqlResult =
Util.createSqlBuilder()
.updateSql(
contractInfoTable,
updateData,
Util.createPrepWhereImpl()
.whereAnd("workflow_request_id")
.whereEqual(ufContractInfoDTO.getWorkflowRequestId()));
rs.executeUpdate(sqlResult.getSqlStr(), sqlResult.getArgs());
updateData.clear();
// 更新明细表合同信息 明细表添加字段signed_status合同方签署状态
// 签署状态1 已发送待签署2 已签蜀
updateData.put("signed_status", 1);
sqlResult = Util.createSqlBuilder().updateSql(ufContractInfoDTO.getWorkflowDetailTable(), updateData,
Util.createPrepWhereImpl().whereAnd("id").whereEqual(String.valueOf(map.get("id"))));
sqlResult =
Util.createSqlBuilder()
.updateSql(
ufContractInfoDTO.getWorkflowDetailTable(),
updateData,
Util.createPrepWhereImpl()
.whereAnd("id")
.whereEqual(String.valueOf(map.get("id"))));
rs.executeUpdate(sqlResult.getSqlStr(), sqlResult.getArgs());
}
@ -581,8 +643,7 @@ public class FaDDContractService {
boolean isSingedOneself = false;
if (result == null) {
toolUtil.writeDebuggerLog("查询到状态为nullsql" + query + " ---> " + requestId);
return ParaMap.create().put("isAllSinged", false)
.put("isSingedOneself", false);
return ParaMap.create().put("isAllSinged", false).put("isSingedOneself", false);
}
// 等待对方签署
/* if("2".equals(result.get("contract_status"))){
@ -597,20 +658,24 @@ public class FaDDContractService {
isAllSinged = true;
isSingedOneself = true;
}
return ParaMap.create().put("isAllSinged", isAllSinged)
.put("isSingedOneself", isSingedOneself);
return ParaMap.create().put("isAllSinged", isAllSinged).put("isSingedOneself", isSingedOneself);
}
public void signedContractOwn(String requestId, User user) {
// 查询合同信息
UfContractInfoDTO ufContractInfoDTO = faDDContractMapping.queryContractInfoByRequestId(requestId);
UfContractInfoDTO ufContractInfoDTO =
faDDContractMapping.queryContractInfoByRequestId(requestId);
// 获取配置表信息
FaDaDaConfigDTO faDaDaConfigDTO = faDDContractMapping.queryConfig(String.valueOf(ufContractInfoDTO.getWorkflowType()), 4);
FaDaDaConfigDTO faDaDaConfigDTO =
faDDContractMapping.queryConfig(String.valueOf(ufContractInfoDTO.getWorkflowType()), 4);
// 查询接口配置树形结构
ApiConfigMainDTO apiConfigMainDTO = Util.queryApiConfigTree(faDaDaConfigDTO.getParamsConfig());
// 查询签署数据
List<Map<String, Object>> dataArr = getDataArr(ufContractInfoDTO.getWorkflowRequestId(),
String.valueOf(ufContractInfoDTO.getWorkflowType()), ufContractInfoDTO.getWorkflowMainTable(),
List<Map<String, Object>> dataArr =
getDataArr(
ufContractInfoDTO.getWorkflowRequestId(),
String.valueOf(ufContractInfoDTO.getWorkflowType()),
ufContractInfoDTO.getWorkflowMainTable(),
ufContractInfoDTO.getWorkflowDetailTable());
// 处理数据
List<Map<String, Object>> maps = objectAndListHandle(apiConfigMainDTO.getDetails(), dataArr);
@ -650,14 +715,20 @@ public class FaDDContractService {
update.put("contract_status", 4);
update.put("contract_view_url", String.join(";", viewUrlList));
update.put("contract_down_url", String.join(";", downloadUrlList));
PrepSqlResultImpl sqlResult = Util.createSqlBuilder().updateSql(contractInfoTable, update,
PrepSqlResultImpl sqlResult =
Util.createSqlBuilder()
.updateSql(
contractInfoTable,
update,
Util.createPrepWhereImpl().whereAnd("workflow_request_id").whereEqual(requestId));
toolUtil.writeDebuggerLog(sqlResult.getSqlStr() + ",参数:" + sqlResult.getArgs());
rs.executeUpdate(sqlResult.getSqlStr(), sqlResult.getArgs());
// 获取流程中的合同字段的文档目录id
rs.executeQuery("select formid from workflow_base where id = ?", ufContractInfoDTO.getWorkflowType());
rs.executeQuery(
"select formid from workflow_base where id = ?", ufContractInfoDTO.getWorkflowType());
String formId = Util.recordeSet2Entity(rs, String.class);
String query = "select doccategory from workflow_fileupload where fieldid = (select id from workflow_billfield where fieldname = ? and billid = ?)";
String query =
"select doccategory from workflow_fileupload where fieldid = (select id from workflow_billfield where fieldname = ? and billid = ?)";
rs.executeQuery(query, faDaDaConfigDTO.getContractDoc(), formId);
String docCategorys = Util.null2String(Util.recordeSet2Entity(rs, String.class));
if (StringUtils.isNullOrEmpty(docCategorys)) {
@ -680,30 +751,40 @@ public class FaDDContractService {
}
toolUtil.writeDebuggerLog("生成的文档的id" + docIds);
// 将id保存到流程字段中
sqlResult = Util.createSqlBuilder().updateSql(ufContractInfoDTO.getWorkflowMainTable(),
sqlResult =
Util.createSqlBuilder()
.updateSql(
ufContractInfoDTO.getWorkflowMainTable(),
ParaMap.create().put(faDaDaConfigDTO.getContractDoc(), docIds),
Util.createPrepWhereImpl().whereAnd("id").whereEqual(ufContractInfoDTO.getMainId()));
Util.createPrepWhereImpl()
.whereAnd("id")
.whereEqual(ufContractInfoDTO.getMainId()));
toolUtil.writeDebuggerLog(sqlResult.getSqlStr() + ",参数:" + sqlResult.getArgs());
rs.executeUpdate(sqlResult.getSqlStr(), sqlResult.getArgs());
}
public String downloadContract2FileSystem(UfContractInfoDTO ufContractInfoDTO, String category, User user) {
public String downloadContract2FileSystem(
UfContractInfoDTO ufContractInfoDTO, String category, User user) {
/* ImageFileManager fileManager = new ImageFileManager();
int fileId = fileManager.saveImageFileByInputStream(downloadContract(ufContractInfoDTO.getContractNo(),
String.valueOf(ufContractInfoDTO.getWorkflowType())), ufContractInfoDTO.getFileName());*/
// 获取配置表信息
FaDaDaConfigDTO faDaDaConfigDTO = faDDContractMapping.queryConfig(String.valueOf(ufContractInfoDTO.getWorkflowType()), 5);
FaDaDaConfigDTO faDaDaConfigDTO =
faDDContractMapping.queryConfig(String.valueOf(ufContractInfoDTO.getWorkflowType()), 5);
ApiConfigMainDTO apiConfigMainDTO = Util.queryApiConfig(faDaDaConfigDTO.getParamsConfig());
String contractNos = Util.null2String(ufContractInfoDTO.getContractNo());
String[] split = contractNos.split(",");
List<String> docIds = new ArrayList<>();
for (String contractNo : split) {
// InputStream inputStream = downloadContract(s, String.valueOf(ufContractInfoDTO.getWorkflowType()));
// InputStream inputStream = downloadContract(s,
// String.valueOf(ufContractInfoDTO.getWorkflowType()));
Map<String, Object> data = new HashMap<>();
data.put("contractNo", contractNo);
AtomicReference<InputStream> content = new AtomicReference<>();
FaDDRequestUtils.downContract(data, response -> {
FaDDRequestUtils.downContract(
data,
response -> {
HttpEntity entity = response.getEntity();
if (response.getStatusLine().getStatusCode() != 200) {
throw new RuntimeException("法大大请求接口错误!");
@ -727,8 +808,12 @@ public class FaDDContractService {
toolUtil.writeDebuggerLog("category" + category);
// toolUtil.writeDebuggerLog("user" + JSON.toJSONString(user));
toolUtil.writeDebuggerLog("fileName" + ufContractInfoDTO.getFileName());
docIds.add(String.valueOf(fileProcessor.Process("base64:" + base64, category, user, ufContractInfoDTO.getFileName())));
}, apiConfigMainDTO.getApiUrl());
docIds.add(
String.valueOf(
fileProcessor.Process(
"base64:" + base64, category, user, ufContractInfoDTO.getFileName())));
},
apiConfigMainDTO.getApiUrl());
}
return String.join(",", docIds);
}
@ -740,7 +825,9 @@ public class FaDDContractService {
Map<String, Object> data = new HashMap<>();
data.put("contractNo", contractNo);
AtomicReference<InputStream> content = new AtomicReference<>();
FaDDRequestUtils.downContract(data, response -> {
FaDDRequestUtils.downContract(
data,
response -> {
HttpEntity entity = response.getEntity();
if (response.getStatusLine().getStatusCode() != 200) {
throw new RuntimeException("法大大请求接口错误!");
@ -750,7 +837,8 @@ public class FaDDContractService {
} catch (IOException e) {
e.printStackTrace();
}
}, apiConfigMainDTO.getApiUrl());
},
apiConfigMainDTO.getApiUrl());
return content.get();
}
@ -762,10 +850,12 @@ public class FaDDContractService {
*/
public StreamingOutput download4mFDD(UfContractInfoDTO ufContractInfoDTO) {
// 获取配置表信息
FaDaDaConfigDTO faDaDaConfigDTO = faDDContractMapping.queryConfig(String.valueOf(ufContractInfoDTO.getWorkflowType()), 5);
FaDaDaConfigDTO faDaDaConfigDTO =
faDDContractMapping.queryConfig(String.valueOf(ufContractInfoDTO.getWorkflowType()), 5);
ApiConfigMainDTO apiConfigMainDTO = Util.queryApiConfig(faDaDaConfigDTO.getParamsConfig());
// 查询合同信息
// UfContractInfoDTO ufContractInfoDTO = faDDContractMapping.queryContractInfoByRequestId(requestId);
// UfContractInfoDTO ufContractInfoDTO =
// faDDContractMapping.queryContractInfoByRequestId(requestId);
String contractNos = Util.null2String(ufContractInfoDTO.getContractNo());
String fileNames = Util.null2String(ufContractInfoDTO.getFileName());
String[] contractNoArr = contractNos.split(",");
@ -777,12 +867,15 @@ public class FaDDContractService {
ZipOutputStream zipOut = new ZipOutputStream(outputStream);
int catchLen = 10 * 1024;
for (int i = 0; i < contractNoArr.length; i++) {
// InputStream inputStream = downloadContract(contractNoArr[i], String.valueOf(ufContractInfoDTO.getWorkflowType()));
// InputStream inputStream = downloadContract(contractNoArr[i],
// String.valueOf(ufContractInfoDTO.getWorkflowType()));
Map<String, Object> data = new HashMap<>();
data.put("contractNo", contractNoArr[i]);
AtomicReference<InputStream> content = new AtomicReference<>();
int finalI = i;
FaDDRequestUtils.downContract(data, response -> {
FaDDRequestUtils.downContract(
data,
response -> {
HttpEntity entity = response.getEntity();
if (response.getStatusLine().getStatusCode() != 200) {
throw new RuntimeException("法大大请求接口错误!");
@ -801,8 +894,8 @@ public class FaDDContractService {
e.printStackTrace();
toolUtil.writeErrorLog("文件压缩处理出现问题!" + e);
}
}, apiConfigMainDTO.getApiUrl());
},
apiConfigMainDTO.getApiUrl());
}
zipOut.flush();
zipOut.close();
@ -812,11 +905,14 @@ public class FaDDContractService {
}
return outputStream -> {
toolUtil.writeDebuggerLog("download4mFDD单文件下载");
// InputStream inputStream = downloadContract(contractNos,String.valueOf(ufContractInfoDTO.getWorkflowType()));
// InputStream inputStream =
// downloadContract(contractNos,String.valueOf(ufContractInfoDTO.getWorkflowType()));
Map<String, Object> data = new HashMap<>();
data.put("contractNo", contractNos);
AtomicReference<InputStream> content = new AtomicReference<>();
FaDDRequestUtils.downContract(data, response -> {
FaDDRequestUtils.downContract(
data,
response -> {
HttpEntity entity = response.getEntity();
if (response.getStatusLine().getStatusCode() != 200) {
throw new RuntimeException("法大大请求接口错误!");
@ -836,8 +932,8 @@ public class FaDDContractService {
e.printStackTrace();
toolUtil.writeErrorLog("单文件下载处理出现问题!" + e);
}
}, apiConfigMainDTO.getApiUrl());
},
apiConfigMainDTO.getApiUrl());
};
}
}

View File

@ -1,25 +1,5 @@
package com.api.aiyh_pcn.fadada.service.impl;
import aiyh.utils.Util;
import aiyh.utils.entity.ApiConfigDetailDTO;
import aiyh.utils.entity.ApiConfigMainDTO;
import aiyh.utils.httpUtil.ResponeVo;
import aiyh.utils.zwl.common.ToolUtil;
import com.alibaba.fastjson.JSONObject;
import com.api.aiyh_pcn.fadada.dao.FaDDServiceMapping;
import com.api.aiyh_pcn.fadada.entity.FaDaDaConfigDTO;
import com.api.aiyh_pcn.fadada.service.IFaDDService;
import com.api.aiyh_pcn.fadada.util.FaDDRequestUtils;
import com.api.aiyh_pcn.fadada.vo.TableFieldMappingVO;
import com.fasterxml.jackson.core.JsonProcessingException;
import org.apache.http.Header;
import org.apache.http.HeaderElement;
import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import weaver.conn.RecordSet;
import weaver.workflow.workflow.WorkflowVersion;
import javax.ws.rs.core.StreamingOutput;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
@ -29,19 +9,38 @@ import java.util.Map;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
import javax.ws.rs.core.StreamingOutput;
import org.apache.http.Header;
import org.apache.http.HeaderElement;
import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import com.alibaba.fastjson.JSONObject;
import com.api.aiyh_pcn.fadada.dao.FaDDServiceMapping;
import com.api.aiyh_pcn.fadada.entity.FaDaDaConfigDTO;
import com.api.aiyh_pcn.fadada.service.IFaDDService;
import com.api.aiyh_pcn.fadada.util.FaDDRequestUtils;
import com.api.aiyh_pcn.fadada.vo.TableFieldMappingVO;
import com.fasterxml.jackson.core.JsonProcessingException;
import aiyh.utils.Util;
import aiyh.utils.entity.ApiConfigDetailDTO;
import aiyh.utils.entity.ApiConfigMainDTO;
import aiyh.utils.httpUtil.ResponeVo;
import aiyh.utils.zwl.common.ToolUtil;
import weaver.conn.RecordSet;
import weaver.workflow.workflow.WorkflowVersion;
/**
* @author EBU7-dev1-ayh
* @create 2021/9/30 0030 11:12
* service
* @create 2021/9/30 0030 11:12 service
*/
public class FaDDServiceImpl implements IFaDDService {
private final FaDDServiceMapping faDDServiceMapping = new FaDDServiceMapping();
private final ToolUtil toolUtil = new ToolUtil();
// private final String MAIN_TABLE = "formtable_main_17";
@Override
public Map<String, Object> getConfigParam(String workflowId) {
FaDaDaConfigDTO faDaDaConfigDTO = faDDServiceMapping.queryConfig(workflowId, 0);
@ -109,7 +108,8 @@ public class FaDDServiceImpl implements IFaDDService {
tableFieldMappingVOS.addAll(tableFieldMappingVOList);
}
}
List<TableFieldMappingVO> doDeWeight = Util.deWeight(tableFieldMappingVOS, e -> e.getTableName() + e.getField());
List<TableFieldMappingVO> doDeWeight =
Util.deWeight(tableFieldMappingVOS, e -> e.getTableName() + e.getField());
Map<String, Object> map = new HashMap<>();
map.put("tableFieldMappings", doDeWeight);
String checkSource = faDaDaConfigDTO.getCheckSource();
@ -146,7 +146,8 @@ public class FaDDServiceImpl implements IFaDDService {
// 未查询到数据
errorList.add(data);
} else {
if ("1001005".equals(String.valueOf(result.get("code"))) || !"200".equals(String.valueOf(result.get("code")))) {
if ("1001005".equals(String.valueOf(result.get("code")))
|| !"200".equals(String.valueOf(result.get("code")))) {
// 企业信息不存在或者未认证
nonsupportList.add(data);
}
@ -163,7 +164,8 @@ public class FaDDServiceImpl implements IFaDDService {
return resultMap;
}
private List<Map<String, Object>> objectAndListHandle(List<ApiConfigDetailDTO> treeList, List<Map<String, Object>> dataArr) {
private List<Map<String, Object>> objectAndListHandle(List<ApiConfigDetailDTO> treeList,
List<Map<String, Object>> dataArr) {
List<Map<String, Object>> params = new ArrayList<>();
for (Map<String, Object> dataMap : dataArr) {
Map<String, Object> param = new HashMap<>();
@ -185,9 +187,8 @@ public class FaDDServiceImpl implements IFaDDService {
String sql = apiConfigDetailDTO.getArraySql();
String parsingSq = Util.parsingSq(sql, dataMap);
// list类型
if (parsingSq.contains("delete") || parsingSq.contains("update") ||
parsingSq.contains("exec") || parsingSq.contains("drop") ||
parsingSq.contains("truncate")) {
if (parsingSq.contains("delete") || parsingSq.contains("update") || parsingSq.contains("exec")
|| parsingSq.contains("drop") || parsingSq.contains("truncate")) {
value = new ArrayList<>();
} else {
RecordSet rs = new RecordSet();
@ -264,9 +265,8 @@ public class FaDDServiceImpl implements IFaDDService {
sql = apiConfigDetailDTO.getParamValue();
resultSql = Util.parsingSq(sql, dataMap);
toolUtil.writeErrorLog(dataMap.toString());
if (resultSql.contains("delete ") || resultSql.contains("update ") ||
resultSql.contains("exec ") || resultSql.contains("drop ") ||
resultSql.contains("truncate ")) {
if (resultSql.contains("delete ") || resultSql.contains("update ") || resultSql.contains("exec ")
|| resultSql.contains("drop ") || resultSql.contains("truncate ")) {
value = null;
} else {
RecordSet rs = new RecordSet();
@ -306,7 +306,6 @@ public class FaDDServiceImpl implements IFaDDService {
return value;
}
public void queryContractStatus(String workflowId, String requestId, int type) {
List<Map<String, Object>> maps = faDDServiceMapping.queryDetailInfo(requestId, workflowId, 2);
toolUtil.writeErrorLog("maps+:" + maps);
@ -338,7 +337,8 @@ public class FaDDServiceImpl implements IFaDDService {
} catch (JsonProcessingException e) {
toolUtil.writeDebuggerLog("转换错误:" + e);
}
if ("1".equals(String.valueOf(result.get("status"))) || "6".equals(String.valueOf(result.get("status")))) {
if ("1".equals(String.valueOf(result.get("status")))
|| "6".equals(String.valueOf(result.get("status")))) {
// 发送请求催一下 签署合同
notSignedContracts.add(map);
} else {
@ -348,7 +348,6 @@ public class FaDDServiceImpl implements IFaDDService {
faDDServiceMapping.updateContractStatus(map, workflowId, 3);
}
}
}
if (type == 0) {
signedContract(workflowId, requestId, notSignedContracts);
@ -429,7 +428,9 @@ public class FaDDServiceImpl implements IFaDDService {
List<Map<String, Object>> finalMaps = maps;
String versionStringByWfid = WorkflowVersion.getVersionStringByWfid(workflowId);
RecordSet rs = new RecordSet();
rs.executeQuery("select * from uf_contract_config where workflow_type in ( " + versionStringByWfid + " ) and api_type = ?", 5);
rs.executeQuery(
"select * from uf_contract_config where workflow_type in ( " + versionStringByWfid + " ) and api_type = ?",
5);
rs.next();
ApiConfigMainDTO apiConfigMainDTO = Util.queryApiConfig(rs.getString("params_config"));
return outputStream -> {
@ -485,7 +486,6 @@ public class FaDDServiceImpl implements IFaDDService {
};
}
public boolean isAllSinged(String requestId, String workflowId) {
List<Map<String, Object>> maps = faDDServiceMapping.queryDetailInfo(requestId, workflowId, 2);
if (maps == null || maps.size() == 0) {
@ -589,7 +589,3 @@ public class FaDDServiceImpl implements IFaDDService {
return nods.split(",");
}
}

View File

@ -1,17 +1,7 @@
package com.api.aiyh_pcn.fadada.web;
import aiyh.utils.ApiResult;
import aiyh.utils.Util;
import aiyh.utils.zwl.common.ToolUtil;
import com.alibaba.fastjson.JSON;
import com.api.aiyh_pcn.fadada.dao.FaDDContractMapping;
import com.api.aiyh_pcn.fadada.entity.UfContractInfoDTO;
import com.api.aiyh_pcn.fadada.service.impl.FaDDContractService;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
import org.h2.util.StringUtils;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import weaver.systeminfo.SystemEnv;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@ -20,26 +10,36 @@ import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.StreamingOutput;
import java.util.HashMap;
import java.util.Map;
import org.h2.util.StringUtils;
import com.alibaba.fastjson.JSON;
import com.api.aiyh_pcn.fadada.dao.FaDDContractMapping;
import com.api.aiyh_pcn.fadada.entity.UfContractInfoDTO;
import com.api.aiyh_pcn.fadada.service.impl.FaDDContractService;
import aiyh.utils.ApiResult;
import aiyh.utils.Util;
import aiyh.utils.zwl.common.ToolUtil;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
/**
* @author EBU7-dev1-ayh
* @create 2021/11/3 0003 14:49
* fadada
* @create 2021/11/3 0003 14:49 fadada
*/
@Path("/v2/fadada")
public class FaDDContractController {
private final FaDDContractService faDDService = new FaDDContractService();
private final FaDDContractMapping faDDContractMapping = new FaDDContractMapping();
private final ToolUtil toolUtil = new ToolUtil();
/**
*
*
* @param workflowId id
* @param workflowId
* id
* @return id
*/
@Path("/getAllVersion/{workflowId}/{markOnly}")
@ -56,9 +56,9 @@ public class FaDDContractController {
}
}
/**
*
*
* @param params
* @return
*/
@ -82,9 +82,9 @@ public class FaDDContractController {
return JSON.toJSONString(result);
}
/**
*
*
* @param requestId
* @param workflowId
* @return
@ -93,17 +93,19 @@ public class FaDDContractController {
@GET
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public String querySignedStatus(@PathParam("requestId") String requestId, @PathParam("workflowId") String workflowId){
public String querySignedStatus(@PathParam("requestId") String requestId,
@PathParam("workflowId") String workflowId) {
Map<String, Object> result = faDDService.querySignedStatus(requestId);
return ApiResult.success(result);
}
/**
*
*
* @param workflowId id
* @param requestId id
* @param workflowId
* id
* @param requestId
* id
* @return
*/
@Path("/signedContract/own/{requestId}/{workflowId}")
@ -122,11 +124,11 @@ public class FaDDContractController {
return ApiResult.success(Util.getHtmlLabelName(-87657, user.getLanguage(), "本方签署成功!"));
}
/**
*
*
* @param requestId id
* @param requestId
* id
* @return
*/
@Path("/signedContract/{requestId}")
@ -138,11 +140,11 @@ public class FaDDContractController {
return ApiResult.success("没有催一催接口还点!淦!等法大大调整,额。。。具体啥时候好我也不知道,反正不关我的事!");
}
/**
*
*
* @param requestId id
* @param requestId
* id
* @return
*/
@Path("/contract/download/{requestId}")
@ -153,20 +155,20 @@ public class FaDDContractController {
try {
UfContractInfoDTO ufContractInfoDTO = faDDContractMapping.queryContractInfoByRequestId(requestId);
StreamingOutput contractZipStream = faDDService.download4mFDD(ufContractInfoDTO);
String requestTitle = Util.null2String(Util.getRequestTitleById(String.valueOf(requestId)));
// String requestTitle =
// Util.null2String(Util.getRequestTitleById(String.valueOf(requestId)));
String requestTitle = ufContractInfoDTO.getFileName();
if (StringUtils.isNullOrEmpty(requestTitle)) {
requestTitle = "contracts";
requestTitle = "contracts.pdf";
}
if (Util.null2String(ufContractInfoDTO.getContractNo()).split(",").length >= 2) {
// 多文件
return Response.ok(contractZipStream, MediaType.APPLICATION_OCTET_STREAM)
.type("application/zip")
return Response.ok(contractZipStream, MediaType.APPLICATION_OCTET_STREAM).type("application/zip")
.header("Content-Disposition", "attachment;filename=" + requestTitle + ".zip").build();
} else {
// 单文件
return Response.ok(contractZipStream, MediaType.APPLICATION_OCTET_STREAM)
.type("application/pdf")
.header("Content-Disposition", "attachment;filename=" + requestTitle + ".pdf").build();
return Response.ok(contractZipStream, MediaType.APPLICATION_OCTET_STREAM).type("application/pdf")
.header("Content-Disposition", "attachment;filename=" + requestTitle).build();
}
} catch (Exception e) {
toolUtil.writeErrorLog("文件流转换失败," + e);

View File

@ -1,19 +1,11 @@
package com.api.aiyh_pcn.fadada.web;
import aiyh.utils.ApiResult;
import aiyh.utils.Util;
import aiyh.utils.mapUtil.ParaMap;
import aiyh.utils.sqlUtil.sqlResult.impl.PrepSqlResultImpl;
import aiyh.utils.zwl.common.ToolUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.api.aiyh_pcn.fadada.dao.FaDDServiceMapping;
import com.api.aiyh_pcn.fadada.service.impl.FaDDServiceImpl;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
import org.h2.util.StringUtils;
import weaver.conn.RecordSet;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@ -22,20 +14,28 @@ import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.StreamingOutput;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
import java.util.HashMap;
import java.util.Map;
import org.h2.util.StringUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.api.aiyh_pcn.fadada.dao.FaDDServiceMapping;
import com.api.aiyh_pcn.fadada.service.impl.FaDDServiceImpl;
import aiyh.utils.ApiResult;
import aiyh.utils.Util;
import aiyh.utils.mapUtil.ParaMap;
import aiyh.utils.sqlUtil.sqlResult.impl.PrepSqlResultImpl;
import aiyh.utils.zwl.common.ToolUtil;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
import weaver.conn.RecordSet;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
/**
* @author EBU7-dev1-ayh
* @create 2021/9/28 0028 16:05
*
* @create 2021/9/28 0028 16:05
*/
@Path("/fadada")
public class FaDDController {
private final FaDDServiceImpl faDDService = new FaDDServiceImpl();
@ -45,7 +45,8 @@ public class FaDDController {
/**
*
*
* @param workflowId id
* @param workflowId
* id
* @return
*/
@GET
@ -62,7 +63,8 @@ public class FaDDController {
/**
*
*
* @param params
* @param params
*
* @return
*/
@Path("/signature")
@ -81,8 +83,10 @@ public class FaDDController {
/**
*
*
* @param workflowId id
* @param requestId id
* @param workflowId
* id
* @param requestId
* id
* @return
*/
@Path("/signedContract/{languageGroupId}/{requestId}/{workflowId}")
@ -107,8 +111,10 @@ public class FaDDController {
/**
*
*
* @param workflowId id
* @param requestId id
* @param workflowId
* id
* @param requestId
* id
* @return
*/
@Path("/signedContract/own/{languageGroupId}/{requestId}/{workflowId}")
@ -123,8 +129,9 @@ public class FaDDController {
faDDService.signedContractOwn(workflowId, requestId);
String mainTable = faDDServiceMapping.getMainTable(workflowId);
// TODO 更新本方签署
PrepSqlResultImpl sqlResult = Util.createSqlBuilder().updateSql(mainTable, ParaMap.create()
.put("signed_oneself", 1), Util.createPrepWhereImpl().whereAnd("requestid").whereEqual(requestId));
PrepSqlResultImpl sqlResult =
Util.createSqlBuilder().updateSql(mainTable, ParaMap.create().put("signed_oneself", 1),
Util.createPrepWhereImpl().whereAnd("requestid").whereEqual(requestId));
RecordSet rs = new RecordSet();
rs.executeUpdate(sqlResult.getSqlStr(), sqlResult.getArgs());
Map<String, String> language = Util.queryLanguage(languageGroupId, user.getLanguage());
@ -139,18 +146,19 @@ public class FaDDController {
/**
*
*
* @param requestId id
* @param requestId
* id
* @return
*/
@Path("/contract/download/{workflowId}/{requestId}")
@GET
@Produces(MediaType.APPLICATION_OCTET_STREAM)
public Response contractDownload(@PathParam("requestId") String requestId, @PathParam("workflowId") String workflowId) {
public Response contractDownload(@PathParam("requestId") String requestId,
@PathParam("workflowId") String workflowId) {
toolUtil.writeErrorLog("进入请求方法获取到请求id" + requestId);
try {
StreamingOutput contractZipStream = faDDService.contractDownload(requestId, workflowId);
return Response.ok(contractZipStream, MediaType.APPLICATION_OCTET_STREAM)
.type("application/zip")
return Response.ok(contractZipStream, MediaType.APPLICATION_OCTET_STREAM).type("application/zip")
.header("Content-Disposition", "attachment;filename=contracts.zip").build();
} catch (Exception e) {
toolUtil.writeErrorLog("转换失败," + e.toString());
@ -161,7 +169,8 @@ public class FaDDController {
/**
*
*
* @param workflowId id
* @param workflowId
* id
* @return id
*/
@Path("/getAllVersion/{workflowId}/{markOnly}")
@ -178,11 +187,11 @@ public class FaDDController {
}
}
/**
*
*
* @param requestId id
* @param requestId
* id
* @return
*/
@Path("/isAllSigned/{workflowId}/{requestId}")
@ -194,8 +203,8 @@ public class FaDDController {
faDDService.queryContractStatus(workflowId, requestId, 1);
boolean isAllSinged = faDDService.isAllSinged(requestId, workflowId);
boolean isSingedOneself = faDDService.isSingedOneself(requestId, workflowId);
Map<String, Object> result = ParaMap.create().put("isAllSinged", isAllSinged)
.put("isSingedOneself", isSingedOneself);
Map<String, Object> result =
ParaMap.create().put("isAllSinged", isAllSinged).put("isSingedOneself", isSingedOneself);
return ApiResult.success(result);
} catch (Exception e) {
toolUtil.writeErrorLog("错误:" + e);
@ -203,7 +212,6 @@ public class FaDDController {
}
}
@Path("/getLanguage/{languageGroupId}")
@GET
@Produces(MediaType.APPLICATION_JSON)

View File

@ -1,21 +1,17 @@
package com.api.aiyh_pcn.patentWall.dao;
import java.util.List;
import java.util.Map;
import aiyh.utils.Util;
import aiyh.utils.zwl.common.ToolUtil;
import com.api.aiyh_pcn.patentWall.dto.FilterWhere;
import com.api.aiyh_pcn.patentWall.vo.PatentVO;
import weaver.conn.RecordSet;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* @author EBU7-dev1-ayh
* @create 2021/11/25 0025 15:28
*/
public class PatentWallMapping {
private final ToolUtil toolUtil = new ToolUtil();
@ -26,7 +22,8 @@ public class PatentWallMapping {
return Util.recordSet2MapList(rs);
}
public List<Map<String,Object>> getListByFilterWhere(StringBuilder whereBuilder,List<String> args, String tableName) {
public List<Map<String, Object>> getListByFilterWhere(StringBuilder whereBuilder, List<String> args,
String tableName) {
RecordSet rs = new RecordSet();
String query = "select * from " + tableName + whereBuilder.toString().replace(" where add ", " where ");
rs.executeQuery(query, args);
@ -36,14 +33,12 @@ public class PatentWallMapping {
public List<Map<String, Object>> getSelectOptions(String dataResource, String dbFieldName) {
RecordSet rs = new RecordSet();
String query = "select wbf.id,wbf.fieldname,wbf.fieldlabel,wb.tablename, " +
"ws.selectname,ws.selectvalue " +
"from workflow_billfield wbf " +
"left join workflow_bill wb on wbf.billid = wb.id " +
"left join workflow_selectitem ws on ws.fieldid = wbf.id " +
"where wb.tablename = ? and fieldname = ? ";
String query = "select wbf.id,wbf.fieldname,wbf.fieldlabel,wb.tablename, " + "ws.selectname,ws.selectvalue "
+ "from workflow_billfield wbf " + "left join workflow_bill wb on wbf.billid = wb.id "
+ "left join workflow_selectitem ws on ws.fieldid = wbf.id " + "where wb.tablename = ? and fieldname = ? ";
rs.executeQuery(query, dataResource, dbFieldName);
toolUtil.writeDebuggerLog(String.format("执行SQL {%s} ---> 参数: {%s}",query,dataResource + " -- " + dbFieldName));
toolUtil
.writeDebuggerLog(String.format("执行SQL {%s} ---> 参数: {%s}", query, dataResource + " -- " + dbFieldName));
return Util.recordSet2MapList(rs);
}
}

View File

@ -27,8 +27,6 @@ import java.util.regex.Pattern;
* @author EBU7-dev1-ayh
* @create 2021/11/25 0025 15:23
*/
public class PatentWallService {
private final PatentWallMapping patentWallMapping = new PatentWallMapping();
private final ToolUtil toolUtil = new ToolUtil();
@ -36,7 +34,6 @@ public class PatentWallService {
private Map<String, Object> patentWallSearchConf;
private final RecordSet rs = new RecordSet();
/**
*
*
@ -46,7 +43,8 @@ public class PatentWallService {
public List<SearchInputVO> getSearchList(String prefix, int languageId) {
Map<String, Object> patentWallSearchConf = getPatentWallSearchConf(prefix + ".search");
String dataResource = String.valueOf(patentWallSearchConf.get("dataResource"));
List<Map<String, Object>> inputs = (List<Map<String, Object>>) patentWallSearchConf.get("inputs");
List<Map<String, Object>> inputs =
(List<Map<String, Object>>) patentWallSearchConf.get("inputs");
List<SearchInputVO> searchInputList = new ArrayList<>();
for (Map<String, Object> input : inputs) {
SearchInputVO searchInputVO = new SearchInputVO();
@ -69,7 +67,8 @@ public class PatentWallService {
switch (type) {
case 1:
// 下拉框 查询options
List<SelectOptionsVo> optionsVos = getSelectOptions(dataResource, dbFieldName,languageId);
List<SelectOptionsVo> optionsVos =
getSelectOptions(dataResource, dbFieldName, languageId);
searchInputVO.setSelectOptions(optionsVos);
case 2:
// 单行文本
@ -96,8 +95,10 @@ public class PatentWallService {
return searchInputList;
}
private List<SelectOptionsVo> getSelectOptions(String dataResource, String dbFieldName, int languageId) {
List<Map<String, Object>> selectOptions = patentWallMapping.getSelectOptions(dataResource, dbFieldName);
private List<SelectOptionsVo> getSelectOptions(
String dataResource, String dbFieldName, int languageId) {
List<Map<String, Object>> selectOptions =
patentWallMapping.getSelectOptions(dataResource, dbFieldName);
List<SelectOptionsVo> optionsVos = new ArrayList<>();
SelectOptionsVo optionsDefault = new SelectOptionsVo();
optionsDefault.setSelected(true);
@ -140,8 +141,8 @@ public class PatentWallService {
dataList = patentWallMapping.getAllList(Util.null2String(patentWallConf.get("dataResource")));
} else {
// 筛选查询
dataList = handleFilterWhere(filterWheres
, Util.null2String(patentWallConf.get("dataResource")));
dataList =
handleFilterWhere(filterWheres, Util.null2String(patentWallConf.get("dataResource")));
}
List<PatentVO> list = new ArrayList<>();
List<String> args = new ArrayList<>();
@ -175,7 +176,9 @@ public class PatentWallService {
args.clear();
if (propertyDescriptor.getPropertyType().equals(Integer.class)) {
try {
propertyDescriptor.getWriteMethod().invoke(linkUrlVO,Integer.valueOf(parsingValue));
propertyDescriptor
.getWriteMethod()
.invoke(linkUrlVO, Integer.valueOf(parsingValue));
} catch (IllegalAccessException | InvocationTargetException e) {
toolUtil.writeErrorLog("设置值失败调用beanInfo的set方法错误");
e.printStackTrace();
@ -200,7 +203,6 @@ public class PatentWallService {
// 清除参数信息
args.clear();
}
}
PatentVO patentVO = null;
try {
@ -240,41 +242,40 @@ public class PatentWallService {
toolUtil.writeDebuggerLog(String.format("执行SQL {%s} ---> 参数: {%s}", sqlStr, args));
rs.executeQuery(sqlStr, args);
rs.next();
parsing = parsing.replaceFirst(pattern, Util.null2String(rs.getString(1)));;
parsing = parsing.replaceFirst(pattern, Util.null2String(rs.getString(1)));
;
}
return parsing;
}
public List<Map<String, Object>> handleFilterWhere(List<FilterWhere> filterWheres, String tableName) {
public List<Map<String, Object>> handleFilterWhere(
List<FilterWhere> filterWheres, String tableName) {
StringBuilder whereBuilder = new StringBuilder(" where ");
List<String> args = new ArrayList<>();
for (FilterWhere filterWhere : filterWheres) {
whereBuilder.append(" add ");
if (filterWhere.getSearchType() == 1) {
// 等于
whereBuilder.append(filterWhere.getDbField())
.append(" = ? ");
whereBuilder.append(filterWhere.getDbField()).append(" = ? ");
args.add(filterWhere.getValue());
continue;
}
if (filterWhere.getSearchType() == 2) {
// 大于
whereBuilder.append(filterWhere.getDbField())
.append(" > ?");
whereBuilder.append(filterWhere.getDbField()).append(" > ?");
args.add(filterWhere.getValue());
continue;
}
if (filterWhere.getSearchType() == 3) {
// 小于
whereBuilder.append(filterWhere.getDbField())
.append(" < ?");
whereBuilder.append(filterWhere.getDbField()).append(" < ?");
args.add(filterWhere.getValue());
continue;
}
if (filterWhere.getSearchType() == 4) {
// in
whereBuilder.append(filterWhere.getDbField())
whereBuilder
.append(filterWhere.getDbField())
.append(" in ( ")
.append(filterWhere.getValue())
.append(") ");
@ -282,7 +283,8 @@ public class PatentWallService {
}
if (filterWhere.getSearchType() == 5) {
// 日期大于
whereBuilder.append(" DATE_FORMAT(")
whereBuilder
.append(" DATE_FORMAT(")
.append(filterWhere.getDbField())
.append(",'%y-%m-%d') > ")
.append("DATE_FORMAT(?,'%y-%m-%d')");
@ -291,7 +293,8 @@ public class PatentWallService {
}
if (filterWhere.getSearchType() == 6) {
// 日期小于
whereBuilder.append(" DATE_FORMAT(")
whereBuilder
.append(" DATE_FORMAT(")
.append(filterWhere.getDbField())
.append(",'%y-%m-%d') < ")
.append("DATE_FORMAT(?,'%y-%m-%d')");
@ -300,7 +303,8 @@ public class PatentWallService {
}
if (filterWhere.getSearchType() == 7) {
// 日期等于
whereBuilder.append(" DATE_FORMAT(")
whereBuilder
.append(" DATE_FORMAT(")
.append(filterWhere.getDbField())
.append(",'%y-%m-%d') = ")
.append("DATE_FORMAT(?,'%y-%m-%d')");
@ -309,7 +313,8 @@ public class PatentWallService {
}
if (filterWhere.getSearchType() == 8) {
// 日期范围
whereBuilder.append(" DATE_FORMAT(")
whereBuilder
.append(" DATE_FORMAT(")
.append(filterWhere.getDbField())
.append(",'%y-%m-%d') between ")
.append("DATE_FORMAT(?,'%y-%m-%d')")
@ -363,5 +368,4 @@ public class PatentWallService {
public void clearPatentWallSerachConf() {
this.patentWallSearchConf = null;
}
}

View File

@ -32,7 +32,11 @@ import java.util.concurrent.atomic.AtomicReference;
/**
* @author EBU7-dev1-ayh
* @create 2021-08-05 09:33
*
* <p>
*
* 西
* 使
* <p/>
*/
public class AddCustomer_Action extends ToolUtil implements Action {
//当前类名称
@ -119,6 +123,8 @@ public class AddCustomer_Action extends ToolUtil implements Action {
} catch (Exception e) {
this.writeDebuggerLog("insert customer error!");
this.writeDebuggerLog(e + "\n");
this.request.getRequestManager().setMessagecontent("生成外部用户错误,请联系管理员!");
this.request.getRequestManager().setMessageid("2");
} finally {
this.writeDebuggerLog(className, "------------" + className + " End -----------------");
}
@ -459,11 +465,11 @@ public class AddCustomer_Action extends ToolUtil implements Action {
CrmCommonUtil crmCommonUtil = new CrmCommonUtil();
mapList.forEach(item -> {
RecordSet rs = new RecordSet();
String hrmid;
// 获取人员id
rs.executeProc("HrmResourceMaxId_Get", "");
rs.next();
hrmid = rs.getString(1);
// String hrmid;
//// 获取人员id
// rs.executeProc("HrmResourceMaxId_Get", "");
// rs.next();
// hrmid = rs.getString(1);
// 整理数据
item.put("createdate", Utils.getTime("yyyy-MM-dd"));
// item.put("id", hrmid);
@ -549,6 +555,10 @@ public class AddCustomer_Action extends ToolUtil implements Action {
param.put("customfrom", Util.null2String(item.get("customfrom")));
Map<String, String> returnObj = hrmOutInterface.createResource4Card(param);
String resourceid = returnObj.get("resourceid");
String errorinfo = returnObj.get("errorinfo");
if (!"".equals(errorinfo)) {
throw new RuntimeException(errorinfo);
}
String sql = "INSERT INTO CRM_ShareInfo (relateditemid, sharetype, seclevel, sharelevel, crmid, contents, deleted, seclevelMax, jobtitleid, joblevel, scopeid) VALUES (?, '1', '10','1','0',?, '0', '100', ?, '0', ',0,')";
rs.executeUpdate(sql, customer.get("customerId"), resourceid, resourceid);
this.resourceid = resourceid;