From 0ac109c75d7606b871e96776aecdd4eb75f8b7a2 Mon Sep 17 00:00:00 2001 From: leo <10200039@qq.com> Date: Thu, 11 May 2023 15:07:41 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E6=96=99=E8=B7=AF=E7=BA=BFBUG?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/MaterialTeamworkController.cs | 56 +++++++++++++------ FactorySystemBll/MaterialTaskBll.cs | 24 +++++++- FactorySystemBll/MaterialTeamworkBll.cs | 17 ++++-- 3 files changed, 74 insertions(+), 23 deletions(-) diff --git a/FactorySystemApi/Controllers/MaterialTeamworkController.cs b/FactorySystemApi/Controllers/MaterialTeamworkController.cs index ff105e3..28f2473 100644 --- a/FactorySystemApi/Controllers/MaterialTeamworkController.cs +++ b/FactorySystemApi/Controllers/MaterialTeamworkController.cs @@ -15,6 +15,7 @@ using System.IO; using System.Security.Cryptography; using System.Threading.Tasks; using System.Web.UI.WebControls; +using static FactorySystemModel.EnumModel.Constant; namespace FactorySystemApi.Controllers { @@ -246,44 +247,57 @@ namespace FactorySystemApi.Controllers List> infoList = JsonConvert.DeserializeObject>>(JsonConvert.SerializeObject(infoObj)); int teamId = int.Parse(inParam["FTeamID"].ToString()); int teamworkType = int.Parse(inParam["FTeamworkType"].ToString()); + int taskType = int.Parse(inParam["FTaskType"].ToString()); string viewType = GetViewType(viewList); // 更新视图 - int MaterialType = MaterialTeamworkBll.UpdateMaterialViewById(viewList, user.FID, teamId, teamworkType); + int materialType = MaterialTeamworkBll.UpdateMaterialViewById(viewList, user.FID, teamId, teamworkType); // 更新物料 - MaterialTeamworkBll.UpdateMaterialById(materialList, user.FID, teamId, teamworkType); + string materialCode = MaterialTeamworkBll.UpdateMaterialById(materialList, user.FID, teamId, teamworkType); // 更新物料信息 MaterialTeamworkBll.UpdateMaterialInfoById(infoList, user.FID, teamId, teamworkType); TFS_FMaterialTeamwork teamwork = MaterialTeamworkBll.GetMaterialTeamworkById(teamId); - teamwork.FMaterialType = MaterialType.ToString(); + teamwork.FMaterialType = materialType.ToString(); + teamwork.FMaterialCode = materialCode.ToString(); MaterialTeamworkBll.UpdateMaterialTeamwork(teamwork); List tasks = MaterialTaskBll.GetMaterialTasks(teamId); TFS_FMaterialTask task = null; - if ((task = tasks.FindLast(t => t.FType == 2)) != null) + if (taskType == 2) { + TFS_FMaterialTask currentTask = tasks.Find(t => t.FType == 2); // 结束物料确认任务 - MaterialTaskBll.CloseMaterialTask(teamId, user.FID, 2); + MaterialTaskBll.CloseAllMaterialTask(teamId, user.FID); // 结束物料路线 MaterialTeamworkBll.CloseMaterialTeamwork(teamId, user.FID); - result.Add("TaskId", task.FID); + result.Add("TaskId", currentTask.FID); } - else if((task = tasks.FindLast(t => t.FType == 1)) != null) + else if(taskType == 1) { - List users = MaterialTaskBll.GetTaskUsers(2, viewType, task.FFactoryID); + TFS_FMaterialTask currentTask = tasks.Find(t => t.FType == 1); + List users = MaterialTaskBll.GetTaskUsers(2, viewType, currentTask.FFactoryID); if (users != null && users.Count > 0) { // 结束物料编辑任务 MaterialTaskBll.CloseMaterialTask(teamId, user.FID, 1); - // 创建物料确认任务 - int taskId = MaterialTaskBll.CreateMaterialTask(teamId, teamworkType, user.FID, 2, task.FFactoryID, users); - result.Add("TaskId", taskId); + TFS_FMaterialTask nextTask = tasks.Find(t => t.FType == 2); + + if (nextTask == null) + { + // 创建物料确认任务 + int taskId = MaterialTaskBll.CreateMaterialTask(teamId, teamworkType, user.FID, 2, currentTask.FFactoryID, users); + result.Add("TaskId", taskId); + } + else + { + result.Add("TaskId", nextTask.FID); + } } else { @@ -291,17 +305,27 @@ namespace FactorySystemApi.Controllers } } - else if ((task = tasks.FindLast(t => t.FType == 0)) != null) + else if (taskType == 0) { - List users = MaterialTaskBll.GetTaskUsers(1, viewType, task.FFactoryID); + TFS_FMaterialTask currentTask = tasks.Find(t => t.FType == 0); + List users = MaterialTaskBll.GetTaskUsers(1, viewType, currentTask.FFactoryID); if (users != null && users.Count > 0) { // 结束物料分类任务 MaterialTaskBll.CloseMaterialTask(teamId, user.FID, 0); - // 创建物料编辑任务 - int taskId = MaterialTaskBll.CreateMaterialTask(teamId, teamworkType, user.FID, 1, task.FFactoryID, users); - result.Add("TaskId", taskId); + TFS_FMaterialTask nextTask = tasks.Find(t => t.FType == 1); + + if (nextTask == null) + { + // 创建物料编辑任务 + int taskId = MaterialTaskBll.CreateMaterialTask(teamId, teamworkType, user.FID, 1, currentTask.FFactoryID, users); + result.Add("TaskId", taskId); + } + else + { + result.Add("TaskId", nextTask.FID); + } } else { diff --git a/FactorySystemBll/MaterialTaskBll.cs b/FactorySystemBll/MaterialTaskBll.cs index ae58f75..f3a4b98 100644 --- a/FactorySystemBll/MaterialTaskBll.cs +++ b/FactorySystemBll/MaterialTaskBll.cs @@ -107,7 +107,7 @@ namespace FactorySystemBll { TFS_FMaterialTask fmt = taskList[0]; - fmt.FCanEdit = 2; + // fmt.FCanEdit = 2; fmt.FState = 2; fmt.FEditUser = userId; fmt.FEditDate = DateTime.Now; @@ -118,6 +118,28 @@ namespace FactorySystemBll return result; } + public int CloseAllMaterialTask(int teamId, int userId) + { + SqlSugarClient db = AppSettingsHelper.GetSqlSugar(); + List taskList = db.Queryable().Where(s => s.FMaterialTeamID == teamId).ToList(); + int result = 0; + + if (taskList != null && taskList.Count > 0) + { + foreach(TFS_FMaterialTask task in taskList) + { + task.FCanEdit = 2; + task.FState = 2; + task.FEditUser = userId; + task.FEditDate = DateTime.Now; + + result = db.Updateable(task).IgnoreColumns(true).WhereColumns("FID").ExecuteCommand(); + } + } + + return result; + } + /** * 20230505 修改权限BUG * 获取事项用户,用于判断是否生成路线和事项 diff --git a/FactorySystemBll/MaterialTeamworkBll.cs b/FactorySystemBll/MaterialTeamworkBll.cs index 7f9d95c..e465dac 100644 --- a/FactorySystemBll/MaterialTeamworkBll.cs +++ b/FactorySystemBll/MaterialTeamworkBll.cs @@ -200,11 +200,11 @@ namespace FactorySystemBll if (teamworkType == 2) { - sqlWhere = string.Format("FViewType={0} and FMdfMaterialTeamId={1} and FTeamType={2}", 0, teamId, 1); + sqlWhere = string.Format("FMdfMaterialTeamId={0} and FTeamType={1}", teamId, 1); } else { - sqlWhere = string.Format("FViewType={0} and FTeamID={1} and FTeamType={2}", 0, teamId, 1); + sqlWhere = string.Format("FTeamID={0} and FTeamType={1}", teamId, 1); } for (int i = 0; i < viewList.Count; i++) @@ -290,9 +290,9 @@ namespace FactorySystemBll return result; } - public int UpdateMaterialById(List> materialList, int userId, int teamId, int teamworkType) + public string UpdateMaterialById(List> materialList, int userId, int teamId, int teamworkType) { - int result = 0; + string result = ""; SqlSugarClient db = AppSettingsHelper.GetSqlSugar(); @@ -315,10 +315,15 @@ namespace FactorySystemBll materialList[i].Add("FK3ShortCode", k3Code.ToString().Split('.').Last()); } } - result += db.Updateable(materialList[i]).AS("TFS_Material").WhereColumns("FID").ExecuteCommand(); + db.Updateable(materialList[i]).AS("TFS_Material").WhereColumns("FID").ExecuteCommand(); + + if (materialList[i].ContainsKey("FCode")) + { + result = materialList[i]["FCode"].ToString(); + } } - result += UnionModifyData(materialList, "TFS_Material", teamId, teamworkType, db); + UnionModifyData(materialList, "TFS_Material", teamId, teamworkType, db); } return result;