commit by yzf

master
Yang 3 years ago
parent ea341bd003
commit da884b4b62

@ -14,6 +14,7 @@ using Newtonsoft.Json.Linq;
using FactorySystemApi.Plm_Formula;
using System.Linq;
using SqlSugar;
using System.Globalization;
namespace FactorySystemApi.Controllers
{
@ -40,6 +41,114 @@ namespace FactorySystemApi.Controllers
InsertField = UpdateField = "";
}
/// <summary>
/// 更新试验号
/// </summary>
/// <param name="inParam"></param>
/// <returns></returns>
//public ApiResult EditFTestCode(Dictionary<string, object> inParam)
//{
// int teamId = 0;
// ApiResult apiResult = new ApiResult();
// return ExceptionHelper.TryReturnException(() => {
// if (inParam.ContainsKey("FTestCode") && inParam.ContainsKey("FNewTestCode") && inParam.ContainsKey("FCreateFactoryID"))
// {
// inParam.TryGetValue("FState", out object state);
// if (null == state)
// {
// inParam["FState"] = state = 1;
// }
// inParam.Remove("FID");
// ApiAuthInfo user = Request.Properties["token"] as ApiAuthInfo;
// if (inParam.ContainsKey("FAddUser"))
// {
// inParam["FAddUser"] = user.FID;
// }
// else
// {
// inParam.Add("FAddUser", user.FID);
// }
// if (inParam.ContainsKey("FEditUser"))
// {
// inParam["FEditUser"] = user.FID;
// }
// else
// {
// inParam.Add("FEditUser", user.FID);
// }
// if (inParam.ContainsKey("FEditDate"))
// {
// inParam["FEditDate"] = DateTime.Now;
// }
// else
// {
// inParam.Add("FEditDate", DateTime.Now);
// }
// TFS_Factory factory = BaseBll.GetTempModel<TFS_Factory>(int.Parse(inParam["FCreateFactoryID"].ToString()));
// if (inParam.ContainsKey("FCreateFactoryID"))
// {
// inParam.Remove("FCreateFactoryID");
// }
// inParam.Add("FCreateFactoryID", factory.FID);
// inParam.Add("FCreateFactoryCode", factory.FCode);
// inParam.Add("FCreateFactoryType", factory.FType);
// if (factory.FType != (int)Constant.FactoryType.单工厂)
// {
// factory = BaseBll.GetTempModel<TFS_Factory>(factory.FFactoryID);
// inParam.Add("FProdFactoryID", factory.FID);
// inParam.Add("FProdFactoryCode", factory.FCode);
// }
// else
// {
// inParam.Add("FProdFactoryID", factory.FID);
// inParam.Add("FProdFactoryCode", factory.FCode);
// }
// if (!inParam.ContainsKey("FSaleCode"))
// {
// inParam.Add("FSaleCode", "");
// }
// //创建 TFS_HalfMaterialFTeamwork
// teamId = BaseBll.InsertDataModel(inParam, "TFS_HalfMaterialFTeamwork");
// //更新试验号
// List<TFS_Material> editMaterialList = MaterialTeamworkBll.UpdateFormula(inParam["FTestCode"].ToString(), inParam["FNewTestCode"].ToString(), teamId);
// if (teamId > 0)
// {
// //创建流程
// int resultProcessCreate = MaterialTeamworkBll.CreateProcessData(teamId, user.FID);
// TFS_HalfMaterialFTeamwork teamwork = BaseBll.GetTempModel<TFS_HalfMaterialFTeamwork>(teamId);
// MaterialTeamworkBll.CreateProductView(teamwork, editMaterialList, user.FID);
// //开始BOM下载
// int dow = DockGetBomData(teamwork.FID, user.FID);
// //判断是否有新的BOM物料或者是否有变更的物料
// if (dow > 0 || editMaterialList.Count() > 0)
// {
// BaseBll.CreateTaskData2(teamwork.FID, user.FID, "1"); //新增物料分类事项
// BaseBll.UpdateTeamProcess2(teamId, (int)Constant.HalfMaterialProcessType.物料分类, 2, 1); // 更新物料分类流程
// }
// else
// {
// BaseBll.DeleteDataById(teamId, "TFS_HalfMaterialFTeamwork", true);
// apiResult.Error("未能找到物料");
// }
// }
// }
// else
// {
// apiResult.Error("保存失败");
// }
// }, apiResult, Request, inParam);
//}
/// <summary>
/// 获取子项集合
/// </summary>
@ -149,7 +258,7 @@ namespace FactorySystemApi.Controllers
//创建 TFS_FTeamwork
int teamId = BaseBll.InsertDataModel(inParam, "TFS_HalfMaterialFTeamwork");
List<TFS_Material> editMaterialList = MaterialTeamworkBll.UpdateFormula(inParam["FTestCode"].ToString(), inParam["FNewTestCode"].ToString(), teamId);
List<TFS_Material> editMaterialList = MaterialTeamworkBll.UpdateFormula(inParam["FTestCode"].ToString(), inParam["FNewTestCode"].ToString(), teamId, factory.FID);
ids = editMaterialList.Select(m => m.FID).Distinct().ToList();
apiResult.Data = teamId;
@ -165,20 +274,38 @@ namespace FactorySystemApi.Controllers
{
TFS_HalfMaterialFTeamwork teamwork = BaseBll.GetTempModel<TFS_HalfMaterialFTeamwork>(teamId);
MaterialTeamworkBll.CreateProductView(teamwork, editMaterialList, user.FID);
//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)
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.CreateTaskData2(teamId, user.FID, ((int)Constant.HalfMaterialTask.BOM).ToString());
BaseBll.UpdateTeamProcess2(teamId, (int)Constant.HalfMaterialTask., 1, 1);
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);
}
}
@ -199,7 +326,7 @@ namespace FactorySystemApi.Controllers
catch (Exception ex)
{
//失败则把修改的更新回去
MaterialTeamworkBll.UpdateFormula(inParam["FTestCode"].ToString(), inParam["FNewTestCode"].ToString(),0,string.Join(",",ids));
MaterialTeamworkBll.UpdateFormula(inParam["FTestCode"].ToString(), inParam["FNewTestCode"].ToString(),0,0,string.Join(",",ids));
throw;
}
@ -554,7 +681,7 @@ namespace FactorySystemApi.Controllers
{
TFS_Formula formula = BaseBll.GetTempModel<TFS_Formula>(string.Format("FTestCode='{0}'", teamwork.FNewTestCode));
OAService oAService = new OAService();
specifList[0].Code = teamwork.FTestCode;
specifList[0].Code = teamwork.FNewTestCode;
specifList[0].Version = formula.FVersionCode;
RestResult restResult = oAService.GetSpecificationsList(specifList.ToArray());
string bomStr = restResult.data == null ? "[]" : restResult.data.ToString();
@ -597,36 +724,18 @@ namespace FactorySystemApi.Controllers
BaseBll.CreateTaskData2(teamwork.FID, userId, "1"); //新增物料分类事项
BaseBll.UpdateTeamProcess2(teamId, (int)Constant.HalfMaterialProcessType., 2, 1); // 更新物料分类流程
////协同发起事项
//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");
OperateLogBll.Add(teamwork.FID, 2, "BOM下载成功", userId);
HalfMaterialTeamworkBll.ChangeTeamProcess(teamwork.FID);
result = 1;
}
}
else
{
OperateLogBll.Add(teamwork.FID, 2, "BOM下载失败BOM数据为空", userId);
BaseBll.CreateTaskData2(teamwork.FID, userId, ((int)Constant.HalfMaterialTask.BOM).ToString());
BaseBll.UpdateTeamProcess2(teamwork.FID, (int)Constant.HalfMaterialTask., 2, 1);
HalfMaterialTeamworkBll.ChangeTeamProcess(teamwork.FID);
}
//else
//{
// OperateLogBll.Add(teamwork.FID, 2, "BOM下载失败BOM数据为空", userId);
// BaseBll.CreateTaskData2(teamwork.FID, userId, ((int)Constant.HalfMaterialTask.BOM下载).ToString());
// BaseBll.UpdateTeamProcess2(teamwork.FID, (int)Constant.HalfMaterialTask.物料分类, 2, 1);
// HalfMaterialTeamworkBll.ChangeTeamProcess(teamwork.FID);
//}
}
catch (Exception ex)
{
@ -797,280 +906,287 @@ namespace FactorySystemApi.Controllers
/// </summary>
private void CreateExeclFile(int intType, string savePath, string selectSql, string whereSql, string joinSql, string teamId, string halfId)
{
List<TFS_ViewFieldInfo> filedList = MaterialTeamworkBll.GetTeamworkViewField(intType);
List<string> fieldLists = new List<string> { "父项编码", "父项描述", "基本数量" };
foreach (TFS_ViewFieldInfo field in filedList)
try
{
if (string.IsNullOrEmpty(field.FField))
List<TFS_ViewFieldInfo> filedList = MaterialTeamworkBll.GetTeamworkViewField(intType);
List<string> fieldLists = new List<string> { "父项编码", "父项描述", "基本数量" };
foreach (TFS_ViewFieldInfo field in filedList)
{
string str = field.FDefault;
if (fieldLists.Contains(field.FName))
if (string.IsNullOrEmpty(field.FField))
{
str=field.FDefault.Replace("a.FTeamID", "a.FHalfMaterialTeamID");
string str = field.FDefault;
if (fieldLists.Contains(field.FName))
{
str = field.FDefault.Replace("a.FTeamID", "a.FHalfMaterialTeamID");
}
selectSql += string.Format("'{0}' as '{1}'", string.IsNullOrEmpty(field.FDefault) ? "" : str, field.FName);
}
selectSql += string.Format("'{0}' as '{1}'", string.IsNullOrEmpty(field.FDefault) ? "" : str, field.FName);
}
else
{
string str = field.FField;
if (fieldLists.Contains(field.FName))
else
{
str = field.FField.Replace("a.FTeamID", "a.FHalfMaterialTeamID");
string str = field.FField;
if (fieldLists.Contains(field.FName))
{
str = field.FField.Replace("a.FTeamID", "a.FHalfMaterialTeamID");
}
selectSql += string.Format("isnull({0},'') as '{1}'", str, field.FName);
}
selectSql += string.Format("isnull({0},'') as '{1}'", str, field.FName);
selectSql += ",";
}
selectSql += ",";
}
selectSql = selectSql.Replace("@FTeamID@", teamId);
selectSql = selectSql.Replace("@FMaterialID@", halfId);
DataTable dataList = new DataTable();
if (intType == (int)Constant.TeamViewType.BOM)
{
dataList = MaterialTeamworkBll.GetTeamworkViewData2(selectSql.Trim(','), whereSql, joinSql);
dataList.Columns.Remove("FMaterialID");
DataTable dataList2 = dataList.Copy();
List<bool> hasField = new List<bool>();
hasField.Add(dataList.Columns.Contains("BOM用途"));
hasField.Add(dataList.Columns.Contains("子项序号"));
hasField.Add(dataList.Columns.Contains("组件损耗率"));
hasField.Add(dataList.Columns.Contains("固定损耗数量"));
int rowCount = dataList.Rows.Count;
//生产组装BOM处理
for (int i = 0; i < rowCount; i++)
selectSql = selectSql.Replace("@FTeamID@", teamId);
selectSql = selectSql.Replace("@FMaterialID@", string.IsNullOrWhiteSpace(halfId) ? "-1" : halfId);
DataTable dataList = new DataTable();
if (intType == (int)Constant.TeamViewType.BOM)
{
if (hasField[0]) dataList.Rows[i]["BOM用途"] = "Y";
if (hasField[1]) dataList.Rows[i]["子项序号"] = (i + 1) * 10;
if (hasField[2]) dataList.Rows[i]["组件损耗率"] = "";
if (hasField[3]) dataList.Rows[i]["固定损耗数量"] = "";
dataList.Rows[i]["可选文本"] = "生产组装BOM";
}
NPOIHelper.ExportDTtoExcel(dataList, "Sheet1", savePath.Replace(".xlsx", "1.xlsx"));
dataList = MaterialTeamworkBll.GetTeamworkViewData2(selectSql.Trim(','), whereSql, joinSql);
dataList.Columns.Remove("FMaterialID");
DataTable dataList2 = dataList.Copy();
List<bool> hasField = new List<bool>();
hasField.Add(dataList.Columns.Contains("BOM用途"));
hasField.Add(dataList.Columns.Contains("子项序号"));
hasField.Add(dataList.Columns.Contains("组件损耗率"));
hasField.Add(dataList.Columns.Contains("固定损耗数量"));
int rowCount = dataList.Rows.Count;
//计划组装BOM处理
DataTable dataList3 = dataList2.Copy();
for (int i = 0; i < rowCount; i++)
{
if (hasField[1])
//生产组装BOM处理
for (int i = 0; i < rowCount; i++)
{
dataList2.Rows[i]["子项序号"] = (i + 1) * 10;
if (hasField[0]) dataList.Rows[i]["BOM用途"] = "Y";
if (hasField[1]) dataList.Rows[i]["子项序号"] = (i + 1) * 10;
if (hasField[2]) dataList.Rows[i]["组件损耗率"] = "";
if (hasField[3]) dataList.Rows[i]["固定损耗数量"] = "";
dataList.Rows[i]["可选文本"] = "生产组装BOM";
}
NPOIHelper.ExportDTtoExcel(dataList, "Sheet1", savePath.Replace(".xlsx", "1.xlsx"));
//计划组装BOM处理
DataTable dataList3 = dataList2.Copy();
for (int i = 0; i < rowCount; i++)
{
if (hasField[1])
{
dataList2.Rows[i]["子项序号"] = (i + 1) * 10;
}
if (hasField[3] && !string.IsNullOrEmpty(dataList2.Rows[i]["固定损耗数量"].ToString()) && !dataList2.Rows[i]["固定损耗数量"].ToString().Equals("0"))
{
dataList3.Rows[i]["组件数量"] = "";
dataList3.Rows[i]["组件损耗率"] = "";
dataList3.Rows[i]["固定损耗数量"] = "X";
if (hasField[1]) dataList3.Rows[i]["子项序号"] = (i + rowCount + 1) * 10;
dataList3.Rows[i]["可选文本"] = "计划组装BOM";
dataList2.ImportRow(dataList3.Rows[i]);
}
dataList2.Rows[i]["固定损耗数量"] = "";
dataList2.Rows[i]["可选文本"] = "计划组装BOM";
}
if (hasField[3] && !string.IsNullOrEmpty(dataList2.Rows[i]["固定损耗数量"].ToString()) && !dataList2.Rows[i]["固定损耗数量"].ToString().Equals("0"))
NPOIHelper.ExportDTtoExcel(dataList2, "Sheet1", savePath.Replace(".xlsx", "2.xlsx"));
for (int i = 0; i < dataList2.Rows.Count; i++)
{
dataList3.Rows[i]["组件数量"] = "";
dataList3.Rows[i]["组件损耗率"] = "";
dataList3.Rows[i]["固定损耗数量"] = "X";
if (hasField[1]) dataList3.Rows[i]["子项序号"] = (i + rowCount + 1) * 10;
dataList3.Rows[i]["可选文本"] = "计划组装BOM";
dataList2.ImportRow(dataList3.Rows[i]);
if (i == 0) dataList.Rows.Add("[换色]");
dataList.ImportRow(dataList2.Rows[i]);
}
dataList2.Rows[i]["固定损耗数量"] = "";
dataList2.Rows[i]["可选文本"] = "计划组装BOM";
}
NPOIHelper.ExportDTtoExcel(dataList2, "Sheet1", savePath.Replace(".xlsx", "2.xlsx"));
for (int i = 0; i < dataList2.Rows.Count; i++)
{
if (i == 0) dataList.Rows.Add("[换色]");
dataList.ImportRow(dataList2.Rows[i]);
}
}
else if (intType == (int)Constant.TeamViewType.)
{
//原始配方
DataTable dataList1 = MaterialTeamworkBll.GetTeamworkViewData2(selectSql.Trim(','), whereSql);
TFS_HalfMaterialFTeamwork teamwork = BaseBll.GetTempModel<TFS_HalfMaterialFTeamwork>("FID=" + teamId);
List<BomFormulaDto> bfList = JsonConvert.DeserializeObject<List<BomFormulaDto>>(teamwork.FBomFormula);
//SetBFData(null, bfList, dataList1);
List<string> forIdList = teamwork.FMaterialFormulaIDs.Split(',').ToList();
DataTable tempTable = dataList1.Copy();
tempTable.Rows.Clear();
DataTable totalTable = tempTable.Copy();
List<DataRow> rowList = SetXHData(null, bfList, dataList1, forIdList, 1);
foreach (var item in rowList)
else if (intType == (int)Constant.TeamViewType.)
{
tempTable.Rows.Add(item.ItemArray);
totalTable.Rows.Add(item.ItemArray);
}
tempTable.Columns.Remove("FMaterialID");
NPOIHelper.ExportDTtoExcel(tempTable, "Sheet1", savePath.Replace(".xlsx", "1.xlsx"));
tempTable = dataList1.Copy();
tempTable.Rows.Clear();
rowList = SetXHData(null, bfList, dataList1, forIdList, 2);
totalTable.Rows.Add("[换色]");
foreach (var item in rowList)
{
tempTable.Rows.Add(item.ItemArray);
totalTable.Rows.Add(item.ItemArray);
}
tempTable.Columns.Remove("FMaterialID");
NPOIHelper.ExportDTtoExcel(tempTable, "Sheet1", savePath.Replace(".xlsx", "2.xlsx"));
tempTable = dataList1.Copy();
tempTable.Rows.Clear();
rowList = SetXHData(null, bfList, dataList1, forIdList, 3);
totalTable.Rows.Add("[换色]");
foreach (var item in rowList)
{
tempTable.Rows.Add(item.ItemArray);
totalTable.Rows.Add(item.ItemArray);
}
tempTable.Columns.Remove("FMaterialID");
NPOIHelper.ExportDTtoExcel(tempTable, "Sheet1", savePath.Replace(".xlsx", "3.xlsx"));
tempTable.Rows.Clear();
//原始配方
DataTable dataList1 = MaterialTeamworkBll.GetTeamworkViewData2(selectSql.Trim(','), whereSql);
TFS_HalfMaterialFTeamwork teamwork = BaseBll.GetTempModel<TFS_HalfMaterialFTeamwork>("FID=" + teamId);
List<BomFormulaDto> bfList = JsonConvert.DeserializeObject<List<BomFormulaDto>>(teamwork.FBomFormula);
//SetBFData(null, bfList, dataList1);
List<string> forIdList = teamwork.FMaterialFormulaIDs.Split(',').ToList();
dataList = totalTable;
dataList.Columns.Remove("FMaterialID");
DataTable tempTable = dataList1.Copy();
tempTable.Rows.Clear();
DataTable totalTable = tempTable.Copy();
/*dataList1.Columns.Remove("FMaterialID");
List<bool> hasField = new List<bool>
{
dataList1.Columns.Contains("BOM用途"),
dataList1.Columns.Contains("子项序号"),
dataList1.Columns.Contains("组件损耗率"),
dataList1.Columns.Contains("固定损耗数量"),
dataList1.Columns.Contains("BOM项目文本2")
};
int rowCount = dataList1.Rows.Count;
for (int i = 0; i < rowCount; i++)
{
//if (hasField[0]) dataList1.Rows[i]["BOM用途"] = "1";
if (hasField[1]) dataList1.Rows[i]["子项序号"] = (i + 1) * 10;
if (hasField[2]) dataList1.Rows[i]["组件损耗率"] = "";
if (hasField[3]) dataList1.Rows[i]["固定损耗数量"] = "";
if (hasField[4]) dataList1.Rows[i]["BOM项目文本2"] = "";
dataList1.Rows[i]["可选文本"] = "原始BOM配方";
dataList.ImportRow(dataList1.Rows[i]);
}
NPOIHelper.ExportDTtoExcel(dataList1, "Sheet1", savePath.Replace(".xlsx", "1.xlsx"));
dataList = dataList1.Copy();
//生产配方
DataTable dataList2 = TeamworkBll.GetTeamworkViewData2(selectSql.Trim(','), joinSql.Trim(','));
SetBFData(null, bfList, dataList2);
dataList2.Columns.Remove("FMaterialID");
DataTable dataList3 = dataList2.Copy();
string fuIds = "";
dataList.Rows.Add("[换色]");
rowCount = dataList2.Rows.Count;
for (int i = 0; i < rowCount; i++)
{
if (hasField[0]) dataList2.Rows[i]["BOM用途"] = "Y";
if (hasField[1]) dataList2.Rows[i]["子项序号"] = (i + 1) * 10;
if (hasField[2]) dataList2.Rows[i]["组件损耗率"] = "";
if (hasField[3]) dataList2.Rows[i]["固定损耗数量"] = "";
if (hasField[4])
List<DataRow> rowList = SetXHData(null, bfList, dataList1, forIdList, 1);
foreach (var item in rowList)
{
if (!string.IsNullOrEmpty(dataList3.Rows[i]["BOM项目文本2"].ToString()))
{
fuIds += dataList3.Rows[i]["BOM项目文本2"].ToString() + ",";
}
dataList2.Rows[i]["BOM项目文本2"] = "";
tempTable.Rows.Add(item.ItemArray);
totalTable.Rows.Add(item.ItemArray);
}
dataList2.Rows[i]["可选文本"] = "生产BOM配方";
dataList.ImportRow(dataList2.Rows[i]);
}
if (!string.IsNullOrEmpty(fuIds))
{
joinSql = string.Format("TFS_ViewMaterial.FMaterialID in({0}) and ", fuIds.Trim(',')) + joinSql.Substring(joinSql.IndexOf("TFS_ViewMaterial.FFactoryID"));
DataTable tempList = TeamworkBll.GetTeamworkViewData2(selectSql.Trim(','), joinSql.Trim(','));
tempList.Columns.Remove("FMaterialID");
foreach (DataRow dr in tempList.Rows)
tempTable.Columns.Remove("FMaterialID");
NPOIHelper.ExportDTtoExcel(tempTable, "Sheet1", savePath.Replace(".xlsx", "1.xlsx"));
tempTable = dataList1.Copy();
tempTable.Rows.Clear();
rowList = SetXHData(null, bfList, dataList1, forIdList, 2);
totalTable.Rows.Add("[换色]");
foreach (var item in rowList)
{
dataList2.ImportRow(dr);
dataList3.ImportRow(dr);
if (hasField[0])
{
dataList2.Rows[dataList2.Rows.Count - 1]["BOM用途"] = "Y";
dataList3.Rows[dataList3.Rows.Count - 1]["BOM用途"] = "1";
}
if (hasField[1])
{
dataList2.Rows[dataList2.Rows.Count - 1]["子项序号"] = dataList2.Rows.Count * 10;
dataList3.Rows[dataList3.Rows.Count - 1]["子项序号"] = dataList2.Rows.Count * 10;
}
if (hasField[2])
{
dataList2.Rows[dataList2.Rows.Count - 1]["组件损耗率"] = "";
dataList3.Rows[dataList3.Rows.Count - 1]["组件损耗率"] = "";
}
if (hasField[3])
{
dataList2.Rows[dataList2.Rows.Count - 1]["固定损耗数量"] = "";
}
tempTable.Rows.Add(item.ItemArray);
totalTable.Rows.Add(item.ItemArray);
}
tempTable.Columns.Remove("FMaterialID");
NPOIHelper.ExportDTtoExcel(tempTable, "Sheet1", savePath.Replace(".xlsx", "2.xlsx"));
tempTable = dataList1.Copy();
tempTable.Rows.Clear();
rowList = SetXHData(null, bfList, dataList1, forIdList, 3);
totalTable.Rows.Add("[换色]");
foreach (var item in rowList)
{
tempTable.Rows.Add(item.ItemArray);
totalTable.Rows.Add(item.ItemArray);
}
tempTable.Columns.Remove("FMaterialID");
NPOIHelper.ExportDTtoExcel(tempTable, "Sheet1", savePath.Replace(".xlsx", "3.xlsx"));
tempTable.Rows.Clear();
dataList = totalTable;
dataList.Columns.Remove("FMaterialID");
/*dataList1.Columns.Remove("FMaterialID");
List<bool> hasField = new List<bool>
{
dataList1.Columns.Contains("BOM用途"),
dataList1.Columns.Contains("子项序号"),
dataList1.Columns.Contains("组件损耗率"),
dataList1.Columns.Contains("固定损耗数量"),
dataList1.Columns.Contains("BOM项目文本2")
};
int rowCount = dataList1.Rows.Count;
for (int i = 0; i < rowCount; i++)
{
//if (hasField[0]) dataList1.Rows[i]["BOM用途"] = "1";
if (hasField[1]) dataList1.Rows[i]["子项序号"] = (i + 1) * 10;
if (hasField[2]) dataList1.Rows[i]["组件损耗率"] = "";
if (hasField[3]) dataList1.Rows[i]["固定损耗数量"] = "";
if (hasField[4]) dataList1.Rows[i]["BOM项目文本2"] = "";
dataList1.Rows[i]["可选文本"] = "原始BOM配方";
dataList.ImportRow(dataList1.Rows[i]);
}
NPOIHelper.ExportDTtoExcel(dataList1, "Sheet1", savePath.Replace(".xlsx", "1.xlsx"));
dataList = dataList1.Copy();
//生产配方
DataTable dataList2 = TeamworkBll.GetTeamworkViewData2(selectSql.Trim(','), joinSql.Trim(','));
SetBFData(null, bfList, dataList2);
dataList2.Columns.Remove("FMaterialID");
DataTable dataList3 = dataList2.Copy();
string fuIds = "";
dataList.Rows.Add("[换色]");
rowCount = dataList2.Rows.Count;
for (int i = 0; i < rowCount; i++)
{
if (hasField[0]) dataList2.Rows[i]["BOM用途"] = "Y";
if (hasField[1]) dataList2.Rows[i]["子项序号"] = (i + 1) * 10;
if (hasField[2]) dataList2.Rows[i]["组件损耗率"] = "";
if (hasField[3]) dataList2.Rows[i]["固定损耗数量"] = "";
if (hasField[4])
{
dataList2.Rows[dataList2.Rows.Count - 1]["BOM项目文本2"] = "";
dataList3.Rows[dataList3.Rows.Count - 1]["BOM项目文本2"] = "";
if (!string.IsNullOrEmpty(dataList3.Rows[i]["BOM项目文本2"].ToString()))
{
fuIds += dataList3.Rows[i]["BOM项目文本2"].ToString() + ",";
}
dataList2.Rows[i]["BOM项目文本2"] = "";
}
dataList2.Rows[dataList2.Rows.Count - 1]["可选文本"] = "生产BOM配方";
dataList3.Rows[dataList3.Rows.Count - 1]["可选文本"] = "计划BOM配方";
dataList.ImportRow(dataList2.Rows[dataList2.Rows.Count - 1]);
dataList2.Rows[i]["可选文本"] = "生产BOM配方";
dataList.ImportRow(dataList2.Rows[i]);
}
}
NPOIHelper.ExportDTtoExcel(dataList2, "Sheet1", savePath.Replace(".xlsx", "2.xlsx"));
//计划配方
dataList.Rows.Add("[换色]");
rowCount = dataList3.Rows.Count;
for (int i = 0; i < rowCount; i++)
{
if (hasField[0]) dataList3.Rows[i]["BOM用途"] = "1";
if (hasField[1]) dataList3.Rows[i]["子项序号"] = (i + 1) * 10;
if (hasField[3])
if (!string.IsNullOrEmpty(fuIds))
{
if (!string.IsNullOrEmpty(dataList3.Rows[i]["固定损耗数量"].ToString()))
joinSql = string.Format("TFS_ViewMaterial.FMaterialID in({0}) and ", fuIds.Trim(',')) + joinSql.Substring(joinSql.IndexOf("TFS_ViewMaterial.FFactoryID"));
DataTable tempList = TeamworkBll.GetTeamworkViewData2(selectSql.Trim(','), joinSql.Trim(','));
tempList.Columns.Remove("FMaterialID");
foreach (DataRow dr in tempList.Rows)
{
DataRow dr = dataList3.Copy().Rows[i];
dr["组件数量"] = dataList3.Rows[i]["固定损耗数量"];
dr["组件损耗率"] = "";
dr["固定损耗数量"] = "X";
if (hasField[4]) dr["BOM项目文本2"] = "";
if (hasField[1]) dr["子项序号"] = (dataList3.Rows.Count + 1) * 10;
dr["可选文本"] = "计划BOM配方";
dataList2.ImportRow(dr);
dataList3.ImportRow(dr);
if (hasField[0])
{
dataList2.Rows[dataList2.Rows.Count - 1]["BOM用途"] = "Y";
dataList3.Rows[dataList3.Rows.Count - 1]["BOM用途"] = "1";
}
if (hasField[1])
{
dataList2.Rows[dataList2.Rows.Count - 1]["子项序号"] = dataList2.Rows.Count * 10;
dataList3.Rows[dataList3.Rows.Count - 1]["子项序号"] = dataList2.Rows.Count * 10;
}
if (hasField[2])
{
dataList2.Rows[dataList2.Rows.Count - 1]["组件损耗率"] = "";
dataList3.Rows[dataList3.Rows.Count - 1]["组件损耗率"] = "";
}
if (hasField[3])
{
dataList2.Rows[dataList2.Rows.Count - 1]["固定损耗数量"] = "";
}
if (hasField[4])
{
dataList2.Rows[dataList2.Rows.Count - 1]["BOM项目文本2"] = "";
dataList3.Rows[dataList3.Rows.Count - 1]["BOM项目文本2"] = "";
}
dataList2.Rows[dataList2.Rows.Count - 1]["可选文本"] = "生产BOM配方";
dataList3.Rows[dataList3.Rows.Count - 1]["可选文本"] = "计划BOM配方";
dataList.ImportRow(dataList2.Rows[dataList2.Rows.Count - 1]);
}
dataList3.Rows[i]["固定损耗数量"] = "";
if (hasField[4]) dataList3.Rows[i]["BOM项目文本2"] = "";
}
dataList3.Rows[i]["可选文本"] = "计划BOM配方";
}
NPOIHelper.ExportDTtoExcel(dataList3, "Sheet1", savePath.Replace(".xlsx", "3.xlsx"));
rowCount = dataList3.Rows.Count;
for (int i = 0; i < rowCount; i++) { dataList.ImportRow(dataList3.Rows[i]); }*/
}
else
{
dataList = MaterialTeamworkBll.GetTeamworkViewData(selectSql.Trim(','), whereSql, joinSql);
dataList.Columns.Remove("FMaterialID");
if (intType == (int)Constant.TeamViewType.)
{
NPOIHelper.ExportDTtoExcel(dataList, "Sheet1", savePath.Replace(".xlsx", "1.xlsx"));
int rowCount = dataList.Rows.Count;
bool isChange = dataList.Columns.Contains("BOM用途");
DataTable dataList2 = dataList.Copy();
NPOIHelper.ExportDTtoExcel(dataList2, "Sheet1", savePath.Replace(".xlsx", "2.xlsx"));
//计划配方
dataList.Rows.Add("[换色]");
rowCount = dataList3.Rows.Count;
for (int i = 0; i < rowCount; i++)
{
if (isChange && dataList2.Rows[i]["BOM用途"].ToString() == "1")
if (hasField[0]) dataList3.Rows[i]["BOM用途"] = "1";
if (hasField[1]) dataList3.Rows[i]["子项序号"] = (i + 1) * 10;
if (hasField[3])
{
dataList2.Rows[i]["BOM用途"] = "Y";
if (!string.IsNullOrEmpty(dataList3.Rows[i]["固定损耗数量"].ToString()))
{
DataRow dr = dataList3.Copy().Rows[i];
dr["组件数量"] = dataList3.Rows[i]["固定损耗数量"];
dr["组件损耗率"] = "";
dr["固定损耗数量"] = "X";
if (hasField[4]) dr["BOM项目文本2"] = "";
if (hasField[1]) dr["子项序号"] = (dataList3.Rows.Count + 1) * 10;
dr["可选文本"] = "计划BOM配方";
dataList3.ImportRow(dr);
}
dataList3.Rows[i]["固定损耗数量"] = "";
if (hasField[4]) dataList3.Rows[i]["BOM项目文本2"] = "";
}
dataList3.Rows[i]["可选文本"] = "计划BOM配方";
}
NPOIHelper.ExportDTtoExcel(dataList2, "Sheet1", savePath.Replace(".xlsx", "2.xlsx"));
for (int i = 0; i < rowCount; i++)
NPOIHelper.ExportDTtoExcel(dataList3, "Sheet1", savePath.Replace(".xlsx", "3.xlsx"));
rowCount = dataList3.Rows.Count;
for (int i = 0; i < rowCount; i++) { dataList.ImportRow(dataList3.Rows[i]); }*/
}
else
{
dataList = MaterialTeamworkBll.GetTeamworkViewData(selectSql.Trim(','), whereSql, joinSql);
dataList.Columns.Remove("FMaterialID");
if (intType == (int)Constant.TeamViewType.)
{
if (i == 0) dataList.Rows.Add("[换色]");
dataList.ImportRow(dataList2.Rows[i]);
NPOIHelper.ExportDTtoExcel(dataList, "Sheet1", savePath.Replace(".xlsx", "1.xlsx"));
int rowCount = dataList.Rows.Count;
bool isChange = dataList.Columns.Contains("BOM用途");
DataTable dataList2 = dataList.Copy();
for (int i = 0; i < rowCount; i++)
{
if (isChange && dataList2.Rows[i]["BOM用途"].ToString() == "1")
{
dataList2.Rows[i]["BOM用途"] = "Y";
}
}
NPOIHelper.ExportDTtoExcel(dataList2, "Sheet1", savePath.Replace(".xlsx", "2.xlsx"));
for (int i = 0; i < rowCount; i++)
{
if (i == 0) dataList.Rows.Add("[换色]");
dataList.ImportRow(dataList2.Rows[i]);
}
}
}
if (intType == (int)Constant.TeamViewType.)
{
//處理名字點
}
NPOIHelper.ExportDTtoExcel(dataList, "Sheet1", savePath);
}
if (intType == (int)Constant.TeamViewType.)
catch (Exception ex)
{
//處理名字點
throw;
}
NPOIHelper.ExportDTtoExcel(dataList, "Sheet1", savePath);
}
/// <summary>

@ -238,8 +238,21 @@ namespace FactorySystemApi.Controllers
}, apiResult, Request, inParam);
}
/// <summary>
/// 获取物料分类
/// </summary>
/// <param name="inParam"></param>
/// <returns></returns>
[HttpPost]
public ApiResult GetMaterialInfoList()
{
ApiResult apiResult = new ApiResult();
return ExceptionHelper.TryReturnException(() =>
{
apiResult.Data = MaterialBll.GetMaterialInfoList();
}, apiResult, Request, null);
}

