You need to sign in before continuing.
Commit 8c27e9b1d1beb433129af449d93c9ab05fc98c7c
1 parent
78fb572a
添加未清选择 改成动态引导语
Showing
2 changed files
with
31 additions
and
17 deletions
src/main/java/com/xly/service/XlyErpService.java
| @@ -273,11 +273,13 @@ public class XlyErpService { | @@ -273,11 +273,13 @@ public class XlyErpService { | ||
| 273 | session.setDbType(StrUtil.EMPTY); | 273 | session.setDbType(StrUtil.EMPTY); |
| 274 | sceneName = ObjectUtil.isNotEmpty(session.getCurrentScene())?session.getCurrentScene().getSSceneName():StrUtil.EMPTY; | 274 | sceneName = ObjectUtil.isNotEmpty(session.getCurrentScene())?session.getCurrentScene().getSSceneName():StrUtil.EMPTY; |
| 275 | Map<String, Object> args = session.getArgs(); | 275 | Map<String, Object> args = session.getArgs(); |
| 276 | - String[] removeConditionA = removeCondition.split(","); | ||
| 277 | - for(String one:removeConditionA){ | ||
| 278 | - args.remove(one); | 276 | + if(ObjectUtil.isNotEmpty(args)){ |
| 277 | + String[] removeConditionA = removeCondition.split(","); | ||
| 278 | + for(String one:removeConditionA){ | ||
| 279 | + args.remove(one); | ||
| 280 | + } | ||
| 281 | + session.setArgs(args); | ||
| 279 | } | 282 | } |
| 280 | - session.setArgs(args); | ||
| 281 | String sResponMessage = dynamicToolProvider.doDynamicTool(session.getCurrentTool(),session); | 283 | String sResponMessage = dynamicToolProvider.doDynamicTool(session.getCurrentTool(),session); |
| 282 | return AiResponseDTO.builder().sSceneName(sceneName).sMethodName(methodName).aiText(sResponMessage).dbType(session.getDbType()).dbCach(session.getDbCach()).sReturnType(ReturnTypeCode.HTML.getCode()).build(); | 284 | return AiResponseDTO.builder().sSceneName(sceneName).sMethodName(methodName).aiText(sResponMessage).dbType(session.getDbType()).dbCach(session.getDbCach()).sReturnType(ReturnTypeCode.HTML.getCode()).build(); |
| 283 | } catch (Exception e) { | 285 | } catch (Exception e) { |
src/main/java/com/xly/tool/DynamicToolProvider.java
| @@ -215,9 +215,10 @@ public class DynamicToolProvider implements ToolProvider { | @@ -215,9 +215,10 @@ public class DynamicToolProvider implements ToolProvider { | ||
| 215 | args = applyDefaultValues(args, paramRuleData); | 215 | args = applyDefaultValues(args, paramRuleData); |
| 216 | //客户选择行号转sSLaveId | 216 | //客户选择行号转sSLaveId |
| 217 | if(ObjectUtil.isNotEmpty(args) | 217 | if(ObjectUtil.isNotEmpty(args) |
| 218 | - && args.containsKey("rowNumbers") | ||
| 219 | - && ObjectUtil.isNotEmpty(args.get("rowNumbers")) | ||
| 220 | - && ObjectUtil.isNotEmpty(session.getCurrentRowData()) | 218 | + &&( |
| 219 | + (args.containsKey("rowNumbers") && ObjectUtil.isNotEmpty(args.get("rowNumbers"))) | ||
| 220 | + || (args.containsKey("operateType") && "全部确认".equals(args.get("operateType"))) | ||
| 221 | + )&& ObjectUtil.isNotEmpty(session.getCurrentRowData()) | ||
| 221 | ){ | 222 | ){ |
| 222 | doSetSlaveIdToArgs( args, session); | 223 | doSetSlaveIdToArgs( args, session); |
| 223 | } | 224 | } |
| @@ -239,16 +240,26 @@ public class DynamicToolProvider implements ToolProvider { | @@ -239,16 +240,26 @@ public class DynamicToolProvider implements ToolProvider { | ||
| 239 | 240 | ||
| 240 | private void doSetSlaveIdToArgs(Map<String,Object> args,UserSceneSession session){ | 241 | private void doSetSlaveIdToArgs(Map<String,Object> args,UserSceneSession session){ |
| 241 | Map<Integer,Map<String,Object>> data = session.getCurrentRowData(); | 242 | Map<Integer,Map<String,Object>> data = session.getCurrentRowData(); |
| 242 | - List<Integer> rowNumbers = (List<Integer>) args.get("rowNumbers"); | ||
| 243 | List<String> sSlaveIds = new ArrayList<>(); | 243 | List<String> sSlaveIds = new ArrayList<>(); |
| 244 | - rowNumbers.forEach(one->{ | ||
| 245 | - try{ | ||
| 246 | - sSlaveIds.add(data.get(one).get("sSlaveId").toString()); | ||
| 247 | - }catch (Exception e){ | 244 | + try{ |
| 245 | + if(args.containsKey("operateType") && "全部确认".equals(args.get("operateType"))){ | ||
| 246 | + data.forEach((k,v)->{ | ||
| 247 | + sSlaveIds.add(v.get("sSlaveId").toString()); | ||
| 248 | + }); | ||
| 249 | + return; | ||
| 248 | } | 250 | } |
| 249 | - }); | ||
| 250 | - args.put("sSlaveId",String.join(",",sSlaveIds)); | ||
| 251 | - args.remove("rowNumbers"); | 251 | + List<Integer> rowNumbers = (List<Integer>) args.get("rowNumbers"); |
| 252 | + rowNumbers.forEach(one->{ | ||
| 253 | + try{ | ||
| 254 | + sSlaveIds.add(data.get(one).get("sSlaveId").toString()); | ||
| 255 | + }catch (Exception e){ | ||
| 256 | + } | ||
| 257 | + }); | ||
| 258 | + | ||
| 259 | + }finally { | ||
| 260 | + args.put("sSlaveId",String.join(",",sSlaveIds)); | ||
| 261 | + args.remove("rowNumbers"); | ||
| 262 | + } | ||
| 252 | } | 263 | } |
| 253 | 264 | ||
| 254 | private void doSetToolAIshowfieldShow(ToolMeta meta){ | 265 | private void doSetToolAIshowfieldShow(ToolMeta meta){ |
| @@ -390,7 +401,8 @@ public class DynamicToolProvider implements ToolProvider { | @@ -390,7 +401,8 @@ public class DynamicToolProvider implements ToolProvider { | ||
| 390 | } | 401 | } |
| 391 | break; | 402 | break; |
| 392 | case "enum": | 403 | case "enum": |
| 393 | - String constStr = getConstMeg(paramRule); | 404 | + String constStr = getArrrayBySql(paramRule); |
| 405 | +// String constStr = getConstMeg(paramRule); | ||
| 394 | List<String> constList = StrUtil.isNotBlank(constStr) ? Arrays.asList(constStr.split("/")) : new ArrayList<>(); | 406 | List<String> constList = StrUtil.isNotBlank(constStr) ? Arrays.asList(constStr.split("/")) : new ArrayList<>(); |
| 395 | if (constList.isEmpty()) { | 407 | if (constList.isEmpty()) { |
| 396 | schemaBuilder.addStringProperty(paramDesc, paramDesc); | 408 | schemaBuilder.addStringProperty(paramDesc, paramDesc); |
| @@ -460,7 +472,7 @@ public class DynamicToolProvider implements ToolProvider { | @@ -460,7 +472,7 @@ public class DynamicToolProvider implements ToolProvider { | ||
| 460 | Boolean bCheckArray2= !("array".equals(paramRule.getSType()) || "enum".equals(paramRule.getSType())); | 472 | Boolean bCheckArray2= !("array".equals(paramRule.getSType()) || "enum".equals(paramRule.getSType())); |
| 461 | Boolean bCheckArray3= ObjectUtil.isEmpty(paramRule.getSParamConfig()); | 473 | Boolean bCheckArray3= ObjectUtil.isEmpty(paramRule.getSParamConfig()); |
| 462 | if(bCheckArray || bCheckArray2 || bCheckArray3){ | 474 | if(bCheckArray || bCheckArray2 || bCheckArray3){ |
| 463 | - return StrUtil.EMPTY; | 475 | + return getConstMeg(paramRule); |
| 464 | } | 476 | } |
| 465 | List<Map<String,Object>> data = dynamicExeDbService.findSql(new HashMap<>(),paramRule.getSParamConfig()); | 477 | List<Map<String,Object>> data = dynamicExeDbService.findSql(new HashMap<>(),paramRule.getSParamConfig()); |
| 466 | StringBuffer sb = new StringBuffer(); | 478 | StringBuffer sb = new StringBuffer(); |