新增物料分类事项

master
leo 3 years ago
parent c0d0f9d857
commit 7dca50e9ff

File diff suppressed because it is too large Load Diff

@ -148,22 +148,31 @@ namespace FactorySystemApi.Controllers
else { else {
TeamworkBll.CreateProductView(teamwork, materialList, user.FID); TeamworkBll.CreateProductView(teamwork, materialList, user.FID);
TeamworkBll.HasMaterialTestCode(teamwork); TeamworkBll.HasMaterialTestCode(teamwork);
//补充包材规格
BaseBll.CreateTaskData(teamId, user.FID, "14"); /**
//成品视图 * 20230414
BaseBll.CreateTaskData(teamwork.FID, user.FID, "3", teamwork.FCreateFactoryID + "," + teamwork.FProdFactoryID); *
//成品视图物料组复核,有权限的所有 *
BaseBll.CreateTaskData(teamwork.FID, user.FID, "12"); * **/
teamwork = BaseBll.GetTempModel<TFS_FTeamwork>(teamId); BaseBll.CreateTaskData(teamwork.FID, user.FID, "15"); //新增物料分类事项
if (teamwork.FPackID == -1) { BaseBll.UpdateTeamProcess(teamId, (int)Constant.ProcessType., 2, 1); // 更新物料分类流程
//新增新包材事项
BaseBll.CreateTaskData(teamId, user.FID, "9"); ////补充包材规格
BaseBll.UpdateTeamProcess(teamId, (int)Constant.ProcessType.BOM, 2, 1); //BaseBll.CreateTaskData(teamId, user.FID, "14");
} else { ////成品视图
BaseBll.UpdateTeamProcess(teamId, (int)Constant.ProcessType.BOM, 3, 2); //BaseBll.CreateTaskData(teamwork.FID, user.FID, "3", teamwork.FCreateFactoryID + "," + teamwork.FProdFactoryID);
} ////成品视图物料组复核,有权限的所有
BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType., 3, 2); //BaseBll.CreateTaskData(teamwork.FID, user.FID, "12");
BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType., 2, 1); //teamwork = BaseBll.GetTempModel<TFS_FTeamwork>(teamId);
//if (teamwork.FPackID == -1) {
// //新增新包材事项
// BaseBll.CreateTaskData(teamId, user.FID, "9");
// BaseBll.UpdateTeamProcess(teamId, (int)Constant.ProcessType.组装BOM包含新包材, 2, 1);
//} else {
// BaseBll.UpdateTeamProcess(teamId, (int)Constant.ProcessType.组装BOM包含新包材, 3, 2);
//}
//BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType.协同发起, 3, 2);
//BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType.成品视图, 2, 1);
} }
} }
else else
@ -219,18 +228,26 @@ namespace FactorySystemApi.Controllers
TeamworkBll.CreateProductView(teamwork, materialList, user.FID); TeamworkBll.CreateProductView(teamwork, materialList, user.FID);
TeamworkBll.HasMaterialTestCode(teamwork); TeamworkBll.HasMaterialTestCode(teamwork);
if (teamwork.FPackID == -1) /**
{ * 20230414
BaseBll.CreateTaskData(teamId, user.FID, "9");//新增新包材事项 *
BaseBll.UpdateTeamProcess(teamId, (int)Constant.ProcessType.BOM, 2, 1); *
} * **/
else BaseBll.CreateTaskData(teamwork.FID, user.FID, "15"); //新增物料分类事项
{ BaseBll.UpdateTeamProcess(teamId, (int)Constant.ProcessType., 2, 1); // 更新物料分类流程
BaseBll.UpdateTeamProcess(teamId, (int)Constant.ProcessType.BOM, 3, 2);
} //if (teamwork.FPackID == -1)
BaseBll.CreateTaskData(teamId, user.FID, "14");//补充包材规格 //{
BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType., 3, 2); // BaseBll.CreateTaskData(teamId, user.FID, "9");//新增新包材事项
BaseBll.UpdateTeamProcess(teamId, (int)Constant.ProcessType., 2, 1); // BaseBll.UpdateTeamProcess(teamId, (int)Constant.ProcessType.组装BOM包含新包材, 2, 1);
//}
//else
//{
// BaseBll.UpdateTeamProcess(teamId, (int)Constant.ProcessType.组装BOM包含新包材, 3, 2);
//}
//BaseBll.CreateTaskData(teamId, user.FID, "14");//补充包材规格
//BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType.协同发起, 3, 2);
//BaseBll.UpdateTeamProcess(teamId, (int)Constant.ProcessType.成品视图, 2, 1);
} }
TeamworkBll.ChangeTeamProcess(teamId); TeamworkBll.ChangeTeamProcess(teamId);
} }
@ -533,29 +550,33 @@ namespace FactorySystemApi.Controllers
{ "FBomJson", bomStr } { "FBomJson", bomStr }
}; };
BaseBll.UpdateDataModel(upParam, "TFS_FTeamwork"); BaseBll.UpdateDataModel(upParam, "TFS_FTeamwork");
//协同发起事项
/**
* 20230414
*
*
* **/
BaseBll.CreateTaskData(teamwork.FID, userId, "15"); //新增物料分类事项
BaseBll.UpdateTeamProcess(teamId, (int)Constant.ProcessType., 2, 1); // 更新物料分类流程
////协同发起事项
//BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType.协同发起, 3, 2); //BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType.协同发起, 3, 2);
BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType., 2, 1); //BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType.成品视图, 2, 1);
//改
//if (teamwork.FPackID == -1) //if (teamwork.FPackID == -1)
//{ //{
// // BaseBll.CreateTaskData(teamwork.FID, userId, "9");//新增新包材事项
// BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType.组装BOM包含新包材, 2, 1);
// //BaseBll.CreateTaskData(teamwork.FID, userId, "9");//新增新包材事项
// //BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType.组装BOM包含新包材, 2, 1);
//} //}
//else //else
//{ //{
// BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType.组装BOM包含新包材, 3, 2); // 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, "3", teamwork.FCreateFactoryID + "," + teamwork.FProdFactoryID);
////补充包材规格 ////补充包材规格
//BaseBll.CreateTaskData(teamwork.FID, userId, "14"); //BaseBll.CreateTaskData(teamwork.FID, userId, "14");
////成品视图物料组复核,有权限的所有 ////成品视图物料组复核,有权限的所有
//BaseBll.CreateTaskData(teamwork.FID, userId, "12"); //BaseBll.CreateTaskData(teamwork.FID, userId, "12");
BaseBll.CreateTaskData(teamwork.FID, userId, "15");//新增新包材事项
OperateLogBll.Add(teamwork.FID, 2, "BOM下载成功", userId); OperateLogBll.Add(teamwork.FID, 2, "BOM下载成功", userId);
TeamworkBll.ChangeTeamProcess(teamwork.FID); TeamworkBll.ChangeTeamProcess(teamwork.FID);
result = 1; result = 1;