@ -40,10 +40,20 @@ namespace FactorySystemApi.Controllers
ApiResult apiResult = new ApiResult();
return ExceptionHelper.TryReturnException(() =>
{
int dataId = int.Parse(inParam["FDataID"].ToString());
int dataType = int.Parse(inParam["FType"].ToString());
string sqlWhere = string.Format("FDataID={0} and FType={1}", dataId, dataType);
apiResult.Data = BaseBll.GetTempModel<TFS_MaterialInfo>(sqlWhere);
if (inParam.ContainsKey("FDataID"))
{
int dataId = int.Parse(inParam["FDataID"].ToString());
int dataType = int.Parse(inParam["FType"].ToString());
string sqlWhere = string.Format("FDataID={0} and FType={1}", dataId, dataType);
apiResult.Data = BaseBll.GetTempModel<TFS_MaterialInfo>(sqlWhere);
}
else if (inParam.ContainsKey("FType"))
{
int dataType = int.Parse(inParam["FType"].ToString());
string sqlWhere = string.Format(" FType={0}", dataType);
apiResult.Data = BaseBll.GetTempModel<TFS_MaterialInfo>(sqlWhere);
}
}, apiResult, Request, inParam);
}

@ -287,7 +287,7 @@ namespace FactorySystemApi.Controllers
halfMaterialTaskBll.CloseHalfMaterialTask(teamId, user.FID, (int)Constant.HalfMaterialProcessType.);
BaseBll.CreateTaskData2(teamId, user.FID, "2");
BaseBll.UpdateTeamProcess2(teamwork.FID, (int)Constant.HalfMaterialProcessType., 3, 2);
BaseBll.UpdateTeamProcess2(teamwork.FID, (int)Constant.HalfMaterialProcessType., 2, 2);
BaseBll.UpdateTeamProcess2(teamwork.FID, (int)Constant.HalfMaterialProcessType., 2, 1);
}
@ -321,9 +321,26 @@ namespace FactorySystemApi.Controllers
// 创建物料视图事项
TFS_HalfMaterialFTeamwork teamwork = BaseBll.GetTempModel<TFS_HalfMaterialFTeamwork>(teamId);
BaseBll.UpdateTeamProcess2(teamwork.FID, (int)Constant.HalfMaterialProcessType., 2, 2);
//BaseBll.UpdateTeamProcess2(teamwork.FID, (int)Constant.HalfMaterialProcessType.物料编辑, 2, 2);
HalfMaterialTaskBll halfMaterialTaskBll= new HalfMaterialTaskBll();
halfMaterialTaskBll.CloseHalfMaterialTask(teamId, user.FID, (int)Constant.HalfMaterialProcessType.);
BaseBll.CreateTaskData2(teamwork.FID, user.FID, "3"); //新增物料分类事项
if (inParam["FType"].ToString() == "2")
{
halfMaterialTaskBll.CloseHalfMaterialTask(teamId, user.FID, (int)Constant.HalfMaterialProcessType.);
BaseBll.UpdateTeamProcess2(teamwork.FID, (int)Constant.HalfMaterialProcessType., 2, 2);
}
else if (inParam["FType"].ToString() == "3")
{
BaseBll.UpdateTeamProcess2(teamwork.FID, (int)Constant.HalfMaterialProcessType., 2, 2);
halfMaterialTaskBll.CloseHalfMaterialTask(teamId, user.FID, (int)Constant.HalfMaterialProcessType.);
HalfMaterialTeamworkBll halfMaterialTeamworkBll = new HalfMaterialTeamworkBll();
halfMaterialTeamworkBll.ExecSql(string.Format("update TFS_HalfMaterialFTeamwork set FState=2 Where FID={0}", teamId));
}
}
}
}, apiResult, Request);

