You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

379 lines
36 KiB

using FactorySystemBll;
using FactorySystemCommon;
using FactorySystemModel.ResponseModel;
using System;
using System.Collections.Generic;
using System.Web.Http;
using Newtonsoft.Json;
using FactorySystemApi.Sap_ProductVersion;
using FactorySystemApi.Sap_Bom;
using FactorySystemApi.Sap_ViewMaterial;
namespace FactorySystemApi.Controllers
{
/// <summary>
/// SAP数据上传接口
/// </summary>
[UserLoginFilter]
public class SapUploadController : ApiController
{
/// <summary>
/// 通用BOM上载
/// </summary>
[HttpPost]
public ApiResult UploadBom(List<object> inParam)
{
ApiResult apiResult = new ApiResult();
apiResult.Data = -1;
List<Dictionary<string, object>> bomList = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(JsonConvert.SerializeObject(inParam));
int bomCount = bomList.Count;
if (bomCount > 0)
{
dt_pp079_req req = new dt_pp079_req()
{
SOURCESYS = "MCS",
TARGETSYS = "SAP",
UPDATETIME = DateTime.Now.ToString("yyyyMMddHHmmss"),
HEAD = new dt_pp079_reqHEAD[bomCount]
};
for (int i = 0; i < bomCount; i++)
{
Dictionary<string, object> bom = bomList[i];
dt_pp079_reqHEAD head = new dt_pp079_reqHEAD()
{
WERKS = bom.ContainsKey("工厂") && bom["工厂"].ToString()!="(空)" ? bom["工厂"].ToString() : "", // 工厂
DATUV = bom.ContainsKey("开始生效日期") && bom["开始生效日期"].ToString() != "(空)" ? bom["开始生效日期"].ToString() : "", // 开始生效日期
STLAN = bom.ContainsKey("BOM用途") && bom["BOM用途"].ToString() != "(空)" ? bom["BOM用途"].ToString() : "", // BOM用途
STLST = bom.ContainsKey("BOM状态") && bom["BOM状态"].ToString() != "(空)" ? bom["BOM状态"].ToString() : "", // BOM状态
STKTX = bom.ContainsKey("可选文本") && bom["可选文本"].ToString() != "(空)" ? bom["可选文本"].ToString() : "", // 可选文本
STLAL = bom.ContainsKey("可选BOM") && bom["可选BOM"].ToString() != "(空)" ? bom["可选BOM"].ToString() : "", // 可选BOM
MATNR = bom.ContainsKey("父项编码") && bom["父项编码"].ToString() != "(空)" ? bom["父项编码"].ToString() : "", // 父项编码
MAKTX = bom.ContainsKey("父项描述") && bom["父项描述"].ToString() != "(空)" ? bom["父项描述"].ToString() : "", // 父项描述
BMENG = bom.ContainsKey("基本数量") && bom["基本数量"].ToString() != "(空)" ? bom["基本数量"].ToString() : "", // 基本数量
BMEIN = bom.ContainsKey("基本单位") && bom["基本单位"].ToString() != "(空)" ? 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() != "(空)" ? bom["子项序号"].ToString() : "", // 子项序号
POSTP = bom.ContainsKey("项目类别") && bom["项目类别"].ToString() != "(空)" ? bom["项目类别"].ToString() : "", // 项目类别
IDNRK = bom.ContainsKey("子项编码") && bom["子项编码"].ToString() != "(空)" ? bom["子项编码"].ToString() : "", // 子项编码
MAKTX = bom.ContainsKey("子件描述") && bom["子件描述"].ToString() != "(空)" ? bom["子件描述"].ToString() : "", // 子件描述
MENGE = bom.ContainsKey("组件数量") && bom["组件数量"].ToString() != "(空)" ? bom["组件数量"].ToString() : "", // 组件数量
MEINS = bom.ContainsKey("计量单位") && bom["计量单位"].ToString() != "(空)" ? bom["计量单位"].ToString() : "", // 计量单位
AENNR = bom.ContainsKey("工程变更号") && bom["工程变更号"].ToString() != "(空)" ? bom["工程变更号"].ToString() : "", // 工程变更号
IDENT = bom.ContainsKey("项目ID") && bom["项目ID"].ToString() != "(空)" ? bom["项目ID"].ToString() : "", // 项目ID
BEIKZ = bom.ContainsKey("物料供应标识符") && bom["物料供应标识符"].ToString() != "(空)" ? bom["物料供应标识符"].ToString() : "", // 物料供应标识符
ERSKZ = bom.ContainsKey("备件标示") && bom["备件标示"].ToString() != "(空)" ? bom["备件标示"].ToString() : "", // 备件标示
LGORT = bom.ContainsKey("生产仓储地点") && bom["生产仓储地点"].ToString() != "(空)" ? bom["生产仓储地点"].ToString() : "", // 生产仓储地点
AUSCH = bom.ContainsKey("组件损耗率") && bom["组件损耗率"].ToString() != "(空)" ? bom["组件损耗率"].ToString() : "", // 组件损耗率
SANKA = bom.ContainsKey("成本核算标识相关") && bom["成本核算标识相关"].ToString() != "(空)" ? bom["成本核算标识相关"].ToString() : "", // 成本核算标识相关
SANFE = bom.ContainsKey("生产相关") && bom["生产相关"].ToString() != "(空)" ? bom["生产相关"].ToString() : "", // 生产相关
POTX1 = bom.ContainsKey("BOM项目文本") && bom["BOM项目文本"].ToString() != "(空)" ? bom["BOM项目文本"].ToString() : "", // BOM项目文本1
POTX2 = bom.ContainsKey("BOM项目文本2") && bom["BOM项目文本2"].ToString() != "(空)" ? bom["BOM项目文本2"].ToString() : "", // BOM项目文本2
ALPGR = bom.ContainsKey("替代项目组") && bom["替代项目组"].ToString() != "(空)" ? bom["替代项目组"].ToString() : "", // 替代项目组
ALPRF = bom.ContainsKey("优先级") && bom["优先级"].ToString() != "(空)" ? bom["优先级"].ToString() : "", // 优先级
ALPST = bom.ContainsKey("策略") && bom["策略"].ToString() != "(空)" ? bom["策略"].ToString() : "", // 策略
EWAHR = bom.ContainsKey("使用可能性") && bom["使用可能性"].ToString() != "(空)" ? bom["使用可能性"].ToString() : "", // 使用可能性
FMENG = bom.ContainsKey("固定损耗数量") && bom["固定损耗数量"].ToString() != "(空)" ? 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, req);
}
else
{
return ExceptionHelper.TryReturnException(() =>
{
apiResult.Data = -1;
}, apiResult, Request, inParam);
}
}
/// <summary>
/// 通用生产版本上载
/// </summary>
[HttpPost]
public ApiResult UploadProductVersion(List<object> inParam)
{
ApiResult apiResult = new ApiResult();
apiResult.Data = -1;
List<Dictionary<string, object>> productList = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(JsonConvert.SerializeObject(inParam));
int productCount = productList.Count;
if (productCount > 0)
{
dt_pp080_req req = new dt_pp080_req()
{
SOURCESYS = "MCS",
TARGETSYS = "SAP",
UPDATETIME = DateTime.Now.ToString("yyyyMMddHHmmss"),
HEAD = new dt_pp080_reqHEAD[productCount]
};
for (int i = 0; i < productCount; i++)
{
Dictionary<string, object> bom = productList[i];
dt_pp080_reqHEAD head = new dt_pp080_reqHEAD()
{
WERKS = bom.ContainsKey("工厂")&& bom["工厂"].ToString()!="(空)" ? bom["工厂"].ToString() : "", // 工厂
MATNR = bom.ContainsKey("物料") && bom["物料"].ToString() != "(空)" ? bom["物料"].ToString() : "", // 物料
VERID = bom.ContainsKey("版本") && bom["版本"].ToString() != "(空)" ? bom["版本"].ToString() : "", // 版本
TEXT1 = bom.ContainsKey("文本") && bom["文本"].ToString() != "(空)" ? bom["文本"].ToString() : "", // 文本
ADATU = bom.ContainsKey("有效从") && bom["有效从"].ToString() != "(空)" ? bom["有效从"].ToString() : "", // 有效从
BDATU = bom.ContainsKey("有效至") && bom["有效至"].ToString() != "(空)" ? bom["有效至"].ToString() : "", // 有效至
BSTMI = bom.ContainsKey("批量从") && bom["批量从"].ToString() != "(空)" ? bom["批量从"].ToString() : "", // 批量从
BSTMA = bom.ContainsKey("批量到") && bom["批量到"].ToString() != "(空)" ? bom["批量到"].ToString() : "", // 批量到
STLAL = bom.ContainsKey("可选的BOM") && bom["可选的BOM"].ToString() != "(空)" ? bom["可选的BOM"].ToString() : "", // 可选的BOM
STLAN = bom.ContainsKey("BOM用途") && bom["BOM用途"].ToString() != "(空)" ? bom["BOM用途"].ToString() : "", // BOM用途
PLNTY = bom.ContainsKey("任务清单类型") && bom["任务清单类型"].ToString() != "(空)" ? bom["任务清单类型"].ToString() : "", // 任务清单类型
PLNNR = bom.ContainsKey("组") && bom["组"].ToString() != "(空)" ? bom["组"].ToString() : "", // 组
ALNAL = bom.ContainsKey("组计数器") && bom["组计数器"].ToString() != "(空)" ? bom["组计数器"].ToString() : "", // 组计数器
ALORT = bom.ContainsKey("收货地点") && bom["收货地点"].ToString() != "(空)" ? bom["收货地点"].ToString() : "", // 收货地点
ELPRO = bom.ContainsKey("发货仓储地点") && bom["发货仓储地点"].ToString() != "(空)" ? bom["发货仓储地点"].ToString() : "" // 发货仓储地点
};
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, req);
}
else
{
return ExceptionHelper.TryReturnException(() =>
{
apiResult.Data = -1;
}, apiResult, Request, inParam);
}
}
/// <summary>
/// 物料上载
/// </summary>
[HttpPost]
public ApiResult UploadViewMaterial(List<object> inParam)
{
ApiResult apiResult = new ApiResult();
apiResult.Data = -1;
List<Dictionary<string, object>> viewList = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(JsonConvert.SerializeObject(inParam));
int viewCount = viewList.Count;
if (viewCount > 0)
{
dt_mm104_req req = new dt_mm104_req()
{
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 = "X", // 选择登录视图-基本数据视图
ST2 = "X", // 选择登录视图-分类视图
ST3 = "X", // 选择登录视图-采购视图
ST4 = "X", // 选择登录视图-存储视图
ST6 = "X", // 选择登录视图-销售视图
ST7 = "X", // 选择登录视图-MRP视图
ST8 = "X", // 选择登录视图-工作计划视图
ST9 = "X", // 选择登录视图-会计视图
ST11 = "X" // 选择登录视图-质量管理视图
},
DATA = new dt_mm104_reqDATA[viewCount]
};
for (int i = 0; i < viewCount; i++)
{
Dictionary<string, object> view = viewList[i];
dt_mm104_reqDATA data = new dt_mm104_reqDATA()
{
IND_SECTOR = view.ContainsKey("组织级别.行业领域") && view["组织级别.行业领域"].ToString()!="(空)" ? view["组织级别.行业领域"].ToString() : "",
MATL_TYPE = view.ContainsKey("组织级别.物料类型")&& view["组织级别.物料类型"].ToString()!= "(空)" ? view["组织级别.物料类型"].ToString() : "",
PLANT = view.ContainsKey("组织级别.工厂") && view["组织级别.工厂"].ToString() != "(空)" ? view["组织级别.工厂"].ToString() : "",
STGE_LOC = view.ContainsKey("组织级别.库存地点") && view["组织级别.库存地点"].ToString() != "(空)" ? view["组织级别.库存地点"].ToString() : "",
SALES_ORG = view.ContainsKey("组织级别.销售组织") && view["组织级别.销售组织"].ToString() != "(空)" ? view["组织级别.销售组织"].ToString() : "",
DISTR_CHAN = view.ContainsKey("组织级别.分销渠道") && view["组织级别.分销渠道"].ToString() != "(空)" ? view["组织级别.分销渠道"].ToString() : "",
MATERIAL = view.ContainsKey("基本视图.物料编号") && view["基本视图.物料编号"].ToString() != "(空)" ? view["基本视图.物料编号"].ToString() : "",
OLD_MAT_NO = view.ContainsKey("基本视图.试验号") && view["基本视图.试验号"].ToString() != "(空)" ? view["基本视图.试验号"].ToString() : "",
BASE_UOM = view.ContainsKey("基本视图.基本计量") && view["基本视图.基本计量"].ToString() != "(空)" ? view["基本视图.基本计量"].ToString() : "",
MATL_DESC_ZH = view.ContainsKey("基本视图.物料描述") && view["基本视图.物料描述"].ToString() != "(空)" ? view["基本视图.物料描述"].ToString() : "",
MATL_GROUP = view.ContainsKey("基本视图.物料组") && view["基本视图.物料组"].ToString() != "(空)" ? view["基本视图.物料组"].ToString() : "",
GROES = view.ContainsKey("基本视图.大小/量纲(规格)") && view["基本视图.大小/量纲(规格)"].ToString() != "(空)" ? view["基本视图.大小/量纲(规格)"].ToString() : "",
LONG_TEXT = view.ContainsKey("基本视图.物料长文本") && view["基本视图.物料长文本"].ToString() != "(空)" ? view["基本视图.物料长文本"].ToString() : "",
LABOR = view.ContainsKey("基本视图.标识符:固体/液体") && view["基本视图.标识符:固体/液体"].ToString() != "(空)" ? view["基本视图.标识符:固体/液体"].ToString() : "",
VOLUMEUNIT = view.ContainsKey("基本视图.体积单位") && view["基本视图.体积单位"].ToString() != "(空)" ? view["基本视图.体积单位"].ToString() : "",
GROSS_WT = view.ContainsKey("基本视图.毛重") && view["基本视图.毛重"].ToString() != "(空)" ? view["基本视图.毛重"].ToString() : "",
NET_WEIGHT = view.ContainsKey("基本视图.净重") && view["基本视图.净重"].ToString() != "(空)" ? view["基本视图.净重"].ToString() : "",
UNIT_OF_WT = view.ContainsKey("基本视图.重量单位") && view["基本视图.重量单位"].ToString() != "(空)" ? view["基本视图.重量单位"].ToString() : "",
FERTH = view.ContainsKey("基本视图.fame号") && view["基本视图.fame号"].ToString() != "(空)" ? view["基本视图.fame号"].ToString() : "",
VOLUME = view.ContainsKey("基本视图.业务量") && view["基本视图.业务量"].ToString() != "(空)" ? view["基本视图.业务量"].ToString() : "",
PUR_GROUP = view.ContainsKey("采购视图.采购组") && view["采购视图.采购组"].ToString() != "(空)" ? view["采购视图.采购组"].ToString() : "",
PO_UNIT = view.ContainsKey("采购视图.采购单位") && view["采购视图.采购单位"].ToString() != "(空)" ? view["采购视图.采购单位"].ToString() : "",
DENOMINATR = view.ContainsKey("采购视图.采购单位数量") && view["采购视图.采购单位数量"].ToString() != "(空)" ? view["采购视图.采购单位数量"].ToString() : "",
NUMERATOR = view.ContainsKey("采购视图.采购基本单位数量") && view["采购视图.采购基本单位数量"].ToString() != "(空)" ? view["采购视图.采购基本单位数量"].ToString() : "",
PUR_VALKEY = view.ContainsKey("采购视图.采购价值码") && view["采购视图.采购价值码"].ToString() != "(空)" ? view["采购视图.采购价值码"].ToString() : "",
MMSTA = view.ContainsKey("采购视图.工厂特定状态") && view["采购视图.工厂特定状态"].ToString() != "(空)" ? view["采购视图.工厂特定状态"].ToString() : "",
KAUTB = view.ContainsKey("采购视图.自动采购单标识") && view["采购视图.自动采购单标识"].ToString() != "(空)" ? view["采购视图.自动采购单标识"].ToString() : "",
KORDB = view.ContainsKey("采购视图.货源清单") && view["采购视图.货源清单"].ToString() != "(空)" ? view["采购视图.货源清单"].ToString() : "",
CLASSTYPENEW = view.ContainsKey("分类视图.类别种类") && view["分类视图.类别种类"].ToString() != "(空)" ? view["分类视图.类别种类"].ToString() : "",
CLASSNUMNEW = view.ContainsKey("分类视图.类别") && view["分类视图.类别"].ToString() != "(空)" ? view["分类视图.类别"].ToString() : "",
DELYG_PLNT = view.ContainsKey("销售视图.交货工厂") && view["销售视图.交货工厂"].ToString() != "(空)" ? view["销售视图.交货工厂"].ToString() : "",
TAXCLASS_1 = view.ContainsKey("销售视图.税金分类") && view["销售视图.税金分类"].ToString() != "(空)" ? view["销售视图.税金分类"].ToString() : "",
VERSG = view.ContainsKey("销售视图.物料统计组") && view["销售视图.物料统计组"].ToString() != "(空)" ? view["销售视图.物料统计组"].ToString() : "",
VRKME = view.ContainsKey("销售视图.销售单位") && view["销售视图.销售单位"].ToString() != "(空)" ? view["销售视图.销售单位"].ToString() : "",
BASE_TOR = view.ContainsKey("销售视图.基本单位数量") && view["销售视图.基本单位数量"].ToString() != "(空)" ? view["销售视图.基本单位数量"].ToString() : "",
SALE_TOR = view.ContainsKey("销售视图.销售单位数量") && view["销售视图.销售单位数量"].ToString() != "(空)" ? view["销售视图.销售单位数量"].ToString() : "",
ACCT_ASSGT = view.ContainsKey("销售视图.科目设置组") && view["销售视图.科目设置组"].ToString() != "(空)" ? view["销售视图.科目设置组"].ToString() : "",
ITEM_CAT = view.ContainsKey("销售视图.普通项目类别组") && view["销售视图.普通项目类别组"].ToString() != "(空)" ? view["销售视图.普通项目类别组"].ToString() : "",
ITEM_CAT1 = view.ContainsKey("销售视图.项目类别组") && view["销售视图.项目类别组"].ToString() != "(空)" ? view["销售视图.项目类别组"].ToString() : "",
AVAILCHECK = view.ContainsKey("销售视图.可用性检查") && view["销售视图.可用性检查"].ToString() != "(空)" ? view["销售视图.可用性检查"].ToString() : "",
LOADINGGRP = view.ContainsKey("销售视图.装载组") && view["销售视图.装载组"].ToString() != "(空)" ? view["销售视图.装载组"].ToString() : "",
ZJWLH = view.ContainsKey("销售视图.旧物料号") && view["销售视图.旧物料号"].ToString() != "(空)" ? view["销售视图.旧物料号"].ToString() : "",
STOR_CONDS = view.ContainsKey("仓储视图.存储条件") && view["仓储视图.存储条件"].ToString() != "(空)" ? view["仓储视图.存储条件"].ToString() : "",
XCHPF = view.ContainsKey("仓储视图.批次管理") && view["仓储视图.批次管理"].ToString() != "(空)" ? view["仓储视图.批次管理"].ToString() : "",
MAXLZ = view.ContainsKey("仓储视图.最大存储期间") && view["仓储视图.最大存储期间"].ToString() != "(空)" ? view["仓储视图.最大存储期间"].ToString() : "",
LZEIH = view.ContainsKey("仓储视图.时间单位") && view["仓储视图.时间单位"].ToString() != "(空)" ? view["仓储视图.时间单位"].ToString() : "",
MINREMLIFE = view.ContainsKey("仓储视图.最小剩余货架寿命") && view["仓储视图.最小剩余货架寿命"].ToString() != "(空)" ? view["仓储视图.最小剩余货架寿命"].ToString() : "",
SHELF_LIFE = view.ContainsKey("仓储视图.总货架寿命") && view["仓储视图.总货架寿命"].ToString() != "(空)" ? view["仓储视图.总货架寿命"].ToString() : "",
PERIOD_IND_EXPIRATION_DATE = view.ContainsKey("仓储视图.SLED期间标识") && view["仓储视图.SLED期间标识"].ToString() != "(空)" ? view["仓储视图.SLED期间标识"].ToString() : "",
MRP_TYPE = view.ContainsKey("MRP1.MRP类型") && view["MRP1.MRP类型"].ToString() != "(空)" ? view["MRP1.MRP类型"].ToString() : "",
REORDER_PT = view.ContainsKey("MRP1.再订货点") && view["MRP1.再订货点"].ToString() != "(空)" ? view["MRP1.再订货点"].ToString() : "",
FIXED_LOT = view.ContainsKey("MRP1.固定批量大小") && view["MRP1.固定批量大小"].ToString() != "(空)" ? view["MRP1.固定批量大小"].ToString() : "",
MAX_STOCK = view.ContainsKey("MRP1.最大库存水平") && view["MRP1.最大库存水平"].ToString() != "(空)" ? view["MRP1.最大库存水平"].ToString() : "",
MRP_CTRLER = view.ContainsKey("MRP1.MRP控制者") && view["MRP1.MRP控制者"].ToString() != "(空)" ? view["MRP1.MRP控制者"].ToString() : "",
LOTSIZEKEY = view.ContainsKey("MRP1.批量大小") && view["MRP1.最小批量大小"].ToString() != "(空)" ? view["MRP1.批量大小"].ToString() : "",
BSTMI = view.ContainsKey("MRP1.最小批量大小") && view["MRP1.最小批量大小"].ToString() != "(空)" ? view["MRP1.最小批量大小"].ToString() : "",
BSTMA = view.ContainsKey("MRP1.最大批量大小") && view["MRP1.最大批量大小"].ToString() != "(空)" ? view["MRP1.最大批量大小"].ToString() : "",
MRP_GROUP = view.ContainsKey("MRP1.MRP组") && view["MRP1.MRP组"].ToString() != "(空)" ? view["MRP1.MRP组"].ToString() : "",
BSTRF = view.ContainsKey("MRP1.舍入值") && view["MRP1.舍入值"].ToString() != "(空)" ? view["MRP1.舍入值"].ToString() : "",
ZCATEG = view.ContainsKey("MRP1.产品分类") && view["MRP1.产品分类"].ToString() != "(空)" ? view["MRP1.产品分类"].ToString() : "",
ZKUNNR = view.ContainsKey("MRP1.客户代码") && view["MRP1.客户代码"].ToString() != "(空)" ? view["MRP1.客户代码"].ToString() : "",
ZFLGMT = view.ContainsKey("MRP1.大小料") && view["MRP1.大小料"].ToString() != "(空)" ? view["MRP1.大小料"].ToString() : "",
ZXFLAG = view.ContainsKey("MRP1.不计算缺料") && view["MRP1.不计算缺料"].ToString() != "(空)" ? view["MRP1.不计算缺料"].ToString() : "",
ZPFILM = view.ContainsKey("MRP1.压膜") && view["MRP1.压膜"].ToString() != "(空)" ? view["MRP1.压膜"].ToString() : "",
ZSTOCK = view.ContainsKey("MRP1.安全库存带小样") && view["MRP1.安全库存带小样"].ToString() != "(空)" ? view["MRP1.安全库存带小样"].ToString() : "",
ZRCALC = view.ContainsKey("MRP1.需求计算不考虑前置物料库存") && view["MRP1.需求计算不考虑前置物料库存"].ToString() != "(空)" ? view["MRP1.需求计算不考虑前置物料库存"].ToString() : "",
ZSMSTD = view.ContainsKey("MRP1.小料标准(小于)") && view["MRP1.小料标准(小于)"].ToString() != "(空)" ? view["MRP1.小料标准(小于)"].ToString() : "",
PROC_TYPE = view.ContainsKey("MRP2.采购类型") && view["MRP2.采购类型"].ToString() != "(空)" ? view["MRP2.采购类型"].ToString() : "",
SM_KEY = view.ContainsKey("MRP2.计划边际码") && view["MRP2.计划边际码"].ToString() != "(空)" ? view["MRP2.计划边际码"].ToString() : "",
SOBSL = view.ContainsKey("MRP2.特殊采购类") && view["MRP2.特殊采购类"].ToString() != "(空)" ? view["MRP2.特殊采购类"].ToString() : "",
BACKFLUSH = view.ContainsKey("MRP2.反冲") && view["MRP2.反冲"].ToString() != "(空)" ? view["MRP2.反冲"].ToString() : "",
INHSEPRODT = view.ContainsKey("MRP2.自制生产时间") && view["MRP2.自制生产时间"].ToString() != "(空)" ? view["MRP2.自制生产时间"].ToString() : "",
PLIFZ = view.ContainsKey("MRP2.计划交货时间") && view["MRP2.计划交货时间"].ToString() != "(空)" ? view["MRP2.计划交货时间"].ToString() : "",
WEBAZ = view.ContainsKey("MRP2.收货处理时间") && view["MRP2.收货处理时间"].ToString() != "(空)" ? view["MRP2.收货处理时间"].ToString() : "",
EISBE = view.ContainsKey("MRP2.安全库存") && view["MRP2.安全库存"].ToString() != "(空)" ? view["MRP2.安全库存"].ToString() : "",
LGPRO = view.ContainsKey("MRP2.发货库存地点") && view["MRP2.发货库存地点"].ToString() != "(空)" ? view["MRP2.发货库存地点"].ToString() : "",
SLOC_EXPRC = view.ContainsKey("MRP2.外部采购仓储地点") && view["MRP2.外部采购仓储地点"].ToString() != "(空)" ? view["MRP2.外部采购仓储地点"].ToString() : "",
PLAN_STRGP = view.ContainsKey("MRP3.策略组") && view["MRP3.策略组"].ToString() != "(空)" ? view["MRP3.策略组"].ToString() : "",
CONSUMMODE = view.ContainsKey("MRP3.消耗模式") && view["MRP3.消耗模式"].ToString() != "(空)" ? view["MRP3.消耗模式"].ToString() : "",
FWD_CONS = view.ContainsKey("MRP3.向前消耗期间") && view["MRP3.向前消耗期间"].ToString() != "(空)" ? view["MRP3.向前消耗期间"].ToString() : "",
VINT1 = view.ContainsKey("MRP3.逆向消耗期") && view["MRP3.逆向消耗期"].ToString() != "(空)" ? view["MRP3.逆向消耗期"].ToString() : "",
MISKZ = view.ContainsKey("MRP3.混合MRP") && view["MRP3.混合MRP"].ToString() != "(空)" ? view["MRP3.混合MRP"].ToString() : "",
MPR_AVAILCHECK = view.ContainsKey("MRP3.可用性检查") && view["MRP3.可用性检查"].ToString() != "(空)" ? view["MRP3.可用性检查"].ToString() : "",
DEP_REQ_ID = view.ContainsKey("MRP4.单独或集中") && view["MRP4.单独或集中"].ToString() != "(空)" ? view["MRP4.单独或集中"].ToString() : "",
DISCONTINU = view.ContainsKey("MRP4.非连续标识") && view["MRP4.非连续标识"].ToString() != "(空)" ? view["MRP4.非连续标识"].ToString() : "",
EFF_O_DAY = view.ContainsKey("MRP4.生效期") && view["MRP4.生效期"].ToString() != "(空)" ? view["MRP4.生效期"].ToString() : "",
FOLLOW_UP = view.ContainsKey("MRP4.后续的物料") && view["MRP4.后续的物料"].ToString() != "(空)" ? view["MRP4.后续的物料"].ToString() : "",
SFCPF = view.ContainsKey("工作计划视图.生产计划参数文件") && view["工作计划视图.生产计划参数文件"].ToString() != "(空)" ? view["工作计划视图.生产计划参数文件"].ToString() : "",
UEETK = view.ContainsKey("工作计划视图.无限制过量交货") && view["工作计划视图.无限制过量交货"].ToString() != "(空)" ? view["工作计划视图.无限制过量交货"].ToString() : "",
UNETO = view.ContainsKey("工作计划视图.不足交货允差") && view["工作计划视图.不足交货允差"].ToString() != "(空)" ? view["工作计划视图.不足交货允差"].ToString() : "",
UEETO = view.ContainsKey("工作计划视图.过度交货允差") && view["工作计划视图.过度交货允差"].ToString() != "(空)" ? view["工作计划视图.过度交货允差"].ToString() : "",
AUSME = view.ContainsKey("工作计划视图.发货单位") && view["工作计划视图.发货单位"].ToString() != "(空)" ? view["工作计划视图.发货单位"].ToString() : "",
MENGE_FH = view.ContainsKey("工作计划视图.发货单位数量") && view["工作计划视图.发货单位数量"].ToString() != "(空)" ? view["工作计划视图.发货单位数量"].ToString() : "",
MENGE_BS = view.ContainsKey("工作计划视图.发货基本单位数量") && view["工作计划视图.发货基本单位数量"].ToString() != "(空)" ? view["工作计划视图.发货基本单位数量"].ToString() : "",
INSPTYPE1 = view.ContainsKey("质检视图.检验类型1") && view["质检视图.检验类型1"].ToString() != "(空)" ? view["质检视图.检验类型1"].ToString() : "",
INSPTYPE2 = view.ContainsKey("质检视图.检验类型2") && view["质检视图.检验类型2"].ToString() != "(空)" ? view["质检视图.检验类型2"].ToString() : "",
INSPTYPE3 = view.ContainsKey("质检视图.检验类型3") && view["质检视图.检验类型3"].ToString() != "(空)" ? view["质检视图.检验类型3"].ToString() : "",
INSPTYPE4 = view.ContainsKey("质检视图.检验类型4") && view["质检视图.检验类型4"].ToString() != "(空)" ? view["质检视图.检验类型4"].ToString() : "",
INSPTYPE5 = view.ContainsKey("质检视图.检验类型5") && view["质检视图.检验类型5"].ToString() != "(空)" ? view["质检视图.检验类型5"].ToString() : "",
INSPTYPE6 = view.ContainsKey("质检视图.检验类型6") && view["质检视图.检验类型6"].ToString() != "(空)" ? view["质检视图.检验类型6"].ToString() : "",
PRICE_CTRL = view.ContainsKey("会计视图.价格控制") && view["会计视图.价格控制"].ToString() != "(空)" ? view["会计视图.价格控制"].ToString() : "",
ML_SETTLE = view.ContainsKey("会计视图.价格确定") && view["会计视图.价格确定"].ToString() != "(空)" ? view["会计视图.价格确定"].ToString() : "",
PRICE_UNIT = view.ContainsKey("会计视图.价格单位") && view["会计视图.价格单位"].ToString() != "(空)" ? view["会计视图.价格单位"].ToString() : "",
VAL_CLASS = view.ContainsKey("会计视图.评估分类") && view["会计视图.评估分类"].ToString() != "(空)" ? view["会计视图.评估分类"].ToString() : "",
EKLAS = view.ContainsKey("会计视图.VC: 销售订单库存") && view["会计视图.VC: 销售订单库存"].ToString() != "(空)" ? view["会计视图.VC: 销售订单库存"].ToString() : "",
STPRS = view.ContainsKey("会计视图.标准价格") && view["会计视图.标准价格"].ToString() != "(空)" ? view["会计视图.标准价格"].ToString() : "",
PROFIT_CTR = view.ContainsKey("会计视图.利润中心") && view["会计视图.利润中心"].ToString() != "(空)" ? view["会计视图.利润中心"].ToString() : "",
LOSGR = view.ContainsKey("会计视图.成本核算批量") && view["会计视图.成本核算批量"].ToString() != "(空)" ? view["会计视图.成本核算批量"].ToString() : ""
};
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;
if (resData.DATA.Length > 0)
{
foreach (dt_mm104_resDATA data in resData.DATA)
{
if ("E".Equals(data.MSGTY))
{
apiResult.Data = -2;
apiResult.Message = data.MSGTX;
break;
}
}
}
}, apiResult, Request, req);
}
else
{
return ExceptionHelper.TryReturnException(() =>
{
apiResult.Data = -1;
}, apiResult, Request, inParam);
}
}
}
}