|
|
|
|
@ -13,6 +13,7 @@ using System.Reflection;
|
|
|
|
|
using System.Data;
|
|
|
|
|
using System.IO;
|
|
|
|
|
using System.Security.Cryptography;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
namespace FactorySystemApi.Controllers
|
|
|
|
|
{
|
|
|
|
|
@ -128,6 +129,12 @@ namespace FactorySystemApi.Controllers
|
|
|
|
|
|
|
|
|
|
inParam.Add("FTeamworkType", 1);
|
|
|
|
|
|
|
|
|
|
// 获取具备相应权限的用户
|
|
|
|
|
List<TUser> users = MaterialTaskBll.GetTaskUsers(0, "10", factory.FID);
|
|
|
|
|
|
|
|
|
|
// 如果没有获取到用户,则不创建路线、任务、物料和视图
|
|
|
|
|
if (users != null && users.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
int teamId = BaseBll.InsertDataModel(inParam, "TFS_FMaterialTeamwork");
|
|
|
|
|
result.Add("TeamId", teamId);
|
|
|
|
|
|
|
|
|
|
@ -154,10 +161,15 @@ namespace FactorySystemApi.Controllers
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 创建物料分类任务
|
|
|
|
|
int taskId = MaterialTaskBll.CreateMaterialTask(teamId, 1, user.FID, 0, factory.FID);
|
|
|
|
|
int taskId = MaterialTaskBll.CreateMaterialTask(teamId, 1, user.FID, 0, factory.FID, users);
|
|
|
|
|
result.Add("TaskId", taskId);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
result.Add("TaskId", -9);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
apiResult.Data = result;
|
|
|
|
|
}, apiResult, Request, inParam);
|
|
|
|
|
@ -219,6 +231,7 @@ namespace FactorySystemApi.Controllers
|
|
|
|
|
{
|
|
|
|
|
var apiResult = new ApiResult();
|
|
|
|
|
int step = -1;
|
|
|
|
|
Dictionary<string, object> result = new Dictionary<string, object>();
|
|
|
|
|
|
|
|
|
|
return ExceptionHelper.TryReturnException(() => {
|
|
|
|
|
if (Request.Properties["token"] is ApiAuthInfo user)
|
|
|
|
|
@ -232,6 +245,8 @@ namespace FactorySystemApi.Controllers
|
|
|
|
|
int teamId = int.Parse(inParam["FTeamID"].ToString());
|
|
|
|
|
int teamworkType = int.Parse(inParam["FTeamworkType"].ToString());
|
|
|
|
|
|
|
|
|
|
string viewType = GetViewType(viewList);
|
|
|
|
|
|
|
|
|
|
// 更新视图
|
|
|
|
|
MaterialTeamworkBll.UpdateMaterialViewById(viewList, user.FID, teamId, teamworkType);
|
|
|
|
|
// 更新物料
|
|
|
|
|
@ -251,56 +266,44 @@ namespace FactorySystemApi.Controllers
|
|
|
|
|
MaterialTeamworkBll.CloseMaterialTeamwork(teamId, user.FID);
|
|
|
|
|
}
|
|
|
|
|
else if((task = tasks.FindLast(t => t.FType == 1)) != null)
|
|
|
|
|
{
|
|
|
|
|
List<TUser> users = MaterialTaskBll.GetTaskUsers(0, viewType, task.FFactoryID);
|
|
|
|
|
|
|
|
|
|
if (users != null && users.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
// 结束物料编辑任务
|
|
|
|
|
MaterialTaskBll.CloseMaterialTask(teamId, user.FID, 1);
|
|
|
|
|
// 创建物料确认任务
|
|
|
|
|
int taskId = MaterialTaskBll.CreateMaterialTask(teamId, teamworkType, user.FID, 2, task.FFactoryID);
|
|
|
|
|
int taskId = MaterialTaskBll.CreateMaterialTask(teamId, teamworkType, user.FID, 2, task.FFactoryID, users);
|
|
|
|
|
result.Add("TaskId", taskId);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
result.Add("TaskId", -9);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
else if ((task = tasks.FindLast(t => t.FType == 0)) != null)
|
|
|
|
|
{
|
|
|
|
|
List<TUser> users = MaterialTaskBll.GetTaskUsers(0, viewType, task.FFactoryID);
|
|
|
|
|
|
|
|
|
|
if (users != null && users.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
// 结束物料分类任务
|
|
|
|
|
MaterialTaskBll.CloseMaterialTask(teamId, user.FID, 0);
|
|
|
|
|
// 创建物料编辑任务
|
|
|
|
|
int taskId = MaterialTaskBll.CreateMaterialTask(teamId, teamworkType, user.FID, 1, task.FFactoryID);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//if (tasks != null && tasks.Count == 1)
|
|
|
|
|
//{
|
|
|
|
|
// TFS_FMaterialTask task = tasks[0];
|
|
|
|
|
// if (task.FType == 0)
|
|
|
|
|
// {
|
|
|
|
|
// // 结束物料分类任务
|
|
|
|
|
// MaterialTaskBll.CloseMaterialTask(teamId, user.FID, 0);
|
|
|
|
|
// // 创建物料编辑任务
|
|
|
|
|
// int taskId = MaterialTaskBll.CreateMaterialTask(teamId, user.FID, 1, task.FFactoryID);
|
|
|
|
|
// }
|
|
|
|
|
//}
|
|
|
|
|
//else if (tasks.Count == 2)
|
|
|
|
|
//{
|
|
|
|
|
// TFS_FMaterialTask task = tasks.FindLast(t => t.FType == 1);
|
|
|
|
|
|
|
|
|
|
// if (task != null)
|
|
|
|
|
// {
|
|
|
|
|
// // 结束物料编辑任务
|
|
|
|
|
// MaterialTaskBll.CloseMaterialTask(teamId, user.FID, 1);
|
|
|
|
|
// // 创建物料确认任务
|
|
|
|
|
// int taskId = MaterialTaskBll.CreateMaterialTask(teamId, user.FID, 2, task.FFactoryID);
|
|
|
|
|
// }
|
|
|
|
|
//}
|
|
|
|
|
//else if (tasks.Count == 3)
|
|
|
|
|
//{
|
|
|
|
|
// TFS_FMaterialTask task = tasks.FindLast(t => t.FType == 2);
|
|
|
|
|
|
|
|
|
|
// if (task != null)
|
|
|
|
|
// {
|
|
|
|
|
// // 结束物料确认任务
|
|
|
|
|
// MaterialTaskBll.CloseMaterialTask(teamId, user.FID, 2);
|
|
|
|
|
// MaterialTeamworkBll.CloseMaterialTeamwork(teamId, user.FID);
|
|
|
|
|
// }
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
apiResult.Data = teamId;
|
|
|
|
|
int taskId = MaterialTaskBll.CreateMaterialTask(teamId, teamworkType, user.FID, 1, task.FFactoryID, users);
|
|
|
|
|
result.Add("TaskId", taskId);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
result.Add("TaskId", -9);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
result.Add("TeamId", teamId);
|
|
|
|
|
apiResult.Data = result;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}, apiResult, Request, inParam);
|
|
|
|
|
@ -432,6 +435,10 @@ namespace FactorySystemApi.Controllers
|
|
|
|
|
result.Add("ViewId", vmId);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
List<TUser> users = MaterialTaskBll.GetTaskUsers(0, view.FMRP1ProductType, factory.FID);
|
|
|
|
|
|
|
|
|
|
if (users == null || users.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
// 设置物料修改路线
|
|
|
|
|
teamworkParam.Add("FTeamworkType", 2); // 路线类型-修改
|
|
|
|
|
teamworkParam.Add("FState", 1); // 路线状态-进行中
|
|
|
|
|
@ -493,8 +500,13 @@ namespace FactorySystemApi.Controllers
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 创建物料修改事项
|
|
|
|
|
int taskId = MaterialTaskBll.CreateMaterialTask(teamId, 2, user.FID, 1, factory.FID);
|
|
|
|
|
int taskId = MaterialTaskBll.CreateMaterialTask(teamId, 2, user.FID, 1, factory.FID, users);
|
|
|
|
|
result.Add("TaskId", taskId);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
result.Add("TaskId", -9);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
apiResult.Data = result;
|
|
|
|
|
|
|
|
|
|
@ -544,6 +556,44 @@ namespace FactorySystemApi.Controllers
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private string GetViewType(List<Dictionary<string, object>> viewList)
|
|
|
|
|
{
|
|
|
|
|
string vType = null;
|
|
|
|
|
|
|
|
|
|
if (viewList != null && viewList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
Dictionary<string, object> view = viewList[0];
|
|
|
|
|
// 成品视图
|
|
|
|
|
if (view.ContainsKey("FMRP1ProductType") && "10".Equals(view["FMRP1ProductType"].ToString()))
|
|
|
|
|
{
|
|
|
|
|
vType = "1";
|
|
|
|
|
}
|
|
|
|
|
// 半成品视图
|
|
|
|
|
else if (view.ContainsKey("FMRP1ProductType") && "20".Equals(view["FMRP1ProductType"].ToString()))
|
|
|
|
|
{
|
|
|
|
|
vType = "2";
|
|
|
|
|
}
|
|
|
|
|
// 中间品视图
|
|
|
|
|
else if (view.ContainsKey("FMRP1ProductType") && "30".Equals(view["FMRP1ProductType"].ToString()))
|
|
|
|
|
{
|
|
|
|
|
vType = "3";
|
|
|
|
|
|
|
|
|
|
// 香基视图
|
|
|
|
|
if (view.ContainsKey("FBaseMaterialDesc") && view["FBaseMaterialDesc"].ToString().Contains("香基"))
|
|
|
|
|
{
|
|
|
|
|
vType = "4";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// 原料视图
|
|
|
|
|
else if (view.ContainsKey("FMRP1ProductType") && "40".Equals(view["FMRP1ProductType"].ToString()))
|
|
|
|
|
{
|
|
|
|
|
vType = "5";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return vType;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
public T Clone<T>(T obj) where T : class
|
|
|
|
|
|