@ -279,5 +279,62 @@ namespace FactorySystemApi.Controllers
apiResult.Data = UserBll.GetFPowerList(); apiResult.Data = UserBll.GetFPowerList();
}, apiResult, Request); }, apiResult, Request);
} }
/// <summary>
/// 获取冻结列
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetFreezingColumns()
{
ApiResult apiResult = new ApiResult();
return ExceptionHelper.TryReturnException(() =>
{
ApiAuthInfo user = Request.Properties["token"] as ApiAuthInfo;
apiResult.Data = UserBll.GetFreezingColumns(user.FID);
}, apiResult, Request);
}
/// <summary>
/// 修改删除冻结列
/// </summary>
/// <param name="freezingColumns"></param>
/// <returns></returns>
[HttpPost]
public ApiResult EditFreezingColumns(string freezingColumns)
{
ApiResult apiResult = new ApiResult();
return ExceptionHelper.TryReturnException(() =>
{
ApiAuthInfo user = Request.Properties["token"] as ApiAuthInfo;
TFS_FreezingColumns fc = (TFS_FreezingColumns)UserBll.GetFreezingColumns(user.FID);
if (fc == null)
{
fc = new TFS_FreezingColumns();
fc.FUserID = user.FID;
fc.FFreezingColumns = freezingColumns;
fc.FAddDate = DateTime.Now;
fc.FAddUser = user.FID;
List<TFS_FreezingColumns> fcl = new List<TFS_FreezingColumns>
{
fc
};
apiResult.Data = UserBll.CreateFreezingColumns(user.FID, fcl);
}
else
{
fc.FFreezingColumns = freezingColumns;
fc.FEditUser = user.FID;
fc.FEditDate = DateTime.Now;
apiResult.Data = UserBll.UpdateFreezingColumns(fc);
}
}, apiResult, Request);
}
} }
} }

