@@ -325,61 +325,178 @@ function xmlDomToString(xmlObj) {
325
325
326
326
// 辅助公式
327
327
DmnXml . formulas = [
328
+ // case 1: 每次n分
328
329
{
329
330
id : 1 ,
330
- name : '错1次扣n分 ' ,
331
+ name : '每次扣n分 ' ,
331
332
allowAttributeCodeTypes : [ "int" , "integer" ] ,
332
333
operate : 'sub' ,
333
334
inputs : [ { type : "double" , code : "n" , value : null } ] ,
334
335
rules : [ { condition : ">0" , output : "-code * {n}" } , { condition : "<=0" , output : "0" } ]
335
336
} ,
336
337
{
337
- id : 2 ,
338
- name : '对1次加n分 ' ,
338
+ id : 1.1 ,
339
+ name : '每次加n分 ' ,
339
340
allowAttributeCodeTypes : [ "int" , "integer" ] ,
340
341
operate : 'add' ,
341
342
inputs : [ { type : "double" , code : "n" , value : null } ] ,
342
343
rules : [ { condition : ">0" , output : "code * {n}" } , { condition : "<=0" , output : "0" } ]
343
344
} ,
344
345
{
345
- id : 3 ,
346
+ id : 1.2 ,
347
+ name : '每次扣该项基础分%n' ,
348
+ allowAttributeCodeTypes : [ "int" , "integer" ] ,
349
+ operate : 'sub' ,
350
+ inputs : [ { type : "double" , code : "n" , value : null } ] ,
351
+ rules : [ { condition : ">0" , output : "-code*{n}*0.01*base_score" } , { condition : "<=0" , output : "0" } ]
352
+ } ,
353
+ // case 2: bool
354
+ {
355
+ id : 2 ,
346
356
name : '有该情况扣n分' ,
347
357
allowAttributeCodeTypes : [ "bool" , "boolean" ] ,
348
358
operate : 'sub' ,
349
359
inputs : [ { type : "double" , code : "n" , value : null } ] ,
350
360
rules : [ { condition : "true" , output : "-{n}" } , { condition : "false" , output : "0" } ]
351
361
} ,
352
362
{
353
- id : 4 ,
363
+ id : 2.1 ,
354
364
name : '有该情况加n分' ,
355
365
allowAttributeCodeTypes : [ "bool" , "boolean" ] ,
356
366
operate : 'add' ,
357
367
inputs : [ { type : "double" , code : "n" , value : null } ] ,
358
368
rules : [ { condition : "true" , output : "{n}" } , { condition : "false" , output : "0" } ]
359
369
} ,
360
370
{
361
- id : 5 ,
362
- name : 'A不扣分,B扣m分,C扣n分,D扣x分' ,
363
- allowAttributeCodeTypes : [ "string" , "text" ] ,
371
+ id : 2.2 ,
372
+ name : '没有该情况扣n分' ,
373
+ allowAttributeCodeTypes : [ "bool" , "boolean" ] ,
374
+ operate : 'sub' ,
375
+ inputs : [ { type : "double" , code : "n" , value : null } ] ,
376
+ rules : [ { condition : "false" , output : "-{n}" } , { condition : "true" , output : "0" } ]
377
+ } ,
378
+ {
379
+ id : 2.3 ,
380
+ name : '没有该情况加n分' ,
381
+ allowAttributeCodeTypes : [ "bool" , "boolean" ] ,
382
+ operate : 'add' ,
383
+ inputs : [ { type : "double" , code : "n" , value : null } ] ,
384
+ rules : [ { condition : "false" , output : "{n}" } , { condition : "true" , output : "0" } ]
385
+ } ,
386
+ {
387
+ id : 2.4 ,
388
+ name : '有该情况扣该项基础分%n' ,
389
+ allowAttributeCodeTypes : [ "bool" , "boolean" ] ,
390
+ operate : 'sub' ,
391
+ inputs : [ { type : "double" , code : "n" , value : 100 } ] ,
392
+ rules : [ { condition : "true" , output : "-{n}*0.01*base_score" } , { condition : "false" , output : "0" } ]
393
+ } ,
394
+ {
395
+ id : 2.5 ,
396
+ name : '没有该情况扣该项基础分%n' ,
397
+ allowAttributeCodeTypes : [ "bool" , "boolean" ] ,
364
398
operate : 'sub' ,
365
- inputs : [ { type : "double" , code : "m" , value : 5 } , { type : "double" , code : " n", value : 10 } , { type : "double" , code : "x" , value : 15 } ] ,
366
- rules : [ { condition : '"A"' , output : "0" } , { condition : '"B"' , output : "-{m}" } , { condition : '"C"' , output : "-{n} " } , { condition : '"D"' , output : "-{x} " } ]
399
+ inputs : [ { type : "double" , code : "n" , value : 100 } ] ,
400
+ rules : [ { condition : "false" , output : "-{n}*0.01*base_score " } , { condition : "true" , output : "0 " } ]
367
401
} ,
402
+ // case 3: m次 n分
368
403
{
369
- id : 6 ,
404
+ id : 3 ,
405
+ name : '低于m次扣n分' ,
406
+ allowAttributeCodeTypes : [ "int" , "integer" ] ,
407
+ operate : 'sub' ,
408
+ inputs : [ { type : "int" , code : "m" , value : null } , { type : "double" , code : "n" , value : null } ] ,
409
+ rules : [ { condition : "<{m}" , output : "-{n}" } , { condition : ">={m}" , output : "0" } ]
410
+ } ,
411
+ {
412
+ id : 3.1 ,
370
413
name : '超过m次扣n分' ,
371
414
allowAttributeCodeTypes : [ "int" , "integer" ] ,
372
415
operate : 'sub' ,
373
416
inputs : [ { type : "int" , code : "m" , value : null } , { type : "double" , code : "n" , value : null } ] ,
374
417
rules : [ { condition : ">{m}" , output : "-{n}" } , { condition : "<={m}" , output : "0" } ]
375
418
} ,
376
419
{
377
- id : 7 ,
420
+ id : 3.2 ,
421
+ name : '超过m次加n分' ,
422
+ allowAttributeCodeTypes : [ "int" , "integer" ] ,
423
+ operate : 'add' ,
424
+ inputs : [ { type : "int" , code : "m" , value : null } , { type : "double" , code : "n" , value : null } ] ,
425
+ rules : [ { condition : ">{m}" , output : "{n}" } , { condition : "<={m}" , output : "0" } ]
426
+ } ,
427
+ {
428
+ id : 3.3 ,
429
+ name : '低于m次,低的部分每次扣n分' ,
430
+ allowAttributeCodeTypes : [ "int" , "integer" ] ,
431
+ operate : 'sub' ,
432
+ inputs : [ { type : "int" , code : "m" , value : null } , { type : "double" , code : "n" , value : null } ] ,
433
+ rules : [ { condition : "<{m}" , output : "(code-{m})*{n}" } , { condition : ">={m}" , output : "0" } ]
434
+ } ,
435
+ {
436
+ id : 3.4 ,
437
+ name : '超过m次,超过部分每次加n分' ,
438
+ allowAttributeCodeTypes : [ "int" , "integer" ] ,
439
+ operate : 'add' ,
440
+ inputs : [ { type : "int" , code : "m" , value : null } , { type : "double" , code : "n" , value : null } ] ,
441
+ rules : [ { condition : ">{m}" , output : "(code-{m})*{n}" } , { condition : "<={m}" , output : "0" } ]
442
+ } ,
443
+ {
444
+ id : 3.5 ,
445
+ name : '超过m次,超过部分每次扣n分' ,
446
+ allowAttributeCodeTypes : [ "int" , "integer" ] ,
447
+ operate : 'sub' ,
448
+ inputs : [ { type : "int" , code : "m" , value : null } , { type : "double" , code : "n" , value : null } ] ,
449
+ rules : [ { condition : ">{m}" , output : "({m}-code)*{n}" } , { condition : "<={m}" , output : "0" } ]
450
+ } ,
451
+ {
452
+ id : 3.6 ,
453
+ name : '低于m次 扣该项基础分%n' ,
454
+ allowAttributeCodeTypes : [ "int" , "integer" ] ,
455
+ operate : 'sub' ,
456
+ inputs : [ { type : "int" , code : "m" , value : null } , { type : "double" , code : "n" , value : null } ] ,
457
+ rules : [ { condition : "<{m}" , output : "-{n}*0.01*base_score" } , { condition : ">={m}" , output : "0" } ]
458
+ } ,
459
+ {
460
+ id : 3.7 ,
461
+ name : '超过m次 扣该项基础分%n' ,
462
+ allowAttributeCodeTypes : [ "int" , "integer" ] ,
463
+ operate : 'sub' ,
464
+ inputs : [ { type : "int" , code : "m" , value : null } , { type : "double" , code : "n" , value : null } ] ,
465
+ rules : [ { condition : ">{m}" , output : "-{n}*0.01*base_score" } , { condition : "<={m}" , output : "0" } ]
466
+ } ,
467
+ // case 4:完成率
468
+ {
469
+ id : 4 ,
378
470
name : '完成率每低%1扣n分' ,
379
471
allowAttributeCodeTypes : [ "double" , "number" , "float" ] ,
380
472
operate : 'sub' ,
381
473
inputs : [ { type : "double" , code : "n" , value : null } ] ,
382
474
rules : [ { condition : "<1" , output : "-(1-code)*100*{n}" } , { condition : ">=1" , output : "0" } ]
475
+ } ,
476
+ {
477
+ id : 4.1 ,
478
+ name : '完成率每低%1扣该项基础分%n' ,
479
+ allowAttributeCodeTypes : [ "double" , "number" , "float" ] ,
480
+ operate : 'sub' ,
481
+ inputs : [ { type : "double" , code : "n" , value : null } ] ,
482
+ rules : [ { condition : "<1" , output : "-(1-code)*100*{n}*0.01*base_score" } , { condition : ">=1" , output : "0" } ]
483
+ } ,
484
+ // case 5: 主观评分
485
+ {
486
+ id : 5 ,
487
+ name : 'A不扣分,B扣m分,C扣n分,D扣i分' ,
488
+ allowAttributeCodeTypes : [ "string" , "text" ] ,
489
+ operate : 'sub' ,
490
+ inputs : [ { type : "double" , code : "m" , value : 5 } , { type : "double" , code : "n" , value : 10 } , { type : "double" , code : "i" , value : 15 } ] ,
491
+ rules : [ { condition : '"A"' , output : "0" } , { condition : '"B"' , output : "-{m}" } , { condition : '"C"' , output : "-{n}" } , { condition : '"D"' , output : "-{i}" } ]
492
+ } ,
493
+ {
494
+ id : 5.1 ,
495
+ name : '主观评分' ,
496
+ allowAttributeCodeTypes : [ "int" , "integer" , "double" , "number" , "float" ] ,
497
+ operate : 'sub' ,
498
+ inputs : [ ] ,
499
+ rules : [ { condition : '' , output : "code-base_score" } ]
383
500
}
384
501
]
385
502
0 commit comments