diff --git a/FactorySystemApi/Controllers/TeamworkController.cs b/FactorySystemApi/Controllers/TeamworkController.cs
index db01944..a15e962 100644
--- a/FactorySystemApi/Controllers/TeamworkController.cs
+++ b/FactorySystemApi/Controllers/TeamworkController.cs
@@ -13,6 +13,7 @@ using System.IO;
using Newtonsoft.Json.Linq;
using FactorySystemApi.Plm_Formula;
using System.Linq;
+using SqlSugar;
namespace FactorySystemApi.Controllers
{
@@ -77,9 +78,6 @@ namespace FactorySystemApi.Controllers
{
//对接获取
//inParam.Add("FMdmCode", GetMdmCode(inParam));
-
-
-
var ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
inParam.Add("FMdmCode", ts.TotalSeconds.ToString("F0"));
if (!inParam.ContainsKey("FMdmCode") || string.IsNullOrEmpty(inParam["FMdmCode"].ToString().Trim()))
@@ -146,7 +144,8 @@ namespace FactorySystemApi.Controllers
TeamworkBll.CreateProductView(teamwork, null, user.FID);
//开始BOM下载
DockGetBomData(teamwork.FID, user.FID);
- } else {
+ }
+ else {
TeamworkBll.CreateProductView(teamwork, materialList, user.FID);
TeamworkBll.HasMaterialTestCode(teamwork);
//补充包材规格
@@ -389,8 +388,100 @@ namespace FactorySystemApi.Controllers
}, apiResult, Request, inParam);
}
+ ///
+ /// 更新物料分类
+ ///
+ ///
+ ///
+ [HttpPost]
+ public ApiResult EditTypeList(Dictionary inParam)
+ {
+ ApiResult apiResult = new ApiResult();
+ return ExceptionHelper.TryReturnException(() => {
+ if (inParam["tempId"] != null && inParam["taskId"]!=null)
+ {
+ string sql = "";
+ JArray item = JArray.Parse(inParam["list"].ToString());
+ for (int i = 0; i < item.Count; i++)
+ {
+ JObject a = JObject.Parse(item[i].ToString());
+ sql += string.Format("update TFS_Material set FTypeID1={0},FTypeID2={1} where FID={2};", a["FTypeID1"].ToString(), a["FTypeID2"].ToString(), a["FMaterialID"].ToString());
+ }
+ int count = TeamworkBll.ExecSql(sql);
+ apiResult.Data = NextTask(int.Parse(inParam["tempId"].ToString()),int.Parse(inParam["taskId"].ToString()));
+ }
+
+
+ }, apiResult, Request, inParam);
+
+ }
+
#region 对接相关
+
+ private int NextTask(int teamId,int taskId)
+ {
+ int result = 0;
+ List specifList = new List() { new Specifications() };
+ TFS_FTeamwork teamwork = BaseBll.GetTempModel(teamId);
+ try
+ {
+ ApiAuthInfo user = Request.Properties["token"] as ApiAuthInfo;
+ TFS_Formula formula = BaseBll.GetTempModel(teamwork.FFormulaID);
+ OAService oAService = new OAService();
+ specifList[0].Code = formula.FTestCode;
+ specifList[0].Version = formula.FVersionCode;
+ RestResult restResult = oAService.GetSpecificationsList(specifList.ToArray());
+ string bomStr = restResult.data == null ? "[]" : restResult.data.ToString();
+ ExceptionHelper.AddSystemJournal(Request, specifList[0], restResult,user.FID, "DockGetBomData");
+ List bomList = JsonConvert.DeserializeObject>(bomStr);
+
+
+ if (bomList != null && bomList.Count > 0)
+ {
+
+ //修改协同主数据
+ Dictionary upParam = new Dictionary
+ {
+ { "FID", teamwork.FID },
+ { "FBomState", 1 },
+ { "FBomJson", bomStr }
+ };
+ BaseBll.UpdateDataModel(upParam, "TFS_FTeamwork");
+ BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType.视图类型编辑, 2, 2);
+ int count= TeamworkBll.ExecSql(BaseBll.GetTaskSql(taskId, 2, teamId, (int)Constant.ProcessType.视图类型编辑));
+
+ BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType.协同发起, 3, 2);
+
+ if (teamwork.FPackID == -1)
+ {
+ BaseBll.CreateTaskData(teamwork.FID, user.FID, "9");//新增新包材事项
+ BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType.组装BOM包含新包材, 2, 1);
+ }
+ else
+ {
+ BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType.组装BOM包含新包材, 3, 2);
+ }
+ //等类型修改结束使用
+ //成品视图
+ BaseBll.CreateTaskData(teamwork.FID, user.FID, "3", teamwork.FCreateFactoryID + "," + teamwork.FProdFactoryID);
+ //补充包材规格
+ BaseBll.CreateTaskData(teamwork.FID, user.FID, "14");
+ //成品视图物料组复核,有权限的所有
+ BaseBll.CreateTaskData(teamwork.FID, user.FID, "12");
+ TeamworkBll.ChangeTeamProcess(teamwork.FID);
+ result = 1;
+ }
+
+ }
+ catch (Exception)
+ {
+
+ throw;
+ }
+ return result;
+ }
+
///
/// 对接获取Bom数据
///
@@ -438,23 +529,28 @@ namespace FactorySystemApi.Controllers
};
BaseBll.UpdateDataModel(upParam, "TFS_FTeamwork");
//协同发起事项
- BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType.协同发起, 3, 2);
- BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType.成品视图, 2, 1);
- if (teamwork.FPackID == -1)
- {
- BaseBll.CreateTaskData(teamwork.FID, userId, "9");//新增新包材事项
- BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType.组装BOM包含新包材, 2, 1);
- }
- else
- {
- BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType.组装BOM包含新包材, 3, 2);
- }
- //成品视图
- BaseBll.CreateTaskData(teamwork.FID, userId, "3", teamwork.FCreateFactoryID + "," + teamwork.FProdFactoryID);
- //补充包材规格
- BaseBll.CreateTaskData(teamwork.FID, userId, "14");
- //成品视图物料组复核,有权限的所有
- BaseBll.CreateTaskData(teamwork.FID, userId, "12");
+ //BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType.协同发起, 3, 2);
+ BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType.视图类型编辑, 2, 1);
+ //改
+ //if (teamwork.FPackID == -1)
+ //{
+ //
+
+ // //BaseBll.CreateTaskData(teamwork.FID, userId, "9");//新增新包材事项
+ // //BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType.组装BOM包含新包材, 2, 1);
+ //}
+ //else
+ //{
+ // BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType.组装BOM包含新包材, 3, 2);
+ //}
+ ///等类型修改结束使用
+ ////成品视图
+ //BaseBll.CreateTaskData(teamwork.FID, userId, "3", teamwork.FCreateFactoryID + "," + teamwork.FProdFactoryID);
+ ////补充包材规格
+ //BaseBll.CreateTaskData(teamwork.FID, userId, "14");
+ ////成品视图物料组复核,有权限的所有
+ //BaseBll.CreateTaskData(teamwork.FID, userId, "12");
+ BaseBll.CreateTaskData(teamwork.FID, userId, "15");//新增新包材事项
OperateLogBll.Add(teamwork.FID, 2, "BOM下载成功", userId);
TeamworkBll.ChangeTeamProcess(teamwork.FID);
result = 1;
@@ -479,6 +575,10 @@ namespace FactorySystemApi.Controllers
return result;
}
+
+
+
+
///
/// 递归梳理BOM
///
diff --git a/FactorySystemApi/Controllers/View2Controller.cs b/FactorySystemApi/Controllers/View2Controller.cs
index d0e6f02..b16a4a0 100644
--- a/FactorySystemApi/Controllers/View2Controller.cs
+++ b/FactorySystemApi/Controllers/View2Controller.cs
@@ -13,7 +13,7 @@ namespace FactorySystemApi.Controllers
/// 视图接口
///
[UserLoginFilter]
- public class ViewController : BaseController
+ public class View2Controller : BaseController
{
private readonly ViewBll _viewBll = new ViewBll();
diff --git a/FactorySystemApi/Controllers/ViewController.cs b/FactorySystemApi/Controllers/ViewController.cs
index 4910644..d841c93 100644
--- a/FactorySystemApi/Controllers/ViewController.cs
+++ b/FactorySystemApi/Controllers/ViewController.cs
@@ -13,7 +13,7 @@ namespace FactorySystemApi.Controllers
/// 视图接口
///
[UserLoginFilter]
- public class View2Controller : BaseController
+ public class ViewController : BaseController
{
private readonly ViewBll _viewBll = new ViewBll();
@@ -29,14 +29,27 @@ namespace FactorySystemApi.Controllers
if (Request.Properties["token"] is ApiAuthInfo user)
{
int teamId = int.Parse(inParam["teamId"].ToString());
- int viewType = int.Parse(inParam["viewType"].ToString());
- apiResult.Data = new
+ if (string.IsNullOrWhiteSpace(inParam["viewType"].ToString()))
{
- columns = _viewBll.GetColumns(),
- rows = _viewBll.GetListByTeamId(teamId, viewType, user.FID, out List materialId, out string FGuaranteePeriod, out string FStorageConditions, !inParam.ContainsKey("FAllView")),
- infos = _viewBll.GetMaterialInfoList(materialId, FGuaranteePeriod, FStorageConditions, user.FID),
- types = _viewBll.GetMaterialTypeList()
- };
+ apiResult.Data = new
+ {
+ columns = _viewBll.GetColumns(),
+ rows = _viewBll.GetListByTeamId2(teamId, user.FID, out List materialId, out string FGuaranteePeriod, out string FStorageConditions, !inParam.ContainsKey("FAllView")),
+ infos = _viewBll.GetMaterialInfoList(materialId, FGuaranteePeriod, FStorageConditions, user.FID),
+ types = _viewBll.GetMaterialTypeList()
+ };
+ }
+ else
+ {
+ int viewType = int.Parse(inParam["viewType"].ToString());
+ apiResult.Data = new
+ {
+ columns = _viewBll.GetColumns(),
+ rows = _viewBll.GetListByTeamId(teamId, viewType, user.FID, out List materialId, out string FGuaranteePeriod, out string FStorageConditions, !inParam.ContainsKey("FAllView")),
+ infos = _viewBll.GetMaterialInfoList(materialId, FGuaranteePeriod, FStorageConditions, user.FID),
+ types = _viewBll.GetMaterialTypeList()
+ };
+ }
}
}, apiResult, Request);
}
diff --git a/FactorySystemBll/TeamworkBll.cs b/FactorySystemBll/TeamworkBll.cs
index 2225ace..3ef0e4c 100644
--- a/FactorySystemBll/TeamworkBll.cs
+++ b/FactorySystemBll/TeamworkBll.cs
@@ -130,6 +130,7 @@ namespace FactorySystemBll
int proType = int.Parse(item.FValue);
switch (proType)
{
+ case (int)Constant.ProcessType.视图类型编辑:
case (int)Constant.ProcessType.协同发起:
string funcIds1 = "1,2,3";//36
users = db.Queryable().Where(string.Format(@"FState=1 and FRoleID in(select distinct FRoleID from
@@ -265,6 +266,12 @@ namespace FactorySystemBll
return db.Ado.GetDataTable(strSql);
}
+ public int ExecSql(string sql)
+ {
+ SqlSugarClient db = AppSettingsHelper.GetSqlSugar();
+ return db.Ado.ExecuteCommand(sql);
+ }
+
///
/// BOM梳理结果数据处理
///
@@ -295,8 +302,8 @@ namespace FactorySystemBll
{
if (factory == null)
{
- string tempSql = @"select * from TFS_Factory where FID=(select FFactoryID from TUser where FID={0})";
- factory = db.SqlQueryable(string.Format(tempSql, userId)).First();
+ string tempSql = @"select * from TFS_Factory where FID=(SELECT FCreateFactoryID FROM TFS_FTeamwork WHERE FID={0})";
+ factory = db.SqlQueryable(string.Format(tempSql, teamId)).First();
}
if (factory != null)
{
@@ -556,8 +563,14 @@ namespace FactorySystemBll
db.Insertable(mainView).IgnoreColumns(true).ExecuteCommand();
if (teamInfo.FProdFactoryID != teamInfo.FCreateFactoryID)
{
+
+ mainMater.FFactoryID = teamInfo.FProdFactoryID;
+ mainMater.FFactoryCode = teamInfo.FProdFactoryCode;
+ mainMater.FID = db.Insertable(mainMater).IgnoreColumns(true).ExecuteReturnIdentity();
+
mainView.FFactoryID = teamInfo.FProdFactoryID;
mainView.FFactoryCode = teamInfo.FProdFactoryCode;
+ mainView.FMaterialID = mainMater.FID;
db.Insertable(mainView).IgnoreColumns(true).ExecuteCommand();
}
//成品视图
diff --git a/FactorySystemBll/ViewBll.cs b/FactorySystemBll/ViewBll.cs
index c229d1d..e352ee5 100644
--- a/FactorySystemBll/ViewBll.cs
+++ b/FactorySystemBll/ViewBll.cs
@@ -68,6 +68,71 @@ namespace FactorySystemBll
return viewList;
}
+
+ ///
+ /// 根据协同ID获取物料视图
+ ///
+ public List> GetListByTeamId2(int teamId, int currUserId, out List materialId, out string FGuaranteePeriod, out string FStorageConditions, bool byFactory = true)
+ {
+ TUser currUser = null;
+ FGuaranteePeriod = "";
+ FStorageConditions = "";
+ //if (byFactory == true) currUser = BaseBll.GetTempModel(currUserId, "FFactoryID");
+ var db = AppSettingsHelper.GetSqlSugar();
+ List> viewList = db.Queryable((a, b) =>
+ new JoinQueryInfos(JoinType.Inner, a.FMaterialID == b.FID))
+ .Where((a, b) => a.FTeamID == teamId)
+ //.WhereIF(currUser != null, (a, b) => a.FFactoryID == currUser.FFactoryID)
+ .Select