@ -7,6 +7,8 @@ using FactorySystemModel.ResponseModel;
using FactorySystemModel.SqlSugarModel; using FactorySystemModel.SqlSugarModel;
using Microsoft.Ajax.Utilities; using Microsoft.Ajax.Utilities;
using Newtonsoft.Json; using Newtonsoft.Json;
using FactorySystemModel.EnumModel;
using Aspose.Cells;
namespace FactorySystemApi.Controllers namespace FactorySystemApi.Controllers
{ {
@ -116,7 +118,58 @@ 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 viewType = int.Parse(inParam["FViewType"].ToString()); int viewType = int.Parse(inParam["FViewType"].ToString());
_viewBll.UpdateBatchById2(viewList, materialList, infoList, teamId, viewType, user.FID); apiResult.Data = _viewBll.UpdateBatchById2(viewList, materialList, infoList, teamId, viewType, user.FID);
if (viewType == 10)
{
// 创建物料视图事项
TFS_FTeamwork teamwork = BaseBll.GetTempModel<TFS_FTeamwork>(teamId);
List<Dictionary<string, object>> vml = _viewBll.GetListByTeamId(teamId, viewType, user.FID, out List<int> materialId, out string FGuaranteePeriod, out string FStorageConditions, true);
Dictionary<int, string> hasNewView = new Dictionary<int, string>();
if (vml != null)
{
foreach(Dictionary<string, object> row in vml)
{
int materialType = (int)(long)row["FViewType"];
string factoryId = row["FFactoryID"].ToString();
if (materialType == 2 || materialType == 3 || materialType == 4 || materialType == 5)
{
if (hasNewView.ContainsKey(materialType))
{
hasNewView[materialType] = hasNewView[materialType] + factoryId + ",";
}
else
{
hasNewView.Add(materialType, factoryId + ",");
}
}
}
TeamworkBll TeamworkBll = new TeamworkBll();
TeamworkBll.CreateMaterialTask(hasNewView, teamwork, user.FID);
}
//补充包材规格
BaseBll.CreateTaskData(teamId, user.FID, "14");
//成品视图
BaseBll.CreateTaskData(teamwork.FID, user.FID, "3", teamwork.FCreateFactoryID + "," + teamwork.FProdFactoryID);
//成品视图物料组复核,有权限的所有
BaseBll.CreateTaskData(teamwork.FID, user.FID, "12");
teamwork = BaseBll.GetTempModel<TFS_FTeamwork>(teamId);
if (teamwork.FPackID == -1)
{
//新增新包材事项
BaseBll.CreateTaskData(teamId, user.FID, "9");
BaseBll.UpdateTeamProcess(teamId, (int)Constant.ProcessType.BOM, 2, 1);
}
else
{
BaseBll.UpdateTeamProcess(teamId, (int)Constant.ProcessType.BOM, 3, 2);
}
BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType., 3, 2);
BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType., 2, 1);
}
} }
}, apiResult, Request); }, apiResult, Request);
} }

@ -37,7 +37,7 @@ namespace FactorySystemBll
.WhereIF(tq.FUserID != null, a => (',' + a.FUserID + ',').Contains(',' + tq.FUserID + ',')) .WhereIF(tq.FUserID != null, a => (',' + a.FUserID + ',').Contains(',' + tq.FUserID + ','))
// 协同 // 协同
.WhereIF(tq.FTeamID > 0, a => a.FTeamID == tq.FTeamID).OrderBy((a, b, c) => a.FID, OrderByType.Desc) .WhereIF(tq.FTeamID > 0, a => a.FTeamID == tq.FTeamID).OrderBy((a, b, c) => a.FID, OrderByType.Desc)
.Select<TaskRow>("a.*,b.FSaleCode,b.FFormulaTestCode as FTestCode,b.FMdmCode,b.FFormulaName,b.FMaterialHalfIDs,cast(substring(c.FRemark,4,1)as int)as FViewType") .Select<TaskRow>("a.*,b.FSaleCode,b.FFormulaTestCode as FTestCode,b.FMdmCode,b.FFormulaName,b.FMaterialHalfIDs,cast(substring(c.FRemark,4,2)as int)as FViewType")
.ToPageList(tq.FPageIndex, tq.FPageSize, ref totalNumber); .ToPageList(tq.FPageIndex, tq.FPageSize, ref totalNumber);
} }

