物料路线BUG修复

master
leo 3 years ago
parent 824abeb490
commit 0ac109c75d

@ -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<Dictionary<string, object>> infoList = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(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<TFS_FMaterialTask> 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<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)
{
// 结束物料编辑任务
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<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)
{
// 结束物料分类任务
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
{

@ -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<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
* 线

@ -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<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();
@ -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;

Loading…
Cancel
Save