物料路线BUG修复

master
leo 3 years ago
parent 824abeb490
commit 0ac109c75d

@ -15,6 +15,7 @@ using System.IO;
using System.Security.Cryptography; using System.Security.Cryptography;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Web.UI.WebControls; using System.Web.UI.WebControls;
using static FactorySystemModel.EnumModel.Constant;
namespace FactorySystemApi.Controllers namespace FactorySystemApi.Controllers
{ {
@ -246,44 +247,57 @@ namespace FactorySystemApi.Controllers
List<Dictionary<string, object>> infoList = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(JsonConvert.SerializeObject(infoObj)); List<Dictionary<string, object>> infoList = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(JsonConvert.SerializeObject(infoObj));
int teamId = int.Parse(inParam["FTeamID"].ToString()); int teamId = int.Parse(inParam["FTeamID"].ToString());
int teamworkType = int.Parse(inParam["FTeamworkType"].ToString()); int teamworkType = int.Parse(inParam["FTeamworkType"].ToString());
int taskType = int.Parse(inParam["FTaskType"].ToString());
string viewType = GetViewType(viewList); 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); MaterialTeamworkBll.UpdateMaterialInfoById(infoList, user.FID, teamId, teamworkType);
TFS_FMaterialTeamwork teamwork = MaterialTeamworkBll.GetMaterialTeamworkById(teamId); TFS_FMaterialTeamwork teamwork = MaterialTeamworkBll.GetMaterialTeamworkById(teamId);
teamwork.FMaterialType = MaterialType.ToString(); teamwork.FMaterialType = materialType.ToString();
teamwork.FMaterialCode = materialCode.ToString();
MaterialTeamworkBll.UpdateMaterialTeamwork(teamwork); MaterialTeamworkBll.UpdateMaterialTeamwork(teamwork);
List<TFS_FMaterialTask> tasks = MaterialTaskBll.GetMaterialTasks(teamId); List<TFS_FMaterialTask> tasks = MaterialTaskBll.GetMaterialTasks(teamId);
TFS_FMaterialTask task = null; 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); 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<TUser> users = MaterialTaskBll.GetTaskUsers(2, viewType, task.FFactoryID); TFS_FMaterialTask currentTask = tasks.Find(t => t.FType == 1);
List<TUser> users = MaterialTaskBll.GetTaskUsers(2, viewType, currentTask.FFactoryID);
if (users != null && users.Count > 0) if (users != null && users.Count > 0)
{ {
// 结束物料编辑任务 // 结束物料编辑任务
MaterialTaskBll.CloseMaterialTask(teamId, user.FID, 1); MaterialTaskBll.CloseMaterialTask(teamId, user.FID, 1);
// 创建物料确认任务 TFS_FMaterialTask nextTask = tasks.Find(t => t.FType == 2);
int taskId = MaterialTaskBll.CreateMaterialTask(teamId, teamworkType, user.FID, 2, task.FFactoryID, users);
result.Add("TaskId", taskId); 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 else
{ {
@ -291,17 +305,27 @@ namespace FactorySystemApi.Controllers
} }
} }
else if ((task = tasks.FindLast(t => t.FType == 0)) != null) else if (taskType == 0)
{ {
List<TUser> users = MaterialTaskBll.GetTaskUsers(1, viewType, task.FFactoryID); TFS_FMaterialTask currentTask = tasks.Find(t => t.FType == 0);
List<TUser> users = MaterialTaskBll.GetTaskUsers(1, viewType, currentTask.FFactoryID);
if (users != null && users.Count > 0) if (users != null && users.Count > 0)
{ {
// 结束物料分类任务 // 结束物料分类任务
MaterialTaskBll.CloseMaterialTask(teamId, user.FID, 0); MaterialTaskBll.CloseMaterialTask(teamId, user.FID, 0);
// 创建物料编辑任务 TFS_FMaterialTask nextTask = tasks.Find(t => t.FType == 1);
int taskId = MaterialTaskBll.CreateMaterialTask(teamId, teamworkType, user.FID, 1, task.FFactoryID, users);
result.Add("TaskId", taskId); 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 else
{ {

@ -107,7 +107,7 @@ namespace FactorySystemBll
{ {
TFS_FMaterialTask fmt = taskList[0]; TFS_FMaterialTask fmt = taskList[0];
fmt.FCanEdit = 2; // fmt.FCanEdit = 2;
fmt.FState = 2; fmt.FState = 2;
fmt.FEditUser = userId; fmt.FEditUser = userId;
fmt.FEditDate = DateTime.Now; fmt.FEditDate = DateTime.Now;
@ -118,6 +118,28 @@ namespace FactorySystemBll
return result; return result;
} }
public int CloseAllMaterialTask(int teamId, int userId)
{
SqlSugarClient db = AppSettingsHelper.GetSqlSugar();
List<TFS_FMaterialTask> taskList = db.Queryable<TFS_FMaterialTask>().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 * 20230505 BUG
* 线 * 线

@ -200,11 +200,11 @@ namespace FactorySystemBll
if (teamworkType == 2) 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 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++) for (int i = 0; i < viewList.Count; i++)
@ -290,9 +290,9 @@ namespace FactorySystemBll
return result; return result;
} }
public int UpdateMaterialById(List<Dictionary<string, object>> materialList, int userId, int teamId, int teamworkType) public string UpdateMaterialById(List<Dictionary<string, object>> materialList, int userId, int teamId, int teamworkType)
{ {
int result = 0; string result = "";
SqlSugarClient db = AppSettingsHelper.GetSqlSugar(); SqlSugarClient db = AppSettingsHelper.GetSqlSugar();
@ -315,10 +315,15 @@ namespace FactorySystemBll
materialList[i].Add("FK3ShortCode", k3Code.ToString().Split('.').Last()); 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; return result;

Loading…
Cancel
Save