@ -7,6 +7,7 @@ using SqlSugar;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Data; using System.Data;
using System.Globalization;
using System.Linq; using System.Linq;
using System.Linq.Expressions; using System.Linq.Expressions;
using System.Reflection; using System.Reflection;
@ -389,6 +390,83 @@ namespace FactorySystemBll
formulaIds += first.FID + "," + fids; formulaIds += first.FID + "," + fids;
} }
} }
//if (hasNewView.Count() > 0)
//{
// hasNewView.OrderBy(s => s.Key);
// string facoryIds = ""; bool hasOther = false;
// foreach (var item in hasNewView)
// {
// //创建视图事项
// string factorys = item.Value.Trim(',');
// BaseBll.CreateTaskData(teamInfo.FID, userId, (item.Key + 2).ToString(), factorys);
// facoryIds += factorys;
// if (item.Key != (int)Constant.ViewType.原料视图) hasOther = true;
// }
// if (hasNewView.ContainsKey((int)Constant.ViewType.原料视图))
// {
// proSql += BaseBll.GetProcessSql(teamInfo.FID, (int)Constant.ProcessType.新原料视图, "F2", 1);
// }
// else
// {
// proSql += BaseBll.GetProcessSql(teamInfo.FID, (int)Constant.ProcessType.新原料视图, "F4", 2);
// }
// if (hasOther)
// {
// proSql += BaseBll.GetProcessSql(teamInfo.FID, (int)Constant.ProcessType.新半成品中间品香基, "F2", 1);
// }
// else
// {
// proSql += BaseBll.GetProcessSql(teamInfo.FID, (int)Constant.ProcessType.新半成品中间品香基, "F4", 2);
// }
// if (hasNewView.ContainsKey((int)Constant.ViewType.中间品视图) || hasNewView.ContainsKey((int)Constant.ViewType.香基视图)
// || hasNewView.ContainsKey((int)Constant.ViewType.半成品视图))
// {
// proSql += string.Format("update TFS_FTeamwork set FViewType=FViewType+',3,4' where FID={0};", teamInfo.FID);
// BaseBll.CreateTaskData(teamId, userId, "8");
// }
// proSql += BaseBll.GetProcessSql(teamInfo.FID, (int)Constant.ProcessType.配方视图, "F2", 1);
//}
//else
//{
// proSql += BaseBll.GetProcessSql(teamInfo.FID, (int)Constant.ProcessType.配方视图, "F2", 2);
// proSql += BaseBll.GetProcessSql(teamInfo.FID, (int)Constant.ProcessType.新半成品中间品香基, "F4", 2);
// proSql += BaseBll.GetProcessSql(teamInfo.FID, (int)Constant.ProcessType.新原料视图, "F4", 2);
//}
////下面两个要根据包材判断先改成进行中hasNewView == 0 && 包材是旧的,完成
//int pVersion = (hasNewView.Count == 0 && teamInfo.FPackID < 1) ? 2 : 1;
//proSql += BaseBll.GetProcessSql(teamInfo.FID, (int)Constant.ProcessType.生产工艺路线, "F2", pVersion);
//proSql += BaseBll.GetProcessSql(teamInfo.FID, (int)Constant.ProcessType.生成版本, "F2", pVersion);
string updateSql = "";
formulaIds = formulaIds.Replace(",,", ",").Replace(",,", ",").Replace(",,", ",").Trim(',');
if (!string.IsNullOrEmpty(formulaIds))
{
updateSql += string.Format("FMaterialFormulaIDs='{0}',FViewType=FViewType+',2',", formulaIds);
updateSql += string.Format("FBomFormula='{0}',", JsonConvert.SerializeObject(bfList));
}
if (!string.IsNullOrEmpty(halfIds)) updateSql += string.Format("FMaterialHalfIDs='{0}',", halfIds);
if (!string.IsNullOrEmpty(updateSql)) proSql += string.Format("update TFS_FTeamwork set {1} where FID={0};", teamInfo.FID, updateSql.Trim(','));
proSql += BaseBll.GetTaskSql(-1, 2, teamId, (int)Constant.TaskType.BOM, 2);
db.Ado.ExecuteCommand(proSql.Trim(';'));
db.CommitTran();
}
catch (Exception ex)
{
db.RollbackTran();
return false;
}
return true;
}
public bool CreateMaterialTask(Dictionary<int, string> hasNewView, TFS_FTeamwork teamInfo, int userId)
{
string proSql = "";
SqlSugarClient db = AppSettingsHelper.GetSqlSugar();
db.BeginTran();
try
{
if (hasNewView.Count() > 0) if (hasNewView.Count() > 0)
{ {
hasNewView.OrderBy(s => s.Key); hasNewView.OrderBy(s => s.Key);
@ -421,7 +499,7 @@ namespace FactorySystemBll
|| hasNewView.ContainsKey((int)Constant.ViewType.)) || hasNewView.ContainsKey((int)Constant.ViewType.))
{ {
proSql += string.Format("update TFS_FTeamwork set FViewType=FViewType+',3,4' where FID={0};", teamInfo.FID); proSql += string.Format("update TFS_FTeamwork set FViewType=FViewType+',3,4' where FID={0};", teamInfo.FID);
BaseBll.CreateTaskData(teamId, userId, "8"); BaseBll.CreateTaskData(teamInfo.FID, userId, "8");
} }
proSql += BaseBll.GetProcessSql(teamInfo.FID, (int)Constant.ProcessType., "F2", 1); proSql += BaseBll.GetProcessSql(teamInfo.FID, (int)Constant.ProcessType., "F2", 1);
} }
@ -435,28 +513,16 @@ namespace FactorySystemBll
int pVersion = (hasNewView.Count == 0 && teamInfo.FPackID < 1) ? 2 : 1; int pVersion = (hasNewView.Count == 0 && teamInfo.FPackID < 1) ? 2 : 1;
proSql += BaseBll.GetProcessSql(teamInfo.FID, (int)Constant.ProcessType.线, "F2", pVersion); proSql += BaseBll.GetProcessSql(teamInfo.FID, (int)Constant.ProcessType.线, "F2", pVersion);
proSql += BaseBll.GetProcessSql(teamInfo.FID, (int)Constant.ProcessType., "F2", pVersion); proSql += BaseBll.GetProcessSql(teamInfo.FID, (int)Constant.ProcessType., "F2", pVersion);
string updateSql = "";
formulaIds = formulaIds.Replace(",,", ",").Replace(",,", ",").Replace(",,", ",").Trim(',');
if (!string.IsNullOrEmpty(formulaIds))
{
updateSql += string.Format("FMaterialFormulaIDs='{0}',FViewType=FViewType+',2',", formulaIds);
updateSql += string.Format("FBomFormula='{0}',", JsonConvert.SerializeObject(bfList));
}
if (!string.IsNullOrEmpty(halfIds)) updateSql += string.Format("FMaterialHalfIDs='{0}',", halfIds);
if (!string.IsNullOrEmpty(updateSql)) proSql += string.Format("update TFS_FTeamwork set {1} where FID={0};", teamInfo.FID, updateSql.Trim(','));
proSql += BaseBll.GetTaskSql(-1, 2, teamId, (int)Constant.TaskType.BOM, 2);
db.Ado.ExecuteCommand(proSql.Trim(';'));
db.CommitTran();
} }
catch (Exception ex) catch (Exception ex)
{ {
db.RollbackTran(); db.RollbackTran();
return false; return false;
} }
return true; return true;
}
}
private List<BomFormulaDto> GetBomFormulaChild(TFS_Material first, List<TFS_Material> formulaList, out string fids) private List<BomFormulaDto> GetBomFormulaChild(TFS_Material first, List<TFS_Material> formulaList, out string fids)
{ {
@ -542,7 +608,7 @@ namespace FactorySystemBll
FTeamID = teamInfo.FID, FTeamID = teamInfo.FID,
FFactoryID = teamInfo.FCreateFactoryID, FFactoryID = teamInfo.FCreateFactoryID,
FFactoryCode = teamInfo.FCreateFactoryCode, FFactoryCode = teamInfo.FCreateFactoryCode,
FViewType = (int)Constant.ViewType., FViewType = (int)Constant.ViewType.,
FLevel = 1, FLevel = 1,
FEditUser = userId, FEditUser = userId,
FBaseMaterialCode = teamInfo.FMdmCode, FBaseMaterialCode = teamInfo.FMdmCode,

@ -394,5 +394,46 @@ namespace FactorySystemBll
return new List<TRole_Right>(); return new List<TRole_Right>();
} }
#endregion #endregion
/// <summary>
/// 获取冻结列
/// </summary>
public object GetFreezingColumns(int userId)
{
TFS_FreezingColumns tc = null;
SqlSugarClient db = AppSettingsHelper.GetSqlSugar();
List<TFS_FreezingColumns> tcl = db.Queryable<TFS_FreezingColumns>().Where(fc => fc.FDeleted != 1 && fc.FUserID == userId).ToList();
if (tcl != null && tcl.Count > 0)
{
tc = tcl[0];
}
return tc;
}
public int CreateFreezingColumns(int userId, List<TFS_FreezingColumns> list)
{
int result = 0;
if (list.Count() > 0)
{
SqlSugarClient db = AppSettingsHelper.GetSqlSugar();
db.Deleteable<TFS_FreezingColumns>().Where(s => s.FUserID == userId).ExecuteCommand();
result = db.Insertable(list).ExecuteCommand();
}
return result;
}
public int UpdateFreezingColumns(TFS_FreezingColumns fc)
{
int result = 0;
SqlSugarClient db = AppSettingsHelper.GetSqlSugar();
result = db.Updateable(fc).IgnoreColumns(true).ExecuteCommand();
return result;
}
} }
} }

