以下内容数据仅为测试样例,考虑到商业因素不含源码

  • 测试工具:SOAPUI 
  • 基于SOAP WebService,非RESTAPI
  • Primavera Unifier 参数:Version 18.8.11(Patch),
  • Server IP: 192.168.1.251; Port: 9001
  • WS URL: 

需要打Unifier最新补丁的可参考:https://blog.csdn.net/kping163/article/details/100054949

Primavera Unifier 默认WS地址是: http://192.168.1.251:9001/ws/un/services/UnifierWebServices , 而此工具soapui需要有该ws对应的wsdl文件,可最新在Unifier系统自带帮助中获得:

如下是Unifier展现的Shell和合同BP数据

此时BP类型是“contracts” , 单独展示bp record记录

<_bp>
      <ugenAddress1TXT120>湖北</ugenAddress1TXT120>
      <ugenAddress2TXT120></ugenAddress2TXT120>
      <ugenAddress3TXT120></ugenAddress3TXT120>
      <amount>0.00000000</amount>
      <ugenCityTXT50></ugenCityTXT50>
      <uconContractNumberTXT16>CON190528-01</uconContractNumberTXT16>
      <upoContractTermsMLT4000>无</upoContractTermsMLT4000>
      <upoContractTypePD>时间与材料</upoContractTypePD>
      <ugenCountryPD></ugenCountryPD>
      <uuu_creation_date>05-28-2019 11:06:43</uuu_creation_date>
      <creator_id>蚕豆哥</creator_id>
      <uveDisadvantagedBusCB>0</uveDisadvantagedBusCB>
      <due_date></due_date>
      <uuu_effective_date>05-28-2019 17:00:00</uuu_effective_date>
      <uveEmailTB120>kangpingchn@gmail.com</uveEmailTB120>
      <upoExpiryDateDOP></upoExpiryDateDOP>
      <uveFaxTB16>908-534-1140</uveFaxTB16>
      <uveMinorityBusCB>0</uveMinorityBusCB>
      <uconOriginalContrctAmtCA>0.00000000</uconOriginalContrctAmtCA>
      <upoContractDescMLT4000></upoContractDescMLT4000>
      <uvePhoneTB64>908-534-1138</uvePhoneTB64>
      <uvePrimaryContactTB64>黄总</uvePrimaryContactTB64>
      <ugenPriorityPD></ugenPriorityPD>
      <ugenProjectName></ugenProjectName>
      <ugenProjectNumber></ugenProjectNumber>
      <uuu_dm_publish_path>Project Documents/Cost Controls/Contracts</uuu_dm_publish_path>
      <record_no>CON-000002</record_no>
      <ugenStatePD></ugenStatePD>
      <status>Pending</status>
      <title>施工合同</title>
      <currencyid>CNY</currencyid>
      <ugenVendorBP>00012019</ugenVendorBP>
      <uveVendorIDTB16>00012019</uveVendorIDTB16>
      <uveVendorNameTB50>湖北混凝土</uveVendorNameTB50>
      <uveWomanOwnedCB>0</uveWomanOwnedCB>
      <upaRetainagePctDA>0.00000000</upaRetainagePctDA>
      <ugenZipCodeTXT16></ugenZipCodeTXT16>
      <ugenSpecSecBP></ugenSpecSecBP>
      <ugenActivityDPK></ugenActivityDPK>
      <ugenP6PlannedCostCA>0.00000000</ugenP6PlannedCostCA>
      <ugenP6PlannedFinishDOP></ugenP6PlannedFinishDOP>
      <ugenP6PlannedStartDOP></ugenP6PlannedStartDOP>
      <ucoRFBBP></ucoRFBBP>
      <sss_ttl_Total_Approved_Changes>0.00000000</sss_ttl_Total_Approved_Changes>
      <sss_ttl_Total_Approved_Payment>0.00000000</sss_ttl_Total_Approved_Payment>
      <sss_ttl_Total_Pending_Changes>0.00000000</sss_ttl_Total_Pending_Changes>
