var func = function (ARGV) { var jobId = ARGV["job_id"]; var tableName = "pdm_job_" + ARGV["jobcategory"] + "_layer"; //GUI.msgbox({text: TDataParse.variant2JsonStr(tableName)}); var db = new TSqlQueryV2(T_SQLCNT_POOL.getSqlDatabase()); db.begin(); try { var oLayers = db.selectMapMap({ table: tableName, field: ["odb_name", "release_status"], where: { job_id: jobId }, uniquefield: "odb_name" }); if (db.lastError().isValid()) throw db.lastError(); //GUI.msgbox({text: TDataParse.variant2JsonStr(oLayers)}); db.deleteRow({ table: tableName, where: { job_id: jobId } }); if (db.lastError().isValid()) throw db.lastError(); var fieldLst = ["name", "odb_context", "odb_type", "odb_polarity", "odb_side", "drl_start", "drl_end", "row_num", "type", "drl_start_num", "drl_end_num", "drl_from_num", "drl_to_num", "drl_connect_to", "odb_name", "side", "stackup_num", "customer_field", "input_file_name", "odb_row_num" ]; for (var i = 0; i < ARGV["layers"].length; i++) { layerName = ARGV["layers"][i]; var layerInfo = ARGV["matrix"][layerName]; var tmpData = { "job_id": jobId, "name": layerInfo["name"] }; if (ARGV["releasestatus"] != undefined && ARGV["releasestatus"] != null && ARGV["releasestatus"].length > 0 && ARGV["releasestatus"][layerInfo["odb_name"]] != undefined && ARGV["releasestatus"][layerInfo["odb_name"]] != null) { tmpData["release_status"] = ARGV["releasestatus"]; } else { tmpData["release_status"] = oLayers.hasOwnProperty(layerInfo["odb_name"]) ? oLayers[layerInfo["odb_name"]]["release_status"] : null; } for (n = 0; n < fieldLst.length; n++) { tmpData[fieldLst[n]] = layerInfo[fieldLst[n]]; } //GUI.msgbox({text: TDataParse.variant2JsonStr(tmpData)}); db.insertRow({ table: tableName, data: tmpData }); if (db.lastError().isValid()) throw db.lastError(); } db.commit(); return new TDataResponse(); } catch (err) { print(err.text()); db.rollback(); return new TDataResponse(err, ""); } }