@ -20,8 +20,8 @@ namespace FactorySystemBll
{
totalNumber = 0;
var db = AppSettingsHelper.GetSqlSugar();
return db.Queryable<TFS_HalfMaterialTask, TFS_HalfMaterialFTeamwork, TBasicCode,TFS_Formula>((a, b, c,d) => new JoinQueryInfos(JoinType.Inner, a.FTeamID == b.FID,
JoinType.Inner, c.FType == 46 && a.FType == int.Parse(c.FValue), JoinType.Left, b.FNewTestCode == d.FTestCode))
return db.Queryable<TFS_HalfMaterialTask, TFS_HalfMaterialFTeamwork, TBasicCode,TUser>((a, b, c,d) => new JoinQueryInfos(JoinType.Inner, a.FTeamID == b.FID,
JoinType.Inner, c.FType == 46 && a.FType == int.Parse(c.FValue), JoinType.Left,a.FEditUser==d.FID))
// 事项状态
.WhereIF(tq.FState > 0 && tq.FState != 99, (a, b) => a.FState == tq.FState)
// 事项状态
@ -37,7 +37,7 @@ namespace FactorySystemBll
.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)
.Select<object>("a.*,b.FNewTestCode,d.FVersionCode,d.FType as 'FormulaType',b.FSaleCode,b.FFormulaTestCode as FTestCode,b.FMdmCode,b.FFormulaName,b.FMaterialHalfIDs,cast(substring(c.FRemark,4,2)as int)as FViewType")
.Select<object>("a.*,b.FNewTestCode,b.FVersionCode,a.FType as 'FormulaType',b.FSaleCode,b.FFormulaTestCode as FTestCode,b.FMdmCode,b.FFormulaName,b.FMaterialHalfIDs,cast(substring(c.FRemark,4,2)as int)as FViewType,d.FName AS 'FUserName1'")
.ToPageList(tq.FPageIndex, tq.FPageSize, ref totalNumber);
}

