|
@@ -11,13 +11,70 @@ INTERFACE_EXPORT = (() => {
|
|
|
/**
|
|
/**
|
|
|
*
|
|
*
|
|
|
* @param {String} userID - 用户ID
|
|
* @param {String} userID - 用户ID
|
|
|
|
|
+ * @param {String} areaKey - 地区标识,如:'安徽@马鞍山',有些地区的接口只是取值上有不同,共有一个接口脚本, 需要通过地区标识确定一些特殊处理
|
|
|
* @param {Number} exportKind - 导出类型,招标、投标、控制价
|
|
* @param {Number} exportKind - 导出类型,招标、投标、控制价
|
|
|
* @param {Object} projectData - 项目表数据:{ 建设项目Data, children: [单位工程...] }
|
|
* @param {Object} projectData - 项目表数据:{ 建设项目Data, children: [单位工程...] }
|
|
|
* @param {Object} tenderDetailMap - 单位工程ID与getData接口数据(projectObj.project的结构)的映射。
|
|
* @param {Object} tenderDetailMap - 单位工程ID与getData接口数据(projectObj.project的结构)的映射。
|
|
|
- * @return {Promise<Object>} - 返回的数据结构必须按照规定,参考web\building_saas\standard_interface\index.js中的注释说明
|
|
|
|
|
|
|
+ * @return {Promise<Array>} - 返回的数据结构必须按照规定:[{ data, exportKind, fileName }],参考web\building_saas\standard_interface\index.js中的注释说明
|
|
|
*/
|
|
*/
|
|
|
- async function entry(userID, exportKind, projectData, tenderDetailMap) {
|
|
|
|
|
-
|
|
|
|
|
|
|
+ async function entry(userID, areaKey, exportKind, projectData, tenderDetailMap) {
|
|
|
|
|
+ const {
|
|
|
|
|
+ CONFIG: { TYPE, EXPORT_KIND },
|
|
|
|
|
+ UTIL: {
|
|
|
|
|
+ getValueByKey,
|
|
|
|
|
+ },
|
|
|
|
|
+ Element,
|
|
|
|
|
+ } = XML_EXPORT_BASE;
|
|
|
|
|
+
|
|
|
|
|
+ const czzt = {
|
|
|
|
|
+ [EXPORT_KIND.BID_INVITATION]: '招标',
|
|
|
|
|
+ [EXPORT_KIND.BID_SUBMISSION]: '投标',
|
|
|
|
|
+ [EXPORT_KIND.CONTROL]: '招标控制',
|
|
|
|
|
+ };
|
|
|
|
|
+ // 建设项目基本信息
|
|
|
|
|
+ function JingJiBiao(projectName, information) {
|
|
|
|
|
+ const attrs = [
|
|
|
|
|
+ { name: 'Xmbh', value: getValueByKey(information, 'projNum') }, // 项目编号
|
|
|
|
|
+ { name: 'Xmmc', value: projectName }, // 项目名称
|
|
|
|
|
+ { name: 'Bzlx', value: '清单' }, // 项目编制类型
|
|
|
|
|
+ { name: 'Jjyj', value: '【18清单】2018部颁清单计价依据' }, // 计价依据
|
|
|
|
|
+ { name: 'Xmqzzh', value: getValueByKey(information, '') }, // 项目起止桩号
|
|
|
|
|
+ { name: 'Jsdw', value: getValueByKey(information, '') }, // 建设单位
|
|
|
|
|
+ { name: 'Czzt', value: czzt[exportKind] }, // 操作状态:招标、投标、招标控制,即导出接口时,所选的文件类型
|
|
|
|
|
+ { name: 'Jsfs', value: getValueByKey(information, '') || '1', type: TYPE.INT }, // 计税方式,默认1。1=一般计税 2=简易计税
|
|
|
|
|
+ { name: 'Version', value: '1.0' },
|
|
|
|
|
+ ];
|
|
|
|
|
+ Element.call(this, 'JingJiBiao', attrs);
|
|
|
|
|
+ }
|
|
|
|
|
+ // 招标信息
|
|
|
|
|
+ function ZhaoBiaoXx(information) {
|
|
|
|
|
+ const attrs = [
|
|
|
|
|
+ { name: 'Zbr', value: getValueByKey(information, '') }, // 招标人
|
|
|
|
|
+ { name: 'Zxr', value: getValueByKey(information, '') }, // 造价咨询人
|
|
|
|
|
+ { name: 'ZbrDb', value: getValueByKey(information, '') }, // 招标人法定代表人或其授权人
|
|
|
|
|
+ { name: 'ZxrDb', value: getValueByKey(information, '') }, // 造价咨询人法定代表人或其授权人
|
|
|
|
|
+ { name: 'Bzr', value: getValueByKey(information, '') }, // 编制人
|
|
|
|
|
+ { name: 'Fhr', value: getValueByKey(information, '') }, // 复核人
|
|
|
|
|
+ { name: 'BzTime', value: getValueByKey(information, ''), type: TYPE.DATE }, // 编制时间
|
|
|
|
|
+ { name: 'FhTime', value: getValueByKey(information, ''), type: TYPE.DATE }, // 复核时间
|
|
|
|
|
+ ];
|
|
|
|
|
+ Element.call(this, 'ZhaoBiaoXx', attrs);
|
|
|
|
|
+ }
|
|
|
|
|
+ // 招标信息
|
|
|
|
|
+ function ZhaoBiaoXx(information) {
|
|
|
|
|
+ const attrs = [
|
|
|
|
|
+ { name: 'Zbr', value: getValueByKey(information, '') }, // 招标人
|
|
|
|
|
+ { name: 'Zxr', value: getValueByKey(information, '') }, // 造价咨询人
|
|
|
|
|
+ { name: 'ZbrDb', value: getValueByKey(information, '') }, // 招标人法定代表人或其授权人
|
|
|
|
|
+ { name: 'ZxrDb', value: getValueByKey(information, '') }, // 造价咨询人法定代表人或其授权人
|
|
|
|
|
+ { name: 'Bzr', value: getValueByKey(information, '') }, // 编制人
|
|
|
|
|
+ { name: 'Fhr', value: getValueByKey(information, '') }, // 复核人
|
|
|
|
|
+ { name: 'BzTime', value: getValueByKey(information, ''), type: TYPE.DATE }, // 编制时间
|
|
|
|
|
+ { name: 'FhTime', value: getValueByKey(information, ''), type: TYPE.DATE }, // 复核时间
|
|
|
|
|
+ ];
|
|
|
|
|
+ Element.call(this, 'ZhaoBiaoXx', attrs);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
return {
|
|
return {
|