U8标准接口API使用-生产订单

U8标准接口API使用-生产订单_第1张图片

打开这个东西-API资源管理器

找到生产订单接口

U8标准接口API使用-生产订单_第2张图片

查看使用说明

U8标准接口API使用-生产订单_第3张图片 

 

新建VS项目

 如下U8标准接口API使用-生产订单_第4张图片

注意步骤

   //第二步:构造环境上下文对象,传入login,并按需设置其它上下文参数
                U8EnvContext envContext = new U8EnvContext();
                envContext.U8Login = u8Login;

                //第三步:设置API地址标识(Url)
                //当前API:新增生产订单的地址标识为:U8API/MOrder/MOrderAdd
                U8ApiAddress myApiAddress = new U8ApiAddress("U8API/MOrder/MOrderAdd");

                //第四步:构造APIBroker
                U8ApiBroker broker = new U8ApiBroker(myApiAddress, envContext);

    ExtensionBusinessEntity extbo = broker.GetExtBoEntity("extbo");

填写主表字段如下

      extbo[0]["MoId"] = "1000000001"; //主键,int类型
                extbo[0]["MoCode"] = ccode; //生产订单号(必须),string类型

                /***************************** 非必输字段 *****************************/
                extbo[0]["CreateUser"] = cUser; //制单人(导出用),string类型
                extbo[0]["CreateDate"] = DateTime.Now; //制单日期(导出用),DateTime类型
                extbo[0]["CreateTime"] = DateTime.Now;//制单时间(导出用),DateTime类型
                extbo[0]["ModifyUser"] = ""; //修改人(导出用),string类型
                extbo[0]["ModifyDate"] = ""; //修改日期(导出用),DateTime类型
                extbo[0]["ModifyTime"] = ""; //修改时间(导出用),DateTime类型

