物料路线增加生产工艺路线视图和生产版本视图

master
Leo 2 years ago
parent fd777c8c60
commit 238561e612

@ -206,17 +206,29 @@ namespace FactorySystemApi.Controllers
if (list != null && list.Count > 0)
{
foreach(MaterialTeamworkRow row in list)
foreach (MaterialTeamworkRow row in list)
{
row.FIsShowView = false;
row.FIsDownloadView = false;
row.FIsProcessShowView = false;
row.FIsProcessDownloadView = false;
row.FIsVersionShowView = false;
row.FIsVersionDownloadView = false;
int factoryId = row.FCreateFactoryID;
List<object> viewPowers = powerList.FindAll(p => ((IDictionary<string, object>)p)["FFactoryID"].ToString().Equals(factoryId.ToString()) && ((IDictionary<string, object>)p)["FFunctionID"].ToString().Equals("1")).ToList();
List<object> operationPowers = powerList.FindAll(p => ((IDictionary<string, object>)p)["FFactoryID"].ToString().Equals(factoryId.ToString()) && ((IDictionary<string, object>)p)["FFunctionID"].ToString().Equals("6")).ToList();
List<object> processViewPowers = powerList.FindAll(p => ((IDictionary<string, object>)p)["FFactoryID"].ToString().Equals(factoryId.ToString()) && ((IDictionary<string, object>)p)["FFunctionID"].ToString().Equals("3")).ToList();
List<object> processOperationPowers = powerList.FindAll(p => ((IDictionary<string, object>)p)["FFactoryID"].ToString().Equals(factoryId.ToString()) && ((IDictionary<string, object>)p)["FFunctionID"].ToString().Equals("8")).ToList();
List<object> versionViewPowers = powerList.FindAll(p => ((IDictionary<string, object>)p)["FFactoryID"].ToString().Equals(factoryId.ToString()) && ((IDictionary<string, object>)p)["FFunctionID"].ToString().Equals("4")).ToList();
List<object> versionOperationPowers = powerList.FindAll(p => ((IDictionary<string, object>)p)["FFactoryID"].ToString().Equals(factoryId.ToString()) && ((IDictionary<string, object>)p)["FFunctionID"].ToString().Equals("9")).ToList();
if (viewPowers != null && viewPowers.Count > 0) row.FIsShowView = true;
if (operationPowers != null && operationPowers.Count > 0) row.FIsDownloadView = true;
if (processViewPowers != null && processViewPowers.Count > 0) row.FIsProcessShowView = true;
if (processOperationPowers != null && processOperationPowers.Count > 0) row.FIsProcessDownloadView = true;
if (versionViewPowers != null && versionViewPowers.Count > 0) row.FIsVersionShowView = true;
if (versionOperationPowers != null && versionOperationPowers.Count > 0) row.FIsVersionDownloadView = true;
}
}
@ -881,6 +893,382 @@ namespace FactorySystemApi.Controllers
}
/// <summary>
/// 获取视图信息
/// </summary>
[HttpPost]
public ApiResult GetTeamworkView(Dictionary<string, object> inParam)
{
ApiResult apiResult = new ApiResult();
return ExceptionHelper.TryReturnException(() =>
{
if (inParam.ContainsKey("FTeamID"))
{
inParam.TryGetValue("FViewType", out object objType);
int intType = null == objType ? (int)Constant.TeamViewType. : int.Parse(objType.ToString());
string selectSql = "", joinSql = "", whereSql = string.Format("TFS_FMaterialTeamwork.FID={0} ", inParam["FTeamID"]);
string basePath = AppDomain.CurrentDomain.BaseDirectory.Trim('\\');
string savePath = basePath + string.Format("\\File\\Temp\\{0}_{1}\\", inParam["FTeamID"], intType);
if (!Directory.Exists(savePath)) Directory.CreateDirectory(savePath);
string tempPath = savePath.Replace("\\File\\Temp\\", "\\File\\View\\");
if (!Directory.Exists(tempPath)) Directory.CreateDirectory(tempPath);
switch (intType)
{
case (int)Constant.TeamViewType.:
savePath += Constant.TeamViewType..ToString();
//原始配方
whereSql = string.Format(@"dbo.StrExistInStr(TFS_ViewMaterial.FMaterialID,(select FMaterialFormulaIDs from TFS_FTeamwork where FID={0}))>0
and TFS_ViewMaterial.FTeamType = 1 and TFS_ViewMaterial.FFactoryID=(select FProdFactoryID from TFS_FTeamwork where FID={0})", inParam["FTeamID"]);
//生产、计划配方
joinSql = string.Format(@"(dbo.StrExistInStr(TFS_ViewMaterial.FMaterialID,(select FMaterialFormulaIDs from TFS_FTeamwork where FID={0}))>0
and TFS_Material.FSuccedaneumID<1) and TFS_ViewMaterial.FTeamType = 1 and TFS_ViewMaterial.FFactoryID=(select FProdFactoryID from TFS_FTeamwork where FID={0})",
inParam["FTeamID"]);
break;
case (int)Constant.TeamViewType.线:
savePath += Constant.TeamViewType.线.ToString();
//只要生产工厂
whereSql += string.Format(" and TFS_ViewMaterial.FTeamType = 1 and TFS_ViewMaterial.FFactoryID in(select FID from TFS_Factory where FType={0})", (int)Constant.FactoryType.);
//视图类型
List<int> tempInt3_1 = new List<int>
{
(int)Constant.ViewType.,
(int)Constant.ViewType.,
(int)Constant.ViewType.,
(int)Constant.ViewType.
};
whereSql += string.Format(" and TFS_ViewMaterial.FTeamType = 1 and TFS_ViewMaterial.FViewType in({0})", string.Join(",", tempInt3_1));
break;
case (int)Constant.TeamViewType.:
savePath += Constant.TeamViewType..ToString();
//只要生产工厂
whereSql += string.Format(" and TFS_ViewMaterial.FTeamType = 1 and TFS_ViewMaterial.FFactoryID in(select FID from TFS_Factory where FType={0})", (int)Constant.FactoryType.);
//视图类型
List<int> tempInt4_1 = new List<int>
{
(int)Constant.ViewType.,
(int)Constant.ViewType.,
(int)Constant.ViewType.,
(int)Constant.ViewType.
};
whereSql += string.Format(" and TFS_ViewMaterial.FTeamType = 1 and TFS_ViewMaterial.FViewType in({0})", string.Join(",", tempInt4_1));
break;
case (int)Constant.TeamViewType.BOM:
savePath += Constant.TeamViewType.BOM.ToString();
//一级半成品、包材→无替代料的
whereSql = string.Format(@"(dbo.StrExistInStr(TFS_ViewMaterial.FMaterialID,(select FMaterialHalfIDs from TFS_FTeamwork where FID={0}))>0 or (
TFS_ViewMaterial.FTeamType = 1 and TFS_ViewMaterial.FMaterialID in(select FMaterialID from TFS_PackageChild where FTeamID={0}) or
FPackageID=(select FPackID from TFS_FTeamwork where FID={0})))
", inParam["FTeamID"]);
//只要生产工厂
whereSql += string.Format(" and TFS_ViewMaterial.FTeamType = 1 and TFS_ViewMaterial.FFactoryID=(select FProdFactoryID from TFS_FTeamwork where FID={0})", inParam["FTeamID"]);
break;
case (int)Constant.TeamViewType.:
default:
savePath += Constant.TeamViewType..ToString();
whereSql += " and TFS_ViewMaterial.FTeamType = 1 and TFS_ViewMaterial.FMaterialID>0";
break;
}
savePath += ".xlsx";
bool hasFinish = inParam.ContainsKey("FFinish");
if (hasFinish) savePath = savePath.Replace("\\File\\Temp\\", "\\File\\View\\");
if (!File.Exists(savePath) || !hasFinish)
{
if (inParam.ContainsKey("HalfId"))
{
CreateExeclFile(intType, savePath, selectSql, whereSql, joinSql, inParam["FTeamID"].ToString(), inParam["HalfId"].ToString());
}
else
{
CreateExeclFile(intType, savePath, selectSql, whereSql, joinSql, inParam["FTeamID"].ToString(), "");
}
}
if (inParam.TryGetValue("FType", out objType) && objType.ToString().Equals("1"))
{
if (intType == (int)Constant.TeamViewType.)
{
apiResult.Data = new
{
List1 = NPOIHelper.ImportExceltoDt(savePath.Replace(".xlsx", "1.xlsx")),
List2 = NPOIHelper.ImportExceltoDt(savePath.Replace(".xlsx", "2.xlsx")),
List3 = NPOIHelper.ImportExceltoDt(savePath.Replace(".xlsx", "3.xlsx"))
};
}
else if (intType == (int)Constant.TeamViewType. || intType == (int)Constant.TeamViewType.BOM)
{
//生产和计划
apiResult.Data = new
{
List1 = NPOIHelper.ImportExceltoDt(savePath.Replace(".xlsx", "1.xlsx")),
List2 = NPOIHelper.ImportExceltoDt(savePath.Replace(".xlsx", "2.xlsx")),
};
}
else
{
apiResult.Data = new
{
List1 = NPOIHelper.ImportExceltoDt(savePath)
};
}
}
else
{
if (savePath.Contains(Constant.TeamViewType..ToString()))
{
apiResult.Data = Request.RequestUri.AbsoluteUri.Replace(Request.RequestUri.AbsolutePath, "") + savePath.Replace(basePath, "").Replace("\\", "/").Replace(Constant.TeamViewType..ToString(), "SAP视图");
}
else
{
apiResult.Data = Request.RequestUri.AbsoluteUri.Replace(Request.RequestUri.AbsolutePath, "") + savePath.Replace(basePath, "").Replace("\\", "/");
}
}
}
else
{
apiResult.Error("获取协同信息失败");
}
}, apiResult, Request, inParam);
}
/// <summary>
/// 创建Excel文件
/// </summary>
private void CreateExeclFile(int intType, string savePath, string selectSql, string whereSql, string joinSql, string teamId, string halfId)
{
List<TFS_ViewFieldInfo> filedList = MaterialTeamworkBll.GetTeamworkViewField(intType);
foreach (TFS_ViewFieldInfo field in filedList)
{
if (string.IsNullOrEmpty(field.FField))
{
selectSql += string.Format("'{0}' as '{1}'", string.IsNullOrEmpty(field.FDefault) ? "" : field.FDefault, field.FName);
}
else
{
if (field.FName == "基本数量")
{
selectSql += string.Format("isnull({0},(select TFS_PackageMain.FBomUnit from TFS_PackageMain where TFS_PackageMain.FID =(select top 1 FPackID from TFS_FTeamwork where FID=@FTeamID@))) as '{1}'", field.FField, field.FName);
}
else if (field.FName == "组件数量")
{
selectSql += string.Format(@"isnull( ( CASE WHEN TFS_ViewMaterial.FExtraQuantity IS NULL OR TFS_ViewMaterial.FExtraQuantity= '' THEN TFS_PackageChild.FCount ELSE TFS_ViewMaterial.FExtraQuantity END ), (select TFS_PackageMain.FBomUnit from TFS_PackageMain where TFS_PackageMain.FID =(select top 1 FPackID from TFS_FTeamwork where FID=@FTeamID@)) ) AS '组件数量'");
}
else
{
selectSql += string.Format("isnull({0},'') as '{1}'", field.FField, field.FName);
}
}
selectSql += ",";
}
selectSql = selectSql.Replace("@FTeamID@", teamId);
selectSql = selectSql.Replace("@FMaterialID@", halfId);
DataTable dataList = new DataTable();
if (intType == (int)Constant.TeamViewType.BOM)
{
dataList = MaterialTeamworkBll.GetTeamworkViewData2(selectSql.Trim(','), whereSql, joinSql);
dataList.Columns.Remove("FMaterialID");
DataTable dataList2 = dataList.Copy();
List<bool> hasField = new List<bool>();
hasField.Add(dataList.Columns.Contains("BOM用途"));
hasField.Add(dataList.Columns.Contains("子项序号"));
hasField.Add(dataList.Columns.Contains("组件损耗率"));
hasField.Add(dataList.Columns.Contains("固定损耗数量"));
int rowCount = dataList.Rows.Count;
//生产组装BOM处理
for (int i = 0; i < rowCount; i++)
{
if (hasField[0]) dataList.Rows[i]["BOM用途"] = "1";
if (hasField[1]) dataList.Rows[i]["子项序号"] = (i + 1) * 10;
if (hasField[2]) dataList.Rows[i]["组件损耗率"] = "";
if (hasField[3]) dataList.Rows[i]["固定损耗数量"] = "";
if (dataList.Rows[i]["计量单位"].ToString() == "G")
{
dataList.Rows[i]["组件数量"] = int.Parse(dataList.Rows[i]["组件数量"].ToString()) * 100;
}
if (dataList2.Rows[i]["计量单位"].ToString() == "G")
{
dataList2.Rows[i]["组件数量"] = int.Parse(dataList2.Rows[i]["组件数量"].ToString()) * 100;
}
dataList.Rows[i]["可选文本"] = "生产组装BOM";
}
NPOIHelper.ExportDTtoExcel(dataList, "Sheet1", savePath.Replace(".xlsx", "1.xlsx"));
//计划组装BOM处理
DataTable dataList3 = dataList2.Copy();
for (int i = 0; i < rowCount; i++)
{
if (hasField[1])
{
dataList2.Rows[i]["子项序号"] = (i + 1) * 10;
}
if (hasField[3] && !string.IsNullOrEmpty(dataList2.Rows[i]["固定损耗数量"].ToString()) && !dataList2.Rows[i]["固定损耗数量"].ToString().Equals("0"))
{
dataList3.Rows[i]["组件数量"] = dataList2.Rows[i]["固定损耗数量"].ToString();
dataList3.Rows[i]["组件损耗率"] = "";
dataList3.Rows[i]["固定损耗数量"] = "X";
if (hasField[1]) dataList3.Rows[i]["子项序号"] = (i + rowCount + 1) * 10;
dataList3.Rows[i]["可选文本"] = "计划组装BOM";
dataList2.ImportRow(dataList3.Rows[i]);
}
dataList2.Rows[i]["固定损耗数量"] = "";
dataList2.Rows[i]["可选文本"] = "计划组装BOM";
}
NPOIHelper.ExportDTtoExcel(dataList2, "Sheet1", savePath.Replace(".xlsx", "2.xlsx"));
for (int i = 0; i < dataList2.Rows.Count; i++)
{
if (i == 0) dataList.Rows.Add("[换色]");
dataList.ImportRow(dataList2.Rows[i]);
}
}
else if (intType == (int)Constant.TeamViewType.)
{
}
else
{
dataList = MaterialTeamworkBll.GetTeamworkViewData2(selectSql.Trim(','), whereSql, joinSql);
dataList.Columns.Remove("FMaterialID");
if (intType == (int)Constant.TeamViewType.)
{
NPOIHelper.ExportDTtoExcel(dataList, "Sheet1", savePath.Replace(".xlsx", "1.xlsx"));
int rowCount = dataList.Rows.Count;
bool isChange = dataList.Columns.Contains("BOM用途");
DataTable dataList2 = dataList.Copy();
for (int i = 0; i < rowCount; i++)
{
if (isChange && dataList2.Rows[i]["BOM用途"].ToString() == "1")
{
dataList2.Rows[i]["BOM用途"] = "Y";
}
}
NPOIHelper.ExportDTtoExcel(dataList2, "Sheet1", savePath.Replace(".xlsx", "2.xlsx"));
for (int i = 0; i < rowCount; i++)
{
if (i == 0) dataList.Rows.Add("[换色]");
dataList.ImportRow(dataList2.Rows[i]);
}
}
}
if (intType == (int)Constant.TeamViewType.)
{
NPOIHelper.ExportDTtoExcel(dataList, "Sheet1", savePath);
//處理名字點
dataList.Columns["组织级别.行业领域"].ColumnName = "行业领域\nIndustry Sector";
dataList.Columns["组织级别.物料类型"].ColumnName = "物料类型\n(Material Type)";
dataList.Columns["组织级别.工厂"].ColumnName = "工厂\n(Plant)";
dataList.Columns["组织级别.库存地点"].ColumnName = "库存地点\n(Stock Location)";
dataList.Columns["组织级别.销售组织"].ColumnName = "销售组织\n(Sales Organization)";
dataList.Columns["组织级别.分销渠道"].ColumnName = "分销渠道\n(distribution Channel)";
dataList.Columns["基本视图.物料编号"].ColumnName = "物料编号\n(Material NO.)";
dataList.Columns["基本视图.试验号"].ColumnName = "试验号\n(Test NO.)";
dataList.Columns["基本视图.基本计量"].ColumnName = "基本计量\n(Base Unit of Measure)";
dataList.Columns["基本视图.物料描述"].ColumnName = "物料描述\nMaterial Description";
dataList.Columns["基本视图.物料组"].ColumnName = "物料组\n(Material Group)";
dataList.Columns["基本视图.大小/量纲(规格)"].ColumnName = "大小/量纲(规格)\n(Specifications)";
dataList.Columns["基本视图.物料长文本"].ColumnName = "物料长文本\n(Basic Data Text)";
dataList.Columns["基本视图.标识符:固体/液体"].ColumnName = "实验室办公室(标识符:固体/液体/乳化)\n(In bulk/liquid)";
dataList.Columns["基本视图.体积单位"].ColumnName = "体积单位\n(Volume Unit)";
dataList.Columns["基本视图.毛重"].ColumnName = "毛重\n(Gross weight)";
dataList.Columns["基本视图.净重"].ColumnName = "净重\n(Net weight)";
dataList.Columns["基本视图.重量单位"].ColumnName = "重量单位\n(Weight unit)";
dataList.Columns["基本视图.fame号"].ColumnName = "生产备忘录fame号";
dataList.Columns["基本视图.业务量"].ColumnName = "业务量\n(Volume)";
dataList.Columns["采购视图.采购组"].ColumnName = "采购组\n(Purchasing Group)";
dataList.Columns["采购视图.采购单位"].ColumnName = "采购单位\n(Order Unit)";
dataList.Columns["采购视图.采购单位数量"].ColumnName = "采购单位数量\n(Quantity Conversion of procument)";
dataList.Columns["采购视图.采购基本单位数量"].ColumnName = "基本单位数量(Quantity Conversion of basic unit of measure)";
dataList.Columns["采购视图.采购价值码"].ColumnName = "采购价值码\n(Purchasing value key)";
dataList.Columns["采购视图.工厂特定状态"].ColumnName = "工厂特定状态\n(Plant-Specific Material Status)";
dataList.Columns["采购视图.自动采购单标识"].ColumnName = "自动采购订单\nautomatic purchase order allowed";
dataList.Columns["采购视图.货源清单"].ColumnName = "货源清单\nSource list requirement";
dataList.Columns["分类视图.类别种类"].ColumnName = "类别种类\nClass Type";
dataList.Columns["分类视图.类别"].ColumnName = "类别\nClass";
dataList.Columns["销售视图.交货工厂"].ColumnName = "交货工厂\n(Delivering Plant)";
dataList.Columns["销售视图.税金分类"].ColumnName = "税金分类\n(Tax classification material)";
dataList.Columns["销售视图.物料统计组"].ColumnName = "物料统计组\n(Material statistics group)";
dataList.Columns["销售视图.销售单位"].ColumnName = "销售单位\n(Sales unit)";
dataList.Columns["销售视图.基本单位数量"].ColumnName = "基本单位数量\n(Quantity Conversion of basic unit of measure)";
dataList.Columns["销售视图.销售单位数量"].ColumnName = "销售单位数量\n(Quantity Conversion of Sales)";
dataList.Columns["销售视图.科目设置组"].ColumnName = "科目设置组\n(Account Assignment Group for Material)";
dataList.Columns["销售视图.普通项目类别组"].ColumnName = "普通项目类别组\n(General item category group)";
dataList.Columns["销售视图.项目类别组"].ColumnName = "项目类别组\n(Item Category Group)";
dataList.Columns["销售视图.可用性检查"].ColumnName = "可用性检查\n(Availability check)";
dataList.Columns["销售视图.装载组"].ColumnName = "装载组\n(Loading Group)";
dataList.Columns["销售视图.旧物料号"].ColumnName = "旧物料号\nold material number\n";
dataList.Columns["仓储视图.存储条件"].ColumnName = "存储条件\nStorage conditions";
dataList.Columns["仓储视图.批次管理"].ColumnName = "批次管理\nBatch Management Requirement Indicator";
dataList.Columns["仓储视图.最大存储期间"].ColumnName = "最大存储期间\nMaximum Storage Period";
dataList.Columns["仓储视图.时间单位"].ColumnName = "时间单位\nTime unit";
dataList.Columns["仓储视图.最小剩余货架寿命"].ColumnName = "最小剩余货架寿命(Minimum Remaining Shelf Life)";
dataList.Columns["仓储视图.总货架寿命"].ColumnName = "总货架寿命\n(Total shelf life)";
dataList.Columns["仓储视图.SLED期间标识"].ColumnName = "SLED期间标识\n(Period Indicator for Shelf Life Expiration Date)";
dataList.Columns["MRP1.MRP类型"].ColumnName = "MRP类型\n(MRP Type)";
dataList.Columns["MRP1.再订货点"].ColumnName = "再订货点";
dataList.Columns["MRP1.固定批量大小"].ColumnName = "固定批量大小";
dataList.Columns["MRP1.最大库存水平"].ColumnName = "最大库存水平";
dataList.Columns["MRP1.MRP控制者"].ColumnName = "MRP\n控制者\nMRP Controller";
dataList.Columns["MRP1.批量大小"].ColumnName = "批量大小\nLot Sizing Procedure within Materials Planning";
dataList.Columns["MRP1.最小批量大小"].ColumnName = "最小批\n量大小\nMaximum Lot Size";
dataList.Columns["MRP1.最大批量大小"].ColumnName = "最大批\n量大小\nMinimum Lot Size";
dataList.Columns["MRP1.MRP组"].ColumnName = "MRP组\nMRP Group";
dataList.Columns["MRP1.舍入值"].ColumnName = "舍入值\nRounding value for purchase order quantity";
dataList.Columns["MRP1.产品分类"].ColumnName = "产品分类\nProduct classification";
dataList.Columns["MRP1.客户代码"].ColumnName = "客户代码";
dataList.Columns["MRP1.大小料"].ColumnName = "大小料";
dataList.Columns["MRP1.不计算缺料"].ColumnName = "不计算缺料 ";
dataList.Columns["MRP1.压膜"].ColumnName = "压膜";
dataList.Columns["MRP1.安全库存带小样"].ColumnName = "安全库存带小样";
dataList.Columns["MRP1.需求计算不考虑前置物料库存"].ColumnName = "需求计算不考虑前置物料库存";
dataList.Columns["MRP1.小料标准(小于)"].ColumnName = " 小料标准(小于)";
dataList.Columns["MRP2.采购类型"].ColumnName = "采购类型\nProcurement Type";
dataList.Columns["MRP2.计划边际码"].ColumnName = "计划\n边际码\nSchedMargin key";
dataList.Columns["MRP2.特殊采购类"].ColumnName = "特殊\n采购类\nSpecial procurement";
dataList.Columns["MRP2.反冲"].ColumnName = "反冲\nBackflush";
dataList.Columns["MRP2.自制生产时间"].ColumnName = "自制\n生产时间\nIn-house production time";
dataList.Columns["MRP2.计划交货时间"].ColumnName = "计划交\n货时间\nPlanned Delivery Time in Days";
dataList.Columns["MRP2.收货处理时间"].ColumnName = "收货处\n理时间\nGoods receipt processing time in days";
dataList.Columns["MRP2.安全库存"].ColumnName = "安全库存\nSafety Stock";
dataList.Columns["MRP2.发货库存地点"].ColumnName = "发货库\n存地点\nIssue Storage Location";
dataList.Columns["MRP2.外部采购仓储地点"].ColumnName = "外部采购\n仓储地点\nDefault storage location for external procurement";
dataList.Columns["MRP3.策略组"].ColumnName = "策略组\nStrategy Group";
dataList.Columns["MRP3.消耗模式"].ColumnName = "消耗模式\nConsumption Mode";
dataList.Columns["MRP3.向前消耗期间"].ColumnName = "向前消\n耗期间\nConsumption period: forward";
dataList.Columns["MRP3.逆向消耗期"].ColumnName = "逆向\n消耗期\nConsumption period: backward";
dataList.Columns["MRP3.混合MRP"].ColumnName = "混合MRP\nMixed MRP indicator";
dataList.Columns["MRP3.可用性检查"].ColumnName = "可用性检查\n\nAvailability check";
dataList.Columns["MRP4.单独或集中"].ColumnName = "单独或集中\nIndividual requirements/Collective requirements";
dataList.Columns["MRP4.非连续标识"].ColumnName = "非连续标识";
dataList.Columns["MRP4.生效期"].ColumnName = "生效期";
dataList.Columns["MRP4.后续的物料"].ColumnName = "后续的物料";
dataList.Columns["工作计划视图.生产计划参数文件"].ColumnName = "生产计划参数文件\nProduction Scheduling Profile";
dataList.Columns["工作计划视图.无限制过量交货"].ColumnName = "无限制过\n量交货\nIndicator: Unlimited Overdelivery Allowed";
dataList.Columns["工作计划视图.不足交货允差"].ColumnName = "不足交\n货允差\nUnderdelivery tolerance limit";
dataList.Columns["工作计划视图.过度交货允差"].ColumnName = "过度交\n货允差\nOverdelivery tolerance limit";
dataList.Columns["工作计划视图.发货单位"].ColumnName = "发货单位\nUnit of issue";
dataList.Columns["工作计划视图.发货单位数量"].ColumnName = "发货单位数量\n(Quantity Conversion of Delivery)";
dataList.Columns["工作计划视图.发货基本单位数量"].ColumnName = "基本单位数量\n\n(Quantity Conversion of basic unit of measure)";
dataList.Columns["质检视图.检验类型1"].ColumnName = "检验类型1\nInspection Type 1";
dataList.Columns["质检视图.检验类型2"].ColumnName = "检验类型2\nInspection Type 2";
dataList.Columns["质检视图.检验类型3"].ColumnName = "检验类型3\nInspection Type 3";
dataList.Columns["质检视图.检验类型4"].ColumnName = "检验类型4\nInspection Type 4";
dataList.Columns["质检视图.检验类型5"].ColumnName = "检验类型5\nInspection Type 5";
dataList.Columns["质检视图.检验类型6"].ColumnName = "检验类型6\nInspection Type 6";
dataList.Columns["会计视图.价格控制"].ColumnName = "价格控制\n(Price control indicator)";
dataList.Columns["会计视图.价格确定"].ColumnName = "价格确定\n(Material Price Determination: Control)";
dataList.Columns["会计视图.价格单位"].ColumnName = "价格单位\n(Price Unit)";
dataList.Columns["会计视图.评估分类"].ColumnName = "评估分类\nValuation Class";
dataList.Columns["会计视图.VC: 销售订单库存"].ColumnName = "VC: 销售订单库存\nValuation Class for Sales Order Stock";
dataList.Columns["会计视图.标准价格"].ColumnName = "标准价格\nStandard Price";
dataList.Columns["会计视图.利润中心"].ColumnName = "利润中心\nProfit Center";
dataList.Columns["会计视图.成本核算批量"].ColumnName = "成本核算批量\nLot Size for Product Costing";
NPOIHelper.ExportDTtoExcel(dataList, "Sheet1", savePath.Replace(Constant.TeamViewType..ToString(), "SAP视图"));
}
else
{
NPOIHelper.ExportDTtoExcel(dataList, "Sheet1", savePath);
}
}
}
}

