场景
用来处理接口数据,需求就是相同加工厂,合同编码,子表合并,脚本处理后,子表可以合并,但是加工成和合同编码无法更新上去,
// 存放结果的数组
var formDataJsonList = [];
// 分组存放主表 + 子表数据
var groupedData = {};
// 解析接口数据
var Message = eval(body.Message);
for (var i = 0; i < Message.length && i < 5; i++) {
var factory = Message[i]["加工厂"];
var contract = Message[i]["合同编号"];
var key = factory + "_" + contract;
// ========= 主表 =========
if (!groupedData[key]) {
groupedData[key] = {
// ✅ 改动点:必须是数组格式,否则宜搭主表字段无法更新
"pageSection_meb2p0do": [
{
"textField_me2di2js": factory, // 加工厂
"textField_me2di2jt": contract // 合同编号
}
],
"tableField_meb2p0dq": [] // 子表
};
}
// ========= 子表 =========
var subRow = {
"textField_me2di2ju": Message[i]["款号"], // 款号
"textField_me2di2jv": Message[i]["货号"], // 货号
"textField_me2di2jw": Message[i]["成品颜色"], // 成品颜色
"dateField_me2di2k1": Date.parse(Message[i]["创建日期"]), // 创建日期
"textField_me2di2k0": Message[i]["物料规格"] || Message[i]["材料规格"], // 物料规格
"textField_me2di2jz": Message[i]["物料名称"], // 物料名称
"textField_me2di2jy": Message[i]["物料类型"], // 物料类型
"numberField_me2di2jx": Message[i]["裁剪数"] // 裁剪数
};
// 追加子表行
groupedData[key].tableField_meb2p0dq.push(subRow);
}
// ========= 输出 =========
for (var k in groupedData) {
var lists = JSON.stringify(groupedData[k]);
formDataJsonList.push(lists);
}
outputs.add("新增数据", "formDataJsonList", formDataJsonList);
outputs.add("新增", "A", "CES");
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。