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 | 273 | session.setDbType(StrUtil.EMPTY); |
| 274 | 274 | sceneName = ObjectUtil.isNotEmpty(session.getCurrentScene())?session.getCurrentScene().getSSceneName():StrUtil.EMPTY; |
| 275 | 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 | 283 | String sResponMessage = dynamicToolProvider.doDynamicTool(session.getCurrentTool(),session); |
| 282 | 284 | return AiResponseDTO.builder().sSceneName(sceneName).sMethodName(methodName).aiText(sResponMessage).dbType(session.getDbType()).dbCach(session.getDbCach()).sReturnType(ReturnTypeCode.HTML.getCode()).build(); |
| 283 | 285 | } catch (Exception e) { | ... | ... |
src/main/java/com/xly/tool/DynamicToolProvider.java
| ... | ... | @@ -215,9 +215,10 @@ public class DynamicToolProvider implements ToolProvider { |
| 215 | 215 | args = applyDefaultValues(args, paramRuleData); |
| 216 | 216 | //客户选择行号转sSLaveId |
| 217 | 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 | 223 | doSetSlaveIdToArgs( args, session); |
| 223 | 224 | } |
| ... | ... | @@ -239,16 +240,26 @@ public class DynamicToolProvider implements ToolProvider { |
| 239 | 240 | |
| 240 | 241 | private void doSetSlaveIdToArgs(Map<String,Object> args,UserSceneSession session){ |
| 241 | 242 | Map<Integer,Map<String,Object>> data = session.getCurrentRowData(); |
| 242 | - List<Integer> rowNumbers = (List<Integer>) args.get("rowNumbers"); | |
| 243 | 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 | 265 | private void doSetToolAIshowfieldShow(ToolMeta meta){ |
| ... | ... | @@ -390,7 +401,8 @@ public class DynamicToolProvider implements ToolProvider { |
| 390 | 401 | } |
| 391 | 402 | break; |
| 392 | 403 | case "enum": |
| 393 | - String constStr = getConstMeg(paramRule); | |
| 404 | + String constStr = getArrrayBySql(paramRule); | |
| 405 | +// String constStr = getConstMeg(paramRule); | |
| 394 | 406 | List<String> constList = StrUtil.isNotBlank(constStr) ? Arrays.asList(constStr.split("/")) : new ArrayList<>(); |
| 395 | 407 | if (constList.isEmpty()) { |
| 396 | 408 | schemaBuilder.addStringProperty(paramDesc, paramDesc); |
| ... | ... | @@ -460,7 +472,7 @@ public class DynamicToolProvider implements ToolProvider { |
| 460 | 472 | Boolean bCheckArray2= !("array".equals(paramRule.getSType()) || "enum".equals(paramRule.getSType())); |
| 461 | 473 | Boolean bCheckArray3= ObjectUtil.isEmpty(paramRule.getSParamConfig()); |
| 462 | 474 | if(bCheckArray || bCheckArray2 || bCheckArray3){ |
| 463 | - return StrUtil.EMPTY; | |
| 475 | + return getConstMeg(paramRule); | |
| 464 | 476 | } |
| 465 | 477 | List<Map<String,Object>> data = dynamicExeDbService.findSql(new HashMap<>(),paramRule.getSParamConfig()); |
| 466 | 478 | StringBuffer sb = new StringBuffer(); | ... | ... |