@ -1047,5 +1047,29 @@ Lot Size for Product Costing'
DataTable data = db.Ado.GetDataTable(strSql);
return data;
}
/// <summary>
/// 获取协同视图字段信息
/// </summary>
public List<TFS_ViewFieldInfo> GetTeamworkViewField(int intType)
{
return AppSettingsHelper.GetSqlSugar().Queryable<TFS_ViewFieldInfo>().Where(s => s.FType == intType
&& s.FDeleted != (int)Constant.DeleteCode.).OrderBy(s => s.FOrder).ToList();
}
/// <summary>
/// 获取协同视图结果信息
/// </summary>
public DataTable GetTeamworkViewData2(string selectSql, string whereSql, string joinSql = "")
{
SqlSugarClient db = AppSettingsHelper.GetSqlSugar();
string strSql = string.Format(@"select distinct {0},TFS_ViewMaterial.FMaterialID from TFS_ViewMaterial
left join TFS_Material on TFS_Material.FID=TFS_ViewMaterial.FMaterialID
left join TFS_MaterialInfo on TFS_ViewMaterial.FMaterialID=TFS_MaterialInfo.FDataID and TFS_MaterialInfo.FType=2
left join TFS_PackageChild on TFS_PackageChild.FMaterialID =TFS_ViewMaterial.FMaterialID
left join TFS_FMaterialTeamwork on TFS_ViewMaterial.FTeamID=TFS_FMaterialTeamwork.FID
{2} where {1}", selectSql, whereSql, string.IsNullOrEmpty(joinSql) ? "" : joinSql);
return db.Ado.GetDataTable(strSql);
}
}
}

@ -25,11 +25,39 @@ namespace FactorySystemModel.ResponseModel
/// </summary>
public bool FIsShowView { get; set; }
/// <summary>
/// Desc:是否具备生产工艺路线视图查看权限
/// Default:
/// Nullable:
/// </summary>
public bool FIsProcessShowView { get; set; }
/// <summary>
/// Desc:是否具备生产版本视图查看权限
/// Default:
/// Nullable:
/// </summary>
public bool FIsVersionShowView { get; set; }
/// <summary>
/// Desc:是否具备视图导出权限
/// Default:
/// Nullable:
/// </summary>
public bool FIsDownloadView { get; set; }
/// <summary>
/// Desc:是否具备生产工艺路线视图导出权限
/// Default:
/// Nullable:
/// </summary>
public bool FIsProcessDownloadView { get; set; }
/// <summary>
/// Desc:是否具备生产版本视图导出权限
/// Default:
/// Nullable:
/// </summary>
public bool FIsVersionDownloadView { get; set; }
}
}
}
Loading…
Cancel
Save