Commit 8c27e9b1d1beb433129af449d93c9ab05fc98c7c

Authored by qianbao
1 parent 78fb572a

添加未清选择 改成动态引导语

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();
... ...