填写子表字段如下

   ExtensionBusinessEntity Mom_OrderDetail = extbo[0].SubEntity["Mom_OrderDetail"];
    Mom_OrderDetail[0]["DMoClass"] = list.DMoClass; //类型(1标准/2非标准/3重复计划),int类型
                    Mom_OrderDetail[0]["DInvCode"] = list.DInvCode.Trim(); //物料编码(必须),string类型 "B010-0237002"
                    Mom_OrderDetail[0]["DStartDate"] = list.DStartDate.Trim(); //开工日期(必须),DateTime类型 "2020-09-20"
                    Mom_OrderDetail[0]["DDueDate"] = list.DDueDate.Trim(); //完工日期(必须),DateTime类型 "2020-09-30"
                    Mom_OrderDetail[0]["DQty"] = list.DQty; //生产数量(必须),double类型  "666"
                    Mom_OrderDetail[0]["DSortSeq"] = DSortSeq; //行号(必须),int类型
                    DSortSeq++;
                    /***************************** 非必输字段 *****************************/
                    Mom_OrderDetail[0]["DInvAddCode"] = ""; //物料代号(导出用),string类型
                    Mom_OrderDetail[0]["DInvName"] = ""; //物料名称(导出用),string类型
                    Mom_OrderDetail[0]["DInvStd"] = ""; //物料规格(导出用),string类型
                    Mom_OrderDetail[0]["DInvFree_1"] = ""; //物料自由项1,string类型
                    Mom_OrderDetail[0]["DInvFree_2"] = ""; //物料自由项2,string类型
                    Mom_OrderDetail[0]["DInvFree_3"] = ""; //物料自由项3,string类型
                    Mom_OrderDetail[0]["DInvFree_4"] = ""; //物料自由项4,string类型
                    Mom_OrderDetail[0]["DInvFree_5"] = ""; //物料自由项5,string类型
                    Mom_OrderDetail[0]["DInvFree_6"] = ""; //物料自由项6,string类型
                    Mom_OrderDetail[0]["DInvFree_7"] = ""; //物料自由项7,string类型
                    Mom_OrderDetail[0]["DInvFree_8"] = ""; //物料自由项8,string类型
                    Mom_OrderDetail[0]["DInvFree_9"] = ""; //物料自由项9,string类型
                    Mom_OrderDetail[0]["DInvFree_10"] = ""; //物料自由项10,string类型
                    Mom_OrderDetail[0]["DInvDefine_1"] = ""; //物料自定义项1,string类型
                    Mom_OrderDetail[0]["DInvDefine_2"] = ""; //物料自定义项2,string类型
                    Mom_OrderDetail[0]["DInvDefine_3"] = ""; //物料自定义项3,string类型
                    Mom_OrderDetail[0]["DInvDefine_4"] = ""; //物料自定义项4,string类型
                    Mom_OrderDetail[0]["DInvDefine_5"] = ""; //物料自定义项5,string类型
                    Mom_OrderDetail[0]["DInvDefine_6"] = ""; //物料自定义项6,string类型
                    Mom_OrderDetail[0]["DInvDefine_7"] = ""; //物料自定义项7,string类型
                    Mom_OrderDetail[0]["DInvDefine_8"] = ""; //物料自定义项8,string类型
                    Mom_OrderDetail[0]["DInvDefine_9"] = ""; //物料自定义项9,string类型
                    Mom_OrderDetail[0]["DInvDefine_10"] = ""; //物料自定义项10,string类型
                    Mom_OrderDetail[0]["DInvDefine_11"] = ""; //物料自定义项11,int类型
                    Mom_OrderDetail[0]["DInvDefine_12"] = ""; //物料自定义项12,int类型
                    Mom_OrderDetail[0]["DInvDefine_13"] = ""; //物料自定义项13,double类型
                    Mom_OrderDetail[0]["DInvDefine_14"] = ""; //物料自定义项14,double类型
                    Mom_OrderDetail[0]["DInvDefine_15"] = ""; //物料自定义项15,DateTime类型
                    Mom_OrderDetail[0]["DInvDefine_16"] = ""; //物料自定义项16,DateTime类型
                    Mom_OrderDetail[0]["DMoTypeCode"] = list.DMoTypeCode.Trim(); //订单类别,string类型
                    Mom_OrderDetail[0]["DMoTypeDesc"] = ""; //类别说明(导出用),string类型
                    Mom_OrderDetail[0]["DStatus"] = ""; //状态,int类型
                    Mom_OrderDetail[0]["DLeadTime"] = ""; //提前期,int类型
                    Mom_OrderDetail[0]["DInvUnitName"] = ""; //计量单位名称(导出用),string类型
                    Mom_OrderDetail[0]["DMrpQty"] = ""; //MRP净算量,double类型
                    Mom_OrderDetail[0]["DChangeRate"] = ""; //换算率,double类型
                    Mom_OrderDetail[0]["DAuxUnitCode"] = ""; //辅助单位,string类型
                    Mom_OrderDetail[0]["DAuxUnitName"] = ""; //辅助单位名称(导出用),string类型
                    Mom_OrderDetail[0]["DAuxQty"] = ""; //辅助生产量(导出用),double类型
                    Mom_OrderDetail[0]["DMoLotCode"] = list.MoLotCode.Trim(); //生产批号,string类型
                    Mom_OrderDetail[0]["DWhCode"] = list.DWhCode.Trim(); //预入仓库,string类型
                    Mom_OrderDetail[0]["DWhName"] = ""; //仓库名称(导出用),string类型
                    Mom_OrderDetail[0]["DMDeptCode"] = list.DMDeptCode.Trim(); //生产部门,string类型
                    Mom_OrderDetail[0]["DDeptName"] = ""; //部门名称(导出用),string类型
                    Mom_OrderDetail[0]["DBomType"] = list.BomType.Trim();  //BOM选择(导出用),int类型
                    Mom_OrderDetail[0]["DBomVersion"] = list.BomVersion.Trim(); //BOM版本号(导出用),int类型
                    Mom_OrderDetail[0]["DBomVersionDesc"] = ""; //BOM版本说明(导出用),string类型
                    Mom_OrderDetail[0]["DBomVersionDate"] = ""; //BOM版本日期(导出用),DateTime类型
                    Mom_OrderDetail[0]["DBomIdentCode"] = ""; //BOM替代标识(导出用),string类型
                    Mom_OrderDetail[0]["DBomIdentDesc"] = ""; //BOM替代说明(导出用),string类型
                    Mom_OrderDetail[0]["DRoutingType"] = ""; //工艺路线选择,int类型
                    Mom_OrderDetail[0]["DRoutingVersion"] = ""; //工艺路线版本号,int类型
                    Mom_OrderDetail[0]["DRoutingVersionDesc"] = ""; //工艺路线版本说明(导出用),string类型
                    Mom_OrderDetail[0]["DRoutingVersionDate"] = ""; //工艺路线版本日期,DateTime类型
                    Mom_OrderDetail[0]["DRoutingIdentCode"] = ""; //工艺路线替代标识,string类型
                    Mom_OrderDetail[0]["DRoutingIdentDesc"] = ""; //工艺路线替代说明(导出用),string类型
                    Mom_OrderDetail[0]["DRemark"] = list.DRemark.Trim(); //备注,string类型
                    Mom_OrderDetail[0]["DDefine_22"] = "是"; //表体自定义项1,string类型  Define22代表ROHS标志,默认给"是"
                    Mom_OrderDetail[0]["DDefine_23"] = list.Define23.Trim(); //表体自定义项2,string类型
                    Mom_OrderDetail[0]["DDefine_24"] = list.Define24.Trim(); //表体自定义项3,string类型