@ -107,63 +107,63 @@ namespace FactorySystemBll
List<string> paramName = new List<string>() { "FDeleted!=1" };
List<SugarParameter> paramVal = new List<SugarParameter>();
//if (inParam != null && inParam.Count > 0)
//{
// foreach (var item in inParam)
// {
// if (item.Key == "FPageIndex" || item.Key == "PageIndex")
// {
// int.TryParse(item.Value.ToString(), out pageIndex);
// }
// else if (item.Key == "FPageSize" || item.Key == "PageSize")
// {
// int.TryParse(item.Value.ToString(), out pageSize);
// }
// else if (item.Key == "FAddDate" || item.Key == "AddDate")
// {
// paramName.Add("convert(varchar(10),FAddDate,120)=@FAddDate");
// paramVal.Add(new SugarParameter("@FAddDate", item.Value.ToString()));
// }
// else if (item.Key == "FDataType" || item.Key == "DataType")
// {
// if (item.Value.ToString() == "1")//我发起的
// {
// paramName.Add("FAddUser=@FAddUser");
// paramVal.Add(new SugarParameter("@FAddUser", userId));
// }
// else if (item.Value.ToString() == "2")//我参与的
// {
// paramName.Add(string.Format(@"FID in(select distinct FTeamID from TFS_FTeamProcess where ','+FChargeID+',' like '%,{0},%'
// union select distinct FTeamID from TFS_Task where ',' + FUserID + ',' like '%,{0},%')", userId));
// }
// }
// else if (item.Key == "FProgress" || item.Key == "FProgress")
// {
// string pVal = item.Value.ToString();
// if (!string.IsNullOrEmpty(pVal))
// {
// if (pVal == "100" || pVal == "100%")
// {
// paramName.Add("FProgress='100'");
// }
// else
// {
// paramName.Add("FProgress!='100'");
// }
// }
// }
// else
// {
// //检索,全转成字符串
// paramName.Add("','+cast(" + item.Key + " as varchar)+',' like '%'+@" + item.Key + "+'%'");
// paramVal.Add(new SugarParameter("@" + item.Key, item.Value.ToString()));
// }
// }
//}
if (inParam != null && inParam.Count > 0)
{
foreach (var item in inParam)
{
if (item.Key == "FPageIndex" || item.Key == "PageIndex")
{
int.TryParse(item.Value.ToString(), out pageIndex);
}
else if (item.Key == "FPageSize" || item.Key == "PageSize")
{
int.TryParse(item.Value.ToString(), out pageSize);
}
else if (item.Key == "FAddDate" || item.Key == "AddDate")
{
paramName.Add("convert(varchar(10),FAddDate,120)=@FAddDate");
paramVal.Add(new SugarParameter("@FAddDate", item.Value.ToString()));
}
else if (item.Key == "FDataType" || item.Key == "DataType")
{
if (item.Value.ToString() == "1")//我发起的
{
paramName.Add("FAddUser=@FAddUser");
paramVal.Add(new SugarParameter("@FAddUser", userId));
}
else if (item.Value.ToString() == "2")//我参与的
{
paramName.Add(string.Format(@"FID in(select distinct FTeamID from TFS_FTeamProcess where ','+FChargeID+',' like '%,{0},%'
union select distinct FTeamID from TFS_Task where ',' + FUserID + ',' like '%,{0},%')", userId));
}
}
else if (item.Key == "FProgress" || item.Key == "FProgress")
{
string pVal = item.Value.ToString();
if (!string.IsNullOrEmpty(pVal))
{
if (pVal == "100" || pVal == "100%")
{
paramName.Add("FProgress='100'");
}
else
{
paramName.Add("FProgress!='100'");
}
}
}
else
{
//检索,全转成字符串
paramName.Add("','+cast(" + item.Key + " as varchar)+',' like '%'+@" + item.Key + "+'%'");
paramVal.Add(new SugarParameter("@" + item.Key, item.Value.ToString()));
}
}
}
SqlSugarClient db = AppSettingsHelper.GetSqlSugar();
string searchKey = string.Format(@"a.FID AS 'FID',a.FTestCode AS 'FTestCode',b.FVersionCode AS 'FVersionCode',a.FNewTestCode AS 'NewFTestCode',c.FVersionCode AS 'NewFVersionCode',c.FType,a.FAddDate,d.FName,a.FDeleted AS 'FDeleted',b.FDesc,c.FDesc AS 'NewFDesc',a.FMaterialHalfIDs");
var temp =db.Queryable<TFS_HalfMaterialFTeamwork, TFS_Formula, TFS_Formula, TUser>((a, b, c, d) => new JoinQueryInfos(JoinType.Left, a.FTestCode == b.FTestCode, JoinType.Left, a.FNewTestCode == c.FTestCode, JoinType.Left, a.FAddUser == d.FID)).Select<object>(searchKey);
string searchKey = string.Format(@"a.*,d.FName");
var temp =db.Queryable<TFS_HalfMaterialFTeamwork, TUser>((a,d) => new JoinQueryInfos(JoinType.Left, a.FAddUser == d.FID)).Select<object>(searchKey);
List<object> result = db.Queryable(temp).Where(string.Join(" and ", paramName), paramVal)
.OrderBy("FID desc").ToPageList(pageIndex, pageSize, ref totalCount).ToList<object>();
@ -178,7 +178,7 @@ namespace FactorySystemBll
SqlSugarClient db = AppSettingsHelper.GetSqlSugar();
try
{
List<TBasicCode> typeList = db.Queryable<TBasicCode>().Where(s => s.FType == (int)Constant.BasicCode. && s.FState == 1).ToList();
List<TBasicCode> typeList = db.Queryable<TBasicCode>().Where(s => s.FType == (int)Constant.BasicCode. && s.FState == 1).ToList();
List<TFS_HalfMaterialFTeamProcess> taskList = new List<TFS_HalfMaterialFTeamProcess>();
foreach (var item in typeList)
{
@ -382,6 +382,7 @@ namespace FactorySystemBll
mItem.FFactoryID = factory.FID;
mItem.FFactoryCode = factory.FCode;
}
mItem.FTestCode = teamInfo.FTestCode;
mItem.FID = db.Insertable(mItem).IgnoreColumns(true).ExecuteReturnIdentity();
//if (vItem.FLevel > 1) formulaIds += "," + mItem.FID;
}
@ -446,6 +447,7 @@ namespace FactorySystemBll
mItem.FOldID = oldId;
mItem.FLevelID = vItem.FLevel;
mItem.FParentID = oldParent;
mItem.FTestCode = teamInfo.FNewTestCode;
if (mItem.FLevelID >= 1) formulaList.Add(mItem);
}
@ -460,52 +462,6 @@ namespace FactorySystemBll
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 = "";
@ -675,14 +631,14 @@ namespace FactorySystemBll
TFS_ViewMaterial mainView = new TFS_ViewMaterial()
{
FMaterialID = mainMater.FID,
FTeamID = teamInfo.FID,
FHalfMaterialTeamID = teamInfo.FID,
FFactoryID = teamInfo.FCreateFactoryID,
FFactoryCode = teamInfo.FCreateFactoryCode,
FViewType = (int)Constant.ViewType.,
FLevel = 1,
FEditUser = userId,
FBaseMaterialCode = teamInfo.FMdmCode,
FBaseTestCode = teamInfo.FTestCode,
FBaseTestCode = teamInfo.FNewTestCode,
FBaseBasicMeter = teamInfo.FWeightUnit,
FBaseMaterialDesc = teamInfo.FSaleCode,
FBaseMaterialGroup = teamInfo.FMaterialGroup,
@ -702,9 +658,9 @@ namespace FactorySystemBll
if (teamInfo.FProdFactoryID != teamInfo.FCreateFactoryID)
{
mainMater.FFactoryID = teamInfo.FProdFactoryID;
mainMater.FFactoryCode = teamInfo.FProdFactoryCode;
mainMater.FID = db.Insertable(mainMater).IgnoreColumns(true).ExecuteReturnIdentity();
//mainMater.FFactoryID = teamInfo.FProdFactoryID;
//mainMater.FFactoryCode = teamInfo.FProdFactoryCode;
//mainMater.FID = db.Insertable(mainMater).IgnoreColumns(true).ExecuteReturnIdentity();
mainView.FFactoryID = teamInfo.FProdFactoryID;
mainView.FFactoryCode = teamInfo.FProdFactoryCode;
@ -719,8 +675,8 @@ namespace FactorySystemBll
//修改流程状态(协同发起完成,成品视图进行中)
//proSql += BaseBll.GetProcessSql(teamInfo.FID, (int)Constant.ProcessType.协同发起, "F2", 1);
//proSql += BaseBll.GetProcessSql(teamInfo.FID, (int)Constant.ProcessType.成品视图, "F2", 1);
proSql += BaseBll.GetTaskSql2(-1, 2, teamInfo.FID, (int)Constant.TaskType., 2);
proSql = proSql.Trim(';');
//proSql += BaseBll.GetTaskSql2(-1, 2, teamInfo.FID, (int)Constant.TaskType.配方选择, 2);
//proSql = proSql.Trim(';');
int result = db.Ado.ExecuteCommand(proSql);
db.CommitTran();
}
@ -780,7 +736,7 @@ namespace FactorySystemBll
/// <param name="testCode">原配方</param>
/// <param name="testCode2">新配方</param>
/// <returns></returns>
public List<TFS_Material> UpdateFormula(string testCode, string testCode2,int temId, string idList="")
public List<TFS_Material> UpdateFormula(string testCode, string testCode2,int temId,int factoryID, string idList="")
{
SqlSugarClient db = AppSettingsHelper.GetSqlSugar();
@ -798,8 +754,10 @@ namespace FactorySystemBll
{
sql = string.Format("update TFS_Material set FTestCode='{0}' WHERE FID in ({1})", testCode, idList);
}
db.Ado.ExecuteCommand(sql);
if (materialList.Count() > 0)
{
db.Ado.ExecuteCommand(sql);
}
return materialList;
}

@ -1341,5 +1341,12 @@ namespace FactorySystemBll
SqlSugarClient db = AppSettingsHelper.GetSqlSugar();
return db.Insertable(material).IgnoreColumns(true).ExecuteReturnIdentity();
}
public List<TFS_MaterialInfo> GetMaterialInfoList()
{
SqlSugarClient db = AppSettingsHelper.GetSqlSugar();
return db.Queryable<TFS_MaterialInfo>().Where(s => s.FType == 1).ToList();
}
}
}

