|
|
|
@ -188,148 +188,140 @@ namespace FactorySystemApi.Controllers
|
|
|
|
{
|
|
|
|
{
|
|
|
|
//对接获取
|
|
|
|
//对接获取
|
|
|
|
//inParam.Add("FMdmCode", GetMdmCode(inParam));
|
|
|
|
//inParam.Add("FMdmCode", GetMdmCode(inParam));
|
|
|
|
var ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
|
|
|
|
//var ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
|
|
|
|
inParam.Add("FMdmCode", ts.TotalSeconds.ToString("F0"));
|
|
|
|
//inParam.Add("FMdmCode", ts.TotalSeconds.ToString("F0"));
|
|
|
|
if (!inParam.ContainsKey("FMdmCode") || string.IsNullOrEmpty(inParam["FMdmCode"].ToString().Trim()))
|
|
|
|
try
|
|
|
|
{
|
|
|
|
{
|
|
|
|
apiResult.Error("获取MDM失败");
|
|
|
|
inParam.TryGetValue("FState", out object state);
|
|
|
|
}
|
|
|
|
if (null == state)
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
try
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
inParam.TryGetValue("FState", out object state);
|
|
|
|
inParam["FState"] = state = 1;
|
|
|
|
if (null == state)
|
|
|
|
}
|
|
|
|
{
|
|
|
|
inParam.Remove("FID");
|
|
|
|
inParam["FState"] = state = 1;
|
|
|
|
ApiAuthInfo user = Request.Properties["token"] as ApiAuthInfo;
|
|
|
|
}
|
|
|
|
if (inParam.ContainsKey("FAddUser"))
|
|
|
|
inParam.Remove("FID");
|
|
|
|
{
|
|
|
|
ApiAuthInfo user = Request.Properties["token"] as ApiAuthInfo;
|
|
|
|
inParam["FAddUser"] = user.FID;
|
|
|
|
if (inParam.ContainsKey("FAddUser"))
|
|
|
|
}
|
|
|
|
{
|
|
|
|
else
|
|
|
|
inParam["FAddUser"] = user.FID;
|
|
|
|
{
|
|
|
|
}
|
|
|
|
inParam.Add("FAddUser", user.FID);
|
|
|
|
else
|
|
|
|
}
|
|
|
|
{
|
|
|
|
if (inParam.ContainsKey("FEditUser"))
|
|
|
|
inParam.Add("FAddUser", user.FID);
|
|
|
|
{
|
|
|
|
}
|
|
|
|
inParam["FEditUser"] = user.FID;
|
|
|
|
if (inParam.ContainsKey("FEditUser"))
|
|
|
|
}
|
|
|
|
{
|
|
|
|
else
|
|
|
|
inParam["FEditUser"] = user.FID;
|
|
|
|
{
|
|
|
|
}
|
|
|
|
inParam.Add("FEditUser", user.FID);
|
|
|
|
else
|
|
|
|
}
|
|
|
|
{
|
|
|
|
if (inParam.ContainsKey("FEditDate"))
|
|
|
|
inParam.Add("FEditUser", user.FID);
|
|
|
|
{
|
|
|
|
}
|
|
|
|
inParam["FEditDate"] = DateTime.Now;
|
|
|
|
if (inParam.ContainsKey("FEditDate"))
|
|
|
|
}
|
|
|
|
{
|
|
|
|
else
|
|
|
|
inParam["FEditDate"] = DateTime.Now;
|
|
|
|
{
|
|
|
|
}
|
|
|
|
inParam.Add("FEditDate", DateTime.Now);
|
|
|
|
else
|
|
|
|
}
|
|
|
|
{
|
|
|
|
|
|
|
|
inParam.Add("FEditDate", DateTime.Now);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//TUser tUser = BaseBll.GetTempModel<TUser>(user.FID);
|
|
|
|
//TUser tUser = BaseBll.GetTempModel<TUser>(user.FID);
|
|
|
|
TFS_Factory factory = BaseBll.GetTempModel<TFS_Factory>(int.Parse(inParam["FCreateFactoryID"].ToString()));
|
|
|
|
TFS_Factory factory = BaseBll.GetTempModel<TFS_Factory>(int.Parse(inParam["FCreateFactoryID"].ToString()));
|
|
|
|
if (inParam.ContainsKey("FCreateFactoryID"))
|
|
|
|
if (inParam.ContainsKey("FCreateFactoryID"))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
inParam.Remove("FCreateFactoryID");
|
|
|
|
inParam.Remove("FCreateFactoryID");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
inParam.Add("FCreateFactoryID", factory.FID);
|
|
|
|
inParam.Add("FCreateFactoryID", factory.FID);
|
|
|
|
inParam.Add("FCreateFactoryCode", factory.FCode);
|
|
|
|
inParam.Add("FCreateFactoryCode", factory.FCode);
|
|
|
|
inParam.Add("FCreateFactoryType", factory.FType);
|
|
|
|
inParam.Add("FCreateFactoryType", factory.FType);
|
|
|
|
if (factory.FType != (int)Constant.FactoryType.单工厂)
|
|
|
|
if (factory.FType != (int)Constant.FactoryType.单工厂)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
factory = BaseBll.GetTempModel<TFS_Factory>(factory.FFactoryID);
|
|
|
|
factory = BaseBll.GetTempModel<TFS_Factory>(factory.FFactoryID);
|
|
|
|
inParam.Add("FProdFactoryID", factory.FID);
|
|
|
|
inParam.Add("FProdFactoryID", factory.FID);
|
|
|
|
inParam.Add("FProdFactoryCode", factory.FCode);
|
|
|
|
inParam.Add("FProdFactoryCode", factory.FCode);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
|
inParam.Add("FProdFactoryID", factory.FID);
|
|
|
|
inParam.Add("FProdFactoryID", factory.FID);
|
|
|
|
inParam.Add("FProdFactoryCode", factory.FCode);
|
|
|
|
inParam.Add("FProdFactoryCode", factory.FCode);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (!inParam.ContainsKey("FSaleCode"))
|
|
|
|
if (!inParam.ContainsKey("FSaleCode"))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
inParam.Add("FSaleCode", "");
|
|
|
|
inParam.Add("FSaleCode", "");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//创建 TFS_FTeamwork
|
|
|
|
//创建 TFS_FTeamwork
|
|
|
|
int teamId = BaseBll.InsertDataModel(inParam, "TFS_HalfMaterialFTeamwork");
|
|
|
|
int teamId = BaseBll.InsertDataModel(inParam, "TFS_HalfMaterialFTeamwork");
|
|
|
|
|
|
|
|
|
|
|
|
List<TFS_Material> editMaterialList = MaterialTeamworkBll.UpdateFormula(inParam["FTestCode"].ToString(), inParam["FNewTestCode"].ToString(), teamId, factory.FID);
|
|
|
|
List<TFS_Material> editMaterialList = MaterialTeamworkBll.UpdateFormula(inParam["FTestCode"].ToString(), inParam["FNewTestCode"].ToString(), teamId, factory.FID);
|
|
|
|
ids = editMaterialList.Select(m => m.FID).Distinct().ToList();
|
|
|
|
ids = editMaterialList.Select(m => m.FID).Distinct().ToList();
|
|
|
|
|
|
|
|
|
|
|
|
apiResult.Data = teamId;
|
|
|
|
apiResult.Data = teamId;
|
|
|
|
if (teamId > 0)
|
|
|
|
if (teamId > 0)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
inParam.Add("FID", teamId);
|
|
|
|
|
|
|
|
//创建流程
|
|
|
|
|
|
|
|
int resultProcessCreate = MaterialTeamworkBll.CreateProcessData(teamId, user.FID);
|
|
|
|
|
|
|
|
if (resultProcessCreate > 0)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
inParam.Add("FID", teamId);
|
|
|
|
//直接走下一步
|
|
|
|
//创建流程
|
|
|
|
if (state.ToString().Contains("1"))
|
|
|
|
int resultProcessCreate = MaterialTeamworkBll.CreateProcessData(teamId, user.FID);
|
|
|
|
|
|
|
|
if (resultProcessCreate > 0)
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
//直接走下一步
|
|
|
|
TFS_HalfMaterialFTeamwork teamwork = BaseBll.GetTempModel<TFS_HalfMaterialFTeamwork>(teamId);
|
|
|
|
if (state.ToString().Contains("1"))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//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<TFS_HalfMaterialFTeamwork>(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<TFS_HalfMaterialFTeamwork>(teamId);
|
|
|
|
MaterialTeamworkBll.HasMaterialTestCode(teamwork);
|
|
|
|
|
|
|
|
BaseBll.CreateTaskData2(teamwork.FID, user.FID, "1"); //新增物料分类事项
|
|
|
|
|
|
|
|
BaseBll.UpdateTeamProcess2(teamId, (int)Constant.HalfMaterialProcessType.物料分类, 2, 1); // 更新物料分类流程
|
|
|
|
//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<TFS_HalfMaterialFTeamwork>(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);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
|
BaseBll.CreateTaskData2(teamId, user.FID, ((int)Constant.HalfMaterialTask.BOM下载).ToString());
|
|
|
|
BaseBll.DeleteDataById(teamId, "TFS_HalfMaterialFTeamwork", true);
|
|
|
|
BaseBll.UpdateTeamProcess2(teamId, (int)Constant.HalfMaterialTask.BOM下载, 1, 1);
|
|
|
|
apiResult.Error("未能找到物料");
|
|
|
|
|
|
|
|
//BaseBll.CreateTaskData2(teamId, user.FID, ((int)Constant.HalfMaterialTask.BOM下载).ToString());
|
|
|
|
|
|
|
|
//BaseBll.UpdateTeamProcess2(teamId, (int)Constant.HalfMaterialTask.物料分类, 1, 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
|
BaseBll.DeleteDataById(teamId, "TFS_HalfMaterialFTeamwork", true);
|
|
|
|
BaseBll.CreateTaskData2(teamId, user.FID, ((int)Constant.HalfMaterialTask.BOM下载).ToString());
|
|
|
|
apiResult.Error("流程创建失败,请稍后重试");
|
|
|
|
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)
|
|
|
|
}
|
|
|
|
{
|
|
|
|
catch (Exception ex)
|
|
|
|
//失败则把修改的更新回去
|
|
|
|
{
|
|
|
|
MaterialTeamworkBll.UpdateFormula(inParam["FTestCode"].ToString(), inParam["FNewTestCode"].ToString(),0,0,string.Join(",",ids));
|
|
|
|
//失败则把修改的更新回去
|
|
|
|
throw;
|
|
|
|
MaterialTeamworkBll.UpdateFormula(inParam["FTestCode"].ToString(), inParam["FNewTestCode"].ToString(), 0, 0, string.Join(",", ids));
|
|
|
|
}
|
|
|
|
throw;
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}, apiResult, Request, inParam);
|
|
|
|
}, apiResult, Request, inParam);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -1152,7 +1144,7 @@ namespace FactorySystemApi.Controllers
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
|
dataList = MaterialTeamworkBll.GetTeamworkViewData(selectSql.Trim(','), whereSql, joinSql);
|
|
|
|
dataList = MaterialTeamworkBll.GetHalfMaterialTeamworkViewData(selectSql.Trim(','), whereSql, joinSql);
|
|
|
|
dataList.Columns.Remove("FMaterialID");
|
|
|
|
dataList.Columns.Remove("FMaterialID");
|
|
|
|
if (intType == (int)Constant.TeamViewType.生产版本视图)
|
|
|
|
if (intType == (int)Constant.TeamViewType.生产版本视图)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|