Camstar调用服务代码实例

发布时间 2023-09-28 14:17:07作者: 我的胖猫叫咪咪

范例1:

public static void MoveStd(string mainBoardBarcode, string ResourceName, string Result, string Step, out SAPReceiveBody receiveBody)
        {
            receiveBody = new SAPReceiveBody();

            MoveStdService moveStdService = new MoveStdService(new UserProfile(Constants.CamstarAccount, Constants.CamstarPwd, utcOffset));
            MoveStd moveStdTxn = new MoveStd();
            moveStdTxn.Container = new ContainerRef(mainBoardBarcode);
            moveStdTxn.Resource = new NamedObjectRef(ResourceName);
            moveStdTxn.h3c_InspectionResult = new NamedObjectRef(Result);
            moveStdTxn.HY_Spec = new RevisionedObjectRef(Step);


            ParametricData parametricData = new ParametricData()
            {
                FieldAction = Camstar.WCF.ObjectStack.Action.Create,
                CDOTypeName = "DataPointSummary"
            };
            DataPointDetails[] details= new DataPointDetails[1];
            DataPointDetails dataPointDetailItem = new DataPointDetails() {
                FieldAction = Camstar.WCF.ObjectStack.Action.Create,

                ListItemAction = ListItemAction.Add,
                CDOTypeName = "DataPointDetails",
                DataPoint = new NamedSubentityRef("重量"),
                DataType = DataTypeEnum.Float,
                DataValue = "9",//值
            };
            details[1] = dataPointDetailItem;

            //moveStdTxn.ParametricDataList = details;
            //我发现可以写:
            moveStdTxn.ParametricData = dataPointDetailItem;

            moveStdService.BeginTransaction();
            moveStdService.ExecuteTransaction(moveStdTxn);
            ResultStatus resultStatus = moveStdService.CommitTransaction();
            receiveBody.STATUS = resultStatus.IsSuccess ? "S" : "E";
            if (!resultStatus.IsSuccess)
            {
                new LogHelper("CamstarTransaction").Info(">>>Container: " + mainBoardBarcode + ",MoveStd失败>>");
                receiveBody.MESS = resultStatus.ExceptionData.Description;
                new LogHelper("CamstarTransaction").Error("MoveStd:" + receiveBody.MESS);
                return;
            }
            receiveBody.MESS = "移动下一站成功!";
            new LogHelper("CamstarTransaction").Info(">>>Container: " + mainBoardBarcode + ",MoveStd成功>>>");
        }