@ -631,9 +631,9 @@ namespace FactorySystemBll
if (teamInfo.FProdFactoryID != teamInfo.FCreateFactoryID)
{
mainMater.FFactoryID = teamInfo.FProdFactoryID;
mainMater.FFactoryCode = teamInfo.FProdFactoryCode;
mainMater.FID = db.Insertable(mainMater).IgnoreColumns(true).ExecuteReturnIdentity();
//mainMater.FFactoryID = teamInfo.FProdFactoryID;
//mainMater.FFactoryCode = teamInfo.FProdFactoryCode;
//mainMater.FID = db.Insertable(mainMater).IgnoreColumns(true).ExecuteReturnIdentity();
mainView.FFactoryID = teamInfo.FProdFactoryID;
mainView.FFactoryCode = teamInfo.FProdFactoryCode;

@ -235,7 +235,7 @@ namespace FactorySystemBll
FStorageConditions = Minfo[0].FStorageConditions;
}
TFS_FTeamwork teamWork = db.Queryable<TFS_FTeamwork>().Where(s => s.FID == teamId).First();
TFS_HalfMaterialFTeamwork teamWork = db.Queryable<TFS_HalfMaterialFTeamwork>().Where(s => s.FID == teamId).First();
TFS_PackageMain packAge = db.Queryable<TFS_PackageMain>().Where(s => s.FCode == teamWork.FPackCode).First();
if (packAge != null)

