@ -23,7 +23,30 @@ 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 ) = >
/ * *
* 20230414 需 求 变 更
* 新 增 物 料 分 类 视 图 获 取 逻 辑
* 物 料 分 类 的 viewType = 10 , 此 时 , 取 所 有 下 载 的 bomList 中 的 视 图 , a . FViewType in ( 2 , 3 , 4 , 5 )
* 分 别 对 应 半 成 品 视 图 、 中 间 品 视 图 、 香 基 视 图 、 原 料 视 图
* 此 处 的 viewType 来 自 TBasicCode 中 FType = 33 时 , 的 FRemark 字 段
* * * /
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 ) )
new JoinQueryInfos ( JoinType . Inner , a . FMaterialID = = b . FID ) )
. Where ( ( a , b ) = > a . FTeamID = = teamId )
. Where ( ( a , b ) = > a . FTeamID = = teamId )
. WhereIF ( currUser ! = null , ( a , b ) = > a . FFactoryID = = currUser . FFactoryID )
. WhereIF ( currUser ! = null , ( a , b ) = > a . FFactoryID = = currUser . FFactoryID )
@ -31,6 +54,8 @@ namespace FactorySystemBll
. 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," +
. 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.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 ( ) ;
"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" ) ;
}
}
@ -252,10 +281,17 @@ namespace FactorySystemBll
materialList [ i ] [ "FID" ] = materialList [ i ] [ "FMaterialID" ] ;
materialList [ i ] [ "FID" ] = materialList [ i ] [ "FMaterialID" ] ;
materialList [ i ] . Remove ( "FMaterialID" ) ;
materialList [ i ] . Remove ( "FMaterialID" ) ;
if ( materialList [ i ] . TryGetValue ( "FK3Code" , out object k3Code ) )
if ( materialList [ i ] . TryGetValue ( "FK3Code" , out object k3Code ) )
{
if ( materialList [ i ] . ContainsKey ( "FK3ShortCode" ) )
{
materialList [ i ] [ "FK3ShortCode" ] = k3Code . ToString ( ) . Split ( '.' ) . Last ( ) ;
}
else
{
{
materialList [ i ] . Add ( "FK3ShortCode" , k3Code . ToString ( ) . Split ( '.' ) . Last ( ) ) ;
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 ( ) ;
result + = UnionModifyData ( materialList , "TFS_Material" , teamId , db ) ;
result + = UnionModifyData ( materialList , "TFS_Material" , teamId , db ) ;
}
}
@ -284,11 +320,18 @@ namespace FactorySystemBll
//string okResult = db.Ado.GetString(okSql);
//string okResult = db.Ado.GetString(okSql);
string okResult = "" ;
string okResult = "" ;
if ( string . IsNullOrEmpty ( okResult ) | | okResult = = "0" )
if ( string . IsNullOrEmpty ( okResult ) | | okResult = = "0" )
{
if ( taskType ! = 10 )
{
{
//视图类型+2是事项, 除了包材
//视图类型+2是事项, 除了包材
taskType + = 2 ;
taskType + = 2 ;
string taskSql = "" ;
if ( taskType > = ( int ) Constant . TaskType . 组 编 号 申 请 ) taskType = ( int ) Constant . TaskType . 新 包 材 视 图 ;
if ( taskType > = ( int ) Constant . TaskType . 组 编 号 申 请 ) taskType = ( int ) Constant . TaskType . 新 包 材 视 图 ;
}
else
{
taskType = 15 ;
}
string taskSql = "" ;
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 ) ;