def list = [
[
"CF118": [
"value": [
"value": [
[
"faultWorkNo": "202310112221724"
]
]
]
],
"expenseTypeCode": [
"type": "ExpenseTypeInput",
"label": "费用类型",
"value": [
"text": "测试费用",
"businessCode": "",
"bizSuffixCode": ""
]
],
"consumeAmount": [
"type": "AmountInput",
"label": "金额",
"value": [
"text": "0.00",
"currencyCode": "CNY"
]
],
"approvedConsumeAmount": [
"type": "AmountInput",
"label": "批准收款金额",
"value": [
"text": "111",
"currencyCode": "CNY"
]
]
],
[
"CF119": [
"type": "AssociationInput",
"label": "Data Connection",
"value": [
"value": [
[
"bizCode": 42739,
"carModel": "移动48100",
"uploadBy": "邹乐",
"uploadTime": "2023-10-11 17:00:13",
"faultWorkNo": "123213213213",
"energyProdNum": "无",
"faultWorkDesc": "经检查电池包第4号温感探头温度数据采集异常导致报警",
"energyProdName": "无"
]
]
]
],
"expenseTypeCode": [
"type": "ExpenseTypeInput",
"label": "费用类型",
"value": [
"text": "费用",
"businessCode": "",
"bizSuffixCode": ""
]
],
"consumeAmount": [
"type": "AmountInput",
"label": "金额",
"value": [
"text": "0.00",
"currencyCode": "CNY"
]
],
"approvedConsumeAmount": [
"type": "AmountInput",
"label": "批准消费金额",
"value": [
"text": "222",
"currencyCode": "CNY"
]
]
],
[
"CF119": [
"type": "AssociationInput",
"label": "Data Connection",
"value": [
"value": [
[
"bizCode": 42739,
"carModel": "移动48100",
"uploadBy": "邹乐",
"uploadTime": "2023-10-11 17:00:13",
"faultWorkNo": "202310112221724",
"energyProdNum": "无",
"faultWorkDesc": "经检查电池包第4号温感探头温度数据采集异常导致报警",
"energyProdName": "无"
]
]
]
],
"expenseTypeCode": [
"type": "ExpenseTypeInput",
"label": "费用类型",
"value": [
"text": "费用",
"businessCode": "",
"bizSuffixCode": ""
]
],
"consumeAmount": [
"type": "AmountInput",
"label": "金额",
"value": [
"text": "0.00",
"currencyCode": "CNY"
]
],
"approvedConsumeAmount": [
"type": "AmountInput",
"label": "批准消费金额",
"value": [
"text": "333",
"currencyCode": "CNY"
]
]
]
]
def map = [
"测试费用":"CF118",
"费用":"CF119"
]
def expenseList = []
list.each{
def value = map.get(it.expenseTypeCode.value.text)
println value
if (value!=null){
def faultWorkNoValue = it.get(value)
println faultWorkNoValue
if (faultWorkNoValue!=null){
def obj =
[
"expenseTypeCode": [
"label": "费用类型",
"value": [
"businessCode": "",
"bizSuffixCode": "",
"text": ""
]
],
"consumeAmount": [
"label": "金额",
"value": [
"currencyCode": "CNY",
"text": ""
]
],
"approvedConsumeAmount": [
"label": "批准消费金额",
"value": [
"currencyCode": "CNY",
"text": ""
]
],
"faultWorkNo":""
]
def faultWorkNoObj = faultWorkNoValue.value.value.first()
obj.expenseTypeCode.value.text = it.expenseTypeCode.value.text
obj.consumeAmount.value.text = it.consumeAmount.value.text
obj.approvedConsumeAmount.value.text = it.approvedConsumeAmount.value.text
obj.faultWorkNo = faultWorkNoObj.faultWorkNo
expenseList << obj
}
}
}
def noList = [];
expenseList.each{
def findResult = noList.find{item -> item.key==it.faultWorkNo}
println findResult
if(findResult==null){
def noValue = [
"key":"",
"value":[]
]
noValue.key=it.faultWorkNo
noValue.value << it
noList << noValue
}else{
findResult.value << it
}
}
println noList