|
|
@@ -1624,6 +1624,13 @@ const ImportXML = (() => {
|
|
|
// 项目人材机customCode、code-原始数据映射,有的导入数据中,有一部分关联自生成材料号CX,有的关联代码...
|
|
|
// 因此customCode、code都需要跟原始数据映射,通过customCode取不到数据的时候,通过orgCode获取
|
|
|
let projectGLJMap = {};
|
|
|
+ // 代码映射
|
|
|
+ let customCodeMap = {};
|
|
|
+ // 原始代码映射
|
|
|
+ let originCodeMap = {};
|
|
|
+ function getGLJByMap(code) {
|
|
|
+ return customCodeMap[code] || originCodeMap[code] || null;
|
|
|
+ }
|
|
|
//投标文件才需要导入定额等数据
|
|
|
if (importFileKind === FileKind.tender) {
|
|
|
tenderData.gljSummary.forEach(pGLJ => {
|
|
|
@@ -1633,14 +1640,17 @@ const ImportXML = (() => {
|
|
|
pGLJ.type = pGLJ.type || 201;
|
|
|
pGLJ.shortName = pGLJ.shortName || '材';
|
|
|
//gljCodeMap[pGLJ.code] = pGLJ;
|
|
|
- projectGLJMap[pGLJ.customCode] = pGLJ;
|
|
|
- projectGLJMap[pGLJ.code] = pGLJ;
|
|
|
+ //projectGLJMap[pGLJ.customCode] = pGLJ;
|
|
|
+ //projectGLJMap[pGLJ.code] = pGLJ;
|
|
|
+ customCodeMap[pGLJ.customCode] = pGLJ;
|
|
|
+ originCodeMap[pGLJ.code] = pGLJ;
|
|
|
});
|
|
|
//处理项目人材机数据
|
|
|
tenderData.gljSummary.forEach(pGLJ => {
|
|
|
//组成物数据
|
|
|
pGLJ.ratios.forEach(ratio => {
|
|
|
- let matchData = projectGLJMap[ratio.code];
|
|
|
+ //let matchData = projectGLJMap[ratio.code];
|
|
|
+ let matchData = getGLJByMap(ratio.code);
|
|
|
ratio.code = matchData.code;
|
|
|
ratio.projectGLJID = pGLJ.id; //后端查找标准数据后,方便更新组成物数据
|
|
|
ratio.id = IDPlaceholder.ratio++;
|
|
|
@@ -1683,7 +1693,8 @@ const ImportXML = (() => {
|
|
|
if (typeof data.seq === 'undefined') {
|
|
|
data.seq = data.code;
|
|
|
}
|
|
|
- const projectGLJ = projectGLJMap[data.code];
|
|
|
+ //const projectGLJ = projectGLJMap[data.code];
|
|
|
+ const projectGLJ = getGLJByMap(data.code);
|
|
|
if (projectGLJ) {
|
|
|
projectGLJ[relatedType] = 1;
|
|
|
data.is_related = 1;
|
|
|
@@ -1755,7 +1766,8 @@ const ImportXML = (() => {
|
|
|
// 问题
|
|
|
//处理定额人材机,添加需要的数据
|
|
|
ration.rationGljs.forEach(rGLJ => {
|
|
|
- let matchGLJ = projectGLJMap[rGLJ.code];
|
|
|
+ //let matchGLJ = projectGLJMap[rGLJ.code];
|
|
|
+ let matchGLJ = getGLJByMap(rGLJ.code);
|
|
|
if (matchGLJ) {
|
|
|
rGLJ.projectGLJID = matchGLJ.id;
|
|
|
rGLJ.code = matchGLJ.code;
|