You need to sign in before continuing.

Commit 8c27e9b1d1beb433129af449d93c9ab05fc98c7c

Authored by qianbao
1 parent 78fb572a

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

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