@ -23,14 +23,39 @@ namespace FactorySystemBll
FStorageConditions = ""; FStorageConditions = "";
if (byFactory == true) currUser = BaseBll.GetTempModel<TUser>(currUserId, "FFactoryID"); if (byFactory == true) currUser = BaseBll.GetTempModel<TUser>(currUserId, "FFactoryID");
var db = AppSettingsHelper.GetSqlSugar(); var db = AppSettingsHelper.GetSqlSugar();
List<Dictionary<string, object>> viewList = db.Queryable<TFS_ViewMaterial, TFS_Material>((a, b) =>
new JoinQueryInfos(JoinType.Inner, a.FMaterialID == b.FID)) /**
.Where((a, b) => a.FTeamID == teamId) * 20230414
.WhereIF(currUser != null, (a, b) => a.FFactoryID == currUser.FFactoryID) *
.WhereIF(viewType > 0, (a, b) => a.FViewType == viewType) * viewType=10bomLista.FViewType in (2,3,4,5)
.Select<object>("distinct a.*,b.FTypeID1,b.FTypeID2,b.FK3Code,b.FK3Name,b.FK3ShortCode,b.FTestCode,b.FRelationCode,b.FRelationName,b.FSAPCode,b.FSAPDescription,b.FMaterialGroup,b.FMaterialType,b.FCustomerCode,b.FStoreHouse," + *
"b.FBomEntry,b.FLineHouse,b.FProductDesc,b.FWorkCenter,b.FCraftExplain,b.FIidentifier,b.FGuaranteePeriod,b.FBStorageConditions,b.FSafetyStock,b.FTriggerRatio,b.FMinAmount,b.FMaxAmount,b.FYield,b.FFixedLoss,b.FTheoryYield," + * viewTypeTBasicCodeFType=33FRemark
"b.FQualityTest1,b.FQualityTest2").ToDictionaryList(); * **/
List<Dictionary<string, object>> viewList = new List<Dictionary<string, object>>();
if (viewType == 10)
{
viewList = db.Queryable<TFS_ViewMaterial, TFS_Material>((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)
.WhereIF(viewType > 0, (a, b) => a.FViewType == 2 || a.FViewType == 3 || a.FViewType == 4 || a.FViewType == 5)
.Select<object>("distinct a.*,b.FTypeID1,b.FTypeID2,b.FK3Code,b.FK3Name,b.FK3ShortCode,b.FTestCode,b.FRelationCode,b.FRelationName,b.FSAPCode,b.FSAPDescription,b.FMaterialGroup,b.FMaterialType,b.FCustomerCode,b.FStoreHouse," +
"b.FBomEntry,b.FLineHouse,b.FProductDesc,b.FWorkCenter,b.FCraftExplain,b.FIidentifier,b.FGuaranteePeriod,b.FBStorageConditions,b.FSafetyStock,b.FTriggerRatio,b.FMinAmount,b.FMaxAmount,b.FYield,b.FFixedLoss,b.FTheoryYield," +
"b.FQualityTest1,b.FQualityTest2").ToDictionaryList();
}
else
{
viewList = db.Queryable<TFS_ViewMaterial, TFS_Material>((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)
.WhereIF(viewType > 0, (a, b) => a.FViewType == viewType)
.Select<object>("distinct a.*,b.FTypeID1,b.FTypeID2,b.FK3Code,b.FK3Name,b.FK3ShortCode,b.FTestCode,b.FRelationCode,b.FRelationName,b.FSAPCode,b.FSAPDescription,b.FMaterialGroup,b.FMaterialType,b.FCustomerCode,b.FStoreHouse," +
"b.FBomEntry,b.FLineHouse,b.FProductDesc,b.FWorkCenter,b.FCraftExplain,b.FIidentifier,b.FGuaranteePeriod,b.FBStorageConditions,b.FSafetyStock,b.FTriggerRatio,b.FMinAmount,b.FMaxAmount,b.FYield,b.FFixedLoss,b.FTheoryYield," +
"b.FQualityTest1,b.FQualityTest2").ToDictionaryList();
}
if (viewType == 1) { if (viewType == 1) {
List<Dictionary<string, object>> viewList1 = db.Queryable<TFS_ViewMaterial, TFS_Material>((a, b) => List<Dictionary<string, object>> viewList1 = db.Queryable<TFS_ViewMaterial, TFS_Material>((a, b) =>
new JoinQueryInfos(JoinType.Inner, a.FMaterialID == b.FID)) new JoinQueryInfos(JoinType.Inner, a.FMaterialID == b.FID))
@ -242,6 +267,10 @@ namespace FactorySystemBll
if (viewList != null && viewList.Count > 0) if (viewList != null && viewList.Count > 0)
{ {
string sqlWhere = string.Format("FViewType={0} and FTeamID={1}", viewType, teamId); string sqlWhere = string.Format("FViewType={0} and FTeamID={1}", viewType, teamId);
if (viewType == 10)
{
sqlWhere = string.Format("FViewType in (2, 3, 4, 5) and FTeamID={1}", viewType, teamId);
}
result += db.Updateable(viewList).AS("TFS_ViewMaterial").WhereColumns("FMaterialID").Where(sqlWhere).ExecuteCommand(); result += db.Updateable(viewList).AS("TFS_ViewMaterial").WhereColumns("FMaterialID").Where(sqlWhere).ExecuteCommand();
result += UnionModifyData(viewList, "TFS_ViewMaterial", teamId, db, "FMaterialID"); result += UnionModifyData(viewList, "TFS_ViewMaterial", teamId, db, "FMaterialID");
} }
@ -253,7 +282,14 @@ namespace FactorySystemBll
materialList[i].Remove("FMaterialID"); materialList[i].Remove("FMaterialID");
if (materialList[i].TryGetValue("FK3Code", out object k3Code)) if (materialList[i].TryGetValue("FK3Code", out object k3Code))
{ {
materialList[i].Add("FK3ShortCode", k3Code.ToString().Split('.').Last()); if (materialList[i].ContainsKey("FK3ShortCode"))
{
materialList[i]["FK3ShortCode"] = k3Code.ToString().Split('.').Last();
}
else
{
materialList[i].Add("FK3ShortCode", k3Code.ToString().Split('.').Last());
}
} }
} }
result += db.Updateable(materialList).AS("TFS_Material").WhereColumns("FID").ExecuteCommand(); result += db.Updateable(materialList).AS("TFS_Material").WhereColumns("FID").ExecuteCommand();
@ -285,10 +321,17 @@ namespace FactorySystemBll
string okResult = ""; string okResult = "";
if (string.IsNullOrEmpty(okResult) || okResult == "0") if (string.IsNullOrEmpty(okResult) || okResult == "0")
{ {
//视图类型+2是事项除了包材 if (taskType != 10)
taskType += 2; {
//视图类型+2是事项除了包材
taskType += 2;
if (taskType >= (int)Constant.TaskType.) taskType = (int)Constant.TaskType.;
}
else
{
taskType = 15;
}
string taskSql = ""; string taskSql = "";
if (taskType >= (int)Constant.TaskType.) taskType = (int)Constant.TaskType.;
int proType = -2; string appSql = " and(select count(1) from TFS_Task t where t.FTeamID=a.FTeamID and t.FType in({0}) and t.FState!=2)=0"; int proType = -2; string appSql = " and(select count(1) from TFS_Task t where t.FTeamID=a.FTeamID and t.FType in({0}) and t.FState!=2)=0";
switch (taskType) switch (taskType)
@ -305,11 +348,14 @@ namespace FactorySystemBll
case 7://新原料视图:7→新原料视图:4 case 7://新原料视图:7→新原料视图:4
proType = 4; proType = 4;
break; break;
case 15://物料分类视图:15→物料分类视图:0
proType = 0;
break;
case 11://新包材视图:7→新原料视图:8 case 11://新包材视图:7→新原料视图:8
proType = 8; proType = 8;
break; break;
} }
if (proType > 0) taskSql = BaseBll.GetProcessSql(teamId, proType, "F3", 2, string.Format(appSql, taskType)); if (taskType == 15 || proType > 0) taskSql = BaseBll.GetProcessSql(teamId, proType, "F3", 2, string.Format(appSql, taskType));
taskSql = BaseBll.GetTaskSql(-1, 2, teamId, taskType, -1, string.Format("','+a.FUserID+',' like ',%{0}%,'", userId)) + taskSql; taskSql = BaseBll.GetTaskSql(-1, 2, teamId, taskType, -1, string.Format("','+a.FUserID+',' like ',%{0}%,'", userId)) + taskSql;
result += db.Ado.ExecuteCommand(taskSql); result += db.Ado.ExecuteCommand(taskSql);
TeamworkBll.ChangeTeamProcess(teamId); TeamworkBll.ChangeTeamProcess(teamId);

@ -78,7 +78,8 @@ namespace FactorySystemModel.EnumModel
= 4, = 4,
= 5, = 5,
= 6, = 6,
= 7 = 7,
= 10
} }
/// <summary> /// <summary>

