|
@@ -219,14 +219,14 @@ public class SupplementTaskManagementService {
|
|
|
// 假参数赋值
|
|
|
String resolvedString = sub.replace(relationModel.getSqlCode());
|
|
|
|
|
|
- try{
|
|
|
- // 预执行sql
|
|
|
- DBExecutor.doQuery(resolvedString);
|
|
|
- }catch (Exception e) {
|
|
|
- String err = "sql预执行失败!"+e.toString();
|
|
|
- log.error(err);
|
|
|
- throw new BusinessException(err);
|
|
|
- }
|
|
|
+// try{
|
|
|
+// // 预执行sql
|
|
|
+// //DBExecutor.doQuery(resolvedString);
|
|
|
+// }catch (Exception e) {
|
|
|
+// String err = "sql预执行失败!"+e.toString();
|
|
|
+// log.error(err);
|
|
|
+// throw new BusinessException(err);
|
|
|
+// }
|
|
|
// 将补录模板校验规则中对应的模板删掉
|
|
|
supplementTaskManagementMapper.deleteTemplateCheckData(relationModel);
|
|
|
// 开始插入
|
|
@@ -247,14 +247,57 @@ public class SupplementTaskManagementService {
|
|
|
public boolean createTemplateCheckRowData(List<TemplateDataValidationRuleModel> modelList) {
|
|
|
|
|
|
if (!modelList.isEmpty()) {
|
|
|
+ // 第一次遍历检查数据
|
|
|
+ for (int i =0;i<=modelList.size();i++) {
|
|
|
+ for (int j=i+1;j<modelList.size();j++) {
|
|
|
+ TemplateDataValidationRuleModel preModel = modelList.get(i);
|
|
|
+ TemplateDataValidationRuleModel afterModel = modelList.get(i+1);
|
|
|
+ // 行范围
|
|
|
+ String preRowRange = preModel.getTmpverRowRange();
|
|
|
+ String afterRowRange = afterModel.getTmpverRowRange();
|
|
|
+ // 列范围
|
|
|
+ String preColRange = preModel.getTmpverColumnRange();
|
|
|
+ String afterColRange = afterModel.getTmpverColumnRange();
|
|
|
+ // 约束方式
|
|
|
+ String preCheckType = preModel.getCheckType();
|
|
|
+ String afterCheckType = afterModel.getCheckType();
|
|
|
+ // 数据类型
|
|
|
+ String preDataType = preModel.getDataType();
|
|
|
+ String afterDataType = afterModel.getDataType();
|
|
|
+ // 约束公式
|
|
|
+ String preExcelFormula = preModel.getExcelFormula();
|
|
|
+ String afterExcelFormula = afterModel.getExcelFormula();
|
|
|
+ // 约束规则SQL
|
|
|
+ String preSqlCode = preModel.getSqlCode();
|
|
|
+ String afterSqlCode = afterModel.getSqlCode();
|
|
|
+
|
|
|
+ // 判断是否存在重复的模板检查规则
|
|
|
+ if (preModel.getTmpCode().equals(afterModel.getTmpCode())) {
|
|
|
+ if (null != preRowRange && preRowRange.equals(afterRowRange)
|
|
|
+ && null != preColRange && preColRange.equals(afterColRange)
|
|
|
+ && null != preCheckType && preCheckType.equals(afterCheckType)
|
|
|
+ && (null == preDataType || preDataType.equals(afterDataType == null ? "" :afterDataType))
|
|
|
+ && (null == preExcelFormula || preExcelFormula.equals(afterExcelFormula== null ? "" :afterExcelFormula))
|
|
|
+ && (null == preSqlCode || preSqlCode.replaceAll("\\s*", "").
|
|
|
+ equals((afterSqlCode== null ? "" :afterSqlCode).replaceAll("\\s*", "")))
|
|
|
+ ) {
|
|
|
+ String err = "模板数据校验规则存在检查冲突!"+preModel.getTmpCode();
|
|
|
+ log.error(err);
|
|
|
+ throw new BusinessException(err);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 第二次遍历插入
|
|
|
for (TemplateDataValidationRuleModel model:modelList) {
|
|
|
String rowRange = DBExecutor.doQuery("select ROWRANGE from RWA_IMPUT_TMPCONF_BASEINFO where TMPCODE = "+ model.getTmpCode());
|
|
|
String colRange = DBExecutor.doQuery("select COLUMNRANGE from RWA_IMPUT_TMPCONF_BASEINFO where TMPCODE ="+ model.getTmpCode());
|
|
|
if (null != rowRange ) {
|
|
|
String[] parentRowRange = rowRange.split("-");
|
|
|
String[] childRowRange = model.getTmpverRowRange().split("-");
|
|
|
- if (Integer.parseInt(parentRowRange[0]) < Integer.parseInt(childRowRange[0])
|
|
|
- || Integer.parseInt(parentRowRange[1]) > Integer.parseInt(childRowRange[1])) {
|
|
|
+ if (Integer.parseInt(parentRowRange[0]) > Integer.parseInt(childRowRange[0])
|
|
|
+ || Integer.parseInt(parentRowRange[1]) < Integer.parseInt(childRowRange[1])) {
|
|
|
String err = "行范围或者列范围超出模板定义的范围!定义的行范围:"+rowRange;
|
|
|
log.error(err);
|
|
|
throw new BusinessException(err);
|
|
@@ -264,8 +307,8 @@ public class SupplementTaskManagementService {
|
|
|
if (null != colRange ) {
|
|
|
String[] parentCOLRange = colRange.split("-");
|
|
|
String[] childCOLRange = model.getTmpverColumnRange().split("-");
|
|
|
- if (Integer.parseInt(parentCOLRange[0]) < Integer.parseInt(childCOLRange[0])
|
|
|
- || Integer.parseInt(parentCOLRange[1]) > Integer.parseInt(childCOLRange[1])) {
|
|
|
+ if (Integer.parseInt(parentCOLRange[0]) > Integer.parseInt(childCOLRange[0])
|
|
|
+ || Integer.parseInt(parentCOLRange[1]) < Integer.parseInt(childCOLRange[1])) {
|
|
|
String err = "行范围或者列范围超出模板定义的范围!"+"定义的列范围:"+colRange;
|
|
|
log.error(err);
|
|
|
throw new BusinessException(err);
|