Commit b9d75c41 authored by Scott Sun's avatar Scott Sun

s

parent 33a8d68a
......@@ -122,7 +122,7 @@ try {
// 如果genesis已经存在这个料号
err = delSameJob({job:job,delSame:config.delSameJob}); if(err){throw err};
var custCfg = config.customer[par.customer]
if(!custCfg){throw "config error"}
if(!custCfg){throw "customer config error:"+par.customer}
custCfg.db = par.db || custCfg.db
var step = custCfg.step.toLowerCase()
// 获取路径下文件信息
......
......@@ -369,6 +369,18 @@ function reName(props) { // 改名 par{job:要改名的料号, rule: {要改名
GEN.renameLayer({job:job,layer:v.orig_name,new_name:v.new_name})
}
});
// 最后 如果第一个 最后一个不是top bottom 就手动修改
var afterMatrix = GEN.getMatrix({job:job})
var signals = Object.keys(afterMatrix).filter(function(v){return afterMatrix[v].layer_type=="signal" && afterMatrix[v].context=="board"})
signals = signals.sort(function(a,b){return afterMatrix[a].row - afterMatrix[b].row})
var topSignal = signals[0]
var botSignal = signals[signals.length -1]
if(topSignal !== "top"){
GEN.renameLayer({job:job,layer:topSignal,new_name:"top"})
}
if(botSignal !== "bottom"){
GEN.renameLayer({job:job,layer:botSignal,new_name:"bottom"})
}
}
function mergeDrill(props){ // 合并钻孔
......
......@@ -205,7 +205,7 @@
{"orig_name" : ["_isl(\\d+)_bottom"], "tl_name" : "d_($1)-($1+1)"}
]
},
"yucca": {
"Yucca": {
"step": "cad",
"rules": [
{
......
......@@ -11,8 +11,16 @@ var JobId = $.job_id;
try {
IKM.msg(1)
var job = "4"
var tmp = [{signalL:"top",solderL:"sm_top"}, {signalL:"top",solderL:null}]
// exposed
tmp.forEach(function(item){
if(item.solderL){
IKM.msg(GEN.exposedArea({layer1:item.signalL,mask1:item.solderL}))
// {"area":"0.73817","percent":"8.986"}
}
})
return "Done"
} catch (e) {
IKM.msg(e)
......
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)});
try {
var query = new TSqlQueryV2(T_SQLCNT_POOL.getSqlDatabase());
var selector = new TSqlSelectorV2;
selector.setTable("pdm_job_work_layer");
selector.setField(["name"]);
selector.setWhere("job_id", this.jobId);
selector.addWhere('type', 'outer');
selector.setOrder("row_num", 1);
var layerList = query.selectArrayValue(selector);
if (query.lastError().isValid()) {
throw query.lastError();
}
db.deleteRow({
table: tableName,
where: {
job_id: jobId
selector.clear();
selector.setTable("pdm_job_layerattr");
selector.setField(["attr_name", "layer", "value"]);
selector.setWhere("job_id", this.jobId);
selector.addWhere('layer', layerList);
var attrList = query.selectArrayMap(selector);
if (query.lastError().isValid()) {
throw query.lastError();
}
});
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;
selector.clear();
selector.setTable("pdm_job_work_layer");
selector.setField(["odb_name", "side"]);
selector.setWhere("job_id", this.jobId);
selector.addWhere('odb_context', 'board');
selector.setOrder("type", "solder_mask");
var nameList = query.selectArrayMap(selector);
if (query.lastError().isValid()) {
throw query.lastError();
}
for (n = 0; n < fieldLst.length; n++) {
tmpData[fieldLst[n]] = layerInfo[fieldLst[n]];
var goldMap = {};
var refLayerMap = {};
_.each(nameList, function (item) {
if (item["odb_name"] == "gold") {
goldMap[item["side"]] = item["odb_name"];
} else if (item["odb_name"] == "ref_layer") {
refLayerMap[item["side"]] = item["odb_name"];
}
//GUI.msgbox({text: TDataParse.variant2JsonStr(tmpData)});
db.insertRow({
table: tableName,
data: tmpData
});
if (db.lastError().isValid()) throw db.lastError();
})
var dataMap = {};
_.each(attrList, function (valueMap) {
var tempList = [];
if (!_.isEmpty(dataMap[valueMap["layer"]])) {
tempList = dataMap[valueMap["layer"]];
}
db.commit();
return new TDataResponse();
} catch (err) {
print(err.text());
db.rollback();
return new TDataResponse(err, "");
tempList.push(valueMap);
dataMap[valueMap["layer"]] = tempList;
})
var retMap = {};
for (var key in dataMap) {
var tempMap = {};
_.each(dataMap[key], function (itemMap) {
tempMap[itemMap["attr_name"]] = itemMap["value"];
})
retMap[key] = tempMap;
}
var itemList = ["top", "bottom"];
var retList = [];
_.each(itemList, function (item) {
var tempMap = retMap[item];
tempMap["gold"] = goldMap[item];
tempMap["ref_layer"] = refLayerMap[item];
retList.push(tempMap);
})
return JSON.stringify(retList);
} catch (e) {
print(e);
GUI.msgbox({
title: 'Error',
detail: e
});
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment