异步导入项目合同接口

接口说明

URL:/gys/gems-web-api/contract/asyncBatchSave
接口用途:通过异步方式导入项目合同接口
提交方式:POST
请求参数:JSON格式字符串
说明:
    1、校验合同成功后会同步返回任务ID(taskId),根据taskId查询导入结果;

重点说明

一、集成合同有以下两种场景

1、在推送合同的时候,合同中的材料和合作单位已经同步到【广联达云平台】的基础数据中:
需要重点关注:合同中材料和合作单位的三方id必须和已经推送过来的材料和合作单位的三方id保持一致。

2、在推送合同的时候,合同中的材料和合作单位没有【广联达云平台】的基础数据中:此时,该接口会自动将合同中的材料和合作单位同步到项目管理平台的基础数据中:
需要重点关注
a、在项目管理平台的【集成管理】-【数据集成】模块中,添加了材料和合作单位的数据源,并且这两个数据源的接入状态和分发状态都必须“启用”,否则,会导致合同推送失败。
b、合同接口中材料和合作单位的相关参数必须正确

二、originQuantity的使用

当补充协议需要对主合同相同材料的数量进行变更时,会使用originQuantity,分为以下两种场景:

1、主合同下钢筋的quantity=50,补充协议下钢筋的originQuantity=0,quantity=30 表示材料量的新增,钢筋的总量为两个合同的累加=80

2、主合同下钢筋的quantity=50,补充协议下钢筋的originQuantity=50,quantity=30 表示材料量的更新,钢筋的总量为补充协议变更后数量=30

请求参数

合同主表属性