</_bp>

需要留意的是,当bp切换成其他类型时得出的实体不同了,如以下查询"合同变更" getbplist

<_bp>
      <ugenAddress2TXT120></ugenAddress2TXT120>
      <ugenCountryPD></ugenCountryPD>
      <record_no>CON-000001-001</record_no>
      <ucoReasonPD>范围变更</ucoReasonPD>
      <uveFaxTB16>908-534-1140</uveFaxTB16>
      <uveDisadvantagedBusCB>0</uveDisadvantagedBusCB>
      <amount>400000.00000000</amount>
      <ugenProjectNumber></ugenProjectNumber>
      <uveVendorNameTB50>天津江天型钢有限公司</uveVendorNameTB50>
      <status>Approved</status>
      <ucoPendingChangesQE>0.00000000</ucoPendingChangesQE>
      <ucoScheduleImpactDaysIA>10</ucoScheduleImpactDaysIA>
      <ugenStatePD></ugenStatePD>
      <creator_id>蚕豆哥</creator_id>
      <uconApprovedChangesAmtQE>0.00000000</uconApprovedChangesAmtQE>
      <uconRevisedContctAmtCA>420000.00000000</uconRevisedContctAmtCA>
      <uconActualsToDateCA>0.00000000</uconActualsToDateCA>
      <due_date>09-27-2019 17:00:00</due_date>
      <ugenAddress1TXT120>shenzhen</ugenAddress1TXT120>
      <ugenAddress3TXT120></ugenAddress3TXT120>
      <uconOriginalContrctAmtCA>20000.00000000</uconOriginalContrctAmtCA>
      <uveWomanOwnedCB>0</uveWomanOwnedCB>
      <ugenZipCodeTXT16></ugenZipCodeTXT16>
      <uuu_dm_publish_path>Project Documents/Cost Controls/Change Orders</uuu_dm_publish_path>
      <title>2019建筑合同变更</title>
      <ugenChangeReasonMTL4000>天气原因,树木坍塌,车进不去</ugenChangeReasonMTL4000>
      <uuu_creation_date>05-28-2019 10:52:59</uuu_creation_date>
      <ugenProjectName></ugenProjectName>
      <uconContractNumberTXT16>00001</uconContractNumberTXT16>
      <uconContractBalanceCA>420000.00000000</uconContractBalanceCA>
      <uveMinorityBusCB>0</uveMinorityBusCB>
      <uveEmailTB120>liyanze@p6p3.com</uveEmailTB120>
      <ugenScopeOfWorkMTL4000>材料的运转</ugenScopeOfWorkMTL4000>
      <currencyid>CNY</currencyid>
      <uveVendorIDTB16>0002019</uveVendorIDTB16>
      <uvePrimaryContactTB64>蚕豆</uvePrimaryContactTB64>
      <uvePhoneTB64>908-534-1138</uvePhoneTB64>
      <ugenCityTXT50></ugenCityTXT50>
      <ucoBdgtChngReqAppTB></ucoBdgtChngReqAppTB>
      <refid>CON-000001</refid>
      <ugenBPAssignee>王 老屋</ugenBPAssignee>
      <uuu_user_email>kangpingchn@gmail.com</uuu_user_email>
      <Change_Order_Count_Value>1.00000000</Change_Order_Count_Value>
      <ucoCONumberDA>1.00000000</ucoCONumberDA>
      <Count_Of_Change_Orders>0.00000000</Count_Of_Change_Orders>
      <ugenDescriptionMTL4000></ugenDescriptionMTL4000>
</_bp>

考虑到Primavera Unifier 有近百个不同的BP (系统配置包自带),再不新增新的BP情况下,需要定义上百个这样的实体,其开发的工作量算是不小 。PS:Primavera Unifier未提供这样的实体资源包,必须自己定义对象 ,也难怪了,Unifier比较适合简单功能集成,复杂场景 .......

欢迎更多志同道合的朋友一起交流学习,联系mail: kangpingchn@gmail.com

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