yingp 8 лет назад
Родитель
Сommit
e2c9f20356

+ 1 - 1
src/main/java/com/uas/erp/schedular/b2b/task/AbstractTask.java

@@ -312,7 +312,7 @@ public class AbstractTask {
         Integer mid = jdbcTemplate.getInt("select max(mm_id) from MESSAGEMODEL left join MESSAGEROLE on mm_id=mr_mmid where MR_ISUSED=-1 AND MM_ISUSED=-1 and mm_caller=? and MM_OPERATE='b2b' AND MM_ACTION=?",
                 caller, type);
         if (null != mid) {
-            jdbcTemplate.execute("{call SP_CREATEINFO(?,'ADMIN',?,?)}",
+            jdbcTemplate.callForString("{call SP_CREATEINFO(?,'ADMIN',?,?,?)}",
                     mid, sourceIds, DateUtil.parseDateToOracleString(Constant.YMD_HMS, new Date()));
         }
     }

+ 13 - 4
src/main/java/com/uas/erp/schedular/database/RestJdbcTemplate.java

@@ -210,10 +210,7 @@ public class RestJdbcTemplate {
      * @return
      */
     public String generateCode(String sequenceName, int type) {
-        Map<String, Object> data = callForMap("{call Sp_GetMaxNumber(?,?,?)}", new Object[]{sequenceName, type},
-                new String[]{"code"});
-        Object code = null == data ? null : data.get("code");
-        return null == code ? null : code.toString();
+        return callForString("{call Sp_GetMaxNumber(?,?,?)}", sequenceName, type);
     }
 
     /**
@@ -268,4 +265,16 @@ public class RestJdbcTemplate {
         throw new RuntimeException(result.getMessage());
     }
 
+    /**
+     * call procedure and return string
+     * @param exec
+     * @param args
+     * @return
+     */
+    public String callForString(String exec, Object... args) {
+        Map<String, Object> data = callForMap(exec, args, new String[]{"v_return"});
+        Object code = null == data ? null : data.get("v_return");
+        return null == code ? null : code.toString();
+    }
+
 }