From 2b925276bf7fec8eee60bafabb0e78047db6ea50 Mon Sep 17 00:00:00 2001 From: Leo Date: Sun, 4 Jun 2023 16:03:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9SAP=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=B0=83=E7=94=A8=E6=97=B6=E7=9A=84=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E8=AE=B0=E5=BD=95=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/SapUploadController.cs | 474 +++++++++--------- 1 file changed, 247 insertions(+), 227 deletions(-) diff --git a/FactorySystemApi/Controllers/SapUploadController.cs b/FactorySystemApi/Controllers/SapUploadController.cs index ddf7db7..0d4f70c 100644 --- a/FactorySystemApi/Controllers/SapUploadController.cs +++ b/FactorySystemApi/Controllers/SapUploadController.cs @@ -30,76 +30,82 @@ namespace FactorySystemApi.Controllers List> bomList = JsonConvert.DeserializeObject>>(JsonConvert.SerializeObject(inParam)); int bomCount = bomList.Count; - return ExceptionHelper.TryReturnException(() => + if (bomCount > 0) { - if (bomCount > 0) + dt_pp079_req req = new dt_pp079_req() { - dt_pp079_req req = new dt_pp079_req() - { - SOURCESYS = "MCS", - TARGETSYS = "SAP", - UPDATETIME = DateTime.Now.ToString("yyyyMMddHHmmss"), - HEAD = new dt_pp079_reqHEAD[bomCount] - }; + SOURCESYS = "MCS", + TARGETSYS = "SAP", + UPDATETIME = DateTime.Now.ToString("yyyyMMddHHmmss"), + HEAD = new dt_pp079_reqHEAD[bomCount] + }; - for (int i = 0; i < bomCount; i++) - { + for (int i = 0; i < bomCount; i++) + { - Dictionary bom = bomList[i]; + Dictionary bom = bomList[i]; - dt_pp079_reqHEAD head = new dt_pp079_reqHEAD() - { - WERKS = bom.ContainsKey("工厂") ? bom["工厂"].ToString() : "", // 工厂 - DATUV = bom.ContainsKey("开始生效日期") ? bom["开始生效日期"].ToString() : "", // 开始生效日期 - STLAN = bom.ContainsKey("BOM用途") ? bom["BOM用途"].ToString() : "", // BOM用途 - STLST = bom.ContainsKey("BOM状态") ? bom["BOM状态"].ToString() : "", // BOM状态 - STKTX = bom.ContainsKey("可选文本") ? bom["可选文本"].ToString() : "", // 可选文本 - STLAL = bom.ContainsKey("可选BOM") ? bom["可选BOM"].ToString() : "", // 可选BOM - MATNR = bom.ContainsKey("父项编码") ? bom["父项编码"].ToString() : "", // 父项编码 - MAKTX = bom.ContainsKey("父项描述") ? bom["父项描述"].ToString() : "", // 父项描述 - BMENG = bom.ContainsKey("基本数量") ? bom["基本数量"].ToString() : "", // 基本数量 - BMEIN = bom.ContainsKey("基本单位") ? bom["基本单位"].ToString() : "", // 基本单位 - ITEM = new dt_pp079_reqHEADITEM[1] // BOM组件项目 - }; + dt_pp079_reqHEAD head = new dt_pp079_reqHEAD() + { + WERKS = bom.ContainsKey("工厂") ? bom["工厂"].ToString() : "", // 工厂 + DATUV = bom.ContainsKey("开始生效日期") ? bom["开始生效日期"].ToString() : "", // 开始生效日期 + STLAN = bom.ContainsKey("BOM用途") ? bom["BOM用途"].ToString() : "", // BOM用途 + STLST = bom.ContainsKey("BOM状态") ? bom["BOM状态"].ToString() : "", // BOM状态 + STKTX = bom.ContainsKey("可选文本") ? bom["可选文本"].ToString() : "", // 可选文本 + STLAL = bom.ContainsKey("可选BOM") ? bom["可选BOM"].ToString() : "", // 可选BOM + MATNR = bom.ContainsKey("父项编码") ? bom["父项编码"].ToString() : "", // 父项编码 + MAKTX = bom.ContainsKey("父项描述") ? bom["父项描述"].ToString() : "", // 父项描述 + BMENG = bom.ContainsKey("基本数量") ? bom["基本数量"].ToString() : "", // 基本数量 + BMEIN = bom.ContainsKey("基本单位") ? bom["基本单位"].ToString() : "", // 基本单位 + ITEM = new dt_pp079_reqHEADITEM[1] // BOM组件项目 + }; - req.HEAD[i] = head; - dt_pp079_reqHEADITEM item = new dt_pp079_reqHEADITEM() - { - POSNR = bom.ContainsKey("子项序号") ? bom["子项序号"].ToString() : "", // 子项序号 - POSTP = bom.ContainsKey("项目类别") ? bom["项目类别"].ToString() : "", // 项目类别 - IDNRK = bom.ContainsKey("子项编码") ? bom["子项编码"].ToString() : "", // 子项编码 - MAKTX = bom.ContainsKey("子件描述") ? bom["子件描述"].ToString() : "", // 子件描述 - MENGE = bom.ContainsKey("组件数量") ? bom["组件数量"].ToString() : "", // 组件数量 - MEINS = bom.ContainsKey("计量单位") ? bom["计量单位"].ToString() : "", // 计量单位 - AENNR = bom.ContainsKey("工程变更号") ? bom["工程变更号"].ToString() : "", // 工程变更号 - IDENT = bom.ContainsKey("项目ID") ? bom["项目ID"].ToString() : "", // 项目ID - BEIKZ = bom.ContainsKey("物料供应标识符") ? bom["物料供应标识符"].ToString() : "", // 物料供应标识符 - ERSKZ = bom.ContainsKey("备件标示") ? bom["备件标示"].ToString() : "", // 备件标示 - LGORT = bom.ContainsKey("生产仓储地点") ? bom["生产仓储地点"].ToString() : "", // 生产仓储地点 - AUSCH = bom.ContainsKey("组件损耗率") ? bom["组件损耗率"].ToString() : "", // 组件损耗率 - SANKA = bom.ContainsKey("成本核算标识相关") ? bom["成本核算标识相关"].ToString() : "", // 成本核算标识相关 - SANFE = bom.ContainsKey("生产相关") ? bom["生产相关"].ToString() : "", // 生产相关 - POTX1 = bom.ContainsKey("BOM项目文本") ? bom["BOM项目文本"].ToString() : "", // BOM项目文本1 - POTX2 = bom.ContainsKey("BOM项目文本2") ? bom["BOM项目文本2"].ToString() : "", // BOM项目文本2 - ALPGR = bom.ContainsKey("替代项目组") ? bom["替代项目组"].ToString() : "", // 替代项目组 - ALPRF = bom.ContainsKey("优先级") ? bom["优先级"].ToString() : "", // 优先级 - ALPST = bom.ContainsKey("策略") ? bom["策略"].ToString() : "", // 策略 - EWAHR = bom.ContainsKey("使用可能性") ? bom["使用可能性"].ToString() : "", // 使用可能性 - FMENG = bom.ContainsKey("固定损耗数量") ? bom["固定损耗数量"].ToString() : "", // 固定损耗数量 - KZKUP = "" // 联产品 - }; - req.HEAD[i].ITEM[0] = item; - } + req.HEAD[i] = head; + dt_pp079_reqHEADITEM item = new dt_pp079_reqHEADITEM() + { + POSNR = bom.ContainsKey("子项序号") ? bom["子项序号"].ToString() : "", // 子项序号 + POSTP = bom.ContainsKey("项目类别") ? bom["项目类别"].ToString() : "", // 项目类别 + IDNRK = bom.ContainsKey("子项编码") ? bom["子项编码"].ToString() : "", // 子项编码 + MAKTX = bom.ContainsKey("子件描述") ? bom["子件描述"].ToString() : "", // 子件描述 + MENGE = bom.ContainsKey("组件数量") ? bom["组件数量"].ToString() : "", // 组件数量 + MEINS = bom.ContainsKey("计量单位") ? bom["计量单位"].ToString() : "", // 计量单位 + AENNR = bom.ContainsKey("工程变更号") ? bom["工程变更号"].ToString() : "", // 工程变更号 + IDENT = bom.ContainsKey("项目ID") ? bom["项目ID"].ToString() : "", // 项目ID + BEIKZ = bom.ContainsKey("物料供应标识符") ? bom["物料供应标识符"].ToString() : "", // 物料供应标识符 + ERSKZ = bom.ContainsKey("备件标示") ? bom["备件标示"].ToString() : "", // 备件标示 + LGORT = bom.ContainsKey("生产仓储地点") ? bom["生产仓储地点"].ToString() : "", // 生产仓储地点 + AUSCH = bom.ContainsKey("组件损耗率") ? bom["组件损耗率"].ToString() : "", // 组件损耗率 + SANKA = bom.ContainsKey("成本核算标识相关") ? bom["成本核算标识相关"].ToString() : "", // 成本核算标识相关 + SANFE = bom.ContainsKey("生产相关") ? bom["生产相关"].ToString() : "", // 生产相关 + POTX1 = bom.ContainsKey("BOM项目文本") ? bom["BOM项目文本"].ToString() : "", // BOM项目文本1 + POTX2 = bom.ContainsKey("BOM项目文本2") ? bom["BOM项目文本2"].ToString() : "", // BOM项目文本2 + ALPGR = bom.ContainsKey("替代项目组") ? bom["替代项目组"].ToString() : "", // 替代项目组 + ALPRF = bom.ContainsKey("优先级") ? bom["优先级"].ToString() : "", // 优先级 + ALPST = bom.ContainsKey("策略") ? bom["策略"].ToString() : "", // 策略 + EWAHR = bom.ContainsKey("使用可能性") ? bom["使用可能性"].ToString() : "", // 使用可能性 + FMENG = bom.ContainsKey("固定损耗数量") ? bom["固定损耗数量"].ToString() : "", // 固定损耗数量 + KZKUP = "" // 联产品 + }; + req.HEAD[i].ITEM[0] = item; + } + return ExceptionHelper.TryReturnException(() => + { si_pp079_mcs_senderClient senderClient = new si_pp079_mcs_senderClient(); senderClient.ClientCredentials.UserName.UserName = AppSettingsHelper.GetAppSettingVal("Sap_Upload_UserName"); senderClient.ClientCredentials.UserName.Password = AppSettingsHelper.GetAppSettingVal("Sap_Password"); dt_pp079_resHEAD[] resData = senderClient.si_pp079_mcs_sender(req); apiResult.Data = 1; - } - - }, apiResult, Request, inParam); + }, apiResult, Request, req); + } + else + { + return ExceptionHelper.TryReturnException(() => + { + apiResult.Data = -1; + }, apiResult, Request, inParam); + } } /// @@ -114,54 +120,60 @@ namespace FactorySystemApi.Controllers List> productList = JsonConvert.DeserializeObject>>(JsonConvert.SerializeObject(inParam)); int productCount = productList.Count; - return ExceptionHelper.TryReturnException(() => + if (productCount > 0) { - if (productCount > 0) + dt_pp080_req req = new dt_pp080_req() { - dt_pp080_req req = new dt_pp080_req() - { - SOURCESYS = "MCS", - TARGETSYS = "SAP", - UPDATETIME = DateTime.Now.ToString("yyyyMMddHHmmss"), - HEAD = new dt_pp080_reqHEAD[productCount] - }; + SOURCESYS = "MCS", + TARGETSYS = "SAP", + UPDATETIME = DateTime.Now.ToString("yyyyMMddHHmmss"), + HEAD = new dt_pp080_reqHEAD[productCount] + }; - for (int i = 0; i < productCount; i++) - { + for (int i = 0; i < productCount; i++) + { - Dictionary bom = productList[i]; + Dictionary bom = productList[i]; - dt_pp080_reqHEAD head = new dt_pp080_reqHEAD() - { - WERKS = bom.ContainsKey("工厂") ? bom["工厂"].ToString() : "", // 工厂 - MATNR = bom.ContainsKey("物料") ? bom["物料"].ToString() : "", // 物料 - VERID = bom.ContainsKey("版本") ? bom["版本"].ToString() : "", // 版本 - TEXT1 = bom.ContainsKey("文本") ? bom["文本"].ToString() : "", // 文本 - ADATU = bom.ContainsKey("有效从") ? bom["有效从"].ToString() : "", // 有效从 - BDATU = bom.ContainsKey("有效至") ? bom["有效至"].ToString() : "", // 有效至 - BSTMI = bom.ContainsKey("批量从") ? bom["批量从"].ToString() : "", // 批量从 - BSTMA = bom.ContainsKey("批量到") ? bom["批量到"].ToString() : "", // 批量到 - STLAL = bom.ContainsKey("可选的BOM") ? bom["可选的BOM"].ToString() : "", // 可选的BOM - STLAN = bom.ContainsKey("BOM用途") ? bom["BOM用途"].ToString() : "", // BOM用途 - PLNTY = bom.ContainsKey("任务清单类型") ? bom["任务清单类型"].ToString() : "", // 任务清单类型 - PLNNR = bom.ContainsKey("组") ? bom["组"].ToString() : "", // 组 - ALNAL = bom.ContainsKey("组计数器") ? bom["组计数器"].ToString() : "", // 组计数器 - ALORT = bom.ContainsKey("收货地点") ? bom["收货地点"].ToString() : "", // 收货地点 - ELPRO = bom.ContainsKey("发货仓储地点") ? bom["发货仓储地点"].ToString() : "" // 发货仓储地点 - }; + dt_pp080_reqHEAD head = new dt_pp080_reqHEAD() + { + WERKS = bom.ContainsKey("工厂") ? bom["工厂"].ToString() : "", // 工厂 + MATNR = bom.ContainsKey("物料") ? bom["物料"].ToString() : "", // 物料 + VERID = bom.ContainsKey("版本") ? bom["版本"].ToString() : "", // 版本 + TEXT1 = bom.ContainsKey("文本") ? bom["文本"].ToString() : "", // 文本 + ADATU = bom.ContainsKey("有效从") ? bom["有效从"].ToString() : "", // 有效从 + BDATU = bom.ContainsKey("有效至") ? bom["有效至"].ToString() : "", // 有效至 + BSTMI = bom.ContainsKey("批量从") ? bom["批量从"].ToString() : "", // 批量从 + BSTMA = bom.ContainsKey("批量到") ? bom["批量到"].ToString() : "", // 批量到 + STLAL = bom.ContainsKey("可选的BOM") ? bom["可选的BOM"].ToString() : "", // 可选的BOM + STLAN = bom.ContainsKey("BOM用途") ? bom["BOM用途"].ToString() : "", // BOM用途 + PLNTY = bom.ContainsKey("任务清单类型") ? bom["任务清单类型"].ToString() : "", // 任务清单类型 + PLNNR = bom.ContainsKey("组") ? bom["组"].ToString() : "", // 组 + ALNAL = bom.ContainsKey("组计数器") ? bom["组计数器"].ToString() : "", // 组计数器 + ALORT = bom.ContainsKey("收货地点") ? bom["收货地点"].ToString() : "", // 收货地点 + ELPRO = bom.ContainsKey("发货仓储地点") ? bom["发货仓储地点"].ToString() : "" // 发货仓储地点 + }; - req.HEAD[i] = head; - } + req.HEAD[i] = head; + } + return ExceptionHelper.TryReturnException(() => + { si_pp080_mcs_senderClient senderClient = new si_pp080_mcs_senderClient(); senderClient.ClientCredentials.UserName.UserName = AppSettingsHelper.GetAppSettingVal("Sap_Upload_UserName"); senderClient.ClientCredentials.UserName.Password = AppSettingsHelper.GetAppSettingVal("Sap_Password"); dt_pp080_resHEAD[] resData = senderClient.si_pp080_mcs_sender(req); apiResult.Data = 1; - } - - }, apiResult, Request, inParam); + }, apiResult, Request, req); + } + else + { + return ExceptionHelper.TryReturnException(() => + { + apiResult.Data = -1; + }, apiResult, Request, inParam); + } } /// @@ -176,156 +188,164 @@ namespace FactorySystemApi.Controllers List> viewList = JsonConvert.DeserializeObject>>(JsonConvert.SerializeObject(inParam)); int viewCount = viewList.Count; - return ExceptionHelper.TryReturnException(() => + if (viewCount > 0) { - if (viewCount > 0) + dt_mm104_req req = new dt_mm104_req() { - dt_mm104_req req = new dt_mm104_req() + VIEW = new dt_mm104_reqVIEW() { - VIEW = new dt_mm104_reqVIEW() - { - ST1 = "1", // 选择登录视图-基本数据视图 - ST2 = "3", // 选择登录视图-分类视图 - ST3 = "2", // 选择登录视图-采购视图 - ST4 = "5", // 选择登录视图-存储视图 - ST6 = "4", // 选择登录视图-销售视图 - ST7 = "6", // 选择登录视图-MRP视图 - ST8 = "7", // 选择登录视图-工作计划视图 - ST9 = "9", // 选择登录视图-会计视图 - ST11 = "8" // 选择登录视图-质量管理视图 - }, + ST1 = "1", // 选择登录视图-基本数据视图 + ST2 = "3", // 选择登录视图-分类视图 + ST3 = "2", // 选择登录视图-采购视图 + ST4 = "5", // 选择登录视图-存储视图 + ST6 = "4", // 选择登录视图-销售视图 + ST7 = "6", // 选择登录视图-MRP视图 + ST8 = "7", // 选择登录视图-工作计划视图 + ST9 = "9", // 选择登录视图-会计视图 + ST11 = "8" // 选择登录视图-质量管理视图 + }, - DATA = new dt_mm104_reqDATA[viewCount] - }; + DATA = new dt_mm104_reqDATA[viewCount] + }; - for (int i = 0; i < viewCount; i++) - { + for (int i = 0; i < viewCount; i++) + { - Dictionary view = viewList[i]; + Dictionary view = viewList[i]; - dt_mm104_reqDATA data = new dt_mm104_reqDATA() - { - IND_SECTOR = view.ContainsKey("组织级别.行业领域") ? view["组织级别.行业领域"].ToString() : "", - MATL_TYPE = view.ContainsKey("组织级别.物料类型") ? view["组织级别.物料类型"].ToString() : "", - PLANT = view.ContainsKey("组织级别.工厂") ? view["组织级别.工厂"].ToString() : "", - STGE_LOC = view.ContainsKey("组织级别.库存地点") ? view["组织级别.库存地点"].ToString() : "", - SALES_ORG = view.ContainsKey("组织级别.销售组织") ? view["组织级别.销售组织"].ToString() : "", - DISTR_CHAN = view.ContainsKey("组织级别.分销渠道") ? view["组织级别.分销渠道"].ToString() : "", - MATERIAL = view.ContainsKey("基本视图.物料编号") ? view["基本视图.物料编号"].ToString() : "", - OLD_MAT_NO = view.ContainsKey("基本视图.试验号") ? view["基本视图.试验号"].ToString() : "", - BASE_UOM = view.ContainsKey("基本视图.基本计量") ? view["基本视图.基本计量"].ToString() : "", - MATL_DESC_ZH = view.ContainsKey("基本视图.物料描述") ? view["基本视图.物料描述"].ToString() : "", - MATL_GROUP = view.ContainsKey("基本视图.物料组") ? view["基本视图.物料组"].ToString() : "", - GROES = view.ContainsKey("基本视图.大小/量纲(规格)") ? view["基本视图.大小/量纲(规格)"].ToString() : "", - LONG_TEXT = view.ContainsKey("基本视图.物料长文本") ? view["基本视图.物料长文本"].ToString() : "", - LABOR = view.ContainsKey("基本视图.标识符:固体/液体") ? view["基本视图.标识符:固体/液体"].ToString() : "", - VOLUMEUNIT = view.ContainsKey("基本视图.体积单位") ? view["基本视图.体积单位"].ToString() : "", - GROSS_WT = view.ContainsKey("基本视图.毛重") ? view["基本视图.毛重"].ToString() : "", - NET_WEIGHT = view.ContainsKey("基本视图.净重") ? view["基本视图.净重"].ToString() : "", - UNIT_OF_WT = view.ContainsKey("基本视图.重量单位") ? view["基本视图.重量单位"].ToString() : "", - FERTH = view.ContainsKey("基本视图.fame号") ? view["基本视图.fame号"].ToString() : "", - VOLUME = view.ContainsKey("基本视图.业务量") ? view["基本视图.业务量"].ToString() : "", - PUR_GROUP = view.ContainsKey("采购视图.采购组") ? view["采购视图.采购组"].ToString() : "", - PO_UNIT = view.ContainsKey("采购视图.采购单位") ? view["采购视图.采购单位"].ToString() : "", - DENOMINATR = view.ContainsKey("采购视图.采购单位数量") ? view["采购视图.采购单位数量"].ToString() : "", - NUMERATOR = view.ContainsKey("采购视图.采购基本单位数量") ? view["采购视图.采购基本单位数量"].ToString() : "", - PUR_VALKEY = view.ContainsKey("采购视图.采购价值码") ? view["采购视图.采购价值码"].ToString() : "", - MMSTA = view.ContainsKey("采购视图.工厂特定状态") ? view["采购视图.工厂特定状态"].ToString() : "", - KAUTB = view.ContainsKey("采购视图.自动采购单标识") ? view["采购视图.自动采购单标识"].ToString() : "", - KORDB = view.ContainsKey("采购视图.货源清单") ? view["采购视图.货源清单"].ToString() : "", - CLASSTYPENEW = view.ContainsKey("分类视图.类别种类") ? view["分类视图.类别种类"].ToString() : "", - CLASSNUMNEW = view.ContainsKey("分类视图.类别") ? view["分类视图.类别"].ToString() : "", - DELYG_PLNT = view.ContainsKey("销售视图.交货工厂") ? view["销售视图.交货工厂"].ToString() : "", - TAXCLASS_1 = view.ContainsKey("销售视图.税金分类") ? view["销售视图.税金分类"].ToString() : "", - VERSG = view.ContainsKey("销售视图.物料统计组") ? view["销售视图.物料统计组"].ToString() : "", - VRKME = view.ContainsKey("销售视图.销售单位") ? view["销售视图.销售单位"].ToString() : "", - BASE_TOR = view.ContainsKey("销售视图.基本单位数量") ? view["销售视图.基本单位数量"].ToString() : "", - SALE_TOR = view.ContainsKey("销售视图.销售单位数量") ? view["销售视图.销售单位数量"].ToString() : "", - ACCT_ASSGT = view.ContainsKey("销售视图.科目设置组") ? view["销售视图.科目设置组"].ToString() : "", - ITEM_CAT = view.ContainsKey("销售视图.普通项目类别组") ? view["销售视图.普通项目类别组"].ToString() : "", - ITEM_CAT1 = view.ContainsKey("销售视图.项目类别组") ? view["销售视图.项目类别组"].ToString() : "", - AVAILCHECK = view.ContainsKey("销售视图.可用性检查") ? view["销售视图.可用性检查"].ToString() : "", - LOADINGGRP = view.ContainsKey("销售视图.装载组") ? view["销售视图.装载组"].ToString() : "", - ZJWLH = view.ContainsKey("销售视图.旧物料号") ? view["销售视图.旧物料号"].ToString() : "", - STOR_CONDS = view.ContainsKey("仓储视图.存储条件") ? view["仓储视图.存储条件"].ToString() : "", - XCHPF = view.ContainsKey("仓储视图.批次管理") ? view["仓储视图.批次管理"].ToString() : "", - MAXLZ = view.ContainsKey("仓储视图.最大存储期间") ? view["仓储视图.最大存储期间"].ToString() : "", - LZEIH = view.ContainsKey("仓储视图.时间单位") ? view["仓储视图.时间单位"].ToString() : "", - MINREMLIFE = view.ContainsKey("仓储视图.最小剩余货架寿命") ? view["仓储视图.最小剩余货架寿命"].ToString() : "", - SHELF_LIFE = view.ContainsKey("仓储视图.总货架寿命") ? view["仓储视图.总货架寿命"].ToString() : "", - PERIOD_IND_EXPIRATION_DATE = view.ContainsKey("仓储视图.SLED期间标识") ? view["仓储视图.SLED期间标识"].ToString() : "", - MRP_TYPE = view.ContainsKey("MRP1.MRP类型") ? view["MRP1.MRP类型"].ToString() : "", - REORDER_PT = view.ContainsKey("MRP1.再订货点") ? view["MRP1.再订货点"].ToString() : "", - FIXED_LOT = view.ContainsKey("MRP1.固定批量大小") ? view["MRP1.固定批量大小"].ToString() : "", - MAX_STOCK = view.ContainsKey("MRP1.最大库存水平") ? view["MRP1.最大库存水平"].ToString() : "", - MRP_CTRLER = view.ContainsKey("MRP1.MRP控制者") ? view["MRP1.MRP控制者"].ToString() : "", - LOTSIZEKEY = view.ContainsKey("MRP1.批量大小") ? view["MRP1.批量大小"].ToString() : "", - BSTMI = view.ContainsKey("MRP1.最小批量大小") ? view["MRP1.最小批量大小"].ToString() : "", - BSTMA = view.ContainsKey("MRP1.最大批量大小") ? view["MRP1.最大批量大小"].ToString() : "", - MRP_GROUP = view.ContainsKey("MRP1.MRP组") ? view["MRP1.MRP组"].ToString() : "", - BSTRF = view.ContainsKey("MRP1.舍入值") ? view["MRP1.舍入值"].ToString() : "", - ZCATEG = view.ContainsKey("MRP1.产品分类") ? view["MRP1.产品分类"].ToString() : "", - ZKUNNR = view.ContainsKey("MRP1.客户代码") ? view["MRP1.客户代码"].ToString() : "", - ZFLGMT = view.ContainsKey("MRP1.大小料") ? view["MRP1.大小料"].ToString() : "", - ZXFLAG = view.ContainsKey("MRP1.不计算缺料") ? view["MRP1.不计算缺料"].ToString() : "", - ZPFILM = view.ContainsKey("MRP1.压膜") ? view["MRP1.压膜"].ToString() : "", - ZSTOCK = view.ContainsKey("MRP1.安全库存带小样") ? view["MRP1.安全库存带小样"].ToString() : "", - ZRCALC = view.ContainsKey("MRP1.需求计算不考虑前置物料库存") ? view["MRP1.需求计算不考虑前置物料库存"].ToString() : "", - ZSMSTD = view.ContainsKey("MRP1.小料标准(小于)") ? view["MRP1.小料标准(小于)"].ToString() : "", - PROC_TYPE = view.ContainsKey("MRP2.采购类型") ? view["MRP2.采购类型"].ToString() : "", - SM_KEY = view.ContainsKey("MRP2.计划边际码") ? view["MRP2.计划边际码"].ToString() : "", - SOBSL = view.ContainsKey("MRP2.特殊采购类") ? view["MRP2.特殊采购类"].ToString() : "", - BACKFLUSH = view.ContainsKey("MRP2.反冲") ? view["MRP2.反冲"].ToString() : "", - INHSEPRODT = view.ContainsKey("MRP2.自制生产时间") ? view["MRP2.自制生产时间"].ToString() : "", - PLIFZ = view.ContainsKey("MRP2.计划交货时间") ? view["MRP2.计划交货时间"].ToString() : "", - WEBAZ = view.ContainsKey("MRP2.收货处理时间") ? view["MRP2.收货处理时间"].ToString() : "", - EISBE = view.ContainsKey("MRP2.安全库存") ? view["MRP2.安全库存"].ToString() : "", - LGPRO = view.ContainsKey("MRP2.发货库存地点") ? view["MRP2.发货库存地点"].ToString() : "", - SLOC_EXPRC = view.ContainsKey("MRP2.外部采购仓储地点") ? view["MRP2.外部采购仓储地点"].ToString() : "", - PLAN_STRGP = view.ContainsKey("MRP3.策略组") ? view["MRP3.策略组"].ToString() : "", - CONSUMMODE = view.ContainsKey("MRP3.消耗模式") ? view["MRP3.消耗模式"].ToString() : "", - FWD_CONS = view.ContainsKey("MRP3.向前消耗期间") ? view["MRP3.向前消耗期间"].ToString() : "", - VINT1 = view.ContainsKey("MRP3.逆向消耗期") ? view["MRP3.逆向消耗期"].ToString() : "", - MISKZ = view.ContainsKey("MRP3.混合MRP") ? view["MRP3.混合MRP"].ToString() : "", - MPR_AVAILCHECK = view.ContainsKey("MRP3.可用性检查") ? view["MRP3.可用性检查"].ToString() : "", - DEP_REQ_ID = view.ContainsKey("MRP4.单独或集中") ? view["MRP4.单独或集中"].ToString() : "", - DISCONTINU = view.ContainsKey("MRP4.非连续标识") ? view["MRP4.非连续标识"].ToString() : "", - EFF_O_DAY = view.ContainsKey("MRP4.生效期") ? view["MRP4.生效期"].ToString() : "", - FOLLOW_UP = view.ContainsKey("MRP4.后续的物料") ? view["MRP4.后续的物料"].ToString() : "", - SFCPF = view.ContainsKey("工作计划视图.生产计划参数文件") ? view["工作计划视图.生产计划参数文件"].ToString() : "", - UEETK = view.ContainsKey("工作计划视图.无限制过量交货") ? view["工作计划视图.无限制过量交货"].ToString() : "", - UNETO = view.ContainsKey("工作计划视图.不足交货允差") ? view["工作计划视图.不足交货允差"].ToString() : "", - UEETO = view.ContainsKey("工作计划视图.过度交货允差") ? view["工作计划视图.过度交货允差"].ToString() : "", - AUSME = view.ContainsKey("工作计划视图.发货单位") ? view["工作计划视图.发货单位"].ToString() : "", - MENGE_FH = view.ContainsKey("工作计划视图.发货单位数量") ? view["工作计划视图.发货单位数量"].ToString() : "", - MENGE_BS = view.ContainsKey("工作计划视图.发货基本单位数量") ? view["工作计划视图.发货基本单位数量"].ToString() : "", - INSPTYPE1 = view.ContainsKey("质检视图.检验类型1") ? view["质检视图.检验类型1"].ToString() : "", - INSPTYPE2 = view.ContainsKey("质检视图.检验类型2") ? view["质检视图.检验类型2"].ToString() : "", - INSPTYPE3 = view.ContainsKey("质检视图.检验类型3") ? view["质检视图.检验类型3"].ToString() : "", - INSPTYPE4 = view.ContainsKey("质检视图.检验类型4") ? view["质检视图.检验类型4"].ToString() : "", - INSPTYPE5 = view.ContainsKey("质检视图.检验类型5") ? view["质检视图.检验类型5"].ToString() : "", - INSPTYPE6 = view.ContainsKey("质检视图.检验类型6") ? view["质检视图.检验类型6"].ToString() : "", - PRICE_CTRL = view.ContainsKey("会计视图.价格控制") ? view["会计视图.价格控制"].ToString() : "", - ML_SETTLE = view.ContainsKey("会计视图.价格确定") ? view["会计视图.价格确定"].ToString() : "", - PRICE_UNIT = view.ContainsKey("会计视图.价格单位") ? view["会计视图.价格单位"].ToString() : "", - VAL_CLASS = view.ContainsKey("会计视图.评估分类") ? view["会计视图.评估分类"].ToString() : "", - EKLAS = view.ContainsKey("会计视图.VC: 销售订单库存") ? view["会计视图.VC: 销售订单库存"].ToString() : "", - STPRS = view.ContainsKey("会计视图.标准价格") ? view["会计视图.标准价格"].ToString() : "", - PROFIT_CTR = view.ContainsKey("会计视图.利润中心") ? view["会计视图.利润中心"].ToString() : "", - LOSGR = view.ContainsKey("会计视图.成本核算批量") ? view["会计视图.成本核算批量"].ToString() : "" - }; + dt_mm104_reqDATA data = new dt_mm104_reqDATA() + { + IND_SECTOR = view.ContainsKey("组织级别.行业领域") ? view["组织级别.行业领域"].ToString() : "", + MATL_TYPE = view.ContainsKey("组织级别.物料类型") ? view["组织级别.物料类型"].ToString() : "", + PLANT = view.ContainsKey("组织级别.工厂") ? view["组织级别.工厂"].ToString() : "", + STGE_LOC = view.ContainsKey("组织级别.库存地点") ? view["组织级别.库存地点"].ToString() : "", + SALES_ORG = view.ContainsKey("组织级别.销售组织") ? view["组织级别.销售组织"].ToString() : "", + DISTR_CHAN = view.ContainsKey("组织级别.分销渠道") ? view["组织级别.分销渠道"].ToString() : "", + MATERIAL = view.ContainsKey("基本视图.物料编号") ? view["基本视图.物料编号"].ToString() : "", + OLD_MAT_NO = view.ContainsKey("基本视图.试验号") ? view["基本视图.试验号"].ToString() : "", + BASE_UOM = view.ContainsKey("基本视图.基本计量") ? view["基本视图.基本计量"].ToString() : "", + MATL_DESC_ZH = view.ContainsKey("基本视图.物料描述") ? view["基本视图.物料描述"].ToString() : "", + MATL_GROUP = view.ContainsKey("基本视图.物料组") ? view["基本视图.物料组"].ToString() : "", + GROES = view.ContainsKey("基本视图.大小/量纲(规格)") ? view["基本视图.大小/量纲(规格)"].ToString() : "", + LONG_TEXT = view.ContainsKey("基本视图.物料长文本") ? view["基本视图.物料长文本"].ToString() : "", + LABOR = view.ContainsKey("基本视图.标识符:固体/液体") ? view["基本视图.标识符:固体/液体"].ToString() : "", + VOLUMEUNIT = view.ContainsKey("基本视图.体积单位") ? view["基本视图.体积单位"].ToString() : "", + GROSS_WT = view.ContainsKey("基本视图.毛重") ? view["基本视图.毛重"].ToString() : "", + NET_WEIGHT = view.ContainsKey("基本视图.净重") ? view["基本视图.净重"].ToString() : "", + UNIT_OF_WT = view.ContainsKey("基本视图.重量单位") ? view["基本视图.重量单位"].ToString() : "", + FERTH = view.ContainsKey("基本视图.fame号") ? view["基本视图.fame号"].ToString() : "", + VOLUME = view.ContainsKey("基本视图.业务量") ? view["基本视图.业务量"].ToString() : "", + PUR_GROUP = view.ContainsKey("采购视图.采购组") ? view["采购视图.采购组"].ToString() : "", + PO_UNIT = view.ContainsKey("采购视图.采购单位") ? view["采购视图.采购单位"].ToString() : "", + DENOMINATR = view.ContainsKey("采购视图.采购单位数量") ? view["采购视图.采购单位数量"].ToString() : "", + NUMERATOR = view.ContainsKey("采购视图.采购基本单位数量") ? view["采购视图.采购基本单位数量"].ToString() : "", + PUR_VALKEY = view.ContainsKey("采购视图.采购价值码") ? view["采购视图.采购价值码"].ToString() : "", + MMSTA = view.ContainsKey("采购视图.工厂特定状态") ? view["采购视图.工厂特定状态"].ToString() : "", + KAUTB = view.ContainsKey("采购视图.自动采购单标识") ? view["采购视图.自动采购单标识"].ToString() : "", + KORDB = view.ContainsKey("采购视图.货源清单") ? view["采购视图.货源清单"].ToString() : "", + CLASSTYPENEW = view.ContainsKey("分类视图.类别种类") ? view["分类视图.类别种类"].ToString() : "", + CLASSNUMNEW = view.ContainsKey("分类视图.类别") ? view["分类视图.类别"].ToString() : "", + DELYG_PLNT = view.ContainsKey("销售视图.交货工厂") ? view["销售视图.交货工厂"].ToString() : "", + TAXCLASS_1 = view.ContainsKey("销售视图.税金分类") ? view["销售视图.税金分类"].ToString() : "", + VERSG = view.ContainsKey("销售视图.物料统计组") ? view["销售视图.物料统计组"].ToString() : "", + VRKME = view.ContainsKey("销售视图.销售单位") ? view["销售视图.销售单位"].ToString() : "", + BASE_TOR = view.ContainsKey("销售视图.基本单位数量") ? view["销售视图.基本单位数量"].ToString() : "", + SALE_TOR = view.ContainsKey("销售视图.销售单位数量") ? view["销售视图.销售单位数量"].ToString() : "", + ACCT_ASSGT = view.ContainsKey("销售视图.科目设置组") ? view["销售视图.科目设置组"].ToString() : "", + ITEM_CAT = view.ContainsKey("销售视图.普通项目类别组") ? view["销售视图.普通项目类别组"].ToString() : "", + ITEM_CAT1 = view.ContainsKey("销售视图.项目类别组") ? view["销售视图.项目类别组"].ToString() : "", + AVAILCHECK = view.ContainsKey("销售视图.可用性检查") ? view["销售视图.可用性检查"].ToString() : "", + LOADINGGRP = view.ContainsKey("销售视图.装载组") ? view["销售视图.装载组"].ToString() : "", + ZJWLH = view.ContainsKey("销售视图.旧物料号") ? view["销售视图.旧物料号"].ToString() : "", + STOR_CONDS = view.ContainsKey("仓储视图.存储条件") ? view["仓储视图.存储条件"].ToString() : "", + XCHPF = view.ContainsKey("仓储视图.批次管理") ? view["仓储视图.批次管理"].ToString() : "", + MAXLZ = view.ContainsKey("仓储视图.最大存储期间") ? view["仓储视图.最大存储期间"].ToString() : "", + LZEIH = view.ContainsKey("仓储视图.时间单位") ? view["仓储视图.时间单位"].ToString() : "", + MINREMLIFE = view.ContainsKey("仓储视图.最小剩余货架寿命") ? view["仓储视图.最小剩余货架寿命"].ToString() : "", + SHELF_LIFE = view.ContainsKey("仓储视图.总货架寿命") ? view["仓储视图.总货架寿命"].ToString() : "", + PERIOD_IND_EXPIRATION_DATE = view.ContainsKey("仓储视图.SLED期间标识") ? view["仓储视图.SLED期间标识"].ToString() : "", + MRP_TYPE = view.ContainsKey("MRP1.MRP类型") ? view["MRP1.MRP类型"].ToString() : "", + REORDER_PT = view.ContainsKey("MRP1.再订货点") ? view["MRP1.再订货点"].ToString() : "", + FIXED_LOT = view.ContainsKey("MRP1.固定批量大小") ? view["MRP1.固定批量大小"].ToString() : "", + MAX_STOCK = view.ContainsKey("MRP1.最大库存水平") ? view["MRP1.最大库存水平"].ToString() : "", + MRP_CTRLER = view.ContainsKey("MRP1.MRP控制者") ? view["MRP1.MRP控制者"].ToString() : "", + LOTSIZEKEY = view.ContainsKey("MRP1.批量大小") ? view["MRP1.批量大小"].ToString() : "", + BSTMI = view.ContainsKey("MRP1.最小批量大小") ? view["MRP1.最小批量大小"].ToString() : "", + BSTMA = view.ContainsKey("MRP1.最大批量大小") ? view["MRP1.最大批量大小"].ToString() : "", + MRP_GROUP = view.ContainsKey("MRP1.MRP组") ? view["MRP1.MRP组"].ToString() : "", + BSTRF = view.ContainsKey("MRP1.舍入值") ? view["MRP1.舍入值"].ToString() : "", + ZCATEG = view.ContainsKey("MRP1.产品分类") ? view["MRP1.产品分类"].ToString() : "", + ZKUNNR = view.ContainsKey("MRP1.客户代码") ? view["MRP1.客户代码"].ToString() : "", + ZFLGMT = view.ContainsKey("MRP1.大小料") ? view["MRP1.大小料"].ToString() : "", + ZXFLAG = view.ContainsKey("MRP1.不计算缺料") ? view["MRP1.不计算缺料"].ToString() : "", + ZPFILM = view.ContainsKey("MRP1.压膜") ? view["MRP1.压膜"].ToString() : "", + ZSTOCK = view.ContainsKey("MRP1.安全库存带小样") ? view["MRP1.安全库存带小样"].ToString() : "", + ZRCALC = view.ContainsKey("MRP1.需求计算不考虑前置物料库存") ? view["MRP1.需求计算不考虑前置物料库存"].ToString() : "", + ZSMSTD = view.ContainsKey("MRP1.小料标准(小于)") ? view["MRP1.小料标准(小于)"].ToString() : "", + PROC_TYPE = view.ContainsKey("MRP2.采购类型") ? view["MRP2.采购类型"].ToString() : "", + SM_KEY = view.ContainsKey("MRP2.计划边际码") ? view["MRP2.计划边际码"].ToString() : "", + SOBSL = view.ContainsKey("MRP2.特殊采购类") ? view["MRP2.特殊采购类"].ToString() : "", + BACKFLUSH = view.ContainsKey("MRP2.反冲") ? view["MRP2.反冲"].ToString() : "", + INHSEPRODT = view.ContainsKey("MRP2.自制生产时间") ? view["MRP2.自制生产时间"].ToString() : "", + PLIFZ = view.ContainsKey("MRP2.计划交货时间") ? view["MRP2.计划交货时间"].ToString() : "", + WEBAZ = view.ContainsKey("MRP2.收货处理时间") ? view["MRP2.收货处理时间"].ToString() : "", + EISBE = view.ContainsKey("MRP2.安全库存") ? view["MRP2.安全库存"].ToString() : "", + LGPRO = view.ContainsKey("MRP2.发货库存地点") ? view["MRP2.发货库存地点"].ToString() : "", + SLOC_EXPRC = view.ContainsKey("MRP2.外部采购仓储地点") ? view["MRP2.外部采购仓储地点"].ToString() : "", + PLAN_STRGP = view.ContainsKey("MRP3.策略组") ? view["MRP3.策略组"].ToString() : "", + CONSUMMODE = view.ContainsKey("MRP3.消耗模式") ? view["MRP3.消耗模式"].ToString() : "", + FWD_CONS = view.ContainsKey("MRP3.向前消耗期间") ? view["MRP3.向前消耗期间"].ToString() : "", + VINT1 = view.ContainsKey("MRP3.逆向消耗期") ? view["MRP3.逆向消耗期"].ToString() : "", + MISKZ = view.ContainsKey("MRP3.混合MRP") ? view["MRP3.混合MRP"].ToString() : "", + MPR_AVAILCHECK = view.ContainsKey("MRP3.可用性检查") ? view["MRP3.可用性检查"].ToString() : "", + DEP_REQ_ID = view.ContainsKey("MRP4.单独或集中") ? view["MRP4.单独或集中"].ToString() : "", + DISCONTINU = view.ContainsKey("MRP4.非连续标识") ? view["MRP4.非连续标识"].ToString() : "", + EFF_O_DAY = view.ContainsKey("MRP4.生效期") ? view["MRP4.生效期"].ToString() : "", + FOLLOW_UP = view.ContainsKey("MRP4.后续的物料") ? view["MRP4.后续的物料"].ToString() : "", + SFCPF = view.ContainsKey("工作计划视图.生产计划参数文件") ? view["工作计划视图.生产计划参数文件"].ToString() : "", + UEETK = view.ContainsKey("工作计划视图.无限制过量交货") ? view["工作计划视图.无限制过量交货"].ToString() : "", + UNETO = view.ContainsKey("工作计划视图.不足交货允差") ? view["工作计划视图.不足交货允差"].ToString() : "", + UEETO = view.ContainsKey("工作计划视图.过度交货允差") ? view["工作计划视图.过度交货允差"].ToString() : "", + AUSME = view.ContainsKey("工作计划视图.发货单位") ? view["工作计划视图.发货单位"].ToString() : "", + MENGE_FH = view.ContainsKey("工作计划视图.发货单位数量") ? view["工作计划视图.发货单位数量"].ToString() : "", + MENGE_BS = view.ContainsKey("工作计划视图.发货基本单位数量") ? view["工作计划视图.发货基本单位数量"].ToString() : "", + INSPTYPE1 = view.ContainsKey("质检视图.检验类型1") ? view["质检视图.检验类型1"].ToString() : "", + INSPTYPE2 = view.ContainsKey("质检视图.检验类型2") ? view["质检视图.检验类型2"].ToString() : "", + INSPTYPE3 = view.ContainsKey("质检视图.检验类型3") ? view["质检视图.检验类型3"].ToString() : "", + INSPTYPE4 = view.ContainsKey("质检视图.检验类型4") ? view["质检视图.检验类型4"].ToString() : "", + INSPTYPE5 = view.ContainsKey("质检视图.检验类型5") ? view["质检视图.检验类型5"].ToString() : "", + INSPTYPE6 = view.ContainsKey("质检视图.检验类型6") ? view["质检视图.检验类型6"].ToString() : "", + PRICE_CTRL = view.ContainsKey("会计视图.价格控制") ? view["会计视图.价格控制"].ToString() : "", + ML_SETTLE = view.ContainsKey("会计视图.价格确定") ? view["会计视图.价格确定"].ToString() : "", + PRICE_UNIT = view.ContainsKey("会计视图.价格单位") ? view["会计视图.价格单位"].ToString() : "", + VAL_CLASS = view.ContainsKey("会计视图.评估分类") ? view["会计视图.评估分类"].ToString() : "", + EKLAS = view.ContainsKey("会计视图.VC: 销售订单库存") ? view["会计视图.VC: 销售订单库存"].ToString() : "", + STPRS = view.ContainsKey("会计视图.标准价格") ? view["会计视图.标准价格"].ToString() : "", + PROFIT_CTR = view.ContainsKey("会计视图.利润中心") ? view["会计视图.利润中心"].ToString() : "", + LOSGR = view.ContainsKey("会计视图.成本核算批量") ? view["会计视图.成本核算批量"].ToString() : "" + }; - req.DATA[i] = data; - } + req.DATA[i] = data; + } + return ExceptionHelper.TryReturnException(() => + { si_mm104_mcs_senderClient senderClient = new si_mm104_mcs_senderClient(); senderClient.ClientCredentials.UserName.UserName = AppSettingsHelper.GetAppSettingVal("Sap_Upload_UserName"); senderClient.ClientCredentials.UserName.Password = AppSettingsHelper.GetAppSettingVal("Sap_Password"); dt_mm104_res resData = senderClient.si_mm104_mcs_sender(req); apiResult.Data = 1; - } - }, apiResult, Request, inParam); + }, apiResult, Request, req); + } + else + { + return ExceptionHelper.TryReturnException(() => + { + apiResult.Data = -1; + }, apiResult, Request, inParam); + } + } } } \ No newline at end of file