@ -33,7 +33,7 @@ namespace FactorySystemModel.EnumModel
= 3,
= 4,
= 5,
=6
= 6
}
/// <summary>
@ -56,8 +56,8 @@ namespace FactorySystemModel.EnumModel
= 42,
= 43,
= 44,
=45,
=46
= 45,
= 46
}
@ -105,8 +105,8 @@ namespace FactorySystemModel.EnumModel
= 13,
= 14,
= 15,
=16,
=17
= 16,
= 17
}
/// <summary>
@ -114,7 +114,7 @@ namespace FactorySystemModel.EnumModel
/// </summary>
public enum ProcessType
{
=0,
= 0,
= 1,
= 2,
= 3,
@ -124,8 +124,8 @@ namespace FactorySystemModel.EnumModel
= 7,
BOM = 8,
= 9,
=10,
=11
= 10,
= 11
}
/// <summary>
@ -179,7 +179,8 @@ namespace FactorySystemModel.EnumModel
{
BOM = 0,
= 1,
= 2
= 2,
= 3,
}
//code=46
@ -188,8 +189,8 @@ namespace FactorySystemModel.EnumModel
BOM = 0,
= 1,
= 2,
= 3,
= 3,
= 4,
}
}
}

@ -72,6 +72,16 @@ namespace FactorySystemModel.SqlSugarModel
/// </summary>
public string FVersionCode { get; set; }
/// <summary>
/// Desc:新版本号
/// Default:
/// Nullable:False
/// </summary>
public string FNewVersionCode { get; set; }
public string FDesc { get; set; }
public string FNewDesc { get; set; }
/// <summary>
/// Desc:MDN编码
/// Default:
@ -251,5 +261,6 @@ namespace FactorySystemModel.SqlSugarModel
/// Nullable:False
/// </summary>
public string FBomFormula { get; set; }
}
}

Loading…
Cancel
Save