参数 类型 必须 取值范围(字符长度) 默认值 描述
projectId Long N 项目ID
syncCode String Y 64 项目同步编码
optFlag int Y 0,2 操作。新增或修改:0,删除:2
serialNumber String Y 64 单据编号
signDate Date Y 签约日期 格式(yyyy-MM-dd)
purchaseType String Y 64 采购类型(集采,自采)
code String Y 64 合同编号
name String Y 64 合同名称
unitId String Y 100 第三方合同id
partyAId Long N 20 甲方ID(GYS系统的ID,可以不传)
partyAName String Y 255 甲方名称
partyBId Long N 20 乙方ID(广联达系统的ID,可以不传,会根据三方ID自动补全)
partyBName String Y 255 乙方名称
partyBCreditCode String N 255 第三方供应商的统一社会信用代码(如果供应商未提前上传,则该字段必填
partyUnitId String Y 100 第三方供应商id(第三方乙方id)
materialCatalog String N 200 材料类别
unitPid String N 100 第三方合同父id
agreementTypeCode String N 100 补充协议类型编码
agreementType String N 100 补充协议类型标识
paymentMethod String N 255 付款方式(后期结算,直接付款)
money BigDecimal N 19 合同金额
taxRate BigDecimal N 19 税率
invoiceType String N 255 发票类型
moneyUnit String N 64 金额单位
remark String N 255 备注
contractType String N 64 合同类型(材料采购/设备租赁/周材租赁)
calculateType String N 64 计量方式(过磅计量/理论计量/点数计量)
supplyType String N 64 供货模式(甲供/已供)
allowed Boolean N 是否允许过磅(允许:true,不允许:false)
contractFormCode String N 64 合同形式编码
contractForm String N 64 合同形式
effectiveDate Date N 生效日期
statusType Integer N 10 1 合同状态:-1废除,1履约,2中止,4终止,8已完成(不传值默认为履约)
calculateStandard Integer N 8 计量基准:1供方量,2实际收获量
calculateDeviation BigDecimal N 19,2 计量偏差
extend String N 扩展字段,json

contractMaterialVoList 合同材料细表属性

参数 类型 必须 取值范围(字符长度) 默认值 描述
materialId Long Y 20 若materialType为0(材料),取值材料ID;若materialType为1(材料类别),取值材料类别ID;若materialType为2(其他方式),可不传 ;广联达材料ID,不知道可传默认值:-1
code String Y 64 若materialType为0(材料),取值材料编码;若materialType为1(材料类别),取值材料类别编码;若materialType为2(其他方式),可不传;
name String Y 128 若materialType为0(材料),取值材料名称;若materialType为1(材料类别),取值材料类别名称;
unitId String Y 100 第三方合同材料明细数据ID
unitPid String Y 100 第三方合同ID
unitMaterialId String Y 100 第三方材料id
materialType Integer N 4 材料类型 0:材料;1:材料类别
specification String N 255 材料规格型号
texture String N 256 材质
materialUnitId Long N 20 材料单位ID
materialUnit String N 45 材料单位
originQuantity BigDecimal N 19,5 材料变更前数量(适用于补充协议进行材料数量变更,详情见上方重点说明二)
quantity BigDecimal N 19,5 材料数量
materialBrand String N 255 材料品牌
moneyUnit String N 20 货币单位
includingTaxPrice BigDecimal N 9,2 材料含税单价
taxRate BigDecimal N 9,2 税率
moneyIncludingTax BigDecimal N 19,2 含税金额
excludingTaxPrice BigDecimal N 9,2 材料无税单价
moneyExcludingTax BigDecimal N 19,2 无税金额
taxAmount BigDecimal N 19,2 税额
remark String N 255 备注
referBizCode String N 64 材料参考来源业务编码
referId Long N 20 参考来源ID
referSerialNumber String N 64 参考来源单据编号
unitDetailParentId String N 100 第三方父明细Id
conversion String N 255 转换系数
conversionType String N 32 换算规范
extend String N 扩展字段,json

注:转换系数(conversion)的格式:[{ baseUnit:'米', baseUnitQuantity:1, targetUnit:'吨', targetUnitQuantity:1.12 }]

contractOtherFeeVoList 合同附加费细表属性

参数 类型 必须 取值范围(字符长度) 默认值 描述
code String Y 64 费用编码
name String Y 128 费用名称
unitId String Y 100 第三方附加费行id(第三方系统Id)
unitPid String Y 100 第三方合同ID
unit String N 255 单位
quantity BigDecimal N 19,5 数量
moneyUnit String N 45 货币单位
includingTaxPrice BigDecimal N 9,2 含税单价
taxRate BigDecimal N 9,2 税率
moneyIncludingTax BigDecimal N 19,2 含税金额
excludingTaxPrice BigDecimal N 9,2 无税单价
moneyExcludingTax BigDecimal N 19,2 无税金额
taxAmount BigDecimal N 19,2 税额
remark String N 255 备注

请求参数jsonStr具体格式:

 [           
    { 
        "projectId": 1231231231, -- 所属项目ID               
        "serialNumber":"A00001",  --单据编号               
        "signDate":"2019-03-05",  --签约日期      
        "purchaseType":"集采", -- 采购类型
        "code":"WTHT20171024001-050",  -- 合同编号             
        "name":"配砖合同(旭明)", -- 合同名称           
        "materialCatalog":"砖",   --材料类别     
        "partyAId":null,      --甲方ID     
        "partyAName":"狼图腾有限公司", --甲方名称         
        "partyBId":null,          --乙方ID
        "partyBName":"重庆市新兴有限公司",  -- 乙方名称    
        "partyBCreditCode":"统一社会信用代码1", --统一社会信用代码    
        "paymentMethod":"后期结算", --付款方式            
        "money":50000,     --合同金额         
        "moneyUnit":"元",   --金额单位    
        "taxRate": 29.5, -- 税率
        "invoiceType": "增值税专票", -- 发票类型显示值 增值税专票
        "contractForm": "固定单价", -- 计价方式 固定单价
        "contractFormCode": "gddj", -- 计价方式编码 固定单价的编码
        "effectiveDate": "2019-03-05", -- 生效日期
        "remark":"合同备注信息",              
        "syncCode":'PA00004,   --项目层的同步编码        
        "contractType":"材料采购",-- 合同类型              
        "calculateType":"过磅计量", --计量方式             
        "supplyType":"甲供", --供货模式              
        "unitId":"123", -- 第三方合同id   
        "agreementTypeCode": "zlzx", -- 补充协议类型编码 增量增项编码
        "agreementType": "增量增项", -- 补充协议类型显示值 增量增项
        "partyUnitId":"dsf001",  --第三方供应商id(第三方乙方id)            
        "allowed":true,  -- 是否允许过磅 
        "statusType":1,  --合同状态,1履约
        "calculateStandard":1,-- 计量基准:1供方量,2实际收获量
        "calculateDeviation":0.03,---计量偏差
        "extend":"",-- 扩展字段,json
        "optFlag":0,  -- 新增或修改
        "contractMaterialVoList": [                
                {             
                "materialType":0,  -- 如果是材料,则传0              
                "materialId":-1, --材料ID
                "unitMaterialId":"14", --第三方材料id
                "code":"2041300400200002",  --材料编码           
                "texture":"材质",   --材质         
                "name":"螺纹钢",     --材料名称         
                "specification":"规格03", --材料规格型号         
                "materialUnitId":null,    --材料单位ID  
                "materialUnit":"匹",   -- 材料单位   
                "originQuantity":0,     --  材料变更前数量 
                "quantity":100,     --  材料数量         
                "materialBrand":"首钢品牌123",              
                "moneyUnit":"元",    --货币单位 
                "includingTaxPrice":10.6,   -- 材料含税单价
                "taxRate":0.52,            -- 税率
                "moneyIncludingTax":10600, --含税金额     
                "excludingTaxPrice":9,     -- 材料无税单价
                "moneyExcludingTax":9000,  -- 无税金额     
                "taxAmount":1600,          --税额    
                "remark":"材料备注",         
                "referBizCode":null,    --材料参考来源业务编码       
                "referId":1,          --参考来源ID
                "referSerialNumber":"abc",  --参考来源单据编号               
                "unitId":"1421333",  -- 第三方合同材料ID(第三方系统Id)
                "unitPid":"123",  --第三方合同ID    
                "unitDetailParentId": "123", -- 补充协议明细的父明细Id   
                "extend":"",-- 扩展字段,json 
                "conversion":"[{baseUnit:'匹',baseUnitQuantity:1,targetUnit:'KG',targetUnitQuantity:0.53}]", -- 转换系数
                "conversionType":"1匹=0.53KG"  --换算规范   
            }
        ],
         "contractOtherFeeVoList": [                
                {             
                "code":"2041300400200002",  --费用编码           
                "name":"60m汽车泵",     --费用名称         
                "unit":"立方米",   -- 单位   
                "quantity":100,     --  数量     
                "moneyUnit":"万元",  --货币单位      
                "includingTaxPrice":10.6,   -- 含税单价     
                "taxRate":0.52,            -- 税率
                "moneyIncludingTax":10600, --含税金额     
                "excludingTaxPrice":9,     -- 无税单价
                "moneyExcludingTax":9000,  -- 无税金额     
                "taxAmount":1600,          --税额    
                "remark":"备注",        
                "unitPid":"123",  --第三方合同id 
                "unitId":"123"  --第三方费用项行ID           
            }
        ]
    }
]

返回结果:

{
    "data":{
        "successList": [
            {
            "id": 123123, -- 物料侧合同ID
            "projectId": 1231231231, -- 所属项目ID               
            "serialNumber": "A00001",  --单据编号               
            "signDate": "2019-03-05",  --签约日期      
            "purchaseType": "集采", -- 采购类型
            "code": "WTHT20171024001-050",  -- 合同编号             
            "name": "配砖合同(旭明)", -- 合同名称           
            "materialCatalog": "砖",   --材料类别     
            "partyAId": null,      --甲方ID     
            "partyAName": "狼图腾有限公司", --甲方名称         
            "partyBId": null,          --乙方ID
            "partyBName": "重庆市新兴有限公司",  -- 乙方名称     
            "partyBCreditCode":"统一社会信用代码1", --统一社会信用代码   
            "paymentMethod": "后期结算", --付款方式            
            "money": 50000,     --合同金额         
            "moneyUnit": "元",   --金额单位    
            "taxRate": 29.5, -- 税率
            "invoiceType": "增值税专票", -- 发票类型显示值 增值税专票
            "contractForm": "固定单价", -- 计价方式 固定单价
            "contractFormCode": "gddj", -- 计价方式编码 固定单价的编码
            "effectiveDate": "2019-03-05", -- 生效日期
            "remark": "合同备注信息",
            "syncCode":'PA00004,   --项目层的同步编码        
            "contractType": "材料采购",-- 合同类型              
            "calculateType": "过磅计量", --计量方式             
            "supplyType": "甲供", --供货模式              
            "unitId": "123", -- 第三方合同id   
            "agreementTypeCode": "zlzx", -- 补充协议类型编码 增量增项编码
            "agreementType": "增量增项", -- 补充协议类型显示值 增量增项
            "partyUnitId": "dsf001",  --第三方供应商id(第三方乙方id)   
            "statusType":1,  --合同状态,1履约         
            "allowed": true,  -- 是否允许过磅 
            "optFlag": 0,  -- 新增或修改
            "contractMaterialVoList": [
                    {
                    "id": 123123, -- 物料侧合同材料明细ID             
                    "materialType": 0,  -- 如果是材料,则传0              
                    "materialId": -1, --材料ID
                    "unitMaterialId": "14", --第三方材料id
                    "code": "2041300400200002",  --材料编码           
                    "texture": "材质",   --材质         
                    "name": "螺纹钢",     --材料名称         
                    "specification": "规格03", --材料规格型号         
                    "materialUnitId": null,    --材料单位ID  
                    "materialUnit": "匹",   -- 材料单位 
                    "originQuantity":0,     --  材料变更前数量   
                    "quantity": 100,     --  材料数量         
                    "materialBrand": "首钢品牌123",
                    "moneyUnit": "元",    --货币单位 
                    "includingTaxPrice": 10.6,   -- 材料含税单价
                    "taxRate": 0.52,            -- 税率
                    "moneyIncludingTax": 10600, --含税金额     
                    "excludingTaxPrice": 9,     -- 材料无税单价
                    "moneyExcludingTax": 9000,  -- 无税金额     
                    "taxAmount": 1600,          --税额    
                    "remark": "材料备注",
                    "referBizCode":null,    --材料参考来源业务编码       
                    "referId":1,          --参考来源ID
                    "referSerialNumber":"abc",  --参考来源单据编号    
                    "unitId": "1421333",  -- 第三方合同材料ID(第三方系统Id)
                    "unitPid": "123",  --第三方合同ID   
                    "detailParentId": 12312 -- 物料侧父明细Id  
                    "unitDetailParentId": "123", -- 补充协议明细的父明细Id    
                    "conversion": "[{baseUnit:'匹',baseUnitQuantity:1,targetUnit:'KG',targetUnitQuantity:0.53}]", -- 转换系数
                    "conversionType": "1匹=0.53KG"  --换算规范
                    }
                ]
            }
        ],
        "errorList": [
            {
          "projectId": 1231231231, -- 所属项目ID               
          "serialNumber": "A00001",  --单据编号               
          "signDate": "2019-03-05",  --签约日期      
          "purchaseType": "集采", -- 采购类型
          "code": "WTHT20171024001-050",  -- 合同编号             
          "name": "配砖合同(旭明)", -- 合同名称           
          "materialCatalog": "砖",   --材料类别     
          "partyAId": null,      --甲方ID     
          "partyAName": "狼图腾有限公司", --甲方名称         
          "partyBId": null,          --乙方ID
          "partyBName": "重庆市新兴有限公司",  -- 乙方名称  
          "partyBCreditCode":"统一社会信用代码2", --统一社会信用代码      
          "paymentMethod": "后期结算", --付款方式            
          "money": 50000,     --合同金额         
          "moneyUnit": "元",   --金额单位    
          "taxRate": 29.5, -- 税率
          "invoiceType": "增值税专票", -- 发票类型显示值 增值税专票
          "contractForm": "固定单价", -- 计价方式 固定单价
          "contractFormCode": "gddj", -- 计价方式编码 固定单价的编码
          "effectiveDate": "2019-03-05", -- 生效日期
          "remark": "合同备注信息",
          "syncCode":'PA00004,   --项目层的同步编码        
          "contractType": "材料采购",-- 合同类型              
          "calculateType": "过磅计量", --计量方式             
          "supplyType": "甲供", --供货模式              
          "unitId": "123", -- 第三方合同id   
          "agreementTypeCode": "zlzx", -- 补充协议类型编码 增量增项编码
          "agreementType": "增量增项", -- 补充协议类型显示值 增量增项
          "partyUnitId": "dsf001",  --第三方供应商id(第三方乙方id)   
          "statusType":1,  --合同状态,1履约         
          "allowed": true,  -- 是否允许过磅 
          "optFlag": 0,  -- 新增或修改
          "contractMaterialVoList": [
                    {
                  "materialType": 0,  -- 如果是材料,则传0              
                  "materialId": -1, --材料ID
                  "unitMaterialId": "14", --第三方材料id
                  "code": "2041300400200002",  --材料编码           
                  "texture": "材质",   --材质         
                  "name": "螺纹钢",     --材料名称         
                  "specification": "规格03", --材料规格型号         
                  "materialUnitId": null,    --材料单位ID  
                  "materialUnit": "匹",   -- 材料单位  
                  "originQuantity":0,     --  材料变更前数量  
                  "quantity": 100,     --  材料数量         
                  "materialBrand": "首钢品牌123",
                  "moneyUnit": "元",    --货币单位 
                  "includingTaxPrice": 10.6,   -- 材料含税单价
                  "taxRate": 0.52,            -- 税率
                  "moneyIncludingTax": 10600, --含税金额     
                  "excludingTaxPrice": 9,     -- 材料无税单价
                  "moneyExcludingTax": 9000,  -- 无税金额     
                  "taxAmount": 1600,          --税额    
                  "remark": "材料备注",
                  "referBizCode":null,    --材料参考来源业务编码       
                  "referId":1,          --参考来源ID
                  "referSerialNumber":"abc",  --参考来源单据编号 
                  "unitId": "1421333",  -- 第三方合同材料ID(第三方系统Id)`
                  "unitPid": "123",  --第三方合同ID    
                  "unitDetailParentId": "123", -- 补充协议明细的父明细Id    
                  "conversion": "[{baseUnit:'匹',baseUnitQuantity:1,targetUnit:'KG',targetUnitQuantity:0.53}]", -- 转换系数
                  "conversionType": "1匹=0.53KG"  --换算规范
                    }
                ]
            }
        ],
        "message":"数据校验成功:1条,失败:0条",
        "taskId":584680794465280
    },
    "success":true
}

查询异步导入状态接口

接口说明

接口地址:/exotic/services/async/common/org/product/type/tasks/{taskId}/status
接口用途:查询异步导入合同任务的状态信息
提交方式:GET
说明:
    1、任务状态值:Initial:初始化,doing:执行中,error:错误,done:正常结束

请求参数

参数 类型 必须 取值范围 默认值 描述
taskId Long Y 上一步结果返回的taskId,通过url的path传递

返回结果:

处理失败返回结果:
{
    "code": 200,
    "data": {
        "message": "[\"未能正确匹配unitMaterialId:[202112140022]的材料,请检查材料必填项是否完整\"]", -- 错误信息
        "status": "error",                   -- 状态,状态值参考Initial:初始化,doing:执行中,error:错误,done:正常结束
        "updatedAt": 1639644441000
    },
    "message": "操作成功",
    "success": true
}
处理成功返回结果:
{
    "code":200,
    "data":{
        "status":"done",  -- 状态,状态值参考Initial:初始化,doing:执行中,error:错误,done:正常结束
        "updatedAt":1639965151732
    },
    "message":"操作成功",
    "success":true
}

results matching ""

    No results matching ""