diff --git a/FactorySystemApi/Controllers/FormulaController.cs b/FactorySystemApi/Controllers/FormulaController.cs index 16cbd23..e7c69a1 100644 --- a/FactorySystemApi/Controllers/FormulaController.cs +++ b/FactorySystemApi/Controllers/FormulaController.cs @@ -94,6 +94,22 @@ namespace FactorySystemApi.Controllers } else { + + if (inParam.ContainsKey("SP")&&!inParam.ContainsKey("FPlmCode")) + { + inParam.Add("FPlmCode", inParam["SP"].ToString()); + } + + if (inParam.ContainsKey("SP_VERSION")&& !inParam.ContainsKey("FVersionCode")) + { + inParam.Add("FVersionCode", inParam["SP_VERSION"].ToString()); + } + + if (inParam.ContainsKey("SP_VALUE")&&!inParam.ContainsKey("FTestCode")) + { + inParam.Add("FTestCode", inParam["SP_VALUE"].ToString()); + } + List fieldList = BaseBll.GetFileInfoList((int)Constant.FieldInfoType.配方模板导入); TFS_Formula formula = new TFS_Formula(); List propertys = formula.GetType().GetProperties().ToList(); @@ -102,6 +118,7 @@ namespace FactorySystemApi.Controllers PropertyInfo temp = propertys.Find(s => s.Name == field.FColumnFIeld); if (temp != null) temp.SetValue(formula, GetValueByName(inParam, field.FFieldName, field.FDefault)); } + if (string.IsNullOrEmpty(formula.FPlmCode)) { apiResult.Error("FPlmCode不能为空"); diff --git a/FactorySystemApi/Controllers/HalfMaterialTeamworkController.cs b/FactorySystemApi/Controllers/HalfMaterialTeamworkController.cs index 218d86f..f31ce17 100644 --- a/FactorySystemApi/Controllers/HalfMaterialTeamworkController.cs +++ b/FactorySystemApi/Controllers/HalfMaterialTeamworkController.cs @@ -188,148 +188,140 @@ namespace FactorySystemApi.Controllers { //对接获取 //inParam.Add("FMdmCode", GetMdmCode(inParam)); - var ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0); - inParam.Add("FMdmCode", ts.TotalSeconds.ToString("F0")); - if (!inParam.ContainsKey("FMdmCode") || string.IsNullOrEmpty(inParam["FMdmCode"].ToString().Trim())) + //var ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0); + //inParam.Add("FMdmCode", ts.TotalSeconds.ToString("F0")); + try { - apiResult.Error("获取MDM失败"); - } - else - { - try + inParam.TryGetValue("FState", out object state); + if (null == state) { - inParam.TryGetValue("FState", out object state); - if (null == state) - { - inParam["FState"] = state = 1; - } - inParam.Remove("FID"); - ApiAuthInfo user = Request.Properties["token"] as ApiAuthInfo; - if (inParam.ContainsKey("FAddUser")) - { - inParam["FAddUser"] = user.FID; - } - else - { - inParam.Add("FAddUser", user.FID); - } - if (inParam.ContainsKey("FEditUser")) - { - inParam["FEditUser"] = user.FID; - } - else - { - inParam.Add("FEditUser", user.FID); - } - if (inParam.ContainsKey("FEditDate")) - { - inParam["FEditDate"] = DateTime.Now; - } - else - { - inParam.Add("FEditDate", DateTime.Now); - } + inParam["FState"] = state = 1; + } + inParam.Remove("FID"); + ApiAuthInfo user = Request.Properties["token"] as ApiAuthInfo; + if (inParam.ContainsKey("FAddUser")) + { + inParam["FAddUser"] = user.FID; + } + else + { + inParam.Add("FAddUser", user.FID); + } + if (inParam.ContainsKey("FEditUser")) + { + inParam["FEditUser"] = user.FID; + } + else + { + inParam.Add("FEditUser", user.FID); + } + if (inParam.ContainsKey("FEditDate")) + { + inParam["FEditDate"] = DateTime.Now; + } + else + { + inParam.Add("FEditDate", DateTime.Now); + } - //TUser tUser = BaseBll.GetTempModel(user.FID); - TFS_Factory factory = BaseBll.GetTempModel(int.Parse(inParam["FCreateFactoryID"].ToString())); - if (inParam.ContainsKey("FCreateFactoryID")) - { - inParam.Remove("FCreateFactoryID"); - } - inParam.Add("FCreateFactoryID", factory.FID); - inParam.Add("FCreateFactoryCode", factory.FCode); - inParam.Add("FCreateFactoryType", factory.FType); - if (factory.FType != (int)Constant.FactoryType.单工厂) - { - factory = BaseBll.GetTempModel(factory.FFactoryID); - inParam.Add("FProdFactoryID", factory.FID); - inParam.Add("FProdFactoryCode", factory.FCode); - } - else - { - inParam.Add("FProdFactoryID", factory.FID); - inParam.Add("FProdFactoryCode", factory.FCode); - } - if (!inParam.ContainsKey("FSaleCode")) - { - inParam.Add("FSaleCode", ""); - } + //TUser tUser = BaseBll.GetTempModel(user.FID); + TFS_Factory factory = BaseBll.GetTempModel(int.Parse(inParam["FCreateFactoryID"].ToString())); + if (inParam.ContainsKey("FCreateFactoryID")) + { + inParam.Remove("FCreateFactoryID"); + } + inParam.Add("FCreateFactoryID", factory.FID); + inParam.Add("FCreateFactoryCode", factory.FCode); + inParam.Add("FCreateFactoryType", factory.FType); + if (factory.FType != (int)Constant.FactoryType.单工厂) + { + factory = BaseBll.GetTempModel(factory.FFactoryID); + inParam.Add("FProdFactoryID", factory.FID); + inParam.Add("FProdFactoryCode", factory.FCode); + } + else + { + inParam.Add("FProdFactoryID", factory.FID); + inParam.Add("FProdFactoryCode", factory.FCode); + } + if (!inParam.ContainsKey("FSaleCode")) + { + inParam.Add("FSaleCode", ""); + } - //创建 TFS_FTeamwork - int teamId = BaseBll.InsertDataModel(inParam, "TFS_HalfMaterialFTeamwork"); + //创建 TFS_FTeamwork + int teamId = BaseBll.InsertDataModel(inParam, "TFS_HalfMaterialFTeamwork"); - List editMaterialList = MaterialTeamworkBll.UpdateFormula(inParam["FTestCode"].ToString(), inParam["FNewTestCode"].ToString(), teamId, factory.FID); - ids = editMaterialList.Select(m => m.FID).Distinct().ToList(); + List editMaterialList = MaterialTeamworkBll.UpdateFormula(inParam["FTestCode"].ToString(), inParam["FNewTestCode"].ToString(), teamId, factory.FID); + ids = editMaterialList.Select(m => m.FID).Distinct().ToList(); - apiResult.Data = teamId; - if (teamId > 0) + apiResult.Data = teamId; + if (teamId > 0) + { + inParam.Add("FID", teamId); + //创建流程 + int resultProcessCreate = MaterialTeamworkBll.CreateProcessData(teamId, user.FID); + if (resultProcessCreate > 0) { - inParam.Add("FID", teamId); - //创建流程 - int resultProcessCreate = MaterialTeamworkBll.CreateProcessData(teamId, user.FID); - if (resultProcessCreate > 0) + //直接走下一步 + if (state.ToString().Contains("1")) { - //直接走下一步 - if (state.ToString().Contains("1")) + TFS_HalfMaterialFTeamwork teamwork = BaseBll.GetTempModel(teamId); + + + //if (editMaterialList.Count() == 0) + //{ + // MaterialTeamworkBll.CreateProductView(teamwork, null, user.FID); + //} + + //if (editMaterialList.Count() == 0) + //{ + // //MaterialTeamworkBll.CreateProductView(teamwork, null, user.FID); + // TFS_Material material = editMaterialList.Find(s => s.FType == "20");//默认取第一个20的,没找到取第一个 + // if (material == null) material = editMaterialList.FirstOrDefault(); + // db.Updateable(new { FMaterialHalfIDs = material.FID }).Where(s => s.FID == teamwork.FID).ExecuteCommand(); + //} + //else + //{ + // //MaterialTeamworkBll.CreateProductView(teamwork, editMaterialList, user.FID); + //} + + //开始BOM下载 + int dow = DockGetBomData(teamwork.FID, user.FID); + if (dow > 0 || editMaterialList.Count() > 0) { - TFS_HalfMaterialFTeamwork teamwork = BaseBll.GetTempModel(teamId); - - - //if (editMaterialList.Count() == 0) - //{ - // MaterialTeamworkBll.CreateProductView(teamwork, null, user.FID); - //} - - //if (editMaterialList.Count() == 0) - //{ - // //MaterialTeamworkBll.CreateProductView(teamwork, null, user.FID); - // TFS_Material material = editMaterialList.Find(s => s.FType == "20");//默认取第一个20的,没找到取第一个 - // if (material == null) material = editMaterialList.FirstOrDefault(); - // db.Updateable(new { FMaterialHalfIDs = material.FID }).Where(s => s.FID == teamwork.FID).ExecuteCommand(); - //} - //else - //{ - // //MaterialTeamworkBll.CreateProductView(teamwork, editMaterialList, user.FID); - //} - - //开始BOM下载 - int dow= DockGetBomData(teamwork.FID, user.FID); - if (dow > 0 || editMaterialList.Count()>0) - { - MaterialTeamworkBll.HasMaterialTestCode(teamwork); - BaseBll.CreateTaskData2(teamwork.FID, user.FID, "1"); //新增物料分类事项 - BaseBll.UpdateTeamProcess2(teamId, (int)Constant.HalfMaterialProcessType.物料分类, 2, 1); // 更新物料分类流程 - } - else - { - BaseBll.DeleteDataById(teamId, "TFS_HalfMaterialFTeamwork", true); - apiResult.Error("未能找到物料"); - //BaseBll.CreateTaskData2(teamId, user.FID, ((int)Constant.HalfMaterialTask.BOM下载).ToString()); - //BaseBll.UpdateTeamProcess2(teamId, (int)Constant.HalfMaterialTask.物料分类, 1, 1); - } - + MaterialTeamworkBll.HasMaterialTestCode(teamwork); + BaseBll.CreateTaskData2(teamwork.FID, user.FID, "1"); //新增物料分类事项 + BaseBll.UpdateTeamProcess2(teamId, (int)Constant.HalfMaterialProcessType.物料分类, 2, 1); // 更新物料分类流程 } else { - BaseBll.CreateTaskData2(teamId, user.FID, ((int)Constant.HalfMaterialTask.BOM下载).ToString()); - BaseBll.UpdateTeamProcess2(teamId, (int)Constant.HalfMaterialTask.BOM下载, 1, 1); + BaseBll.DeleteDataById(teamId, "TFS_HalfMaterialFTeamwork", true); + apiResult.Error("未能找到物料"); + //BaseBll.CreateTaskData2(teamId, user.FID, ((int)Constant.HalfMaterialTask.BOM下载).ToString()); + //BaseBll.UpdateTeamProcess2(teamId, (int)Constant.HalfMaterialTask.物料分类, 1, 1); } + } else { - BaseBll.DeleteDataById(teamId, "TFS_HalfMaterialFTeamwork", true); - apiResult.Error("流程创建失败,请稍后重试"); + BaseBll.CreateTaskData2(teamId, user.FID, ((int)Constant.HalfMaterialTask.BOM下载).ToString()); + BaseBll.UpdateTeamProcess2(teamId, (int)Constant.HalfMaterialTask.BOM下载, 1, 1); } - HalfMaterialTeamworkBll.ChangeTeamProcess(teamId); } + else + { + BaseBll.DeleteDataById(teamId, "TFS_HalfMaterialFTeamwork", true); + apiResult.Error("流程创建失败,请稍后重试"); + } + HalfMaterialTeamworkBll.ChangeTeamProcess(teamId); } - catch (Exception ex) - { - //失败则把修改的更新回去 - MaterialTeamworkBll.UpdateFormula(inParam["FTestCode"].ToString(), inParam["FNewTestCode"].ToString(),0,0,string.Join(",",ids)); - throw; - } - + } + catch (Exception ex) + { + //失败则把修改的更新回去 + MaterialTeamworkBll.UpdateFormula(inParam["FTestCode"].ToString(), inParam["FNewTestCode"].ToString(), 0, 0, string.Join(",", ids)); + throw; } }, apiResult, Request, inParam); } @@ -613,6 +605,10 @@ namespace FactorySystemApi.Controllers OAService oAService = new OAService(); specifList[0].Code = formula.FTestCode; specifList[0].Version = formula.FVersionCode; + + specifList[0].SP = formula.FPlmCode; + specifList[0].SP_Version = formula.FVersionCode; + RestResult restResult = oAService.GetSpecificationsList(specifList.ToArray()); string bomStr = restResult.data == null ? "[]" : restResult.data.ToString(); ExceptionHelper.AddSystemJournal(Request, specifList[0], restResult,user.FID, "DockGetBomData"); @@ -683,6 +679,11 @@ namespace FactorySystemApi.Controllers OAService oAService = new OAService(); specifList[0].Code = teamwork.FNewTestCode; specifList[0].Version = formula.FVersionCode; + + + specifList[0].SP = formula.FPlmCode; + specifList[0].SP_Version = formula.FVersionCode; + RestResult restResult = oAService.GetSpecificationsList(specifList.ToArray()); string bomStr = restResult.data == null ? "[]" : restResult.data.ToString(); ExceptionHelper.AddSystemJournal(Request, specifList[0], restResult, userId, "DockGetBomData"); @@ -1152,7 +1153,7 @@ namespace FactorySystemApi.Controllers } else { - dataList = MaterialTeamworkBll.GetTeamworkViewData(selectSql.Trim(','), whereSql, joinSql); + dataList = MaterialTeamworkBll.GetHalfMaterialTeamworkViewData(selectSql.Trim(','), whereSql, joinSql); dataList.Columns.Remove("FMaterialID"); if (intType == (int)Constant.TeamViewType.生产版本视图) { diff --git a/FactorySystemApi/Controllers/TeamworkController.cs b/FactorySystemApi/Controllers/TeamworkController.cs index 1611686..501aa5f 100644 --- a/FactorySystemApi/Controllers/TeamworkController.cs +++ b/FactorySystemApi/Controllers/TeamworkController.cs @@ -448,6 +448,11 @@ namespace FactorySystemApi.Controllers OAService oAService = new OAService(); specifList[0].Code = formula.FTestCode; specifList[0].Version = formula.FVersionCode; + + //修改 + specifList[0].SP = formula.FPlmCode; + specifList[0].SP_Version = formula.FVersionCode; + RestResult restResult = oAService.GetSpecificationsList(specifList.ToArray()); string bomStr = restResult.data == null ? "[]" : restResult.data.ToString(); ExceptionHelper.AddSystemJournal(Request, specifList[0], restResult,user.FID, "DockGetBomData"); @@ -516,8 +521,14 @@ namespace FactorySystemApi.Controllers { TFS_Formula formula = BaseBll.GetTempModel(teamwork.FFormulaID); OAService oAService = new OAService(); + specifList[0].Code = formula.FTestCode; specifList[0].Version = formula.FVersionCode; + + //修改 + specifList[0].SP= formula.FPlmCode; + specifList[0].SP_Version= formula.FVersionCode; + RestResult restResult = oAService.GetSpecificationsList(specifList.ToArray()); string bomStr = restResult.data == null ? "[]" : restResult.data.ToString(); ExceptionHelper.AddSystemJournal(Request, specifList[0], restResult, userId, "DockGetBomData"); @@ -622,6 +633,19 @@ namespace FactorySystemApi.Controllers { foreach (BomModel item in dataList) { + if (!string.IsNullOrWhiteSpace(item.SP)) + { + item.Code = item.SP; + } + if (!string.IsNullOrWhiteSpace(item.SP_Version)) + { + item.Version=item.SP_Version; + } + if (!string.IsNullOrWhiteSpace(item.SP_VALUE)) + { + item.TestNO = item.SP_VALUE; + } + int dataId = random.Next(1, 99) * random.Next(1, 99); dataId += random.Next(10, 99) * random.Next(10, 99) * 2; dataId += random.Next(1, 99) * random.Next(1, 99) * 10; diff --git a/FactorySystemApi/FactorySystemApi.csproj b/FactorySystemApi/FactorySystemApi.csproj index d389f9d..7aabac0 100644 --- a/FactorySystemApi/FactorySystemApi.csproj +++ b/FactorySystemApi/FactorySystemApi.csproj @@ -259,42 +259,6 @@ - - - - Reference.svcmap - - - Reference.svcmap - - - WCF Proxy Generator - Reference.cs - - - - - Reference.svcmap - - - Reference.svcmap - - - WCF Proxy Generator - Reference.cs - - - - - Reference.svcmap - - - Reference.svcmap - - - WCF Proxy Generator - Reference.cs - @@ -304,9 +268,6 @@ - - - SettingsSingleFileGenerator Settings.Designer.cs @@ -451,11 +412,6 @@ - - - - - 10.0 $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) diff --git a/FactorySystemApi/Web References/Plm_Formula/Reference.cs b/FactorySystemApi/Web References/Plm_Formula/Reference.cs index 78b98ff..1c6d7f9 100644 --- a/FactorySystemApi/Web References/Plm_Formula/Reference.cs +++ b/FactorySystemApi/Web References/Plm_Formula/Reference.cs @@ -635,7 +635,29 @@ namespace FactorySystemApi.Plm_Formula { private string codeField; private string versionField; - + + + public string SP { get + { + return this.codeField; + } + set + { + this.codeField = value; + } + } + public string SP_Version + { + get + { + return this.versionField; + } + set + { + this.versionField = value; + } + } + /// public string Code { get { diff --git a/FactorySystemBll/HalfMaterialTeamworkBll.cs b/FactorySystemBll/HalfMaterialTeamworkBll.cs index 14ab646..4158486 100644 --- a/FactorySystemBll/HalfMaterialTeamworkBll.cs +++ b/FactorySystemBll/HalfMaterialTeamworkBll.cs @@ -323,6 +323,18 @@ namespace FactorySystemBll {2} where {1}", selectSql, whereSql, string.IsNullOrEmpty(joinSql) ? "" : joinSql); return db.Ado.GetDataTable(strSql); } + /// + /// 获取协同视图结果信息 + /// + public DataTable GetHalfMaterialTeamworkViewData(string selectSql, string whereSql, string joinSql = "") + { + SqlSugarClient db = AppSettingsHelper.GetSqlSugar(); + string strSql = string.Format(@"select distinct {0},TFS_ViewMaterial.FMaterialID from TFS_HalfMaterialFTeamwork left join TFS_ViewMaterial on + TFS_HalfMaterialFTeamwork.FID=TFS_ViewMaterial.FHalfMaterialTeamID left join TFS_Material on TFS_Material.FID=TFS_ViewMaterial.FMaterialID + {2} where {1}", selectSql, whereSql, string.IsNullOrEmpty(joinSql) ? "" : joinSql); + return db.Ado.GetDataTable(strSql); + } + /// /// 获取协同视图结果信息 diff --git a/FactorySystemModel/BusinessModel/BomModel.cs b/FactorySystemModel/BusinessModel/BomModel.cs index b43cf1f..d7cf343 100644 --- a/FactorySystemModel/BusinessModel/BomModel.cs +++ b/FactorySystemModel/BusinessModel/BomModel.cs @@ -9,13 +9,33 @@ namespace FactorySystemModel.BusinessModel Code = Name = Version = Type = Quantity = TestNO = ""; Specifications = new List(); } - public string Code { get; set; } + /// + /// PLM规格内码 + /// + public string SP { get; set; } public string Name { get; set; } - public string Version { get; set; } + + /// + /// 规格英文名称 + /// + public string EnName { get; set; } + /// + /// 版本号 + /// + public string SP_Version { get; set; } public string Type { get; set; } + /// + /// 实验号 + /// + public string SP_VALUE { get; set; } + + + public string Code { get; set; } + public string Version { get; set; } public string Quantity { get; set; } public string TestNO { get; set; } public List Specifications { get; set; } + } ///