@ -149,8 +149,8 @@ namespace FactorySystemApi.Controllers
//创建 TFS_FTeamwork
int teamId = BaseBll . InsertDataModel ( inParam , "TFS_HalfMaterialFTeamwork" ) ;
ids = MaterialTeamworkBll . UpdateFormula ( inParam [ "FTestCode" ] . ToString ( ) , inParam [ "FNewTestCode" ] . ToString ( ) ) ;
L ist< TFS_Material > e ditMaterialLi st = MaterialTeamworkBll . UpdateFormula ( inParam [ "FTestCode" ] . ToString ( ) , inParam [ "FNewTestCode" ] . ToString ( ) , teamId ) ;
ids = editMaterialList . Select ( m = > m . FID ) . Distinct ( ) . ToList ( ) ;
apiResult . Data = teamId ;
if ( teamId > 0 )
@ -164,43 +164,15 @@ namespace FactorySystemApi.Controllers
if ( state . ToString ( ) . Contains ( "1" ) )
{
TFS_HalfMaterialFTeamwork teamwork = BaseBll . GetTempModel < TFS_HalfMaterialFTeamwork > ( teamId ) ;
List < TFS_Material > materialList = MaterialTeamworkBll . CheckMaterialListByTest2 ( teamwork . FNewTestCode , teamwork . FCreateFactoryID ) ;
if ( materialList . Count = = 0 )
{
MaterialTeamworkBll . CreateProductView ( teamwork , null , user . FID ) ;
//开始BOM下载
DockGetBomData ( teamwork . FID , user . FID ) ;
}
else
{
MaterialTeamworkBll . CreateProductView ( teamwork , materialList , user . FID ) ;
MaterialTeamworkBll . HasMaterialTestCode ( teamwork ) ;
/ * *
* 20230414 需 求 变 更
* 在 创 建 各 类 事 项 前 , 先 创 建 物 料 分 类 事 项
* 此 处 创 建 各 类 事 项 流 程 中 断 , 转 移 至 物 料 分 类 事 项 提 交 后 进 行
* * * /
BaseBll . CreateTaskData2 ( teamwork . FID , user . FID , "1" ) ; //新增物料分类事项
BaseBll . UpdateTeamProcess2 ( teamId , ( int ) Constant . HalfMaterialProcessType . 物 料 分 类 , 2 , 1 ) ; // 更新物料分类流程
MaterialTeamworkBll . CreateProductView ( teamwork , editMaterialList , user . FID ) ;
//开始BOM下载
DockGetBomData ( teamwork . FID , user . FID ) ;
MaterialTeamworkBll . HasMaterialTestCode ( teamwork ) ;
////补充包材规格
//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);
}
BaseBll . CreateTaskData2 ( teamwork . FID , user . FID , "1" ) ; //新增物料分类事项
BaseBll . UpdateTeamProcess2 ( teamId , ( int ) Constant . HalfMaterialProcessType . 物 料 分 类 , 2 , 1 ) ; // 更新物料分类流程
}
else
{
@ -219,7 +191,7 @@ namespace FactorySystemApi.Controllers
catch ( Exception ex )
{
//失败则把修改的更新回去
ids = MaterialTeamworkBll. UpdateFormula ( inParam [ "FTestCode" ] . ToString ( ) , inParam [ "FNewTestCode" ] . ToString ( ) , string . Join ( "," , ids ) ) ;
MaterialTeamworkBll. UpdateFormula ( inParam [ "FTestCode" ] . ToString ( ) , inParam [ "FNewTestCode" ] . ToString ( ) , 0 , string . Join ( "," , ids ) ) ;
throw ;
}
@ -326,7 +298,7 @@ namespace FactorySystemApi.Controllers
{
inParam . TryGetValue ( "FViewType" , out object objType ) ;
int intType = null = = objType ? ( int ) Constant . TeamViewType . 物 料 视 图 : int . Parse ( objType . ToString ( ) ) ;
string selectSql = "" , joinSql = "" , whereSql = string . Format ( "TFS_ FTeamwork.FID={0} ", inParam [ "FTeamID" ] ) ;
string selectSql = "" , joinSql = "" , whereSql = string . Format ( "TFS_ HalfMaterial FTeamwork.FID={0} ", inParam [ "FTeamID" ] ) ;
string basePath = AppDomain . CurrentDomain . BaseDirectory . Trim ( '\\' ) ;
string savePath = basePath + string . Format ( "\\File\\Temp\\{0}_{1}\\" , inParam [ "FTeamID" ] , intType ) ;
if ( ! Directory . Exists ( savePath ) ) Directory . CreateDirectory ( savePath ) ;
@ -337,11 +309,11 @@ namespace FactorySystemApi.Controllers
case ( int ) Constant . TeamViewType . 配 方 视 图 :
savePath + = Constant . TeamViewType . 配 方 视 图 . ToString ( ) ;
//原始配方
whereSql = string . Format ( @ "dbo.StrExistInStr(TFS_ViewMaterial.FMaterialID,(select FMaterialFormulaIDs from TFS_ FTeamwork where FID={0}))>0
and TFS_ViewMaterial . FFactoryID = ( select FProdFactoryID from TFS_ FTeamwork where FID = { 0 } ) ", inParam[" FTeamID "]);
whereSql = string . Format ( @ "dbo.StrExistInStr(TFS_ViewMaterial.FMaterialID,(select FMaterialFormulaIDs from TFS_ HalfMaterial FTeamwork where FID={0}))>0
and TFS_ViewMaterial . FFactoryID = ( select FProdFactoryID from TFS_ HalfMaterial FTeamwork where FID = { 0 } ) ", inParam[" FTeamID "]);
//生产、计划配方
joinSql = string . Format ( @ "(dbo.StrExistInStr(TFS_ViewMaterial.FMaterialID,(select FMaterialFormulaIDs from TFS_ FTeamwork where FID={0}))>0
and TFS_Material . FSuccedaneumID < 1 ) and TFS_ViewMaterial . FFactoryID = ( select FProdFactoryID from TFS_ FTeamwork where FID = { 0 } ) ",
joinSql = string . Format ( @ "(dbo.StrExistInStr(TFS_ViewMaterial.FMaterialID,(select FMaterialFormulaIDs from TFS_ HalfMaterial FTeamwork where FID={0}))>0
and TFS_Material . FSuccedaneumID < 1 ) and TFS_ViewMaterial . FFactoryID = ( select FProdFactoryID from TFS_ HalfMaterial FTeamwork where FID = { 0 } ) ",
inParam [ "FTeamID" ] ) ;
break ;
case ( int ) Constant . TeamViewType . 生 产 工 艺 路 线 视 图 :
@ -375,12 +347,12 @@ namespace FactorySystemApi.Controllers
case ( int ) Constant . TeamViewType . 组 装 BOM 视 图 :
savePath + = Constant . TeamViewType . 组 装 BOM 视 图 . ToString ( ) ;
//一级半成品、包材→无替代料的
whereSql = string . Format ( @ "(dbo.StrExistInStr(TFS_ViewMaterial.FMaterialID,(select FMaterialHalfIDs from TFS_ FTeamwork where FID={0}))>0 or
whereSql = string . Format ( @ "(dbo.StrExistInStr(TFS_ViewMaterial.FMaterialID,(select FMaterialHalfIDs from TFS_ HalfMaterial FTeamwork where FID={0}))>0 or
TFS_ViewMaterial . FMaterialID in ( select FMaterialID from TFS_PackageChild where FTeamID = { 0 } or
FPackageID = ( select FPackID from TFS_ FTeamwork where FID = { 0 } ) ) )
FPackageID = ( select FPackID from TFS_ HalfMaterial FTeamwork where FID = { 0 } ) ) )
", inParam[" FTeamID "]);
//只要生产工厂
whereSql + = string . Format ( " and TFS_ViewMaterial.FFactoryID=(select FProdFactoryID from TFS_ FTeamwork where FID={0})", inParam [ "FTeamID" ] ) ;
whereSql + = string . Format ( " and TFS_ViewMaterial.FFactoryID=(select FProdFactoryID from TFS_ HalfMaterial FTeamwork where FID={0})", inParam [ "FTeamID" ] ) ;
break ;
case ( int ) Constant . TeamViewType . 物 料 视 图 :
default :
@ -572,9 +544,9 @@ namespace FactorySystemApi.Controllers
TFS_HalfMaterialFTeamwork teamwork = BaseBll . GetTempModel < TFS_HalfMaterialFTeamwork > ( teamId ) ;
try
{
TFS_Formula formula = BaseBll . GetTempModel < TFS_Formula > ( teamwork . FFormulaID ) ;
TFS_Formula formula = BaseBll . GetTempModel < TFS_Formula > ( string . Format ( "FTestCode='{0}'" , teamwork . FNewTestCode ) ) ;
OAService oAService = new OAService ( ) ;
specifList [ 0 ] . Code = formula . FTestCode ;
specifList [ 0 ] . Code = teamwork . FTestCode ;
specifList [ 0 ] . Version = formula . FVersionCode ;
RestResult restResult = oAService . GetSpecificationsList ( specifList . ToArray ( ) ) ;
string bomStr = restResult . data = = null ? "[]" : restResult . data . ToString ( ) ;
@ -818,15 +790,27 @@ namespace FactorySystemApi.Controllers
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 )
{
if ( string . IsNullOrEmpty ( field . FField ) )
{
selectSql + = string . Format ( "'{0}' as '{1}'" , string . IsNullOrEmpty ( field . FDefault ) ? "" : field . FDefault , field . FName ) ;
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 ) ;
}
else
{
selectSql + = string . Format ( "isnull({0},'') as '{1}'" , field . FField , field . FName ) ;
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 + = "," ;
}
@ -887,7 +871,7 @@ namespace FactorySystemApi.Controllers
{
//原始配方
DataTable dataList1 = MaterialTeamworkBll . GetTeamworkViewData2 ( selectSql . Trim ( ',' ) , whereSql ) ;
TFS_ FTeamwork teamwork = BaseBll . GetTempModel < TFS_ FTeamwork> ( "FID=" + teamId ) ;
TFS_ HalfMaterial FTeamwork teamwork = BaseBll . GetTempModel < TFS_ HalfMaterial FTeamwork> ( "FID=" + teamId ) ;
List < BomFormulaDto > bfList = JsonConvert . DeserializeObject < List < BomFormulaDto > > ( teamwork . FBomFormula ) ;
//SetBFData(null, bfList, dataList1);
List < string > forIdList = teamwork . FMaterialFormulaIDs . Split ( ',' ) . ToList ( ) ;