最后填写子件表

  ExtensionBusinessEntity Mom_MoAllocate = Mom_OrderDetail[0].SubEntity["Mom_MoAllocate"];
 

 

     /****************************** 必输字段 ******************************/
                                Mom_MoAllocate[i]["DSortSeq"] = dataRow["SortSeq"]; //子件行号(必须),int类型
                                Mom_MoAllocate[i]["DOpSeq"] = dataRow["OpSeq"]; //工序行号,string类型
                                Mom_MoAllocate[i]["DInvCode"] = dataRow["子件编码"]; //子件编码(必须),string类型
                                Mom_MoAllocate[i]["DBaseQtyN"] = dataRow["基本用量_分子"]; //基本用量,double类型
                                Mom_MoAllocate[i]["DBaseQtyD"] = dataRow["基本用量_分母"]; //基础数量,double类型
                                Mom_MoAllocate[i]["DStartDemDate"] = list.DStartDate.Trim(); //需求日期,DateTime类型

                                 //第六步:调用API
                if (!broker.Invoke())
                {
                    //错误处理
                    Exception apiEx = broker.GetException();
                    if (apiEx != null)
                    {
                        if (apiEx is MomSysException)
                        {
                            MomSysException sysEx = apiEx as MomSysException;
                            //Console.WriteLine("系统异常:" + sysEx.Message);
                            // _return = PubConstant.CombReturn(false, "ERROR81", "系统异常:" + sysEx.Message);
                            m.Message = "系统异常:" + sysEx.Message;
                            m.Return = "False";
                            m.modid = "-1";
                            m.MoCode = "-1";
                            _return = GetMOM_moallocate(m, "-1");
                        }
                        else if (apiEx is MomBizException)
                        {
                            MomBizException bizEx = apiEx as MomBizException;
                            //Console.WriteLine("API异常:" + bizEx.Message);
                            //_return = PubConstant.CombReturn(false, "ERROR82", "API异常:" + bizEx.Message);
                            m.Message = "API异常:" + bizEx.Message;
                            m.Return = "False";
                            m.modid = "-1";
                            m.MoCode = "-1";
                            _return = GetMOM_moallocate(m, "-1");
                            //todo:异常处理
                        }
                        //异常原因
                        String exReason = broker.GetExceptionString();
                        if (exReason.Length != 0)
                        {
                            //_return = PubConstant.CombReturn(false, "ERROR83", "异常原因:" + exReason);
                            m.Message = "异常原因:" + exReason;
                            m.Return = "False";
                            m.modid = "-1";
                            m.MoCode = "-1";
                            _return = GetMOM_moallocate(m, "-1");
                            //Console.WriteLine("异常原因:" + exReason);
                        }
                    }
                    //结束本次调用,释放API资源
                    broker.Release();
                    return _return;
                }

  //第七步:获取返回结果

                //获取返回值
                //获取普通返回值。此返回值数据类型为System.Boolean,此参数按值传递,表示返回值: true:成功, false: 失败
                System.Boolean result = Convert.ToBoolean(broker.GetReturnValue());

                获取普通OUT参数errMsg。此返回值数据类型为System.String,在使用该参数之前,请判断是否为空
                //System.String errMsgRet = broker.GetResult("errMsg") as System.String;

                获取普通INOUT参数VouchId。此返回值数据类型为System.String,在使用该参数之前,请判断是否为空
                //System.String VouchIdRet = broker.GetResult("VouchId") as System.String;
                System.String cCodeRet = broker.GetResult("cCode") as System.String;
                System.String VouchIdRet = "";

                获取普通OUT参数domMsg。此返回值数据类型为MSXML2.IXMLDOMDocument2,在使用该参数之前,请判断是否为空
                //MSXML2.IXMLDOMDocument2 domMsgRet = (MSXML2.IXMLDOMDocument2)broker.GetResult("domMsg");

                //结束本次调用,释放API资源
                broker.Release();
                netLogin.ShutDown();
                u8Login.ShutDown();

    if (!result){失败}else{成功}

你可能感兴趣的:(U8,C#,java,开发语言)