@ -64,6 +64,7 @@
<Compile Include="ResponseModel\TaskRow.cs" /> <Compile Include="ResponseModel\TaskRow.cs" />
<Compile Include="SqlSugarModel\Common.cs" /> <Compile Include="SqlSugarModel\Common.cs" />
<Compile Include="SqlSugarModel\FPower.cs" /> <Compile Include="SqlSugarModel\FPower.cs" />
<Compile Include="SqlSugarModel\TFS_FreezingColumns.cs" />
<Compile Include="SqlSugarModel\TDataCode.cs" /> <Compile Include="SqlSugarModel\TDataCode.cs" />
<Compile Include="SqlSugarModel\TBasicCode.cs" /> <Compile Include="SqlSugarModel\TBasicCode.cs" />
<Compile Include="SqlSugarModel\TFS_Factory.cs" /> <Compile Include="SqlSugarModel\TFS_Factory.cs" />

@ -0,0 +1,73 @@
using System;
using SqlSugar;
namespace FactorySystemModel.SqlSugarModel
{
///<summary>
///用户冻结表
///</summary>
[SugarTable("TFS_FreezingColumns")]
public partial class TFS_FreezingColumns
{
public TFS_FreezingColumns()
{
}
/// <summary>
/// Desc:主键
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
public int FID { get; set; }
/// <summary>
/// Desc:用户ID
/// Default:
/// Nullable:False
/// </summary>
public int FUserID { get; set; }
/// <summary>
/// Desc:冻结列
/// Default:
/// Nullable:False
/// </summary>
public string FFreezingColumns { get; set; }
/// <summary>
/// Desc:是否删除
/// Default:0
/// Nullable:False
/// </summary>
public int FDeleted { get; set; }
/// <summary>
/// Desc:添加人
/// Default:-1
/// Nullable:False
/// </summary>
public int FAddUser { get; set; }
/// <summary>
/// Desc:添加时间
/// Default:DateTime.Now
/// Nullable:False
/// </summary>
public DateTime FAddDate { get; set; }
/// <summary>
/// Desc:修改人
/// Default:-1
/// Nullable:False
/// </summary>
public int FEditUser { get; set; }
/// <summary>
/// Desc:修改时间
/// Default:DateTime.Now
/// Nullable:False
/// </summary>
public DateTime FEditDate { get; set; }
}
}

@ -1043,7 +1043,7 @@ namespace FactorySystemModel.SqlSugarModel
/// Default:'' /// Default:''
/// Nullable:TRUE /// Nullable:TRUE
/// </summary> /// </summary>
public string FMStorageConditions { get; set; } public string FBStorageConditions { get; set; }
/// <summary> /// <summary>
/// Desc:基础视图.一级分类.类型 /// Desc:基础视图.一级分类.类型
@ -1561,7 +1561,7 @@ namespace FactorySystemModel.SqlSugarModel
/// Default:0 /// Default:0
/// Nullable:FALSE /// Nullable:FALSE
/// </summary> /// </summary>
public string FMStorageConditionsType { get; set; } public string FBStorageConditionsType { get; set; }
/// <summary> /// <summary>
/// Desc:仓储视图.批次管理.类型 /// Desc:仓储视图.批次管理.类型

Loading…
Cancel
Save